@arcgis/core 4.32.0-next.20250121 → 4.32.0-next.20250123

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 (867) hide show
  1. package/Graphic.js +1 -1
  2. package/Viewpoint.js +1 -1
  3. package/WebLinkChart.js +1 -1
  4. package/analysis/LengthDimension.js +1 -1
  5. package/analysis/SlicePlane.js +1 -1
  6. package/analysis/Viewshed.js +1 -1
  7. package/analysis/ViewshedAnalysis.js +1 -1
  8. package/arcade/featureSetUtils.js +1 -1
  9. package/arcade/featureset/sources/FeatureLayerMemory.js +1 -1
  10. package/arcade/featureset/support/shared.js +1 -1
  11. package/arcade/functions/knowledgegraph.js +1 -1
  12. package/arcade/treeAnalysis.js +1 -1
  13. package/assets/components/assets/icon/crosshair16.json +1 -0
  14. package/assets/components/assets/icon/crosshair24.json +1 -0
  15. package/assets/components/assets/icon/crosshair32.json +1 -0
  16. package/assets/components/assets/icon/utilityNetworkLayer16.json +1 -0
  17. package/assets/components/assets/icon/utilityNetworkLayer24.json +1 -0
  18. package/assets/components/assets/icon/utilityNetworkLayer32.json +1 -0
  19. package/assets/esri/core/t9n/Units_ar.json +1 -1
  20. package/assets/esri/core/t9n/Units_bg.json +1 -1
  21. package/assets/esri/core/t9n/Units_bs.json +1 -1
  22. package/assets/esri/core/t9n/Units_ca.json +1 -1
  23. package/assets/esri/core/t9n/Units_cs.json +1 -1
  24. package/assets/esri/core/t9n/Units_da.json +1 -1
  25. package/assets/esri/core/t9n/Units_de.json +1 -1
  26. package/assets/esri/core/t9n/Units_el.json +1 -1
  27. package/assets/esri/core/t9n/Units_es.json +1 -1
  28. package/assets/esri/core/t9n/Units_et.json +1 -1
  29. package/assets/esri/core/t9n/Units_fi.json +1 -1
  30. package/assets/esri/core/t9n/Units_fr.json +1 -1
  31. package/assets/esri/core/t9n/Units_he.json +1 -1
  32. package/assets/esri/core/t9n/Units_hr.json +1 -1
  33. package/assets/esri/core/t9n/Units_hu.json +1 -1
  34. package/assets/esri/core/t9n/Units_id.json +1 -1
  35. package/assets/esri/core/t9n/Units_it.json +1 -1
  36. package/assets/esri/core/t9n/Units_ja.json +1 -1
  37. package/assets/esri/core/t9n/Units_ko.json +1 -1
  38. package/assets/esri/core/t9n/Units_lt.json +1 -1
  39. package/assets/esri/core/t9n/Units_lv.json +1 -1
  40. package/assets/esri/core/t9n/Units_nl.json +1 -1
  41. package/assets/esri/core/t9n/Units_no.json +1 -1
  42. package/assets/esri/core/t9n/Units_pl.json +1 -1
  43. package/assets/esri/core/t9n/Units_pt-BR.json +1 -1
  44. package/assets/esri/core/t9n/Units_pt-PT.json +1 -1
  45. package/assets/esri/core/t9n/Units_ro.json +1 -1
  46. package/assets/esri/core/t9n/Units_ru.json +1 -1
  47. package/assets/esri/core/t9n/Units_sk.json +1 -1
  48. package/assets/esri/core/t9n/Units_sl.json +1 -1
  49. package/assets/esri/core/t9n/Units_sr.json +1 -1
  50. package/assets/esri/core/t9n/Units_sv.json +1 -1
  51. package/assets/esri/core/t9n/Units_th.json +1 -1
  52. package/assets/esri/core/t9n/Units_tr.json +1 -1
  53. package/assets/esri/core/t9n/Units_uk.json +1 -1
  54. package/assets/esri/core/t9n/Units_vi.json +1 -1
  55. package/assets/esri/core/t9n/Units_zh-CN.json +1 -1
  56. package/assets/esri/core/t9n/Units_zh-HK.json +1 -1
  57. package/assets/esri/core/t9n/Units_zh-TW.json +1 -1
  58. package/assets/esri/core/workers/RemoteClient.js +1 -1
  59. package/assets/esri/core/workers/chunks/00479bc2393e5ad0e9b7.js +1 -0
  60. package/assets/esri/core/workers/chunks/0167cf867d8e46c818b0.js +1 -0
  61. package/assets/esri/core/workers/chunks/{6d17488396583d83d9be.js → 0711d3ad4d403bcfdcad.js} +1 -1
  62. package/assets/esri/core/workers/chunks/07360fde6ea65664e6ca.js +1 -0
  63. package/assets/esri/core/workers/chunks/{f8e188af5608293d5b2b.js → 07bff9e742f3e5877f3f.js} +1 -1
  64. package/assets/esri/core/workers/chunks/08ba4ab873a0da6a95eb.js +1 -0
  65. package/assets/esri/core/workers/chunks/{baf6b773b8c714d86cba.js → 0982611dd86f0805d102.js} +1 -1
  66. package/assets/esri/core/workers/chunks/12dd892cf61a76fb40ad.js +1 -0
  67. package/assets/esri/core/workers/chunks/13453393e40ab80329d9.js +1 -0
  68. package/assets/esri/core/workers/chunks/15e08e8a8a72b177d74c.js +1 -0
  69. package/assets/esri/core/workers/chunks/16f82e9d98371431b46d.js +1 -0
  70. package/assets/esri/core/workers/chunks/1787932b984ec8977095.js +1 -0
  71. package/assets/esri/core/workers/chunks/1e3ab66d0e8a7f160f33.js +1 -0
  72. package/assets/esri/core/workers/chunks/1f8eb143f5d665b95593.js +1 -0
  73. package/assets/esri/core/workers/chunks/2079d6e3da42d1ceb4c5.js +1 -0
  74. package/assets/esri/core/workers/chunks/207c040b0e42358a5389.js +1 -0
  75. package/assets/esri/core/workers/chunks/21016d58428b15f7427c.js +1 -0
  76. package/assets/esri/core/workers/chunks/{af0b0a7eedebcf99d05d.js → 2118e9ffb24178ed7f59.js} +1 -1
  77. package/assets/esri/core/workers/chunks/21c12edc0632eb911e73.js +1 -0
  78. package/assets/esri/core/workers/chunks/{12b2c8251ec2d0e2ca46.js → 22721fa9d1e8a8d47b0e.js} +1 -1
  79. package/assets/esri/core/workers/chunks/24a86c52c8bdd0b5eb4d.js +1 -0
  80. package/assets/esri/core/workers/chunks/{9970e0e74cf2877a7ffc.js → 2503beb30f905b78d85f.js} +2 -2
  81. package/assets/esri/core/workers/chunks/2503beb30f905b78d85f.js.LICENSE.txt +15 -0
  82. package/assets/esri/core/workers/chunks/25a6641938a9ccab39b7.js +1 -0
  83. package/assets/esri/core/workers/chunks/26a2bd432e7a1b3870c3.js +1 -0
  84. package/assets/esri/core/workers/chunks/26e9a1889d069e81a483.js +1 -0
  85. package/assets/esri/core/workers/chunks/2840705ae7fa909ab4ed.js +1 -0
  86. package/assets/esri/core/workers/chunks/2971266a49226e769360.js +1 -0
  87. package/assets/esri/core/workers/chunks/298da83f8d507d128213.js +1 -0
  88. package/assets/esri/core/workers/chunks/2a33e83ff2ef16a2b421.js +1 -0
  89. package/assets/esri/core/workers/chunks/2a7f5d09cdc0333fa4bd.js +1 -0
  90. package/assets/esri/core/workers/chunks/2e82c8882a0989ed5431.js +1 -0
  91. package/assets/esri/core/workers/chunks/2ea5e5e6c4660a06b516.js +1 -0
  92. package/assets/esri/core/workers/chunks/304722106439951da6e1.js +1 -0
  93. package/assets/esri/core/workers/chunks/324a5547c64a3bae670d.js +1 -0
  94. package/assets/esri/core/workers/chunks/349f31a1fb489fbfe60d.js +1 -0
  95. package/assets/esri/core/workers/chunks/{f95d4fb1199161d8b683.js → 34b31091e172e910d750.js} +1 -1
  96. package/assets/esri/core/workers/chunks/{c690268f48bc84778b23.js → 3b6f2e5ec0a372ae8b94.js} +1 -1
  97. package/assets/esri/core/workers/chunks/3c23e567cfb7372c44ba.js +1 -0
  98. package/assets/esri/core/workers/chunks/{66d40a486aa3caa76106.js → 3c591f76e7d6204b7780.js} +1 -1
  99. package/assets/esri/core/workers/chunks/3f25b7844816bbc3a9fe.js +1 -0
  100. package/assets/esri/core/workers/chunks/402de76b5de05615e111.js +1 -0
  101. package/assets/esri/core/workers/chunks/453f71ac3579524221b2.js +1 -0
  102. package/assets/esri/core/workers/chunks/454034bad60414a9ab7f.js +1 -0
  103. package/assets/esri/core/workers/chunks/472564bd841d0c5d8f17.js +1 -0
  104. package/assets/esri/core/workers/chunks/483787099d2ba8b8022d.js +1 -0
  105. package/assets/esri/core/workers/chunks/499e845c727b7891283d.js +2 -0
  106. package/assets/esri/core/workers/chunks/{34b86b4b9e6c1937ee39.js.LICENSE.txt → 499e845c727b7891283d.js.LICENSE.txt} +4 -6
  107. package/assets/esri/core/workers/chunks/4d7bd2bbe9045a2fee7a.js +1 -0
  108. package/assets/esri/core/workers/chunks/4e5cf2d489db2a57d3bd.js +1 -0
  109. package/assets/esri/core/workers/chunks/52a1c14dc33964e197f6.js +1 -0
  110. package/assets/esri/core/workers/chunks/{f8b85c0074d4fe4c158e.js → 571a0af503dbe8093814.js} +1 -1
  111. package/assets/esri/core/workers/chunks/57ebfa7f163a1b40cd1e.js +1 -0
  112. package/assets/esri/core/workers/chunks/589777dab423b619da47.js +1 -0
  113. package/assets/esri/core/workers/chunks/{2de5fe03e28ca8a72597.js → 5a83f90b55a5efbe1ef2.js} +1 -1
  114. package/assets/esri/core/workers/chunks/5c57aa9fdc4e1bab61ac.js +1 -0
  115. package/assets/esri/core/workers/chunks/5e889a675cbaff03ad5a.js +1 -0
  116. package/assets/esri/core/workers/chunks/5fbdb5fea7d6676fcf19.js +1 -0
  117. package/assets/esri/core/workers/chunks/610b33b7291cffcc4e5d.js +1 -0
  118. package/assets/esri/core/workers/chunks/644e83f48752a34f0d1a.js +1 -0
  119. package/assets/esri/core/workers/chunks/{c81204ae663e58c7b689.js → 6aa6a56bcece0793967e.js} +1 -1
  120. package/assets/esri/core/workers/chunks/6d179eb8edcefb91d5d7.js +1 -0
  121. package/assets/esri/core/workers/chunks/6df1bda3826a4a3c1dc9.js +1 -0
  122. package/assets/esri/core/workers/chunks/6e6422eda398774acbc7.js +1 -0
  123. package/assets/esri/core/workers/chunks/6eb829a7959df2269b0e.js +1 -0
  124. package/assets/esri/core/workers/chunks/7719fe672ea74cdc87be.js +1 -0
  125. package/assets/esri/core/workers/chunks/774cbf14c74504458a6f.js +1 -0
  126. package/assets/esri/core/workers/chunks/79afe4674a0557eb26e4.js +1 -0
  127. package/assets/esri/core/workers/chunks/{02b2175132c9720bc756.js → 7a0415db78c68d31733f.js} +1 -1
  128. package/assets/esri/core/workers/chunks/7a9e1696dc6120df15b0.js +1 -0
  129. package/assets/esri/core/workers/chunks/7ae1f26ded268099f429.js +1 -0
  130. package/assets/esri/core/workers/chunks/7bf08823f861628144a1.js +1 -0
  131. package/assets/esri/core/workers/chunks/7d49b5bc9eb102e467ab.js +1 -0
  132. package/assets/esri/core/workers/chunks/7e4d72279cc599b7029c.js +1 -0
  133. package/assets/esri/core/workers/chunks/{89198ca24466d939e4e8.js → 7ee2d34d9eaab5e8f589.js} +1 -1
  134. package/assets/esri/core/workers/chunks/7fd48f0a2b35779e680a.js +1 -0
  135. package/assets/esri/core/workers/chunks/81efe1f47fd41b7a5cc1.js +1 -0
  136. package/assets/esri/core/workers/chunks/835fa4484c58d9b31c78.js +1 -0
  137. package/assets/esri/core/workers/chunks/{44ec3c77339b9765aaa4.js → 8584ccce34972e28c040.js} +1 -1
  138. package/assets/esri/core/workers/chunks/86149b4a5a148744c7d1.js +1 -0
  139. package/assets/esri/core/workers/chunks/86b63a4805f7dfbf5857.js +1 -0
  140. package/assets/esri/core/workers/chunks/89df68dd6a0386210d5d.js +1 -0
  141. package/assets/esri/core/workers/chunks/8a13cd313d309281dbb9.js +1 -0
  142. package/assets/esri/core/workers/chunks/{1bf472f3ca67b0275667.js → 8a1e4f65fc81aba7a704.js} +1 -1
  143. package/assets/esri/core/workers/chunks/8b8dd0771fbc582e1e24.js +2 -0
  144. package/assets/esri/core/workers/chunks/{280b7b885b96a5a68716.js.LICENSE.txt → 8b8dd0771fbc582e1e24.js.LICENSE.txt} +4 -6
  145. package/assets/esri/core/workers/chunks/8e334fa440ae542e2e34.js +1 -0
  146. package/assets/esri/core/workers/chunks/91384398f01485631f70.js +1 -0
  147. package/assets/esri/core/workers/chunks/92155d112ebb6a4c6c6e.js +1 -0
  148. package/assets/esri/core/workers/chunks/{6a737f056b2b95f09776.js → 92871ebb339a7b6ff29c.js} +1 -1
  149. package/assets/esri/core/workers/chunks/92d243c7bc2f92f6cd33.js +1 -0
  150. package/assets/esri/core/workers/chunks/971c956de1f8dd230d0f.js +1 -0
  151. package/assets/esri/core/workers/chunks/9848e9b9cc62328bfeb4.js +1 -0
  152. package/assets/esri/core/workers/chunks/9848f496d534feff6df1.js +314 -0
  153. package/assets/esri/core/workers/chunks/9bd22cdf6eb158555906.js +1 -0
  154. package/assets/esri/core/workers/chunks/{3a3e9701e5d7b05f41b7.js → 9bfb091cec7eed6c8111.js} +1 -1
  155. package/assets/esri/core/workers/chunks/9c5c6ecaf5be24279fa5.js +1 -0
  156. package/assets/esri/core/workers/chunks/9c6380af3bc3130658e1.js +1 -0
  157. package/assets/esri/core/workers/chunks/{17726b0ab1bf66185d66.js → 9d6d82419de2b76508d8.js} +1 -1
  158. package/assets/esri/core/workers/chunks/9ed1691eab19dfb1cf04.js +1 -0
  159. package/assets/esri/core/workers/chunks/a0a4c7605c678d2de7ef.js +1 -0
  160. package/assets/esri/core/workers/chunks/a3ae5ea96898de327147.js +1 -0
  161. package/assets/esri/core/workers/chunks/aca9a39eb1181a7733bb.js +1 -0
  162. package/assets/esri/core/workers/chunks/ad215219e5eef8598745.js +1 -0
  163. package/assets/esri/core/workers/chunks/ad7596e7f81f557bb2c8.js +1 -0
  164. package/assets/esri/core/workers/chunks/adf361e8b2887921a69c.js +1 -0
  165. package/assets/esri/core/workers/chunks/adfa126cea32298c28e9.js +1 -0
  166. package/assets/esri/core/workers/chunks/b21b152fa15896577242.js +2 -0
  167. package/assets/esri/core/workers/chunks/b21b152fa15896577242.js.LICENSE.txt +8 -0
  168. package/assets/esri/core/workers/chunks/b3aeda290470dcb2bdd2.js +1 -0
  169. package/assets/esri/core/workers/chunks/b3f9d7a676076a7557f5.js +1 -0
  170. package/assets/esri/core/workers/chunks/b42ecc7c3eb2fd8d1308.js +1 -0
  171. package/assets/esri/core/workers/chunks/b44cf0e4c2f93408cabc.js +1 -0
  172. package/assets/esri/core/workers/chunks/b70a9d23e549d0e60e0f.js +1 -0
  173. package/assets/esri/core/workers/chunks/b882f921387e21fb263d.js +1 -0
  174. package/assets/esri/core/workers/chunks/ba3c18d1efde46461231.js +1 -0
  175. package/assets/esri/core/workers/chunks/bb73cd34fbae935ccbcc.js +1 -0
  176. package/assets/esri/core/workers/chunks/bbdf93f2ac9bd80338b2.js +1 -0
  177. package/assets/esri/core/workers/chunks/bc0183350841e09d71fa.js +1 -0
  178. package/assets/esri/core/workers/chunks/bddfdbb2fb1dd813e8f2.js +1 -0
  179. package/assets/esri/core/workers/chunks/bf3c4c1bff8b71bc0b13.js +1 -0
  180. package/assets/esri/core/workers/chunks/c1970657a287ec96001e.js +1 -0
  181. package/assets/esri/core/workers/chunks/{399e67ccb69a5b206354.js → c1fd87af3129873369fd.js} +1 -1
  182. package/assets/esri/core/workers/chunks/{82266ca8002554198208.js → c2336d1f5b2b7bf6e7a7.js} +1 -1
  183. package/assets/esri/core/workers/chunks/c571c2155589d711005c.js +1 -0
  184. package/assets/esri/core/workers/chunks/c83b26ff96e39266adc2.js +1 -0
  185. package/assets/esri/core/workers/chunks/ca5bd71bc2c1b1b3f9d9.js +1 -0
  186. package/assets/esri/core/workers/chunks/{98da074899c82f0ded0b.js → cdd8983cf3a301805680.js} +1 -1
  187. package/assets/esri/core/workers/chunks/{435c037ccba71f1e22d3.js → d31f7598629f7cc50233.js} +1 -1
  188. package/assets/esri/core/workers/chunks/d45ff061bf71b73e9f26.js +1 -0
  189. package/assets/esri/core/workers/chunks/d4760e583dfac95dc8a1.js +1 -0
  190. package/assets/esri/core/workers/chunks/{7fe92f072d3641ec4662.js → d5a749156cb4ade92128.js} +1 -1
  191. package/assets/esri/core/workers/chunks/d6f2a023ddd26a544eb4.js +1 -0
  192. package/assets/esri/core/workers/chunks/d71a5c029fc9f4820589.js +1 -0
  193. package/assets/esri/core/workers/chunks/d7ccbe9b36e89b385040.js +1 -0
  194. package/assets/esri/core/workers/chunks/{e9c21907fabcedbd32ae.js → d8386803854f4b3e2576.js} +1 -1
  195. package/assets/esri/core/workers/chunks/d8c762ca94e3a11b125d.js +1 -0
  196. package/assets/esri/core/workers/chunks/da01b509b2237689faad.js +1 -0
  197. package/assets/esri/core/workers/chunks/daeca0feb37bbb198677.js +1 -0
  198. package/assets/esri/core/workers/chunks/dbc447413ab40a79ba87.js +1 -0
  199. package/assets/esri/core/workers/chunks/de2ca2dc1b5d62c0d82e.js +1 -0
  200. package/assets/esri/core/workers/chunks/df86a49ddc505b4a7c4a.js +1 -0
  201. package/assets/esri/core/workers/chunks/dfa4be2e07cc4c0938b0.js +1 -0
  202. package/assets/esri/core/workers/chunks/{fa331c8b556bb7fb8ae3.js → dfaf1da323906ee60549.js} +1 -1
  203. package/assets/esri/core/workers/chunks/e067cef3b3ac3af49b88.js +1 -0
  204. package/assets/esri/core/workers/chunks/e1108227821a85a784bc.js +2 -0
  205. package/assets/esri/core/workers/chunks/e1108227821a85a784bc.js.LICENSE.txt +9 -0
  206. package/assets/esri/core/workers/chunks/e42c8045f54aa88c9f6e.js +1 -0
  207. package/assets/esri/core/workers/chunks/e56647e61296643c5f84.js +1 -0
  208. package/assets/esri/core/workers/chunks/e6087eda5e3b7e5ad3e1.js +1 -0
  209. package/assets/esri/core/workers/chunks/e89439cc20b7f4c6a9d1.js +1 -0
  210. package/assets/esri/core/workers/chunks/e9993d4f2bfdc434fbcc.js +1 -0
  211. package/assets/esri/core/workers/chunks/ecc3a2adc384677bec38.js +1 -0
  212. package/assets/esri/core/workers/chunks/{54c149f90bf94b797b36.js → ed30f46236da29c15430.js} +1 -1
  213. package/assets/esri/core/workers/chunks/f2cf05fbbb51d657d300.js +1 -0
  214. package/assets/esri/core/workers/chunks/{1c67f4f84fff70e20902.js → f31a9d88113bb86d946e.js} +2 -2
  215. package/assets/esri/core/workers/chunks/{1c67f4f84fff70e20902.js.LICENSE.txt → f31a9d88113bb86d946e.js.LICENSE.txt} +4 -6
  216. package/assets/esri/core/workers/chunks/f62f657f9fef28f492e0.js +1 -0
  217. package/assets/esri/core/workers/chunks/fd1506eedb1cee717822.js +2 -0
  218. package/assets/esri/core/workers/chunks/fd1506eedb1cee717822.js.LICENSE.txt +3 -0
  219. package/assets/esri/core/workers/chunks/fef135e55706d84d1947.js +1 -0
  220. package/assets/esri/libs/lyr3d/lyr3DMain.wasm +0 -0
  221. package/assets/esri/libs/lyr3d/lyr3DWorker.wasm +0 -0
  222. package/assets/esri/rest/knowledgeGraph/wasmInterface/arcgis-knowledge-client-core-simd.wasm +0 -0
  223. package/assets/esri/rest/knowledgeGraph/wasmInterface/arcgis-knowledge-client-core.wasm +0 -0
  224. package/assets/esri/themes/base/widgets/_FeatureTable.scss +8 -7
  225. package/assets/esri/themes/base/widgets/_OrientedImageryViewer.scss +24 -0
  226. package/assets/esri/themes/base/widgets/_UtilityNetworkTrace.scss +49 -24
  227. package/assets/esri/themes/dark/main.css +1 -1
  228. package/assets/esri/themes/light/main.css +1 -1
  229. package/assets/esri/themes/light/view.css +1 -1
  230. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer.json +1 -1
  231. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ar.json +1 -1
  232. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_bg.json +1 -1
  233. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_bs.json +1 -1
  234. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ca.json +1 -1
  235. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_cs.json +1 -1
  236. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_da.json +1 -1
  237. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_de.json +1 -1
  238. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_el.json +1 -1
  239. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_en.json +1 -1
  240. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_es.json +1 -1
  241. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_et.json +1 -1
  242. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_fi.json +1 -1
  243. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_fr.json +1 -1
  244. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_he.json +1 -1
  245. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_hr.json +1 -1
  246. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_hu.json +1 -1
  247. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_id.json +1 -1
  248. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_it.json +1 -1
  249. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ja.json +1 -1
  250. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ko.json +1 -1
  251. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_lt.json +1 -1
  252. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_lv.json +1 -1
  253. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_nl.json +1 -1
  254. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_no.json +1 -1
  255. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pl.json +1 -1
  256. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pt-BR.json +1 -1
  257. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pt-PT.json +1 -1
  258. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ro.json +1 -1
  259. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ru.json +1 -1
  260. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sk.json +1 -1
  261. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sl.json +1 -1
  262. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sr.json +1 -1
  263. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sv.json +1 -1
  264. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_th.json +1 -1
  265. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_tr.json +1 -1
  266. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_uk.json +1 -1
  267. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_vi.json +1 -1
  268. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-CN.json +1 -1
  269. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-HK.json +1 -1
  270. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-TW.json +1 -1
  271. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace.json +1 -1
  272. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_ar.json +1 -1
  273. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_bg.json +1 -1
  274. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_bs.json +1 -1
  275. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_ca.json +1 -1
  276. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_cs.json +1 -1
  277. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_da.json +1 -1
  278. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_de.json +1 -1
  279. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_el.json +1 -1
  280. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_en.json +1 -1
  281. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_es.json +1 -1
  282. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_et.json +1 -1
  283. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_fi.json +1 -1
  284. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_fr.json +1 -1
  285. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_he.json +1 -1
  286. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_hr.json +1 -1
  287. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_hu.json +1 -1
  288. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_id.json +1 -1
  289. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_it.json +1 -1
  290. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_ja.json +1 -1
  291. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_ko.json +1 -1
  292. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_lt.json +1 -1
  293. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_lv.json +1 -1
  294. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_nl.json +1 -1
  295. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_no.json +1 -1
  296. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_pl.json +1 -1
  297. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_pt-BR.json +1 -1
  298. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_pt-PT.json +1 -1
  299. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_ro.json +1 -1
  300. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_ru.json +1 -1
  301. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_sk.json +1 -1
  302. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_sl.json +1 -1
  303. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_sr.json +1 -1
  304. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_sv.json +1 -1
  305. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_th.json +1 -1
  306. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_tr.json +1 -1
  307. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_uk.json +1 -1
  308. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_vi.json +1 -1
  309. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_zh-CN.json +1 -1
  310. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_zh-HK.json +1 -1
  311. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_zh-TW.json +1 -1
  312. package/chunks/BloomComposition.glsl.js +33 -23
  313. package/chunks/Fog.glsl.js +4 -6
  314. package/chunks/Viewshed.glsl.js +7 -15
  315. package/chunks/arcgis-knowledge-client-core-simd.js +1 -1
  316. package/chunks/arcgis-knowledge-client-core.js +1 -1
  317. package/chunks/cameraUtilsPlanar.js +1 -1
  318. package/chunks/cameraUtilsSpherical.js +1 -1
  319. package/chunks/lyr3DMain.js +1 -1
  320. package/chunks/lyr3DWorker.js +1 -1
  321. package/core/quantity.d.ts +1 -1
  322. package/core/quantity.js +5 -0
  323. package/core/units.d.ts +1 -1
  324. package/core/units.js +5 -0
  325. package/editing/sharedTemplates/SharedTemplate.js +1 -1
  326. package/editing/sharedTemplates/SharedTemplateMetadata.d.ts +4 -0
  327. package/editing/sharedTemplates/SharedTemplateMetadata.js +1 -1
  328. package/editing/sharedTemplates/templateDefinitions/parts/PresetTemplatePart.js +1 -1
  329. package/editing/templateUtils.js +5 -0
  330. package/form/elements/UtilityNetworkAssociationsElement.js +1 -1
  331. package/geometry/geometryEngine.js +1 -1
  332. package/geometry/geometryEngineAsync.js +1 -1
  333. package/geometry/operators/projectOperator.d.ts +4 -0
  334. package/geometry/operators/shapePreservingProjectOperator.d.ts +4 -0
  335. package/geometry/operators/support/GeographicTransformation.d.ts +4 -0
  336. package/geometry/operators/support/GeographicTransformation.js +1 -1
  337. package/geometry/operators/support/GeographicTransformationStep.d.ts +4 -0
  338. package/geometry/operators/support/apiConverter.js +1 -1
  339. package/geometry/operators/support/geographicTransformationUtils.d.ts +4 -0
  340. package/geometry/support/GeographicTransformation.d.ts +2 -2
  341. package/geometry/support/GeographicTransformationStep.d.ts +2 -2
  342. package/geometry/support/geodesicUtils.js +1 -1
  343. package/geometry/support/geometryUtils.js +1 -1
  344. package/geometry/support/meshUtils/elevation.js +1 -1
  345. package/geometry/support/near.js +1 -1
  346. package/geometry/support/rotate.js +1 -1
  347. package/geometry/support/typeUtils.js +1 -1
  348. package/geometry.js +1 -1
  349. package/grids/MeasuredGrid.js +1 -1
  350. package/interfaces.d.ts +2069 -622
  351. package/layers/BaseElevationLayer.js +1 -1
  352. package/layers/BingMapsLayer.js +1 -1
  353. package/layers/CSVLayer.js +1 -1
  354. package/layers/FeatureLayer.js +1 -1
  355. package/layers/GeoJSONLayer.js +1 -1
  356. package/layers/GeoRSSLayer.js +1 -1
  357. package/layers/ILyr3DWasmPerSceneView.js +1 -1
  358. package/layers/KMLLayer.js +1 -1
  359. package/layers/KnowledgeGraphLayer.js +1 -1
  360. package/layers/Layer.js +1 -1
  361. package/layers/LinkChartLayer.js +1 -1
  362. package/layers/Lyr3DWasmPerSceneView.js +1 -1
  363. package/layers/MapNotesLayer.js +1 -1
  364. package/layers/OGCFeatureLayer.js +1 -1
  365. package/layers/OpenStreetMapLayer.js +1 -1
  366. package/layers/ParquetLayer.js +1 -1
  367. package/layers/RouteLayer.js +1 -1
  368. package/layers/SceneLayer.js +1 -1
  369. package/layers/StreamLayer.js +1 -1
  370. package/layers/VideoLayer.js +1 -1
  371. package/layers/WFSLayer.js +1 -1
  372. package/layers/WebTileLayer.js +1 -1
  373. package/layers/buildingSublayers/BuildingComponentSublayer.js +1 -1
  374. package/layers/catalog/CatalogFootprintLayer.js +1 -1
  375. package/layers/graphics/controllers/FeatureTileController3D.js +1 -1
  376. package/layers/graphics/controllers/StreamController.js +1 -1
  377. package/layers/graphics/data/QueryEngineResult.js +1 -1
  378. package/layers/graphics/hydratedFeatures.js +1 -1
  379. package/layers/graphics/sources/CSVSource.js +1 -1
  380. package/layers/graphics/sources/FeatureLayerSource.js +1 -1
  381. package/layers/graphics/sources/GeoJSONSource.js +1 -1
  382. package/layers/graphics/sources/MemorySource.js +1 -1
  383. package/layers/graphics/sources/OGCFeatureSource.js +1 -1
  384. package/layers/graphics/sources/ParquetSource.js +1 -1
  385. package/layers/graphics/sources/WFSSource.js +1 -1
  386. package/layers/graphics/sources/connections/GeoEventConnection.js +1 -1
  387. package/layers/graphics/sources/support/CSVSourceWorker.js +1 -1
  388. package/layers/graphics/sources/support/uploadAssets.js +1 -1
  389. package/layers/knowledgeGraph/KnowledgeGraphLayerDataManager.js +1 -1
  390. package/layers/knowledgeGraph/KnowledgeGraphSublayer.js +1 -1
  391. package/layers/knowledgeGraph/SessionMemoryStorage.js +1 -1
  392. package/layers/knowledgeGraph/supportUtils.js +1 -1
  393. package/layers/mixins/ArcGISCachedService.js +1 -1
  394. package/layers/mixins/ArcGISImageService.js +1 -1
  395. package/layers/mixins/FeatureReductionLayer.js +1 -1
  396. package/layers/mixins/ImageryTileMixin.js +1 -1
  397. package/layers/ogc/ogcFeatureUtils.js +1 -1
  398. package/layers/ogc/wfsUtils.js +1 -1
  399. package/layers/orientedImagery/core/ExposurePoint.js +1 -1
  400. package/layers/orientedImagery/core/coverageUtils.js +1 -1
  401. package/layers/orientedImagery/queries.js +1 -1
  402. package/layers/orientedImagery/transformations/imageToWorld.js +1 -1
  403. package/layers/orientedImagery/transformations/rectifyMapPoint.js +1 -1
  404. package/layers/orientedImagery/transformations/utils.js +1 -1
  405. package/layers/support/ElevationSampler.js +1 -1
  406. package/layers/support/FeatureFilter.js +1 -1
  407. package/layers/support/FeatureReductionBinning.js +1 -1
  408. package/layers/support/FeatureReductionCluster.js +1 -1
  409. package/layers/support/KMLMapImage.js +1 -1
  410. package/layers/support/KMLSublayer.js +1 -1
  411. package/layers/support/LabelClass.js +1 -1
  412. package/layers/support/LocalMediaElementSource.js +1 -1
  413. package/layers/support/MultidimensionalSubset.js +1 -1
  414. package/layers/support/OrderByInfo.d.ts +4 -0
  415. package/layers/support/RasterWorker.js +1 -1
  416. package/layers/support/RouteStopSymbols.js +1 -1
  417. package/layers/support/RouteSymbols.js +1 -1
  418. package/layers/support/SceneModification.js +1 -1
  419. package/layers/support/Sublayer.js +1 -1
  420. package/layers/support/SubtypeSublayer.js +1 -1
  421. package/layers/support/TelemetryData.js +1 -1
  422. package/layers/support/TrackInfo.js +1 -1
  423. package/layers/support/VideoFrame.js +1 -1
  424. package/layers/support/featureLayerUtils.js +1 -1
  425. package/layers/support/mediaUtils.js +1 -1
  426. package/layers/support/rasterDatasets/BaseRaster.js +1 -1
  427. package/layers/support/rasterDatasets/ImageAuxRaster.js +1 -1
  428. package/layers/support/rasterDatasets/ImageServerRaster.js +1 -1
  429. package/layers/support/rasterDatasets/InMemoryRaster.js +1 -1
  430. package/layers/support/rasterDatasets/MRFRaster.js +1 -1
  431. package/layers/support/rasterDatasets/RawBlockCache.js +1 -1
  432. package/layers/support/rasterDatasets/TIFFRaster.js +1 -1
  433. package/layers/support/rasterDatasets/WCSRaster.js +1 -1
  434. package/layers/support/rasterDatasets/covJSONParser.js +1 -1
  435. package/layers/support/rasterDatasets/pamParser.js +1 -1
  436. package/layers/support/rasterFunctions/ClipFunctionArguments.js +1 -1
  437. package/layers/support/rasterFunctions/rasterProjectionHelper.js +1 -1
  438. package/layers/support/rasterTransforms/PolynomialTransform.js +1 -1
  439. package/layers/support/serviceCapabilitiesUtils.js +1 -1
  440. package/layers/support/source/QueryTableDataSource.js +1 -1
  441. package/layers/support/subtypeGroupLayerUtils.js +1 -1
  442. package/networks/Network.js +1 -1
  443. package/networks/support/utils.js +1 -1
  444. package/package.json +2 -2
  445. package/pointCloudRenderers.js +1 -1
  446. package/rasterRenderers.js +1 -1
  447. package/renderers/ClassBreaksRenderer.js +1 -1
  448. package/renderers/HeatmapRenderer.js +1 -1
  449. package/renderers/PieChartRenderer.js +1 -1
  450. package/renderers/UniqueValueRenderer.js +1 -1
  451. package/renderers/VectorFieldRenderer.js +1 -1
  452. package/renderers/support/RasterPresetRenderer.js +1 -1
  453. package/renderers/support/commonProperties.js +1 -1
  454. package/renderers/support/jsonUtils.js +1 -1
  455. package/renderers/support/rasterRendererHelper.js +1 -1
  456. package/renderers/support/rasterTypeUtils.js +5 -0
  457. package/renderers/support/typeUtils.js +5 -0
  458. package/renderers.js +1 -1
  459. package/rest/featureService/FeatureService.js +1 -1
  460. package/rest/geometryService/autoComplete.js +1 -1
  461. package/rest/geometryService/buffer.js +1 -1
  462. package/rest/geometryService/cut.js +1 -1
  463. package/rest/geometryService/trimExtend.js +1 -1
  464. package/rest/imageService.js +1 -1
  465. package/rest/knowledgeGraph/Entity.js +1 -1
  466. package/rest/knowledgeGraph/GraphQueryStreaming.js +1 -1
  467. package/rest/knowledgeGraph/ProtoFeatureCollection.js +1 -1
  468. package/rest/knowledgeGraph/Relationship.js +1 -1
  469. package/rest/knowledgeGraph/toolService/findPaths/CIMFilteredFindPathsConfiguration.d.ts +4 -0
  470. package/rest/knowledgeGraph/toolService/findPaths/CIMFilteredFindPathsConfiguration.js +5 -0
  471. package/rest/knowledgeGraph/toolService/findPaths/CIMFilteredFindPathsEntity.d.ts +4 -0
  472. package/rest/knowledgeGraph/toolService/findPaths/CIMFilteredFindPathsEntity.js +5 -0
  473. package/rest/knowledgeGraph/toolService/findPaths/CIMFilteredFindPathsPathFilter.d.ts +4 -0
  474. package/rest/knowledgeGraph/toolService/findPaths/CIMFilteredFindPathsPathFilter.js +5 -0
  475. package/rest/knowledgeGraph/toolService/findPaths/CIMKGTraversalDirection.d.ts +4 -0
  476. package/rest/knowledgeGraph/toolService/findPaths/CIMKGTraversalDirection.js +5 -0
  477. package/rest/knowledgeGraph/toolService/findPaths/FindPathsToolSettings.d.ts +4 -0
  478. package/rest/knowledgeGraph/toolService/findPaths/FindPathsToolSettings.js +5 -0
  479. package/rest/knowledgeGraph/wasmInterface/queryToWasmEncodedFactories.js +1 -1
  480. package/rest/knowledgeGraph/wasmInterface/updateToWasmEncodedFactories.js +1 -1
  481. package/rest/knowledgeGraph/wasmInterface/wasmToQueryResponseObjFactories.js +1 -1
  482. package/rest/knowledgeGraphService.js +1 -1
  483. package/rest/networks/support/Association.js +1 -1
  484. package/rest/networks/support/ValidateNetworkTopologyParameters.js +1 -1
  485. package/rest/places.js +1 -1
  486. package/rest/print.js +1 -1
  487. package/rest/query/executeForExtent.js +1 -1
  488. package/rest/query/executeForTopExtents.js +1 -1
  489. package/rest/support/AddressToLocationsParameters.js +1 -1
  490. package/rest/support/AddressesToLocationsParameters.js +1 -1
  491. package/rest/support/AggregateFeatureSet.js +1 -1
  492. package/rest/support/AttributeBinsQuery.js +1 -1
  493. package/rest/support/BaseImageMeasureParameters.js +1 -1
  494. package/rest/support/BufferParameters.js +1 -1
  495. package/rest/support/ClosestFacilityParameters.js +1 -1
  496. package/rest/support/DataLayer.js +1 -1
  497. package/rest/support/DensifyParameters.js +1 -1
  498. package/rest/support/DirectionLine.js +1 -1
  499. package/rest/support/DirectionPoint.js +1 -1
  500. package/rest/support/DirectionsEvent.js +1 -1
  501. package/rest/support/DirectionsFeature.js +1 -1
  502. package/rest/support/DirectionsFeatureSet.js +1 -1
  503. package/rest/support/DistanceParameters.js +1 -1
  504. package/rest/support/FeatureSet.js +1 -1
  505. package/rest/support/FindParameters.js +1 -1
  506. package/rest/support/FindResult.js +1 -1
  507. package/rest/support/IdentifyParameters.js +1 -1
  508. package/rest/support/IdentifyResult.js +1 -1
  509. package/rest/support/ImageAngleParameters.js +1 -1
  510. package/rest/support/ImageAngleResult.js +1 -1
  511. package/rest/support/ImageAreaParameters.js +1 -1
  512. package/rest/support/ImageBoundaryResult.js +1 -1
  513. package/rest/support/ImageDistanceParameters.js +1 -1
  514. package/rest/support/ImageGPSInfoParameters.js +1 -1
  515. package/rest/support/ImageHeightParameters.js +1 -1
  516. package/rest/support/ImageHistogramParameters.js +1 -1
  517. package/rest/support/ImageIdentifyParameters.js +1 -1
  518. package/rest/support/ImagePixelLocationParameters.js +1 -1
  519. package/rest/support/ImagePointParameters.js +1 -1
  520. package/rest/support/ImagePointResult.js +1 -1
  521. package/rest/support/ImageSampleParameters.js +1 -1
  522. package/rest/support/ImageToMapMultirayParameters.js +1 -1
  523. package/rest/support/ImageToMapParameters.js +1 -1
  524. package/rest/support/ImageVolumeParameters.js +1 -1
  525. package/rest/support/LengthsParameters.js +1 -1
  526. package/rest/support/LocationToAddressParameters.js +1 -1
  527. package/rest/support/MapToImageParameters.js +1 -1
  528. package/rest/support/MeasureAreaFromImageResult.js +1 -1
  529. package/rest/support/MeasureFromImageParameters.js +1 -1
  530. package/rest/support/MeasureLengthFromImageResult.js +1 -1
  531. package/rest/support/PointBarrier.js +1 -1
  532. package/rest/support/PolygonBarrier.js +1 -1
  533. package/rest/support/PolylineBarrier.js +1 -1
  534. package/rest/support/ProjectParameters.js +1 -1
  535. package/rest/support/QuantizationParameters.js +1 -1
  536. package/rest/support/Query.js +1 -1
  537. package/rest/support/RelationshipQuery.js +1 -1
  538. package/rest/support/RouteInfo.js +1 -1
  539. package/rest/support/RouteParameters.js +1 -1
  540. package/rest/support/ServiceAreaParameters.js +1 -1
  541. package/rest/support/Stop.js +1 -1
  542. package/rest/support/SuggestLocationsParameters.js +1 -1
  543. package/rest/support/TopFeaturesQuery.js +1 -1
  544. package/rest/support/TrimExtendParameters.js +1 -1
  545. package/rest/support/meshFeatureAttributes.js +1 -1
  546. package/smartMapping/labels/support/utils.js +1 -1
  547. package/smartMapping/raster/support/adapters/ImageryLayerAdapter.js +1 -1
  548. package/smartMapping/renderers/color.js +1 -1
  549. package/smartMapping/renderers/dotDensity.js +1 -1
  550. package/smartMapping/renderers/heatmap.js +1 -1
  551. package/smartMapping/renderers/location.js +1 -1
  552. package/smartMapping/renderers/pieChart.js +1 -1
  553. package/smartMapping/renderers/size.js +1 -1
  554. package/smartMapping/renderers/support/referenceSizeUtils.js +1 -1
  555. package/smartMapping/renderers/support/utils.js +1 -1
  556. package/smartMapping/renderers/type.js +1 -1
  557. package/smartMapping/statistics/support/utils.js +1 -1
  558. package/support/arcadeOnDemand.js +1 -1
  559. package/support/arcadeUtils.js +1 -1
  560. package/support/revision.js +1 -1
  561. package/symbols/cim/CIMSymbolHelper.js +1 -1
  562. package/symbols/cim/cimAnalyzer.js +1 -1
  563. package/symbols/cim/effects/EffectBuffer.js +1 -1
  564. package/symbols/cim/effects/EffectDonut.js +1 -1
  565. package/symbols/cim/effects/EffectOffset.js +1 -1
  566. package/symbols/support/cimConversionUtils.js +1 -1
  567. package/symbols/support/defaults3D.js +1 -1
  568. package/symbols/support/jsonUtils.js +1 -1
  569. package/symbols/support/symbolConversion.js +1 -1
  570. package/symbols/support/typeUtils.js +5 -0
  571. package/symbols/support/utils.js +1 -1
  572. package/symbols/support/webStyleSymbolUtils.js +1 -1
  573. package/symbols.js +1 -1
  574. package/undoredo/support/Services.js +1 -1
  575. package/unionTypes.d.ts +4 -0
  576. package/unionTypes.js +5 -0
  577. package/views/2d/AnimationManager.js +1 -1
  578. package/views/2d/MapViewConstraints.js +1 -1
  579. package/views/2d/ViewState.js +1 -1
  580. package/views/2d/ViewStateManager.js +1 -1
  581. package/views/2d/engine/flow/FlowStrategy.js +1 -1
  582. package/views/2d/engine/flow/dataUtils.js +1 -1
  583. package/views/2d/engine/vectorTiles/tileInfoUtils.js +1 -1
  584. package/views/2d/engine/webgl/OverlayMultipoint.js +1 -1
  585. package/views/2d/engine/webgl/shaderGraph/techniques/createTestMeshData.js +1 -1
  586. package/views/2d/engine/webgl/shaderGraph/techniques/markers/ComputedMarkerParams.js +1 -1
  587. package/views/2d/grid/gridUtils.js +1 -1
  588. package/views/2d/interactive/SnappingVisualizer2D.js +1 -1
  589. package/views/2d/interactive/editingTools/ControlPointsTransformTool.js +1 -1
  590. package/views/2d/interactive/editingTools/TransformTool.js +1 -1
  591. package/views/2d/interactive/editingTools/draw/DrawGraphicTool2D.js +1 -1
  592. package/views/2d/interactive/editingTools/draw/symbols.js +1 -1
  593. package/views/2d/layers/FeatureLayerView2D.js +1 -1
  594. package/views/2d/layers/MediaLayerView2D.js +1 -1
  595. package/views/2d/layers/TileLayerView2D.js +1 -1
  596. package/views/2d/layers/VideoLayerView2D.js +1 -1
  597. package/views/2d/layers/features/processor/BinningStrategy.js +1 -1
  598. package/views/2d/layers/features/processor/TrackStrategy.js +1 -1
  599. package/views/2d/layers/features/schema/processor/symbols/SymbolSchema.js +1 -1
  600. package/views/2d/layers/features/support/FeatureSetReader.js +1 -1
  601. package/views/2d/layers/imagery/BaseImageryTileSubView2D.js +1 -1
  602. package/views/2d/layers/support/clusterUtils.js +1 -1
  603. package/views/2d/navigation/actions/Pan.js +1 -1
  604. package/views/2d/navigation/actions/Rotate.js +1 -1
  605. package/views/2d/pointToPoint/Camera.js +1 -1
  606. package/views/3d/analysis/Dimension/DimensionTool.js +1 -1
  607. package/views/3d/analysis/Dimension/LengthDimensionSubTool.js +1 -1
  608. package/views/3d/analysis/Dimension/lengthDimensionConstraintUtils.js +1 -1
  609. package/views/3d/analysis/Dimension/lengthDimensionManipulatorUtils.js +1 -1
  610. package/views/3d/analysis/LineOfSight/LineOfSightController.js +1 -1
  611. package/views/3d/analysis/LineOfSight/LineOfSightRayIntersector.js +1 -1
  612. package/views/3d/analysis/Slice/sliceToolUtils.js +1 -1
  613. package/views/3d/analysis/Viewshed/ViewshedComputedData.js +1 -1
  614. package/views/3d/analysis/Viewshed/ViewshedSubTool.js +1 -1
  615. package/views/3d/analysis/Viewshed/ViewshedTool.js +1 -1
  616. package/views/3d/environment/EnvironmentManager.js +1 -1
  617. package/views/3d/environment/Fog.glsl.js +1 -1
  618. package/views/3d/interactive/Manipulator3D.js +1 -1
  619. package/views/3d/interactive/editingTools/dragEventPipeline3D.js +1 -1
  620. package/views/3d/interactive/editingTools/media/MediaElementControllerControlPoints.js +1 -1
  621. package/views/3d/interactive/measurementTools/directLineMeasurement3D/DirectLineMeasurement3DTool.js +1 -1
  622. package/views/3d/layers/I3SMeshViewLabeler.js +1 -1
  623. package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
  624. package/views/3d/layers/Lyr3DWasm.js +1 -1
  625. package/views/3d/layers/VoxelLayerView3D.js +1 -1
  626. package/views/3d/layers/graphics/ElevationQuery.js +1 -1
  627. package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
  628. package/views/3d/layers/graphics/Graphics3DLineSymbolLayer.js +1 -1
  629. package/views/3d/layers/graphics/QueryEngine.js +1 -1
  630. package/views/3d/layers/graphics/elevationAlignPointsInFeatures.js +1 -1
  631. package/views/3d/layers/graphics/polygonUtils.js +1 -1
  632. package/views/3d/layers/i3s/I3SMeshViewFilter.js +1 -1
  633. package/views/3d/layers/i3s/I3SUtil.js +1 -1
  634. package/views/3d/layers/support/FeatureTile.js +1 -1
  635. package/views/3d/layers/support/FeatureTileDescriptor.js +1 -1
  636. package/views/3d/layers/support/FeatureTileFetcher3D.js +1 -1
  637. package/views/3d/layers/support/FeatureTileFetcher3DDebugger.js +1 -1
  638. package/views/3d/layers/support/FeatureTileMeasurements3D.js +1 -1
  639. package/views/3d/layers/support/FeatureTileTree3D.js +1 -1
  640. package/views/3d/layers/support/FeatureTileTree3DDebugger.js +1 -1
  641. package/views/3d/layers/support/FeatureTileVisibility3D.js +1 -1
  642. package/views/3d/layers/support/I3STreeDebugger.js +1 -1
  643. package/views/3d/layers/support/TerrainTileTree3DDebugger.js +1 -1
  644. package/views/3d/state/ViewStateManager.js +1 -1
  645. package/views/3d/support/FrustumExtentIntersection.js +1 -1
  646. package/views/3d/support/cameraUtilsPlanar.js +1 -1
  647. package/views/3d/support/cameraUtilsSpherical.js +1 -1
  648. package/views/3d/support/debugUtils.js +1 -1
  649. package/views/3d/support/hitTest.js +1 -1
  650. package/views/3d/support/viewpointUtils.js +1 -1
  651. package/views/3d/terrain/PlanarPatch.js +1 -1
  652. package/views/3d/terrain/SphericalPatch.js +1 -1
  653. package/views/3d/terrain/TerrainRenderer.js +1 -1
  654. package/views/3d/terrain/TerrainSurface.js +1 -1
  655. package/views/3d/terrain/Tile.js +1 -1
  656. package/views/3d/terrain/TilingScheme.js +1 -1
  657. package/views/3d/webgl-engine/effects/RenderPluginManager.js +1 -1
  658. package/views/3d/webgl-engine/effects/bloom/BloomComposition.glsl.js +1 -1
  659. package/views/3d/webgl-engine/effects/bloom/BloomRenderNode.js +1 -1
  660. package/views/3d/webgl-engine/effects/debug/RenderNodeVisualizerNode.js +1 -1
  661. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  662. package/views/3d/webgl-engine/lib/Viewshed.js +1 -1
  663. package/views/3d/webgl-engine/shaders/Viewshed.glsl.js +1 -1
  664. package/views/SceneView.js +1 -1
  665. package/views/VideoView.js +1 -1
  666. package/views/View2D.js +1 -1
  667. package/views/draw/MultipointDrawAction.js +1 -1
  668. package/views/draw/PointDrawAction.js +1 -1
  669. package/views/draw/PolygonDrawAction.js +1 -1
  670. package/views/draw/PolylineDrawAction.js +1 -1
  671. package/views/draw/SegmentDrawAction.js +1 -1
  672. package/views/draw/drawSurfaces.js +1 -1
  673. package/views/draw/support/Box.js +1 -1
  674. package/views/draw/support/GraphicMover.js +1 -1
  675. package/views/draw/support/Reshape.js +1 -1
  676. package/views/draw/support/createUtils.js +1 -1
  677. package/views/draw/support/surfaceCoordinateSystems.js +1 -1
  678. package/views/interactive/sketch/constraintUtils.js +1 -1
  679. package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceSnappingSourceWorker.js +1 -1
  680. package/views/layers/support/Geometry.js +1 -1
  681. package/views/support/HighlightOptions.d.ts +4 -0
  682. package/views/support/drapedUtils.js +1 -1
  683. package/webdoc/geotriggersInfo/FeatureFilter.js +1 -1
  684. package/widgets/AreaMeasurement2D/AreaMeasurement2DTool.js +1 -1
  685. package/widgets/CoordinateConversion/CoordinateConversionViewModel.js +1 -1
  686. package/widgets/CoordinateConversion/support/Format.js +1 -1
  687. package/widgets/CoordinateConversion/support/coordinateConversionUtils.js +1 -1
  688. package/widgets/DistanceMeasurement2D/DistanceMeasurement2DTool.js +1 -1
  689. package/widgets/Editor/CreateFeaturesWorkflow.js +1 -1
  690. package/widgets/Editor/UpdateWorkflow.js +1 -1
  691. package/widgets/Editor/workflowUtils.js +1 -1
  692. package/widgets/ElevationProfile/support/ProfileLine2D.js +1 -1
  693. package/widgets/Feature/FeatureExpression/FeatureExpressionViewModel.js +1 -1
  694. package/widgets/Feature/FeatureViewModel.js +1 -1
  695. package/widgets/FeatureForm/FeatureFormUtilityNetworkAssociations/FeatureFormUtilityNetworkAssociationList.js +1 -1
  696. package/widgets/FeatureForm/UtilityNetworkAssociationInput.js +1 -1
  697. package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
  698. package/widgets/FeatureTable/support/FeatureStore.js +1 -1
  699. package/widgets/FeatureTable.js +1 -1
  700. package/widgets/FeatureTemplates/FeatureTemplatesViewModel.js +1 -1
  701. package/widgets/FeatureTemplates/TemplateItem.js +1 -1
  702. package/widgets/FeatureTemplates/featureTemplatesUtils.js +1 -1
  703. package/widgets/FeatureTemplates.js +1 -1
  704. package/widgets/Features/FeaturesViewModel.js +1 -1
  705. package/widgets/LayerList/LayerListItem.js +1 -1
  706. package/widgets/Legend/support/ActiveLayerInfo.js +1 -1
  707. package/widgets/Legend/support/sizeRampUtils.js +1 -1
  708. package/widgets/Legend/support/utils.js +1 -1
  709. package/widgets/Locate.js +1 -1
  710. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  711. package/widgets/OrientedImageryViewer/OrientedImageryViewerVisibleElements.js +1 -1
  712. package/widgets/OrientedImageryViewer/adapters/sketch/MeasurementAdapter.js +1 -1
  713. package/widgets/OrientedImageryViewer/adapters/view/MapViewAdapter.js +1 -1
  714. package/widgets/OrientedImageryViewer/adapters/view/SceneViewAdapter.js +1 -1
  715. package/widgets/OrientedImageryViewer/components/ImageAreaMeasurement.js +5 -0
  716. package/widgets/OrientedImageryViewer/components/ImageDistanceMeasurement.js +5 -0
  717. package/widgets/OrientedImageryViewer/components/ImageMeasurement.js +5 -0
  718. package/widgets/OrientedImageryViewer/components/ImageViewerViewModel.js +1 -1
  719. package/widgets/OrientedImageryViewer/css.js +1 -1
  720. package/widgets/OrientedImageryViewer/imageMeasurementUtils.js +1 -1
  721. package/widgets/OrientedImageryViewer/symbols.js +1 -1
  722. package/widgets/OrientedImageryViewer.js +1 -1
  723. package/widgets/PanoramicViewer/PanoramicViewerViewModel.js +1 -1
  724. package/widgets/PanoramicViewer/constants.js +1 -1
  725. package/widgets/PanoramicViewer/utils.js +1 -1
  726. package/widgets/Print/PrintViewModel.js +1 -1
  727. package/widgets/Print.js +1 -1
  728. package/widgets/ScaleBar/ScaleBarViewModel.js +1 -1
  729. package/widgets/Search/SearchViewModel.js +1 -1
  730. package/widgets/Sketch/SketchViewModel.js +1 -1
  731. package/widgets/UtilityNetworkTrace/UtilityNetworkTraceFeature.js +5 -0
  732. package/widgets/UtilityNetworkTrace/UtilityNetworkTraceFeaturesDrillIn.js +5 -0
  733. package/widgets/UtilityNetworkTrace/UtilityNetworkTraceViewModel.js +1 -1
  734. package/widgets/UtilityNetworkTrace/support/GeometryHandler.js +1 -1
  735. package/widgets/UtilityNetworkTrace.js +1 -1
  736. package/widgets/support/GridControls/GridControlsViewModel.js +1 -1
  737. package/widgets/support/Selector2D/SelectionOperation.js +1 -1
  738. package/widgets/support/UtilityNetworkAssociations/UtilityNetworkAssociationList.js +1 -1
  739. package/widgets/support/UtilityNetworkAssociations/UtilityNetworkAssociationsViewModel.js +1 -1
  740. package/assets/esri/core/workers/chunks/0651586dc7bd2e8b34db.js +0 -1
  741. package/assets/esri/core/workers/chunks/077070295499b9bfabb6.js +0 -1
  742. package/assets/esri/core/workers/chunks/090cfc7f088a729afd47.js +0 -1
  743. package/assets/esri/core/workers/chunks/0d387baa64a89f88b1de.js +0 -1
  744. package/assets/esri/core/workers/chunks/105dcc7b7284b1e965b7.js +0 -1
  745. package/assets/esri/core/workers/chunks/134de9fa142129a43b1e.js +0 -1
  746. package/assets/esri/core/workers/chunks/16fa0a5f73ab67a8d3e4.js +0 -1
  747. package/assets/esri/core/workers/chunks/1797f62e9bf8f1ac8d13.js +0 -1
  748. package/assets/esri/core/workers/chunks/182722e2fe0a35c4d8db.js +0 -1
  749. package/assets/esri/core/workers/chunks/184846d2dde25ee12904.js +0 -1
  750. package/assets/esri/core/workers/chunks/1b3215f3290fb2f07ab8.js +0 -1
  751. package/assets/esri/core/workers/chunks/1d34a146b32b959923b0.js +0 -1
  752. package/assets/esri/core/workers/chunks/1f4dd96aacf8c40a1120.js +0 -1
  753. package/assets/esri/core/workers/chunks/1fa705ee39556ef4bb3b.js +0 -1
  754. package/assets/esri/core/workers/chunks/206194cf069ad4bcc3ad.js +0 -1
  755. package/assets/esri/core/workers/chunks/217f8139bea225d1fcc6.js +0 -1
  756. package/assets/esri/core/workers/chunks/22748779ca94eda44de5.js +0 -1
  757. package/assets/esri/core/workers/chunks/2427a01678f3d9fbf30b.js +0 -1
  758. package/assets/esri/core/workers/chunks/243520d9f4a118e63bbc.js +0 -1
  759. package/assets/esri/core/workers/chunks/26c8e30a5ee8db0314c8.js +0 -1
  760. package/assets/esri/core/workers/chunks/2779cf112299b612a73a.js +0 -1
  761. package/assets/esri/core/workers/chunks/280b7b885b96a5a68716.js +0 -2
  762. package/assets/esri/core/workers/chunks/299ed506209562be4fad.js +0 -1
  763. package/assets/esri/core/workers/chunks/2f5722844208d0f5d616.js +0 -1
  764. package/assets/esri/core/workers/chunks/2fb884799de54182d2c3.js +0 -2
  765. package/assets/esri/core/workers/chunks/2fb884799de54182d2c3.js.LICENSE.txt +0 -11
  766. package/assets/esri/core/workers/chunks/300a5f4842b90bda55b3.js +0 -1
  767. package/assets/esri/core/workers/chunks/33a13544b9e5f4f20bce.js +0 -1
  768. package/assets/esri/core/workers/chunks/33eebe5cb22a03ae90c8.js +0 -1
  769. package/assets/esri/core/workers/chunks/346ec2f8c373337c18c7.js +0 -1
  770. package/assets/esri/core/workers/chunks/34b86b4b9e6c1937ee39.js +0 -2
  771. package/assets/esri/core/workers/chunks/3512d53abe9abee7f420.js +0 -1
  772. package/assets/esri/core/workers/chunks/423329432fbf007c620b.js +0 -1
  773. package/assets/esri/core/workers/chunks/467bd3c0da9518a0058b.js +0 -1
  774. package/assets/esri/core/workers/chunks/47745c4f74830f981fd4.js +0 -1
  775. package/assets/esri/core/workers/chunks/4af0674fabfc965f1660.js +0 -1
  776. package/assets/esri/core/workers/chunks/4c1d11a91291b28a73be.js +0 -1
  777. package/assets/esri/core/workers/chunks/4c40fd932113a71cbe8e.js +0 -1
  778. package/assets/esri/core/workers/chunks/51fbbd082ca78e4417d9.js +0 -1
  779. package/assets/esri/core/workers/chunks/5a937486b9fd62b57dca.js +0 -1
  780. package/assets/esri/core/workers/chunks/5c05c899f7e6f764fedd.js +0 -1
  781. package/assets/esri/core/workers/chunks/636b944604480a905888.js +0 -1
  782. package/assets/esri/core/workers/chunks/6400f39a965900f66ce7.js +0 -1
  783. package/assets/esri/core/workers/chunks/643da327858a68ffbd88.js +0 -1
  784. package/assets/esri/core/workers/chunks/6c1470dc0bd4389d1a2d.js +0 -1
  785. package/assets/esri/core/workers/chunks/6c3862f42b6b27edf1cf.js +0 -2
  786. package/assets/esri/core/workers/chunks/6c3862f42b6b27edf1cf.js.LICENSE.txt +0 -10
  787. package/assets/esri/core/workers/chunks/6e804ee2d96d4de85a5f.js +0 -1
  788. package/assets/esri/core/workers/chunks/712f0dd46932c544df68.js +0 -1
  789. package/assets/esri/core/workers/chunks/71e88c90e9f9a9bddcd8.js +0 -1
  790. package/assets/esri/core/workers/chunks/7341108896d0e4d44dab.js +0 -1
  791. package/assets/esri/core/workers/chunks/74ba752dfab8ea5b6d2a.js +0 -314
  792. package/assets/esri/core/workers/chunks/79903647d4ed16d9a402.js +0 -1
  793. package/assets/esri/core/workers/chunks/7b4880b2dc6b01d70ccc.js +0 -1
  794. package/assets/esri/core/workers/chunks/7c98e4fcba1dc24eb788.js +0 -1
  795. package/assets/esri/core/workers/chunks/7d0fc25ce1f74adcfeb6.js +0 -1
  796. package/assets/esri/core/workers/chunks/8249351daa45ca82ca0c.js +0 -1
  797. package/assets/esri/core/workers/chunks/87ddc3d5d751d565cd97.js +0 -1
  798. package/assets/esri/core/workers/chunks/87f33a60768801ca1ce8.js +0 -1
  799. package/assets/esri/core/workers/chunks/885205379220ccee5802.js +0 -1
  800. package/assets/esri/core/workers/chunks/88bb55bca76f978c0aa3.js +0 -1
  801. package/assets/esri/core/workers/chunks/8b2f0c33e10e163d5c8f.js +0 -1
  802. package/assets/esri/core/workers/chunks/8c5d1fd2b2c7c26e8ff5.js +0 -1
  803. package/assets/esri/core/workers/chunks/8cda8dbd95f0a78063a8.js +0 -1
  804. package/assets/esri/core/workers/chunks/8e0e5183c88a45fbfd8e.js +0 -1
  805. package/assets/esri/core/workers/chunks/90eea0c2435bb5d10460.js +0 -1
  806. package/assets/esri/core/workers/chunks/93c1541241f92fc07eaa.js +0 -1
  807. package/assets/esri/core/workers/chunks/964f2897794d8d71dcb7.js +0 -1
  808. package/assets/esri/core/workers/chunks/97169740043b4a0a40fb.js +0 -1
  809. package/assets/esri/core/workers/chunks/976daa00d35ee7f27a26.js +0 -1
  810. package/assets/esri/core/workers/chunks/97d66b0d0ff1132966de.js +0 -1
  811. package/assets/esri/core/workers/chunks/984d5533dcc831c426be.js +0 -1
  812. package/assets/esri/core/workers/chunks/9970e0e74cf2877a7ffc.js.LICENSE.txt +0 -17
  813. package/assets/esri/core/workers/chunks/99b4f146d0f1661a217c.js +0 -1
  814. package/assets/esri/core/workers/chunks/9e4d68da11995a5b66c3.js +0 -1
  815. package/assets/esri/core/workers/chunks/a6095a6abb2610bb95c1.js +0 -1
  816. package/assets/esri/core/workers/chunks/aa96a05b94ae642c1c9f.js +0 -1
  817. package/assets/esri/core/workers/chunks/b0055e7b2e840d478de8.js +0 -1
  818. package/assets/esri/core/workers/chunks/b1bf8ad629a6b8f4489a.js +0 -1
  819. package/assets/esri/core/workers/chunks/b1e3448ba51557ff6c13.js +0 -1
  820. package/assets/esri/core/workers/chunks/b30046a40bcfbec8abe4.js +0 -1
  821. package/assets/esri/core/workers/chunks/b538d02706a25bbbe2d0.js +0 -1
  822. package/assets/esri/core/workers/chunks/b81b8a800eec9db7ece2.js +0 -1
  823. package/assets/esri/core/workers/chunks/c1c216b0aebe86311fae.js +0 -1
  824. package/assets/esri/core/workers/chunks/c436a112a3119ceabebf.js +0 -1
  825. package/assets/esri/core/workers/chunks/c609bc34b14e4956292e.js +0 -1
  826. package/assets/esri/core/workers/chunks/c8a09db652389f0d254d.js +0 -1
  827. package/assets/esri/core/workers/chunks/c8a645601d041f411060.js +0 -1
  828. package/assets/esri/core/workers/chunks/c9741eb7a66ff7ec9184.js +0 -1
  829. package/assets/esri/core/workers/chunks/cb3b7f83b3efb315bd14.js +0 -1
  830. package/assets/esri/core/workers/chunks/cdc5e4cd1214362e752a.js +0 -1
  831. package/assets/esri/core/workers/chunks/ce0fb7cbf72bbb4cfe98.js +0 -1
  832. package/assets/esri/core/workers/chunks/cf244cbd0558cc1142ed.js +0 -1
  833. package/assets/esri/core/workers/chunks/d181447e2be06beaa23f.js +0 -1
  834. package/assets/esri/core/workers/chunks/d5c93caa3a8bb06a0b3f.js +0 -1
  835. package/assets/esri/core/workers/chunks/da5fc368eb5b3592d05e.js +0 -1
  836. package/assets/esri/core/workers/chunks/dae7e8357936466482fe.js +0 -1
  837. package/assets/esri/core/workers/chunks/db20b986a5681316070b.js +0 -2
  838. package/assets/esri/core/workers/chunks/db20b986a5681316070b.js.LICENSE.txt +0 -5
  839. package/assets/esri/core/workers/chunks/dc7fb41ebe57b463d408.js +0 -1
  840. package/assets/esri/core/workers/chunks/dd935b6335c674b6f596.js +0 -1
  841. package/assets/esri/core/workers/chunks/ddd20894b5107b76b815.js +0 -1
  842. package/assets/esri/core/workers/chunks/de00150030003de05146.js +0 -1
  843. package/assets/esri/core/workers/chunks/decd316936df1ad3fa65.js +0 -1
  844. package/assets/esri/core/workers/chunks/df4d7f100222ea671730.js +0 -1
  845. package/assets/esri/core/workers/chunks/e2320e4e6fd976966c0b.js +0 -1
  846. package/assets/esri/core/workers/chunks/e418c4f7866d03d5352e.js +0 -1
  847. package/assets/esri/core/workers/chunks/e4f4ad67d778dea5b956.js +0 -1
  848. package/assets/esri/core/workers/chunks/e610dd938d30f75778bc.js +0 -1
  849. package/assets/esri/core/workers/chunks/eb256e8488e341c4a6f2.js +0 -1
  850. package/assets/esri/core/workers/chunks/ebc0094355504ec09fb8.js +0 -1
  851. package/assets/esri/core/workers/chunks/ec195549b274cca09d81.js +0 -1
  852. package/assets/esri/core/workers/chunks/ec4a45b40021abdead45.js +0 -1
  853. package/assets/esri/core/workers/chunks/ee5f43fbe4c2cc199e64.js +0 -1
  854. package/assets/esri/core/workers/chunks/f0334d31c8cac38baa25.js +0 -1
  855. package/assets/esri/core/workers/chunks/f1b63f092e239f84b849.js +0 -1
  856. package/assets/esri/core/workers/chunks/f2126b79f41dc62cc576.js +0 -1
  857. package/assets/esri/core/workers/chunks/f3a75dffb285590cb451.js +0 -1
  858. package/assets/esri/core/workers/chunks/f3e0b0f07a622fcdd6ae.js +0 -1
  859. package/assets/esri/core/workers/chunks/f581aec77accce7411e0.js +0 -1
  860. package/assets/esri/core/workers/chunks/f606350e4d040ad70f4d.js +0 -1
  861. package/assets/esri/core/workers/chunks/f849ffe8e551bd5896ef.js +0 -1
  862. package/assets/esri/core/workers/chunks/f877bcbd277a28154d82.js +0 -1
  863. package/assets/esri/core/workers/chunks/fa1c68f2ffcdff7986b6.js +0 -1
  864. package/assets/esri/core/workers/chunks/fa849ff6132c2cd6d8e8.js +0 -1
  865. package/assets/esri/core/workers/chunks/feeb36ffdffb227c4353.js +0 -1
  866. package/renderers/support/types.js +0 -5
  867. package/widgets/support/templateUtils.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.32/esri/copyright.txt for details.
4
4
  */
5
- import{getReferenceEllipsoid as i}from"../../../../geometry/ellipsoidUtils.js";import{create as t}from"../../../../geometry/support/aaBoundingRect.js";class e{constructor(i,e,s,h){this.lij=[0,0,0],this.extent=t(),this.loadPriority=0,this.measures=new l,this.used=!1,this.acquire(i,e,s,h)}get planetRadius(){return i(this.tilingScheme.spatialReference).radius}get resolution(){return this.tilingScheme.resolutionAtLevel(this.measures.lodLevel)}get level(){return this.lij[0]}acquire(i,t,s,l){this.tilingScheme=l,this.id=e.id(i,t,s),this.lij[0]=i,this.lij[1]=t,this.lij[2]=s,l.getExtent(i,t,s,this.extent),this.measures.lodLevel=i}release(){this.tilingScheme=null}getChildren(i){const t=this.lij[0]+1,s=2*this.lij[1],l=2*this.lij[2];return i?i.acquire(t,s,l,this.tilingScheme):[new e(t,s,l,this.tilingScheme),new e(t,s+1,l,this.tilingScheme),new e(t,s,l+1,this.tilingScheme),new e(t,s+1,l+1,this.tilingScheme)]}static id(i,t,e){return`${i}/${t}/${e}`}}var s;!function(i){i[i.INVISIBLE=0]="INVISIBLE",i[i.VISIBLE=1]="VISIBLE"}(s||(s={}));class l{constructor(){this.visibility=s.VISIBLE,this.distance=0,this.lodLevel=0,this.shouldSplit=!1}copyFrom(i){this.visibility=i.visibility,this.distance=i.distance,this.lodLevel=i.lodLevel,this.shouldSplit=i.shouldSplit}}export{e as FeatureTileDescriptor,s as Visibility};
5
+ import{getReferenceEllipsoid as e}from"../../../../geometry/ellipsoidUtils.js";import{create as t}from"../../../../geometry/support/aaBoundingRect.js";class i{constructor(e,i,h,r,n=l(e,i,h)){this._tilingScheme=r,this.id=n,this.lij=[0,0,0],this.extent=t(),this.measures=new s,this.loadPriority=0,this.used=!1,this.lij[0]=this.measures.lodLevel=e,this.lij[1]=i,this.lij[2]=h,r.getExtent(e,i,h,this.extent)}get planetRadius(){return e(this.spatialReference).radius}get spatialReference(){return this._tilingScheme.spatialReference}get resolution(){return this._tilingScheme.resolutionAtLevel(this.measures.lodLevel)}get level(){return this.lij[0]}createChildren(){const e=this.lij[0]+1,t=2*this.lij[1],s=2*this.lij[2];return[new i(e,t,s,this._tilingScheme),new i(e,t+1,s,this._tilingScheme),new i(e,t,s+1,this._tilingScheme),new i(e,t+1,s+1,this._tilingScheme)]}}class s{constructor(){this.visible=!0,this.distance=0,this.lodLevel=0,this.shouldSplit=!1}}function l(e,t,i){return`${e}/${t}/${i}`}export{i as FeatureTileDescriptor,l as getFeatureTileId};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../../../chunks/tslib.es6.js";import t from"../../../../core/Accessor.js";import"../../../../core/has.js";import s from"../../../../core/Logger.js";import{getOrCreateMapValue as i}from"../../../../core/MapUtils.js";import{isAbortError as r,throwIfAborted as a}from"../../../../core/promiseUtils.js";import n from"../../../../core/ReactiveMap.js";import{on as o,watch as u}from"../../../../core/reactiveUtils.js";import{schedule as l}from"../../../../core/scheduling.js";import{signal as h}from"../../../../core/signal.js";import{property as d}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/RandomLCG.js";import{subclass as c}from"../../../../core/accessorSupport/decorators/subclass.js";import{create as p,equals as f,clone as _,expand as m,toExtent as g}from"../../../../geometry/support/aaBoundingRect.js";import{getObjectId as F,hasVertices as y}from"../../../../layers/graphics/dehydratedFeatures.js";import T from"../../../../rest/support/QuantizationParameters.js";import x from"../../../../rest/support/Query.js";import{ViewingMode as E}from"../../../ViewingMode.js";import{MultiFeatureReference as R,SingleFeatureReference as v}from"./featureReference.js";import{failedFeatureCount as C,FetchStatus as b,FeatureTile as D}from"./FeatureTile.js";import{tilesAreRelated as M}from"../../terrain/tileUtils.js";import{ImmediateTask as w,TaskPriority as U}from"../../../support/Scheduler.js";let O=class extends t{set maximumNumberOfFeatures(e){e=e||1/0;const t=this._get("maximumNumberOfFeatures");e===t||e<1||(this._set("maximumNumberOfFeatures",e),this._maximumFeaturesUpdated(t,e))}set memoryFactor(e){this.memoryFactor!==e&&(this._set("memoryFactor",e),this._setDirty())}set lodFactor(e){this.lodFactor!==e&&(this._set("lodFactor",e),this._supportsResolution&&this.refetch())}get useTileCount(){return this._useTileCount&&null!=this.context.query.queryFeatureCount}set useTileCount(e){this._useTileCount=e,this.notifyChange("useTileCount")}get updating(){return this._dirty||!!this._pendingEdits||this._isFetching||(this.tileDescriptors?.updating??!1)}get memoryForUnusedFeatures(){let e=0;return this._featureTiles.forEach((t=>e+=t.estimatedUnusedSize)),e}get totalVertices(){let e=0;return this._featureTiles.forEach((t=>e+=t.numVertices)),e}get totalFeatures(){let e=0;return this._featureTiles.forEach((t=>e+=t.numFeatures)),e}get hasAllFeatures(){if(this._paused||this.dataUpdating)return!1;for(const e of this._featureTiles.values())if(!this.hasFullGeometries&&0!==e.emptyFeatureRatio||!e.hasAllFeatures)return!1;return!0}get hasFullGeometries(){if(!this._supportsResolution)return!0;return this.tileDescriptors.some(j)||!this.context.capabilities.supportsQuantization&&"polyline"!==this.context.geometryType}set filterExtent(e){if(null!=e&&this.context.tilingScheme&&!e.spatialReference.equals(this.context.tilingScheme.spatialReference))return void s.getLogger(this).error("#filterExtent=","extent needs to be in the same spatial reference as the tiling scheme");const t=this._get("filterExtent");if(t===e||null!=t&&e&&t.equals(e))return;const i=null!=e?e.clone():null;this._set("filterExtent",i),this._reclip(i,t)}_updateTileZQuantization(e){if(this.context.viewingMode===E.Global){const t=e.computeZQuantizationFactor();this._zQuantizationFactor.value<t&&(this._zQuantizationFactor.value=t)}}get _tileZQuantization(){return this.context.isDraped?1:this._zQuantizationFactor.value}constructor(e){super(e),this._useTileCount=!1,this.dataUpdating=!1,this.running=!1,this.updatingTotal=0,this.updatingRemaining=0,this.expectedFeatureDiff=0,this.maximumNumberOfFeaturesExceeded=!1,this._fullRatio=1,this._farRatio=1,this._zQuantizationFactor=h(1),this._changes={updates:{adds:new Array,removes:new Array},adds:new Array,removes:new Array},this._frameTask=w,this._featureTiles=new n,this._displayingFeatureReferences=new Map,this._numDisplayingFeatureReferences=0,this._dirty=!1,this._suspended=!0,this._pendingEdits=null,this._applyEditsTilesUpdated=!1,this._isFetching=!1}initialize(){this.addHandles([o((()=>this.tileDescriptors),"change",(()=>this._setDirty()),{sync:!0,onListenerAdd:()=>this._setDirty()}),u((()=>this._tileZQuantization),(()=>this.refetch()))]),this._objectIdField=this.context.objectIdField,this.FeatureReferenceClass=this.context.capabilities.supportsMultipleResolutions?R:v;const e=this.context.scheduler;null!=e&&(this._frameTask=e.registerTask(U.FEATURE_TILE_FETCHER,this)),this._setDirty()}destroy(){this._frameTask.remove(),this._featureTiles.forEach((e=>{this._cancelFetchTile(e),this._removeTile(e)})),this._featureTiles.clear(),this._displayingFeatureReferences.clear(),this._pendingEdits?.controller.abort(),this._pendingEdits=null}get _paused(){return this._suspended||!!this._pendingEdits}restart(){this._featureTiles.forEach((e=>{this._cancelFetchTile(e),this._clearTile(e),this._resetFetchTile(e)})),null!=this.context.memoryCache&&this.context.memoryCache.clear(),this._setDirty()}refetch(){this._featureTiles.forEach((e=>{this._cancelFetchTile(e),this._resetFetchTile(e)})),null!=this.context.memoryCache&&this.context.memoryCache.clear(),this._setDirty()}suspend(){this._suspended||(this._suspended=!0,this._pause(),this._setDirty())}resume(){this._suspended&&(this._suspended=!1,this._unpause())}getMissingAttributesForFeature(e){for(const t of this._featureTiles.values()){const s=t.missingAttributes?.get(e);if(null!=s)return s}}_pause(){this._paused&&(this._featureTiles.forEach((e=>this._cancelFetchTile(e))),this._updated())}_unpause(){this._paused||this._setDirty()}get availableFields(){let e=null;return this._featureTiles.forEach((t=>{null!=t.displayingFeatures&&0!==t.displayingFeatures.length&&(null==e?e=new Set(t.availableFields):e.forEach((s=>{t.availableFields.has(s)||e.delete(s)})))})),null!=e?e:new Set}applyEdits(e){this._pendingEdits||(this._pendingEdits={edits:Promise.resolve(),count:0,controller:new AbortController},this._pause());const t=this._pendingEdits;t.count++;const s=t.edits.then((()=>e.result.catch((e=>{if(r(e))throw e;return null})).then((e=>e?(this._applyEditsDeleteFeatures(e.deletedFeatures),this._applyEditsAddUpdateFeatures(e.addedFeatures,e.updatedFeatures,t.controller.signal).then((()=>e))):e)).then((e=>(0==--t.count&&(this._pendingEdits===t&&(this._pendingEdits=null),null!=this.context.memoryCache&&this.context.memoryCache.clear(),this._applyEditsTilesUpdated=!1,this._unpause()),e)))));return t.edits=s,this._updated(),s}_applyEditsDeleteFeatures(e){if(0===e.length)return;const t=this.context.globalIdField,i=t&&this.availableFields.has(t),r=new Set,a=this._objectIdField;e.forEach((({objectId:e,globalId:n})=>{(!e||e<0)&&t&&n&&(i||s.getLogger(this).errorOncePerTick(`Editing the specified service requires the layer's globalIdField, ${t} to be included the layer's outFields for updates to be reflected in the view`),e=this._objectIdFromGlobalId(n,a,t)),null!=e&&e>=0&&r.add(e)})),this._featureTiles.forEach((e=>{if(!e.features)return;const t=e.features.filter((e=>!r.has(F(e,this._objectIdField))));t.length!==e.features.length&&(this._applyEditsTileUpdated(),e.setFeatures(t,0,e.availableFields,e.missingAttributes),this._updateTileZQuantization(e),this._invalidateCounts())}))}_objectIdFromGlobalId(e,t,s){if(null==e)return null;const i=this.features.find((t=>t.attributes?.[s]===e));return i?F(i,t):null}async _applyEditsAddUpdateFeatures(e,t,i){const{objectIdField:r,globalIdField:a}=this.context,n=a&&this.availableFields.has(a),o=new Set,u=new Set;for(const s of e){const e=s.objectId;null!=e&&o.add(e)}for(const{objectId:h,globalId:d}of t){let e=h;(null==e||e<0)&&a&&(n||s.getLogger(this).errorOncePerTick(`Editing the specified service requires the layer's globalIdField, ${a} to be included the layer's outFields for updates to be reflected in the view`),e=this._objectIdFromGlobalId(d,r,a)),null!=e&&e>=0&&(o.add(e),u.add(e))}if(0===o.size)return;const l=[];this._featureTiles.forEach((e=>{const t=this._applyEditsAddUpdateTile(e,o,u,i);t&&l.push(t)})),this._updated(),await Promise.allSettled(l)}async _applyEditsAddUpdateTile(e,t,s,i){if(!e.features)return;const r=this._createQuery(e);r.resultType=void 0,r.cacheHint=!1,r.objectIds=Array.from(t);const a=await this._queryFeatures(r,i);let n=null;if(s.size>0){const t=e.features.filter((e=>!s.has(F(e,this._objectIdField))));t.length!==e.features.length&&(n=t)}if(a.features.length>0){n||(n=e.features.slice());for(const e of a.features)n.push(e)}n&&(e.hasPreciseFeatureCount&&(e.numFeatures=Math.max(e.numFeatures,n.length)),this._applyEditsTileUpdated(),e.setFeatures(n,0,N(e.availableFields,a.fields),Q(e.missingAttributes,a.missingAttributes)),this._updateTileZQuantization(e),this._invalidateCounts())}_applyEditsTileUpdated(){this._applyEditsTilesUpdated||(this._applyEditsTilesUpdated=!0,this._updated())}_queryFeatures(e,t){return this.context.query.queryFeaturesDehydrated(e,{signal:t,timeout:q})}_setDirty(){this._dirty=!0,this._updated()}runTask(e){const t=this._frameTask.processQueue(e);if(!this._dirty||!this.initialized)return t;this._dirty=!1;const s=this._getListOfTiles();if(this._markTilesNotAlive(s),!e.run((()=>this._addTiles(s,e)))||!e.run((()=>this._filterExtentTiles(s,e)))||!e.run((()=>this._removeTiles(s,e)))||e.done)return void this._setDirty();const i=this._sortTiles(s);e.run((()=>this._showTiles(i,e)))&&e.run((()=>this._fetchTiles(i,e)))&&e.run((()=>this._updateMemoryEstimates(i,e)))||this._setDirty(),this._updated(),this.updating||this._updateMaximumNumberOfFeaturesExceeded()}_markTilesNotAlive(e){for(const t of e)t.alive=!1}_addTiles(e,t){return!(this._suspended||!this.tileDescriptors)&&(this.tileDescriptors.forEach((s=>{const i=this._featureTiles.get(s.id);i?i.alive=!0:t.done||(e.push(this._addTile(s)),t.madeProgress())})),t.hasProgressed)}_filterExtentTiles(e,t){for(const s of e){if(t.done)break;s.alive&&(s.filtered=!s.intersects(this.filterExtent),s.filtered&&(this._clearTile(s),t.madeProgress()))}return t.hasProgressed}_removeTiles(e,t){for(let s=e.length-1;s>=0&&!t.done;s--){const i=e[s];i.alive||(this._removeTile(i),s!==e.length-1&&(e[s]=e[e.length-1]),e.pop(),t.madeProgress())}return t.hasProgressed}_sortTiles(e){return e.sort(((e,t)=>e.descriptor.loadPriority-t.descriptor.loadPriority)),e}_showTiles(e,t){const s=this._updateRatio(e),i=e=>{const t=this._fullRatio<1?s(e)*this._farRatio:1;return e.reduceFeatures(t,this.memoryFactor,this._objectIdField)&&this._setDirty(),(e.features?.length??0)>0&&e.fetchingFeatureResolution!==e.descriptor.resolution&&e.fetchStatus===b.DONE&&(e.fetchStatus=b.REFETCH_NEEDED,this._setDirty()),this._showTile(e)};for(const r of e)if(!t.run((()=>i(r)))){this._setDirty();break}return t.hasProgressed}_fetchTiles(e,t){if(this._paused)return!1;let i=!1;for(const s of e){if(!s.needsFetching)continue;const e=null!=this.context.memoryCache?this.context.memoryCache.pop(s.id):null;if(null==e){if(this._needsNumFeatures(s)){const e=new AbortController,r=this._fetchTileCount(s,e.signal);this._handleRequest(s,r,e,(()=>s.numFeatures=C)),i=!0,t.madeProgress()}if(t.done)return!0}else s.cache=e,s.numFeatures&&this._notifyDataUpdating(),this._setDirty(),this._scheduleUpdated(),t.madeProgress()}if(i)return t.hasProgressed;for(const r of e)if(r.needsFetching){const e=new AbortController,i=this._fetchTile(r,e.signal);if(this._handleRequest(r,i,e,(e=>{r.setFeatures([],0,null,void 0),this._invalidateCounts(),r.featuresMissing=!1,r.fetchFailed=!0,this.context.logFetchError(s.getLogger(this),e)})),t.madeProgress())return!0}return t.hasProgressed}_updateMemoryEstimates(e,t){return e.some((e=>!t.run((()=>e.updateMemoryEstimates()))&&(this._setDirty(),!0))),t.hasProgressed}_reclip(e,t){if(!this.initialized)return;const s=new Array;this._featureTiles.forEach((i=>{null!=i.displayingFeatures&&0!==i.displayingFeatures.length&&(i.intersectionIncludingBorrowed(t,S),i.intersectionIncludingBorrowed(e,L),f(S,L)||s.push(i))})),this._refreshDisplayingFeatures(s),this._updated()}_refreshDisplayingFeatures(e){const t=new Set,s=this._changes.updates;for(const i of e)if(null!=i.displayingFeatures)for(const e of i.displayingFeatures){const i=F(e,this._objectIdField);if(t.has(i))continue;t.add(i);const r=this._displayingFeatureReferences.get(i).feature;s.removes.push(r),s.adds.push(r)}this._applyChanges()}_updated(){let e=0;if(this._paused||this._featureTiles.forEach((t=>t.isFetching?++e:0)),this._isFetching=e>0,this._set("running",this._dirty),e>0||this._applyEditsTilesUpdated?this._notifyDataUpdating():this._dirty||this._set("dataUpdating",!1),this.updating){let t=0,s=0,i=0,r=0,a=0;const n=this._displayingFeatureReferences.size/this._numDisplayingFeatureReferences;this._featureTiles.forEach((e=>{if(++s,e.isFetching&&e.hasPreciseFeatureCount){const t=this._maximumFeaturesForTile(e)*(1-e.emptyFeatureRatio),s=null!=e.displayingFeatures?e.displayingFeatures.length*n:0;a+=t-s}e.needsFetching?++r:e.numFeatures>0&&(++i,t+=e.numFeatures)})),r+=e;let o=0,u=0;t?(u=t,o=Math.min(r*t/i,t)):(u=s,o=r),a=Math.min(this.maximumNumberOfFeatures-this.features.length,a),this._set("updatingTotal",u),this._set("updatingRemaining",o),this._set("expectedFeatureDiff",a)}else this._set("updatingTotal",0),this._set("updatingRemaining",0),this._set("expectedFeatureDiff",0);this.debugger&&this.debugger.update()}_updateMaximumNumberOfFeaturesExceeded(){for(const{perTileMaximumNumberOfFeaturesExceeded:e}of this._featureTiles.values())if(e)return void this._set("maximumNumberOfFeaturesExceeded",!0);this._set("maximumNumberOfFeaturesExceeded",!1)}_updateRatio(e){const t=A(e),s=e=>1/(1<<Math.max(0,t-e.descriptor.lij[0]));let i=0,r=0;for(const a of e){const e=a.numFeatures;i+=e,r+=e*s(a)}return this._fullRatio=Math.min(1,this.maximumNumberOfFeatures/i),this._farRatio=this.maximumNumberOfFeatures/r,this._scheduleUpdated(),s}_maximumFeaturesUpdated(e,t){e!==t&&(t>e&&this._featureTiles.forEach((e=>{if(!e.featuresMissing)return;const t=this._maximumFeaturesForTile(e);e.features&&(e.features.length>=t||e.fetchStatus===b.FULL)||(this._cancelFetchTile(e),this._resetFetchTile(e))})),this._setDirty())}_addTile(e){const t=new D(e);return this._featureTiles.set(t.id,t),this._resetFetchTile(t),this._referenceDisplayingFeaturesFromRelatedTiles(t),t}_referenceDisplayingFeaturesFromRelatedTiles(e){const t=e.displayingFeatureResolution;this._featureTiles.forEach((s=>{if(null!=s.displayingFeatures&&e!==s&&M(e.descriptor.lij,s.descriptor.lij)){null==e.displayingFeatures&&(e.displayingFeatures=[]),e.descriptor.extent&&s.descriptor.extent&&(null==e.extentIncludingBorrowedFeatures&&(e.extentIncludingBorrowedFeatures=_(e.descriptor.extent)),m(e.extentIncludingBorrowedFeatures,s.descriptor.extent,e.extentIncludingBorrowedFeatures));for(const i of s.displayingFeatures){e.displayingFeatures.push(i);const s=this._displayingFeatureReferences.get(F(i,this._objectIdField));s.ref(s.feature,t),this._numDisplayingFeatureReferences++}}})),e.featureLimit=null!=e.displayingFeatures?e.displayingFeatures.length:0}_removeTile(e){this._clearTile(e),this._featureTiles.delete(e.id)}_resetFetchTile(e){e.filtered=!e.intersects(this.filterExtent),e.filtered?e.needsFetching&&(e.fetchStatus=b.DONE):e.fetchStatus=b.FETCH_NEEDED}_cancelFetchTile(e){const t=e.requestController;null!=t&&(e.requestController=null,e.resetFetching(),t.abort())}async _fetchTileCount(e,t){return e.numFeatures=await this._fetchCount(e,t),this._updateRatio(this._getListOfTiles()),e.fetchStatus===b.REFETCHING?b.REFETCH_NEEDED:b.FETCH_NEEDED}async _fetchTile(e,t){e.fetchFailed=!1;const s=this._maximumFeaturesForTile(e);if(s<=0)return e.hasPreciseFeatureCount&&0===e.numFeatures||(e.fetchFailed=!0),I(e);const i=this._getMaxRecordCount(e),r=Math.ceil(s/i);if(j(e)||!this.context.capabilities.supportsMaxRecordCountFactor||e.numFeatures<=s&&r>x.MAX_MAX_RECORD_COUNT_FACTOR)return this._fetchPagedTile(e,t);e.fetchingFeatureResolution=e.descriptor.resolution;const n=this._createQuery(e);if(n.maxRecordCountFactor=r,e.isRefetching&&e.features&&e.features.length>0){const t=Math.ceil(e.features.length/(1-e.emptyFeatureRatio)/i);n.maxRecordCountFactor=Math.max(t+1,n.maxRecordCountFactor)}const{features:o,exceededTransferLimit:u,fields:l,missingAttributes:h}=await this._queryFeatures(n,t),d=u?n.maxRecordCountFactor>=x.MAX_MAX_RECORD_COUNT_FACTOR?b.FULL:b.DONE:b.FULL;return await this._frameTask.schedule((()=>{e.featuresMissing=e.hasPreciseFeatureCount&&o.length<e.numFeatures||!!u;const t=this._removeEmptyFeatures(o);e.setFeatures(o,t,P(l),Q(void 0,h)),this._updateTileZQuantization(e)}),t),a(t),this._invalidateCounts(),d}async _fetchCount(e,t){return this.context.query.queryFeatureCount(this._createFeatureCountQuery(e),{signal:t})}async _fetchPagedTile(e,t){let s,i=0,r=0,n=0,o=this._maximumFeaturesForTile(e)-n;const u=this._getMaxRecordCount(e);let l,h=null;for(;;){const d=this._createQuery(e),c=this._setPagingParameters(d,i,o,u),{features:p,exceededTransferLimit:f,fields:_,missingAttributes:m}=await this._queryFeatures(d,t);if(await this._frameTask.schedule((()=>{c&&(i+=d.num),n+=p.length,r+=this._removeEmptyFeatures(p),e.featuresMissing=c&&e.hasPreciseFeatureCount&&i<e.numFeatures||!!f,s=s?s.concat(p):p,h=N(h,_),l=Q(l,m),e.setFeatures(s,r,h,l),this._updateTileZQuantization(e)}),t),a(t),this._invalidateCounts(),this._setDirty(),o=this._maximumFeaturesForTile(e)-n,!c||!f||o<=0)return f?b.DONE:b.FULL}}_createFeatureCountQuery(e){const t=this._createQuery(e);return this.context.capabilities.supportsCacheHint&&(t.resultType=void 0,t.cacheHint=!0),t}_createQuery(e){const t=this.context.createQuery();return j(e)||(t.geometry=g(e.descriptor.extent,this.context.tilingScheme.spatialReference)),this._setResolutionParams(t,e),this._useTileQuery(e)?t.resultType="tile":this.context.capabilities.supportsCacheHint&&(t.cacheHint=!0),t}_setPagingParameters(e,t,s,i){return!!this.context.capabilities.supportsPagination&&(e.start=t,s>0&&this.context.capabilities.supportsMaxRecordCountFactor?(e.maxRecordCountFactor=Math.ceil(s/i),e.num=Math.min(e.maxRecordCountFactor*i,s)):e.num=Math.min(i),!0)}_getEffectiveTileResolution(e){if(j(e))return null;const t=this.context.viewingMode===E.Global?this.context.tilingScheme.resolutionAtLevel(3):1/0;return Math.min(e.fetchingFeatureResolution,t)/this.lodFactor/this._tileZQuantization}get _supportsResolution(){return this.context.capabilities.supportsMultipleResolutions&&"point"!==this.context.geometryType}_setResolutionParams(e,t){if(!this._supportsResolution)return;const s=this._getEffectiveTileResolution(t);null!=s&&(this.context.capabilities.supportsQuantization?e.quantizationParameters=new T({mode:"view",originPosition:"upper-left",tolerance:s,extent:this.context.fullExtent}):"polyline"===this.context.geometryType&&(e.maxAllowableOffset=s))}_removeEmptyFeatures(e){const t=e.length;for(let s=0;s<e.length;){const t=e[s];y(t.geometry)?++s:(e[s]=e[e.length-1],--e.length)}return t-e.length}_needsNumFeatures(e){return this.useTileCount&&e.needsFeatureCount&&!j(e)}_getMaxRecordCount(e){const{tileMaxRecordCount:t,maxRecordCount:s}=this.context;return this._useTileQuery(e)&&null!=t&&t>0&&this.context.capabilities.supportsResultType?t:null!=s&&s>0?s:z}_useTileQuery(e){return(!j(e)||!this.context.capabilities.supportsCacheHint)&&this.context.capabilities.supportsResultType}_handleRequest(e,t,s,i){e.fetchStatus=e.needsRefetching?b.REFETCHING:b.FETCHING,e.requestController=s;let a=!1;t.then((t=>{e.requestController=null,e.fetchStatus=t})).catch((t=>{e.requestController===s&&(e.requestController=null,e.fetchStatus=b.DONE),r(t)?a=!0:i(t)})).then((()=>{a||this._setDirty(),this._scheduleUpdated()}))}_scheduleUpdated(){this.hasHandles("scheduleUpdated")||this.addHandles(l((()=>{this.removeHandles("scheduleUpdated"),this._updated()})),"scheduleUpdated")}_showTile(e){if(null!=e.displayingFeatures&&!e.needsDisplayUpdate)return!1;const{features:t}=e;if(0===e.featureLimit||!t){const t=null!=e.displayingFeatures&&e.displayingFeatures.length>0;return this._hideTileFeatures(e),e.displayingFeatures=[],t}const{fetchingFeatureResolution:s}=e,{adds:i,updates:r}=this._changes,a=Math.min(e.featureLimit,t.length);e.featureLimit=a;for(let n=0;n<a;++n){const e=t[n],a=F(e,this._objectIdField),o=this._displayingFeatureReferences.get(a);if(o){const{oldVersion:t,newVersion:i}=o.ref(e,s);t!==i&&(t&&r.removes.push(t),i&&r.adds.push(i))}else this._displayingFeatureReferences.set(a,new this.FeatureReferenceClass(e,s)),i.push(e);this._numDisplayingFeatureReferences++}return this._hideTileFeatures(e),e.displayingFeatureResolution=e.fetchingFeatureResolution,this._applyChanges(),e.displayingFeatures=t.slice(0,a),!0}_hideTile(e){this._cancelFetchTile(e),this._hideTileFeatures(e)}_hideTileFeatures(e){if(null==e.displayingFeatures)return;const{updates:t,removes:s}=this._changes;for(const i of e.displayingFeatures){const r=F(i,this._objectIdField),a=this._displayingFeatureReferences.get(r);if(!a)continue;const{oldVersion:n,newVersion:o}=a.unref(e.displayingFeatureResolution);this._numDisplayingFeatureReferences--,n!==o&&(null==o?(this._displayingFeatureReferences.delete(r),n&&s.push(n)):(t.adds.push(o),n&&t.removes.push(n)))}this._applyChanges(),e.displayingFeatures=null}_notifyDataUpdating(){this._get("dataUpdating")||this._set("dataUpdating",!0)}_applyChanges(){const e=this._changes.updates;e.removes.length>0&&(this._notifyDataUpdating(),this.features.removeMany(e.removes),e.removes.length=0),e.adds.length>0&&(this._notifyDataUpdating(),this.features.addMany(e.adds),e.adds.length=0);const t=this._changes.adds,s=this._changes.removes,i=Math.min(t.length,s.length);let r=0;for(;r<i;){const e=Math.min(r+H,i);this._notifyDataUpdating(),this.features.addMany(t.slice(r,e)),this.features.removeMany(s.slice(r,e)),r=e}t.length>i&&(this._notifyDataUpdating(),this.features.addMany(0===r?t:t.slice(r))),s.length>i&&(this._notifyDataUpdating(),this.features.removeMany(0===r?s:s.slice(r))),t.length=0,s.length=0}_clearTile(e){this._hideTile(e),e.features&&null!=this.context.memoryCache&&this.context.memoryCache.put(e.id,e.cache),e.setFeatures(null,0,null,void 0),this._invalidateCounts()}_invalidateCounts(){this.notifyChange("totalVertices"),this.notifyChange("totalFeatures"),this.notifyChange("memoryForUnusedFeatures")}_getListOfTiles(){return Array.from(this._featureTiles.values())}get storedFeatures(){return this._getListOfTiles().reduce(((e,t)=>e+(t.features?t.features.length:0)),0)}get missingTiles(){return Array.from(this._featureTiles.values()).reduce(((e,t)=>e+(t.needsFetching||t.isFetching?1:0)),0)}_maximumFeaturesForTile(e){const t=e.hasPreciseFeatureCount?e.numFeatures:1/0,s=e.hasPreciseFeatureCount?t:this.maximumNumberOfFeatures,i=this._fullRatio<1?this._farRatio:1;return Math.min(Math.ceil(s*i/(1-e.emptyFeatureRatio)),t)}get test(){}};function j(e){return"dummy-tile-full-extent"===e.id}function A(e){let t=0;for(const s of e)s.features&&s.features.length>0&&s.alive&&(t=Math.max(t,s.descriptor.lij[0]));return t}function I(e){return e.setFeatures([],0,null,void 0),e.featuresMissing=!1,b.DONE}function P(e){return null==e?new Set:new Set(e.map((e=>e.name)))}function N(e,t){if(null==e||null==t)return P(t);const s=new Set;for(const{name:i}of t)e.has(i)&&s.add(i);return s}function Q(e,t){if(!t?.length)return e;e??=new Map;const s=()=>new Set;for(const{objectId:r,attribute:a}of t)i(e,r,s).add(a);return e}e([d({constructOnly:!0})],O.prototype,"features",void 0),e([d()],O.prototype,"tileDescriptors",void 0),e([d({value:1/0})],O.prototype,"maximumNumberOfFeatures",null),e([d({value:1})],O.prototype,"memoryFactor",null),e([d({value:1})],O.prototype,"lodFactor",null),e([d()],O.prototype,"useTileCount",null),e([d({readOnly:!0})],O.prototype,"updating",null),e([d({readOnly:!0})],O.prototype,"dataUpdating",void 0),e([d({readOnly:!0})],O.prototype,"running",void 0),e([d({readOnly:!0})],O.prototype,"updatingTotal",void 0),e([d({readOnly:!0})],O.prototype,"updatingRemaining",void 0),e([d({readOnly:!0})],O.prototype,"expectedFeatureDiff",void 0),e([d({readOnly:!0})],O.prototype,"memoryForUnusedFeatures",null),e([d({readOnly:!0})],O.prototype,"maximumNumberOfFeaturesExceeded",void 0),e([d({readOnly:!0})],O.prototype,"totalVertices",null),e([d({readOnly:!0})],O.prototype,"totalFeatures",null),e([d({readOnly:!0})],O.prototype,"hasAllFeatures",null),e([d({readOnly:!0})],O.prototype,"hasFullGeometries",null),e([d()],O.prototype,"filterExtent",null),e([d({constructOnly:!0})],O.prototype,"context",void 0),e([d()],O.prototype,"_dirty",void 0),e([d()],O.prototype,"_suspended",void 0),e([d()],O.prototype,"_pendingEdits",void 0),e([d()],O.prototype,"_applyEditsTilesUpdated",void 0),e([d()],O.prototype,"_paused",null),e([d()],O.prototype,"_isFetching",void 0),O=e([c("esri.views.3d.layers.support.FeatureTileFetcher3D")],O);const z=2e3,S=p(),L=p(),q=6e5,H=200;export{O as FeatureTileFetcher3D};
5
+ import{_ as e}from"../../../../chunks/tslib.es6.js";import t from"../../../../core/Accessor.js";import"../../../../core/has.js";import s from"../../../../core/Logger.js";import{getOrCreateMapValue as i}from"../../../../core/MapUtils.js";import{isAbortError as r,throwIfAborted as a}from"../../../../core/promiseUtils.js";import n from"../../../../core/ReactiveMap.js";import{on as o,watch as u}from"../../../../core/reactiveUtils.js";import{schedule as l}from"../../../../core/scheduling.js";import{signal as h}from"../../../../core/signal.js";import{property as d}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/RandomLCG.js";import{subclass as c}from"../../../../core/accessorSupport/decorators/subclass.js";import{create as p,equals as f,clone as _,expand as m,toExtent as g}from"../../../../geometry/support/aaBoundingRect.js";import{getObjectId as F,hasVertices as y}from"../../../../layers/graphics/dehydratedFeatures.js";import T from"../../../../rest/support/QuantizationParameters.js";import x from"../../../../rest/support/Query.js";import{ViewingMode as E}from"../../../ViewingMode.js";import{MultiFeatureReference as R,SingleFeatureReference as v}from"./featureReference.js";import{failedFeatureCount as C,FetchStatus as b,FeatureTile as D}from"./FeatureTile.js";import{tilesAreRelated as M}from"../../terrain/tileUtils.js";import{ImmediateTask as w,TaskPriority as U}from"../../../support/Scheduler.js";let O=class extends t{set maximumNumberOfFeatures(e){e=e||1/0;const t=this._get("maximumNumberOfFeatures");e===t||e<1||(this._set("maximumNumberOfFeatures",e),this._maximumFeaturesUpdated(t,e))}set memoryFactor(e){this.memoryFactor!==e&&(this._set("memoryFactor",e),this._setDirty())}set lodFactor(e){this.lodFactor!==e&&(this._set("lodFactor",e),this._supportsResolution&&this.refetch())}get useTileCount(){return this._useTileCount&&null!=this.context.query.queryFeatureCount}set useTileCount(e){this._useTileCount=e,this.notifyChange("useTileCount")}get updating(){return this._dirty||!!this._pendingEdits||this._isFetching||(this.tileDescriptors?.updating??!1)}get memoryForUnusedFeatures(){let e=0;return this._featureTiles.forEach((t=>e+=t.estimatedUnusedSize)),e}get totalVertices(){let e=0;return this._featureTiles.forEach((t=>e+=t.numVertices)),e}get totalFeatures(){let e=0;return this._featureTiles.forEach((t=>e+=t.numFeatures)),e}get hasAllFeatures(){if(this._paused||this.dataUpdating)return!1;for(const e of this._featureTiles.values())if(!this.hasFullGeometries&&0!==e.emptyFeatureRatio||!e.hasAllFeatures)return!1;return!0}get hasFullGeometries(){if(!this._supportsResolution)return!0;return this.tileDescriptors.some(j)||!this.context.capabilities.supportsQuantization&&"polyline"!==this.context.geometryType}set filterExtent(e){if(null!=e&&this.context.tilingScheme&&!e.spatialReference.equals(this.context.tilingScheme.spatialReference))return void s.getLogger(this).error("#filterExtent=","extent needs to be in the same spatial reference as the tiling scheme");const t=this._get("filterExtent");if(t===e||null!=t&&e&&t.equals(e))return;const i=null!=e?e.clone():null;this._set("filterExtent",i),this._reclip(i,t)}_updateTileZQuantization(e){if(this.context.viewingMode===E.Global){const t=e.computeZQuantizationFactor();this._zQuantizationFactor.value<t&&(this._zQuantizationFactor.value=t)}}get _tileZQuantization(){return this.context.isDraped?1:this._zQuantizationFactor.value}constructor(e){super(e),this._useTileCount=!1,this.dataUpdating=!1,this.running=!1,this.updatingTotal=0,this.updatingRemaining=0,this.expectedFeatureDiff=0,this.maximumNumberOfFeaturesExceeded=!1,this._fullRatio=1,this._farRatio=1,this._zQuantizationFactor=h(1),this._changes={updates:{adds:new Array,removes:new Array},adds:new Array,removes:new Array},this._frameTask=w,this._featureTiles=new n,this._displayingFeatureReferences=new Map,this._numDisplayingFeatureReferences=0,this._dirty=!1,this._suspended=!0,this._pendingEdits=null,this._applyEditsTilesUpdated=!1,this._isFetching=!1}initialize(){this.addHandles([o((()=>this.tileDescriptors),"change",(()=>this._setDirty()),{sync:!0,onListenerAdd:()=>this._setDirty()}),u((()=>this._tileZQuantization),(()=>this.refetch()))]),this._objectIdField=this.context.objectIdField,this.FeatureReferenceClass=this.context.capabilities.supportsMultipleResolutions?R:v;const e=this.context.scheduler;null!=e&&(this._frameTask=e.registerTask(U.FEATURE_TILE_FETCHER,this)),this._setDirty()}destroy(){this._frameTask.remove(),this._featureTiles.forEach((e=>{this._cancelFetchTile(e),this._removeTile(e)})),this._featureTiles.clear(),this._displayingFeatureReferences.clear(),this._pendingEdits?.controller.abort(),this._pendingEdits=null}get _paused(){return this._suspended||!!this._pendingEdits}restart(){this._featureTiles.forEach((e=>{this._cancelFetchTile(e),this._clearTile(e),this._resetFetchTile(e)})),null!=this.context.memoryCache&&this.context.memoryCache.clear(),this._setDirty()}refetch(){this._featureTiles.forEach((e=>{this._cancelFetchTile(e),this._resetFetchTile(e)})),null!=this.context.memoryCache&&this.context.memoryCache.clear(),this._setDirty()}suspend(){this._suspended||(this._suspended=!0,this._pause(),this._setDirty())}resume(){this._suspended&&(this._suspended=!1,this._unpause())}getMissingAttributesForFeature(e){for(const t of this._featureTiles.values()){const s=t.missingAttributes?.get(e);if(null!=s)return s}}_pause(){this._paused&&(this._featureTiles.forEach((e=>this._cancelFetchTile(e))),this._updated())}_unpause(){this._paused||this._setDirty()}get availableFields(){let e=null;return this._featureTiles.forEach((t=>{null!=t.displayingFeatures&&0!==t.displayingFeatures.length&&(null==e?e=new Set(t.availableFields):e.forEach((s=>{t.availableFields?.has(s)||e.delete(s)})))})),null!=e?e:new Set}applyEdits(e){this._pendingEdits||(this._pendingEdits={edits:Promise.resolve(),count:0,controller:new AbortController},this._pause());const t=this._pendingEdits;t.count++;const s=t.edits.then((()=>e.result.catch((e=>{if(r(e))throw e;return null})).then((e=>e?(this._applyEditsDeleteFeatures(e.deletedFeatures),this._applyEditsAddUpdateFeatures(e.addedFeatures,e.updatedFeatures,t.controller.signal).then((()=>e))):e)).then((e=>(0==--t.count&&(this._pendingEdits===t&&(this._pendingEdits=null),null!=this.context.memoryCache&&this.context.memoryCache.clear(),this._applyEditsTilesUpdated=!1,this._unpause()),e)))));return t.edits=s,this._updated(),s}_applyEditsDeleteFeatures(e){if(0===e.length)return;const t=this.context.globalIdField,i=t&&this.availableFields.has(t),r=new Set,a=this._objectIdField;e.forEach((({objectId:e,globalId:n})=>{(!e||e<0)&&t&&n&&(i||s.getLogger(this).errorOncePerTick(`Editing the specified service requires the layer's globalIdField, ${t} to be included the layer's outFields for updates to be reflected in the view`),e=this._objectIdFromGlobalId(n,a,t)),null!=e&&e>=0&&r.add(e)})),this._featureTiles.forEach((e=>{if(!e.features)return;const t=e.features.filter((e=>!r.has(F(e,this._objectIdField))));t.length!==e.features.length&&(this._applyEditsTileUpdated(),e.setFeatures(t,0,e.availableFields,e.missingAttributes),this._updateTileZQuantization(e),this._invalidateCounts())}))}_objectIdFromGlobalId(e,t,s){if(null==e)return null;const i=this.features.find((t=>t.attributes?.[s]===e));return i?F(i,t):null}async _applyEditsAddUpdateFeatures(e,t,i){const{objectIdField:r,globalIdField:a}=this.context,n=a&&this.availableFields.has(a),o=new Set,u=new Set;for(const s of e){const e=s.objectId;null!=e&&o.add(e)}for(const{objectId:h,globalId:d}of t){let e=h;(null==e||e<0)&&a&&(n||s.getLogger(this).errorOncePerTick(`Editing the specified service requires the layer's globalIdField, ${a} to be included the layer's outFields for updates to be reflected in the view`),e=this._objectIdFromGlobalId(d,r,a)),null!=e&&e>=0&&(o.add(e),u.add(e))}if(0===o.size)return;const l=[];this._featureTiles.forEach((e=>{const t=this._applyEditsAddUpdateTile(e,o,u,i);t&&l.push(t)})),this._updated(),await Promise.allSettled(l)}async _applyEditsAddUpdateTile(e,t,s,i){if(!e.features)return;const r=this._createQuery(e);r.resultType=void 0,r.cacheHint=!1,r.objectIds=Array.from(t);const a=await this._queryFeatures(r,i);let n=null;if(s.size>0){const t=e.features.filter((e=>!s.has(F(e,this._objectIdField))));t.length!==e.features.length&&(n=t)}if(a.features.length>0){n||(n=e.features.slice());for(const e of a.features)n.push(e)}n&&(e.hasPreciseFeatureCount&&(e.numFeatures=Math.max(e.numFeatures,n.length)),this._applyEditsTileUpdated(),e.setFeatures(n,0,N(e.availableFields,a.fields),Q(e.missingAttributes,a.missingAttributes)),this._updateTileZQuantization(e),this._invalidateCounts())}_applyEditsTileUpdated(){this._applyEditsTilesUpdated||(this._applyEditsTilesUpdated=!0,this._updated())}_queryFeatures(e,t){return this.context.query.queryFeaturesDehydrated(e,{signal:t,timeout:q})}_setDirty(){this._dirty=!0,this._updated()}runTask(e){const t=this._frameTask.processQueue(e);if(!this._dirty||!this.initialized)return t;this._dirty=!1;const s=this._getListOfTiles();if(this._markTilesNotAlive(s),!e.run((()=>this._addTiles(s,e)))||!e.run((()=>this._filterExtentTiles(s,e)))||!e.run((()=>this._removeTiles(s,e)))||e.done)return void this._setDirty();const i=this._sortTiles(s);e.run((()=>this._showTiles(i,e)))&&e.run((()=>this._fetchTiles(i,e)))&&e.run((()=>this._updateMemoryEstimates(i,e)))||this._setDirty(),this._updated(),this.updating||this._updateMaximumNumberOfFeaturesExceeded()}_markTilesNotAlive(e){for(const t of e)t.alive=!1}_addTiles(e,t){return!(this._suspended||!this.tileDescriptors)&&(this.tileDescriptors.forEach((s=>{const i=this._featureTiles.get(s.id);i?i.alive=!0:t.done||(e.push(this._addTile(s)),t.madeProgress())})),t.hasProgressed)}_filterExtentTiles(e,t){for(const s of e){if(t.done)break;s.alive&&(s.filtered=!s.intersects(this.filterExtent),s.filtered&&(this._clearTile(s),t.madeProgress()))}return t.hasProgressed}_removeTiles(e,t){for(let s=e.length-1;s>=0&&!t.done;s--){const i=e[s];i.alive||(this._removeTile(i),s!==e.length-1&&(e[s]=e[e.length-1]),e.pop(),t.madeProgress())}return t.hasProgressed}_sortTiles(e){return e.sort(((e,t)=>e.descriptor.loadPriority-t.descriptor.loadPriority)),e}_showTiles(e,t){const s=this._updateRatio(e),i=e=>{const t=this._fullRatio<1?s(e)*this._farRatio:1;return e.reduceFeatures(t,this.memoryFactor,this._objectIdField)&&this._setDirty(),(e.features?.length??0)>0&&e.fetchingResolution!==e.descriptor.resolution&&e.fetchStatus===b.DONE&&(e.fetchStatus=b.REFETCH_NEEDED,this._setDirty()),this._showTile(e)};for(const r of e)if(!t.run((()=>i(r)))){this._setDirty();break}return t.hasProgressed}_fetchTiles(e,t){if(this._paused)return!1;let i=!1;for(const s of e){if(!s.needsFetching)continue;const e=null!=this.context.memoryCache?this.context.memoryCache.pop(s.id):null;if(null==e){if(this._needsNumFeatures(s)){const e=new AbortController,r=this._fetchTileCount(s,e.signal);this._handleRequest(s,r,e,(()=>s.numFeatures=C)),i=!0,t.madeProgress()}if(t.done)return!0}else s.cache=e,s.numFeatures&&this._notifyDataUpdating(),this._setDirty(),this._scheduleUpdated(),t.madeProgress()}if(i)return t.hasProgressed;for(const r of e)if(r.needsFetching){const e=new AbortController,i=this._fetchTile(r,e.signal);if(this._handleRequest(r,i,e,(e=>{r.setFeatures([],0,null,void 0),this._invalidateCounts(),r.featuresMissing=!1,r.fetchFailed=!0,this.context.logFetchError(s.getLogger(this),e)})),t.madeProgress())return!0}return t.hasProgressed}_updateMemoryEstimates(e,t){return e.some((e=>!t.run((()=>e.updateMemoryEstimates()))&&(this._setDirty(),!0))),t.hasProgressed}_reclip(e,t){if(!this.initialized)return;const s=new Array;this._featureTiles.forEach((i=>{null!=i.displayingFeatures&&0!==i.displayingFeatures.length&&(i.intersectionIncludingBorrowed(t,S),i.intersectionIncludingBorrowed(e,L),f(S,L)||s.push(i))})),this._refreshDisplayingFeatures(s),this._updated()}_refreshDisplayingFeatures(e){const t=new Set,s=this._changes.updates;for(const i of e)if(null!=i.displayingFeatures)for(const e of i.displayingFeatures){const i=F(e,this._objectIdField);if(t.has(i))continue;t.add(i);const r=this._displayingFeatureReferences.get(i).feature;s.removes.push(r),s.adds.push(r)}this._applyChanges()}_updated(){let e=0;if(this._paused||this._featureTiles.forEach((t=>t.isFetching?++e:0)),this._isFetching=e>0,this._set("running",this._dirty),e>0||this._applyEditsTilesUpdated?this._notifyDataUpdating():this._dirty||this._set("dataUpdating",!1),this.updating){let t=0,s=0,i=0,r=0,a=0;const n=this._displayingFeatureReferences.size/this._numDisplayingFeatureReferences;this._featureTiles.forEach((e=>{if(++s,e.isFetching&&e.hasPreciseFeatureCount){const t=this._maximumFeaturesForTile(e)*(1-e.emptyFeatureRatio),s=null!=e.displayingFeatures?e.displayingFeatures.length*n:0;a+=t-s}e.needsFetching?++r:e.numFeatures>0&&(++i,t+=e.numFeatures)})),r+=e;let o=0,u=0;t?(u=t,o=Math.min(r*t/i,t)):(u=s,o=r),a=Math.min(this.maximumNumberOfFeatures-this.features.length,a),this._set("updatingTotal",u),this._set("updatingRemaining",o),this._set("expectedFeatureDiff",a)}else this._set("updatingTotal",0),this._set("updatingRemaining",0),this._set("expectedFeatureDiff",0);this.debugger&&this.debugger.update()}_updateMaximumNumberOfFeaturesExceeded(){for(const{perTileMaximumNumberOfFeaturesExceeded:e}of this._featureTiles.values())if(e)return void this._set("maximumNumberOfFeaturesExceeded",!0);this._set("maximumNumberOfFeaturesExceeded",!1)}_updateRatio(e){const t=A(e),s=e=>1/(1<<Math.max(0,t-e.descriptor.lij[0]));let i=0,r=0;for(const a of e){const e=a.numFeatures;i+=e,r+=e*s(a)}return this._fullRatio=Math.min(1,this.maximumNumberOfFeatures/i),this._farRatio=this.maximumNumberOfFeatures/r,this._scheduleUpdated(),s}_maximumFeaturesUpdated(e,t){e!==t&&(t>e&&this._featureTiles.forEach((e=>{if(!e.featuresMissing)return;const t=this._maximumFeaturesForTile(e);e.features&&(e.features.length>=t||e.fetchStatus===b.FULL)||(this._cancelFetchTile(e),this._resetFetchTile(e))})),this._setDirty())}_addTile(e){const t=new D(e);return this._featureTiles.set(t.id,t),this._resetFetchTile(t),this._referenceDisplayingFeaturesFromRelatedTiles(t),t}_referenceDisplayingFeaturesFromRelatedTiles(e){const t=e.displayingResolution;this._featureTiles.forEach((s=>{if(null!=s.displayingFeatures&&e!==s&&M(e.descriptor.lij,s.descriptor.lij)){null==e.displayingFeatures&&(e.displayingFeatures=[]),e.descriptor.extent&&s.descriptor.extent&&(null==e.extentIncludingBorrowedFeatures&&(e.extentIncludingBorrowedFeatures=_(e.descriptor.extent)),m(e.extentIncludingBorrowedFeatures,s.descriptor.extent,e.extentIncludingBorrowedFeatures));for(const i of s.displayingFeatures){e.displayingFeatures.push(i);const s=this._displayingFeatureReferences.get(F(i,this._objectIdField));s.ref(s.feature,t),this._numDisplayingFeatureReferences++}}})),e.featureLimit=null!=e.displayingFeatures?e.displayingFeatures.length:0}_removeTile(e){this._clearTile(e),this._featureTiles.delete(e.id)}_resetFetchTile(e){e.filtered=!e.intersects(this.filterExtent),e.filtered?e.needsFetching&&(e.fetchStatus=b.DONE):e.fetchStatus=b.FETCH_NEEDED}_cancelFetchTile(e){const t=e.requestController;null!=t&&(e.requestController=null,e.resetFetching(),t.abort())}async _fetchTileCount(e,t){return e.numFeatures=await this._fetchCount(e,t),this._updateRatio(this._getListOfTiles()),e.fetchStatus===b.REFETCHING?b.REFETCH_NEEDED:b.FETCH_NEEDED}async _fetchTile(e,t){e.fetchFailed=!1;const s=this._maximumFeaturesForTile(e);if(s<=0)return e.hasPreciseFeatureCount&&0===e.numFeatures||(e.fetchFailed=!0),I(e);const i=this._getMaxRecordCount(e),r=Math.ceil(s/i);if(j(e)||!this.context.capabilities.supportsMaxRecordCountFactor||e.numFeatures<=s&&r>x.MAX_MAX_RECORD_COUNT_FACTOR)return this._fetchPagedTile(e,t);e.fetchingResolution=e.descriptor.resolution;const n=this._createQuery(e);if(n.maxRecordCountFactor=r,e.isRefetching&&e.features&&e.features.length>0){const t=Math.ceil(e.features.length/(1-e.emptyFeatureRatio)/i);n.maxRecordCountFactor=Math.max(t+1,n.maxRecordCountFactor)}const{features:o,exceededTransferLimit:u,fields:l,missingAttributes:h}=await this._queryFeatures(n,t),d=u?n.maxRecordCountFactor>=x.MAX_MAX_RECORD_COUNT_FACTOR?b.FULL:b.DONE:b.FULL;return await this._frameTask.schedule((()=>{e.featuresMissing=e.hasPreciseFeatureCount&&o.length<e.numFeatures||!!u;const t=this._removeEmptyFeatures(o);e.setFeatures(o,t,P(l),Q(void 0,h)),this._updateTileZQuantization(e)}),t),a(t),this._invalidateCounts(),d}async _fetchCount(e,t){return this.context.query.queryFeatureCount(this._createFeatureCountQuery(e),{signal:t})}async _fetchPagedTile(e,t){let s,i=0,r=0,n=0,o=this._maximumFeaturesForTile(e)-n;const u=this._getMaxRecordCount(e);let l,h=null;for(;;){const d=this._createQuery(e),c=this._setPagingParameters(d,i,o,u),{features:p,exceededTransferLimit:f,fields:_,missingAttributes:m}=await this._queryFeatures(d,t);if(await this._frameTask.schedule((()=>{c&&(i+=d.num),n+=p.length,r+=this._removeEmptyFeatures(p),e.featuresMissing=c&&e.hasPreciseFeatureCount&&i<e.numFeatures||!!f,s=s?s.concat(p):p,h=N(h,_),l=Q(l,m),e.setFeatures(s,r,h,l),this._updateTileZQuantization(e)}),t),a(t),this._invalidateCounts(),this._setDirty(),o=this._maximumFeaturesForTile(e)-n,!c||!f||o<=0)return f?b.DONE:b.FULL}}_createFeatureCountQuery(e){const t=this._createQuery(e);return this.context.capabilities.supportsCacheHint&&(t.resultType=void 0,t.cacheHint=!0),t}_createQuery(e){const t=this.context.createQuery();return j(e)||(t.geometry=g(e.descriptor.extent,this.context.tilingScheme.spatialReference)),this._setResolutionParams(t,e),this._useTileQuery(e)?t.resultType="tile":this.context.capabilities.supportsCacheHint&&(t.cacheHint=!0),t}_setPagingParameters(e,t,s,i){return!!this.context.capabilities.supportsPagination&&(e.start=t,s>0&&this.context.capabilities.supportsMaxRecordCountFactor?(e.maxRecordCountFactor=Math.ceil(s/i),e.num=Math.min(e.maxRecordCountFactor*i,s)):e.num=Math.min(i),!0)}_getEffectiveTileResolution(e){if(j(e))return null;const t=this.context.viewingMode===E.Global?this.context.tilingScheme.resolutionAtLevel(3):1/0;return Math.min(e.fetchingResolution,t)/this.lodFactor/this._tileZQuantization}get _supportsResolution(){return this.context.capabilities.supportsMultipleResolutions&&"point"!==this.context.geometryType}_setResolutionParams(e,t){if(!this._supportsResolution)return;const s=this._getEffectiveTileResolution(t);null!=s&&(this.context.capabilities.supportsQuantization?e.quantizationParameters=new T({mode:"view",originPosition:"upper-left",tolerance:s,extent:this.context.fullExtent}):"polyline"===this.context.geometryType&&(e.maxAllowableOffset=s))}_removeEmptyFeatures(e){const t=e.length;for(let s=0;s<e.length;){const t=e[s];y(t.geometry)?++s:(e[s]=e[e.length-1],--e.length)}return t-e.length}_needsNumFeatures(e){return this.useTileCount&&e.needsFeatureCount&&!j(e)}_getMaxRecordCount(e){const{tileMaxRecordCount:t,maxRecordCount:s}=this.context;return this._useTileQuery(e)&&null!=t&&t>0&&this.context.capabilities.supportsResultType?t:null!=s&&s>0?s:z}_useTileQuery(e){return(!j(e)||!this.context.capabilities.supportsCacheHint)&&this.context.capabilities.supportsResultType}_handleRequest(e,t,s,i){e.fetchStatus=e.needsRefetching?b.REFETCHING:b.FETCHING,e.requestController=s;let a=!1;t.then((t=>{e.requestController=null,e.fetchStatus=t})).catch((t=>{e.requestController===s&&(e.requestController=null,e.fetchStatus=b.DONE),r(t)?a=!0:i(t)})).then((()=>{a||this._setDirty(),this._scheduleUpdated()}))}_scheduleUpdated(){this.hasHandles("scheduleUpdated")||this.addHandles(l((()=>{this.removeHandles("scheduleUpdated"),this._updated()})),"scheduleUpdated")}_showTile(e){if(null!=e.displayingFeatures&&!e.needsDisplayUpdate)return!1;const{features:t}=e;if(0===e.featureLimit||!t){const t=null!=e.displayingFeatures&&e.displayingFeatures.length>0;return this._hideTileFeatures(e),e.displayingFeatures=[],t}const s=e.fetchingResolution,{adds:i,updates:r}=this._changes,a=Math.min(e.featureLimit,t.length);e.featureLimit=a;for(let n=0;n<a;++n){const e=t[n],a=F(e,this._objectIdField),o=this._displayingFeatureReferences.get(a);if(o){const{oldVersion:t,newVersion:i}=o.ref(e,s);t!==i&&(t&&r.removes.push(t),i&&r.adds.push(i))}else this._displayingFeatureReferences.set(a,new this.FeatureReferenceClass(e,s)),i.push(e);this._numDisplayingFeatureReferences++}return this._hideTileFeatures(e),e.displayingResolution=e.fetchingResolution,this._applyChanges(),e.displayingFeatures=t.slice(0,a),!0}_hideTile(e){this._cancelFetchTile(e),this._hideTileFeatures(e)}_hideTileFeatures(e){if(null==e.displayingFeatures)return;const{updates:t,removes:s}=this._changes;for(const i of e.displayingFeatures){const r=F(i,this._objectIdField),a=this._displayingFeatureReferences.get(r);if(!a)continue;const{oldVersion:n,newVersion:o}=a.unref(e.displayingResolution);this._numDisplayingFeatureReferences--,n!==o&&(null==o?(this._displayingFeatureReferences.delete(r),n&&s.push(n)):(t.adds.push(o),n&&t.removes.push(n)))}this._applyChanges(),e.displayingFeatures=null}_notifyDataUpdating(){this._get("dataUpdating")||this._set("dataUpdating",!0)}_applyChanges(){const e=this._changes.updates;e.removes.length>0&&(this._notifyDataUpdating(),this.features.removeMany(e.removes),e.removes.length=0),e.adds.length>0&&(this._notifyDataUpdating(),this.features.addMany(e.adds),e.adds.length=0);const t=this._changes.adds,s=this._changes.removes,i=Math.min(t.length,s.length);let r=0;for(;r<i;){const e=Math.min(r+H,i);this._notifyDataUpdating(),this.features.addMany(t.slice(r,e)),this.features.removeMany(s.slice(r,e)),r=e}t.length>i&&(this._notifyDataUpdating(),this.features.addMany(0===r?t:t.slice(r))),s.length>i&&(this._notifyDataUpdating(),this.features.removeMany(0===r?s:s.slice(r))),t.length=0,s.length=0}_clearTile(e){this._hideTile(e),e.features&&null!=this.context.memoryCache&&this.context.memoryCache.put(e.id,e.cache),e.setFeatures(null,0,null,void 0),this._invalidateCounts()}_invalidateCounts(){this.notifyChange("totalVertices"),this.notifyChange("totalFeatures"),this.notifyChange("memoryForUnusedFeatures")}_getListOfTiles(){return Array.from(this._featureTiles.values())}get storedFeatures(){return this._getListOfTiles().reduce(((e,t)=>e+(t.features?t.features.length:0)),0)}get missingTiles(){return Array.from(this._featureTiles.values()).reduce(((e,t)=>e+(t.needsFetching||t.isFetching?1:0)),0)}_maximumFeaturesForTile(e){const t=e.hasPreciseFeatureCount?e.numFeatures:1/0,s=e.hasPreciseFeatureCount?t:this.maximumNumberOfFeatures,i=this._fullRatio<1?this._farRatio:1;return Math.min(Math.ceil(s*i/(1-e.emptyFeatureRatio)),t)}get test(){}};function j(e){return"dummy-tile-full-extent"===e.id}function A(e){let t=0;for(const s of e)s.features&&s.features.length>0&&s.alive&&(t=Math.max(t,s.descriptor.lij[0]));return t}function I(e){return e.setFeatures([],0,null,void 0),e.featuresMissing=!1,b.DONE}function P(e){return null==e?new Set:new Set(e.map((e=>e.name)))}function N(e,t){if(null==e||null==t)return P(t);const s=new Set;for(const{name:i}of t)e.has(i)&&s.add(i);return s}function Q(e,t){if(!t?.length)return e;e??=new Map;const s=()=>new Set;for(const{objectId:r,attribute:a}of t)i(e,r,s).add(a);return e}e([d({constructOnly:!0})],O.prototype,"features",void 0),e([d()],O.prototype,"tileDescriptors",void 0),e([d({value:1/0})],O.prototype,"maximumNumberOfFeatures",null),e([d({value:1})],O.prototype,"memoryFactor",null),e([d({value:1})],O.prototype,"lodFactor",null),e([d()],O.prototype,"useTileCount",null),e([d({readOnly:!0})],O.prototype,"updating",null),e([d({readOnly:!0})],O.prototype,"dataUpdating",void 0),e([d({readOnly:!0})],O.prototype,"running",void 0),e([d({readOnly:!0})],O.prototype,"updatingTotal",void 0),e([d({readOnly:!0})],O.prototype,"updatingRemaining",void 0),e([d({readOnly:!0})],O.prototype,"expectedFeatureDiff",void 0),e([d({readOnly:!0})],O.prototype,"memoryForUnusedFeatures",null),e([d({readOnly:!0})],O.prototype,"maximumNumberOfFeaturesExceeded",void 0),e([d({readOnly:!0})],O.prototype,"totalVertices",null),e([d({readOnly:!0})],O.prototype,"totalFeatures",null),e([d({readOnly:!0})],O.prototype,"hasAllFeatures",null),e([d({readOnly:!0})],O.prototype,"hasFullGeometries",null),e([d()],O.prototype,"filterExtent",null),e([d({constructOnly:!0})],O.prototype,"context",void 0),e([d()],O.prototype,"_dirty",void 0),e([d()],O.prototype,"_suspended",void 0),e([d()],O.prototype,"_pendingEdits",void 0),e([d()],O.prototype,"_applyEditsTilesUpdated",void 0),e([d()],O.prototype,"_paused",null),e([d()],O.prototype,"_isFetching",void 0),O=e([c("esri.views.3d.layers.support.FeatureTileFetcher3D")],O);const z=2e3,S=p(),L=p(),q=6e5,H=200;export{O as FeatureTileFetcher3D};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import e from"../../../../Color.js";import t from"../../../../Graphic.js";import"../../../../symbols.js";import i from"../../../../core/Collection.js";import s from"../../../../geometry/Polygon.js";import o from"../../../../symbols/FillSymbol3DLayer.js";import r from"../../../../symbols/PointSymbol3D.js";import a from"../../../../symbols/PolygonSymbol3D.js";import l from"../../../../symbols/TextSymbol3DLayer.js";import n from"../../../../symbols/support/Symbol3DVerticalOffset.js";import{TilingScheme as h}from"../../terrain/TilingScheme.js";import c from"../../../../symbols/callouts/LineCallout3D.js";import m from"../../../../symbols/callouts/LineCallout3DBorder.js";const p=[[0,179,255],[117,62,128],[0,104,255],[215,189,166],[32,0,193],[98,162,206],[102,112,129],[52,125,0],[142,118,246],[138,83,0],[92,122,255],[122,55,83],[0,142,255],[81,40,179],[0,200,244],[13,24,127],[0,170,147],[19,58,241],[22,44,35]];class y{constructor(e,t,s){this._loadingGraphics=new Map,this._loadedGraphics=new Map,this._pendingGraphics=new Map,this._dataExtentGraphic=null,this._enabled=!0,this._tileFetcher=e,this._view=s,this._tilingScheme=new h(t),this._loadedSymbols=p.map((e=>new a({symbolLayers:new i([new o({material:{color:[e[0],e[1],e[2],.6]},outline:{color:"black",size:1}})])}))),this._loadingSymbols=[new a({symbolLayers:new i([new o({material:{color:[200,200,200,.4]},outline:{color:[30,30,30],size:1}})])})],this._pendingSymbols=[new a({symbolLayers:new i([new o({material:{color:[100,100,100,.4]},outline:{color:[30,30,30],size:1}})])})],this._dataExtentSymbol=new a({symbolLayers:new i([new o({material:{color:[0,0,0,0]},outline:{color:"green",size:4}})])})}destroy(){this.enabled=!1}get enabled(){return this._enabled}set enabled(e){this._enabled=e,this.update()}update(){this._enabled?(this._synchronizeMaps(this._loadingGraphics,{filter:e=>e.isFetching,symbols:this._loadingSymbols}),this._synchronizeMaps(this._loadedGraphics,{filter:e=>!e.isFetching,symbols:this._loadedSymbols}),this._synchronizeMaps(this._pendingGraphics,{filter:e=>!e.isFetching,symbols:this._pendingSymbols}),this.showDataExtent(this._tileFetcher.filterExtent)):(this._loadingGraphics.forEach((e=>{this._view.graphics.removeMany(e)})),this._loadingGraphics.clear(),this._loadedGraphics.forEach((e=>{this._view.graphics.removeMany(e)})),this._loadedGraphics.clear(),this._pendingGraphics.forEach((e=>{this._view.graphics.removeMany(e)})),this._pendingGraphics.clear(),this._dataExtentGraphic&&(this._view.graphics.remove(this._dataExtentGraphic),this._dataExtentGraphic=null))}showDataExtent(e){if(this._dataExtentGraphic&&(this._view.graphics.remove(this._dataExtentGraphic),this._dataExtentGraphic=null),null==e)return;const i=s.fromExtent(e);this._dataExtentGraphic=new t({geometry:i,symbol:this._dataExtentSymbol}),this._view.graphics.add(this._dataExtentGraphic)}_synchronizeMaps(s,o){const a=[];s.forEach(((e,t)=>{const i=this._tileFetcher.test.getFeatureTileById(t);i&&o.filter(i)||(this._view.graphics.removeMany(e),a.push(t))})),a.forEach((e=>s.delete(e))),this._tileFetcher.test.forEachFeatureTile((a=>{if(o.filter(a)&&!s.has(a.id)){const[h,p,y]=a.descriptor.lij;this._tilingScheme.ensureMaxLod(h);const d=this._tilingScheme.getExtentGeometry(h,p,y),_=[new t({geometry:d,symbol:o.symbols[h%o.symbols.length]}),new t({geometry:d.center,symbol:new r({verticalOffset:new n({screenLength:40/.75}),callout:new c({color:new e("white"),border:new m({color:new e("black")})}),symbolLayers:new i([new l({text:`${h}/${p}/${y}`,halo:{color:"white",size:1/.75},material:{color:"black"},size:16})])})})];s.set(a.id,_),this._view.graphics.addMany(_)}}))}}export{y as FeatureTileFetcher3DDebugger};
5
+ import e from"../../../../Color.js";import t from"../../../../Graphic.js";import i from"../../../../core/Collection.js";import s from"../../../../geometry/Polygon.js";import o from"../../../../symbols/FillSymbol3DLayer.js";import r from"../../../../symbols/PointSymbol3D.js";import a from"../../../../symbols/PolygonSymbol3D.js";import l from"../../../../symbols/TextSymbol3DLayer.js";import n from"../../../../symbols/callouts/LineCallout3D.js";import h from"../../../../symbols/callouts/LineCallout3DBorder.js";import c from"../../../../symbols/support/Symbol3DVerticalOffset.js";import{TilingScheme as m}from"../../terrain/TilingScheme.js";const p=[[0,179,255],[117,62,128],[0,104,255],[215,189,166],[32,0,193],[98,162,206],[102,112,129],[52,125,0],[142,118,246],[138,83,0],[92,122,255],[122,55,83],[0,142,255],[81,40,179],[0,200,244],[13,24,127],[0,170,147],[19,58,241],[22,44,35]];class y{constructor(e,t,s){this._loadingGraphics=new Map,this._loadedGraphics=new Map,this._pendingGraphics=new Map,this._dataExtentGraphic=null,this._enabled=!0,this._tileFetcher=e,this._view=s,this._tilingScheme=new m(t),this._loadedSymbols=p.map((e=>new a({symbolLayers:new i([new o({material:{color:[e[0],e[1],e[2],.6]},outline:{color:"black",size:1}})])}))),this._loadingSymbols=[new a({symbolLayers:new i([new o({material:{color:[200,200,200,.4]},outline:{color:[30,30,30],size:1}})])})],this._pendingSymbols=[new a({symbolLayers:new i([new o({material:{color:[100,100,100,.4]},outline:{color:[30,30,30],size:1}})])})],this._dataExtentSymbol=new a({symbolLayers:new i([new o({material:{color:[0,0,0,0]},outline:{color:"green",size:4}})])})}destroy(){this.enabled=!1}get enabled(){return this._enabled}set enabled(e){this._enabled=e,this.update()}update(){this._enabled?(this._synchronizeMaps(this._loadingGraphics,{filter:e=>e.isFetching,symbols:this._loadingSymbols}),this._synchronizeMaps(this._loadedGraphics,{filter:e=>!e.isFetching,symbols:this._loadedSymbols}),this._synchronizeMaps(this._pendingGraphics,{filter:e=>!e.isFetching,symbols:this._pendingSymbols}),this.showDataExtent(this._tileFetcher.filterExtent)):(this._loadingGraphics.forEach((e=>{this._view.graphics.removeMany(e)})),this._loadingGraphics.clear(),this._loadedGraphics.forEach((e=>{this._view.graphics.removeMany(e)})),this._loadedGraphics.clear(),this._pendingGraphics.forEach((e=>{this._view.graphics.removeMany(e)})),this._pendingGraphics.clear(),this._dataExtentGraphic&&(this._view.graphics.remove(this._dataExtentGraphic),this._dataExtentGraphic=null))}showDataExtent(e){if(this._dataExtentGraphic&&(this._view.graphics.remove(this._dataExtentGraphic),this._dataExtentGraphic=null),null==e)return;const i=s.fromExtent(e);this._dataExtentGraphic=new t({geometry:i,symbol:this._dataExtentSymbol}),this._view.graphics.add(this._dataExtentGraphic)}_synchronizeMaps(s,o){const a=[];s.forEach(((e,t)=>{const i=this._tileFetcher.test.getFeatureTileById(t);i&&o.filter(i)||(this._view.graphics.removeMany(e),a.push(t))})),a.forEach((e=>s.delete(e))),this._tileFetcher.test.forEachFeatureTile((a=>{if(o.filter(a)&&!s.has(a.id)){const[m,p,y]=a.descriptor.lij;this._tilingScheme.ensureMaxLod(m);const d=this._tilingScheme.getExtentGeometry(m,p,y),_=[new t({geometry:d,symbol:o.symbols[m%o.symbols.length]}),new t({geometry:d.center,symbol:new r({verticalOffset:new c({screenLength:40/.75}),callout:new n({color:new e("white"),border:new h({color:new e("black")})}),symbolLayers:new i([new l({text:`${m}/${p}/${y}`,halo:{color:"white",size:1/.75},material:{color:"black"},size:16})])})})];s.set(a.id,_),this._view.graphics.addMany(_)}}))}}export{y as FeatureTileFetcher3DDebugger};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import{clamp as e}from"../../../../core/mathUtils.js";import{H as t,i,n as r,f as o,h as s,c as a,G as l,b as n}from"../../../../chunks/vec32.js";import{create as c,freeze as h,ZEROS as u}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{distance as m}from"../../../../geometry/support/aaBoundingRect.js";import{intersectsRay as d,intersectsPoint as f}from"../../../../geometry/support/frustum.js";import{fromValues as p}from"../../../../geometry/support/ray.js";import{ViewingMode as _}from"../../../ViewingMode.js";import{Visibility as M}from"./FeatureTileDescriptor.js";import{FeatureTileVisibility3D as S,globalTileLevelThreshold as b}from"./FeatureTileVisibility3D.js";import v from"../../webgl/RenderCamera.js";class g{constructor(e){this._camera=new v,this._focusOnMap=[0,0],this._renderCoordsHelper=e.renderCoordsHelper,this._tilingScheme=e.tilingScheme,this._visibility=new S(e.renderCoordsHelper,e.getIsGroundOpaque)}begin(e,t,i){this._camera.copyFrom(e),this._surfaceElevation=i,this._focusOnMap[0]=t.x,this._focusOnMap[1]=t.y,this._visibility.begin(this._camera)}end(){this._visibility.end()}updateTile(e){const{measures:t}=e;t.visibility=this._visibility.calculate(e),t.distance=m(e.extent,this._focusOnMap),t.visibility!==M.INVISIBLE&&this._updateSplitDecisionAndLod(e)}_calculateTileShouldSplitGlobal(e){const l=e.level;if(l<=b)return e.measures.lodLevel=l,!0;const n=this._renderCoordsHelper,c=this._camera,{eye:h,fov:u}=c,m=n.referenceEllipsoid.radius,d=t(h)-m;if(2*Math.atan(m/d)<u&&d>0)return e.measures.lodLevel=l,!1;const f=y,{extent:p}=e,{_surfaceElevation:_}=this;i(f[0],p[0],p[1],_),i(f[1],p[2],p[1],_),i(f[2],p[2],p[3],_),i(f[3],p[0],p[3],_);const M=i(C,.5*(p[0]+p[2]),.5*(p[1]+p[3]),_),S=this._tilingScheme.spatialReference;for(let t=0;t<4;++t)n.toRenderCoords(f[t],S,f[t]);n.toRenderCoords(M,S,M);const v=r(j,M),g=o(h,v),T=s(x,v,g),R=t(h)-m;return a(L.origin,G),a(L.direction,v),this._calculateTileShouldSplitCommon(e,f,M,L,R,T)}_calculateTileShouldSplitLocal(e){const t=y,{extent:r}=e,{_surfaceElevation:o}=this;i(t[0],r[0],r[1],o),i(t[1],r[2],r[1],o),i(t[2],r[2],r[3],o),i(t[3],r[0],r[3],o);const s=this._tilingScheme.spatialReference;for(let i=0;i<4;++i)this._renderCoordsHelper.toRenderCoords(t[i],s,t[i]);const l=i(C,.5*(t[0][0]+t[2][0]),.5*(t[0][1]+t[2][1]),.25*(t[0][2]+t[1][2]+t[2][2]+t[3][2])),n=i(j,l[0],l[1],0),{eye:c,far:h}=this._camera,u=i(x,n[0],n[1],c[2]),m=c[2];i(L.origin,n[0],n[1],c[2]-2*h),a(L.direction,T);const d=c[2]-2*h;return this._calculateTileShouldSplitCommon(e,t,l,L,m,u,R,d)}_calculateTileShouldSplitCommon(t,i,r,s,a,h,u,m){const _=Math.max(l(i[0],i[2]),l(i[1],i[3]),l(i[0],r)+l(r,i[2])),M=this._camera,{eye:S,near:b,far:v,fovY:g,viewForward:y}=M,C=e(o(s.direction,y),.1,1),j=o(S,y),x=o(r,y)-j,T=2*Math.tan(.5*g),R=e=>e<=b?1:1/(e*T),G=Math.abs(a)/_,L=R(x),E=t.lij[0],O=l(S,r);let D=0,F=1/0;for(const e of i){const t=l(S,e);F=Math.min(F,t),D=Math.max(D,t)}const{perScreenPixelRatio:I}=M,V=e=>Math.max(0,E-2,E+Math.ceil(Math.log2(.002*e/I))),A=1,B=300*e(C,.1,1),k=.8,q=.7,N=l(h,S)>q*_,P=x<b,Q=e=>A*_/e,U=V(N?Q(O):P?B*_/Math.abs(a):k*L*_),Y=U+(F-b>.33*(v-b)?-1:0);if(t.measures.lodLevel=Math.max(1,Y),E+2<Y)return!0;if(E>=Y)return!1;const{frustum:z}=M,J=G<w;if(l(h,S)<b)return J;const K=d(z,s);if(N){const e=V(Q(F)),t=V(Q(D));if(Math.abs(e-t)>2||Math.abs(U-t)>2||Math.abs(U-e)>2)return!0}else{const e=l(S,r),t=.5*_/Math.SQRT2;if(E<=Y+3||e/t>.6)return!0}if(!this.isGlobalMode&&N&&u&&void 0!==m){let e=0;for(let t=0;t<4;++t){const r=u[t],o=m,s=c();n(s,i[t],r,o);const a=p(s,r);d(z,a)&&++e}if(e>=3||e>=2&&K)return!1;if(e<=2&&!K&&E<U+1)return!0}const W=f(z,r);let X=0;for(let e=0;e<4;++e){const t=i[e];X+=f(z,t)?1:0}if(W&&X>=2)return!1;if(!W&&!K&&X<=1&&E<Y)return J;let Z=x;for(let e=0;e<4;++e){const t=i[e],r=o(t,y)-j;Z=Math.min(Z,r)}if(Z<=b)return J;return!(R(Z)*_<.3)&&(E<Y&&L*_>H&&X<=2&&!W&&!K)}_updateSplitDecisionAndLod(e){e.measures.shouldSplit=this.isGlobalMode?this._calculateTileShouldSplitGlobal(e):this._calculateTileShouldSplitLocal(e)}get isGlobalMode(){return this._renderCoordsHelper.viewingMode===_.Global}}const y=[c(),c(),c(),c()],C=c(),j=c(),x=c(),T=h(0,0,1),R=[T,T,T,T],G=u,L=p(u,T),w=1,H=.9;export{g as FeatureTileMeasurements3D};
5
+ import{clamp as e}from"../../../../core/mathUtils.js";import{H as t,i,n as o,f as s,h as r,c as a,G as l,b as n}from"../../../../chunks/vec32.js";import{create as c,freeze as u,ZEROS as h}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{distance as m}from"../../../../geometry/support/aaBoundingRect.js";import{intersectsRay as d,intersectsPoint as f}from"../../../../geometry/support/frustum.js";import{fromValues as p}from"../../../../geometry/support/ray.js";import{ViewingMode as _}from"../../../ViewingMode.js";import{FeatureTileVisibility3D as M,minTileLOD as b}from"./FeatureTileVisibility3D.js";import S from"../../webgl/RenderCamera.js";class v{constructor(e,t,i){this._renderCoordsHelper=e,this._tilingScheme=t,this._camera=new S,this._focusOnMap=[0,0],this._visibility=new M(e,i)}set opaqueGround(e){this._visibility.opaqueGround=e}begin(e,t,i){this._camera.copyFrom(e),this._surfaceElevation=i,this._focusOnMap[0]=t.x,this._focusOnMap[1]=t.y,this._visibility.begin(this._camera)}end(){this._visibility.end()}updateTile(e){const{measures:t}=e;t.visible=this._visibility.compute(e),t.distance=m(e.extent,this._focusOnMap),t.visible&&this._updateSplitDecisionAndLod(e)}_calculateTileShouldSplitGlobal(e){const l=e.level;if(l<=b)return e.measures.lodLevel=l,!0;const n=this._renderCoordsHelper,c=this._camera,{eye:u,fov:h}=c,m=n.referenceEllipsoid.radius,d=t(u)-m;if(2*Math.atan(m/d)<h&&d>0)return e.measures.lodLevel=l,!1;const f=g,{extent:p}=e,{_surfaceElevation:_}=this;i(f[0],p[0],p[1],_),i(f[1],p[2],p[1],_),i(f[2],p[2],p[3],_),i(f[3],p[0],p[3],_);const M=i(y,.5*(p[0]+p[2]),.5*(p[1]+p[3]),_),S=this._tilingScheme.spatialReference;for(let t=0;t<4;++t)n.toRenderCoords(f[t],S,f[t]);n.toRenderCoords(M,S,M);const v=o(x,M),j=s(u,v),T=r(C,v,j),w=t(u)-m;return a(R.origin,G),a(R.direction,v),this._calculateTileShouldSplitCommon(e,f,M,R,w,T)}_calculateTileShouldSplitLocal(e){const t=g,{extent:o}=e,{_surfaceElevation:s}=this;i(t[0],o[0],o[1],s),i(t[1],o[2],o[1],s),i(t[2],o[2],o[3],s),i(t[3],o[0],o[3],s);const r=this._tilingScheme.spatialReference;for(let i=0;i<4;++i)this._renderCoordsHelper.toRenderCoords(t[i],r,t[i]);const l=i(y,.5*(t[0][0]+t[2][0]),.5*(t[0][1]+t[2][1]),.25*(t[0][2]+t[1][2]+t[2][2]+t[3][2])),n=i(x,l[0],l[1],0),{eye:c,far:u}=this._camera,h=i(C,n[0],n[1],c[2]),m=c[2];i(R.origin,n[0],n[1],c[2]-2*u),a(R.direction,j);const d=c[2]-2*u;return this._calculateTileShouldSplitCommon(e,t,l,R,m,h,T,d)}_calculateTileShouldSplitCommon(t,i,o,r,a,u,h,m){const _=Math.max(l(i[0],i[2]),l(i[1],i[3]),l(i[0],o)+l(o,i[2])),M=this._camera,{eye:b,near:S,far:v,fovY:g,viewForward:y}=M,x=e(s(r.direction,y),.1,1),C=s(b,y),j=s(o,y)-C,T=2*Math.tan(.5*g),G=e=>e<=S?1:1/(e*T),R=Math.abs(a)/_,H=G(j),E=t.lij[0],O=l(b,o);let D=0,F=1/0;for(const e of i){const t=l(b,e);F=Math.min(F,t),D=Math.max(D,t)}const{perScreenPixelRatio:q}=M,A=e=>Math.max(0,E-2,E+Math.ceil(Math.log2(.002*e/q))),V=1,k=300*e(x,.1,1),B=.8,P=.7,Q=l(u,b)>P*_,U=j<S,Y=e=>V*_/e,z=A(Q?Y(O):U?k*_/Math.abs(a):B*H*_),I=z+(F-S>.33*(v-S)?-1:0);if(t.measures.lodLevel=Math.max(1,I),E+2<I)return!0;if(E>=I)return!1;const{frustum:J}=M,K=R<w;if(l(u,b)<S)return K;const N=d(J,r);if(Q){const e=A(Y(F)),t=A(Y(D));if(Math.abs(e-t)>2||Math.abs(z-t)>2||Math.abs(z-e)>2)return!0}else{const e=l(b,o),t=.5*_/Math.SQRT2;if(E<=I+3||e/t>.6)return!0}if(!this.isGlobalMode&&Q&&h&&void 0!==m){let e=0;for(let t=0;t<4;++t){const o=h[t],s=m,r=c();n(r,i[t],o,s);const a=p(r,o);d(J,a)&&++e}if(e>=3||e>=2&&N)return!1;if(e<=2&&!N&&E<z+1)return!0}const W=f(J,o);let X=0;for(let e=0;e<4;++e){const t=i[e];X+=f(J,t)?1:0}if(W&&X>=2)return!1;if(!W&&!N&&X<=1&&E<I)return K;let Z=j;for(let e=0;e<4;++e){const t=i[e],o=s(t,y)-C;Z=Math.min(Z,o)}if(Z<=S)return K;return!(G(Z)*_<.3)&&(E<I&&H*_>L&&X<=2&&!W&&!N)}_updateSplitDecisionAndLod(e){e.measures.shouldSplit=this.isGlobalMode?this._calculateTileShouldSplitGlobal(e):this._calculateTileShouldSplitLocal(e)}get isGlobalMode(){return this._renderCoordsHelper.viewingMode===_.Global}}const g=[c(),c(),c(),c()],y=c(),x=c(),C=c(),j=u(0,0,1),T=[j,j,j,j],G=h,R=p(h,j),w=1,L=.9;export{v as FeatureTileMeasurements3D};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/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/Collection.js";import{makeHandle as s}from"../../../../core/handleUtils.js";import r from"../../../../core/Logger.js";import{removeMaybe as n}from"../../../../core/maybe.js";import o from"../../../../core/PooledArray.js";import{watch as l,syncAndInitial as h}from"../../../../core/reactiveUtils.js";import{generateUID as a}from"../../../../core/uid.js";import{property as c}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/has.js";import"../../../../core/RandomLCG.js";import{subclass as d}from"../../../../core/accessorSupport/decorators/subclass.js";import{create as p,intersects as u}from"../../../../geometry/support/aaBoundingRect.js";import{FeatureTileDescriptor as _,Visibility as m}from"./FeatureTileDescriptor.js";import{FeatureTileMeasurements3D as f}from"./FeatureTileMeasurements3D.js";import{toBoundingRect as g}from"../../support/extentUtils.js";import{TaskPriority as T,noBudget as y}from"../../../support/Scheduler.js";let E=class extends t{constructor(e){super(e),this.tiles=new i,this.tileSize=512,this._idToTile=new Map,this._clients=new Set,this._dirty=!1,this._pendingTiles=null,this._newTiles=new o,this.tileBudget=100}initialize(){const e=()=>this._setDirty(),t=()=>this._reset();this.addHandles([l((()=>this.tilingScheme),t,h),l((()=>this.tileSize),t,h),l((()=>this.cameraOnSurface?.location),e,h),l((()=>this.viewState?.contentCamera),e,h),l((()=>this.focus?.location),e,h),l((()=>this.terrain?.baseOpacity??1),e)]),this._frameWorker=this.scheduler?.registerTask(T.FEATURE_TILE_TREE,this)}destroy(){this._frameWorker=n(this._frameWorker)}get tilingScheme(){const e=this.tilingSchemeOwner.tilingScheme;if(!e)return null;return e.clone()}set filterExtent(e){if(null!=e&&!e.spatialReference.equals(this.viewState.spatialReference))return void r.getLogger(this).error("#extent","extent spatial reference needs to be in the same spatial reference as the view");const t=this._get("filterExtent");if(t===e||null!=t&&e&&t.equals(e))return;const i=null!=e?e.clone():null;this._set("filterExtent",i),this._setDirty()}get _filterExtentRect(){if(null==this.filterExtent)return null;const e=p();return g(this.filterExtent,e,this.tilingScheme.spatialReference),e}get _rootTileIds(){const{tilingScheme:e}=this;return this._filterExtentRect&&e?e.rootTilesInExtent(this._filterExtentRect):[[0,0,0]]}set suspended(e){e!==this._get("suspended")&&(this._set("suspended",e),this._setDirty())}get updating(){return this._dirty||!!this._pendingTiles}addClient(){const e=a();return this._clients.add(e),1===this._clients.size&&this._setDirty(),s((()=>this._removeClient(e)))}_removeClient(e){this._clients.delete(e),this._hasClients||this._clear()}get _hasClients(){return this._clients.size>0}_setDirty(){!this._hasClients||this.suspended||this._dirty||(this._frameWorker?(this._dirty=!0,this.notifyChange("updating")):this.runTask(y))}_clear(){this.tiles.removeAll(),this._idToTile.clear(),this._reset(),this._dirty=!1,this.notifyChange("updating")}get running(){return this.updating}runTask(e){this._dirty=!1,this._pendingTiles||(this._startUpdate(),null!=this._frameWorker&&(this._frameWorker.priority=T.FEATURE_TILE_TREE_ACTIVE)),this._subdivideTilesForView(e),this._pendingTiles||null==this._frameWorker||(this._frameWorker.priority=T.FEATURE_TILE_TREE),this.notifyChange("updating")}_startUpdate(){if(this.suspended)return;if(!this.tilingScheme)return void this._clear();this._tileMeasurements||(this._tileMeasurements=new f({renderCoordsHelper:this.renderCoordsHelper,tilingScheme:this.tilingScheme,getIsGroundOpaque:()=>1===(this.terrain?.baseOpacity??1)}));const e=this.viewState.contentCamera;this._tileMeasurements.begin(e,this.focus.location,this.cameraOnSurface.location.z??0),this._pendingTiles=this._getRootTiles()}_reset(){this._newTiles.clear(),this._tileMeasurements=null,this._pendingTiles=null,this._setDirty()}_getRootTiles(){const e=this.tilingScheme;return this._rootTileIds.map((t=>new _(t[0],t[1],t[2],e)))}_subdivideTilesForView(e){if(!this._pendingTiles)return;const{tilingScheme:t}=this;for(;this._pendingTiles.length>0&&!e.done;){const i=this._pendingTiles.shift();if(e.madeProgress(),this._filterExtentRect&&!u(this._filterExtentRect,i.extent))continue;this._tileMeasurements.updateTile(i);const{measures:s}=i;if(s.visibility===m.INVISIBLE)continue;const r=this._newTiles.length+this._pendingTiles.length+1;s.shouldSplit&&r<this.tileBudget?(t.ensureMaxLod(i.lij[0]+1),this._pendingTiles.push(...i.getChildren())):this._newTiles.push(i)}0===this._pendingTiles.length&&(this._updateTiles(this._newTiles.toArray()),this._newTiles.clear(),this._tileMeasurements.end(),this._pendingTiles=null)}_updateTiles(e){for(const s of this.tiles.items)s.used=!1;const t=e.filter((e=>{const t=this._idToTile.get(e.id);return t?(t.measures.copyFrom(e.measures),t.used=!0):this._idToTile.set(e.id,e),!t})),i=this.tiles.items.filter((e=>!e.used&&(this._idToTile.delete(e.id),!0)));this.tiles.removeMany(i),this.tiles.addMany(t),this._sortTiles(),this.tiles.emit("change")}_sortTiles(){this.viewState.fixedContentCamera||this.tiles.sort(((e,t)=>e.measures.distance-t.measures.distance)),this.tiles.forEach(((e,t)=>e.loadPriority=t))}};e([c({constructOnly:!0})],E.prototype,"scheduler",void 0),e([c({constructOnly:!0})],E.prototype,"renderCoordsHelper",void 0),e([c({constructOnly:!0})],E.prototype,"tilingSchemeOwner",void 0),e([c({constructOnly:!0})],E.prototype,"cameraOnSurface",void 0),e([c({constructOnly:!0})],E.prototype,"focus",void 0),e([c({constructOnly:!0})],E.prototype,"viewState",void 0),e([c({constructOnly:!0})],E.prototype,"terrain",void 0),e([c()],E.prototype,"tiles",void 0),e([c()],E.prototype,"tileSize",void 0),e([c({readOnly:!0})],E.prototype,"tilingScheme",null),e([c()],E.prototype,"filterExtent",null),e([c({readOnly:!0})],E.prototype,"_filterExtentRect",null),e([c({readOnly:!0})],E.prototype,"_rootTileIds",null),e([c({value:!1})],E.prototype,"suspended",null),e([c({readOnly:!0})],E.prototype,"updating",null),E=e([d("esri.views.3d.layers.support.FeatureTileTree3D")],E);export{E as FeatureTileTree3D};
5
+ import{_ as e}from"../../../../chunks/tslib.es6.js";import t from"../../../../core/Accessor.js";import i from"../../../../core/Collection.js";import{makeHandle as s}from"../../../../core/handleUtils.js";import r from"../../../../core/Logger.js";import{removeMaybe as n}from"../../../../core/maybe.js";import o from"../../../../core/PooledArray.js";import{watch as l,syncAndInitial as h,sync as a}from"../../../../core/reactiveUtils.js";import{generateUID as c}from"../../../../core/uid.js";import{property as d}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/has.js";import"../../../../core/RandomLCG.js";import{subclass as u}from"../../../../core/accessorSupport/decorators/subclass.js";import{create as p,intersects as _}from"../../../../geometry/support/aaBoundingRect.js";import{FeatureTileDescriptor as m}from"./FeatureTileDescriptor.js";import{FeatureTileMeasurements3D as f}from"./FeatureTileMeasurements3D.js";import{toBoundingRect as g}from"../../support/extentUtils.js";import{TaskPriority as T,noBudget as y}from"../../../support/Scheduler.js";let E=class extends t{constructor(e){super(e),this.tiles=new i,this.tileSize=512,this._idToTile=new Map,this._clients=new Set,this._dirty=!1,this._newTiles=new o,this.tileBudget=100,this._measurements=new f(e.renderCoordsHelper,e.tilingSchemeOwner.tilingScheme,this._opaqueGround)}initialize(){const e=()=>this._setDirty(),t=()=>this._reset();this.addHandles([l((()=>this.tileSize),t,h),l((()=>this.cameraOnSurface?.location),e,h),l((()=>this.viewState?.contentCamera),e,h),l((()=>this.focus?.location),e,h),l((()=>this.terrain?.baseOpacity??1),e),l((()=>this.tilingScheme),(e=>{this._reset(),this._measurements=new f(this.renderCoordsHelper,e,this._opaqueGround)}),a),l((()=>this._opaqueGround),(e=>this._measurements.opaqueGround=e),a)]),this._frameWorker=this.scheduler?.registerTask(T.FEATURE_TILE_TREE,this)}destroy(){this._frameWorker=n(this._frameWorker)}get tilingScheme(){const e=this.tilingSchemeOwner.tilingScheme;if(!e)return null;return e.clone()}set filterExtent(e){if(null!=e&&!e.spatialReference.equals(this.viewState.spatialReference))return void r.getLogger(this).error("#extent","extent spatial reference needs to be in the same spatial reference as the view");const t=this._get("filterExtent");if(t===e||null!=t&&e&&t.equals(e))return;const i=null!=e?e.clone():null;this._set("filterExtent",i),this._setDirty()}get _filterExtentRect(){if(null==this.filterExtent)return null;const e=p();return g(this.filterExtent,e,this.tilingScheme.spatialReference),e}get _rootTileIds(){const{tilingScheme:e}=this;return this._filterExtentRect&&e?e.rootTilesInExtent(this._filterExtentRect):[[0,0,0]]}set suspended(e){e!==this._get("suspended")&&(this._set("suspended",e),this._setDirty())}get updating(){return this._dirty||!!this._pendingTiles}addClient(){const e=c();return this._clients.add(e),1===this._clients.size&&this._setDirty(),s((()=>this._removeClient(e)))}_removeClient(e){this._clients.delete(e),this._hasClients||this._clear()}get _hasClients(){return this._clients.size>0}get _opaqueGround(){return 1===(this.terrain?.baseOpacity??1)}_setDirty(){!this._hasClients||this.suspended||this._dirty||(this._frameWorker?(this._dirty=!0,this.notifyChange("updating")):this.runTask(y))}_clear(){this.tiles.removeAll(),this._idToTile.clear(),this._reset(),this._dirty=!1,this.notifyChange("updating")}get running(){return this.updating}runTask(e){this._dirty=!1,this._pendingTiles||(this._startUpdate(e),null!=this._frameWorker&&(this._frameWorker.priority=T.FEATURE_TILE_TREE_ACTIVE)),this._subdivideTilesForView(e),this._pendingTiles||null==this._frameWorker||(this._frameWorker.priority=T.FEATURE_TILE_TREE),this.notifyChange("updating")}_startUpdate(e){if(this.suspended)return;if(!this.tilingScheme)return void this._clear();const t=this.viewState.contentCamera;this._measurements.begin(t,this.focus.location,this.cameraOnSurface.location.z??0),this._pendingTiles=this._getRootTiles(),e.madeProgress()}_reset(){this._newTiles.clear(),this._pendingTiles=null,this._setDirty()}_getRootTiles(){const e=this.tilingScheme;return this._rootTileIds.map((t=>new m(t[0],t[1],t[2],e)))}_subdivideTilesForView(e){if(!this._pendingTiles)return;const{tilingScheme:t}=this;for(;this._pendingTiles.length>0&&!e.done;){const i=this._pendingTiles.shift();if(e.madeProgress(),this._filterExtentRect&&!_(this._filterExtentRect,i.extent))continue;this._measurements.updateTile(i);const{measures:s}=i;if(!s.visible)continue;const r=this._newTiles.length+this._pendingTiles.length+1;s.shouldSplit&&r<this.tileBudget?(t.ensureMaxLod(i.lij[0]+1),this._pendingTiles.push(...i.createChildren())):this._newTiles.push(i)}0===this._pendingTiles.length&&(this._updateTiles(this._newTiles.toArray()),this._newTiles.clear(),this._measurements.end(),this._pendingTiles=null)}_updateTiles(e){for(const s of this.tiles.items)s.used=!1;const t=e.filter((e=>{const t=this._idToTile.get(e.id);return t?(t.measures={...e.measures},t.used=!0):this._idToTile.set(e.id,e),!t})),i=this.tiles.items.filter((e=>!e.used&&(this._idToTile.delete(e.id),!0)));this.tiles.removeMany(i),this.tiles.addMany(t),this._sortTiles(),this.tiles.emit("change")}_sortTiles(){this.viewState.fixedContentCamera||this.tiles.sort(((e,t)=>e.measures.distance-t.measures.distance)),this.tiles.forEach(((e,t)=>e.loadPriority=t))}};e([d({constructOnly:!0})],E.prototype,"scheduler",void 0),e([d({constructOnly:!0})],E.prototype,"renderCoordsHelper",void 0),e([d({constructOnly:!0})],E.prototype,"tilingSchemeOwner",void 0),e([d({constructOnly:!0})],E.prototype,"cameraOnSurface",void 0),e([d({constructOnly:!0})],E.prototype,"focus",void 0),e([d({constructOnly:!0})],E.prototype,"viewState",void 0),e([d({constructOnly:!0})],E.prototype,"terrain",void 0),e([d()],E.prototype,"tiles",void 0),e([d()],E.prototype,"tileSize",void 0),e([d({readOnly:!0})],E.prototype,"tilingScheme",null),e([d()],E.prototype,"filterExtent",null),e([d({readOnly:!0})],E.prototype,"_filterExtentRect",null),e([d({readOnly:!0})],E.prototype,"_rootTileIds",null),e([d({value:!1})],E.prototype,"suspended",null),e([d({readOnly:!0})],E.prototype,"updating",null),E=e([u("esri.views.3d.layers.support.FeatureTileTree3D")],E);export{E as FeatureTileTree3D};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import{_ as t}from"../../../../chunks/tslib.es6.js";import"../../../../geometry.js";import{initial as e}from"../../../../core/reactiveUtils.js";import{property as r}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/has.js";import"../../../../core/Logger.js";import"../../../../core/RandomLCG.js";import{subclass as o}from"../../../../core/accessorSupport/decorators/subclass.js";import{UpdatingHandles as i}from"../../../../core/support/UpdatingHandles.js";import{TileTreeDebugger as s}from"../../../support/TileTreeDebugger.js";import a from"../../../../geometry/Polygon.js";let p=class extends s{get updating(){return this._watchUpdatingTracking?.updating??!1}constructor(t){super(t),this._watchUpdatingTracking=new i}initialize(){const{featureTiles:t}=this.view;this.addHandles(t.addClient()),this._watchUpdatingTracking.addOnCollectionChange((()=>t?.tiles),(()=>this.update()),e)}destroy(){this._watchUpdatingTracking.destroy()}getTiles(){const t=t=>{const[e,r,o]=t.lij;return a.fromExtent(this.view.featureTiles.tilingScheme.getExtentGeometry(e,r,o))};return this.view.featureTiles.tiles.toArray().sort(((t,e)=>t.loadPriority-e.loadPriority)).map((e=>({...e,level:e.level,geometry:t(e)})))}};t([r()],p.prototype,"_watchUpdatingTracking",void 0),t([r()],p.prototype,"updating",null),t([r()],p.prototype,"view",void 0),p=t([o("esri.views.3d.layers.support.FeatureTileTree3DDebugger")],p);export{p as FeatureTileTree3DDebugger};
5
+ import{_ as t}from"../../../../chunks/tslib.es6.js";import{initial as e}from"../../../../core/reactiveUtils.js";import{property as r}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/has.js";import"../../../../core/Logger.js";import"../../../../core/RandomLCG.js";import{subclass as o}from"../../../../core/accessorSupport/decorators/subclass.js";import{UpdatingHandles as i}from"../../../../core/support/UpdatingHandles.js";import s from"../../../../geometry/Polygon.js";import{TileTreeDebugger as a}from"../../../support/TileTreeDebugger.js";let p=class extends a{get updating(){return this._watchUpdatingTracking?.updating??!1}constructor(t){super(t),this._watchUpdatingTracking=new i}initialize(){const{featureTiles:t}=this.view;this.addHandles(t.addClient()),this._watchUpdatingTracking.addOnCollectionChange((()=>t?.tiles),(()=>this.update()),e)}destroy(){this._watchUpdatingTracking.destroy()}getTiles(){const t=t=>{const[e,r,o]=t.lij;return s.fromExtent(this.view.featureTiles.tilingScheme.getExtentGeometry(e,r,o))};return this.view.featureTiles.tiles.toArray().sort(((t,e)=>t.loadPriority-e.loadPriority)).map((e=>({...e,level:e.level,geometry:t(e)})))}};t([r()],p.prototype,"_watchUpdatingTracking",void 0),t([r()],p.prototype,"updating",null),t([r()],p.prototype,"view",void 0),p=t([o("esri.views.3d.layers.support.FeatureTileTree3DDebugger")],p);export{p as FeatureTileTree3DDebugger};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import{n as t,c as r,a as e,f as n,b as i,i as s,G as o,e as u,g as c,h as f,H as a}from"../../../../chunks/vec32.js";import{create as l,freeze as h,fromValues as m}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{getReferenceEllipsoid as p}from"../../../../geometry/ellipsoidUtils.js";import{getSphericalPCPF as d}from"../../../../geometry/spatialReferenceEllipsoidUtils.js";import{projectBuffer as _}from"../../../../geometry/projection/projectBuffer.js";import{projectVec3Array as g}from"../../../../geometry/projection/projectVec3Array.js";import{PlaneIndex as S}from"../../../../geometry/support/frustum.js";import{fromValues as b,signedDistance as F}from"../../../../geometry/support/plane.js";import{ViewingMode as G}from"../../../ViewingMode.js";import{Visibility as M}from"./FeatureTileDescriptor.js";import{Frustum as R}from"../../state/Frustum.js";class T{constructor(t,r){this._renderCoordsHelper=t,this._getIsGroundOpaque=r,this._isGroundOpaque=!1,this._cache=new Map,this._cameraForward=l(),this._cameraEye=l(),this._cameraFovY=55*Math.PI/180,this._frustumBoundingSphereCenter=l(),this._frustumBoundingSphereRadius=0,this._frustum=new R(t),this._renderSR=t.spatialReference;const e=d(this._renderSR);this._renderSREllipsoidRadius=p(e).radius}begin(e){this._aboveGround=e.aboveGround,this._isGroundOpaque=this._getIsGroundOpaque(),this._frustum.update(e),t(this._cameraForward,e.viewForward),r(this._cameraEye,e.eye),this._cameraFovY=e.fovY,this._updateFrustumBoundingSphere()}end(){this._cache.clear()}calculate(t){return this._getOrCalculateSingleTileVisibility(t)}_getOrCalculateSingleTileVisibility(t){const r=this._cache.get(t.id);if(null!=r)return r;const e=this._calculateSingleTileVisibility(t);return this._cache.set(t.id,e),e}_calculateSingleTileVisibility(t){return this._calculateSingleTileVisibilitySided(t)}_isTileVisibleInFrustum(t){return this._renderCoordsHelper.viewingMode===G.Local?this._isTileVisibleInFrustumLocal(t):this._isTileVisibleInFrustumGlobal(t)}_updateFrustumBoundingSphere(){const r=this._frustum,s=r.origin,o=D;t(o,r.direction);const u=r.points,c=N;e(c,u[4],s);const f=.5*n(c,c)/n(o,c),a=this._frustumBoundingSphereCenter;i(a,s,o,f);const l=1+f;this._frustumBoundingSphereRadius=l}_isTileVisibleInFrustumLocal(t){const r=t.tilingScheme.spatialReference,u=t.extent,c=this._renderSR,f=C;if(f[0]=u[0],f[1]=u[1],f[2]=0,f[3]=u[2],f[4]=u[3],f[5]=0,!_(f,r,0,f,c,0))return!1;const a=x;s(a[0],f[0],f[1],0),s(a[1],f[3],f[1],0),s(a[2],f[3],f[4],0),s(a[3],f[0],f[4],0);const l=L;s(l,.5*(f[0]+f[3]),.5*(f[1]+f[4]),.5*(f[2]+f[5]));const h=Rt,m=.5*o(a[0],a[2]),p=this._frustum,d=this._frustumBoundingSphereRadius,g=this._frustumBoundingSphereCenter,S=z;e(S,g,l);const b=n(h,S),F=W;i(F,l,h,b);if(o(F,g)>m+d)return!1;const G=this._cameraForward,M=n(G,Rt),R=this._cameraFovY,T=this._cameraEye;if(Math.abs(M)<Math.abs(Math.cos(.5*R))){let t=!0;const r=s(Tt,G[0],G[1],0),e=n(T,r);for(let i=0;i<4;++i){const s=a[i];if(n(s,r)-e>0){t=!1;break}}if(t)return!1}{const t=a[0],r=a[2];if(t[0]<=T[0]&&T[0]<=r[0]&&t[1]<=T[1]&&T[1]<=r[1])return!0}const j=E,y=this._isGroundOpaque&&this._aboveGround,V=this._isGroundOpaque&&!this._aboveGround,I=Math.min(V?bt:1/0,b+d),v=Math.max(y?-430:-1/0,b-d);for(let e=0;e<4;++e)i(j[e],a[e],h,I),i(j[e+4],a[e],h,v);if(B(p.planes,j,8))return!1;if(O(p.planes,j,8))return!0;for(let e=0;e<4;++e){const t=j[e],r=j[e+4];if(jt(p.planes,t,r))return!0;const n=j[(e+1)%4];if(jt(p.planes,t,n))return!0;const i=j[4+(e+1)%4];if(jt(p.planes,r,i))return!0}if(It[0][3]=+a[0][0],It[1][3]=-a[2][0],It[2][3]=+a[0][1],It[3][3]=-a[2][1],It[4][3]=+v,It[5][3]=-I,O(It,p.points))return!0;if(O(It,p.points))return!0;for(let e=0;e<4;++e){const t=T,r=p.points[e+4];if(yt(It,t,r))return!0;const n=p.points[4+(e+1)%4];if(yt(It,r,n))return!0}return!1}_isTileVisibleInFrustumGlobal(r){if(r.lij[0]<q)return!0;const h=r.tilingScheme.spatialReference,p=r.extent,d=this._isGroundOpaque&&this._aboveGround,_=this._isGroundOpaque&&!this._aboveGround,S=x,b=.5*(p[0]+p[2]);if(s(S[0],p[0],p[1],0),s(S[1],p[2],p[1],0),s(S[2],p[2],p[3],0),s(S[3],p[0],p[3],0),s(S[4],b,p[1],0),s(S[5],b,p[3],0),!g(S,h,0,S,this._renderSR,0,6))return!1;const G=S[0][2]>0,M=S[3][2]<0,R=G||M,T=this._renderSREllipsoidRadius;if(R){const t=m(0,0,1),r=k;j(r,t,S[0]);const e=H;if(j(e,t,S[1]),G){const n=P,i=S[4],s=Y;j(s,i,t),j(n,s,i);const o=S[0];u(o,r,n),V(o,T);const c=S[1];u(c,e,n),V(c,T)}else if(M){const n=P,i=S[5],s=Y;j(s,i,t),j(n,i,s);const o=S[3];u(o,n,r),V(o,T);const c=S[2];u(c,n,e),V(c,T)}}const I=L;{const r=e(Z,S[3],S[0]);t(r,r);const s=c($,S[0],S[3]);f(s,s,.5);const o=-n(s,r),u=c(tt,S[0],S[1]);f(u,u,.5);const a=c(rt,S[2],S[3]);f(a,a,.5);const l=e(et,a,u);t(l,l);const h=-(o+n(r,u))/n(r,l);i(I,u,l,h),V(I,T)}const v=this._frustumBoundingSphereRadius,O=this._frustumBoundingSphereCenter,E=this._frustum,C=E.planes,D=A;t(D,I);const N=n(S[0],D)/a(S[0]),W=E.origin,z=E.points;let ut=!1;if(d){{ut=!0;const r=t(l(),W);for(let i=0;i<4;++i){const s=z[4+i],o=e(l(),s,W);t(o,o);const c=u(l(),r,o);t(c,c);const f=u(l(),o,c);t(f,f);if(n(W,f)>T){ut=!1;break}}}if(ut){if(n(W,D)<T*N-bt)return!1}const r=t(Ft,E.origin);if(n(r,D)<0)return!1;{const r=t(Gt,E.direction);if(n(r,D)>Mt)return!1}}const dt=Math.sqrt(1-N*N);if(dt>.9)return!0;let _t=!1;{const t=n(D,O),r=a(O);if(r<=v&&!C.some((t=>F(t,J)>0))){if(!d)return!0;_t=!0}const e=t/r;if(!_t&&t<=0){if(-t>v)return!1}const i=v/r;if(Math.sqrt(1-e*e)*Math.sqrt(1-i*i)-i*e>dt)return!1}if(!ut){if(S.some((t=>E.intersectsPoint(t))))return!0;if(E.intersectsPoint(I))return!0}const gt=K;e(gt,O,J);const Rt=n(gt,D),Tt=U;f(Tt,D,Rt);const jt=o(Tt,O),yt=h.isWGS84,Vt=r.lij,It=yt&&Vt[2]===2**Vt[0]-1,vt=yt&&0===Vt[2],Bt=vt?ht:It?at:ct,Ot=vt?mt:It?lt:ft;if(!_t){const t=S,r=pt,e=nt,n=it,i=J;for(const s of Bt){const o=t[s];if(y(e,t[(s+1)%4],o),y(n,i,o),j(r,n,e),w(r,z,1))return!1}}let qt=null;if(!d&&Rt<1.01*v){const t=2.5*v;if(jt>N*t+v)return!1;const r=X,e=t/N;for(let n=0;n<4;++n)f(r[n],S[n],e/T);s(r[4],0,0,0),qt=r}else{const t=(_?T+bt:Rt+v)/N,r=d?T-bt:(Rt-v)/N,e=Q;for(let n=0;n<4;++n){const i=S[n];f(e[n],i,r/T),f(e[n+4],i,t/T)}qt=e}if(B(C,qt,qt.length))return!1;const wt=E.lines,Et=st,Ct=ot;for(const n of wt){t(Ct,n.direction);for(const r of Ot){const n=qt[r];if(t(Et,n),St(Ct,Et,qt,z))return!1;const i=(r+1)%4;if(d){const r=qt[i];if(e(Et,r,n),t(Et,Et),St(Ct,Et,qt,z))return!1}if(_){const n=qt[4+r],s=qt[4+i];if(e(Et,s,n),t(Et,Et),St(Ct,Et,qt,z))return!1}}}return!0}_calculateSingleTileVisibilitySided(t){return this._isTileVisibleInFrustum(t)?M.VISIBLE:M.INVISIBLE}}function j(r,e,n){return u(r,e,n),t(r,r),r}function y(r,n,i){return e(r,n,i),t(r,r),r}function V(t,r){return f(t,t,r/a(t)),t}const I=[S.LEFT,S.RIGHT,S.BOTTOM,S.TOP,S.FAR];function v(t,r,e){for(let n=0;n<e;++n)if(F(t,r[n])<=0)return!1;return!0}function B(t,r,e){for(const n of I)if(v(t[n],r,e))return!0;return!1}function O(t,r,e=r.length){for(let n=0;n<e;++n){const e=r[n];let i=!0;for(const r of t){if(F(r,e)>0){i=!1;break}}if(i)return!0}return!1}const q=2;function w(t,r,e){for(const i of r)if(n(i,t)<e)return!1;return!0}const E=[l(),l(),l(),l(),l(),l(),l(),l()],C=[0,0,0,0,0,0],x=[l(),l(),l(),l(),l(),l()],L=l(),P=l(),k=l(),H=l(),Y=l(),A=l(),U=l(),D=l(),N=l(),W=l(),z=l(),J=h(0,0,0),K=l(),Q=[l(),l(),l(),l(),l(),l(),l(),l()],X=[l(),l(),l(),l(),l()],Z=l(),$=l(),tt=l(),rt=l(),et=l(),nt=l(),it=l(),st=l(),ot=l(),ut=l(),ct=[0,1,2,3],ft=[0,1,2,3],at=[0,1,3],lt=[0,1,3],ht=[1,2,3],mt=[1,2,3],pt=l();function dt(t,r,e){let i=1/0,s=-1/0;for(const o of e){const t=n(r,o);i=Math.min(i,t),s=Math.max(s,t)}t[0]=i,t[1]=s}function _t(t,r,e,i){let s=1/0,o=-1/0;for(const u of i){const i=n(e,u);if(s=Math.min(s,i),o=Math.max(o,i),s<=r&&o>=t)return!1}return!0}const gt=[0,0];function St(t,r,e,n){if(0===e.length||0===n.length)return!0;const i=ut;j(i,t,r);const s=n[0]<e[0],o=s?e:n,u=gt;return dt(u,i,s?n:e),_t(u[0],u[1],i,o)}const bt=430,Ft=l(),Gt=l(),Mt=Math.cos(.25*Math.PI),Rt=m(0,0,1),Tt=l();function jt(t,r,e){const n={t0:0,t1:1};for(const i of I){if(!Vt(t[i],r,e,n))return!1}return n.t0<n.t1}function yt(t,r,e){const n={t0:0,t1:1};for(const i of t){if(!Vt(i,r,e,n))return!1}return n.t0<n.t1}function Vt(t,r,e,n){let{t0:i,t1:s}=n;const o=F(t,r),u=F(t,e);if(o>=0&&u>=0)return!1;if(o<0&&u>=0){const t=-o/(u-o);if(t<i)return!1;t<s&&(s=t)}else if(o>=0&&u<0){const t=o/(o-u);if(t>s)return!1;t>i&&(i=t)}return n.t0=i,n.t1=s,!0}const It=[b(-1,0,0,1),b(1,0,0,-1),b(0,-1,0,1),b(0,1,0,-1),b(0,0,-1,1),b(0,0,1,-1)];export{T as FeatureTileVisibility3D,q as globalTileLevelThreshold,O as isAnyVertexInPolyhedron,B as isConvexHullOutsideOfFrustum};
5
+ import{n as t,c as r,a as n,f as e,b as s,i as o,G as i,e as u,g as c,h as f,H as a}from"../../../../chunks/vec32.js";import{create as h,freeze as l,fromValues as m}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{getReferenceEllipsoid as p}from"../../../../geometry/ellipsoidUtils.js";import{getSphericalPCPF as d}from"../../../../geometry/spatialReferenceEllipsoidUtils.js";import{projectBuffer as _}from"../../../../geometry/projection/projectBuffer.js";import{projectVec3Array as g}from"../../../../geometry/projection/projectVec3Array.js";import{PlaneIndex as b}from"../../../../geometry/support/frustum.js";import{fromValues as M,signedDistance as F}from"../../../../geometry/support/plane.js";import{ViewingMode as R}from"../../../ViewingMode.js";import{Frustum as S}from"../../state/Frustum.js";class G{constructor(t,r){this._renderCoordsHelper=t,this.opaqueGround=r,this._cache=new Map,this._cameraForward=h(),this._cameraEye=h(),this._cameraFovY=55*Math.PI/180,this._frustumBoundingSphereCenter=h(),this._frustumBoundingSphereRadius=0,this._frustum=new S(t),this._renderSR=t.spatialReference;const n=d(this._renderSR);this._renderSREllipsoidRadius=p(n).radius}begin(n){this._aboveGround=n.aboveGround,this._frustum.update(n),t(this._cameraForward,n.viewForward),r(this._cameraEye,n.eye),this._cameraFovY=n.fovY,this._updateFrustumBoundingSphere()}end(){this._cache.clear()}compute(t){if(this._cache.has(t.id))return this._cache.get(t.id);const r=this._isVisibleInFrustum(t);return this._cache.set(t.id,r),r}_isVisibleInFrustum(t){return this._renderCoordsHelper.viewingMode===R.Local?this._isTileVisibleInFrustumLocal(t):this._isTileVisibleInFrustumGlobal(t)}_updateFrustumBoundingSphere(){const r=this._frustum,o=r.origin,i=U;t(i,r.direction);const u=r.points,c=W;n(c,u[4],o);const f=.5*e(c,c)/e(i,c),a=this._frustumBoundingSphereCenter;s(a,o,i,f);const h=1+f;this._frustumBoundingSphereRadius=h}_isTileVisibleInFrustumLocal(t){const r=t.spatialReference,u=t.extent,c=this._renderSR;if(E[0]=u[0],E[1]=u[1],E[2]=0,E[3]=u[2],E[4]=u[3],E[5]=0,!_(E,r,0,E,c,0))return!1;o(C[0],E[0],E[1],0),o(C[1],E[3],E[1],0),o(C[2],E[3],E[4],0),o(C[3],E[0],E[4],0),o(P,.5*(E[0]+E[3]),.5*(E[1]+E[4]),.5*(E[2]+E[5]));const f=St,a=.5*i(C[0],C[2]),h=this._frustum,l=this._frustumBoundingSphereRadius,m=this._frustumBoundingSphereCenter,p=D;n(p,m,P);const d=e(f,p),g=z;s(g,P,f,d);if(i(g,m)>a+l)return!1;const b=this._cameraForward,M=e(b,St),F=this._cameraFovY,R=this._cameraEye;if(Math.abs(M)<Math.abs(Math.cos(.5*F))){let t=!0;const r=o(Gt,b[0],b[1],0),n=e(R,r);for(let s=0;s<4;++s){const o=C[s];if(e(o,r)-n>0){t=!1;break}}if(t)return!1}{const t=C[0],r=C[2];if(t[0]<=R[0]&&R[0]<=r[0]&&t[1]<=R[1]&&R[1]<=r[1])return!0}const S=x,G=this.opaqueGround&&this._aboveGround,j=this.opaqueGround&&!this._aboveGround,v=Math.min(j?bt:1/0,d+l),B=Math.max(G?-430:-1/0,d-l);for(let n=0;n<4;++n)s(S[n],C[n],f,v),s(S[n+4],C[n],f,B);if(I(h.planes,S,8))return!1;if(T(h.planes,S,8))return!0;for(let n=0;n<4;++n){const t=S[n],r=S[n+4];if(jt(h.planes,t,r))return!0;const e=S[(n+1)%4];if(jt(h.planes,t,e))return!0;const s=S[4+(n+1)%4];if(jt(h.planes,r,s))return!0}if(yt[0][3]=+C[0][0],yt[1][3]=-C[2][0],yt[2][3]=+C[0][1],yt[3][3]=-C[2][1],yt[4][3]=+B,yt[5][3]=-v,T(yt,h.points))return!0;if(T(yt,h.points))return!0;for(let n=0;n<4;++n){const t=R,r=h.points[n+4];if(vt(yt,t,r))return!0;const e=h.points[4+(n+1)%4];if(vt(yt,r,e))return!0}return!1}_isTileVisibleInFrustumGlobal(r){if(r.level<V)return!0;const l=r.spatialReference,p=r.extent,d=this.opaqueGround&&this._aboveGround,_=this.opaqueGround&&!this._aboveGround,b=C,M=.5*(p[0]+p[2]);if(o(b[0],p[0],p[1],0),o(b[1],p[2],p[1],0),o(b[2],p[2],p[3],0),o(b[3],p[0],p[3],0),o(b[4],M,p[1],0),o(b[5],M,p[3],0),!g(b,l,0,b,this._renderSR,0,6))return!1;const R=b[0][2]>0,S=b[3][2]<0,G=R||S,y=this._renderSREllipsoidRadius;if(G){const t=m(0,0,1),r=H;j(r,t,b[0]);const n=L;if(j(n,t,b[1]),R){const e=k,s=b[4],o=Y;j(o,s,t),j(e,o,s);const i=b[0];u(i,r,e),B(i,y);const c=b[1];u(c,n,e),B(c,y)}else if(S){const e=k,s=b[5],o=Y;j(o,s,t),j(e,s,o);const i=b[3];u(i,e,r),B(i,y);const c=b[2];u(c,e,n),B(c,y)}}const w=P;{const r=n(X,b[3],b[0]);t(r,r);const o=c(Z,b[0],b[3]);f(o,o,.5);const i=-e(o,r),u=c($,b[0],b[1]);f(u,u,.5);const a=c(tt,b[2],b[3]);f(a,a,.5);const h=n(rt,a,u);t(h,h);const l=-(i+e(r,u))/e(r,h);s(w,u,h,l),B(w,y)}const T=this._frustumBoundingSphereRadius,x=this._frustumBoundingSphereCenter,E=this._frustum,U=E.planes,W=O;t(W,w);const z=e(b[0],W)/a(b[0]),D=E.origin,it=E.points;let pt=!1;if(d){{pt=!0;const r=t(h(),D);for(let s=0;s<4;++s){const o=it[4+s],i=n(h(),o,D);t(i,i);const c=u(h(),r,i);t(c,c);const f=u(h(),i,c);t(f,f);if(e(D,f)>y){pt=!1;break}}}if(pt){if(e(D,W)<y*z-bt)return!1}const r=t(Mt,E.origin);if(e(r,W)<0)return!1;{const r=t(Ft,E.direction);if(e(r,W)>Rt)return!1}}const dt=Math.sqrt(1-z*z);if(dt>.9)return!0;let _t=!1;{const t=e(W,x),r=a(x);if(r<=T&&!U.some((t=>F(t,J)>0))){if(!d)return!0;_t=!0}const n=t/r;if(!_t&&t<=0){if(-t>T)return!1}const s=T/r;if(Math.sqrt(1-n*n)*Math.sqrt(1-s*s)-s*n>dt)return!1}if(!pt){if(b.some((t=>E.intersectsPoint(t))))return!0;if(E.intersectsPoint(w))return!0}const St=K;n(St,x,J);const Gt=e(St,W),jt=A;f(jt,W,Gt);const vt=i(jt,x),Bt=l.isWGS84,yt=r.lij,wt=Bt&&yt[2]===2**yt[0]-1,It=Bt&&0===yt[2],Tt=It?ht:wt?ft:ut,Vt=It?lt:wt?at:ct;if(!_t){const t=b,r=mt,n=nt,e=et,s=J;for(const o of Tt){const i=t[o];if(v(n,t[(o+1)%4],i),v(e,s,i),j(r,e,n),q(r,it,1))return!1}}let qt=null;if(!d&&Gt<1.01*T){const t=2.5*T;if(vt>z*t+T)return!1;const r=Q,n=t/z;for(let e=0;e<4;++e)f(r[e],b[e],n/y);o(r[4],0,0,0),qt=r}else{const t=(_?y+bt:Gt+T)/z,r=d?y-bt:(Gt-T)/z,n=N;for(let e=0;e<4;++e){const s=b[e];f(n[e],s,r/y),f(n[e+4],s,t/y)}qt=n}if(I(U,qt,qt.length))return!1;const xt=E.lines,Et=st,Ct=ot;for(const e of xt){t(Ct,e.direction);for(const r of Vt){const e=qt[r];if(t(Et,e),gt(Ct,Et,qt,it))return!1;const s=(r+1)%4;if(d){const r=qt[s];if(n(Et,r,e),t(Et,Et),gt(Ct,Et,qt,it))return!1}if(_){const e=qt[4+r],o=qt[4+s];if(n(Et,o,e),t(Et,Et),gt(Ct,Et,qt,it))return!1}}}return!0}}function j(r,n,e){return u(r,n,e),t(r,r),r}function v(r,e,s){return n(r,e,s),t(r,r),r}function B(t,r){return f(t,t,r/a(t)),t}const y=[b.LEFT,b.RIGHT,b.BOTTOM,b.TOP,b.FAR];function w(t,r,n){for(let e=0;e<n;++e)if(F(t,r[e])<=0)return!1;return!0}function I(t,r,n){for(const e of y)if(w(t[e],r,n))return!0;return!1}function T(t,r,n=r.length){for(let e=0;e<n;++e){const n=r[e];let s=!0;for(const r of t){if(F(r,n)>0){s=!1;break}}if(s)return!0}return!1}const V=2;function q(t,r,n){for(const s of r)if(e(s,t)<n)return!1;return!0}const x=[h(),h(),h(),h(),h(),h(),h(),h()],E=[0,0,0,0,0,0],C=[h(),h(),h(),h(),h(),h()],P=h(),k=h(),H=h(),L=h(),Y=h(),O=h(),A=h(),U=h(),W=h(),z=h(),D=h(),J=l(0,0,0),K=h(),N=[h(),h(),h(),h(),h(),h(),h(),h()],Q=[h(),h(),h(),h(),h()],X=h(),Z=h(),$=h(),tt=h(),rt=h(),nt=h(),et=h(),st=h(),ot=h(),it=h(),ut=[0,1,2,3],ct=[0,1,2,3],ft=[0,1,3],at=[0,1,3],ht=[1,2,3],lt=[1,2,3],mt=h();function pt(t,r,n){let s=1/0,o=-1/0;for(const i of n){const t=e(r,i);s=Math.min(s,t),o=Math.max(o,t)}t[0]=s,t[1]=o}function dt(t,r,n,s){let o=1/0,i=-1/0;for(const u of s){const s=e(n,u);if(o=Math.min(o,s),i=Math.max(i,s),o<=r&&i>=t)return!1}return!0}const _t=[0,0];function gt(t,r,n,e){if(0===n.length||0===e.length)return!0;const s=it;j(s,t,r);const o=e[0]<n[0],i=o?n:e,u=_t;return pt(u,s,o?e:n),dt(u[0],u[1],s,i)}const bt=430,Mt=h(),Ft=h(),Rt=Math.cos(.25*Math.PI),St=m(0,0,1),Gt=h();function jt(t,r,n){const e={t0:0,t1:1};for(const s of y){if(!Bt(t[s],r,n,e))return!1}return e.t0<e.t1}function vt(t,r,n){const e={t0:0,t1:1};for(const s of t){if(!Bt(s,r,n,e))return!1}return e.t0<e.t1}function Bt(t,r,n,e){let{t0:s,t1:o}=e;const i=F(t,r),u=F(t,n);if(i>=0&&u>=0)return!1;if(i<0&&u>=0){const t=-i/(u-i);if(t<s)return!1;t<o&&(o=t)}else if(i>=0&&u<0){const t=i/(i-u);if(t>o)return!1;t>s&&(s=t)}return e.t0=s,e.t1=o,!0}const yt=[M(-1,0,0,1),M(1,0,0,-1),M(0,-1,0,1),M(0,1,0,-1),M(0,0,-1,1),M(0,0,1,-1)];export{G as FeatureTileVisibility3D,T as isAnyVertexInPolyhedron,I as isConvexHullOutsideOfFrustum,V as minTileLOD};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../../../chunks/tslib.es6.js";import"../../../../geometry.js";import{isSome as r}from"../../../../core/arrayUtils.js";import{property as o}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/has.js";import"../../../../core/Logger.js";import{subclass as s}from"../../../../core/accessorSupport/decorators/subclass.js";import{fromQuat as t}from"../../../../core/libs/gl-matrix-2/math/mat4.js";import{create as i}from"../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{c as l,t as p}from"../../../../chunks/vec32.js";import{create as c}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{projectBuffer as a}from"../../../../geometry/projection/projectBuffer.js";import{TileTreeDebugger as m}from"../../../support/TileTreeDebugger.js";import n from"../../../../geometry/Polygon.js";let u=class extends m{constructor(e){super(e)}getTiles(){const e=this.lv.getVisibleNodes(),o=this.view.renderSpatialReference,s=this.nodeSR;return e.map((e=>f(e,o,s))).filter(r).sort(((e,r)=>e.lij[0]===r.lij[0]?e.label>r.label?-1:1:e.lij[0]-r.lij[0]))}};function f(e,r,o){const s=e.serviceObbInIndexSR;if(null==s||null==r)return null;t(h,s.quaternion),l(j,s.center),a(j,o,0,j,r,0),h[12]=j[0],h[13]=j[1],h[14]=j[2];const i=[[],[],[]];p(j,s.halfSize,h),a(j,r,0,j,o,0),i[0].push([j[0],j[1]]),l(j,s.halfSize),j[0]=-j[0],p(j,j,h),a(j,r,0,j,o,0),i[0].push([j[0],j[1]]),l(j,s.halfSize),j[0]=-j[0],j[1]=-j[1],p(j,j,h),a(j,r,0,j,o,0),i[0].push([j[0],j[1]]),l(j,s.halfSize),j[1]=-j[1],p(j,j,h),a(j,r,0,j,o,0),i[0].push([j[0],j[1]]),i[1].push(i[0][0]),i[1].push(i[0][1]),l(j,s.halfSize),j[0]=-j[0],j[2]=-j[2],p(j,j,h),a(j,r,0,j,o,0),i[1].push([j[0],j[1]]),l(j,s.halfSize),j[2]=-j[2],p(j,j,h),a(j,r,0,j,o,0),i[1].push([j[0],j[1]]),i[2].push(i[0][0]),i[2].push(i[0][3]),l(j,s.halfSize),j[1]=-j[1],j[2]=-j[2],p(j,j,h),a(j,r,0,j,o,0),i[2].push([j[0],j[1]]),i[2].push(i[1][3]);const c=new n({rings:i,spatialReference:o});return{lij:[e.level,e.childCount,0],level:e.level,label:e.id,geometry:c}}e([o({constructOnly:!0})],u.prototype,"lv",void 0),e([o({constructOnly:!0})],u.prototype,"nodeSR",void 0),u=e([s("esri.views.3d.layers.support.I3STreeDebugger")],u);const h=i(),j=c();export{u as I3STreeDebugger};
5
+ import{_ as e}from"../../../../chunks/tslib.es6.js";import{isSome as r}from"../../../../core/arrayUtils.js";import{property as o}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/has.js";import"../../../../core/Logger.js";import{subclass as s}from"../../../../core/accessorSupport/decorators/subclass.js";import{fromQuat as t}from"../../../../core/libs/gl-matrix-2/math/mat4.js";import{create as i}from"../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{c as l,t as p}from"../../../../chunks/vec32.js";import{create as c}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import a from"../../../../geometry/Polygon.js";import{projectBuffer as n}from"../../../../geometry/projection/projectBuffer.js";import{TileTreeDebugger as u}from"../../../support/TileTreeDebugger.js";let m=class extends u{constructor(e){super(e)}getTiles(){const e=this.lv.getVisibleNodes(),o=this.view.renderSpatialReference,s=this.nodeSR;return e.map((e=>f(e,o,s))).filter(r).sort(((e,r)=>e.lij[0]===r.lij[0]?e.label>r.label?-1:1:e.lij[0]-r.lij[0]))}};function f(e,r,o){const s=e.serviceObbInIndexSR;if(null==s||null==r)return null;t(h,s.quaternion),l(j,s.center),n(j,o,0,j,r,0),h[12]=j[0],h[13]=j[1],h[14]=j[2];const i=[[],[],[]];p(j,s.halfSize,h),n(j,r,0,j,o,0),i[0].push([j[0],j[1]]),l(j,s.halfSize),j[0]=-j[0],p(j,j,h),n(j,r,0,j,o,0),i[0].push([j[0],j[1]]),l(j,s.halfSize),j[0]=-j[0],j[1]=-j[1],p(j,j,h),n(j,r,0,j,o,0),i[0].push([j[0],j[1]]),l(j,s.halfSize),j[1]=-j[1],p(j,j,h),n(j,r,0,j,o,0),i[0].push([j[0],j[1]]),i[1].push(i[0][0]),i[1].push(i[0][1]),l(j,s.halfSize),j[0]=-j[0],j[2]=-j[2],p(j,j,h),n(j,r,0,j,o,0),i[1].push([j[0],j[1]]),l(j,s.halfSize),j[2]=-j[2],p(j,j,h),n(j,r,0,j,o,0),i[1].push([j[0],j[1]]),i[2].push(i[0][0]),i[2].push(i[0][3]),l(j,s.halfSize),j[1]=-j[1],j[2]=-j[2],p(j,j,h),n(j,r,0,j,o,0),i[2].push([j[0],j[1]]),i[2].push(i[1][3]);const c=new a({rings:i,spatialReference:o});return{lij:[e.level,e.childCount,0],level:e.level,label:e.id,geometry:c}}e([o({constructOnly:!0})],m.prototype,"lv",void 0),e([o({constructOnly:!0})],m.prototype,"nodeSR",void 0),m=e([s("esri.views.3d.layers.support.I3STreeDebugger")],m);const h=i(),j=c();export{m as I3STreeDebugger};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../../../chunks/tslib.es6.js";import"../../../../geometry.js";import{watch as r,initial as s}from"../../../../core/reactiveUtils.js";import"../../../../core/Logger.js";import"../../../../core/has.js";import"../../../../core/RandomLCG.js";import"../../../../core/Error.js";import{subclass as t}from"../../../../core/accessorSupport/decorators/subclass.js";import{toExtent as o}from"../../../../geometry/support/aaBoundingRect.js";import{TileTreeDebugger as i}from"../../../support/TileTreeDebugger.js";import a from"../../../../geometry/Polygon.js";let m=class extends i{constructor(e){super(e),this.enablePolygons=!1}initialize(){r((()=>this.enabled),(e=>this.view.basemapTerrain.renderPatchBorders=e),s)}getTiles(){const e=null!=this.view.basemapTerrain.spatialReference?this.view.basemapTerrain.spatialReference:null;return this.view.basemapTerrain.test.getRenderedTiles().map((r=>({...r,lij:r.lij,level:r.level,geometry:a.fromExtent(o(r.extent,e))})))}};m=e([t("esri.views.3d.layers.support.TerrainTileTree3DDebugger")],m);export{m as TerrainTileTree3DDebugger};
5
+ import{_ as e}from"../../../../chunks/tslib.es6.js";import{watch as r,initial as s}from"../../../../core/reactiveUtils.js";import"../../../../core/Logger.js";import"../../../../core/has.js";import"../../../../core/RandomLCG.js";import"../../../../core/Error.js";import{subclass as t}from"../../../../core/accessorSupport/decorators/subclass.js";import o from"../../../../geometry/Polygon.js";import{toExtent as i}from"../../../../geometry/support/aaBoundingRect.js";import{TileTreeDebugger as a}from"../../../support/TileTreeDebugger.js";let l=class extends a{constructor(e){super(e),this.enablePolygons=!1}initialize(){r((()=>this.enabled),(e=>this.view.basemapTerrain.renderPatchBorders=e),s)}getTiles(){const e=null!=this.view.basemapTerrain.spatialReference?this.view.basemapTerrain.spatialReference:null;return this.view.basemapTerrain.test.getRenderedTiles().map((r=>({...r,lij:r.lij,level:r.level,geometry:o.fromExtent(i(r.extent,e))})))}};l=e([t("esri.views.3d.layers.support.TerrainTileTree3DDebugger")],l);export{l as TerrainTileTree3DDebugger};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../../chunks/tslib.es6.js";import t from"../../../Camera.js";import"../../../geometry.js";import i from"../../../Viewpoint.js";import r from"../../../core/Accessor.js";import a from"../../../core/Logger.js";import{destroyMaybe as s}from"../../../core/maybe.js";import{on as n,watch as o,sync as h,when as l}from"../../../core/reactiveUtils.js";import{addFrameTask as p}from"../../../core/scheduling.js";import{createScreenPoint as c}from"../../../core/screenUtils.js";import{property as m}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/has.js";import"../../../core/RandomLCG.js";import{subclass as d}from"../../../core/accessorSupport/decorators/subclass.js";import{s as v}from"../../../chunks/vec32.js";import{fromArray as u}from"../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{s as w}from"../../../chunks/vec42.js";import{create as g}from"../../../core/libs/gl-matrix-2/factories/vec4f64.js";import _ from"../../../geometry/Extent.js";import y from"../../../geometry/Point.js";import{isLoadedOrLoadFor as f,requiresLoad as C}from"../../../geometry/projection.js";import{ViewingMode as x}from"../../ViewingMode.js";import{applyAll as R}from"../camera/constraintUtils.js";import{cameraOnContentAlongViewDirection as P,surfaceElevationBelowRenderLocation as S}from"../camera/intersectionUtils.js";import{ConstraintsManager as O}from"./ConstraintsManager.js";import{Frustum as T}from"./Frustum.js";import{GoToOperation as b}from"./GoToOperation.js";import{SurfaceCollisionCorrectionController as j}from"./controllers/SurfaceCollisionCorrectionController.js";import{internalToExternal as I,externalToInternal as M,toArea as z,toExtent as E,applyTiltAdjustToScale as A,scaleToZoom as L,fromExtentSync as H,OrientationMode as N,getObserverForPointAtDistanceSync as V,viewScaleToCameraDistance as B,zoomToScale as D}from"../support/cameraUtils.js";import{fromCamera as G,toCameraSync as U}from"../support/viewpointUtils.js";import F from"../webgl/RenderCamera.js";import{PaddingSide as k}from"../webgl-engine/lib/rendererUtils.js";import{RenderFeature as q}from"../webgl-engine/lib/RenderFeature.js";import{PropertiesPool as W}from"../../support/PropertiesPool.js";import{RenderState as J}from"../../support/RenderState.js";import{ensureAttachmentMaxSize as K}from"../../webgl/FramebufferObject.js";import Z from"../../../geometry/Polygon.js";let Q=class extends r{constructor(e){super(e),this.ready=!1,this._windowDevicePixelRatio=1,this._devicePixelRatioOverride=null,this._idleTimeout=ne,this.test={viewStateManager:this,contentCameraResetState:new Map,setDevicePixelRatio:e=>this._devicePixelRatioOverride=e,renderState:null,get maximumPixelRatio(){return this.viewStateManager.view.qualitySettings.maximumPixelRatio},get updatingIgnoreRenderState(){return null!=this.renderState},get idleTimeoutEnabled(){return this.viewStateManager._idleTimeout>0},set idleTimeoutEnabled(e){this.viewStateManager._idleTimeout=e?ne:0}},this._propertiesPool=new W({frustum:T},this),this._cameraSetByUser=!1,this._gotoOperation=null,this._cameraChangeTime=0,this._tmpCanvasSize=new X}initialize(){this._cameraChangeTime=performance.now(),this.addHandles([n((()=>this.view.state.events),"before-camera-change",(e=>e&&this._updateElevation(e))),o((()=>this.view.state?.camera),((e,t)=>this._cameraChangedHandler(e,t)),h)]),l((()=>this.view.state?.camera),(e=>this._updateElevation(e)),{once:!0,sync:!0}),this.addHandles([p({prepare:()=>this._prepareFrame()}),o((()=>this.view.state.cameraController),(()=>{this._cameraSetByUser=!0,this.removeHandles(ae)})),n((()=>this.view.state.events),"camera-projection-changed",(()=>this.notifyChange("scale")))])}destroy(){this.exit(),this._propertiesPool=s(this._propertiesPool)}get camera(){const e=this._get("camera");if(!this.ready)return e;const t=I(this.view,this.view.state.camera,te);return t&&e&&t.equals(e)?e:t.clone()}set camera(e){this._updatePropertyBeforeReady("camera",e)||(this.view.elevationProvider?.enableCache(!0),this.setStateCamera(M(this.view,e),{applyConstraints:!1})||a.getLogger(this).error("#camera=","Invalid camera",e),this.view.elevationProvider?.enableCache(!1))}get contentCamera(){const e=this._get("contentCamera");if(!this.ready)return e;const t=I(this.view,this.view.state.contentCamera,te);return t&&e&&t.equals(e)?e:t.clone()}set contentCamera(e){if(this._updatePropertyBeforeReady("contentCamera",e))return;const t=M(this.view,e);null!=t?(this._updateElevation(t),this.view.state.contentCamera=t):this.view.state.contentCamera=null}installContentCameraReset(e){if(this.removeHandles(se),this.test.contentCameraResetState.clear(),!this.view.state.fixedContentCamera)return!1;const t=this.zoom,i=this.view.state.camera.distance**2,r=u(this.view.state.camera.center),a=e.sticky?this.contentCamera.clone():null;return this.addHandles([o((()=>this.contentCamera),(()=>{e.sticky||(this.removeHandles(se),this.test.contentCameraResetState.clear())})),o((()=>this.zoom),(e=>{void 0!==e&&void 0!==t&&(this.test.contentCameraResetState.set("view.zoom",Math.abs(e-t)/2),Math.abs(e-t)>2?this.contentCamera=null:this.view.state.fixedContentCamera||(this.contentCamera=a))})),o((()=>this.view.state.camera),(e=>{const t=v(r,e.center);this.test.contentCameraResetState.set("camera.center",t/i),t>i?this.contentCamera=null:this.view.state.fixedContentCamera||(this.contentCamera=a)}))],se),!0}get center(){return this.ready?this.view.pointsOfInterest.centerOnContent.location:this._get("center")}set center(e){this._updatePropertyBeforeReady("center",e)||(e?this.isCompatible(e)?this.setStateCamera(this._centerToCamera(e),{applyConstraints:!0})?this.view.pointsOfInterest.centerOnContent.runTask():a.getLogger(this).error("#center=","Invalid center",e):a.getLogger(this).error("#center=","Center has an incompatible spatial reference (center: "+(e.spatialReference?e.spatialReference.wkid:"none")+", view: "+this.view.spatialReference?.wkid+")",e):a.getLogger(this).error("#center=","Center may not be null or undefined"))}get visibleArea(){if(!this.ready){const e=this._get("extent");return e?Z.fromExtent(e):null}return z(this.view,this.view.pointsOfInterest.focus.renderLocation)}get extent(){if(!this.ready)return this._get("extent");const e=this.view,t=E(e,e.state.camera,e.pointsOfInterest.centerOnContent.renderLocation);return null!=t?t:this._get("extent")}set extent(e){this._updatePropertyBeforeReady("extent",e)||(e?this.isCompatible(e)?this.setStateCamera(this._extentToCamera(e),{applyConstraints:!0})||a.getLogger(this).error("#extent=","Invalid extent",e):a.getLogger(this).error("#extent=","Extent has an incompatible spatial reference (extent: "+(e.spatialReference?e.spatialReference.wkid:"none")+", view: "+this.view.spatialReference?.wkid+")",e):a.getLogger(this).error("#extent=","Extent may not be null or undefined"))}get frustum(){const e=this._propertiesPool.get("frustum");return e.renderCoordsHelper=this.view.renderCoordsHelper,e.update(this.view.state.camera),e}get constraintsManager(){return this._constraintsManager}get _initialViewpoint(){const e=this.view.map;return e&&"initialViewProperties"in e?e.initialViewProperties?.viewpoint:void 0}get hasInitialView(){return!!this._initialViewpoint}get scale(){if(!this.ready)return this._get("scale");const e=this.view.basemapTerrain.tilingScheme,t=this.view.pointsOfInterest.cameraOnSurface.scale;return e&&t?A(this.view,t,this.view.state.contentCamera,e):this._get("scale")}set scale(e){this._updatePropertyBeforeReady("scale",e)||this.setStateCamera(this._scaleToCamera(e),{applyConstraints:!0})||a.getLogger(this).error("#scale=","Invalid scale",e)}get padding(){if(!this.ready)return this._get("padding");const e=this.view.state.camera,t=e.padding,i=e.pixelRatio,r=this._get("padding"),a=Math.round(t[k.TOP]/i),s=Math.round(t[k.RIGHT]/i),n=Math.round(t[k.BOTTOM]/i),o=Math.round(t[k.LEFT]/i);return null!=r&&r.top===a&&r.right===s&&r.bottom===n&&r.left===o?r:{top:a,right:s,bottom:n,left:o}}set padding(e){this._updatePropertyBeforeReady("padding",e)||(this._paddingToArray(e,this.view.state.camera.pixelRatio,re),this.view.state.updateCamera((e=>e.padding=re)))}_paddingToArray(e,t,i){e?w(i,e.top||0,e.right||0,e.bottom||0,e.left||0):w(i,0,0,0,0);for(let r=0;r<4;r++)i[r]=Math.round(i[r]*t)}get screenCenter(){const e=this.padding;return c((this.view.width-(e.left+e.right))/2+e.left,(this.view.height-(e.top+e.bottom))/2+e.top)}get viewpoint(){return this.ready?G(this.view,this.camera):this._get("viewpoint")}set viewpoint(e){if(!this._updatePropertyBeforeReady("viewpoint",e))if(e)if(this.isCompatible(e))this.setStateCamera(this._viewpointToCamera(e),{applyConstraints:!e.camera})||a.getLogger(this).error("#viewpoint=","Invalid viewpoint",e);else{const t=null!=e.camera?e.camera.position:e.targetGeometry,i=null!=t&&t.spatialReference;a.getLogger(this).error("#viewpoint=","Viewpoint has an incompatible spatial reference (viewpoint: "+(i?i.wkid:"none")+", view: "+this.view.spatialReference?.wkid+")",e)}else a.getLogger(this).error("#viewpoint=","Viewpoint may not be null or undefined")}get zoom(){return this.ready?L(this.view,this.scale):this._get("zoom")}set zoom(e){this._updatePropertyBeforeReady("zoom",e)||void 0===e||this.setStateCamera(this._zoomToCamera(e),{applyConstraints:!0})||a.getLogger(this).error("#zoom=","Invalid zoom",e)}_computeCanvasSize(){if(this._devicePixelRatioOverride)return this.view.state.contentPixelRatio=this._devicePixelRatioOverride,this._tmpCanvasSize.width=Math.round(this.view.surface.clientWidth*this._devicePixelRatioOverride),this._tmpCanvasSize.height=Math.round(this.view.surface.clientHeight*this._devicePixelRatioOverride),this._tmpCanvasSize.pixelRatio=this._devicePixelRatioOverride,this._tmpCanvasSize;const e=Math.min(this._windowDevicePixelRatio,this.view.qualitySettings.maximumPixelRatio),t=(this._usePhysicalPixelRendering?this._windowDevicePixelRatio:e)*this.view.resolutionScale;this._tmpCanvasSize.width=Math.round(this.view.surface.clientWidth*t),this._tmpCanvasSize.height=Math.round(this.view.surface.clientHeight*t);const i=this.view._stage.renderView.renderingContext?.parameters.maxTextureSize;return i&&K(this._tmpCanvasSize,i),this._tmpCanvasSize.pixelRatio=this._tmpCanvasSize.width>0?this._tmpCanvasSize.width/this.view.surface.clientWidth*.5+this._tmpCanvasSize.height/this.view.surface.clientHeight*.5:t,this.view.state&&(this.view.state.contentPixelRatio=Math.min(this._windowDevicePixelRatio,this.view.qualitySettings.maximumPixelRatio)),this._tmpCanvasSize}get _rasterPixelRatio(){return null!=this._devicePixelRatioOverride?this._devicePixelRatioOverride:this._usePhysicalPixelRenderingAny?this._windowDevicePixelRatio:Math.min(this._windowDevicePixelRatio,this.view.qualitySettings.maximumPixelRatio)}get _usePhysicalPixelRendering(){return this.view?._stage?.renderer.isFeatureEnabled(q.PhysicalPixelRendering)??!1}get _usePhysicalPixelRenderingAny(){const e=this.view?._stage?.renderer;return e&&(e.isFeatureEnabled(q.PhysicalPixelRendering,J.IDLE)||e.isFeatureEnabled(q.PhysicalPixelRendering,J.INTERACTING)||e.isFeatureEnabled(q.PhysicalPixelRendering,J.ANIMATING))}preinit(e){return!(this._isOverridden("center")&&!f(this.center.spatialReference,e))&&(!(this._isOverridden("camera")&&!f(this.camera.position.spatialReference,e))&&(!(this._isOverridden("extent")&&!f(this.extent.spatialReference,e))&&!!(!this._isOverridden("viewpoint")||f(this.viewpoint.targetGeometry?.spatialReference,e)&&f(this.viewpoint.camera?.position?.spatialReference,e))))}init(){this._constraintsManager=new O({view:this.view}),this._prepareFrame();const e=this._getInitialProperties();this._cameraSetByUser=!1,this._set("ready",!0);for(const t of e)this.set(t.name,t.value);if(!this._cameraSetByUser){const e=this._initialViewpoint||this.view.initialExtent;e&&this.isCompatible(e)?this._setInitialView(e):this.view.state.viewingMode===x.Local&&this.addHandles(l((()=>this.view.basemapTerrain.ready),(()=>{this.removeHandles(ae),this._setInitialView(this.view.dataExtent)}),{once:!0,initial:!0}),ae)}}exit(){this._cancelGoToOperation(),this.ready&&(this._override("padding",this.padding),this._set("ready",!1),this._clearOverride("hasInitialView"),this._cameraSetByUser=!1,this.removeHandles(ae),this._constraintsManager=s(this._constraintsManager))}async goTo(e,t){return t={animate:!0,...t},null!=this._gotoOperation&&this._gotoOperation.abort(t.animate),this._gotoOperation=new b(e,t,this.view),this.view.resourceController.scheduler.stopFrame(),this._gotoOperation.promise}debugSetCameraOnContent(){this.setStateCamera(P(this.view),{applyConstraints:!1})}step(e){const t=this.view.state,i=t?.cameraController;i&&(t.updateCamera((t=>i.stepController(e,t))),i.steppingFinished&&i.finishController())}_cancelGoToOperation(){null!=this._gotoOperation&&(this._gotoOperation.abort(),this._gotoOperation=null)}_getInitialProperties(){const e=new Set,t=[];for(const{propertyName:i,overrides:r}of $){const a=e.has(i),s=this._isOverridden(i);!a&&s&&t.push({name:i,value:this._get(i)}),this._clearOverride(i),(a||s)&&r.forEach((t=>e.add(t)))}return t}_setInitialView(e){if(null==e||this._cameraSetByUser)return;if(e instanceof t)return void this.setStateCamera(M(this.view,e),{applyConstraints:!1});if(e instanceof i){if(e.targetGeometry instanceof _){const t=H(this.view,e.targetGeometry,0,.5,N.LOCKED);return void(null!=t&&this.setStateCamera(M(this.view,t),{applyConstraints:!0}))}const t={applyConstraints:!e.camera},i=this._viewpointToCamera(e);return void this.setStateCamera(i,t)}const r=H(this.view,e,0,.5,N.LOCKED);null!=r&&this.setStateCamera(M(this.view,r),{applyConstraints:!0})}_updatePropertyBeforeReady(e,t){return!this.ready&&(this._override(e,t),t&&Y.has(e)&&this._override("hasInitialView",!0),!0)}isCompatible(e){return null!=e&&(e instanceof i?e.camera?this.isCompatible(e.camera):this.isCompatible(e.targetGeometry):e instanceof t?this.isCompatible(e.position):e.spatialReference&&!C(e.spatialReference,this.view.spatialReference))}_getPreservingHeadingTilt(e=ee){return this._cameraSetByUser?(e.heading=this.camera.heading,e.tilt=this.camera.tilt):(e.heading=0,e.tilt=.5),e}_centerPointAtDistanceToCamera(e,t,i=ie){const{heading:r,tilt:a}=this._getPreservingHeadingTilt(),s=V(this.view,r,a,e,t,N.ADJUST);return null==s?null:(i.copyFrom(this.view.state.camera),i.eye=s.eye,i.center=s.center,i.up=s.up,i)}_centerToCamera(e){let t;if(e.hasZ)t=this.view.state.camera.distance;else{const{centerOnContent:e}=this.view.pointsOfInterest;e.runTask(),t=e.distance}return this._centerPointAtDistanceToCamera(e,t)}_extentToCamera(e){const{heading:t,tilt:i}=this._getPreservingHeadingTilt(),r=H(this.view,e,t,i,N.ADJUST,te);return r?M(this.view,r):null}_scaleToCamera(e){if(null==e)return null;const t=this.view,i=t.pointsOfInterest.centerOnContent;i.runTask();const r=i.renderLocation,a=t.pointsOfInterest.cameraOnSurface.renderLocation,s=B(t,e,t.state.contentCamera,r,a);return this._centerPointAtDistanceToCamera(r,s)}_zoomToCamera(e){return this._scaleToCamera(D(this.view,e))}_viewpointToCamera(e){return M(this.view,U(this.view,e))}setStateCamera(e,t){return!(null==e||!this.view.state.stopActiveCameraController())&&(this._cameraSetByUser=!0,t.doNotCancelGoToOperation||this._cancelGoToOperation(),this.view.state.updateCamera((i=>{t.positionAndOrientationOnly?(i.eye=e.eye,i.center=e.center,i.up=e.up,i.fov=e.fov):i.copyFrom(e),t.applyConstraints&&R(this.view,i)})),t.applyConstraints||(this.view.state.cameraController=new j({view:this.view,desiredCamera:e})),!0)}_prepareFrame(){const{surface:e,canvas:t}=this.view;if(!e||!t)return;this._windowDevicePixelRatio=window.devicePixelRatio;const i=this._computeCanvasSize();if(0!==i.width&&0!==i.height&&(t.width===i.width&&t.height===i.height||(t.width=i.width,t.height=i.height),this.view.state)){const e=this.view.state.camera;e.fullWidth===i.width&&e.fullHeight===i.height&&e.pixelRatio===i.pixelRatio||(ie.copyFrom(e),ie.pixelRatio!==i.pixelRatio&&(this._paddingToArray(this.padding,i.pixelRatio,re),ie.padding=re),ie.fullWidth=i.width,ie.fullHeight=i.height,ie.pixelRatio=i.pixelRatio,this.view.state.camera=ie),this._updateViewState()}}_updateElevation(e){const t=this.view.basemapTerrain?.spatialReference,i=this.view.renderCoordsHelper?.getAltitude(e.eye)??0,r=t?S(this.view,e.eye):0;e.relativeElevation=i-r}_updateViewState(){null!=this.test.renderState?this.view.state.mode=this.test.renderState:this.view.animation?this.view.state.mode=J.ANIMATING:this.view.interacting?this.view.state.mode=J.INTERACTING:(this.view.state.mode===J.ANIMATING&&(this._cameraChangeTime=0),performance.now()-this._cameraChangeTime<this._idleTimeout?this.view.state.mode=J.INTERACTING:this.view.state.mode=J.IDLE),this.view.state.rasterPixelRatio=this._rasterPixelRatio}_cameraChangedHandler(e,t){e&&t&&e.almostEquals(t)||(this._cameraChangeTime=performance.now(),this._updateViewState())}};e([m({type:t,dependsOn:["view.state.camera","ready"]})],Q.prototype,"camera",null),e([m({type:t,dependsOn:["view.state.contentCamera","ready"]})],Q.prototype,"contentCamera",null),e([m({type:y})],Q.prototype,"center",null),e([m()],Q.prototype,"visibleArea",null),e([m({type:_})],Q.prototype,"extent",null),e([m({readOnly:!0})],Q.prototype,"frustum",null),e([m()],Q.prototype,"_constraintsManager",void 0),e([m({readOnly:!0})],Q.prototype,"constraintsManager",null),e([m()],Q.prototype,"_initialViewpoint",null),e([m({readOnly:!0})],Q.prototype,"hasInitialView",null),e([m({readOnly:!0,type:Boolean})],Q.prototype,"ready",void 0),e([m({type:Number})],Q.prototype,"scale",null),e([m()],Q.prototype,"padding",null),e([m({readOnly:!0})],Q.prototype,"screenCenter",null),e([m({constructOnly:!0})],Q.prototype,"view",void 0),e([m({type:i})],Q.prototype,"viewpoint",null),e([m({type:Number})],Q.prototype,"zoom",null),e([m({readOnly:!0})],Q.prototype,"_rasterPixelRatio",null),e([m({readOnly:!0})],Q.prototype,"_usePhysicalPixelRendering",null),e([m({readOnly:!0})],Q.prototype,"_usePhysicalPixelRenderingAny",null),e([m()],Q.prototype,"_windowDevicePixelRatio",void 0),e([m()],Q.prototype,"_devicePixelRatioOverride",void 0),Q=e([d("esri.views.3d.state.ViewStateManager")],Q);class X{constructor(){this.width=0,this.height=0,this.pixelRatio=1}}const Y=new Set(["camera","viewpoint","extent","scale","center","zoom"]),$=[{propertyName:"camera",overrides:["viewpoint"]},{propertyName:"viewpoint",overrides:["extent"]},{propertyName:"extent",overrides:["center","scale"]},{propertyName:"center",overrides:[]},{propertyName:"scale",overrides:["zoom"]},{propertyName:"zoom",overrides:[]},{propertyName:"padding",overrides:[]}],ee={heading:0,tilt:0},te=new t,ie=new F,re=g(),ae="pending-initial-view",se="content-camera-reset",ne=300,oe=100;export{Q as ViewStateManager,oe as interactingTimeout};
5
+ import{_ as e}from"../../../chunks/tslib.es6.js";import t from"../../../Camera.js";import i from"../../../Viewpoint.js";import r from"../../../core/Accessor.js";import a from"../../../core/Logger.js";import{destroyMaybe as s}from"../../../core/maybe.js";import{on as n,watch as o,sync as h,when as l}from"../../../core/reactiveUtils.js";import{addFrameTask as p}from"../../../core/scheduling.js";import{createScreenPoint as c}from"../../../core/screenUtils.js";import{property as m}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/has.js";import"../../../core/RandomLCG.js";import{subclass as d}from"../../../core/accessorSupport/decorators/subclass.js";import{s as v}from"../../../chunks/vec32.js";import{fromArray as u}from"../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{s as w}from"../../../chunks/vec42.js";import{create as g}from"../../../core/libs/gl-matrix-2/factories/vec4f64.js";import _ from"../../../geometry/Extent.js";import y from"../../../geometry/Point.js";import f from"../../../geometry/Polygon.js";import{isLoadedOrLoadFor as C,requiresLoad as x}from"../../../geometry/projection.js";import{ViewingMode as R}from"../../ViewingMode.js";import{applyAll as P}from"../camera/constraintUtils.js";import{cameraOnContentAlongViewDirection as S,surfaceElevationBelowRenderLocation as O}from"../camera/intersectionUtils.js";import{ConstraintsManager as T}from"./ConstraintsManager.js";import{Frustum as b}from"./Frustum.js";import{GoToOperation as j}from"./GoToOperation.js";import{SurfaceCollisionCorrectionController as I}from"./controllers/SurfaceCollisionCorrectionController.js";import{internalToExternal as M,externalToInternal as z,toArea as E,toExtent as A,applyTiltAdjustToScale as L,scaleToZoom as H,fromExtentSync as N,OrientationMode as V,getObserverForPointAtDistanceSync as B,viewScaleToCameraDistance as D,zoomToScale as G}from"../support/cameraUtils.js";import{fromCamera as U,toCameraSync as F}from"../support/viewpointUtils.js";import k from"../webgl/RenderCamera.js";import{PaddingSide as q}from"../webgl-engine/lib/rendererUtils.js";import{RenderFeature as W}from"../webgl-engine/lib/RenderFeature.js";import{PropertiesPool as J}from"../../support/PropertiesPool.js";import{RenderState as K}from"../../support/RenderState.js";import{ensureAttachmentMaxSize as Z}from"../../webgl/FramebufferObject.js";let Q=class extends r{constructor(e){super(e),this.ready=!1,this._windowDevicePixelRatio=1,this._devicePixelRatioOverride=null,this._idleTimeout=ne,this.test={viewStateManager:this,contentCameraResetState:new Map,setDevicePixelRatio:e=>this._devicePixelRatioOverride=e,renderState:null,get maximumPixelRatio(){return this.viewStateManager.view.qualitySettings.maximumPixelRatio},get updatingIgnoreRenderState(){return null!=this.renderState},get idleTimeoutEnabled(){return this.viewStateManager._idleTimeout>0},set idleTimeoutEnabled(e){this.viewStateManager._idleTimeout=e?ne:0}},this._propertiesPool=new J({frustum:b},this),this._cameraSetByUser=!1,this._gotoOperation=null,this._cameraChangeTime=0,this._tmpCanvasSize=new X}initialize(){this._cameraChangeTime=performance.now(),this.addHandles([n((()=>this.view.state.events),"before-camera-change",(e=>e&&this._updateElevation(e))),o((()=>this.view.state?.camera),((e,t)=>this._cameraChangedHandler(e,t)),h)]),l((()=>this.view.state?.camera),(e=>this._updateElevation(e)),{once:!0,sync:!0}),this.addHandles([p({prepare:()=>this._prepareFrame()}),o((()=>this.view.state.cameraController),(()=>{this._cameraSetByUser=!0,this.removeHandles(ae)})),n((()=>this.view.state.events),"camera-projection-changed",(()=>this.notifyChange("scale")))])}destroy(){this.exit(),this._propertiesPool=s(this._propertiesPool)}get camera(){const e=this._get("camera");if(!this.ready)return e;const t=M(this.view,this.view.state.camera,te);return t&&e&&t.equals(e)?e:t.clone()}set camera(e){this._updatePropertyBeforeReady("camera",e)||(this.view.elevationProvider?.enableCache(!0),this.setStateCamera(z(this.view,e),{applyConstraints:!1})||a.getLogger(this).error("#camera=","Invalid camera",e),this.view.elevationProvider?.enableCache(!1))}get contentCamera(){const e=this._get("contentCamera");if(!this.ready)return e;const t=M(this.view,this.view.state.contentCamera,te);return t&&e&&t.equals(e)?e:t.clone()}set contentCamera(e){if(this._updatePropertyBeforeReady("contentCamera",e))return;const t=z(this.view,e);null!=t?(this._updateElevation(t),this.view.state.contentCamera=t):this.view.state.contentCamera=null}installContentCameraReset(e){if(this.removeHandles(se),this.test.contentCameraResetState.clear(),!this.view.state.fixedContentCamera)return!1;const t=this.zoom,i=this.view.state.camera.distance**2,r=u(this.view.state.camera.center),a=e.sticky?this.contentCamera.clone():null;return this.addHandles([o((()=>this.contentCamera),(()=>{e.sticky||(this.removeHandles(se),this.test.contentCameraResetState.clear())})),o((()=>this.zoom),(e=>{void 0!==e&&void 0!==t&&(this.test.contentCameraResetState.set("view.zoom",Math.abs(e-t)/2),Math.abs(e-t)>2?this.contentCamera=null:this.view.state.fixedContentCamera||(this.contentCamera=a))})),o((()=>this.view.state.camera),(e=>{const t=v(r,e.center);this.test.contentCameraResetState.set("camera.center",t/i),t>i?this.contentCamera=null:this.view.state.fixedContentCamera||(this.contentCamera=a)}))],se),!0}get center(){return this.ready?this.view.pointsOfInterest.centerOnContent.location:this._get("center")}set center(e){this._updatePropertyBeforeReady("center",e)||(e?this.isCompatible(e)?this.setStateCamera(this._centerToCamera(e),{applyConstraints:!0})?this.view.pointsOfInterest.centerOnContent.runTask():a.getLogger(this).error("#center=","Invalid center",e):a.getLogger(this).error("#center=","Center has an incompatible spatial reference (center: "+(e.spatialReference?e.spatialReference.wkid:"none")+", view: "+this.view.spatialReference?.wkid+")",e):a.getLogger(this).error("#center=","Center may not be null or undefined"))}get visibleArea(){if(!this.ready){const e=this._get("extent");return e?f.fromExtent(e):null}return E(this.view,this.view.pointsOfInterest.focus.renderLocation)}get extent(){if(!this.ready)return this._get("extent");const e=this.view,t=A(e,e.state.camera,e.pointsOfInterest.centerOnContent.renderLocation);return null!=t?t:this._get("extent")}set extent(e){this._updatePropertyBeforeReady("extent",e)||(e?this.isCompatible(e)?this.setStateCamera(this._extentToCamera(e),{applyConstraints:!0})||a.getLogger(this).error("#extent=","Invalid extent",e):a.getLogger(this).error("#extent=","Extent has an incompatible spatial reference (extent: "+(e.spatialReference?e.spatialReference.wkid:"none")+", view: "+this.view.spatialReference?.wkid+")",e):a.getLogger(this).error("#extent=","Extent may not be null or undefined"))}get frustum(){const e=this._propertiesPool.get("frustum");return e.renderCoordsHelper=this.view.renderCoordsHelper,e.update(this.view.state.camera),e}get constraintsManager(){return this._constraintsManager}get _initialViewpoint(){const e=this.view.map;return e&&"initialViewProperties"in e?e.initialViewProperties?.viewpoint:void 0}get hasInitialView(){return!!this._initialViewpoint}get scale(){if(!this.ready)return this._get("scale");const e=this.view.basemapTerrain.tilingScheme,t=this.view.pointsOfInterest.cameraOnSurface.scale;return e&&t?L(this.view,t,this.view.state.contentCamera,e):this._get("scale")}set scale(e){this._updatePropertyBeforeReady("scale",e)||this.setStateCamera(this._scaleToCamera(e),{applyConstraints:!0})||a.getLogger(this).error("#scale=","Invalid scale",e)}get padding(){if(!this.ready)return this._get("padding");const e=this.view.state.camera,t=e.padding,i=e.pixelRatio,r=this._get("padding"),a=Math.round(t[q.TOP]/i),s=Math.round(t[q.RIGHT]/i),n=Math.round(t[q.BOTTOM]/i),o=Math.round(t[q.LEFT]/i);return null!=r&&r.top===a&&r.right===s&&r.bottom===n&&r.left===o?r:{top:a,right:s,bottom:n,left:o}}set padding(e){this._updatePropertyBeforeReady("padding",e)||(this._paddingToArray(e,this.view.state.camera.pixelRatio,re),this.view.state.updateCamera((e=>e.padding=re)))}_paddingToArray(e,t,i){e?w(i,e.top||0,e.right||0,e.bottom||0,e.left||0):w(i,0,0,0,0);for(let r=0;r<4;r++)i[r]=Math.round(i[r]*t)}get screenCenter(){const e=this.padding;return c((this.view.width-(e.left+e.right))/2+e.left,(this.view.height-(e.top+e.bottom))/2+e.top)}get viewpoint(){return this.ready?U(this.view,this.camera):this._get("viewpoint")}set viewpoint(e){if(!this._updatePropertyBeforeReady("viewpoint",e))if(e)if(this.isCompatible(e))this.setStateCamera(this._viewpointToCamera(e),{applyConstraints:!e.camera})||a.getLogger(this).error("#viewpoint=","Invalid viewpoint",e);else{const t=null!=e.camera?e.camera.position:e.targetGeometry,i=null!=t&&t.spatialReference;a.getLogger(this).error("#viewpoint=","Viewpoint has an incompatible spatial reference (viewpoint: "+(i?i.wkid:"none")+", view: "+this.view.spatialReference?.wkid+")",e)}else a.getLogger(this).error("#viewpoint=","Viewpoint may not be null or undefined")}get zoom(){return this.ready?H(this.view,this.scale):this._get("zoom")}set zoom(e){this._updatePropertyBeforeReady("zoom",e)||void 0===e||this.setStateCamera(this._zoomToCamera(e),{applyConstraints:!0})||a.getLogger(this).error("#zoom=","Invalid zoom",e)}_computeCanvasSize(){if(this._devicePixelRatioOverride)return this.view.state.contentPixelRatio=this._devicePixelRatioOverride,this._tmpCanvasSize.width=Math.round(this.view.surface.clientWidth*this._devicePixelRatioOverride),this._tmpCanvasSize.height=Math.round(this.view.surface.clientHeight*this._devicePixelRatioOverride),this._tmpCanvasSize.pixelRatio=this._devicePixelRatioOverride,this._tmpCanvasSize;const e=Math.min(this._windowDevicePixelRatio,this.view.qualitySettings.maximumPixelRatio),t=(this._usePhysicalPixelRendering?this._windowDevicePixelRatio:e)*this.view.resolutionScale;this._tmpCanvasSize.width=Math.round(this.view.surface.clientWidth*t),this._tmpCanvasSize.height=Math.round(this.view.surface.clientHeight*t);const i=this.view._stage.renderView.renderingContext?.parameters.maxTextureSize;return i&&Z(this._tmpCanvasSize,i),this._tmpCanvasSize.pixelRatio=this._tmpCanvasSize.width>0?this._tmpCanvasSize.width/this.view.surface.clientWidth*.5+this._tmpCanvasSize.height/this.view.surface.clientHeight*.5:t,this.view.state&&(this.view.state.contentPixelRatio=Math.min(this._windowDevicePixelRatio,this.view.qualitySettings.maximumPixelRatio)),this._tmpCanvasSize}get _rasterPixelRatio(){return null!=this._devicePixelRatioOverride?this._devicePixelRatioOverride:this._usePhysicalPixelRenderingAny?this._windowDevicePixelRatio:Math.min(this._windowDevicePixelRatio,this.view.qualitySettings.maximumPixelRatio)}get _usePhysicalPixelRendering(){return this.view?._stage?.renderer.isFeatureEnabled(W.PhysicalPixelRendering)??!1}get _usePhysicalPixelRenderingAny(){const e=this.view?._stage?.renderer;return e&&(e.isFeatureEnabled(W.PhysicalPixelRendering,K.IDLE)||e.isFeatureEnabled(W.PhysicalPixelRendering,K.INTERACTING)||e.isFeatureEnabled(W.PhysicalPixelRendering,K.ANIMATING))}preinit(e){return!(this._isOverridden("center")&&!C(this.center.spatialReference,e))&&(!(this._isOverridden("camera")&&!C(this.camera.position.spatialReference,e))&&(!(this._isOverridden("extent")&&!C(this.extent.spatialReference,e))&&!!(!this._isOverridden("viewpoint")||C(this.viewpoint.targetGeometry?.spatialReference,e)&&C(this.viewpoint.camera?.position?.spatialReference,e))))}init(){this._constraintsManager=new T({view:this.view}),this._prepareFrame();const e=this._getInitialProperties();this._cameraSetByUser=!1,this._set("ready",!0);for(const t of e)this.set(t.name,t.value);if(!this._cameraSetByUser){const e=this._initialViewpoint||this.view.initialExtent;e&&this.isCompatible(e)?this._setInitialView(e):this.view.state.viewingMode===R.Local&&this.addHandles(l((()=>this.view.basemapTerrain.ready),(()=>{this.removeHandles(ae),this._setInitialView(this.view.dataExtent)}),{once:!0,initial:!0}),ae)}}exit(){this._cancelGoToOperation(),this.ready&&(this._override("padding",this.padding),this._set("ready",!1),this._clearOverride("hasInitialView"),this._cameraSetByUser=!1,this.removeHandles(ae),this._constraintsManager=s(this._constraintsManager))}async goTo(e,t){return t={animate:!0,...t},null!=this._gotoOperation&&this._gotoOperation.abort(t.animate),this._gotoOperation=new j(e,t,this.view),this.view.resourceController.scheduler.stopFrame(),this._gotoOperation.promise}debugSetCameraOnContent(){this.setStateCamera(S(this.view),{applyConstraints:!1})}step(e){const t=this.view.state,i=t?.cameraController;i&&(t.updateCamera((t=>i.stepController(e,t))),i.steppingFinished&&i.finishController())}_cancelGoToOperation(){null!=this._gotoOperation&&(this._gotoOperation.abort(),this._gotoOperation=null)}_getInitialProperties(){const e=new Set,t=[];for(const{propertyName:i,overrides:r}of $){const a=e.has(i),s=this._isOverridden(i);!a&&s&&t.push({name:i,value:this._get(i)}),this._clearOverride(i),(a||s)&&r.forEach((t=>e.add(t)))}return t}_setInitialView(e){if(null==e||this._cameraSetByUser)return;if(e instanceof t)return void this.setStateCamera(z(this.view,e),{applyConstraints:!1});if(e instanceof i){if(e.targetGeometry instanceof _){const t=N(this.view,e.targetGeometry,0,.5,V.LOCKED);return void(null!=t&&this.setStateCamera(z(this.view,t),{applyConstraints:!0}))}const t={applyConstraints:!e.camera},i=this._viewpointToCamera(e);return void this.setStateCamera(i,t)}const r=N(this.view,e,0,.5,V.LOCKED);null!=r&&this.setStateCamera(z(this.view,r),{applyConstraints:!0})}_updatePropertyBeforeReady(e,t){return!this.ready&&(this._override(e,t),t&&Y.has(e)&&this._override("hasInitialView",!0),!0)}isCompatible(e){return null!=e&&(e instanceof i?e.camera?this.isCompatible(e.camera):this.isCompatible(e.targetGeometry):e instanceof t?this.isCompatible(e.position):e.spatialReference&&!x(e.spatialReference,this.view.spatialReference))}_getPreservingHeadingTilt(e=ee){return this._cameraSetByUser?(e.heading=this.camera.heading,e.tilt=this.camera.tilt):(e.heading=0,e.tilt=.5),e}_centerPointAtDistanceToCamera(e,t,i=ie){const{heading:r,tilt:a}=this._getPreservingHeadingTilt(),s=B(this.view,r,a,e,t,V.ADJUST);return null==s?null:(i.copyFrom(this.view.state.camera),i.eye=s.eye,i.center=s.center,i.up=s.up,i)}_centerToCamera(e){let t;if(e.hasZ)t=this.view.state.camera.distance;else{const{centerOnContent:e}=this.view.pointsOfInterest;e.runTask(),t=e.distance}return this._centerPointAtDistanceToCamera(e,t)}_extentToCamera(e){const{heading:t,tilt:i}=this._getPreservingHeadingTilt(),r=N(this.view,e,t,i,V.ADJUST,te);return r?z(this.view,r):null}_scaleToCamera(e){if(null==e)return null;const t=this.view,i=t.pointsOfInterest.centerOnContent;i.runTask();const r=i.renderLocation,a=t.pointsOfInterest.cameraOnSurface.renderLocation,s=D(t,e,t.state.contentCamera,r,a);return this._centerPointAtDistanceToCamera(r,s)}_zoomToCamera(e){return this._scaleToCamera(G(this.view,e))}_viewpointToCamera(e){return z(this.view,F(this.view,e))}setStateCamera(e,t){return!(null==e||!this.view.state.stopActiveCameraController())&&(this._cameraSetByUser=!0,t.doNotCancelGoToOperation||this._cancelGoToOperation(),this.view.state.updateCamera((i=>{t.positionAndOrientationOnly?(i.eye=e.eye,i.center=e.center,i.up=e.up,i.fov=e.fov):i.copyFrom(e),t.applyConstraints&&P(this.view,i)})),t.applyConstraints||(this.view.state.cameraController=new I({view:this.view,desiredCamera:e})),!0)}_prepareFrame(){const{surface:e,canvas:t}=this.view;if(!e||!t)return;this._windowDevicePixelRatio=window.devicePixelRatio;const i=this._computeCanvasSize();if(0!==i.width&&0!==i.height&&(t.width===i.width&&t.height===i.height||(t.width=i.width,t.height=i.height),this.view.state)){const e=this.view.state.camera;e.fullWidth===i.width&&e.fullHeight===i.height&&e.pixelRatio===i.pixelRatio||(ie.copyFrom(e),ie.pixelRatio!==i.pixelRatio&&(this._paddingToArray(this.padding,i.pixelRatio,re),ie.padding=re),ie.fullWidth=i.width,ie.fullHeight=i.height,ie.pixelRatio=i.pixelRatio,this.view.state.camera=ie),this._updateViewState()}}_updateElevation(e){const t=this.view.basemapTerrain?.spatialReference,i=this.view.renderCoordsHelper?.getAltitude(e.eye)??0,r=t?O(this.view,e.eye):0;e.relativeElevation=i-r}_updateViewState(){null!=this.test.renderState?this.view.state.mode=this.test.renderState:this.view.animation?this.view.state.mode=K.ANIMATING:this.view.interacting?this.view.state.mode=K.INTERACTING:(this.view.state.mode===K.ANIMATING&&(this._cameraChangeTime=0),performance.now()-this._cameraChangeTime<this._idleTimeout?this.view.state.mode=K.INTERACTING:this.view.state.mode=K.IDLE),this.view.state.rasterPixelRatio=this._rasterPixelRatio}_cameraChangedHandler(e,t){e&&t&&e.almostEquals(t)||(this._cameraChangeTime=performance.now(),this._updateViewState())}};e([m({type:t,dependsOn:["view.state.camera","ready"]})],Q.prototype,"camera",null),e([m({type:t,dependsOn:["view.state.contentCamera","ready"]})],Q.prototype,"contentCamera",null),e([m({type:y})],Q.prototype,"center",null),e([m()],Q.prototype,"visibleArea",null),e([m({type:_})],Q.prototype,"extent",null),e([m({readOnly:!0})],Q.prototype,"frustum",null),e([m()],Q.prototype,"_constraintsManager",void 0),e([m({readOnly:!0})],Q.prototype,"constraintsManager",null),e([m()],Q.prototype,"_initialViewpoint",null),e([m({readOnly:!0})],Q.prototype,"hasInitialView",null),e([m({readOnly:!0,type:Boolean})],Q.prototype,"ready",void 0),e([m({type:Number})],Q.prototype,"scale",null),e([m()],Q.prototype,"padding",null),e([m({readOnly:!0})],Q.prototype,"screenCenter",null),e([m({constructOnly:!0})],Q.prototype,"view",void 0),e([m({type:i})],Q.prototype,"viewpoint",null),e([m({type:Number})],Q.prototype,"zoom",null),e([m({readOnly:!0})],Q.prototype,"_rasterPixelRatio",null),e([m({readOnly:!0})],Q.prototype,"_usePhysicalPixelRendering",null),e([m({readOnly:!0})],Q.prototype,"_usePhysicalPixelRenderingAny",null),e([m()],Q.prototype,"_windowDevicePixelRatio",void 0),e([m()],Q.prototype,"_devicePixelRatioOverride",void 0),Q=e([d("esri.views.3d.state.ViewStateManager")],Q);class X{constructor(){this.width=0,this.height=0,this.pixelRatio=1}}const Y=new Set(["camera","viewpoint","extent","scale","center","zoom"]),$=[{propertyName:"camera",overrides:["viewpoint"]},{propertyName:"viewpoint",overrides:["extent"]},{propertyName:"extent",overrides:["center","scale"]},{propertyName:"center",overrides:[]},{propertyName:"scale",overrides:["zoom"]},{propertyName:"zoom",overrides:[]},{propertyName:"padding",overrides:[]}],ee={heading:0,tilt:0},te=new t,ie=new k,re=g(),ae="pending-initial-view",se="content-camera-reset",ne=300,oe=100;export{Q as ViewStateManager,oe as interactingTimeout};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import{neverReached as t}from"../../../core/compilerUtils.js";import{lerp as e}from"../../../core/mathUtils.js";import{invert as i}from"../../../core/libs/gl-matrix-2/math/mat4.js";import{create as r}from"../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{g as n,h as o,o as s,t as a,i as c,f as l}from"../../../chunks/vec32.js";import{create as p}from"../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{getReferenceEllipsoid as h}from"../../../geometry/ellipsoidUtils.js";import{computeTranslationToOriginAndRotation as d}from"../../../geometry/projection/computeTranslationToOriginAndRotation.js";import{projectBoundingRect as m}from"../../../geometry/projection/projectBoundingRect.js";import{projectVectorToVector as _}from"../../../geometry/projection/projectVectorToVector.js";import{create as g,empty as f,expandWithVec3 as u}from"../../../geometry/support/aaBoundingBox.js";import{create as x,center as R}from"../../../geometry/support/aaBoundingRect.js";import{PlaneIndex as y}from"../../../geometry/support/frustum.js";import{create as j,fromPoints as b}from"../../../geometry/support/lineSegment.js";import{create as A,fromVectorsAndPoint as E,copy as S,negate as B,signedDistance as C}from"../../../geometry/support/plane.js";import{wrap as H}from"../../../geometry/support/ray.js";import{ViewingMode as w}from"../../ViewingMode.js";import{frustumLineSegment as G}from"./intersectionUtils.js";const M=.5*Math.PI,F=M/Math.PI*180;class N{constructor(t){this._renderCoordsHelper=t.renderCoordsHelper,this._extent=new Array(4),this._planes=new Array(6),this._maxSpan=0,this._center={origin:p(),direction:p()};for(let e=0;e<4;e++)this._extent[e]={origin:p(),direction:p(),cap:{next:null,direction:p()}},this._planes[e]=A();this._planes[y.NEAR]=A(),this._planes[y.FAR]=A(),this._planesWithoutFar=this._planes.slice(0,5)}update(t,e,i,r=!0){const a=this._extent;this._toRenderBoundingExtent(t,e,i),n(this._center.origin,a[0].origin,a[2].origin),o(this._center.origin,this._center.origin,.5),this._renderCoordsHelper.worldUpAtPosition(this._center.origin,this._center.direction),r||o(this._center.direction,this._center.direction,-1);for(let n=0;n<4;n++){const t=a[n];this._renderCoordsHelper.worldUpAtPosition(t.origin,t.direction);const e=a[3===n?0:n+1];t.cap.next=e.origin,s(t.cap.direction,t.origin,e.origin),E(t.direction,t.cap.direction,t.origin,this._planes[n]),r||o(t.direction,t.direction,-1)}E(a[0].cap.direction,a[1].cap.direction,a[0].origin,this._planes[y.NEAR]),r?B(this._planes[y.NEAR],this._planes[y.FAR]):(S(this._planes[y.FAR],this._planes[y.NEAR]),B(this._planes[y.NEAR],this._planes[y.NEAR])),this._maxSpan=Math.max(Math.abs(t[0]-t[2]),Math.abs(t[1]-t[3])),this._maxSpanSpatialReference=e,this._minGlobalAltitude=.9*h(this._maxSpanSpatialReference).radius}isVisibleInFrustum(t,e,i=!1){if(null==t)return!1;if(this._renderCoordsHelper.viewingMode===w.Global){const i=this._maxSpanSpatialReference.isGeographic?F:M*e;if(this._maxSpan>i)return!0;if(null!=t.altitude&&t.altitude>=this._minGlobalAltitude)return this._isVisibleInFrustumGlobal(t)}if(0===this._maxSpan){const e=this._extent[0];return!(i||!t.intersectsRay(H(e.origin,e.direction)))}for(let n=0;n<this._extent.length;n++){const e=this._extent[n];if(!i&&t.intersectsRay(H(e.origin,e.direction)))return!0;if(t.intersectsLineSegment(b(e.origin,e.cap.next,k),e.cap.direction))return!0}const r=i?this._planes:this._planesWithoutFar;for(let n=0;n<t.lines.length;n++){const e=t.lines[n];if(G(r,e.origin,e.endpoint,e.direction))return!0}return!1}_toRenderBoundingExtentGlobal(t,r,n){const o=5;R(t,V),V[2]=n,d(r,V,v,this._renderCoordsHelper.spatialReference),i(I,v),f(L);for(const{x0:i,x1:s,y0:c,y1:l}of U)for(let p=0;p<o;p++){const h=p/(o-1);V[0]=e(t[i],t[s],h),V[1]=e(t[c],t[l],h),V[2]=n,_(V,r,V,this._renderCoordsHelper.spatialReference),a(V,V,I),u(L,V)}c(this._extent[0].origin,L[0],L[1],L[2]),c(this._extent[1].origin,L[3],L[1],L[2]),c(this._extent[2].origin,L[3],L[4],L[2]),c(this._extent[3].origin,L[0],L[4],L[2]);for(let e=0;e<4;++e)a(this._extent[e].origin,this._extent[e].origin,v)}_toRenderBoundingExtentLocal(t,e,i){m(t,e,P,this._renderCoordsHelper.spatialReference),c(this._extent[0].origin,P[0],P[1],i),c(this._extent[1].origin,P[2],P[1],i),c(this._extent[2].origin,P[2],P[3],i),c(this._extent[3].origin,P[0],P[3],i)}_toRenderBoundingExtent(e,i,r){switch(this._renderCoordsHelper.viewingMode){case w.Global:this._toRenderBoundingExtentGlobal(e,i,r);break;case w.Local:this._toRenderBoundingExtentLocal(e,i,r);break;default:t(this._renderCoordsHelper.viewingMode)}}_isVisibleInFrustumGlobal(t){if(C(t.planes[y.NEAR],this._center.origin)<0&&l(this._center.direction,t.direction)<0)return!0;for(let e=0;e<4;e++){const i=this._extent[e];if(C(t.planes[y.NEAR],i.origin)<0&&l(i.direction,t.direction)<0)return!0}return!1}}const U=[{x0:0,y0:1,x1:2,y1:1},{x0:0,y0:3,x1:2,y1:3},{x0:0,y0:1,x1:0,y1:3},{x0:2,y0:1,x1:2,y1:3}],V=p(),v=r(),I=r(),L=g(),P=x(),k=j();export{N as FrustumExtentIntersection};
5
+ import{neverReached as t}from"../../../core/compilerUtils.js";import{lerp as e}from"../../../core/mathUtils.js";import{invert as i}from"../../../core/libs/gl-matrix-2/math/mat4.js";import{create as r}from"../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{g as n,h as o,o as s,t as a,i as c,f as l}from"../../../chunks/vec32.js";import{create as p}from"../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{getReferenceEllipsoid as h}from"../../../geometry/ellipsoidUtils.js";import{computeTranslationToOriginAndRotation as d}from"../../../geometry/projection/computeTranslationToOriginAndRotation.js";import{projectBoundingRect as m}from"../../../geometry/projection/projectBoundingRect.js";import{projectVectorToVector as _}from"../../../geometry/projection/projectVectorToVector.js";import{create as g,empty as f,expandWithVec3 as u}from"../../../geometry/support/aaBoundingBox.js";import{create as x,center as R}from"../../../geometry/support/aaBoundingRect.js";import{PlaneIndex as y}from"../../../geometry/support/frustum.js";import{create as j,fromPoints as b}from"../../../geometry/support/lineSegment.js";import{create as A,fromVectorsAndPoint as E,copy as S,negate as B,signedDistance as C}from"../../../geometry/support/plane.js";import{wrap as H}from"../../../geometry/support/ray.js";import{ViewingMode as w}from"../../ViewingMode.js";import{frustumLineSegment as G}from"./intersectionUtils.js";const M=.5*Math.PI,F=M/Math.PI*180;class N{constructor(t){this._extent=new Array(4),this._planes=new Array(6),this._maxSpan=0,this._center={origin:p(),direction:p()},this._renderCoordsHelper=t.renderCoordsHelper;for(let e=0;e<4;e++)this._extent[e]={origin:p(),direction:p(),cap:{next:null,direction:p()}},this._planes[e]=A();this._planes[y.NEAR]=A(),this._planes[y.FAR]=A(),this._planesWithoutFar=this._planes.slice(0,5)}update(t,e,i,r=!0){const a=this._extent;this._toRenderBoundingExtent(t,e,i),n(this._center.origin,a[0].origin,a[2].origin),o(this._center.origin,this._center.origin,.5),this._renderCoordsHelper.worldUpAtPosition(this._center.origin,this._center.direction),r||o(this._center.direction,this._center.direction,-1);for(let n=0;n<4;n++){const t=a[n];this._renderCoordsHelper.worldUpAtPosition(t.origin,t.direction);const e=a[3===n?0:n+1];t.cap.next=e.origin,s(t.cap.direction,t.origin,e.origin),E(t.direction,t.cap.direction,t.origin,this._planes[n]),r||o(t.direction,t.direction,-1)}E(a[0].cap.direction,a[1].cap.direction,a[0].origin,this._planes[y.NEAR]),r?B(this._planes[y.NEAR],this._planes[y.FAR]):(S(this._planes[y.FAR],this._planes[y.NEAR]),B(this._planes[y.NEAR],this._planes[y.NEAR])),this._maxSpan=Math.max(Math.abs(t[0]-t[2]),Math.abs(t[1]-t[3])),this._maxSpanSpatialReference=e,this._minGlobalAltitude=.9*h(this._maxSpanSpatialReference).radius}isVisibleInFrustum(t,e,i=!1){if(null==t)return!1;if(this._renderCoordsHelper.viewingMode===w.Global){const i=this._maxSpanSpatialReference.isGeographic?F:M*e;if(this._maxSpan>i)return!0;if(null!=t.altitude&&t.altitude>=this._minGlobalAltitude)return this._isVisibleInFrustumGlobal(t)}if(0===this._maxSpan){const e=this._extent[0];return!(i||!t.intersectsRay(H(e.origin,e.direction)))}for(let n=0;n<this._extent.length;n++){const e=this._extent[n];if(!i&&t.intersectsRay(H(e.origin,e.direction)))return!0;if(t.intersectsLineSegment(b(e.origin,e.cap.next,k),e.cap.direction))return!0}const r=i?this._planes:this._planesWithoutFar;for(let n=0;n<t.lines.length;n++){const e=t.lines[n];if(G(r,e.origin,e.endpoint,e.direction))return!0}return!1}_toRenderBoundingExtentGlobal(t,r,n){const o=5;R(t,V),V[2]=n,d(r,V,v,this._renderCoordsHelper.spatialReference),i(I,v),f(L);for(const{x0:i,x1:s,y0:c,y1:l}of U)for(let p=0;p<o;p++){const h=p/(o-1);V[0]=e(t[i],t[s],h),V[1]=e(t[c],t[l],h),V[2]=n,_(V,r,V,this._renderCoordsHelper.spatialReference),a(V,V,I),u(L,V)}c(this._extent[0].origin,L[0],L[1],L[2]),c(this._extent[1].origin,L[3],L[1],L[2]),c(this._extent[2].origin,L[3],L[4],L[2]),c(this._extent[3].origin,L[0],L[4],L[2]);for(let e=0;e<4;++e)a(this._extent[e].origin,this._extent[e].origin,v)}_toRenderBoundingExtentLocal(t,e,i){m(t,e,P,this._renderCoordsHelper.spatialReference),c(this._extent[0].origin,P[0],P[1],i),c(this._extent[1].origin,P[2],P[1],i),c(this._extent[2].origin,P[2],P[3],i),c(this._extent[3].origin,P[0],P[3],i)}_toRenderBoundingExtent(e,i,r){switch(this._renderCoordsHelper.viewingMode){case w.Global:this._toRenderBoundingExtentGlobal(e,i,r);break;case w.Local:this._toRenderBoundingExtentLocal(e,i,r);break;default:t(this._renderCoordsHelper.viewingMode)}}_isVisibleInFrustumGlobal(t){if(C(t.planes[y.NEAR],this._center.origin)<0&&l(this._center.direction,t.direction)<0)return!0;for(let e=0;e<4;e++){const i=this._extent[e];if(C(t.planes[y.NEAR],i.origin)<0&&l(i.direction,t.direction)<0)return!0}return!1}}const U=[{x0:0,y0:1,x1:2,y1:1},{x0:0,y0:3,x1:2,y1:3},{x0:0,y0:1,x1:0,y1:3},{x0:2,y0:1,x1:2,y1:3}],V=p(),v=r(),I=r(),L=g(),P=x(),k=j();export{N as FrustumExtentIntersection};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import"../../../geometry.js";import"../../../core/mathUtils.js";import"../../../core/libs/gl-matrix-2/math/mat4.js";import"../../../core/libs/gl-matrix-2/factories/mat4f64.js";import"../../../core/libs/gl-matrix-2/factories/vec2f64.js";import"../../../chunks/vec32.js";import"../../../core/libs/gl-matrix-2/factories/vec3f64.js";import"../../../geometry/Extent.js";import"../../../geometry/projection/projectPointToVector.js";import"../../../geometry/projection/projectVectorToVector.js";import"../../../geometry/support/coordsUtils.js";import"../../../geometry/support/frustum.js";import"../../../geometry/support/polygonExtentClipping.js";import"../../../geometry/support/ray.js";import"../state/Frustum.js";import"./cameraUtilsInternal.js";import"../../../geometry/Polygon.js";export{d as directionToHeadingTilt,e as eyeForCenterWithHeadingTilt,a as eyeTiltToLookAtTilt,h as headingTiltToDirectionUp,l as lookAtTiltToEyeTilt,b as toArea,t as toExtent}from"../../../chunks/cameraUtilsPlanar.js";
5
+ import"../../../core/mathUtils.js";import"../../../core/libs/gl-matrix-2/math/mat4.js";import"../../../core/libs/gl-matrix-2/factories/mat4f64.js";import"../../../core/libs/gl-matrix-2/factories/vec2f64.js";import"../../../chunks/vec32.js";import"../../../core/libs/gl-matrix-2/factories/vec3f64.js";import"../../../geometry/Extent.js";import"../../../geometry/Polygon.js";import"../../../geometry/projection/projectPointToVector.js";import"../../../geometry/projection/projectVectorToVector.js";import"../../../geometry/support/coordsUtils.js";import"../../../geometry/support/frustum.js";import"../../../geometry/support/polygonExtentClipping.js";import"../../../geometry/support/ray.js";import"../state/Frustum.js";import"./cameraUtilsInternal.js";export{d as directionToHeadingTilt,e as eyeForCenterWithHeadingTilt,a as eyeTiltToLookAtTilt,h as headingTiltToDirectionUp,l as lookAtTiltToEyeTilt,b as toArea,t as toExtent}from"../../../chunks/cameraUtilsPlanar.js";
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import"../../../geometry.js";import"../../../core/Cyclical.js";import"../../../core/mathUtils.js";import"../../../core/libs/gl-matrix-2/math/mat4.js";import"../../../core/libs/gl-matrix-2/factories/mat4f64.js";import"../../../chunks/vec32.js";import"../../../core/libs/gl-matrix-2/factories/vec3f64.js";import"../../../chunks/vec42.js";import"../../../core/libs/gl-matrix-2/factories/vec4f64.js";import"../../../core/libs/gl-matrix-2/math/common.js";import"../../../geometry/ellipsoidUtils.js";import"../../../geometry/Extent.js";import"../../../geometry/SpatialReference.js";import"../../../geometry/support/coordsUtils.js";import"../../../geometry/support/frustum.js";import"../../../geometry/support/lineSegment.js";import"../../../geometry/support/plane.js";import"../../../geometry/support/ray.js";import"../../../chunks/sphere.js";import"../../../geometry/support/webMercatorUtils.js";import"../state/Frustum.js";import"../state/utils/viewUtils.js";import"./cameraUtilsInternal.js";import"./earthUtils.js";import"./mathUtils.js";import"../../../geometry/Polygon.js";export{d as directionToHeadingTilt,e as eyeForCenterWithHeadingTilt,a as eyeTiltToLookAtTilt,h as headingTiltToDirectionUp,l as lookAtTiltToEyeTilt,b as toArea,t as toExtent}from"../../../chunks/cameraUtilsSpherical.js";
5
+ import"../../../core/Cyclical.js";import"../../../core/mathUtils.js";import"../../../core/libs/gl-matrix-2/math/mat4.js";import"../../../core/libs/gl-matrix-2/factories/mat4f64.js";import"../../../chunks/vec32.js";import"../../../core/libs/gl-matrix-2/factories/vec3f64.js";import"../../../chunks/vec42.js";import"../../../core/libs/gl-matrix-2/factories/vec4f64.js";import"../../../core/libs/gl-matrix-2/math/common.js";import"../../../geometry/ellipsoidUtils.js";import"../../../geometry/Extent.js";import"../../../geometry/Polygon.js";import"../../../geometry/SpatialReference.js";import"../../../geometry/support/coordsUtils.js";import"../../../geometry/support/frustum.js";import"../../../geometry/support/lineSegment.js";import"../../../geometry/support/plane.js";import"../../../geometry/support/ray.js";import"../../../chunks/sphere.js";import"../../../geometry/support/webMercatorUtils.js";import"../state/Frustum.js";import"../state/utils/viewUtils.js";import"./cameraUtilsInternal.js";import"./earthUtils.js";import"./mathUtils.js";export{d as directionToHeadingTilt,e as eyeForCenterWithHeadingTilt,a as eyeTiltToLookAtTilt,h as headingTiltToDirectionUp,l as lookAtTiltToEyeTilt,b as toArea,t as toExtent}from"../../../chunks/cameraUtilsSpherical.js";
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import"../../../geometry.js";import s from"../../../Graphic.js";import"../../../symbols.js";import i from"../../../core/Collection.js";import t from"../../../symbols/PointSymbol3D.js";import o from"../../../symbols/IconSymbol3DLayer.js";import e from"../../../symbols/TextSymbol3DLayer.js";import r from"../../../geometry/Point.js";import h from"../../../symbols/LineSymbol3D.js";import n from"../../../symbols/LineSymbol3DLayer.js";import m from"../../../geometry/Polyline.js";class a{constructor(s){this.destination=s}hide(){null!=this.graphic&&(this.destination.remove(this.graphic),this.graphic=null)}}class c extends a{constructor(s,r,h=""){super(s),this._symbol=new t({symbolLayers:new i([new o({material:{color:r},outline:{color:[255,255,255],size:1},resource:{primitive:"circle"}}),new e({text:h,halo:{color:"white",size:1/.75},material:{color:r},size:12})])})}show(i,t){if(!t)return;this.hide();const o=new r({x:i[0],y:i[1],z:i[2],spatialReference:t});this.graphic=new s({geometry:o,symbol:this._symbol}),this.destination.add(this.graphic)}}class l extends a{constructor(s,t){super(s),this._symbol=new h({symbolLayers:new i([new n({material:{color:t},size:2})])})}show(i,t){if(!t)return;this.hide();const o=new m({paths:i,spatialReference:t});this.graphic=new s({geometry:o,symbol:this._symbol}),this.destination.add(this.graphic)}}class p{constructor(s){this.destination=s,this._graphics=new Map}showPoint(s,i,t,o){const e=new c(this.destination,o,s);this._graphics.get(s)?.hide(),this._graphics.set(s,e),e.show(i,t)}showSegment(s,i,t,o,e){const r=[[[i[0],i[1],i[2]],[t[0],t[1],t[2]]]],h=new l(this.destination,e);this._graphics.get(s)?.hide(),this._graphics.set(s,h),h.show(r,o)}showVector(s,i,t,o,e){const r=[[[i[0],i[1],i[2]],[i[0]+t[0],i[1]+t[1],i[2]+t[2]]]],h=new l(this.destination,e);this._graphics.get(s)?.hide(),this._graphics.set(s,h),h.show(r,o)}hide(){this._graphics.forEach((s=>s.hide))}}export{p as DebugGraphics,c as DebugPoint,l as DebugSegment};
5
+ import s from"../../../Graphic.js";import i from"../../../core/Collection.js";import t from"../../../geometry/Point.js";import o from"../../../geometry/Polyline.js";import e from"../../../symbols/IconSymbol3DLayer.js";import r from"../../../symbols/LineSymbol3D.js";import h from"../../../symbols/LineSymbol3DLayer.js";import n from"../../../symbols/PointSymbol3D.js";import a from"../../../symbols/TextSymbol3DLayer.js";class c{constructor(s){this.destination=s}hide(){null!=this.graphic&&(this.destination.remove(this.graphic),this.graphic=null)}}class m extends c{constructor(s,t,o=""){super(s),this._symbol=new n({symbolLayers:new i([new e({material:{color:t},outline:{color:[255,255,255],size:1},resource:{primitive:"circle"}}),new a({text:o,halo:{color:"white",size:1/.75},material:{color:t},size:12})])})}show(i,o){if(!o)return;this.hide();const e=new t({x:i[0],y:i[1],z:i[2],spatialReference:o});this.graphic=new s({geometry:e,symbol:this._symbol}),this.destination.add(this.graphic)}}class l extends c{constructor(s,t){super(s),this._symbol=new r({symbolLayers:new i([new h({material:{color:t},size:2})])})}show(i,t){if(!t)return;this.hide();const e=new o({paths:i,spatialReference:t});this.graphic=new s({geometry:e,symbol:this._symbol}),this.destination.add(this.graphic)}}class p{constructor(s){this.destination=s,this._graphics=new Map}showPoint(s,i,t,o){const e=new m(this.destination,o,s);this._graphics.get(s)?.hide(),this._graphics.set(s,e),e.show(i,t)}showSegment(s,i,t,o,e){const r=[[[i[0],i[1],i[2]],[t[0],t[1],t[2]]]],h=new l(this.destination,e);this._graphics.get(s)?.hide(),this._graphics.set(s,h),h.show(r,o)}showVector(s,i,t,o,e){const r=[[[i[0],i[1],i[2]],[i[0]+t[0],i[1]+t[1],i[2]+t[2]]]],h=new l(this.destination,e);this._graphics.get(s)?.hide(),this._graphics.set(s,h),h.show(r,o)}hide(){this._graphics.forEach((s=>s.hide))}}export{p as DebugGraphics,m as DebugPoint,l as DebugSegment};