@arcgis/core 4.28.0-next.20230524 → 4.28.0-next.20230621

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1955) hide show
  1. package/Map.js +1 -1
  2. package/README.md +17 -17
  3. package/WebMap.js +1 -1
  4. package/WebScene.js +1 -1
  5. package/arcade/featureSetUtils.js +1 -1
  6. package/arcade/featureset/actions/Adapted.js +1 -1
  7. package/arcade/featureset/actions/GroupBy.js +1 -1
  8. package/arcade/featureset/actions/OrderBy.js +1 -1
  9. package/arcade/featureset/support/FeatureSetIterator.js +1 -1
  10. package/arcade/functions/featuresetbase.js +1 -1
  11. package/arcade/functions/featuresetstring.js +1 -1
  12. package/arcade/functions/geometry.js +1 -1
  13. package/arcade/languageUtils.js +1 -1
  14. package/arcade/treeAnalysis.js +1 -1
  15. package/assets/components/assets/card/t9n/messages_ar.json +1 -1
  16. package/assets/components/assets/card/t9n/messages_bg.json +1 -1
  17. package/assets/components/assets/card/t9n/messages_bs.json +1 -1
  18. package/assets/components/assets/card/t9n/messages_ca.json +1 -1
  19. package/assets/components/assets/card/t9n/messages_cs.json +1 -1
  20. package/assets/components/assets/card/t9n/messages_da.json +1 -1
  21. package/assets/components/assets/card/t9n/messages_de.json +1 -1
  22. package/assets/components/assets/card/t9n/messages_el.json +1 -1
  23. package/assets/components/assets/card/t9n/messages_es.json +1 -1
  24. package/assets/components/assets/card/t9n/messages_et.json +1 -1
  25. package/assets/components/assets/card/t9n/messages_fi.json +1 -1
  26. package/assets/components/assets/card/t9n/messages_fr.json +1 -1
  27. package/assets/components/assets/card/t9n/messages_he.json +1 -1
  28. package/assets/components/assets/card/t9n/messages_hr.json +1 -1
  29. package/assets/components/assets/card/t9n/messages_hu.json +1 -1
  30. package/assets/components/assets/card/t9n/messages_id.json +1 -1
  31. package/assets/components/assets/card/t9n/messages_it.json +1 -1
  32. package/assets/components/assets/card/t9n/messages_ja.json +1 -1
  33. package/assets/components/assets/card/t9n/messages_ko.json +1 -1
  34. package/assets/components/assets/card/t9n/messages_lt.json +1 -1
  35. package/assets/components/assets/card/t9n/messages_lv.json +1 -1
  36. package/assets/components/assets/card/t9n/messages_nl.json +1 -1
  37. package/assets/components/assets/card/t9n/messages_no.json +1 -1
  38. package/assets/components/assets/card/t9n/messages_pl.json +1 -1
  39. package/assets/components/assets/card/t9n/messages_pt-BR.json +1 -1
  40. package/assets/components/assets/card/t9n/messages_pt-PT.json +1 -1
  41. package/assets/components/assets/card/t9n/messages_ro.json +1 -1
  42. package/assets/components/assets/card/t9n/messages_ru.json +1 -1
  43. package/assets/components/assets/card/t9n/messages_sk.json +1 -1
  44. package/assets/components/assets/card/t9n/messages_sl.json +1 -1
  45. package/assets/components/assets/card/t9n/messages_sr.json +1 -1
  46. package/assets/components/assets/card/t9n/messages_sv.json +1 -1
  47. package/assets/components/assets/card/t9n/messages_th.json +1 -1
  48. package/assets/components/assets/card/t9n/messages_tr.json +1 -1
  49. package/assets/components/assets/card/t9n/messages_uk.json +1 -1
  50. package/assets/components/assets/card/t9n/messages_vi.json +1 -1
  51. package/assets/components/assets/card/t9n/messages_zh-CN.json +1 -1
  52. package/assets/components/assets/card/t9n/messages_zh-HK.json +1 -1
  53. package/assets/components/assets/card/t9n/messages_zh-TW.json +1 -1
  54. package/assets/components/assets/combobox/t9n/messages.json +1 -0
  55. package/assets/components/assets/combobox/t9n/messages_ar.json +1 -0
  56. package/assets/components/assets/combobox/t9n/messages_bg.json +1 -0
  57. package/assets/components/assets/combobox/t9n/messages_bs.json +1 -0
  58. package/assets/components/assets/combobox/t9n/messages_ca.json +1 -0
  59. package/assets/components/assets/combobox/t9n/messages_cs.json +1 -0
  60. package/assets/components/assets/combobox/t9n/messages_da.json +1 -0
  61. package/assets/components/assets/combobox/t9n/messages_de.json +1 -0
  62. package/assets/components/assets/combobox/t9n/messages_el.json +1 -0
  63. package/assets/components/assets/combobox/t9n/messages_en.json +1 -0
  64. package/assets/components/assets/combobox/t9n/messages_es.json +1 -0
  65. package/assets/components/assets/combobox/t9n/messages_et.json +1 -0
  66. package/assets/components/assets/combobox/t9n/messages_fi.json +1 -0
  67. package/assets/components/assets/combobox/t9n/messages_fr.json +1 -0
  68. package/assets/components/assets/combobox/t9n/messages_he.json +1 -0
  69. package/assets/components/assets/combobox/t9n/messages_hr.json +1 -0
  70. package/assets/components/assets/combobox/t9n/messages_hu.json +1 -0
  71. package/assets/components/assets/combobox/t9n/messages_id.json +1 -0
  72. package/assets/components/assets/combobox/t9n/messages_it.json +1 -0
  73. package/assets/components/assets/combobox/t9n/messages_ja.json +1 -0
  74. package/assets/components/assets/combobox/t9n/messages_ko.json +1 -0
  75. package/assets/components/assets/combobox/t9n/messages_lt.json +1 -0
  76. package/assets/components/assets/combobox/t9n/messages_lv.json +1 -0
  77. package/assets/components/assets/combobox/t9n/messages_nl.json +1 -0
  78. package/assets/components/assets/combobox/t9n/messages_no.json +1 -0
  79. package/assets/components/assets/combobox/t9n/messages_pl.json +1 -0
  80. package/assets/components/assets/combobox/t9n/messages_pt-BR.json +1 -0
  81. package/assets/components/assets/combobox/t9n/messages_pt-PT.json +1 -0
  82. package/assets/components/assets/combobox/t9n/messages_ro.json +1 -0
  83. package/assets/components/assets/combobox/t9n/messages_ru.json +1 -0
  84. package/assets/components/assets/combobox/t9n/messages_sk.json +1 -0
  85. package/assets/components/assets/combobox/t9n/messages_sl.json +1 -0
  86. package/assets/components/assets/combobox/t9n/messages_sr.json +1 -0
  87. package/assets/components/assets/combobox/t9n/messages_sv.json +1 -0
  88. package/assets/components/assets/combobox/t9n/messages_th.json +1 -0
  89. package/assets/components/assets/combobox/t9n/messages_tr.json +1 -0
  90. package/assets/components/assets/combobox/t9n/messages_uk.json +1 -0
  91. package/assets/components/assets/combobox/t9n/messages_vi.json +1 -0
  92. package/assets/components/assets/combobox/t9n/messages_zh-CN.json +1 -0
  93. package/assets/components/assets/combobox/t9n/messages_zh-HK.json +1 -0
  94. package/assets/components/assets/combobox/t9n/messages_zh-TW.json +1 -0
  95. package/assets/components/assets/handle/t9n/messages_cs.json +1 -1
  96. package/assets/components/assets/handle/t9n/messages_ja.json +1 -1
  97. package/assets/components/assets/handle/t9n/messages_ru.json +1 -1
  98. package/assets/components/assets/handle/t9n/messages_sk.json +1 -1
  99. package/assets/components/assets/icon/accessibility16.json +1 -0
  100. package/assets/components/assets/icon/accessibility24.json +1 -0
  101. package/assets/components/assets/icon/accessibility32.json +1 -0
  102. package/assets/components/assets/icon/addAndUpdateFeatures16.json +1 -0
  103. package/assets/components/assets/icon/addAndUpdateFeatures24.json +1 -0
  104. package/assets/components/assets/icon/addAndUpdateFeatures32.json +1 -0
  105. package/assets/components/assets/icon/addFeatures16.json +1 -0
  106. package/assets/components/assets/icon/addFeatures24.json +1 -0
  107. package/assets/components/assets/icon/addFeatures32.json +1 -0
  108. package/assets/components/assets/icon/arrowCircleDown16.json +1 -0
  109. package/assets/components/assets/icon/arrowCircleDown16F.json +1 -0
  110. package/assets/components/assets/icon/arrowCircleDown24.json +1 -0
  111. package/assets/components/assets/icon/arrowCircleDown24F.json +1 -0
  112. package/assets/components/assets/icon/arrowCircleDown32.json +1 -0
  113. package/assets/components/assets/icon/arrowCircleDown32F.json +1 -0
  114. package/assets/components/assets/icon/arrowCircleDownF16.json +1 -0
  115. package/assets/components/assets/icon/arrowCircleDownF24.json +1 -0
  116. package/assets/components/assets/icon/arrowCircleDownF32.json +1 -0
  117. package/assets/components/assets/icon/joinedViewLayer16.json +1 -0
  118. package/assets/components/assets/icon/joinedViewLayer24.json +1 -0
  119. package/assets/components/assets/icon/joinedViewLayer32.json +1 -0
  120. package/assets/components/assets/icon/locationSharing16.json +1 -0
  121. package/assets/components/assets/icon/locationSharing16F.json +1 -0
  122. package/assets/components/assets/icon/locationSharing24.json +1 -0
  123. package/assets/components/assets/icon/locationSharing24F.json +1 -0
  124. package/assets/components/assets/icon/locationSharing32.json +1 -0
  125. package/assets/components/assets/icon/locationSharing32F.json +1 -0
  126. package/assets/components/assets/icon/locationSharingDisabled16.json +1 -0
  127. package/assets/components/assets/icon/locationSharingDisabled24.json +1 -0
  128. package/assets/components/assets/icon/locationSharingDisabled32.json +1 -0
  129. package/assets/components/assets/icon/locationSharingEnabled16.json +1 -0
  130. package/assets/components/assets/icon/locationSharingEnabled24.json +1 -0
  131. package/assets/components/assets/icon/locationSharingEnabled32.json +1 -0
  132. package/assets/components/assets/icon/locationSharingFilled16.json +1 -0
  133. package/assets/components/assets/icon/locationSharingFilled24.json +1 -0
  134. package/assets/components/assets/icon/locationSharingFilled32.json +1 -0
  135. package/assets/components/assets/icon/locationSharingOff16.json +1 -0
  136. package/assets/components/assets/icon/locationSharingOff24.json +1 -0
  137. package/assets/components/assets/icon/locationSharingOff32.json +1 -0
  138. package/assets/components/assets/icon/maskInside16.json +1 -0
  139. package/assets/components/assets/icon/maskInside24.json +1 -0
  140. package/assets/components/assets/icon/maskInside32.json +1 -0
  141. package/assets/components/assets/icon/maskOutside16.json +1 -0
  142. package/assets/components/assets/icon/maskOutside24.json +1 -0
  143. package/assets/components/assets/icon/maskOutside32.json +1 -0
  144. package/assets/components/assets/icon/numberCircle116F.json +1 -0
  145. package/assets/components/assets/icon/numberCircle124F.json +1 -0
  146. package/assets/components/assets/icon/numberCircle132F.json +1 -0
  147. package/assets/components/assets/icon/numberCircle1F16.json +1 -0
  148. package/assets/components/assets/icon/numberCircle1F24.json +1 -0
  149. package/assets/components/assets/icon/numberCircle1F32.json +1 -0
  150. package/assets/components/assets/icon/numberCircle216F.json +1 -0
  151. package/assets/components/assets/icon/numberCircle224F.json +1 -0
  152. package/assets/components/assets/icon/numberCircle232F.json +1 -0
  153. package/assets/components/assets/icon/numberCircle2F16.json +1 -0
  154. package/assets/components/assets/icon/numberCircle2F24.json +1 -0
  155. package/assets/components/assets/icon/numberCircle2F32.json +1 -0
  156. package/assets/components/assets/icon/numberCircle316F.json +1 -0
  157. package/assets/components/assets/icon/numberCircle324F.json +1 -0
  158. package/assets/components/assets/icon/numberCircle332F.json +1 -0
  159. package/assets/components/assets/icon/numberCircle3F16.json +1 -0
  160. package/assets/components/assets/icon/numberCircle3F24.json +1 -0
  161. package/assets/components/assets/icon/numberCircle3F32.json +1 -0
  162. package/assets/components/assets/icon/numberCircle416F.json +1 -0
  163. package/assets/components/assets/icon/numberCircle424F.json +1 -0
  164. package/assets/components/assets/icon/numberCircle432F.json +1 -0
  165. package/assets/components/assets/icon/numberCircle4F16.json +1 -0
  166. package/assets/components/assets/icon/numberCircle4F24.json +1 -0
  167. package/assets/components/assets/icon/numberCircle4F32.json +1 -0
  168. package/assets/components/assets/icon/numberCircle516F.json +1 -0
  169. package/assets/components/assets/icon/numberCircle524F.json +1 -0
  170. package/assets/components/assets/icon/numberCircle532F.json +1 -0
  171. package/assets/components/assets/icon/numberCircle5F16.json +1 -0
  172. package/assets/components/assets/icon/numberCircle5F24.json +1 -0
  173. package/assets/components/assets/icon/numberCircle5F32.json +1 -0
  174. package/assets/components/assets/icon/numberCircle616F.json +1 -0
  175. package/assets/components/assets/icon/numberCircle624F.json +1 -0
  176. package/assets/components/assets/icon/numberCircle632F.json +1 -0
  177. package/assets/components/assets/icon/numberCircle6F16.json +1 -0
  178. package/assets/components/assets/icon/numberCircle6F24.json +1 -0
  179. package/assets/components/assets/icon/numberCircle6F32.json +1 -0
  180. package/assets/components/assets/icon/numberCircle716F.json +1 -0
  181. package/assets/components/assets/icon/numberCircle724F.json +1 -0
  182. package/assets/components/assets/icon/numberCircle732F.json +1 -0
  183. package/assets/components/assets/icon/numberCircle7F16.json +1 -0
  184. package/assets/components/assets/icon/numberCircle7F24.json +1 -0
  185. package/assets/components/assets/icon/numberCircle7F32.json +1 -0
  186. package/assets/components/assets/icon/numberCircle816F.json +1 -0
  187. package/assets/components/assets/icon/numberCircle824F.json +1 -0
  188. package/assets/components/assets/icon/numberCircle832F.json +1 -0
  189. package/assets/components/assets/icon/numberCircle8F16.json +1 -0
  190. package/assets/components/assets/icon/numberCircle8F24.json +1 -0
  191. package/assets/components/assets/icon/numberCircle8F32.json +1 -0
  192. package/assets/components/assets/icon/numberCircle916F.json +1 -0
  193. package/assets/components/assets/icon/numberCircle924F.json +1 -0
  194. package/assets/components/assets/icon/numberCircle932F.json +1 -0
  195. package/assets/components/assets/icon/numberCircle9F16.json +1 -0
  196. package/assets/components/assets/icon/numberCircle9F24.json +1 -0
  197. package/assets/components/assets/icon/numberCircle9F32.json +1 -0
  198. package/assets/components/assets/icon/orientedImageryLayer16.json +1 -0
  199. package/assets/components/assets/icon/orientedImageryLayer24.json +1 -0
  200. package/assets/components/assets/icon/orientedImageryLayer32.json +1 -0
  201. package/assets/components/assets/icon/overwriteFeatures16.json +1 -0
  202. package/assets/components/assets/icon/overwriteFeatures24.json +1 -0
  203. package/assets/components/assets/icon/overwriteFeatures32.json +1 -0
  204. package/assets/components/assets/icon/parcelLayer16.json +1 -0
  205. package/assets/components/assets/icon/parcelLayer24.json +1 -0
  206. package/assets/components/assets/icon/parcelLayer32.json +1 -0
  207. package/assets/components/assets/icon/refreshF16.json +1 -0
  208. package/assets/components/assets/icon/refreshF24.json +1 -0
  209. package/assets/components/assets/icon/refreshF32.json +1 -0
  210. package/assets/components/assets/icon/strikethrough16.json +1 -0
  211. package/assets/components/assets/icon/strikethrough24.json +1 -0
  212. package/assets/components/assets/icon/strikethrough32.json +1 -0
  213. package/assets/components/assets/icon/updateFeatures16.json +1 -0
  214. package/assets/components/assets/icon/updateFeatures24.json +1 -0
  215. package/assets/components/assets/icon/updateFeatures32.json +1 -0
  216. package/assets/components/assets/icon/viewAssociations16.json +1 -0
  217. package/assets/components/assets/icon/viewAssociations24.json +1 -0
  218. package/assets/components/assets/icon/viewAssociations32.json +1 -0
  219. package/assets/components/assets/input-date-picker/t9n/messages_ar.json +1 -1
  220. package/assets/components/assets/input-date-picker/t9n/messages_bg.json +1 -1
  221. package/assets/components/assets/input-date-picker/t9n/messages_bs.json +1 -1
  222. package/assets/components/assets/input-date-picker/t9n/messages_ca.json +1 -1
  223. package/assets/components/assets/input-date-picker/t9n/messages_cs.json +1 -1
  224. package/assets/components/assets/input-date-picker/t9n/messages_da.json +1 -1
  225. package/assets/components/assets/input-date-picker/t9n/messages_de.json +1 -1
  226. package/assets/components/assets/input-date-picker/t9n/messages_el.json +1 -1
  227. package/assets/components/assets/input-date-picker/t9n/messages_es.json +1 -1
  228. package/assets/components/assets/input-date-picker/t9n/messages_et.json +1 -1
  229. package/assets/components/assets/input-date-picker/t9n/messages_fi.json +1 -1
  230. package/assets/components/assets/input-date-picker/t9n/messages_fr.json +1 -1
  231. package/assets/components/assets/input-date-picker/t9n/messages_he.json +1 -1
  232. package/assets/components/assets/input-date-picker/t9n/messages_hr.json +1 -1
  233. package/assets/components/assets/input-date-picker/t9n/messages_hu.json +1 -1
  234. package/assets/components/assets/input-date-picker/t9n/messages_id.json +1 -1
  235. package/assets/components/assets/input-date-picker/t9n/messages_it.json +1 -1
  236. package/assets/components/assets/input-date-picker/t9n/messages_ja.json +1 -1
  237. package/assets/components/assets/input-date-picker/t9n/messages_ko.json +1 -1
  238. package/assets/components/assets/input-date-picker/t9n/messages_lt.json +1 -1
  239. package/assets/components/assets/input-date-picker/t9n/messages_lv.json +1 -1
  240. package/assets/components/assets/input-date-picker/t9n/messages_nl.json +1 -1
  241. package/assets/components/assets/input-date-picker/t9n/messages_no.json +1 -1
  242. package/assets/components/assets/input-date-picker/t9n/messages_pl.json +1 -1
  243. package/assets/components/assets/input-date-picker/t9n/messages_pt-BR.json +1 -1
  244. package/assets/components/assets/input-date-picker/t9n/messages_pt-PT.json +1 -1
  245. package/assets/components/assets/input-date-picker/t9n/messages_ro.json +1 -1
  246. package/assets/components/assets/input-date-picker/t9n/messages_ru.json +1 -1
  247. package/assets/components/assets/input-date-picker/t9n/messages_sk.json +1 -1
  248. package/assets/components/assets/input-date-picker/t9n/messages_sl.json +1 -1
  249. package/assets/components/assets/input-date-picker/t9n/messages_sr.json +1 -1
  250. package/assets/components/assets/input-date-picker/t9n/messages_sv.json +1 -1
  251. package/assets/components/assets/input-date-picker/t9n/messages_th.json +1 -1
  252. package/assets/components/assets/input-date-picker/t9n/messages_tr.json +1 -1
  253. package/assets/components/assets/input-date-picker/t9n/messages_uk.json +1 -1
  254. package/assets/components/assets/input-date-picker/t9n/messages_vi.json +1 -1
  255. package/assets/components/assets/input-date-picker/t9n/messages_zh-CN.json +1 -1
  256. package/assets/components/assets/input-date-picker/t9n/messages_zh-HK.json +1 -1
  257. package/assets/components/assets/input-date-picker/t9n/messages_zh-TW.json +1 -1
  258. package/assets/components/assets/input-time-picker/t9n/messages_ar.json +1 -1
  259. package/assets/components/assets/input-time-picker/t9n/messages_bg.json +1 -1
  260. package/assets/components/assets/input-time-picker/t9n/messages_bs.json +1 -1
  261. package/assets/components/assets/input-time-picker/t9n/messages_ca.json +1 -1
  262. package/assets/components/assets/input-time-picker/t9n/messages_cs.json +1 -1
  263. package/assets/components/assets/input-time-picker/t9n/messages_da.json +1 -1
  264. package/assets/components/assets/input-time-picker/t9n/messages_de.json +1 -1
  265. package/assets/components/assets/input-time-picker/t9n/messages_el.json +1 -1
  266. package/assets/components/assets/input-time-picker/t9n/messages_es.json +1 -1
  267. package/assets/components/assets/input-time-picker/t9n/messages_et.json +1 -1
  268. package/assets/components/assets/input-time-picker/t9n/messages_fi.json +1 -1
  269. package/assets/components/assets/input-time-picker/t9n/messages_fr.json +1 -1
  270. package/assets/components/assets/input-time-picker/t9n/messages_he.json +1 -1
  271. package/assets/components/assets/input-time-picker/t9n/messages_hr.json +1 -1
  272. package/assets/components/assets/input-time-picker/t9n/messages_hu.json +1 -1
  273. package/assets/components/assets/input-time-picker/t9n/messages_id.json +1 -1
  274. package/assets/components/assets/input-time-picker/t9n/messages_it.json +1 -1
  275. package/assets/components/assets/input-time-picker/t9n/messages_ja.json +1 -1
  276. package/assets/components/assets/input-time-picker/t9n/messages_ko.json +1 -1
  277. package/assets/components/assets/input-time-picker/t9n/messages_lt.json +1 -1
  278. package/assets/components/assets/input-time-picker/t9n/messages_lv.json +1 -1
  279. package/assets/components/assets/input-time-picker/t9n/messages_nl.json +1 -1
  280. package/assets/components/assets/input-time-picker/t9n/messages_no.json +1 -1
  281. package/assets/components/assets/input-time-picker/t9n/messages_pl.json +1 -1
  282. package/assets/components/assets/input-time-picker/t9n/messages_pt-BR.json +1 -1
  283. package/assets/components/assets/input-time-picker/t9n/messages_pt-PT.json +1 -1
  284. package/assets/components/assets/input-time-picker/t9n/messages_ro.json +1 -1
  285. package/assets/components/assets/input-time-picker/t9n/messages_ru.json +1 -1
  286. package/assets/components/assets/input-time-picker/t9n/messages_sk.json +1 -1
  287. package/assets/components/assets/input-time-picker/t9n/messages_sl.json +1 -1
  288. package/assets/components/assets/input-time-picker/t9n/messages_sr.json +1 -1
  289. package/assets/components/assets/input-time-picker/t9n/messages_sv.json +1 -1
  290. package/assets/components/assets/input-time-picker/t9n/messages_th.json +1 -1
  291. package/assets/components/assets/input-time-picker/t9n/messages_tr.json +1 -1
  292. package/assets/components/assets/input-time-picker/t9n/messages_uk.json +1 -1
  293. package/assets/components/assets/input-time-picker/t9n/messages_vi.json +1 -1
  294. package/assets/components/assets/input-time-picker/t9n/messages_zh-CN.json +1 -1
  295. package/assets/components/assets/input-time-picker/t9n/messages_zh-HK.json +1 -1
  296. package/assets/components/assets/input-time-picker/t9n/messages_zh-TW.json +1 -1
  297. package/assets/components/assets/list-item/t9n/messages_vi.json +1 -1
  298. package/assets/components/assets/menu/t9n/messages.json +3 -0
  299. package/assets/components/assets/menu/t9n/messages_ar.json +3 -0
  300. package/assets/components/assets/menu/t9n/messages_bg.json +3 -0
  301. package/assets/components/assets/menu/t9n/messages_bs.json +3 -0
  302. package/assets/components/assets/menu/t9n/messages_ca.json +3 -0
  303. package/assets/components/assets/menu/t9n/messages_cs.json +3 -0
  304. package/assets/components/assets/menu/t9n/messages_da.json +3 -0
  305. package/assets/components/assets/menu/t9n/messages_de.json +3 -0
  306. package/assets/components/assets/menu/t9n/messages_el.json +3 -0
  307. package/assets/components/assets/menu/t9n/messages_en.json +3 -0
  308. package/assets/components/assets/menu/t9n/messages_es.json +3 -0
  309. package/assets/components/assets/menu/t9n/messages_et.json +3 -0
  310. package/assets/components/assets/menu/t9n/messages_fi.json +3 -0
  311. package/assets/components/assets/menu/t9n/messages_fr.json +3 -0
  312. package/assets/components/assets/menu/t9n/messages_he.json +3 -0
  313. package/assets/components/assets/menu/t9n/messages_hr.json +3 -0
  314. package/assets/components/assets/menu/t9n/messages_hu.json +3 -0
  315. package/assets/components/assets/menu/t9n/messages_id.json +3 -0
  316. package/assets/components/assets/menu/t9n/messages_it.json +3 -0
  317. package/assets/components/assets/menu/t9n/messages_ja.json +3 -0
  318. package/assets/components/assets/menu/t9n/messages_ko.json +3 -0
  319. package/assets/components/assets/menu/t9n/messages_lt.json +3 -0
  320. package/assets/components/assets/menu/t9n/messages_lv.json +3 -0
  321. package/assets/components/assets/menu/t9n/messages_nl.json +3 -0
  322. package/assets/components/assets/menu/t9n/messages_no.json +3 -0
  323. package/assets/components/assets/menu/t9n/messages_pl.json +3 -0
  324. package/assets/components/assets/menu/t9n/messages_pt-BR.json +3 -0
  325. package/assets/components/assets/menu/t9n/messages_pt-PT.json +3 -0
  326. package/assets/components/assets/menu/t9n/messages_ro.json +3 -0
  327. package/assets/components/assets/menu/t9n/messages_ru.json +3 -0
  328. package/assets/components/assets/menu/t9n/messages_sk.json +3 -0
  329. package/assets/components/assets/menu/t9n/messages_sl.json +3 -0
  330. package/assets/components/assets/menu/t9n/messages_sr.json +3 -0
  331. package/assets/components/assets/menu/t9n/messages_sv.json +3 -0
  332. package/assets/components/assets/menu/t9n/messages_th.json +3 -0
  333. package/assets/components/assets/menu/t9n/messages_tr.json +3 -0
  334. package/assets/components/assets/menu/t9n/messages_uk.json +3 -0
  335. package/assets/components/assets/menu/t9n/messages_vi.json +3 -0
  336. package/assets/components/assets/menu/t9n/messages_zh-CN.json +3 -0
  337. package/assets/components/assets/menu/t9n/messages_zh-HK.json +3 -0
  338. package/assets/components/assets/menu/t9n/messages_zh-TW.json +3 -0
  339. package/assets/components/assets/menu-item/t9n/messages.json +4 -0
  340. package/assets/components/assets/menu-item/t9n/messages_ar.json +4 -0
  341. package/assets/components/assets/menu-item/t9n/messages_bg.json +4 -0
  342. package/assets/components/assets/menu-item/t9n/messages_bs.json +4 -0
  343. package/assets/components/assets/menu-item/t9n/messages_ca.json +4 -0
  344. package/assets/components/assets/menu-item/t9n/messages_cs.json +4 -0
  345. package/assets/components/assets/menu-item/t9n/messages_da.json +4 -0
  346. package/assets/components/assets/menu-item/t9n/messages_de.json +4 -0
  347. package/assets/components/assets/menu-item/t9n/messages_el.json +4 -0
  348. package/assets/components/assets/menu-item/t9n/messages_en.json +4 -0
  349. package/assets/components/assets/menu-item/t9n/messages_es.json +4 -0
  350. package/assets/components/assets/menu-item/t9n/messages_et.json +4 -0
  351. package/assets/components/assets/menu-item/t9n/messages_fi.json +4 -0
  352. package/assets/components/assets/menu-item/t9n/messages_fr.json +4 -0
  353. package/assets/components/assets/menu-item/t9n/messages_he.json +4 -0
  354. package/assets/components/assets/menu-item/t9n/messages_hr.json +4 -0
  355. package/assets/components/assets/menu-item/t9n/messages_hu.json +4 -0
  356. package/assets/components/assets/menu-item/t9n/messages_id.json +4 -0
  357. package/assets/components/assets/menu-item/t9n/messages_it.json +4 -0
  358. package/assets/components/assets/menu-item/t9n/messages_ja.json +4 -0
  359. package/assets/components/assets/menu-item/t9n/messages_ko.json +4 -0
  360. package/assets/components/assets/menu-item/t9n/messages_lt.json +4 -0
  361. package/assets/components/assets/menu-item/t9n/messages_lv.json +4 -0
  362. package/assets/components/assets/menu-item/t9n/messages_nl.json +4 -0
  363. package/assets/components/assets/menu-item/t9n/messages_no.json +4 -0
  364. package/assets/components/assets/menu-item/t9n/messages_pl.json +4 -0
  365. package/assets/components/assets/menu-item/t9n/messages_pt-BR.json +4 -0
  366. package/assets/components/assets/menu-item/t9n/messages_pt-PT.json +4 -0
  367. package/assets/components/assets/menu-item/t9n/messages_ro.json +4 -0
  368. package/assets/components/assets/menu-item/t9n/messages_ru.json +4 -0
  369. package/assets/components/assets/menu-item/t9n/messages_sk.json +4 -0
  370. package/assets/components/assets/menu-item/t9n/messages_sl.json +4 -0
  371. package/assets/components/assets/menu-item/t9n/messages_sr.json +4 -0
  372. package/assets/components/assets/menu-item/t9n/messages_sv.json +4 -0
  373. package/assets/components/assets/menu-item/t9n/messages_th.json +4 -0
  374. package/assets/components/assets/menu-item/t9n/messages_tr.json +4 -0
  375. package/assets/components/assets/menu-item/t9n/messages_uk.json +4 -0
  376. package/assets/components/assets/menu-item/t9n/messages_vi.json +4 -0
  377. package/assets/components/assets/menu-item/t9n/messages_zh-CN.json +4 -0
  378. package/assets/components/assets/menu-item/t9n/messages_zh-HK.json +4 -0
  379. package/assets/components/assets/menu-item/t9n/messages_zh-TW.json +4 -0
  380. package/assets/components/assets/tab-title/t9n/messages.json +3 -0
  381. package/assets/components/assets/tab-title/t9n/messages_ar.json +3 -0
  382. package/assets/components/assets/tab-title/t9n/messages_bg.json +3 -0
  383. package/assets/components/assets/tab-title/t9n/messages_bs.json +3 -0
  384. package/assets/components/assets/tab-title/t9n/messages_ca.json +3 -0
  385. package/assets/components/assets/tab-title/t9n/messages_cs.json +3 -0
  386. package/assets/components/assets/tab-title/t9n/messages_da.json +3 -0
  387. package/assets/components/assets/tab-title/t9n/messages_de.json +3 -0
  388. package/assets/components/assets/tab-title/t9n/messages_el.json +3 -0
  389. package/assets/components/assets/tab-title/t9n/messages_en.json +3 -0
  390. package/assets/components/assets/tab-title/t9n/messages_es.json +3 -0
  391. package/assets/components/assets/tab-title/t9n/messages_et.json +3 -0
  392. package/assets/components/assets/tab-title/t9n/messages_fi.json +3 -0
  393. package/assets/components/assets/tab-title/t9n/messages_fr.json +3 -0
  394. package/assets/components/assets/tab-title/t9n/messages_he.json +3 -0
  395. package/assets/components/assets/tab-title/t9n/messages_hr.json +3 -0
  396. package/assets/components/assets/tab-title/t9n/messages_hu.json +3 -0
  397. package/assets/components/assets/tab-title/t9n/messages_id.json +3 -0
  398. package/assets/components/assets/tab-title/t9n/messages_it.json +3 -0
  399. package/assets/components/assets/tab-title/t9n/messages_ja.json +3 -0
  400. package/assets/components/assets/tab-title/t9n/messages_ko.json +3 -0
  401. package/assets/components/assets/tab-title/t9n/messages_lt.json +3 -0
  402. package/assets/components/assets/tab-title/t9n/messages_lv.json +3 -0
  403. package/assets/components/assets/tab-title/t9n/messages_nl.json +3 -0
  404. package/assets/components/assets/tab-title/t9n/messages_no.json +3 -0
  405. package/assets/components/assets/tab-title/t9n/messages_pl.json +3 -0
  406. package/assets/components/assets/tab-title/t9n/messages_pt-BR.json +3 -0
  407. package/assets/components/assets/tab-title/t9n/messages_pt-PT.json +3 -0
  408. package/assets/components/assets/tab-title/t9n/messages_ro.json +3 -0
  409. package/assets/components/assets/tab-title/t9n/messages_ru.json +3 -0
  410. package/assets/components/assets/tab-title/t9n/messages_sk.json +3 -0
  411. package/assets/components/assets/tab-title/t9n/messages_sl.json +3 -0
  412. package/assets/components/assets/tab-title/t9n/messages_sr.json +3 -0
  413. package/assets/components/assets/tab-title/t9n/messages_sv.json +3 -0
  414. package/assets/components/assets/tab-title/t9n/messages_th.json +3 -0
  415. package/assets/components/assets/tab-title/t9n/messages_tr.json +3 -0
  416. package/assets/components/assets/tab-title/t9n/messages_uk.json +3 -0
  417. package/assets/components/assets/tab-title/t9n/messages_vi.json +3 -0
  418. package/assets/components/assets/tab-title/t9n/messages_zh-CN.json +3 -0
  419. package/assets/components/assets/tab-title/t9n/messages_zh-HK.json +3 -0
  420. package/assets/components/assets/tab-title/t9n/messages_zh-TW.json +3 -0
  421. package/assets/components/assets/text-area/t9n/messages.json +2 -1
  422. package/assets/components/assets/text-area/t9n/messages_en.json +2 -1
  423. package/assets/esri/core/workers/RemoteClient.js +1 -1
  424. package/assets/esri/core/workers/chunks/002fe1ec63ea33e6972d.js +1 -0
  425. package/assets/esri/core/workers/chunks/013efa75c96be04cf57a.js +1 -0
  426. package/assets/esri/core/workers/chunks/0254165377538522c830.js +1 -0
  427. package/assets/esri/core/workers/chunks/036301f545aba2b8e485.js +1 -0
  428. package/assets/esri/core/workers/chunks/07f16ea775b39a1a4a7b.js +1 -0
  429. package/assets/esri/core/workers/chunks/0d47e4b1b41b1f87e81b.js +1 -0
  430. package/assets/esri/core/workers/chunks/0d805fd9cd9ff3a636ca.js +1 -0
  431. package/assets/esri/core/workers/chunks/0fb1d3dce61bdd71bfff.js +1 -0
  432. package/assets/esri/core/workers/chunks/105cf61dbd999d0cee16.js +1 -0
  433. package/assets/esri/core/workers/chunks/114ef73112dd50edf5a4.js +1 -0
  434. package/assets/esri/core/workers/chunks/{1766371def0b2f953ac3.js → 13ed0105d52d57897730.js} +1 -1
  435. package/assets/esri/core/workers/chunks/1497709057d28ce7c1be.js +1 -0
  436. package/assets/esri/core/workers/chunks/170c72126d10b1fdb2b0.js +1 -0
  437. package/assets/esri/core/workers/chunks/1bbc868d2430103951eb.js +1 -0
  438. package/assets/esri/core/workers/chunks/1d2ef88a8d028adef102.js +1 -0
  439. package/assets/esri/core/workers/chunks/1e9e68312cd865358260.js +1 -0
  440. package/assets/esri/core/workers/chunks/2420ec029236ab31d908.js +1 -0
  441. package/assets/esri/core/workers/chunks/28474af01bf427c36eeb.js +1 -0
  442. package/assets/esri/core/workers/chunks/28c67c98039503b62e6e.js +1 -0
  443. package/assets/esri/core/workers/chunks/2ef70c9b2484a11b7435.js +1 -0
  444. package/assets/esri/core/workers/chunks/{efb96aefe979a0f5c632.js → 3048157f4f13d22c1753.js} +1 -1
  445. package/assets/esri/core/workers/chunks/308eeeaec591b4eea1de.js +1 -0
  446. package/assets/esri/core/workers/chunks/308f3811dfa71f619279.js +1 -0
  447. package/assets/esri/core/workers/chunks/314a8b5593306be246ab.js +1 -0
  448. package/assets/esri/core/workers/chunks/35a97dd2872ac3f00977.js +1 -0
  449. package/assets/esri/core/workers/chunks/3620e9fa4b5dbc21ad87.js +1 -0
  450. package/assets/esri/core/workers/chunks/39079bcfd35ed73c4e34.js +1 -0
  451. package/assets/esri/core/workers/chunks/39ae4b9b766f674bc6f2.js +1 -0
  452. package/assets/esri/core/workers/chunks/{2bdc63395c7466ce1641.js → 3b3d676b609c47a77164.js} +1 -1
  453. package/assets/esri/core/workers/chunks/3bbaa78c68a4bf159722.js +1 -0
  454. package/assets/esri/core/workers/chunks/{0d02856e55d20b99fc8b.js → 3bc77c0c08f72d74f08b.js} +1 -1
  455. package/assets/esri/core/workers/chunks/3c3f65913006b84b2289.js +1 -0
  456. package/assets/esri/core/workers/chunks/3d42fa4ab5f8632d690a.js +1 -0
  457. package/assets/esri/core/workers/chunks/3d9a8cb638cf9b8ca4b3.js +1 -0
  458. package/assets/esri/core/workers/chunks/3db8ae98799c752afe60.js +1 -0
  459. package/assets/esri/core/workers/chunks/4018d8a06471423cb672.js +1 -0
  460. package/assets/esri/core/workers/chunks/42b6315e21c4c1345ba5.js +1 -0
  461. package/assets/esri/core/workers/chunks/42be658be0019944d8d5.js +1 -0
  462. package/assets/esri/core/workers/chunks/42f3421740a5479559dc.js +1 -0
  463. package/assets/esri/core/workers/chunks/45629ff775e77234b227.js +1 -0
  464. package/assets/esri/core/workers/chunks/4b235d1b6a72773cd4f4.js +1107 -0
  465. package/assets/esri/core/workers/chunks/50b17799f1abce982a19.js +1 -0
  466. package/assets/esri/core/workers/chunks/52315f93a6f0ad59bd90.js +1 -0
  467. package/assets/esri/core/workers/chunks/54b319ca2d557b4b4358.js +1 -0
  468. package/assets/esri/core/workers/chunks/57077e608f20d3a931e8.js +1 -0
  469. package/assets/esri/core/workers/chunks/{97cdbec7532cfcdf9ad2.js → 595a2baa04d92de59558.js} +1 -1
  470. package/assets/esri/core/workers/chunks/5bb96e602d7cecbecf54.js +1 -0
  471. package/assets/esri/core/workers/chunks/5c69acab678f61d3f1a2.js +1 -0
  472. package/assets/esri/core/workers/chunks/{45a4041881e6235d73a2.js → 5f6e899aceffcf9bffb0.js} +1 -1
  473. package/assets/esri/core/workers/chunks/63322229183f1d4eaa70.js +1 -0
  474. package/assets/esri/core/workers/chunks/642510b0371311ff8e16.js +1 -0
  475. package/assets/esri/core/workers/chunks/68b0e0aa33880bc1ba77.js +1 -0
  476. package/assets/esri/core/workers/chunks/6995ace1d25d67c98d0e.js +1 -0
  477. package/assets/esri/core/workers/chunks/6a3d611e8842afbb50ab.js.LICENSE.txt +1 -6
  478. package/assets/esri/core/workers/chunks/6a82be278c7f3db83354.js +1 -0
  479. package/assets/esri/core/workers/chunks/6aa99bcb868b0a7cc58c.js +1 -0
  480. package/assets/esri/core/workers/chunks/6e562fa57c0347091154.js +1 -0
  481. package/assets/esri/core/workers/chunks/6fb92cd88e4fb65fa7be.js +1 -0
  482. package/assets/esri/core/workers/chunks/740dc67038f554431f1b.js +1 -0
  483. package/assets/esri/core/workers/chunks/77fcc4fc0fb3739365f6.js +1 -0
  484. package/assets/esri/core/workers/chunks/784587a8ae46e3856507.js +1 -0
  485. package/assets/esri/core/workers/chunks/{4c35c663528f710e8c78.js → 79cb672c85ea29e8484a.js} +1 -1
  486. package/assets/esri/core/workers/chunks/7ce036a6592cd745e720.js +1 -0
  487. package/assets/esri/core/workers/chunks/7dc6774c77c822b68c99.js +1 -0
  488. package/assets/esri/core/workers/chunks/7e4013f8c31c9a9438c6.js +1 -0
  489. package/assets/esri/core/workers/chunks/82939ead43848a13f765.js +1 -0
  490. package/assets/esri/core/workers/chunks/82a103a8b5382300889d.js +1 -0
  491. package/assets/esri/core/workers/chunks/88fdd288ef799a7ac48a.js +1 -0
  492. package/assets/esri/core/workers/chunks/8b05fb365336cc42fecc.js +1 -0
  493. package/assets/esri/core/workers/chunks/8b6b963230df56850580.js +1 -0
  494. package/assets/esri/core/workers/chunks/8e08968505483dc58e00.js +1 -0
  495. package/assets/esri/core/workers/chunks/915734255a79bff3ef0f.js +1 -0
  496. package/assets/esri/core/workers/chunks/928a311786199825fd29.js +1 -0
  497. package/assets/esri/core/workers/chunks/95ff92d7caa34664d58f.js +1 -0
  498. package/assets/esri/core/workers/chunks/99512f2aa78e8ff6b6c6.js +1 -0
  499. package/assets/esri/core/workers/chunks/9a0e7c41f796609b3db9.js +1 -0
  500. package/assets/esri/core/workers/chunks/9c8ab6bd8c170cbc5fa5.js +1 -0
  501. package/assets/esri/core/workers/chunks/9e570cd4a48c30c83ae6.js +1 -0
  502. package/assets/esri/core/workers/chunks/a6ece91e6b3343f133a0.js +1 -0
  503. package/assets/esri/core/workers/chunks/{96c027ffad89524b0820.js → af8f75478979e11fc00a.js} +1 -1
  504. package/assets/esri/core/workers/chunks/b052463ffb7cb32306dc.js +1 -0
  505. package/assets/esri/core/workers/chunks/b2a423d9ce8bb784267c.js +1 -0
  506. package/assets/esri/core/workers/chunks/b31974524932e638df8c.js +1 -0
  507. package/assets/esri/core/workers/chunks/b75b4b132dbd9cb9d372.js +1 -0
  508. package/assets/esri/core/workers/chunks/bb3c94acc6d60436e40a.js +1 -0
  509. package/assets/esri/core/workers/chunks/bc89f5f9653bb1242a61.js +1 -0
  510. package/assets/esri/core/workers/chunks/bcd2af32e2380fc3c6b3.js +1 -0
  511. package/assets/esri/core/workers/chunks/{4a12ca8d6756cedfb74c.js → bf3a6346ec25692e130c.js} +1 -1
  512. package/assets/esri/core/workers/chunks/{3c5a64a545272f148e93.js → c16ec2f614844b3191c0.js} +1 -1
  513. package/assets/esri/core/workers/chunks/c1dfbda75abc748a6ca4.js +1 -0
  514. package/assets/esri/core/workers/chunks/c8702e53a8ad6cf6ab85.js +1 -0
  515. package/assets/esri/core/workers/chunks/c90416e7bf29eb1d4536.js +1 -0
  516. package/assets/esri/core/workers/chunks/cb004c492e22c50f9bfa.js +1 -0
  517. package/assets/esri/core/workers/chunks/cb763c42379341b94d1e.js +1 -0
  518. package/assets/esri/core/workers/chunks/cfc3dcca2b69d20d5375.js +1 -0
  519. package/assets/esri/core/workers/chunks/cfc48f30ecc9b27ac409.js +1 -0
  520. package/assets/esri/core/workers/chunks/cfe379a78a983373b3ac.js +1 -0
  521. package/assets/esri/core/workers/chunks/d0e2b42dca51711f2c6f.js +1 -0
  522. package/assets/esri/core/workers/chunks/d0ff496834686dbfe29f.js +1 -0
  523. package/assets/esri/core/workers/chunks/{c7fb48ea5d907883bcce.js → d199290f843ffb78a001.js} +1 -1
  524. package/assets/esri/core/workers/chunks/d1c00e7d7884c3010e1c.js +1 -0
  525. package/assets/esri/core/workers/chunks/d2a127f7bb0e2ba14a13.js +1 -0
  526. package/assets/esri/core/workers/chunks/d8607326a199dd994844.js +1 -0
  527. package/assets/esri/core/workers/chunks/da0ab3f64802204323ed.js +1 -0
  528. package/assets/esri/core/workers/chunks/dabd889e064c4e7807fa.js +1 -0
  529. package/assets/esri/core/workers/chunks/{3bc6b5f0643364749ef8.js → de3d57c9b5d7a1d33bf1.js} +1 -1
  530. package/assets/esri/core/workers/chunks/df661a3b3629bd122a73.js +1 -0
  531. package/assets/esri/core/workers/chunks/df96824a6f76bad1370c.js +1 -0
  532. package/assets/esri/core/workers/chunks/e097f41bbfac00250477.js +1 -0
  533. package/assets/esri/core/workers/chunks/e3243d120a23a9b48392.js +1 -0
  534. package/assets/esri/core/workers/chunks/e325151aaa4a1c2a2d0c.js +1 -0
  535. package/assets/esri/core/workers/chunks/e55f80b774e090a0aa04.js +1 -0
  536. package/assets/esri/core/workers/chunks/e668c7e2e61aae6ca6e0.js +1 -0
  537. package/assets/esri/core/workers/chunks/e69e12c25658592e9874.js +1 -0
  538. package/assets/esri/core/workers/chunks/eb7053ba7e491bf25829.js +1 -0
  539. package/assets/esri/core/workers/chunks/ebe25310eabce61f7e72.js +1 -0
  540. package/assets/esri/core/workers/chunks/ef900614353505afb210.js +1 -0
  541. package/assets/esri/core/workers/chunks/f0299d93a95f40ea7cf7.js +1 -0
  542. package/assets/esri/core/workers/chunks/f1da7b29eecad0e9efae.js +1 -0
  543. package/assets/esri/core/workers/chunks/f23b95d7e51a144ad065.js +1 -0
  544. package/assets/esri/core/workers/chunks/f263e73a25fae4beffae.js +1 -0
  545. package/assets/esri/core/workers/chunks/{dcec000d7e883fab69ee.js → f50c6491bff822d89716.js} +1 -1
  546. package/assets/esri/core/workers/chunks/f528239fdba6d910d022.js +1 -0
  547. package/assets/esri/core/workers/chunks/f556490dae3c69419052.js +1 -0
  548. package/assets/esri/core/workers/chunks/f709ce36e29371d4f9d0.js +1 -0
  549. package/assets/esri/core/workers/chunks/{2f9fadbe7e94f79afeda.js → f88a6a9c837b5f76bdd2.js} +1 -1
  550. package/assets/esri/core/workers/chunks/fb44d872b9dbadcf8ccf.js +1 -0
  551. package/assets/esri/core/workers/chunks/fcc8aa0624f212b94a70.js +1 -0
  552. package/assets/esri/images/portal/livestreamvideolayer16.png +0 -0
  553. package/assets/esri/images/portal/{mediaservice16.png → videolayer16.png} +0 -0
  554. package/assets/esri/t9n/common_sv.json +1 -1
  555. package/assets/esri/themes/base/_View.scss +2 -5
  556. package/assets/esri/themes/base/widgets/_BasemapGallery.scss +9 -12
  557. package/assets/esri/themes/base/widgets/_Bookmarks.scss +5 -0
  558. package/assets/esri/themes/base/widgets/_Daylight.scss +4 -6
  559. package/assets/esri/themes/base/widgets/_Feature.scss +20 -8
  560. package/assets/esri/themes/base/widgets/_FeatureContent.scss +9 -3
  561. package/assets/esri/themes/base/widgets/_FeatureForm.scss +19 -2
  562. package/assets/esri/themes/base/widgets/_Features.scss +5 -7
  563. package/assets/esri/themes/base/widgets/_OrientedImageryViewer.scss +69 -36
  564. package/assets/esri/themes/base/widgets/_Popup.scss +3 -3
  565. package/assets/esri/themes/base/widgets/_ScaleRangeSlider.scss +1 -0
  566. package/assets/esri/themes/base/widgets/_Swipe.scss +11 -0
  567. package/assets/esri/themes/base/widgets/_ValuePicker.scss +5 -2
  568. package/assets/esri/themes/base/widgets/_Widget.scss +7 -0
  569. package/assets/esri/themes/dark/main.css +1 -1
  570. package/assets/esri/themes/light/main.css +1 -1
  571. package/assets/esri/themes/light/view.css +1 -1
  572. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_ar.json +1 -1
  573. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_bg.json +1 -1
  574. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_bs.json +1 -1
  575. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_ca.json +1 -1
  576. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_cs.json +1 -1
  577. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_da.json +1 -1
  578. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_de.json +1 -1
  579. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_el.json +1 -1
  580. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_es.json +1 -1
  581. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_et.json +1 -1
  582. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_fi.json +1 -1
  583. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_fr.json +1 -1
  584. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_he.json +1 -1
  585. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_hr.json +1 -1
  586. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_hu.json +1 -1
  587. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_id.json +1 -1
  588. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_it.json +1 -1
  589. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_ja.json +1 -1
  590. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_ko.json +1 -1
  591. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_lt.json +1 -1
  592. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_lv.json +1 -1
  593. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_nb.json +1 -1
  594. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_nl.json +1 -1
  595. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_pl.json +1 -1
  596. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_pt-BR.json +1 -1
  597. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_pt-PT.json +1 -1
  598. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_ro.json +1 -1
  599. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_ru.json +1 -1
  600. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_sk.json +1 -1
  601. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_sl.json +1 -1
  602. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_sr.json +1 -1
  603. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_sv.json +1 -1
  604. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_th.json +1 -1
  605. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_tr.json +1 -1
  606. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_uk.json +1 -1
  607. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_vi.json +1 -1
  608. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_zh-CN.json +1 -1
  609. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_zh-HK.json +1 -1
  610. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_zh-TW.json +1 -1
  611. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_ar.json +1 -1
  612. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_bg.json +1 -1
  613. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_bs.json +1 -1
  614. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_ca.json +1 -1
  615. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_cs.json +1 -1
  616. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_da.json +1 -1
  617. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_de.json +1 -1
  618. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_el.json +1 -1
  619. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_es.json +1 -1
  620. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_et.json +1 -1
  621. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_fi.json +1 -1
  622. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_fr.json +1 -1
  623. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_he.json +1 -1
  624. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_hr.json +1 -1
  625. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_hu.json +1 -1
  626. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_id.json +1 -1
  627. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_it.json +1 -1
  628. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_ja.json +1 -1
  629. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_ko.json +1 -1
  630. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_lt.json +1 -1
  631. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_lv.json +1 -1
  632. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_nb.json +1 -1
  633. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_nl.json +1 -1
  634. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_pl.json +1 -1
  635. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_pt-BR.json +1 -1
  636. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_pt-PT.json +1 -1
  637. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_ro.json +1 -1
  638. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_ru.json +1 -1
  639. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_sk.json +1 -1
  640. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_sl.json +1 -1
  641. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_sr.json +1 -1
  642. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_sv.json +1 -1
  643. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_th.json +1 -1
  644. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_tr.json +1 -1
  645. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_uk.json +1 -1
  646. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_vi.json +1 -1
  647. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_zh-CN.json +1 -1
  648. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_zh-HK.json +1 -1
  649. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_zh-TW.json +1 -1
  650. package/assets/esri/widgets/CoordinateConversion/t9n/CoordinateConversion_ja.json +1 -1
  651. package/assets/esri/widgets/Editor/t9n/Editor_ar.json +1 -1
  652. package/assets/esri/widgets/Editor/t9n/Editor_bg.json +1 -1
  653. package/assets/esri/widgets/Editor/t9n/Editor_bs.json +1 -1
  654. package/assets/esri/widgets/Editor/t9n/Editor_ca.json +1 -1
  655. package/assets/esri/widgets/Editor/t9n/Editor_cs.json +1 -1
  656. package/assets/esri/widgets/Editor/t9n/Editor_da.json +1 -1
  657. package/assets/esri/widgets/Editor/t9n/Editor_de.json +1 -1
  658. package/assets/esri/widgets/Editor/t9n/Editor_el.json +1 -1
  659. package/assets/esri/widgets/Editor/t9n/Editor_es.json +1 -1
  660. package/assets/esri/widgets/Editor/t9n/Editor_et.json +1 -1
  661. package/assets/esri/widgets/Editor/t9n/Editor_fi.json +1 -1
  662. package/assets/esri/widgets/Editor/t9n/Editor_fr.json +1 -1
  663. package/assets/esri/widgets/Editor/t9n/Editor_he.json +1 -1
  664. package/assets/esri/widgets/Editor/t9n/Editor_hr.json +1 -1
  665. package/assets/esri/widgets/Editor/t9n/Editor_hu.json +1 -1
  666. package/assets/esri/widgets/Editor/t9n/Editor_id.json +1 -1
  667. package/assets/esri/widgets/Editor/t9n/Editor_it.json +1 -1
  668. package/assets/esri/widgets/Editor/t9n/Editor_ja.json +1 -1
  669. package/assets/esri/widgets/Editor/t9n/Editor_ko.json +1 -1
  670. package/assets/esri/widgets/Editor/t9n/Editor_lt.json +1 -1
  671. package/assets/esri/widgets/Editor/t9n/Editor_lv.json +1 -1
  672. package/assets/esri/widgets/Editor/t9n/Editor_nb.json +1 -1
  673. package/assets/esri/widgets/Editor/t9n/Editor_nl.json +1 -1
  674. package/assets/esri/widgets/Editor/t9n/Editor_pl.json +1 -1
  675. package/assets/esri/widgets/Editor/t9n/Editor_pt-BR.json +1 -1
  676. package/assets/esri/widgets/Editor/t9n/Editor_pt-PT.json +1 -1
  677. package/assets/esri/widgets/Editor/t9n/Editor_ro.json +1 -1
  678. package/assets/esri/widgets/Editor/t9n/Editor_ru.json +1 -1
  679. package/assets/esri/widgets/Editor/t9n/Editor_sk.json +1 -1
  680. package/assets/esri/widgets/Editor/t9n/Editor_sl.json +1 -1
  681. package/assets/esri/widgets/Editor/t9n/Editor_sr.json +1 -1
  682. package/assets/esri/widgets/Editor/t9n/Editor_sv.json +1 -1
  683. package/assets/esri/widgets/Editor/t9n/Editor_th.json +1 -1
  684. package/assets/esri/widgets/Editor/t9n/Editor_tr.json +1 -1
  685. package/assets/esri/widgets/Editor/t9n/Editor_uk.json +1 -1
  686. package/assets/esri/widgets/Editor/t9n/Editor_vi.json +1 -1
  687. package/assets/esri/widgets/Editor/t9n/Editor_zh-CN.json +1 -1
  688. package/assets/esri/widgets/Editor/t9n/Editor_zh-HK.json +1 -1
  689. package/assets/esri/widgets/Editor/t9n/Editor_zh-TW.json +1 -1
  690. package/assets/esri/widgets/Feature/t9n/Feature_ar.json +1 -1
  691. package/assets/esri/widgets/Feature/t9n/Feature_bg.json +1 -1
  692. package/assets/esri/widgets/Feature/t9n/Feature_bs.json +1 -1
  693. package/assets/esri/widgets/Feature/t9n/Feature_ca.json +1 -1
  694. package/assets/esri/widgets/Feature/t9n/Feature_cs.json +1 -1
  695. package/assets/esri/widgets/Feature/t9n/Feature_da.json +1 -1
  696. package/assets/esri/widgets/Feature/t9n/Feature_de.json +1 -1
  697. package/assets/esri/widgets/Feature/t9n/Feature_el.json +1 -1
  698. package/assets/esri/widgets/Feature/t9n/Feature_es.json +1 -1
  699. package/assets/esri/widgets/Feature/t9n/Feature_et.json +1 -1
  700. package/assets/esri/widgets/Feature/t9n/Feature_fi.json +1 -1
  701. package/assets/esri/widgets/Feature/t9n/Feature_fr.json +1 -1
  702. package/assets/esri/widgets/Feature/t9n/Feature_he.json +1 -1
  703. package/assets/esri/widgets/Feature/t9n/Feature_hr.json +1 -1
  704. package/assets/esri/widgets/Feature/t9n/Feature_hu.json +1 -1
  705. package/assets/esri/widgets/Feature/t9n/Feature_id.json +1 -1
  706. package/assets/esri/widgets/Feature/t9n/Feature_it.json +1 -1
  707. package/assets/esri/widgets/Feature/t9n/Feature_ja.json +1 -1
  708. package/assets/esri/widgets/Feature/t9n/Feature_ko.json +1 -1
  709. package/assets/esri/widgets/Feature/t9n/Feature_lt.json +1 -1
  710. package/assets/esri/widgets/Feature/t9n/Feature_lv.json +1 -1
  711. package/assets/esri/widgets/Feature/t9n/Feature_nb.json +1 -1
  712. package/assets/esri/widgets/Feature/t9n/Feature_nl.json +1 -1
  713. package/assets/esri/widgets/Feature/t9n/Feature_pl.json +1 -1
  714. package/assets/esri/widgets/Feature/t9n/Feature_pt-BR.json +1 -1
  715. package/assets/esri/widgets/Feature/t9n/Feature_pt-PT.json +1 -1
  716. package/assets/esri/widgets/Feature/t9n/Feature_ro.json +1 -1
  717. package/assets/esri/widgets/Feature/t9n/Feature_ru.json +1 -1
  718. package/assets/esri/widgets/Feature/t9n/Feature_sk.json +1 -1
  719. package/assets/esri/widgets/Feature/t9n/Feature_sl.json +1 -1
  720. package/assets/esri/widgets/Feature/t9n/Feature_sr.json +1 -1
  721. package/assets/esri/widgets/Feature/t9n/Feature_sv.json +1 -1
  722. package/assets/esri/widgets/Feature/t9n/Feature_th.json +1 -1
  723. package/assets/esri/widgets/Feature/t9n/Feature_tr.json +1 -1
  724. package/assets/esri/widgets/Feature/t9n/Feature_uk.json +1 -1
  725. package/assets/esri/widgets/Feature/t9n/Feature_vi.json +1 -1
  726. package/assets/esri/widgets/Feature/t9n/Feature_zh-CN.json +1 -1
  727. package/assets/esri/widgets/Feature/t9n/Feature_zh-HK.json +1 -1
  728. package/assets/esri/widgets/Feature/t9n/Feature_zh-TW.json +1 -1
  729. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ar.json +1 -1
  730. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_bg.json +1 -1
  731. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_bs.json +1 -1
  732. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ca.json +1 -1
  733. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_cs.json +1 -1
  734. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_da.json +1 -1
  735. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_de.json +1 -1
  736. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_el.json +1 -1
  737. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_es.json +1 -1
  738. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_et.json +1 -1
  739. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_fi.json +1 -1
  740. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_fr.json +1 -1
  741. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_he.json +1 -1
  742. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_hr.json +1 -1
  743. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_hu.json +1 -1
  744. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_id.json +1 -1
  745. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_it.json +1 -1
  746. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ja.json +1 -1
  747. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ko.json +1 -1
  748. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_lt.json +1 -1
  749. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_lv.json +1 -1
  750. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_nb.json +1 -1
  751. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_nl.json +1 -1
  752. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_pl.json +1 -1
  753. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_pt-BR.json +1 -1
  754. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_pt-PT.json +1 -1
  755. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ro.json +1 -1
  756. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ru.json +1 -1
  757. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_sk.json +1 -1
  758. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_sl.json +1 -1
  759. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_sr.json +1 -1
  760. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_sv.json +1 -1
  761. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_th.json +1 -1
  762. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_tr.json +1 -1
  763. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_uk.json +1 -1
  764. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_vi.json +1 -1
  765. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_zh-CN.json +1 -1
  766. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_zh-HK.json +1 -1
  767. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_zh-TW.json +1 -1
  768. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_ja.json +1 -1
  769. package/assets/esri/widgets/Features/t9n/Features_ar.json +1 -1
  770. package/assets/esri/widgets/Features/t9n/Features_bg.json +1 -1
  771. package/assets/esri/widgets/Features/t9n/Features_bs.json +1 -1
  772. package/assets/esri/widgets/Features/t9n/Features_ca.json +1 -1
  773. package/assets/esri/widgets/Features/t9n/Features_cs.json +1 -1
  774. package/assets/esri/widgets/Features/t9n/Features_da.json +1 -1
  775. package/assets/esri/widgets/Features/t9n/Features_de.json +1 -1
  776. package/assets/esri/widgets/Features/t9n/Features_el.json +1 -1
  777. package/assets/esri/widgets/Features/t9n/Features_es.json +1 -1
  778. package/assets/esri/widgets/Features/t9n/Features_et.json +1 -1
  779. package/assets/esri/widgets/Features/t9n/Features_fi.json +1 -1
  780. package/assets/esri/widgets/Features/t9n/Features_fr.json +1 -1
  781. package/assets/esri/widgets/Features/t9n/Features_he.json +1 -1
  782. package/assets/esri/widgets/Features/t9n/Features_hr.json +1 -1
  783. package/assets/esri/widgets/Features/t9n/Features_hu.json +1 -1
  784. package/assets/esri/widgets/Features/t9n/Features_id.json +1 -1
  785. package/assets/esri/widgets/Features/t9n/Features_it.json +1 -1
  786. package/assets/esri/widgets/Features/t9n/Features_ja.json +1 -1
  787. package/assets/esri/widgets/Features/t9n/Features_ko.json +1 -1
  788. package/assets/esri/widgets/Features/t9n/Features_lt.json +1 -1
  789. package/assets/esri/widgets/Features/t9n/Features_lv.json +1 -1
  790. package/assets/esri/widgets/Features/t9n/Features_nb.json +1 -1
  791. package/assets/esri/widgets/Features/t9n/Features_nl.json +1 -1
  792. package/assets/esri/widgets/Features/t9n/Features_pl.json +1 -1
  793. package/assets/esri/widgets/Features/t9n/Features_pt-BR.json +1 -1
  794. package/assets/esri/widgets/Features/t9n/Features_pt-PT.json +1 -1
  795. package/assets/esri/widgets/Features/t9n/Features_ro.json +1 -1
  796. package/assets/esri/widgets/Features/t9n/Features_ru.json +1 -1
  797. package/assets/esri/widgets/Features/t9n/Features_sk.json +1 -1
  798. package/assets/esri/widgets/Features/t9n/Features_sl.json +1 -1
  799. package/assets/esri/widgets/Features/t9n/Features_sr.json +1 -1
  800. package/assets/esri/widgets/Features/t9n/Features_sv.json +1 -1
  801. package/assets/esri/widgets/Features/t9n/Features_th.json +1 -1
  802. package/assets/esri/widgets/Features/t9n/Features_tr.json +1 -1
  803. package/assets/esri/widgets/Features/t9n/Features_uk.json +1 -1
  804. package/assets/esri/widgets/Features/t9n/Features_vi.json +1 -1
  805. package/assets/esri/widgets/Features/t9n/Features_zh-CN.json +1 -1
  806. package/assets/esri/widgets/Features/t9n/Features_zh-HK.json +1 -1
  807. package/assets/esri/widgets/Features/t9n/Features_zh-TW.json +1 -1
  808. package/assets/esri/widgets/Legend/t9n/Legend_ar.json +1 -1
  809. package/assets/esri/widgets/Legend/t9n/Legend_bg.json +1 -1
  810. package/assets/esri/widgets/Legend/t9n/Legend_bs.json +1 -1
  811. package/assets/esri/widgets/Legend/t9n/Legend_ca.json +1 -1
  812. package/assets/esri/widgets/Legend/t9n/Legend_cs.json +1 -1
  813. package/assets/esri/widgets/Legend/t9n/Legend_da.json +1 -1
  814. package/assets/esri/widgets/Legend/t9n/Legend_de.json +1 -1
  815. package/assets/esri/widgets/Legend/t9n/Legend_el.json +1 -1
  816. package/assets/esri/widgets/Legend/t9n/Legend_es.json +1 -1
  817. package/assets/esri/widgets/Legend/t9n/Legend_et.json +1 -1
  818. package/assets/esri/widgets/Legend/t9n/Legend_fi.json +1 -1
  819. package/assets/esri/widgets/Legend/t9n/Legend_fr.json +1 -1
  820. package/assets/esri/widgets/Legend/t9n/Legend_he.json +1 -1
  821. package/assets/esri/widgets/Legend/t9n/Legend_hr.json +1 -1
  822. package/assets/esri/widgets/Legend/t9n/Legend_hu.json +1 -1
  823. package/assets/esri/widgets/Legend/t9n/Legend_id.json +1 -1
  824. package/assets/esri/widgets/Legend/t9n/Legend_it.json +1 -1
  825. package/assets/esri/widgets/Legend/t9n/Legend_ja.json +1 -1
  826. package/assets/esri/widgets/Legend/t9n/Legend_ko.json +1 -1
  827. package/assets/esri/widgets/Legend/t9n/Legend_lt.json +1 -1
  828. package/assets/esri/widgets/Legend/t9n/Legend_lv.json +1 -1
  829. package/assets/esri/widgets/Legend/t9n/Legend_nb.json +1 -1
  830. package/assets/esri/widgets/Legend/t9n/Legend_nl.json +1 -1
  831. package/assets/esri/widgets/Legend/t9n/Legend_pl.json +1 -1
  832. package/assets/esri/widgets/Legend/t9n/Legend_pt-BR.json +1 -1
  833. package/assets/esri/widgets/Legend/t9n/Legend_pt-PT.json +1 -1
  834. package/assets/esri/widgets/Legend/t9n/Legend_ro.json +1 -1
  835. package/assets/esri/widgets/Legend/t9n/Legend_ru.json +1 -1
  836. package/assets/esri/widgets/Legend/t9n/Legend_sk.json +1 -1
  837. package/assets/esri/widgets/Legend/t9n/Legend_sl.json +1 -1
  838. package/assets/esri/widgets/Legend/t9n/Legend_sr.json +1 -1
  839. package/assets/esri/widgets/Legend/t9n/Legend_sv.json +1 -1
  840. package/assets/esri/widgets/Legend/t9n/Legend_th.json +1 -1
  841. package/assets/esri/widgets/Legend/t9n/Legend_tr.json +1 -1
  842. package/assets/esri/widgets/Legend/t9n/Legend_uk.json +1 -1
  843. package/assets/esri/widgets/Legend/t9n/Legend_vi.json +1 -1
  844. package/assets/esri/widgets/Legend/t9n/Legend_zh-CN.json +1 -1
  845. package/assets/esri/widgets/Legend/t9n/Legend_zh-HK.json +1 -1
  846. package/assets/esri/widgets/Legend/t9n/Legend_zh-TW.json +1 -1
  847. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer.json +1 -1
  848. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ar.json +1 -1
  849. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_bg.json +1 -1
  850. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_bs.json +1 -1
  851. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ca.json +1 -1
  852. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_cs.json +1 -1
  853. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_da.json +1 -1
  854. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_de.json +1 -1
  855. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_el.json +1 -1
  856. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_en.json +1 -1
  857. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_es.json +1 -1
  858. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_et.json +1 -1
  859. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_fi.json +1 -1
  860. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_fr.json +1 -1
  861. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_he.json +1 -1
  862. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_hr.json +1 -1
  863. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_hu.json +1 -1
  864. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_id.json +1 -1
  865. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_it.json +1 -1
  866. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ja.json +1 -1
  867. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ko.json +1 -1
  868. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_lt.json +1 -1
  869. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_lv.json +1 -1
  870. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_nb.json +1 -1
  871. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_nl.json +1 -1
  872. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pl.json +1 -1
  873. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pt-BR.json +1 -1
  874. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pt-PT.json +1 -1
  875. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ro.json +1 -1
  876. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ru.json +1 -1
  877. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sk.json +1 -1
  878. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sl.json +1 -1
  879. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sr.json +1 -1
  880. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sv.json +1 -1
  881. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_th.json +1 -1
  882. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_tr.json +1 -1
  883. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_uk.json +1 -1
  884. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_vi.json +1 -1
  885. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-CN.json +1 -1
  886. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-HK.json +1 -1
  887. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-TW.json +1 -1
  888. package/assets/esri/widgets/Popup/t9n/Popup_ar.json +1 -1
  889. package/assets/esri/widgets/Popup/t9n/Popup_bg.json +1 -1
  890. package/assets/esri/widgets/Popup/t9n/Popup_bs.json +1 -1
  891. package/assets/esri/widgets/Popup/t9n/Popup_ca.json +1 -1
  892. package/assets/esri/widgets/Popup/t9n/Popup_cs.json +1 -1
  893. package/assets/esri/widgets/Popup/t9n/Popup_da.json +1 -1
  894. package/assets/esri/widgets/Popup/t9n/Popup_de.json +1 -1
  895. package/assets/esri/widgets/Popup/t9n/Popup_el.json +1 -1
  896. package/assets/esri/widgets/Popup/t9n/Popup_es.json +1 -1
  897. package/assets/esri/widgets/Popup/t9n/Popup_et.json +1 -1
  898. package/assets/esri/widgets/Popup/t9n/Popup_fi.json +1 -1
  899. package/assets/esri/widgets/Popup/t9n/Popup_fr.json +1 -1
  900. package/assets/esri/widgets/Popup/t9n/Popup_he.json +1 -1
  901. package/assets/esri/widgets/Popup/t9n/Popup_hr.json +1 -1
  902. package/assets/esri/widgets/Popup/t9n/Popup_hu.json +1 -1
  903. package/assets/esri/widgets/Popup/t9n/Popup_id.json +1 -1
  904. package/assets/esri/widgets/Popup/t9n/Popup_it.json +1 -1
  905. package/assets/esri/widgets/Popup/t9n/Popup_ja.json +1 -1
  906. package/assets/esri/widgets/Popup/t9n/Popup_ko.json +1 -1
  907. package/assets/esri/widgets/Popup/t9n/Popup_lt.json +1 -1
  908. package/assets/esri/widgets/Popup/t9n/Popup_lv.json +1 -1
  909. package/assets/esri/widgets/Popup/t9n/Popup_nb.json +1 -1
  910. package/assets/esri/widgets/Popup/t9n/Popup_nl.json +1 -1
  911. package/assets/esri/widgets/Popup/t9n/Popup_pl.json +1 -1
  912. package/assets/esri/widgets/Popup/t9n/Popup_pt-BR.json +1 -1
  913. package/assets/esri/widgets/Popup/t9n/Popup_pt-PT.json +1 -1
  914. package/assets/esri/widgets/Popup/t9n/Popup_ro.json +1 -1
  915. package/assets/esri/widgets/Popup/t9n/Popup_ru.json +1 -1
  916. package/assets/esri/widgets/Popup/t9n/Popup_sk.json +1 -1
  917. package/assets/esri/widgets/Popup/t9n/Popup_sl.json +1 -1
  918. package/assets/esri/widgets/Popup/t9n/Popup_sr.json +1 -1
  919. package/assets/esri/widgets/Popup/t9n/Popup_sv.json +1 -1
  920. package/assets/esri/widgets/Popup/t9n/Popup_th.json +1 -1
  921. package/assets/esri/widgets/Popup/t9n/Popup_tr.json +1 -1
  922. package/assets/esri/widgets/Popup/t9n/Popup_uk.json +1 -1
  923. package/assets/esri/widgets/Popup/t9n/Popup_vi.json +1 -1
  924. package/assets/esri/widgets/Popup/t9n/Popup_zh-CN.json +1 -1
  925. package/assets/esri/widgets/Popup/t9n/Popup_zh-HK.json +1 -1
  926. package/assets/esri/widgets/Popup/t9n/Popup_zh-TW.json +1 -1
  927. package/assets/esri/widgets/Sketch/t9n/Sketch_ar.json +1 -1
  928. package/assets/esri/widgets/Sketch/t9n/Sketch_bg.json +1 -1
  929. package/assets/esri/widgets/Sketch/t9n/Sketch_bs.json +1 -1
  930. package/assets/esri/widgets/Sketch/t9n/Sketch_ca.json +1 -1
  931. package/assets/esri/widgets/Sketch/t9n/Sketch_cs.json +1 -1
  932. package/assets/esri/widgets/Sketch/t9n/Sketch_da.json +1 -1
  933. package/assets/esri/widgets/Sketch/t9n/Sketch_de.json +1 -1
  934. package/assets/esri/widgets/Sketch/t9n/Sketch_el.json +1 -1
  935. package/assets/esri/widgets/Sketch/t9n/Sketch_es.json +1 -1
  936. package/assets/esri/widgets/Sketch/t9n/Sketch_et.json +1 -1
  937. package/assets/esri/widgets/Sketch/t9n/Sketch_fi.json +1 -1
  938. package/assets/esri/widgets/Sketch/t9n/Sketch_fr.json +1 -1
  939. package/assets/esri/widgets/Sketch/t9n/Sketch_he.json +1 -1
  940. package/assets/esri/widgets/Sketch/t9n/Sketch_hr.json +1 -1
  941. package/assets/esri/widgets/Sketch/t9n/Sketch_hu.json +1 -1
  942. package/assets/esri/widgets/Sketch/t9n/Sketch_id.json +1 -1
  943. package/assets/esri/widgets/Sketch/t9n/Sketch_it.json +1 -1
  944. package/assets/esri/widgets/Sketch/t9n/Sketch_ja.json +1 -1
  945. package/assets/esri/widgets/Sketch/t9n/Sketch_ko.json +1 -1
  946. package/assets/esri/widgets/Sketch/t9n/Sketch_lt.json +1 -1
  947. package/assets/esri/widgets/Sketch/t9n/Sketch_lv.json +1 -1
  948. package/assets/esri/widgets/Sketch/t9n/Sketch_nb.json +1 -1
  949. package/assets/esri/widgets/Sketch/t9n/Sketch_nl.json +1 -1
  950. package/assets/esri/widgets/Sketch/t9n/Sketch_pl.json +1 -1
  951. package/assets/esri/widgets/Sketch/t9n/Sketch_pt-BR.json +1 -1
  952. package/assets/esri/widgets/Sketch/t9n/Sketch_pt-PT.json +1 -1
  953. package/assets/esri/widgets/Sketch/t9n/Sketch_ro.json +1 -1
  954. package/assets/esri/widgets/Sketch/t9n/Sketch_ru.json +1 -1
  955. package/assets/esri/widgets/Sketch/t9n/Sketch_sk.json +1 -1
  956. package/assets/esri/widgets/Sketch/t9n/Sketch_sl.json +1 -1
  957. package/assets/esri/widgets/Sketch/t9n/Sketch_sr.json +1 -1
  958. package/assets/esri/widgets/Sketch/t9n/Sketch_sv.json +1 -1
  959. package/assets/esri/widgets/Sketch/t9n/Sketch_th.json +1 -1
  960. package/assets/esri/widgets/Sketch/t9n/Sketch_tr.json +1 -1
  961. package/assets/esri/widgets/Sketch/t9n/Sketch_uk.json +1 -1
  962. package/assets/esri/widgets/Sketch/t9n/Sketch_vi.json +1 -1
  963. package/assets/esri/widgets/Sketch/t9n/Sketch_zh-CN.json +1 -1
  964. package/assets/esri/widgets/Sketch/t9n/Sketch_zh-HK.json +1 -1
  965. package/assets/esri/widgets/Sketch/t9n/Sketch_zh-TW.json +1 -1
  966. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_ar.json +1 -1
  967. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_bg.json +1 -1
  968. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_bs.json +1 -1
  969. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_ca.json +1 -1
  970. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_cs.json +1 -1
  971. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_da.json +1 -1
  972. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_de.json +1 -1
  973. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_el.json +1 -1
  974. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_es.json +1 -1
  975. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_et.json +1 -1
  976. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_fi.json +1 -1
  977. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_fr.json +1 -1
  978. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_he.json +1 -1
  979. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_hr.json +1 -1
  980. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_hu.json +1 -1
  981. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_id.json +1 -1
  982. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_it.json +1 -1
  983. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_ja.json +1 -1
  984. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_ko.json +1 -1
  985. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_lt.json +1 -1
  986. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_lv.json +1 -1
  987. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_nb.json +1 -1
  988. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_nl.json +1 -1
  989. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_pl.json +1 -1
  990. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_pt-BR.json +1 -1
  991. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_pt-PT.json +1 -1
  992. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_ro.json +1 -1
  993. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_ru.json +1 -1
  994. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_sk.json +1 -1
  995. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_sl.json +1 -1
  996. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_sr.json +1 -1
  997. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_sv.json +1 -1
  998. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_th.json +1 -1
  999. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_tr.json +1 -1
  1000. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_uk.json +1 -1
  1001. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_vi.json +1 -1
  1002. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_zh-CN.json +1 -1
  1003. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_zh-HK.json +1 -1
  1004. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_zh-TW.json +1 -1
  1005. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_ar.json +1 -1
  1006. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_bg.json +1 -1
  1007. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_bs.json +1 -1
  1008. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_ca.json +1 -1
  1009. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_cs.json +1 -1
  1010. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_da.json +1 -1
  1011. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_de.json +1 -1
  1012. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_el.json +1 -1
  1013. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_es.json +1 -1
  1014. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_et.json +1 -1
  1015. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_fi.json +1 -1
  1016. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_fr.json +1 -1
  1017. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_he.json +1 -1
  1018. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_hr.json +1 -1
  1019. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_hu.json +1 -1
  1020. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_id.json +1 -1
  1021. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_it.json +1 -1
  1022. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_ja.json +1 -1
  1023. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_ko.json +1 -1
  1024. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_lt.json +1 -1
  1025. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_lv.json +1 -1
  1026. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_nb.json +1 -1
  1027. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_nl.json +1 -1
  1028. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_pl.json +1 -1
  1029. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_pt-BR.json +1 -1
  1030. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_pt-PT.json +1 -1
  1031. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_ro.json +1 -1
  1032. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_ru.json +1 -1
  1033. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_sk.json +1 -1
  1034. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_sl.json +1 -1
  1035. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_sr.json +1 -1
  1036. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_sv.json +1 -1
  1037. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_th.json +1 -1
  1038. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_tr.json +1 -1
  1039. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_uk.json +1 -1
  1040. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_vi.json +1 -1
  1041. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_zh-CN.json +1 -1
  1042. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_zh-HK.json +1 -1
  1043. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_zh-TW.json +1 -1
  1044. package/chunks/AtmosphereCompositing.glsl.js +5 -5
  1045. package/chunks/BlendWeights.glsl.js +9 -9
  1046. package/chunks/Blur.glsl.js +1 -1
  1047. package/chunks/ChapmanAtmosphere.glsl.js +8 -7
  1048. package/chunks/CheckerBoard.glsl.js +5 -5
  1049. package/chunks/CloudsComposition.glsl.js +3 -3
  1050. package/chunks/ColorMaterial.glsl.js +12 -12
  1051. package/chunks/ComponentShader.glsl.js +8 -8
  1052. package/chunks/DefaultMaterial.glsl.js +43 -43
  1053. package/chunks/EdgeDetect.glsl.js +2 -2
  1054. package/chunks/EdgeShader.glsl.js +1 -1
  1055. package/chunks/Fog.glsl.js +2 -2
  1056. package/chunks/HUDMaterial.glsl.js +1 -1
  1057. package/chunks/HighlightApply.glsl.js +4 -4
  1058. package/chunks/ImageMaterial.glsl.js +7 -7
  1059. package/chunks/LineCallout.glsl.js +5 -5
  1060. package/chunks/LineMarker.glsl.js +1 -1
  1061. package/chunks/Path.glsl.js +16 -16
  1062. package/chunks/Pattern.glsl.js +33 -32
  1063. package/chunks/Precipitation.glsl.js +3 -3
  1064. package/chunks/RealisticTree.glsl.js +7 -7
  1065. package/chunks/RibbonLine.glsl.js +41 -41
  1066. package/chunks/SSAO.glsl.js +1 -1
  1067. package/chunks/ShadedColorMaterial.glsl.js +1 -1
  1068. package/chunks/ShadowCastAccumulate.glsl.js +4 -3
  1069. package/chunks/ShadowCastVisualize.glsl.js +1 -1
  1070. package/chunks/ShadowHighlight.glsl.js +14 -11
  1071. package/chunks/Terrain.glsl.js +15 -13
  1072. package/chunks/Theme.js +1 -1
  1073. package/chunks/Tooltip.js +1 -1
  1074. package/chunks/WaterSurface.glsl.js +18 -18
  1075. package/chunks/boundedPlane.js +1 -1
  1076. package/chunks/languageUtils.js +1 -1
  1077. package/chunks/mat3.js +1 -1
  1078. package/chunks/quat.js +1 -1
  1079. package/chunks/quat2.js +1 -1
  1080. package/chunks/quatf32.js +1 -1
  1081. package/chunks/vec2.js +1 -1
  1082. package/chunks/vec3.js +1 -1
  1083. package/chunks/vec3f32.js +1 -1
  1084. package/copyright.txt +1 -1
  1085. package/core/Clonable.js +1 -1
  1086. package/core/Collection.js +1 -1
  1087. package/core/Evented.js +1 -1
  1088. package/core/Handles.js +1 -1
  1089. package/core/JSONSupport.js +1 -1
  1090. package/core/MemCache.js +1 -1
  1091. package/core/MemCachePool.js +5 -0
  1092. package/core/Promise.js +1 -1
  1093. package/core/Queue.js +1 -1
  1094. package/core/ReadOnlyMultiOriginJSONSupport.js +1 -1
  1095. package/core/ReentrantObjectPool.js +1 -1
  1096. package/core/accessorSupport/MultiOriginStore.js +1 -1
  1097. package/core/accessorSupport/PropertyOrigin.js +1 -1
  1098. package/core/accessorSupport/extensions/serializableProperty/reader.js +1 -1
  1099. package/core/accessorSupport/trackingUtils.js +1 -1
  1100. package/core/accessorSupport/utils.js +1 -1
  1101. package/core/accessorSupport/watch.js +1 -1
  1102. package/core/clock.js +1 -1
  1103. package/core/events.js +1 -1
  1104. package/core/fontUtils.js +1 -1
  1105. package/core/handleUtils.js +1 -1
  1106. package/core/libs/gl-matrix-2/factories/quatf32.js +1 -1
  1107. package/core/libs/gl-matrix-2/factories/vec3f32.js +1 -1
  1108. package/core/libs/gl-matrix-2/math/mat3.js +1 -1
  1109. package/core/libs/gl-matrix-2/math/quat.js +1 -1
  1110. package/core/libs/gl-matrix-2/math/vec2.js +1 -1
  1111. package/core/libs/gl-matrix-2/math/vec3.js +1 -1
  1112. package/core/libs/gl-matrix-2/vec3.js +1 -1
  1113. package/core/libs/rbush/PooledRBush.js +1 -1
  1114. package/core/maybe.js +1 -1
  1115. package/core/perspectiveUtils.js +1 -1
  1116. package/core/promiseUtils.js +1 -1
  1117. package/core/scheduling.js +1 -1
  1118. package/core/support/OwningCollection.js +1 -1
  1119. package/core/support/WatchUpdatingTracking.js +1 -1
  1120. package/core/time.js +1 -1
  1121. package/core/timeUtils.js +1 -1
  1122. package/core/unitFormatUtils.js +1 -1
  1123. package/core/unitUtils.js +1 -1
  1124. package/core/urlUtils.js +1 -1
  1125. package/core/watchUtils.js +1 -1
  1126. package/core/workers/RemoteClient.js +1 -1
  1127. package/core/workers/request.js +1 -1
  1128. package/core/workers/workers.js +1 -1
  1129. package/form/elements/RelationshipElement.d.ts +4 -0
  1130. package/geometry/Mesh.js +1 -1
  1131. package/geometry/Polygon.js +1 -1
  1132. package/geometry/support/DoubleArray.js +1 -1
  1133. package/geometry/support/MeshComponent.js +1 -1
  1134. package/geometry/support/MeshMaterial.js +1 -1
  1135. package/geometry/support/MeshMaterialMetallicRoughness.js +1 -1
  1136. package/geometry/support/MeshTexture.js +1 -1
  1137. package/geometry/support/MeshVertexAttributes.js +1 -1
  1138. package/geometry/support/axisAngleDegrees.js +1 -1
  1139. package/geometry/support/coordsUtils.js +1 -1
  1140. package/geometry/support/meshUtils/External.js +1 -1
  1141. package/geometry/support/meshUtils/bounds.js +5 -0
  1142. package/geometry/support/meshUtils/centerAt.js +1 -1
  1143. package/geometry/support/meshUtils/georeference.js +1 -1
  1144. package/geometry/support/meshUtils/loadGLTFMesh.js +1 -1
  1145. package/geometry/support/meshUtils/merge.js +1 -1
  1146. package/geometry/support/meshUtils/projection.js +1 -1
  1147. package/geometry/support/meshUtils/rotate.js +1 -1
  1148. package/geometry/support/meshUtils/scale.js +1 -1
  1149. package/geometry/support/meshVertexSpaceUtils.js +5 -0
  1150. package/geometry/support/plane.js +1 -1
  1151. package/geometry/support/rotate.js +1 -1
  1152. package/geometry/support/triangulationUtils.js +1 -1
  1153. package/identity/IdentityManagerBase.js +1 -1
  1154. package/interfaces.d.ts +2665 -476
  1155. package/intl/date.js +1 -1
  1156. package/intl/locale.js +1 -1
  1157. package/intl/messages.js +1 -1
  1158. package/intl/number.js +1 -1
  1159. package/layers/FeatureLayer.js +1 -1
  1160. package/layers/ImageryTileLayer.js +1 -1
  1161. package/layers/KnowledgeGraphLayer.js +1 -1
  1162. package/layers/LinkChartLayer.js +1 -1
  1163. package/layers/MapImageLayer.js +1 -1
  1164. package/layers/OrientedImageryLayer.js +1 -1
  1165. package/layers/RouteLayer.js +1 -1
  1166. package/layers/SceneLayer.js +1 -1
  1167. package/layers/StreamLayer.js +1 -1
  1168. package/layers/SubtypeGroupLayer.js +1 -1
  1169. package/layers/TileLayer.js +1 -1
  1170. package/layers/VideoLayer.js +1 -1
  1171. package/layers/graphics/controllers/FeatureTileController3D.js +1 -1
  1172. package/layers/graphics/controllers/I3SOnDemandController.js +1 -1
  1173. package/layers/graphics/controllers/StreamController.js +1 -1
  1174. package/layers/graphics/data/QueryEngine.js +1 -1
  1175. package/layers/graphics/data/attributeSupport.js +1 -1
  1176. package/layers/graphics/editingSupport.js +1 -1
  1177. package/layers/graphics/sources/FeatureLayerSource.js +1 -1
  1178. package/layers/graphics/sources/MemorySource.js +1 -1
  1179. package/layers/graphics/sources/OGCFeatureSource.js +1 -1
  1180. package/layers/graphics/sources/WFSSource.js +1 -1
  1181. package/layers/graphics/sources/support/clientSideDefaults.js +1 -1
  1182. package/layers/graphics/sources/support/uploadAssets.js +1 -1
  1183. package/layers/knowledgeGraph/KnowledgeGraphLayerDataManager.js +1 -1
  1184. package/layers/knowledgeGraph/KnowledgeGraphSublayer.d.ts +4 -0
  1185. package/layers/knowledgeGraph/KnowledgeGraphSublayer.js +5 -0
  1186. package/layers/knowledgeGraph/{KnowledgeGraphSubLayerBase.js → KnowledgeGraphSublayerBase.js} +1 -1
  1187. package/layers/mixins/ArcGISImageService.js +1 -1
  1188. package/layers/mixins/EditBusLayer.js +1 -1
  1189. package/layers/mixins/FeatureLayerBase.js +1 -1
  1190. package/layers/mixins/ImageryTileMixin.js +1 -1
  1191. package/layers/orientedImagery/core/ExposurePoint.js +1 -1
  1192. package/layers/orientedImagery/core/bestImageUtils.js +1 -1
  1193. package/layers/orientedImagery/core/coverageUtils.js +1 -1
  1194. package/layers/orientedImagery/transformations/groundToImageUtils.js +1 -1
  1195. package/layers/orientedImagery/transformations/imageToGroundUtils.js +1 -1
  1196. package/layers/support/ElevationQuery.js +1 -1
  1197. package/layers/support/ElevationSampler.js +1 -1
  1198. package/layers/support/ExportImageParameters.js +1 -1
  1199. package/layers/support/ExportWMSImageParameters.js +1 -1
  1200. package/layers/support/FeatureReductionBinning.js +1 -1
  1201. package/layers/support/FeatureReductionCluster.js +1 -1
  1202. package/layers/support/FetchAssociatedFeatureLayer.js +1 -1
  1203. package/layers/support/RasterFunction.js +1 -1
  1204. package/layers/support/RasterFunctionInfo.js +5 -0
  1205. package/layers/support/RasterFunctionProperties.js +5 -0
  1206. package/layers/support/RasterFunctionTemplate.js +5 -0
  1207. package/layers/support/RasterFunctionVariable.js +5 -0
  1208. package/layers/support/Sublayer.js +1 -1
  1209. package/layers/support/SubtypeSublayer.js +1 -1
  1210. package/layers/support/TelemetryData.js +1 -1
  1211. package/layers/support/TelemetryDisplay.js +1 -1
  1212. package/layers/support/VideoTimeExtent.js +1 -1
  1213. package/layers/support/capabilities.js +1 -1
  1214. package/layers/support/editableLayers.js +1 -1
  1215. package/layers/support/featureLayerUtils.js +1 -1
  1216. package/layers/support/fieldUtils.js +1 -1
  1217. package/layers/support/imageryRendererUtils.js +1 -1
  1218. package/layers/support/layerUtils.js +1 -1
  1219. package/layers/support/rasterDatasets/BaseRaster.js +1 -1
  1220. package/layers/support/rasterEnums.js +1 -1
  1221. package/layers/support/rasterFunctions/BaseRasterFunction.js +1 -1
  1222. package/layers/support/rasterFunctions/colormaps.js +1 -1
  1223. package/layers/support/serviceCapabilitiesUtils.js +1 -1
  1224. package/layers/video/VideoCameraSensorModel.js +5 -0
  1225. package/layers/video/VideoController.js +5 -0
  1226. package/layers/video/videoUtils.js +5 -0
  1227. package/layers/voxel/VoxelVolume.js +1 -1
  1228. package/layers/voxel/voxelPlaneUtils.js +1 -1
  1229. package/networks/Network.js +1 -1
  1230. package/networks/support/TopologyValidationJobInfo.js +1 -1
  1231. package/networks/support/TraceJobInfo.d.ts +4 -0
  1232. package/package.json +3 -3
  1233. package/popup/support/FieldInfoFormat.js +1 -1
  1234. package/portal/PortalGroup.js +1 -1
  1235. package/portal/PortalItem.js +1 -1
  1236. package/portal/schemas/definitions.js +1 -1
  1237. package/portal/support/portalItemUtils.js +1 -1
  1238. package/renderers/SimpleRenderer.js +1 -1
  1239. package/renderers/support/ClassBreakInfo.js +1 -1
  1240. package/renderers/support/UniqueValueInfo.js +1 -1
  1241. package/renderers/support/colorRampUtils.js +1 -1
  1242. package/renderers/support/commonProperties.js +1 -1
  1243. package/renderers/support/types.js +1 -1
  1244. package/renderers/support/utils.js +1 -1
  1245. package/request.js +1 -1
  1246. package/rest/knowledgeGraph/GraphApplyEditsResult.js +1 -1
  1247. package/rest/places.js +1 -1
  1248. package/rest/query/operations/pbfJSONFeatureSet.js +1 -1
  1249. package/rest/support/PlacesQueryResult.js +1 -1
  1250. package/rest/support/meshFeatureSet.js +1 -1
  1251. package/smartMapping/labels/bins.d.ts +4 -0
  1252. package/smartMapping/labels/bins.js +5 -0
  1253. package/smartMapping/labels/clusters.js +1 -1
  1254. package/smartMapping/labels/support/utils.js +5 -0
  1255. package/smartMapping/renderers/color.js +1 -1
  1256. package/smartMapping/renderers/dotDensity.js +1 -1
  1257. package/smartMapping/renderers/heatmap.js +1 -1
  1258. package/smartMapping/renderers/location.js +1 -1
  1259. package/smartMapping/renderers/pieChart.js +1 -1
  1260. package/smartMapping/renderers/size.js +1 -1
  1261. package/smartMapping/renderers/type.js +1 -1
  1262. package/smartMapping/support/binningUtils.js +1 -1
  1263. package/smartMapping/symbology/color.js +1 -1
  1264. package/smartMapping/symbology/flow.js +1 -1
  1265. package/smartMapping/symbology/support/colors.js +1 -1
  1266. package/statistics/utils.js +1 -1
  1267. package/support/AnalysesCollection.js +1 -1
  1268. package/support/arcadeUtils.js +1 -1
  1269. package/support/basemapUtils.js +1 -1
  1270. package/support/featureFlags.js +1 -1
  1271. package/support/requestUtils.js +1 -1
  1272. package/support/revision.js +1 -1
  1273. package/symbols/cim/CIMSymbolDrawHelper.js +1 -1
  1274. package/symbols/cim/CIMSymbolHelper.js +1 -1
  1275. package/symbols/cim/CIMSymbolRasterizer.js +1 -1
  1276. package/symbols/cim/cimAnalyzer.js +1 -1
  1277. package/symbols/cim/effects/EffectBuffer.js +1 -1
  1278. package/symbols/cim/effects/EffectDonut.js +1 -1
  1279. package/symbols/cim/effects/EffectOffset.js +1 -1
  1280. package/symbols/support/previewCIMSymbol.js +1 -1
  1281. package/symbols/support/previewSymbol3D.js +1 -1
  1282. package/symbols/support/svgUtils.js +1 -1
  1283. package/symbols/support/utils.js +1 -1
  1284. package/symbols/support/webStyleSymbolUtils.js +1 -1
  1285. package/versionManagement/VersionManagementService.js +1 -1
  1286. package/versionManagement/support/versionManagementUtils.js +1 -1
  1287. package/views/2d/LabelManager.js +1 -1
  1288. package/views/2d/MapViewConstraints.js +1 -1
  1289. package/views/2d/PaddedViewState.js +1 -1
  1290. package/views/2d/ViewState.js +1 -1
  1291. package/views/2d/ViewStateManager.js +5 -0
  1292. package/views/2d/engine/flow/FlowDisplayObject.js +1 -1
  1293. package/views/2d/engine/imagery/RasterVFTile.js +1 -1
  1294. package/views/2d/engine/vectorTiles/RenderBucket.js +1 -1
  1295. package/views/2d/engine/vectorTiles/VectorTile.js +1 -1
  1296. package/views/2d/engine/webgl/BufferPool.js +1 -1
  1297. package/views/2d/engine/webgl/OverlayContainer.js +1 -1
  1298. package/views/2d/engine/webgl/TiledDisplayObject.js +1 -1
  1299. package/views/2d/engine/webgl/WGLTile.js +1 -1
  1300. package/views/2d/engine/webgl/WorldExtentClipRenderer.js +1 -1
  1301. package/views/2d/engine/webgl/animatedFormats/AnimatableTextureResource.js +1 -1
  1302. package/views/2d/engine/webgl/animatedFormats/utils.js +1 -1
  1303. package/views/2d/engine/webgl/brushes/WGLBrushHeatmap.js +1 -1
  1304. package/views/2d/engine/webgl/cpuMapped/Buffer.js +1 -1
  1305. package/views/2d/engine/webgl/cpuMapped/Geometry.js +1 -1
  1306. package/views/2d/engine/webgl/effects/highlight/HighlightSurfaces.js +1 -1
  1307. package/views/2d/engine/webgl/mesh/templates/shapingUtils.js +1 -1
  1308. package/views/2d/input/MapViewInputManager.js +1 -1
  1309. package/views/2d/interactive/SnappingVisualizer2D.js +1 -1
  1310. package/views/2d/interactive/editingTools/TransformTool.js +1 -1
  1311. package/views/2d/interactive/editingTools/draw/DrawGraphicTool2D.js +1 -1
  1312. package/views/2d/interactive/editingTools/manipulations/ScaleManipulation.js +1 -1
  1313. package/views/2d/layers/FeatureLayerView2D.js +1 -1
  1314. package/views/2d/layers/GraphicsLayerView2D.js +1 -1
  1315. package/views/2d/layers/ImageryLayerView2D.js +1 -1
  1316. package/views/2d/layers/KMLLayerView2D.js +1 -1
  1317. package/views/2d/layers/LayerView2D.js +1 -1
  1318. package/views/2d/layers/MapImageLayerView2D.js +1 -1
  1319. package/views/2d/layers/MapNotesLayerView2D.js +1 -1
  1320. package/views/2d/layers/MediaLayerView2D.js +1 -1
  1321. package/views/2d/layers/RouteLayerView2D.js +1 -1
  1322. package/views/2d/layers/StreamLayerView2D.js +1 -1
  1323. package/views/2d/layers/TileLayerView2D.js +1 -1
  1324. package/views/2d/layers/features/Pipeline.js +1 -1
  1325. package/views/2d/layers/features/Store2D.js +1 -1
  1326. package/views/2d/layers/features/controllers/FeatureController2D.js +1 -1
  1327. package/views/2d/layers/features/processors/BaseProcessor.js +1 -1
  1328. package/views/2d/layers/features/processors/HeatmapProcessor.js +1 -1
  1329. package/views/2d/layers/features/processors/SymbolProcessor.js +1 -1
  1330. package/views/2d/layers/features/schemaUtils.js +1 -1
  1331. package/views/2d/layers/features/sources/SnapshotFeatureSource.js +1 -1
  1332. package/views/2d/layers/features/sources/StreamConnectionState.js +1 -1
  1333. package/views/2d/layers/features/sources/StreamSource.js +1 -1
  1334. package/views/2d/layers/features/support/FeatureSetReader.js +1 -1
  1335. package/views/2d/layers/features/tileRenderers/BaseTileRenderer.js +1 -1
  1336. package/views/2d/layers/graphics/GraphicBoundsRenderer.js +1 -1
  1337. package/views/2d/layers/graphics/GraphicsView2D.js +1 -1
  1338. package/views/2d/layers/imagery/BaseImageryTileSubView2D.js +1 -1
  1339. package/views/2d/layers/imagery/VectorFieldView2D.js +1 -1
  1340. package/views/2d/layers/support/DebugOverlay.js +1 -1
  1341. package/views/2d/navigation/MapViewNavigation.js +1 -1
  1342. package/views/2d/navigation/ZoomBox.js +1 -1
  1343. package/views/2d/navigation/actions/Pinch.js +1 -1
  1344. package/views/2d/navigation/actions/Rotate.js +1 -1
  1345. package/views/2d/viewpointUtils.js +1 -1
  1346. package/views/3d/analysis/AnalysisViewManager3D.js +1 -1
  1347. package/views/3d/analysis/AreaMeasurement/support/AreaMeasurementPathHelper.js +1 -1
  1348. package/views/3d/analysis/AreaMeasurement/support/AreaMeasurementVisualization.js +1 -1
  1349. package/views/3d/analysis/Dimension/DimensionController.js +1 -1
  1350. package/views/3d/analysis/Dimension/DimensionVisualization.js +1 -1
  1351. package/views/3d/analysis/Dimension/LengthDimensionSubTool.js +1 -1
  1352. package/views/3d/analysis/Dimension/LengthDimensionVisualization.js +1 -1
  1353. package/views/3d/analysis/Dimension/lengthDimensionManipulatorUtils.js +1 -1
  1354. package/views/3d/analysis/Dimension/lengthDimensionUtils.js +1 -1
  1355. package/views/3d/analysis/DimensionAnalysisView3D.js +1 -1
  1356. package/views/3d/analysis/DirectLineMeasurement/DirectLineMeasurementController.js +1 -1
  1357. package/views/3d/analysis/DirectLineMeasurement/DirectLineMeasurementVisualization.js +1 -1
  1358. package/views/3d/analysis/LineOfSight/LineOfSightController.js +1 -1
  1359. package/views/3d/analysis/LineOfSight/LineOfSightIntersectionResult.js +1 -1
  1360. package/views/3d/analysis/LineOfSight/LineOfSightTool.js +1 -1
  1361. package/views/3d/analysis/LineOfSight/LineOfSightVisualization.js +1 -1
  1362. package/views/3d/analysis/LineOfSightAnalysisView3D.js +1 -1
  1363. package/views/3d/analysis/Slice/SliceTool.js +1 -1
  1364. package/views/3d/analysis/Slice/SliceVisualization.js +1 -1
  1365. package/views/3d/analysis/Slice/sliceToolUtils.js +1 -1
  1366. package/views/3d/analysis/support/viewUtils.js +1 -1
  1367. package/views/3d/camera/constraintUtils/distance.js +1 -1
  1368. package/views/3d/environment/ChapmanAtmosphere.js +1 -1
  1369. package/views/3d/environment/ChapmanAtmosphereTechnique.js +1 -1
  1370. package/views/3d/environment/CloudsComposition.js +1 -1
  1371. package/views/3d/environment/CloudsGenerator.js +1 -1
  1372. package/views/3d/environment/EnvironmentRenderer.js +1 -1
  1373. package/views/3d/environment/NoiseTextureAtlas.js +1 -1
  1374. package/views/3d/environment/SceneViewEnvironmentManager.js +1 -1
  1375. package/views/3d/environment/weatherUtils.js +1 -1
  1376. package/views/3d/externalRenderers/ExternalRendererStore.js +1 -1
  1377. package/views/3d/externalRenderers/RenderContext.js +1 -1
  1378. package/views/3d/glTF/internal/resourceUtils.js +1 -1
  1379. package/views/3d/input/SceneInputManager.js +1 -1
  1380. package/views/3d/interactive/Manipulator3D.js +1 -1
  1381. package/views/3d/interactive/SnappingVisualizer3D.js +1 -1
  1382. package/views/3d/interactive/editingTools/draw/DrawGraphicTool3D.js +1 -1
  1383. package/views/3d/interactive/editingTools/lineGraphicVisualElementUtils.js +1 -1
  1384. package/views/3d/interactive/editingTools/manipulations/MoveXYAxisManipulation.js +1 -1
  1385. package/views/3d/interactive/editingTools/manipulations/MoveXYDiscManipulation.js +1 -1
  1386. package/views/3d/interactive/editingTools/manipulatorUtils.js +1 -1
  1387. package/views/3d/interactive/editingTools/moveGraphic/GraphicMoveTool.js +1 -1
  1388. package/views/3d/interactive/editingTools/originGraphicVisualElementUtils.js +1 -1
  1389. package/views/3d/interactive/editingTools/reshapeGraphic/GraphicReshapeTool.js +1 -1
  1390. package/views/3d/interactive/editingTools/reshapeGraphic/ReshapeOperation.js +1 -1
  1391. package/views/3d/interactive/editingTools/reshapeGraphic/edgeOffsetUtils.js +1 -1
  1392. package/views/3d/interactive/editingTools/transformGraphic/ExtentTransformTool.js +1 -1
  1393. package/views/3d/interactive/editingTools/transformGraphic/GraphicScaleRotateTransform.js +1 -1
  1394. package/views/3d/interactive/editingTools/transformGraphic/GraphicTransformTool.js +1 -1
  1395. package/views/3d/interactive/editingTools/transformGraphic/ScaleRotateMeshAdapter.js +1 -1
  1396. package/views/3d/interactive/editingTools/transformGraphic/ScaleRotateObjectSymbol3DAdapter.js +1 -1
  1397. package/views/3d/interactive/manipulatorUtils.js +1 -1
  1398. package/views/3d/interactive/measurementTools/areaMeasurement3D/AreaMeasurement3DTool.js +1 -1
  1399. package/views/3d/interactive/measurementTools/areaMeasurement3D/AreaMeasurement3DView.js +1 -1
  1400. package/views/3d/interactive/measurementTools/directLineMeasurement3D/DirectLineMeasurement3DTool.js +1 -1
  1401. package/views/3d/interactive/measurementTools/directLineMeasurement3D/DirectLineMeasurement3DView.js +1 -1
  1402. package/views/3d/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTiles3D.js +1 -1
  1403. package/views/3d/interactive/visualElements/EngineVisualElement.js +1 -1
  1404. package/views/3d/interactive/visualElements/ExtendedLineVisualElement.js +1 -1
  1405. package/views/3d/interactive/visualElements/LabelVisualElement.js +1 -1
  1406. package/views/3d/interactive/visualElements/LaserlineVisualElement.js +1 -1
  1407. package/views/3d/interactive/visualElements/LineVisualElement.js +1 -1
  1408. package/views/3d/interactive/visualElements/MarkerVisualElement.js +1 -1
  1409. package/views/3d/interactive/visualElements/MeasurementAreaVisualElement.js +1 -1
  1410. package/views/3d/interactive/visualElements/MeasurementArrowVisualElement.js +1 -1
  1411. package/views/3d/interactive/visualElements/Object3DVisualElement.js +1 -1
  1412. package/views/3d/interactive/visualElements/OutlineVisualElement.js +1 -1
  1413. package/views/3d/interactive/visualElements/ParallelLineVisualElement.js +1 -1
  1414. package/views/3d/interactive/visualElements/PointVisualElement.js +1 -1
  1415. package/views/3d/interactive/visualElements/RightAngleQuadVisualElement.js +1 -1
  1416. package/views/3d/interactive/visualElements/SlicePlaneVisualElement.js +1 -1
  1417. package/views/3d/interactive/visualElements/VerticesVisualElement.js +1 -1
  1418. package/views/3d/interactive/visualElements/VisualElement.js +1 -1
  1419. package/views/3d/layers/BuildingComponentSublayerView3D.js +1 -1
  1420. package/views/3d/layers/BuildingSceneLayerView3D.js +1 -1
  1421. package/views/3d/layers/BuildingSublayerView3D.js +1 -1
  1422. package/views/3d/layers/DimensionLayerView3D.js +1 -1
  1423. package/views/3d/layers/DynamicLayerView3D.js +1 -1
  1424. package/views/3d/layers/FeatureLayerViewBase3D.js +1 -1
  1425. package/views/3d/layers/FeatureLikeLayerView3D.js +1 -1
  1426. package/views/3d/layers/GraphicsLayerView3D.js +1 -1
  1427. package/views/3d/layers/I3SMeshView3D.js +1 -1
  1428. package/views/3d/layers/I3SMeshViewLabeler.js +1 -1
  1429. package/views/3d/layers/I3SMeshWorkerHandle.js +1 -1
  1430. package/views/3d/layers/II3SMeshView3D.js +1 -1
  1431. package/views/3d/layers/ImageryLayerView3D.js +1 -1
  1432. package/views/3d/layers/ImageryTileLayerView3D.js +1 -1
  1433. package/views/3d/layers/IntegratedMeshLayerView3D.js +1 -1
  1434. package/views/3d/layers/LayerView3D.js +1 -1
  1435. package/views/3d/layers/LineOfSightLayerView3D.js +1 -1
  1436. package/views/3d/layers/MapImageLayerView3D.js +1 -1
  1437. package/views/3d/layers/MediaLayerView3D.js +1 -1
  1438. package/views/3d/layers/PointCloudLayerView3D.js +1 -1
  1439. package/views/3d/layers/PointCloudWorker.js +1 -1
  1440. package/views/3d/layers/RouteLayerView3D.js +1 -1
  1441. package/views/3d/layers/SceneLayerGraphicsView3D.js +1 -1
  1442. package/views/3d/layers/SceneLayerView3D.js +1 -1
  1443. package/views/3d/layers/SceneLayerWorker.js +1 -1
  1444. package/views/3d/layers/StreamLayerView3D.js +1 -1
  1445. package/views/3d/layers/TileLayerView3D.js +1 -1
  1446. package/views/3d/layers/VectorTileLayerView3D.js +1 -1
  1447. package/views/3d/layers/VoxelLayerView3D.js +1 -1
  1448. package/views/3d/layers/WMSLayerView3D.js +1 -1
  1449. package/views/3d/layers/WMTSLayerView3D.js +1 -1
  1450. package/views/3d/layers/graphics/Deconflictor.js +1 -1
  1451. package/views/3d/layers/graphics/ElevationQuery.js +1 -1
  1452. package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
  1453. package/views/3d/layers/graphics/Graphics3DElevationAlignment.js +1 -1
  1454. package/views/3d/layers/graphics/Graphics3DExtrudeSymbolLayer.js +1 -1
  1455. package/views/3d/layers/graphics/Graphics3DFeatureProcessor.js +1 -1
  1456. package/views/3d/layers/graphics/Graphics3DFrustumVisibility.js +1 -1
  1457. package/views/3d/layers/graphics/Graphics3DGraphic.js +1 -1
  1458. package/views/3d/layers/graphics/Graphics3DIconSymbolLayer.js +1 -1
  1459. package/views/3d/layers/graphics/Graphics3DMeshFillSymbolLayer.js +1 -1
  1460. package/views/3d/layers/graphics/Graphics3DObjectSymbolLayer.js +1 -1
  1461. package/views/3d/layers/graphics/Graphics3DPathSymbolLayer.js +1 -1
  1462. package/views/3d/layers/graphics/Graphics3DPolygonFillSymbolLayer.js +1 -1
  1463. package/views/3d/layers/graphics/Graphics3DScaleVisibility.js +1 -1
  1464. package/views/3d/layers/graphics/GraphicsDeconflictor.js +1 -1
  1465. package/views/3d/layers/graphics/GraphicsProcessor.js +1 -1
  1466. package/views/3d/layers/graphics/Labeler.js +1 -1
  1467. package/views/3d/layers/graphics/objectResourceUtils.js +1 -1
  1468. package/views/3d/layers/graphics/polygonUtils.js +1 -1
  1469. package/views/3d/layers/graphics/webStyleUtils.js +1 -1
  1470. package/views/3d/layers/i3s/Highlights.js +1 -1
  1471. package/views/3d/layers/i3s/I3SClientMaterialUtil.js +5 -0
  1472. package/views/3d/layers/i3s/I3SClientNodeLoader.js +1 -1
  1473. package/views/3d/layers/i3s/I3SFrameTask.js +1 -1
  1474. package/views/3d/layers/i3s/I3SGeometryUtil.js +1 -1
  1475. package/views/3d/layers/i3s/I3SIndex.js +1 -1
  1476. package/views/3d/layers/i3s/I3SMaterialUtil.js +1 -1
  1477. package/views/3d/layers/i3s/I3SMeshViewFilter.js +1 -1
  1478. package/views/3d/layers/i3s/I3SOverrides.js +1 -1
  1479. package/views/3d/layers/i3s/I3SQueryEngine.js +1 -1
  1480. package/views/3d/layers/i3s/I3SUtil.js +1 -1
  1481. package/views/3d/layers/i3s/featureEditing.js +1 -1
  1482. package/views/3d/layers/support/FeatureTileFetcher3D.js +1 -1
  1483. package/views/3d/layers/support/FeatureTileTree3D.js +1 -1
  1484. package/views/3d/layers/support/FeatureVisibilityFilter.js +1 -1
  1485. package/views/3d/layers/support/HeatmapFeatureProcessor.js +1 -1
  1486. package/views/3d/layers/support/SceneLayerViewRequiredFields.js +1 -1
  1487. package/views/3d/layers/support/uvUtils.js +1 -1
  1488. package/views/3d/state/Frustum.js +1 -1
  1489. package/views/3d/state/GoToOperation.js +1 -1
  1490. package/views/3d/state/ViewState.js +1 -1
  1491. package/views/3d/state/ViewStateManager.js +1 -1
  1492. package/views/3d/state/controllers/GamepadKeyboardController.js +1 -1
  1493. package/views/3d/state/controllers/RotateController.js +1 -1
  1494. package/views/3d/state/controllers/global/PinchAndPanController.js +1 -1
  1495. package/views/3d/state/controllers/global/ZoomController.js +1 -1
  1496. package/views/3d/state/controllers/local/ZoomController.js +1 -1
  1497. package/views/3d/state/controllers/momentum/ZoomPlanarMomentumController.js +1 -1
  1498. package/views/3d/support/CombinedElevationProvider.js +1 -1
  1499. package/views/3d/support/DisplayQualityProfile.js +1 -1
  1500. package/views/3d/support/FrustumExtentIntersection.js +1 -1
  1501. package/views/3d/support/LaserLineRenderer.js +1 -1
  1502. package/views/3d/support/MemoryController.js +1 -1
  1503. package/views/3d/support/RenderCoordsHelper.js +1 -1
  1504. package/views/3d/support/SceneViewPerformanceInfo.js +1 -1
  1505. package/views/3d/support/SharedSymbolResources.js +1 -1
  1506. package/views/3d/support/StreamTextureCollection.js +1 -1
  1507. package/views/3d/support/geometryUtils/ray.js +1 -1
  1508. package/views/3d/support/orientedBoundingBox.js +1 -1
  1509. package/views/3d/support/pointsOfInterest/Focus.js +1 -1
  1510. package/views/3d/support/pointsOfInterest/StableSurfaceCenter.js +1 -1
  1511. package/views/3d/support/renderInfoUtils/line.js +1 -1
  1512. package/views/3d/support/renderInfoUtils/polygon.js +1 -1
  1513. package/views/3d/support/sunUtils.js +1 -1
  1514. package/views/3d/terrain/Overlay.js +1 -1
  1515. package/views/3d/terrain/OverlayFramebufferObject.js +1 -1
  1516. package/views/3d/terrain/OverlayManager.js +1 -1
  1517. package/views/3d/terrain/OverlayRenderTarget.js +1 -1
  1518. package/views/3d/terrain/OverlayRenderer.js +1 -1
  1519. package/views/3d/terrain/PatchRenderData.js +1 -1
  1520. package/views/3d/terrain/SphericalPatch.js +1 -1
  1521. package/views/3d/terrain/TerrainRenderer.js +1 -1
  1522. package/views/3d/terrain/TerrainSurface.js +1 -1
  1523. package/views/3d/terrain/Tile.js +1 -1
  1524. package/views/3d/terrain/TileRenderer.js +1 -1
  1525. package/views/3d/terrain/TilingSchemeLogic.js +1 -1
  1526. package/views/3d/webgl-engine/collections/Component/ComponentObjectCollection.js +1 -1
  1527. package/views/3d/webgl-engine/collections/Component/DepthRange.js +1 -1
  1528. package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
  1529. package/views/3d/webgl-engine/collections/Component/Material/ComponentTechniqueConfiguration.js +1 -1
  1530. package/views/3d/webgl-engine/core/FBOCache.js +5 -0
  1531. package/views/3d/webgl-engine/core/renderPasses/AllRenderPasses.js +1 -1
  1532. package/views/3d/webgl-engine/core/shaderLibrary/Laserline.glsl.js +1 -1
  1533. package/views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js +3 -9
  1534. package/views/3d/webgl-engine/core/shaderLibrary/attributes/InstancedDoublePrecision.glsl.js +13 -15
  1535. package/views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js +30 -35
  1536. package/views/3d/webgl-engine/core/shaderLibrary/hud/HUD.glsl.js +1 -1
  1537. package/views/3d/webgl-engine/core/shaderLibrary/hud/HUDOcclusionPass.glsl.js +6 -6
  1538. package/views/3d/webgl-engine/core/shaderLibrary/hud/{HUDUniforms.js → HUDRenderStyle.js} +1 -1
  1539. package/views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js +5 -6
  1540. package/views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js +3 -3
  1541. package/views/3d/webgl-engine/core/shaderLibrary/output/ReadLinearDepth.glsl.js +5 -1
  1542. package/views/3d/webgl-engine/core/shaderLibrary/shading/MultipassGeometryTest.glsl.js +2 -2
  1543. package/views/3d/webgl-engine/core/shaderLibrary/shading/MultipassTerrainTest.glsl.js +3 -3
  1544. package/views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js +10 -10
  1545. package/views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js +18 -16
  1546. package/views/3d/webgl-engine/core/shaderLibrary/shading/ScreenSpaceReflections.glsl.js +2 -2
  1547. package/views/3d/webgl-engine/core/shaderLibrary/shading/Water.glsl.js +1 -1
  1548. package/views/3d/webgl-engine/core/shaderLibrary/shading/WaterDistortion.glsl.js +2 -2
  1549. package/views/3d/webgl-engine/core/shaderLibrary/terrain/Overlay.glsl.js +8 -8
  1550. package/views/3d/webgl-engine/core/shaderLibrary/terrain/TerrainTexture.glsl.js +9 -9
  1551. package/views/3d/webgl-engine/core/shaderLibrary/util/CloudsParallaxShading.glsl.js +1 -1
  1552. package/views/3d/webgl-engine/core/shaderLibrary/util/RgbaFloat16Encoding.glsl.js +25 -0
  1553. package/views/3d/webgl-engine/core/shaderModules/Matrix4sDrawUniform.js +1 -1
  1554. package/views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js +1 -1
  1555. package/views/3d/webgl-engine/core/shaderModules/Uniform.js +1 -1
  1556. package/views/3d/webgl-engine/core/util/TwoVectorPosition.js +1 -1
  1557. package/views/3d/webgl-engine/lib/BindParameters.js +1 -1
  1558. package/views/3d/webgl-engine/lib/Camera.js +1 -1
  1559. package/views/3d/webgl-engine/lib/CompositingHelper.js +1 -1
  1560. package/views/3d/webgl-engine/lib/DefaultVertexAttributeLocations.js +1 -1
  1561. package/views/3d/webgl-engine/lib/GeometryUtil.js +1 -1
  1562. package/views/3d/webgl-engine/lib/Highlight.js +1 -1
  1563. package/views/3d/webgl-engine/lib/MagnifierHelper.js +1 -1
  1564. package/views/3d/webgl-engine/lib/Material.js +1 -1
  1565. package/views/3d/webgl-engine/lib/OffscreenRendering.js +1 -1
  1566. package/views/3d/webgl-engine/lib/PathCapBuilder.js +1 -1
  1567. package/views/3d/webgl-engine/lib/PathExtruder.js +1 -1
  1568. package/views/3d/webgl-engine/lib/PathGeometryData.js +1 -1
  1569. package/views/3d/webgl-engine/lib/Program.js +1 -1
  1570. package/views/3d/webgl-engine/lib/RenderFeature.js +1 -1
  1571. package/views/3d/webgl-engine/lib/RenderPluginManager.js +1 -1
  1572. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  1573. package/views/3d/webgl-engine/lib/RenderingContext.js +1 -1
  1574. package/views/3d/webgl-engine/lib/SSAOHelper.js +1 -1
  1575. package/views/3d/webgl-engine/lib/ShadowAccumulator.js +1 -1
  1576. package/views/3d/webgl-engine/lib/ShadowCastRenderer.js +1 -1
  1577. package/views/3d/webgl-engine/lib/ShadowHighlight.js +1 -1
  1578. package/views/3d/webgl-engine/lib/ShadowMap.js +1 -1
  1579. package/views/3d/webgl-engine/lib/SmaaRenderPass.js +1 -1
  1580. package/views/3d/webgl-engine/lib/TextTextureAtlas.js +1 -1
  1581. package/views/3d/webgl-engine/lib/VertexAttribute.js +1 -1
  1582. package/views/3d/webgl-engine/lib/basicInterfaces.js +1 -1
  1583. package/views/3d/webgl-engine/lib/edgeRendering/EdgeRenderer.js +1 -1
  1584. package/views/3d/webgl-engine/lib/edgeRendering/EdgeShaderTechniqueConfiguration.js +1 -1
  1585. package/views/3d/webgl-engine/lib/edgeRendering/EdgeView.js +1 -1
  1586. package/views/3d/webgl-engine/lib/edgeRendering/edgePreprocessing.js +1 -1
  1587. package/views/3d/webgl-engine/lib/lodRendering/InstanceData.js +1 -1
  1588. package/views/3d/webgl-engine/lib/lodRendering/LodRenderer.js +1 -1
  1589. package/views/3d/webgl-engine/lib/lodRendering/RenderInstanceData.js +1 -1
  1590. package/views/3d/webgl-engine/lib/verticalOffsetUtils.js +1 -1
  1591. package/views/3d/webgl-engine/materials/CheckerBoardMaterial.js +1 -1
  1592. package/views/3d/webgl-engine/materials/ColorMaterial.js +1 -1
  1593. package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
  1594. package/views/3d/webgl-engine/materials/DefaultTechniqueConfiguration.js +1 -1
  1595. package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
  1596. package/views/3d/webgl-engine/materials/ImageMaterial.js +1 -1
  1597. package/views/3d/webgl-engine/materials/LineCalloutMaterial.js +1 -1
  1598. package/views/3d/webgl-engine/materials/LineMarkerMaterial.js +1 -1
  1599. package/views/3d/webgl-engine/materials/NativeLineMaterial.js +1 -1
  1600. package/views/3d/webgl-engine/materials/PathMaterial.js +1 -1
  1601. package/views/3d/webgl-engine/materials/PathTechnique.js +1 -1
  1602. package/views/3d/webgl-engine/materials/PatternMaterial.js +1 -1
  1603. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  1604. package/views/3d/webgl-engine/materials/ShadedColorMaterial.js +1 -1
  1605. package/views/3d/webgl-engine/materials/SlicePlaneMaterial.js +1 -1
  1606. package/views/3d/webgl-engine/materials/VisualVariablePassParameters.js +1 -1
  1607. package/views/3d/webgl-engine/materials/WaterGLMaterial.js +1 -1
  1608. package/views/3d/webgl-engine/materials/WaterMaterial.js +1 -1
  1609. package/views/3d/webgl-engine/materials/WaterTechnique.js +1 -1
  1610. package/views/3d/webgl-engine/materials/internal/bufferWriterUtils.js +1 -1
  1611. package/views/3d/webgl-engine/materials/pbrUtils.js +5 -0
  1612. package/views/3d/webgl-engine/materials/renderers/MergedRenderer.js +1 -1
  1613. package/views/3d/webgl-engine/materials/renderers/VaoCache.js +1 -1
  1614. package/views/3d/webgl-engine/parts/RenderView.js +1 -1
  1615. package/views/3d/webgl-engine/parts/ScreenshotManager.js +1 -1
  1616. package/views/3d/webgl-engine/shaders/AtmosphereCompositing.glsl.js +1 -1
  1617. package/views/3d/webgl-engine/shaders/AtmosphereCompositingTechnique.js +1 -1
  1618. package/views/3d/webgl-engine/shaders/CheckerBoardTechniqueConfiguration.js +1 -1
  1619. package/views/3d/webgl-engine/shaders/ColorMaterialTechniqueConfiguration.js +1 -1
  1620. package/views/3d/webgl-engine/shaders/DefaultMaterial.glsl.js +1 -1
  1621. package/views/3d/webgl-engine/shaders/DefaultMaterialTechnique.js +1 -1
  1622. package/views/3d/webgl-engine/shaders/DefaultMaterialTechniqueConfiguration.js +1 -1
  1623. package/views/3d/webgl-engine/shaders/HUDMaterialTechniqueConfiguration.js +1 -1
  1624. package/views/3d/webgl-engine/shaders/ImageMaterialTechnique.js +1 -1
  1625. package/views/3d/webgl-engine/shaders/LineCalloutTechnique.js +1 -1
  1626. package/views/3d/webgl-engine/shaders/LineCalloutTechniqueConfiguration.js +1 -1
  1627. package/views/3d/webgl-engine/shaders/LineMarkerTechniqueConfiguration.js +1 -1
  1628. package/views/3d/webgl-engine/shaders/Pattern.glsl.js +1 -1
  1629. package/views/3d/webgl-engine/shaders/PatternTechnique.js +1 -1
  1630. package/views/3d/webgl-engine/shaders/RibbonLineTechniqueConfiguration.js +1 -1
  1631. package/views/3d/webgl-engine/shaders/SMAAPassParameters.js +1 -1
  1632. package/views/3d/webgl-engine/shaders/ShadedColorMaterialTechnique.js +1 -1
  1633. package/views/3d/webgl-engine/shaders/ShadowCastAccumulate.glsl.js +1 -1
  1634. package/views/3d/webgl-engine/shaders/ShadowCastAccumulateTechnique.js +1 -1
  1635. package/views/3d/webgl-engine/shaders/ShadowHighlight.glsl.js +1 -1
  1636. package/views/3d/webgl-engine/shaders/ShadowHighlightTechnique.js +1 -1
  1637. package/views/3d/webgl-engine/statistics/RendererPerformanceInfo.js +1 -1
  1638. package/views/DOMContainer.js +1 -1
  1639. package/views/LayerViewManager.js +1 -1
  1640. package/views/MapView.js +1 -1
  1641. package/views/PopupView.js +1 -1
  1642. package/views/SceneView.js +1 -1
  1643. package/views/ToolViewManager.js +1 -1
  1644. package/views/draw/DrawGraphicTool.js +1 -1
  1645. package/views/draw/DrawOperation.js +1 -1
  1646. package/views/draw/DrawTool.js +1 -1
  1647. package/views/draw/support/GraphicMover.js +1 -1
  1648. package/views/draw/support/HighlightHelper.js +1 -1
  1649. package/views/draw/support/Reshape.js +1 -1
  1650. package/views/draw/support/createUtils.js +1 -1
  1651. package/views/draw/support/surfaceCoordinateSystems.js +1 -1
  1652. package/views/input/ViewEvents.js +1 -1
  1653. package/views/interactive/SegmentLabels.js +1 -1
  1654. package/views/interactive/coordinateHelper.js +1 -1
  1655. package/views/interactive/editGeometry/EditGeometry.js +1 -1
  1656. package/views/interactive/editGeometry/EditGeometryOperations.js +1 -1
  1657. package/views/interactive/editGeometry/operations/OffsetEdgeVertex.js +1 -1
  1658. package/views/interactive/editGeometry/operations/ScaleVertex.js +1 -1
  1659. package/views/interactive/editGeometry/support/editPlaneUtils.js +1 -1
  1660. package/views/interactive/snapping/FeatureSnappingEngine.js +1 -1
  1661. package/views/interactive/snapping/RightAngleSnapper.js +1 -1
  1662. package/views/interactive/snapping/SnappingConstraint.js +1 -1
  1663. package/views/interactive/snapping/SnappingDragPipelineStep.js +1 -1
  1664. package/views/interactive/snapping/SnappingManager.js +1 -1
  1665. package/views/interactive/snapping/featureSources/FeatureServiceSnappingSource.js +1 -1
  1666. package/views/interactive/snapping/featureSources/GraphicsSnappingSource.js +1 -1
  1667. package/views/interactive/snapping/featureSources/I3SSnappingSource.js +1 -1
  1668. package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceSnappingSourceWorker.js +1 -1
  1669. package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceSnappingSourceWorkerHandle.js +1 -1
  1670. package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTiledFetcher.js +1 -1
  1671. package/views/interactive/snapping/featureSources/sceneLayerSource/SceneLayerSnappingSourceWorkerHandle.js +1 -1
  1672. package/views/interactive/snapping/featureSources/sceneLayerSource/sceneLayerSnappingUtils.js +1 -1
  1673. package/views/interactive/support/viewUtils.js +1 -1
  1674. package/views/layers/FeatureLayerView.js +1 -1
  1675. package/views/layers/GroupLayerView.js +1 -1
  1676. package/views/layers/LayerView.js +1 -1
  1677. package/views/layers/RefreshableLayerView.js +1 -1
  1678. package/views/layers/StreamLayerView.js +1 -1
  1679. package/views/layers/support/MapServiceLayerViewHelper.js +1 -1
  1680. package/views/overlay/LineOverlayItem.js +1 -1
  1681. package/views/overlay/TextOverlayItem.js +1 -1
  1682. package/views/overlay/ViewOverlay.js +1 -1
  1683. package/views/support/QueueProcessor.js +1 -1
  1684. package/views/support/euclideanAreaMeasurementUtils.js +1 -1
  1685. package/views/support/geometry2dUtils.js +1 -1
  1686. package/views/support/geometry3dUtils.js +1 -1
  1687. package/views/support/screenshotUtils.js +1 -1
  1688. package/views/ui/DefaultUI.js +1 -1
  1689. package/views/ui/UI.js +1 -1
  1690. package/views/webgl/AppleAmdDriverHelper.js +5 -0
  1691. package/views/webgl/BufferObject.js +1 -1
  1692. package/views/webgl/FramebufferObject.js +1 -1
  1693. package/views/webgl/Measurement.js +1 -1
  1694. package/views/webgl/Renderbuffer.js +1 -1
  1695. package/views/webgl/RenderingContext.js +1 -1
  1696. package/views/webgl/Texture.js +1 -1
  1697. package/views/webgl/TextureDescriptor.js +1 -1
  1698. package/views/webgl/VertexArrayObject.js +1 -1
  1699. package/views/webgl/heatmapTextureUtils.js +1 -1
  1700. package/views/webgl/testAppleAmdDrawArrays.js +1 -1
  1701. package/views/webgl/testSVGPremultipliedAlpha.js +1 -1
  1702. package/{layers/orientedImagery/core/imageryUtils.js → webdoc/interfaces.js} +1 -1
  1703. package/webdoc/support/writeUtils.js +1 -1
  1704. package/webmap/initialViewPropertiesUtils.js +1 -1
  1705. package/webscene/Slide.js +1 -1
  1706. package/widgets/Attachments.js +1 -1
  1707. package/widgets/Attribution/AttributionViewModel.js +1 -1
  1708. package/widgets/BasemapGallery/BasemapGalleryViewModel.js +1 -1
  1709. package/widgets/BasemapGallery/support/BasemapGalleryItem.js +1 -1
  1710. package/widgets/BasemapGallery/support/PortalBasemapsSource.js +1 -1
  1711. package/widgets/BasemapGallery.js +1 -1
  1712. package/widgets/BasemapLayerList/BasemapLayerListViewModel.js +1 -1
  1713. package/widgets/BasemapLayerList.js +1 -1
  1714. package/widgets/Bookmarks/css.js +1 -1
  1715. package/widgets/Bookmarks.js +1 -1
  1716. package/widgets/BuildingExplorer/BuildingDisciplinesViewModel.js +1 -1
  1717. package/widgets/BuildingExplorer/BuildingExplorerViewModel.js +1 -1
  1718. package/widgets/BuildingExplorer/BuildingNumericFilterViewModel.js +1 -1
  1719. package/widgets/Compass/CompassViewModel.js +1 -1
  1720. package/widgets/Daylight/DaylightViewModel.js +1 -1
  1721. package/widgets/Directions/DirectionsViewModel.js +1 -1
  1722. package/widgets/Directions.js +1 -1
  1723. package/widgets/Editor/CreateFeaturesWorkflow.js +1 -1
  1724. package/widgets/Editor/CreateFeaturesWorkflowData.js +1 -1
  1725. package/widgets/Editor/CreateWorkflow.js +1 -1
  1726. package/widgets/Editor/EditorViewModel.js +1 -1
  1727. package/widgets/Editor/Edits.js +1 -1
  1728. package/widgets/Editor/UpdateFeatureWorkflow.js +1 -1
  1729. package/widgets/Editor/UpdateRecordWorkflow.js +1 -1
  1730. package/widgets/Editor/UpdateWorkflow.js +1 -1
  1731. package/widgets/Editor/UpdateWorkflowData.js +1 -1
  1732. package/widgets/Editor/Upload.js +1 -1
  1733. package/widgets/Editor/Workflow.js +1 -1
  1734. package/widgets/Editor/modelUploadUtils.js +1 -1
  1735. package/widgets/Editor/workflowUtils.js +1 -1
  1736. package/widgets/Editor.js +1 -1
  1737. package/widgets/ElevationProfile/ElevationProfileController.js +1 -1
  1738. package/widgets/ElevationProfile/ElevationProfileInteraction.js +1 -1
  1739. package/widgets/ElevationProfile/ElevationProfileViewModel.js +1 -1
  1740. package/widgets/ElevationProfile/support/ElevationProfileView.js +1 -1
  1741. package/widgets/ElevationProfile/support/InputRepresentation3D.js +1 -1
  1742. package/widgets/ElevationProfile/support/ProfileLines3D.js +1 -1
  1743. package/widgets/Feature/FeatureAttachments.js +1 -1
  1744. package/widgets/Feature/FeatureContent/FeatureContentViewModel.js +1 -1
  1745. package/widgets/Feature/FeatureExpression/FeatureExpressionViewModel.js +1 -1
  1746. package/widgets/Feature/FeatureMedia/pieChart.js +1 -1
  1747. package/widgets/Feature/FeatureMedia/xyChart.js +1 -1
  1748. package/widgets/Feature/FeatureMedia.js +1 -1
  1749. package/widgets/Feature/FeatureRelationship/FeatureRelationshipViewModel.js +1 -1
  1750. package/widgets/Feature/FeatureRelationship.js +1 -1
  1751. package/widgets/Feature/FeatureViewModel.js +1 -1
  1752. package/widgets/Feature/support/featureUtils.js +1 -1
  1753. package/widgets/Feature/support/relatedFeatureUtils.js +1 -1
  1754. package/widgets/FeatureForm/EditableInput.d.ts +4 -0
  1755. package/widgets/FeatureForm/EditableInput.js +1 -1
  1756. package/widgets/FeatureForm/FeatureFormViewModel.js +1 -1
  1757. package/widgets/FeatureForm/FieldInput.d.ts +4 -0
  1758. package/widgets/FeatureForm/FieldInput.js +1 -1
  1759. package/widgets/FeatureForm/FormExpressionsManager.js +1 -1
  1760. package/widgets/FeatureForm/GroupInput.d.ts +4 -0
  1761. package/widgets/FeatureForm/GroupInput.js +1 -1
  1762. package/widgets/FeatureForm/InputBase.d.ts +4 -0
  1763. package/widgets/FeatureForm/InputBase.js +1 -1
  1764. package/widgets/FeatureForm/InputField.d.ts +4 -0
  1765. package/widgets/FeatureForm/InputFieldGroup.d.ts +4 -0
  1766. package/widgets/FeatureForm/RelationshipInput.d.ts +4 -0
  1767. package/widgets/FeatureForm/RelationshipInput.js +1 -1
  1768. package/widgets/FeatureForm/css.js +1 -1
  1769. package/widgets/FeatureForm/featureFormUtils.js +1 -1
  1770. package/widgets/FeatureForm.js +1 -1
  1771. package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
  1772. package/widgets/FeatureTable/FieldColumn.js +1 -1
  1773. package/widgets/FeatureTable/Grid/Column.js +1 -1
  1774. package/widgets/FeatureTable/Grid/Grid.js +11 -11
  1775. package/widgets/FeatureTable/Grid/support/ButtonMenu.js +1 -1
  1776. package/widgets/FeatureTable.js +1 -1
  1777. package/widgets/FeatureTemplates/FeatureTemplatesViewModel.js +1 -1
  1778. package/widgets/FeatureTemplates/ItemList.js +1 -1
  1779. package/widgets/FeatureTemplates.js +1 -1
  1780. package/widgets/Features/FeaturesViewModel.d.ts +4 -0
  1781. package/widgets/Features.d.ts +4 -0
  1782. package/widgets/Features.js +1 -1
  1783. package/widgets/FloorFilter/FloorFilterViewModel.js +1 -1
  1784. package/widgets/Home.js +1 -1
  1785. package/widgets/LayerList/ListItem.js +1 -1
  1786. package/widgets/Legend/LegendViewModel.js +1 -1
  1787. package/widgets/Legend/styles/Card.js +1 -1
  1788. package/widgets/Legend/styles/Classic.js +1 -1
  1789. package/widgets/Legend/support/ActiveLayerInfo.js +1 -1
  1790. package/widgets/Legend/support/styleUtils.js +1 -1
  1791. package/widgets/LineOfSight/LineOfSightViewModel.js +1 -1
  1792. package/widgets/Locate/LocateViewModel.js +1 -1
  1793. package/widgets/Locate.js +1 -1
  1794. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  1795. package/widgets/OrientedImageryViewer.js +1 -1
  1796. package/widgets/Popup.js +1 -1
  1797. package/widgets/Print/FileLink.js +1 -1
  1798. package/widgets/ScaleRangeSlider.js +1 -1
  1799. package/widgets/ShadowCast/ShadowCastViewModel.js +1 -1
  1800. package/widgets/ShadowCast/ShadowTooltipViewModel.js +1 -1
  1801. package/widgets/ShadowCast.js +1 -1
  1802. package/widgets/Sketch/SketchViewModel.js +1 -1
  1803. package/widgets/TableList/ListItem.js +1 -1
  1804. package/widgets/TimeSlider/TimeSliderViewModel.js +1 -1
  1805. package/widgets/Track/TrackViewModel.js +1 -1
  1806. package/widgets/Track.js +1 -1
  1807. package/widgets/UtilityNetworkAssociations/UtilityNetworkAssociationsViewModel.js +1 -1
  1808. package/widgets/UtilityNetworkAssociations.js +1 -1
  1809. package/widgets/UtilityNetworkTrace/UtilityNetworkTraceViewModel.js +1 -1
  1810. package/widgets/UtilityNetworkTrace/support/GeometryHandler.js +1 -1
  1811. package/widgets/UtilityNetworkTrace/support/ResultAreaHandler.js +1 -1
  1812. package/widgets/UtilityNetworkTrace.js +1 -1
  1813. package/widgets/UtilityNetworkValidateTopology/UtilityNetworkValidateTopologyViewModel.d.ts +4 -0
  1814. package/widgets/UtilityNetworkValidateTopology/UtilityNetworkValidateTopologyViewModel.js +1 -1
  1815. package/widgets/UtilityNetworkValidateTopology.d.ts +4 -0
  1816. package/widgets/UtilityNetworkValidateTopology.js +1 -1
  1817. package/widgets/ValuePicker/ValuePickerBaseComponent.js +1 -1
  1818. package/widgets/ValuePicker/ValuePickerCollection.d.ts +4 -0
  1819. package/widgets/ValuePicker/ValuePickerCombobox.d.ts +4 -0
  1820. package/widgets/ValuePicker/ValuePickerCombobox.js +1 -1
  1821. package/widgets/ValuePicker/ValuePickerLabel.d.ts +4 -0
  1822. package/widgets/ValuePicker/ValuePickerSlider.d.ts +4 -0
  1823. package/widgets/ValuePicker/ValuePickerSlider.js +1 -1
  1824. package/widgets/ValuePicker.d.ts +4 -0
  1825. package/widgets/ValuePicker.js +1 -1
  1826. package/widgets/Weather/WeatherViewModel.js +1 -1
  1827. package/widgets/Widget.js +1 -1
  1828. package/widgets/smartMapping/HeatmapSlider/HeatmapSliderViewModel.js +1 -1
  1829. package/widgets/support/ColorPicker.js +1 -1
  1830. package/widgets/support/GeolocationPositioning.js +1 -1
  1831. package/widgets/support/Popover.js +1 -1
  1832. package/widgets/support/Selector2D/SelectionOperation2D.js +1 -1
  1833. package/widgets/support/Selector2D.js +1 -1
  1834. package/widgets/support/SnappingControls/SnappingControlsViewModel.js +1 -1
  1835. package/widgets/support/chartUtils.js +1 -1
  1836. package/widgets/support/chartUtilsAm5.js +1 -1
  1837. package/widgets/support/componentsUtils.js +1 -1
  1838. package/widgets/support/geolocationUtils.js +1 -1
  1839. package/widgets/support/jsxWidgetSupport.js +1 -1
  1840. package/assets/esri/core/workers/chunks/030b43764f945cb1f8b0.js +0 -1
  1841. package/assets/esri/core/workers/chunks/03bc91648286b9b75e30.js +0 -1
  1842. package/assets/esri/core/workers/chunks/03dba2a2bbc363369a0f.js +0 -1
  1843. package/assets/esri/core/workers/chunks/0618fb0058f39ecd363f.js +0 -1
  1844. package/assets/esri/core/workers/chunks/099cacba30fd93af8ebc.js +0 -1
  1845. package/assets/esri/core/workers/chunks/0adcc644ab424469a62d.js +0 -1
  1846. package/assets/esri/core/workers/chunks/0fcb8d408696075338e2.js +0 -1
  1847. package/assets/esri/core/workers/chunks/1257825488d2494e901d.js +0 -1
  1848. package/assets/esri/core/workers/chunks/14d97dc471ff449bb12d.js +0 -1
  1849. package/assets/esri/core/workers/chunks/16e459b16bdd6e1a821b.js +0 -1
  1850. package/assets/esri/core/workers/chunks/187c3b971ed0fc4363ef.js +0 -1
  1851. package/assets/esri/core/workers/chunks/18db07d739a713cc0465.js +0 -1
  1852. package/assets/esri/core/workers/chunks/1fd7e2d91d0d76ba1802.js +0 -1
  1853. package/assets/esri/core/workers/chunks/20ea76301f58a4145223.js +0 -1
  1854. package/assets/esri/core/workers/chunks/270471cd31609e303496.js +0 -1
  1855. package/assets/esri/core/workers/chunks/293315442f5afe8069dc.js +0 -1
  1856. package/assets/esri/core/workers/chunks/2e627c94e57c924e5917.js +0 -1095
  1857. package/assets/esri/core/workers/chunks/39288fa69561d21f04f8.js +0 -1
  1858. package/assets/esri/core/workers/chunks/39714837f9d3708e3806.js +0 -1
  1859. package/assets/esri/core/workers/chunks/3a63ab2bff22950ffadf.js +0 -1
  1860. package/assets/esri/core/workers/chunks/3ce1fe5e7a841f6dc355.js +0 -1
  1861. package/assets/esri/core/workers/chunks/3d511e09f36002e1032e.js +0 -1
  1862. package/assets/esri/core/workers/chunks/431d54867bc3bb848fbb.js +0 -1
  1863. package/assets/esri/core/workers/chunks/4474512927623c7bb16c.js +0 -1
  1864. package/assets/esri/core/workers/chunks/45e5ad704d18dd0857ce.js +0 -1
  1865. package/assets/esri/core/workers/chunks/4f2e49bbbf667b68d8a7.js +0 -1
  1866. package/assets/esri/core/workers/chunks/50e6bf76dcb372183824.js +0 -1
  1867. package/assets/esri/core/workers/chunks/50f929d9453fb058cf47.js +0 -1
  1868. package/assets/esri/core/workers/chunks/5270fedc8c7951807eb4.js +0 -1
  1869. package/assets/esri/core/workers/chunks/528107548340cfc6a8f0.js +0 -1
  1870. package/assets/esri/core/workers/chunks/55486c644e8b01326a0d.js +0 -1
  1871. package/assets/esri/core/workers/chunks/5576858f56314afcb4d5.js +0 -1
  1872. package/assets/esri/core/workers/chunks/571dac507622948ac03e.js +0 -1
  1873. package/assets/esri/core/workers/chunks/5a4c04bf4f57e74457c5.js +0 -1
  1874. package/assets/esri/core/workers/chunks/5bbe1495fa421394d12e.js +0 -1
  1875. package/assets/esri/core/workers/chunks/621c91af7c051d44d378.js +0 -1
  1876. package/assets/esri/core/workers/chunks/673d6e284d5e85a107ca.js +0 -1
  1877. package/assets/esri/core/workers/chunks/6ab0c2e27ba6b1b4afc7.js +0 -1
  1878. package/assets/esri/core/workers/chunks/6b0e5728b2dbd23b0834.js +0 -1
  1879. package/assets/esri/core/workers/chunks/6d80f81bf6ad97a7e69e.js +0 -1
  1880. package/assets/esri/core/workers/chunks/6e7178de0b2c3d2f7e6b.js +0 -1
  1881. package/assets/esri/core/workers/chunks/70d6e5edf05ef7079fa8.js +0 -1
  1882. package/assets/esri/core/workers/chunks/71bdf8f10aee0077f681.js +0 -1
  1883. package/assets/esri/core/workers/chunks/72b2c3c8e76da699690c.js +0 -1
  1884. package/assets/esri/core/workers/chunks/749fafd2481d37b5e2a0.js +0 -1
  1885. package/assets/esri/core/workers/chunks/785a6c925f29bc962992.js +0 -1
  1886. package/assets/esri/core/workers/chunks/78ce0b1af62435d8ebf4.js +0 -1
  1887. package/assets/esri/core/workers/chunks/791f529e90135398b3d5.js +0 -1
  1888. package/assets/esri/core/workers/chunks/7bbdba52157da13a01fc.js +0 -1
  1889. package/assets/esri/core/workers/chunks/83298b1bdbcbe39d8ba1.js +0 -1
  1890. package/assets/esri/core/workers/chunks/84f897e5910752e7aebc.js +0 -1
  1891. package/assets/esri/core/workers/chunks/858961981aa2a57d37db.js +0 -1
  1892. package/assets/esri/core/workers/chunks/8cc8d88e5dd1e586eb04.js +0 -1
  1893. package/assets/esri/core/workers/chunks/8d3abfe6fdc5ac8d6cb7.js +0 -1
  1894. package/assets/esri/core/workers/chunks/924e4a18d8403d1caea3.js +0 -1
  1895. package/assets/esri/core/workers/chunks/94c1a2d31b3253cf6062.js +0 -1
  1896. package/assets/esri/core/workers/chunks/96d339abcd917f1f0ae1.js +0 -1
  1897. package/assets/esri/core/workers/chunks/97dbfe04136aa5e4cd4d.js +0 -1
  1898. package/assets/esri/core/workers/chunks/9ab400a89dd701778d2c.js +0 -1
  1899. package/assets/esri/core/workers/chunks/9de820b7df38b948c92b.js +0 -1
  1900. package/assets/esri/core/workers/chunks/9e209c6a2aded37f90fb.js +0 -1
  1901. package/assets/esri/core/workers/chunks/9fe349f43d5ff5a4ac2d.js +0 -1
  1902. package/assets/esri/core/workers/chunks/a12d1d3addeae0771c00.js +0 -1
  1903. package/assets/esri/core/workers/chunks/a1c31bb8c12831539328.js +0 -1
  1904. package/assets/esri/core/workers/chunks/a2484a3993ec81a095b4.js +0 -1
  1905. package/assets/esri/core/workers/chunks/a5bd457d0284419b4f34.js +0 -1
  1906. package/assets/esri/core/workers/chunks/a6c2fbf8aefb2e793ce3.js +0 -1
  1907. package/assets/esri/core/workers/chunks/a719cb801d647234546c.js +0 -1
  1908. package/assets/esri/core/workers/chunks/a95bee31d06e69a0d56d.js +0 -1
  1909. package/assets/esri/core/workers/chunks/ab2b56442fee12be5c68.js +0 -1
  1910. package/assets/esri/core/workers/chunks/ad215f7279e6b0a0d6f3.js +0 -1
  1911. package/assets/esri/core/workers/chunks/af5c9cbbcb6f56893560.js +0 -1
  1912. package/assets/esri/core/workers/chunks/b1d88f8e528bf7092f35.js +0 -1
  1913. package/assets/esri/core/workers/chunks/b4e2dc6b3d06b426e596.js +0 -1
  1914. package/assets/esri/core/workers/chunks/b6b2cac44a5189afdc7a.js +0 -1
  1915. package/assets/esri/core/workers/chunks/ba43e85d345393f47778.js +0 -1
  1916. package/assets/esri/core/workers/chunks/ba6024465308c248170b.js +0 -1
  1917. package/assets/esri/core/workers/chunks/bc2c4b00168f9251f693.js +0 -1
  1918. package/assets/esri/core/workers/chunks/bead656f8da33e023b2b.js +0 -1
  1919. package/assets/esri/core/workers/chunks/c2cb9fa18c77f0c5104e.js +0 -1
  1920. package/assets/esri/core/workers/chunks/c2fb0f3179b9ff294b68.js +0 -1
  1921. package/assets/esri/core/workers/chunks/cb8270d50f152fff2804.js +0 -1
  1922. package/assets/esri/core/workers/chunks/d0ff968e42116f592065.js +0 -1
  1923. package/assets/esri/core/workers/chunks/d265da47f6c752a40ac1.js +0 -1
  1924. package/assets/esri/core/workers/chunks/d26eaac455346f4df51a.js +0 -1
  1925. package/assets/esri/core/workers/chunks/d30be8788a3ea70f1edf.js +0 -1
  1926. package/assets/esri/core/workers/chunks/d3768c90b419386b65f9.js +0 -1
  1927. package/assets/esri/core/workers/chunks/d64c271c173797d98286.js +0 -1
  1928. package/assets/esri/core/workers/chunks/d6b6bb8aecc85d2a3f6b.js +0 -1
  1929. package/assets/esri/core/workers/chunks/d725dbbdeb05322e6d88.js +0 -1
  1930. package/assets/esri/core/workers/chunks/d95ca50ca7af4c222036.js +0 -1
  1931. package/assets/esri/core/workers/chunks/da6db22616bd95ee5380.js +0 -1
  1932. package/assets/esri/core/workers/chunks/df3e497d12ed77bae168.js +0 -1
  1933. package/assets/esri/core/workers/chunks/df6f54607ad4c6e28d1d.js +0 -1
  1934. package/assets/esri/core/workers/chunks/e1b2076d0040fcb7d864.js +0 -1
  1935. package/assets/esri/core/workers/chunks/e2f4e1c4fe166d249b2e.js +0 -1
  1936. package/assets/esri/core/workers/chunks/e46cd2a6da8d5cba1db6.js +0 -1
  1937. package/assets/esri/core/workers/chunks/e5bbd4cc5edbf7ab3624.js +0 -1
  1938. package/assets/esri/core/workers/chunks/e72150a38b202b68be2b.js +0 -1
  1939. package/assets/esri/core/workers/chunks/e8db7303b2f63c0ec0c9.js +0 -1
  1940. package/assets/esri/core/workers/chunks/ea9e25eaaada36253da3.js +0 -1
  1941. package/assets/esri/core/workers/chunks/eca24f316629ad0c0609.js +0 -1
  1942. package/assets/esri/core/workers/chunks/f21aa0bfc6c8f809ea86.js +0 -1
  1943. package/assets/esri/core/workers/chunks/f3462020ee3b9c6f3822.js +0 -1
  1944. package/assets/esri/core/workers/chunks/f720967ba8c5486a26a2.js +0 -1
  1945. package/assets/esri/core/workers/chunks/fb080339bfaf32731ca6.js +0 -1
  1946. package/assets/esri/core/workers/chunks/fdf58386a67e54c09bfb.js +0 -1
  1947. package/layers/knowledgeGraph/KnowledgeGraphSubLayer.d.ts +0 -4
  1948. package/layers/knowledgeGraph/KnowledgeGraphSubLayer.js +0 -5
  1949. package/layers/orientedImagery/core/Affixes.js +0 -5
  1950. package/layers/orientedImagery/core/CameraProperties.js +0 -5
  1951. package/layers/orientedImagery/core/ImageProperties.js +0 -5
  1952. package/layers/orientedImagery/core/ImageryTypes.js +0 -5
  1953. package/layers/video/VideoEngine.js +0 -5
  1954. package/views/3d/webgl-engine/lib/AppleAmdDriverHelper.js +0 -5
  1955. package/views/3d/webgl-engine/lib/RenderTargetHelper.js +0 -5
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.28/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../../chunks/tslib.es6.js";import t from"../../../Color.js";import r from"../../../core/Accessor.js";import{disposeMaybe as i}from"../../../core/maybe.js";import s from"../../../core/ObjectPool.js";import{property as n}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/accessorSupport/ensureType.js";import"../../../core/arrayUtils.js";import"../../../core/has.js";import{subclass as o}from"../../../core/accessorSupport/decorators/subclass.js";import{I as a}from"../../../chunks/mat4f64.js";import{b as l,s as h,e as c}from"../../../chunks/vec3.js";import{Z as u,f as d,c as p}from"../../../chunks/vec3f64.js";import{Z as f}from"../../../chunks/vec4f64.js";import{create as _,set as m}from"../../../geometry/support/aaBoundingBox.js";import{BufferViewVec3f as g}from"../../../geometry/support/buffer/BufferView.js";import{ViewingMode as b}from"../../ViewingMode.js";import{TextureUpdate as y}from"./interfaces.js";import{LayerClass as T}from"./LayerClass.js";import{OverlaySource as R}from"./Overlay.js";import{overlayRenderOccludedFlag as O}from"./OverlayRenderer.js";import{clearCaches as x}from"./PatchGeometry.js";import{PatchRenderData as C}from"./PatchRenderData.js";import{RenderOrder as v}from"./RenderOrder.js";import{ENABLE_TERRAIN_INTERNAL_CHECKS as D}from"./terrainUtils.js";import{TileRenderer as P}from"./TileRenderer.js";import{TileUpdate as S}from"./TileUpdate.js";import{IteratorPreorder as E,sortTiles as q,compareTiles as A}from"./tileUtils.js";import{componentMinimalSizeForIntersectionData as w,ComponentIntersectionData as N}from"../webgl-engine/collections/Component/ComponentIntersectionData.js";import{ShaderOutput as j}from"../webgl-engine/core/shaderLibrary/ShaderOutput.js";import{OverlayMode as G}from"../webgl-engine/core/shaderLibrary/terrain/Overlay.glsl.js";import{T as I}from"../../../chunks/Terrain.glsl.js";import{TileBlendInput as L}from"../webgl-engine/core/shaderLibrary/terrain/TileBlendInput.js";import{Attribute as F}from"../webgl-engine/lib/Attribute.js";import{RenderRequestType as U}from"../webgl-engine/lib/basicInterfaces.js";import{createEmptyTexture as k}from"../webgl-engine/lib/glUtil3D.js";import{newIntersectorResult as B}from"../webgl-engine/lib/Intersector.js";import{IntersectorType as M,StoreResults as z}from"../webgl-engine/lib/IntersectorInterfaces.js";import{RenderOccludedFlag as H}from"../webgl-engine/lib/Material.js";import{RenderSlot as V}from"../webgl-engine/lib/RenderSlot.js";import{getSettings as W}from"../webgl-engine/lib/screenSizePerspectiveUtils.js";import{VertexAttribute as Y}from"../webgl-engine/lib/VertexAttribute.js";import{TERRAIN_ID as Q,getVerticalOffsetTerrain as X}from"../webgl-engine/lib/verticalOffsetUtils.js";import{DrawParameters as Z}from"../webgl-engine/materials/DrawParameters.js";import{intersectAabbInvDirBefore as K,intersectTriangles as J}from"../webgl-engine/materials/internal/MaterialUtil.js";import{TerrainTechnique as $}from"../webgl-engine/shaders/TerrainTechnique.js";import{TerrainTechniqueConfiguration as ee}from"../webgl-engine/shaders/TerrainTechniqueConfiguration.js";import{PrimitiveType as te}from"../../webgl/enums.js";const re=7,ie=10,se=_();var ne;!function(e){e[e.Opaque=0]="Opaque",e[e.Semitransparent=1]="Semitransparent",e[e.TransparentWithDraped=2]="TransparentWithDraped",e[e.Empty=3]="Empty"}(ne||(ne={}));let oe=class extends r{get _isGlobal(){return this._stage.viewingMode===b.Global}constructor(e){super(e),this.type=M.TERRAIN,this.isGround=!0,this._tileSize=256,this._techniqueConfiguration=new ee,this._passParameters=new I,this._rctx=null,this._renderDataPool=new s(C),this._patchGroups=new Map,this._patchGroupsDirty=!0,this._patchSortingDirty=!0,this._tileIterator=new E,this._highestVisibleLODTile=null,this._visible=!0,this._transparencyState=ne.Opaque,this._castShadows=!0,this._emptyTex=null,this._tileRenderer=null,this._stencilEnabledLayerExtents=new Array,this._numTilesRendered=0,this._numTilesCulled=0,this._numOriginsRendered=0,this.needsHighlight=!1,this.renderOccludedFlags=H.Occlude}initialize(){const e=[V.OPAQUE_TERRAIN,V.TRANSPARENT_TERRAIN,V.OCCLUDED_TERRAIN];this._stage.addRenderPlugin(e,this)}destroy(){this._stage.removeRenderPlugin(this),x()}get canRender(){return this._visible&&!!this._rootTiles&&!this.renderingDisabled}set renderingDisabled(e){this._set("renderingDisabled",!!e),this.setDirty()}set transparency(e){this._transparencyState!==e&&(this._techniqueConfiguration.invisible=e===ne.TransparentWithDraped||e===ne.Empty,this._transparencyState=e,this.setNeedsRender())}get transparency(){return this._transparencyState}get needsLinearDepth(){return this._overlayRenderer.hasWater}get renderPatchBorders(){return!!this._techniqueConfiguration.tileBorders}set renderPatchBorders(e){this._techniqueConfiguration.tileBorders!==e&&(this._techniqueConfiguration.tileBorders=e,this.setNeedsRender(),this.notifyChange("renderPatchBorders"))}get visualizeNormals(){return!!this._techniqueConfiguration.visualizeNormals}set visualizeNormals(e){this._techniqueConfiguration.visualizeNormals!==e&&(this._techniqueConfiguration.visualizeNormals=e,this.setNeedsRender(),this.notifyChange("visualizeNormals"))}get cullBackFaces(){return this._techniqueConfiguration.backfaceCullingEnabled}set cullBackFaces(e){this._techniqueConfiguration.backfaceCullingEnabled!==e&&(this._techniqueConfiguration.backfaceCullingEnabled=e,this.notifyChange("cullBackFaces"),this.setNeedsRender())}set renderOrder(e){this._set("renderOrder",e),this._setSortingDirty()}get layerUid(){return Q}get slicePlaneEnabled(){return this._techniqueConfiguration.hasSlicePlane}set slicePlaneEnabled(e){this._techniqueConfiguration.hasSlicePlane!==e&&(this._techniqueConfiguration.hasSlicePlane=e,this.setNeedsRender())}set textureFadingEnabled(e){this._techniqueConfiguration.textureFadingEnabled!==e&&(this._techniqueConfiguration.textureFadingEnabled=e,this.setNeedsRender())}set pbrMode(e){this._techniqueConfiguration.pbrMode!==e&&(this._techniqueConfiguration.pbrMode=e,this.setNeedsRender())}setDebugScreenSizePerspective(e){this._techniqueConfiguration.screenSizePerspective!==e&&(this._techniqueConfiguration.screenSizePerspective=e,this.setNeedsRender())}setRootTiles(e){this._rootTiles=e,this.setDirty()}setNeedsHighlight(e){this.needsHighlight=e,this.setNeedsRender()}setRenderOccludedOverlay(e){this.renderOccludedFlags=e?O:H.Occlude,this.setNeedsRender()}setStencilEnabledLayerExtents(e){this._stencilEnabledLayerExtents=e,this._setSortingDirty()}setTileSize(e){this._tileSize=e,null!=this._tileRenderer&&(this._tileRenderer.tileSize=e),this.setDirty()}_prepareTileForLoading(e){e.renderData||(e.renderData=this._renderDataPool.acquire(),e.renderData.init(e),e.renderData.localOrigin=this._getLocalOriginOfTile(e))}loadTile(e){this._prepareTileForLoading(e),this.updateTileGeometryState(e),this.updateTileTexture(e,S.TEXTURE_FADING)}updateTileTexture(e,t){null!=this._tileRenderer&&(this._tileRenderer.updateTileTexture(e,t===S.TEXTURE_FADING?y.FADING:y.UNFADED),this.setNeedsRender(),e.resetPendingUpdate(t))}updateTileGeometryState(e){for(const r of e.layerInfo[T.ELEVATION])r.pendingUpdates&=~S.GEOMETRY;e.resetPendingUpdate(S.GEOMETRY);const t=e.renderData.updateGeometryState();return t&&this.setDirty(),t}updateGeometryIfNeeded(e){e.isLoaded&&e.renderData.updateGeometryIfNeeded(this._rctx)}unloadTile(e){const t=e.renderData;t&&(t.releaseGeometry(),this._renderDataPool.release(t),t.clear(),e.renderData=null,e.setMemoryDirty(),this.setDirty())}_getLocalOriginOfTile(e){const t=ie-re,r=Math.max(0,Math.floor((e.level-t)/re)*re);if(this._isGlobal&&0===r)return u;for(;e.parent&&e.level>r;)e=e.parent;return e.centerAtSeaLevel}setVisibility(e){this._visible=e,this.setDirty()}getStats(){return{numTilesRendered:this._numTilesRendered,numTilesCulled:this._numTilesCulled,numOriginsRendered:this._numOriginsRendered}}set wireframe(e){this._get("wireframe")!==e&&(this._set("wireframe",e),this.setNeedsRender())}setDirty(e=U.UPDATE){this._patchGroupsDirty=!0,this._context.requestRender(e)}_setSortingDirty(e=U.UPDATE){this._patchSortingDirty=!0,this._context.requestRender(e)}setNeedsRender(e=U.UPDATE){this._context.requestRender(e)}initializeRenderContext(e){this._context=e,this._rctx=e.renderContext.rctx,this._techniqueRepository=e.techniqueRepository,this._tileRenderer=new P(this._rctx,this._tileSize,this._techniqueRepository),this.updateTileBackground(),this._emptyTex=k(this._rctx)}uninitializeRenderContext(){this._emptyTex=i(this._emptyTex),this._tileRenderer=i(this._tileRenderer)}intersect(e,t,r,i){if(!this._rootTiles||e.options.selectOpaqueTerrainOnly&&e.options.selectionMode&&this.transparency!==ne.Opaque)return;const s=ae,n=le;l(s,i,r),h(n,1/s[0],1/s[1],1/s[2]);const o=e.results.min,u=e.results.max,d=e.results.ground,p=e.options.store===z.MIN,f=!!e.results.ground.target,_=X(e.verticalOffset),b=e.tolerance;let y,T=p&&null!=o.dist?o.dist:1/0;const R=h=>{const f=h.renderData;if(!f?.vao)return;const R=f.geometry;m(se,R.boundingBox);const O=f.localOrigin;null!=_&&(_.localOrigin=O,_.applyToAabb(se));const x=se;if(he[0]=r[0]-O[0],he[1]=r[1]-O[1],he[2]=r[2]-O[2],!K(x,he,n,b,T))return;const C=(e,t,r)=>{e.set(this.type,h,t,r,a),T=p&&null!=o.dist?o.dist:1/0},v=(n,a)=>{if(null!=a&&n>=0&&(e.options.backfacesTerrain||c(a,s)<0)&&(e.options.invisibleTerrain||!e.options.selectionMode||null==t||t(r,i,n))){if((null==d.dist||n<d.dist)&&C(d,n,a),e.options.isFiltered)return;e.options.store===z.ALL&&(null==y?(y=B(e.ray),C(y,n,a),e.results.all.push(y)):n<y.dist&&C(y,n,a)),(null==o.dist||n<o.dist)&&C(o,n,a),e.options.store!==z.MIN&&(null==u.dist||n>u.dist)&&C(u,n,a)}},D=ce;l(D,i,O);const P=R.indices,S=R.vertexAttributes,E=S.getField(Y.POSITION,g),q=new F(E.typedBuffer,3,!1,S.stride/4),A=R.indexCount/3;if(!_&&A>w){const e=h.renderData;null==e.intersectionData&&(e.intersectionData=new N(P,0,A,q)),e.intersectionData.intersectRay({r0:he,r1:D},v)}else J(he,D,0,A,P,q,null,_,v)},O=this._rootTiles;if(null!=O){(()=>{const t=this._tileIterator;t.reset(O);const i=e.options.invisibleTerrain;for(let e=t.next();e;e=t.next())!(e.visible||i&&e.intersectsClippingArea)||null==_&&!e.intersectsRay(r,s,b,T)||f&&this._useStencilForTile(e)?t.skipSubtree():R(e)})()}}processScaleRangeQueries(e,t){if(!t.done)for(this._updatePatchGroups();e.updating&&!t.done;){e.prepare();for(const t of this._patchGroups.values())for(const r of t)null!=r.renderData?.textureReference&&e.queriesForTile(r);e.process(),t.madeProgress()}}prepareTechnique(e){if(e.bindParameters.slot===V.OCCLUDED_TERRAIN){if(0==(e.renderOccludedMask&O))return null}else{const t=this.transparency===ne.Opaque?V.OPAQUE_TERRAIN:V.TRANSPARENT_TERRAIN;if(e.bindParameters.slot!==t)return null}switch(e.output){case j.Color:return this.transparency===ne.Empty?null:(this._techniqueConfiguration.hasScreenSpaceReflections=e.bindParameters.ssr.enabled,this._techniqueConfiguration.hasCloudsReflections=null!=e.bindParameters.cloudsFade.data,this._techniqueConfiguration.receiveShadows=e.bindParameters.shadowMap.ready,this._techniqueConfiguration.receiveAmbientOcclusion=e.bindParameters.ssaoHelper.active,this._techniqueConfiguration.overlayMode=this._overlayRenderer.isEmpty?G.Disabled:this._overlayRenderer.hasWater?G.EnabledWithWater:G.Enabled,this._updateTechnique(j.Color,e.bindParameters.slot===V.OCCLUDED_TERRAIN));case j.Shadow:case j.ShadowExcludeHighlight:return this._castShadows&&1===e.bindParameters.lighting.globalFactor?(this._techniqueConfiguration.receiveShadows=this._techniqueConfiguration.receiveAmbientOcclusion=!1,this._updateTechnique(j.Shadow,!1)):null;case j.Depth:return this.transparency===ne.Empty?null:(this._techniqueConfiguration.receiveShadows=this._techniqueConfiguration.receiveAmbientOcclusion=!1,this._updateTechnique(j.Depth,!1));case j.Normal:return this.transparency===ne.Empty?null:(this._techniqueConfiguration.receiveShadows=this._techniqueConfiguration.receiveAmbientOcclusion=!1,this._updateTechnique(j.Normal,!1));case j.ObjectAndLayerIdColor:return this.transparency===ne.Empty?null:this._updateTechnique(j.ObjectAndLayerIdColor,!1);case j.Highlight:return this.transparency!==ne.Empty&&this.needsHighlight?(this._techniqueConfiguration.receiveShadows=this._techniqueConfiguration.receiveAmbientOcclusion=!1,this._updateTechnique(j.Highlight,!1)):null}return null}render(e,t){const r=1===e.bindParameters.lighting.globalFactor;switch(this._updatePatchGroups(),t.useStencil=!1,e.output){case j.Color:{const r=e.bindParameters.slot===V.OCCLUDED_TERRAIN?R.Occluded:R.ColorAndWater;this.transparency===ne.Opaque?this._renderMaterialPass(e,t,r):e.offscreenRenderingHelper.renderToTargets((()=>this._renderMaterialPass(e,t,r)),e.offscreenRenderingHelper.tmpColor,e.offscreenRenderingHelper.mainDepth,[0,0,0,0]);break}case j.Depth:case j.Normal:this._renderAuxiliaryPass(e,t,R.None);break;case j.Highlight:this.needsHighlight&&this._renderAuxiliaryPass(e,t,R.Highlight);break;case j.Shadow:case j.ShadowExcludeHighlight:this._castShadows&&r&&this._renderAuxiliaryPass(e,t,R.None);break;case j.ObjectAndLayerIdColor:this._renderAuxiliaryPass(e,t,R.ObjectAndLayerIdColor)}}_renderMaterialPass(e,t,r){const{rctx:i}=e;this._passParameters.overlaySource=r,i.bindTechnique(t,this._passParameters,e.bindParameters),this._numTilesRendered=0,this._numTilesCulled=0,this._numOriginsRendered=0,this._renderPatchGroups(e,t,r)}_renderAuxiliaryPass(e,t,r){const i=e.rctx;this._passParameters.overlaySource=r,i.bindTechnique(t,this._passParameters,e.bindParameters),this._renderPatchGroupsAuxiliary(e,t,r)}updateTileBackground(e=null){if(null==this._tileRenderer)return;const r=this._tileRenderer;let i=null;if(null!=e){const r=t.toUnitRGBA(e);i=d(r[0]||0,r[1]||0,r[2]||0)}r.setBackground(i),this._allTiles.forAll((e=>r.updateTileTexture(e,y.FADING))),this._techniqueConfiguration.tileBlendInput=r.backgroundIsGrid?L.GridComposite:null!=r.backgroundColor?L.ColorComposite:L.LayerOnly,this.setNeedsRender()}_updatePatchGroups(){if(this._patchGroupsDirty&&(this._highestVisibleLODTile=null,this._rebuildPatchGroups(),this._patchGroupsDirty=!1,this._patchSortingDirty=!0),this._patchSortingDirty&&this.renderOrder!==v.NONE){const e=Array.from(this._patchGroups.values()),t=this._stencilEnabledLayerExtents;for(const r of e)q(this.renderOrder,r,t);e.sort(((e,t)=>A(e[0],t[0],this.renderOrder))),this._patchGroups=new Map(e.map((e=>[e[0].renderData.localOrigin,e]))),this._patchSortingDirty=!1}}_rebuildPatchGroups(){const e=this._rootTiles;if(null!=e){e[0]?.surface.checkAllTilesWaterproofness(),this._patchGroups.clear();for(const t of e)this._rebuildPatchGroupsForRootTile(t)}}_rebuildPatchGroupsForRootTile(e){const t=this._tileIterator;for(t.resetOne(e);!t.done;){const e=t.next(),r=e.renderData;if(!r){this._numTilesCulled++;continue}if(!e.visible){this._numTilesCulled++,t.skipSubtree();continue}const i=r.localOrigin;let s=this._patchGroups.get(i);s||(s=new Array,this._patchGroups.set(i,s)),s.push(e),(!this._highestVisibleLODTile||e.elevationLevel>this._highestVisibleLODTile.elevationLevel)&&(this._highestVisibleLODTile=e),t.skipSubtree()}}_useStencilForTile(e){for(const t of this._stencilEnabledLayerExtents)if(e.intersectsExtent(t))return!0;return!1}_renderPatchGroupsAuxiliary(e,t,r){const i=this._stencilEnabledLayerExtents.length>0;this._patchGroups.forEach((s=>{const n=s[0].renderData.localOrigin;t.program.bindDraw(new Z(n),e.bindParameters,this._passParameters);for(let o=0;o<s.length;o++)this._renderPatch(e,t,s[o],te.TRIANGLES,i,r)})),e.rctx.bindVAO(null)}_renderPatchGroups(e,t,r){const i=e.bindParameters.camera,s=t.program;if(this._techniqueConfiguration.screenSizePerspective&&this.pointsOfInterest){const e=W(this._stage.viewingMode,this._ellipsoidRadius),t=this.pointsOfInterest.centerOnSurfaceFrequent.distance;e.update({distance:t,fovY:i.fovY})}const n=this._stencilEnabledLayerExtents.length>0,o=r===R.Occluded;o&&(s.bindTexture("tex",this._emptyTex),s.setUniform3fv("textureOpacities",u),s.setUniform4fv("texOffsetAndScale",f));const a=null!=this._tileRenderer&&null!=this._tileRenderer.backgroundColor?this._tileRenderer.backgroundColor:u;this._techniqueConfiguration.tileBlendInput===L.ColorComposite&&s.setUniform3fv("backgroundColor",a);const l=this.wireframe?te.LINES:te.TRIANGLES;this._techniqueConfiguration.textureFadingEnabled&&s.bindTexture("texNext",this._emptyTex);const h=this._patchGroups;for(const c of h.values()){const i=c[0].renderData.localOrigin;t.program.bindDraw(new Z(i),e.bindParameters,this._passParameters),this._numOriginsRendered++;for(const a of c){const i=a.renderData,h=i.textureReference;if(null!=h){if(!o){s.setUniform4fv("texOffsetAndScale",h.offsetAndScale),s.bindTexture("tex",h.texture.texture);const e=i.textureFadeFactor,t=e<1?i.nextTextureReference:null;this._techniqueConfiguration.textureFadingEnabled&&null!=t&&e<1?(s.setUniform1f("fadeFactor",e),s.setUniform4fv("nextTexOffsetAndScale",t.offsetAndScale),s.setUniform3fv("nextTexOpacities",t.opacities),s.bindTexture("texNext",t.texture.texture)):s.setUniform1f("fadeFactor",1),i.textureIsFading&&this.setNeedsRender(),s.setUniform3fv("textureOpacities",h.opacities)}this._renderPatch(e,t,a,l,n,r),a.renderOrder=this._numTilesRendered,this._numTilesRendered++}}}e.rctx.bindVAO(null)}_renderPatch(e,t,r,i,s,n){const o=r.renderData,a=o.vao,l=a.indexBuffer;if(null==l)return void(D&&console.error("Rendered tile with no indices: ",r.lij," : ",o));const h=t.program;n===R.None||this._overlayRenderer.isEmpty||this._bindOverlayPatchData(h,o.overlay),s&&(t.useStencil=this._useStencilForTile(r),t.bindPipelineState(e.rctx,e.bindParameters.slot));const c=o.geometry.indexCount;e.rctx.bindVAO(a),h.assertCompatibleVertexAttributeLocations(a),e.rctx.drawElements(i,c,l.indexType,0)}_bindOverlayPatchData(e,t){e.setUniform4fv("overlayTexOffset",t.offsets),e.setUniform4fv("overlayTexScale",t.scales)}_updateTechnique(e,t){return this._techniqueConfiguration.output=e,this._techniqueConfiguration.renderOccluded=t,this._shaderTechnique=this._techniqueRepository.releaseAndAcquire($,this._techniqueConfiguration,this._shaderTechnique),this._shaderTechnique}get test(){return{tileRenderer:this._tileRenderer}}};e([n({constructOnly:!0})],oe.prototype,"_overlayRenderer",void 0),e([n({constructOnly:!0})],oe.prototype,"_stage",void 0),e([n({readOnly:!0})],oe.prototype,"_isGlobal",null),e([n({constructOnly:!0})],oe.prototype,"_allTiles",void 0),e([n({constructOnly:!0})],oe.prototype,"_ellipsoidRadius",void 0),e([n({value:!1})],oe.prototype,"renderingDisabled",null),e([n()],oe.prototype,"renderPatchBorders",null),e([n()],oe.prototype,"visualizeNormals",null),e([n()],oe.prototype,"cullBackFaces",null),e([n({value:v.FRONT_TO_BACK})],oe.prototype,"renderOrder",null),e([n()],oe.prototype,"wireframe",null),oe=e([o("esri.views.3d.terrain.TerrainRenderer")],oe);const ae=p(),le=p(),he=p(),ce=p();export{oe as TerrainRenderer,ne as TransparencyMode};
5
+ import{_ as e}from"../../../chunks/tslib.es6.js";import t from"../../../Color.js";import r from"../../../core/Accessor.js";import{disposeMaybe as i}from"../../../core/maybe.js";import s from"../../../core/ObjectPool.js";import{property as n}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/accessorSupport/ensureType.js";import"../../../core/arrayUtils.js";import"../../../core/has.js";import{subclass as o}from"../../../core/accessorSupport/decorators/subclass.js";import{I as a}from"../../../chunks/mat4f64.js";import{b as l,s as h,e as u}from"../../../chunks/vec3.js";import{Z as c,f as d,c as p}from"../../../chunks/vec3f64.js";import{Z as _}from"../../../chunks/vec4f64.js";import{create as f,set as m}from"../../../geometry/support/aaBoundingBox.js";import{BufferViewVec3f as g}from"../../../geometry/support/buffer/BufferView.js";import{ViewingMode as b}from"../../ViewingMode.js";import{TextureUpdate as y}from"./interfaces.js";import{LayerClass as T}from"./LayerClass.js";import{OverlaySource as R}from"./Overlay.js";import{overlayRenderOccludedFlag as x}from"./OverlayRenderer.js";import{clearCaches as O}from"./PatchGeometry.js";import{PatchRenderData as C}from"./PatchRenderData.js";import{RenderOrder as v}from"./RenderOrder.js";import{ENABLE_TERRAIN_INTERNAL_CHECKS as D}from"./terrainUtils.js";import{TileRenderer as P}from"./TileRenderer.js";import{TileUpdate as S}from"./TileUpdate.js";import{IteratorPreorder as E,sortTiles as q,compareTiles as A}from"./tileUtils.js";import{componentMinimalSizeForIntersectionData as w,ComponentIntersectionData as N}from"../webgl-engine/collections/Component/ComponentIntersectionData.js";import{ShaderOutput as j}from"../webgl-engine/core/shaderLibrary/ShaderOutput.js";import{OverlayMode as G}from"../webgl-engine/core/shaderLibrary/terrain/Overlay.glsl.js";import{T as I}from"../../../chunks/Terrain.glsl.js";import{TileBlendInput as L}from"../webgl-engine/core/shaderLibrary/terrain/TileBlendInput.js";import{Attribute as F}from"../webgl-engine/lib/Attribute.js";import{RenderRequestType as U}from"../webgl-engine/lib/basicInterfaces.js";import{createEmptyTexture as k}from"../webgl-engine/lib/glUtil3D.js";import{newIntersectorResult as B}from"../webgl-engine/lib/Intersector.js";import{IntersectorType as M,StoreResults as z}from"../webgl-engine/lib/IntersectorInterfaces.js";import{RenderOccludedFlag as V}from"../webgl-engine/lib/Material.js";import{RenderSlot as H}from"../webgl-engine/lib/RenderSlot.js";import{getSettings as W}from"../webgl-engine/lib/screenSizePerspectiveUtils.js";import{VertexAttribute as Y}from"../webgl-engine/lib/VertexAttribute.js";import{TERRAIN_ID as Q,getVerticalOffsetTerrain as X}from"../webgl-engine/lib/verticalOffsetUtils.js";import{DrawParameters as Z}from"../webgl-engine/materials/DrawParameters.js";import{intersectAabbInvDirBefore as K,intersectTriangles as J}from"../webgl-engine/materials/internal/MaterialUtil.js";import{TerrainTechnique as $}from"../webgl-engine/shaders/TerrainTechnique.js";import{TerrainTechniqueConfiguration as ee}from"../webgl-engine/shaders/TerrainTechniqueConfiguration.js";import{PrimitiveType as te}from"../../webgl/enums.js";const re=7,ie=10,se=f();var ne;!function(e){e[e.Opaque=0]="Opaque",e[e.Semitransparent=1]="Semitransparent",e[e.TransparentWithDraped=2]="TransparentWithDraped",e[e.Empty=3]="Empty"}(ne||(ne={}));let oe=class extends r{get _isGlobal(){return this._stage.viewingMode===b.Global}constructor(e){super(e),this.type=M.TERRAIN,this.isGround=!0,this._tileSize=256,this._techniqueConfiguration=new ee,this._passParameters=new I,this._rctx=null,this._renderDataPool=new s(C),this._patchGroups=new Map,this._patchGroupsDirty=!0,this._patchSortingDirty=!0,this._tileIterator=new E,this._highestVisibleLODTile=null,this._visible=!0,this._transparencyState=ne.Opaque,this._castShadows=!0,this._emptyTex=null,this._tileRenderer=null,this._stencilEnabledLayerExtents=new Array,this._numTilesRendered=0,this._numTilesCulled=0,this._numOriginsRendered=0,this.needsHighlight=!1,this.renderOccludedFlags=V.Occlude}initialize(){const e=[H.OPAQUE_TERRAIN,H.TRANSPARENT_TERRAIN,H.OCCLUDED_TERRAIN];this._stage.addRenderPlugin(e,this)}destroy(){this._stage.removeRenderPlugin(this),O()}get canRender(){return this._visible&&!!this._rootTiles&&!this.renderingDisabled}set renderingDisabled(e){this._set("renderingDisabled",!!e),this.setDirty()}set transparency(e){this._transparencyState!==e&&(this._techniqueConfiguration.invisible=e===ne.TransparentWithDraped||e===ne.Empty,this._transparencyState=e,this.setNeedsRender())}get transparency(){return this._transparencyState}get needsLinearDepth(){return this._overlayRenderer.hasWater}get renderPatchBorders(){return!!this._techniqueConfiguration.tileBorders}set renderPatchBorders(e){this._techniqueConfiguration.tileBorders!==e&&(this._techniqueConfiguration.tileBorders=e,this.setNeedsRender(),this.notifyChange("renderPatchBorders"))}get visualizeNormals(){return!!this._techniqueConfiguration.visualizeNormals}set visualizeNormals(e){this._techniqueConfiguration.visualizeNormals!==e&&(this._techniqueConfiguration.visualizeNormals=e,this.setNeedsRender(),this.notifyChange("visualizeNormals"))}get cullBackFaces(){return this._techniqueConfiguration.backfaceCullingEnabled}set cullBackFaces(e){this._techniqueConfiguration.backfaceCullingEnabled!==e&&(this._techniqueConfiguration.backfaceCullingEnabled=e,this.notifyChange("cullBackFaces"),this.setNeedsRender())}set renderOrder(e){this._set("renderOrder",e),this._setSortingDirty()}get layerUid(){return Q}get slicePlaneEnabled(){return this._techniqueConfiguration.hasSlicePlane}set slicePlaneEnabled(e){this._techniqueConfiguration.hasSlicePlane!==e&&(this._techniqueConfiguration.hasSlicePlane=e,this.setNeedsRender())}set textureFadingEnabled(e){this._techniqueConfiguration.textureFadingEnabled!==e&&(this._techniqueConfiguration.textureFadingEnabled=e,this.setNeedsRender())}set pbrMode(e){this._techniqueConfiguration.pbrMode!==e&&(this._techniqueConfiguration.pbrMode=e,this.setNeedsRender())}setDebugScreenSizePerspective(e){this._techniqueConfiguration.screenSizePerspective!==e&&(this._techniqueConfiguration.screenSizePerspective=e,this.setNeedsRender())}setRootTiles(e){this._rootTiles=e,this.setDirty()}setNeedsHighlight(e){this.needsHighlight=e,this.setNeedsRender()}setRenderOccludedOverlay(e){this.renderOccludedFlags=e?x:V.Occlude,this.setNeedsRender()}setStencilEnabledLayerExtents(e){this._stencilEnabledLayerExtents=e,this._setSortingDirty()}setTileSize(e){this._tileSize=e,null!=this._tileRenderer&&(this._tileRenderer.tileSize=e),this.setDirty()}_prepareTileForLoading(e){e.renderData||(e.renderData=this._renderDataPool.acquire(),e.renderData.init(e),e.renderData.localOrigin=this._getLocalOriginOfTile(e))}loadTile(e){this._prepareTileForLoading(e),this.updateTileGeometryState(e),this.updateTileTexture(e,S.TEXTURE_FADING)}updateTileTexture(e,t){null!=this._tileRenderer&&(this._tileRenderer.updateTileTexture(e,t===S.TEXTURE_FADING?y.FADING:y.UNFADED),this.setNeedsRender(),e.resetPendingUpdate(t))}updateTileGeometryState(e){for(const r of e.layerInfo[T.ELEVATION])r.pendingUpdates&=~S.GEOMETRY;e.resetPendingUpdate(S.GEOMETRY);const t=e.renderData.updateGeometryState();return t&&this.setDirty(),t}updateGeometryIfNeeded(e){e.isLoaded&&e.renderData.updateGeometryIfNeeded(this._rctx)}unloadTile(e){const t=e.renderData;t&&(t.releaseGeometry(),this._renderDataPool.release(t),t.clear(),e.renderData=null,e.setMemoryDirty(),this.setDirty())}_getLocalOriginOfTile(e){const t=ie-re,r=Math.max(0,Math.floor((e.level-t)/re)*re);if(this._isGlobal&&0===r)return c;for(;e.parent&&e.level>r;)e=e.parent;return e.centerAtSeaLevel}setVisibility(e){this._visible=e,this.setDirty()}getStats(){return{numTilesRendered:this._numTilesRendered,numTilesCulled:this._numTilesCulled,numOriginsRendered:this._numOriginsRendered}}set wireframe(e){this._get("wireframe")!==e&&(this._set("wireframe",e),this.setNeedsRender())}setDirty(e=U.UPDATE){this._patchGroupsDirty=!0,this._context.requestRender(e)}_setSortingDirty(e=U.UPDATE){this._patchSortingDirty=!0,this._context.requestRender(e)}setNeedsRender(e=U.UPDATE){this._context.requestRender(e)}initializeRenderContext(e){this._context=e,this._rctx=e.renderContext.rctx,this._techniqueRepository=e.techniqueRepository,this._tileRenderer=new P(this._rctx,this._tileSize,this._techniqueRepository),this.updateTileBackground(),this._emptyTex=k(this._rctx)}uninitializeRenderContext(){this._emptyTex=i(this._emptyTex),this._tileRenderer=i(this._tileRenderer)}intersect(e,t,r,i){if(!this._rootTiles||e.options.selectOpaqueTerrainOnly&&e.options.selectionMode&&this.transparency!==ne.Opaque)return;const s=ae,n=le;l(s,i,r),h(n,1/s[0],1/s[1],1/s[2]);const o=e.results.min,c=e.results.max,d=e.results.ground,p=e.options.store===z.MIN,_=!!e.results.ground.target,f=X(e.verticalOffset),b=e.tolerance;let y,T=p&&null!=o.dist?o.dist:1/0;const R=h=>{const _=h.renderData;if(!_?.vao)return;const R=_.geometry;m(se,R.boundingBox);const x=_.localOrigin;null!=f&&(f.localOrigin=x,f.applyToAabb(se));const O=se;if(he[0]=r[0]-x[0],he[1]=r[1]-x[1],he[2]=r[2]-x[2],!K(O,he,n,b,T))return;const C=(e,t,r)=>{e.set(this.type,h,t,r,a),T=p&&null!=o.dist?o.dist:1/0},v=(n,a)=>{if(null!=a&&n>=0&&(e.options.backfacesTerrain||u(a,s)<0)&&(e.options.invisibleTerrain||!e.options.selectionMode||null==t||t(r,i,n))){if((null==d.dist||n<d.dist)&&C(d,n,a),e.options.isFiltered)return;e.options.store===z.ALL&&(null==y?(y=B(e.ray),C(y,n,a),e.results.all.push(y)):n<y.dist&&C(y,n,a)),(null==o.dist||n<o.dist)&&C(o,n,a),e.options.store!==z.MIN&&(null==c.dist||n>c.dist)&&C(c,n,a)}},D=ue;l(D,i,x);const P=R.indices,S=R.vertexAttributes,E=S.getField(Y.POSITION,g),q=new F(E.typedBuffer,3,!1,S.stride/4),A=R.indexCount/3;if(!f&&A>w){const e=h.renderData;null==e.intersectionData&&(e.intersectionData=new N(P,0,A,q)),e.intersectionData.intersectRay({r0:he,r1:D},v)}else J(he,D,0,A,P,q,null,f,v)},x=this._rootTiles;if(null!=x){(()=>{const t=this._tileIterator;t.reset(x);const i=e.options.invisibleTerrain;for(let e=t.next();e;e=t.next())!(e.visible||i&&e.intersectsClippingArea)||null==f&&!e.intersectsRay(r,s,b,T)||_&&this._useStencilForTile(e)?t.skipSubtree():R(e)})()}}processScaleRangeQueries(e,t){if(!t.done)for(this._updatePatchGroups();e.updating&&!t.done;){e.prepare();for(const t of this._patchGroups.values())for(const r of t)null!=r.renderData?.textureReference&&e.queriesForTile(r);e.process(),t.madeProgress()}}prepareTechnique(e){if(e.bindParameters.slot===H.OCCLUDED_TERRAIN){if(0==(e.renderOccludedMask&x))return null}else{const t=this.transparency===ne.Opaque?H.OPAQUE_TERRAIN:H.TRANSPARENT_TERRAIN;if(e.bindParameters.slot!==t)return null}switch(e.output){case j.Color:return this.transparency===ne.Empty?null:(this._techniqueConfiguration.hasScreenSpaceReflections=null!=e.bindParameters.ssr.lastFrameColor,this._techniqueConfiguration.hasCloudsReflections=null!=e.bindParameters.cloudsFade.data,this._techniqueConfiguration.receiveShadows=e.bindParameters.shadowMap.ready,this._techniqueConfiguration.receiveAmbientOcclusion=e.bindParameters.ssaoHelper.active,this._techniqueConfiguration.overlayMode=this._overlayRenderer.isEmpty?G.Disabled:this._overlayRenderer.hasWater?G.EnabledWithWater:G.Enabled,this._updateTechnique(j.Color,e.bindParameters.slot===H.OCCLUDED_TERRAIN));case j.Shadow:case j.ShadowExcludeHighlight:return this._castShadows&&1===e.bindParameters.lighting.globalFactor?(this._techniqueConfiguration.receiveShadows=this._techniqueConfiguration.receiveAmbientOcclusion=!1,this._updateTechnique(j.Shadow,!1)):null;case j.Depth:return this.transparency===ne.Empty?null:(this._techniqueConfiguration.receiveShadows=this._techniqueConfiguration.receiveAmbientOcclusion=!1,this._updateTechnique(j.Depth,!1));case j.Normal:return this.transparency===ne.Empty?null:(this._techniqueConfiguration.receiveShadows=this._techniqueConfiguration.receiveAmbientOcclusion=!1,this._updateTechnique(j.Normal,!1));case j.ObjectAndLayerIdColor:return this.transparency===ne.Empty?null:this._updateTechnique(j.ObjectAndLayerIdColor,!1);case j.Highlight:return this.transparency!==ne.Empty&&this.needsHighlight?(this._techniqueConfiguration.receiveShadows=this._techniqueConfiguration.receiveAmbientOcclusion=!1,this._updateTechnique(j.Highlight,!1)):null}return null}render(e,t){switch(this._updatePatchGroups(),t.useStencil=!1,e.output){case j.Color:{const r=e.bindParameters.slot===H.OCCLUDED_TERRAIN?R.Occluded:R.ColorAndWater;this._renderMaterialPass(e,t,r);break}case j.Depth:case j.Normal:this._renderAuxiliaryPass(e,t,R.ColorAndWater);break;case j.Highlight:this._renderAuxiliaryPass(e,t,R.Highlight);break;case j.Shadow:case j.ShadowExcludeHighlight:this._renderAuxiliaryPass(e,t,R.None);break;case j.ObjectAndLayerIdColor:this._renderAuxiliaryPass(e,t,R.ObjectAndLayerIdColor)}}_renderMaterialPass(e,t,r){const{rctx:i}=e;this._passParameters.overlaySource=r,i.bindTechnique(t,this._passParameters,e.bindParameters),this._numTilesRendered=0,this._numTilesCulled=0,this._numOriginsRendered=0,this._renderPatchGroups(e,t,r)}_renderAuxiliaryPass(e,t,r){const i=e.rctx;this._passParameters.overlaySource=r,i.bindTechnique(t,this._passParameters,e.bindParameters),this._renderPatchGroupsAuxiliary(e,t,r)}updateTileBackground(e=null){if(null==this._tileRenderer)return;const r=this._tileRenderer;let i=null;if(null!=e){const r=t.toUnitRGBA(e);i=d(r[0]||0,r[1]||0,r[2]||0)}r.setBackground(i),this._allTiles.forAll((e=>r.updateTileTexture(e,y.FADING))),this._techniqueConfiguration.tileBlendInput=r.backgroundIsGrid?L.GridComposite:null!=r.backgroundColor?L.ColorComposite:L.LayerOnly,this.setNeedsRender()}_updatePatchGroups(){if(this._patchGroupsDirty&&(this._highestVisibleLODTile=null,this._rebuildPatchGroups(),this._patchGroupsDirty=!1,this._patchSortingDirty=!0),this._patchSortingDirty&&this.renderOrder!==v.NONE){const e=Array.from(this._patchGroups.values()),t=this._stencilEnabledLayerExtents;for(const r of e)q(this.renderOrder,r,t);e.sort(((e,t)=>A(e[0],t[0],this.renderOrder))),this._patchGroups=new Map(e.map((e=>[e[0].renderData.localOrigin,e]))),this._patchSortingDirty=!1}}_rebuildPatchGroups(){const e=this._rootTiles;if(null!=e){e[0]?.surface.checkAllTilesWaterproofness(),this._patchGroups.clear();for(const t of e)this._rebuildPatchGroupsForRootTile(t)}}_rebuildPatchGroupsForRootTile(e){const t=this._tileIterator;for(t.resetOne(e);!t.done;){const e=t.next(),r=e.renderData;if(!r){this._numTilesCulled++;continue}if(!e.visible){this._numTilesCulled++,t.skipSubtree();continue}const i=r.localOrigin;let s=this._patchGroups.get(i);s||(s=new Array,this._patchGroups.set(i,s)),s.push(e),(!this._highestVisibleLODTile||e.elevationLevel>this._highestVisibleLODTile.elevationLevel)&&(this._highestVisibleLODTile=e),t.skipSubtree()}}_useStencilForTile(e){for(const t of this._stencilEnabledLayerExtents)if(e.intersectsExtent(t))return!0;return!1}_renderPatchGroupsAuxiliary(e,t,r){const i=this._stencilEnabledLayerExtents.length>0;this._patchGroups.forEach((s=>{const n=s[0].renderData.localOrigin;t.program.bindDraw(new Z(n),e.bindParameters,this._passParameters);for(let o=0;o<s.length;o++)this._renderPatch(e,t,s[o],te.TRIANGLES,i,r)})),e.rctx.bindVAO(null)}_renderPatchGroups(e,t,r){const i=e.bindParameters.camera,s=t.program;if(this._techniqueConfiguration.screenSizePerspective&&this.pointsOfInterest){const e=W(this._stage.viewingMode,this._ellipsoidRadius),t=this.pointsOfInterest.centerOnSurfaceFrequent.distance;e.update({distance:t,fovY:i.fovY})}const n=this._stencilEnabledLayerExtents.length>0,o=r===R.Occluded;o&&(s.bindTexture("tex",this._emptyTex),s.setUniform3fv("textureOpacities",c),s.setUniform4fv("texOffsetAndScale",_));const a=null!=this._tileRenderer&&null!=this._tileRenderer.backgroundColor?this._tileRenderer.backgroundColor:c;this._techniqueConfiguration.tileBlendInput===L.ColorComposite&&s.setUniform3fv("backgroundColor",a);const l=this.wireframe?te.LINES:te.TRIANGLES;this._techniqueConfiguration.textureFadingEnabled&&s.bindTexture("texNext",this._emptyTex);const h=this._patchGroups;for(const u of h.values()){const i=u[0].renderData.localOrigin;t.program.bindDraw(new Z(i),e.bindParameters,this._passParameters),this._numOriginsRendered++;for(const a of u){const i=a.renderData,h=i.textureReference;if(null!=h){if(!o){s.setUniform4fv("texOffsetAndScale",h.offsetAndScale),s.bindTexture("tex",h.texture.texture);const e=i.textureFadeFactor,t=e<1?i.nextTextureReference:null;this._techniqueConfiguration.textureFadingEnabled&&null!=t&&e<1?(s.setUniform1f("fadeFactor",e),s.setUniform4fv("nextTexOffsetAndScale",t.offsetAndScale),s.setUniform3fv("nextTexOpacities",t.opacities),s.bindTexture("texNext",t.texture.texture)):s.setUniform1f("fadeFactor",1),i.textureIsFading&&this.setNeedsRender(),s.setUniform3fv("textureOpacities",h.opacities)}this._renderPatch(e,t,a,l,n,r),a.renderOrder=this._numTilesRendered,this._numTilesRendered++}}}e.rctx.bindVAO(null)}_renderPatch(e,t,r,i,s,n){const o=r.renderData,a=o.vao,l=a.indexBuffer;if(null==l)return void(D&&console.error("Rendered tile with no indices: ",r.lij," : ",o));const h=t.program;n===R.None||this._overlayRenderer.isEmpty||this._bindOverlayPatchData(h,o.overlay),s&&(t.useStencil=this._useStencilForTile(r),t.bindPipelineState(e.rctx,e.bindParameters.slot));const u=o.geometry.indexCount;e.rctx.bindVAO(a),h.assertCompatibleVertexAttributeLocations(a),e.rctx.drawElements(i,u,l.indexType,0)}_bindOverlayPatchData(e,t){e.setUniform4fv("overlayTexOffset",t.offsets),e.setUniform4fv("overlayTexScale",t.scales)}_updateTechnique(e,t){return this._techniqueConfiguration.output=e,this._techniqueConfiguration.renderOccluded=t,this._shaderTechnique=this._techniqueRepository.releaseAndAcquire($,this._techniqueConfiguration,this._shaderTechnique),this._shaderTechnique}get test(){return{tileRenderer:this._tileRenderer}}};e([n({constructOnly:!0})],oe.prototype,"_overlayRenderer",void 0),e([n({constructOnly:!0})],oe.prototype,"_stage",void 0),e([n({readOnly:!0})],oe.prototype,"_isGlobal",null),e([n({constructOnly:!0})],oe.prototype,"_allTiles",void 0),e([n({constructOnly:!0})],oe.prototype,"_ellipsoidRadius",void 0),e([n({value:!1})],oe.prototype,"renderingDisabled",null),e([n()],oe.prototype,"renderPatchBorders",null),e([n()],oe.prototype,"visualizeNormals",null),e([n()],oe.prototype,"cullBackFaces",null),e([n({value:v.FRONT_TO_BACK})],oe.prototype,"renderOrder",null),e([n()],oe.prototype,"wireframe",null),oe=e([o("esri.views.3d.terrain.TerrainRenderer")],oe);const ae=p(),le=p(),he=p(),ue=p();export{oe as TerrainRenderer,ne as TransparencyMode};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.28/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../../chunks/tslib.es6.js";import t from"../../../Color.js";import i from"../../../core/Accessor.js";import{difference as r}from"../../../core/arrayUtils.js";import s from"../../../core/CollectionFlattener.js";import a from"../../../core/Evented.js";import n from"../../../core/Handles.js";import l from"../../../core/Logger.js";import{clamp as o}from"../../../core/mathUtils.js";import{releaseMaybe as h,destroyMaybe as d}from"../../../core/maybe.js";import p from"../../../core/ObjectPool.js";import u from"../../../core/PooledArray.js";import{throwIfAborted as c,isAbortError as _,isAborted as g,createAbortError as m}from"../../../core/promiseUtils.js";import{watch as T,syncAndInitial as y,sync as f,initial as v}from"../../../core/reactiveUtils.js";import{property as w}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/accessorSupport/ensureType.js";import"../../../core/has.js";import{subclass as E}from"../../../core/accessorSupport/decorators/subclass.js";import{m as S}from"../../../chunks/mat4.js";import{c as L}from"../../../chunks/mat4f64.js";import{c as D}from"../../../chunks/vec3.js";import{c as P}from"../../../chunks/vec3f64.js";import{c as b}from"../../../chunks/vec4f64.js";import{WatchUpdatingTracking as U}from"../../../core/support/WatchUpdatingTracking.js";import{getReferenceEllipsoid as x}from"../../../geometry/ellipsoidUtils.js";import{projectVectorToVector as R,projectPointToVector as C}from"../../../geometry/projection.js";import M from"../../../geometry/SpatialReference.js";import{create as j,equals as A,intersection as I,empty as O,expand as V,intersectsSphere as k}from"../../../geometry/support/aaBoundingRect.js";import{create as B,copy as N}from"../../../geometry/support/frustum.js";import{isPlateCarree as F}from"../../../geometry/support/spatialReferenceUtils.js";import{isRefreshableLayer as q}from"../../../layers/mixins/RefreshableLayer.js";import{ElevationQueryTileCache as G}from"../../../layers/support/ElevationQueryTileCache.js";import{ElevationTileData as W}from"../../../layers/support/ElevationTileData.js";import{isBaseLayer as H}from"../../../layers/support/layerUtils.js";import{acquireDecoder as Q}from"../../../layers/support/LercDecoder.js";import{printAllocations as z}from"../../2d/engine/vectorTiles/VectorTile.js";import{directionToHeadingTilt as X}from"../support/cameraUtils.js";import Y from"../support/debugFlags.js";import{toBoundingRect as $}from"../support/extentUtils.js";import{ClientType as K}from"../support/index.js";import{updatingProgress as J}from"../support/updatingProperties.js";import{ElevationBounds as Z}from"./ElevationBounds.js";import{ElevationData as ee,sampleElevation as te}from"./ElevationData.js";import{create as ie}from"./ExtentHelper.js";import{LODSnapping as re,TextureUpdate as se}from"./interfaces.js";import{LayerClass as ae,LayerClasses as ne}from"./LayerClass.js";import{OverlayManager as le}from"./OverlayManager.js";import{PlanarPatch as oe}from"./PlanarPatch.js";import{RenderOrder as he}from"./RenderOrder.js";import{ScaleRangeQueries as de}from"./ScaleRangeQueries.js";import{SphericalPatch as pe}from"./SphericalPatch.js";import{SplitLimits as ue}from"./SplitLimits.js";import{MAX_ROOT_TILES as ce,TOO_MANY_ROOT_TILES_AFTER_CHANGE_ERROR as _e,TOO_MANY_ROOT_TILES_FOR_LAYER_ERROR as ge,MAX_MEMORY_LOD_BIAS as me,ELEVATION_NODATA_VALUE as Te}from"./TerrainConst.js";import{TerrainRenderer as ye,TransparencyMode as fe}from"./TerrainRenderer.js";import ve from"./TerrainSurfacePerformanceInfo.js";import{weakAssert as we,internalAssert as Ee,oppositeEdge as Se,isSurfaceLayerView as Le,isGroupLayerView as De,isMapTileLayerView as Pe,isBlendableLayerView as be,isElevationLayerView as Ue,isVectorTileLayerView as xe,useFetchTileForLayer as Re,isImageryTileLayerView as Ce,isTileLayerView as Me,releaseTileData as je,neighborCornerIndices as Ae,oppositeCorner as Ie,neighborEdgeIndices as Oe,ENABLE_TERRAIN_INTERNAL_CHECKS as Ve,ENABLE_WATERPROOFNESS_TESTS as ke,enableTerrainInternalChecks as Be,enableTerrainWaterproofnessChecks as Ne}from"./terrainUtils.js";import{Tile as Fe}from"./Tile.js";import{printAllocations as qe}from"./TilePerLayerInfo.js";import{TileUpdate as Ge}from"./TileUpdate.js";import{IteratorPreorder as We,IteratorPostorder as He,compareTilesByLij as Qe,hasLoadableSiblings as ze,sortTilesByPOI as Xe,sortTiles as Ye}from"./tileUtils.js";import{TilingSchemeLogic as $e}from"./TilingSchemeLogic.js";import{UpsampleInfo as Ke}from"./UpsampleInfo.js";import{isCompositeBlendMode as Je,blendModeFromString as Ze}from"../webgl-engine/core/shaderLibrary/output/BlendOptions.js";import{PBRMode as et}from"../webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{RenderRequestType as tt}from"../webgl-engine/lib/basicInterfaces.js";import{RenderState as it}from"../../support/RenderState.js";import{ImmediateTask as rt,TaskPriority as st,noBudget as at}from"../../support/Scheduler.js";let nt=class extends(a.EventedMixin(i)){constructor(e){super(e),this._scaleRangeQueries=new de,this._iteratorPool=new p(We,(e=>e.remove=()=>this._iteratorPool.release(e))),this._postorderIterator=new He,this._hasPendingUpdates=!1,this._pendingUpdates=0,this._asyncWorkItems=0,this._allTilesDirty=!0,this._allTilesSorted=!0,this._visibleCached=!1,this._usedMemory=null,this._performanceInfo=new ve,this._viewChanged=!1,this._inFrameTask=!1,this._viewChangeUpdateDirty=!1,this._eyePosRenderSR=P(),this._eyePosSurfaceSR=P(),this._splitLimits=new ue,this._frustum=B(),this._viewProjectionMatrix=L(),this._layerViews=[new Array,new Array],this._layerIndexByUid=[new Map,new Map],this._basemapLayerViewHandles=new Map,this._handles=new n,this._watchUpdatingTracking=new U,this._frameTask=rt,this._allTiles=new u,this._upsampleInfoPool=new p(Ke),this._rootTilesExtent=j(),this.updatingProgress=.5,this._maxNumUpdating=1,this.maxTextureScale=1.2,this._spatialReference=M.WebMercator,this.visibleElevationBounds=new Z(1/0,-1/0),this.rootTileElevationBounds=new Z(1/0,-1/0),this._updatingRootTiles=!1,this._pendingTilesForElevationUpdateEvent=new Set,this._pendingTilesToUpdate=new Set,this.totalGeometryUpdates=0,this.totalTileUpdates=0,this.oneBatchPerFrameTask=!0,this._layerViewsDirty=!1,this.unloadedMemory=0,this.ignoresMemoryFactor=!1,this._isWebMercator=!1,this._isWebMercatorOnPlateeCarree=!1,this.overlayManager=new le({...e,surface:this}),this._isGlobal=!e.view?.state?.isLocal}initialize(){this._lercDecoder=Q(this.view.resourceController),this._tilePool=this.view.state.isLocal?new p(oe):new p(pe);const e=this.view.resourceController.memoryController;this._upsampleMapCache=e.newCache("terrain-upsample",(e=>e.unloadMapData())),this._elevationQueryCache=new G(e.newCache("elevation-query")),this._handles.add([T((()=>this.overlayManager.hasHighlights),(e=>this._renderer.setNeedsHighlight(e))),T((()=>this.overlayManager.rendersOccluded),(e=>this._renderer.setRenderOccludedOverlay(e))),T((()=>this.overlayManager.renderer.isEmpty),(()=>this._evaluateTransparency()))],"overlayManager"),this._renderer=new ye({_overlayRenderer:this.overlayManager.renderer,_ellipsoidRadius:x(this.view.spatialReference).radius,_stage:this.view._stage,_allTiles:this._allTiles}),this._handles.add([T((()=>this.baseOpacity),(()=>{this._handleLayerViewChanges(),this._updateTileTextures(this._evaluateTransparency()?se.UNFADED:se.IMMEDIATE)}),y),T((()=>this.hasCompositeBlendMode),(()=>this._updateTileTextures(this._evaluateTransparency()?se.UNFADED:se.IMMEDIATE)),y),T((()=>this.renderingDisabled),(()=>this.view?._stage?.renderer.setParameters({terrainRenderingEnabled:!this.renderingDisabled})),f),T((()=>this.backgroundColor),(e=>{this._handleLayerViewChanges(),this._renderer.updateTileBackground(e)}),y),T((()=>this.snapLevel),(()=>this._viewChanged=!0),f),T((()=>this.view.pointsOfInterest),(e=>{this._renderer.pointsOfInterest=e,this._watchUpdatingTracking.removeAll(),e&&this._watchUpdatingTracking.add((()=>e.focus.renderLocation),(()=>this._allTilesSorted=!1))})),T((()=>Y.TERRAIN_TILE_TREE_SHOW_TILES),(e=>{e&&!this._treeDebugger?import("../layers/support/TerrainTileTree3DDebugger.js").then((({TerrainTileTree3DDebugger:e})=>{!this._treeDebugger&&Y.TERRAIN_TILE_TREE_SHOW_TILES&&(this._treeDebugger=new e({view:this.view}))})):e||(this._treeDebugger=d(this._treeDebugger))}),v)]);const{spatialReference:t}=this.view;this._extentHelper=ie(this.viewingMode,{layers:this.view.map.allLayers,layerViews:this.view.allLayerViews,viewSpatialReference:t});const i=new s({getCollections:()=>this.view?.defaultsFromMap?.mapCollections?.map((({layers:e})=>e)),getChildrenFunction:e=>e&&"layers"in e?e.layers:null}),r=new $e({layers:i,extentHelper:this._extentHelper,viewingMode:this.viewingMode,viewSpatialReference:t});this._set("tilingSchemeLogic",r),this._updateTilingScheme(),this._elevationDataRequester=this.view.resourceController.createStreamDataRequester(K.ELEVATION),this._mapDataRequester=this.view.resourceController.createStreamDataRequester(K.BASEMAP);const a=this.view.resourceController.scheduler;this._frameTask=a.registerTask(st.TERRAIN_SURFACE,this),this._handles.add([T((()=>this._extentHelper.stencilEnabledExtents),(e=>this._renderer.setStencilEnabledLayerExtents(e)),v),T((()=>this.tilingSchemeLogic.tilingScheme),(()=>this._updateTilingScheme()),f),T((()=>this.extent),(()=>this._updateRootTiles()),v),this.view.on("resize",(()=>this._viewChangeUpdate())),T((()=>{const e=this.view,t=e.state;return[this._lodBias,this.lodSnapping,e.resourceController?.memoryController?.memoryFactor,t.camera,t.contentCamera,t.fixedContentCamera]}),(()=>this._viewChangeUpdate()),y),T((()=>this.view.qualitySettings?.tiledSurface?.textureFadeDuration),(e=>this._renderer.textureFadingEnabled=e>0),v),T((()=>this.view.qualitySettings?.physicallyBasedRenderingEnabled),(e=>this._renderer.pbrMode=e?et.Terrain:et.Disabled),v),T((()=>this._userClippingExtent),(()=>this._updateClippingExtent()),f)]),this._handles.add(this.view.allLayerViews.on("after-changes",(()=>this._layerViewsDirty=!0))),this._layerViewsDirty=!0,this._handleLayerViewChanges()}destroy(){this._frameTask.remove(),this._handles.destroy(),this._watchUpdatingTracking.destroy(),this._lercDecoder=h(this._lercDecoder),this._removeAllTiles(),this._upsampleMapCache=d(this._upsampleMapCache),this._elevationQueryCache=d(this._elevationQueryCache),this._set("tilingSchemeLogic",d(this.tilingSchemeLogic)),this._basemapLayerViewHandles.forEach(((e,t)=>this._unregisterTiledLayerView(t))),this._elevationDataRequester=null,this._mapDataRequester=null,this._set("overlayManager",d(this.overlayManager)),this._tilePool=d(this._tilePool),Fe.prune(),this._treeDebugger=d(this._treeDebugger),this._renderer=d(this._renderer),this._iteratorPool=d(this._iteratorPool),this._set("view",null),this._extentHelper=d(this._extentHelper),this._upsampleInfoPool=d(this._upsampleInfoPool),z(),qe()}get renderer(){return this._renderer}get frustum(){return this._frustum}get snapLevel(){if(this.lodSnapping===re.ON){const e=this.view,t=this.tilingScheme,i=e.pointsOfInterest?.cameraOnSurface?.scale;if(t&&i){const r=e.state.contentCamera;let s=X(e,r.eye,r.viewForward,r.up).tilt;s>90&&(s=180-s);const a=2*(s/90)**2,n=t.levelAtScale(i)-a,l=Math.min(n,this._splitLimits.maxLod||1/0);return l<=0?null:l}}return null}get lodSnapping(){return this.view.qualitySettings.tiledSurface.reduceTileLevelDifferences?re.ON:re.OFF}get upsampleInfoPool(){return this._upsampleInfoPool}get upsampleMapCache(){return this._upsampleMapCache}get elevationQueryCache(){return this._elevationQueryCache}get mapTileRequester(){return this._mapDataRequester}get _userClippingExtent(){const{spatialReference:e}=this,{clippingArea:t}=this.view;if(null==t||null==e)return null;const i=j(),r=$(t,i,e)?i:null,s=this._get("extent");return A(r,s)?s:r}get rootTilesExtent(){return this._rootTilesExtent}get extent(){const e=I(this.groundExtent,this._userClippingExtent,j()),t=this._get("extent");return A(e,t)?t:e}get groundExtent(){return null!=this._tilingSchemeExtent?this._tilingSchemeExtent:this._rootTilesExtent}get _tilingSchemeExtent(){return this.tilingSchemeLogic?.extent}get updating(){return this._hasPendingUpdates||(this._maxNumUpdating=1),!!((this.running||this._watchUpdatingTracking?.updating||this._asyncWorkItems>0)&&this.ready&&!this.suspended||this.overlayManager?.updating)}get running(){return(this._hasPendingUpdates||this._viewChanged||this._allTilesDirty||!this._allTilesSorted||this._layerViewsDirty||this._scaleRangeQueries.updating||this._frameTask.updating)&&this.ready&&!this.suspended}get updatingProgressValue(){return this._maxNumUpdating=Math.max(this._pendingUpdates,this._maxNumUpdating),1-this._pendingUpdates/this._maxNumUpdating}get baseOpacity(){return this.view?.map?.ground?.opacity??1}set baseOpacity(e){this.view.map.ground.opacity=e}get viewingMode(){return this.view.state.viewingMode}get ready(){return null!=this._rootTiles}set renderOrder(e){this._renderer.renderOrder=e,this._set("renderOrder",e)}get rootTiles(){return this._rootTiles}get spatialReference(){return this.tilingScheme?.spatialReference??null}get backgroundColor(){return this.view.map.ground.surfaceColor}set backgroundColor(e){this.view.map.ground.surfaceColor=e}set slicePlaneEnabled(e){this._renderer.slicePlaneEnabled=e,this._set("slicePlaneEnabled",e),this._evaluateTransparency()}get tilingSchemeLocked(){return this.tilingSchemeLogic?.tilingSchemeLocked??!1}get wireframe(){return this._renderer?.wireframe}set wireframe(e){e!==this._renderer.wireframe&&(this._renderer.wireframe=e,this._updateAllTileGeometries())}set _visible(e){e!==this._visibleCached&&(this._visibleCached=e,this._renderer.setVisibility(e),this.suspended=!e)}get opaque(){return this._renderer.transparency===fe.Opaque}set suspended(e){this._set("suspended",e),this._viewChangeUpdate()}get textureFadeDuration(){return this.view.qualitySettings.tiledSurface.textureFadeDuration??0}intersect(e,t,i,r){this._renderer.intersect(e,t,i,r)}getElevation(e,t,i,r){const s=this._rootTiles;if(null==s||!s.length)return null;if(0===s[0].layerInfo[ae.ELEVATION].length)return null;const a=pt;if(a[0]=e,a[1]=t,a[2]=i,!R(a,r,a,this._spatialReference))return l.getLogger(this).error("TerrainSurface.getElevation(): could not project given point to tiling scheme coordinate system"),null;return Tt(s,a[0],a[1])}getElevations(e,t,i){const r=this._rootTiles,s=r?r[0].layerInfo[ae.ELEVATION].length:0;if(null!=r&&r.length&&0!==s)for(let a=0;a<t;++a){const t=3*a;i(a,Tt(r,e[t],e[t+1]))}else for(let a=0;a<t;++a)i(a,null)}getScale(e){if(!this.tilingScheme)return null;if(!C(e,pt,this.spatialReference))return l.getLogger(this).error("TerrainSurface.getScale(): could not project given point to tiling scheme coordinate system"),null;const t=this._rootTiles;if(null!=t)for(const i of t)if(i?.containsPoint(pt)){let e=i;for(;e.children[0]&&!e.rendered;){const t=e.children[0].extent;let i=0;pt[0]>t[2]&&(i+=1),pt[1]<t[1]&&(i+=2),e=e.children[i]}return this._getLodBiasCorrectedScale(e.level)}return 1/0}getSphereElevationBounds(e,t){if(pt[0]=e[0],pt[1]=e[1],pt[2]=e[2],pt[3]=e[3],!R(pt,t,pt,this.tilingScheme?.spatialReference))return l.getLogger(this).error("TerrainSurface.getSphereElevationBounds(): could not project given point to tiling scheme coordinate system"),null;let i=1/0,r=-1/0;const s=e=>{if(e&&k(e.extent,pt))if(e.isLeaf||e.rendered)i=Math.min(i,e.elevationBounds[0]),r=Math.max(r,e.elevationBounds[1]);else for(const t of e.children)s(t)},a=this._rootTiles;if(null!=a)for(const n of a)s(n);return{min:i,max:r}}getSphereScale(e,t){if(!this.tilingScheme)return null;if(!C(e,pt,this.spatialReference))return l.getLogger(this).error("TerrainSurface.getSphereScale(): could not project given point to tiling scheme coordinate system"),null;pt[3]=t;let i=null;const r=e=>{if(e&&k(e.extent,pt)){const t=e.children;if(t[0]&&!e.rendered)for(const e of t)r(e);else{const t=this._getLodBiasCorrectedScale(e.level);i=null==i?t:Math.min(i,t)}}},s=this._rootTiles;if(null!=s)for(const a of s)r(a);return i}queryVisibleScaleRange(e,t,i,r){const s=t?this.tilingScheme.levelAtScale(t):0,a=i?this.tilingScheme.levelAtScale(i):1/0,n=this._lodBias;this._scaleRangeQueries.queryVisibleLevelRange(e,s+n,a+n,r)}_evaluateTransparency(){const e=this.baseOpacity,t=this.overlayManager.renderer.isEmpty,i=this._renderer.transparency,r=this._allSurfaceLayersTransparent()?t?fe.Empty:fe.TransparentWithDraped:e>=1&&!this.hasCompositeBlendMode&&!this._renderer.slicePlaneEnabled?fe.Opaque:fe.Semitransparent,s=i!==r;return s&&(this._renderer.transparency=r,this.view?._stage?.renderer.setParameters({terrainTransparency:this._renderer.transparency})),s}_updateTilingScheme(){const e=this.tilingSchemeLogic.tilingScheme;if(!(e!==this.tilingScheme))return;we(!!e,"tiling scheme cannot be reset to undefined"),this._isGlobal=!this.view?.state?.isLocal,this.tilingScheme&&this._removeAllTiles();const t=e?.spatialReference??M.WebMercator;this._spatialReference=t,this._isWebMercator=!!t?.isWebMercator,this._isWebMercatorOnPlateeCarree=this._isWebMercator&&F(this.view?.renderSpatialReference),this._set("tilingScheme",e),this._updateClippingExtent(),e&&(this._updateTiledLayers(),this._renderer.setTileSize(e.pixelSize),this.overlayManager.setSpatialReference(e.spatialReference),this._updateRootTiles())}_acquireTile(e,t,i,r){const s=this._tilePool.acquire();return ct[0]=e,ct[1]=t,ct[2]=i,s.init(ct,r,this),s}get updatingRootTiles(){return this._updatingRootTiles}_updateRootTiles(){const{extent:e,tilingScheme:t}=this;if(!t)return;const i=ut;let s=t.rootTilesInExtent(e,i,5*ce);if(null!=this._rootTiles){if(s.length>ce)return void l.getLogger(this).warn(_e);const e=this._rootTiles.map((e=>e.lij)),t=r(e,s,ot);if(this._updatingRootTiles=!0,t.removed.length>0||t.added.length>0){const e=this._rootTiles.filter((e=>!(t.removed.findIndex((t=>ot(t,e.lij)))>-1)||(this._purgeTile(e),!1)));t.added.forEach((t=>e.push(this._newRootTile(t)))),this._setRootTiles(e)}}else this._updatingRootTiles=!0,s.length>ce&&(l.getLogger(this).warn(ge),s=t.rootTilesInExtent(e,i,ce)),this._setRootTiles(s.map((e=>this._newRootTile(e))));A(i,this._rootTilesExtent)||(this._rootTilesExtent=j(i)),this._visible=!0,this._viewChangeUpdate(),this.overlayManager.setPlacementDirty(),this.notifyChange("ready"),this._updateAllTileGeometries(),this._updatingRootTiles=!1,this.checkAllTilesWaterproofness()}_updateAllTileGeometries(){const e=this._allTiles.filter((e=>e.isLoaded&&e.intersectsClippingArea));e.forEach((e=>this._renderer.updateTileGeometryState(e))),e.forEach((e=>e.renderData.updateNeighborData())),this._updateTilesGeometries(e),this._pendingTilesToUpdate.clear()}_updateTilesGeometries(e){if(0===e.length)return;e.sort(Qe);const t=this.renderer;e.forEach((e=>t.updateGeometryIfNeeded(e))),e.forEach((e=>this._pendingTilesForElevationUpdateEvent.add(e)))}_shouldSplit(e){return e.shouldSplit(this._splitLimits,this._eyePosRenderSR,this.snapLevel)===Ge.SPLIT}_newRootTile(e){const t=this._acquireTile(0,e[1],e[2],null);return this._shouldSplit(t)&&t.setPendingUpdate(Ge.SPLIT),this._loadTile(t),this._markTileToUpdate(t),this._updateRootTileElevationBounds(),t}_setRootTiles(e){if(this._rootTiles=e,this._allTiles.clear(),null!=e){const t=this._iteratorPool.acquire();for(t.reset(e);!t.done;)this._allTiles.push(t.next());t.remove()}this._renderer.setRootTiles(this._rootTiles),this._updateTilesVisibility(e)}_runViewChangeUpdateIfDirty(){this._viewChangeUpdateDirty&&(this._viewChangeUpdateDirty=!1,this._viewChangeUpdate())}_viewChangeUpdate(){this.view&&!this.suspended&&this.tilingScheme&&this._visibleCached&&(this._inFrameTask?this._viewChangeUpdateDirty=!0:(this._viewChangeUpdateDirty=!1,this._updateViewDependentParameters(),this._updateTilesVisibility(this._rootTiles)))}_updateClippingStatus(e){e.updateClippingStatus(this.extent)&&e.resetPendingUpdate(Ge.GEOMETRY)&&this._updateTileGeometryState(e)}_updateTilesVisibility(e){if(null==e)return;const t=ze(e),i=this.visibleElevationBounds;let r=t?i.min:1/0,s=t?i.max:-1/0;const a=this.extent,n=this._viewProjectionMatrix;this.setTileTreeDirty();const l=this._iteratorPool.acquire();for(l.reset(e);!l.done;){const e=l.next();e.updateClippingStatus(a)&&e.resetPendingUpdate(Ge.GEOMETRY)&&this._updateTileGeometryState(e),e.setPendingUpdate(Ge.RENDERDATA),e.computeVisibility(),e.updateScreenDepth(n),e.renderData&&(r=Math.min(e.elevationBounds[0],r),s=Math.max(e.elevationBounds[1],s))}l.remove(),this._viewChanged=!0,this._allTilesDirty=!0,this._batchUpdatePendingTileGeometries(),isFinite(r)&&isFinite(s)&&(i.min!==r||i.max!==s)&&(this.visibleElevationBounds=new Z(r,s))}_updateRootTileElevationBounds(){let e=1/0,t=-1/0;const i=this._rootTiles;null!=i&&i.forEach((({elevationBounds:i})=>{e=Math.min(e,i[0]),t=Math.max(t,i[1])}));const r=this.rootTileElevationBounds;r.min===e&&r.max===t||(this.rootTileElevationBounds=new Z(e,t))}_updateViewDependentParameters(){const{camera:e,contentCamera:t}=this.view.state,i=Math.tan(.5*t.fovX),r=Math.tan(.5*t.fovY),s=this.tilingScheme.pixelSize,a=2**-this._lodBias*e.pixelRatio;this._splitLimits.aboveGround=e.aboveGround,this._splitLimits.fovX=i,this._splitLimits.fovY=r,this._splitLimits.relativeWidthLimit=s/e.width*this.maxTextureScale*a,this._splitLimits.relativeHeightLimit=s/e.height*this.maxTextureScale*a,this._splitLimits.maxLod=this.tilingScheme.getMaxLod(),this._splitLimits.angledSplitBias=this.view.qualitySettings.tiledSurface.angledSplitBias,this.view.state.fixedContentCamera?(null==this._splitLimits.frustum&&(this._splitLimits.frustum=B()),N(this._splitLimits.frustum,t.frustum)):this._splitLimits.frustum=null,N(this._frustum,e.frustum),S(this._viewProjectionMatrix,t.projectionMatrix,t.viewMatrix),D(this._eyePosRenderSR,t.eye),R(e.eye,this.view.renderSpatialReference,this._eyePosSurfaceSR,this.spatialReference)}_updateRenderData(e){e.rendered&&!e.shouldLoad&&(ht(e)?this._loadChildren(e):dt(e)&&this._loadParent(e))}_updateTileGeometryState(e){e.updateVisibility();this._renderer.updateTileGeometryState(e)&&this._markTileToUpdate(e),this._usedMemory=null}_markAllTileNeighborsForGeometryUpdate(e){const t=this._pendingTilesToUpdate;e.forEachLoadedNeighbor((e=>{t.add(e)}))}_updateTileTexture(e,t){const i=e.resetPendingUpdate(Ge.TEXTURE_FADING)?Ge.TEXTURE_FADING:!!e.resetPendingUpdate(Ge.TEXTURE_NOFADING)&&Ge.TEXTURE_NOFADING;i&&(this._renderer.updateTileTexture(e,i),this._usedMemory=null,t.madeProgress())}_emitElevationUpdateEventForTiles(){const e=gt.extent;O(e),this._pendingTilesForElevationUpdateEvent.forEach((t=>V(e,t.extent,e))),this._pendingTilesForElevationUpdateEvent.clear(),gt.spatialReference=this.spatialReference,this.emit("elevation-change",gt)}runTask(e){this._handleLayerViewChanges(e),this._frameTask.processQueue(e),this.renderer.processScaleRangeQueries(this._scaleRangeQueries,e),this._inFrameTask=!0,this._pendingUpdates=0,this._hasPendingUpdates=!1,this._updateAllTilesStatus(e),this._sortTiles(e);const t=!this.view.state.fixedContentCamera;this._mergeAndSplit(e,t),this._updateElevation(e),this._updateTextures(e),t||this._mergeAndSplit(e,!0),this._inFrameTask=!1,this._runViewChangeUpdateIfDirty(),this._batchUpdatePendingTileGeometries(),this._emitElevationUpdateEventForTiles(),e.done&&e.hasProgressed&&this.requestUpdate(),this.notifyChange("updatingProgressValue")}_updateAllTilesStatus(e){if(!this._viewChanged||!this._rootTiles||e.done)return;this._viewChanged=!1;const t=this._iteratorPool.acquire();t.reset(this._rootTiles);const i=this.snapLevel,r=this._splitLimits,s=this._eyePosRenderSR;for(;!t.done;){const e=t.next(),a=e.shouldSplit(r,s,i);if(a!==Ge.SPLIT){if(e.resetPendingUpdate(Ge.SPLIT)&&e.updateAgentSuspension(),a===Ge.ELEVATION&&e.updateAgents(ae.ELEVATION),t.skipSubtree(),!e.isLeaf){e.setPendingUpdate(Ge.MERGE),e.resetPendingUpdate(Ge.SPLIT);const t=this._iteratorPool.acquire();t.resetOne(e);const i=this._viewProjectionMatrix;for(let e=t.next();!t.done;e=t.next())this._updateClippingStatus(e),e.updateVisibility(),e.updateScreenDepth(i);t.remove()}}else e.resetPendingUpdate(Ge.MERGE),e.isLeaf&&(e.setPendingUpdate(Ge.SPLIT),t.skipSubtree()),e.rendered&&e.setPendingUpdate(Ge.RENDERDATA)}t.remove(),this.requestUpdate(),(this.shortBatches||!this.oneBatchPerFrameTask)&&this._batchUpdatePendingTileGeometries(),e.madeProgress()}_sortTiles(e){e.done||this._allTilesSorted||(Xe(this._allTiles,this.view.pointsOfInterest.focus.renderLocation),this._allTilesSorted=!0,this._treeDebugger&&this._treeDebugger.update(),e.madeProgress())}_markTileToUpdate(e){Ee(e.isLoaded),e.intersectsClippingArea&&(this._pendingTilesToUpdate.add(e),this._markAllTileNeighborsForGeometryUpdate(e))}_batchUpdatePendingTileGeometries(){const e=this._pendingTilesToUpdate;if(0===e.size)return;const t=Array.from(this._pendingTilesToUpdate.keys()).filter((e=>e.isLoaded&&e.intersectsClippingArea)),i=(i,r)=>{!r?.isLoaded||!r.intersectsClippingArea||r.level<i.level||e.has(r)||(e.add(r),t.push(r),r.renderData.updateNeighborData())};t.sort(Qe);const r=t.length;for(let s=0;s<r;++s){const r=t[s];Ee(r.isLoaded),Ee(r.intersectsClippingArea);const a=r.renderData;a.updateNeighborData();const n=a._dirtyEdgeResolutions,l=a.geometryState.neighborData.cornerPeerNeighbors,o=e=>{const t=Ae[e];i(r,l[e]?.findCorner(Ie(t),(e=>e.isLoaded)))};for(let t=0;t<4;++t)if(n&1<<t){const s=a.geometryState.neighborData.edgePeerNeighbors[t];s&&s?.level>=r.level&&s.forAllSubtreeOnSide(Se(Oe[t]),(t=>!(!t.isLoaded||!t.intersectsClippingArea)&&(Ee(e.has(t)||Qe(r,t)<0),i(r,t),!0))),o((t+1)%4),o(t)}}e.clear(),this._updateTilesGeometries(t),Ve&&ke&&this.checkAllTilesWaterproofness()}_mergeAndSplit(e,t){if(this.suspended||e.done||!this._allTilesDirty)return;this._allTilesDirty=!1,this.requestUpdate();let i=!1;const r=this.view.state.fixedContentCamera;let s=!1;for(;!e.done;){s=!0;let a=!1;const n=!this._allTiles.some((s=>{if(!i&&!r&&!s.visible)return e.done;let n=s;if(s.resetPendingUpdate(Ge.MERGE)){if(!t)return s.setPendingUpdate(Ge.MERGE),e.done;for(;n.parent?.resetPendingUpdate(Ge.MERGE);)n=n.parent;this._mergeTile(n),a=!0,e.madeProgress()}else s.resetPendingUpdate(Ge.SPLIT)&&(this._splitTile(s),a=!0,e.madeProgress());return!e.done&&n===s&&s.resetPendingUpdate(Ge.RENDERDATA)&&(this._updateRenderData(s),e.madeProgress()),e.done}));if(a&&(this._allTilesSorted=!1,this._allTilesDirty=!0),n){if(!i){i=!0;continue}if(!a)break}else this._allTilesDirty=!0}s?e.madeProgress():this._allTilesDirty=!0,!this.oneBatchPerFrameTask&&this._batchUpdatePendingTileGeometries(),this._sortTiles(e)}_updateElevation(e){e.done||(this._allTiles.some((t=>(t.resetPendingUpdate(Ge.GEOMETRY)&&(this._updateTileGeometryState(t),this._updateTileTexture(t,e),this.shortBatches&&this._batchUpdatePendingTileGeometries(),e.madeProgress()),e.done))),!this.oneBatchPerFrameTask&&this._batchUpdatePendingTileGeometries())}_updateTextures(e){e.done||this._allTiles.some((t=>(this._updateTileTexture(t,e),e.done)))}_updateClippingExtent(){this.spatialReference&&(this.updateTileOverlayParams(tt.UPDATE),this.overlayManager.setPlacementDirty(),this._updateRootTiles())}get _lodBias(){const e=this.view.resourceController.memoryController.memoryFactor;return this.view.qualitySettings.tiledSurface.lodBias-(1-e)*me}_getLodBiasCorrectedScale(e){const t=this.tilingScheme.levels,i=o(e-this._lodBias,0,t.length-1),r=i-Math.floor(i);return t[Math.floor(i)].scale*(1-r)+t[Math.ceil(i)].scale*r}_removeAllTiles(){null!=this._rootTiles&&(this._rootTiles.forEach((e=>this._purgeTile(e))),this._setRootTiles(null),this.notifyChange("ready")),this._allTiles.clear(),this._visible=!1}_purgeDescendantTiles(e){if(!e.children[0])return!1;let t=!1;for(let i=0;i<4;++i)t=this._purgeTile(e.children[i])||t;return e.unsetChildren(),t}_purgeTile(e){const t=this._purgeDescendantTiles(e)||e.rendered;return this._allTiles.removeUnordered(e),this._unloadTile(e),this._tilePool.release(e),t}_unloadTile(e){this._pendingTilesToUpdate.delete(e),this._pendingTilesForElevationUpdateEvent.delete(e),e.unload(this._renderer)}_splitTile(e){we(e.isLeaf,"tile that is already split should not be split again!");const t=e.level+1,i=2*e.lij[1],r=2*e.lij[2];e.setChildren(this._createTile(t,i,r,e),this._createTile(t,i,r+1,e),this._createTile(t,i+1,r,e),this._createTile(t,i+1,r+1,e)),e.setPendingUpdate(Ge.RENDERDATA),e.updateAgentSuspension(),this._allTiles.pushArray(e.children),this._allTilesDirty=!0,++this._performanceInfo.numSplit}_emitTileScaleChange(e,t=e.level){mt.spatialReference=this.spatialReference,mt.extent=e.extent,mt.scale=this._getLodBiasCorrectedScale(t),this.emit("scale-change",mt)}_createTile(e,t,i,r){we(!!r,"_createTile sanity check");const s=this._acquireTile(e,t,i,r);return s.updateClippingStatus(this.extent),s.updateScreenDepth(this._viewProjectionMatrix),this._shouldSplit(s)&&s.setPendingUpdate(Ge.SPLIT),s}get shortBatches(){return this.view.state.mode!==it.IDLE}_mergeTile(e){we(!e.hasPendingUpdate(Ge.SPLIT),"_mergeTile sanity check"),this._purgeDescendantTiles(e)&&(we(!e.renderData,"_mergeTile sanity check"),this._loadTile(e),this._markTileToUpdate(e),this._emitTileScaleChange(e),this.shortBatches&&this._batchUpdatePendingTileGeometries()),this._allTilesDirty=!0,++this._performanceInfo.numMerged}_loadChildren(e){we(e.rendered,"parent should be rendered"),this._unloadTile(e);const t=e.children;t.forEach((e=>this._loadTile(e))),t.forEach((e=>this._pendingTilesToUpdate.add(e))),this._markAllTileNeighborsForGeometryUpdate(e),this._emitTileScaleChange(e,e.level+1),this.shortBatches&&this._batchUpdatePendingTileGeometries()}_loadParent(e){const t=e.parent;this._unloadChildren(t),this._loadTile(t),this._markTileToUpdate(t),this._emitTileScaleChange(t,t.level),this.shortBatches&&this._batchUpdatePendingTileGeometries()}_unloadChildren(e){const t=e.children;if(t[0])for(let i=0;i<4;++i){const e=t[i];this._unloadChildren(e),this._unloadTile(e)}}_loadTile(e){e.load(),e.setPendingUpdate(Ge.RENDERDATA),this.requestUpdate(),this._allTilesDirty=!0,this.overlayManager&&this.overlayManager.hasOverlays&&this.overlayManager.setTileParameters(e)}_elevationDataArrived(e,t,i){const r=new ee(e.lij,e.extent,i);e.dataArrived(t,ae.ELEVATION,r);const s=[e],a=e.level,n=this._iteratorPool.acquire();for(n.reset(s);!n.done;){const e=n.next();e.findElevationBoundsForLayer(t,a),e.computeElevationBounds()}0===a&&this._updateRootTileElevationBounds(),n.remove(),this._updateTilesVisibility(s)}_handleLayerViewChanges(e=at){if(!this._layerViewsDirty)return;this._layerViewsDirty=!1;let t=!1;const i=new Set;let r=-1;for(const s of this.view.allLayerViews.items)if(i.add(s.uid),Le(s)||De(s))if(this._basemapLayerViewHandles.has(s.uid)&&!De(s)){const e=this._layerClassFromLayerView(s),i=this._getLayerIdxByUID(e,s.uid);null!=i&&((i<r||null==r)&&(t=!0),r=i)}else this._registerTiledLayerView(s),s.layer.loaded&&(t=!0);this._basemapLayerViewHandles.forEach(((e,r)=>{i.has(r)||(this._unregisterTiledLayerView(r),t=!0)})),t&&this._updateTiledLayers(),this.hasCompositeBlendMode=this._hasCompositeBlendMode(),this._evaluateTransparency(),e.madeProgress()}_allSurfaceLayersTransparent(){let e=0===this.view.map?.ground?.opacity;for(const t of this.view.allLayerViews.items)if(Pe(t)&&!H(t.layer)&&0!==t.fullOpacity)return e=!1,e;return e}_hasCompositeBlendMode(){for(const e of this.view.allLayerViews.items)if((be(e)||De(e))&&Je(Ze[e.layer.blendMode]))return!0;return!1}_layerClassFromLayerView(e){return Ue(e)?ae.ELEVATION:ae.MAP}_registerTiledLayerView(e){const t=[];if((be(e)||De(e))&&t.push(T((()=>e.layer.blendMode),(()=>{this.hasCompositeBlendMode=this._hasCompositeBlendMode(),this._updateTileTextures(se.UNFADED)}))),!De(e)){const i=this._layerClassFromLayerView(e);t.push(T((()=>e.suspended),(()=>this._updateTiledLayers()))),t.push(T((()=>e.fullOpacity),(()=>this._updateTileTextures(se.UNFADED)))),t.push(T((()=>"effectiveScaleRange"in e.layer?e.layer.effectiveScaleRange:null),(()=>this._restartAllAgents(i)))),t.push(e.on("data-changed",(()=>{const t=this._getLayerIdxByUID(i,e.uid);null!=t&&this._invalidateLayerData(t,i)})))}this._unregisterTiledLayerView(e.uid),this._basemapLayerViewHandles.set(e.uid,t)}_unregisterTiledLayerView(e){const t=this._basemapLayerViewHandles.get(e);if(t){for(const e of t)e.remove();this._basemapLayerViewHandles.delete(e)}}_updateTiledLayers(){if(!this.tilingScheme||this.view.suspended)return;const e=this.view.allLayerViews,t=[[],[]];let i=null;e.forEach((e=>{if(!e.layer||e.suspended||!Le(e)||!e.fullExtent)return;const r=this._layerClassFromLayerView(e);if(r===ae.MAP){const t=e.displayLevelRange.maxLevel;t!==1/0&&(null===i||t>i)&&(i=t)}t[r].push(e)}));for(const r of ne){const e=this._layerViews[r],i=t[r];i.reverse();const s=i.length;let a=e.length!==s;const n=new Array(s),l=new Array(e.length);this._layerIndexByUid[r].clear();for(let t=0;t<s;t++){const s=i[t].uid;this._layerIndexByUid[r].set(s,t);const o=e.indexOf(i[t]);n[t]=o,t!==o&&(a=!0),o>-1&&(l[o]=t)}if(a){const e=this._postorderIterator;for(e.reset(this._rootTiles);!e.done;)e.next().modifyLayers(l,n,r);this._layerViews[r]=i,this._restartAllAgents(r),this._updateTilesVisibility(this._rootTiles)}}this.tilingScheme.ensureMaxLod(i)&&this._viewChangeUpdate()}_restartAllAgents(e){const t=this._postorderIterator;for(t.reset(this._rootTiles);!t.done;){const i=t.next();i.restartAgents(e),e===ae.ELEVATION&&i.computeElevationBounds()}this._updateRootTileElevationBounds()}layerViewByIndex(e,t){return this._layerViews[t][e]}numLayers(e){return this._layerViews[e].length}_updateTileTextures(e){this._allTiles.forAll((t=>{t.updateAgents(ae.MAP),e===se.IMMEDIATE?this.renderer.updateTileTexture(t,Ge.TEXTURE_NOFADING):t.updateRenderData(ae.MAP,e)})),this._evaluateTransparency()}_invalidateLayerData(e,t){this._allTiles.forAll((i=>i.removeLayerAgent(e,t))),this._allTiles.forAll((i=>i.invalidateLayerData(e,t)))}setTileTreeDirty(){this._allTilesDirty=!0}requestRender(e=tt.UPDATE){this.renderer.setNeedsRender(e)}requestUpdate(){1==++this._pendingUpdates&&(this._hasPendingUpdates=!0)}requestTileData(e,t,i,r){const s=this.layerViewByIndex(t,i),a=s.layer;return!a.tilemapCache||xe(s)?this._requestTileData(e,i,s,r):(++this._asyncWorkItems,a.tilemapCache.fetchAvailability(e.lij[0],e.lij[1],e.lij[2],{...r,timeout:6e3}).then((()=>--this._asyncWorkItems)).catch((t=>{throw--this._asyncWorkItems,c(r),_(t)||this._dataMissing(e,i,s,{notInTilemap:!0}),t})).then((()=>this._frameTask.schedule((()=>this._requestTileData(e,i,s,r)),r.signal))))}_requestTileData(e,t,i,r){return t===ae.ELEVATION?Ue(i)?this._requestElevationTileData(e,i,r):Promise.reject():Pe(i)?this._requestMapTileData(e,i,r):Promise.reject()}_requestElevationTileData(e,t,i){++this._asyncWorkItems;const r=r=>{if(g(i))return;const s=this._layerIndexByUid[ae.ELEVATION].get(t.uid);null!=s?(this._usedMemory=null,this.requestUpdate(),this._elevationDataArrived(e,s,r)):l.getLogger(this).warn("TerrainSurface: received data from unknown layer %d %s",ae.ELEVATION,e.lij.toString())},s=i=>{_(i)||(this._dataMissing(e,ae.ELEVATION,t,i),this.requestUpdate())};if(Re(t.layer))return t.layer.fetchTile(e.lij[0],e.lij[1],e.lij[2],{noDataValue:Te,signal:i.signal}).then((e=>{if(!g(i))return this._frameTask.schedule((()=>r(e)),i.signal,s);l.getLogger(this).warnOnce("A call to fetchTile resolved even though the request was aborted. fetchTile should not resolve if options.signal.aborted is true.")}),s).finally((()=>{--this._asyncWorkItems}));const a=t.getTileUrl(e.lij[0],e.lij[1],e.lij[2]);return this._elevationDataRequester.request(a,"binary",i).then((e=>this._lercDecoder.decode(e,{noDataValue:Te},i.signal))).then((e=>{e?r(new W(e)):s(new Error("LERC decoding failed"))}),s).finally((()=>{--this._asyncWorkItems}))}_requestMapTileData(e,t,i){++this._asyncWorkItems;const r=(r,s)=>{--this._asyncWorkItems,je(s),g(i)||(this._dataMissing(e,ae.MAP,t,r),this.requestUpdate())},s=e=>t=>r(t,e),a=r=>this._frameTask.schedule((()=>{--this._asyncWorkItems,this.requestUpdate(),g(i)?je(r):this._mapTileDataArrived(e,t,r)}),i.signal,s(r)).catch(s(r)),n=(e,t=null)=>this._frameTask.schedule((()=>r(e,t)));if(xe(t)){const r=t.schemaHelper.getLevelRowColumn(e.lij);return t.fetchTile(r[0],r[1],r[2],i).then(a,n)}if(Ce(t))return t.fetchTile(e.lij[0],e.lij[1],e.lij[2],i).then(a,n);if(Me(t)&&Re(t.layer))return t.layer.fetchTile(e.lij[0],e.lij[1],e.lij[2],i).then((e=>{if(g(i))return l.getLogger(this).warnOnce("A call to fetchTile resolved even though the request was aborted. fetchTile should not resolve if options.signal.aborted is true."),void n(m());a(e)}),n);let o=t.getTileUrl(e.lij[0],e.lij[1],e.lij[2]);q(t.layer)&&t.layer.refreshTimestamp&&(o+=`${o.includes("?")?"&":"?"}_ts=${t.layer.refreshTimestamp}`);const h=t.hasMixedImageFormats?"image+type":"image";return this._mapDataRequester.request(o,h,i).then(a,n)}_mapTileDataArrived(e,t,i){const r=this._getLayerIdxByUID(ae.MAP,t.uid);null!=r?e.dataArrived(r,ae.MAP,i):(je(i),l.getLogger(this).warn("TerrainSurface: received data from unknown layer"))}_getLayerIdxByUID(e,t){return this._layerIndexByUid[e].get(t)}_dataMissing(e,t,i,r){const s=this._getLayerIdxByUID(t,i.uid);null!=s?e.dataMissing(s,t,r):l.getLogger(this).warn("TerrainSurface: received data from unknown layer")}updateTileOverlayParams(e){this._rootTiles&&this.overlayManager&&(this._allTiles.forAll((e=>{e.renderData&&this.overlayManager.setTileParameters(e)})),this._renderer.setNeedsRender(e))}get performanceInfo(){const e=this._performanceInfo;return e.numNodes=this._allTiles.length,e.numLeaves=e.numVisible=e.numRendered=e.numLoadedPerLevel.length=e.numRenderedPerLevel.length=0,this._allTiles.forAll((t=>{t.isLeaf&&e.numLeaves++;const i=t.level;t.renderData&&(e.numLoadedPerLevel[i]=(e.numLoadedPerLevel[i]||0)+1),t.visible&&(e.numVisible++,t.rendered&&(e.numRenderedPerLevel[i]=(e.numRenderedPerLevel[i]||0)+1,e.numRendered++))})),e}get usedMemory(){return this.tilingScheme?(null==this._usedMemory&&(this._usedMemory=this._recalculateUsedMemory()),null!=this._usedMemory?this._usedMemory:0):0}_recalculateUsedMemory(){return this.tilingScheme?this._allTiles.reduce(((e,t)=>e+t.usedMemory),0):null}getUsedMemoryForLayerView(e){let t=0;const i=this._layerClassFromLayerView(e),r=this._getLayerIdxByUID(i,e.uid);return null!=r&&this._allTiles.forAll((e=>t+=e.getUsedMemoryForLayer(i,r))),t}getTile(e){if(null==e||null==this._rootTiles)return null;const t=e.split("/").map((e=>+e));if(0===t[0])return this._rootTiles.find((e=>e.lij[1]===t[1]&&e.lij[2]===t[2]));const i=2**t[0],r=Math.floor(t[1]/i),s=Math.floor(t[2]/i);let a;if(this._rootTiles.some((e=>e.lij[1]===r&&e.lij[2]===s&&(a=e,!0))),a){let e=1<<t[0]-1;for(;a.lij[0]<t[0];){let i=t[1]&e?2:0;if((t[2]&e)>0&&i++,!a.children[i])return null;a=a.children[i],e>>=1}return we(a.lij[0]===t[0]&&a.lij[1]===t[1]&&a.lij[2]===t[2],"not the right tile?"),a}return null}get renderPatchBorders(){return this._renderer.renderPatchBorders}set renderPatchBorders(e){this._renderer.renderPatchBorders=e}get visualizeNormals(){return this._renderer.visualizeNormals}set visualizeNormals(e){this._renderer.visualizeNormals=e}get renderingDisabled(){return this._renderer.renderingDisabled}set renderingDisabled(e){this._renderer.renderingDisabled=e}get test(){const e=this;return{renderer:e._renderer,lercDecoder:e._lercDecoder,forceReload:()=>{null!=e._rootTiles&&e._rootTiles.length>0&&(e._mergeTile(e._rootTiles[0]),e._viewChangeUpdate())},getTiles:()=>e._allTiles.toArray(),getRenderedTiles(){_t.clear(),e._allTiles.forAll((e=>{e.visible&&e.rendered&&_t.push(e)}));const t=_t.toArray();return Ye(e.renderOrder,t),t},lockTilingScheme(t,i){e._extentHelper.defaultTiledLayersExtent=i,e.tilingSchemeLogic.test.lockTilingScheme(t)}}}checkAllTilesWaterproofness(){if(!ke)return;const e=this._rootTiles;if(null==e)return;const t=e=>e?.renderData?.geometry?.indices?.length>0,i=(e,i)=>{t(e)&&console.error("Tile[",e.lij,"] has geometry although parent[",i.lij,"] has geom")},r=e=>{if(e.intersectsClippingArea)if(e.renderData&&!e.renderData.geometryState&&console.error("Tile[",e.lij,"] has renderData but not geometryState"),e.renderData&&!e.renderData.geometry&&console.error("Tile[",e.lij,"] has renderData but not geometryInfo"),!e.renderData?.geometry||(e.renderData.geometry.indices?.length??0)>0||console.error("Tile[",e.lij,"] has renderData but no indices - geometryInfo: ",e.renderData.geometry),t(e)){e.checkGeometryWaterproofness();for(const t of e.children)i(t,e)}else if(e.isLeaf)console.error("Tile[",e.lij,"] has no geometry and no children, from root to leaf");else for(const t of e.children)r(t)},s=e=>{const t=e.parent?.visible??!0,i=e.visible;e.computeVisibility();const r=e.visible;if(i!==r&&t&&console.error(" Tile[",e.lij,"] has out of date visibility: ",i," instead of ",r),!e.isLeaf)for(const a of e.children)s(a)};for(const a of e)r(a),s(a)}get isGlobal(){return this._isGlobal}get isWebMercator(){return this._isWebMercator}get isWebMercatorOnPlateeCarree(){return this._isWebMercatorOnPlateeCarree}isEastEndWrap(e){return this.isGlobal&&e[2]===this.lijEastEnd(e[0])-1}isWestEndWrap(e){return this.isGlobal&&0===e[2]}lijEastEnd(e){return 2**(e+(null!=this.spatialReference&&this.spatialReference.isGeographic?1:0))}wrapEastWest(e){const t=this.lijEastEnd(e[0]),i=e[2];if(0<=i&&i<t)return e;if(!this.isGlobal)return null;const r=(i+(i<0?t:0))%t;return[e[0],e[1],r]}enableInternalChecks(e){Be(e)}enableWaterproofnessChecks(e){Ne(e)}};e([w()],nt.prototype,"_renderer",void 0),e([w({constructOnly:!0})],nt.prototype,"_scaleRangeQueries",void 0),e([w({constructOnly:!0})],nt.prototype,"view",void 0),e([w({constructOnly:!0})],nt.prototype,"overlayManager",void 0),e([w()],nt.prototype,"_hasPendingUpdates",void 0),e([w()],nt.prototype,"_asyncWorkItems",void 0),e([w()],nt.prototype,"_allTilesDirty",void 0),e([w()],nt.prototype,"_allTilesSorted",void 0),e([w()],nt.prototype,"_viewChanged",void 0),e([w()],nt.prototype,"_splitLimits",void 0),e([w({readOnly:!0})],nt.prototype,"_watchUpdatingTracking",void 0),e([w()],nt.prototype,"_frameTask",void 0),e([w({readOnly:!0})],nt.prototype,"snapLevel",null),e([w({readOnly:!0})],nt.prototype,"lodSnapping",null),e([w()],nt.prototype,"_userClippingExtent",null),e([w()],nt.prototype,"_rootTilesExtent",void 0),e([w({readOnly:!0})],nt.prototype,"extent",null),e([w({readOnly:!0})],nt.prototype,"groundExtent",null),e([w({readOnly:!0})],nt.prototype,"_tilingSchemeExtent",null),e([w({readOnly:!0})],nt.prototype,"updating",null),e([w({readOnly:!0})],nt.prototype,"running",null),e([w(J)],nt.prototype,"updatingProgress",void 0),e([w({readOnly:!0})],nt.prototype,"updatingProgressValue",null),e([w()],nt.prototype,"_maxNumUpdating",void 0),e([w()],nt.prototype,"baseOpacity",null),e([w()],nt.prototype,"hasCompositeBlendMode",void 0),e([w({readOnly:!0})],nt.prototype,"viewingMode",null),e([w()],nt.prototype,"maxTextureScale",void 0),e([w({readOnly:!0})],nt.prototype,"ready",null),e([w({value:he.FRONT_TO_BACK})],nt.prototype,"renderOrder",null),e([w({readOnly:!0})],nt.prototype,"rootTiles",null),e([w()],nt.prototype,"_rootTiles",void 0),e([w({readOnly:!0})],nt.prototype,"spatialReference",null),e([w({type:t})],nt.prototype,"backgroundColor",null),e([w({value:!1})],nt.prototype,"slicePlaneEnabled",null),e([w({readOnly:!0})],nt.prototype,"tilingScheme",void 0),e([w({readOnly:!0})],nt.prototype,"tilingSchemeLocked",null),e([w({readOnly:!0})],nt.prototype,"tilingSchemeLogic",void 0),e([w()],nt.prototype,"wireframe",null),e([w({value:!1})],nt.prototype,"suspended",null),e([w()],nt.prototype,"textureFadeDuration",null),e([w()],nt.prototype,"visibleElevationBounds",void 0),e([w()],nt.prototype,"rootTileElevationBounds",void 0),e([w()],nt.prototype,"_layerViewsDirty",void 0),e([w()],nt.prototype,"renderPatchBorders",null),e([w()],nt.prototype,"visualizeNormals",null),e([w()],nt.prototype,"renderingDisabled",null),nt=e([E("esri.views.3d.terrain.TerrainSurface")],nt);const lt=nt;function ot(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]}function ht(e){const t=e.children;if(!t[0])return!1;for(const i of t)if(i.shouldLoad)return!0;for(const i of t)if(ht(i))return!0;return!1}function dt(e){return e.isLeaf&&(e.parent?.shouldLoad??!1)}const pt=b(),ut=j(),ct=[0,0,0],_t=new u,gt={spatialReference:null,extent:j(),context:"ground"},mt={spatialReference:null,extent:null,scale:0};function Tt(e,t,i){for(const r of e){if(!r.containsPointXY(t,i))continue;let e=r;for(;e&&!e.renderData;){const r=(t>e.extentMidX?1:0)+(i<e.extentMidY?2:0);e=e.children[r]}const s=e?.renderData?.geometryState.samplerData??null;return te(t,i,s)}return null}export{lt as default};
5
+ import{_ as e}from"../../../chunks/tslib.es6.js";import t from"../../../Color.js";import i from"../../../core/Accessor.js";import{difference as r}from"../../../core/arrayUtils.js";import s from"../../../core/CollectionFlattener.js";import a from"../../../core/Evented.js";import n from"../../../core/Logger.js";import{clamp as l}from"../../../core/mathUtils.js";import{releaseMaybe as o,destroyMaybe as h}from"../../../core/maybe.js";import d from"../../../core/ObjectPool.js";import p from"../../../core/PooledArray.js";import{throwIfAborted as u,isAbortError as c,isAborted as _,createAbortError as g}from"../../../core/promiseUtils.js";import{watch as m,syncAndInitial as T,sync as y,initial as f}from"../../../core/reactiveUtils.js";import{property as v}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/accessorSupport/ensureType.js";import"../../../core/has.js";import{subclass as w}from"../../../core/accessorSupport/decorators/subclass.js";import{m as E}from"../../../chunks/mat4.js";import{c as S}from"../../../chunks/mat4f64.js";import{c as L}from"../../../chunks/vec3.js";import{c as D}from"../../../chunks/vec3f64.js";import{c as P}from"../../../chunks/vec4f64.js";import{WatchUpdatingTracking as b}from"../../../core/support/WatchUpdatingTracking.js";import{getReferenceEllipsoid as U}from"../../../geometry/ellipsoidUtils.js";import{projectVectorToVector as x,projectPointToVector as R}from"../../../geometry/projection.js";import C from"../../../geometry/SpatialReference.js";import{create as M,equals as j,intersection as A,empty as I,expand as O,intersectsSphere as V}from"../../../geometry/support/aaBoundingRect.js";import{create as k,copy as B}from"../../../geometry/support/frustum.js";import{isPlateCarree as N}from"../../../geometry/support/spatialReferenceUtils.js";import{isRefreshableLayer as F}from"../../../layers/mixins/RefreshableLayer.js";import{ElevationQueryTileCache as q}from"../../../layers/support/ElevationQueryTileCache.js";import{ElevationTileData as G}from"../../../layers/support/ElevationTileData.js";import{isBaseLayer as W}from"../../../layers/support/layerUtils.js";import{acquireDecoder as H}from"../../../layers/support/LercDecoder.js";import{printAllocations as Q}from"../../2d/engine/vectorTiles/VectorTile.js";import{directionToHeadingTilt as z}from"../support/cameraUtils.js";import X from"../support/debugFlags.js";import{toBoundingRect as Y}from"../support/extentUtils.js";import{ClientType as $}from"../support/index.js";import{updatingProgress as K}from"../support/updatingProperties.js";import{ElevationBounds as J}from"./ElevationBounds.js";import{ElevationData as Z,sampleElevation as ee}from"./ElevationData.js";import{create as te}from"./ExtentHelper.js";import{LODSnapping as ie,TextureUpdate as re}from"./interfaces.js";import{LayerClass as se,LayerClasses as ae}from"./LayerClass.js";import{OverlayManager as ne}from"./OverlayManager.js";import{PlanarPatch as le}from"./PlanarPatch.js";import{RenderOrder as oe}from"./RenderOrder.js";import{ScaleRangeQueries as he}from"./ScaleRangeQueries.js";import{SphericalPatch as de}from"./SphericalPatch.js";import{SplitLimits as pe}from"./SplitLimits.js";import{MAX_ROOT_TILES as ue,TOO_MANY_ROOT_TILES_AFTER_CHANGE_ERROR as ce,TOO_MANY_ROOT_TILES_FOR_LAYER_ERROR as _e,MAX_MEMORY_LOD_BIAS as ge,ELEVATION_NODATA_VALUE as me}from"./TerrainConst.js";import{TerrainRenderer as Te,TransparencyMode as ye}from"./TerrainRenderer.js";import fe from"./TerrainSurfacePerformanceInfo.js";import{weakAssert as ve,internalAssert as we,oppositeEdge as Ee,isSurfaceLayerView as Se,isGroupLayerView as Le,isMapTileLayerView as De,isBlendableLayerView as Pe,isElevationLayerView as be,isVectorTileLayerView as Ue,useFetchTileForLayer as xe,isImageryTileLayerView as Re,isTileLayerView as Ce,releaseTileData as Me,neighborCornerIndices as je,oppositeCorner as Ae,neighborEdgeIndices as Ie,ENABLE_TERRAIN_INTERNAL_CHECKS as Oe,ENABLE_WATERPROOFNESS_TESTS as Ve,enableTerrainInternalChecks as ke,enableTerrainWaterproofnessChecks as Be}from"./terrainUtils.js";import{Tile as Ne}from"./Tile.js";import{printAllocations as Fe}from"./TilePerLayerInfo.js";import{TileUpdate as qe}from"./TileUpdate.js";import{IteratorPreorder as Ge,IteratorPostorder as We,compareTilesByLij as He,hasLoadableSiblings as Qe,sortTilesByPOI as ze,sortTiles as Xe}from"./tileUtils.js";import{TilingSchemeLogic as Ye}from"./TilingSchemeLogic.js";import{UpsampleInfo as $e}from"./UpsampleInfo.js";import{isCompositeBlendMode as Ke,blendModeFromString as Je}from"../webgl-engine/core/shaderLibrary/output/BlendOptions.js";import{PBRMode as Ze}from"../webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{RenderRequestType as et}from"../webgl-engine/lib/basicInterfaces.js";import{RenderState as tt}from"../../support/RenderState.js";import{ImmediateTask as it,TaskPriority as rt,noBudget as st}from"../../support/Scheduler.js";let at=class extends(a.EventedMixin(i)){constructor(e){super(e),this._scaleRangeQueries=new he,this._iteratorPool=new d(Ge,(e=>e.remove=()=>this._iteratorPool.release(e))),this._postorderIterator=new We,this._hasPendingUpdates=!1,this._pendingUpdates=0,this._asyncWorkItems=0,this._allTilesDirty=!0,this._allTilesSorted=!0,this._visibleCached=!1,this._usedMemory=null,this._performanceInfo=new fe,this._viewChanged=!1,this._inFrameTask=!1,this._viewChangeUpdateDirty=!1,this._eyePosRenderSR=D(),this._eyePosSurfaceSR=D(),this._splitLimits=new pe,this._frustum=k(),this._viewProjectionMatrix=S(),this._layerViews=[new Array,new Array],this._layerIndexByUid=[new Map,new Map],this._basemapLayerViewHandles=new Map,this._watchUpdatingTracking=new b,this._frameTask=it,this._allTiles=new p,this._upsampleInfoPool=new d($e),this._rootTilesExtent=M(),this.updatingProgress=.5,this._maxNumUpdating=1,this.maxTextureScale=1.2,this._spatialReference=C.WebMercator,this.visibleElevationBounds=new J(1/0,-1/0),this.rootTileElevationBounds=new J(1/0,-1/0),this._updatingRootTiles=!1,this._pendingTilesForElevationUpdateEvent=new Set,this._pendingTilesToUpdate=new Set,this.totalGeometryUpdates=0,this.totalTileUpdates=0,this.oneBatchPerFrameTask=!0,this._layerViewsDirty=!1,this.unloadedMemory=0,this.ignoresMemoryFactor=!1,this._isWebMercator=!1,this._isWebMercatorOnPlateeCarree=!1,this.overlayManager=new ne({...e,surface:this}),this._isGlobal=!e.view?.state?.isLocal}initialize(){this._lercDecoder=H(this.view.resourceController),this._tilePool=this.view.state.isLocal?new d(le):new d(de);const e=this.view.resourceController.memoryController;this._upsampleMapCache=e.newCache("terrain-upsample",(e=>e.unloadMapData())),this._elevationQueryCache=new q(e.newCache("elevation-query")),this.addHandles([m((()=>this.overlayManager.hasHighlights),(e=>this._renderer.setNeedsHighlight(e))),m((()=>this.overlayManager.rendersOccluded),(e=>this._renderer.setRenderOccludedOverlay(e))),m((()=>this.overlayManager.renderer.isEmpty),(()=>this._evaluateTransparency()))],"overlayManager"),this._renderer=new Te({_overlayRenderer:this.overlayManager.renderer,_ellipsoidRadius:U(this.view.spatialReference).radius,_stage:this.view._stage,_allTiles:this._allTiles}),this.addHandles([m((()=>this.baseOpacity),(()=>{this._handleLayerViewChanges(),this._updateTileTextures(this._evaluateTransparency()?re.UNFADED:re.IMMEDIATE)}),T),m((()=>this.hasCompositeBlendMode),(()=>this._updateTileTextures(this._evaluateTransparency()?re.UNFADED:re.IMMEDIATE)),T),m((()=>this.renderingDisabled),(()=>this.view?._stage?.renderer.setParameters({terrainRenderingEnabled:!this.renderingDisabled})),y),m((()=>this.backgroundColor),(e=>{this._handleLayerViewChanges(),this._renderer.updateTileBackground(e)}),T),m((()=>this.snapLevel),(()=>this._viewChanged=!0),y),m((()=>this.view.pointsOfInterest),(e=>{this._renderer.pointsOfInterest=e,this._watchUpdatingTracking.removeAll(),e&&this._watchUpdatingTracking.add((()=>e.focus.renderLocation),(()=>this._allTilesSorted=!1))})),m((()=>X.TERRAIN_TILE_TREE_SHOW_TILES),(e=>{e&&!this._treeDebugger?import("../layers/support/TerrainTileTree3DDebugger.js").then((({TerrainTileTree3DDebugger:e})=>{!this._treeDebugger&&X.TERRAIN_TILE_TREE_SHOW_TILES&&(this._treeDebugger=new e({view:this.view}))})):e||(this._treeDebugger=h(this._treeDebugger))}),f)]);const{spatialReference:t}=this.view;this._extentHelper=te(this.viewingMode,{layers:this.view.map.allLayers,layerViews:this.view.allLayerViews,viewSpatialReference:t});const i=new s({getCollections:()=>this.view?.defaultsFromMap?.mapCollections?.map((({layers:e})=>e)),getChildrenFunction:e=>e&&"layers"in e?e.layers:null}),r=new Ye({layers:i,extentHelper:this._extentHelper,viewingMode:this.viewingMode,viewSpatialReference:t});this._set("tilingSchemeLogic",r),this._updateTilingScheme(),this._elevationDataRequester=this.view.resourceController.createStreamDataRequester($.ELEVATION),this._mapDataRequester=this.view.resourceController.createStreamDataRequester($.BASEMAP);const a=this.view.resourceController.scheduler;this._frameTask=a.registerTask(rt.TERRAIN_SURFACE,this),this.addHandles([m((()=>this._extentHelper.stencilEnabledExtents),(e=>this._renderer.setStencilEnabledLayerExtents(e)),f),m((()=>this.tilingSchemeLogic.tilingScheme),(()=>this._updateTilingScheme()),y),m((()=>this.extent),(()=>this._updateRootTiles()),f),this.view.on("resize",(()=>this._viewChangeUpdate())),m((()=>{const e=this.view,t=e.state;return[this._lodBias,this.lodSnapping,e.resourceController?.memoryController?.memoryFactor,t.camera,t.contentCamera,t.fixedContentCamera]}),(()=>this._viewChangeUpdate()),T),m((()=>this.view.qualitySettings?.tiledSurface?.textureFadeDuration),(e=>this._renderer.textureFadingEnabled=e>0),f),m((()=>this.view.qualitySettings?.physicallyBasedRenderingEnabled),(e=>this._renderer.pbrMode=e?Ze.Terrain:Ze.Disabled),f),m((()=>this._userClippingExtent),(()=>this._updateClippingExtent()),y)]),this.addHandles(this.view.allLayerViews.on("after-changes",(()=>this._layerViewsDirty=!0))),this._layerViewsDirty=!0,this._handleLayerViewChanges()}destroy(){this._frameTask.remove(),this._watchUpdatingTracking.destroy(),this._lercDecoder=o(this._lercDecoder),this._removeAllTiles(),this._upsampleMapCache=h(this._upsampleMapCache),this._elevationQueryCache=h(this._elevationQueryCache),this._set("tilingSchemeLogic",h(this.tilingSchemeLogic)),this._basemapLayerViewHandles.forEach(((e,t)=>this._unregisterTiledLayerView(t))),this._elevationDataRequester=null,this._mapDataRequester=null,this._set("overlayManager",h(this.overlayManager)),this._tilePool=h(this._tilePool),Ne.prune(),this._treeDebugger=h(this._treeDebugger),this._renderer=h(this._renderer),this._iteratorPool=h(this._iteratorPool),this._set("view",null),this._extentHelper=h(this._extentHelper),this._upsampleInfoPool=h(this._upsampleInfoPool),Q(),Fe()}get renderer(){return this._renderer}get frustum(){return this._frustum}get snapLevel(){if(this.lodSnapping===ie.ON){const e=this.view,t=this.tilingScheme,i=e.pointsOfInterest?.cameraOnSurface?.scale;if(t&&i){const r=e.state.contentCamera;let s=z(e,r.eye,r.viewForward,r.up).tilt;s>90&&(s=180-s);const a=2*(s/90)**2,n=t.levelAtScale(i)-a,l=Math.min(n,this._splitLimits.maxLod||1/0);return l<=0?null:l}}return null}get lodSnapping(){return this.view.qualitySettings.tiledSurface.reduceTileLevelDifferences?ie.ON:ie.OFF}get upsampleInfoPool(){return this._upsampleInfoPool}get upsampleMapCache(){return this._upsampleMapCache}get elevationQueryCache(){return this._elevationQueryCache}get mapTileRequester(){return this._mapDataRequester}get _userClippingExtent(){const{spatialReference:e}=this,{clippingArea:t}=this.view;if(null==t||null==e)return null;const i=M(),r=Y(t,i,e)?i:null,s=this._get("extent");return j(r,s)?s:r}get rootTilesExtent(){return this._rootTilesExtent}get extent(){const e=A(this.groundExtent,this._userClippingExtent,M()),t=this._get("extent");return j(e,t)?t:e}get groundExtent(){return null!=this._tilingSchemeExtent?this._tilingSchemeExtent:this._rootTilesExtent}get _tilingSchemeExtent(){return this.tilingSchemeLogic?.extent}get updating(){return this._hasPendingUpdates||(this._maxNumUpdating=1),!!((this.running||this._watchUpdatingTracking?.updating||this._asyncWorkItems>0)&&this.ready&&!this.suspended||this.overlayManager?.updating)}get running(){return(this._hasPendingUpdates||this._viewChanged||this._allTilesDirty||!this._allTilesSorted||this._layerViewsDirty||this._scaleRangeQueries.updating||this._frameTask.updating)&&this.ready&&!this.suspended}get updatingProgressValue(){return this._maxNumUpdating=Math.max(this._pendingUpdates,this._maxNumUpdating),1-this._pendingUpdates/this._maxNumUpdating}get baseOpacity(){return this.view?.map?.ground?.opacity??1}set baseOpacity(e){this.view.map.ground.opacity=e}get viewingMode(){return this.view.state.viewingMode}get ready(){return null!=this._rootTiles}set renderOrder(e){this._renderer.renderOrder=e,this._set("renderOrder",e)}get rootTiles(){return this._rootTiles}get spatialReference(){return this.tilingScheme?.spatialReference??null}get backgroundColor(){return this.view?.map?.ground?.surfaceColor}set backgroundColor(e){this.view.map.ground.surfaceColor=e}set slicePlaneEnabled(e){this._renderer.slicePlaneEnabled=e,this._set("slicePlaneEnabled",e),this._evaluateTransparency()}get tilingSchemeLocked(){return this.tilingSchemeLogic?.tilingSchemeLocked??!1}get wireframe(){return this._renderer?.wireframe}set wireframe(e){e!==this._renderer.wireframe&&(this._renderer.wireframe=e,this._updateAllTileGeometries())}set _visible(e){e!==this._visibleCached&&(this._visibleCached=e,this._renderer.setVisibility(e),this.suspended=!e)}get opaque(){return this._renderer.transparency===ye.Opaque}set suspended(e){this._set("suspended",e),this._viewChangeUpdate()}get textureFadeDuration(){return this.view.qualitySettings.tiledSurface.textureFadeDuration??0}intersect(e,t,i,r){this._renderer.intersect(e,t,i,r)}getElevation(e,t,i,r){const s=this._rootTiles;if(null==s||!s.length)return null;if(0===s[0].layerInfo[se.ELEVATION].length)return null;const a=dt;if(a[0]=e,a[1]=t,a[2]=i,!x(a,r,a,this._spatialReference))return n.getLogger(this).error("TerrainSurface.getElevation(): could not project given point to tiling scheme coordinate system"),null;return mt(s,a[0],a[1])}getElevations(e,t,i){const r=this._rootTiles,s=r?r[0].layerInfo[se.ELEVATION].length:0;if(null!=r&&r.length&&0!==s)for(let a=0;a<t;++a){const t=3*a;i(a,mt(r,e[t],e[t+1]))}else for(let a=0;a<t;++a)i(a,null)}getScale(e){if(!this.tilingScheme)return null;if(!R(e,dt,this.spatialReference))return n.getLogger(this).error("TerrainSurface.getScale(): could not project given point to tiling scheme coordinate system"),null;const t=this._rootTiles;if(null!=t)for(const i of t)if(i?.containsPoint(dt)){let e=i;for(;e.children[0]&&!e.rendered;){const t=e.children[0].extent;let i=0;dt[0]>t[2]&&(i+=1),dt[1]<t[1]&&(i+=2),e=e.children[i]}return this._getLodBiasCorrectedScale(e.level)}return 1/0}getSphereElevationBounds(e,t){if(dt[0]=e[0],dt[1]=e[1],dt[2]=e[2],dt[3]=e[3],!x(dt,t,dt,this.tilingScheme?.spatialReference))return n.getLogger(this).error("TerrainSurface.getSphereElevationBounds(): could not project given point to tiling scheme coordinate system"),null;let i=1/0,r=-1/0;const s=e=>{if(e&&V(e.extent,dt))if(e.isLeaf||e.rendered)i=Math.min(i,e.elevationBounds[0]),r=Math.max(r,e.elevationBounds[1]);else for(const t of e.children)s(t)},a=this._rootTiles;if(null!=a)for(const n of a)s(n);return{min:i,max:r}}getSphereScale(e,t){if(!this.tilingScheme)return null;if(!R(e,dt,this.spatialReference))return n.getLogger(this).error("TerrainSurface.getSphereScale(): could not project given point to tiling scheme coordinate system"),null;dt[3]=t;let i=null;const r=e=>{if(e&&V(e.extent,dt)){const t=e.children;if(t[0]&&!e.rendered)for(const e of t)r(e);else{const t=this._getLodBiasCorrectedScale(e.level);i=null==i?t:Math.min(i,t)}}},s=this._rootTiles;if(null!=s)for(const a of s)r(a);return i}queryVisibleScaleRange(e,t,i,r){const s=t?this.tilingScheme.levelAtScale(t):0,a=i?this.tilingScheme.levelAtScale(i):1/0,n=this._lodBias;this._scaleRangeQueries.queryVisibleLevelRange(e,s+n,a+n,r)}_evaluateTransparency(){const e=this.baseOpacity,t=this.overlayManager.renderer.isEmpty,i=this._renderer.transparency,r=this._allSurfaceLayersTransparent()?t?ye.Empty:ye.TransparentWithDraped:e>=1&&!this.hasCompositeBlendMode&&!this._renderer.slicePlaneEnabled?ye.Opaque:ye.Semitransparent,s=i!==r;return s&&(this._renderer.transparency=r,this.view?._stage?.renderer.setParameters({terrainTransparency:this._renderer.transparency})),s}_updateTilingScheme(){const e=this.tilingSchemeLogic.tilingScheme;if(!(e!==this.tilingScheme))return;ve(!!e,"tiling scheme cannot be reset to undefined"),this._isGlobal=!this.view?.state?.isLocal,this.tilingScheme&&this._removeAllTiles();const t=e?.spatialReference??C.WebMercator;this._spatialReference=t,this._isWebMercator=!!t?.isWebMercator,this._isWebMercatorOnPlateeCarree=this._isWebMercator&&N(this.view?.renderSpatialReference),this._set("tilingScheme",e),this._updateClippingExtent(),e&&(this._updateTiledLayers(),this._renderer.setTileSize(e.pixelSize),this.overlayManager.setSpatialReference(e.spatialReference),this._updateRootTiles())}_acquireTile(e,t,i,r){const s=this._tilePool.acquire();return ut[0]=e,ut[1]=t,ut[2]=i,s.init(ut,r,this),s}get updatingRootTiles(){return this._updatingRootTiles}_updateRootTiles(){const{extent:e,tilingScheme:t}=this;if(!t)return;const i=pt;let s=t.rootTilesInExtent(e,i,5*ue);if(null!=this._rootTiles){if(s.length>ue)return void n.getLogger(this).warn(ce);const e=this._rootTiles.map((e=>e.lij)),t=r(e,s,lt);if(this._updatingRootTiles=!0,t.removed.length>0||t.added.length>0){const e=this._rootTiles.filter((e=>!(t.removed.findIndex((t=>lt(t,e.lij)))>-1)||(this._purgeTile(e),!1)));t.added.forEach((t=>e.push(this._newRootTile(t)))),this._setRootTiles(e)}}else this._updatingRootTiles=!0,s.length>ue&&(n.getLogger(this).warn(_e),s=t.rootTilesInExtent(e,i,ue)),this._setRootTiles(s.map((e=>this._newRootTile(e))));j(i,this._rootTilesExtent)||(this._rootTilesExtent=M(i)),this._visible=!0,this._viewChangeUpdate(),this.overlayManager.setPlacementDirty(),this.notifyChange("ready"),this._updateAllTileGeometries(),this._updatingRootTiles=!1,this.checkAllTilesWaterproofness()}_updateAllTileGeometries(){const e=this._allTiles.filter((e=>e.isLoaded&&e.intersectsClippingArea));e.forEach((e=>this._renderer.updateTileGeometryState(e))),e.forEach((e=>e.renderData.updateNeighborData())),this._updateTilesGeometries(e),this._pendingTilesToUpdate.clear()}_updateTilesGeometries(e){if(0===e.length)return;e.sort(He);const t=this.renderer;e.forEach((e=>t.updateGeometryIfNeeded(e))),e.forEach((e=>this._pendingTilesForElevationUpdateEvent.add(e)))}_shouldSplit(e){return e.shouldSplit(this._splitLimits,this._eyePosRenderSR,this.snapLevel)===qe.SPLIT}_newRootTile(e){const t=this._acquireTile(0,e[1],e[2],null);return this._shouldSplit(t)&&t.setPendingUpdate(qe.SPLIT),this._loadTile(t),this._markTileToUpdate(t),this._updateRootTileElevationBounds(),t}_setRootTiles(e){if(this._rootTiles=e,this._allTiles.clear(),null!=e){const t=this._iteratorPool.acquire();for(t.reset(e);!t.done;)this._allTiles.push(t.next());t.remove()}this._renderer.setRootTiles(this._rootTiles),this._updateTilesVisibility(e)}_runViewChangeUpdateIfDirty(){this._viewChangeUpdateDirty&&(this._viewChangeUpdateDirty=!1,this._viewChangeUpdate())}_viewChangeUpdate(){this.view&&!this.suspended&&this.tilingScheme&&this._visibleCached&&(this._inFrameTask?this._viewChangeUpdateDirty=!0:(this._viewChangeUpdateDirty=!1,this._updateViewDependentParameters(),this._updateTilesVisibility(this._rootTiles)))}_updateClippingStatus(e){e.updateClippingStatus(this.extent)&&e.resetPendingUpdate(qe.GEOMETRY)&&this._updateTileGeometryState(e)}_updateTilesVisibility(e){if(null==e)return;const t=Qe(e),i=this.visibleElevationBounds;let r=t?i.min:1/0,s=t?i.max:-1/0;const a=this.extent,n=this._viewProjectionMatrix;this.setTileTreeDirty();const l=this._iteratorPool.acquire();for(l.reset(e);!l.done;){const e=l.next();e.updateClippingStatus(a)&&e.resetPendingUpdate(qe.GEOMETRY)&&this._updateTileGeometryState(e),e.setPendingUpdate(qe.RENDERDATA),e.computeVisibility(),e.updateScreenDepth(n),e.renderData&&(r=Math.min(e.elevationBounds[0],r),s=Math.max(e.elevationBounds[1],s))}l.remove(),this._viewChanged=!0,this._allTilesDirty=!0,this._batchUpdatePendingTileGeometries(),isFinite(r)&&isFinite(s)&&(i.min!==r||i.max!==s)&&(this.visibleElevationBounds=new J(r,s))}_updateRootTileElevationBounds(){let e=1/0,t=-1/0;const i=this._rootTiles;null!=i&&i.forEach((({elevationBounds:i})=>{e=Math.min(e,i[0]),t=Math.max(t,i[1])}));const r=this.rootTileElevationBounds;r.min===e&&r.max===t||(this.rootTileElevationBounds=new J(e,t))}_updateViewDependentParameters(){const{camera:e,contentCamera:t}=this.view.state,i=Math.tan(.5*t.fovX),r=Math.tan(.5*t.fovY),s=this.tilingScheme.pixelSize,a=2**-this._lodBias*e.pixelRatio;this._splitLimits.aboveGround=e.aboveGround,this._splitLimits.fovX=i,this._splitLimits.fovY=r,this._splitLimits.relativeWidthLimit=s/e.width*this.maxTextureScale*a,this._splitLimits.relativeHeightLimit=s/e.height*this.maxTextureScale*a,this._splitLimits.maxLod=this.tilingScheme.getMaxLod(),this._splitLimits.angledSplitBias=this.view.qualitySettings.tiledSurface.angledSplitBias,this.view.state.fixedContentCamera?(null==this._splitLimits.frustum&&(this._splitLimits.frustum=k()),B(this._splitLimits.frustum,t.frustum)):this._splitLimits.frustum=null,B(this._frustum,e.frustum),E(this._viewProjectionMatrix,t.projectionMatrix,t.viewMatrix),L(this._eyePosRenderSR,t.eye),x(e.eye,this.view.renderSpatialReference,this._eyePosSurfaceSR,this.spatialReference)}_updateRenderData(e){e.rendered&&!e.shouldLoad&&(ot(e)?this._loadChildren(e):ht(e)&&this._loadParent(e))}_updateTileGeometryState(e){e.updateVisibility();this._renderer.updateTileGeometryState(e)&&this._markTileToUpdate(e),this._usedMemory=null}_markAllTileNeighborsForGeometryUpdate(e){const t=this._pendingTilesToUpdate;e.forEachLoadedNeighbor((e=>{t.add(e)}))}_updateTileTexture(e,t){const i=e.resetPendingUpdate(qe.TEXTURE_FADING)?qe.TEXTURE_FADING:!!e.resetPendingUpdate(qe.TEXTURE_NOFADING)&&qe.TEXTURE_NOFADING;i&&(this._renderer.updateTileTexture(e,i),this._usedMemory=null,t.madeProgress())}_emitElevationUpdateEventForTiles(){const e=_t.extent;I(e),this._pendingTilesForElevationUpdateEvent.forEach((t=>O(e,t.extent,e))),this._pendingTilesForElevationUpdateEvent.clear(),_t.spatialReference=this.spatialReference,this.emit("elevation-change",_t)}runTask(e){this._handleLayerViewChanges(e),this._frameTask.processQueue(e),this.renderer.processScaleRangeQueries(this._scaleRangeQueries,e),this._inFrameTask=!0,this._pendingUpdates=0,this._hasPendingUpdates=!1,this._updateAllTilesStatus(e),this._sortTiles(e);const t=!this.view.state.fixedContentCamera;this._mergeAndSplit(e,t),this._updateElevation(e),this._updateTextures(e),t||this._mergeAndSplit(e,!0),this._inFrameTask=!1,this._runViewChangeUpdateIfDirty(),this._batchUpdatePendingTileGeometries(),this._emitElevationUpdateEventForTiles(),e.done&&e.hasProgressed&&this.requestUpdate(),this.notifyChange("updatingProgressValue")}_updateAllTilesStatus(e){if(!this._viewChanged||!this._rootTiles||e.done)return;this._viewChanged=!1;const t=this._iteratorPool.acquire();t.reset(this._rootTiles);const i=this.snapLevel,r=this._splitLimits,s=this._eyePosRenderSR;for(;!t.done;){const e=t.next(),a=e.shouldSplit(r,s,i);if(a!==qe.SPLIT){if(e.resetPendingUpdate(qe.SPLIT)&&e.updateAgentSuspension(),a===qe.ELEVATION&&e.updateAgents(se.ELEVATION),t.skipSubtree(),!e.isLeaf){e.setPendingUpdate(qe.MERGE),e.resetPendingUpdate(qe.SPLIT);const t=this._iteratorPool.acquire();t.resetOne(e);const i=this._viewProjectionMatrix;for(let e=t.next();!t.done;e=t.next())this._updateClippingStatus(e),e.updateVisibility(),e.updateScreenDepth(i);t.remove()}}else e.resetPendingUpdate(qe.MERGE),e.isLeaf&&(e.setPendingUpdate(qe.SPLIT),t.skipSubtree()),e.rendered&&e.setPendingUpdate(qe.RENDERDATA)}t.remove(),this.requestUpdate(),(this.shortBatches||!this.oneBatchPerFrameTask)&&this._batchUpdatePendingTileGeometries(),e.madeProgress()}_sortTiles(e){e.done||this._allTilesSorted||(ze(this._allTiles,this.view.pointsOfInterest.focus.renderLocation),this._allTilesSorted=!0,this._treeDebugger&&this._treeDebugger.update(),e.madeProgress())}_markTileToUpdate(e){we(e.isLoaded),e.intersectsClippingArea&&(this._pendingTilesToUpdate.add(e),this._markAllTileNeighborsForGeometryUpdate(e))}_batchUpdatePendingTileGeometries(){const e=this._pendingTilesToUpdate;if(0===e.size)return;const t=Array.from(this._pendingTilesToUpdate.keys()).filter((e=>e.isLoaded&&e.intersectsClippingArea)),i=(i,r)=>{!r?.isLoaded||!r.intersectsClippingArea||r.level<i.level||e.has(r)||(e.add(r),t.push(r),r.renderData.updateNeighborData())};t.sort(He);const r=t.length;for(let s=0;s<r;++s){const r=t[s];we(r.isLoaded),we(r.intersectsClippingArea);const a=r.renderData;a.updateNeighborData();const n=a._dirtyEdgeResolutions,l=a.geometryState.neighborData.cornerPeerNeighbors,o=e=>{const t=je[e];i(r,l[e]?.findCorner(Ae(t),(e=>e.isLoaded)))};for(let t=0;t<4;++t)if(n&1<<t){const s=a.geometryState.neighborData.edgePeerNeighbors[t];s&&s?.level>=r.level&&s.forAllSubtreeOnSide(Ee(Ie[t]),(t=>!(!t.isLoaded||!t.intersectsClippingArea)&&(we(e.has(t)||He(r,t)<0),i(r,t),!0))),o((t+1)%4),o(t)}}e.clear(),this._updateTilesGeometries(t),Oe&&Ve&&this.checkAllTilesWaterproofness()}_mergeAndSplit(e,t){if(this.suspended||e.done||!this._allTilesDirty)return;this._allTilesDirty=!1,this.requestUpdate();let i=!1;const r=this.view.state.fixedContentCamera;let s=!1;for(;!e.done;){s=!0;let a=!1;const n=!this._allTiles.some((s=>{if(!i&&!r&&!s.visible)return e.done;let n=s;if(s.resetPendingUpdate(qe.MERGE)){if(!t)return s.setPendingUpdate(qe.MERGE),e.done;for(;n.parent?.resetPendingUpdate(qe.MERGE);)n=n.parent;this._mergeTile(n),a=!0,e.madeProgress()}else s.resetPendingUpdate(qe.SPLIT)&&(this._splitTile(s),a=!0,e.madeProgress());return!e.done&&n===s&&s.resetPendingUpdate(qe.RENDERDATA)&&(this._updateRenderData(s),e.madeProgress()),e.done}));if(a&&(this._allTilesSorted=!1,this._allTilesDirty=!0),n){if(!i){i=!0;continue}if(!a)break}else this._allTilesDirty=!0}s?e.madeProgress():this._allTilesDirty=!0,!this.oneBatchPerFrameTask&&this._batchUpdatePendingTileGeometries(),this._sortTiles(e)}_updateElevation(e){e.done||(this._allTiles.some((t=>(t.resetPendingUpdate(qe.GEOMETRY)&&(this._updateTileGeometryState(t),this._updateTileTexture(t,e),this.shortBatches&&this._batchUpdatePendingTileGeometries(),e.madeProgress()),e.done))),!this.oneBatchPerFrameTask&&this._batchUpdatePendingTileGeometries())}_updateTextures(e){e.done||this._allTiles.some((t=>(this._updateTileTexture(t,e),e.done)))}_updateClippingExtent(){this.spatialReference&&(this.updateTileOverlayParams(et.UPDATE),this.overlayManager.setPlacementDirty(),this._updateRootTiles())}get _lodBias(){const e=this.view.resourceController.memoryController.memoryFactor;return this.view.qualitySettings.tiledSurface.lodBias-(1-e)*ge}_getLodBiasCorrectedScale(e){const t=this.tilingScheme.levels,i=l(e-this._lodBias,0,t.length-1),r=i-Math.floor(i);return t[Math.floor(i)].scale*(1-r)+t[Math.ceil(i)].scale*r}_removeAllTiles(){null!=this._rootTiles&&(this._rootTiles.forEach((e=>this._purgeTile(e))),this._setRootTiles(null),this.notifyChange("ready")),this._allTiles.clear(),this._visible=!1}_purgeDescendantTiles(e){if(!e.children[0])return!1;let t=!1;for(let i=0;i<4;++i)t=this._purgeTile(e.children[i])||t;return e.unsetChildren(),t}_purgeTile(e){const t=this._purgeDescendantTiles(e)||e.rendered;return this._allTiles.removeUnordered(e),this._unloadTile(e),this._tilePool.release(e),t}_unloadTile(e){this._pendingTilesToUpdate.delete(e),this._pendingTilesForElevationUpdateEvent.delete(e),e.unload(this._renderer)}_splitTile(e){ve(e.isLeaf,"tile that is already split should not be split again!");const t=e.level+1,i=2*e.lij[1],r=2*e.lij[2];e.setChildren(this._createTile(t,i,r,e),this._createTile(t,i,r+1,e),this._createTile(t,i+1,r,e),this._createTile(t,i+1,r+1,e)),e.setPendingUpdate(qe.RENDERDATA),e.updateAgentSuspension(),this._allTiles.pushArray(e.children),this._allTilesDirty=!0,++this._performanceInfo.numSplit}_emitTileScaleChange(e,t=e.level){gt.spatialReference=this.spatialReference,gt.extent=e.extent,gt.scale=this._getLodBiasCorrectedScale(t),this.emit("scale-change",gt)}_createTile(e,t,i,r){ve(!!r,"_createTile sanity check");const s=this._acquireTile(e,t,i,r);return s.updateClippingStatus(this.extent),s.updateScreenDepth(this._viewProjectionMatrix),this._shouldSplit(s)&&s.setPendingUpdate(qe.SPLIT),s}get shortBatches(){return this.view.state.mode!==tt.IDLE}_mergeTile(e){ve(!e.hasPendingUpdate(qe.SPLIT),"_mergeTile sanity check"),this._purgeDescendantTiles(e)&&(ve(!e.renderData,"_mergeTile sanity check"),this._loadTile(e),this._markTileToUpdate(e),this._emitTileScaleChange(e),this.shortBatches&&this._batchUpdatePendingTileGeometries()),this._allTilesDirty=!0,++this._performanceInfo.numMerged}_loadChildren(e){ve(e.rendered,"parent should be rendered"),this._unloadTile(e);const t=e.children;t.forEach((e=>this._loadTile(e))),t.forEach((e=>this._pendingTilesToUpdate.add(e))),this._markAllTileNeighborsForGeometryUpdate(e),this._emitTileScaleChange(e,e.level+1),this.shortBatches&&this._batchUpdatePendingTileGeometries()}_loadParent(e){const t=e.parent;this._unloadChildren(t),this._loadTile(t),this._markTileToUpdate(t),this._emitTileScaleChange(t,t.level),this.shortBatches&&this._batchUpdatePendingTileGeometries()}_unloadChildren(e){const t=e.children;if(t[0])for(let i=0;i<4;++i){const e=t[i];this._unloadChildren(e),this._unloadTile(e)}}_loadTile(e){e.load(),e.setPendingUpdate(qe.RENDERDATA),this.requestUpdate(),this._allTilesDirty=!0,this.overlayManager&&this.overlayManager.hasOverlays&&this.overlayManager.setTileParameters(e)}_elevationDataArrived(e,t,i){const r=new Z(e.lij,e.extent,i);e.dataArrived(t,se.ELEVATION,r);const s=[e],a=e.level,n=this._iteratorPool.acquire();for(n.reset(s);!n.done;){const e=n.next();e.findElevationBoundsForLayer(t,a),e.computeElevationBounds()}0===a&&this._updateRootTileElevationBounds(),n.remove(),this._updateTilesVisibility(s)}_handleLayerViewChanges(e=st){if(!this._layerViewsDirty)return;this._layerViewsDirty=!1;let t=!1;const i=new Set;let r=-1;for(const s of this.view.allLayerViews.items)if(i.add(s.uid),Se(s)||Le(s))if(this._basemapLayerViewHandles.has(s.uid)&&!Le(s)){const e=this._layerClassFromLayerView(s),i=this._getLayerIdxByUID(e,s.uid);null!=i&&((i<r||null==r)&&(t=!0),r=i)}else this._registerTiledLayerView(s),s.layer.loaded&&(t=!0);this._basemapLayerViewHandles.forEach(((e,r)=>{i.has(r)||(this._unregisterTiledLayerView(r),t=!0)})),t&&this._updateTiledLayers(),this.hasCompositeBlendMode=this._hasCompositeBlendMode(),this._evaluateTransparency(),e.madeProgress()}_allSurfaceLayersTransparent(){let e=0===this.view.map?.ground?.opacity;for(const t of this.view.allLayerViews.items)if(De(t)&&!W(t.layer)&&0!==t.fullOpacity)return e=!1,e;return e}_hasCompositeBlendMode(){for(const e of this.view.allLayerViews.items)if((Pe(e)||Le(e))&&Ke(Je[e.layer.blendMode]))return!0;return!1}_layerClassFromLayerView(e){return be(e)?se.ELEVATION:se.MAP}_registerTiledLayerView(e){const t=[];if((Pe(e)||Le(e))&&t.push(m((()=>e.layer.blendMode),(()=>{this.hasCompositeBlendMode=this._hasCompositeBlendMode(),this._updateTileTextures(re.UNFADED)}))),!Le(e)){const i=this._layerClassFromLayerView(e);t.push(m((()=>e.suspended),(()=>this._updateTiledLayers()))),t.push(m((()=>e.fullOpacity),(()=>this._updateTileTextures(re.UNFADED)))),t.push(m((()=>"effectiveScaleRange"in e.layer?e.layer.effectiveScaleRange:null),(()=>this._restartAllAgents(i)))),t.push(e.on("data-changed",(()=>{const t=this._getLayerIdxByUID(i,e.uid);null!=t&&this._invalidateLayerData(t,i)})))}this._unregisterTiledLayerView(e.uid),this._basemapLayerViewHandles.set(e.uid,t)}_unregisterTiledLayerView(e){const t=this._basemapLayerViewHandles.get(e);if(t){for(const e of t)e.remove();this._basemapLayerViewHandles.delete(e)}}_updateTiledLayers(){if(!this.tilingScheme||this.view.suspended)return;const e=this.view.allLayerViews,t=[[],[]];let i=null;e.forEach((e=>{if(!e.layer||e.suspended||!Se(e)||!e.fullExtent)return;const r=this._layerClassFromLayerView(e);if(r===se.MAP){const t=e.displayLevelRange.maxLevel;t!==1/0&&(null===i||t>i)&&(i=t)}t[r].push(e)}));for(const r of ae){const e=this._layerViews[r],i=t[r];i.reverse();const s=i.length;let a=e.length!==s;const n=new Array(s),l=new Array(e.length);this._layerIndexByUid[r].clear();for(let t=0;t<s;t++){const s=i[t].uid;this._layerIndexByUid[r].set(s,t);const o=e.indexOf(i[t]);n[t]=o,t!==o&&(a=!0),o>-1&&(l[o]=t)}if(a){const e=this._postorderIterator;for(e.reset(this._rootTiles);!e.done;)e.next().modifyLayers(l,n,r);this._layerViews[r]=i,this._restartAllAgents(r),this._updateTilesVisibility(this._rootTiles)}}this.tilingScheme.ensureMaxLod(i)&&this._viewChangeUpdate()}_restartAllAgents(e){const t=this._postorderIterator;for(t.reset(this._rootTiles);!t.done;){const i=t.next();i.restartAgents(e),e===se.ELEVATION&&i.computeElevationBounds()}this._updateRootTileElevationBounds()}layerViewByIndex(e,t){return this._layerViews[t][e]}numLayers(e){return this._layerViews[e].length}_updateTileTextures(e){this._allTiles.forAll((t=>{t.updateAgents(se.MAP),e===re.IMMEDIATE?this.renderer.updateTileTexture(t,qe.TEXTURE_NOFADING):t.updateRenderData(se.MAP,e)})),this._evaluateTransparency()}_invalidateLayerData(e,t){this._allTiles.forAll((i=>i.removeLayerAgent(e,t))),this._allTiles.forAll((i=>i.invalidateLayerData(e,t)))}setTileTreeDirty(){this._allTilesDirty=!0}requestRender(e=et.UPDATE){this.renderer.setNeedsRender(e)}requestUpdate(){1==++this._pendingUpdates&&(this._hasPendingUpdates=!0)}requestTileData(e,t,i,r){const s=this.layerViewByIndex(t,i),a=s.layer;return!a.tilemapCache||Ue(s)?this._requestTileData(e,i,s,r):(++this._asyncWorkItems,a.tilemapCache.fetchAvailability(e.lij[0],e.lij[1],e.lij[2],{...r,timeout:6e3}).then((()=>--this._asyncWorkItems)).catch((t=>{throw--this._asyncWorkItems,u(r),c(t)||this._dataMissing(e,i,s,{notInTilemap:!0}),t})).then((()=>this._frameTask.schedule((()=>this._requestTileData(e,i,s,r)),r.signal))))}_requestTileData(e,t,i,r){return t===se.ELEVATION?be(i)?this._requestElevationTileData(e,i,r):Promise.reject():De(i)?this._requestMapTileData(e,i,r):Promise.reject()}_requestElevationTileData(e,t,i){++this._asyncWorkItems;const r=r=>{if(_(i))return;const s=this._layerIndexByUid[se.ELEVATION].get(t.uid);null!=s?(this._usedMemory=null,this.requestUpdate(),this._elevationDataArrived(e,s,r)):n.getLogger(this).warn("TerrainSurface: received data from unknown layer %d %s",se.ELEVATION,e.lij.toString())},s=i=>{c(i)||(this._dataMissing(e,se.ELEVATION,t,i),this.requestUpdate())};if(xe(t.layer))return t.layer.fetchTile(e.lij[0],e.lij[1],e.lij[2],{noDataValue:me,signal:i.signal}).then((e=>{if(!_(i))return this._frameTask.schedule((()=>r(e)),i.signal,s);n.getLogger(this).warnOnce("A call to fetchTile resolved even though the request was aborted. fetchTile should not resolve if options.signal.aborted is true.")}),s).finally((()=>{--this._asyncWorkItems}));const a=t.getTileUrl(e.lij[0],e.lij[1],e.lij[2]);return this._elevationDataRequester.request(a,"binary",i).then((e=>this._lercDecoder.decode(e,{noDataValue:me},i.signal))).then((e=>{e?r(new G(e)):s(new Error("LERC decoding failed"))}),s).finally((()=>{--this._asyncWorkItems}))}_requestMapTileData(e,t,i){++this._asyncWorkItems;const r=(r,s)=>{--this._asyncWorkItems,Me(s),_(i)||(this._dataMissing(e,se.MAP,t,r),this.requestUpdate())},s=e=>t=>r(t,e),a=r=>this._frameTask.schedule((()=>{--this._asyncWorkItems,this.requestUpdate(),_(i)?Me(r):this._mapTileDataArrived(e,t,r)}),i.signal,s(r)).catch(s(r)),l=(e,t=null)=>this._frameTask.schedule((()=>r(e,t)));if(Ue(t)){const r=t.schemaHelper.getLevelRowColumn(e.lij);return t.fetchTile(r[0],r[1],r[2],i).then(a,l)}if(Re(t))return t.fetchTile(e.lij[0],e.lij[1],e.lij[2],i).then(a,l);if(Ce(t)&&xe(t.layer))return t.layer.fetchTile(e.lij[0],e.lij[1],e.lij[2],i).then((e=>{if(_(i))return n.getLogger(this).warnOnce("A call to fetchTile resolved even though the request was aborted. fetchTile should not resolve if options.signal.aborted is true."),void l(g());a(e)}),l);let o=t.getTileUrl(e.lij[0],e.lij[1],e.lij[2]);F(t.layer)&&t.layer.refreshTimestamp&&(o+=`${o.includes("?")?"&":"?"}_ts=${t.layer.refreshTimestamp}`);const h=t.hasMixedImageFormats?"image+type":"image";return this._mapDataRequester.request(o,h,i).then(a,l)}_mapTileDataArrived(e,t,i){const r=this._getLayerIdxByUID(se.MAP,t.uid);null!=r?e.dataArrived(r,se.MAP,i):(Me(i),n.getLogger(this).warn("TerrainSurface: received data from unknown layer"))}_getLayerIdxByUID(e,t){return this._layerIndexByUid[e].get(t)}_dataMissing(e,t,i,r){const s=this._getLayerIdxByUID(t,i.uid);null!=s?e.dataMissing(s,t,r):n.getLogger(this).warn("TerrainSurface: received data from unknown layer")}updateTileOverlayParams(e){this._rootTiles&&this.overlayManager&&(this._allTiles.forAll((e=>{e.renderData&&this.overlayManager.setTileParameters(e)})),this._renderer.setNeedsRender(e))}get performanceInfo(){const e=this._performanceInfo;return e.numNodes=this._allTiles.length,e.numLeaves=e.numVisible=e.numRendered=e.numLoadedPerLevel.length=e.numRenderedPerLevel.length=0,this._allTiles.forAll((t=>{t.isLeaf&&e.numLeaves++;const i=t.level;t.renderData&&(e.numLoadedPerLevel[i]=(e.numLoadedPerLevel[i]||0)+1),t.visible&&(e.numVisible++,t.rendered&&(e.numRenderedPerLevel[i]=(e.numRenderedPerLevel[i]||0)+1,e.numRendered++))})),e}get usedMemory(){return this.tilingScheme?(null==this._usedMemory&&(this._usedMemory=this._recalculateUsedMemory()),null!=this._usedMemory?this._usedMemory:0):0}_recalculateUsedMemory(){return this.tilingScheme?Math.round(this._allTiles.reduce(((e,t)=>e+t.usedMemory),0)):null}getUsedMemoryForLayerView(e){let t=this.overlayManager.gpuMemoryUsage;const i=this._layerClassFromLayerView(e),r=this._getLayerIdxByUID(i,e.uid);return null!=r&&this._allTiles.forAll((e=>t+=e.getUsedMemoryForLayer(i,r))),t}getTile(e){if(null==e||null==this._rootTiles)return null;const t=e.split("/").map((e=>+e));if(0===t[0])return this._rootTiles.find((e=>e.lij[1]===t[1]&&e.lij[2]===t[2]));const i=2**t[0],r=Math.floor(t[1]/i),s=Math.floor(t[2]/i);let a;if(this._rootTiles.some((e=>e.lij[1]===r&&e.lij[2]===s&&(a=e,!0))),a){let e=1<<t[0]-1;for(;a.lij[0]<t[0];){let i=t[1]&e?2:0;if((t[2]&e)>0&&i++,!a.children[i])return null;a=a.children[i],e>>=1}return ve(a.lij[0]===t[0]&&a.lij[1]===t[1]&&a.lij[2]===t[2],"not the right tile?"),a}return null}get renderPatchBorders(){return this._renderer.renderPatchBorders}set renderPatchBorders(e){this._renderer.renderPatchBorders=e}get visualizeNormals(){return this._renderer.visualizeNormals}set visualizeNormals(e){this._renderer.visualizeNormals=e}get renderingDisabled(){return this._renderer.renderingDisabled}set renderingDisabled(e){this._renderer.renderingDisabled=e}get test(){const e=this;return{renderer:e._renderer,lercDecoder:e._lercDecoder,forceReload:()=>{null!=e._rootTiles&&e._rootTiles.length>0&&(e._mergeTile(e._rootTiles[0]),e._viewChangeUpdate())},getTiles:()=>e._allTiles.toArray(),getRenderedTiles(){ct.clear(),e._allTiles.forAll((e=>{e.visible&&e.rendered&&ct.push(e)}));const t=ct.toArray();return Xe(e.renderOrder,t),t},lockTilingScheme(t,i){e._extentHelper.defaultTiledLayersExtent=i,e.tilingSchemeLogic.test.lockTilingScheme(t)}}}checkAllTilesWaterproofness(){if(!Ve)return;const e=this._rootTiles;if(null==e)return;const t=e=>e?.renderData?.geometry?.indices?.length>0,i=(e,i)=>{t(e)&&console.error("Tile[",e.lij,"] has geometry although parent[",i.lij,"] has geom")},r=e=>{if(e.intersectsClippingArea)if(e.renderData&&!e.renderData.geometryState&&console.error("Tile[",e.lij,"] has renderData but not geometryState"),e.renderData&&!e.renderData.geometry&&console.error("Tile[",e.lij,"] has renderData but not geometryInfo"),!e.renderData?.geometry||(e.renderData.geometry.indices?.length??0)>0||console.error("Tile[",e.lij,"] has renderData but no indices - geometryInfo: ",e.renderData.geometry),t(e)){e.checkGeometryWaterproofness();for(const t of e.children)i(t,e)}else if(e.isLeaf)console.error("Tile[",e.lij,"] has no geometry and no children, from root to leaf");else for(const t of e.children)r(t)},s=e=>{const t=e.parent?.visible??!0,i=e.visible;e.computeVisibility();const r=e.visible;if(i!==r&&t&&console.error(" Tile[",e.lij,"] has out of date visibility: ",i," instead of ",r),!e.isLeaf)for(const a of e.children)s(a)};for(const a of e)r(a),s(a)}get isGlobal(){return this._isGlobal}get isWebMercator(){return this._isWebMercator}get isWebMercatorOnPlateeCarree(){return this._isWebMercatorOnPlateeCarree}isEastEndWrap(e){return this.isGlobal&&e[2]===this.lijEastEnd(e[0])-1}isWestEndWrap(e){return this.isGlobal&&0===e[2]}lijEastEnd(e){return 2**(e+(null!=this.spatialReference&&this.spatialReference.isGeographic?1:0))}wrapEastWest(e){const t=this.lijEastEnd(e[0]),i=e[2];if(0<=i&&i<t)return e;if(!this.isGlobal)return null;const r=(i+(i<0?t:0))%t;return[e[0],e[1],r]}enableInternalChecks(e){ke(e)}enableWaterproofnessChecks(e){Be(e)}};e([v()],at.prototype,"_renderer",void 0),e([v({constructOnly:!0})],at.prototype,"_scaleRangeQueries",void 0),e([v({constructOnly:!0})],at.prototype,"view",void 0),e([v({constructOnly:!0})],at.prototype,"overlayManager",void 0),e([v()],at.prototype,"_hasPendingUpdates",void 0),e([v()],at.prototype,"_asyncWorkItems",void 0),e([v()],at.prototype,"_allTilesDirty",void 0),e([v()],at.prototype,"_allTilesSorted",void 0),e([v()],at.prototype,"_viewChanged",void 0),e([v()],at.prototype,"_splitLimits",void 0),e([v({readOnly:!0})],at.prototype,"_watchUpdatingTracking",void 0),e([v()],at.prototype,"_frameTask",void 0),e([v({readOnly:!0})],at.prototype,"snapLevel",null),e([v({readOnly:!0})],at.prototype,"lodSnapping",null),e([v()],at.prototype,"_userClippingExtent",null),e([v()],at.prototype,"_rootTilesExtent",void 0),e([v({readOnly:!0})],at.prototype,"extent",null),e([v({readOnly:!0})],at.prototype,"groundExtent",null),e([v({readOnly:!0})],at.prototype,"_tilingSchemeExtent",null),e([v({readOnly:!0})],at.prototype,"updating",null),e([v({readOnly:!0})],at.prototype,"running",null),e([v(K)],at.prototype,"updatingProgress",void 0),e([v({readOnly:!0})],at.prototype,"updatingProgressValue",null),e([v()],at.prototype,"_maxNumUpdating",void 0),e([v()],at.prototype,"baseOpacity",null),e([v()],at.prototype,"hasCompositeBlendMode",void 0),e([v({readOnly:!0})],at.prototype,"viewingMode",null),e([v()],at.prototype,"maxTextureScale",void 0),e([v({readOnly:!0})],at.prototype,"ready",null),e([v({value:oe.FRONT_TO_BACK})],at.prototype,"renderOrder",null),e([v({readOnly:!0})],at.prototype,"rootTiles",null),e([v()],at.prototype,"_rootTiles",void 0),e([v({readOnly:!0})],at.prototype,"spatialReference",null),e([v({type:t})],at.prototype,"backgroundColor",null),e([v({value:!1})],at.prototype,"slicePlaneEnabled",null),e([v({readOnly:!0})],at.prototype,"tilingScheme",void 0),e([v({readOnly:!0})],at.prototype,"tilingSchemeLocked",null),e([v({readOnly:!0})],at.prototype,"tilingSchemeLogic",void 0),e([v()],at.prototype,"wireframe",null),e([v({value:!1})],at.prototype,"suspended",null),e([v()],at.prototype,"textureFadeDuration",null),e([v()],at.prototype,"visibleElevationBounds",void 0),e([v()],at.prototype,"rootTileElevationBounds",void 0),e([v()],at.prototype,"_layerViewsDirty",void 0),e([v()],at.prototype,"renderPatchBorders",null),e([v()],at.prototype,"visualizeNormals",null),e([v()],at.prototype,"renderingDisabled",null),at=e([w("esri.views.3d.terrain.TerrainSurface")],at);const nt=at;function lt(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]}function ot(e){const t=e.children;if(!t[0])return!1;for(const i of t)if(i.shouldLoad)return!0;for(const i of t)if(ot(i))return!0;return!1}function ht(e){return e.isLeaf&&(e.parent?.shouldLoad??!1)}const dt=P(),pt=M(),ut=[0,0,0],ct=new p,_t={spatialReference:null,extent:M(),context:"ground"},gt={spatialReference:null,extent:null,scale:0};function mt(e,t,i){for(const r of e){if(!r.containsPointXY(t,i))continue;let e=r;for(;e&&!e.renderData;){const r=(t>e.extentMidX?1:0)+(i<e.extentMidY?2:0);e=e.children[r]}const s=e?.renderData?.geometryState.samplerData??null;return ee(t,i,s)}return null}export{nt as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.28/esri/copyright.txt for details.
4
4
  */
5
- import{clamp as e}from"../../../core/mathUtils.js";import{abortMaybe as t}from"../../../core/maybe.js";import i from"../../../core/ObjectPool.js";import{c as s,s as n}from"../../../chunks/vec2.js";import{a as r}from"../../../chunks/vec2f64.js";import{b as a,p as o,e as l,g as h,a as u,l as d,c}from"../../../chunks/vec3.js";import{c as g,u as p}from"../../../chunks/vec3f64.js";import{g as f}from"../../../chunks/common.js";import{getReferenceEllipsoid as m}from"../../../geometry/ellipsoidUtils.js";import{create as _,equals as y}from"../../../geometry/support/aaBoundingRect.js";import{c as A}from"../../../chunks/sphere.js";import{isGroupLayer as T}from"../../../layers/support/layerUtils.js";import{VectorTile as E}from"../../2d/engine/vectorTiles/VectorTile.js";import{ImageWithType as v}from"../support/StreamDataLoader.js";import{ElevationBounds as I}from"./ElevationBounds.js";import{ElevationTileAgent as M}from"./ElevationTileAgent.js";import{TextureUpdate as D}from"./interfaces.js";import{TileFrustumVisibility as L,NeighborIndex as x}from"./ITile.js";import{LayerClasses as S,LayerClass as O}from"./LayerClass.js";import{MapTileAgent as N}from"./MapTileAgent.js";import{RasterTile as j}from"./RasterTile.js";import{MAX_PATCH_TESSELATION as b,getElevationDesiredResolutionLevel as U}from"./TerrainConst.js";import{weakAssert as C,getLayerWithExtentRange as P,isBlendableLayerView as B,oppositeCorner as R,neighborCornerIndices as V,neighborEdgeIndices as w,oppositeEdge as G,internalAssert as W,ENABLE_TERRAIN_INTERNAL_CHECKS as q,isNorth as F,isSouth as H,isWest as k,isEast as X,ENABLE_WATERPROOFNESS_TESTS as Y,almostEquals as z,isWestCorner as $,isNorthCorner as J}from"./terrainUtils.js";import{TILE_AGENT_DONE as Q}from"./TileAgent.js";import{TilePerLayerInfo as K}from"./TilePerLayerInfo.js";import Z from"./TileTexture.js";import{TileUpdate as ee}from"./TileUpdate.js";import{fallsWithinLayer as te}from"./tileUtils.js";const ie=.1;class se{constructor(){this.lij=[0,0,0],this._children=[null,null,null,null],this._pendingUpdates=0,this.renderData=null,this._dirty=!0,this._previouslyRendered=!1,this.extent=_(),this._elevationBounds=r(),this.layerInfo=[[],[]],this.extentInRadians=_(),this.centerAtSeaLevel=g(),this._center=[g(),A(),g()],this.up=p(),this._isWithinClippingArea=!0,this._intersectsClippingArea=!0,this._maxTesselation=0,this._usedMemory=null,this._mapTileMemoryInternal=0,this._mapDataRefCount=0,this.screenDepth=0,this.renderOrder=0,this._edgeLen=0,this._edgeLen2=0,this._curvatureHeight=0,this.extentMidX=0,this.extentMidY=0,this.distanceToPOI=-1,this._lastPOI=g()}static prune(){ae.prune(0),oe.prune(0),K.prune()}get _isCached(){return!this.shouldLoad&&this._mapDataRefCount<=0}get maxTesselation(){return this._maxTesselation}get isWithinClippingArea(){return this._isWithinClippingArea}get intersectsClippingArea(){return this._intersectsClippingArea}get clippingArea(){return this._clippingArea}get parent(){return this._parent}get children(){return this._children}get surface(){return this._surface}get elevationBounds(){return this._elevationBounds}get level(){return this.lij[0]}get key(){return`${this.lij[0]}/${this.lij[1]}/${this.lij[2]}`}get edgeLen(){return this._edgeLen}get radius(){return this._center[he.MIDDLE][3]}get visible(){return this._dirty&&this.computeVisibility(),this._visible}get frustumVisibility(){return this._dirty&&this.computeVisibility(),this._frustumVisibility}computeVisibility(){this._dirty=!1;const e=this.parent,t=e?.frustumVisibility??L.INTERSECTS;this._frustumVisibility=t===L.INSIDE?L.INSIDE:t===L.OUTSIDE?L.OUTSIDE:this._calculateFrustumVisibilityStatus(this.surface.frustum);const i=this._frustumVisibility!==L.OUTSIDE&&this._intersectsClippingArea;i!==this._visible&&(this._visible=i,this._surface.emit("tiles-visibility-changed"),this._surface.renderer.setDirty(),this.updateAgentSuspension())}get loadable(){return this.visible||this._surface.view.state.fixedContentCamera}get rendered(){const e=!!this.renderData;return e!==this._previouslyRendered&&(this._surface.emit("tiles-visibility-changed"),this._previouslyRendered=e,this._surface.renderer.setDirty()),e}get shouldLoad(){return this.isLeaf}init(e,t,i){this.lij[0]=e[0],this.lij[1]=e[1],this.lij[2]=e[2],this.ellipsoid=m(i.tilingScheme.spatialReference),i.tilingScheme.getExtent(e[0],e[1],e[2],this.extent),i.tilingScheme.convertExtentToRadians(this.extent,this.extentInRadians),this.extentMidX=.5*(this.extent[0]+this.extent[2]),this.extentMidY=.5*(this.extent[1]+this.extent[3]),this._isWithinClippingArea=!0,this._intersectsClippingArea=!0,this._clippingArea=null,this._mapDataRefCount=0,i.upsampleMapCache.pop(this.key),this._edgeLen=0,this._edgeLen2=0,this._center[he.MIDDLE][3]=0,this.elevationLevel=e?e[0]:0,t&&t.elevationBounds?s(this._elevationBounds,t.elevationBounds):n(this._elevationBounds,0,0),this._pendingUpdates=0,this.renderData=null,this.screenDepth=0,this._visible=!1,this._previouslyRendered=!1,this._parent=t,this.unsetChildren(),this._surface=i,this.updateVisibility();for(const s of S){const e=i.numLayers(s),t=this.layerInfo[s];for(const i of t)i.release();t.length=e;for(let i=0;i<e;i++)t[i]=K.acquire(this._surface.upsampleInfoPool),s===O.ELEVATION&&this.findElevationBoundsForLayer(i,-1)}this.computeElevationBounds(),this._maxTesselation=Math.min(i.tilingScheme.pixelSize,b)}release(){C(!this.renderData,"tile.renderData was not unloaded"),this._surface.upsampleMapCache.pop(this.key);for(const e of S){for(const t of this.layerInfo[e])t.release();this.layerInfo[e].length=0}this._parent=null;for(let e=0;e<4;++e)this._children[e]=null;this._surface=null,this.setMemoryDirty()}refMapData(){++this._mapDataRefCount,this._isCached||this._surface.upsampleMapCache.pop(this.key)}unrefMapData(){if(--this._mapDataRefCount,this._isCached){this.setMemoryDirty();const e=this._cachedMemory;e>0&&this._surface.upsampleMapCache.put(this.key,this,e)}}setMemoryDirty(){this._usedMemory=null}get usedMemory(){return this._ensureUsedMemory()+(this._isCached?0:this._mapTileMemoryInternal)}get _cachedMemory(){return this._isCached?this._mapTileMemory:0}get _mapTileMemory(){return this._ensureUsedMemory(),this.layerInfo[O.MAP].reduce(((e,t)=>e+(t instanceof E?t.memoryUsed/t.referenced:0)),this._mapTileMemoryInternal)}get _cpuImageMemorySize(){const e=4,t=this._surface.tilingScheme.pixelSize;return t*t*e}_ensureUsedMemory(){if(null!=this._usedMemory)return this._usedMemory;this._usedMemory=0,this._mapTileMemoryInternal=0;let e=0;for(const{data:i}of this.layerInfo[O.MAP])i instanceof E?e+=this._getTerrainDataMemory(i):this._mapTileMemoryInternal+=this._getTerrainDataMemory(i);const t=this._cpuImageMemorySize;for(const i of this.layerInfo[O.ELEVATION])this._usedMemory+=i.data?t:0;return this.renderData&&(this._usedMemory+=this.renderData.estimatedGeometryMemoryUsage,this._mapTileMemoryInternal+=this.renderData.texture?.gpuMemoryUsage??0),this._isCached&&this._surface.upsampleMapCache.updateSize(this.key,this,this._mapTileMemoryInternal+e),this._usedMemory}getUsedMemoryForLayer(e,t){const i=this.layerInfo[e][t];return i?.data?e===O.MAP?this._isCached?0:this._getTerrainDataMemory(i.data):e===O.ELEVATION?this._cpuImageMemorySize:0:0}_getTerrainDataMemory(e){return e instanceof Z?e.texture.gpuMemoryUsage:e instanceof HTMLImageElement||e instanceof v?this._cpuImageMemorySize:e instanceof j?e.memoryUsage:e instanceof E?e.memoryUsed/e.referenced:0}updateScreenDepth(e){const t=this._center[he.MIDDLE],i=e,s=t[0],n=t[1],r=t[2],a=i[2]*s+i[6]*n+i[10]*r+i[14];this.screenDepth=a<0?0:a/(i[3]*s+i[7]*n+i[11]*r+i[15])}shouldSplit(e,t,i){if(!this.visible)return ee.NONE;if(null!=e.frustum&&(!this._intersectsClippingArea||this._calculateFrustumVisibilityStatus(e.frustum)===L.OUTSIDE))return ee.NONE;const s=this.level;a(me,this._center[he.MIDDLE],t);let n=o(me),r=me,c=he.MIDDLE;a(_e,this._center[he.TOP],t);const g=o(_e);g<n&&(n=g,r=_e,c=he.TOP),a(ye,this._center[he.BOTTOM],t);const p=o(ye);if(p<n&&(n=p,r=ye,c=he.BOTTOM),this._edgeLen2>n&&s<e.maxLod)return ee.SPLIT;const f=null!=i?i-s:1/0,m=Math.sqrt(n),_=e.fovX*m*2,y=this._edgeLen/_,A=()=>{if(s<e.maxLod)return this.elevationLevel=s,ee.NONE;const t=s+Math.ceil(-Math.log2(e.relativeWidthLimit/y));return t!==this.elevationLevel?(this.elevationLevel=t,ee.ELEVATION):ee.NONE};if(f<=.5)return A();const T=l(this.up,me),E=this._elevationBounds[1]-this._elevationBounds[0],v=E/this.edgeLen;if(e.aboveGround&&T>0&&v<.001){if(T/m-Math.sin(this._curvatureHeight/(this.edgeLen*Math.SQRT1_2)*Math.PI)-v>0)return ee.NONE}const I=null!=i?3-Math.min(f,2):1;if(y*I<e.relativeWidthLimit||s>=e.maxLod)return A();if(s<7)return ee.SPLIT;h(Ae,this.up,T),a(Ae,Ae,r);const M=o(Ae);if(M<=this.radius*this.radius)return ee.SPLIT;h(Ae,Ae,this.radius/Math.sqrt(M)),u(Ae,Ae,this._center[c]),a(Ae,t,Ae);const D=Math.min(1,(Math.abs(l(Ae,this.up))+.5*E+this._curvatureHeight)/d(Ae)),x=ie/e.angledSplitBias,S=e.fovY*m*2;return D*(this._edgeLen/S*I)<x*e.relativeHeightLimit?ee.NONE:ee.SPLIT}setChildren(e,t,i,s){C(!!(e&&t&&i&&s),"Null child passed"),this._children[0]=e,this._children[1]=t,this._children[2]=i,this._children[3]=s}unsetChildren(){this._children[0]=null,this._children[1]=null,this._children[2]=null,this._children[3]=null}get isLoaded(){return this.renderData?.hasGeometry??!1}load(){this.refMapData();for(const e of S)this._createOrUpdateAgents(0,e);this.surface.renderer.loadTile(this)}unload(e){e.unloadTile(this);for(const t of S){const e=this.layerInfo[t];for(const t of e)t.loadingAgent&&t.loadingAgent!==Q&&(re(t.loadingAgent),t.loadingAgent=null),t.pendingUpdates=0}this.resetPendingUpdate(ee.GEOMETRY),this.resetPendingUpdate(ee.TEXTURE_NOFADING),this.resetPendingUpdate(ee.TEXTURE_FADING),this.unrefMapData()}unloadMapData(){const e=this.layerInfo[O.MAP];for(const t of e)t.loadingAgent&&t.loadingAgent!==Q&&(re(t.loadingAgent),t.loadingAgent=null),t.pendingUpdates=0;this.renderData&&this.renderData.releaseTexture(),this.setMemoryDirty()}updateClippingStatus(e){if(y(e,this._clippingArea))return!1;const t=this._intersectsClippingArea,i=this._isWithinClippingArea;null!=e?(this._intersectsClippingArea=this.intersectsExtent(e),this._isWithinClippingArea=this._isWithinExtent(e)):(this._intersectsClippingArea=!0,this._isWithinClippingArea=!0),this._clippingArea=e,this.updateVisibility();const s=i&&this._isWithinClippingArea,n=!(i||t||this._isWithinClippingArea||this._intersectsClippingArea);return!this.renderData||s||n||this.setPendingUpdate(ee.GEOMETRY),!0}updateVisibility(){this._dirty=!0,this._surface.setTileTreeDirty()}getLayerInfo(e,t){return this.layerInfo[t][e]}hasLayerData(e,t){const i=this.layerInfo[t][e];return!(!i||!i.data||i.dataInvalidated)}get updating(){if(this.hasPendingUpdates)return!0;for(const e of S){const t=this.layerInfo[e];for(const e of t)if(e.loadingAgent&&e.loadingAgent!==Q&&e.loadingAgent.updating)return!0}return!1}_isSuspended(e){return!!this.hasPendingUpdate(ee.SPLIT)||e!==O.ELEVATION&&!this.loadable}get hasPendingUpdates(){return 0!==this._pendingUpdates}hasPendingUpdate(e){return(this._pendingUpdates&e)===e}setPendingUpdate(e){this._pendingUpdates|=e,e===ee.SPLIT||e===ee.MERGE?this._surface.setTileTreeDirty():this._surface.requestUpdate()}resetPendingUpdate(e){return!!this.hasPendingUpdate(e)&&(this._pendingUpdates&=~e,!0)}requestLayerData(e,i,s){const n=this.layerInfo[i][e];if(n.waitingAgents.has(s))return console.warn("agent already requested this piece of map data (tile %s, agent tile %s, layer: %d/%d)",this.lij.toString(),s.tile.lij.toString(),i,e),!0;if(n.waitingAgents.push(s),n.data&&!n.dataInvalidated){console.warn("agent requested existing data (tile %s, agent tile %s, layer: %d/%d)",this.lij.toString(),s.tile.lij.toString(),i,e);const t=n.data&&"type"in n.data&&"vector-tile"===n.data.type;return s.dataArrived(this,t),!0}if(n.requestPromise)return!0;t(n.requestAbort),n.requestAbort=new AbortController;const r=this._surface.requestTileData(this,e,i,n.requestAbort);if(!r)return n.requestAbort=null,!1;const a=()=>{n.requestPromise===r&&(n.requestPromise=null,n.requestAbort=null)};return n.requestPromise=r,r.then(a,a),!0}get isLeaf(){return null==this._children[0]}hasLij(e){return this.lij[0]===e[0]&&this.lij[1]===e[1]&&this.lij[2]===e[2]}findByLij(e){if(this.hasLij(e))return this;const t=this._children;if(!t[0])return null;return t[0].findByLij(e)||t[1].findByLij(e)||t[2].findByLij(e)||t[3].findByLij(e)}distanceToSquared(e){return o(a(Ae,this._center[he.MIDDLE],e))}containsPoint(e){const t=this.extent;return e[0]>=t[0]&&e[1]>=t[1]&&e[0]<=t[2]&&e[1]<=t[3]}containsPointXY(e,t){const i=this.extent;return e>=i[0]&&t>=i[1]&&e<=i[2]&&t<=i[3]}unrequestLayerData(e,t,i){const s=this.layerInfo[t][e],n=s.waitingAgents,r=null!=n.removeUnordered(i);C(r,"agent has not requested this piece of map data"),n.length<1&&(s.abortRequest(),this.setMemoryDirty())}dataArrived(e,t,i){const s=null!=i&&"type"in i&&"vector-tile"===i.type,n=this.layerInfo[t][e];n.data=i,n.dataInvalidated=!1,n.waitingAgents.forAll((e=>e.dataArrived(this,s))),n.waitingAgents.clear(),this.setMemoryDirty()}dataMissing(e,t,i){i.notInTilemap||console.error(`Tile ${this.lij.toString()} layer ${t}/${e} error ${i}`);const s=this.layerInfo[t][e];s.dataMissing=!0,s.waitingAgents.forAll((e=>e.dataMissing())),s.waitingAgents.clear(),this.setMemoryDirty()}updateRenderData(e,t,i){switch(i&&this.forEachLoadedNeighbor((i=>i.updateRenderData(e,t))),e){case O.MAP:return this._updateTexture(t);case O.ELEVATION:return this._updateGeometry()}}_updateTexture(e){this.renderData&&(this.resetPendingUpdate(e===D.FADING?ee.TEXTURE_NOFADING:ee.TEXTURE_FADING),this.setPendingUpdate(e===D.FADING?ee.TEXTURE_FADING:ee.TEXTURE_NOFADING))}_updateGeometry(){this.setPendingUpdate(ee.GEOMETRY);for(const e of this.layerInfo[O.ELEVATION])e.pendingUpdates|=ee.GEOMETRY}invalidateLayerData(e,t){this.layerInfo[t][e].invalidateSourceData(),this.restartAgents(t)}computeElevationBounds(){const e=this._elevationBounds,t=e[0],i=e[1];n(e,1/0,-1/0);const s=this.layerInfo[O.ELEVATION];let r=!0;for(const n of s)null!=n.elevationBounds&&(e[0]=Math.min(e[0],n.elevationBounds.min),e[1]=Math.max(e[1],n.elevationBounds.max),n.elevationBounds.hasNoDataValues||(r=!1));r&&(e[0]=Math.min(e[0],0),e[1]=Math.max(e[1],0)),t===e[0]&&i===e[1]||(this.updateRadiusAndCenter(),this._surface.setTileTreeDirty())}_updateCenter(){const e=this._elevationBounds,t=.5*(e[0]+e[1]),i=this._center;h(Ae,this.up,t),u(i[he.MIDDLE],this.centerAtSeaLevel,Ae),h(Ae,this.up,e[0]),u(i[he.TOP],this.centerAtSeaLevel,Ae),h(Ae,this.up,e[1]),u(i[he.BOTTOM],this.centerAtSeaLevel,Ae)}findElevationBoundsForLayer(e,t){const i=this.layerInfo[O.ELEVATION][e],s=U(this.level),n=Math.max(this.elevationLevel-s,0),r=i.elevationBounds;if(null!=r&&r.level>=t&&r.level<=n)return;const a=this._surface.layerViewByIndex(e,O.ELEVATION),o=P(a);if(!te(this,o,!1))return;const l=le;let h=!1;const u=i.data;if(u&&u.level<=n){const e=i.data;l.min=e.samplerData.data.minValue,l.max=e.samplerData.data.maxValue,l.hasNoDataValues=e.samplerData.data.hasNoDataValues,l.level=this.level,h=!0}else{let t,i,r=0;for(let a=this._parent;a&&(!i||r<s)&&(r=this.elevationLevel-a.level,t=i||t,i=a.layerInfo[O.ELEVATION][e].data,!(!i&&t&&a.level<=n));a=a.parent);i=i||t,i&&(i.computeMinMaxValue(this.lij[0],this.lij[1],this.lij[2],l),l.min!==1/0&&(l.level=i.level,h=!0))}h&&(null==i.elevationBounds&&(i.elevationBounds=new I),i.elevationBounds.copyFrom(l))}modifyLayers(e,t,i){const s=this.layerInfo[i];for(const a of s)a.loadingAgent&&a.loadingAgent!==Q&&(re(a.loadingAgent),a.loadingAgent=null),a.waitingAgents.clear();for(let a=0;a<s.length;++a)void 0===e[a]&&s[a].release();const n=new Array(...s),r=t.length;s.length=r;for(let a=0;a<r;a++){const e=t[a];s[a]=e>-1?n[e]:K.acquire(this._surface.upsampleInfoPool)}this.setMemoryDirty()}restartAgents(e){this.renderData&&(this._createOrUpdateAgents(0,e),this.updateRenderData(e,D.FADING))}updateAgents(e){if(this.renderData){const t=this.layerInfo[e];for(const e of t)e.loadingAgent===Q&&(e.loadingAgent=null);this._createOrUpdateAgents(0,e)}}updateAgentSuspension(){for(const e of S){const t=this._isSuspended(e);for(const i of this.layerInfo[e])i.loadingAgent&&i.loadingAgent!==Q&&(i.loadingAgent.setSuspension(t),i.loadingAgent===Q&&this.updateRenderData(e,D.FADING))}}removeLayerAgent(e,t){const i=this.layerInfo[t][e];i.loadingAgent&&i.loadingAgent!==Q&&i.loadingAgent.dispose(),i.loadingAgent=null}agentDone(e,t){const i=this.layerInfo[t][e];i.loadingAgent=Q,i.data||null!=i.upsampleInfo||this._createOrUpdateAgents(e+1,t)}_hasBlendableAncestor(e){return"normal"!==e.blendMode||T(e.parent)&&this._hasBlendableAncestor(e.parent)}_hasBlendModes(e,t,i){for(let s=e;s<t;++s){const e=this._surface.layerViewByIndex(s,i);if(B(e)&&"normal"!==e?.layer?.blendMode||T(e?.layer?.parent)&&this._hasBlendableAncestor(e?.layer?.parent))return!0}return!1}_createOrUpdateAgents(e,t){const i=this.layerInfo[t];if(0===i.length)return;const s=this._isSuspended(t);for(let n=e;n<i.length;++n){const r=i[n];let a=!1;const o=this._surface.layerViewByIndex(n,t),l=P(o);if(r.loadingAgent?te(this,l,!1)?(r.loadingAgent!==Q&&r.loadingAgent.setSuspension(s),r.loadingAgent!==Q&&(a=r.loadingAgent.update())):r.dispose():te(this,l,!1)&&(r.loadingAgent=ne(this,n,t,s),a=r.loadingAgent.startLoading(),a?r.loadingAgent===Q&&this.setPendingUpdate(ee.GEOMETRY):(re(r.loadingAgent),r.loadingAgent=Q)),r.loadingAgent===Q&&this.updateRenderData(t,D.FADING),!this._hasBlendModes(e,i.length,t)&&a&&o.isOpaque)return}}_isWithinExtent(e){const t=this.extent;return t[0]>=e[0]&&e[2]>=t[2]&&t[1]>=e[1]&&e[3]>=t[3]}intersectsExtent(e){const t=this.extent;return t[2]>=e[0]&&e[2]>=t[0]&&t[3]>=e[1]&&e[3]>=t[1]}getElevationVerticesPerSide(t){const i=this.elevationLevel-this.level,s=Math.max(this.level-t,U(this.level)-i),n=e(1+(this.maxTesselation>>s),2,this.maxTesselation+1),r=this.getDefaultVerticesPerSide();return Math.max(n,r)}get test(){return{cachedMemory:this._cachedMemory}}_findLIJ(e,t){if(!e)return null;const i=this.surface.rootTiles;if(null!=i)for(const s of i)if(ue(s,e)){let i=s,n=e[0]-i.level-1;for(;n>=0&&!i.isLeaf&&!t(i);){const t=e[1]>>n&1,s=e[2]>>n&1;i=i.children[2*t+s],n--}return t(i)?i:null}return null}findNeighborTile(e,t){const i=this.lij,s=this.getNeighborLIJ(i,e);return s?de(i,s)?t(this)?this:null:this._findLIJ(s,t):null}findCorner(e,t){const i=e===x.NORTH_EAST?1:e===x.NORTH_WEST?0:e===x.SOUTH_WEST?2:3;let s=this;for(;s.children[0]&&(!t||!t(s));)s=s.children[i];return s}findNeighborCornerTileExact(e,t){return this.findNeighborTile(e,(e=>t(e)||e.level===this.level))?.findCorner(R(e),t)||null}forAllSubtreeOnSide(e,t){const i=e===x.NORTH?[0,1]:e===x.NORTH_EAST?[1]:e===x.EAST?[1,3]:e===x.SOUTH_EAST?[3]:e===x.SOUTH?[2,3]:e===x.SOUTH_WEST?[2]:e===x.WEST?[0,2]:[0],s=e=>{const n=e.children;!t(e)&&n[0]&&i.forEach((e=>s(n[e])))};s(this)}forallNeighbors(e){V.forEach((t=>this.findNeighborCornerTileExact(t,e))),w.forEach((t=>this.findNeighborTile(t,(t=>t.level===this.level||e(t)))?.forAllSubtreeOnSide(G(t),e)))}getNeighborEdgeStartVertexIndex(e,t){if(!t)return 0;const i=this.level-t.level;if(W(!q||i>=0),0===i)return 0;const s=2**i,n=1==(1&e),r=n?0:1,a=t.lij[r+1]*s,o=this.lij[r+1],l=o-a,h=n?s-1-l:l;return q&&(W(a<=o&&o<a+s),W(0<=h&&h<s)),h}forEachLoadedNeighbor(e){const t=this.level,i=e=>e.level===t||e.isLoaded;w.forEach((t=>{const s=this.findNeighborTile(t,i);null!=s&&s!==this&&s.forAllSubtreeOnSide(G(t),(i=>!!i.isLoaded&&(e(i,t),!0)))})),V.forEach((t=>{const s=this.findNeighborTile(t,i)?.findCorner(R(t),(e=>e.isLoaded));W(!s||ge(this,s,t)),s?.isLoaded&&e(s,t)}))}getNeighborLIJ(e,t){const i=F(t)?-1:H(t)?1:0,s=k(t)?-1:X(t)?1:0,n=[e[0],e[1]+i,e[2]+s];return n[1]<0?null:this.surface.isGlobal?this.wrapLIJ(n):n[2]<0?null:n}wrapLIJ(e){return!e||e[1]<0||e[1]>=2**e[0]?null:this.surface.wrapEastWest(e)}get westNeighborWestExtent(){return this.extent[0]*(this.isWestEnd?-1:1)}get eastNeighborEastExtent(){return this.extent[2]*(this.isEastEnd?-1:1)}get isEastEnd(){return this.lij[2]===this.surface.lijEastEnd(this.level)-1}get isWestEnd(){return 0===this.lij[2]}get isNorthEnd(){return 0===this.lij[1]}get isSouthEnd(){const e=this.surface.extent,t=e?.[1]??null;return null!=t&&this.extent[1]+f()>=t}checkGeometryWaterproofness(){Y&&(W(this.isLoaded),this.renderData?.checkGeometryWaterproofness())}shouldHaveNeighbor(e){const t=this.extent,i=this.surface.rootTilesExtent,s=.25*(t[2]-t[0]);if(F(e)&&t[3]+s>=i[3])return!1;if(H(e)&&t[1]-s<=i[1])return!1;const n=this.surface.isGlobal;return!(!n&&k(e)&&t[0]-s<=i[0])&&!(!n&&X(e)&&t[2]+s>=i[2])}updateDistanceToPOI(e){const t=this._lastPOI;if(this.distanceToPOI>=0&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return;c(this._lastPOI,e);const i=this._center[he.MIDDLE],s=e[0]-i[0],n=e[1]-i[1],r=e[2]-i[2];this.distanceToPOI=s*s+n*n+r*r}}function ne(e,t,i,s){const n=i===O.ELEVATION?oe.acquire():ae.acquire();return n.init(e,t,i,s),n}function re(e){e.dispose(),e instanceof M?oe.release(e):e instanceof N&&ae.release(e)}const ae=new i(N),oe=new i(M),le=new I;var he;function ue(e,t){const i=e.level,s=t[0];if(i>s)return!1;const n=s-i,r=Math.floor(t[1]/2**n),a=Math.floor(t[2]/2**n);return r===e.lij[1]&&a===e.lij[2]}function de(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]}function ce(e,t,i){if(null==e||null==t)return!1;if(0===e.level&&0===t.level){if(e.isEastEnd&&t.isWestEnd&&i===x.EAST)return!0;if(e.isWestEnd&&t.isEastEnd&&i===x.WEST)return!0}const s=Math.max(1e-6*(e.extent[2]-e.extent[0]),1);switch(i){case x.NORTH:return z(e.extent[3],t.extent[1],s);case x.SOUTH:return z(e.extent[1],t.extent[3],s);case x.EAST:return z(e.extent[2],t.extent[0],s)||z(e.extent[2],-t.extent[0],s);case x.WEST:return z(e.extent[0],t.extent[2],s)||z(e.extent[0],-t.extent[2],s)}}function ge(e,t,i){return null!=e&&null!=t&&t!==e&&(e.level>=t.level?pe(e,t,i):pe(t,e,R(i)))}function pe(e,t,i){W(e.level>=t.level);const s=$(i),n=J(i),r=e.extent,a=t.extent,o=[s?r[0]:r[2],n?r[3]:r[1]],l=[s?a[2]:a[0],n?a[1]:a[3]],h=1e-5*(r[2]-r[0]),u=z(o[0],l[0],h)||e.surface.isGlobal&&z(o[0],-l[0],h),d=z(o[1],l[1],h);if(u&&d)return!0;if(e.level===t.level)return W(!1),!1;if(!u&&!d)return W(!1),!1;const c=u?fe(a[1],a[3],r[1],r[3],h):fe(a[0],a[2],r[0],r[2],h);return W(c),c}function fe(e,t,i,s,n){return e-n<=i&&i<=s&&s<=t+n}!function(e){e[e.TOP=0]="TOP",e[e.MIDDLE=1]="MIDDLE",e[e.BOTTOM=2]="BOTTOM"}(he||(he={}));const me=g(),_e=g(),ye=g(),Ae=g();export{he as CenterPosition,se as Tile,ge as isCornerNeighbor,ce as isEdgeNeighbor};
5
+ import{clamp as e}from"../../../core/mathUtils.js";import{abortMaybe as t}from"../../../core/maybe.js";import i from"../../../core/ObjectPool.js";import{j as s,s as n}from"../../../chunks/vec2.js";import{a as r}from"../../../chunks/vec2f64.js";import{b as a,p as o,e as l,g as h,a as u,l as d,c}from"../../../chunks/vec3.js";import{c as g,u as p}from"../../../chunks/vec3f64.js";import{g as f}from"../../../chunks/common.js";import{getReferenceEllipsoid as m}from"../../../geometry/ellipsoidUtils.js";import{create as _,equals as y}from"../../../geometry/support/aaBoundingRect.js";import{c as A}from"../../../chunks/sphere.js";import{isGroupLayer as T}from"../../../layers/support/layerUtils.js";import{VectorTile as E}from"../../2d/engine/vectorTiles/VectorTile.js";import{ImageWithType as v}from"../support/StreamDataLoader.js";import{ElevationBounds as I}from"./ElevationBounds.js";import{ElevationTileAgent as M}from"./ElevationTileAgent.js";import{TextureUpdate as D}from"./interfaces.js";import{TileFrustumVisibility as L,NeighborIndex as x}from"./ITile.js";import{LayerClasses as S,LayerClass as O}from"./LayerClass.js";import{MapTileAgent as N}from"./MapTileAgent.js";import{RasterTile as j}from"./RasterTile.js";import{MAX_PATCH_TESSELATION as b,getElevationDesiredResolutionLevel as U}from"./TerrainConst.js";import{weakAssert as C,getLayerWithExtentRange as P,isBlendableLayerView as B,oppositeCorner as R,neighborCornerIndices as V,neighborEdgeIndices as w,oppositeEdge as G,internalAssert as W,ENABLE_TERRAIN_INTERNAL_CHECKS as q,isNorth as F,isSouth as H,isWest as k,isEast as X,ENABLE_WATERPROOFNESS_TESTS as Y,almostEquals as z,isWestCorner as $,isNorthCorner as J}from"./terrainUtils.js";import{TILE_AGENT_DONE as Q}from"./TileAgent.js";import{TilePerLayerInfo as K}from"./TilePerLayerInfo.js";import Z from"./TileTexture.js";import{TileUpdate as ee}from"./TileUpdate.js";import{fallsWithinLayer as te}from"./tileUtils.js";const ie=.1;class se{constructor(){this.lij=[0,0,0],this._children=[null,null,null,null],this._pendingUpdates=0,this.renderData=null,this._dirty=!0,this._previouslyRendered=!1,this.extent=_(),this._elevationBounds=r(),this.layerInfo=[[],[]],this.extentInRadians=_(),this.centerAtSeaLevel=g(),this._center=[g(),A(),g()],this.up=p(),this._isWithinClippingArea=!0,this._intersectsClippingArea=!0,this._maxTesselation=0,this._usedMemory=null,this._mapTileMemoryInternal=0,this._mapDataRefCount=0,this.screenDepth=0,this.renderOrder=0,this._edgeLen=0,this._edgeLen2=0,this._curvatureHeight=0,this.extentMidX=0,this.extentMidY=0,this.distanceToPOI=-1,this._lastPOI=g()}static prune(){ae.prune(0),oe.prune(0),K.prune()}get _isCached(){return!this.shouldLoad&&this._mapDataRefCount<=0}get maxTesselation(){return this._maxTesselation}get isWithinClippingArea(){return this._isWithinClippingArea}get intersectsClippingArea(){return this._intersectsClippingArea}get clippingArea(){return this._clippingArea}get parent(){return this._parent}get children(){return this._children}get surface(){return this._surface}get elevationBounds(){return this._elevationBounds}get level(){return this.lij[0]}get key(){return`${this.lij[0]}/${this.lij[1]}/${this.lij[2]}`}get edgeLen(){return this._edgeLen}get radius(){return this._center[he.MIDDLE][3]}get visible(){return this._dirty&&this.computeVisibility(),this._visible}get frustumVisibility(){return this._dirty&&this.computeVisibility(),this._frustumVisibility}computeVisibility(){this._dirty=!1;const e=this.parent,t=e?.frustumVisibility??L.INTERSECTS;this._frustumVisibility=t===L.INSIDE?L.INSIDE:t===L.OUTSIDE?L.OUTSIDE:this._calculateFrustumVisibilityStatus(this.surface.frustum);const i=this._frustumVisibility!==L.OUTSIDE&&this._intersectsClippingArea;i!==this._visible&&(this._visible=i,this._surface.emit("tiles-visibility-changed"),this._surface.renderer.setDirty(),this.updateAgentSuspension())}get loadable(){return this.visible||this._surface.view.state.fixedContentCamera}get rendered(){const e=!!this.renderData;return e!==this._previouslyRendered&&(this._surface.emit("tiles-visibility-changed"),this._previouslyRendered=e,this._surface.renderer.setDirty()),e}get shouldLoad(){return this.isLeaf}init(e,t,i){this.lij[0]=e[0],this.lij[1]=e[1],this.lij[2]=e[2],this.ellipsoid=m(i.tilingScheme.spatialReference),i.tilingScheme.getExtent(e[0],e[1],e[2],this.extent),i.tilingScheme.convertExtentToRadians(this.extent,this.extentInRadians),this.extentMidX=.5*(this.extent[0]+this.extent[2]),this.extentMidY=.5*(this.extent[1]+this.extent[3]),this._isWithinClippingArea=!0,this._intersectsClippingArea=!0,this._clippingArea=null,this._mapDataRefCount=0,i.upsampleMapCache.pop(this.key),this._edgeLen=0,this._edgeLen2=0,this._center[he.MIDDLE][3]=0,this.elevationLevel=e?e[0]:0,t&&t.elevationBounds?s(this._elevationBounds,t.elevationBounds):n(this._elevationBounds,0,0),this._pendingUpdates=0,this.renderData=null,this.screenDepth=0,this._visible=!1,this._previouslyRendered=!1,this._parent=t,this.unsetChildren(),this._surface=i,this.updateVisibility();for(const s of S){const e=i.numLayers(s),t=this.layerInfo[s];for(const i of t)i.release();t.length=e;for(let i=0;i<e;i++)t[i]=K.acquire(this._surface.upsampleInfoPool),s===O.ELEVATION&&this.findElevationBoundsForLayer(i,-1)}this.computeElevationBounds(),this._maxTesselation=Math.min(i.tilingScheme.pixelSize,b)}release(){C(!this.renderData,"tile.renderData was not unloaded"),this._surface.upsampleMapCache.pop(this.key);for(const e of S){for(const t of this.layerInfo[e])t.release();this.layerInfo[e].length=0}this._parent=null;for(let e=0;e<4;++e)this._children[e]=null;this._surface=null,this.setMemoryDirty()}refMapData(){++this._mapDataRefCount,this._isCached||this._surface.upsampleMapCache.pop(this.key)}unrefMapData(){if(--this._mapDataRefCount,this._isCached){this.setMemoryDirty();const e=this._cachedMemory;e>0&&this._surface.upsampleMapCache.put(this.key,this,e)}}setMemoryDirty(){this._usedMemory=null}get usedMemory(){return this._ensureUsedMemory()+(this._isCached?0:this._mapTileMemoryInternal)}get _cachedMemory(){return this._isCached?this._mapTileMemory:0}get _mapTileMemory(){return this._ensureUsedMemory(),this.layerInfo[O.MAP].reduce(((e,t)=>e+(t instanceof E?t.memoryUsed/t.referenced:0)),this._mapTileMemoryInternal)}get _cpuImageMemorySize(){const e=4,t=this._surface.tilingScheme.pixelSize;return t*t*e}_ensureUsedMemory(){if(null!=this._usedMemory)return this._usedMemory;this._usedMemory=0,this._mapTileMemoryInternal=0;let e=0;for(const{data:i}of this.layerInfo[O.MAP])i instanceof E?e+=this._getTerrainDataMemory(i):this._mapTileMemoryInternal+=this._getTerrainDataMemory(i);const t=this._cpuImageMemorySize;for(const i of this.layerInfo[O.ELEVATION])this._usedMemory+=i.data?t:0;return this.renderData&&(this._usedMemory+=this.renderData.estimatedGeometryMemoryUsage,this._mapTileMemoryInternal+=this.renderData.texture?.gpuMemoryUsage??0),this._isCached&&this._surface.upsampleMapCache.updateSize(this.key,this,this._mapTileMemoryInternal+e),this._usedMemory}getUsedMemoryForLayer(e,t){const i=this.layerInfo[e][t];return i?.data?e===O.MAP?this._isCached?0:this._getTerrainDataMemory(i.data):e===O.ELEVATION?this._cpuImageMemorySize:0:0}_getTerrainDataMemory(e){return e instanceof Z?e.texture.gpuMemoryUsage:e instanceof HTMLImageElement||e instanceof v?this._cpuImageMemorySize:e instanceof j?e.memoryUsage:e instanceof E?e.memoryUsed/e.referenced:0}updateScreenDepth(e){const t=this._center[he.MIDDLE],i=e,s=t[0],n=t[1],r=t[2],a=i[2]*s+i[6]*n+i[10]*r+i[14];this.screenDepth=a<0?0:a/(i[3]*s+i[7]*n+i[11]*r+i[15])}shouldSplit(e,t,i){if(!this.visible)return ee.NONE;if(null!=e.frustum&&(!this._intersectsClippingArea||this._calculateFrustumVisibilityStatus(e.frustum)===L.OUTSIDE))return ee.NONE;const s=this.level;a(me,this._center[he.MIDDLE],t);let n=o(me),r=me,c=he.MIDDLE;a(_e,this._center[he.TOP],t);const g=o(_e);g<n&&(n=g,r=_e,c=he.TOP),a(ye,this._center[he.BOTTOM],t);const p=o(ye);if(p<n&&(n=p,r=ye,c=he.BOTTOM),this._edgeLen2>n&&s<e.maxLod)return ee.SPLIT;const f=null!=i?i-s:1/0,m=Math.sqrt(n),_=e.fovX*m*2,y=this._edgeLen/_,A=()=>{if(s<e.maxLod)return this.elevationLevel=s,ee.NONE;const t=s+Math.ceil(-Math.log2(e.relativeWidthLimit/y));return t!==this.elevationLevel?(this.elevationLevel=t,ee.ELEVATION):ee.NONE};if(f<=.5)return A();const T=l(this.up,me),E=this._elevationBounds[1]-this._elevationBounds[0],v=E/this.edgeLen;if(e.aboveGround&&T>0&&v<.001){if(T/m-Math.sin(this._curvatureHeight/(this.edgeLen*Math.SQRT1_2)*Math.PI)-v>0)return ee.NONE}const I=null!=i?3-Math.min(f,2):1;if(y*I<e.relativeWidthLimit||s>=e.maxLod)return A();if(s<7)return ee.SPLIT;h(Ae,this.up,T),a(Ae,Ae,r);const M=o(Ae);if(M<=this.radius*this.radius)return ee.SPLIT;h(Ae,Ae,this.radius/Math.sqrt(M)),u(Ae,Ae,this._center[c]),a(Ae,t,Ae);const D=Math.min(1,(Math.abs(l(Ae,this.up))+.5*E+this._curvatureHeight)/d(Ae)),x=ie/e.angledSplitBias,S=e.fovY*m*2;return D*(this._edgeLen/S*I)<x*e.relativeHeightLimit?ee.NONE:ee.SPLIT}setChildren(e,t,i,s){C(!!(e&&t&&i&&s),"Null child passed"),this._children[0]=e,this._children[1]=t,this._children[2]=i,this._children[3]=s}unsetChildren(){this._children[0]=null,this._children[1]=null,this._children[2]=null,this._children[3]=null}get isLoaded(){return this.renderData?.hasGeometry??!1}load(){this.refMapData();for(const e of S)this._createOrUpdateAgents(0,e);this.surface.renderer.loadTile(this)}unload(e){e.unloadTile(this);for(const t of S){const e=this.layerInfo[t];for(const t of e)t.loadingAgent&&t.loadingAgent!==Q&&(re(t.loadingAgent),t.loadingAgent=null),t.pendingUpdates=0}this.resetPendingUpdate(ee.GEOMETRY),this.resetPendingUpdate(ee.TEXTURE_NOFADING),this.resetPendingUpdate(ee.TEXTURE_FADING),this.unrefMapData()}unloadMapData(){const e=this.layerInfo[O.MAP];for(const t of e)t.loadingAgent&&t.loadingAgent!==Q&&(re(t.loadingAgent),t.loadingAgent=null),t.pendingUpdates=0;this.renderData&&this.renderData.releaseTexture(),this.setMemoryDirty()}updateClippingStatus(e){if(y(e,this._clippingArea))return!1;const t=this._intersectsClippingArea,i=this._isWithinClippingArea;null!=e?(this._intersectsClippingArea=this.intersectsExtent(e),this._isWithinClippingArea=this._isWithinExtent(e)):(this._intersectsClippingArea=!0,this._isWithinClippingArea=!0),this._clippingArea=e,this.updateVisibility();const s=i&&this._isWithinClippingArea,n=!(i||t||this._isWithinClippingArea||this._intersectsClippingArea);return!this.renderData||s||n||this.setPendingUpdate(ee.GEOMETRY),!0}updateVisibility(){this._dirty=!0,this._surface.setTileTreeDirty()}getLayerInfo(e,t){return this.layerInfo[t][e]}hasLayerData(e,t){const i=this.layerInfo[t][e];return!(!i||!i.data||i.dataInvalidated)}get updating(){if(this.hasPendingUpdates)return!0;for(const e of S){const t=this.layerInfo[e];for(const e of t)if(e.loadingAgent&&e.loadingAgent!==Q&&e.loadingAgent.updating)return!0}return!1}_isSuspended(e){return!!this.hasPendingUpdate(ee.SPLIT)||e!==O.ELEVATION&&!this.loadable}get hasPendingUpdates(){return 0!==this._pendingUpdates}hasPendingUpdate(e){return(this._pendingUpdates&e)===e}setPendingUpdate(e){this._pendingUpdates|=e,e===ee.SPLIT||e===ee.MERGE?this._surface.setTileTreeDirty():this._surface.requestUpdate()}resetPendingUpdate(e){return!!this.hasPendingUpdate(e)&&(this._pendingUpdates&=~e,!0)}requestLayerData(e,i,s){const n=this.layerInfo[i][e];if(n.waitingAgents.has(s))return console.warn("agent already requested this piece of map data (tile %s, agent tile %s, layer: %d/%d)",this.lij.toString(),s.tile.lij.toString(),i,e),!0;if(n.waitingAgents.push(s),n.data&&!n.dataInvalidated){console.warn("agent requested existing data (tile %s, agent tile %s, layer: %d/%d)",this.lij.toString(),s.tile.lij.toString(),i,e);const t=n.data&&"type"in n.data&&"vector-tile"===n.data.type;return s.dataArrived(this,t),!0}if(n.requestPromise)return!0;t(n.requestAbort),n.requestAbort=new AbortController;const r=this._surface.requestTileData(this,e,i,n.requestAbort);if(!r)return n.requestAbort=null,!1;const a=()=>{n.requestPromise===r&&(n.requestPromise=null,n.requestAbort=null)};return n.requestPromise=r,r.then(a,a),!0}get isLeaf(){return null==this._children[0]}hasLij(e){return this.lij[0]===e[0]&&this.lij[1]===e[1]&&this.lij[2]===e[2]}findByLij(e){if(this.hasLij(e))return this;const t=this._children;if(!t[0])return null;return t[0].findByLij(e)||t[1].findByLij(e)||t[2].findByLij(e)||t[3].findByLij(e)}distanceToSquared(e){return o(a(Ae,this._center[he.MIDDLE],e))}containsPoint(e){const t=this.extent;return e[0]>=t[0]&&e[1]>=t[1]&&e[0]<=t[2]&&e[1]<=t[3]}containsPointXY(e,t){const i=this.extent;return e>=i[0]&&t>=i[1]&&e<=i[2]&&t<=i[3]}unrequestLayerData(e,t,i){const s=this.layerInfo[t][e],n=s.waitingAgents,r=null!=n.removeUnordered(i);C(r,"agent has not requested this piece of map data"),n.length<1&&(s.abortRequest(),this.setMemoryDirty())}dataArrived(e,t,i){const s=null!=i&&"type"in i&&"vector-tile"===i.type,n=this.layerInfo[t][e];n.data=i,n.dataInvalidated=!1,n.waitingAgents.forAll((e=>e.dataArrived(this,s))),n.waitingAgents.clear(),this.setMemoryDirty()}dataMissing(e,t,i){i.notInTilemap||console.error(`Tile ${this.lij.toString()} layer ${t}/${e} error ${i}`);const s=this.layerInfo[t][e];s.dataMissing=!0,s.waitingAgents.forAll((e=>e.dataMissing())),s.waitingAgents.clear(),this.setMemoryDirty()}updateRenderData(e,t,i){switch(i&&this.forEachLoadedNeighbor((i=>i.updateRenderData(e,t))),e){case O.MAP:return this._updateTexture(t);case O.ELEVATION:return this._updateGeometry()}}_updateTexture(e){this.renderData&&(this.resetPendingUpdate(e===D.FADING?ee.TEXTURE_NOFADING:ee.TEXTURE_FADING),this.setPendingUpdate(e===D.FADING?ee.TEXTURE_FADING:ee.TEXTURE_NOFADING))}_updateGeometry(){this.setPendingUpdate(ee.GEOMETRY);for(const e of this.layerInfo[O.ELEVATION])e.pendingUpdates|=ee.GEOMETRY}invalidateLayerData(e,t){this.layerInfo[t][e].invalidateSourceData(),this.restartAgents(t)}computeElevationBounds(){const e=this._elevationBounds,t=e[0],i=e[1];n(e,1/0,-1/0);const s=this.layerInfo[O.ELEVATION];let r=!0;for(const n of s)null!=n.elevationBounds&&(e[0]=Math.min(e[0],n.elevationBounds.min),e[1]=Math.max(e[1],n.elevationBounds.max),n.elevationBounds.hasNoDataValues||(r=!1));r&&(e[0]=Math.min(e[0],0),e[1]=Math.max(e[1],0)),t===e[0]&&i===e[1]||(this.updateRadiusAndCenter(),this._surface.setTileTreeDirty())}_updateCenter(){const e=this._elevationBounds,t=.5*(e[0]+e[1]),i=this._center;h(Ae,this.up,t),u(i[he.MIDDLE],this.centerAtSeaLevel,Ae),h(Ae,this.up,e[0]),u(i[he.TOP],this.centerAtSeaLevel,Ae),h(Ae,this.up,e[1]),u(i[he.BOTTOM],this.centerAtSeaLevel,Ae)}findElevationBoundsForLayer(e,t){const i=this.layerInfo[O.ELEVATION][e],s=U(this.level),n=Math.max(this.elevationLevel-s,0),r=i.elevationBounds;if(null!=r&&r.level>=t&&r.level<=n)return;const a=this._surface.layerViewByIndex(e,O.ELEVATION),o=P(a);if(!te(this,o,!1))return;const l=le;let h=!1;const u=i.data;if(u&&u.level<=n){const e=i.data;l.min=e.samplerData.data.minValue,l.max=e.samplerData.data.maxValue,l.hasNoDataValues=e.samplerData.data.hasNoDataValues,l.level=this.level,h=!0}else{let t,i,r=0;for(let a=this._parent;a&&(!i||r<s)&&(r=this.elevationLevel-a.level,t=i||t,i=a.layerInfo[O.ELEVATION][e].data,!(!i&&t&&a.level<=n));a=a.parent);i=i||t,i&&(i.computeMinMaxValue(this.lij[0],this.lij[1],this.lij[2],l),l.min!==1/0&&(l.level=i.level,h=!0))}h&&(null==i.elevationBounds&&(i.elevationBounds=new I),i.elevationBounds.copyFrom(l))}modifyLayers(e,t,i){const s=this.layerInfo[i];for(const a of s)a.loadingAgent&&a.loadingAgent!==Q&&(re(a.loadingAgent),a.loadingAgent=null),a.waitingAgents.clear();for(let a=0;a<s.length;++a)void 0===e[a]&&s[a].release();const n=new Array(...s),r=t.length;s.length=r;for(let a=0;a<r;a++){const e=t[a];s[a]=e>-1?n[e]:K.acquire(this._surface.upsampleInfoPool)}this.setMemoryDirty()}restartAgents(e){this.renderData&&(this._createOrUpdateAgents(0,e),this.updateRenderData(e,D.FADING))}updateAgents(e){if(this.renderData){const t=this.layerInfo[e];for(const e of t)e.loadingAgent===Q&&(e.loadingAgent=null);this._createOrUpdateAgents(0,e)}}updateAgentSuspension(){for(const e of S){const t=this._isSuspended(e);for(const i of this.layerInfo[e])i.loadingAgent&&i.loadingAgent!==Q&&(i.loadingAgent.setSuspension(t),i.loadingAgent===Q&&this.updateRenderData(e,D.FADING))}}removeLayerAgent(e,t){const i=this.layerInfo[t][e];i.loadingAgent&&i.loadingAgent!==Q&&i.loadingAgent.dispose(),i.loadingAgent=null}agentDone(e,t){const i=this.layerInfo[t][e];i.loadingAgent=Q,i.data||null!=i.upsampleInfo||this._createOrUpdateAgents(e+1,t)}_hasBlendableAncestor(e){return"normal"!==e.blendMode||T(e.parent)&&this._hasBlendableAncestor(e.parent)}_hasBlendModes(e,t,i){for(let s=e;s<t;++s){const e=this._surface.layerViewByIndex(s,i);if(B(e)&&"normal"!==e?.layer?.blendMode||T(e?.layer?.parent)&&this._hasBlendableAncestor(e?.layer?.parent))return!0}return!1}_createOrUpdateAgents(e,t){const i=this.layerInfo[t];if(0===i.length)return;const s=this._isSuspended(t);for(let n=e;n<i.length;++n){const r=i[n];let a=!1;const o=this._surface.layerViewByIndex(n,t),l=P(o);if(r.loadingAgent?te(this,l,!1)?(r.loadingAgent!==Q&&r.loadingAgent.setSuspension(s),r.loadingAgent!==Q&&(a=r.loadingAgent.update())):r.dispose():te(this,l,!1)&&(r.loadingAgent=ne(this,n,t,s),a=r.loadingAgent.startLoading(),a?r.loadingAgent===Q&&this.setPendingUpdate(ee.GEOMETRY):(re(r.loadingAgent),r.loadingAgent=Q)),r.loadingAgent===Q&&this.updateRenderData(t,D.FADING),!this._hasBlendModes(e,i.length,t)&&a&&o.isOpaque)return}}_isWithinExtent(e){const t=this.extent;return t[0]>=e[0]&&e[2]>=t[2]&&t[1]>=e[1]&&e[3]>=t[3]}intersectsExtent(e){const t=this.extent;return t[2]>=e[0]&&e[2]>=t[0]&&t[3]>=e[1]&&e[3]>=t[1]}getElevationVerticesPerSide(t){const i=this.elevationLevel-this.level,s=Math.max(this.level-t,U(this.level)-i),n=e(1+(this.maxTesselation>>s),2,this.maxTesselation+1),r=this.getDefaultVerticesPerSide();return Math.max(n,r)}get test(){return{cachedMemory:this._cachedMemory}}_findLIJ(e,t){if(!e)return null;const i=this.surface.rootTiles;if(null!=i)for(const s of i)if(ue(s,e)){let i=s,n=e[0]-i.level-1;for(;n>=0&&!i.isLeaf&&!t(i);){const t=e[1]>>n&1,s=e[2]>>n&1;i=i.children[2*t+s],n--}return t(i)?i:null}return null}findNeighborTile(e,t){const i=this.lij,s=this.getNeighborLIJ(i,e);return s?de(i,s)?t(this)?this:null:this._findLIJ(s,t):null}findCorner(e,t){const i=e===x.NORTH_EAST?1:e===x.NORTH_WEST?0:e===x.SOUTH_WEST?2:3;let s=this;for(;s.children[0]&&(!t||!t(s));)s=s.children[i];return s}findNeighborCornerTileExact(e,t){return this.findNeighborTile(e,(e=>t(e)||e.level===this.level))?.findCorner(R(e),t)||null}forAllSubtreeOnSide(e,t){const i=e===x.NORTH?[0,1]:e===x.NORTH_EAST?[1]:e===x.EAST?[1,3]:e===x.SOUTH_EAST?[3]:e===x.SOUTH?[2,3]:e===x.SOUTH_WEST?[2]:e===x.WEST?[0,2]:[0],s=e=>{const n=e.children;!t(e)&&n[0]&&i.forEach((e=>s(n[e])))};s(this)}forallNeighbors(e){V.forEach((t=>this.findNeighborCornerTileExact(t,e))),w.forEach((t=>this.findNeighborTile(t,(t=>t.level===this.level||e(t)))?.forAllSubtreeOnSide(G(t),e)))}getNeighborEdgeStartVertexIndex(e,t){if(!t)return 0;const i=this.level-t.level;if(W(!q||i>=0),0===i)return 0;const s=2**i,n=1==(1&e),r=n?0:1,a=t.lij[r+1]*s,o=this.lij[r+1],l=o-a,h=n?s-1-l:l;return q&&(W(a<=o&&o<a+s),W(0<=h&&h<s)),h}forEachLoadedNeighbor(e){const t=this.level,i=e=>e.level===t||e.isLoaded;w.forEach((t=>{const s=this.findNeighborTile(t,i);null!=s&&s!==this&&s.forAllSubtreeOnSide(G(t),(i=>!!i.isLoaded&&(e(i,t),!0)))})),V.forEach((t=>{const s=this.findNeighborTile(t,i)?.findCorner(R(t),(e=>e.isLoaded));W(!s||ge(this,s,t)),s?.isLoaded&&e(s,t)}))}getNeighborLIJ(e,t){const i=F(t)?-1:H(t)?1:0,s=k(t)?-1:X(t)?1:0,n=[e[0],e[1]+i,e[2]+s];return n[1]<0?null:this.surface.isGlobal?this.wrapLIJ(n):n[2]<0?null:n}wrapLIJ(e){return!e||e[1]<0||e[1]>=2**e[0]?null:this.surface.wrapEastWest(e)}get westNeighborWestExtent(){return this.extent[0]*(this.isWestEnd?-1:1)}get eastNeighborEastExtent(){return this.extent[2]*(this.isEastEnd?-1:1)}get isEastEnd(){return this.lij[2]===this.surface.lijEastEnd(this.level)-1}get isWestEnd(){return 0===this.lij[2]}get isNorthEnd(){return 0===this.lij[1]}get isSouthEnd(){const e=this.surface.extent,t=e?.[1]??null;return null!=t&&this.extent[1]+f()>=t}checkGeometryWaterproofness(){Y&&(W(this.isLoaded),this.renderData?.checkGeometryWaterproofness())}shouldHaveNeighbor(e){const t=this.extent,i=this.surface.rootTilesExtent,s=.25*(t[2]-t[0]);if(F(e)&&t[3]+s>=i[3])return!1;if(H(e)&&t[1]-s<=i[1])return!1;const n=this.surface.isGlobal;return!(!n&&k(e)&&t[0]-s<=i[0])&&!(!n&&X(e)&&t[2]+s>=i[2])}updateDistanceToPOI(e){const t=this._lastPOI;if(this.distanceToPOI>=0&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return;c(this._lastPOI,e);const i=this._center[he.MIDDLE],s=e[0]-i[0],n=e[1]-i[1],r=e[2]-i[2];this.distanceToPOI=s*s+n*n+r*r}}function ne(e,t,i,s){const n=i===O.ELEVATION?oe.acquire():ae.acquire();return n.init(e,t,i,s),n}function re(e){e.dispose(),e instanceof M?oe.release(e):e instanceof N&&ae.release(e)}const ae=new i(N),oe=new i(M),le=new I;var he;function ue(e,t){const i=e.level,s=t[0];if(i>s)return!1;const n=s-i,r=Math.floor(t[1]/2**n),a=Math.floor(t[2]/2**n);return r===e.lij[1]&&a===e.lij[2]}function de(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]}function ce(e,t,i){if(null==e||null==t)return!1;if(0===e.level&&0===t.level){if(e.isEastEnd&&t.isWestEnd&&i===x.EAST)return!0;if(e.isWestEnd&&t.isEastEnd&&i===x.WEST)return!0}const s=Math.max(1e-6*(e.extent[2]-e.extent[0]),1);switch(i){case x.NORTH:return z(e.extent[3],t.extent[1],s);case x.SOUTH:return z(e.extent[1],t.extent[3],s);case x.EAST:return z(e.extent[2],t.extent[0],s)||z(e.extent[2],-t.extent[0],s);case x.WEST:return z(e.extent[0],t.extent[2],s)||z(e.extent[0],-t.extent[2],s)}}function ge(e,t,i){return null!=e&&null!=t&&t!==e&&(e.level>=t.level?pe(e,t,i):pe(t,e,R(i)))}function pe(e,t,i){W(e.level>=t.level);const s=$(i),n=J(i),r=e.extent,a=t.extent,o=[s?r[0]:r[2],n?r[3]:r[1]],l=[s?a[2]:a[0],n?a[1]:a[3]],h=1e-5*(r[2]-r[0]),u=z(o[0],l[0],h)||e.surface.isGlobal&&z(o[0],-l[0],h),d=z(o[1],l[1],h);if(u&&d)return!0;if(e.level===t.level)return W(!1),!1;if(!u&&!d)return W(!1),!1;const c=u?fe(a[1],a[3],r[1],r[3],h):fe(a[0],a[2],r[0],r[2],h);return W(c),c}function fe(e,t,i,s,n){return e-n<=i&&i<=s&&s<=t+n}!function(e){e[e.TOP=0]="TOP",e[e.MIDDLE=1]="MIDDLE",e[e.BOTTOM=2]="BOTTOM"}(he||(he={}));const me=g(),_e=g(),ye=g(),Ae=g();export{he as CenterPosition,se as Tile,ge as isCornerNeighbor,ce as isEdgeNeighbor};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.28/esri/copyright.txt for details.
4
4
  */
5
- import{disposeMaybe as e,releaseMaybe as t}from"../../../core/maybe.js";import{s as r,c as s}from"../../../chunks/vec2.js";import{Z as o}from"../../../chunks/vec2f64.js";import{isBaseLayer as a,isGroupLayer as i}from"../../../layers/support/layerUtils.js";import{ImageWithType as n}from"../support/StreamDataLoader.js";import{BlendLayersPassParameters as u}from"./BlendLayersTechnique.js";import{TextureUpdate as c}from"./interfaces.js";import{NeighborIndex as l}from"./ITile.js";import{LayerClass as p}from"./LayerClass.js";import{isBlendableLayerView as h,isVectorTileLayerView as d,isVectorTileRenderInfo as m,isImageryTileRenderInfo as _,isRasterTileRenderInfo as f,isTextureTileRenderInfo as T,isVectorTilePerLayerInfo as y}from"./terrainUtils.js";import{ActivationTime as g}from"./TextureFader.js";import{TextureReference as b}from"./TextureReference.js";import{TileCompositor as x}from"./TileCompositor.js";import{TileRenderInfo as k}from"./TileRenderInfo.js";import w from"./TileTexture.js";import{TileUpdate as I}from"./TileUpdate.js";import{blendModeFromString as A}from"../webgl-engine/core/shaderLibrary/output/BlendOptions.js";import{BaseOpacityMode as P,BlendLayersOutput as E}from"../webgl-engine/core/shaderLibrary/terrain/TileBackground.glsl.js";import{createColorTexture as R,createEmptyTexture as M}from"../webgl-engine/lib/glUtil3D.js";import{TextureSamplingMode as D,TextureWrapMode as L}from"../../webgl/enums.js";import{Texture as O}from"../../webgl/Texture.js";import{TextureDescriptor as j}from"../../webgl/TextureDescriptor.js";class N{constructor(e,t,r,s){this.start=e,this.end=t,this.blendMode=r,this.opacity=s}}class C{constructor(e,t,r){this._rctx=e,this.tileSize=t,this._techniqueRepository=r,this._passParameters=new u,this._backgroundTexture=null,this._backgroundColor=null,this._backgroundDirty=!1,this._blackTex=null,this._maxAnisotropy=this._rctx.parameters.maxMaxAnisotropy,this._composition=new x(this._rctx,this._techniqueRepository),this._blackTex=new w(R(this._rctx,[0,0,0,1])),this._ensureBackgroundTexture(this.tileSize)}dispose(){this._composition=e(this._composition),this._backgroundTexture=t(this._backgroundTexture),this._blackTex=t(this._blackTex)}get backgroundIsGrid(){return null==this._backgroundColor}get backgroundColor(){return this._backgroundColor}updateTileTexture(e,t){if(!e.renderData)return;const r=e.surface,s=r.baseOpacity;let o=0,n=0,u=this.tileSize,c=!1;const l=r.view.state.contentPixelRatio;let m=!1;z.clear(),H.length=0;const _=e.layerInfo[p.MAP];let f=_.length,T=0,y=null;for(;T<_.length;T++){const t=r.layerViewByIndex(T,p.MAP),g=t.layer.opacity;F[T]=g;const b=t.fullOpacity;if(q[T]=b,a(t.layer)&&f>=_.length&&(f=T),h(t)){v[T]=t.layer.blendMode;let e="normal"!==t.layer.blendMode;if(i(t.layer.parent)){const r=U(t.layer.parent);null!=r&&""!==r&&(e=B(t.layer.parent)||e)}e&&(m=e,c=!1)}if(0===g&&!m){_[T].pendingUpdates&=~(I.TEXTURE_NOFADING&I.TEXTURE_FADING);continue}++n;const x=S(e,T);if(x){if(_[T].pendingUpdates&=~(I.TEXTURE_NOFADING&I.TEXTURE_FADING),i(t.layer.parent)){const e=U(t.layer.parent);null!=e&&""!==e&&G(t.layer.parent,T)}d(t)?u=Math.max(u,this.tileSize*l):1===s&&1===b&&(t.isOpaque||this._dataToTexture(x)&&x.sourceLayerInfo.data.descriptor.isOpaque)&&(c=!0),++o,null===y&&(y=T)}}const g=u/this.tileSize;this._ensureBackgroundTexture(this.tileSize),0!==o&&null!==y?1===o&&!m&&this._useLayerTexture(e,y,f,q[y])||this._composeMapLayers(e,t,T-1,f,F,v,u,g,!c||m,z,m):this._useBackgroundTexture(e,n)}_ensureBackgroundTexture(e){null==this._backgroundTexture&&(this._backgroundTexture=this._buildTexture(e),this._backgroundDirty=!0),this._backgroundDirty&&(this._composition.bind(e),this._passParameters.offset=o,this._passParameters.scale=1,this._passParameters.opacity=1,null!=this.backgroundColor&&(this._passParameters.backgroundColor=this.backgroundColor),this._composition.drawBackground(this._passParameters,null!=this.backgroundColor),this._composition.copyFBOToTexture(this._backgroundTexture),this._composition.unbind(),this._backgroundDirty=!1)}_useBackgroundTexture(e,t){let r=g.Immediate;(e.surface.view.layerViewManager.updating||t>0)&&(r=g.Delayed);const s=e.renderData;this._backgroundTexture&&null==s.textureReference&&(r=g.Immediate),s.setTextureReference(null!=this._backgroundTexture?new b(this._backgroundTexture,c.FADING,V,e.surface.baseOpacity,0,1):null,r)}_useLayerTexture(e,t,r,s){const o=t<r,a=o?1:e.surface.baseOpacity,i=o?e.surface.baseOpacity:1,n=S(e,t);return!!this._dataToTexture(n)&&(e.renderData.setTextureReference(new b(n.sourceLayerInfo.data,c.FADING,n,a,i,s)),!0)}_composeMapLayers(e,t,r,s,a,i,n,u,c,l,p){this._composition.ensureBuffer(n);const h=e.surface.baseOpacity;let d=!1,f=D.LINEAR_MIPMAP_LINEAR,T=!1,y=0;for(let b=r;b>=0;b--){const t=S(e,b);if(!t)continue;if(0===a[b]&&!p)continue;const r=b<s&&h<1&&!d;this._passParameters.baseOpacity=r?h:1;const g=this._passParameters.baseOpacity<1?P.Required:P.NotRequired;r&&(d=!0);let x=!1;l.forEach((e=>{e.start===b&&(H.push(e),this._composition.openGroup(n),x=!0)}));const k=0===y,w=x?E.GroupBackgroundComposite:c&&k?this.backgroundIsGrid?E.GridComposite:E.ColorComposite:E.Composite,I=A[i[b]];for(m(t)?(this._passParameters.opacity=a[b],T=this._composition.drawVectorData(this._passParameters,w,n,I,g,t,u,this.tileSize,T)):_(t)?(this._passParameters.opacity=a[b],this._composition.drawImageryTileData(this._passParameters,w,n,I,g,t),this._hasNearestInterpolation(t)&&(f=D.NEAREST)):this._dataToTexture(t)&&(this._passParameters.texture=t.sourceLayerInfo.data.texture,this._passParameters.offset=t.offset,this._passParameters.scale=t.scale,this._passParameters.opacity=a[b],this._composition.drawRasterData(this._passParameters,w,n,I,g));H.length>0&&H[H.length-1].end===b;){const e=H.pop();this._passParameters.opacity=e.opacity,this._passParameters.offset=o,this._passParameters.scale=1;const t=c&&k?this.backgroundIsGrid?E.GridComposite:E.ColorComposite:E.Composite;this._composition.drawGroup(this._passParameters,t,n,A[e.blendMode],g)}y++}const g=e.renderData,x=g.ensureTexture(n,(()=>this._buildTexture(n,f)));this._composition.copyFBOToTexture(x),this._composition.unbind(),g.setTextureReference(new b(x,t,V,d?1:h,0,1))}_hasNearestInterpolation(e){const t=e.sourceLayerInfo.data;return!!t.source&&"nearest"===t.interpolation}_dataToTexture(e){if(f(e)){const t=e.sourceLayerInfo;t.data=this._buildTexture(t.data),e.tile.setMemoryDirty()}return T(e)}setBackground(e){this._backgroundColor!==e&&(this._backgroundColor=e,this._backgroundDirty=!0)}_buildTexture(e,t=D.LINEAR_MIPMAP_LINEAR){if(null==e)return null;const r=new j;r.wrapMode=L.CLAMP_TO_EDGE,r.samplingMode=t,r.maxAnisotropy=this._maxAnisotropy,r.preMultiplyAlpha=!0,r.flipped=!0,r.hasMipmap=!0;const s=this._rctx;let o;if("number"==typeof e)r.width=r.height=e,o=new w(new O(s,r));else if(e instanceof n)r.isOpaque=e.isOpaque,o=new w(new O(s,r,e.image)),e.release();else try{r.width=e.width,r.height=e.height,o=new w(new O(s,r,e))}catch(i){o=new w(M(s)),console.warn("TileRenderer: failed to execute 'texImage2D', cross-origin image may not be loaded.")}const a=s.bindTexture(o.texture,O.TEXTURE_UNIT_FOR_UPDATES);return o.generateMipmap(),s.bindTexture(a,O.TEXTURE_UNIT_FOR_UPDATES),o}get test(){return{backgroundTexture:this._backgroundTexture}}}function S(e,t){X.layerIndex=t,X.vtlNeighborInfos.clear();const o=e.layerInfo[p.MAP][t];if(o.data)return r(X.offset,0,0),X.tile=e,X.scale=1,X.sourceLod=e.lij,X.sourceLayerInfo=o,m(X)&&e.forEachLoadedNeighbor(((r,s)=>{if(r.level!==e.level)return;const a=r.layerInfo[p.MAP][t];if(!y(a)||o.data===a.data)return;const i=X.vtlNeighborInfos.pushNew();i.offset=W[s],i.sourceLod=r.lij,i.sourceLayerInfo=a})),X;const a=o.upsampleInfo;if(a){const e=a.tile.layerInfo[p.MAP][t];return X.tile=a.tile,s(X.offset,a.offset),X.scale=a.scale,X.sourceLod=a.tile.lij,X.sourceLayerInfo=e,X}return null}function U(e){return e.get("uid")}function B(e){let t="normal"!==e.blendMode;return i(e.parent)&&(t=B(e.parent)||t),t}function G(e,t){i(e.parent)&&G(e.parent,t);const r=U(e);if(null!=r&&""!==r){const s=z.get(r);s?s.start=t:z.set(r,new N(t,t,e.blendMode,e.opacity))}}const F=new Array,q=new Array,v=new Array,z=new Map,H=new Array,X=new k,V={offset:[0,0],scale:1},W=new Array;W[l.NORTH]=[0,-1],W[l.NORTH_EAST]=[-1,-1],W[l.EAST]=[-1,0],W[l.SOUTH_EAST]=[-1,1],W[l.SOUTH]=[0,1],W[l.SOUTH_WEST]=[1,1],W[l.WEST]=[1,0],W[l.NORTH_WEST]=[1,-1];export{N as GroupInfo,C as TileRenderer};
5
+ import{disposeMaybe as e,releaseMaybe as t}from"../../../core/maybe.js";import{s as r,j as s}from"../../../chunks/vec2.js";import{Z as o}from"../../../chunks/vec2f64.js";import{isBaseLayer as a,isGroupLayer as i}from"../../../layers/support/layerUtils.js";import{ImageWithType as n}from"../support/StreamDataLoader.js";import{BlendLayersPassParameters as u}from"./BlendLayersTechnique.js";import{TextureUpdate as c}from"./interfaces.js";import{NeighborIndex as l}from"./ITile.js";import{LayerClass as p}from"./LayerClass.js";import{isBlendableLayerView as h,isVectorTileLayerView as d,isVectorTileRenderInfo as m,isImageryTileRenderInfo as _,isRasterTileRenderInfo as f,isTextureTileRenderInfo as T,isVectorTilePerLayerInfo as y}from"./terrainUtils.js";import{ActivationTime as g}from"./TextureFader.js";import{TextureReference as b}from"./TextureReference.js";import{TileCompositor as x}from"./TileCompositor.js";import{TileRenderInfo as k}from"./TileRenderInfo.js";import w from"./TileTexture.js";import{TileUpdate as I}from"./TileUpdate.js";import{blendModeFromString as A}from"../webgl-engine/core/shaderLibrary/output/BlendOptions.js";import{BaseOpacityMode as P,BlendLayersOutput as E}from"../webgl-engine/core/shaderLibrary/terrain/TileBackground.glsl.js";import{createColorTexture as R,createEmptyTexture as M}from"../webgl-engine/lib/glUtil3D.js";import{TextureSamplingMode as D,TextureWrapMode as j}from"../../webgl/enums.js";import{Texture as L}from"../../webgl/Texture.js";import{TextureDescriptor as O}from"../../webgl/TextureDescriptor.js";class N{constructor(e,t,r,s){this.start=e,this.end=t,this.blendMode=r,this.opacity=s}}class C{constructor(e,t,r){this._rctx=e,this.tileSize=t,this._techniqueRepository=r,this._passParameters=new u,this._backgroundTexture=null,this._backgroundColor=null,this._backgroundDirty=!1,this._maxAnisotropy=this._rctx.parameters.maxMaxAnisotropy,this._composition=new x(this._rctx,this._techniqueRepository),this._blackTex=new w(R(this._rctx,[0,0,0,1])),this._ensureBackgroundTexture(this.tileSize)}dispose(){this._composition=e(this._composition),this._backgroundTexture=t(this._backgroundTexture),this._blackTex=t(this._blackTex)}get backgroundIsGrid(){return null==this._backgroundColor}get backgroundColor(){return this._backgroundColor}updateTileTexture(e,t){if(!e.renderData)return;const r=e.surface,s=r.baseOpacity;let o=0,n=0,u=this.tileSize,c=!1;const l=r.view.state.contentPixelRatio;let m=!1;z.clear(),H.length=0;const _=e.layerInfo[p.MAP];let f=_.length,T=0,y=null;for(;T<_.length;T++){const t=r.layerViewByIndex(T,p.MAP),g=t.layer.opacity;F[T]=g;const b=t.fullOpacity;if(q[T]=b,a(t.layer)&&f>=_.length&&(f=T),h(t)){v[T]=t.layer.blendMode;let e="normal"!==t.layer.blendMode;if(i(t.layer.parent)){const r=U(t.layer.parent);null!=r&&""!==r&&(e=B(t.layer.parent)||e)}e&&(m=e,c=!1)}if(0===g&&!m){_[T].pendingUpdates&=~(I.TEXTURE_NOFADING&I.TEXTURE_FADING);continue}++n;const x=S(e,T);if(x){if(_[T].pendingUpdates&=~(I.TEXTURE_NOFADING&I.TEXTURE_FADING),i(t.layer.parent)){const e=U(t.layer.parent);null!=e&&""!==e&&G(t.layer.parent,T)}d(t)?u=Math.max(u,this.tileSize*l):1===s&&1===b&&(t.isOpaque||this._dataToTexture(x)&&x.sourceLayerInfo.data.descriptor.isOpaque)&&(c=!0),++o,null===y&&(y=T)}}const g=u/this.tileSize;this._ensureBackgroundTexture(this.tileSize),0!==o&&null!==y?1===o&&!m&&this._useLayerTexture(e,y,f,q[y])||this._composeMapLayers(e,t,T-1,f,F,v,u,g,!c||m,z,m):this._useBackgroundTexture(e,n)}_ensureBackgroundTexture(e){null==this._backgroundTexture&&(this._backgroundTexture=this._buildTexture(e),this._backgroundDirty=!0),this._backgroundDirty&&(this._composition.bind(e),this._passParameters.offset=o,this._passParameters.scale=1,this._passParameters.opacity=1,null!=this.backgroundColor&&(this._passParameters.backgroundColor=this.backgroundColor),this._composition.drawBackground(this._passParameters,null!=this.backgroundColor),this._composition.copyFBOToTexture(this._backgroundTexture),this._composition.unbind(),this._backgroundDirty=!1)}_useBackgroundTexture(e,t){let r=g.Immediate;(e.surface.view.layerViewManager.updating||t>0)&&(r=g.Delayed);const s=e.renderData;this._backgroundTexture&&null==s.textureReference&&(r=g.Immediate),s.setTextureReference(null!=this._backgroundTexture?new b(this._backgroundTexture,c.FADING,V,e.surface.baseOpacity,0,1):null,r)}_useLayerTexture(e,t,r,s){const o=t<r,a=o?1:e.surface.baseOpacity,i=o?e.surface.baseOpacity:1,n=S(e,t);return!!this._dataToTexture(n)&&(e.renderData.setTextureReference(new b(n.sourceLayerInfo.data,c.FADING,n,a,i,s)),!0)}_composeMapLayers(e,t,r,s,a,i,n,u,c,l,p){this._composition.ensureBuffer(n);const h=e.surface.baseOpacity;let d=!1,f=D.LINEAR_MIPMAP_LINEAR,T=!1,y=0;for(let b=r;b>=0;b--){const t=S(e,b);if(!t)continue;if(0===a[b]&&!p)continue;const r=b<s&&h<1&&!d;this._passParameters.baseOpacity=r?h:1;const g=this._passParameters.baseOpacity<1?P.Required:P.NotRequired;r&&(d=!0);let x=!1;l.forEach((e=>{e.start===b&&(H.push(e),this._composition.openGroup(n),x=!0)}));const k=0===y,w=x?E.GroupBackgroundComposite:c&&k?this.backgroundIsGrid?E.GridComposite:E.ColorComposite:E.Composite,I=A[i[b]];for(m(t)?(this._passParameters.opacity=a[b],T=this._composition.drawVectorData(this._passParameters,w,n,I,g,t,u,this.tileSize,T)):_(t)?(this._passParameters.opacity=a[b],this._composition.drawImageryTileData(this._passParameters,w,n,I,g,t),this._hasNearestInterpolation(t)&&(f=D.NEAREST)):this._dataToTexture(t)&&(this._passParameters.texture=t.sourceLayerInfo.data.texture,this._passParameters.offset=t.offset,this._passParameters.scale=t.scale,this._passParameters.opacity=a[b],this._composition.drawRasterData(this._passParameters,w,n,I,g));H.length>0&&H[H.length-1].end===b;){const e=H.pop();this._passParameters.opacity=e.opacity,this._passParameters.offset=o,this._passParameters.scale=1;const t=c&&k?this.backgroundIsGrid?E.GridComposite:E.ColorComposite:E.Composite;this._composition.drawGroup(this._passParameters,t,n,A[e.blendMode],g)}y++}const g=e.renderData,x=g.ensureTexture(n,(()=>this._buildTexture(n,f)));this._composition.copyFBOToTexture(x),this._composition.unbind(),g.setTextureReference(new b(x,t,V,d?1:h,0,1))}_hasNearestInterpolation(e){const t=e.sourceLayerInfo.data;return!!t.source&&"nearest"===t.interpolation}_dataToTexture(e){if(f(e)){const t=e.sourceLayerInfo;t.data=this._buildTexture(t.data),e.tile.setMemoryDirty()}return T(e)}setBackground(e){this._backgroundColor!==e&&(this._backgroundColor=e,this._backgroundDirty=!0)}_buildTexture(e,t=D.LINEAR_MIPMAP_LINEAR){if(null==e)return null;const r=new O;r.wrapMode=j.CLAMP_TO_EDGE,r.samplingMode=t,r.maxAnisotropy=this._maxAnisotropy,r.preMultiplyAlpha=!0,r.flipped=!0,r.hasMipmap=!0;const s=this._rctx;let o;if("number"==typeof e)r.width=r.height=e,o=new w(new L(s,r));else if(e instanceof n)r.isOpaque=e.isOpaque,o=new w(new L(s,r,e.image)),e.release();else try{r.width=e.width,r.height=e.height,o=new w(new L(s,r,e))}catch(i){o=new w(M(s)),console.warn("TileRenderer: failed to execute 'texImage2D', cross-origin image may not be loaded.")}const a=s.bindTexture(o.texture,L.TEXTURE_UNIT_FOR_UPDATES);return o.generateMipmap(),s.bindTexture(a,L.TEXTURE_UNIT_FOR_UPDATES),o}get test(){return{backgroundTexture:this._backgroundTexture}}}function S(e,t){X.layerIndex=t,X.vtlNeighborInfos.clear();const o=e.layerInfo[p.MAP][t];if(o.data)return r(X.offset,0,0),X.tile=e,X.scale=1,X.sourceLod=e.lij,X.sourceLayerInfo=o,m(X)&&e.forEachLoadedNeighbor(((r,s)=>{if(r.level!==e.level)return;const a=r.layerInfo[p.MAP][t];if(!y(a)||o.data===a.data)return;const i=X.vtlNeighborInfos.pushNew();i.offset=W[s],i.sourceLod=r.lij,i.sourceLayerInfo=a})),X;const a=o.upsampleInfo;if(a){const e=a.tile.layerInfo[p.MAP][t];return X.tile=a.tile,s(X.offset,a.offset),X.scale=a.scale,X.sourceLod=a.tile.lij,X.sourceLayerInfo=e,X}return null}function U(e){return e.get("uid")}function B(e){let t="normal"!==e.blendMode;return i(e.parent)&&(t=B(e.parent)||t),t}function G(e,t){i(e.parent)&&G(e.parent,t);const r=U(e);if(null!=r&&""!==r){const s=z.get(r);s?s.start=t:z.set(r,new N(t,t,e.blendMode,e.opacity))}}const F=new Array,q=new Array,v=new Array,z=new Map,H=new Array,X=new k,V={offset:[0,0],scale:1},W=new Array;W[l.NORTH]=[0,-1],W[l.NORTH_EAST]=[-1,-1],W[l.EAST]=[-1,0],W[l.SOUTH_EAST]=[-1,1],W[l.SOUTH]=[0,1],W[l.SOUTH_WEST]=[1,1],W[l.WEST]=[1,0],W[l.NORTH_WEST]=[1,-1];export{N as GroupInfo,C as TileRenderer};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.28/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../../chunks/tslib.es6.js";import t from"../../../core/Accessor.js";import i from"../../../core/Handles.js";import{destroyMaybe as s}from"../../../core/maybe.js";import{watch as r}from"../../../core/reactiveUtils.js";import{property as o}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/accessorSupport/ensureType.js";import"../../../core/arrayUtils.js";import"../../../core/has.js";import{subclass as l}from"../../../core/accessorSupport/decorators/subclass.js";import{canProjectToWGS84ComparableLonLat as n}from"../../../geometry/projection.js";import{equals as a}from"../../../geometry/support/aaBoundingRect.js";import{isMars as c,isMoon as h}from"../../../geometry/support/spatialReferenceUtils.js";import{isTiledLayer as p}from"../../../layers/support/layerUtils.js";import{ViewingMode as d}from"../../ViewingMode.js";import{isProjectableRasterLayer as m,getTiledLayerInfo as y}from"./terrainUtils.js";import{TilingScheme as u}from"./TilingScheme.js";let S=class extends t{constructor(e){super(e),this._handles=new i}initialize(){this._handles.add(this.layers.on("change",(()=>this._update()))),this._handles.add(r((()=>this.extentHelper.layerViewsExtent),(()=>this._setAdHocTilingScheme()))),this._update(),this.tilingSchemeLocked||this._setAdHocTilingScheme()}destroy(){this._handles=s(this._handles),this._waitTask=null,this.layers.destroy()}_update(){if(this._waitTask=null,this.tilingSchemeLocked)return;let e;if(this.layers.some((t=>!(!p(t)||t.isRejected())&&(!(t.isFulfilled()&&!g(t,this.viewSpatialReference,this.viewingMode))&&(e=t,!("vector-tile"===t?.type||m(t)))))),e)if(e.isResolved()){const t=y(e,this.viewSpatialReference,this.viewingMode);if(null!=t){const e=new u(t.tileInfo);this._lockTilingScheme(e)}}else this._updateWhen(e)}_updateWhen(e){const t=e.when().catch((()=>{})).then((()=>{t!==this._waitTask||this.destroyed||this._update()}));this._waitTask=t}_lockTilingScheme(e){if(this.viewingMode===d.Global){const t=e.levels.length-1;e.spatialReference.isWebMercator?e=u.makeWebMercatorAuxiliarySphere(t):n(e.spatialReference)&&(e=u.makeGCSWithTileSize(e.spatialReference,e.pixelSize,t))}this.tilingSchemeLocked=!0,this.tilingScheme=e,this.extentHelper.tilingScheme=this.tilingScheme,this._updateTiledLayerExtent(),this._handles.removeAll(),this._handles.add(r((()=>this.extentHelper.tiledLayersExtent),(()=>this._updateTiledLayerExtent())))}_updateTiledLayerExtent(){this._set("extent",this.extentHelper.tiledLayersExtent)}_setAdHocTilingScheme(){if(this.viewingMode===d.Global){const e=this.extentHelper.viewSpatialReference,t=n(e)||c(e)||h(e);e.isWebMercator?this.tilingScheme=u.WebMercatorAuxiliarySphere:t&&(this.tilingScheme=u.makeGCSWithTileSize(e,256)),this._set("extent",this.extentHelper.layerViewsExtent)}else{const e=this.extentHelper.layerViewsExtent;null==e||a(e,this.extent)||(this.tilingScheme=u.fromExtent(e,this.extentHelper.viewSpatialReference),this._set("extent",e))}}get test(){return{lockTilingScheme:e=>this._lockTilingScheme(e),done:!this._waitTask}}};function g(e,t,i){return null!=y(e,t,i)}e([o()],S.prototype,"tilingScheme",void 0),e([o({readOnly:!0})],S.prototype,"extent",void 0),e([o({value:!1})],S.prototype,"tilingSchemeLocked",void 0),e([o({constructOnly:!0})],S.prototype,"viewSpatialReference",void 0),e([o({constructOnly:!0})],S.prototype,"layers",void 0),e([o({constructOnly:!0})],S.prototype,"extentHelper",void 0),e([o({constructOnly:!0})],S.prototype,"viewingMode",void 0),S=e([l("esri.views.3d.terrain.TilingSchemeLogic")],S);export{S as TilingSchemeLogic};
5
+ import{_ as e}from"../../../chunks/tslib.es6.js";import t from"../../../core/Accessor.js";import{watch as i}from"../../../core/reactiveUtils.js";import{property as s}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/accessorSupport/ensureType.js";import"../../../core/arrayUtils.js";import"../../../core/has.js";import{subclass as r}from"../../../core/accessorSupport/decorators/subclass.js";import{canProjectToWGS84ComparableLonLat as o}from"../../../geometry/projection.js";import{equals as l}from"../../../geometry/support/aaBoundingRect.js";import{isMars as n,isMoon as c}from"../../../geometry/support/spatialReferenceUtils.js";import{isTiledLayer as a}from"../../../layers/support/layerUtils.js";import{ViewingMode as h}from"../../ViewingMode.js";import{isProjectableRasterLayer as p,getTiledLayerInfo as m}from"./terrainUtils.js";import{TilingScheme as d}from"./TilingScheme.js";let u=class extends t{constructor(e){super(e)}initialize(){this.addHandles([this.layers.on("change",(()=>this._update())),i((()=>this.extentHelper.layerViewsExtent),(()=>this._setAdHocTilingScheme()))]),this._update(),this.tilingSchemeLocked||this._setAdHocTilingScheme()}destroy(){this._waitTask=null,this.layers.destroy()}_update(){if(this._waitTask=null,this.tilingSchemeLocked)return;let e;if(this.layers.some((t=>!(!a(t)||t.isRejected())&&(!(t.isFulfilled()&&!y(t,this.viewSpatialReference,this.viewingMode))&&(e=t,!("vector-tile"===t?.type||p(t)))))),e)if(e.isResolved()){const t=m(e,this.viewSpatialReference,this.viewingMode);if(null!=t){const e=new d(t.tileInfo);this._lockTilingScheme(e)}}else this._updateWhen(e)}_updateWhen(e){const t=e.when().catch((()=>{})).then((()=>{t!==this._waitTask||this.destroyed||this._update()}));this._waitTask=t}_lockTilingScheme(e){if(this.viewingMode===h.Global){const t=e.levels.length-1;e.spatialReference.isWebMercator?e=d.makeWebMercatorAuxiliarySphere(t):o(e.spatialReference)&&(e=d.makeGCSWithTileSize(e.spatialReference,e.pixelSize,t))}this.tilingSchemeLocked=!0,this.tilingScheme=e,this.extentHelper.tilingScheme=this.tilingScheme,this._updateTiledLayerExtent(),this.removeAllHandles(),this.addHandles(i((()=>this.extentHelper.tiledLayersExtent),(()=>this._updateTiledLayerExtent())))}_updateTiledLayerExtent(){this._set("extent",this.extentHelper.tiledLayersExtent)}_setAdHocTilingScheme(){if(this.viewingMode===h.Global){const e=this.extentHelper.viewSpatialReference,t=o(e)||n(e)||c(e);e.isWebMercator?this.tilingScheme=d.WebMercatorAuxiliarySphere:t&&(this.tilingScheme=d.makeGCSWithTileSize(e,256)),this._set("extent",this.extentHelper.layerViewsExtent)}else{const e=this.extentHelper.layerViewsExtent;null==e||l(e,this.extent)||(this.tilingScheme=d.fromExtent(e,this.extentHelper.viewSpatialReference),this._set("extent",e))}}get test(){return{lockTilingScheme:e=>this._lockTilingScheme(e),done:!this._waitTask}}};function y(e,t,i){return null!=m(e,t,i)}e([s()],u.prototype,"tilingScheme",void 0),e([s({readOnly:!0})],u.prototype,"extent",void 0),e([s({value:!1})],u.prototype,"tilingSchemeLocked",void 0),e([s({constructOnly:!0})],u.prototype,"viewSpatialReference",void 0),e([s({constructOnly:!0})],u.prototype,"layers",void 0),e([s({constructOnly:!0})],u.prototype,"extentHelper",void 0),e([s({constructOnly:!0})],u.prototype,"viewingMode",void 0),u=e([r("esri.views.3d.terrain.TilingSchemeLogic")],u);export{u as TilingSchemeLogic};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.28/esri/copyright.txt for details.
4
4
  */
5
- import has from"../../../../../core/has.js";import e from"../../../../../core/Logger.js";import t from"../../../../../core/PooledArray.js";import{isArray as o}from"../../../../../core/typedArrayUtil.js";import{e as n,t as r}from"../../../../../chunks/mat3.js";import{c as i}from"../../../../../chunks/mat3f32.js";import{d as s,w as a,t as c}from"../../../../../chunks/vec3.js";import{a as l,c as m}from"../../../../../chunks/vec3f64.js";import{compactIndices as f}from"../../../../../geometry/support/Indices.js";import{b as p}from"../../../../../chunks/vec32.js";import{c as h}from"../../../../../chunks/vec33.js";import{ViewingMode as u}from"../../../../ViewingMode.js";import{ColorMixModeEnum as b,encodeSymbolColor as g}from"../../../layers/support/symbolColorUtils.js";import{clone as d,computeOffsetObb as y,radius as j}from"../../../support/orientedBoundingBox.js";import{glLayout as C}from"../../../support/buffer/glUtil.js";import{newLayout as v}from"../../../support/buffer/InterleavedLayout.js";import _ from"./ComponentData.js";import{State as w,ComponentObject as M}from"./ComponentObject.js";import O from"./IntersectionGeometry.js";import{Renderable as x}from"./Renderable.js";import{RenderGeometry as A}from"./RenderGeometry.js";import{RenderSubmitSystem as D}from"./RenderSubmitSystem.js";import{createVertexBufferLayout as S}from"./SourceGeometry.js";import{UniformComponentParameters as I}from"./UniformComponentParameters.js";import{ComponentParametersVarying as P,ComponentParametersUniform as E,ComponentParameterSummary as L,ComponentMaterial as R}from"./Material/ComponentMaterial.js";import{attributeLocations as U}from"./Material/ComponentTechnique.js";import{encodeElevationOffset as B}from"./Material/shader/ComponentData.glsl.js";import{getVisibility as T,updateVisibilityWithCount as V}from"../../lib/ComponentUtils.js";import{assert as k}from"../../lib/Util.js";import{VertexAttribute as G}from"../../lib/VertexAttribute.js";import{getVerticalOffsetI3S as N}from"../../lib/verticalOffsetUtils.js";import{EdgeInputBufferLayout as q}from"../../lib/edgeRendering/bufferLayouts.js";import{extractComponentsEdgeLocationsLayout as H}from"../../lib/edgeRendering/edgeProcessing.js";import{BufferManager as W}from"../../lib/TextureBackedBuffer/BufferManager.js";import{BufferObject as X}from"../../../../webgl/BufferObject.js";import{Usage as Y,PrimitiveType as z}from"../../../../webgl/enums.js";import{VertexArrayObject as F}from"../../../../webgl/VertexArrayObject.js";const J=e.getLogger("esri.views.3d.webgl-engine.collections.Component.ComponentObjectCollection");class K{constructor(e,o){this._renderManager=e,this._viewingMode=o,this._objects=[new t,new t],this._renderSubmit=new D(this),this._renderManager.register(this._renderSubmit),this._hasObjectAndLayerId=has("enable-feature:objectAndLayerId-rendering"),this._componentBufferManager=new W(e.rctx,2+(this._hasObjectAndLayerId?1:0))}destroy(){k(0===this._objects[w.Hidden].length&&0===this._objects[w.Visible].length,"ObjectCollection should be empty upon disposal"),this._componentBufferManager.destroy();const e=this._objects.flatMap((e=>e.toArray()));for(const t of e)t?.destroy()}createObject(e){const t=new M;return t.toMapSpace=e.toMapSpace,t.transform=e.transform,t.obb=d(e.obb),t.components=new _(this._componentBufferManager,f(e.geometry.componentOffsets)),t.renderable=this._createRenderable(e,t.components),t.intersectionGeometry=new O(e.geometry.positionData,t.components),this._objects[t.visible].push(t),t}destroyObject(e){const t=e;this._objects[t.visible].removeUnordered(t),t.destroy(),this._notifyDirty()}setObjectVisibility(e,t){const o=e;t!==o.visible&&(this._objects[o.visible].removeUnordered(o),this._objects[t].push(o),o.visible=t,this._notifyDirty())}preSubmit(e){const t=e.camera.eye;this.visibleObjects.forAll((e=>e.renderable.meta.cameraDepthSquared=s(t,e.obb.center)))}getMaterial(e){return e.renderable.material}updateMaterial(e,t){const o=e.renderable.material;t(o),o.dirty&&this._notifyDirty()}setAllComponentVisibilities(e,t){const o=e;o.components.visibility.reset(t),o.components.visibilityDirty(),this._notifyDirty()}forEachVisibleComponent(e,t){return e.components.visibility.forEachComponent(t)}getComponentCount(e){const t=e,o=t.components.visibility.componentCount();return{visible:o,invisible:t.components.count-o}}setComponentData(e,t){const o=e,n=o.renderable.material,r=o.components,i=r.materialDataBuffer,s=r.materialDataIndices,a=new I,c=i.textureBuffer,l=new Uint8Array(4),m=new Uint32Array(l.buffer);let f=0,p=0,h=0,u=r.verticalOffsets,j=1/0,C=-1/0,v=!1,_=!1,w=0;for(let d=0;d<r.count;d++){t(d,a),f+=+(a.externalColor[3]<1),p+=+(a.externalColorMixMode===b.Replace&&1===a.externalColor[3]),h+=+a.castShadows,g(a.externalColor,a.externalColorMixMode,l),l[2]=254&l[2]|+a.castShadows,c.setData(s[d],0,l[0],l[1],l[2],l[3]),v||=d>0&&w!==m[0],w=m[0],_||=0!==a.elevationOffset,_&&null==u&&(u=new Array(d).fill(0)),null!=u&&(u[d]=a.elevationOffset),j=Math.min(j,a.elevationOffset),C=Math.max(C,a.elevationOffset),B(a.elevationOffset,l),c.setData(s[d],1,l[0],l[1],l[2],l[3]);const e=a.objectAndLayerIdColor;null!=e&&c.setData(s[d],2,e[0],e[1],e[2],e[3]),a.pickable!==T(r.pickability,d)&&(r.pickability=V(r.pickability,r.count,d,a.pickable))}r.verticalOffsets=_?u:null,o.offsetObb=_?y(o.obb,j,C,this._viewingMode,null!=o.offsetObb?o.offsetObb:d(o.obb)):null,v||_||this._hasObjectAndLayerId?(n.componentParameters=new P,n.componentParameters.castShadows=Z(h,r.count),n.componentParameters.transparent=Z(f,r.count),n.componentParameters.opaqueOverride=Z(p,r.count),n.componentParameters.texture=c,c.updateTexture()):(n.componentParameters=new E,n.componentParameters.castShadows=a.castShadows?L.All:L.None,n.componentParameters.externalColor=a.externalColor,n.componentParameters.externalColorMixMode=a.externalColorMixMode),this._notifyDirty()}getComponentAabb(e,t,o,n=!1){e.intersectionGeometry.getComponentAabb(t,o);const r=e,i=r.components.verticalOffsets;if(n||null==i)return o;const s=i[t];if(this._viewingMode===u.Local||0===s)return o[2]+=s,o[5]+=s,o;const a=N(s);return a.localOrigin=r.transform.position,a.applyToAabb(o)}getComponentObb(e){return e.obb}getObjectTransform(e){return e.transform}getComponentPositions(e,t,o){return e.intersectionGeometry.getComponentPositions(t,o)}intersect(e,t,o,i,s,l){const m=e;null!=s&&(s.localOrigin=m.transform.position);const f=n($,m.transform.rotationScale);a(ee,t,m.transform.position),a(te,o,m.transform.position),c(ee,ee,f),c(te,te,f);const p=r($,f);return m.intersectionGeometry.intersect(ee,te,i,p,s,m.components.verticalOffsets,l)}addEdges(e,t,o,n){const r=e,{indices:i,positions:s}=r.intersectionGeometry,a=r.components.offsets;return t.addComponentObject(e,r.transform,{center:r.obb.center,radius:j(r.obb)},s,i,a,o,n)}async extractEdgeInformation(e,t,o){const n=e,r=n.components.visibility;if(r.allInvisible())return{buffer:H.createBuffer(0),origin:[0,0,0]};const{indices:i,positions:s}=n.intersectionGeometry,a=n.components.offsets,c=q.createBuffer(s.length/3);h(c.position.typedBuffer,s,c.position.typedBufferStride,3),p(c.position,c.position,n.transform.rotationScale),this._setComponentIndices(c.componentIndex,i,a);const m=c.count,f=this._computeVisibilityIndices(i,r,a,m);return{origin:l(n.transform.position),buffer:await t.extractComponentsEdgeLocations({indices:f,indicesLength:f.length,skipDeduplicate:!0,data:c,writerSettings:{reducedPrecision:!1,variants:0}},o)}}_setComponentIndices(e,t,o){let n=0;for(let r=0;r<o.length-1;r++){const i=o[r],s=o[r+1];for(let o=i;o<s;o++){const r=t?t[o]:o;e.set(r,n)}n++}}_computeVisibilityIndices(e,t,n,r){if(e&&t.allVisible())return e;let i=0;t.forEachComponentRange(((e,t)=>(i+=n[t]-n[e],!0)));const s=o(e)?new Array(i):2===e?.BYTES_PER_ELEMENT||r<=65536?new Uint16Array(i):new Uint32Array(i);let a=0;return t.forEachComponentRange(((t,o)=>{const r=n[t],i=n[o];for(let n=r;n<i;n++)s[a++]=e?e[n]:n;return!0})),s}addComponentHighlight(e,t){const o=e.components;null==o.highlightCounts&&(o.highlightCounts=new Uint32Array(o.count+1));0===o.highlightCounts[t]++&&(o.highlightsDirty(),this._notifyDirty()),o.highlightCounts[o.count]++}removeComponentHighlight(e,t){const o=e.components;if(null==o.highlightCounts)return void J.warn("Removing non-existing highlight.");const n=o.highlightCounts[t],r=o.highlightCounts[o.count];if(0!==n){if(n>1)return o.highlightCounts[t]=n-1,void(o.highlightCounts[o.count]=r-1);o.highlightCounts[t]=0,o.highlightsDirty(),this._notifyDirty(),1===r?o.highlightCounts=null:o.highlightCounts[o.count]=r-1}else J.warn("Removing non-existing highlight.")}clearHighlights(e){const t=e.components;null!=t.highlightCounts&&(t.highlightCounts=null,t.highlightsDirty(),this._notifyDirty())}getObjectGPUMemoryUsage(e){return e.renderable.meta.gpuMemoryEstimate}get visibleObjects(){return this._objects[w.Visible]}_createRenderable(e,t){const o=this._renderManager.rctx,n=e.geometry,r=n.vertices.layoutParameters,i=X.createVertex(o,Y.STATIC_DRAW,n.vertices.data),s=n.indices?X.createIndex(o,Y.STATIC_DRAW,n.indices):null,a=C(S(r)),c=new Uint16Array(n.vertices.count);for(let u=0;u<t.count;u++){const e=t.offsets[u],o=t.offsets[u+1],r=t.materialDataIndices[u];if(null!=n.indices)for(let t=e;t<o;t++){c[n.indices[t]]=r}else for(let t=e;t<o;t++)c[t]=r}const l=X.createVertex(o,Y.STATIC_DRAW,c.buffer),m=new R(e.transform,e.toMapSpace),f=new F(o,U,{data:a,componentIndices:Q},{data:i,componentIndices:l},s),p=new A(f,z.TRIANGLES,r,null!=s),h={cameraDepthSquared:.5,gpuMemoryEstimate:i.byteLength+l.byteLength+(null!=s?s.byteLength:0)};return new x(m,p,h)}_notifyDirty(){this._renderManager.notifyDirty()}}const Q=C(v().u16(G.COMPONENTINDEX));function Z(e,t){return e===t?L.All:0===e?L.None:L.Some}const $=i(),ee=m(),te=m();export{K as ComponentObjectCollection};
5
+ import has from"../../../../../core/has.js";import e from"../../../../../core/Logger.js";import t from"../../../../../core/PooledArray.js";import{isArray as o}from"../../../../../core/typedArrayUtil.js";import{e as n,t as r}from"../../../../../chunks/mat3.js";import{c as i}from"../../../../../chunks/mat3f32.js";import{d as s,A as a,t as c}from"../../../../../chunks/vec3.js";import{a as l,c as m}from"../../../../../chunks/vec3f64.js";import{compactIndices as f}from"../../../../../geometry/support/Indices.js";import{b as p}from"../../../../../chunks/vec32.js";import{c as h}from"../../../../../chunks/vec33.js";import{ViewingMode as u}from"../../../../ViewingMode.js";import{ColorMixModeEnum as b,encodeSymbolColor as g}from"../../../layers/support/symbolColorUtils.js";import{clone as d,computeOffsetObb as y,radius as j}from"../../../support/orientedBoundingBox.js";import{glLayout as C}from"../../../support/buffer/glUtil.js";import{newLayout as v}from"../../../support/buffer/InterleavedLayout.js";import _ from"./ComponentData.js";import{State as w,ComponentObject as M}from"./ComponentObject.js";import O from"./IntersectionGeometry.js";import{Renderable as A}from"./Renderable.js";import{RenderGeometry as x}from"./RenderGeometry.js";import{RenderSubmitSystem as D}from"./RenderSubmitSystem.js";import{createVertexBufferLayout as S}from"./SourceGeometry.js";import{UniformComponentParameters as I}from"./UniformComponentParameters.js";import{ComponentParametersVarying as P,ComponentParametersUniform as E,ComponentParameterSummary as L,ComponentMaterial as R}from"./Material/ComponentMaterial.js";import{attributeLocations as U}from"./Material/ComponentTechnique.js";import{encodeElevationOffset as B}from"./Material/shader/ComponentData.glsl.js";import{getVisibility as T,updateVisibilityWithCount as V}from"../../lib/ComponentUtils.js";import{assert as k}from"../../lib/Util.js";import{VertexAttribute as G}from"../../lib/VertexAttribute.js";import{getVerticalOffsetI3S as N}from"../../lib/verticalOffsetUtils.js";import{EdgeInputBufferLayout as q}from"../../lib/edgeRendering/bufferLayouts.js";import{extractComponentsEdgeLocationsLayout as H}from"../../lib/edgeRendering/edgeProcessing.js";import{BufferManager as W}from"../../lib/TextureBackedBuffer/BufferManager.js";import{BufferObject as X}from"../../../../webgl/BufferObject.js";import{Usage as Y,PrimitiveType as z}from"../../../../webgl/enums.js";import{VertexArrayObject as F}from"../../../../webgl/VertexArrayObject.js";const J=e.getLogger("esri.views.3d.webgl-engine.collections.Component.ComponentObjectCollection");class K{constructor(e,o){this._renderManager=e,this._viewingMode=o,this._objects=[new t,new t],this._renderSubmit=new D(this),this._renderManager.register(this._renderSubmit),this._hasObjectAndLayerId=has("enable-feature:objectAndLayerId-rendering"),this._componentBufferManager=new W(e.rctx,2+(this._hasObjectAndLayerId?1:0))}destroy(){k(0===this._objects[w.Hidden].length&&0===this._objects[w.Visible].length,"ObjectCollection should be empty upon disposal"),this._componentBufferManager.destroy();const e=this._objects.flatMap((e=>e.toArray()));for(const t of e)t?.destroy()}createObject(e){const t=new M;return t.toMapSpace=e.toMapSpace,t.transform=e.transform,t.obb=d(e.obb),t.components=new _(this._componentBufferManager,f(e.geometry.componentOffsets)),t.renderable=this._createRenderable(e,t.components),t.intersectionGeometry=new O(e.geometry.positionData,t.components),this._objects[t.visible].push(t),t}destroyObject(e){const t=e;this._objects[t.visible].removeUnordered(t),t.destroy(),this._notifyDirty()}setObjectVisibility(e,t){const o=e;t!==o.visible&&(this._objects[o.visible].removeUnordered(o),this._objects[t].push(o),o.visible=t,this._notifyDirty())}preSubmit(e){const t=e.camera.eye;this.visibleObjects.forAll((e=>e.renderable.meta.cameraDepthSquared=s(t,e.obb.center)))}getMaterial(e){return e.renderable.material}updateMaterial(e,t){const o=e.renderable.material;t(o),o.dirty&&this._notifyDirty()}setAllComponentVisibilities(e,t){const o=e;o.components.visibility.reset(t),o.components.visibilityDirty(),this._notifyDirty()}forEachVisibleComponent(e,t){return e.components.visibility.forEachComponent(t)}getComponentCount(e){const t=e,o=t.components.visibility.componentCount();return{visible:o,invisible:t.components.count-o}}setComponentData(e,t){const o=e,n=o.renderable.material,r=o.components,i=r.materialDataBuffer,s=r.materialDataIndices,a=new I,c=i.textureBuffer,l=new Uint8Array(4),m=new Uint32Array(l.buffer);let f=0,p=0,h=0,u=r.verticalOffsets,j=1/0,C=-1/0,v=!1,_=!1,w=0;for(let d=0;d<r.count;d++){t(d,a),f+=+(a.externalColor[3]<1),p+=+(a.externalColorMixMode===b.Replace&&1===a.externalColor[3]),h+=+a.castShadows,g(a.externalColor,a.externalColorMixMode,l),l[2]=254&l[2]|+a.castShadows,c.setData(s[d],0,l[0],l[1],l[2],l[3]),v||=d>0&&w!==m[0],w=m[0],_||=0!==a.elevationOffset,_&&null==u&&(u=new Array(d).fill(0)),null!=u&&(u[d]=a.elevationOffset),j=Math.min(j,a.elevationOffset),C=Math.max(C,a.elevationOffset),B(a.elevationOffset,l),c.setData(s[d],1,l[0],l[1],l[2],l[3]);const e=a.objectAndLayerIdColor;null!=e&&c.setData(s[d],2,e[0],e[1],e[2],e[3]),a.pickable!==T(r.pickability,d)&&(r.pickability=V(r.pickability,r.count,d,a.pickable))}r.verticalOffsets=_?u:null,o.offsetObb=_?y(o.obb,j,C,this._viewingMode,null!=o.offsetObb?o.offsetObb:d(o.obb)):null,v||_||this._hasObjectAndLayerId?(n.componentParameters=new P,n.componentParameters.castShadows=Z(h,r.count),n.componentParameters.transparent=Z(f,r.count),n.componentParameters.opaqueOverride=Z(p,r.count),n.componentParameters.texture=c,c.updateTexture()):(n.componentParameters=new E,n.componentParameters.castShadows=a.castShadows?L.All:L.None,n.componentParameters.externalColor=a.externalColor,n.componentParameters.externalColorMixMode=a.externalColorMixMode),this._notifyDirty()}getComponentAabb(e,t,o,n=!1){e.intersectionGeometry.getComponentAabb(t,o);const r=e,i=r.components.verticalOffsets;if(n||null==i)return o;const s=i[t];if(this._viewingMode===u.Local||0===s)return o[2]+=s,o[5]+=s,o;const a=N(s);return a.localOrigin=r.transform.position,a.applyToAabb(o)}getComponentObb(e){return e.obb}getObjectTransform(e){return e.transform}getComponentPositions(e,t,o){return e.intersectionGeometry.getComponentPositions(t,o)}intersect(e,t,o,i,s,l){const m=e;null!=s&&(s.localOrigin=m.transform.position);const f=n($,m.transform.rotationScale);a(ee,t,m.transform.position),a(te,o,m.transform.position),c(ee,ee,f),c(te,te,f);const p=r($,f);return m.intersectionGeometry.intersect(ee,te,i,p,s,m.components.verticalOffsets,l)}addEdges(e,t,o,n){const r=e,{indices:i,positions:s}=r.intersectionGeometry,a=r.components.offsets;return t.addComponentObject(e,r.transform,{center:r.obb.center,radius:j(r.obb)},s,i,a,o,n)}async extractEdgeInformation(e,t,o){const n=e,r=n.components.visibility;if(r.allInvisible())return{buffer:H.createBuffer(0),origin:[0,0,0]};const{indices:i,positions:s}=n.intersectionGeometry,a=n.components.offsets,c=q.createBuffer(s.length/3);h(c.position.typedBuffer,s,c.position.typedBufferStride,3),p(c.position,c.position,n.transform.rotationScale),this._setComponentIndices(c.componentIndex,i,a);const m=c.count,f=this._computeVisibilityIndices(i,r,a,m);return{origin:l(n.transform.position),buffer:await t.extractComponentsEdgeLocations({indices:f,indicesLength:f.length,skipDeduplicate:!0,data:c,writerSettings:{reducedPrecision:!1,variants:0}},o)}}_setComponentIndices(e,t,o){let n=0;for(let r=0;r<o.length-1;r++){const i=o[r],s=o[r+1];for(let o=i;o<s;o++){const r=t?t[o]:o;e.set(r,n)}n++}}_computeVisibilityIndices(e,t,n,r){if(e&&t.allVisible())return e;let i=0;t.forEachComponentRange(((e,t)=>(i+=n[t]-n[e],!0)));const s=o(e)?new Array(i):2===e?.BYTES_PER_ELEMENT||r<=65536?new Uint16Array(i):new Uint32Array(i);let a=0;return t.forEachComponentRange(((t,o)=>{const r=n[t],i=n[o];for(let n=r;n<i;n++)s[a++]=e?e[n]:n;return!0})),s}addComponentHighlight(e,t){const o=e.components;null==o.highlightCounts&&(o.highlightCounts=new Uint32Array(o.count+1));0===o.highlightCounts[t]++&&(o.highlightsDirty(),this._notifyDirty()),o.highlightCounts[o.count]++}removeComponentHighlight(e,t){const o=e.components;if(null==o.highlightCounts)return void J.warn("Removing non-existing highlight.");const n=o.highlightCounts[t],r=o.highlightCounts[o.count];if(0!==n){if(n>1)return o.highlightCounts[t]=n-1,void(o.highlightCounts[o.count]=r-1);o.highlightCounts[t]=0,o.highlightsDirty(),this._notifyDirty(),1===r?o.highlightCounts=null:o.highlightCounts[o.count]=r-1}else J.warn("Removing non-existing highlight.")}clearHighlights(e){const t=e.components;null!=t.highlightCounts&&(t.highlightCounts=null,t.highlightsDirty(),this._notifyDirty())}getObjectGPUMemoryUsage(e){return e.renderable.meta.gpuMemoryEstimate}get visibleObjects(){return this._objects[w.Visible]}_createRenderable(e,t){const o=this._renderManager.rctx,n=e.geometry,r=n.vertices.layoutParameters,i=X.createVertex(o,Y.STATIC_DRAW,n.vertices.data),s=n.indices?X.createIndex(o,Y.STATIC_DRAW,n.indices):null,a=C(S(r)),c=new Uint16Array(n.vertices.count);for(let u=0;u<t.count;u++){const e=t.offsets[u],o=t.offsets[u+1],r=t.materialDataIndices[u];if(null!=n.indices)for(let t=e;t<o;t++){c[n.indices[t]]=r}else for(let t=e;t<o;t++)c[t]=r}const l=X.createVertex(o,Y.STATIC_DRAW,c.buffer),m=new R(e.transform,e.toMapSpace),f=new F(o,U,{data:a,componentIndices:Q},{data:i,componentIndices:l},s),p=new x(f,z.TRIANGLES,r,null!=s),h={cameraDepthSquared:.5,gpuMemoryEstimate:i.byteLength+l.byteLength+(null!=s?s.byteLength:0)};return new A(m,p,h)}_notifyDirty(){this._renderManager.notifyDirty()}}const Q=C(v().u16(G.COMPONENTINDEX));function Z(e,t){return e===t?L.All:0===e?L.None:L.Some}const $=i(),ee=m(),te=m();export{K as ComponentObjectCollection};