@arcgis/core 4.23.0-next.20220106 → 4.23.0-next.20220124

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 (642) hide show
  1. package/assets/components/assets/calcite-date-picker/nls/bg.json +31 -0
  2. package/assets/components/assets/calcite-icon/centerAlign16.json +1 -0
  3. package/assets/components/assets/calcite-icon/centerAlign24.json +1 -0
  4. package/assets/components/assets/calcite-icon/centerAlign32.json +1 -0
  5. package/assets/components/assets/calcite-icon/checkSquareF16.json +1 -0
  6. package/assets/components/assets/calcite-icon/checkSquareF24.json +1 -0
  7. package/assets/components/assets/calcite-icon/checkSquareF32.json +1 -0
  8. package/assets/components/assets/calcite-icon/convert16.json +1 -0
  9. package/assets/components/assets/calcite-icon/convert24.json +1 -0
  10. package/assets/components/assets/calcite-icon/convert32.json +1 -0
  11. package/assets/components/assets/calcite-icon/explore16.json +1 -0
  12. package/assets/components/assets/calcite-icon/explore24.json +1 -0
  13. package/assets/components/assets/calcite-icon/explore32.json +1 -0
  14. package/assets/components/assets/calcite-icon/formDropdown16.json +1 -0
  15. package/assets/components/assets/calcite-icon/formDropdown24.json +1 -0
  16. package/assets/components/assets/calcite-icon/formDropdown32.json +1 -0
  17. package/assets/components/assets/calcite-icon/language16.json +1 -0
  18. package/assets/components/assets/calcite-icon/language24.json +1 -0
  19. package/assets/components/assets/calcite-icon/language32.json +1 -0
  20. package/assets/components/assets/calcite-icon/languageTranslate16.json +1 -0
  21. package/assets/components/assets/calcite-icon/languageTranslate24.json +1 -0
  22. package/assets/components/assets/calcite-icon/languageTranslate32.json +1 -0
  23. package/assets/components/assets/calcite-icon/leftAlign16.json +1 -0
  24. package/assets/components/assets/calcite-icon/leftAlign24.json +1 -0
  25. package/assets/components/assets/calcite-icon/leftAlign32.json +1 -0
  26. package/assets/components/assets/calcite-icon/lineSolid4.json +1 -0
  27. package/assets/components/assets/calcite-icon/partlyCloudy16.json +1 -0
  28. package/assets/components/assets/calcite-icon/partlyCloudy24.json +1 -0
  29. package/assets/components/assets/calcite-icon/partlyCloudy32.json +1 -0
  30. package/assets/components/assets/calcite-icon/rightAlign16.json +1 -0
  31. package/assets/components/assets/calcite-icon/rightAlign24.json +1 -0
  32. package/assets/components/assets/calcite-icon/rightAlign32.json +1 -0
  33. package/assets/components/assets/calcite-icon/screenshotMode16.json +1 -0
  34. package/assets/components/assets/calcite-icon/screenshotMode24.json +1 -0
  35. package/assets/components/assets/calcite-icon/screenshotMode32.json +1 -0
  36. package/assets/components/assets/calcite-icon/squareF16.json +1 -0
  37. package/assets/components/assets/calcite-icon/squareF24.json +1 -0
  38. package/assets/components/assets/calcite-icon/squareF32.json +1 -0
  39. package/assets/components/assets/calcite-icon/terminal16.json +1 -0
  40. package/assets/components/assets/calcite-icon/terminal24.json +1 -0
  41. package/assets/components/assets/calcite-icon/terminal32.json +1 -0
  42. package/assets/components/assets/calcite-icon/touch16.json +1 -0
  43. package/assets/components/assets/calcite-icon/touch24.json +1 -0
  44. package/assets/components/assets/calcite-icon/touch32.json +1 -0
  45. package/assets/components/assets/calcite-icon/xHexagon16.json +1 -0
  46. package/assets/components/assets/calcite-icon/xHexagon24.json +1 -0
  47. package/assets/components/assets/calcite-icon/xHexagon32.json +1 -0
  48. package/assets/components/assets/calcite-icon/xHexagonF16.json +1 -0
  49. package/assets/components/assets/calcite-icon/xHexagonF24.json +1 -0
  50. package/assets/components/assets/calcite-icon/xHexagonF32.json +1 -0
  51. package/assets/components/assets/calcite-icon/xOctagonF16.json +1 -0
  52. package/assets/components/assets/calcite-icon/xOctagonF24.json +1 -0
  53. package/assets/components/assets/calcite-icon/xOctagonF32.json +1 -0
  54. package/assets/esri/core/workers/RemoteClient.js +1 -1
  55. package/assets/esri/core/workers/chunks/09da224052976e290828.js +1 -0
  56. package/assets/esri/core/workers/chunks/0bf079e752ab79468478.js +1 -0
  57. package/assets/esri/core/workers/chunks/{ce5ca5e95b2378ec55b9.js → 1305ef8717da6e902a55.js} +1 -1
  58. package/assets/esri/core/workers/chunks/199670a3a564ebe3bd79.js +1 -0
  59. package/assets/esri/core/workers/chunks/1e4d37c2b9dc83d20a11.js +1 -0
  60. package/assets/esri/core/workers/chunks/20411bb8e04703962ce6.js +1 -0
  61. package/assets/esri/core/workers/chunks/2416f8bf8bbd2ec786ab.js +1 -0
  62. package/assets/esri/core/workers/chunks/25a3e9bc0b4c7e0d3165.js +1 -0
  63. package/assets/esri/core/workers/chunks/{99f0d896c17dd09cd285.js → 2629adf79e7fd9f25f07.js} +1 -1
  64. package/assets/esri/core/workers/chunks/{9c417740bf3707a0d465.js → 2c607d30ff8ca1b61286.js} +1 -1
  65. package/assets/esri/core/workers/chunks/2e445a8735ea2adb641a.js +1 -0
  66. package/assets/esri/core/workers/chunks/37a7bd30352b1309b8f8.js +1 -0
  67. package/assets/esri/core/workers/chunks/390d9021169e65c10eb8.js +1 -0
  68. package/assets/esri/core/workers/chunks/{3d5169ea9810d10caf0d.js → 3a9740dccda6a733313c.js} +1 -1
  69. package/assets/esri/core/workers/chunks/{8a250ec51097f16feb66.js → 40a1e713f63ec77110c0.js} +1 -1
  70. package/assets/esri/core/workers/chunks/43cdff2418325e163420.js +1 -0
  71. package/assets/esri/core/workers/chunks/4c9084a04948b6924749.js +1 -0
  72. package/assets/esri/core/workers/chunks/{4beba242e7540ee3182b.js → 5538639a49c7cc2eca63.js} +1 -1
  73. package/assets/esri/core/workers/chunks/57c67e260267a1dbc5e3.js +1 -0
  74. package/assets/esri/core/workers/chunks/5a4a5585ec8027079f32.js +1 -0
  75. package/assets/esri/core/workers/chunks/5ac4c1d54b94c7d87835.js +1 -0
  76. package/assets/esri/core/workers/chunks/60371c0f750cde87656d.js +1 -0
  77. package/assets/esri/core/workers/chunks/{ba6fdaed6c315dc13981.js → 625d2663daa8e0cf64b0.js} +1 -1
  78. package/assets/esri/core/workers/chunks/{3a2b2dc3e938d53faa30.js → 64276aacaafa4c8a15bd.js} +1 -1
  79. package/assets/esri/core/workers/chunks/{75466e0c8c8da499b150.js → 662d13f68cf3ec92439b.js} +1 -1
  80. package/assets/esri/core/workers/chunks/663ad15b86936eb06b69.js +1 -0
  81. package/assets/esri/core/workers/chunks/67162b3e2cc1b5dc6818.js +1 -0
  82. package/assets/esri/core/workers/chunks/68a59ce98177d8513337.js +1 -0
  83. package/assets/esri/core/workers/chunks/6cdfe175c965918b741b.js +1 -0
  84. package/assets/esri/core/workers/chunks/739e579150bf466d43ae.js +1 -0
  85. package/assets/esri/core/workers/chunks/74df1f3e1e2e524a89d2.js +1 -0
  86. package/assets/esri/core/workers/chunks/76eef4799f6c5fff7e2d.js +1 -0
  87. package/assets/esri/core/workers/chunks/{ea05f870dda27bca4fe8.js → 7a8764ae8a0041e1151d.js} +2 -2
  88. package/assets/esri/core/workers/chunks/{ea05f870dda27bca4fe8.js.LICENSE.txt → 7a8764ae8a0041e1151d.js.LICENSE.txt} +1 -1
  89. package/assets/esri/core/workers/chunks/7baf6b1f3f050aa67ae4.js +1 -0
  90. package/assets/esri/core/workers/chunks/{f52b6d5037e4205b035c.js → 7bc5cc5dbf1b7b70ddac.js} +1 -1
  91. package/assets/esri/core/workers/chunks/85e27fd949475f9a6bbc.js +1 -0
  92. package/assets/esri/core/workers/chunks/8967288145f8fbd20e7d.js +1 -0
  93. package/assets/esri/core/workers/chunks/8cbb04a9065aa3756638.js +1 -0
  94. package/assets/esri/core/workers/chunks/8fa0a14165d43ffe87a5.js +1 -0
  95. package/assets/esri/core/workers/chunks/94b8dbf859df71858d1c.js +1 -0
  96. package/assets/esri/core/workers/chunks/96ab518eb6ba11333dee.js +1 -0
  97. package/assets/esri/core/workers/chunks/99a777693e4539f0b03b.js +1 -0
  98. package/assets/esri/core/workers/chunks/9cb2ae42a8e328b1d98d.js +1 -0
  99. package/assets/esri/core/workers/chunks/9d3c58a0ef634d95b7bd.js +1 -0
  100. package/assets/esri/core/workers/chunks/9d77467aa71d345fc1b6.js +1 -0
  101. package/assets/esri/core/workers/chunks/9f8b7b6b4e95f9a794fc.js +1 -0
  102. package/assets/esri/core/workers/chunks/a78757b9c7e8cbea08fa.js +1 -0
  103. package/assets/esri/core/workers/chunks/{9b7c51ff3d2b42aa62f5.js → a7b1b75643ed31489495.js} +1 -1
  104. package/assets/esri/core/workers/chunks/a8b13fb804bb775e4967.js +1 -0
  105. package/assets/esri/core/workers/chunks/a8c13529367c037cdd94.js +1 -0
  106. package/assets/esri/core/workers/chunks/a96afc176041f698c7a1.js +1 -0
  107. package/assets/esri/core/workers/chunks/aa861b8eae6c85f3dad4.js +1 -0
  108. package/assets/esri/core/workers/chunks/ac8dca61ade28c542ae2.js +1 -0
  109. package/assets/esri/core/workers/chunks/ad081d8e49e7f90c3c26.js +1 -0
  110. package/assets/esri/core/workers/chunks/afa6912454f2a5ffadce.js +1 -0
  111. package/assets/esri/core/workers/chunks/b0b036ad3ad3cd956747.js +1 -0
  112. package/assets/esri/core/workers/chunks/{2a39d520b192b8e552b5.js → b2ae5fc4f787ea568b88.js} +1 -1
  113. package/assets/esri/core/workers/chunks/b2beb6e1fd2ee6503830.js +1 -0
  114. package/assets/esri/core/workers/chunks/{b87bc1481a49b38109f4.js → b9c177524b3e7de1ffd1.js} +1 -1
  115. package/assets/esri/core/workers/chunks/ba615f118a3a8970ef25.js +1 -0
  116. package/assets/esri/core/workers/chunks/{7c1b9ae141112a63b446.js → ba6654a885be4b7a43f0.js} +1 -1
  117. package/assets/esri/core/workers/chunks/bab1cfd0a901181622af.js +1 -0
  118. package/assets/esri/core/workers/chunks/be2b7cce79fd41627931.js +1 -0
  119. package/assets/esri/core/workers/chunks/bf6dda4a2af14c4b7716.js +1 -0
  120. package/assets/esri/core/workers/chunks/{ed0297fc61014e848c18.js → c080114a69fa95b88d22.js} +1 -1
  121. package/assets/esri/core/workers/chunks/c13dfdd548dcb1bdb294.js +1 -0
  122. package/assets/esri/core/workers/chunks/c36f84daa7736878418d.js +1 -0
  123. package/assets/esri/core/workers/chunks/c6f94b92e866b881d9b9.js +1 -0
  124. package/assets/esri/core/workers/chunks/{573dc3064e84ca86844d.js → c959e0d1cf7dce0421b9.js} +1 -1
  125. package/assets/esri/core/workers/chunks/{1fd48459afb58a6cf14f.js → ca2f5faa01d99c21ec14.js} +1 -1
  126. package/assets/esri/core/workers/chunks/cbb291412fd1a5261aa9.js +1 -0
  127. package/assets/esri/core/workers/chunks/{7aa543a97f055cddea99.js → cc146c57bbdac8029fd8.js} +1 -1
  128. package/assets/esri/core/workers/chunks/cd7d83d127e085d52584.js +1 -0
  129. package/assets/esri/core/workers/chunks/cef4af64860ebbfc1c47.js +1 -0
  130. package/assets/esri/core/workers/chunks/d1454155ee1b8a421cbb.js +1 -0
  131. package/assets/esri/core/workers/chunks/{0cd583c3233573cb8468.js → d24c4fbc567486b1188f.js} +1 -1
  132. package/assets/esri/core/workers/chunks/d52108864136c5a8a618.js +1 -0
  133. package/assets/esri/core/workers/chunks/d72488db62fcf39447b6.js +1 -0
  134. package/assets/esri/core/workers/chunks/de03439ca2c9782bf325.js +1 -0
  135. package/assets/esri/core/workers/chunks/de6cff7b6cbbf99b20d1.js +981 -0
  136. package/assets/esri/core/workers/chunks/e079cb1d53aca15b7df2.js +1 -0
  137. package/assets/esri/core/workers/chunks/e59764ee8cf25d4f74e2.js +1 -0
  138. package/assets/esri/core/workers/chunks/e6df9839b551569fbc62.js +1 -0
  139. package/assets/esri/core/workers/chunks/e97e986120aaadad7d4c.js +1 -0
  140. package/assets/esri/core/workers/chunks/{2f66fcb8670b108af549.js → ed0bcc66fb1e0ee75a4b.js} +1 -1
  141. package/assets/esri/core/workers/chunks/f8e7755240a94b499e1f.js +1 -0
  142. package/assets/esri/core/workers/chunks/{b4ed7856cd9c98434477.js → fe864d01e72aa24574b6.js} +1 -1
  143. package/assets/esri/libs/vxl/vxlLayer.wasm +0 -0
  144. package/assets/esri/themes/base/icons/fonts/CalciteWebCoreIcons.svg +1 -0
  145. package/assets/esri/themes/base/icons/fonts/CalciteWebCoreIcons.ttf +0 -0
  146. package/assets/esri/themes/base/icons/fonts/CalciteWebCoreIcons.woff +0 -0
  147. package/assets/esri/themes/base/icons/selection.json +1 -1
  148. package/assets/esri/themes/base/icons/style.css +4 -0
  149. package/assets/esri/themes/base/icons/style.scss +6 -0
  150. package/assets/esri/themes/base/icons/variables.scss +1 -0
  151. package/assets/esri/themes/base/widgets/_FeatureTable.scss +6 -0
  152. package/assets/esri/themes/base/widgets/_Weather.scss +1 -1
  153. package/assets/esri/themes/dark/main.css +1 -1
  154. package/assets/esri/themes/dark-blue/main.css +1 -1
  155. package/assets/esri/themes/dark-green/main.css +1 -1
  156. package/assets/esri/themes/dark-purple/main.css +1 -1
  157. package/assets/esri/themes/dark-red/main.css +1 -1
  158. package/assets/esri/themes/light/main.css +1 -1
  159. package/assets/esri/themes/light/view.css +1 -1
  160. package/assets/esri/themes/light-blue/main.css +1 -1
  161. package/assets/esri/themes/light-green/main.css +1 -1
  162. package/assets/esri/themes/light-purple/main.css +1 -1
  163. package/assets/esri/themes/light-red/main.css +1 -1
  164. package/assets/esri/widgets/Editor/t9n/Editor_ar.json +1 -1
  165. package/assets/esri/widgets/Editor/t9n/Editor_bg.json +1 -1
  166. package/assets/esri/widgets/Editor/t9n/Editor_bs.json +1 -1
  167. package/assets/esri/widgets/Editor/t9n/Editor_ca.json +1 -1
  168. package/assets/esri/widgets/Editor/t9n/Editor_cs.json +1 -1
  169. package/assets/esri/widgets/Editor/t9n/Editor_da.json +1 -1
  170. package/assets/esri/widgets/Editor/t9n/Editor_de.json +1 -1
  171. package/assets/esri/widgets/Editor/t9n/Editor_el.json +1 -1
  172. package/assets/esri/widgets/Editor/t9n/Editor_es.json +1 -1
  173. package/assets/esri/widgets/Editor/t9n/Editor_et.json +1 -1
  174. package/assets/esri/widgets/Editor/t9n/Editor_fi.json +1 -1
  175. package/assets/esri/widgets/Editor/t9n/Editor_fr.json +1 -1
  176. package/assets/esri/widgets/Editor/t9n/Editor_he.json +1 -1
  177. package/assets/esri/widgets/Editor/t9n/Editor_hr.json +1 -1
  178. package/assets/esri/widgets/Editor/t9n/Editor_hu.json +1 -1
  179. package/assets/esri/widgets/Editor/t9n/Editor_id.json +1 -1
  180. package/assets/esri/widgets/Editor/t9n/Editor_it.json +1 -1
  181. package/assets/esri/widgets/Editor/t9n/Editor_ja.json +1 -1
  182. package/assets/esri/widgets/Editor/t9n/Editor_ko.json +1 -1
  183. package/assets/esri/widgets/Editor/t9n/Editor_lt.json +1 -1
  184. package/assets/esri/widgets/Editor/t9n/Editor_lv.json +1 -1
  185. package/assets/esri/widgets/Editor/t9n/Editor_nb.json +1 -1
  186. package/assets/esri/widgets/Editor/t9n/Editor_nl.json +1 -1
  187. package/assets/esri/widgets/Editor/t9n/Editor_pl.json +1 -1
  188. package/assets/esri/widgets/Editor/t9n/Editor_pt-BR.json +1 -1
  189. package/assets/esri/widgets/Editor/t9n/Editor_pt-PT.json +1 -1
  190. package/assets/esri/widgets/Editor/t9n/Editor_ro.json +1 -1
  191. package/assets/esri/widgets/Editor/t9n/Editor_ru.json +1 -1
  192. package/assets/esri/widgets/Editor/t9n/Editor_sk.json +1 -1
  193. package/assets/esri/widgets/Editor/t9n/Editor_sl.json +1 -1
  194. package/assets/esri/widgets/Editor/t9n/Editor_sr.json +1 -1
  195. package/assets/esri/widgets/Editor/t9n/Editor_sv.json +1 -1
  196. package/assets/esri/widgets/Editor/t9n/Editor_th.json +1 -1
  197. package/assets/esri/widgets/Editor/t9n/Editor_tr.json +1 -1
  198. package/assets/esri/widgets/Editor/t9n/Editor_uk.json +1 -1
  199. package/assets/esri/widgets/Editor/t9n/Editor_vi.json +1 -1
  200. package/assets/esri/widgets/Editor/t9n/Editor_zh-CN.json +1 -1
  201. package/assets/esri/widgets/Editor/t9n/Editor_zh-HK.json +1 -1
  202. package/assets/esri/widgets/Editor/t9n/Editor_zh-TW.json +1 -1
  203. package/assets/esri/widgets/ElevationProfile/t9n/ElevationProfile_ja.json +1 -1
  204. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_ar.json +1 -1
  205. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_bg.json +1 -1
  206. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_bs.json +1 -1
  207. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_ca.json +1 -1
  208. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_cs.json +1 -1
  209. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_da.json +1 -1
  210. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_de.json +1 -1
  211. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_el.json +1 -1
  212. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_es.json +1 -1
  213. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_et.json +1 -1
  214. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_fi.json +1 -1
  215. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_fr.json +1 -1
  216. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_he.json +1 -1
  217. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_hr.json +1 -1
  218. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_hu.json +1 -1
  219. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_id.json +1 -1
  220. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_it.json +1 -1
  221. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_ja.json +1 -1
  222. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_ko.json +1 -1
  223. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_lt.json +1 -1
  224. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_lv.json +1 -1
  225. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_nb.json +1 -1
  226. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_nl.json +1 -1
  227. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_pl.json +1 -1
  228. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_pt-BR.json +1 -1
  229. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_pt-PT.json +1 -1
  230. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_ro.json +1 -1
  231. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_ru.json +1 -1
  232. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_sk.json +1 -1
  233. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_sl.json +1 -1
  234. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_sr.json +1 -1
  235. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_sv.json +1 -1
  236. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_th.json +1 -1
  237. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_tr.json +1 -1
  238. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_uk.json +1 -1
  239. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_vi.json +1 -1
  240. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_zh-CN.json +1 -1
  241. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_zh-HK.json +1 -1
  242. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_zh-TW.json +1 -1
  243. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_cs.json +1 -1
  244. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_el.json +1 -1
  245. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_fr.json +1 -1
  246. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_lv.json +1 -1
  247. package/assets/esri/widgets/Weather/t9n/Weather_ar.json +1 -1
  248. package/assets/esri/widgets/Weather/t9n/Weather_bg.json +1 -1
  249. package/assets/esri/widgets/Weather/t9n/Weather_bs.json +1 -1
  250. package/assets/esri/widgets/Weather/t9n/Weather_ca.json +1 -1
  251. package/assets/esri/widgets/Weather/t9n/Weather_cs.json +1 -1
  252. package/assets/esri/widgets/Weather/t9n/Weather_da.json +1 -1
  253. package/assets/esri/widgets/Weather/t9n/Weather_de.json +1 -1
  254. package/assets/esri/widgets/Weather/t9n/Weather_el.json +1 -1
  255. package/assets/esri/widgets/Weather/t9n/Weather_es.json +1 -1
  256. package/assets/esri/widgets/Weather/t9n/Weather_et.json +1 -1
  257. package/assets/esri/widgets/Weather/t9n/Weather_fi.json +1 -1
  258. package/assets/esri/widgets/Weather/t9n/Weather_fr.json +1 -1
  259. package/assets/esri/widgets/Weather/t9n/Weather_he.json +1 -1
  260. package/assets/esri/widgets/Weather/t9n/Weather_hr.json +1 -1
  261. package/assets/esri/widgets/Weather/t9n/Weather_hu.json +1 -1
  262. package/assets/esri/widgets/Weather/t9n/Weather_id.json +1 -1
  263. package/assets/esri/widgets/Weather/t9n/Weather_it.json +1 -1
  264. package/assets/esri/widgets/Weather/t9n/Weather_ja.json +1 -1
  265. package/assets/esri/widgets/Weather/t9n/Weather_ko.json +1 -1
  266. package/assets/esri/widgets/Weather/t9n/Weather_lt.json +1 -1
  267. package/assets/esri/widgets/Weather/t9n/Weather_lv.json +1 -1
  268. package/assets/esri/widgets/Weather/t9n/Weather_nb.json +1 -1
  269. package/assets/esri/widgets/Weather/t9n/Weather_nl.json +1 -1
  270. package/assets/esri/widgets/Weather/t9n/Weather_pl.json +1 -1
  271. package/assets/esri/widgets/Weather/t9n/Weather_pt-BR.json +1 -1
  272. package/assets/esri/widgets/Weather/t9n/Weather_pt-PT.json +1 -1
  273. package/assets/esri/widgets/Weather/t9n/Weather_ro.json +1 -1
  274. package/assets/esri/widgets/Weather/t9n/Weather_ru.json +1 -1
  275. package/assets/esri/widgets/Weather/t9n/Weather_sk.json +1 -1
  276. package/assets/esri/widgets/Weather/t9n/Weather_sl.json +1 -1
  277. package/assets/esri/widgets/Weather/t9n/Weather_sr.json +1 -1
  278. package/assets/esri/widgets/Weather/t9n/Weather_sv.json +1 -1
  279. package/assets/esri/widgets/Weather/t9n/Weather_th.json +1 -1
  280. package/assets/esri/widgets/Weather/t9n/Weather_tr.json +1 -1
  281. package/assets/esri/widgets/Weather/t9n/Weather_uk.json +1 -1
  282. package/assets/esri/widgets/Weather/t9n/Weather_vi.json +1 -1
  283. package/assets/esri/widgets/Weather/t9n/Weather_zh-CN.json +1 -1
  284. package/assets/esri/widgets/Weather/t9n/Weather_zh-HK.json +1 -1
  285. package/assets/esri/widgets/Weather/t9n/Weather_zh-TW.json +1 -1
  286. package/chunks/Clouds.glsl.js +14 -14
  287. package/chunks/CloudsComposition.glsl.js +4 -4
  288. package/chunks/DefaultMaterial.glsl.js +2 -2
  289. package/chunks/HUDMaterial.glsl.js +22 -21
  290. package/chunks/RibbonLine.glsl.js +10 -14
  291. package/chunks/persistableUrlUtils.js +1 -1
  292. package/chunks/vec32.js +1 -1
  293. package/chunks/vec42.js +1 -1
  294. package/chunks/vxlLayer.js +1 -1
  295. package/core/accessorSupport/ensureType.js +1 -1
  296. package/core/accessorSupport/get.js +1 -1
  297. package/core/accessorSupport/set.js +1 -1
  298. package/core/has.js +1 -1
  299. package/core/urlUtils.js +1 -1
  300. package/core/workers/workerFactory.js +1 -1
  301. package/form/elements/FieldElement.js +1 -1
  302. package/geometry/support/buffer/math/common.js +1 -1
  303. package/geometry/support/heightModelInfoUtils.js +1 -1
  304. package/interfaces.d.ts +372 -126
  305. package/layers/FeatureLayer.js +1 -1
  306. package/layers/RouteLayer.js +1 -1
  307. package/layers/SubtypeGroupLayer.js +1 -1
  308. package/layers/VectorTileLayer.js +1 -1
  309. package/layers/VoxelLayer.js +1 -1
  310. package/layers/VoxelWasmPerScene.js +1 -1
  311. package/layers/WMSLayer.js +1 -1
  312. package/layers/graphics/controllers/FeatureTileController3D.js +1 -1
  313. package/layers/graphics/data/QueryEngineCapabilities.js +1 -1
  314. package/layers/graphics/sources/OGCFeatureSource.js +1 -1
  315. package/layers/mixins/ArcGISImageService.js +1 -1
  316. package/layers/mixins/OperationalLayer.js +1 -1
  317. package/layers/ogc/crsUtils.js +5 -0
  318. package/layers/support/RasterFunction.js +1 -1
  319. package/layers/support/RasterWorker.js +1 -1
  320. package/layers/support/capabilities.js +1 -1
  321. package/layers/support/rasterDatasets/BaseRaster.js +1 -1
  322. package/layers/support/rasterDatasets/WCSRaster.js +1 -1
  323. package/layers/support/rasterDatasets/wcsCoverageParser.js +1 -1
  324. package/layers/support/rasterFunctions/rasterProjectionHelper.js +1 -1
  325. package/layers/support/vectorTileLayerLoader.js +1 -1
  326. package/layers/support/wmsUtils.js +1 -1
  327. package/layers/support/wmtsUtils.js +1 -1
  328. package/libs/vxl/enums.js +1 -1
  329. package/package.json +5 -5
  330. package/portal/schemas/buildingSceneLayerItem.js +1 -1
  331. package/portal/schemas/definitions.js +1 -1
  332. package/portal/schemas/integratedMeshLayerItem.js +1 -1
  333. package/portal/schemas/pointCloudLayerItem.js +1 -1
  334. package/portal/schemas/sceneLayerItem.js +1 -1
  335. package/portal/schemas/webScene.js +1 -1
  336. package/rasterRenderers.js +1 -1
  337. package/renderers/support/RasterSymbolizer.js +1 -1
  338. package/request.js +1 -1
  339. package/rest/find.js +1 -1
  340. package/rest/geometryService/generalize.js +1 -1
  341. package/rest/geometryService/lengths.js +1 -1
  342. package/rest/geometryService/offset.js +1 -1
  343. package/rest/geometryService/relation.js +1 -1
  344. package/rest/geometryService/trimExtend.js +1 -1
  345. package/rest/identify.js +1 -1
  346. package/{tasks → rest}/operations/find.js +0 -0
  347. package/{tasks → rest}/operations/generalize.js +0 -0
  348. package/rest/operations/identify.js +5 -0
  349. package/{tasks → rest}/operations/lengths.js +0 -0
  350. package/{tasks → rest}/operations/offset.js +0 -0
  351. package/{tasks → rest}/operations/relation.js +0 -0
  352. package/{tasks → rest}/operations/trimExtend.js +0 -0
  353. package/{tasks → rest}/operations/urlUtils.js +0 -0
  354. package/rest/print.js +1 -1
  355. package/rest/query/operations/query.js +1 -1
  356. package/rest/query/operations/queryAttachments.js +1 -1
  357. package/rest/query/operations/queryRelatedRecords.js +1 -1
  358. package/rest/query/operations/queryTopFeatures.js +1 -1
  359. package/rest/route/utils.js +1 -1
  360. package/rest/support/ImageIdentifyParameters.js +1 -1
  361. package/rest/support/NetworkServiceDescription.js +1 -1
  362. package/rest/support/RouteInfo.js +1 -1
  363. package/rest/support/RouteParameters.js +1 -1
  364. package/rest/support/RouteSettings.js +5 -0
  365. package/rest/support/StatisticDefinition.js +1 -1
  366. package/rest/support/Stop.js +1 -1
  367. package/rest/support/networkEnums.js +1 -1
  368. package/smartMapping/renderers/univariateColorSize.js +1 -1
  369. package/smartMapping/support/adapters/FeatureLayerAdapter.js +1 -1
  370. package/support/featureFlags.js +1 -1
  371. package/support/revision.js +1 -1
  372. package/symbols/ExtrudeSymbol3DLayer.js +1 -1
  373. package/symbols/Font.js +1 -1
  374. package/symbols/IconSymbol3DLayer.js +1 -1
  375. package/symbols/ObjectSymbol3DLayer.js +1 -1
  376. package/symbols/PathSymbol3DLayer.js +1 -1
  377. package/symbols/TextSymbol.js +1 -1
  378. package/symbols/TextSymbol3DLayer.js +1 -1
  379. package/symbols/cim/placements/PlacementAlongLineSameSize.js +1 -1
  380. package/symbols/support/Symbol3DHalo.js +1 -1
  381. package/symbols/support/Symbol3DMaterial.js +1 -1
  382. package/symbols/support/cimSymbolUtils.js +1 -1
  383. package/symbols/support/textUtils.js +5 -0
  384. package/symbols/support/utils.js +1 -1
  385. package/views/2d/engine/Stage.js +1 -1
  386. package/views/2d/engine/vectorTiles/TileHandler.js +1 -1
  387. package/views/2d/engine/vectorTiles/shaders/VTLMaterialManager.js +1 -1
  388. package/views/2d/engine/vectorTiles/style/VectorTileSource.js +1 -1
  389. package/views/2d/engine/vectorTiles/style/VectorTilesRequestManager.js +5 -0
  390. package/views/2d/engine/webgl/BitBlitRenderer.js +1 -1
  391. package/views/2d/engine/webgl/MaterialManager.js +1 -1
  392. package/views/2d/engine/webgl/alignmentUtils.js +1 -1
  393. package/views/2d/engine/webgl/effects/BlendEffect.js +1 -1
  394. package/views/2d/engine/webgl/materialKey/MaterialKey.js +1 -1
  395. package/views/2d/engine/webgl/mesh/templates/WGLLabelTemplate.js +1 -1
  396. package/views/2d/engine/webgl/shaders/BlendPrograms.js +1 -1
  397. package/views/2d/engine/webgl/shaders/MaterialPrograms.js +1 -1
  398. package/views/2d/layers/BaseLayerView2D.js +1 -1
  399. package/views/2d/layers/BaseLayerViewGL2D.js +1 -1
  400. package/views/2d/layers/GraphicsLayerView2D.js +1 -1
  401. package/views/2d/layers/ImageryLayerView2D.js +1 -1
  402. package/views/2d/layers/ImageryTileLayerView2D.js +1 -1
  403. package/views/2d/layers/LayerView2D.js +1 -1
  404. package/views/2d/layers/MapNotesLayerView2D.js +1 -1
  405. package/views/2d/layers/RouteLayerView2D.js +1 -1
  406. package/views/2d/layers/TileLayerView2D.js +1 -1
  407. package/views/2d/layers/VectorTileLayerView2D.js +1 -1
  408. package/views/2d/layers/WMSLayerView2D.js +1 -1
  409. package/views/2d/layers/WMTSLayerView2D.js +1 -1
  410. package/views/2d/layers/features/sources/BaseFeatureSource.js +1 -1
  411. package/views/2d/layers/features/support/AttributeStore.js +1 -1
  412. package/views/2d/layers/graphics/GraphicBoundsRenderer.js +1 -1
  413. package/views/2d/layers/graphics/GraphicsView2D.js +1 -1
  414. package/views/2d/layers/imagery/BaseImageryTileSubView2D.js +1 -1
  415. package/views/2d/support/engineHelpers.js +1 -1
  416. package/views/3d/analysis/LineOfSight/LineOfSightController.js +1 -1
  417. package/views/3d/environment/CloudsComposition.glsl.js +1 -1
  418. package/views/3d/environment/CloudsComposition.js +1 -1
  419. package/views/3d/environment/CloudsGenerator.js +1 -1
  420. package/views/3d/environment/CloudyWeather.js +1 -1
  421. package/views/3d/environment/Fog.js +1 -1
  422. package/views/3d/environment/FoggyWeather.js +1 -1
  423. package/views/3d/environment/NoiseTextureAtlas.js +1 -1
  424. package/views/3d/environment/RainyWeather.js +1 -1
  425. package/views/3d/environment/Stars.js +1 -1
  426. package/views/3d/layers/BuildingComponentSublayerView3D.js +1 -1
  427. package/views/3d/layers/DynamicLayerView3D.js +1 -1
  428. package/views/3d/layers/FeatureLayerViewBase3D.js +1 -1
  429. package/views/3d/layers/FeatureLikeLayerView3D.js +1 -1
  430. package/views/3d/layers/GraphicsLayerView3D.js +1 -1
  431. package/views/3d/layers/GraphicsView3D.js +1 -1
  432. package/views/3d/layers/I3SMeshView3D.js +1 -1
  433. package/views/3d/layers/ImageryLayerView3D.js +1 -1
  434. package/views/3d/layers/ImageryTileLayerView3D.js +1 -1
  435. package/views/3d/layers/IntegratedMeshLayerView3D.js +1 -1
  436. package/views/3d/layers/MapImageLayerView3D.js +1 -1
  437. package/views/3d/layers/OGCFeatureLayerView3D.js +1 -1
  438. package/views/3d/layers/PointCloudLayerView3D.js +1 -1
  439. package/views/3d/layers/SceneLayerGraphicsView3D.js +1 -1
  440. package/views/3d/layers/SceneLayerView3D.js +1 -1
  441. package/views/3d/layers/VectorTileLayerView3D.js +1 -1
  442. package/views/3d/layers/VoxelLayerView3D.js +1 -1
  443. package/views/3d/layers/WMSLayerView3D.js +1 -1
  444. package/views/3d/layers/WMTSLayerView3D.js +1 -1
  445. package/views/3d/layers/graphics/Deconflictor.js +1 -1
  446. package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
  447. package/views/3d/layers/graphics/Graphics3DDrapedGraphicLayer.js +1 -1
  448. package/views/3d/layers/graphics/Graphics3DElevationAlignment.js +1 -1
  449. package/views/3d/layers/graphics/Graphics3DFeatureProcessor.js +5 -0
  450. package/views/3d/layers/graphics/Graphics3DFrustumVisibility.js +1 -1
  451. package/views/3d/layers/graphics/Graphics3DIconSymbolLayer.js +1 -1
  452. package/views/3d/layers/graphics/Graphics3DLineSymbolLayer.js +1 -1
  453. package/views/3d/layers/graphics/Graphics3DMeshFillSymbolLayer.js +1 -1
  454. package/views/3d/layers/graphics/Graphics3DPointSymbol.js +1 -1
  455. package/views/3d/layers/graphics/Graphics3DPolygonFillSymbolLayer.js +1 -1
  456. package/views/3d/layers/graphics/Graphics3DScaleVisibility.js +1 -1
  457. package/views/3d/layers/graphics/Graphics3DSymbolCreationContext.js +1 -1
  458. package/views/3d/layers/graphics/Graphics3DSymbolLayer.js +1 -1
  459. package/views/3d/layers/graphics/Graphics3DTextSymbolLayer.js +1 -1
  460. package/views/3d/layers/graphics/Graphics3DWaterSymbolLayer.js +1 -1
  461. package/views/3d/layers/graphics/GraphicsProcessor.js +5 -0
  462. package/views/3d/layers/graphics/IGraphics3DFeatureProcessor.js +4 -0
  463. package/views/3d/layers/graphics/Labeler.js +1 -1
  464. package/views/3d/layers/graphics/QueryEngine.js +1 -1
  465. package/views/3d/layers/support/FeatureTileTree3DDebugger.js +1 -1
  466. package/views/3d/state/controllers/RotateController.js +1 -1
  467. package/views/3d/state/controllers/global/PinchAndPanController.js +1 -1
  468. package/views/3d/state/controllers/global/ZoomController.js +1 -1
  469. package/views/3d/state/controllers/global/ZoomStepController.js +1 -1
  470. package/views/3d/state/controllers/local/PinchAndPanController.js +1 -1
  471. package/views/3d/state/controllers/local/ZoomStepController.js +1 -1
  472. package/views/3d/support/debugFlags.js +1 -1
  473. package/views/3d/support/sunUtils.js +1 -1
  474. package/views/3d/terrain/Overlay.js +1 -1
  475. package/views/3d/terrain/OverlayManager.js +1 -1
  476. package/views/3d/terrain/OverlayRenderer.js +1 -1
  477. package/views/3d/terrain/TerrainSurface.js +1 -1
  478. package/views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js +7 -1
  479. package/views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js +28 -24
  480. package/views/3d/webgl-engine/core/shaderLibrary/shading/LineStipple.glsl.js +19 -14
  481. package/views/3d/webgl-engine/core/shaderLibrary/util/CloudsParallaxShading.glsl.js +12 -14
  482. package/views/3d/webgl-engine/lib/GridLocalOriginFactory.js +1 -1
  483. package/views/3d/webgl-engine/lib/InstanceParameters.js +5 -0
  484. package/views/3d/webgl-engine/lib/{localOrigin.js → LocalOriginFactory.js} +0 -0
  485. package/views/3d/webgl-engine/lib/OffscreenRendering.js +1 -1
  486. package/views/3d/webgl-engine/lib/Program.js +1 -1
  487. package/views/3d/webgl-engine/lib/RenderGeometry.js +1 -1
  488. package/views/3d/webgl-engine/lib/RenderTargetHelper.js +1 -1
  489. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  490. package/views/3d/webgl-engine/lib/RenderingContext.js +1 -1
  491. package/views/3d/webgl-engine/lib/SSAOHelper.js +1 -1
  492. package/views/3d/webgl-engine/lib/TextRenderParameters.js +1 -1
  493. package/views/3d/webgl-engine/lib/TextRenderer.js +1 -1
  494. package/views/3d/webgl-engine/lib/intersectorUtilsConversions.js +1 -1
  495. package/views/3d/webgl-engine/lib/lodRendering/LodRenderer.js +1 -1
  496. package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
  497. package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
  498. package/views/3d/webgl-engine/parts/Model.js +1 -1
  499. package/views/3d/webgl-engine/parts/RenderView.js +1 -1
  500. package/views/3d/webgl-engine/parts/ScreenshotManager.js +1 -1
  501. package/views/3d/webgl-engine/shaders/DefaultMaterialTechnique.js +1 -1
  502. package/views/3d/webgl-engine/shaders/HUDMaterialTechnique.js +1 -1
  503. package/views/3d/webgl-engine/shaders/RealisticTreeTechnique.js +1 -1
  504. package/views/3d/webgl-engine/shaders/RibbonLineTechnique.js +1 -1
  505. package/views/LayerViewManager.js +1 -1
  506. package/views/MapView.js +1 -1
  507. package/views/SceneView.js +1 -1
  508. package/views/interactive/snapping/FeatureSnappingEngine.js +1 -1
  509. package/views/interactive/snapping/featureSources/FeatureServiceSnappingSource.js +1 -1
  510. package/views/interactive/snapping/featureSources/GraphicsSnappingSource.js +1 -1
  511. package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTiledFetcher.js +1 -1
  512. package/views/layers/ImageryTileLayerView.js +1 -1
  513. package/views/layers/LayerView.js +1 -1
  514. package/views/layers/OGCFeatureLayerView.js +1 -1
  515. package/views/layers/RefreshableLayerView.js +1 -1
  516. package/views/overlay/ViewOverlay.js +1 -1
  517. package/views/support/DefaultsFromMap.js +1 -1
  518. package/views/support/WatchUpdatingTracking.js +1 -1
  519. package/views/support/imageReprojection.js +1 -1
  520. package/views/webgl/BufferObject.js +1 -1
  521. package/views/webgl/ContextState.js +1 -1
  522. package/views/webgl/FramebufferObject.js +1 -1
  523. package/views/webgl/Program.js +1 -1
  524. package/views/webgl/ProgramCache.js +1 -1
  525. package/views/webgl/ProgramTemplate.js +1 -1
  526. package/views/webgl/Renderbuffer.js +1 -1
  527. package/views/webgl/RenderingContext.js +1 -1
  528. package/views/webgl/ShaderTranspiler.js +1 -1
  529. package/views/webgl/Texture.js +1 -1
  530. package/views/webgl/UniformBufferLayout.js +5 -0
  531. package/views/webgl/UniformBufferObject.js +5 -0
  532. package/views/webgl/Util.js +1 -1
  533. package/views/webgl/enums.js +1 -1
  534. package/views/webgl/rasterUtils.js +1 -1
  535. package/views/webgl/storageLayouts.js +5 -0
  536. package/views/webgl/testDoublePrecisionArithmetic.js +1 -1
  537. package/views/webgl/testFloatBufferBlend.js +1 -1
  538. package/views/webgl/testSVGPremultipliedAlpha.js +1 -1
  539. package/views/webgl/testSamplerPrecision.js +1 -1
  540. package/views/webgl/tests/SimpleDraw.js +1 -1
  541. package/widgets/BasemapLayerList.js +1 -1
  542. package/widgets/BuildingExplorer/BuildingDisciplinesViewModel.js +1 -1
  543. package/widgets/Editor/BatchCreateWorkflow.js +1 -1
  544. package/widgets/Editor/CreateWorkflow.js +1 -1
  545. package/widgets/Editor/UpdateWorkflow.js +1 -1
  546. package/widgets/Editor/workflowUtils.js +1 -1
  547. package/widgets/ElevationProfile/components/SettingsButton.js +1 -1
  548. package/widgets/ElevationProfile.js +1 -1
  549. package/widgets/Feature/FeatureExpression/FeatureExpressionViewModel.js +1 -1
  550. package/widgets/Feature/FeatureExpression.js +1 -1
  551. package/widgets/Feature/FeatureMedia/FeatureMediaViewModel.js +1 -1
  552. package/widgets/Feature/FeatureMedia.js +1 -1
  553. package/widgets/Feature/FeatureViewModel.js +1 -1
  554. package/widgets/FeatureForm/FeatureFormViewModel.js +1 -1
  555. package/widgets/FeatureForm/InputField.js +1 -1
  556. package/widgets/FeatureForm/InputFieldGroup.js +1 -1
  557. package/widgets/FeatureForm.js +1 -1
  558. package/widgets/FeatureTable/Grid/Grid.js +1 -1
  559. package/widgets/FeatureTable.js +1 -1
  560. package/widgets/FeatureTemplates.js +1 -1
  561. package/widgets/FloorFilter.js +1 -1
  562. package/widgets/LayerList/LayerListViewModel.js +1 -1
  563. package/widgets/LayerList/ListItemPanel.js +1 -1
  564. package/widgets/LayerList/support/layerListUtils.js +1 -1
  565. package/widgets/Legend/support/ActiveLayerInfo.js +1 -1
  566. package/widgets/Popup.js +1 -1
  567. package/widgets/Print.js +1 -1
  568. package/widgets/Search.js +1 -1
  569. package/widgets/Sketch/SketchViewModel.js +1 -1
  570. package/widgets/Weather/CoverageSlider.js +5 -0
  571. package/widgets/Weather/WeatherViewModel.js +1 -1
  572. package/widgets/Weather/css.js +1 -1
  573. package/widgets/Weather.js +1 -1
  574. package/widgets/support/geolocationUtils.js +1 -1
  575. package/assets/esri/core/workers/chunks/0881ce46b10362861f87.js +0 -1
  576. package/assets/esri/core/workers/chunks/0c0a02770eeeb3e28ea1.js +0 -1
  577. package/assets/esri/core/workers/chunks/0d2effbd84a9482eb639.js +0 -1
  578. package/assets/esri/core/workers/chunks/0f04246c1b591a3ac74d.js +0 -1
  579. package/assets/esri/core/workers/chunks/1ac6be0dc25e16c75d06.js +0 -1
  580. package/assets/esri/core/workers/chunks/1f8110ea12d65ca94b55.js +0 -1
  581. package/assets/esri/core/workers/chunks/2025d0fd61a64876c81b.js +0 -1
  582. package/assets/esri/core/workers/chunks/241859d74c0daac62e11.js +0 -1
  583. package/assets/esri/core/workers/chunks/2c9af2ebd72d9b55329b.js +0 -1
  584. package/assets/esri/core/workers/chunks/331be347c1b1ca0be2d2.js +0 -1
  585. package/assets/esri/core/workers/chunks/39af317388ecebb4387d.js +0 -1
  586. package/assets/esri/core/workers/chunks/39be2893a7dbdecfd65a.js +0 -1
  587. package/assets/esri/core/workers/chunks/3a20f66b0b7d08064e34.js +0 -1
  588. package/assets/esri/core/workers/chunks/445099d037affd139ed0.js +0 -1
  589. package/assets/esri/core/workers/chunks/45848fecec88ed2da33d.js +0 -1
  590. package/assets/esri/core/workers/chunks/48d3a3abc53abe6a4017.js +0 -1
  591. package/assets/esri/core/workers/chunks/5005b8c1fdd5cb9a4c19.js +0 -1
  592. package/assets/esri/core/workers/chunks/52e4c367c72ea7cc3457.js +0 -1
  593. package/assets/esri/core/workers/chunks/5d8170f6207dbeb4de1b.js +0 -1
  594. package/assets/esri/core/workers/chunks/615aa2d3ecafe30c80c0.js +0 -1
  595. package/assets/esri/core/workers/chunks/642c38ac00a962f35d44.js +0 -1
  596. package/assets/esri/core/workers/chunks/64459604505647e9c714.js +0 -1
  597. package/assets/esri/core/workers/chunks/653d1550dd1a4867a9fc.js +0 -1
  598. package/assets/esri/core/workers/chunks/65f73fbbc3c7c60c6d3d.js +0 -1
  599. package/assets/esri/core/workers/chunks/6db7081d344bea26ef64.js +0 -1
  600. package/assets/esri/core/workers/chunks/6deac533bb455be4004b.js +0 -1
  601. package/assets/esri/core/workers/chunks/6e13dab8ec43f7494297.js +0 -1
  602. package/assets/esri/core/workers/chunks/722a10c65456844d72b9.js +0 -1
  603. package/assets/esri/core/workers/chunks/7bd4c3ee43fb038b88d8.js +0 -1
  604. package/assets/esri/core/workers/chunks/803de5097a8a2c4b58a8.js +0 -1
  605. package/assets/esri/core/workers/chunks/8298231a0fd0129b0d5c.js +0 -1
  606. package/assets/esri/core/workers/chunks/8500c6c011400af1b7bd.js +0 -1
  607. package/assets/esri/core/workers/chunks/8b322a2a47dfdbb59b45.js +0 -1
  608. package/assets/esri/core/workers/chunks/8f83bebef9174c3f15da.js +0 -1
  609. package/assets/esri/core/workers/chunks/904332faa22bc0e876cb.js +0 -1
  610. package/assets/esri/core/workers/chunks/950565d1e682fc4072e1.js +0 -1
  611. package/assets/esri/core/workers/chunks/9846098704ee38bf6350.js +0 -1
  612. package/assets/esri/core/workers/chunks/a247ddd84245c81112c8.js +0 -1
  613. package/assets/esri/core/workers/chunks/a721342a32541717324d.js +0 -1
  614. package/assets/esri/core/workers/chunks/a9ffa806df20130ecfb6.js +0 -1
  615. package/assets/esri/core/workers/chunks/af13e534e4160636bd3d.js +0 -1
  616. package/assets/esri/core/workers/chunks/b2f62234ebb8b6158baa.js +0 -1
  617. package/assets/esri/core/workers/chunks/b51261a9a9ab62388839.js +0 -971
  618. package/assets/esri/core/workers/chunks/b58eba403bd517a7bb15.js +0 -1
  619. package/assets/esri/core/workers/chunks/b5bb7cfa26b1f0cec67a.js +0 -1
  620. package/assets/esri/core/workers/chunks/b8666d1a4e4fff7a4703.js +0 -1
  621. package/assets/esri/core/workers/chunks/bea1da9e3f878e0e2c83.js +0 -1
  622. package/assets/esri/core/workers/chunks/c1b6c31fa3ec1542f996.js +0 -1
  623. package/assets/esri/core/workers/chunks/c32a4fbdc87225f84019.js +0 -1
  624. package/assets/esri/core/workers/chunks/c67fea81f69a60c0eaef.js +0 -1
  625. package/assets/esri/core/workers/chunks/cb68db7169b9dfd1c3ff.js +0 -1
  626. package/assets/esri/core/workers/chunks/cc96608b2802fbfe7a08.js +0 -1
  627. package/assets/esri/core/workers/chunks/cd02fe27eb07681cb366.js +0 -1
  628. package/assets/esri/core/workers/chunks/d336afd5890dcdbf5341.js +0 -1
  629. package/assets/esri/core/workers/chunks/da69e3e5949fe1716e34.js +0 -1
  630. package/assets/esri/core/workers/chunks/daa9c450b2e2a5371249.js +0 -1
  631. package/assets/esri/core/workers/chunks/dd63ba77b7e4c3c9c594.js +0 -1
  632. package/assets/esri/core/workers/chunks/dfa57982d28c9aeb97b9.js +0 -1
  633. package/assets/esri/core/workers/chunks/e01812116b27874948f0.js +0 -1
  634. package/assets/esri/core/workers/chunks/e5c9d8482b913cf3580a.js +0 -1
  635. package/assets/esri/core/workers/chunks/eeadd92f0bede9fc8745.js +0 -1
  636. package/assets/esri/core/workers/chunks/fbb67cb6224aed2cce16.js +0 -1
  637. package/assets/esri/core/workers/chunks/feeaf61424336e9eac88.js +0 -1
  638. package/assets/esri/core/workers/chunks/ff02295329a8986d0568.js +0 -1
  639. package/tasks/operations/identify.js +0 -5
  640. package/views/2d/engine/webgl/mesh/templates/meshUtils.js +0 -5
  641. package/views/3d/layers/graphics/Graphics3DFeatureLikeLayerView.js +0 -5
  642. package/views/3d/layers/graphics/Graphics3DGraphicLikeLayerView.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.23/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../../../chunks/tslib.es6.js";import"../../../../geometry.js";import t from"../../../../core/Accessor.js";import s from"../../../../core/Evented.js";import n from"../../../../core/Handles.js";import{handlesGroup as i,makeHandle as r}from"../../../../core/handleUtils.js";import o from"../../../../core/Logger.js";import{isSome as a,isNone as l,abortMaybe as c,removeMaybe as h,none as p}from"../../../../core/maybe.js";import{createTask as g,ignoreAbortErrors as d}from"../../../../core/promiseUtils.js";import{watch as u,initial as y,syncAndInitial as m,sync as _}from"../../../../core/reactiveUtils.js";import{property as v}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/arrayUtils.js";import"../../../../core/has.js";import"../../../../core/accessorSupport/ensureType.js";import{subclass as f}from"../../../../core/accessorSupport/decorators/subclass.js";import{g as A,f as T,n as C,a as b,b as O,j,v as w}from"../../../../chunks/vec3.js";import{a as E,c as I}from"../../../../chunks/vec3f64.js";import{projectBoundingRect as L}from"../../../../geometry/projection.js";import{containsPointObject as P,empty as S}from"../../../../geometry/support/aaBoundingRect.js";import{fromPoints as R,create as V}from"../../../../geometry/support/ray.js";import{LineOfSightAnalysis as H}from"./LineOfSightAnalysis.js";import{LineOfSightRayIntersector as D}from"./LineOfSightRayIntersector.js";import{LineOfSightResult as x}from"./LineOfSightResult.js";import{logFailedGeometryProjectionError as N,applyProjectionAndElevationAlignment as k}from"../support/projectionUtils.js";import{IntersectorType as F}from"../../webgl-engine/lib/IntersectorInterfaces.js";import{toGraphic as z}from"../../webgl-engine/lib/intersectorUtilsConversions.js";import{ImmediateTask as U,TaskPriority as G}from"../../../support/Scheduler.js";import{WatchUpdatingTracking as M}from"../../../support/WatchUpdatingTracking.js";import B from"../../../../geometry/Point.js";const q=o.getLogger("esri.views.3d.analysis.LineOfSight.LineOfSightController");let J=class extends(s.EventedMixin(t)){constructor(e){super(e),this.updateOnCameraChange=!0,this._updatingHandles=new M,this._frameTask=U,this._handles=new n,this._analysisHandles=new n}initialize(){var e;const t=null==(e=this.view.resourceController)?void 0:e.scheduler;this._frameTask=t?t.registerTask(G.LINE_OF_SIGHT_TOOL):U,this._intersector=new D({view:this.view}),this._handles.add([this._connectObserver(),this._connectAnalyses(),this._connectTargets()])}destroy(){this._handles.destroy(),this._analysisHandles.destroy(),this._analyses.removeAll(),this._updatingHandles.destroy()}get updating(){return this._frameTask.updating||this._updatingHandles.updating}get priority(){return this._frameTask.priority}set priority(e){this._frameTask.priority=e}get _analyses(){return this.analysisViewData.analyses}get _observerEngineLocation(){return this.analysisViewData.observerEngineLocation}set _observerEngineLocation(e){this.analysisViewData.observerEngineLocation=e}get _screenPixelSize(){return this.view.state.camera.computeScreenPixelSizeAt(this._observerEngineLocation)}getLineOfSightComputationDependencies(e){const{inputPoints:t}=e;return{inputPoints:t}}computeAnalysis(e){const t=e.analysis,{inputPoints:s,computationResult:n}=t,{observerAdjusted:i,targetAdjusted:r}=s,{start:o,end:a}=n;A(o,i),A(a,r);this._canComputeAnalysis(t)?this._computeAnalysisIntersection(e):this._interpolateAnalysisIntersection(e),t.updateComputationResults(),this.emit("result-changed",{target:e.analysis.target,result:t.result})}_adjustStartEndPositions(e){const t=this._screenPixelSize,s=this.view,{inputPoints:n}=e,{observer:i,observerSurfaceNormal:r,target:o,targetSurfaceNormal:l,observerAdjusted:c,targetAdjusted:h}=n,p=X;a(r)?A(p,r):T(p,o,i);const g=t;C(p,p),b(p,p,Math.min(g,1)),O(c,i,p),a(l)?A(p,l):T(p,i,o);const d=s.state.camera.computeScreenPixelSizeAt(o);C(p,p),b(p,p,Math.min(d,1)),O(h,o,p)}_computeAnalysisIntersection({analysis:e,interpolationInfo:t}){const{view:s}=this,{sceneIntersectionHelper:n,renderCoordsHelper:i}=s;if(l(n))return;const r=this._intersector.intersector,{computationResult:o,inputPoints:c}=e,{observer:h,target:p}=c,{start:g,end:d}=o,u=R(g,d,Y);n.intersectToolIntersectorRay(u,r);const y=o.intersection,m=X,_=r.results.min.getIntersectionPoint(y);let v=!0;if(_){A(t.originalIntersection,y),A(t.originalObserver,g),A(t.originalTarget,d),i.fromRenderCoords(y,m,s.spatialReference);const e=1-j(d,p)/j(g,p);v=j(h,y)>=e*j(h,p)}const f=new B(m,s.spatialReference);{const{result:t,target:n}=e;a(t)?(t.target=n,t.intersectedGraphic=v?null:z(r.results.min,s),t.intersectedLocation=v?null:f,t.visible=!!_&&v):e.result=new x({target:n,elevationAlignedTargetLocation:e.elevationAlignedTargetLocation,intersectedGraphic:v?null:z(r.results.min,s),intersectedLocation:v?null:f,visible:!!_&&v})}o.isValid=c.isValid=!0,o.isTargetVisible=v}_interpolateAnalysisIntersection({analysis:e,interpolationInfo:t}){const{computationResult:s,inputPoints:n}=e,{start:i,end:r,intersection:o}=s,{originalIntersection:a,originalObserver:l,originalTarget:c}=t;if(A(o,a),n.isValid){const e=X,t=j(l,a)/j(l,c);w(e,i,l),b(e,e,1-t),O(o,o,e),w(e,r,c),b(e,e,t),O(o,o,e),s.isValid=!0}else e.result=null,s.isValid=!1,s.isTargetVisible=!1}_canComputeAnalysis(e){const t=this.analysisViewData.elevationAlignedObserver,s=this.view.frustum;if(l(t)||l(e.elevationAlignedTargetLocation)||l(s))return!1;const{observerAdjusted:n,targetAdjusted:i}=e.inputPoints,r=s.intersectsPoint(n),o=s.intersectsPoint(i);return r&&o}_onObserverChange(e){if(l(e))return void(this.analysisViewData.elevationAlignedObserver=null);const t=this._applyProjectionAndElevationAlignment(e,this.analysis.intersection);if(l(t))return N(this.analysis,e.spatialReference,q),void(this.analysisViewData.elevationAlignedObserver=null);const s=I();this.analysisViewData.elevationAlignedObserver=t,this.view.renderCoordsHelper.toRenderCoords(this.analysisViewData.elevationAlignedObserver,s),this._observerEngineLocation=s,this.priority=G.LINE_OF_SIGHT_TOOL_INTERACTIVE}_applyProjectionAndElevationAlignment(e,t){const s=a(t)&&t.type!==F.OBJECT;return k(e,this.view.spatialReference,this.view.elevationProvider,s)}_onObserverChangeForAnalysis(e){e.inputPoints.isValid=!1,e.updateInputPoints()}_onObserverEngineForAnalysis(e,t,s){const{inputPoints:n}=e;if(A(n.observer,t),a(s)){const e=this._intersector.updateFromIntersectionResult(s);a(e)&&this.view.renderCoordsHelper.toRenderCoords(e,n.observer),n.observerSurfaceNormal=E(s.normal)}else n.observerSurfaceNormal=null;this._adjustStartEndPositions(e),e.updateInputPoints(),this.priority=G.LINE_OF_SIGHT_TOOL_INTERACTIVE}_onTargetLocationChange(e,t,s){const n=e.inputPoints;if(n.isValid=!1,e.elevationAlignedTargetLocation=this._applyProjectionAndElevationAlignment(t,s),l(e.elevationAlignedTargetLocation))N(this.analysis,t.spatialReference,q);else{if(this.view.renderCoordsHelper.toRenderCoords(e.elevationAlignedTargetLocation,n.target),a(s)){const e=this._intersector.updateFromIntersectionResult(s);a(e)&&this.view.renderCoordsHelper.toRenderCoords(e,n.target),n.targetSurfaceNormal=E(s.normal)}else n.targetSurfaceNormal=null;this._adjustStartEndPositions(e)}e.updateInputPoints(),this.priority=G.LINE_OF_SIGHT_TOOL_INTERACTIVE}_connectAnalysisToTarget(e){return i([u((()=>e.target.location),(t=>{K(t,e.target.intersection)||(e.target.intersection=null)}),y),u((()=>({analysis:e,targetLocation:e.target.location,targetIntersection:e.target.intersection})),(({analysis:e,targetLocation:t,targetIntersection:s})=>{a(t)&&this._onTargetLocationChange(e,t,s)}),m)])}_connectAnalysisToObserver(e){return u((()=>({analysis:e,observer:this.analysisViewData.elevationAlignedObserver})),(({analysis:e})=>{this._onObserverChangeForAnalysis(e)}),m)}_connectAnalysisToObserverEngine(e){return u((()=>({analysis:e,observer:this._observerEngineLocation,observerIntersection:this.analysis.intersection})),(({analysis:e,observer:t,observerIntersection:s})=>{this._onObserverEngineForAnalysis(e,t,s)}),m)}_connectAnalysisToCamera(e){return u((()=>({camera:this.view.state.camera,isDirty:this._isCameraDirty})),(({isDirty:t})=>{!this.updateOnCameraChange||e.inputPoints.isValid&&!t||e.updateInputPoints()}),_)}_connectAnalysisToElevation(e){return this.view.elevationProvider.on("elevation-change",(t=>{if(!this._canComputeAnalysis(e))return;const s=this.analysis.observer;W(t.extent,t.spatialReference,s)&&this._onObserverChange(s);const n=e.target;a(n)&&W(t.extent,t.spatialReference,n.location)&&e.onElevationChange()}))}_connectAnalysisForCompute(e){let t=p;const s={analysis:e,interpolationInfo:{originalIntersection:I(),originalObserver:I(),originalTarget:I()}};return i([u((()=>this.getLineOfSightComputationDependencies(e)),(()=>{t=c(t),t=g((async e=>{await d(this._frameTask.schedule((()=>this.computeAnalysis(s)),e))}))}),m),r((()=>t=c(t)))])}_connectAnalysis(e){const t=this._analysisHandles;t.has(e)||t.add([this._connectAnalysisToTarget(e),this._connectAnalysisToObserver(e),this._connectAnalysisToObserverEngine(e),this._connectAnalysisToCamera(e),this._connectAnalysisToElevation(e),this._connectAnalysisForCompute(e)],e)}_disconnectAnalysis(e){this._analysisHandles.remove(e)}_onAnalysesCollectionChange(e){e.added.forEach((e=>this._connectAnalysis(e))),e.removed.forEach((e=>this._disconnectAnalysis(e)))}_onTargetsChange(){return this._analyses.removeAll(),this.analysis.targets.forEach((e=>this._addTarget(e))),this._updatingHandles.addOnCollectionPropertyChange(this.analysis,"targets",(e=>this._onTargetCollectionChange(e)))}_onTargetCollectionChange(e){e.added.forEach((e=>this._addTarget(e))),e.removed.forEach((e=>this._removeTarget(e)))}_onCursorTargetChange(e,t){a(t)&&this._removeTarget(t),a(e)&&this._addTarget(e)}_addTarget(e){this._analyses.some((t=>t.target===e))||this._analyses.add(new H({target:e}))}_removeTarget(e){const t=this._analyses.find((t=>t.target===e));this._analyses.remove(t)}_connectObserver(){return i([u((()=>this.analysis.observer),(e=>{K(e,this.analysis.intersection)||(this.analysis.intersection=null)}),y),u((()=>({observer:this.analysis.observer,intersection:this.analysis.intersection})),(({observer:e})=>this._onObserverChange(e)),m)])}_connectAnalyses(){let e=null;return i([u((()=>this._analyses),(()=>{h(e),e=this._updatingHandles.addOnCollectionPropertyChange(this,"_analyses",(e=>this._onAnalysesCollectionChange(e))),this._analyses.forEach((e=>this._connectAnalysis(e)))}),m),r((()=>e=h(e)))])}_connectTargets(){let e=null;return i([u((()=>this.analysis.targets),(()=>{e=h(e),e=this._onTargetsChange()}),m),u((()=>this.analysisViewData.cursorTarget),((e,t)=>{this._onCursorTargetChange(e,t)})),r((()=>{e=h(e)}))])}get _isCameraDirty(){const e=this.analysisViewData.elevationAlignedObserver,{view:t}=this,{renderCoordsHelper:s}=t;if(l(e)||l(s))return!1;const n=X;s.toRenderCoords(e,n);const i=t.state.camera.computeScreenPixelSizeAt(n);return Math.abs((i-this._screenPixelSize)/this._screenPixelSize)>Q}};function W(e,t,s){return!l(s)&&(L(e,t,Z,s.spatialReference),P(Z,s))}function K(e,t){return l(t)||a(e)&&e.equals(t.point)}e([v({constructOnly:!0})],J.prototype,"analysis",void 0),e([v({constructOnly:!0})],J.prototype,"analysisViewData",void 0),e([v({constructOnly:!0})],J.prototype,"view",void 0),e([v()],J.prototype,"updating",null),e([v()],J.prototype,"priority",null),e([v()],J.prototype,"updateOnCameraChange",void 0),e([v()],J.prototype,"_analyses",null),e([v()],J.prototype,"_observerEngineLocation",null),e([v()],J.prototype,"_screenPixelSize",null),e([v({readOnly:!0})],J.prototype,"_updatingHandles",void 0),e([v()],J.prototype,"_frameTask",void 0),e([v()],J.prototype,"_isCameraDirty",null),J=e([f("esri.views.3d.analysis.LineOfSight.LineOfSightController")],J);const Q=.1,X=I(),Y=V(),Z=S();export{J as LineOfSightController};
5
+ import{_ as e}from"../../../../chunks/tslib.es6.js";import"../../../../geometry.js";import t from"../../../../core/Accessor.js";import s from"../../../../core/Evented.js";import n from"../../../../core/Handles.js";import{handlesGroup as i,makeHandle as r}from"../../../../core/handleUtils.js";import o from"../../../../core/Logger.js";import{isSome as a,isNone as l,abortMaybe as c,removeMaybe as h,none as p}from"../../../../core/maybe.js";import{createTask as g,ignoreAbortErrors as d}from"../../../../core/promiseUtils.js";import{watch as u,initial as y,syncAndInitial as m,sync as _}from"../../../../core/reactiveUtils.js";import{property as v}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/arrayUtils.js";import"../../../../core/has.js";import"../../../../core/accessorSupport/ensureType.js";import{subclass as f}from"../../../../core/accessorSupport/decorators/subclass.js";import{g as A,f as T,n as C,a as b,b as O,j,v as w}from"../../../../chunks/vec3.js";import{a as E,c as I}from"../../../../chunks/vec3f64.js";import{projectBoundingRect as L}from"../../../../geometry/projection.js";import{containsPointObject as S,empty as P}from"../../../../geometry/support/aaBoundingRect.js";import{fromPoints as R,create as V}from"../../../../geometry/support/ray.js";import{LineOfSightAnalysis as H}from"./LineOfSightAnalysis.js";import{LineOfSightRayIntersector as D}from"./LineOfSightRayIntersector.js";import{LineOfSightResult as x}from"./LineOfSightResult.js";import{logFailedGeometryProjectionError as N,applyProjectionAndElevationAlignment as k}from"../support/projectionUtils.js";import{IntersectorType as F}from"../../webgl-engine/lib/IntersectorInterfaces.js";import{toGraphic as z}from"../../webgl-engine/lib/intersectorUtilsConversions.js";import{ImmediateTask as U,TaskPriority as G}from"../../../support/Scheduler.js";import{WatchUpdatingTracking as M}from"../../../support/WatchUpdatingTracking.js";import B from"../../../../geometry/Point.js";const q=o.getLogger("esri.views.3d.analysis.LineOfSight.LineOfSightController");let J=class extends(s.EventedMixin(t)){constructor(e){super(e),this.updateOnCameraChange=!0,this._updatingHandles=new M,this._frameTask=U,this._handles=new n,this._analysisHandles=new n}initialize(){var e;const t=null==(e=this.view.resourceController)?void 0:e.scheduler;this._frameTask=t?t.registerTask(G.LINE_OF_SIGHT_TOOL):U,this._intersector=new D({view:this.view}),this._handles.add([this._connectObserver(),this._connectAnalyses(),this._connectTargets()])}destroy(){this._handles.destroy(),this._analysisHandles.destroy(),this._analyses.removeAll(),this._updatingHandles.destroy()}get updating(){return this._frameTask.updating||this._updatingHandles.updating}get priority(){return this._frameTask.priority}set priority(e){this._frameTask.priority=e}get _analyses(){return this.analysisViewData.analyses}get _observerEngineLocation(){return this.analysisViewData.observerEngineLocation}set _observerEngineLocation(e){this.analysisViewData.observerEngineLocation=e}get _screenPixelSize(){return this.view.state.camera.computeScreenPixelSizeAt(this._observerEngineLocation)}getLineOfSightComputationDependencies(e){const{inputPoints:t}=e;return{inputPoints:t}}computeAnalysis(e){const t=e.analysis,{inputPoints:s,computationResult:n}=t,{observerAdjusted:i,targetAdjusted:r}=s,{start:o,end:a}=n;A(o,i),A(a,r);this._canComputeAnalysis(t)?this._computeAnalysisIntersection(e):this._interpolateAnalysisIntersection(e),t.updateComputationResults(),this.emit("result-changed",{target:e.analysis.target,result:t.result})}_adjustStartEndPositions(e){const t=this._screenPixelSize,s=this.view,{inputPoints:n}=e,{observer:i,observerSurfaceNormal:r,target:o,targetSurfaceNormal:l,observerAdjusted:c,targetAdjusted:h}=n,p=X;a(r)?A(p,r):T(p,o,i);const g=t;C(p,p),b(p,p,Math.min(g,1)),O(c,i,p),a(l)?A(p,l):T(p,i,o);const d=s.state.camera.computeScreenPixelSizeAt(o);C(p,p),b(p,p,Math.min(d,1)),O(h,o,p)}_computeAnalysisIntersection({analysis:e,interpolationInfo:t}){const{view:s}=this,{sceneIntersectionHelper:n,renderCoordsHelper:i}=s;if(l(n))return;const r=this._intersector.intersector,{computationResult:o,inputPoints:c}=e,{observer:h,target:p}=c,{start:g,end:d}=o,u=R(g,d,Y);n.intersectToolIntersectorRay(u,r);const y=o.intersection,m=X,_=r.results.min.getIntersectionPoint(y);let v=!0;if(_){A(t.originalIntersection,y),A(t.originalObserver,g),A(t.originalTarget,d),i.fromRenderCoords(y,m,s.spatialReference);const e=1-j(d,p)/j(g,p);v=j(h,y)>=e*j(h,p)}const f=new B(m,s.spatialReference);{const{result:t,target:n}=e;a(t)?(t.target=n,t.intersectedGraphic=v?null:z(r.results.min,s),t.intersectedLocation=v?null:f,t.visible=!!_&&v):e.result=new x({target:n,elevationAlignedTargetLocation:e.elevationAlignedTargetLocation,intersectedGraphic:v?null:z(r.results.min,s),intersectedLocation:v?null:f,visible:!!_&&v})}o.isValid=c.isValid=!0,o.isTargetVisible=v}_interpolateAnalysisIntersection({analysis:e,interpolationInfo:t}){const{computationResult:s,inputPoints:n}=e,{start:i,end:r,intersection:o}=s,{originalIntersection:a,originalObserver:l,originalTarget:c}=t;if(A(o,a),n.isValid){const e=X,t=j(l,a)/j(l,c);w(e,i,l),b(e,e,1-t),O(o,o,e),w(e,r,c),b(e,e,t),O(o,o,e),s.isValid=!0}else e.result=null,s.isValid=!1,s.isTargetVisible=!1}_canComputeAnalysis(e){const t=this.analysisViewData.elevationAlignedObserver,s=this.view.frustum;if(l(t)||l(e.elevationAlignedTargetLocation)||l(s))return!1;const{observerAdjusted:n,targetAdjusted:i}=e.inputPoints,r=s.intersectsPoint(n),o=s.intersectsPoint(i);return r&&o}_onObserverChange(e){if(l(e))return void(this.analysisViewData.elevationAlignedObserver=null);const t=this._applyProjectionAndElevationAlignment(e,this.analysis.intersection);if(l(t))return N(this.analysis,e.spatialReference,q),void(this.analysisViewData.elevationAlignedObserver=null);const s=I();this.analysisViewData.elevationAlignedObserver=t,this.view.renderCoordsHelper.toRenderCoords(this.analysisViewData.elevationAlignedObserver,s),this._observerEngineLocation=s,this.priority=G.LINE_OF_SIGHT_TOOL_INTERACTIVE}_applyProjectionAndElevationAlignment(e,t){const s=a(t)&&t.type!==F.OBJECT;return k(e,this.view.spatialReference,this.view.elevationProvider,s)}_onObserverChangeForAnalysis(e){e.inputPoints.isValid=!1,e.updateInputPoints()}_onObserverEngineForAnalysis(e,t,s){const{inputPoints:n}=e;if(A(n.observer,t),a(s)){const e=this._intersector.updateFromIntersectionResult(s);a(e)&&this.view.renderCoordsHelper.toRenderCoords(e,n.observer),n.observerSurfaceNormal=E(s.normal)}else n.observerSurfaceNormal=null;this._adjustStartEndPositions(e),e.updateInputPoints(),this.priority=G.LINE_OF_SIGHT_TOOL_INTERACTIVE}_onTargetLocationChange(e,t,s){const n=e.inputPoints;if(n.isValid=!1,e.elevationAlignedTargetLocation=this._applyProjectionAndElevationAlignment(t,s),l(e.elevationAlignedTargetLocation))N(this.analysis,t.spatialReference,q);else{if(this.view.renderCoordsHelper.toRenderCoords(e.elevationAlignedTargetLocation,n.target),a(s)){const e=this._intersector.updateFromIntersectionResult(s);a(e)&&this.view.renderCoordsHelper.toRenderCoords(e,n.target),n.targetSurfaceNormal=E(s.normal)}else n.targetSurfaceNormal=null;this._adjustStartEndPositions(e)}e.updateInputPoints(),this.priority=G.LINE_OF_SIGHT_TOOL_INTERACTIVE}_connectAnalysisToTarget(e){return i([u((()=>e.target.location),(t=>{K(t,e.target.intersection)||(e.target.intersection=null)}),y),u((()=>({analysis:e,targetLocation:e.target.location,targetIntersection:e.target.intersection})),(({analysis:e,targetLocation:t,targetIntersection:s})=>{a(t)&&this._onTargetLocationChange(e,t,s)}),m)])}_connectAnalysisToObserver(e){return u((()=>({analysis:e,observer:this.analysisViewData.elevationAlignedObserver})),(({analysis:e})=>{this._onObserverChangeForAnalysis(e)}),m)}_connectAnalysisToObserverEngine(e){return u((()=>({analysis:e,observer:this._observerEngineLocation,observerIntersection:this.analysis.intersection})),(({analysis:e,observer:t,observerIntersection:s})=>{this._onObserverEngineForAnalysis(e,t,s)}),m)}_connectAnalysisToCamera(e){return u((()=>({camera:this.view.state.camera,isDirty:this._isCameraDirty})),(({isDirty:t})=>{!this.updateOnCameraChange||e.inputPoints.isValid&&!t||e.updateInputPoints()}),_)}_connectAnalysisToElevation(e){return this.view.elevationProvider.on("elevation-change",(t=>{if(!this._canComputeAnalysis(e))return;const s=this.analysis.observer;W(t.extent,t.spatialReference,s)&&this._onObserverChange(s);const n=e.target;a(n)&&W(t.extent,t.spatialReference,n.location)&&e.onElevationChange()}))}_connectAnalysisForCompute(e){let t=p;const s={analysis:e,interpolationInfo:{originalIntersection:I(),originalObserver:I(),originalTarget:I()}};return i([u((()=>this.getLineOfSightComputationDependencies(e)),(()=>{t=c(t),t=g((async e=>{await d(this._frameTask.schedule((()=>this.computeAnalysis(s)),e))}))}),m),r((()=>t=c(t)))])}_connectAnalysis(e){const t=this._analysisHandles;t.has(e)||t.add([this._connectAnalysisToTarget(e),this._connectAnalysisToObserver(e),this._connectAnalysisToObserverEngine(e),this._connectAnalysisToCamera(e),this._connectAnalysisToElevation(e),this._connectAnalysisForCompute(e)],e)}_disconnectAnalysis(e){this._analysisHandles.remove(e)}_onAnalysesCollectionChange(e){e.added.forEach((e=>this._connectAnalysis(e))),e.removed.forEach((e=>this._disconnectAnalysis(e)))}_onTargetsChange(){return this._analyses.removeAll(),this.analysis.targets.forEach((e=>this._addTarget(e))),this._updatingHandles.addOnCollectionChange((()=>this.analysis.targets),(e=>this._onTargetCollectionChange(e)))}_onTargetCollectionChange(e){e.added.forEach((e=>this._addTarget(e))),e.removed.forEach((e=>this._removeTarget(e)))}_onCursorTargetChange(e,t){a(t)&&this._removeTarget(t),a(e)&&this._addTarget(e)}_addTarget(e){this._analyses.some((t=>t.target===e))||this._analyses.add(new H({target:e}))}_removeTarget(e){const t=this._analyses.find((t=>t.target===e));this._analyses.remove(t)}_connectObserver(){return i([u((()=>this.analysis.observer),(e=>{K(e,this.analysis.intersection)||(this.analysis.intersection=null)}),y),u((()=>({observer:this.analysis.observer,intersection:this.analysis.intersection})),(({observer:e})=>this._onObserverChange(e)),m)])}_connectAnalyses(){let e=null;return i([u((()=>this._analyses),(()=>{h(e),e=this._updatingHandles.addOnCollectionChange((()=>this._analyses),(e=>this._onAnalysesCollectionChange(e))),this._analyses.forEach((e=>this._connectAnalysis(e)))}),m),r((()=>e=h(e)))])}_connectTargets(){let e=null;return i([u((()=>this.analysis.targets),(()=>{e=h(e),e=this._onTargetsChange()}),m),u((()=>this.analysisViewData.cursorTarget),((e,t)=>{this._onCursorTargetChange(e,t)})),r((()=>{e=h(e)}))])}get _isCameraDirty(){const e=this.analysisViewData.elevationAlignedObserver,{view:t}=this,{renderCoordsHelper:s}=t;if(l(e)||l(s))return!1;const n=X;s.toRenderCoords(e,n);const i=t.state.camera.computeScreenPixelSizeAt(n);return Math.abs((i-this._screenPixelSize)/this._screenPixelSize)>Q}};function W(e,t,s){return!l(s)&&(L(e,t,Z,s.spatialReference),S(Z,s))}function K(e,t){return l(t)||a(e)&&e.equals(t.point)}e([v({constructOnly:!0})],J.prototype,"analysis",void 0),e([v({constructOnly:!0})],J.prototype,"analysisViewData",void 0),e([v({constructOnly:!0})],J.prototype,"view",void 0),e([v()],J.prototype,"updating",null),e([v()],J.prototype,"priority",null),e([v()],J.prototype,"updateOnCameraChange",void 0),e([v()],J.prototype,"_analyses",null),e([v()],J.prototype,"_observerEngineLocation",null),e([v()],J.prototype,"_screenPixelSize",null),e([v({readOnly:!0})],J.prototype,"_updatingHandles",void 0),e([v()],J.prototype,"_frameTask",void 0),e([v()],J.prototype,"_isCameraDirty",null),J=e([f("esri.views.3d.analysis.LineOfSight.LineOfSightController")],J);const Q=.1,X=I(),Y=V(),Z=P();export{J as LineOfSightController};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.23/esri/copyright.txt for details.
4
4
  */
5
- import"../webgl-engine/core/shaderLibrary/shading/EvaluateAmbientLighting.glsl.js";import"../webgl-engine/core/shaderLibrary/shading/EvaluateMainLighting.glsl.js";import"../webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import"../webgl-engine/core/shaderLibrary/util/CloudsParallaxShading.glsl.js";import"../webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import"../webgl-engine/core/shaderLibrary/util/RgbaFloatEncoding.glsl.js";import"../webgl-engine/core/shaderModules/interfaces.js";import"../webgl-engine/core/shaderModules/ShaderBuilder.js";import"../webgl-engine/lib/basicInterfaces.js";export{b as build}from"../../../chunks/CloudsComposition.glsl.js";
5
+ import"../webgl-engine/core/shaderLibrary/shading/EvaluateAmbientLighting.glsl.js";import"../webgl-engine/core/shaderLibrary/shading/EvaluateMainLighting.glsl.js";import"../webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js";import"../webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import"../webgl-engine/core/shaderLibrary/shading/PiUtils.glsl.js";import"../webgl-engine/core/shaderLibrary/util/CloudsParallaxShading.glsl.js";import"../webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import"../webgl-engine/core/shaderLibrary/util/RgbaFloatEncoding.glsl.js";import"../webgl-engine/core/shaderModules/interfaces.js";import"../webgl-engine/core/shaderModules/ShaderBuilder.js";import"../webgl-engine/lib/basicInterfaces.js";export{b as build}from"../../../chunks/CloudsComposition.glsl.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.23/esri/copyright.txt for details.
4
4
  */
5
- import{clamp as a}from"../../../core/mathUtils.js";import{releaseMaybe as t,disposeMaybe as s,isNone as r}from"../../../core/maybe.js";import{a as e,e as i}from"../../../chunks/mat4.js";import{c as o}from"../../../chunks/mat4f64.js";import{z as h,g as n,n as d,a as m,l as _,f as c}from"../../../chunks/vec3.js";import{c as f,f as I}from"../../../chunks/vec3f64.js";import{create as F,fromPoints as P,axis as u}from"../../../geometry/support/axisAngle.js";import{CloudsCompositionTechnique as l}from"./CloudsCompositionTechnique.js";import{createQuadVAO as g}from"../webgl-engine/lib/glUtil3D.js";import{PrimitiveType as O}from"../../webgl/enums.js";class H{constructor(a,t,s,r){this._viewingMode=t,this._inverseProjectionMatrix=o(),this._inverseViewMatrix=o(),this._cameraPositionLastFrame=f(),this._technique=new l({rctx:a,viewingMode:this._viewingMode},null),this._vao=g(a),this._setDefaultParallax(s,r)}destroy(){this._technique=t(this._technique),this._vao=s(this._vao)}render(a,t,s){const i=a.camera;if(r(this._vao)||r(i))return;const o=a.rctx,h=this._technique.program;o.useProgram(h),this._technique.bindPipelineState(o),a.scenelightingData.setLightDirectionUniform(h),a.scenelightingData.setUniforms(h),e(this._inverseProjectionMatrix,i.projectionMatrix),e(this._inverseViewMatrix,i.viewMatrix),h.setUniformMatrix4fv("inverseProjectionMatrix",this._inverseProjectionMatrix),h.setUniformMatrix4fv("inverseViewMatrix",this._inverseViewMatrix),h.setUniform2f("cloudVariables",t.coverage,t.absorption),h.bindTexture(t.cubeMap.colorTexture,"cubeMap"),this._setParallaxParams(i.eye,s),this._bindParallaxParams(h,a.camera),o.bindVAO(this._vao),h.assertCompatibleVertexAttributeLocations(this._vao),o.drawArrays(O.TRIANGLE_STRIP,0,4)}get isFading(){return this._crossFadeParams.crossFadeStage!==p.FINISHED||this._fadeInOutParams.fadeInOutStage!==x.FINISHED||this._fadeInParams.fadeInStage!==S.FINISHED||this._fadeInOutHeightParams.fadeHeightStage!==E.FINISHED}_setDefaultParallax(a,t){this._parallaxParams={anchorPointClouds:f(),radius:a,cloudsHeight:1e5,radiusCurvatureCorrectionFactor:0,transform:o()},this._parallaxParamsNew={anchorPointClouds:f(),radius:a,cloudsHeight:1e5,radiusCurvatureCorrectionFactor:0,transform:o()},this._crossFadeParams={crossFadeStage:p.FINISHED,crossFadeFactor:0,distanceThresholdFactor:.3},this._fadeInOutParams={fadeInOutStage:x.FINISHED,fadeInOutFactor:0,distanceThresholdFactor:.6},this._fadeInParams={fadeInStage:S.FINISHED,fadeInFactor:0,distanceThresholdFactor:2},this._fadeInOutHeightParams={fadeHeightStage:E.FINISHED,fadeHeightFactor:t>1e4?1:0,heightThresholdFactor:1e4}}_isCameraPositionFinal(a){return h(this._cameraPositionLastFrame,a)}_setFadeInStage(a){const t=this._isCameraPositionFinal(a);this._fadeInParams.fadeInStage===S.FINISHED&&(this._fadeInParams.fadeInFactor=1,n(this._parallaxParams.anchorPointClouds,C),this._fadeInParams.fadeInStage=S.CHANGE_ANCHOR,this._crossFadeParams.crossFadeStage=p.FINISHED,this._fadeInOutParams.fadeInOutStage=x.FINISHED),this._fadeInParams.fadeInStage===S.CHANGE_ANCHOR&&t&&(n(this._parallaxParams.anchorPointClouds,C),this._fadeInParams.fadeInStage=S.FADE_IN,this._startTime=performance.now()),this._fadeInParams.fadeInFactor>0&&this._fadeInParams.fadeInStage===S.FADE_IN&&(this._fadeInParams.fadeInFactor=1-(performance.now()-this._startTime)/500),this._fadeInParams.fadeInFactor<=0&&this._fadeInParams.fadeInStage===S.FADE_IN&&(this._fadeInParams.fadeInStage=S.FINISHED,this._fadeInParams.fadeInFactor=0)}_setCrossFadingStage(){this._crossFadeParams.crossFadeStage===p.FINISHED&&(n(this._parallaxParamsNew.anchorPointClouds,C),this._startTime=performance.now(),this._crossFadeParams.crossFadeFactor=0,this._crossFadeParams.crossFadeStage=p.CROSS_FADE),this._crossFadeParams.crossFadeFactor<1&&this._crossFadeParams.crossFadeStage===p.CROSS_FADE&&(this._crossFadeParams.crossFadeFactor=(performance.now()-this._startTime)/500),this._crossFadeParams.crossFadeFactor>=1&&this._crossFadeParams.crossFadeStage===p.CROSS_FADE&&(this._crossFadeParams.crossFadeStage=p.FINISHED,this._crossFadeParams.crossFadeFactor=1,n(this._parallaxParams.anchorPointClouds,this._parallaxParamsNew.anchorPointClouds))}_setFadeInOutStage(a){this._fadeInOutParams.fadeInOutStage===x.FINISHED&&(this._startTime=performance.now(),this._fadeInOutParams.fadeInOutFactor=0,this._fadeInOutParams.fadeInOutStage=x.FADE_OUT),this._fadeInOutParams.fadeInOutFactor<1&&this._fadeInOutParams.fadeInOutStage===x.FADE_OUT&&(this._fadeInOutParams.fadeInOutFactor=(performance.now()-this._startTime)/250),this._fadeInOutParams.fadeInOutFactor>=1&&this._fadeInOutParams.fadeInOutStage===x.FADE_OUT&&(this._fadeInOutParams.fadeInOutFactor=1,n(this._parallaxParams.anchorPointClouds,C)),this._fadeInOutParams.fadeInOutFactor>=1&&this._fadeInOutParams.fadeInOutStage===x.FADE_OUT&&this._isCameraPositionFinal(a)&&(this._startTime=performance.now(),this._fadeInOutParams.fadeInOutFactor=1,this._fadeInOutParams.fadeInOutStage=x.FADE_IN,this._crossFadeParams.crossFadeStage=p.FINISHED,this._crossFadeParams.crossFadeFactor=0),this._fadeInOutParams.fadeInOutFactor>0&&this._fadeInOutParams.fadeInOutStage===x.FADE_IN&&(this._fadeInOutParams.fadeInOutFactor=1-(performance.now()-this._startTime)/500),this._fadeInOutParams.fadeInOutFactor<=0&&this._fadeInOutParams.fadeInOutStage===x.FADE_IN&&(this._fadeInOutParams.fadeInOutStage=x.FINISHED,this._fadeInOutParams.fadeInOutFactor=0)}_setFadeInOutHeight(t){const s=performance.now();this._startTimeHeightFade=this._fadeInOutHeightParams.fadeHeightStage===E.FINISHED?s:this._startTimeHeightFade,t?this._fadeInOutHeightParams.fadeHeightFactor+=(s-this._startTimeHeightFade)/500:this._fadeInOutHeightParams.fadeHeightFactor-=(s-this._startTimeHeightFade)/500,this._startTimeHeightFade=s,this._fadeInOutHeightParams.fadeHeightFactor=a(this._fadeInOutHeightParams.fadeHeightFactor,0,1),this._fadeInOutHeightParams.fadeHeightStage=E.HEIGHT_FADE}_setParallaxParams(a,t){d(C,a),m(C,C,this._parallaxParams.radius),0===this._parallaxParams.anchorPointClouds[0]&&0===this._parallaxParams.anchorPointClouds[1]&&0===this._parallaxParams.anchorPointClouds[2]&&n(this._parallaxParams.anchorPointClouds,C);const s=_(c(T,this._parallaxParams.anchorPointClouds,C));let r=!0;s>this._fadeInParams.distanceThresholdFactor*this._parallaxParams.cloudsHeight||this._fadeInParams.fadeInStage!==S.FINISHED?this._setFadeInStage(a):s>this._fadeInOutParams.distanceThresholdFactor*this._parallaxParams.cloudsHeight||this._fadeInOutParams.fadeInOutStage!==x.FINISHED?this._setFadeInOutStage(a):s>this._crossFadeParams.distanceThresholdFactor*this._parallaxParams.cloudsHeight&&!t||this._crossFadeParams.crossFadeStage!==p.FINISHED?this._setCrossFadingStage():r=!1;const e=_(a),h=e-this._parallaxParams.radius;(h>1.7*this._fadeInOutHeightParams.heightThresholdFactor||h<-1*this._fadeInOutHeightParams.heightThresholdFactor)&&this._fadeInOutHeightParams.fadeHeightFactor<1?this._fadeInOutHeightParams.fadeHeightFactor=1:(h>this._fadeInOutHeightParams.heightThresholdFactor||h<-.35*this._fadeInOutHeightParams.heightThresholdFactor)&&this._fadeInOutHeightParams.fadeHeightFactor<1?this._setFadeInOutHeight(!0):h<this._fadeInOutHeightParams.heightThresholdFactor&&h>-.35*this._fadeInOutHeightParams.heightThresholdFactor&&this._fadeInOutHeightParams.fadeHeightFactor>0?this._setFadeInOutHeight(!1):this._fadeInOutHeightParams.fadeHeightStage=E.FINISHED,this._parallaxParams.radiusCurvatureCorrectionFactor=.84*Math.sqrt(Math.max(e*e-this._parallaxParams.radius*this._parallaxParams.radius,0))/e,P(D,this._parallaxParams.anchorPointClouds,N),this._parallaxParams.transform=o(),i(this._parallaxParams.transform,this._parallaxParams.transform,N[3],u(N)),r&&(P(D,this._parallaxParamsNew.anchorPointClouds,N),this._parallaxParamsNew.transform=o(),i(this._parallaxParamsNew.transform,this._parallaxParamsNew.transform,N[3],u(N))),n(this._cameraPositionLastFrame,a)}_bindParallaxParams(t,s){t.setUniform1f("cloudsHeight",this._parallaxParams.cloudsHeight),t.setUniformMatrix4fv("rotationMatrixClouds",this._parallaxParams.transform),t.setUniformMatrix4fv("rotationMatrixCloudsCrossFade",this._parallaxParamsNew.transform),t.setUniform3fv("anchorPosition",this._parallaxParams.anchorPointClouds),t.setUniform3fv("anchorPositionCrossFade",this._parallaxParamsNew.anchorPointClouds),this._fadeInOutParams.fadeInOutStage!==x.FINISHED?t.setUniform1f("totalFadeInOut",this._fadeInOutHeightParams.fadeHeightFactor+Math.max(a(this._fadeInOutParams.fadeInOutFactor,0,1))):t.setUniform1f("totalFadeInOut",this._fadeInOutHeightParams.fadeHeightFactor+Math.max(a(this._fadeInParams.fadeInFactor,0,1))),t.setUniform1f("radiusCurvatureCorrectionFactor",this._parallaxParams.radiusCurvatureCorrectionFactor),t.setUniform1i("crossFade",this._crossFadeParams.crossFadeStage),t.setUniform1f("crossFadeAnchorFactor",a(this._crossFadeParams.crossFadeFactor,0,1)),t.setUniform1f("radius",this._parallaxParams.radius),t.setUniform3fv("cameraPosition",s.eye)}}var S,x,p,E;!function(a){a[a.FINISHED=0]="FINISHED",a[a.CHANGE_ANCHOR=1]="CHANGE_ANCHOR",a[a.FADE_IN=2]="FADE_IN"}(S||(S={})),function(a){a[a.FINISHED=0]="FINISHED",a[a.FADE_OUT=1]="FADE_OUT",a[a.FADE_IN=2]="FADE_IN"}(x||(x={})),function(a){a[a.FINISHED=0]="FINISHED",a[a.CROSS_FADE=1]="CROSS_FADE"}(p||(p={})),function(a){a[a.FINISHED=0]="FINISHED",a[a.HEIGHT_FADE=1]="HEIGHT_FADE"}(E||(E={}));const D=I(0,0,1),N=F(),C=f(),T=f();export{H as CloudsComposition};
5
+ import{clamp as a}from"../../../core/mathUtils.js";import{releaseMaybe as t,disposeMaybe as e,isNone as r}from"../../../core/maybe.js";import{a as s,e as i}from"../../../chunks/mat4.js";import{c as o}from"../../../chunks/mat4f64.js";import{z as h,g as n,n as m,a as p,l as c,f as _}from"../../../chunks/vec3.js";import{c as d,f}from"../../../chunks/vec3f64.js";import{create as l,fromPoints as I,axis as u}from"../../../geometry/support/axisAngle.js";import{CloudsCompositionTechnique as F}from"./CloudsCompositionTechnique.js";import{createQuadVAO as g}from"../webgl-engine/lib/glUtil3D.js";import{PrimitiveType as H}from"../../webgl/enums.js";class O{constructor(a,t,e,r){this._viewingMode=t,this._inverseProjectionMatrix=o(),this._inverseViewMatrix=o(),this._technique=new F({rctx:a,viewingMode:this._viewingMode},null),this._vao=g(a),this._setDefaultParallax(e,r)}destroy(){this._technique=t(this._technique),this._vao=e(this._vao)}render(a,t,e){this._parameters.clouds=t;const i=a.camera;if(r(this._vao)||r(i))return;const o=a.rctx,h=this._technique.program;o.useProgram(h),this._technique.bindPipelineState(o),a.scenelightingData.setLightDirectionUniform(h),a.scenelightingData.setUniforms(h),s(this._inverseProjectionMatrix,i.projectionMatrix),s(this._inverseViewMatrix,i.viewMatrix),h.setUniformMatrix4fv("inverseProjectionMatrix",this._inverseProjectionMatrix),h.setUniformMatrix4fv("inverseViewMatrix",this._inverseViewMatrix),h.setUniform2f("cloudVariables",this._parameters.clouds.coverage,this._parameters.clouds.absorption),this._setParallaxParams(i.eye,e),C(h,a.camera,this._parameters),o.bindVAO(this._vao),h.assertCompatibleVertexAttributeLocations(this._vao),o.drawArrays(H.TRIANGLE_STRIP,0,4)}get isFading(){return this._parameters.crossFade.stage!==D.FINISHED||this._parameters.fadeInOut.stage!==E.FINISHED||this._parameters.fadeIn.stage!==x.FINISHED||this._parameters.fadeInOutHeight.stage!==N.FINISHED}_setDefaultParallax(a,t){this._parameters={parallax:{anchorPointClouds:d(),radius:a,cloudsHeight:1e5,radiusCurvatureCorrectionFactor:0,transform:o()},parallaxNew:{anchorPointClouds:d(),radius:a,cloudsHeight:1e5,radiusCurvatureCorrectionFactor:0,transform:o()},crossFade:{stage:D.FINISHED,factor:0,distanceThresholdFactor:.3},fadeInOut:{stage:E.FINISHED,factor:0,distanceThresholdFactor:.6},fadeIn:{stage:x.FINISHED,factor:0,distanceThresholdFactor:2},fadeInOutHeight:{stage:N.FINISHED,factor:t>1e4?1:0,heightThresholdFactor:1e4},cameraPositionLastFrame:d(),startTime:0,startTimeHeightFade:0,clouds:null}}_isCameraPositionFinal(a){return h(this._parameters.cameraPositionLastFrame,a)}_setFadeInStage(a){const t=this._isCameraPositionFinal(a);this._parameters.fadeIn.stage===x.FINISHED&&(this._parameters.fadeIn.factor=1,n(this._parameters.parallax.anchorPointClouds,P),this._parameters.fadeIn.stage=x.CHANGE_ANCHOR,this._parameters.crossFade.stage=D.FINISHED,this._parameters.fadeInOut.stage=E.FINISHED),this._parameters.fadeIn.stage===x.CHANGE_ANCHOR&&t&&(n(this._parameters.parallax.anchorPointClouds,P),this._parameters.fadeIn.stage=x.FADE_IN,this._parameters.startTime=performance.now()),this._parameters.fadeIn.factor>0&&this._parameters.fadeIn.stage===x.FADE_IN&&(this._parameters.fadeIn.factor=1-(performance.now()-this._parameters.startTime)/500),this._parameters.fadeIn.factor<=0&&this._parameters.fadeIn.stage===x.FADE_IN&&(this._parameters.fadeIn.stage=x.FINISHED,this._parameters.fadeIn.factor=0)}_setCrossFadingStage(){this._parameters.crossFade.stage===D.FINISHED&&(n(this._parameters.parallaxNew.anchorPointClouds,P),this._parameters.startTime=performance.now(),this._parameters.crossFade.factor=0,this._parameters.crossFade.stage=D.CROSS_FADE),this._parameters.crossFade.factor<1&&this._parameters.crossFade.stage===D.CROSS_FADE&&(this._parameters.crossFade.factor=(performance.now()-this._parameters.startTime)/500),this._parameters.crossFade.factor>=1&&this._parameters.crossFade.stage===D.CROSS_FADE&&(this._parameters.crossFade.stage=D.FINISHED,this._parameters.crossFade.factor=1,n(this._parameters.parallax.anchorPointClouds,this._parameters.parallaxNew.anchorPointClouds))}_setFadeInOutStage(a){this._parameters.fadeInOut.stage===E.FINISHED&&(this._parameters.startTime=performance.now(),this._parameters.fadeInOut.factor=0,this._parameters.fadeInOut.stage=E.FADE_OUT),this._parameters.fadeInOut.factor<1&&this._parameters.fadeInOut.stage===E.FADE_OUT&&(this._parameters.fadeInOut.factor=(performance.now()-this._parameters.startTime)/250),this._parameters.fadeInOut.factor>=1&&this._parameters.fadeInOut.stage===E.FADE_OUT&&(this._parameters.fadeInOut.factor=1,n(this._parameters.parallax.anchorPointClouds,P)),this._parameters.fadeInOut.factor>=1&&this._parameters.fadeInOut.stage===E.FADE_OUT&&this._isCameraPositionFinal(a)&&(this._parameters.startTime=performance.now(),this._parameters.fadeInOut.factor=1,this._parameters.fadeInOut.stage=E.FADE_IN,this._parameters.crossFade.stage=D.FINISHED,this._parameters.crossFade.factor=0),this._parameters.fadeInOut.factor>0&&this._parameters.fadeInOut.stage===E.FADE_IN&&(this._parameters.fadeInOut.factor=1-(performance.now()-this._parameters.startTime)/500),this._parameters.fadeInOut.factor<=0&&this._parameters.fadeInOut.stage===E.FADE_IN&&(this._parameters.fadeInOut.stage=E.FINISHED,this._parameters.fadeInOut.factor=0)}_setFadeInOutHeight(t){const e=performance.now();this._parameters.startTimeHeightFade=this._parameters.fadeInOutHeight.stage===N.FINISHED?e:this._parameters.startTimeHeightFade,t?this._parameters.fadeInOutHeight.factor+=(e-this._parameters.startTimeHeightFade)/500:this._parameters.fadeInOutHeight.factor-=(e-this._parameters.startTimeHeightFade)/500,this._parameters.startTimeHeightFade=e,this._parameters.fadeInOutHeight.factor=a(this._parameters.fadeInOutHeight.factor,0,1),this._parameters.fadeInOutHeight.stage=N.HEIGHT_FADE}_setParallaxParams(a,t){m(P,a),p(P,P,this._parameters.parallax.radius),0===this._parameters.parallax.anchorPointClouds[0]&&0===this._parameters.parallax.anchorPointClouds[1]&&0===this._parameters.parallax.anchorPointClouds[2]&&n(this._parameters.parallax.anchorPointClouds,P);const e=c(_(A,this._parameters.parallax.anchorPointClouds,P));let r=!0;e>this._parameters.fadeIn.distanceThresholdFactor*this._parameters.parallax.cloudsHeight||this._parameters.fadeIn.stage!==x.FINISHED?this._setFadeInStage(a):e>this._parameters.fadeInOut.distanceThresholdFactor*this._parameters.parallax.cloudsHeight||this._parameters.fadeInOut.stage!==E.FINISHED?this._setFadeInOutStage(a):e>this._parameters.crossFade.distanceThresholdFactor*this._parameters.parallax.cloudsHeight&&!t||this._parameters.crossFade.stage!==D.FINISHED?this._setCrossFadingStage():r=!1;const s=c(a),h=s-this._parameters.parallax.radius;(h>1.7*this._parameters.fadeInOutHeight.heightThresholdFactor||h<-1*this._parameters.fadeInOutHeight.heightThresholdFactor)&&this._parameters.fadeInOutHeight.factor<1?this._parameters.fadeInOutHeight.factor=1:(h>this._parameters.fadeInOutHeight.heightThresholdFactor||h<-.35*this._parameters.fadeInOutHeight.heightThresholdFactor)&&this._parameters.fadeInOutHeight.factor<1?this._setFadeInOutHeight(!0):h<this._parameters.fadeInOutHeight.heightThresholdFactor&&h>-.35*this._parameters.fadeInOutHeight.heightThresholdFactor&&this._parameters.fadeInOutHeight.factor>0?this._setFadeInOutHeight(!1):this._parameters.fadeInOutHeight.stage=N.FINISHED,this._parameters.parallax.radiusCurvatureCorrectionFactor=.84*Math.sqrt(Math.max(s*s-this._parameters.parallax.radius*this._parameters.parallax.radius,0))/s,I(S,this._parameters.parallax.anchorPointClouds,T),this._parameters.parallax.transform=o(),i(this._parameters.parallax.transform,this._parameters.parallax.transform,T[3],u(T)),r&&(I(S,this._parameters.parallaxNew.anchorPointClouds,T),this._parameters.parallaxNew.transform=o(),i(this._parameters.parallaxNew.transform,this._parameters.parallaxNew.transform,T[3],u(T))),n(this._parameters.cameraPositionLastFrame,a)}}var x,E,D,N;function C(t,e,r){t.bindTexture(r.clouds.cubeMap.colorTexture,"cubeMap"),t.setUniform1f("cloudsHeight",r.parallax.cloudsHeight),t.setUniformMatrix4fv("rotationMatrixClouds",r.parallax.transform),t.setUniformMatrix4fv("rotationMatrixCloudsCrossFade",r.parallaxNew.transform),t.setUniform3fv("anchorPosition",r.parallax.anchorPointClouds),t.setUniform3fv("anchorPositionCrossFade",r.parallaxNew.anchorPointClouds),r.fadeInOut.stage!==E.FINISHED?t.setUniform1f("totalFadeInOut",r.fadeInOutHeight.factor+Math.max(a(r.fadeInOut.factor,0,1))):t.setUniform1f("totalFadeInOut",r.fadeInOutHeight.factor+Math.max(a(r.fadeIn.factor,0,1))),t.setUniform1f("radiusCurvatureCorrectionFactor",r.parallax.radiusCurvatureCorrectionFactor),t.setUniform1i("crossFade",r.crossFade.stage),t.setUniform1f("crossFadeAnchorFactor",a(r.crossFade.factor,0,1)),t.setUniform1f("radius",r.parallax.radius),t.setUniform3fv("cameraPosition",e.eye)}!function(a){a[a.FINISHED=0]="FINISHED",a[a.CHANGE_ANCHOR=1]="CHANGE_ANCHOR",a[a.FADE_IN=2]="FADE_IN"}(x||(x={})),function(a){a[a.FINISHED=0]="FINISHED",a[a.FADE_OUT=1]="FADE_OUT",a[a.FADE_IN=2]="FADE_IN"}(E||(E={})),function(a){a[a.FINISHED=0]="FINISHED",a[a.CROSS_FADE=1]="CROSS_FADE"}(D||(D={})),function(a){a[a.FINISHED=0]="FINISHED",a[a.HEIGHT_FADE=1]="HEIGHT_FADE"}(N||(N={}));const S=f(0,0,1),T=l(),P=d(),A=d();export{O as CloudsComposition,C as bindCloudsComposition};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.23/esri/copyright.txt for details.
4
4
  */
5
- import{_ as t}from"../../../chunks/tslib.es6.js";import e from"../../../core/Accessor.js";import i from"../../../core/Handles.js";import s from"../../../core/has.js";import{lerp as r}from"../../../core/mathUtils.js";import{releaseMaybe as o,disposeMaybe as h,destroyMaybe as a,isNone as n}from"../../../core/maybe.js";import{init as c}from"../../../core/watchUtils.js";import{property as u}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/arrayUtils.js";import"../../../core/accessorSupport/ensureType.js";import{subclass as p}from"../../../core/accessorSupport/decorators/subclass.js";import{f as m}from"../../../chunks/mat3.js";import{c as d}from"../../../chunks/mat3f64.js";import{x as f}from"../../../chunks/mat4.js";import{c as l}from"../../../chunks/mat4f64.js";import{f as _,z as g}from"../../../chunks/vec3f32.js";import{getReferenceEllipsoid as y}from"../../../geometry/projectionEllipsoid.js";import{cloudPresets as v}from"./CloudsPresets.js";import{CloudsTechniqueConfiguration as b,CloudsTechnique as x}from"./CloudsTechnique.js";import{NoiseTextureAtlas as T}from"./NoiseTextureAtlas.js";import{createQuadVAO as S}from"../webgl-engine/lib/glUtil3D.js";import{TaskPriority as w}from"../../support/Scheduler.js";import{TextureType as M,PixelFormat as z,PixelType as C,TextureWrapMode as j,TextureSamplingMode as E,TargetType as U,ColorAttachment as A}from"../../webgl/enums.js";import{FramebufferObject as R}from"../../webgl/FramebufferObject.js";let B=class extends e{constructor(t){super(t),this._frameTask=null,this._handles=new i,this._cubeMapSize=s("esri-mobile")?1024:2048,this._techniques=[],this._techniqueConfiguration=new b,this.coverage=r(O.coverage[0],O.coverage[1],.5),this.density=r(O.density[0],O.density[1],.5),this.absorption=r(O.absorption[0],O.absorption[1],.5),this.cloudSize=r(O.cloudSize[0],O.cloudSize[1],.5),this.detailSize=r(O.detailSize[0],O.detailSize[1],.5),this.smoothness=r(O.smoothness[0],O.smoothness[1],.5),this.cloudHeight=r(O.cloudHeight[0],O.cloudHeight[1],.5),this.raymarchingStepType=O.raymarchingStepType,this._cloudRadius=0,this._viewMatrix=l(),this._viewMatrix3=d(),this.running=!1}_getTechnique(t){const e=this._techniques[t];return e||(this._techniqueConfiguration.steps=t,this._techniques[t]=new x({rctx:this.rctx,viewingMode:this.view.state.viewingMode},this._techniqueConfiguration),this._techniques[t])}initialize(){this._vao=S(this.rctx);const t=y(this.view.spatialReference);this._cloudRadius=.5*t.radius,this.setDirty(),this._frameTask=this.view.resourceController.scheduler.registerTask(w.CLOUDS_GENERATOR,this),this._handles.add(this._frameTask),this._handles.add(c(this,"coverage",(()=>this.setDirty())));["coverage","density","absorption","cloudSize","detailSize","smoothness","cloudHeight","raymarchingStepType"].forEach((t=>this._handles.add(c(this,t,(()=>this.setDirty())))))}destroy(){this._handles.destroy(),this._techniques.forEach((t=>o(t))),this._techniques=null,this._frameBufferCube=h(this._frameBufferCube),this._vao=h(this._vao),this._noiseTexture=a(this._noiseTexture)}_ensureNoiseTexture(){return n(this._noiseTexture)&&(this._noiseTexture=new T(this.rctx,this.view),this._noiseTexture.render(this.rctx)),this._noiseTexture}get frameBufferCube(){if(n(this._frameBufferCube)){const t={target:M.TEXTURE_CUBE_MAP,pixelFormat:z.RGBA,dataType:C.UNSIGNED_BYTE,wrapMode:j.CLAMP_TO_EDGE,samplingMode:E.LINEAR,hasMipmap:!1,width:this._cubeMapSize,height:this._cubeMapSize};this._frameBufferCube=new R(this.rctx,{colorTarget:U.CUBEMAP,width:this._cubeMapSize,height:this._cubeMapSize},t)}return this._frameBufferCube}get cubeMap(){return this._frameBufferCube}applyPreset(t,e){const i=t.median,s=t=>{const s=r(t[0],t[1],i);return e<.5?r(t[0],s,2*e):r(s,t[1],2*(e-.5))};this.coverage=s(t.coverage),this.density=s(t.density),this.absorption=s(t.absorption),this.cloudSize=s(t.cloudSize),this.detailSize=s(t.detailSize),this.smoothness=s(t.smoothness),this.cloudHeight=s(t.cloudHeight),this.raymarchingStepType=t.raymarchingStepType}setDirty(){this.running=!0}runTask(t){if(0===this.coverage||n(this._vao))return void(this.running=!1);const e=this._ensureNoiseTexture().textureAtlas;if(n(e))return void(this.running=!1);const i=this.rctx.getViewport();this.rctx.setViewport(0,0,this._cubeMapSize,this._cubeMapSize),this.rctx.bindFramebuffer(this.frameBufferCube,!1,M.TEXTURE_CUBE_MAP_POSITIVE_X);const s=this._getTechnique(this.raymarchingStepType),o=s.program;this.rctx.useProgram(o);const h=1+this.absorption,a=r(35,120,this.absorption);o.bindTexture(e,"cloudShapeTexture"),o.setUniform1f("cloudRadius",this._cloudRadius),o.setUniform1f("halfCubeMapSize",.5*this._cubeMapSize),o.setUniform1f("power",a),o.setUniform1f("sigmaE",h),o.setUniform1f("density",r(0,.3,this.density)),o.setUniform1f("cloudSize",r(0,.02,Math.max(.01,1-this.cloudSize))),o.setUniform1f("detailSize",r(0,.2,Math.max(.01,1-this.detailSize))),o.setUniform1f("smoothness",r(0,.5,1-this.smoothness)),o.setUniform1f("cloudHeight",r(0,1500,this.cloudHeight)),o.setUniform1f("coverage",this.coverage),this.rctx.bindVAO(this._vao),o.assertCompatibleVertexAttributeLocations(this._vao),s.bindPipelineState(this.rctx);for(let r=0;r<5;r++){const t=q[r],e=P[r];f(this._viewMatrix,k,t,e),m(this._viewMatrix3,this._viewMatrix),o.setUniformMatrix3fv("viewMatrix",this._viewMatrix3);const i=M.TEXTURE_CUBE_MAP_POSITIVE_X+r;this.frameBufferCube.framebufferTexture2D(this.frameBufferCube.colorAttachment.glName,this.rctx.gl,A.COLOR_ATTACHMENT0,i),this.rctx.gl.drawArrays(this.rctx.gl.TRIANGLE_STRIP,0,4),this.rctx.gl.flush()}this.running=!1,this.rctx.setViewport(i.x,i.y,i.width,i.height),this.requestRender(),t.madeProgress()}};t([u({constructOnly:!0})],B.prototype,"rctx",void 0),t([u({constructOnly:!0})],B.prototype,"view",void 0),t([u({constructOnly:!0})],B.prototype,"requestRender",void 0),t([u()],B.prototype,"_frameTask",void 0),t([u()],B.prototype,"coverage",void 0),t([u()],B.prototype,"density",void 0),t([u()],B.prototype,"absorption",void 0),t([u()],B.prototype,"cloudSize",void 0),t([u()],B.prototype,"detailSize",void 0),t([u()],B.prototype,"smoothness",void 0),t([u()],B.prototype,"cloudHeight",void 0),t([u()],B.prototype,"raymarchingStepType",void 0),t([u()],B.prototype,"running",void 0),B=t([p("esri.views.3d.environment.CloudsGenerator")],B);const q=[_(1,0,0),_(-1,0,0),_(0,1,0),_(0,-1,0),_(0,0,1)],P=[_(0,1,0),_(0,1,0),_(0,0,-1),_(0,0,1),_(0,1,0)],k=g(),O=v.sunny;export{B as CloudsGenerator};
5
+ import{_ as t}from"../../../chunks/tslib.es6.js";import e from"../../../core/Accessor.js";import i from"../../../core/Handles.js";import s from"../../../core/has.js";import{lerp as r}from"../../../core/mathUtils.js";import{releaseMaybe as o,disposeMaybe as h,destroyMaybe as a,isNone as n}from"../../../core/maybe.js";import{init as c}from"../../../core/watchUtils.js";import{property as u}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/arrayUtils.js";import"../../../core/accessorSupport/ensureType.js";import{subclass as p}from"../../../core/accessorSupport/decorators/subclass.js";import{f as m}from"../../../chunks/mat3.js";import{c as d}from"../../../chunks/mat3f64.js";import{x as f}from"../../../chunks/mat4.js";import{c as l}from"../../../chunks/mat4f64.js";import{f as _,z as g}from"../../../chunks/vec3f32.js";import{getReferenceEllipsoid as y}from"../../../geometry/projectionEllipsoid.js";import{cloudPresets as v}from"./CloudsPresets.js";import{CloudsTechniqueConfiguration as x,CloudsTechnique as b}from"./CloudsTechnique.js";import{NoiseTextureAtlas as S}from"./NoiseTextureAtlas.js";import{createQuadVAO as T}from"../webgl-engine/lib/glUtil3D.js";import{TaskPriority as w}from"../../support/Scheduler.js";import{TextureType as z,PixelFormat as M,PixelType as j,TextureWrapMode as C,TextureSamplingMode as U,TargetType as E}from"../../webgl/enums.js";import{FramebufferObject as R}from"../../webgl/FramebufferObject.js";let q=class extends e{constructor(t){super(t),this._frameTask=null,this._handles=new i,this._cubeMapSize=s("esri-mobile")?1024:2048,this._techniques=[],this._techniqueConfiguration=new x,this.coverage=r(P.coverage[0],P.coverage[1],.5),this.density=r(P.density[0],P.density[1],.5),this.absorption=r(P.absorption[0],P.absorption[1],.5),this.cloudSize=r(P.cloudSize[0],P.cloudSize[1],.5),this.detailSize=r(P.detailSize[0],P.detailSize[1],.5),this.smoothness=r(P.smoothness[0],P.smoothness[1],.5),this.cloudHeight=r(P.cloudHeight[0],P.cloudHeight[1],.5),this.raymarchingStepType=P.raymarchingStepType,this._cloudRadius=0,this._viewMatrix=l(),this._viewMatrix3=d(),this.running=!1}_getTechnique(t){const e=this._techniques[t];return e||(this._techniqueConfiguration.steps=t,this._techniques[t]=new b({rctx:this.rctx,viewingMode:this.view.state.viewingMode},this._techniqueConfiguration),this._techniques[t])}initialize(){this._vao=T(this.rctx);const t=y(this.view.spatialReference);this._cloudRadius=.5*t.radius,this.setDirty(),this._frameTask=this.view.resourceController.scheduler.registerTask(w.CLOUDS_GENERATOR,this),this._handles.add(this._frameTask),this._handles.add(c(this,"coverage",(()=>this.setDirty())));["coverage","density","absorption","cloudSize","detailSize","smoothness","cloudHeight","raymarchingStepType"].forEach((t=>this._handles.add(c(this,t,(()=>this.setDirty())))))}destroy(){this._handles.destroy(),this._techniques.forEach((t=>o(t))),this._techniques=null,this._frameBufferCube=h(this._frameBufferCube),this._vao=h(this._vao),this._noiseTexture=a(this._noiseTexture)}_ensureNoiseTexture(){return n(this._noiseTexture)&&(this._noiseTexture=new S(this.rctx,this.view),this._noiseTexture.render(this.rctx)),this._noiseTexture}get frameBufferCube(){if(n(this._frameBufferCube)){const t={target:z.TEXTURE_CUBE_MAP,pixelFormat:M.RGBA,dataType:j.UNSIGNED_BYTE,wrapMode:C.CLAMP_TO_EDGE,samplingMode:U.LINEAR,hasMipmap:!1,width:this._cubeMapSize,height:this._cubeMapSize};this._frameBufferCube=new R(this.rctx,{colorTarget:E.CUBEMAP,width:this._cubeMapSize,height:this._cubeMapSize},t)}return this._frameBufferCube}get cubeMap(){return this._frameBufferCube}applyPreset(t,e){const i=t.median,s=t=>{const s=r(t[0],t[1],i);return e<.5?r(t[0],s,2*e):r(s,t[1],2*(e-.5))};this.coverage=s(t.coverage),this.density=s(t.density),this.absorption=s(t.absorption),this.cloudSize=s(t.cloudSize),this.detailSize=s(t.detailSize),this.smoothness=s(t.smoothness),this.cloudHeight=s(t.cloudHeight),this.raymarchingStepType=t.raymarchingStepType}setDirty(){this.running=!0}runTask(t){if(0===this.coverage||n(this._vao))return void(this.running=!1);const e=this._ensureNoiseTexture().textureAtlas;if(n(e))return void(this.running=!1);const i=this.rctx.getViewport();this.rctx.setViewport(0,0,this._cubeMapSize,this._cubeMapSize),this.rctx.bindFramebuffer(this.frameBufferCube);const s=this._getTechnique(this.raymarchingStepType),o=s.program;this.rctx.useProgram(o);const h=1+this.absorption,a=r(35,120,this.absorption);o.bindTexture(e,"cloudShapeTexture"),o.setUniform1f("cloudRadius",this._cloudRadius),o.setUniform1f("halfCubeMapSize",.5*this._cubeMapSize),o.setUniform1f("power",a),o.setUniform1f("sigmaE",h),o.setUniform1f("density",r(0,.3,this.density)),o.setUniform1f("cloudSize",r(0,.02,Math.max(.01,1-this.cloudSize))),o.setUniform1f("detailSize",r(0,.2,Math.max(.01,1-this.detailSize))),o.setUniform1f("smoothness",r(0,.5,1-this.smoothness)),o.setUniform1f("cloudHeight",r(0,1500,this.cloudHeight)),o.setUniform1f("coverage",this.coverage),this.rctx.bindVAO(this._vao),o.assertCompatibleVertexAttributeLocations(this._vao),s.bindPipelineState(this.rctx);for(let r=0;r<5;r++){const t=A[r],e=B[r];f(this._viewMatrix,k,t,e),m(this._viewMatrix3,this._viewMatrix),o.setUniformMatrix3fv("viewMatrix",this._viewMatrix3);const i=z.TEXTURE_CUBE_MAP_POSITIVE_X+r;this.frameBufferCube.setColorTextureTarget(i),this.rctx.gl.drawArrays(this.rctx.gl.TRIANGLE_STRIP,0,4),this.rctx.gl.flush()}this.running=!1,this.rctx.setViewport(i.x,i.y,i.width,i.height),this.requestRender(),t.madeProgress()}};t([u({constructOnly:!0})],q.prototype,"rctx",void 0),t([u({constructOnly:!0})],q.prototype,"view",void 0),t([u({constructOnly:!0})],q.prototype,"requestRender",void 0),t([u()],q.prototype,"_frameTask",void 0),t([u()],q.prototype,"coverage",void 0),t([u()],q.prototype,"density",void 0),t([u()],q.prototype,"absorption",void 0),t([u()],q.prototype,"cloudSize",void 0),t([u()],q.prototype,"detailSize",void 0),t([u()],q.prototype,"smoothness",void 0),t([u()],q.prototype,"cloudHeight",void 0),t([u()],q.prototype,"raymarchingStepType",void 0),t([u()],q.prototype,"running",void 0),q=t([p("esri.views.3d.environment.CloudsGenerator")],q);const A=[_(1,0,0),_(-1,0,0),_(0,1,0),_(0,-1,0),_(0,0,1)],B=[_(0,1,0),_(0,1,0),_(0,0,-1),_(0,0,1),_(0,1,0)],k=g(),P=v.sunny;export{q as CloudsGenerator};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.23/esri/copyright.txt for details.
4
4
  */
5
- import{_ as o}from"../../../chunks/tslib.es6.js";import r from"../../../core/Accessor.js";import{property as e}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/arrayUtils.js";import"../../../core/has.js";import"../../../core/accessorSupport/ensureType.js";import{enumeration as s}from"../../../core/accessorSupport/decorators/enumeration.js";import{subclass as t}from"../../../core/accessorSupport/decorators/subclass.js";var c;let p=c=class extends r{constructor(o){super(o),this.type="cloudy",this.cloudCover=.5}clone(){return new c({cloudCover:this.cloudCover})}};o([s({cloudy:"cloudy"})],p.prototype,"type",void 0),o([e({type:Number,nonNullable:!0,range:{min:0,max:1}})],p.prototype,"cloudCover",void 0),p=c=o([t("esri.views.3d.environment.CloudyWeather")],p);const u=p;export{u as default};
5
+ import{_ as o}from"../../../chunks/tslib.es6.js";import{JSONSupport as r}from"../../../core/JSONSupport.js";import{property as e}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/arrayUtils.js";import"../../../core/has.js";import"../../../core/accessorSupport/ensureType.js";import{enumeration as s}from"../../../core/accessorSupport/decorators/enumeration.js";import{subclass as t}from"../../../core/accessorSupport/decorators/subclass.js";var c;let p=c=class extends r{constructor(o){super(o),this.type="cloudy",this.cloudCover=.5}clone(){return new c({cloudCover:this.cloudCover})}};o([s({cloudy:"cloudy"})],p.prototype,"type",void 0),o([e({type:Number,nonNullable:!0,range:{min:0,max:1}})],p.prototype,"cloudCover",void 0),p=c=o([t("esri.views.3d.environment.CloudyWeather")],p);const u=p;export{u as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.23/esri/copyright.txt for details.
4
4
  */
5
- import{smoothstep as e,lerp as t}from"../../../core/mathUtils.js";import{isNone as i,releaseMaybe as r,disposeMaybe as s}from"../../../core/maybe.js";import{a as o}from"../../../chunks/mat4.js";import{c as n}from"../../../chunks/mat4f64.js";import{s as h}from"../../../chunks/vec2.js";import{a}from"../../../chunks/vec2f64.js";import{l as c}from"../../../chunks/vec3.js";import{getReferenceEllipsoid as u}from"../../../geometry/projectionEllipsoid.js";import{atmosphereHeight as m}from"./atmosphereUtils.js";import{FogTechniqueConfiguration as p,FogTechnique as _}from"./FogTechnique.js";import{Pos2Tex as f}from"../webgl-engine/lib/DefaultVertexBufferLayouts.js";import{createQuadVAO as g}from"../webgl-engine/lib/glUtil3D.js";import{PrimitiveType as d}from"../../webgl/enums.js";class l{constructor(e,t){this._projectionInverse=n(),this._viewInverse=n(),this._nearFar=a(),this._darkenHaze=!1,this._hazeMultiplier=1,this._strength=4e-6;const i=e.renderContext.rctx;this._vao=g(i,f),this._shaderTechniqueRepository=e.shaderTechniqueRep;const r=u(t.spatialReference);this._planetRadius=r.radius,this._atmosphereRadius=r.radius+m}set strength(e){this._strength=e}get strength(){return this._strength}get foggyWeatherTechnique(){if(i(this._foggyWeatherTechnique)){const e=new p;e.haze=!1,this._foggyWeatherTechnique=this._shaderTechniqueRepository.acquire(_,e)}return this._foggyWeatherTechnique}get distanceFogTechnique(){if(i(this._distanceFogTechnique)){const e=new p;e.haze=!0,this._distanceFogTechnique=this._shaderTechniqueRepository.acquire(_,e)}return this._distanceFogTechnique}destroy(){this._distanceFogTechnique=r(this._distanceFogTechnique),this._foggyWeatherTechnique=r(this._foggyWeatherTechnique),this._vao=s(this._vao)}when(){return Promise.resolve()}render(e,t,i){if(this._darkenHaze=i,this._update(e.camera,t),this._fogAmount<=0)return;const r=e.rctx,s=e.offscreenRenderingHelper,o=t?this.foggyWeatherTechnique:this.distanceFogTechnique;r.useProgram(o.program),o.bindPipelineState(r),s.renderDepthDetached((()=>{o.program.bindTexture(s.depthTexture,"depthTex"),this._renderFog(o.program,e)}))}_renderFog(e,t){if(i(this._vao))return!1;const r=t.rctx;return t.scenelightingData.setLightDirectionUniform(e),e.setUniform3fv("cameraPosition",t.camera.eye),e.setUniformMatrix4fv("projectionInverse",this._projectionInverse),e.setUniformMatrix4fv("viewInverse",this._viewInverse),e.setUniform2fv("nearFar",this._nearFar),e.setUniform1f("atmosphereC",this._atmosphereC),e.setUniform1f("strength",this._strength),e.setUniform1f("fogAmount",this._hazeMultiplier*this._fogAmount),r.bindVAO(this._vao),e.assertCompatibleVertexAttributeLocations(this._vao),r.drawArrays(d.TRIANGLE_STRIP,0,4),!0}_update(r,s){if(i(r))return;o(this._projectionInverse,r.projectionMatrix),o(this._viewInverse,r.viewMatrix),h(this._nearFar,r.near,r.far);const n=c(r.eye),a=n*n;this._atmosphereC=a-this._atmosphereRadius*this._atmosphereRadius,this._fogAmount=s?1-e(3e3,6e3,Math.abs(n-this._planetRadius)):1-e(7e3,1e4,Math.abs(n-this._planetRadius)),this._hazeMultiplier=this._darkenHaze?t(.4,1,e(9500,10500,n-this._planetRadius)):1}static isSupported(e){return e.capabilities.depthTexture}}export{l as Fog};
5
+ import{smoothstep as e,lerp as t}from"../../../core/mathUtils.js";import{isNone as i,releaseMaybe as r,disposeMaybe as s}from"../../../core/maybe.js";import{a as n}from"../../../chunks/mat4.js";import{c as h}from"../../../chunks/mat4f64.js";import{s as o}from"../../../chunks/vec2.js";import{a}from"../../../chunks/vec2f64.js";import{l as c}from"../../../chunks/vec3.js";import{getReferenceEllipsoid as u}from"../../../geometry/projectionEllipsoid.js";import{atmosphereHeight as m}from"./atmosphereUtils.js";import{FogTechniqueConfiguration as p,FogTechnique as _}from"./FogTechnique.js";import{Pos2Tex as f}from"../webgl-engine/lib/DefaultVertexBufferLayouts.js";import{createQuadVAO as g}from"../webgl-engine/lib/glUtil3D.js";import{PrimitiveType as d}from"../../webgl/enums.js";class l{constructor(e,t){this._projectionInverse=h(),this._viewInverse=h(),this._nearFar=a(),this._darkenHaze=!1,this._hazeMultiplier=1,this._strength=4e-6,this._view=t;const i=e.renderContext.rctx;this._vao=g(i,f),this._shaderTechniqueRepository=e.shaderTechniqueRep;const r=u(t.spatialReference);this._planetRadius=r.radius,this._atmosphereRadius=r.radius+m}set strength(e){this._strength=e}get strength(){return this._strength}get foggyWeatherTechnique(){if(i(this._foggyWeatherTechnique)){const e=new p;e.haze=!1,this._foggyWeatherTechnique=this._shaderTechniqueRepository.acquire(_,e)}return this._foggyWeatherTechnique}get distanceFogTechnique(){if(i(this._distanceFogTechnique)){const e=new p;e.haze=!0,this._distanceFogTechnique=this._shaderTechniqueRepository.acquire(_,e)}return this._distanceFogTechnique}destroy(){this._distanceFogTechnique=r(this._distanceFogTechnique),this._foggyWeatherTechnique=r(this._foggyWeatherTechnique),this._vao=s(this._vao)}when(){return Promise.resolve()}render(e,t,i){if(0===this._view.basemapTerrain.baseOpacity&&!t)return;if(this._darkenHaze=i,this._update(e.camera,t),this._fogAmount<=0)return;const r=e.rctx,s=e.offscreenRenderingHelper,n=t?this.foggyWeatherTechnique:this.distanceFogTechnique;r.useProgram(n.program),n.bindPipelineState(r),s.renderDepthDetached((()=>{n.program.bindTexture(s.depthTexture,"depthTex"),this._renderFog(n.program,e)}))}_renderFog(e,t){if(i(this._vao))return!1;const r=t.rctx;return t.scenelightingData.setLightDirectionUniform(e),e.setUniform3fv("cameraPosition",t.camera.eye),e.setUniformMatrix4fv("projectionInverse",this._projectionInverse),e.setUniformMatrix4fv("viewInverse",this._viewInverse),e.setUniform2fv("nearFar",this._nearFar),e.setUniform1f("atmosphereC",this._atmosphereC),e.setUniform1f("strength",this._strength),e.setUniform1f("fogAmount",this._hazeMultiplier*this._fogAmount),r.bindVAO(this._vao),e.assertCompatibleVertexAttributeLocations(this._vao),r.drawArrays(d.TRIANGLE_STRIP,0,4),!0}_update(r,s){if(i(r))return;n(this._projectionInverse,r.projectionMatrix),n(this._viewInverse,r.viewMatrix),o(this._nearFar,r.near,r.far);const h=c(r.eye),a=h*h;this._atmosphereC=a-this._atmosphereRadius*this._atmosphereRadius,this._fogAmount=s?1-e(3e3,6e3,Math.abs(h-this._planetRadius)):1-e(7e3,1e4,Math.abs(h-this._planetRadius)),this._hazeMultiplier=this._darkenHaze?t(.4,1,e(9500,10500,h-this._planetRadius)):1}static isSupported(e){return e.capabilities.depthTexture}}export{l as Fog};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.23/esri/copyright.txt for details.
4
4
  */
5
- import{_ as r}from"../../../chunks/tslib.es6.js";import o from"../../../core/Accessor.js";import{property as e}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/arrayUtils.js";import"../../../core/has.js";import"../../../core/accessorSupport/ensureType.js";import{enumeration as t}from"../../../core/accessorSupport/decorators/enumeration.js";import{subclass as s}from"../../../core/accessorSupport/decorators/subclass.js";var p;let c=p=class extends o{constructor(r){super(r),this.type="foggy",this.fogStrength=.5}clone(){return new p({fogStrength:this.fogStrength})}};r([t({foggy:"foggy"})],c.prototype,"type",void 0),r([e({type:Number,nonNullable:!0,range:{min:0,max:1}})],c.prototype,"fogStrength",void 0),c=p=r([s("esri.views.3d.environment.FoggyWeather")],c);const a=c;export{a as default};
5
+ import{_ as r}from"../../../chunks/tslib.es6.js";import{JSONSupport as o}from"../../../core/JSONSupport.js";import{property as e}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/arrayUtils.js";import"../../../core/has.js";import"../../../core/accessorSupport/ensureType.js";import{enumeration as t}from"../../../core/accessorSupport/decorators/enumeration.js";import{subclass as s}from"../../../core/accessorSupport/decorators/subclass.js";var p;let c=p=class extends o{constructor(r){super(r),this.type="foggy",this.fogStrength=.5}clone(){return new p({fogStrength:this.fogStrength})}};r([t({foggy:"foggy"})],c.prototype,"type",void 0),r([e({type:Number,nonNullable:!0,range:{min:0,max:1}})],c.prototype,"fogStrength",void 0),c=p=r([s("esri.views.3d.environment.FoggyWeather")],c);const a=c;export{a as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.23/esri/copyright.txt for details.
4
4
  */
5
- import e from"../../../core/has.js";import{releaseMaybe as t,disposeMaybe as i,isNone as r}from"../../../core/maybe.js";import{NoiseTextureAtlasTechnique as s}from"./NoiseTextureAtlasTechnique.js";import{createQuadVAO as o}from"../webgl-engine/lib/glUtil3D.js";import{TargetType as a,TextureType as h,PixelFormat as f,PixelType as m,TextureWrapMode as n,TextureSamplingMode as l}from"../../webgl/enums.js";import{FramebufferObject as u}from"../../webgl/FramebufferObject.js";const _=e("esri-mobile")?64:128,c=Math.ceil(Math.sqrt(_)),g=(_+2)*c;class p{constructor(e,t){this._frameBuffer=new u(e,{colorTarget:a.TEXTURE,width:g,height:g},{target:h.TEXTURE_2D,pixelFormat:f.RGBA,dataType:m.UNSIGNED_BYTE,wrapMode:n.CLAMP_TO_EDGE,samplingMode:l.LINEAR,hasMipmap:!1,width:g,height:g}),this._vao=o(e),this._technique=new s({rctx:e,viewingMode:t.state.viewingMode},null)}get textureAtlas(){return this._frameBuffer.colorTexture}destroy(){this._technique=t(this._technique),this._frameBuffer=i(this._frameBuffer),this._vao=i(this._vao)}render(e){if(r(this._vao)||r(this.textureAtlas))return;const t=e.getViewport();e.setViewport(0,0,g,g),e.bindFramebuffer(this._frameBuffer);const i=this._technique.program;e.useProgram(i),this._technique.bindPipelineState(e),i.setUniform1f("tileSize",_),i.setUniform1f("tileRows",c),e.bindVAO(this._vao),i.assertCompatibleVertexAttributeLocations(this._vao),e.gl.drawArrays(e.gl.TRIANGLE_STRIP,0,4),e.setViewport(t.x,t.y,t.width,t.height)}}export{g as ATLAS_SIZE,p as NoiseTextureAtlas,c as TILE_ROWS,_ as TILE_SIZE};
5
+ import e from"../../../core/has.js";import{releaseMaybe as t,disposeMaybe as i,isNone as r}from"../../../core/maybe.js";import{NoiseTextureAtlasTechnique as s}from"./NoiseTextureAtlasTechnique.js";import{createQuadVAO as o}from"../webgl-engine/lib/glUtil3D.js";import{TargetType as a,TextureType as h,PixelFormat as f,PixelType as m,TextureWrapMode as n,TextureSamplingMode as l}from"../../webgl/enums.js";import{FramebufferObject as u}from"../../webgl/FramebufferObject.js";const _=e("esri-mobile")?64:128,c=_/128,g=Math.ceil(Math.sqrt(_)),p=(_+2)*g;class w{constructor(e,t){this._frameBuffer=new u(e,{colorTarget:a.TEXTURE,width:p,height:p},{target:h.TEXTURE_2D,pixelFormat:f.RGBA,dataType:m.UNSIGNED_BYTE,wrapMode:n.CLAMP_TO_EDGE,samplingMode:l.LINEAR,hasMipmap:!1,width:p,height:p}),this._vao=o(e),this._technique=new s({rctx:e,viewingMode:t.state.viewingMode},null)}get textureAtlas(){return this._frameBuffer.colorTexture}destroy(){this._technique=t(this._technique),this._frameBuffer=i(this._frameBuffer),this._vao=i(this._vao)}render(e){if(r(this._vao)||r(this.textureAtlas))return;const t=e.getViewport();e.setViewport(0,0,p,p),e.bindFramebuffer(this._frameBuffer);const i=this._technique.program;e.useProgram(i),this._technique.bindPipelineState(e),i.setUniform1f("tileSize",_),i.setUniform1f("tileRows",g),e.bindVAO(this._vao),i.assertCompatibleVertexAttributeLocations(this._vao),e.gl.drawArrays(e.gl.TRIANGLE_STRIP,0,4),e.setViewport(t.x,t.y,t.width,t.height)}}export{p as ATLAS_SIZE,w as NoiseTextureAtlas,c as TEXTURE_SCALE,g as TILE_ROWS,_ as TILE_SIZE};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.23/esri/copyright.txt for details.
4
4
  */
5
- import{_ as r}from"../../../chunks/tslib.es6.js";import o from"../../../core/Accessor.js";import{property as e}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/arrayUtils.js";import"../../../core/has.js";import"../../../core/accessorSupport/ensureType.js";import{enumeration as s}from"../../../core/accessorSupport/decorators/enumeration.js";import{subclass as t}from"../../../core/accessorSupport/decorators/subclass.js";var c;let p=c=class extends o{constructor(r){super(r),this.type="rainy",this.cloudCover=.5}clone(){return new c({cloudCover:this.cloudCover})}};r([s({rainy:"rainy"})],p.prototype,"type",void 0),r([e({type:Number,nonNullable:!0,range:{min:0,max:1}})],p.prototype,"cloudCover",void 0),p=c=r([t("esri.views.3d.environment.RainyWeather")],p);const a=p;export{a as default};
5
+ import{_ as r}from"../../../chunks/tslib.es6.js";import{JSONSupport as o}from"../../../core/JSONSupport.js";import{property as e}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/arrayUtils.js";import"../../../core/has.js";import"../../../core/accessorSupport/ensureType.js";import{enumeration as s}from"../../../core/accessorSupport/decorators/enumeration.js";import{subclass as t}from"../../../core/accessorSupport/decorators/subclass.js";var p;let c=p=class extends o{constructor(r){super(r),this.type="rainy",this.cloudCover=.5}clone(){return new p({cloudCover:this.cloudCover})}};r([s({rainy:"rainy"})],c.prototype,"type",void 0),r([e({type:Number,nonNullable:!0,range:{min:0,max:1}})],c.prototype,"cloudCover",void 0),c=p=r([t("esri.views.3d.environment.RainyWeather")],c);const a=c;export{a as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.23/esri/copyright.txt for details.
4
4
  */
5
- import{_ as t}from"../../../chunks/tslib.es6.js";import{fetchAsset as e}from"../../../assets.js";import r from"../../../core/Accessor.js";import s from"../../../core/Error.js";import a from"../../../core/Logger.js";import{isSome as i,abortMaybe as o,disposeMaybe as n,isNone as c}from"../../../core/maybe.js";import{createTask as f,isAbortError as u}from"../../../core/promiseUtils.js";import{property as h}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/arrayUtils.js";import"../../../core/has.js";import"../../../core/accessorSupport/ensureType.js";import{subclass as d}from"../../../core/accessorSupport/decorators/subclass.js";import{c as m,g as p,m as l}from"../../../chunks/mat4.js";import{c as g,f as _}from"../../../chunks/mat4f64.js";import{StarsTechnique as b}from"./StarsTechnique.js";import{glLayout as y}from"../support/buffer/glUtil.js";import{newLayout as v}from"../support/buffer/InterleavedLayout.js";import{VertexAttribute as j}from"../webgl-engine/lib/basicInterfaces.js";import{Default3D as w}from"../webgl-engine/lib/DefaultVertexAttributeLocations.js";import{WatchUpdatingTracking as T,WatchFlags as k}from"../../support/WatchUpdatingTracking.js";import{BufferObject as D}from"../../webgl/BufferObject.js";import{PrimitiveType as P,Usage as x}from"../../webgl/enums.js";import{VertexArrayObject as A}from"../../webgl/VertexArrayObject.js";const I=a.getLogger("esri.views.3d.environment.Stars");let S=class extends r{constructor(t){super(t),this._loadDataTask=null,this._numPoints=0,this._renderParameter={camera:null,modelMatrix:g()},this._updatingTracking=new T}get updating(){return this._updatingTracking.updating||this.loading}get loading(){return i(this._loadDataTask)&&!this._loadDataTask.finished}initialize(){this._loadDataTask=this._createLoadDataTask()}destroy(){this._loadDataTask=o(this._loadDataTask),this._updatingTracking.destroy(),this._numPoints=0,this._technique=n(this._technique),this._vao=n(this._vao)}render(t){const{rctx:e,camera:r}=t;if(this._ensureResources(e),c(this._technique)||c(this._vao))return;const s=this._technique.program;e.useProgram(s),this._renderParameter.camera=r,this._technique.bindPass(this._renderParameter),this._technique.bindPipelineState(e),e.bindVAO(this._vao),s.assertCompatibleVertexAttributeLocations(this._vao),e.drawArrays(P.POINTS,0,this._numPoints)}_ensureResources(t){if(i(this._technique)||c(U))return;this._technique=new b({rctx:t,viewingMode:this.view.state.viewingMode},null),this._numPoints=U.byteLength/L;const e=new Float32Array(U,0,2*this._numPoints),r=new Uint8Array(U,2*this._numPoints*4,this._numPoints);this._vao=this._createVertexArrayObject(t,e,r,this._numPoints),this._updatingTracking.add(this.view,"environment.lighting.date",(t=>this._update(t)),k.INIT)}_computeDayDuration(t){const e=t,r=new Date(t.getFullYear(),0,1,11,58,56);return(+e-+r)/(+new Date(t.getFullYear()+1,0,1,11,58,55)-+r)}_update(t){if(!t)return;const e=(t.getHours()/12+t.getMinutes()/60*(2/24)+t.getSeconds()/60*(2/1440)-.9972222)%2,r=2*this._computeDayDuration(t),s=this._renderParameter.modelMatrix;m(s,M),p(s,s,-r*Math.PI),l(s,q,s),p(s,s,-e*Math.PI),this.requestRender()}_hexToRGB(t){return[parseInt(t.substring(0,2),16),parseInt(t.substring(2,4),16),parseInt(t.substring(4,6),16)]}_unpackUint8Attributes(t){return t>=192?[2.9,t-192]:t>=160?[2.5,t-160]:t>=128?[2,t-128]:t>=96?[1.5,t-96]:t>=64?[1,t-64]:t>=32?[.7,t-32]:[.4,t]}_createVertexArrayObject(t,e,r,s){const a=R.createBuffer(s),i=a.position,o=a.color,n=a.size;for(let c=0;c<s;c++){const t=e[2*c+0],s=e[2*c+1];i.set(c,0,-Math.cos(t)*Math.sin(s)),i.set(c,1,-Math.sin(t)*Math.sin(s)),i.set(c,2,-Math.cos(s));const a=this._unpackUint8Attributes(r[c]),f=this._hexToRGB(O[a[1]]);o.set(c,0,255*f[0]),o.set(c,1,255*f[1]),o.set(c,2,255*f[2]),o.set(c,3,255),n.set(c,a[0])}return new A(t,w,{geometry:y(R)},{geometry:D.createVertex(t,x.STATIC_DRAW,a.buffer)})}_createLoadDataTask(){if(i(U))return null;const t=f((async t=>{const{data:r}=await e("esri/views/3d/environment/resources/stars.wsv",{responseType:"array-buffer",signal:t});this._verifyStarData(r),U=r}));return t.promise.catch((t=>{u(t)||I.error(t)})).then((()=>{this.destroyed||(this.requestRender(),this.notifyChange("updating"))})),t}_verifyStarData(t){if(!t)throw new s("stars:no-data-received","Failed to create stars because star catalogue is missing");const e=t.byteLength/L;if(e%1!=0||e>5e4||e<5e3)throw new s("stars:invalid-data","Failed to create stars because star catalogue data is invalid")}};t([h({constructOnly:!0})],S.prototype,"view",void 0),t([h({constructOnly:!0})],S.prototype,"requestRender",void 0),t([h({readOnly:!0})],S.prototype,"updating",null),t([h()],S.prototype,"_loadDataTask",void 0),t([h()],S.prototype,"_updatingTracking",void 0),S=t([d("esri.views.3d.environment.Stars")],S);const O=["9bb2ff","9eb5ff","aabfff","bbccff","ccd8ff ","dae2ff","e4e9ff","eeefff","f8f6ff","fff9fb","fff5ef","fff1e5","ffeddb","ffe9d2","ffe6ca","ffe3c3","ffe0bb","ffddb4","ffdaad","ffd6a5","ffd29c","ffcc8f","ffc178","ffa94b","ff7b00"],q=_(1,0,0,0,0,.9174771405229186,.39778850739794974,0,0,-.39778850739794974,.9174771405229186,0,0,0,0,1),M=_(1,0,0,0,0,.9174771405229186,-.39778850739794974,0,0,.39778850739794974,.9174771405229186,0,0,0,0,1),L=9,R=v().vec3f(j.POSITION).vec4u8(j.COLOR).f32(j.SIZE);let U=null;export{S as Stars};
5
+ import{_ as t}from"../../../chunks/tslib.es6.js";import{fetchAsset as e}from"../../../assets.js";import r from"../../../core/Accessor.js";import s from"../../../core/Error.js";import a from"../../../core/Logger.js";import{isSome as i,abortMaybe as o,disposeMaybe as n,isNone as c}from"../../../core/maybe.js";import{createTask as f,isAbortError as u}from"../../../core/promiseUtils.js";import{initial as h}from"../../../core/reactiveUtils.js";import{property as d}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/arrayUtils.js";import"../../../core/has.js";import"../../../core/accessorSupport/ensureType.js";import{subclass as m}from"../../../core/accessorSupport/decorators/subclass.js";import{c as p,g as l,m as g}from"../../../chunks/mat4.js";import{c as _,f as b}from"../../../chunks/mat4f64.js";import{StarsTechnique as v}from"./StarsTechnique.js";import{glLayout as y}from"../support/buffer/glUtil.js";import{newLayout as j}from"../support/buffer/InterleavedLayout.js";import{VertexAttribute as w}from"../webgl-engine/lib/basicInterfaces.js";import{Default3D as T}from"../webgl-engine/lib/DefaultVertexAttributeLocations.js";import{WatchUpdatingTracking as k}from"../../support/WatchUpdatingTracking.js";import{BufferObject as D}from"../../webgl/BufferObject.js";import{PrimitiveType as P,Usage as x}from"../../webgl/enums.js";import{VertexArrayObject as A}from"../../webgl/VertexArrayObject.js";const S=a.getLogger("esri.views.3d.environment.Stars");let O=class extends r{constructor(t){super(t),this._loadDataTask=null,this._numPoints=0,this._renderParameter={camera:null,modelMatrix:_()},this._updatingTracking=new k}get updating(){return this._updatingTracking.updating||this.loading}get loading(){return i(this._loadDataTask)&&!this._loadDataTask.finished}initialize(){this._loadDataTask=this._createLoadDataTask()}destroy(){this._loadDataTask=o(this._loadDataTask),this._updatingTracking.destroy(),this._numPoints=0,this._technique=n(this._technique),this._vao=n(this._vao)}render(t){const{rctx:e,camera:r}=t;if(this._ensureResources(e),c(this._technique)||c(this._vao))return;const s=this._technique.program;e.useProgram(s),this._renderParameter.camera=r,this._technique.bindPass(this._renderParameter),this._technique.bindPipelineState(e),e.bindVAO(this._vao),s.assertCompatibleVertexAttributeLocations(this._vao),e.drawArrays(P.POINTS,0,this._numPoints)}_ensureResources(t){if(i(this._technique)||c(U))return;this._technique=new v({rctx:t,viewingMode:this.view.state.viewingMode},null),this._numPoints=U.byteLength/L;const e=new Float32Array(U,0,2*this._numPoints),r=new Uint8Array(U,2*this._numPoints*4,this._numPoints);this._vao=this._createVertexArrayObject(t,e,r,this._numPoints),this._updatingTracking.add((()=>{var t,e,r;return null==(t=this.view)||null==(e=t.environment)||null==(r=e.lighting)?void 0:r.date}),(t=>this._update(t)),h)}_computeDayDuration(t){const e=t,r=new Date(t.getFullYear(),0,1,11,58,56);return(+e-+r)/(+new Date(t.getFullYear()+1,0,1,11,58,55)-+r)}_update(t){if(!t)return;const e=(t.getHours()/12+t.getMinutes()/60*(2/24)+t.getSeconds()/60*(2/1440)-.9972222)%2,r=2*this._computeDayDuration(t),s=this._renderParameter.modelMatrix;p(s,M),l(s,s,-r*Math.PI),g(s,I,s),l(s,s,-e*Math.PI),this.requestRender()}_hexToRGB(t){return[parseInt(t.substring(0,2),16),parseInt(t.substring(2,4),16),parseInt(t.substring(4,6),16)]}_unpackUint8Attributes(t){return t>=192?[2.9,t-192]:t>=160?[2.5,t-160]:t>=128?[2,t-128]:t>=96?[1.5,t-96]:t>=64?[1,t-64]:t>=32?[.7,t-32]:[.4,t]}_createVertexArrayObject(t,e,r,s){const a=R.createBuffer(s),i=a.position,o=a.color,n=a.size;for(let c=0;c<s;c++){const t=e[2*c+0],s=e[2*c+1];i.set(c,0,-Math.cos(t)*Math.sin(s)),i.set(c,1,-Math.sin(t)*Math.sin(s)),i.set(c,2,-Math.cos(s));const a=this._unpackUint8Attributes(r[c]),f=this._hexToRGB(q[a[1]]);o.set(c,0,255*f[0]),o.set(c,1,255*f[1]),o.set(c,2,255*f[2]),o.set(c,3,255),n.set(c,a[0])}return new A(t,T,{geometry:y(R)},{geometry:D.createVertex(t,x.STATIC_DRAW,a.buffer)})}_createLoadDataTask(){if(i(U))return null;const t=f((async t=>{const{data:r}=await e("esri/views/3d/environment/resources/stars.wsv",{responseType:"array-buffer",signal:t});this._verifyStarData(r),U=r}));return t.promise.catch((t=>{u(t)||S.error(t)})).then((()=>{this.destroyed||(this.requestRender(),this.notifyChange("updating"))})),t}_verifyStarData(t){if(!t)throw new s("stars:no-data-received","Failed to create stars because star catalogue is missing");const e=t.byteLength/L;if(e%1!=0||e>5e4||e<5e3)throw new s("stars:invalid-data","Failed to create stars because star catalogue data is invalid")}};t([d({constructOnly:!0})],O.prototype,"view",void 0),t([d({constructOnly:!0})],O.prototype,"requestRender",void 0),t([d({readOnly:!0})],O.prototype,"updating",null),t([d()],O.prototype,"_loadDataTask",void 0),t([d()],O.prototype,"_updatingTracking",void 0),O=t([m("esri.views.3d.environment.Stars")],O);const q=["9bb2ff","9eb5ff","aabfff","bbccff","ccd8ff ","dae2ff","e4e9ff","eeefff","f8f6ff","fff9fb","fff5ef","fff1e5","ffeddb","ffe9d2","ffe6ca","ffe3c3","ffe0bb","ffddb4","ffdaad","ffd6a5","ffd29c","ffcc8f","ffc178","ffa94b","ff7b00"],I=b(1,0,0,0,0,.9174771405229186,.39778850739794974,0,0,-.39778850739794974,.9174771405229186,0,0,0,0,1),M=b(1,0,0,0,0,.9174771405229186,-.39778850739794974,0,0,.39778850739794974,.9174771405229186,0,0,0,0,1),L=9,R=j().vec3f(w.POSITION).vec4u8(w.COLOR).f32(w.SIZE);let U=null;export{O as Stars};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.23/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../../chunks/tslib.es6.js";import r from"../../../Graphic.js";import t from"../../../core/Error.js";import i from"../../../core/Logger.js";import{isSome as s,isNone as l}from"../../../core/maybe.js";import{property as o}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/arrayUtils.js";import"../../../core/has.js";import"../../../core/accessorSupport/ensureType.js";import{subclass as n}from"../../../core/accessorSupport/decorators/subclass.js";import{WhereClause as a}from"../../../core/sql/WhereClause.js";import"../../../layers/buildingSublayers/BuildingComponentSublayer.js";import u from"../../../layers/support/FeatureFilter.js";import{fixFields as d,unpackFieldNames as p,populateMissingFields as y}from"../../../layers/support/fieldUtils.js";import h from"../../../rest/support/Query.js";import{BuildingSublayerView3DMixin as c}from"./BuildingSublayerView3D.js";import{I3SMeshView3D as f}from"./I3SMeshView3D.js";import{ForAllFeaturesVisibilityMode as m}from"./II3SMeshView3D.js";import{applyFilterMode as F}from"./i3s/BuildingFilterUtil.js";import{createGetFeatureExtent as g}from"./i3s/I3SGeometryUtil.js";import{I3SMeshViewFilter as b}from"./i3s/I3SMeshViewFilter.js";import w from"./i3s/I3SQueryEngine.js";import{I3SQueryFeatureAdapter as v}from"./i3s/I3SQueryFeatureAdapter.js";import E from"./i3s/I3SQueryFeatureStore.js";import{findFieldsCaseInsensitive as _,getIndexCrs as x}from"./i3s/I3SUtil.js";import{DefinitionExpressionSceneLayerView as S}from"./support/DefinitionExpressionSceneLayerView.js";import j from"../../layers/BuildingComponentSublayerView.js";import{getRequiredFields as I,getFetchPopupTemplate as Q}from"../../layers/support/popupUtils.js";import{TaskPriority as q}from"../../support/Scheduler.js";import{WatchFlags as R}from"../../support/WatchUpdatingTracking.js";const L=i.getLogger("esri.views.3d.layers.BuildingComponentSublayerView3D");let O=class extends(S(f(c(j)))){constructor(){super(...arguments),this.type="building-component-sublayer-3d",this.layerView=null,this._elevationContext="scene",this._isIntegratedMesh=!1,this._supportsLabeling=!1,this.lodFactor=1,this.progressiveLoadFactor=1,this._queryEngine=null}get layerUid(){return this.sublayer.layer.uid}get sublayerUid(){return this.sublayer.uid}initialize(){this.updatingHandles.add(this,"sublayer.renderer,definitionExpressionFields,filterExpressionFields",(()=>this._updateRequiredFields())),this.updatingHandles.add(this.sublayer,"renderer",(e=>this._rendererChange(e)),R.INIT);for(const e of["parsedDefinitionExpression","filter","viewFilter.parsedWhereClause","viewFilter.parsedGeometry","viewFilter.sortedObjectIds"])this.updatingHandles.add(this,e,(()=>this._filterChange()));this.updatingHandles.add(this,"parsedFilterExpressions",(()=>this._updateSymbologyOverride()),R.INIT),this.addResolvingPromise(this._updateRequiredFields())}get parsedFilterExpressions(){return"Overview"===this.sublayer.modelName?[]:this.layerView.filterExpressions.map((([e,r])=>{let t;try{t=a.create(e,this.sublayer.fieldsIndex)}catch(l){return L.error("Failed to parse filterExpression: "+l),null}if(!t.isStandardized)return L.error("filterExpression is using non standard function"),null;const i=[],s=t.fieldNames;return _(s,this.sublayer.fields,{missingFields:i}),i.length>0?(L.error(`filterExpression references unknown fields: ${i.join(", ")}`),null):[t,r]})).filter((e=>null!=e))}get filter(){return s(this.viewFilter)?this.viewFilter.filter:null}set filter(e){!l(e)&&b.checkSupport(e)?s(this.viewFilter)?this.viewFilter.filter=e:this.viewFilter=new b({filter:e,layerFieldsIndex:this.sublayer.fieldsIndex,loadAsyncModule:e=>this._loadAsyncModule(e),applyFilters:()=>this._applyFilters(!0),addSqlFilter:(e,r)=>this.addSqlFilter(e,r,this.logError)}):this.viewFilter=null}_updateSymbologyOverride(){const e=this.parsedFilterExpressions;e.length>0?this._setSymbologyOverride(((r,t)=>{for(const[s,l]of e)try{if(s.testFeature(r))return F(t,l)}catch(i){this.logError(i)}return F(t,null)}),this.filterExpressionFields):this._setSymbologyOverride(null,null)}get filterExpressionFields(){return d(this.sublayer.fieldsIndex,this.parsedFilterExpressions.reduce(((e,[r])=>e.concat(r.fieldNames)),[]))}get availableFields(){const e=this.sublayer,r=e.fieldsIndex;let t=this.requiredFields;if(e.outFields||e.layer.outFields){const i=[...e.outFields||[],...e.layer.outFields||[]];t=[...p(r,i),...t]}return d(r,t)}_createLayerGraphic(e){const t=new r(null,null,e);return t.layer=this.sublayer.layer,t.sourceLayer=this.sublayer,t}canResume(){return super.canResume()&&(!this._controller||this._controller.rootNodeVisible)}async fetchPopupFeatures(e,r){const t=this._validateFetchPopupFeatures(r);if(t)return Promise.reject(t);if(!s(r)||!r.clientGraphics||0===r.clientGraphics.length)return[];const i=[],l=[],o=s(this.sublayer.associatedLayer)?await this.sublayer.associatedLayer.load():this.sublayer,n=p(this.sublayer.fieldsIndex,await I(o,Q(this.sublayer,r))),a=new Set;for(const s of r.clientGraphics)y(n,s,a)?l.push(s):i.push(s);return 0===l.length?Promise.resolve(i):(s(this.sublayer.associatedLayer)&&await this.sublayer.associatedLayer.load().catch((()=>L.warn("Failed to load associated feature layer. Displaying popup attributes from cached attributes."))),this.whenGraphicAttributes(l,Array.from(a)).catch((()=>l)).then((e=>i.concat(e))))}async _updateRequiredFields(){const e=d(this.sublayer.fieldsIndex,[...this.sublayer.renderer?await this.sublayer.renderer.getRequiredFields(this.sublayer.fieldsIndex):[],...this.definitionExpressionFields||[],...this.filterExpressionFields||[]]);this._set("requiredFields",e)}_validateFetchPopupFeatures(e){const{sublayer:r}=this,{popupEnabled:i}=r;return i?Q(r,e)?void 0:new t("buildingscenelayerview3d:fetchPopupFeatures","Layer does not define a popup template",{sublayer:r}):new t("buildingscenelayerview3d:fetchPopupFeatures","Popups are disabled",{sublayer:r})}getFilters(){const e=super.getFilters();return this.addSqlFilter(e,this.parsedDefinitionExpression,this.logError),s(this.viewFilter)&&this.viewFilter.addFilters(e,this.view,this._controller.crsIndex,this._collection),e}createQuery(){const e={outFields:["*"],returnGeometry:!1,outSpatialReference:this.view.spatialReference};return s(this.filter)?this.filter.createQuery(e):new h(e)}queryExtent(e,r){return this._ensureQueryEngine().executeQueryForExtent(this._ensureQuery(e),null==r?void 0:r.signal)}queryFeatureCount(e,r){return this._ensureQueryEngine().executeQueryForCount(this._ensureQuery(e),null==r?void 0:r.signal)}queryFeatures(e,r){return this._ensureQueryEngine().executeQuery(this._ensureQuery(e),null==r?void 0:r.signal).then((e=>{if(null==e||!e.features)return e;const r=this.sublayer,t=r.layer;for(const i of e.features)i.layer=t,i.sourceLayer=r;return e}))}queryObjectIds(e,r){return this._ensureQueryEngine().executeQueryForIds(this._ensureQuery(e),null==r?void 0:r.signal)}_ensureQueryEngine(){return l(this._queryEngine)&&(this._queryEngine=this._createQueryEngine()),this._queryEngine}_createQueryEngine(){const e=g(this.view.spatialReference,this.view.renderSpatialReference,this._collection);return new w({layerView:this,priority:q.FEATURE_QUERY_ENGINE,spatialIndex:new E({featureAdapter:new v({objectIdField:this.sublayer.objectIdField,attributeStorageInfo:this.sublayer.attributeStorageInfo,getFeatureExtent:e}),forAllFeatures:(e,r)=>this._forAllFeatures(((r,t,i)=>e({id:r,index:t,meta:i})),r,m.ALL_IN_CLIPPING_AREA),getFeatureExtent:e,sourceSpatialReference:x(this.sublayer),viewSpatialReference:this.view.spatialReference})})}_ensureQuery(e){return this._addDefinitionExpressionToQuery(l(e)?this.createQuery():h.from(e))}};e([o({aliasOf:"sublayer"})],O.prototype,"i3slayer",void 0),e([o()],O.prototype,"layerView",void 0),e([o()],O.prototype,"suspended",void 0),e([o({readOnly:!0,aliasOf:"view.qualitySettings.sceneService.3dObject.lodFactor"})],O.prototype,"lodFactor",void 0),e([o({readOnly:!0})],O.prototype,"parsedFilterExpressions",null),e([o({type:u})],O.prototype,"filter",null),e([o()],O.prototype,"viewFilter",void 0),e([o({type:[String],readOnly:!0})],O.prototype,"filterExpressionFields",null),e([o({type:[String],readOnly:!0})],O.prototype,"requiredFields",void 0),e([o({type:[String],readOnly:!0})],O.prototype,"availableFields",null),O=e([n("esri.views.3d.layers.BuildingComponentSublayerView3D")],O);const V=O;export{V as default};
5
+ import{_ as e}from"../../../chunks/tslib.es6.js";import r from"../../../Graphic.js";import t from"../../../core/Error.js";import i from"../../../core/Logger.js";import{applySome as s,isSome as l,isNone as o}from"../../../core/maybe.js";import{initial as n}from"../../../core/reactiveUtils.js";import{property as a}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/arrayUtils.js";import"../../../core/has.js";import"../../../core/accessorSupport/ensureType.js";import{subclass as u}from"../../../core/accessorSupport/decorators/subclass.js";import{WhereClause as d}from"../../../core/sql/WhereClause.js";import"../../../layers/buildingSublayers/BuildingComponentSublayer.js";import p from"../../../layers/support/FeatureFilter.js";import{fixFields as y,unpackFieldNames as h,populateMissingFields as c}from"../../../layers/support/fieldUtils.js";import f from"../../../rest/support/Query.js";import{BuildingSublayerView3DMixin as m}from"./BuildingSublayerView3D.js";import{I3SMeshView3D as F}from"./I3SMeshView3D.js";import{ForAllFeaturesVisibilityMode as g}from"./II3SMeshView3D.js";import{applyFilterMode as b}from"./i3s/BuildingFilterUtil.js";import{createGetFeatureExtent as w}from"./i3s/I3SGeometryUtil.js";import{I3SMeshViewFilter as v}from"./i3s/I3SMeshViewFilter.js";import E from"./i3s/I3SQueryEngine.js";import{I3SQueryFeatureAdapter as _}from"./i3s/I3SQueryFeatureAdapter.js";import x from"./i3s/I3SQueryFeatureStore.js";import{findFieldsCaseInsensitive as S,getIndexCrs as j}from"./i3s/I3SUtil.js";import{DefinitionExpressionSceneLayerView as I}from"./support/DefinitionExpressionSceneLayerView.js";import Q from"../../layers/BuildingComponentSublayerView.js";import{getRequiredFields as q,getFetchPopupTemplate as R}from"../../layers/support/popupUtils.js";import{TaskPriority as L}from"../../support/Scheduler.js";const O=i.getLogger("esri.views.3d.layers.BuildingComponentSublayerView3D");let V=class extends(I(F(m(Q)))){constructor(){super(...arguments),this.type="building-component-sublayer-3d",this.layerView=null,this._elevationContext="scene",this._isIntegratedMesh=!1,this._supportsLabeling=!1,this.lodFactor=1,this.progressiveLoadFactor=1,this._queryEngine=null}get layerUid(){return this.sublayer.layer.uid}get sublayerUid(){return this.sublayer.uid}initialize(){this.updatingHandles.add((()=>[this.sublayer.renderer,this.definitionExpressionFields,this.filterExpressionFields]),(()=>this._updateRequiredFields())),this.updatingHandles.add((()=>this.sublayer.renderer),(e=>this._rendererChange(e)),n),this.updatingHandles.add((()=>[this.parsedDefinitionExpression,this.filter,s(this.viewFilter,(({parsedWhereClause:e,parsedGeometry:r,sortedObjectIds:t})=>[e,r,t]))]),(()=>this._filterChange())),this.updatingHandles.add((()=>this.parsedFilterExpressions),(()=>this._updateSymbologyOverride()),n),this.addResolvingPromise(this._updateRequiredFields())}get parsedFilterExpressions(){return"Overview"===this.sublayer.modelName?[]:this.layerView.filterExpressions.map((([e,r])=>{let t;try{t=d.create(e,this.sublayer.fieldsIndex)}catch(l){return O.error("Failed to parse filterExpression: "+l),null}if(!t.isStandardized)return O.error("filterExpression is using non standard function"),null;const i=[],s=t.fieldNames;return S(s,this.sublayer.fields,{missingFields:i}),i.length>0?(O.error(`filterExpression references unknown fields: ${i.join(", ")}`),null):[t,r]})).filter((e=>null!=e))}get filter(){return l(this.viewFilter)?this.viewFilter.filter:null}set filter(e){!o(e)&&v.checkSupport(e)?l(this.viewFilter)?this.viewFilter.filter=e:this.viewFilter=new v({filter:e,layerFieldsIndex:this.sublayer.fieldsIndex,loadAsyncModule:e=>this._loadAsyncModule(e),applyFilters:()=>this._applyFilters(!0),addSqlFilter:(e,r)=>this.addSqlFilter(e,r,this.logError)}):this.viewFilter=null}_updateSymbologyOverride(){const e=this.parsedFilterExpressions;e.length>0?this._setSymbologyOverride(((r,t)=>{for(const[s,l]of e)try{if(s.testFeature(r))return b(t,l)}catch(i){this.logError(i)}return b(t,null)}),this.filterExpressionFields):this._setSymbologyOverride(null,null)}get filterExpressionFields(){return y(this.sublayer.fieldsIndex,this.parsedFilterExpressions.reduce(((e,[r])=>e.concat(r.fieldNames)),[]))}get availableFields(){const e=this.sublayer,r=e.fieldsIndex;let t=this.requiredFields;if(e.outFields||e.layer.outFields){const i=[...e.outFields||[],...e.layer.outFields||[]];t=[...h(r,i),...t]}return y(r,t)}_createLayerGraphic(e){const t=new r(null,null,e);return t.layer=this.sublayer.layer,t.sourceLayer=this.sublayer,t}canResume(){return super.canResume()&&(!this._controller||this._controller.rootNodeVisible)}async fetchPopupFeatures(e,r){const t=this._validateFetchPopupFeatures(r);if(t)return Promise.reject(t);if(!l(r)||!r.clientGraphics||0===r.clientGraphics.length)return[];const i=[],s=[],o=l(this.sublayer.associatedLayer)?await this.sublayer.associatedLayer.load():this.sublayer,n=h(this.sublayer.fieldsIndex,await q(o,R(this.sublayer,r))),a=new Set;for(const l of r.clientGraphics)c(n,l,a)?s.push(l):i.push(l);return 0===s.length?Promise.resolve(i):(l(this.sublayer.associatedLayer)&&await this.sublayer.associatedLayer.load().catch((()=>O.warn("Failed to load associated feature layer. Displaying popup attributes from cached attributes."))),this.whenGraphicAttributes(s,Array.from(a)).catch((()=>s)).then((e=>i.concat(e))))}async _updateRequiredFields(){const e=y(this.sublayer.fieldsIndex,[...this.sublayer.renderer?await this.sublayer.renderer.getRequiredFields(this.sublayer.fieldsIndex):[],...this.definitionExpressionFields||[],...this.filterExpressionFields||[]]);this._set("requiredFields",e)}_validateFetchPopupFeatures(e){const{sublayer:r}=this,{popupEnabled:i}=r;return i?R(r,e)?void 0:new t("buildingscenelayerview3d:fetchPopupFeatures","Layer does not define a popup template",{sublayer:r}):new t("buildingscenelayerview3d:fetchPopupFeatures","Popups are disabled",{sublayer:r})}getFilters(){const e=super.getFilters();return this.addSqlFilter(e,this.parsedDefinitionExpression,this.logError),l(this.viewFilter)&&this.viewFilter.addFilters(e,this.view,this._controller.crsIndex,this._collection),e}createQuery(){const e={outFields:["*"],returnGeometry:!1,outSpatialReference:this.view.spatialReference};return l(this.filter)?this.filter.createQuery(e):new f(e)}queryExtent(e,r){return this._ensureQueryEngine().executeQueryForExtent(this._ensureQuery(e),null==r?void 0:r.signal)}queryFeatureCount(e,r){return this._ensureQueryEngine().executeQueryForCount(this._ensureQuery(e),null==r?void 0:r.signal)}queryFeatures(e,r){return this._ensureQueryEngine().executeQuery(this._ensureQuery(e),null==r?void 0:r.signal).then((e=>{if(null==e||!e.features)return e;const r=this.sublayer,t=r.layer;for(const i of e.features)i.layer=t,i.sourceLayer=r;return e}))}queryObjectIds(e,r){return this._ensureQueryEngine().executeQueryForIds(this._ensureQuery(e),null==r?void 0:r.signal)}_ensureQueryEngine(){return o(this._queryEngine)&&(this._queryEngine=this._createQueryEngine()),this._queryEngine}_createQueryEngine(){const e=w(this.view.spatialReference,this.view.renderSpatialReference,this._collection);return new E({layerView:this,priority:L.FEATURE_QUERY_ENGINE,spatialIndex:new x({featureAdapter:new _({objectIdField:this.sublayer.objectIdField,attributeStorageInfo:this.sublayer.attributeStorageInfo,getFeatureExtent:e}),forAllFeatures:(e,r)=>this._forAllFeatures(((r,t,i)=>e({id:r,index:t,meta:i})),r,g.ALL_IN_CLIPPING_AREA),getFeatureExtent:e,sourceSpatialReference:j(this.sublayer),viewSpatialReference:this.view.spatialReference})})}_ensureQuery(e){return this._addDefinitionExpressionToQuery(o(e)?this.createQuery():f.from(e))}};e([a({aliasOf:"sublayer"})],V.prototype,"i3slayer",void 0),e([a()],V.prototype,"layerView",void 0),e([a()],V.prototype,"suspended",void 0),e([a({readOnly:!0,aliasOf:"view.qualitySettings.sceneService.3dObject.lodFactor"})],V.prototype,"lodFactor",void 0),e([a({readOnly:!0})],V.prototype,"parsedFilterExpressions",null),e([a({type:p})],V.prototype,"filter",null),e([a()],V.prototype,"viewFilter",void 0),e([a({type:[String],readOnly:!0})],V.prototype,"filterExpressionFields",null),e([a({type:[String],readOnly:!0})],V.prototype,"requiredFields",void 0),e([a({type:[String],readOnly:!0})],V.prototype,"availableFields",null),V=e([u("esri.views.3d.layers.BuildingComponentSublayerView3D")],V);const A=V;export{A as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.23/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../../chunks/tslib.es6.js";import{forEach as t,result as i}from"../../../core/asyncUtils.js";import r from"../../../core/Logger.js";import{isNone as s,isSome as a}from"../../../core/maybe.js";import{debounce as n,isAbortError as o,eachAlways as l,onAbort as h,isAborted as m,createAbortError as c,always as d,throwIfAborted as g}from"../../../core/promiseUtils.js";import{whenOnce as u}from"../../../core/watchUtils.js";import{property as p}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/arrayUtils.js";import"../../../core/has.js";import"../../../core/accessorSupport/ensureType.js";import{subclass as f}from"../../../core/accessorSupport/decorators/subclass.js";import y from"../../../geometry/Extent.js";import{equals as w,create as x,width as _,height as v,copy as R,intersection as b}from"../../../geometry/support/aaBoundingRect.js";import{DrapeSourceType as S}from"./interfaces.js";import{LayerView3D as E}from"./LayerView3D.js";import{computeImageExportSize as j,createGeometryForExtent as I,createOuterImageGeometry as A}from"./support/overlayImageUtils.js";import{toViewIfLocal as C}from"./support/projectExtentUtils.js";import D from"../support/debugFlags.js";import{OverlayIndex as L}from"../terrain/interfaces.js";import{UpdatePolicy as G}from"../webgl-engine/lib/basicInterfaces.js";import{ModelDirty as M}from"../webgl-engine/lib/ModelDirtyTypes.js";import{RenderGeometry as T}from"../webgl-engine/lib/RenderGeometry.js";import{Texture as P}from"../webgl-engine/lib/Texture.js";import{ImageMaterial as O}from"../webgl-engine/materials/ImageMaterial.js";import U from"../../layers/LayerView.js";import{RefreshableLayerView as V}from"../../layers/RefreshableLayerView.js";import{isScaleRangeActive as H}from"../../support/layerViewUtils.js";import{TextureWrapMode as N}from"../../webgl/enums.js";const z=r.getLogger("esri.views.3d.layers.DynamicLayerView3D");let F=class extends(V(E(U))){constructor(){super(...arguments),this.drapeSourceType=S.RasterImage,this.updatePolicy=G.SYNC,this.fullExtentInLocalViewSpatialReference=null,this.maximumDataResolution=null,this._images=new Array,this._extents=new Array,this._overlays=new Array,this.updateWhenStationary=!0,this.refreshDebounced=n((async e=>{this.destroyed||await this._doRefresh(e).catch((e=>{o(e)||r.getLogger(this.declaredClass).error(e)}))}),2e3)}initialize(){this.addResolvingPromise(C(this).then((e=>this._set("fullExtentInLocalViewSpatialReference",e)))),this.updatingHandles.add(this,"suspended",(()=>this._suspendedChangeHandler())),this.handles.add(this.view.resourceController.scheduler.registerIdleStateCallbacks((()=>{this._isScaleRangeActive()&&this.notifyChange("suspended")}),(()=>{}))),this._isScaleRangeLayer()&&this.updatingHandles.add(this.layer,"effectiveScaleRange",(()=>this.notifyChange("suspended")))}destroy(){this.clear()}setDrapingExtent(e,t){this._spatialReference=t,e.forEach((e=>{this._overlays[e.index]=e,this._updateImageExtent(e)}))}_updateImageExtent(e){const t=this._clippedExtent(e.extent,W);if(s(t))return;const i=j(e.extent,t,e.resolution);let r=e.pixelRatio*this.view.pixelRatio;if("imageMaxWidth"in this.layer||"imageMaxHeight"in this.layer){const e=this.layer.imageMaxWidth,t=this.layer.imageMaxHeight;if(i.width>e){const t=e/i.width;i.height=Math.floor(i.height*t),i.width=e,r*=t}if(i.height>t){const e=t/i.height;i.width=Math.floor(i.width*e),i.height=t,r*=e}}const a=this._extents[e.index];a&&w(a.extent,t)&&this._imageSizeEquals(t,a.imageSize,i)||(this._extents[e.index]={extent:x(t),imageSize:i,pixelRatio:r},this.suspended||this._fetch(e.index).catch((e=>{o(e)||z.error(e)})))}clear(){for(let e=0;e<this._images.length;e++)this._clearImage(e)}async doRefresh(){return this._doRefresh()}async _doRefresh(e){if(this.suspended)return;const t=[];for(let i=0;i<this._extents.length;i++)this._extents[i]&&t.push(this._fetch(i,e));await l(t)}canResume(){if(!super.canResume())return!1;const e=this.layer;if(this._isScaleRangeActive()){const{minScale:t,maxScale:i}=e.effectiveScaleRange,r=this.view.scale;if(r<i||t>0&&r>t)return!1}return!0}isUpdating(){return this._images.some((e=>!!e.loadingPromise))}async processResult(e,t,i){(t instanceof HTMLImageElement||t instanceof HTMLCanvasElement)&&(e.image=t)}findExtentInfoAt(e){for(const t of this._extents){const i=t.extent;if(new y(i[0],i[1],i[2],i[3],this._spatialReference).contains(e))return t}return null}getFetchOptions(){}async redraw(e,i){await t(this._images,(async(t,r)=>{t&&(await e(t,i),await this._createStageObjects(r,t.image,i))}))}_imageSizeEquals(e,t,i){if(!this.maximumDataResolution)return!1;const r=_(e)/this.maximumDataResolution.x,s=v(e)/this.maximumDataResolution.y,a=r/t.width,n=s/t.height,o=r/i.width,l=s/i.height,h=Math.abs(a-o),m=Math.abs(n-l),c=D.TESTS_DISABLE_OPTIMIZATIONS?0:1.5;return h<=c&&m<=c}async _fetch(e,t){if(this.suspended)return;const i=this._extents[e],r=i.extent;this._images[e]||(this._images[e]={texture:null,material:null,renderGeometry:null,loadingPromise:null,loadingAbortController:null,image:null,pixelData:null,renderExtent:x(r)});const s=this._images[e];s.loadingAbortController&&(s.loadingAbortController.abort(),s.loadingAbortController=null);const a=new y(r[0],r[1],r[2],r[3],this._spatialReference);if(0===a.width||0===a.height)return void this._clearImage(e);const n=new AbortController;s.loadingAbortController=n,h(t,(()=>n.abort()));const l=n.signal,g=this._waitFetchReady(l).then((()=>{const t={requestAsImageElement:!0,pixelRatio:this._overlays[e].pixelRatio,...this.getFetchOptions(),signal:l},{height:r,width:s}=i.imageSize;return this.layer.fetchImage(a,s,r,t)})).then((e=>{if(m(l))throw z.warnOnce("A call to fetchImage resolved even though the request was aborted. fetchImage should not resolve if options.signal.aborted is true."),c();return this.processResult(s,e)})).then((()=>R(s.renderExtent,r)));s.loadingPromise=g,d(g,(()=>{g===s.loadingPromise&&(s.loadingPromise=null,s.loadingAbortController=null)})),this.notifyChange("updating"),await g.then((async()=>{if(l.aborted)throw c();await this._createStageObjects(e,s.image,l),this.notifyChange("updating")})).catch((e=>{throw e&&!o(e)&&z.error(e),this.notifyChange("updating"),e}))}_clearImage(e){const t=this._images[e];if(t){a(t.renderGeometry)&&(this.view.basemapTerrain.overlayManager.renderer.removeGeometries([t.renderGeometry],this,M.Geometry.UPDATE),t.renderGeometry=null);const e=this.view._stage;e.remove(t.texture),t.texture=null,e.remove(t.material),t.material=null,t.loadingAbortController&&(t.loadingAbortController.abort(),t.loadingAbortController=null),t.loadingPromise=null,t.image=null,t.pixelData=null}}async _createStageObjects(e,t,r){const n=this.view._stage,o=this._images[e],l=this.view.basemapTerrain.overlayManager.renderer,h=()=>{n.remove(o.texture),o.texture=null,a(o.renderGeometry)&&(l.removeGeometries([o.renderGeometry],this,M.Geometry.UPDATE),o.renderGeometry=null)};if(t){const a=new P(t,{width:t.width,height:t.height,preMultiplyAlpha:!0,wrap:{s:N.CLAMP_TO_EDGE,t:N.CLAMP_TO_EDGE}});let m;if(await i(this._images[e===L.INNER?L.OUTER:L.INNER].loadingPromise),g(r),e===L.INNER)m=I(o.renderExtent);else{const e=this._images[0].renderExtent;if(!e)return void h();m=A(e,o.renderExtent)}h(),n.add(a),await n.loadImmediate(a),o.texture=a,s(o.material)?(o.material=new O({transparent:!0,textureId:a.id}),n.add(o.material)):o.material.setParameters({textureId:a.id}),o.renderGeometry=new T(m,o.material),o.renderGeometry.origin=this._overlays[e].renderLocalOrigin,l.addGeometries([o.renderGeometry],this,M.Geometry.UPDATE)}else h(),n.remove(o.material),o.material=null}_isScaleRangeLayer(){return"effectiveScaleRange"in this.layer}_isScaleRangeActive(){const e=this.layer;if(!this._isScaleRangeLayer())return!1;const{minScale:t,maxScale:i}=e.effectiveScaleRange;return H(t,i)}_clippedExtent(e,t){if("local"!==this.view.viewingMode)return R(t,e);const i=this.view.basemapTerrain;return i.ready?b(e,i.extent,t):R(t,e)}_suspendedChangeHandler(){this.suspended?this.clear():this.refreshDebounced()}async _waitFetchReady(e){await u(this.view,"stationary",e),g(e)}};e([p()],F.prototype,"layer",void 0),e([p()],F.prototype,"suspended",void 0),e([p({readOnly:!0})],F.prototype,"fullExtentInLocalViewSpatialReference",void 0),e([p()],F.prototype,"updating",void 0),F=e([f("esri.views.3d.layers.DynamicLayerView3D")],F);const q=F,W=x();export{q as default};
5
+ import{_ as e}from"../../../chunks/tslib.es6.js";import{forEach as t,result as i}from"../../../core/asyncUtils.js";import r from"../../../core/Logger.js";import{isNone as s,isSome as a}from"../../../core/maybe.js";import{debounce as n,isAbortError as o,eachAlways as l,onAbort as h,isAborted as m,createAbortError as c,always as d,throwIfAborted as g}from"../../../core/promiseUtils.js";import{whenOnce as u}from"../../../core/watchUtils.js";import{property as p}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/arrayUtils.js";import"../../../core/has.js";import"../../../core/accessorSupport/ensureType.js";import{subclass as f}from"../../../core/accessorSupport/decorators/subclass.js";import y from"../../../geometry/Extent.js";import{equals as w,create as x,width as _,height as v,copy as R,intersection as b}from"../../../geometry/support/aaBoundingRect.js";import{DrapeSourceType as S}from"./interfaces.js";import{LayerView3D as E}from"./LayerView3D.js";import{computeImageExportSize as j,createGeometryForExtent as I,createOuterImageGeometry as A}from"./support/overlayImageUtils.js";import{toViewIfLocal as C}from"./support/projectExtentUtils.js";import D from"../support/debugFlags.js";import{OverlayIndex as L}from"../terrain/interfaces.js";import{UpdatePolicy as G}from"../webgl-engine/lib/basicInterfaces.js";import{ModelDirty as M}from"../webgl-engine/lib/ModelDirtyTypes.js";import{RenderGeometry as T}from"../webgl-engine/lib/RenderGeometry.js";import{Texture as P}from"../webgl-engine/lib/Texture.js";import{ImageMaterial as O}from"../webgl-engine/materials/ImageMaterial.js";import U from"../../layers/LayerView.js";import{RefreshableLayerView as V}from"../../layers/RefreshableLayerView.js";import{isScaleRangeActive as H}from"../../support/layerViewUtils.js";import{TextureWrapMode as N}from"../../webgl/enums.js";const z=r.getLogger("esri.views.3d.layers.DynamicLayerView3D");let F=class extends(V(E(U))){constructor(){super(...arguments),this.drapeSourceType=S.RasterImage,this.updatePolicy=G.SYNC,this.fullExtentInLocalViewSpatialReference=null,this.maximumDataResolution=null,this._images=new Array,this._extents=new Array,this._overlays=new Array,this.updateWhenStationary=!0,this.refreshDebounced=n((async e=>{this.destroyed||await this._doRefresh(e).catch((e=>{o(e)||r.getLogger(this.declaredClass).error(e)}))}),2e3)}initialize(){this.addResolvingPromise(C(this).then((e=>this._set("fullExtentInLocalViewSpatialReference",e)))),this.updatingHandles.add((()=>this.suspended),(()=>this._suspendedChangeHandler())),this.handles.add(this.view.resourceController.scheduler.registerIdleStateCallbacks((()=>{this._isScaleRangeActive()&&this.notifyChange("suspended")}),(()=>{}))),this._isScaleRangeLayer()&&this.updatingHandles.add((()=>this.layer.effectiveScaleRange),(()=>this.notifyChange("suspended")))}destroy(){this.clear()}setDrapingExtent(e,t){this._spatialReference=t,e.forEach((e=>{this._overlays[e.index]=e,this._updateImageExtent(e)}))}_updateImageExtent(e){const t=this._clippedExtent(e.extent,W);if(s(t))return;const i=j(e.extent,t,e.resolution);let r=e.pixelRatio*this.view.pixelRatio;if("imageMaxWidth"in this.layer||"imageMaxHeight"in this.layer){const e=this.layer.imageMaxWidth,t=this.layer.imageMaxHeight;if(i.width>e){const t=e/i.width;i.height=Math.floor(i.height*t),i.width=e,r*=t}if(i.height>t){const e=t/i.height;i.width=Math.floor(i.width*e),i.height=t,r*=e}}const a=this._extents[e.index];a&&w(a.extent,t)&&this._imageSizeEquals(t,a.imageSize,i)||(this._extents[e.index]={extent:x(t),imageSize:i,pixelRatio:r},this.suspended||this._fetch(e.index).catch((e=>{o(e)||z.error(e)})))}clear(){for(let e=0;e<this._images.length;e++)this._clearImage(e)}async doRefresh(){return this._doRefresh()}async _doRefresh(e){if(this.suspended)return;const t=[];for(let i=0;i<this._extents.length;i++)this._extents[i]&&t.push(this._fetch(i,e));await l(t)}canResume(){if(!super.canResume())return!1;const e=this.layer;if(this._isScaleRangeActive()){const{minScale:t,maxScale:i}=e.effectiveScaleRange,r=this.view.scale;if(r<i||t>0&&r>t)return!1}return!0}isUpdating(){return this._images.some((e=>!!e.loadingPromise))}async processResult(e,t,i){(t instanceof HTMLImageElement||t instanceof HTMLCanvasElement)&&(e.image=t)}findExtentInfoAt(e){for(const t of this._extents){const i=t.extent;if(new y(i[0],i[1],i[2],i[3],this._spatialReference).contains(e))return t}return null}getFetchOptions(){}async redraw(e,i){await t(this._images,(async(t,r)=>{t&&(await e(t,i),await this._createStageObjects(r,t.image,i))}))}_imageSizeEquals(e,t,i){if(!this.maximumDataResolution)return!1;const r=_(e)/this.maximumDataResolution.x,s=v(e)/this.maximumDataResolution.y,a=r/t.width,n=s/t.height,o=r/i.width,l=s/i.height,h=Math.abs(a-o),m=Math.abs(n-l),c=D.TESTS_DISABLE_OPTIMIZATIONS?0:1.5;return h<=c&&m<=c}async _fetch(e,t){if(this.suspended)return;const i=this._extents[e],r=i.extent;this._images[e]||(this._images[e]={texture:null,material:null,renderGeometry:null,loadingPromise:null,loadingAbortController:null,image:null,pixelData:null,renderExtent:x(r)});const s=this._images[e];s.loadingAbortController&&(s.loadingAbortController.abort(),s.loadingAbortController=null);const a=new y(r[0],r[1],r[2],r[3],this._spatialReference);if(0===a.width||0===a.height)return void this._clearImage(e);const n=new AbortController;s.loadingAbortController=n,h(t,(()=>n.abort()));const l=n.signal,g=this._waitFetchReady(l).then((()=>{const t={requestAsImageElement:!0,pixelRatio:this._overlays[e].pixelRatio,...this.getFetchOptions(),signal:l},{height:r,width:s}=i.imageSize;return this.layer.fetchImage(a,s,r,t)})).then((e=>{if(m(l))throw z.warnOnce("A call to fetchImage resolved even though the request was aborted. fetchImage should not resolve if options.signal.aborted is true."),c();return this.processResult(s,e)})).then((()=>R(s.renderExtent,r)));s.loadingPromise=g,d(g,(()=>{g===s.loadingPromise&&(s.loadingPromise=null,s.loadingAbortController=null)})),this.notifyChange("updating"),await g.then((async()=>{if(l.aborted)throw c();await this._createStageObjects(e,s.image,l),this.notifyChange("updating")})).catch((e=>{throw e&&!o(e)&&z.error(e),this.notifyChange("updating"),e}))}_clearImage(e){const t=this._images[e];if(t){a(t.renderGeometry)&&(this.view.basemapTerrain.overlayManager.renderer.removeGeometries([t.renderGeometry],this,M.Geometry.UPDATE),t.renderGeometry=null);const e=this.view._stage;e.remove(t.texture),t.texture=null,e.remove(t.material),t.material=null,t.loadingAbortController&&(t.loadingAbortController.abort(),t.loadingAbortController=null),t.loadingPromise=null,t.image=null,t.pixelData=null}}async _createStageObjects(e,t,r){const n=this.view._stage,o=this._images[e],l=this.view.basemapTerrain.overlayManager.renderer,h=()=>{n.remove(o.texture),o.texture=null,a(o.renderGeometry)&&(l.removeGeometries([o.renderGeometry],this,M.Geometry.UPDATE),o.renderGeometry=null)};if(t){const a=new P(t,{width:t.width,height:t.height,preMultiplyAlpha:!0,wrap:{s:N.CLAMP_TO_EDGE,t:N.CLAMP_TO_EDGE}});let m;if(await i(this._images[e===L.INNER?L.OUTER:L.INNER].loadingPromise),g(r),e===L.INNER)m=I(o.renderExtent);else{const e=this._images[0].renderExtent;if(!e)return void h();m=A(e,o.renderExtent)}h(),n.add(a),await n.loadImmediate(a),o.texture=a,s(o.material)?(o.material=new O({transparent:!0,textureId:a.id}),n.add(o.material)):o.material.setParameters({textureId:a.id}),o.renderGeometry=new T(m,o.material),o.renderGeometry.origin=this._overlays[e].renderLocalOrigin,l.addGeometries([o.renderGeometry],this,M.Geometry.UPDATE)}else h(),n.remove(o.material),o.material=null}_isScaleRangeLayer(){return"effectiveScaleRange"in this.layer}_isScaleRangeActive(){const e=this.layer;if(!this._isScaleRangeLayer())return!1;const{minScale:t,maxScale:i}=e.effectiveScaleRange;return H(t,i)}_clippedExtent(e,t){if("local"!==this.view.viewingMode)return R(t,e);const i=this.view.basemapTerrain;return i.ready?b(e,i.extent,t):R(t,e)}_suspendedChangeHandler(){this.suspended?this.clear():this.refreshDebounced()}async _waitFetchReady(e){await u(this.view,"stationary",e),g(e)}};e([p()],F.prototype,"layer",void 0),e([p()],F.prototype,"suspended",void 0),e([p({readOnly:!0})],F.prototype,"fullExtentInLocalViewSpatialReference",void 0),e([p()],F.prototype,"updating",void 0),F=e([f("esri.views.3d.layers.DynamicLayerView3D")],F);const q=F,W=x();export{q as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.23/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../../chunks/tslib.es6.js";import t from"../../../core/Error.js";import{isSome as r}from"../../../core/maybe.js";import{init as s,whenFalse as i}from"../../../core/watchUtils.js";import{property as o}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/arrayUtils.js";import"../../../core/has.js";import"../../../core/accessorSupport/ensureType.js";import{subclass as a}from"../../../core/accessorSupport/decorators/subclass.js";import{hydrateGeometry as l}from"../../../layers/graphics/hydratedFeatures.js";import{FeatureTileController3D as n}from"../../../layers/graphics/controllers/FeatureTileController3D.js";import{FeatureLikeLayerView3D as u}from"./FeatureLikeLayerView3D.js";import{LayerView3D as c}from"./LayerView3D.js";import{FeatureTileFetcher3DLayerViewContext as p}from"./support/FeatureTileFetcher3DLayerViewContext.js";import{EventedSet as h}from"../support/EventedSet.js";import{updatingProgress as m}from"../support/updatingProperties.js";import{UpdatePolicy as d}from"../webgl-engine/lib/basicInterfaces.js";import{FeatureLayerView as y}from"../../layers/FeatureLayerView.js";import g from"../../layers/LayerView.js";import{RefreshableLayerView as f}from"../../layers/RefreshableLayerView.js";import{WatchFlags as F}from"../../support/WatchUpdatingTracking.js";let b=class extends(f(u(y(c(g))))){constructor(e){super(e),this._controllerTotal=0,this._graphicsCoreTotal=0,this.suspendResumeExtentMode="data"}initialize(){this.updatingHandles.add(this,"view.floors",(()=>this.graphics3d.filterVisibility.filterChanged()))}destroy(){this.fetcherContext&&(this.fetcherContext.destroy(),this.fetcherContext=null)}get maximumNumberOfFeatures(){var e,t;return null!=(e=null==(t=this.controller)?void 0:t.maximumNumberOfFeatures)?e:this._get("maximumNumberOfFeatures")}set maximumNumberOfFeatures(e){this._set("maximumNumberOfFeatures",e),this.controller&&(this.controller.maximumNumberOfFeatures=e)}get maximumNumberOfFeaturesExceeded(){return!!this.controller&&!(this.suspended||!this.controller.maximumNumberOfFeaturesExceeded)}get updatingProgressValue(){var e,t,r;let s=0;if(null!=(e=this.controller)&&e.updating){const e=this.controller.updatingRemaining,t=Math.max(this.controller.updatingTotal,this._controllerTotal);t>0&&(s=(t-e)/t,this._controllerTotal=t)}let i=0;if(null!=(t=this.graphics3d)&&null!=(r=t.graphicsCore)&&r.updating){const e=this.graphics3d.graphicsCore.updatingRemaining,t=Math.max(e,this._graphicsCoreTotal);t>0&&(i=(t-e)/t,this._graphicsCoreTotal=t)}return.5*(s+i)}get updatePolicy(){if(!this.controller)return d.ASYNC;switch(this.controller.mode){case"snapshot":{const e=x[this.layer.geometryType];return null==e||this.controller.serviceDataCount>e?d.ASYNC:d.SYNC}case"tiles":return d.ASYNC}}get hasZ(){const e=this.layer,t=e.capabilities&&e.capabilities.data;return!(!t||!t.supportsZ)&&("returnZ"in e&&null!=e.returnZ?e.returnZ:t.supportsZ)}get hasM(){const e=this.layer,t=e.capabilities&&e.capabilities.data;return!(!t||!t.supportsM)&&("returnM"in e&&null!=e.returnM&&e.returnM)}setVisibility(e,t){this.graphics3d&&this.graphics3d.graphicsCore.setObjectIdVisibility(e,t)}createQuery(){return super.createQuery()}queryFeatures(e,t){const r=()=>super.queryFeatures(e,t);return"mesh"===this.layer.geometryType?this._queryFeaturesMesh(this._ensureQuery(e),r):r()}beforeSetController(e){e.maximumNumberOfFeatures=this.maximumNumberOfFeatures}createController(){this.fetcherContext=new p({layerView:this,returnZ:this.hasZ,returnM:this.hasM});const e=new n({layerView:this,context:this.fetcherContext,graphics:new h,extent:this.clippingExtent});return this.updatingHandles.add(e,"serviceDataExtent",(e=>{this.graphics3d&&(this.graphics3d.dataExtent=e)}),F.INIT),this.handles.add(s(this,"suspended",(t=>{t?e.suspend():e.resume()}),!0)),this.updatingHandles.add(this.graphics3d.graphicsCore,"displayFeatureLimit",(()=>this._updateDisplayFeatureLimit(e)),F.INIT),this.handles.add([this.view.resourceController.memoryController.events.on("quality-changed",(()=>this._updateDisplayFeatureLimit())),i(this,"updating",(()=>{this._controllerTotal=0,this._graphicsCoreTotal=0,this.notifyChange("updatingProgressValue")}))]),e}async doRefresh(e){e&&!this.suspended&&this.controller&&this.controller.refetch(),this.graphics3d.filterVisibility.dirty=!0}getUsedMemory(){const e=this.graphics3d&&this.graphics3d.graphicsCore;return(e?e.usedMemory:0)+(this.controller?this.controller.memoryForUnusedFeatures:0)}getUnloadedMemory(){const e=this.graphics3d&&this.graphics3d.graphicsCore;return(e?e.unprocessedMemoryEstimate:0)+(this.controller?this.controller.expectedFeatureDiff*e.usedMemoryPerGraphic:0)}ignoresMemoryFactor(){return this.controller&&this.controller.hasMaximumNumberOfFeaturesOverride}_updateDisplayFeatureLimit(e=this.controller){if(!e||!this.graphics3d||!this.graphics3d.graphicsCore)return;const t=this.graphics3d.graphicsCore.displayFeatureLimit,r=this.view.resourceController.memoryController.memoryFactor;if(1===r)e.displayFeatureLimit=t;else{const s=Math.ceil(t.maximumNumberOfFeatures*r),i=Math.ceil(t.maximumTotalNumberOfFeatures*r),o=Math.ceil(t.minimumTotalNumberOfFeatures*r);e.displayFeatureLimit={...t,maximumNumberOfFeatures:s,maximumTotalNumberOfFeatures:i,minimumTotalNumberOfFeatures:o}}}async _queryFeaturesMesh(e,t){await this._validateQueryFeaturesMesh(e);const r=await t();if(e&&e.outStatistics)return r;const s=this.layer.objectIdField,i=this.graphics3d.graphicsCore.graphics3DGraphicsByObjectID,o=[];for(const a of r.features)if(a.geometry){const e=i.get(a.attributes[s]);e&&(a.geometry=l(e.graphic.geometry),o.push(a))}else o.push(a);return r.features=o,r}async _validateQueryFeaturesMesh(e){if(!e)return;const s=e=>{throw new t("feature-layer-view:unsupported-query",`Queries on Mesh feature collection layers do not support '${e}'`)},i=["quantizationParameters","geometryPrecision","maxAllowableOffset"];for(const t of i)null!=e[t]&&s(t);"returnM"in e&&e.returnM&&s("returnM"),"returnCentroid"in e&&e.returnCentroid&&s("returnCentroid"),r(e.outSpatialReference)&&!e.outSpatialReference.equals(this.view.spatialReference)&&s("outSpatialReference")}get performanceInfo(){const e=this.controller&&this.controller.displayFeatureLimit,t=r(e)&&e.averageSymbolComplexity,s=r(t)?`f:${t.primitivesPerFeature},v:${t.primitivesPerCoordinate}`:"n/a",i={...this._getResourceInfo(),storedFeatures:0,totalVertices:0,partial:this.maximumNumberOfFeaturesExceeded,mode:this.controller?this.controller.mode:"n/a",symbolComplexity:s,nodes:this.controller?this.controller.tileDescriptors.length:0};if(this.controller&&i.displayedNumberOfFeatures){const e=this.controller.debug;i.storedFeatures=e.storedFeatures,i.totalVertices=e.totalVertices}return i}get test(){return{updatePolicy:this.updatePolicy,controller:this.controller}}};e([o()],b.prototype,"layer",void 0),e([o()],b.prototype,"controller",void 0),e([o()],b.prototype,"maximumNumberOfFeatures",null),e([o()],b.prototype,"maximumNumberOfFeaturesExceeded",null),e([o(m)],b.prototype,"updatingProgress",void 0),e([o({readOnly:!0,dependsOn:["controller.updatingRemaining","controller.updatingTotal","graphics3d.graphicsCore.updatingRemaining"]})],b.prototype,"updatingProgressValue",null),e([o({readOnly:!0})],b.prototype,"updatePolicy",null),e([o({readOnly:!0})],b.prototype,"hasZ",null),e([o({readOnly:!0})],b.prototype,"hasM",null),e([o()],b.prototype,"suspendResumeExtentMode",void 0),b=e([a("esri.views.3d.layers.FeatureLayerViewBase3D")],b);const x={point:5e3,polygon:500,polyline:1e3},C=b;export{C as default};
5
+ import{_ as e}from"../../../chunks/tslib.es6.js";import r from"../../../core/Error.js";import{isSome as t}from"../../../core/maybe.js";import{initial as s,watch as o,when as i,syncAndInitial as a}from"../../../core/reactiveUtils.js";import{property as l}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/arrayUtils.js";import"../../../core/has.js";import"../../../core/accessorSupport/ensureType.js";import{subclass as n}from"../../../core/accessorSupport/decorators/subclass.js";import{hydrateGeometry as u}from"../../../layers/graphics/hydratedFeatures.js";import{FeatureTileController3D as c}from"../../../layers/graphics/controllers/FeatureTileController3D.js";import{FeatureLikeLayerView3D as p}from"./FeatureLikeLayerView3D.js";import{LayerView3D as m}from"./LayerView3D.js";import{FeatureTileFetcher3DLayerViewContext as h}from"./support/FeatureTileFetcher3DLayerViewContext.js";import{EventedSet as d}from"../support/EventedSet.js";import{updatingProgress as y}from"../support/updatingProperties.js";import{UpdatePolicy as f}from"../webgl-engine/lib/basicInterfaces.js";import{FeatureLayerView as g}from"../../layers/FeatureLayerView.js";import F from"../../layers/LayerView.js";import{RefreshableLayerView as b}from"../../layers/RefreshableLayerView.js";let x=class extends(b(p(g(m(F))))){constructor(e){super(e),this._controllerTotal=0,this._graphicsCoreTotal=0,this.suspendResumeExtentMode="data"}initialize(){this.updatingHandles.add((()=>this.view.floors),(()=>this.processor.filterVisibility.filterChanged()))}destroy(){this.fetcherContext&&(this.fetcherContext.destroy(),this.fetcherContext=null)}get maximumNumberOfFeatures(){var e,r;return null!=(e=null==(r=this.controller)?void 0:r.maximumNumberOfFeatures)?e:this._get("maximumNumberOfFeatures")}set maximumNumberOfFeatures(e){this._set("maximumNumberOfFeatures",e),this.controller&&(this.controller.maximumNumberOfFeatures=e)}get maximumNumberOfFeaturesExceeded(){return!!this.controller&&!(this.suspended||!this.controller.maximumNumberOfFeaturesExceeded)}get updatingProgressValue(){var e,r,t;let s=0;if(null!=(e=this.controller)&&e.updating){const e=this.controller.updatingRemaining,r=Math.max(this.controller.updatingTotal,this._controllerTotal);r>0&&(s=(r-e)/r,this._controllerTotal=r)}let o=0;if(null!=(r=this.processor)&&null!=(t=r.graphicsCore)&&t.updating){const e=this.processor.graphicsCore.updatingRemaining,r=Math.max(e,this._graphicsCoreTotal);r>0&&(o=(r-e)/r,this._graphicsCoreTotal=r)}return.5*(s+o)}get updatePolicy(){if(!this.controller)return f.ASYNC;switch(this.controller.mode){case"snapshot":{const e=C[this.layer.geometryType];return null==e||this.controller.serviceDataCount>e?f.ASYNC:f.SYNC}case"tiles":return f.ASYNC}}get hasZ(){const e=this.layer,r=e.capabilities&&e.capabilities.data;return!(!r||!r.supportsZ)&&("returnZ"in e&&null!=e.returnZ?e.returnZ:r.supportsZ)}get hasM(){const e=this.layer,r=e.capabilities&&e.capabilities.data;return!(!r||!r.supportsM)&&("returnM"in e&&null!=e.returnM&&e.returnM)}setVisibility(e,r){this.processor&&this.processor.graphicsCore.setObjectIdVisibility(e,r)}createQuery(){return super.createQuery()}queryFeatures(e,r){const t=()=>super.queryFeatures(e,r);return"mesh"===this.layer.geometryType?this._queryFeaturesMesh(this._ensureQuery(e),t):t()}beforeSetController(e){e.maximumNumberOfFeatures=this.maximumNumberOfFeatures}createController(){this.fetcherContext=new h({layerView:this,returnZ:this.hasZ,returnM:this.hasM});const e=new c({layerView:this,context:this.fetcherContext,graphics:new d,extent:this.clippingExtent});return this.updatingHandles.add((()=>e.serviceDataExtent),(e=>{this.processor&&(this.processor.dataExtent=e)}),s),this.handles.add(o((()=>this.suspended),(r=>{r?e.suspend():e.resume()}),a)),this.updatingHandles.add((()=>{var e,r;return null==(e=this.processor)||null==(r=e.graphicsCore)?void 0:r.displayFeatureLimit}),(()=>this._updateDisplayFeatureLimit(e)),s),this.handles.add([this.view.resourceController.memoryController.events.on("quality-changed",(()=>this._updateDisplayFeatureLimit())),i((()=>!this.updating),(()=>{this._controllerTotal=0,this._graphicsCoreTotal=0,this.notifyChange("updatingProgressValue")}))]),e}async doRefresh(e){e&&!this.suspended&&this.controller&&this.controller.refetch(),this.processor.filterVisibility.dirty=!0}getUsedMemory(){const e=this.processor&&this.processor.graphicsCore;return(e?e.usedMemory:0)+(this.controller?this.controller.memoryForUnusedFeatures:0)}getUnloadedMemory(){const e=this.processor&&this.processor.graphicsCore;return(e?e.unprocessedMemoryEstimate:0)+(this.controller?this.controller.expectedFeatureDiff*e.usedMemoryPerGraphic:0)}ignoresMemoryFactor(){return this.controller&&this.controller.hasMaximumNumberOfFeaturesOverride}_updateDisplayFeatureLimit(e=this.controller){if(!e||!this.processor||!this.processor.graphicsCore)return;const r=this.processor.graphicsCore.displayFeatureLimit,t=this.view.resourceController.memoryController.memoryFactor;if(1===t)e.displayFeatureLimit=r;else{const s=Math.ceil(r.maximumNumberOfFeatures*t),o=Math.ceil(r.maximumTotalNumberOfFeatures*t),i=Math.ceil(r.minimumTotalNumberOfFeatures*t);e.displayFeatureLimit={...r,maximumNumberOfFeatures:s,maximumTotalNumberOfFeatures:o,minimumTotalNumberOfFeatures:i}}}async _queryFeaturesMesh(e,r){await this._validateQueryFeaturesMesh(e);const t=await r();if(e&&e.outStatistics)return t;const s=this.layer.objectIdField,o=this.processor.graphicsCore.graphics3DGraphicsByObjectID,i=[];for(const a of t.features)if(a.geometry){const e=o.get(a.attributes[s]);e&&(a.geometry=u(e.graphic.geometry),i.push(a))}else i.push(a);return t.features=i,t}async _validateQueryFeaturesMesh(e){if(!e)return;const s=e=>{throw new r("feature-layer-view:unsupported-query",`Queries on Mesh feature collection layers do not support '${e}'`)},o=["quantizationParameters","geometryPrecision","maxAllowableOffset"];for(const r of o)null!=e[r]&&s(r);"returnM"in e&&e.returnM&&s("returnM"),"returnCentroid"in e&&e.returnCentroid&&s("returnCentroid"),t(e.outSpatialReference)&&!e.outSpatialReference.equals(this.view.spatialReference)&&s("outSpatialReference")}get performanceInfo(){const e=this.controller&&this.controller.displayFeatureLimit,r=t(e)&&e.averageSymbolComplexity,s=t(r)?`f:${r.primitivesPerFeature},v:${r.primitivesPerCoordinate}`:"n/a",o={...this._getResourceInfo(),storedFeatures:0,totalVertices:0,partial:this.maximumNumberOfFeaturesExceeded,mode:this.controller?this.controller.mode:"n/a",symbolComplexity:s,nodes:this.controller?this.controller.tileDescriptors.length:0};if(this.controller&&o.displayedNumberOfFeatures){const e=this.controller.debug;o.storedFeatures=e.storedFeatures,o.totalVertices=e.totalVertices}return o}get test(){return{updatePolicy:this.updatePolicy,controller:this.controller}}};e([l()],x.prototype,"layer",void 0),e([l()],x.prototype,"controller",void 0),e([l()],x.prototype,"maximumNumberOfFeatures",null),e([l()],x.prototype,"maximumNumberOfFeaturesExceeded",null),e([l(y)],x.prototype,"updatingProgress",void 0),e([l({readOnly:!0,dependsOn:["controller.updatingRemaining","controller.updatingTotal","processor.graphicsCore.updatingRemaining"]})],x.prototype,"updatingProgressValue",null),e([l({readOnly:!0})],x.prototype,"updatePolicy",null),e([l({readOnly:!0})],x.prototype,"hasZ",null),e([l({readOnly:!0})],x.prototype,"hasM",null),e([l()],x.prototype,"suspendResumeExtentMode",void 0),x=e([n("esri.views.3d.layers.FeatureLayerViewBase3D")],x);const C={point:5e3,polygon:500,polyline:1e3},M=x;export{M as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.23/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../../chunks/tslib.es6.js";import t from"../../../core/Error.js";import{destroyMaybe as r,isSome as i,get as s,isNone as n}from"../../../core/maybe.js";import{whenTrueOnce as o}from"../../../core/watchUtils.js";import{property as a}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/arrayUtils.js";import"../../../core/has.js";import"../../../core/accessorSupport/ensureType.js";import{subclass as l}from"../../../core/accessorSupport/decorators/subclass.js";import{hydrateGraphic as p}from"../../../layers/graphics/hydratedFeatures.js";import{FeatureTileController3D as h}from"../../../layers/graphics/controllers/FeatureTileController3D.js";import{getRenderingInfo as d,getRenderingInfoAsync as u}from"../../../renderers/support/renderingInfoUtils.js";import c from"../../../rest/support/Query.js";import{DrapeSourceType as g}from"./interfaces.js";import y from"./graphics/Graphics3DFeatureLikeLayerView.js";import m from"./graphics/QueryEngine.js";import{toViewIfLocal as f}from"./support/projectExtentUtils.js";import{UpdatePolicy as b}from"../webgl-engine/lib/basicInterfaces.js";import{TaskPriority as E}from"../../support/Scheduler.js";const C=C=>{let v=class extends C{constructor(){super(...arguments),this.controller=null,this.updatePolicy=b.SYNC,this.suspendResumeExtentMode="computed",this.slicePlaneEnabled=!1,this.drapeSourceType=g.Features,this.fullExtentInLocalViewSpatialReference=null,this.suspendResumeExtent=null,this._controllerCreated=!1,this.clippingExtent=null,this.supportsHeightUnitConversion=!0,this.pendingController=null,this.queryEngine=null}initialize(){const e=this.layer;"isTable"in e&&e.isTable?this.addResolvingPromise(Promise.reject(new t("featurelayerview:table-not-supported","table feature layer can't be displayed",{layer:e}))):(this._set("graphics3d",new y({owner:this,layer:e,frustumVisibilityEnabled:!0,scaleVisibilityEnabled:!0,filterVisibilityEnabled:!0,timeExtentVisibilityEnabled:!0,elevationAlignmentEnabled:!0,elevationFeatureExpressionEnabled:!0,preferredUpdatePolicy:this.updatePolicy,suspendResumeExtentMode:this.suspendResumeExtentMode,updateClippingExtent:e=>this._updateClippingExtent(e)})),this.updatingHandles.add(this,"updatePolicy",(e=>this.graphics3d.graphicsCore.preferredUpdatePolicy=e)),this.updatingHandles.add(this,"suspendResumeExtentMode",(e=>{this.graphics3d.suspendResumeExtentMode=e})),this.addResolvingPromise(this.graphics3d.setup().then((()=>this._validateGeometryType())).then((()=>this.queryEngine=new m({layerView:this,priority:E.FEATURE_QUERY_ENGINE}))).then((()=>f(this))).then((e=>this.fullExtentInLocalViewSpatialReference=e)).then((()=>this._initializeController()))),this.notifyChange("updating"))}destroy(){this._destroyPendingController(),this.controller=r(this.controller),this._set("graphics3d",r(this.graphics3d)),this.queryEngine=r(this.queryEngine),this.loadedGraphics=null}_destroyPendingController(){this.pendingController&&(this.pendingController.destroy(),this.pendingController=null)}get legendEnabled(){var e,t;return this.canResume()&&!(null!=(e=this.graphics3d)&&null!=(t=e.frustumVisibility)&&t.suspended)}notifyGraphicGeometryChanged(e){this.graphics3d.graphicsCore.notifyGraphicGeometryChanged(e)}notifyGraphicVisibilityChanged(e){this.graphics3d.graphicsCore.notifyGraphicVisibilityChanged(e)}getRenderingInfo(e,t,r){const s=d(e,{renderer:t,arcade:r});if(i(s)&&s.color){const e=s.color;e[0]=e[0]/255,e[1]=e[1]/255,e[2]=e[2]/255}return s}async getRenderingInfoAsync(e,t,r,i){return u(e,{renderer:t,arcade:r,...i})}getGraphicFromGraphicUid(e){var t;let r=null;return null==(t=this.loadedGraphics)||t.forEach((t=>{t.uid===e&&(r=p(t,this.layer))})),r}get graphics3DGraphics(){return this.graphics3d?this.graphics3d.graphicsCore.graphics3DGraphics:null}get graphics3DGraphicsByObjectID(){return this.graphics3d?this.graphics3d.graphicsCore.graphics3DGraphicsByObjectID:null}get symbolUpdateType(){return this.graphics3d?this.graphics3d.graphicsCore.symbolUpdateType:null}whenGraphicBounds(e,t){return this.graphics3d?this.graphics3d.graphicsCore.whenGraphicBounds(e,t):null}computeAttachmentOrigin(e,t){return this.graphics3d?this.graphics3d.graphicsCore.computeAttachmentOrigin(e,t):null}getSymbolLayerSize(e,t){return this.graphics3d?this.graphics3d.graphicsCore.getSymbolLayerSize(e,t):null}queryFeatures(e,t){return this.queryEngine.executeQuery(this._ensureQuery(e),s(t,"signal"))}queryObjectIds(e,t){return this.queryEngine.executeQueryForIds(this._ensureQuery(e),s(t,"signal"))}queryFeatureCount(e,t){return this.queryEngine.executeQueryForCount(this._ensureQuery(e),s(t,"signal"))}queryExtent(e,t){return this.queryEngine.executeQueryForExtent(this._ensureQuery(e),s(t,"signal"))}_ensureQuery(e){return n(e)?this.createQuery():c.from(e)}highlight(e){return this.graphics3d.highlight(e,this.layer.objectIdField)}maskOccludee(e){return this.graphics3d.maskOccludee(e)}canResume(){return super.canResume()&&(!this.graphics3d||!this.graphics3d.suspended)}getSuspendInfo(){const e=super.getSuspendInfo();return this.graphics3d?{...e,...this.graphics3d.suspendInfo}:e}isUpdating(){var e,t;return!(!this.graphics3d||this.graphics3d.destroyed)&&!(this._controllerCreated&&(null==(e=this.controller)||!e.updating)&&null!=(t=this.view.basemapTerrain)&&t.ready&&!this.graphics3d.updating)}async _initializeController(){const e=this.createController();this.pendingController=e,await e.when(),this._setControllerWhenInitialized(e)}async _setControllerWhenInitialized(e){try{await this.when()}catch(t){}this._controllerCreated=!0,this.notifyChange("updating"),this.isResolved()&&!this.destroyed?(await o(this.view,"basemapTerrain.ready"),this.beforeSetController(e),this.pendingController=null,this.controller=e,this.loadedGraphics=e.graphics,this.notifyChange("updating")):this._destroyPendingController()}_updateClippingExtent(e){if(this.clippingExtent=e,!this.controller)return!1;switch(this.controller.type){case"stream":return!1;case"feature-tile-3d":return this.controller.extent=e,!0}}_validateGeometryType(){switch(this.layer.geometryType){case"multipatch":case"multipoint":return Promise.reject(new t("featurelayerview3d:unsupported-geometry-type","Unsupported geometry type ${geometryType}",{geometryType:this.layer.geometryType}))}}_getResourceInfo(){const e=this.controller&&this.controller instanceof h?this.controller:null;return{displayedNumberOfFeatures:this.loadedGraphics.length,maximumNumberOfFeatures:e?e.maximumNumberOfFeatures:-1,totalNumberOfFeatures:e?e.serviceDataCount:-1,nodes:0,core:this.graphics3d.graphicsCore.performanceInfo,elevationUpdating:this.graphics3d.elevationAlignment.updating,visibilityFrustum:!this.graphics3d.frustumVisibility.suspended,visibilityScale:!this.graphics3d.scaleVisibility.suspended}}get performanceInfo(){return this._getResourceInfo()}};return e([a()],v.prototype,"loadedGraphics",void 0),e([a()],v.prototype,"suspended",void 0),e([a({readOnly:!0})],v.prototype,"legendEnabled",null),e([a()],v.prototype,"updating",void 0),e([a()],v.prototype,"controller",void 0),e([a()],v.prototype,"graphics3d",void 0),e([a({readOnly:!0})],v.prototype,"updatePolicy",void 0),e([a({readOnly:!0})],v.prototype,"suspendResumeExtentMode",void 0),e([a({type:Boolean})],v.prototype,"slicePlaneEnabled",void 0),e([a({readOnly:!0})],v.prototype,"suspendInfo",void 0),v=e([l("esri.views.3d.layers.FeatureLikeLayerView3D")],v),v};export{C as FeatureLikeLayerView3D};
5
+ import{_ as e}from"../../../chunks/tslib.es6.js";import r from"../../../core/Error.js";import{applySome as t,destroyMaybe as s,isSome as i,get as o,isNone as n}from"../../../core/maybe.js";import{initial as l,whenOnce as a}from"../../../core/reactiveUtils.js";import{property as p}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/arrayUtils.js";import"../../../core/has.js";import"../../../core/accessorSupport/ensureType.js";import{subclass as u}from"../../../core/accessorSupport/decorators/subclass.js";import{hydrateGraphic as c}from"../../../layers/graphics/hydratedFeatures.js";import{FeatureTileController3D as h}from"../../../layers/graphics/controllers/FeatureTileController3D.js";import{getRenderingInfo as d,getRenderingInfoAsync as y}from"../../../renderers/support/renderingInfoUtils.js";import g from"../../../rest/support/Query.js";import{DrapeSourceType as m}from"./interfaces.js";import f from"./graphics/Graphics3DFeatureProcessor.js";import b from"./graphics/QueryEngine.js";import{toViewIfLocal as E}from"./support/projectExtentUtils.js";import{UpdatePolicy as C}from"../webgl-engine/lib/basicInterfaces.js";import{TaskPriority as v}from"../../support/Scheduler.js";const x=x=>{let w=class extends x{constructor(){super(...arguments),this.controller=null,this.updatePolicy=C.SYNC,this.suspendResumeExtentMode="computed",this.slicePlaneEnabled=!1,this.drapeSourceType=m.Features,this.fullExtentInLocalViewSpatialReference=null,this.suspendResumeExtent=null,this._controllerCreated=!1,this.clippingExtent=null,this.supportsHeightUnitConversion=!0,this.pendingController=null,this.queryEngine=null}initialize(){const e=this.layer;if("isTable"in e&&e.isTable)return void this.addResolvingPromise(Promise.reject(new r("featurelayerview:table-not-supported","table feature layer can't be displayed",{layer:e})));this.addResolvingPromise(this._validateGeometryType());const s=new f({owner:this,layer:e,frustumVisibilityEnabled:!0,scaleVisibilityEnabled:!0,filterVisibilityEnabled:!0,timeExtentVisibilityEnabled:!0,elevationAlignmentEnabled:!0,elevationFeatureExpressionEnabled:!0,preferredUpdatePolicy:this.updatePolicy,suspendResumeExtentMode:this.suspendResumeExtentMode,updateClippingExtent:e=>this._updateClippingExtent(e)});this._set("processor",s),this.updatingHandles.add((()=>({updatePolicy:this.updatePolicy,processor:this.processor})),(({updatePolicy:e,processor:r})=>t(r,(r=>r.graphicsCore.preferredUpdatePolicy=e))),l),this.updatingHandles.add((()=>({suspendResumeExtentMode:this.suspendResumeExtentMode,processor:this.processor})),(({suspendResumeExtentMode:e,processor:r})=>t(r,(r=>r.suspendResumeExtentMode=e))),l),this.addResolvingPromise((async()=>{await s.setup(),this.queryEngine=new b({layerView:this,priority:v.FEATURE_QUERY_ENGINE})})()),this.addResolvingPromise((async()=>{const e=await E(this);this.fullExtentInLocalViewSpatialReference=e,await this._initializeController()})()),this.notifyChange("updating")}destroy(){this._destroyPendingController(),this.controller=s(this.controller),this._set("processor",s(this.processor)),this.queryEngine=s(this.queryEngine),this.loadedGraphics=null}_destroyPendingController(){this.pendingController&&(this.pendingController.destroy(),this.pendingController=null)}get legendEnabled(){var e,r;return this.canResume()&&!(null!=(e=this.processor)&&null!=(r=e.frustumVisibility)&&r.suspended)}notifyGraphicGeometryChanged(e){this.processor.graphicsCore.notifyGraphicGeometryChanged(e)}notifyGraphicVisibilityChanged(e){this.processor.graphicsCore.notifyGraphicVisibilityChanged(e)}getRenderingInfo(e,r,t){const s=d(e,{renderer:r,arcade:t});if(i(s)&&s.color){const e=s.color;e[0]=e[0]/255,e[1]=e[1]/255,e[2]=e[2]/255}return s}async getRenderingInfoAsync(e,r,t,s){return y(e,{renderer:r,arcade:t,...s})}getGraphicFromGraphicUid(e){var r;let t=null;return null==(r=this.loadedGraphics)||r.forEach((r=>{r.uid===e&&(t=c(r,this.layer))})),t}get graphics3DGraphics(){return this.processor?this.processor.graphicsCore.graphics3DGraphics:null}get graphics3DGraphicsByObjectID(){return this.processor?this.processor.graphicsCore.graphics3DGraphicsByObjectID:null}get symbolUpdateType(){return this.processor?this.processor.graphicsCore.symbolUpdateType:null}whenGraphicBounds(e,r){return this.processor?this.processor.graphicsCore.whenGraphicBounds(e,r):null}computeAttachmentOrigin(e,r){return this.processor?this.processor.graphicsCore.computeAttachmentOrigin(e,r):null}getSymbolLayerSize(e,r){return this.processor?this.processor.graphicsCore.getSymbolLayerSize(e,r):null}queryFeatures(e,r){return this.queryEngine.executeQuery(this._ensureQuery(e),o(r,"signal"))}queryObjectIds(e,r){return this.queryEngine.executeQueryForIds(this._ensureQuery(e),o(r,"signal"))}queryFeatureCount(e,r){return this.queryEngine.executeQueryForCount(this._ensureQuery(e),o(r,"signal"))}queryExtent(e,r){return this.queryEngine.executeQueryForExtent(this._ensureQuery(e),o(r,"signal"))}_ensureQuery(e){return n(e)?this.createQuery():g.from(e)}highlight(e){return this.processor.highlight(e,this.layer.objectIdField)}maskOccludee(e){return this.processor.maskOccludee(e)}canResume(){return super.canResume()&&(!this.processor||!this.processor.suspended)}getSuspendInfo(){const e=super.getSuspendInfo();return this.processor?{...e,...this.processor.suspendInfo}:e}isUpdating(){var e,r,t;return!(!this.processor||this.processor.destroyed)&&!(this._controllerCreated&&(null==(e=this.controller)||!e.updating)&&null!=(r=this.view)&&null!=(t=r.basemapTerrain)&&t.ready&&!this.processor.updating)}async _initializeController(){const e=this.createController();this.pendingController=e,await e.when(),this._setControllerWhenInitialized(e)}async _setControllerWhenInitialized(e){try{await this.when()}catch(r){}this._controllerCreated=!0,this.notifyChange("updating"),this.isResolved()&&!this.destroyed?(await a((()=>{var e,r;return null==(e=this.view)||null==(r=e.basemapTerrain)?void 0:r.ready})),this.beforeSetController(e),this.pendingController=null,this.controller=e,this.loadedGraphics=e.graphics,this.notifyChange("updating")):this._destroyPendingController()}_updateClippingExtent(e){if(this.clippingExtent=e,!this.controller)return!1;switch(this.controller.type){case"stream":return!1;case"feature-tile-3d":return this.controller.extent=e,!0}}async _validateGeometryType(){switch(this.layer.geometryType){case"multipatch":case"multipoint":return Promise.reject(new r("featurelayerview3d:unsupported-geometry-type","Unsupported geometry type ${geometryType}",{geometryType:this.layer.geometryType}))}}_getResourceInfo(){const e=this.controller&&this.controller instanceof h?this.controller:null;return{displayedNumberOfFeatures:this.loadedGraphics.length,maximumNumberOfFeatures:e?e.maximumNumberOfFeatures:-1,totalNumberOfFeatures:e?e.serviceDataCount:-1,nodes:0,core:this.processor.graphicsCore.performanceInfo,elevationUpdating:this.processor.elevationAlignment.updating,visibilityFrustum:!this.processor.frustumVisibility.suspended,visibilityScale:!this.processor.scaleVisibility.suspended}}get performanceInfo(){return this._getResourceInfo()}};return e([p()],w.prototype,"loadedGraphics",void 0),e([p()],w.prototype,"suspended",void 0),e([p({readOnly:!0})],w.prototype,"legendEnabled",null),e([p()],w.prototype,"updating",void 0),e([p()],w.prototype,"controller",void 0),e([p()],w.prototype,"processor",void 0),e([p({readOnly:!0})],w.prototype,"updatePolicy",void 0),e([p({readOnly:!0})],w.prototype,"suspendResumeExtentMode",void 0),e([p({type:Boolean})],w.prototype,"slicePlaneEnabled",void 0),e([p({readOnly:!0})],w.prototype,"suspendInfo",void 0),w=e([u("esri.views.3d.layers.FeatureLikeLayerView3D")],w),w};export{x as FeatureLikeLayerView3D};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.23/esri/copyright.txt for details.
4
4
  */
5
- import{_ as i}from"../../../chunks/tslib.es6.js";import{isSome as e}from"../../../core/maybe.js";import{whenTrueOnce as s,init as t,watch as r}from"../../../core/watchUtils.js";import{property as a}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/arrayUtils.js";import"../../../core/has.js";import"../../../core/accessorSupport/ensureType.js";import{subclass as p}from"../../../core/accessorSupport/decorators/subclass.js";import{DrapeSourceType as h}from"./interfaces.js";import{LayerView3D as n}from"./LayerView3D.js";import c from"./graphics/Graphics3DFrustumVisibility.js";import o from"./graphics/Graphics3DGraphicLikeLayerView.js";import{enlargeExtent as d}from"./graphics/graphicUtils.js";import{toViewIfLocal as u}from"./support/projectExtentUtils.js";import{UpdatePolicy as l}from"../webgl-engine/lib/basicInterfaces.js";import g from"../../layers/LayerView.js";const y=1.2;let m=class extends(n(g)){constructor(){super(...arguments),this.type="graphics-3d",this.frustumVisibility=new c,this.slicePlaneEnabled=!1,this.drapeSourceType=h.Features,this.suspendResumeExtent=null,this.fullExtentInLocalViewSpatialReference=null}initialize(){this._set("graphics3d",new o({owner:this,layer:this.layer,scaleVisibilityEnabled:!0})),this.graphics3d.setup(),this.frustumVisibility.setup(this),this._setupSuspendResumeExtent(),this.updatingHandles.add(this,"fullOpacity",(()=>this.graphics3d.graphicsCore.opacityChange())),this.handles.add(this.layer.on("graphic-update",(i=>this.graphics3d.graphicsCore.graphicUpdateHandler(i)))),this.addResolvingPromise(u(this).then((i=>this.fullExtentInLocalViewSpatialReference=i))),this.layer.internal?this.notifyChange("updating"):this.handles.add(s(this.view,"basemapTerrain.ready",(()=>this.notifyChange("updating"))))}destroy(){this.frustumVisibility&&(this.frustumVisibility.destroy(),this._set("frustumVisibility",null)),this.graphics3d&&(this.graphics3d.destroy(),this._set("graphics3d",null))}get legendEnabled(){return this.canResume()&&!this.frustumVisibility.suspended}getSuspendInfo(){var i;const s=super.getSuspendInfo();return e(this.graphics3d.scaleVisibility)&&this.graphics3d.scaleVisibility.suspended&&(s.outsideScaleRange=!0),s.outsideOfView=!(null==(i=this.frustumVisibility)||!i.suspended),s}async fetchPopupFeatures(i,s){return e(s)?s.clientGraphics:null}notifyGraphicGeometryChanged(i){this.graphics3d.graphicsCore.notifyGraphicGeometryChanged(i)}notifyGraphicVisibilityChanged(i){this.graphics3d.graphicsCore.notifyGraphicVisibilityChanged(i)}get graphics3DGraphics(){return this.graphics3d.graphicsCore.graphics3DGraphics}get graphics3DGraphicsByObjectID(){return this.graphics3d?this.graphics3d.graphicsCore.graphics3DGraphicsByObjectID:null}get symbolUpdateType(){return this.graphics3d.graphicsCore.symbolUpdateType}getGraphicFromGraphicUid(i){return this.graphics3d.getGraphicFromGraphicUid(i)}whenGraphicBounds(i,e){return this.graphics3d.whenGraphicBounds(i,e)}computeAttachmentOrigin(i,e){return this.graphics3d?this.graphics3d.graphicsCore.computeAttachmentOrigin(i,e):null}getSymbolLayerSize(i,e){return this.graphics3d.getSymbolLayerSize(i,e)}queryGraphics(){return Promise.resolve(this.loadedGraphics)}maskOccludee(i){return this.graphics3d.maskOccludee(i)}highlight(i){return this.graphics3d.highlight(i)}get updatePolicy(){var i;return(null==(i=this.graphics3d)?void 0:i.graphicsCore.effectiveUpdatePolicy)||l.SYNC}canResume(){var i;return super.canResume()&&!(null!=(i=this.graphics3d)&&i.suspended)}isUpdating(){var i,e;return!(!(this.graphics3d&&this.graphics3d.updating||this.frustumVisibility&&this.frustumVisibility.updating)&&(this.layer.internal||null!=(i=this.view)&&null!=(e=i.basemapTerrain)&&e.ready))}_setupSuspendResumeExtent(){const i=()=>{this.suspendResumeExtent=d(this.graphics3d.graphicsCore.computedExtent,this.suspendResumeExtent,y,this.graphics3d.graphicsCore.extentPadding),this.frustumVisibility.setExtent(this.suspendResumeExtent)};t(this.graphics3d.graphicsCore,"computedExtent",(()=>i()),!0),r(this.graphics3d.graphicsCore,"extentPadding",(()=>i()),!0)}get performanceInfo(){return{displayedNumberOfFeatures:this.loadedGraphics.length,maximumNumberOfFeatures:-1,totalNumberOfFeatures:-1,nodes:0,core:null,updating:this.updating,elevationUpdating:this.graphics3d.elevationAlignment.updating,visibilityFrustum:!this.frustumVisibility.suspended}}};i([a({aliasOf:"layer.graphics"})],m.prototype,"loadedGraphics",void 0),i([a({readOnly:!0})],m.prototype,"suspended",void 0),i([a({readOnly:!0})],m.prototype,"legendEnabled",null),i([a({readOnly:!0})],m.prototype,"updating",void 0),i([a()],m.prototype,"layer",void 0),i([a({readOnly:!0})],m.prototype,"frustumVisibility",void 0),i([a({readOnly:!0})],m.prototype,"graphics3d",void 0),i([a({type:Boolean})],m.prototype,"slicePlaneEnabled",void 0),m=i([p("esri.views.3d.layers.GraphicsLayerView3D")],m);const f=m;export{f as default};
5
+ import{_ as s}from"../../../chunks/tslib.es6.js";import{isSome as e}from"../../../core/maybe.js";import{whenTrueOnce as r,init as i,watch as t}from"../../../core/watchUtils.js";import{property as o}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/arrayUtils.js";import"../../../core/has.js";import"../../../core/accessorSupport/ensureType.js";import{subclass as p}from"../../../core/accessorSupport/decorators/subclass.js";import{DrapeSourceType as a}from"./interfaces.js";import{LayerView3D as n}from"./LayerView3D.js";import c from"./graphics/Graphics3DFrustumVisibility.js";import h from"./graphics/GraphicsProcessor.js";import{enlargeExtent as u}from"./graphics/graphicUtils.js";import{toViewIfLocal as l}from"./support/projectExtentUtils.js";import{UpdatePolicy as d}from"../webgl-engine/lib/basicInterfaces.js";import m from"../../layers/LayerView.js";const y=1.2;let g=class extends(n(m)){constructor(){super(...arguments),this.type="graphics-3d",this.frustumVisibility=new c,this.slicePlaneEnabled=!1,this.drapeSourceType=a.Features,this.suspendResumeExtent=null,this.fullExtentInLocalViewSpatialReference=null}initialize(){this._set("processor",new h({owner:this,layer:this.layer,scaleVisibilityEnabled:!0})),this.processor.setup(),this.frustumVisibility.setup(this),this._setupSuspendResumeExtent(),this.updatingHandles.add((()=>this.fullOpacity),(()=>this.processor.graphicsCore.opacityChange())),this.handles.add(this.layer.on("graphic-update",(s=>this.processor.graphicsCore.graphicUpdateHandler(s)))),this.addResolvingPromise(l(this).then((s=>this.fullExtentInLocalViewSpatialReference=s))),this.layer.internal?this.notifyChange("updating"):this.handles.add(r(this.view,"basemapTerrain.ready",(()=>this.notifyChange("updating"))))}destroy(){this.frustumVisibility&&(this.frustumVisibility.destroy(),this._set("frustumVisibility",null)),this.processor&&(this.processor.destroy(),this._set("processor",null))}get legendEnabled(){return this.canResume()&&!this.frustumVisibility.suspended}getSuspendInfo(){var s;const r=super.getSuspendInfo();return e(this.processor.scaleVisibility)&&this.processor.scaleVisibility.suspended&&(r.outsideScaleRange=!0),r.outsideOfView=!(null==(s=this.frustumVisibility)||!s.suspended),r}async fetchPopupFeatures(s,r){return e(r)?r.clientGraphics:null}notifyGraphicGeometryChanged(s){this.processor.graphicsCore.notifyGraphicGeometryChanged(s)}notifyGraphicVisibilityChanged(s){this.processor.graphicsCore.notifyGraphicVisibilityChanged(s)}get graphics3DGraphics(){return this.processor.graphicsCore.graphics3DGraphics}get graphics3DGraphicsByObjectID(){return this.processor?this.processor.graphicsCore.graphics3DGraphicsByObjectID:null}get symbolUpdateType(){return this.processor.graphicsCore.symbolUpdateType}getGraphicFromGraphicUid(s){return this.processor.getGraphicFromGraphicUid(s)}whenGraphicBounds(s,e){return this.processor.whenGraphicBounds(s,e)}computeAttachmentOrigin(s,e){return this.processor?this.processor.graphicsCore.computeAttachmentOrigin(s,e):null}getSymbolLayerSize(s,e){return this.processor.getSymbolLayerSize(s,e)}queryGraphics(){return Promise.resolve(this.loadedGraphics)}maskOccludee(s){return this.processor.maskOccludee(s)}highlight(s){return this.processor.highlight(s)}get updatePolicy(){var s;return(null==(s=this.processor)?void 0:s.graphicsCore.effectiveUpdatePolicy)||d.SYNC}canResume(){var s;return super.canResume()&&!(null!=(s=this.processor)&&s.suspended)}isUpdating(){var s,e;return!(!(this.processor&&this.processor.updating||this.frustumVisibility&&this.frustumVisibility.updating)&&(this.layer.internal||null!=(s=this.view)&&null!=(e=s.basemapTerrain)&&e.ready))}_setupSuspendResumeExtent(){const s=()=>{this.suspendResumeExtent=u(this.processor.graphicsCore.computedExtent,this.suspendResumeExtent,y,this.processor.graphicsCore.extentPadding),this.frustumVisibility.setExtent(this.suspendResumeExtent)};i(this.processor.graphicsCore,"computedExtent",(()=>s()),!0),t(this.processor.graphicsCore,"extentPadding",(()=>s()),!0)}get performanceInfo(){return{displayedNumberOfFeatures:this.loadedGraphics.length,maximumNumberOfFeatures:-1,totalNumberOfFeatures:-1,nodes:0,core:null,updating:this.updating,elevationUpdating:this.processor.elevationAlignment.updating,visibilityFrustum:!this.frustumVisibility.suspended}}};s([o({aliasOf:"layer.graphics"})],g.prototype,"loadedGraphics",void 0),s([o({readOnly:!0})],g.prototype,"suspended",void 0),s([o({readOnly:!0})],g.prototype,"legendEnabled",null),s([o({readOnly:!0})],g.prototype,"updating",void 0),s([o()],g.prototype,"layer",void 0),s([o({readOnly:!0})],g.prototype,"frustumVisibility",void 0),s([o({readOnly:!0})],g.prototype,"processor",void 0),s([o({type:Boolean})],g.prototype,"slicePlaneEnabled",void 0),g=s([p("esri.views.3d.layers.GraphicsLayerView3D")],g);const f=g;export{f as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.23/esri/copyright.txt for details.
4
4
  */
5
- import{_ as r}from"../../../chunks/tslib.es6.js";import i from"../../../core/Accessor.js";import{isSome as s}from"../../../core/maybe.js";import{property as e}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/arrayUtils.js";import"../../../core/has.js";import"../../../core/accessorSupport/ensureType.js";import{subclass as t}from"../../../core/accessorSupport/decorators/subclass.js";import{DrapeSourceType as a}from"./interfaces.js";import p from"./graphics/Graphics3DGraphicLikeLayerView.js";import{GraphicsView as c}from"../../layers/GraphicsView.js";let h=class extends(c(i)){constructor(r){super(r),this.graphics3d=null,this.slicePlaneEnabled=!1,this.drapeSourceType=a.Features}initialize(){const r="__sceneView.graphics-"+Date.now().toString(16),i={id:r,uid:r};this._set("graphics3d",new p({owner:this,layer:i})),this.graphics3d.setup()}destroy(){this.graphics3d&&(this.graphics3d.destroy(),this._set("graphics3d",null))}get updating(){var r;return!(null==(r=this.graphics3d)||!r.updating)}notifyGraphicGeometryChanged(r){this.graphics3d.graphicsCore.notifyGraphicGeometryChanged(r)}notifyGraphicVisibilityChanged(r){this.graphics3d.graphicsCore.notifyGraphicVisibilityChanged(r)}get graphics3DGraphics(){return this.graphics3d.graphicsCore.graphics3DGraphics}get graphics3DGraphicsByObjectID(){return this.graphics3d.graphicsCore.graphics3DGraphicsByObjectID}get symbolUpdateType(){return this.graphics3d.graphicsCore.symbolUpdateType}getGraphicFromGraphicUid(r){return this.graphics3d.getGraphicFromGraphicUid(r)}whenGraphicBounds(r,i){return this.graphics3d.whenGraphicBounds(r,i)}graphicChanged(r){this.graphics3d.graphicsCore.graphicUpdateHandler(r)}get updatePolicy(){return this.graphics3d.graphicsCore.effectiveUpdatePolicy}queryGraphics(){return Promise.resolve(this.loadedGraphics)}async fetchPopupFeatures(r,i){return s(i)?i.clientGraphics:null}highlight(r){return this.graphics3d.highlight(r)}maskOccludee(r){return this.graphics3d.maskOccludee(r)}};r([e({readOnly:!0,aliasOf:"view.graphics"})],h.prototype,"graphics",void 0),r([e({aliasOf:"graphics"})],h.prototype,"loadedGraphics",void 0),r([e({readOnly:!0})],h.prototype,"updating",null),r([e({constructOnly:!0})],h.prototype,"view",void 0),r([e()],h.prototype,"graphics3d",void 0),r([e({type:Boolean})],h.prototype,"slicePlaneEnabled",void 0),h=r([t("esri.views.3d.layers.GraphicsView3D")],h);const o=h;export{o as default};
5
+ import{_ as r}from"../../../chunks/tslib.es6.js";import s from"../../../core/Accessor.js";import{isSome as e}from"../../../core/maybe.js";import{property as o}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/arrayUtils.js";import"../../../core/has.js";import"../../../core/accessorSupport/ensureType.js";import{subclass as i}from"../../../core/accessorSupport/decorators/subclass.js";import{DrapeSourceType as t}from"./interfaces.js";import p from"./graphics/GraphicsProcessor.js";import{GraphicsView as c}from"../../layers/GraphicsView.js";let a=class extends(c(s)){constructor(r){super(r),this.processor=null,this.slicePlaneEnabled=!1,this.drapeSourceType=t.Features}initialize(){const r="__sceneView.graphics-"+Date.now().toString(16),s={id:r,uid:r,type:"graphics-view-3d-proxy"};this._set("processor",new p({owner:this,layer:s})),this.processor.setup()}destroy(){this.processor&&(this.processor.destroy(),this._set("processor",null))}get updating(){var r;return!(null==(r=this.processor)||!r.updating)}notifyGraphicGeometryChanged(r){this.processor.graphicsCore.notifyGraphicGeometryChanged(r)}notifyGraphicVisibilityChanged(r){this.processor.graphicsCore.notifyGraphicVisibilityChanged(r)}get graphics3DGraphics(){return this.processor.graphicsCore.graphics3DGraphics}get graphics3DGraphicsByObjectID(){return this.processor.graphicsCore.graphics3DGraphicsByObjectID}get symbolUpdateType(){return this.processor.graphicsCore.symbolUpdateType}getGraphicFromGraphicUid(r){return this.processor.getGraphicFromGraphicUid(r)}whenGraphicBounds(r,s){return this.processor.whenGraphicBounds(r,s)}graphicChanged(r){this.processor.graphicsCore.graphicUpdateHandler(r)}get updatePolicy(){return this.processor.graphicsCore.effectiveUpdatePolicy}queryGraphics(){return Promise.resolve(this.loadedGraphics)}async fetchPopupFeatures(r,s){return e(s)?s.clientGraphics:null}highlight(r){return this.processor.highlight(r)}maskOccludee(r){return this.processor.maskOccludee(r)}};r([o({readOnly:!0,aliasOf:"view.graphics"})],a.prototype,"graphics",void 0),r([o({aliasOf:"graphics"})],a.prototype,"loadedGraphics",void 0),r([o({readOnly:!0})],a.prototype,"updating",null),r([o({constructOnly:!0})],a.prototype,"view",void 0),r([o()],a.prototype,"processor",void 0),r([o({type:Boolean})],a.prototype,"slicePlaneEnabled",void 0),a=r([i("esri.views.3d.layers.GraphicsView3D")],a);const h=a;export{h as default};