@arcgis/core 4.23.0-next.20220105 → 4.23.0-next.20220123

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 (632) 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/{35961690afe9ea1f91b0.js → 5383a8f3e4ec1a8a4fcd.js} +1 -1
  73. package/assets/esri/core/workers/chunks/{4beba242e7540ee3182b.js → 5538639a49c7cc2eca63.js} +1 -1
  74. package/assets/esri/core/workers/chunks/57c67e260267a1dbc5e3.js +1 -0
  75. package/assets/esri/core/workers/chunks/5a4a5585ec8027079f32.js +1 -0
  76. package/assets/esri/core/workers/chunks/5ac4c1d54b94c7d87835.js +1 -0
  77. package/assets/esri/core/workers/chunks/60371c0f750cde87656d.js +1 -0
  78. package/assets/esri/core/workers/chunks/{ba6fdaed6c315dc13981.js → 625d2663daa8e0cf64b0.js} +1 -1
  79. package/assets/esri/core/workers/chunks/{3a2b2dc3e938d53faa30.js → 64276aacaafa4c8a15bd.js} +1 -1
  80. package/assets/esri/core/workers/chunks/{75466e0c8c8da499b150.js → 662d13f68cf3ec92439b.js} +1 -1
  81. package/assets/esri/core/workers/chunks/663ad15b86936eb06b69.js +1 -0
  82. package/assets/esri/core/workers/chunks/67162b3e2cc1b5dc6818.js +1 -0
  83. package/assets/esri/core/workers/chunks/68a59ce98177d8513337.js +1 -0
  84. package/assets/esri/core/workers/chunks/6cdfe175c965918b741b.js +1 -0
  85. package/assets/esri/core/workers/chunks/739e579150bf466d43ae.js +1 -0
  86. package/assets/esri/core/workers/chunks/74df1f3e1e2e524a89d2.js +1 -0
  87. package/assets/esri/core/workers/chunks/76eef4799f6c5fff7e2d.js +1 -0
  88. package/assets/esri/core/workers/chunks/{ea05f870dda27bca4fe8.js → 7a8764ae8a0041e1151d.js} +2 -2
  89. package/assets/esri/core/workers/chunks/{ea05f870dda27bca4fe8.js.LICENSE.txt → 7a8764ae8a0041e1151d.js.LICENSE.txt} +1 -1
  90. package/assets/esri/core/workers/chunks/7baf6b1f3f050aa67ae4.js +1 -0
  91. package/assets/esri/core/workers/chunks/{f52b6d5037e4205b035c.js → 7bc5cc5dbf1b7b70ddac.js} +1 -1
  92. package/assets/esri/core/workers/chunks/85e27fd949475f9a6bbc.js +1 -0
  93. package/assets/esri/core/workers/chunks/8967288145f8fbd20e7d.js +1 -0
  94. package/assets/esri/core/workers/chunks/8cbb04a9065aa3756638.js +1 -0
  95. package/assets/esri/core/workers/chunks/8fa0a14165d43ffe87a5.js +1 -0
  96. package/assets/esri/core/workers/chunks/94b8dbf859df71858d1c.js +1 -0
  97. package/assets/esri/core/workers/chunks/96ab518eb6ba11333dee.js +1 -0
  98. package/assets/esri/core/workers/chunks/99a777693e4539f0b03b.js +1 -0
  99. package/assets/esri/core/workers/chunks/9cb2ae42a8e328b1d98d.js +1 -0
  100. package/assets/esri/core/workers/chunks/9d3c58a0ef634d95b7bd.js +1 -0
  101. package/assets/esri/core/workers/chunks/9d77467aa71d345fc1b6.js +1 -0
  102. package/assets/esri/core/workers/chunks/9f8b7b6b4e95f9a794fc.js +1 -0
  103. package/assets/esri/core/workers/chunks/a78757b9c7e8cbea08fa.js +1 -0
  104. package/assets/esri/core/workers/chunks/{9b7c51ff3d2b42aa62f5.js → a7b1b75643ed31489495.js} +1 -1
  105. package/assets/esri/core/workers/chunks/a8b13fb804bb775e4967.js +1 -0
  106. package/assets/esri/core/workers/chunks/a8c13529367c037cdd94.js +1 -0
  107. package/assets/esri/core/workers/chunks/a96afc176041f698c7a1.js +1 -0
  108. package/assets/esri/core/workers/chunks/aa861b8eae6c85f3dad4.js +1 -0
  109. package/assets/esri/core/workers/chunks/ac8dca61ade28c542ae2.js +1 -0
  110. package/assets/esri/core/workers/chunks/ad081d8e49e7f90c3c26.js +1 -0
  111. package/assets/esri/core/workers/chunks/afa6912454f2a5ffadce.js +1 -0
  112. package/assets/esri/core/workers/chunks/b0b036ad3ad3cd956747.js +1 -0
  113. package/assets/esri/core/workers/chunks/{2a39d520b192b8e552b5.js → b2ae5fc4f787ea568b88.js} +1 -1
  114. package/assets/esri/core/workers/chunks/b2beb6e1fd2ee6503830.js +1 -0
  115. package/assets/esri/core/workers/chunks/{b87bc1481a49b38109f4.js → b9c177524b3e7de1ffd1.js} +1 -1
  116. package/assets/esri/core/workers/chunks/ba615f118a3a8970ef25.js +1 -0
  117. package/assets/esri/core/workers/chunks/{7c1b9ae141112a63b446.js → ba6654a885be4b7a43f0.js} +1 -1
  118. package/assets/esri/core/workers/chunks/bab1cfd0a901181622af.js +1 -0
  119. package/assets/esri/core/workers/chunks/be2b7cce79fd41627931.js +1 -0
  120. package/assets/esri/core/workers/chunks/bf6dda4a2af14c4b7716.js +1 -0
  121. package/assets/esri/core/workers/chunks/{ed0297fc61014e848c18.js → c080114a69fa95b88d22.js} +1 -1
  122. package/assets/esri/core/workers/chunks/c13dfdd548dcb1bdb294.js +1 -0
  123. package/assets/esri/core/workers/chunks/c36f84daa7736878418d.js +1 -0
  124. package/assets/esri/core/workers/chunks/c6f94b92e866b881d9b9.js +1 -0
  125. package/assets/esri/core/workers/chunks/{573dc3064e84ca86844d.js → c959e0d1cf7dce0421b9.js} +1 -1
  126. package/assets/esri/core/workers/chunks/{1fd48459afb58a6cf14f.js → ca2f5faa01d99c21ec14.js} +1 -1
  127. package/assets/esri/core/workers/chunks/cbb291412fd1a5261aa9.js +1 -0
  128. package/assets/esri/core/workers/chunks/{7aa543a97f055cddea99.js → cc146c57bbdac8029fd8.js} +1 -1
  129. package/assets/esri/core/workers/chunks/cd7d83d127e085d52584.js +1 -0
  130. package/assets/esri/core/workers/chunks/cef4af64860ebbfc1c47.js +1 -0
  131. package/assets/esri/core/workers/chunks/d1454155ee1b8a421cbb.js +1 -0
  132. package/assets/esri/core/workers/chunks/{0cd583c3233573cb8468.js → d24c4fbc567486b1188f.js} +1 -1
  133. package/assets/esri/core/workers/chunks/d52108864136c5a8a618.js +1 -0
  134. package/assets/esri/core/workers/chunks/d72488db62fcf39447b6.js +1 -0
  135. package/assets/esri/core/workers/chunks/de03439ca2c9782bf325.js +1 -0
  136. package/assets/esri/core/workers/chunks/de6cff7b6cbbf99b20d1.js +981 -0
  137. package/assets/esri/core/workers/chunks/e079cb1d53aca15b7df2.js +1 -0
  138. package/assets/esri/core/workers/chunks/e59764ee8cf25d4f74e2.js +1 -0
  139. package/assets/esri/core/workers/chunks/e6df9839b551569fbc62.js +1 -0
  140. package/assets/esri/core/workers/chunks/e97e986120aaadad7d4c.js +1 -0
  141. package/assets/esri/core/workers/chunks/{2f66fcb8670b108af549.js → ed0bcc66fb1e0ee75a4b.js} +1 -1
  142. package/assets/esri/core/workers/chunks/f8e7755240a94b499e1f.js +1 -0
  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/_Weather.scss +1 -1
  152. package/assets/esri/themes/dark/main.css +1 -1
  153. package/assets/esri/themes/dark-blue/main.css +1 -1
  154. package/assets/esri/themes/dark-green/main.css +1 -1
  155. package/assets/esri/themes/dark-purple/main.css +1 -1
  156. package/assets/esri/themes/dark-red/main.css +1 -1
  157. package/assets/esri/themes/light/main.css +1 -1
  158. package/assets/esri/themes/light/view.css +1 -1
  159. package/assets/esri/themes/light-blue/main.css +1 -1
  160. package/assets/esri/themes/light-green/main.css +1 -1
  161. package/assets/esri/themes/light-purple/main.css +1 -1
  162. package/assets/esri/themes/light-red/main.css +1 -1
  163. package/assets/esri/widgets/Editor/t9n/Editor_ar.json +1 -1
  164. package/assets/esri/widgets/Editor/t9n/Editor_bg.json +1 -1
  165. package/assets/esri/widgets/Editor/t9n/Editor_bs.json +1 -1
  166. package/assets/esri/widgets/Editor/t9n/Editor_ca.json +1 -1
  167. package/assets/esri/widgets/Editor/t9n/Editor_cs.json +1 -1
  168. package/assets/esri/widgets/Editor/t9n/Editor_da.json +1 -1
  169. package/assets/esri/widgets/Editor/t9n/Editor_de.json +1 -1
  170. package/assets/esri/widgets/Editor/t9n/Editor_el.json +1 -1
  171. package/assets/esri/widgets/Editor/t9n/Editor_es.json +1 -1
  172. package/assets/esri/widgets/Editor/t9n/Editor_et.json +1 -1
  173. package/assets/esri/widgets/Editor/t9n/Editor_fi.json +1 -1
  174. package/assets/esri/widgets/Editor/t9n/Editor_fr.json +1 -1
  175. package/assets/esri/widgets/Editor/t9n/Editor_he.json +1 -1
  176. package/assets/esri/widgets/Editor/t9n/Editor_hr.json +1 -1
  177. package/assets/esri/widgets/Editor/t9n/Editor_hu.json +1 -1
  178. package/assets/esri/widgets/Editor/t9n/Editor_id.json +1 -1
  179. package/assets/esri/widgets/Editor/t9n/Editor_it.json +1 -1
  180. package/assets/esri/widgets/Editor/t9n/Editor_ja.json +1 -1
  181. package/assets/esri/widgets/Editor/t9n/Editor_ko.json +1 -1
  182. package/assets/esri/widgets/Editor/t9n/Editor_lt.json +1 -1
  183. package/assets/esri/widgets/Editor/t9n/Editor_lv.json +1 -1
  184. package/assets/esri/widgets/Editor/t9n/Editor_nb.json +1 -1
  185. package/assets/esri/widgets/Editor/t9n/Editor_nl.json +1 -1
  186. package/assets/esri/widgets/Editor/t9n/Editor_pl.json +1 -1
  187. package/assets/esri/widgets/Editor/t9n/Editor_pt-BR.json +1 -1
  188. package/assets/esri/widgets/Editor/t9n/Editor_pt-PT.json +1 -1
  189. package/assets/esri/widgets/Editor/t9n/Editor_ro.json +1 -1
  190. package/assets/esri/widgets/Editor/t9n/Editor_ru.json +1 -1
  191. package/assets/esri/widgets/Editor/t9n/Editor_sk.json +1 -1
  192. package/assets/esri/widgets/Editor/t9n/Editor_sl.json +1 -1
  193. package/assets/esri/widgets/Editor/t9n/Editor_sr.json +1 -1
  194. package/assets/esri/widgets/Editor/t9n/Editor_sv.json +1 -1
  195. package/assets/esri/widgets/Editor/t9n/Editor_th.json +1 -1
  196. package/assets/esri/widgets/Editor/t9n/Editor_tr.json +1 -1
  197. package/assets/esri/widgets/Editor/t9n/Editor_uk.json +1 -1
  198. package/assets/esri/widgets/Editor/t9n/Editor_vi.json +1 -1
  199. package/assets/esri/widgets/Editor/t9n/Editor_zh-CN.json +1 -1
  200. package/assets/esri/widgets/Editor/t9n/Editor_zh-HK.json +1 -1
  201. package/assets/esri/widgets/Editor/t9n/Editor_zh-TW.json +1 -1
  202. package/assets/esri/widgets/ElevationProfile/t9n/ElevationProfile_ja.json +1 -1
  203. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_ar.json +1 -1
  204. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_bg.json +1 -1
  205. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_bs.json +1 -1
  206. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_ca.json +1 -1
  207. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_cs.json +1 -1
  208. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_da.json +1 -1
  209. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_de.json +1 -1
  210. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_el.json +1 -1
  211. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_es.json +1 -1
  212. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_et.json +1 -1
  213. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_fi.json +1 -1
  214. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_fr.json +1 -1
  215. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_he.json +1 -1
  216. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_hr.json +1 -1
  217. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_hu.json +1 -1
  218. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_id.json +1 -1
  219. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_it.json +1 -1
  220. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_ja.json +1 -1
  221. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_ko.json +1 -1
  222. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_lt.json +1 -1
  223. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_lv.json +1 -1
  224. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_nb.json +1 -1
  225. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_nl.json +1 -1
  226. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_pl.json +1 -1
  227. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_pt-BR.json +1 -1
  228. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_pt-PT.json +1 -1
  229. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_ro.json +1 -1
  230. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_ru.json +1 -1
  231. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_sk.json +1 -1
  232. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_sl.json +1 -1
  233. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_sr.json +1 -1
  234. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_sv.json +1 -1
  235. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_th.json +1 -1
  236. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_tr.json +1 -1
  237. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_uk.json +1 -1
  238. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_vi.json +1 -1
  239. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_zh-CN.json +1 -1
  240. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_zh-HK.json +1 -1
  241. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_zh-TW.json +1 -1
  242. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_cs.json +1 -1
  243. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_el.json +1 -1
  244. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_fr.json +1 -1
  245. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_lv.json +1 -1
  246. package/assets/esri/widgets/Weather/t9n/Weather_ar.json +1 -1
  247. package/assets/esri/widgets/Weather/t9n/Weather_bg.json +1 -1
  248. package/assets/esri/widgets/Weather/t9n/Weather_bs.json +1 -1
  249. package/assets/esri/widgets/Weather/t9n/Weather_ca.json +1 -1
  250. package/assets/esri/widgets/Weather/t9n/Weather_cs.json +1 -1
  251. package/assets/esri/widgets/Weather/t9n/Weather_da.json +1 -1
  252. package/assets/esri/widgets/Weather/t9n/Weather_de.json +1 -1
  253. package/assets/esri/widgets/Weather/t9n/Weather_el.json +1 -1
  254. package/assets/esri/widgets/Weather/t9n/Weather_es.json +1 -1
  255. package/assets/esri/widgets/Weather/t9n/Weather_et.json +1 -1
  256. package/assets/esri/widgets/Weather/t9n/Weather_fi.json +1 -1
  257. package/assets/esri/widgets/Weather/t9n/Weather_fr.json +1 -1
  258. package/assets/esri/widgets/Weather/t9n/Weather_he.json +1 -1
  259. package/assets/esri/widgets/Weather/t9n/Weather_hr.json +1 -1
  260. package/assets/esri/widgets/Weather/t9n/Weather_hu.json +1 -1
  261. package/assets/esri/widgets/Weather/t9n/Weather_id.json +1 -1
  262. package/assets/esri/widgets/Weather/t9n/Weather_it.json +1 -1
  263. package/assets/esri/widgets/Weather/t9n/Weather_ja.json +1 -1
  264. package/assets/esri/widgets/Weather/t9n/Weather_ko.json +1 -1
  265. package/assets/esri/widgets/Weather/t9n/Weather_lt.json +1 -1
  266. package/assets/esri/widgets/Weather/t9n/Weather_lv.json +1 -1
  267. package/assets/esri/widgets/Weather/t9n/Weather_nb.json +1 -1
  268. package/assets/esri/widgets/Weather/t9n/Weather_nl.json +1 -1
  269. package/assets/esri/widgets/Weather/t9n/Weather_pl.json +1 -1
  270. package/assets/esri/widgets/Weather/t9n/Weather_pt-BR.json +1 -1
  271. package/assets/esri/widgets/Weather/t9n/Weather_pt-PT.json +1 -1
  272. package/assets/esri/widgets/Weather/t9n/Weather_ro.json +1 -1
  273. package/assets/esri/widgets/Weather/t9n/Weather_ru.json +1 -1
  274. package/assets/esri/widgets/Weather/t9n/Weather_sk.json +1 -1
  275. package/assets/esri/widgets/Weather/t9n/Weather_sl.json +1 -1
  276. package/assets/esri/widgets/Weather/t9n/Weather_sr.json +1 -1
  277. package/assets/esri/widgets/Weather/t9n/Weather_sv.json +1 -1
  278. package/assets/esri/widgets/Weather/t9n/Weather_th.json +1 -1
  279. package/assets/esri/widgets/Weather/t9n/Weather_tr.json +1 -1
  280. package/assets/esri/widgets/Weather/t9n/Weather_uk.json +1 -1
  281. package/assets/esri/widgets/Weather/t9n/Weather_vi.json +1 -1
  282. package/assets/esri/widgets/Weather/t9n/Weather_zh-CN.json +1 -1
  283. package/assets/esri/widgets/Weather/t9n/Weather_zh-HK.json +1 -1
  284. package/assets/esri/widgets/Weather/t9n/Weather_zh-TW.json +1 -1
  285. package/chunks/Clouds.glsl.js +14 -14
  286. package/chunks/CloudsComposition.glsl.js +4 -4
  287. package/chunks/DefaultMaterial.glsl.js +2 -2
  288. package/chunks/HUDMaterial.glsl.js +22 -21
  289. package/chunks/RibbonLine.glsl.js +10 -14
  290. package/chunks/persistableUrlUtils.js +1 -1
  291. package/chunks/vec32.js +1 -1
  292. package/chunks/vec42.js +1 -1
  293. package/chunks/vxlLayer.js +1 -1
  294. package/core/has.js +1 -1
  295. package/core/urlUtils.js +1 -1
  296. package/core/workers/workerFactory.js +1 -1
  297. package/form/elements/FieldElement.js +1 -1
  298. package/geometry/support/buffer/math/common.js +1 -1
  299. package/geometry/support/heightModelInfoUtils.js +1 -1
  300. package/interfaces.d.ts +372 -126
  301. package/layers/FeatureLayer.js +1 -1
  302. package/layers/RouteLayer.js +1 -1
  303. package/layers/SubtypeGroupLayer.js +1 -1
  304. package/layers/VectorTileLayer.js +1 -1
  305. package/layers/VoxelLayer.js +1 -1
  306. package/layers/VoxelWasmPerScene.js +1 -1
  307. package/layers/WMSLayer.js +1 -1
  308. package/layers/graphics/controllers/FeatureTileController3D.js +1 -1
  309. package/layers/graphics/data/QueryEngineCapabilities.js +1 -1
  310. package/layers/graphics/sources/OGCFeatureSource.js +1 -1
  311. package/layers/mixins/ArcGISImageService.js +1 -1
  312. package/layers/mixins/OperationalLayer.js +1 -1
  313. package/layers/ogc/crsUtils.js +5 -0
  314. package/layers/support/RasterFunction.js +1 -1
  315. package/layers/support/RasterWorker.js +1 -1
  316. package/layers/support/capabilities.js +1 -1
  317. package/layers/support/rasterDatasets/BaseRaster.js +1 -1
  318. package/layers/support/rasterDatasets/WCSRaster.js +1 -1
  319. package/layers/support/rasterDatasets/wcsCoverageParser.js +1 -1
  320. package/layers/support/rasterFunctions/rasterProjectionHelper.js +1 -1
  321. package/layers/support/vectorTileLayerLoader.js +1 -1
  322. package/layers/support/wmsUtils.js +1 -1
  323. package/layers/support/wmtsUtils.js +1 -1
  324. package/libs/vxl/enums.js +1 -1
  325. package/package.json +5 -5
  326. package/portal/schemas/buildingSceneLayerItem.js +1 -1
  327. package/portal/schemas/definitions.js +1 -1
  328. package/portal/schemas/integratedMeshLayerItem.js +1 -1
  329. package/portal/schemas/pointCloudLayerItem.js +1 -1
  330. package/portal/schemas/sceneLayerItem.js +1 -1
  331. package/portal/schemas/webScene.js +1 -1
  332. package/rasterRenderers.js +1 -1
  333. package/renderers/support/RasterSymbolizer.js +1 -1
  334. package/request.js +1 -1
  335. package/rest/find.js +1 -1
  336. package/rest/geometryService/generalize.js +1 -1
  337. package/rest/geometryService/lengths.js +1 -1
  338. package/rest/geometryService/offset.js +1 -1
  339. package/rest/geometryService/relation.js +1 -1
  340. package/rest/geometryService/trimExtend.js +1 -1
  341. package/rest/identify.js +1 -1
  342. package/{tasks → rest}/operations/find.js +0 -0
  343. package/{tasks → rest}/operations/generalize.js +0 -0
  344. package/rest/operations/identify.js +5 -0
  345. package/{tasks → rest}/operations/lengths.js +0 -0
  346. package/{tasks → rest}/operations/offset.js +0 -0
  347. package/{tasks → rest}/operations/relation.js +0 -0
  348. package/{tasks → rest}/operations/trimExtend.js +0 -0
  349. package/{tasks → rest}/operations/urlUtils.js +0 -0
  350. package/rest/print.js +1 -1
  351. package/rest/query/operations/query.js +1 -1
  352. package/rest/query/operations/queryAttachments.js +1 -1
  353. package/rest/query/operations/queryRelatedRecords.js +1 -1
  354. package/rest/query/operations/queryTopFeatures.js +1 -1
  355. package/rest/route/utils.js +1 -1
  356. package/rest/support/ImageIdentifyParameters.js +1 -1
  357. package/rest/support/NetworkServiceDescription.js +1 -1
  358. package/rest/support/RouteInfo.js +1 -1
  359. package/rest/support/RouteParameters.js +1 -1
  360. package/rest/support/RouteSettings.js +5 -0
  361. package/rest/support/StatisticDefinition.js +1 -1
  362. package/rest/support/Stop.js +1 -1
  363. package/rest/support/networkEnums.js +1 -1
  364. package/smartMapping/renderers/univariateColorSize.js +1 -1
  365. package/smartMapping/support/adapters/FeatureLayerAdapter.js +1 -1
  366. package/support/featureFlags.js +1 -1
  367. package/support/revision.js +1 -1
  368. package/symbols/ExtrudeSymbol3DLayer.js +1 -1
  369. package/symbols/Font.js +1 -1
  370. package/symbols/IconSymbol3DLayer.js +1 -1
  371. package/symbols/ObjectSymbol3DLayer.js +1 -1
  372. package/symbols/PathSymbol3DLayer.js +1 -1
  373. package/symbols/TextSymbol.js +1 -1
  374. package/symbols/TextSymbol3DLayer.js +1 -1
  375. package/symbols/cim/placements/PlacementAlongLineSameSize.js +1 -1
  376. package/symbols/support/Symbol3DHalo.js +1 -1
  377. package/symbols/support/Symbol3DMaterial.js +1 -1
  378. package/symbols/support/cimSymbolUtils.js +1 -1
  379. package/symbols/support/textUtils.js +5 -0
  380. package/symbols/support/utils.js +1 -1
  381. package/views/2d/engine/Stage.js +1 -1
  382. package/views/2d/engine/vectorTiles/TileHandler.js +1 -1
  383. package/views/2d/engine/vectorTiles/shaders/VTLMaterialManager.js +1 -1
  384. package/views/2d/engine/vectorTiles/style/VectorTileSource.js +1 -1
  385. package/views/2d/engine/vectorTiles/style/VectorTilesRequestManager.js +5 -0
  386. package/views/2d/engine/webgl/BitBlitRenderer.js +1 -1
  387. package/views/2d/engine/webgl/MaterialManager.js +1 -1
  388. package/views/2d/engine/webgl/alignmentUtils.js +1 -1
  389. package/views/2d/engine/webgl/effects/BlendEffect.js +1 -1
  390. package/views/2d/engine/webgl/materialKey/MaterialKey.js +1 -1
  391. package/views/2d/engine/webgl/mesh/templates/WGLLabelTemplate.js +1 -1
  392. package/views/2d/engine/webgl/shaders/BlendPrograms.js +1 -1
  393. package/views/2d/engine/webgl/shaders/MaterialPrograms.js +1 -1
  394. package/views/2d/layers/BaseLayerView2D.js +1 -1
  395. package/views/2d/layers/BaseLayerViewGL2D.js +1 -1
  396. package/views/2d/layers/GraphicsLayerView2D.js +1 -1
  397. package/views/2d/layers/ImageryLayerView2D.js +1 -1
  398. package/views/2d/layers/ImageryTileLayerView2D.js +1 -1
  399. package/views/2d/layers/LayerView2D.js +1 -1
  400. package/views/2d/layers/MapNotesLayerView2D.js +1 -1
  401. package/views/2d/layers/RouteLayerView2D.js +1 -1
  402. package/views/2d/layers/TileLayerView2D.js +1 -1
  403. package/views/2d/layers/VectorTileLayerView2D.js +1 -1
  404. package/views/2d/layers/WMSLayerView2D.js +1 -1
  405. package/views/2d/layers/WMTSLayerView2D.js +1 -1
  406. package/views/2d/layers/features/sources/BaseFeatureSource.js +1 -1
  407. package/views/2d/layers/features/support/AttributeStore.js +1 -1
  408. package/views/2d/layers/graphics/GraphicBoundsRenderer.js +1 -1
  409. package/views/2d/layers/graphics/GraphicsView2D.js +1 -1
  410. package/views/2d/layers/imagery/BaseImageryTileSubView2D.js +1 -1
  411. package/views/2d/support/engineHelpers.js +1 -1
  412. package/views/3d/analysis/LineOfSight/LineOfSightController.js +1 -1
  413. package/views/3d/environment/CloudsComposition.glsl.js +1 -1
  414. package/views/3d/environment/CloudsComposition.js +1 -1
  415. package/views/3d/environment/CloudsGenerator.js +1 -1
  416. package/views/3d/environment/CloudyWeather.js +1 -1
  417. package/views/3d/environment/Fog.js +1 -1
  418. package/views/3d/environment/FoggyWeather.js +1 -1
  419. package/views/3d/environment/NoiseTextureAtlas.js +1 -1
  420. package/views/3d/environment/RainyWeather.js +1 -1
  421. package/views/3d/environment/Stars.js +1 -1
  422. package/views/3d/layers/BuildingComponentSublayerView3D.js +1 -1
  423. package/views/3d/layers/DynamicLayerView3D.js +1 -1
  424. package/views/3d/layers/FeatureLayerViewBase3D.js +1 -1
  425. package/views/3d/layers/FeatureLikeLayerView3D.js +1 -1
  426. package/views/3d/layers/GraphicsLayerView3D.js +1 -1
  427. package/views/3d/layers/GraphicsView3D.js +1 -1
  428. package/views/3d/layers/I3SMeshView3D.js +1 -1
  429. package/views/3d/layers/ImageryLayerView3D.js +1 -1
  430. package/views/3d/layers/ImageryTileLayerView3D.js +1 -1
  431. package/views/3d/layers/IntegratedMeshLayerView3D.js +1 -1
  432. package/views/3d/layers/MapImageLayerView3D.js +1 -1
  433. package/views/3d/layers/OGCFeatureLayerView3D.js +1 -1
  434. package/views/3d/layers/PointCloudLayerView3D.js +1 -1
  435. package/views/3d/layers/SceneLayerGraphicsView3D.js +1 -1
  436. package/views/3d/layers/SceneLayerView3D.js +1 -1
  437. package/views/3d/layers/VectorTileLayerView3D.js +1 -1
  438. package/views/3d/layers/VoxelLayerView3D.js +1 -1
  439. package/views/3d/layers/WMSLayerView3D.js +1 -1
  440. package/views/3d/layers/WMTSLayerView3D.js +1 -1
  441. package/views/3d/layers/graphics/Deconflictor.js +1 -1
  442. package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
  443. package/views/3d/layers/graphics/Graphics3DDrapedGraphicLayer.js +1 -1
  444. package/views/3d/layers/graphics/Graphics3DElevationAlignment.js +1 -1
  445. package/views/3d/layers/graphics/Graphics3DFeatureProcessor.js +5 -0
  446. package/views/3d/layers/graphics/Graphics3DFrustumVisibility.js +1 -1
  447. package/views/3d/layers/graphics/Graphics3DIconSymbolLayer.js +1 -1
  448. package/views/3d/layers/graphics/Graphics3DMeshFillSymbolLayer.js +1 -1
  449. package/views/3d/layers/graphics/Graphics3DPointSymbol.js +1 -1
  450. package/views/3d/layers/graphics/Graphics3DPolygonFillSymbolLayer.js +1 -1
  451. package/views/3d/layers/graphics/Graphics3DScaleVisibility.js +1 -1
  452. package/views/3d/layers/graphics/Graphics3DSymbolCreationContext.js +1 -1
  453. package/views/3d/layers/graphics/Graphics3DSymbolLayer.js +1 -1
  454. package/views/3d/layers/graphics/Graphics3DTextSymbolLayer.js +1 -1
  455. package/views/3d/layers/graphics/GraphicsProcessor.js +5 -0
  456. package/views/3d/layers/graphics/IGraphics3DFeatureProcessor.js +4 -0
  457. package/views/3d/layers/graphics/Labeler.js +1 -1
  458. package/views/3d/layers/graphics/QueryEngine.js +1 -1
  459. package/views/3d/layers/support/FeatureTileTree3DDebugger.js +1 -1
  460. package/views/3d/state/controllers/RotateController.js +1 -1
  461. package/views/3d/state/controllers/global/PinchAndPanController.js +1 -1
  462. package/views/3d/state/controllers/global/ZoomController.js +1 -1
  463. package/views/3d/state/controllers/global/ZoomStepController.js +1 -1
  464. package/views/3d/state/controllers/local/PinchAndPanController.js +1 -1
  465. package/views/3d/state/controllers/local/ZoomStepController.js +1 -1
  466. package/views/3d/support/debugFlags.js +1 -1
  467. package/views/3d/support/sunUtils.js +1 -1
  468. package/views/3d/terrain/Overlay.js +1 -1
  469. package/views/3d/terrain/OverlayManager.js +1 -1
  470. package/views/3d/terrain/TerrainSurface.js +1 -1
  471. package/views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js +7 -1
  472. package/views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js +28 -24
  473. package/views/3d/webgl-engine/core/shaderLibrary/shading/LineStipple.glsl.js +19 -14
  474. package/views/3d/webgl-engine/core/shaderLibrary/util/CloudsParallaxShading.glsl.js +12 -14
  475. package/views/3d/webgl-engine/lib/GridLocalOriginFactory.js +1 -1
  476. package/views/3d/webgl-engine/lib/InstanceParameters.js +5 -0
  477. package/views/3d/webgl-engine/lib/{localOrigin.js → LocalOriginFactory.js} +0 -0
  478. package/views/3d/webgl-engine/lib/OffscreenRendering.js +1 -1
  479. package/views/3d/webgl-engine/lib/Program.js +1 -1
  480. package/views/3d/webgl-engine/lib/RenderGeometry.js +1 -1
  481. package/views/3d/webgl-engine/lib/RenderTargetHelper.js +1 -1
  482. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  483. package/views/3d/webgl-engine/lib/RenderingContext.js +1 -1
  484. package/views/3d/webgl-engine/lib/SSAOHelper.js +1 -1
  485. package/views/3d/webgl-engine/lib/TextRenderParameters.js +1 -1
  486. package/views/3d/webgl-engine/lib/TextRenderer.js +1 -1
  487. package/views/3d/webgl-engine/lib/intersectorUtilsConversions.js +1 -1
  488. package/views/3d/webgl-engine/lib/lodRendering/LodRenderer.js +1 -1
  489. package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
  490. package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
  491. package/views/3d/webgl-engine/parts/RenderView.js +1 -1
  492. package/views/3d/webgl-engine/parts/ScreenshotManager.js +1 -1
  493. package/views/3d/webgl-engine/shaders/DefaultMaterialTechnique.js +1 -1
  494. package/views/3d/webgl-engine/shaders/HUDMaterialTechnique.js +1 -1
  495. package/views/3d/webgl-engine/shaders/RealisticTreeTechnique.js +1 -1
  496. package/views/3d/webgl-engine/shaders/RibbonLineTechnique.js +1 -1
  497. package/views/LayerViewManager.js +1 -1
  498. package/views/MapView.js +1 -1
  499. package/views/SceneView.js +1 -1
  500. package/views/interactive/snapping/FeatureSnappingEngine.js +1 -1
  501. package/views/interactive/snapping/featureSources/FeatureServiceSnappingSource.js +1 -1
  502. package/views/interactive/snapping/featureSources/GraphicsSnappingSource.js +1 -1
  503. package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTiledFetcher.js +1 -1
  504. package/views/layers/ImageryTileLayerView.js +1 -1
  505. package/views/layers/LayerView.js +1 -1
  506. package/views/layers/OGCFeatureLayerView.js +1 -1
  507. package/views/layers/RefreshableLayerView.js +1 -1
  508. package/views/overlay/ViewOverlay.js +1 -1
  509. package/views/support/DefaultsFromMap.js +1 -1
  510. package/views/support/WatchUpdatingTracking.js +1 -1
  511. package/views/support/imageReprojection.js +1 -1
  512. package/views/webgl/BufferObject.js +1 -1
  513. package/views/webgl/ContextState.js +1 -1
  514. package/views/webgl/FramebufferObject.js +1 -1
  515. package/views/webgl/Program.js +1 -1
  516. package/views/webgl/ProgramCache.js +1 -1
  517. package/views/webgl/ProgramTemplate.js +1 -1
  518. package/views/webgl/Renderbuffer.js +1 -1
  519. package/views/webgl/RenderingContext.js +1 -1
  520. package/views/webgl/ShaderTranspiler.js +1 -1
  521. package/views/webgl/Texture.js +1 -1
  522. package/views/webgl/UniformBufferLayout.js +5 -0
  523. package/views/webgl/UniformBufferObject.js +5 -0
  524. package/views/webgl/Util.js +1 -1
  525. package/views/webgl/enums.js +1 -1
  526. package/views/webgl/rasterUtils.js +1 -1
  527. package/views/webgl/storageLayouts.js +5 -0
  528. package/views/webgl/testDoublePrecisionArithmetic.js +1 -1
  529. package/views/webgl/testFloatBufferBlend.js +1 -1
  530. package/views/webgl/testSVGPremultipliedAlpha.js +1 -1
  531. package/views/webgl/testSamplerPrecision.js +1 -1
  532. package/views/webgl/tests/SimpleDraw.js +1 -1
  533. package/widgets/BasemapLayerList.js +1 -1
  534. package/widgets/BuildingExplorer/BuildingDisciplinesViewModel.js +1 -1
  535. package/widgets/Editor/BatchCreateWorkflow.js +1 -1
  536. package/widgets/Editor/CreateWorkflow.js +1 -1
  537. package/widgets/Editor/UpdateWorkflow.js +1 -1
  538. package/widgets/Editor/workflowUtils.js +1 -1
  539. package/widgets/ElevationProfile/components/SettingsButton.js +1 -1
  540. package/widgets/ElevationProfile.js +1 -1
  541. package/widgets/Feature/FeatureExpression/FeatureExpressionViewModel.js +1 -1
  542. package/widgets/Feature/FeatureExpression.js +1 -1
  543. package/widgets/Feature/FeatureMedia/FeatureMediaViewModel.js +1 -1
  544. package/widgets/Feature/FeatureMedia.js +1 -1
  545. package/widgets/Feature/FeatureViewModel.js +1 -1
  546. package/widgets/FeatureForm/FeatureFormViewModel.js +1 -1
  547. package/widgets/FeatureForm/InputField.js +1 -1
  548. package/widgets/FeatureForm/InputFieldGroup.js +1 -1
  549. package/widgets/FeatureForm.js +1 -1
  550. package/widgets/FeatureTemplates.js +1 -1
  551. package/widgets/FloorFilter.js +1 -1
  552. package/widgets/LayerList/LayerListViewModel.js +1 -1
  553. package/widgets/LayerList/ListItemPanel.js +1 -1
  554. package/widgets/LayerList/support/layerListUtils.js +1 -1
  555. package/widgets/Legend/support/ActiveLayerInfo.js +1 -1
  556. package/widgets/Popup.js +1 -1
  557. package/widgets/Print.js +1 -1
  558. package/widgets/Search.js +1 -1
  559. package/widgets/Sketch/SketchViewModel.js +1 -1
  560. package/widgets/Weather/CoverageSlider.js +5 -0
  561. package/widgets/Weather/WeatherViewModel.js +1 -1
  562. package/widgets/Weather/css.js +1 -1
  563. package/widgets/Weather.js +1 -1
  564. package/widgets/support/geolocationUtils.js +1 -1
  565. package/assets/esri/core/workers/chunks/0881ce46b10362861f87.js +0 -1
  566. package/assets/esri/core/workers/chunks/0c0a02770eeeb3e28ea1.js +0 -1
  567. package/assets/esri/core/workers/chunks/0d2effbd84a9482eb639.js +0 -1
  568. package/assets/esri/core/workers/chunks/0f04246c1b591a3ac74d.js +0 -1
  569. package/assets/esri/core/workers/chunks/1ac6be0dc25e16c75d06.js +0 -1
  570. package/assets/esri/core/workers/chunks/1f8110ea12d65ca94b55.js +0 -1
  571. package/assets/esri/core/workers/chunks/2025d0fd61a64876c81b.js +0 -1
  572. package/assets/esri/core/workers/chunks/241859d74c0daac62e11.js +0 -1
  573. package/assets/esri/core/workers/chunks/2c9af2ebd72d9b55329b.js +0 -1
  574. package/assets/esri/core/workers/chunks/331be347c1b1ca0be2d2.js +0 -1
  575. package/assets/esri/core/workers/chunks/39af317388ecebb4387d.js +0 -1
  576. package/assets/esri/core/workers/chunks/39be2893a7dbdecfd65a.js +0 -1
  577. package/assets/esri/core/workers/chunks/3a20f66b0b7d08064e34.js +0 -1
  578. package/assets/esri/core/workers/chunks/445099d037affd139ed0.js +0 -1
  579. package/assets/esri/core/workers/chunks/45848fecec88ed2da33d.js +0 -1
  580. package/assets/esri/core/workers/chunks/48d3a3abc53abe6a4017.js +0 -1
  581. package/assets/esri/core/workers/chunks/5005b8c1fdd5cb9a4c19.js +0 -1
  582. package/assets/esri/core/workers/chunks/52e4c367c72ea7cc3457.js +0 -1
  583. package/assets/esri/core/workers/chunks/5d8170f6207dbeb4de1b.js +0 -1
  584. package/assets/esri/core/workers/chunks/615aa2d3ecafe30c80c0.js +0 -1
  585. package/assets/esri/core/workers/chunks/642c38ac00a962f35d44.js +0 -1
  586. package/assets/esri/core/workers/chunks/64459604505647e9c714.js +0 -1
  587. package/assets/esri/core/workers/chunks/653d1550dd1a4867a9fc.js +0 -1
  588. package/assets/esri/core/workers/chunks/65f73fbbc3c7c60c6d3d.js +0 -1
  589. package/assets/esri/core/workers/chunks/6db7081d344bea26ef64.js +0 -1
  590. package/assets/esri/core/workers/chunks/6deac533bb455be4004b.js +0 -1
  591. package/assets/esri/core/workers/chunks/6e13dab8ec43f7494297.js +0 -1
  592. package/assets/esri/core/workers/chunks/722a10c65456844d72b9.js +0 -1
  593. package/assets/esri/core/workers/chunks/7bd4c3ee43fb038b88d8.js +0 -1
  594. package/assets/esri/core/workers/chunks/803de5097a8a2c4b58a8.js +0 -1
  595. package/assets/esri/core/workers/chunks/8298231a0fd0129b0d5c.js +0 -1
  596. package/assets/esri/core/workers/chunks/8500c6c011400af1b7bd.js +0 -1
  597. package/assets/esri/core/workers/chunks/8b322a2a47dfdbb59b45.js +0 -1
  598. package/assets/esri/core/workers/chunks/8f83bebef9174c3f15da.js +0 -1
  599. package/assets/esri/core/workers/chunks/904332faa22bc0e876cb.js +0 -1
  600. package/assets/esri/core/workers/chunks/950565d1e682fc4072e1.js +0 -1
  601. package/assets/esri/core/workers/chunks/9846098704ee38bf6350.js +0 -1
  602. package/assets/esri/core/workers/chunks/a247ddd84245c81112c8.js +0 -1
  603. package/assets/esri/core/workers/chunks/a721342a32541717324d.js +0 -1
  604. package/assets/esri/core/workers/chunks/a9ffa806df20130ecfb6.js +0 -1
  605. package/assets/esri/core/workers/chunks/af13e534e4160636bd3d.js +0 -1
  606. package/assets/esri/core/workers/chunks/b2f62234ebb8b6158baa.js +0 -1
  607. package/assets/esri/core/workers/chunks/b51261a9a9ab62388839.js +0 -971
  608. package/assets/esri/core/workers/chunks/b58eba403bd517a7bb15.js +0 -1
  609. package/assets/esri/core/workers/chunks/b5bb7cfa26b1f0cec67a.js +0 -1
  610. package/assets/esri/core/workers/chunks/b8666d1a4e4fff7a4703.js +0 -1
  611. package/assets/esri/core/workers/chunks/bea1da9e3f878e0e2c83.js +0 -1
  612. package/assets/esri/core/workers/chunks/c1b6c31fa3ec1542f996.js +0 -1
  613. package/assets/esri/core/workers/chunks/c32a4fbdc87225f84019.js +0 -1
  614. package/assets/esri/core/workers/chunks/c67fea81f69a60c0eaef.js +0 -1
  615. package/assets/esri/core/workers/chunks/cb68db7169b9dfd1c3ff.js +0 -1
  616. package/assets/esri/core/workers/chunks/cc96608b2802fbfe7a08.js +0 -1
  617. package/assets/esri/core/workers/chunks/cd02fe27eb07681cb366.js +0 -1
  618. package/assets/esri/core/workers/chunks/d336afd5890dcdbf5341.js +0 -1
  619. package/assets/esri/core/workers/chunks/da69e3e5949fe1716e34.js +0 -1
  620. package/assets/esri/core/workers/chunks/daa9c450b2e2a5371249.js +0 -1
  621. package/assets/esri/core/workers/chunks/dd63ba77b7e4c3c9c594.js +0 -1
  622. package/assets/esri/core/workers/chunks/dfa57982d28c9aeb97b9.js +0 -1
  623. package/assets/esri/core/workers/chunks/e01812116b27874948f0.js +0 -1
  624. package/assets/esri/core/workers/chunks/e5c9d8482b913cf3580a.js +0 -1
  625. package/assets/esri/core/workers/chunks/eeadd92f0bede9fc8745.js +0 -1
  626. package/assets/esri/core/workers/chunks/fbb67cb6224aed2cce16.js +0 -1
  627. package/assets/esri/core/workers/chunks/feeaf61424336e9eac88.js +0 -1
  628. package/assets/esri/core/workers/chunks/ff02295329a8986d0568.js +0 -1
  629. package/tasks/operations/identify.js +0 -5
  630. package/views/2d/engine/webgl/mesh/templates/meshUtils.js +0 -5
  631. package/views/3d/layers/graphics/Graphics3DFeatureLikeLayerView.js +0 -5
  632. 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 r from"../core/Collection.js";import t from"../core/Handles.js";import i from"../core/Logger.js";import{destroyMaybe as s,isSome as o}from"../core/maybe.js";import{MultiOriginJSONMixin as n}from"../core/MultiOriginJSONSupport.js";import{throwIfAbortError as a}from"../core/promiseUtils.js";import{watch as l}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{reader as m}from"../core/accessorSupport/decorators/reader.js";import{subclass as d}from"../core/accessorSupport/decorators/subclass.js";import{n as c}from"../chunks/vec3.js";import{f as u}from"../chunks/vec3f64.js";import h from"./Layer.js";import y from"./VoxelWasmManager.js";import{APIKeyMixin as b}from"./mixins/APIKeyMixin.js";import{ArcGISService as f}from"./mixins/ArcGISService.js";import{OperationalLayer as g}from"./mixins/OperationalLayer.js";import{PortalLayer as v}from"./mixins/PortalLayer.js";import{ScaleRangeLayer as S}from"./mixins/ScaleRangeLayer.js";import{SceneService as V}from"./mixins/SceneService.js";import{sanitizeUrl as _}from"./support/arcgisLayerUrl.js";import{popupEnabled as x,legendEnabled as j,url as I}from"./support/commonProperties.js";import w from"./support/VoxelDynamicSection.js";import L from"./support/VoxelSection.js";import T from"./support/VoxelSlice.js";import P from"./support/VoxelStyle.js";import W from"./support/VoxelVariable.js";import A from"./support/VoxelVolume.js";import N from"./support/VoxelVolumeIndex.js";const M=i.getLogger(" esri.layers.VoxelLayer");var D;!function(e){e[e.API=1]="API",e[e.VerboseAPI=2]="VerboseAPI",e[e.Error=3]="Error"}(D||(D={}));let E=class extends(V(f(g(v(S(n(b(h)))))))){constructor(e){super(e),this.serviceRoot="",this.popupEnabled=!0,this.operationalLayerType="Voxel",this.legendEnabled=!0,this.title=null,this.sections=new r,this.style=null,this.opacity=1,this.variables=new r,this.volumes=new r,this.index=null,this.minScale=0,this.maxScale=0,this.type="voxel",this._dbgFlags=new Set,this._handles=new t,this.version={major:Number.NaN,minor:Number.NaN,versionString:""}}set url(e){this._set("url",_(e,M))}destroy(){this._handles=s(this._handles)}_dbg(e,r){this._dbgFlags.has(e)&&(e===D.Error?M.error(r):M.warn(r))}load(e){const r=o(e)?e.signal:null,t=this.loadFromPortal({supportedTypes:["Scene Service"]},e).catch(a).then((()=>this._fetchService(r))).then((()=>this.serviceRoot=this.url));return this.addResolvingPromise(t),Promise.resolve(this)}getConfiguration(){this._handles.add([l((()=>this._getRenderMode()),(e=>this._pushRenderModeToWasm(e))),l((()=>this._getCurrentVariableId()),(e=>this._pushCurrentVariableIdToWasm(e))),l((()=>this._getDynamicSections()),(e=>this._pushDynamicSectionsToWasm(e))),l((()=>this._getSlices()),(e=>this._pushSlicesToWasm(e))),l((()=>this._getSections()),(e=>this._pushSectionsToWasm(e)))]);const e={layerType:this.operationalLayerType,version:this.version.versionString,name:this.title,spatialReference:this.spatialReference,fullExtent:this.fullExtent,volumes:this.volumes.toJSON(),variables:this.variables.toJSON(),index:this.index.toJSON(),sections:this.sections.toJSON(),style:this.style};return e.index&&this.index.isValid()?JSON.stringify(e):""}readVersion(e,r){return super.parseVersionString(e)}_getSections(){const e=[];for(const r of this.sections)e.push(new L({enabled:r.enabled,href:r.href,id:r.id,label:r.label,normal:r.normal,point:r.point,sizeInPixel:r.sizeInPixel,slices:r.slices,timeId:r.timeId,variableId:r.variableId}));return e}_pushSectionsToWasm(e){this._dbg(D.VerboseAPI,"VoxelLayer._pushSectionsToWasm() called");y.getInstance().setLayerStaticSections(this,e)||this._dbg(D.Error,"VoxelLayer._pushSectionsToWasm() failed!")}_isPlaneValid(e,r,t){if(!e.point)return!1;if(!Array.isArray(e.point)||3!==e.point.length)return!1;if(!e.normal)return!1;if(!Array.isArray(e.normal)||3!==e.normal.length)return!1;for(let o=0;o<3;++o){const i=e.point[o];if(i<0||i>=t[r[o]].size)return!1}const i=u(e.normal[0],e.normal[1],e.normal[2]);c(i,i);const s=1e-6;return!(Math.abs(i[0])+Math.abs(i[1])+Math.abs(i[2])<s)&&(e.normal[0]=i[0],e.normal[1]=i[1],e.normal[2]=i[2],!0)}getVariableStyle(e){let r=-1;r=o(e)?e:this._getCurrentVariableId();if(!(null==this?void 0:this.style.variableStyles)||-1===r)return null;const t=this.style.variableStyles.findIndex((e=>e.variableId===r));return t<0?null:this.style.variableStyles.getItemAt(t)}getVariable(e){let r=-1;if(r=o(e)?e:this._getCurrentVariableId(),!this.variables||-1===r)return null;const t=this.variables.findIndex((e=>e.id===r));return t<0?null:this.variables.getItemAt(t)}_getVolume(e){const r=this.getVariable(e);return o(r)?this.volumes.find((({id:e})=>e===r.volumeId)):null}_getVolumeStyle(e){const r=this.getVariable(e);return o(r)?this.style.volumeStyles.find((({volumeId:e})=>e===r.volumeId)):null}_getSlices(){const e=[],r=this._getVolume(null);if(!o(r)||!r.isVolumeValid())return e;const t=this._getVolumeStyle(null);if(!o(t))return e;for(const i of t.slices)this._isPlaneValid(i,[0,1,r.getZDimension()],r.dimensions)?e.push(new T({enabled:i.enabled,label:i.label,point:i.point,normal:i.normal})):e.push(new T({enabled:!1,label:"invalid",point:i.point,normal:i.normal}));return e}_pushSlicesToWasm(e){this._dbg(D.VerboseAPI,"VoxelLayer._pushSlicesToWasm() called!");y.getInstance().setLayerSlices(this,e)||this._dbg(D.Error,"VoxelLayer._pushSlicesToWasm() failed!")}_getDynamicSections(){const e=[],r=this._getVolume(null);if(!o(r)||!r.isVolumeValid())return e;const t=this._getVolumeStyle(null);if(!o(t))return e;for(const i of t.dynamicSections)this._isPlaneValid(i,[0,1,r.getZDimension()],r.dimensions)?e.push(new w({enabled:i.enabled,label:i.label,point:i.point,normal:i.normal})):e.push(new w({enabled:!1,label:"invalid",point:i.point,normal:i.normal}));return e}_pushDynamicSectionsToWasm(e){this._dbg(D.VerboseAPI,"VoxelLayer._pushDynamicSectionsToWasm() called!");y.getInstance().setLayerDynamicSections(this,e)||this._dbg(D.Error,"VoxelLayer._updateDynamicSections() failed!")}_getCurrentVariableId(){return this.style?this.style.currentVariableId:-1}_pushCurrentVariableIdToWasm(e){this._dbg(D.VerboseAPI,"VoxelLayer._pushCurrentVariableIdToWasm() called!");y.getInstance().setLayerCurrentVariable(this,e)||this._dbg(D.Error,"VoxelLayer._pushCurrentVariableIdToWasm() failed!")}_getRenderMode(){return this.style?this.style.renderMode:"volume"}_pushRenderModeToWasm(e){this._dbg(D.VerboseAPI,"VoxelLayer._pushRenderModeToWasm() called!");y.getInstance().setLayerRenderMode(this,e)||this._dbg(D.Error,"VoxelLayer.setLayerRenderMode() failed!")}};e([p(x)],E.prototype,"popupEnabled",void 0),e([p({type:["Voxel"]})],E.prototype,"operationalLayerType",void 0),e([p(j)],E.prototype,"legendEnabled",void 0),e([p({json:{write:!0}})],E.prototype,"title",void 0),e([p(I)],E.prototype,"url",null),e([p({type:r.ofType(L),json:{write:!0,origins:{"web-scene":{name:"layerDefinition.sections",write:!0},service:{write:!1}}}})],E.prototype,"sections",void 0),e([p({type:P,json:{write:!0,origins:{"web-scene":{name:"layerDefinition.style",write:!0},service:{write:!1}}}})],E.prototype,"style",void 0),e([p({type:["show","hide"]})],E.prototype,"listMode",void 0),e([p({type:Number,range:{min:0,max:1},nonNullable:!0,json:{read:!1,write:!1,origins:{"web-scene":{read:!1,write:!1},"portal-item":{read:!1,write:!1}}}})],E.prototype,"opacity",void 0),e([p({type:r.ofType(W)})],E.prototype,"variables",void 0),e([p({type:r.ofType(A)})],E.prototype,"volumes",void 0),e([p({type:N})],E.prototype,"index",void 0),e([p({type:Number,json:{name:"layerDefinition.minScale",read:!1,write:!1,origins:{service:{read:!1,write:!1}}}})],E.prototype,"minScale",void 0),e([p({type:Number,json:{name:"layerDefinition.maxScale",read:!1,write:!1,origins:{service:{read:!1,write:!1}}}})],E.prototype,"maxScale",void 0),e([p({json:{read:!1},readOnly:!0})],E.prototype,"type",void 0),e([p({readOnly:!0,json:{name:"serviceVersion"}})],E.prototype,"version",void 0),e([m("service","version")],E.prototype,"readVersion",null),E=e([d("esri.layers.VoxelLayer")],E);const R=E;export{R as default};
5
+ import{_ as e}from"../chunks/tslib.es6.js";import r from"../core/Collection.js";import t from"../core/Handles.js";import i from"../core/Logger.js";import{destroyMaybe as s,isSome as o}from"../core/maybe.js";import{MultiOriginJSONMixin as n}from"../core/MultiOriginJSONSupport.js";import{throwIfAbortError as a}from"../core/promiseUtils.js";import{watch as l}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{reader as m}from"../core/accessorSupport/decorators/reader.js";import{subclass as d}from"../core/accessorSupport/decorators/subclass.js";import{n as c}from"../chunks/vec3.js";import{f as u}from"../chunks/vec3f64.js";import h from"./Layer.js";import y from"./VoxelWasmManager.js";import{APIKeyMixin as b}from"./mixins/APIKeyMixin.js";import{ArcGISService as f}from"./mixins/ArcGISService.js";import{OperationalLayer as g}from"./mixins/OperationalLayer.js";import{PortalLayer as v}from"./mixins/PortalLayer.js";import{ScaleRangeLayer as S}from"./mixins/ScaleRangeLayer.js";import{SceneService as V}from"./mixins/SceneService.js";import{sanitizeUrl as _}from"./support/arcgisLayerUrl.js";import{popupEnabled as x,legendEnabled as j,url as I}from"./support/commonProperties.js";import w from"./support/VoxelDynamicSection.js";import L from"./support/VoxelSection.js";import T from"./support/VoxelSlice.js";import P from"./support/VoxelStyle.js";import W from"./support/VoxelVariable.js";import A from"./support/VoxelVolume.js";import N from"./support/VoxelVolumeIndex.js";const M=i.getLogger(" esri.layers.VoxelLayer");var D;!function(e){e[e.API=1]="API",e[e.VerboseAPI=2]="VerboseAPI",e[e.Error=3]="Error"}(D||(D={}));let E=class extends(V(f(g(v(S(n(b(h)))))))){constructor(e){super(e),this.serviceRoot="",this.popupEnabled=!0,this.operationalLayerType="Voxel",this.legendEnabled=!0,this.title=null,this.sections=new r,this.style=null,this.opacity=1,this.variables=new r,this.volumes=new r,this.index=null,this.minScale=0,this.maxScale=0,this.type="voxel",this._dbgFlags=new Set,this._handles=new t,this.version={major:Number.NaN,minor:Number.NaN,versionString:""}}set url(e){this._set("url",_(e,M))}destroy(){this._handles=s(this._handles)}_dbg(e,r){this._dbgFlags.has(e)&&(e===D.Error?M.error(r):M.warn(r))}load(e){const r=o(e)?e.signal:null,t=this.loadFromPortal({supportedTypes:["Scene Service"]},e).catch(a).then((()=>this._fetchService(r))).then((()=>this.serviceRoot=this.url));return this.addResolvingPromise(t),Promise.resolve(this)}getConfiguration(){this._handles.add([l((()=>this._getRenderMode()),(e=>this._pushRenderModeToWasm(e))),l((()=>this._getCurrentVariableId()),(e=>this._pushCurrentVariableIdToWasm(e))),l((()=>this._getDynamicSections()),(e=>this._pushDynamicSectionsToWasm(e))),l((()=>this._getSlices()),(e=>this._pushSlicesToWasm(e))),l((()=>this._getSections()),(e=>this._pushSectionsToWasm(e)))]);const e={layerType:this.operationalLayerType,version:this.version.versionString,name:this.title,spatialReference:this.spatialReference,fullExtent:this.fullExtent,volumes:this.volumes.toJSON(),variables:this.variables.toJSON(),index:this.index.toJSON(),sections:this.sections.toJSON(),style:this.style};return e.index&&this.index.isValid()?JSON.stringify(e):""}readVersion(e,r){return super.parseVersionString(e)}_getSections(){const e=[];for(const r of this.sections)e.push(new L({enabled:r.enabled,href:r.href,id:r.id,label:r.label,normal:r.normal,point:r.point,sizeInPixel:r.sizeInPixel,slices:r.slices,timeId:r.timeId,variableId:r.variableId}));return e}_pushSectionsToWasm(e){this._dbg(D.VerboseAPI,"VoxelLayer._pushSectionsToWasm() called");y.getInstance().setLayerStaticSections(this,e)||this._dbg(D.Error,"VoxelLayer._pushSectionsToWasm() failed!")}_isPlaneValid(e,r,t){if(!e.point)return!1;if(!Array.isArray(e.point)||3!==e.point.length)return!1;if(!e.normal)return!1;if(!Array.isArray(e.normal)||3!==e.normal.length)return!1;for(let o=0;o<3;++o){const i=e.point[o];if(i<0||i>=t[r[o]].size)return!1}const i=u(e.normal[0],e.normal[1],e.normal[2]);c(i,i);const s=1e-6;return!(Math.abs(i[0])+Math.abs(i[1])+Math.abs(i[2])<s)&&(e.normal[0]=i[0],e.normal[1]=i[1],e.normal[2]=i[2],!0)}getVariableStyle(e){let r=-1;r=o(e)?e:this._getCurrentVariableId();if(!(null==this?void 0:this.style.variableStyles)||-1===r)return null;const t=this.style.variableStyles.findIndex((e=>e.variableId===r));return t<0?null:this.style.variableStyles.getItemAt(t)}getVariable(e){let r=-1;if(r=o(e)?e:this._getCurrentVariableId(),!this.variables||-1===r)return null;const t=this.variables.findIndex((e=>e.id===r));return t<0?null:this.variables.getItemAt(t)}getVolume(e){const r=this.getVariable(e);return o(r)?this.volumes.find((({id:e})=>e===r.volumeId)):null}_getVolumeStyle(e){const r=this.getVariable(e);return o(r)?this.style.volumeStyles.find((({volumeId:e})=>e===r.volumeId)):null}_getSlices(){const e=[],r=this.getVolume(null);if(!o(r)||!r.isVolumeValid())return e;const t=this._getVolumeStyle(null);if(!o(t))return e;for(const i of t.slices)this._isPlaneValid(i,[0,1,r.getZDimension()],r.dimensions)?e.push(new T({enabled:i.enabled,label:i.label,point:i.point,normal:i.normal})):e.push(new T({enabled:!1,label:"invalid",point:i.point,normal:i.normal}));return e}_pushSlicesToWasm(e){this._dbg(D.VerboseAPI,"VoxelLayer._pushSlicesToWasm() called!");y.getInstance().setLayerSlices(this,e)||this._dbg(D.Error,"VoxelLayer._pushSlicesToWasm() failed!")}_getDynamicSections(){const e=[],r=this.getVolume(null);if(!o(r)||!r.isVolumeValid())return e;const t=this._getVolumeStyle(null);if(!o(t))return e;for(const i of t.dynamicSections)this._isPlaneValid(i,[0,1,r.getZDimension()],r.dimensions)?e.push(new w({enabled:i.enabled,label:i.label,point:i.point,normal:i.normal})):e.push(new w({enabled:!1,label:"invalid",point:i.point,normal:i.normal}));return e}_pushDynamicSectionsToWasm(e){this._dbg(D.VerboseAPI,"VoxelLayer._pushDynamicSectionsToWasm() called!");y.getInstance().setLayerDynamicSections(this,e)||this._dbg(D.Error,"VoxelLayer._updateDynamicSections() failed!")}_getCurrentVariableId(){return this.style?this.style.currentVariableId:-1}_pushCurrentVariableIdToWasm(e){this._dbg(D.VerboseAPI,"VoxelLayer._pushCurrentVariableIdToWasm() called!");y.getInstance().setLayerCurrentVariable(this,e)||this._dbg(D.Error,"VoxelLayer._pushCurrentVariableIdToWasm() failed!")}_getRenderMode(){return this.style?this.style.renderMode:"volume"}_pushRenderModeToWasm(e){this._dbg(D.VerboseAPI,"VoxelLayer._pushRenderModeToWasm() called!");y.getInstance().setLayerRenderMode(this,e)||this._dbg(D.Error,"VoxelLayer.setLayerRenderMode() failed!")}};e([p(x)],E.prototype,"popupEnabled",void 0),e([p({type:["Voxel"]})],E.prototype,"operationalLayerType",void 0),e([p(j)],E.prototype,"legendEnabled",void 0),e([p({json:{write:!0}})],E.prototype,"title",void 0),e([p(I)],E.prototype,"url",null),e([p({type:r.ofType(L),json:{write:!0,origins:{"web-scene":{name:"layerDefinition.sections",write:!0},service:{write:!1}}}})],E.prototype,"sections",void 0),e([p({type:P,json:{write:!0,origins:{"web-scene":{name:"layerDefinition.style",write:!0},service:{write:!1}}}})],E.prototype,"style",void 0),e([p({type:["show","hide"]})],E.prototype,"listMode",void 0),e([p({type:Number,range:{min:0,max:1},nonNullable:!0,json:{read:!1,write:!1,origins:{"web-scene":{read:!1,write:!1},"portal-item":{read:!1,write:!1}}}})],E.prototype,"opacity",void 0),e([p({type:r.ofType(W)})],E.prototype,"variables",void 0),e([p({type:r.ofType(A)})],E.prototype,"volumes",void 0),e([p({type:N})],E.prototype,"index",void 0),e([p({type:Number,json:{name:"layerDefinition.minScale",read:!1,write:!1,origins:{service:{read:!1,write:!1}}}})],E.prototype,"minScale",void 0),e([p({type:Number,json:{name:"layerDefinition.maxScale",read:!1,write:!1,origins:{service:{read:!1,write:!1}}}})],E.prototype,"maxScale",void 0),e([p({json:{read:!1},readOnly:!0})],E.prototype,"type",void 0),e([p({readOnly:!0,json:{name:"serviceVersion"}})],E.prototype,"version",void 0),e([m("service","version")],E.prototype,"readVersion",null),E=e([d("esri.layers.VoxelLayer")],E);const R=E;export{R 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"../request.js";import t from"../core/Logger.js";import{isSome as i,removeMaybe as r}from"../core/maybe.js";import{isAbortError as s}from"../core/promiseUtils.js";import{watch as n}from"../core/reactiveUtils.js";import{WasmCullMode as a,UpdateFlags as o}from"../libs/vxl/enums.js";import{loadVoxelWASM as l}from"../libs/vxl/VxlModule.js";import{RenderPass as h}from"../views/3d/webgl-engine/lib/RenderPass.js";import{RenderSlot as _}from"../views/3d/webgl-engine/lib/RenderSlot.js";import{ContextType as d}from"../views/webgl/context-util.js";import{CompareFunction as c,Face as u,StencilOperation as g}from"../views/webgl/enums.js";const x=t.getLogger("esri.layers.VoxelWasmPerScene");var v;!function(e){e[e.Lifetime=1]="Lifetime",e[e.RequestResponse=2]="RequestResponse",e[e.Rendering=3]="Rendering",e[e.Error=4]="Error"}(v||(v={}));class m{constructor(e){this._halfIntTexturesAvailable=!1,this._havePreparedWithAllLayers=!1,this._renderPluginContext=null,this._vxl=null,this._pluginIsActive=!1,this._moreToLoad=!1,this._viewportWidth=-1,this._viewportHeight=-1,this._newLayers=[],this._layers=new Map,this._renderPass=h.MATERIAL,this._renderSlot=_.VOXEL,this._rctx=null,this._renderTargetToRestore=null,this._lastFrameWasStationary=!1,this._wasmMemBlockSizes=[512,1024,2048,4096,8192,16384,32768,65536],this._wasmMemBlocks=new Map,this._dbgFlags=new Set,this._view=e,this._initialize()}get canRender(){return!!this._vxl&&"local"===this._view.viewingMode}_dbg(e,t){this._dbgFlags.has(e)&&(e===v.Error?x.error(t):x.warn(t))}_removeRenderPlugin(){this._pluginIsActive&&this._view._stage&&(this._dbg(v.Lifetime,"--removeRenderPlugin--"),this._view._stage.removeRenderPlugin(this)),this._pluginIsActive=!1}_initialize(){this._dbg(v.Lifetime,"--initialize--");for(const e of this._wasmMemBlockSizes)this._wasmMemBlocks.set(e,0);this._readyWatchHandle=n((()=>this._view.ready),(e=>{e&&"local"===this._view.viewingMode?(this._dbg(v.Lifetime,"view ready status changed to ready on a local view, calling addRenderPlugin"),this._view._stage.addRenderPlugin([this._renderSlot],this),this._pluginIsActive=!0):(this._dbg(v.Lifetime,"view ready status changed, not ready or not a local view!"),this._removeRenderPlugin())}),{initial:!0}),this._qualityWatchHandle=n((()=>{var e;return null==(e=this._view)?void 0:e.qualityProfile}),(e=>{this._dbg(v.Rendering,"qualityProfile changed to "+e),this._vxl&&this._vxl.set_quality(this._toWasmQuality(e))}),{initial:!0}),this._timeExtentWatchHandle=n((()=>{var e;return null==(e=this._view)?void 0:e.timeExtent}),(()=>{if(this._vxl){var e;const t=this._getTimeArgs(null==(e=this._view)?void 0:e.timeExtent);this._dbg(v.Rendering,"sceneView timeExtent changed to useTime="+t.useTime+" st="+t.startTime+" et="+t.endTime),this._vxl.set_scene_time_extent(t.startTime,t.endTime,t.useTime),this._renderPluginContext.requestRender()}}),{initial:!0}),this._stationaryWatchHandle=n((()=>{var e;return null==(e=this._view)?void 0:e.stationary}),(e=>{this._vxl&&e&&!this._lastFrameWasStationary&&this._renderPluginContext.requestRender()}))}initializeRenderContext(e){this._dbg(v.Lifetime,"--initializeRenderContext--");const t=e.renderContext.rctx;t.type===d.WEBGL2?(this._renderPluginContext=e,this._rctx=e.renderContext.rctx,this._halfIntTexturesAvailable=!!this._rctx.capabilities.textureNorm16,this._initializeWasm(t.gl)):this._dbg(v.Error,"WebGL 1 context only!")}uninitializeRenderContext(){this._renderPluginContext=null,this._rctx=null,this._dbg(v.Lifetime,"--uninitializeRenderContext--")}_restoreFramebuffer(){if(!this._renderTargetToRestore)return;const e=this._renderTargetToRestore.fbo;if(!!!this._rctx)return void this._dbg(v.Error,"no context in restoreFramebuffer!");this._rctx.bindFramebuffer(e,!0);const t=this._renderTargetToRestore.viewport;this._rctx.setViewport(t.x,t.y,t.width,t.height)}_bindPreviousDepthToSlot(e,t){const i=!!this._rctx,r=!!this._renderTargetToRestore;if(!i||!r)return 0;const s=this._renderTargetToRestore.fbo.depthStencilTexture;return s?(0===t?this._rctx.bindTexture(null,e,!0):this._rctx.bindTexture(s,e,!0),1):(this._dbg(v.Error,"no depth/stencil texture exists!"),0)}_setBlendState(e,t,i,r){this._rctx?(this._rctx.setBlendingEnabled(1===e),this._rctx.setBlendFunction(t,i),this._rctx.setBlendEquation(r)):this._dbg(v.Error,"setBlendState callback has no rendering context!")}_setFrontFace(e){this._rctx?this._rctx.setFrontFace(e):this._dbg(v.Error,"setFrontFace callback has no rendering context!")}_setDepthStencilStateFunction(e,t,i){this._rctx?(this._rctx.setDepthFunction(i),this._rctx.setDepthTestEnabled(1===e),this._rctx.setDepthWriteEnabled(1===t),this._rctx.setStencilTestEnabled(!1),this._rctx.setStencilFunction(c.ALWAYS,0,255),this._rctx.setStencilOpSeparate(u.FRONT,g.KEEP,g.INCR,g.KEEP),this._rctx.setStencilOpSeparate(u.BACK,g.KEEP,g.DECR,g.KEEP)):this._dbg(v.Error,"setDepthStencilStateFunction callback has no rendering context!")}_setRasterizerState(e){if(this._rctx)switch(e){case a.None:this._rctx.setFaceCullingEnabled(!1);break;case a.Back:this._rctx.setCullFace(u.BACK),this._rctx.setFaceCullingEnabled(!0);break;case a.Front:this._rctx.setCullFace(u.FRONT),this._rctx.setFaceCullingEnabled(!0)}else this._dbg(v.Error,"setRasterizerState callback has no rendering context!")}_setViewport(e,t,i,r){this._rctx?this._rctx.setViewport(e,t,i,r):this._dbg(v.Error,"setViewport callback has no rendering context!")}_syncRequestsResponses(){this._layers.forEach(((t,i)=>{const r=[];t.responses.forEach(((e,t)=>{r.push(t),this._dbg(v.RequestResponse,"responding for requestID:"+t+" size:"+e.size),this._vxl.respond(i,t,e)}));const n=t.responses;for(const e of r)n.delete(e);const a=this._vxl.get_new_requests(i),o=t.abortController.signal;for(const l in a){t.outstandingRequestCount+=1,1===t.outstandingRequestCount&&t.layerView.updatingFlagChanged();const i=a[l],r={responseType:"array-buffer",signal:o};this._dbg(v.RequestResponse,"making requestID:"+l+" url:"+i.url),e(i.url,r).then((e=>{t.outstandingRequestCount-=1,0===t.outstandingRequestCount&&t.layerView.updatingFlagChanged(),this._dbg(v.RequestResponse,"have response for requestID:"+l);let r=0;if(e.data.byteLength>0){r=this._vxl._malloc(e.data.byteLength);const t=new Uint8Array(this._vxl.HEAPU8.buffer,r,e.data.byteLength),i=new Uint8Array(e.data);for(let r=0;r<e.data.byteLength;++r)t[r]=i[r]}n.set(+l,{type:i.type,ptr:r,size:e.data.byteLength,success:!0})})).catch((e=>{t.outstandingRequestCount-=1,0===t.outstandingRequestCount&&t.layerView.updatingFlagChanged(),s(e)||(this._dbg(v.Error,`requestID:${l} failed, error=${e.toString()}`),n.set(+l,{type:i.type,ptr:0,size:0,success:!1}))}))}}))}updateWasmCamera(e){this._vxl.set_projection_matrix.apply(this._vxl,e.projectionMatrix),this._vxl.set_view_matrix.apply(this._vxl,e.viewMatrix),this._vxl.set_near_far(e.near,e.far)}isUpdating(e){return!(this._vxl||!this._vxlPromise)||!!this._layers.has(e)&&this._layers.get(e).outstandingRequestCount>0}setEnabled(e,t){this._layers.forEach(((i,r)=>{i.layerView===e&&(this._vxl.set_enabled(r,t),this._renderPluginContext.requestRender())}))}setSlices(e,t){const i={mask:o.Slices,slices:{planes:t,currentEditPlane:-1}};return this._doMaskedUIUpdate(e,i,!0)}setDynamicSections(e,t){const i={mask:o.DynamicSections,dynamicSections:{planes:t,currentEditPlane:-1}};return this._doMaskedUIUpdate(e,i,!0)}setStaticSections(e,t){const i={mask:o.StaticSections,staticSections:t};return this._doMaskedUIUpdate(e,i,!0)}setCurrentVariable(e,t){const i={mask:o.CurrentVariable,currentVariable:t};return this._doMaskedUIUpdate(e,i,!0)}setRenderMode(e,t){const i={mask:o.RenderMode,renderMode:t};return this._doMaskedUIUpdate(e,i,!0)}_doMaskedUIUpdate(e,t,i){if(!this._vxl)return!1;let r=!1;return this._layers.forEach(((i,s)=>{if(i.layerView===e){const e={str:JSON.stringify(t),byteCount:0,ptr:0,isReusable:!1};this._allocateBlock(e)&&(r=1===this._vxl.handle_masked_ui_update(s,e.ptr,e.byteCount),e.isReusable||this._vxl._free(e.ptr))}})),r&&i&&this._renderPluginContext.requestRender(),r}addVoxelLayer(e){if(!this._vxl){const t={layerView:e,resolveCallback:null,rejectCallback:null},i=new Promise(((e,i)=>{t.resolveCallback=e,t.rejectCallback=i}));return this._newLayers.push(t),i}const t=this._addVoxelLayer(e);return t<0?Promise.reject(-1):Promise.resolve(t)}removeVoxelLayer(e){if(!this._vxl){const t=this._newLayers.findIndex((t=>e===t.layerView));t>=0&&(this._newLayers[t].resolveCallback(-1),this._newLayers.splice(t,1));const i=this._newLayers.length;return 0===i&&(this._dbg(v.Lifetime," no voxel layers left after removing a layer, removing RenderPlugin and destroying"),this.destroy()),i}let t=-1;this._layers.forEach(((i,r)=>{i.layerView===e&&(t=r,i.abortController.abort(),this._vxl.remove_layer(t))})),t>=0&&this._layers.delete(t);const i=this._layers.size;return 0===i&&(this._dbg(v.Lifetime," no voxel layers left after removing a layer, removing RenderPlugin and destroying"),this.destroy()),i}_getBlockSize(e){for(const t of this._wasmMemBlockSizes)if(e<t)return t;return-1}_allocateBlock(e){e.byteCount=this._vxl.lengthBytesUTF8(e.str)+1;const t=this._getBlockSize(e.byteCount);return t<0?(e.isReusable=!1,e.ptr=this._vxl._malloc(e.byteCount)):(e.isReusable=!0,e.ptr=this._wasmMemBlocks.get(t),0===e.ptr&&(e.ptr=this._vxl._malloc(t),this._wasmMemBlocks.set(t,e.ptr))),0!==e.ptr&&(this._vxl.stringToUTF8(e.str,e.ptr,e.byteCount),!0)}_getTimeArgs(e){let t=-Number.MAX_VALUE,r=Number.MAX_VALUE,s=!1;return i(e)&&(e.isAllTime?s=!0:(i(e.start)&&(s=!0,t=e.start.getTime()/1e3),i(e.end)&&(s=!0,r=e.end.getTime()/1e3))),{startTime:t,endTime:r,useTime:s}}_addVoxelLayer(e){var t;const i=e.layer;let r=-1;const s=i.getConfiguration();if(s.length<1)return-1;const n={str:s,byteCount:0,ptr:0,isReusable:!1};if(!this._allocateBlock(n))return-1;const a=this._getTimeArgs(null==(t=this._view)?void 0:t.timeExtent),o=this._view.spatialReference.isWGS84&&i.spatialReference.isWGS84?111319.49079327357:1;if(r=this._vxl.add_layer(i.serviceRoot,n.ptr,n.byteCount,o,o,a.startTime,a.endTime,a.useTime,this._toWasmQuality(this._view.qualityProfile)),n.isReusable||this._vxl._free(n.ptr),r>=0){const t=new AbortController;if(this._layers.set(r,{layerView:e,responses:new Map,outstandingRequestCount:0,abortController:t}),!this._halfIntTexturesAvailable){const t=[];let i="";for(const r of e.layer.variables)"Int16"!==r.renderingFormat.type&&"UInt16"!==r.renderingFormat.type||(t.push(r.name),r.id===e.layer.style.currentVariableId&&(i=r.name));""!==i&&x.error("#addVoxelLayer_error()",e.layer,`The voxel layer '${e.layer.title}' cannot render the current variable '${i}' in this browser`),t.length>0&&x.warn("#addVoxelLayer_warning()",e.layer,`The voxel layer '${e.layer.title}' cannot render the variables '${t.toString()}' in this browser`)}return r}return-1}prepareRender(e){if(!this._vxl)return;const t=e.viewForward,i=e.eye;this._vxl.update_camera_pos_and_direction(i[0],i[1],i[2],t[0],t[1],t[2]);const r=this._vxl.cull();this._dbg(v.RequestResponse,"missingResourceCount="+r),this._moreToLoad=r>0,this._havePreparedWithAllLayers=0===this._newLayers.length}render(e){if(!this._vxl||e.pass!==this._renderPass||e.slot!==this._renderSlot)return;for(const i of this._newLayers){const e=this._addVoxelLayer(i.layerView);-1===e?i.rejectCallback(-1):i.resolveCallback(e)}if(this._newLayers=[],0===this._layers.size)return void this._dbg(v.Error,"No voxel layers but RenderPlugin instance is being asked to render!");this._renderTargetToRestore={fbo:this._rctx.getBoundFramebufferObject(),viewport:this._rctx.getViewport()},this._syncRequestsResponses(),this._lastFrameWasStationary=this._view.stationary,this._vxl.begin_color_frame(!this._view.stationary||this._moreToLoad,e.scenelightingData.lightingMainDirection[0],e.scenelightingData.lightingMainDirection[1],e.scenelightingData.lightingMainDirection[2]);const t=this._renderTargetToRestore.viewport;t.width===this._viewportWidth&&t.height===this._viewportHeight||(this._viewportWidth=t.width,this._viewportHeight=t.height,this._vxl.set_viewport(t.width,t.height)),0===t.x&&0===t.y||this._dbg(v.Error,"Unsupported viewport parameters detected!"),this.updateWasmCamera(e.camera),this._vxl.draw(),this._renderTargetToRestore.fbo=null,e.rctx.externalTextureUnitUpdate(this._vxl.get_texture_units_bound_in_frame(),this._vxl.get_active_texture_unit()),e.rctx.externalVertexArrayObjectUpdate(),e.rctx.externalVertexBufferUpdate(),this._rctx.externalProgramUpdate(),(this._moreToLoad||!this._havePreparedWithAllLayers&&this._layers.size>0)&&this._renderPluginContext.requestRender()}destroy(){this._dbg(v.Lifetime,"--destroy--"),this._removeRenderPlugin(),this._readyWatchHandle=r(this._readyWatchHandle),this._qualityWatchHandle=r(this._qualityWatchHandle),this._timeExtentWatchHandle=r(this._timeExtentWatchHandle),this._stationaryWatchHandle=r(this._stationaryWatchHandle),this._vxl&&(this._layers.forEach((e=>{e.abortController.abort()})),this._wasmMemBlocks.forEach((e=>{0!==e&&this._vxl._free(e)})),this._vxl.uninitialize_voxel_wasm(),this._vxl=null)}_initializeWasm(e){return this._vxl?Promise.resolve():(this._vxlPromise||(this._vxlPromise=l(e).then((e=>{var t;if(this._vxl=e,this._vxlPromise=null,this._newLayers.length<=0)return this._dbg(v.Lifetime," no voxel layers left after WASM downloaded, removing RenderPlugin and destroying"),void this.destroy();const i=this._getTimeArgs(null==(t=this._view)?void 0:t.timeExtent),r=this._vxl.addFunction(this._restoreFramebuffer.bind(this),"v"),s=this._vxl.addFunction(this._setBlendState.bind(this),"viiii"),n=this._vxl.addFunction(this._setFrontFace.bind(this),"vi"),a=this._vxl.addFunction(this._setRasterizerState.bind(this),"vi"),o=this._vxl.addFunction(this._setDepthStencilStateFunction.bind(this),"viii"),l=this._vxl.addFunction(this._setViewport.bind(this),"viiii"),h=this._vxl.addFunction(this._bindPreviousDepthToSlot.bind(this),"iii");this._vxl.initialize_voxel_wasm(r,s,n,a,o,l,h,i.startTime,i.endTime,i.useTime),this._renderPluginContext&&this._renderPluginContext.requestRender()})).catch((()=>{for(const e of this._newLayers)e.rejectCallback(-2);this._dbg(v.Error," WASM failed to download, removing RenderPlugin and destroying"),this.destroy()}))),this._vxlPromise)}pickDepth(e,t,i){if(!this._vxl||!this._rctx||0===this._layers.size)return null;const r=i.viewport[3]-t;if(e<0||e>i.viewport[2]||t<0||t>i.viewport[3])return this._dbg(v.Error,`pickDepth: outOfRange, screenXY=[${e}, ${r}], vp=[${i.viewport.toString()}]`),null;this._renderTargetToRestore={fbo:this._rctx.getBoundFramebufferObject(),viewport:this._rctx.getViewport()};const s=i.viewForward,n=i.eye;this._vxl.update_camera_pos_and_direction(n[0],n[1],n[2],s[0],s[1],s[2]),this.updateWasmCamera(i),this._vxl.begin_frame();const a=this._vxl.pick_depth(e,r);if(this._renderTargetToRestore.fbo=null,this._rctx.externalTextureUnitUpdate(this._vxl.get_texture_units_bound_in_frame(),this._vxl.get_active_texture_unit()),this._rctx.externalVertexArrayObjectUpdate(),this._rctx.externalVertexBufferUpdate(),this._rctx.externalProgramUpdate(),a.success){return a.distanceToCamera}return null}_toWasmQuality(e){switch(e){case"low":return 0;case"medium":return 1;case"high":return 2}}}export{m as default};
5
+ import e from"../request.js";import t from"../core/Logger.js";import{isSome as i,removeMaybe as r}from"../core/maybe.js";import{isAbortError as s}from"../core/promiseUtils.js";import{watch as n}from"../core/reactiveUtils.js";import{WasmCullMode as a,VoxelRequestType as o,UpdateFlags as l}from"../libs/vxl/enums.js";import{loadVoxelWASM as h}from"../libs/vxl/VxlModule.js";import{RenderPass as _}from"../views/3d/webgl-engine/lib/RenderPass.js";import{RenderSlot as d}from"../views/3d/webgl-engine/lib/RenderSlot.js";import{ContextType as c}from"../views/webgl/context-util.js";import{CompareFunction as u,Face as g,StencilOperation as x}from"../views/webgl/enums.js";const v=t.getLogger("esri.layers.VoxelWasmPerScene");var m;!function(e){e[e.Lifetime=1]="Lifetime",e[e.RequestResponse=2]="RequestResponse",e[e.Rendering=3]="Rendering",e[e.Error=4]="Error"}(m||(m={}));class p{constructor(e){this._halfIntTexturesAvailable=!1,this._havePreparedWithAllLayers=!1,this._renderPluginContext=null,this._vxl=null,this._pluginIsActive=!1,this._moreToLoad=!1,this._viewportWidth=-1,this._viewportHeight=-1,this._newLayers=[],this._layers=new Map,this._renderPass=_.MATERIAL,this._renderSlot=d.VOXEL,this._rctx=null,this._renderTargetToRestore=null,this._lastFrameWasStationary=!1,this._wasmMemBlockSizes=[512,1024,2048,4096,8192,16384,32768,65536],this._wasmMemBlocks=new Map,this._dbgFlags=new Set,this._view=e,this._initialize()}get canRender(){return!!this._vxl&&"local"===this._view.viewingMode}_dbg(e,t){this._dbgFlags.has(e)&&(e===m.Error?v.error(t):v.warn(t))}_removeRenderPlugin(){this._pluginIsActive&&this._view._stage&&(this._dbg(m.Lifetime,"--removeRenderPlugin--"),this._view._stage.removeRenderPlugin(this)),this._pluginIsActive=!1}_initialize(){this._dbg(m.Lifetime,"--initialize--");for(const e of this._wasmMemBlockSizes)this._wasmMemBlocks.set(e,0);this._readyWatchHandle=n((()=>this._view.ready),(e=>{e&&"local"===this._view.viewingMode?(this._dbg(m.Lifetime,"view ready status changed to ready on a local view, calling addRenderPlugin"),this._view._stage.addRenderPlugin([this._renderSlot],this),this._pluginIsActive=!0):(this._dbg(m.Lifetime,"view ready status changed, not ready or not a local view!"),this._removeRenderPlugin())}),{initial:!0}),this._qualityWatchHandle=n((()=>{var e;return null==(e=this._view)?void 0:e.qualityProfile}),(e=>{this._dbg(m.Rendering,"qualityProfile changed to "+e),this._vxl&&this._vxl.set_quality(this._toWasmQuality(e))}),{initial:!0}),this._timeExtentWatchHandle=n((()=>{var e;return null==(e=this._view)?void 0:e.timeExtent}),(()=>{if(this._vxl){var e;const t=this._getTimeArgs(null==(e=this._view)?void 0:e.timeExtent);this._dbg(m.Rendering,"sceneView timeExtent changed to useTime="+t.useTime+" st="+t.startTime+" et="+t.endTime),this._vxl.set_scene_time_extent(t.startTime,t.endTime,t.useTime),this._renderPluginContext.requestRender()}}),{initial:!0}),this._stationaryWatchHandle=n((()=>{var e;return null==(e=this._view)?void 0:e.stationary}),(e=>{this._vxl&&e&&!this._lastFrameWasStationary&&this._renderPluginContext.requestRender()}))}initializeRenderContext(e){this._dbg(m.Lifetime,"--initializeRenderContext--");const t=e.renderContext.rctx;t.type===c.WEBGL2?(this._renderPluginContext=e,this._rctx=e.renderContext.rctx,this._halfIntTexturesAvailable=!!this._rctx.capabilities.textureNorm16,this._initializeWasm(t.gl)):this._dbg(m.Error,"WebGL 1 context only!")}uninitializeRenderContext(){this._renderPluginContext=null,this._rctx=null,this._dbg(m.Lifetime,"--uninitializeRenderContext--")}_restoreFramebuffer(){if(!this._renderTargetToRestore)return;const e=this._renderTargetToRestore.fbo;if(!!!this._rctx)return void this._dbg(m.Error,"no context in restoreFramebuffer!");this._rctx.bindFramebuffer(e,!0);const t=this._renderTargetToRestore.viewport;this._rctx.setViewport(t.x,t.y,t.width,t.height)}_bindPreviousDepthToSlot(e,t){const i=!!this._rctx,r=!!this._renderTargetToRestore;if(!i||!r)return 0;const s=this._renderTargetToRestore.fbo.depthStencilTexture;return s?(0===t?this._rctx.bindTexture(null,e,!0):this._rctx.bindTexture(s,e,!0),1):(this._dbg(m.Error,"no depth/stencil texture exists!"),0)}_setBlendState(e,t,i,r){this._rctx?(this._rctx.setBlendingEnabled(1===e),this._rctx.setBlendFunction(t,i),this._rctx.setBlendEquation(r)):this._dbg(m.Error,"setBlendState callback has no rendering context!")}_setFrontFace(e){this._rctx?this._rctx.setFrontFace(e):this._dbg(m.Error,"setFrontFace callback has no rendering context!")}_setDepthStencilStateFunction(e,t,i){this._rctx?(this._rctx.setDepthFunction(i),this._rctx.setDepthTestEnabled(1===e),this._rctx.setDepthWriteEnabled(1===t),this._rctx.setStencilTestEnabled(!1),this._rctx.setStencilFunction(u.ALWAYS,0,255),this._rctx.setStencilOpSeparate(g.FRONT,x.KEEP,x.INCR,x.KEEP),this._rctx.setStencilOpSeparate(g.BACK,x.KEEP,x.DECR,x.KEEP)):this._dbg(m.Error,"setDepthStencilStateFunction callback has no rendering context!")}_setRasterizerState(e){if(this._rctx)switch(e){case a.None:this._rctx.setFaceCullingEnabled(!1);break;case a.Back:this._rctx.setCullFace(g.BACK),this._rctx.setFaceCullingEnabled(!0);break;case a.Front:this._rctx.setCullFace(g.FRONT),this._rctx.setFaceCullingEnabled(!0)}else this._dbg(m.Error,"setRasterizerState callback has no rendering context!")}_setViewport(e,t,i,r){this._rctx?this._rctx.setViewport(e,t,i,r):this._dbg(m.Error,"setViewport callback has no rendering context!")}_updateMemoryUsage(){this._layers.forEach(((e,t)=>{if(e.needMemoryUsageUpdate){const i=this._vxl.estimate_memory_usage(t);i>=0&&(e.needMemoryUsageUpdate=!1,e.layerView.setUsedMemory(i))}}))}_syncRequestsResponses(){this._layers.forEach(((t,i)=>{const r=[];t.responses.forEach(((e,s)=>{r.push(s),this._dbg(m.RequestResponse,"responding for requestID:"+s+" size:"+e.size),this._vxl.respond(i,s,e),e.requestType!==o.TreeIndex&&e.requestType!==o.Section||(t.needMemoryUsageUpdate=!0)}));const n=t.responses;for(const e of r)n.delete(e);const a=this._vxl.get_new_requests(i),l=t.abortController.signal;for(const o in a){t.outstandingRequestCount+=1,1===t.outstandingRequestCount&&t.layerView.updatingFlagChanged();const i=a[o],r={responseType:"array-buffer",signal:l};this._dbg(m.RequestResponse,"making requestID:"+o+" url:"+i.url),e(i.url,r).then((e=>{t.outstandingRequestCount-=1,0===t.outstandingRequestCount&&t.layerView.updatingFlagChanged(),this._dbg(m.RequestResponse,"have response for requestID:"+o);let r=0;if(e.data.byteLength>0){r=this._vxl._malloc(e.data.byteLength);const t=new Uint8Array(this._vxl.HEAPU8.buffer,r,e.data.byteLength),i=new Uint8Array(e.data);for(let r=0;r<e.data.byteLength;++r)t[r]=i[r]}n.set(+o,{responseType:i.responseType,ptr:r,size:e.data.byteLength,success:!0,requestType:i.requestType})})).catch((e=>{t.outstandingRequestCount-=1,0===t.outstandingRequestCount&&t.layerView.updatingFlagChanged(),s(e)||(this._dbg(m.Error,`requestID:${o} failed, error=${e.toString()}`),n.set(+o,{responseType:i.responseType,ptr:0,size:0,success:!1,requestType:i.requestType}))}))}}))}updateWasmCamera(e){this._vxl.set_projection_matrix.apply(this._vxl,e.projectionMatrix),this._vxl.set_view_matrix.apply(this._vxl,e.viewMatrix),this._vxl.set_near_far(e.near,e.far)}isUpdating(e){return!(this._vxl||!this._vxlPromise)||!!this._layers.has(e)&&this._layers.get(e).outstandingRequestCount>0}setEnabled(e,t){this._layers.forEach(((i,r)=>{i.layerView===e&&(this._vxl.set_enabled(r,t),this._renderPluginContext.requestRender())}))}setSlices(e,t){const i={mask:l.Slices,slices:{planes:t,currentEditPlane:-1}};return this._doMaskedUIUpdate(e,i,!0)}setDynamicSections(e,t){const i={mask:l.DynamicSections,dynamicSections:{planes:t,currentEditPlane:-1}};return this._doMaskedUIUpdate(e,i,!0)}setStaticSections(e,t){const i={mask:l.StaticSections,staticSections:t};return this._doMaskedUIUpdate(e,i,!0)}setCurrentVariable(e,t){const i={mask:l.CurrentVariable,currentVariable:t};return this._doMaskedUIUpdate(e,i,!0)}setRenderMode(e,t){const i={mask:l.RenderMode,renderMode:t};return this._doMaskedUIUpdate(e,i,!0)}_doMaskedUIUpdate(e,t,i){if(!this._vxl)return!1;let r=!1;return this._layers.forEach(((i,s)=>{if(i.layerView===e){const e={str:JSON.stringify(t),byteCount:0,ptr:0,isReusable:!1};this._allocateBlock(e)&&(r=1===this._vxl.handle_masked_ui_update(s,e.ptr,e.byteCount),e.isReusable||this._vxl._free(e.ptr))}})),r&&i&&this._renderPluginContext.requestRender(),r}addVoxelLayer(e){if(!this._vxl){const t={layerView:e,resolveCallback:null,rejectCallback:null},i=new Promise(((e,i)=>{t.resolveCallback=e,t.rejectCallback=i}));return this._newLayers.push(t),i}const t=this._addVoxelLayer(e);return t<0?Promise.reject(-1):Promise.resolve(t)}removeVoxelLayer(e){if(!this._vxl){const t=this._newLayers.findIndex((t=>e===t.layerView));t>=0&&(this._newLayers[t].resolveCallback(-1),this._newLayers.splice(t,1));const i=this._newLayers.length;return 0===i&&(this._dbg(m.Lifetime," no voxel layers left after removing a layer, removing RenderPlugin and destroying"),this.destroy()),i}let t=-1;this._layers.forEach(((i,r)=>{i.layerView===e&&(t=r,i.abortController.abort(),this._vxl.remove_layer(t))})),t>=0&&this._layers.delete(t);const i=this._layers.size;return 0===i&&(this._dbg(m.Lifetime," no voxel layers left after removing a layer, removing RenderPlugin and destroying"),this.destroy()),i}_getBlockSize(e){for(const t of this._wasmMemBlockSizes)if(e<t)return t;return-1}_allocateBlock(e){e.byteCount=this._vxl.lengthBytesUTF8(e.str)+1;const t=this._getBlockSize(e.byteCount);return t<0?(e.isReusable=!1,e.ptr=this._vxl._malloc(e.byteCount)):(e.isReusable=!0,e.ptr=this._wasmMemBlocks.get(t),0===e.ptr&&(e.ptr=this._vxl._malloc(t),this._wasmMemBlocks.set(t,e.ptr))),0!==e.ptr&&(this._vxl.stringToUTF8(e.str,e.ptr,e.byteCount),!0)}_getTimeArgs(e){let t=-Number.MAX_VALUE,r=Number.MAX_VALUE,s=!1;return i(e)&&(e.isAllTime?s=!0:(i(e.start)&&(s=!0,t=e.start.getTime()/1e3),i(e.end)&&(s=!0,r=e.end.getTime()/1e3))),{startTime:t,endTime:r,useTime:s}}_addVoxelLayer(e){var t;const i=e.layer;let r=-1;const s=i.getConfiguration();if(s.length<1)return-1;const n={str:s,byteCount:0,ptr:0,isReusable:!1};if(!this._allocateBlock(n))return-1;const a=this._getTimeArgs(null==(t=this._view)?void 0:t.timeExtent),o=this._view.spatialReference.isWGS84&&i.spatialReference.isWGS84?111319.49079327357:1;if(r=this._vxl.add_layer(i.serviceRoot,n.ptr,n.byteCount,o,o,a.startTime,a.endTime,a.useTime,this._toWasmQuality(this._view.qualityProfile)),n.isReusable||this._vxl._free(n.ptr),r>=0){const t=new AbortController;if(this._layers.set(r,{layerView:e,responses:new Map,outstandingRequestCount:0,abortController:t,needMemoryUsageUpdate:!1}),!this._halfIntTexturesAvailable){const t=[];let i="";for(const r of e.layer.variables)"Int16"!==r.renderingFormat.type&&"UInt16"!==r.renderingFormat.type||(t.push(r.name),r.id===e.layer.style.currentVariableId&&(i=r.name));""!==i&&v.error("#addVoxelLayer_error()",e.layer,`The voxel layer '${e.layer.title}' cannot render the current variable '${i}' in this browser`),t.length>0&&v.warn("#addVoxelLayer_warning()",e.layer,`The voxel layer '${e.layer.title}' cannot render the variables '${t.toString()}' in this browser`)}return r}return-1}prepareRender(e){if(!this._vxl)return;const t=e.viewForward,i=e.eye;this._vxl.update_camera_pos_and_direction(i[0],i[1],i[2],t[0],t[1],t[2]);const r=this._vxl.cull();this._dbg(m.RequestResponse,"missingResourceCount="+r),this._moreToLoad=r>0,this._havePreparedWithAllLayers=0===this._newLayers.length,this._updateMemoryUsage()}render(e){if(!this._vxl||e.pass!==this._renderPass||e.slot!==this._renderSlot)return;for(const i of this._newLayers){const e=this._addVoxelLayer(i.layerView);-1===e?i.rejectCallback(-1):i.resolveCallback(e)}if(this._newLayers=[],0===this._layers.size)return void this._dbg(m.Error,"No voxel layers but RenderPlugin instance is being asked to render!");this._renderTargetToRestore={fbo:this._rctx.getBoundFramebufferObject(),viewport:this._rctx.getViewport()},this._syncRequestsResponses(),this._lastFrameWasStationary=this._view.stationary,this._vxl.begin_color_frame(!this._view.stationary||this._moreToLoad,e.scenelightingData.lightingMainDirection[0],e.scenelightingData.lightingMainDirection[1],e.scenelightingData.lightingMainDirection[2]);const t=this._renderTargetToRestore.viewport;t.width===this._viewportWidth&&t.height===this._viewportHeight||(this._viewportWidth=t.width,this._viewportHeight=t.height,this._vxl.set_viewport(t.width,t.height),this._layers.forEach((e=>{e.needMemoryUsageUpdate=!0}))),0===t.x&&0===t.y||this._dbg(m.Error,"Unsupported viewport parameters detected!"),this.updateWasmCamera(e.camera),this._vxl.draw(),this._renderTargetToRestore.fbo=null,e.rctx.externalTextureUnitUpdate(this._vxl.get_texture_units_bound_in_frame(),this._vxl.get_active_texture_unit()),e.rctx.externalVertexArrayObjectUpdate(),e.rctx.externalVertexBufferUpdate(),this._rctx.externalProgramUpdate(),(this._moreToLoad||!this._havePreparedWithAllLayers&&this._layers.size>0)&&this._renderPluginContext.requestRender()}destroy(){this._dbg(m.Lifetime,"--destroy--"),this._removeRenderPlugin(),this._readyWatchHandle=r(this._readyWatchHandle),this._qualityWatchHandle=r(this._qualityWatchHandle),this._timeExtentWatchHandle=r(this._timeExtentWatchHandle),this._stationaryWatchHandle=r(this._stationaryWatchHandle),this._vxl&&(this._layers.forEach((e=>{e.abortController.abort()})),this._wasmMemBlocks.forEach((e=>{0!==e&&this._vxl._free(e)})),this._vxl.uninitialize_voxel_wasm(),this._vxl=null)}_initializeWasm(e){return this._vxl?Promise.resolve():(this._vxlPromise||(this._vxlPromise=h(e).then((e=>{var t;if(this._vxl=e,this._vxlPromise=null,this._newLayers.length<=0)return this._dbg(m.Lifetime," no voxel layers left after WASM downloaded, removing RenderPlugin and destroying"),void this.destroy();const i=this._getTimeArgs(null==(t=this._view)?void 0:t.timeExtent),r=this._vxl.addFunction(this._restoreFramebuffer.bind(this),"v"),s=this._vxl.addFunction(this._setBlendState.bind(this),"viiii"),n=this._vxl.addFunction(this._setFrontFace.bind(this),"vi"),a=this._vxl.addFunction(this._setRasterizerState.bind(this),"vi"),o=this._vxl.addFunction(this._setDepthStencilStateFunction.bind(this),"viii"),l=this._vxl.addFunction(this._setViewport.bind(this),"viiii"),h=this._vxl.addFunction(this._bindPreviousDepthToSlot.bind(this),"iii");this._vxl.initialize_voxel_wasm(r,s,n,a,o,l,h,i.startTime,i.endTime,i.useTime),this._renderPluginContext&&this._renderPluginContext.requestRender()})).catch((()=>{for(const e of this._newLayers)e.rejectCallback(-2);this._dbg(m.Error," WASM failed to download, removing RenderPlugin and destroying"),this.destroy()}))),this._vxlPromise)}pickDepth(e,t,i){if(!this._vxl||!this._rctx||0===this._layers.size)return null;const r=i.viewport[3]-t;if(e<0||e>i.viewport[2]||t<0||t>i.viewport[3])return this._dbg(m.Error,`pickDepth: outOfRange, screenXY=[${e}, ${r}], vp=[${i.viewport.toString()}]`),null;this._renderTargetToRestore={fbo:this._rctx.getBoundFramebufferObject(),viewport:this._rctx.getViewport()};const s=i.viewForward,n=i.eye;this._vxl.update_camera_pos_and_direction(n[0],n[1],n[2],s[0],s[1],s[2]),this.updateWasmCamera(i),this._vxl.begin_frame();const a=this._vxl.pick_depth(e,r);if(this._renderTargetToRestore.fbo=null,this._rctx.externalTextureUnitUpdate(this._vxl.get_texture_units_bound_in_frame(),this._vxl.get_active_texture_unit()),this._rctx.externalVertexArrayObjectUpdate(),this._rctx.externalVertexBufferUpdate(),this._rctx.externalProgramUpdate(),a.success){return a.distanceToCamera}return null}_toWasmQuality(e){switch(e){case"low":return 0;case"medium":return 1;case"high":return 2}}}export{p 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 r from"../config.js";import t from"../Graphic.js";import s from"../PopupTemplate.js";import o from"../request.js";import i from"../core/Collection.js";import a from"../core/CollectionFlattener.js";import{HandleOwnerMixin as n}from"../core/HandleOwner.js";import{JSONMap as l}from"../core/jsonMap.js";import{clone as p}from"../core/lang.js";import{isSome as m}from"../core/maybe.js";import{MultiOriginJSONMixin as u}from"../core/MultiOriginJSONSupport.js";import{throwIfAbortError as y}from"../core/promiseUtils.js";import{addQueryParameters as c,Url as d}from"../core/urlUtils.js";import{property as f}from"../core/accessorSupport/decorators/property.js";import{Integer as h}from"../core/accessorSupport/ensureType.js";import{reader as g}from"../core/accessorSupport/decorators/reader.js";import{subclass as b}from"../core/accessorSupport/decorators/subclass.js";import{writer as w}from"../core/accessorSupport/decorators/writer.js";import{willPropertyWrite as x}from"../core/accessorSupport/write.js";import v from"../geometry/Extent.js";import j from"../geometry/SpatialReference.js";import{getScale as S}from"../geometry/support/scaleUtils.js";import{equals as I}from"../geometry/support/spatialReferenceUtils.js";import R from"./Layer.js";import{BlendLayer as E}from"./mixins/BlendLayer.js";import{OperationalLayer as U}from"./mixins/OperationalLayer.js";import{PortalLayer as O}from"./mixins/PortalLayer.js";import{RefreshableLayer as P}from"./mixins/RefreshableLayer.js";import{ScaleRangeLayer as F}from"./mixins/ScaleRangeLayer.js";import{TemporalLayer as L}from"./mixins/TemporalLayer.js";import{isWmsServer as q}from"./support/arcgisLayerUrl.js";import{legendEnabled as M,url as T}from"./support/commonProperties.js";import{ExportWMSImageParameters as C}from"./support/ExportWMSImageParameters.js";import W from"./support/WMSSublayer.js";import{normalizeWKID as $,coordsReversedForWKID as N,toISOString as _,getPopupLayers as H,parseCapabilities as k}from"./support/wmsUtils.js";const A=new l({bmp:"image/bmp",gif:"image/gif",jpg:"image/jpeg",png:"image/png",svg:"image/svg+xml"},{ignoreUnknown:!1});let B=class extends(n(E(L(P(F(U(O(u(R))))))))){constructor(...e){super(...e),this.allSublayers=new a({getCollections:()=>[this.sublayers],getChildrenFunction:e=>e.sublayers}),this.customParameters=null,this.customLayerParameters=null,this.copyright=null,this.description=null,this.dimensions=null,this.fullExtent=null,this.fullExtents=null,this.featureInfoFormat=null,this.featureInfoUrl=null,this.imageFormat=null,this.imageMaxHeight=2048,this.imageMaxWidth=2048,this.imageTransparency=!0,this.legendEnabled=!0,this.mapUrl=null,this.isReference=null,this.operationalLayerType="WMS",this.spatialReference=null,this.spatialReferences=null,this.sublayers=null,this.type="wms",this.url=null,this.version=null,this.watch("sublayers",((e,r)=>{if(r){for(const e of r)e.layer=null;this.handles.remove("wms-sublayer")}if(e){for(const r of e)r.parent=this,r.layer=this;this.handles.add([e.on("after-add",(({item:e})=>{e.parent=this,e.layer=this})),e.on("after-remove",(({item:e})=>{e.parent=null,e.layer=null}))],"wms-sublayer")}}),!0)}normalizeCtorArgs(e,r){return"string"==typeof e?{url:e,...r}:e}load(e){const r=m(e)?e.signal:null;return this.addResolvingPromise(this.loadFromPortal({supportedTypes:["WMS"]},e).catch(y).then((()=>this._fetchService(r)))),Promise.resolve(this)}readFullExtentFromItemOrMap(e,r){const t=r.extent;return new v({xmin:t[0][0],ymin:t[0][1],xmax:t[1][0],ymax:t[1][1]})}writeFullExtent(e,r){r.extent=[[e.xmin,e.ymin],[e.xmax,e.ymax]]}readImageFormat(e,r){const t=r.supportedImageFormatTypes;return t&&t.indexOf("image/png")>-1?"image/png":t&&t[0]}readSpatialReferenceFromItemOrDocument(e,r){return new j(r.spatialReferences[0])}writeSpatialReferences(e,r){const t=this.spatialReference&&this.spatialReference.wkid;e&&t?(r.spatialReferences=e.filter((e=>e!==t)),r.spatialReferences.unshift(t)):r.spatialReferences=e}readSublayersFromItemOrMap(e,r,t){return G(r.layers,t,r.visibleLayers)}readSublayers(e,r,t){return G(r.layers,t)}writeSublayers(e,r,t,s){r.layers=[];const o=new Map,i=e.flatten((({sublayers:e})=>e&&e.toArray())).toArray();i.forEach((e=>{"number"==typeof e.parent.id&&(o.has(e.parent.id)?o.get(e.parent.id).push(e.id):o.set(e.parent.id,[e.id]))})),i.forEach((e=>{const t={sublayer:e,...s},i=e.write({parentLayerId:"number"==typeof e.parent.id?e.parent.id:-1},t);if(o.has(e.id)&&(i.sublayerIds=o.get(e.id)),!e.sublayers&&e.name){const s=e.write({},t);delete s.id,r.layers.push(s)}})),r.visibleLayers=i.filter((e=>e.visible&&!e.sublayers)).map((e=>e.name))}createExportImageParameters(e,r,t,s){const o=s&&s.pixelRatio||1,i=S({extent:e,width:r})*o,a=new C({layer:this,scale:i}),{xmin:n,ymin:l,xmax:p,ymax:m,spatialReference:u}=e,y=$(u,this.spatialReferences),c="1.3.0"===this.version&&N(y)?`${l},${n},${m},${p}`:`${n},${l},${p},${m}`,d=a.toJSON();return{bbox:c,["1.3.0"===this.version?"crs":"srs"]:isNaN(y)?void 0:"EPSG:"+y,...d}}async fetchImage(e,r,t,s){var i,a;const n=this.mapUrl,l=this.createExportImageParameters(e,r,t,s);if(!l.layers){const e=document.createElement("canvas");return e.width=r,e.height=t,e}const p=null==s||null==(i=s.timeExtent)?void 0:i.start,u=null==s||null==(a=s.timeExtent)?void 0:a.end,y=m(p)&&m(u)?p.getTime()===u.getTime()?_(p):`${_(p)}/${_(u)}`:void 0,c={responseType:"image",query:this._mixCustomParameters({width:r,height:t,...l,time:y,...this.refreshParameters}),signal:null==s?void 0:s.signal};return o(n,c).then((e=>e.data))}fetchFeatureInfo(e,r,o,i,a){const n=S({extent:e,width:r}),l=new C({layer:this,scale:n}),p=H(l.visibleSublayers);if(!this.featureInfoUrl||!p)return null;const m="1.3.0"===this.version?{I:i,J:a}:{x:i,y:a},u={query_layers:p,request:"GetFeatureInfo",info_format:this.featureInfoFormat,feature_count:25,width:r,height:o,...m},y={...this.createExportImageParameters(e,r,o),...u},d=this._mixCustomParameters(y),f=c(this.featureInfoUrl,d),h=document.createElement("iframe");h.src=f,h.style.border="none",h.style.margin="0",h.style.width="100%",h.setAttribute("sandbox","");const g=new s({title:this.title,content:h});return new t({sourceLayer:this,popupTemplate:g})}findSublayerById(e){return this.allSublayers.find((r=>r.id===e))}findSublayerByName(e){return this.allSublayers.find((r=>r.name===e))}supportsSpatialReference(e){return q(this.url)||this.spatialReferences.some((r=>{const t=900913===r?j.WebMercator:new j({wkid:r});return I(t,e)}))}async _fetchService(e){if(!this.resourceInfo){this.parsedUrl.query&&this.parsedUrl.query.service&&(this.parsedUrl.query.SERVICE=this.parsedUrl.query.service,delete this.parsedUrl.query.service),this.parsedUrl.query&&this.parsedUrl.query.request&&(this.parsedUrl.query.REQUEST=this.parsedUrl.query.request,delete this.parsedUrl.query.request);const r=await o(this.parsedUrl.path,{query:{SERVICE:"WMS",REQUEST:"GetCapabilities",...this.parsedUrl.query,...this.customParameters},responseType:"xml",signal:e});this.resourceInfo=k(r.data)}if(this.parsedUrl){const e=new d(this.parsedUrl.path);"https"!==e.scheme||e.port&&"443"!==e.port||-1!==r.request.httpsDomains.indexOf(e.host)||r.request.httpsDomains.push(e.host)}this.read(this.resourceInfo,{origin:"service"})}_mixCustomParameters(e){if(!this.customLayerParameters&&!this.customParameters)return e;const r={...this.customParameters,...this.customLayerParameters};for(const t in r)e[t.toLowerCase()]=r[t];return e}};function D(e,r){return e.some((e=>{for(const t in e)if(x(e,t,null,r))return!0;return!1}))}function G(e,r,t){const s=new Map;e.every((e=>null==e.id))&&(e=p(e)).forEach(((e,r)=>e.id=r));for(const i of e){const e=new W;e.read(i,r),-1===(null==t?void 0:t.indexOf(e.name))&&(e.visible=!1),s.set(e.id,e)}const o=[];for(const a of e){const e=s.get(a.id);if(null!=a.parentLayerId&&a.parentLayerId>=0){const r=s.get(a.parentLayerId);r.sublayers||(r.sublayers=new i),r.sublayers.unshift(e)}else o.unshift(e)}return o}e([f({readOnly:!0})],B.prototype,"allSublayers",void 0),e([f({json:{type:Object,write:!0}})],B.prototype,"customParameters",void 0),e([f({json:{type:Object,write:!0}})],B.prototype,"customLayerParameters",void 0),e([f({type:String,json:{write:!0}})],B.prototype,"copyright",void 0),e([f()],B.prototype,"description",void 0),e([f({readOnly:!0})],B.prototype,"dimensions",void 0),e([f({json:{type:[[Number]],read:{source:"extent"},write:{target:"extent"},origins:{"web-document":{write:{ignoreOrigin:!0}},"portal-item":{write:{ignoreOrigin:!0}}}}})],B.prototype,"fullExtent",void 0),e([g(["web-document","portal-item"],"fullExtent",["extent"])],B.prototype,"readFullExtentFromItemOrMap",null),e([w(["web-document","portal-item"],"fullExtent",{extent:{type:[[Number]]}})],B.prototype,"writeFullExtent",null),e([f()],B.prototype,"fullExtents",void 0),e([f({type:String,json:{write:{ignoreOrigin:!0}}})],B.prototype,"featureInfoFormat",void 0),e([f({type:String,json:{write:{ignoreOrigin:!0}}})],B.prototype,"featureInfoUrl",void 0),e([f({type:String,json:{origins:{"web-document":{default:"image/png",type:A.jsonValues,read:{reader:A.read,source:"format"},write:{writer:A.write,target:"format"}}}}})],B.prototype,"imageFormat",void 0),e([g("imageFormat",["supportedImageFormatTypes"])],B.prototype,"readImageFormat",null),e([f({type:Number,json:{read:{source:"maxHeight"},write:{target:"maxHeight"}}})],B.prototype,"imageMaxHeight",void 0),e([f({type:Number,json:{read:{source:"maxWidth"},write:{target:"maxWidth"}}})],B.prototype,"imageMaxWidth",void 0),e([f()],B.prototype,"imageTransparency",void 0),e([f(M)],B.prototype,"legendEnabled",void 0),e([f({type:["show","hide","hide-children"]})],B.prototype,"listMode",void 0),e([f({type:String,json:{write:{ignoreOrigin:!0}}})],B.prototype,"mapUrl",void 0),e([f({type:Boolean,json:{read:!1,write:{enabled:!0,overridePolicy:()=>({enabled:!1})}}})],B.prototype,"isReference",void 0),e([f({type:["WMS"]})],B.prototype,"operationalLayerType",void 0),e([f()],B.prototype,"resourceInfo",void 0),e([f({type:j,json:{origins:{service:{read:{source:"extent.spatialReference"}}},write:!1}})],B.prototype,"spatialReference",void 0),e([g(["web-document","portal-item"],"spatialReference",["spatialReferences"])],B.prototype,"readSpatialReferenceFromItemOrDocument",null),e([f({type:[h],json:{read:!1,origins:{service:{read:!0},"web-document":{read:!1,write:{ignoreOrigin:!0}},"portal-item":{read:!1,write:{ignoreOrigin:!0}}}}})],B.prototype,"spatialReferences",void 0),e([w(["web-document","portal-item"],"spatialReferences")],B.prototype,"writeSpatialReferences",null),e([f({type:i.ofType(W),json:{write:{target:"layers",overridePolicy(e,r,t){if(D(this.allSublayers,t))return{ignoreOrigin:!0}}}}})],B.prototype,"sublayers",void 0),e([g(["web-document","portal-item"],"sublayers",["layers","visibleLayers"])],B.prototype,"readSublayersFromItemOrMap",null),e([g("service","sublayers",["layers"])],B.prototype,"readSublayers",null),e([w("sublayers",{layers:{type:[W]},visibleLayers:{type:[String]}})],B.prototype,"writeSublayers",null),e([f({json:{read:!1},readOnly:!0,value:"wms"})],B.prototype,"type",void 0),e([f(T)],B.prototype,"url",void 0),e([f({type:String,json:{write:{ignoreOrigin:!0}}})],B.prototype,"version",void 0),B=e([b("esri.layers.WMSLayer")],B);const J=B;export{J as default};
5
+ import{_ as e}from"../chunks/tslib.es6.js";import r from"../config.js";import t from"../Graphic.js";import s from"../PopupTemplate.js";import o from"../request.js";import i from"../core/Collection.js";import a from"../core/CollectionFlattener.js";import{HandleOwnerMixin as n}from"../core/HandleOwner.js";import{JSONMap as l}from"../core/jsonMap.js";import{clone as p}from"../core/lang.js";import{isSome as m}from"../core/maybe.js";import{MultiOriginJSONMixin as u}from"../core/MultiOriginJSONSupport.js";import{throwIfAbortError as y}from"../core/promiseUtils.js";import{addQueryParameters as c,Url as d}from"../core/urlUtils.js";import{property as f}from"../core/accessorSupport/decorators/property.js";import{Integer as h}from"../core/accessorSupport/ensureType.js";import{reader as g}from"../core/accessorSupport/decorators/reader.js";import{subclass as b}from"../core/accessorSupport/decorators/subclass.js";import{writer as w}from"../core/accessorSupport/decorators/writer.js";import{willPropertyWrite as x}from"../core/accessorSupport/write.js";import v from"../geometry/Extent.js";import j from"../geometry/SpatialReference.js";import{getScale as S}from"../geometry/support/scaleUtils.js";import{equals as I}from"../geometry/support/spatialReferenceUtils.js";import R from"./Layer.js";import{BlendLayer as E}from"./mixins/BlendLayer.js";import{OperationalLayer as U}from"./mixins/OperationalLayer.js";import{PortalLayer as O}from"./mixins/PortalLayer.js";import{RefreshableLayer as P}from"./mixins/RefreshableLayer.js";import{ScaleRangeLayer as F}from"./mixins/ScaleRangeLayer.js";import{TemporalLayer as L}from"./mixins/TemporalLayer.js";import{isAxesOrderReversedForWkid as q}from"./ogc/crsUtils.js";import{isWmsServer as M}from"./support/arcgisLayerUrl.js";import{legendEnabled as T,url as C}from"./support/commonProperties.js";import{ExportWMSImageParameters as W}from"./support/ExportWMSImageParameters.js";import $ from"./support/WMSSublayer.js";import{normalizeWKID as N,toISOString as _,getPopupLayers as H,parseCapabilities as k}from"./support/wmsUtils.js";const A=new l({bmp:"image/bmp",gif:"image/gif",jpg:"image/jpeg",png:"image/png",svg:"image/svg+xml"},{ignoreUnknown:!1});let B=class extends(n(E(L(P(F(U(O(u(R))))))))){constructor(...e){super(...e),this.allSublayers=new a({getCollections:()=>[this.sublayers],getChildrenFunction:e=>e.sublayers}),this.customParameters=null,this.customLayerParameters=null,this.copyright=null,this.description=null,this.dimensions=null,this.fullExtent=null,this.fullExtents=null,this.featureInfoFormat=null,this.featureInfoUrl=null,this.imageFormat=null,this.imageMaxHeight=2048,this.imageMaxWidth=2048,this.imageTransparency=!0,this.legendEnabled=!0,this.mapUrl=null,this.isReference=null,this.operationalLayerType="WMS",this.spatialReference=null,this.spatialReferences=null,this.sublayers=null,this.type="wms",this.url=null,this.version=null,this.watch("sublayers",((e,r)=>{if(r){for(const e of r)e.layer=null;this.handles.remove("wms-sublayer")}if(e){for(const r of e)r.parent=this,r.layer=this;this.handles.add([e.on("after-add",(({item:e})=>{e.parent=this,e.layer=this})),e.on("after-remove",(({item:e})=>{e.parent=null,e.layer=null}))],"wms-sublayer")}}),!0)}normalizeCtorArgs(e,r){return"string"==typeof e?{url:e,...r}:e}load(e){const r=m(e)?e.signal:null;return this.addResolvingPromise(this.loadFromPortal({supportedTypes:["WMS"]},e).catch(y).then((()=>this._fetchService(r)))),Promise.resolve(this)}readFullExtentFromItemOrMap(e,r){const t=r.extent;return new v({xmin:t[0][0],ymin:t[0][1],xmax:t[1][0],ymax:t[1][1]})}writeFullExtent(e,r){r.extent=[[e.xmin,e.ymin],[e.xmax,e.ymax]]}readImageFormat(e,r){const t=r.supportedImageFormatTypes;return t&&t.indexOf("image/png")>-1?"image/png":t&&t[0]}readSpatialReferenceFromItemOrDocument(e,r){return new j(r.spatialReferences[0])}writeSpatialReferences(e,r){const t=this.spatialReference&&this.spatialReference.wkid;e&&t?(r.spatialReferences=e.filter((e=>e!==t)),r.spatialReferences.unshift(t)):r.spatialReferences=e}readSublayersFromItemOrMap(e,r,t){return G(r.layers,t,r.visibleLayers)}readSublayers(e,r,t){return G(r.layers,t)}writeSublayers(e,r,t,s){r.layers=[];const o=new Map,i=e.flatten((({sublayers:e})=>e&&e.toArray())).toArray();i.forEach((e=>{"number"==typeof e.parent.id&&(o.has(e.parent.id)?o.get(e.parent.id).push(e.id):o.set(e.parent.id,[e.id]))})),i.forEach((e=>{const t={sublayer:e,...s},i=e.write({parentLayerId:"number"==typeof e.parent.id?e.parent.id:-1},t);if(o.has(e.id)&&(i.sublayerIds=o.get(e.id)),!e.sublayers&&e.name){const s=e.write({},t);delete s.id,r.layers.push(s)}})),r.visibleLayers=i.filter((e=>e.visible&&!e.sublayers)).map((e=>e.name))}createExportImageParameters(e,r,t,s){const o=s&&s.pixelRatio||1,i=S({extent:e,width:r})*o,a=new W({layer:this,scale:i}),{xmin:n,ymin:l,xmax:p,ymax:m,spatialReference:u}=e,y=N(u,this.spatialReferences),c="1.3.0"===this.version&&q(y)?`${l},${n},${m},${p}`:`${n},${l},${p},${m}`,d=a.toJSON();return{bbox:c,["1.3.0"===this.version?"crs":"srs"]:isNaN(y)?void 0:"EPSG:"+y,...d}}async fetchImage(e,r,t,s){var i,a;const n=this.mapUrl,l=this.createExportImageParameters(e,r,t,s);if(!l.layers){const e=document.createElement("canvas");return e.width=r,e.height=t,e}const p=null==s||null==(i=s.timeExtent)?void 0:i.start,u=null==s||null==(a=s.timeExtent)?void 0:a.end,y=m(p)&&m(u)?p.getTime()===u.getTime()?_(p):`${_(p)}/${_(u)}`:void 0,c={responseType:"image",query:this._mixCustomParameters({width:r,height:t,...l,time:y,...this.refreshParameters}),signal:null==s?void 0:s.signal};return o(n,c).then((e=>e.data))}fetchFeatureInfo(e,r,o,i,a){const n=S({extent:e,width:r}),l=new W({layer:this,scale:n}),p=H(l.visibleSublayers);if(!this.featureInfoUrl||!p)return null;const m="1.3.0"===this.version?{I:i,J:a}:{x:i,y:a},u={query_layers:p,request:"GetFeatureInfo",info_format:this.featureInfoFormat,feature_count:25,width:r,height:o,...m},y={...this.createExportImageParameters(e,r,o),...u},d=this._mixCustomParameters(y),f=c(this.featureInfoUrl,d),h=document.createElement("iframe");h.src=f,h.style.border="none",h.style.margin="0",h.style.width="100%",h.setAttribute("sandbox","");const g=new s({title:this.title,content:h});return new t({sourceLayer:this,popupTemplate:g})}findSublayerById(e){return this.allSublayers.find((r=>r.id===e))}findSublayerByName(e){return this.allSublayers.find((r=>r.name===e))}supportsSpatialReference(e){return M(this.url)||this.spatialReferences.some((r=>{const t=900913===r?j.WebMercator:new j({wkid:r});return I(t,e)}))}async _fetchService(e){if(!this.resourceInfo){this.parsedUrl.query&&this.parsedUrl.query.service&&(this.parsedUrl.query.SERVICE=this.parsedUrl.query.service,delete this.parsedUrl.query.service),this.parsedUrl.query&&this.parsedUrl.query.request&&(this.parsedUrl.query.REQUEST=this.parsedUrl.query.request,delete this.parsedUrl.query.request);const r=await o(this.parsedUrl.path,{query:{SERVICE:"WMS",REQUEST:"GetCapabilities",...this.parsedUrl.query,...this.customParameters},responseType:"xml",signal:e});this.resourceInfo=k(r.data)}if(this.parsedUrl){const e=new d(this.parsedUrl.path);"https"!==e.scheme||e.port&&"443"!==e.port||-1!==r.request.httpsDomains.indexOf(e.host)||r.request.httpsDomains.push(e.host)}this.read(this.resourceInfo,{origin:"service"})}_mixCustomParameters(e){if(!this.customLayerParameters&&!this.customParameters)return e;const r={...this.customParameters,...this.customLayerParameters};for(const t in r)e[t.toLowerCase()]=r[t];return e}};function D(e,r){return e.some((e=>{for(const t in e)if(x(e,t,null,r))return!0;return!1}))}function G(e,r,t){const s=new Map;e.every((e=>null==e.id))&&(e=p(e)).forEach(((e,r)=>e.id=r));for(const i of e){const e=new $;e.read(i,r),-1===(null==t?void 0:t.indexOf(e.name))&&(e.visible=!1),s.set(e.id,e)}const o=[];for(const a of e){const e=s.get(a.id);if(null!=a.parentLayerId&&a.parentLayerId>=0){const r=s.get(a.parentLayerId);r.sublayers||(r.sublayers=new i),r.sublayers.unshift(e)}else o.unshift(e)}return o}e([f({readOnly:!0})],B.prototype,"allSublayers",void 0),e([f({json:{type:Object,write:!0}})],B.prototype,"customParameters",void 0),e([f({json:{type:Object,write:!0}})],B.prototype,"customLayerParameters",void 0),e([f({type:String,json:{write:!0}})],B.prototype,"copyright",void 0),e([f()],B.prototype,"description",void 0),e([f({readOnly:!0})],B.prototype,"dimensions",void 0),e([f({json:{type:[[Number]],read:{source:"extent"},write:{target:"extent"},origins:{"web-document":{write:{ignoreOrigin:!0}},"portal-item":{write:{ignoreOrigin:!0}}}}})],B.prototype,"fullExtent",void 0),e([g(["web-document","portal-item"],"fullExtent",["extent"])],B.prototype,"readFullExtentFromItemOrMap",null),e([w(["web-document","portal-item"],"fullExtent",{extent:{type:[[Number]]}})],B.prototype,"writeFullExtent",null),e([f()],B.prototype,"fullExtents",void 0),e([f({type:String,json:{write:{ignoreOrigin:!0}}})],B.prototype,"featureInfoFormat",void 0),e([f({type:String,json:{write:{ignoreOrigin:!0}}})],B.prototype,"featureInfoUrl",void 0),e([f({type:String,json:{origins:{"web-document":{default:"image/png",type:A.jsonValues,read:{reader:A.read,source:"format"},write:{writer:A.write,target:"format"}}}}})],B.prototype,"imageFormat",void 0),e([g("imageFormat",["supportedImageFormatTypes"])],B.prototype,"readImageFormat",null),e([f({type:Number,json:{read:{source:"maxHeight"},write:{target:"maxHeight"}}})],B.prototype,"imageMaxHeight",void 0),e([f({type:Number,json:{read:{source:"maxWidth"},write:{target:"maxWidth"}}})],B.prototype,"imageMaxWidth",void 0),e([f()],B.prototype,"imageTransparency",void 0),e([f(T)],B.prototype,"legendEnabled",void 0),e([f({type:["show","hide","hide-children"]})],B.prototype,"listMode",void 0),e([f({type:String,json:{write:{ignoreOrigin:!0}}})],B.prototype,"mapUrl",void 0),e([f({type:Boolean,json:{read:!1,write:{enabled:!0,overridePolicy:()=>({enabled:!1})}}})],B.prototype,"isReference",void 0),e([f({type:["WMS"]})],B.prototype,"operationalLayerType",void 0),e([f()],B.prototype,"resourceInfo",void 0),e([f({type:j,json:{origins:{service:{read:{source:"extent.spatialReference"}}},write:!1}})],B.prototype,"spatialReference",void 0),e([g(["web-document","portal-item"],"spatialReference",["spatialReferences"])],B.prototype,"readSpatialReferenceFromItemOrDocument",null),e([f({type:[h],json:{read:!1,origins:{service:{read:!0},"web-document":{read:!1,write:{ignoreOrigin:!0}},"portal-item":{read:!1,write:{ignoreOrigin:!0}}}}})],B.prototype,"spatialReferences",void 0),e([w(["web-document","portal-item"],"spatialReferences")],B.prototype,"writeSpatialReferences",null),e([f({type:i.ofType($),json:{write:{target:"layers",overridePolicy(e,r,t){if(D(this.allSublayers,t))return{ignoreOrigin:!0}}}}})],B.prototype,"sublayers",void 0),e([g(["web-document","portal-item"],"sublayers",["layers","visibleLayers"])],B.prototype,"readSublayersFromItemOrMap",null),e([g("service","sublayers",["layers"])],B.prototype,"readSublayers",null),e([w("sublayers",{layers:{type:[$]},visibleLayers:{type:[String]}})],B.prototype,"writeSublayers",null),e([f({json:{read:!1},readOnly:!0,value:"wms"})],B.prototype,"type",void 0),e([f(C)],B.prototype,"url",void 0),e([f({type:String,json:{write:{ignoreOrigin:!0}}})],B.prototype,"version",void 0),B=e([b("esri.layers.WMSLayer")],B);const J=B;export{J 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/Accessor.js";import{result as i}from"../../../core/asyncUtils.js";import r from"../../../core/Collection.js";import"../../../core/has.js";import s from"../../../core/Error.js";import a from"../../../core/Handles.js";import{clone as o}from"../../../core/lang.js";import n from"../../../core/Logger.js";import{isSome as l,destroyMaybe as h,removeMaybe as c,isNone as u}from"../../../core/maybe.js";import{EsriPromiseMixin as d}from"../../../core/Promise.js";import{isAbortError as m,eachAlways as p}from"../../../core/promiseUtils.js";import{whenOnce as f,init as y}from"../../../core/watchUtils.js";import{property as g}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/accessorSupport/ensureType.js";import{subclass as x}from"../../../core/accessorSupport/decorators/subclass.js";import{isHostedAgolService as F}from"../../support/arcgisLayerUrl.js";import{projectGeometry as v}from"../../../portal/support/geometryServiceUtils.js";import _ from"../../../rest/support/StatisticDefinition.js";import{FeatureTileFetcher3D as T}from"../../../views/3d/layers/support/FeatureTileFetcher3D.js";import{FeatureTileFetcher3DDebugger as w}from"../../../views/3d/layers/support/FeatureTileFetcher3DDebugger.js";import E from"../../../views/3d/support/debugFlags.js";import{WatchUpdatingTracking as C,WatchFlags as b}from"../../../views/support/WatchUpdatingTracking.js";const D=n.getLogger("esri.layers.graphics.controllers.FeatureTileController3D");let S=class extends(d(t)){constructor(e){super(e),this.type="feature-tile-3d",this.watchUpdatingTracking=new C,this.serviceDataExtent=null,this.serviceDataCount=N.NO_SERVICE_DATA_COUNT,this.vertexLimitExceeded=!1,this.displayFeatureLimit=null,this.suspended=!1,this.tileFetcher=null,this.handles=new a,this.fetchDataInfoPromise=null,this.fetchDataInfoAbortController=null,this.lifeCycleAbortController=new AbortController}set extent(e){if(e&&!e.spatialReference.equals(this.layerView.view.spatialReference))return void D.error("#extent=","extent needs to be in the same spatial reference as the view");const t=this._get("extent");if(t===e)return;if(t&&e&&t.equals(e))return;const i=e?e.clone():null;this._set("extent",i)}get updating(){return!!(l(this.tileFetcher)&&this.tileFetcher.updating||null!=this.fetchDataInfoPromise||"tiles"===this.mode&&this.layerView.view.featureTiles&&this.layerView.view.featureTiles.updating||this.watchUpdatingTracking&&this.watchUpdatingTracking.updating)}get updatingTotal(){return this.updating&&l(this.tileFetcher)?this.tileFetcher.updatingTotal:0}get updatingRemaining(){return this.updating&&l(this.tileFetcher)?this.tileFetcher.updatingRemaining:0}get expectedFeatureDiff(){return this.updating&&l(this.tileFetcher)?this.tileFetcher.expectedFeatureDiff:0}get memoryForUnusedFeatures(){return l(this.tileFetcher)?this.tileFetcher.memoryForUnusedFeatures:0}get maximumNumberOfFeaturesExceeded(){return!(!l(this.tileFetcher)||!this.tileFetcher.maximumNumberOfFeaturesExceeded)}get maximumNumberOfFeatures(){return l(this.displayFeatureLimit)?this.displayFeatureLimit.maximumNumberOfFeatures:0}set maximumNumberOfFeatures(e){e!==this.maximumNumberOfFeatures&&(null==e?this._clearOverride("maximumNumberOfFeatures"):this._override("maximumNumberOfFeatures",e))}get hasMaximumNumberOfFeaturesOverride(){return this._isOverridden("maximumNumberOfFeatures")}get mode(){var e,t;const i=this.layerView.layer;if("feature"===i.type&&l(i.infoFor3D))return"snapshot";if(!1===(null==(e=this.layerView.view.qualitySettings)||null==(t=e.graphics3D)?void 0:t.snapshotAvailable)||this.serviceDataCount===N.NO_SERVICE_DATA_COUNT||this.vertexLimitExceeded)return"tiles";const r=this.layerView.view,s=r&&r.featureTiles,a=s&&s.tilingScheme;if(i&&i.minScale&&this.serviceDataExtent&&a){const e=this._approximateExtentSizeAtScale(i.minScale,a);if((this.serviceDataExtent.width/e+this.serviceDataExtent.height/e)/2>N.MAX_SNAPSHOT_MIN_SCALE_FACTOR)return"tiles"}return!this.maximumNumberOfFeatures||this.serviceDataCount<=this.maximumNumberOfFeatures?"snapshot":"tiles"}get maxTotalSnapshotVertices(){const e=this._get("maxTotalSnapshotVertices")||0,t="snapshot"===this.mode&&l(this.tileFetcher)&&this.tileFetcher.totalVertices||0;return Math.max(e,t)}_approximateExtentSizeAtScale(e,t){const i=this.layerView.view,r=Math.ceil((i.width/t.pixelSize+i.height/t.pixelSize)/2),s=t.levels[0];return r*((s.tileSize[0]/(s.scale/e)+s.tileSize[1]/(s.scale/e))/2)}get tileDescriptors(){return"snapshot"===this.mode?new r([{id:"dummy-tile-full-extent",lij:[0,0,0]}]):this.layerView.view.featureTiles?this.layerView.view.featureTiles.tiles:new r}get test(){return{fetchDataInfoPromise:this.fetchDataInfoPromise,tileFetcher:this.tileFetcher}}initialize(){this.watchUpdatingTracking.add(this,"vertexLimitInfo",(()=>this.watchUpdatingTracking.addPromise(this._updateVertexLimitExceeded(null,this.lifeCycleAbortController.signal)))),this.watchUpdatingTracking.add(this,"mode",(()=>this._modeChanged()),b.INIT),this.addResolvingPromise(Promise.resolve().then((()=>this._verifyCapabilities())).then((()=>this.watchUpdatingTracking.addPromise(this._fetchServiceDataInfo()))).then((()=>this._initializeTileFetcher())))}_verifyCapabilities(){const e=this.layerView.layer;if(!e.get("capabilities.operations.supportsQuery")&&"ogc-feature"!==e.type)throw new s("graphicscontroller:query-capability-required","Service requires query capabilities to be used as a feature layer",{layer:e})}destroy(){this._cancelFetchServiceDataInfo(),this.tileFetcher=h(this.tileFetcher),this.handles=h(this.handles),this.tilesHandle=c(this.tilesHandle),this.lifeCycleAbortController&&(this.lifeCycleAbortController.abort(),this.lifeCycleAbortController=null),this.watchUpdatingTracking.destroy(),this._set("watchUpdatingTracking",null)}suspend(){this.suspended||(this.suspended=!0,l(this.tileFetcher)&&this.tileFetcher.suspend())}resume(){this.suspended&&(this.suspended=!1,l(this.tileFetcher)&&this.tileFetcher.resume())}restart(){const e=()=>{l(this.tileFetcher)&&this.tileFetcher.restart()};this.watchUpdatingTracking.addPromise(this._fetchServiceDataInfo().then(e,e))}refetch(){const e=()=>{l(this.tileFetcher)&&this.tileFetcher.refetch()};this.watchUpdatingTracking.addPromise(this._fetchServiceDataInfo().then(e,e))}_initializeTileFetcher(){const e=this.layerView.view;if(!e)return;const t=f(e.featureTiles,"tilingScheme",this.lifeCycleAbortController.signal);this.watchUpdatingTracking.addPromise(t),t.then((()=>{const{layerView:t,tileDescriptors:i}=this,r=t.layer,s=new T({context:this.context,filterExtent:this.extent,tileDescriptors:i,features:this.graphics});this.tileFetcher=s,this.suspended?this.tileFetcher.suspend():this.tileFetcher.resume();const a=this.layerView.view.resourceController;a&&(this.handles.add(a.memoryController.events.on("quality-changed",(e=>{s.memoryFactor=e}))),this.tileFetcher.memoryFactor=a.memoryController.memoryFactor);const o="polygon"===this.context.geometryType?"polygonLodFactor":"polyline"===this.context.geometryType?"polylineLodFactor":null;o&&this.handles.add(y(this.layerView.view,"qualitySettings.graphics3D."+o,(e=>{s.lodFactor=e||1})));const n=e=>{s.maximumNumberOfFeatures=e,s.useTileCount=this.serviceDataCount>e},l=e=>s.useTileCount=e>this.maximumNumberOfFeatures;this.watchUpdatingTracking.add(r,"createQueryVersion",(()=>this._dataFilterChanged())),this.watchUpdatingTracking.add(t,"availableFields",((e,t)=>this._availableFieldsChanged(t,e))),this.watchUpdatingTracking.add(t,"requiredFields",((e,t)=>this._requiredFieldsChanged(t,e))),this.handles.add([r.on("apply-edits",(e=>this._applyEdits(e))),this.watch("extent",(e=>s.filterExtent=e),!0),this.watch("tileDescriptors",(e=>s.tileDescriptors=e),!0),y(this,"maximumNumberOfFeatures",n,!0),y(this,"serviceDataCount",l,!0),y(E,"FEATURE_TILE_FETCH_SHOW_TILES",(t=>{t&&s&&!s.debugger?(s.debugger=new w(s,e.featureTiles.tilingScheme.toTileInfo(),e),s.debugger.update()):!t&&this.tileFetcher&&s.debugger&&(s.debugger.destroy(),s.debugger=null)}))]),this.supportsExceedsLimitQuery||this.watchUpdatingTracking.add(this,"maxTotalSnapshotVertices",(()=>this.watchUpdatingTracking.addPromise(this._updateVertexLimitExceeded(null,this.lifeCycleAbortController.signal))))})).catch((()=>{}))}_modeChanged(){switch(this.mode){case"tiles":this.tilesHandle||(this.tilesHandle=this.layerView.view.featureTiles.addClient());break;default:D.warn("Unhandled feature layer mode "+this.mode);case"snapshot":l(this.tilesHandle)&&(this.tilesHandle.remove(),this.tilesHandle=null)}}_dataFilterChanged(){this._set("maxTotalSnapshotVertices",0),this.notifyChange("maxTotalSnapshotVertices"),this.refetch()}_applyEdits(e){u(this.tileFetcher)||this.tileFetcher.applyEdits(e).then((e=>{e&&(e.deletedFeatures.length||e.updatedFeatures.length||e.addedFeatures.length)&&this.watchUpdatingTracking.addPromise(this._updateServiceDataExtent(this.lifeCycleAbortController.signal))})).catch((e=>{if(!m(e))throw e}))}_availableFieldsChanged(e,t){l(this.tileFetcher)&&A(this.tileFetcher.availableFields,t)&&this.refetch()}_requiredFieldsChanged(e,t){l(this.tileFetcher)&&A(this.tileFetcher.availableFields,t)&&this.restart()}_createVertexLimitExceededQuery(e){const t=this.layerView.layer,i=t.createQuery();return i.outStatistics=[new _({statisticType:"exceedslimit",maxVertexCount:e,outStatisticFieldName:"exceedslimit",maxPointCount:1e8,maxRecordCount:1e8})],t.capabilities.query.supportsCacheHint&&(i.cacheHint=!0),i}_createDataInfoQuery(){const e=this.layerView.layer,t=e.createQuery();return t.outSpatialReference=this.layerView.view.spatialReference,e.capabilities.query.supportsCacheHint&&(t.cacheHint=!0),t}_fullExtentIsAccurate(){const e=this.layerView.layer;if(e.definitionExpression)return!1;switch(e.type){case"feature":return F(e.url);case"csv":case"geojson":case"ogc-feature":case"wfs":return!0;default:return}}async _updateServiceDataExtent(e){try{await this._tryUpdateServiceDataExtent(e)}catch(t){m(t)||this._set("serviceDataExtent",o(this.layerView.fullExtentInLocalViewSpatialReference))}}async _tryUpdateServiceDataExtent(e){const t=this.layerView,i=t.layer,r=i.capabilities.query.supportsExtent,s=o(t.fullExtentInLocalViewSpatialReference),a=i.fullExtent,n=this._fullExtentIsAccurate(),h=this.serviceDataCount;if(r&&h<=N.MAX_FEATURE_COUNT_FOR_EXTENT&&(!s||!n)&&"queryExtent"in i){const t=this._createDataInfoQuery(),r=await i.queryExtent(t,{timeout:N.QUERY_EXTENT_TIMEOUT,signal:e});this._set("serviceDataExtent",r.extent)}else if(s)this._set("serviceDataExtent",s);else if(l(a)){const r="portalItem"in i?i.portalItem:null,s=await v(a,t.view.spatialReference,r,e);this._set("serviceDataExtent",s)}else this._set("serviceDataExtent",null)}async _updateServiceDataCount(e){const t=this.layerView.layer;if(!("queryFeatureCount"in t))return void this._set("serviceDataCount",N.NO_SERVICE_DATA_COUNT);const r=await i(t.queryFeatureCount(this._createDataInfoQuery(),{timeout:N.QUERY_STATISTICS_TIMEOUT,signal:e}));if(!0===r.ok)this._set("serviceDataCount",r.value);else{if(m(r.error))throw r.error;this._set("serviceDataCount",N.NO_SERVICE_DATA_COUNT)}}get vertexLimitInfo(){if(u(this.displayFeatureLimit)||u(this.displayFeatureLimit.averageSymbolComplexity))return null;const{averageSymbolComplexity:e,maximumTotalNumberOfPrimitives:t}=this.displayFeatureLimit,{primitivesPerCoordinate:i,primitivesPerFeature:r}=e,s=this._get("vertexLimitInfo");return u(s)||s.maximumTotalNumberOfPrimitives!==t||s.primitivesPerCoordinate!==i||s.primitivesPerFeature!==r?{primitivesPerCoordinate:i,primitivesPerFeature:r,maximumTotalNumberOfPrimitives:t}:s}get supportsExceedsLimitQuery(){const e=this.layerView.layer;return e.capabilities&&e.capabilities.operations&&e.capabilities.operations.supportsExceedsLimitStatistics}get minimumNumberOfVerticesForGeometry(){switch(this.layerView.layer.geometryType){case"point":case"multipoint":return 1;case"polygon":return 4;case"polyline":return 2;case"multipatch":case"mesh":return 3;default:return 0}}async _updateVertexLimitExceeded(e,t){const r=this.vertexLimitInfo;if(u(r))return void this._set("vertexLimitExceeded",!1);const s=r.primitivesPerFeature<=0,a=this.minimumNumberOfVerticesForGeometry>1;if(!s&&!a)return void this._set("vertexLimitExceeded",!1);const{primitivesPerFeature:o,primitivesPerCoordinate:n,maximumTotalNumberOfPrimitives:h}=r;let c;0!==o&&l(e)&&await e;const d=this.serviceDataCount,p=d!==N.NO_SERVICE_DATA_COUNT;if(c=p?Math.ceil((h-d*o)/(n||1)):Math.ceil(h/(n||1)),a&&(c=Math.min(c,U)),p&&this.minimumNumberOfVerticesForGeometry*d>c)return void this._set("vertexLimitExceeded",!0);if(!this.supportsExceedsLimitQuery)return void this._set("vertexLimitExceeded",this.maxTotalSnapshotVertices>c);const f=await i(this.layerView.layer.queryFeatures(this._createVertexLimitExceededQuery(c),{timeout:N.QUERY_STATISTICS_TIMEOUT,signal:t}));if(!1===f.ok){if(m(f.error))throw f.error;return void this._set("vertexLimitExceeded",!1)}const y=f.value.features[0];y&&y.attributes?this._set("vertexLimitExceeded",!!y.attributes.exceedslimit):this._set("vertexLimitExceeded",!1)}async _fetchServiceDataInfo(){this._cancelFetchServiceDataInfo();let e=new AbortController;const t=e.signal,i=this._updateServiceDataCount(t),r=p([i,this._updateVertexLimitExceeded(i,t)]),s=r.then((()=>this._updateServiceDataExtent(t))).catch((e=>{m(e)||D.error("#fetchServiceDataInfo()",e)})).then((()=>{s===this.fetchDataInfoPromise&&(this.fetchDataInfoPromise=null,this.fetchDataInfoAbortController=null),e=null}));return e&&(this.fetchDataInfoPromise=s),this.fetchDataInfoAbortController=e,r.then((()=>{}),(()=>{}))}_cancelFetchServiceDataInfo(){const e=this.fetchDataInfoAbortController;e&&(this.fetchDataInfoAbortController=null,this.fetchDataInfoPromise=null,e.abort())}get debug(){return{storedFeatures:l(this.tileFetcher)?this.tileFetcher.storedFeatures:0,totalFeatures:l(this.tileFetcher)?this.tileFetcher.totalFeatures:0,totalVertices:l(this.tileFetcher)?this.tileFetcher.totalVertices:0}}};e([g({readOnly:!0})],S.prototype,"type",void 0),e([g({constructOnly:!0})],S.prototype,"graphics",void 0),e([g({constructOnly:!0})],S.prototype,"layerView",void 0),e([g({constructOnly:!0})],S.prototype,"context",void 0),e([g()],S.prototype,"extent",null),e([g()],S.prototype,"updating",null),e([g({readOnly:!0})],S.prototype,"watchUpdatingTracking",void 0),e([g()],S.prototype,"updatingTotal",null),e([g()],S.prototype,"updatingRemaining",null),e([g()],S.prototype,"expectedFeatureDiff",null),e([g()],S.prototype,"memoryForUnusedFeatures",null),e([g()],S.prototype,"maximumNumberOfFeaturesExceeded",null),e([g({readOnly:!0})],S.prototype,"serviceDataExtent",void 0),e([g({readOnly:!0})],S.prototype,"serviceDataCount",void 0),e([g({readOnly:!0})],S.prototype,"vertexLimitExceeded",void 0),e([g()],S.prototype,"displayFeatureLimit",void 0),e([g({type:Number})],S.prototype,"maximumNumberOfFeatures",null),e([g({readOnly:!0})],S.prototype,"mode",null),e([g({readOnly:!0})],S.prototype,"maxTotalSnapshotVertices",null),e([g({readOnly:!0,dependsOn:["mode"]})],S.prototype,"tileDescriptors",null),e([g()],S.prototype,"tileFetcher",void 0),e([g()],S.prototype,"fetchDataInfoPromise",void 0),e([g({readOnly:!0})],S.prototype,"vertexLimitInfo",null),S=e([x("esri.layers.graphics.controllers.FeatureTileController3D")],S);const O=1e4,I=12e3,V=1e4,U=5e6;function A(e,t){if(!t)return!1;for(const i of t)if(!e.has(i))return!0;return!1}var N;!function(e){function t(){e.MAX_FEATURE_COUNT_FOR_EXTENT=O,e.QUERY_STATISTICS_TIMEOUT=I,e.QUERY_EXTENT_TIMEOUT=V}e.NO_SERVICE_DATA_COUNT=1/0,e.MAX_SNAPSHOT_MIN_SCALE_FACTOR=5,e.reset=t}(N||(N={})),N.reset();export{S as FeatureTileController3D,N as FeatureTileController3DConstants};
5
+ import{_ as e}from"../../../chunks/tslib.es6.js";import t from"../../../core/Accessor.js";import{result as i}from"../../../core/asyncUtils.js";import r from"../../../core/Collection.js";import"../../../core/has.js";import s from"../../../core/Error.js";import a from"../../../core/Handles.js";import{clone as o}from"../../../core/lang.js";import n from"../../../core/Logger.js";import{isSome as l,destroyMaybe as c,removeMaybe as h,isNone as u}from"../../../core/maybe.js";import{EsriPromiseMixin as d}from"../../../core/Promise.js";import{isAbortError as m,eachAlways as p}from"../../../core/promiseUtils.js";import{initial as f}from"../../../core/reactiveUtils.js";import{whenOnce as y,init as g}from"../../../core/watchUtils.js";import{property as x}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/accessorSupport/ensureType.js";import{subclass as F}from"../../../core/accessorSupport/decorators/subclass.js";import{isHostedAgolService as v}from"../../support/arcgisLayerUrl.js";import{projectGeometry as _}from"../../../portal/support/geometryServiceUtils.js";import T from"../../../rest/support/StatisticDefinition.js";import{FeatureTileFetcher3D as w}from"../../../views/3d/layers/support/FeatureTileFetcher3D.js";import{FeatureTileFetcher3DDebugger as E}from"../../../views/3d/layers/support/FeatureTileFetcher3DDebugger.js";import C from"../../../views/3d/support/debugFlags.js";import{WatchUpdatingTracking as b}from"../../../views/support/WatchUpdatingTracking.js";const D=n.getLogger("esri.layers.graphics.controllers.FeatureTileController3D");let S=class extends(d(t)){constructor(e){super(e),this.type="feature-tile-3d",this.watchUpdatingTracking=new b,this.serviceDataExtent=null,this.serviceDataCount=N.NO_SERVICE_DATA_COUNT,this.vertexLimitExceeded=!1,this.displayFeatureLimit=null,this.suspended=!1,this.tileFetcher=null,this.handles=new a,this.fetchDataInfoPromise=null,this.fetchDataInfoAbortController=null,this.lifeCycleAbortController=new AbortController}set extent(e){if(e&&!e.spatialReference.equals(this.layerView.view.spatialReference))return void D.error("#extent=","extent needs to be in the same spatial reference as the view");const t=this._get("extent");if(t===e)return;if(t&&e&&t.equals(e))return;const i=e?e.clone():null;this._set("extent",i)}get updating(){return!!(l(this.tileFetcher)&&this.tileFetcher.updating||null!=this.fetchDataInfoPromise||"tiles"===this.mode&&this.layerView.view.featureTiles&&this.layerView.view.featureTiles.updating||this.watchUpdatingTracking&&this.watchUpdatingTracking.updating)}get updatingTotal(){return this.updating&&l(this.tileFetcher)?this.tileFetcher.updatingTotal:0}get updatingRemaining(){return this.updating&&l(this.tileFetcher)?this.tileFetcher.updatingRemaining:0}get expectedFeatureDiff(){return this.updating&&l(this.tileFetcher)?this.tileFetcher.expectedFeatureDiff:0}get memoryForUnusedFeatures(){return l(this.tileFetcher)?this.tileFetcher.memoryForUnusedFeatures:0}get maximumNumberOfFeaturesExceeded(){return!(!l(this.tileFetcher)||!this.tileFetcher.maximumNumberOfFeaturesExceeded)}get maximumNumberOfFeatures(){return l(this.displayFeatureLimit)?this.displayFeatureLimit.maximumNumberOfFeatures:0}set maximumNumberOfFeatures(e){e!==this.maximumNumberOfFeatures&&(null==e?this._clearOverride("maximumNumberOfFeatures"):this._override("maximumNumberOfFeatures",e))}get hasMaximumNumberOfFeaturesOverride(){return this._isOverridden("maximumNumberOfFeatures")}get mode(){var e,t;const i=this.layerView.layer;if("feature"===i.type&&l(i.infoFor3D))return"snapshot";if(!1===(null==(e=this.layerView.view.qualitySettings)||null==(t=e.graphics3D)?void 0:t.snapshotAvailable)||this.serviceDataCount===N.NO_SERVICE_DATA_COUNT||this.vertexLimitExceeded)return"tiles";const r=this.layerView.view,s=r&&r.featureTiles,a=s&&s.tilingScheme;if(i&&i.minScale&&this.serviceDataExtent&&a){const e=this._approximateExtentSizeAtScale(i.minScale,a);if((this.serviceDataExtent.width/e+this.serviceDataExtent.height/e)/2>N.MAX_SNAPSHOT_MIN_SCALE_FACTOR)return"tiles"}return!this.maximumNumberOfFeatures||this.serviceDataCount<=this.maximumNumberOfFeatures?"snapshot":"tiles"}get maxTotalSnapshotVertices(){const e=this._get("maxTotalSnapshotVertices")||0,t="snapshot"===this.mode&&l(this.tileFetcher)&&this.tileFetcher.totalVertices||0;return Math.max(e,t)}_approximateExtentSizeAtScale(e,t){const i=this.layerView.view,r=Math.ceil((i.width/t.pixelSize+i.height/t.pixelSize)/2),s=t.levels[0];return r*((s.tileSize[0]/(s.scale/e)+s.tileSize[1]/(s.scale/e))/2)}get tileDescriptors(){return"snapshot"===this.mode?new r([{id:"dummy-tile-full-extent",lij:[0,0,0]}]):this.layerView.view.featureTiles?this.layerView.view.featureTiles.tiles:new r}get test(){return{fetchDataInfoPromise:this.fetchDataInfoPromise,tileFetcher:this.tileFetcher}}initialize(){this.watchUpdatingTracking.add((()=>this.vertexLimitInfo),(()=>this.watchUpdatingTracking.addPromise(this._updateVertexLimitExceeded(null,this.lifeCycleAbortController.signal)))),this.watchUpdatingTracking.add((()=>this.mode),(()=>this._modeChanged()),f),this.addResolvingPromise(Promise.resolve().then((()=>this._verifyCapabilities())).then((()=>this.watchUpdatingTracking.addPromise(this._fetchServiceDataInfo()))).then((()=>this._initializeTileFetcher())))}_verifyCapabilities(){const e=this.layerView.layer;if(!e.get("capabilities.operations.supportsQuery")&&"ogc-feature"!==e.type)throw new s("graphicscontroller:query-capability-required","Service requires query capabilities to be used as a feature layer",{layer:e})}destroy(){this._cancelFetchServiceDataInfo(),this.tileFetcher=c(this.tileFetcher),this.handles=c(this.handles),this.tilesHandle=h(this.tilesHandle),this.lifeCycleAbortController&&(this.lifeCycleAbortController.abort(),this.lifeCycleAbortController=null),this.watchUpdatingTracking.destroy(),this._set("watchUpdatingTracking",null)}suspend(){this.suspended||(this.suspended=!0,l(this.tileFetcher)&&this.tileFetcher.suspend())}resume(){this.suspended&&(this.suspended=!1,l(this.tileFetcher)&&this.tileFetcher.resume())}restart(){const e=()=>{l(this.tileFetcher)&&this.tileFetcher.restart()};this.watchUpdatingTracking.addPromise(this._fetchServiceDataInfo().then(e,e))}refetch(){const e=()=>{l(this.tileFetcher)&&this.tileFetcher.refetch()};this.watchUpdatingTracking.addPromise(this._fetchServiceDataInfo().then(e,e))}_initializeTileFetcher(){const e=this.layerView.view;if(!e)return;const t=y(e.featureTiles,"tilingScheme",this.lifeCycleAbortController.signal);this.watchUpdatingTracking.addPromise(t),t.then((()=>{const{layerView:t,tileDescriptors:i}=this,r=t.layer,s=new w({context:this.context,filterExtent:this.extent,tileDescriptors:i,features:this.graphics});this.tileFetcher=s,this.suspended?this.tileFetcher.suspend():this.tileFetcher.resume();const a=this.layerView.view.resourceController;a&&(this.handles.add(a.memoryController.events.on("quality-changed",(e=>{s.memoryFactor=e}))),this.tileFetcher.memoryFactor=a.memoryController.memoryFactor);const o="polygon"===this.context.geometryType?"polygonLodFactor":"polyline"===this.context.geometryType?"polylineLodFactor":null;o&&this.handles.add(g(this.layerView.view,"qualitySettings.graphics3D."+o,(e=>{s.lodFactor=e||1})));const n=e=>{s.maximumNumberOfFeatures=e,s.useTileCount=this.serviceDataCount>e},l=e=>s.useTileCount=e>this.maximumNumberOfFeatures;"ogc-feature"!==r.type&&this.watchUpdatingTracking.add((()=>r.createQueryVersion),(()=>this._dataFilterChanged())),this.watchUpdatingTracking.add((()=>t.availableFields),((e,t)=>this._availableFieldsChanged(t,e))),this.watchUpdatingTracking.add((()=>t.requiredFields),((e,t)=>this._requiredFieldsChanged(t,e))),this.handles.add([r.on("apply-edits",(e=>this._applyEdits(e))),this.watch("extent",(e=>s.filterExtent=e),!0),this.watch("tileDescriptors",(e=>s.tileDescriptors=e),!0),g(this,"maximumNumberOfFeatures",n,!0),g(this,"serviceDataCount",l,!0),g(C,"FEATURE_TILE_FETCH_SHOW_TILES",(t=>{t&&s&&!s.debugger?(s.debugger=new E(s,e.featureTiles.tilingScheme.toTileInfo(),e),s.debugger.update()):!t&&this.tileFetcher&&s.debugger&&(s.debugger.destroy(),s.debugger=null)}))]),this.supportsExceedsLimitQuery||this.watchUpdatingTracking.add((()=>this.maxTotalSnapshotVertices),(()=>this.watchUpdatingTracking.addPromise(this._updateVertexLimitExceeded(null,this.lifeCycleAbortController.signal))))})).catch((()=>{}))}_modeChanged(){switch(this.mode){case"tiles":this.tilesHandle||(this.tilesHandle=this.layerView.view.featureTiles.addClient());break;default:D.warn("Unhandled feature layer mode "+this.mode);case"snapshot":l(this.tilesHandle)&&(this.tilesHandle.remove(),this.tilesHandle=null)}}_dataFilterChanged(){this._set("maxTotalSnapshotVertices",0),this.notifyChange("maxTotalSnapshotVertices"),this.refetch()}_applyEdits(e){u(this.tileFetcher)||this.tileFetcher.applyEdits(e).then((e=>{e&&(e.deletedFeatures.length||e.updatedFeatures.length||e.addedFeatures.length)&&this.watchUpdatingTracking.addPromise(this._updateServiceDataExtent(this.lifeCycleAbortController.signal))})).catch((e=>{if(!m(e))throw e}))}_availableFieldsChanged(e,t){l(this.tileFetcher)&&A(this.tileFetcher.availableFields,t)&&this.refetch()}_requiredFieldsChanged(e,t){l(this.tileFetcher)&&A(this.tileFetcher.availableFields,t)&&this.restart()}_createVertexLimitExceededQuery(e){const t=this.layerView.layer,i=t.createQuery();return i.outStatistics=[new T({statisticType:"exceedslimit",maxVertexCount:e,outStatisticFieldName:"exceedslimit",maxPointCount:1e8,maxRecordCount:1e8})],t.capabilities.query.supportsCacheHint&&(i.cacheHint=!0),i}_createDataInfoQuery(){const e=this.layerView.layer,t=e.createQuery();return t.outSpatialReference=this.layerView.view.spatialReference,e.capabilities.query.supportsCacheHint&&(t.cacheHint=!0),t}_fullExtentIsAccurate(){const e=this.layerView.layer;if(e.definitionExpression)return!1;switch(e.type){case"feature":return v(e.url);case"csv":case"geojson":case"ogc-feature":case"wfs":return!0;default:return}}async _updateServiceDataExtent(e){try{await this._tryUpdateServiceDataExtent(e)}catch(t){m(t)||this._set("serviceDataExtent",o(this.layerView.fullExtentInLocalViewSpatialReference))}}async _tryUpdateServiceDataExtent(e){const t=this.layerView,i=t.layer,r=i.capabilities.query.supportsExtent,s=o(t.fullExtentInLocalViewSpatialReference),a=i.fullExtent,n=this._fullExtentIsAccurate(),c=this.serviceDataCount;if(r&&c<=N.MAX_FEATURE_COUNT_FOR_EXTENT&&(!s||!n)&&"queryExtent"in i){const t=this._createDataInfoQuery(),r=await i.queryExtent(t,{timeout:N.QUERY_EXTENT_TIMEOUT,signal:e});this._set("serviceDataExtent",r.extent)}else if(s)this._set("serviceDataExtent",s);else if(l(a)){const r="portalItem"in i?i.portalItem:null,s=await _(a,t.view.spatialReference,r,e);this._set("serviceDataExtent",s)}else this._set("serviceDataExtent",null)}async _updateServiceDataCount(e){const t=this.layerView.layer;if(!("queryFeatureCount"in t))return void this._set("serviceDataCount",N.NO_SERVICE_DATA_COUNT);const r=await i(t.queryFeatureCount(this._createDataInfoQuery(),{timeout:N.QUERY_STATISTICS_TIMEOUT,signal:e}));if(!0===r.ok)this._set("serviceDataCount",r.value);else{if(m(r.error))throw r.error;this._set("serviceDataCount",N.NO_SERVICE_DATA_COUNT)}}get vertexLimitInfo(){if(u(this.displayFeatureLimit)||u(this.displayFeatureLimit.averageSymbolComplexity))return null;const{averageSymbolComplexity:e,maximumTotalNumberOfPrimitives:t}=this.displayFeatureLimit,{primitivesPerCoordinate:i,primitivesPerFeature:r}=e,s=this._get("vertexLimitInfo");return u(s)||s.maximumTotalNumberOfPrimitives!==t||s.primitivesPerCoordinate!==i||s.primitivesPerFeature!==r?{primitivesPerCoordinate:i,primitivesPerFeature:r,maximumTotalNumberOfPrimitives:t}:s}get supportsExceedsLimitQuery(){const e=this.layerView.layer;return e.capabilities&&e.capabilities.operations&&e.capabilities.operations.supportsExceedsLimitStatistics}get minimumNumberOfVerticesForGeometry(){switch(this.layerView.layer.geometryType){case"point":case"multipoint":return 1;case"polygon":return 4;case"polyline":return 2;case"multipatch":case"mesh":return 3;default:return 0}}async _updateVertexLimitExceeded(e,t){const r=this.vertexLimitInfo;if(u(r))return void this._set("vertexLimitExceeded",!1);const s=r.primitivesPerFeature<=0,a=this.minimumNumberOfVerticesForGeometry>1;if(!s&&!a)return void this._set("vertexLimitExceeded",!1);const{primitivesPerFeature:o,primitivesPerCoordinate:n,maximumTotalNumberOfPrimitives:c}=r;let h;0!==o&&l(e)&&await e;const d=this.serviceDataCount,p=d!==N.NO_SERVICE_DATA_COUNT;if(h=p?Math.ceil((c-d*o)/(n||1)):Math.ceil(c/(n||1)),a&&(h=Math.min(h,U)),p&&this.minimumNumberOfVerticesForGeometry*d>h)return void this._set("vertexLimitExceeded",!0);if(!this.supportsExceedsLimitQuery)return void this._set("vertexLimitExceeded",this.maxTotalSnapshotVertices>h);const f=await i(this.layerView.layer.queryFeatures(this._createVertexLimitExceededQuery(h),{timeout:N.QUERY_STATISTICS_TIMEOUT,signal:t}));if(!1===f.ok){if(m(f.error))throw f.error;return void this._set("vertexLimitExceeded",!1)}const y=f.value.features[0];y&&y.attributes?this._set("vertexLimitExceeded",!!y.attributes.exceedslimit):this._set("vertexLimitExceeded",!1)}async _fetchServiceDataInfo(){this._cancelFetchServiceDataInfo();let e=new AbortController;const t=e.signal,i=this._updateServiceDataCount(t),r=p([i,this._updateVertexLimitExceeded(i,t)]),s=r.then((()=>this._updateServiceDataExtent(t))).catch((e=>{m(e)||D.error("#fetchServiceDataInfo()",e)})).then((()=>{s===this.fetchDataInfoPromise&&(this.fetchDataInfoPromise=null,this.fetchDataInfoAbortController=null),e=null}));return e&&(this.fetchDataInfoPromise=s),this.fetchDataInfoAbortController=e,r.then((()=>{}),(()=>{}))}_cancelFetchServiceDataInfo(){const e=this.fetchDataInfoAbortController;e&&(this.fetchDataInfoAbortController=null,this.fetchDataInfoPromise=null,e.abort())}get debug(){return{storedFeatures:l(this.tileFetcher)?this.tileFetcher.storedFeatures:0,totalFeatures:l(this.tileFetcher)?this.tileFetcher.totalFeatures:0,totalVertices:l(this.tileFetcher)?this.tileFetcher.totalVertices:0}}};e([x({readOnly:!0})],S.prototype,"type",void 0),e([x({constructOnly:!0})],S.prototype,"graphics",void 0),e([x({constructOnly:!0})],S.prototype,"layerView",void 0),e([x({constructOnly:!0})],S.prototype,"context",void 0),e([x()],S.prototype,"extent",null),e([x()],S.prototype,"updating",null),e([x({readOnly:!0})],S.prototype,"watchUpdatingTracking",void 0),e([x()],S.prototype,"updatingTotal",null),e([x()],S.prototype,"updatingRemaining",null),e([x()],S.prototype,"expectedFeatureDiff",null),e([x()],S.prototype,"memoryForUnusedFeatures",null),e([x()],S.prototype,"maximumNumberOfFeaturesExceeded",null),e([x({readOnly:!0})],S.prototype,"serviceDataExtent",void 0),e([x({readOnly:!0})],S.prototype,"serviceDataCount",void 0),e([x({readOnly:!0})],S.prototype,"vertexLimitExceeded",void 0),e([x()],S.prototype,"displayFeatureLimit",void 0),e([x({type:Number})],S.prototype,"maximumNumberOfFeatures",null),e([x({readOnly:!0})],S.prototype,"mode",null),e([x({readOnly:!0})],S.prototype,"maxTotalSnapshotVertices",null),e([x({readOnly:!0,dependsOn:["mode"]})],S.prototype,"tileDescriptors",null),e([x()],S.prototype,"tileFetcher",void 0),e([x()],S.prototype,"fetchDataInfoPromise",void 0),e([x({readOnly:!0})],S.prototype,"vertexLimitInfo",null),S=e([F("esri.layers.graphics.controllers.FeatureTileController3D")],S);const O=1e4,I=12e3,V=1e4,U=5e6;function A(e,t){if(!t)return!1;for(const i of t)if(!e.has(i))return!0;return!1}var N;!function(e){function t(){e.MAX_FEATURE_COUNT_FOR_EXTENT=O,e.QUERY_STATISTICS_TIMEOUT=I,e.QUERY_EXTENT_TIMEOUT=V}e.NO_SERVICE_DATA_COUNT=1/0,e.MAX_SNAPSHOT_MIN_SCALE_FACTOR=5,e.reset=t}(N||(N={})),N.reset();export{S as FeatureTileController3D,N as FeatureTileController3DConstants};
@@ -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
- const t={supportsStatistics:!0,supportsPercentileStatistics:!0,supportsCentroid:!0,supportsCacheHint:!1,supportsDistance:!0,supportsDistinct:!0,supportsExtent:!0,supportsGeometryProperties:!1,supportsHavingClause:!0,supportsOrderBy:!0,supportsPagination:!0,supportsQuantization:!0,supportsQuantizationEditMode:!1,supportsQueryGeometry:!0,supportsResultType:!1,supportsSqlExpression:!0,supportsMaxRecordCountFactor:!1,supportsStandardizedQueriesOnly:!0,supportsTopFeaturesQuery:!1,supportsQueryByOthers:!0,supportsHistoricMoment:!1,supportsFormatPBF:!1,supportsDisjointSpatialRelationship:!0,maxRecordCountFactor:void 0,maxRecordCount:void 0,standardMaxRecordCount:void 0,tileMaxRecordCount:void 0};export{t as queryCapabilities};
5
+ const t={supportsStatistics:!0,supportsPercentileStatistics:!0,supportsSpatialAggregationStatistics:!1,supportedSpatialAggregationStatistics:{envelope:!1,centroid:!1,convexHull:!1},supportsCentroid:!0,supportsCacheHint:!1,supportsDistance:!0,supportsDistinct:!0,supportsExtent:!0,supportsGeometryProperties:!1,supportsHavingClause:!0,supportsOrderBy:!0,supportsPagination:!0,supportsQuantization:!0,supportsQuantizationEditMode:!1,supportsQueryGeometry:!0,supportsResultType:!1,supportsSqlExpression:!0,supportsMaxRecordCountFactor:!1,supportsStandardizedQueriesOnly:!0,supportsTopFeaturesQuery:!1,supportsQueryByOthers:!0,supportsHistoricMoment:!1,supportsFormatPBF:!1,supportsDisjointSpatialRelationship:!0,maxRecordCountFactor:void 0,maxRecordCount:void 0,standardMaxRecordCount:void 0,tileMaxRecordCount:void 0};export{t as queryCapabilities};
@@ -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/Error.js";import s from"../../../core/Loadable.js";import{isSome as r,isNone as o}from"../../../core/maybe.js";import{property as i}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{queryFeatureSetJSON as a,getSpatialReferenceWkid as n,getServerLandingPage as u,getServerConformance as l,getServerCollections as c,getServerOpenApi as d,getCollectionDefinition as m,crsDefault as y,crsPrefix as f}from"../../ogc/ogcFeatureUtils.js";import h from"../../../rest/support/FeatureSet.js";import g from"../../../geometry/SpatialReference.js";import{typeKebabDictionary as S}from"../../../geometry/support/typeUtils.js";let v=class extends s{constructor(){super(...arguments),this.featureDefinition=null,this.type="ogc-feature"}load(e){return this.addResolvingPromise(this._loadOGCServices(this.layer,e)),this.when()}getFeatureDefinition(){const{featureDefinition:{collection:e,layerDefinition:t,spatialReference:s,supportedCrs:r},layer:{apiKey:o,capabilities:i,customParameters:p}}=this;return{capabilities:i,collection:e,layerDefinition:t,queryParameters:{apiKey:o,customParameters:p},spatialReference:s,supportedCrs:r}}queryExtent(e,t={}){return null}queryFeatureCount(e,t={}){return null}queryFeatures(e,t={}){return this.queryFeaturesJSON(e,t).then((e=>h.fromJSON(e)))}queryFeaturesJSON(e,t={}){const s=this.getFeatureDefinition();return this.load(t).then((()=>a(s,e,t)))}queryObjectIds(e,t={}){return null}supportsSpatialReference(e){return!(!e.isWGS84&&!e.isWebMercator)||!!this.featureDefinition.supportedCrs[e.wkid]}_conformsToType(e,t){var s;const r=new RegExp(`^${t}$`,"i");return null!=(s=e.conformsTo.some((e=>r.test(e))))&&s}_getCapabilities(e,t){var s,o,i,p,a,n,u;const l=r(t)?null==(s=t.components)?void 0:s.parameters:null;return{attachment:null,data:{isVersioned:!1,supportsAttachment:!1,supportsM:!1,supportsZ:e},metadata:{supportsAdvancedFieldProperties:!1},operations:{supportsCalculate:!1,supportsTruncate:!1,supportsValidateSql:!1,supportsAdd:!1,supportsDelete:!1,supportsEditing:!1,supportsChangeTracking:!1,supportsQuery:!1,supportsQueryAttachments:!1,supportsResizeAttachments:!1,supportsSync:!1,supportsUpdate:!1,supportsExceedsLimitStatistics:!1},query:{maxRecordCount:null!=(o=null!=(i=null==l||null==(p=l.limit)||null==(a=p.schema)?void 0:a.maximum)?i:null==l||null==(n=l.limitFeatures)||null==(u=n.schema)?void 0:u.maximum)?o:5e3,maxRecordCountFactor:void 0,standardMaxRecordCount:void 0,supportsCacheHint:!1,supportsCentroid:!1,supportsDisjointSpatialRelationship:!1,supportsDistance:!1,supportsDistinct:!1,supportsExtent:!1,supportsFormatPBF:!1,supportsGeometryProperties:!1,supportsHavingClause:!1,supportsHistoricMoment:!1,supportsMaxRecordCountFactor:!1,supportsOrderBy:!1,supportsPagination:!1,supportsPercentileStatistics:!1,supportsQuantization:!1,supportsQuantizationEditMode:!1,supportsQueryByOthers:!1,supportsQueryGeometry:!1,supportsResultType:!1,supportsStandardizedQueriesOnly:!1,supportsTopFeaturesQuery:!1,supportsStatistics:!1,supportsSqlExpression:!1,tileMaxRecordCount:void 0},queryRelated:{supportsCount:!1,supportsOrderBy:!1,supportsPagination:!1},editing:{supportsDeleteByAnonymous:!1,supportsDeleteByOthers:!1,supportsGeometryUpdate:!1,supportsGlobalId:!1,supportsReturnServiceEditsInSourceSpatialReference:!1,supportsRollbackOnFailure:!1,supportsUpdateByAnonymous:!1,supportsUpdateByOthers:!1,supportsUploadWithItemId:!1,supportsUpdateWithoutM:!1}}}_getExtent(e){var t;const s=null==(t=e.extent)?void 0:t.spatial;if(!s)return null;const r=s.bbox[0],o=4===r.length,i=r[0],p=r[1],a=o?void 0:r[2];return{xmin:i,ymin:p,xmax:o?r[2]:r[3],ymax:o?r[3]:r[4],zmin:a,zmax:o?void 0:r[5],spatialReference:g.WGS84.toJSON()}}_getStorageSpatialReference(e){var t;const s=null!=(t=e.storageCrs)?t:y,r=n(s);return o(r)?g.WGS84:new g({wkid:r})}_getSupportedSpatialReferences(e,t){var s;const r="#/crs",o=null!=(s=e.crs)?s:[y],i=o.includes(r)?o.filter((e=>e!==r)).concat(t.crs):o,p=/^http:\/\/www\.opengis.net\/def\/crs\/epsg\/.*\/3785$/i;return i.filter((e=>!p.test(e)))}async _loadOGCServices(e,s){const o=r(s)?s.signal:null,{apiKey:i,collectionId:p,customParameters:a,fields:y,geometryType:h,hasZ:g,objectIdField:v,timeInfo:x,url:R}=e,w={fields:null==y?void 0:y.map((e=>e.toJSON())),geometryType:S.toJSON(h),hasZ:g,objectIdField:v,timeInfo:null==x?void 0:x.toJSON()},C={apiKey:i,customParameters:a,signal:o},j=await u(R,C),[O,F]=await Promise.all([l(j,C),c(j,C)]);if(!this._conformsToType(O,"http://www.opengis.net/spec/ogcapi-features-1/1.0/conf/geojson"))throw new t("ogc-feature-layer:no-geojson-support","Server does not support geojson");const b=F.collections.find((e=>e.id===p));if(!b)throw new t("ogc-feature-layer:collection-not-found","Server does not contain the named collection");const D=this._conformsToType(O,"http://www.opengis.net/spec/ogcapi-features-1/1.0/conf/oas30")?await d(j,C):null,P=await m(b,w,C),T=this._getCapabilities(P.hasZ,D),_=this._getExtent(b),q=this._getStorageSpatialReference(b).toJSON(),E=this._getSupportedSpatialReferences(b,F),G=new RegExp(`^${f}`,"i"),I={};for(const t of E){const e=n(t);r(e)&&(I[e]||(I[e]=t.replace(G,"")))}P.extent=_,this.featureDefinition={capabilities:T,collection:b,layerDefinition:P,queryParameters:{},spatialReference:q,supportedCrs:I}}};e([i()],v.prototype,"featureDefinition",void 0),e([i({constructOnly:!0})],v.prototype,"layer",void 0),e([i()],v.prototype,"type",void 0),v=e([p("esri.layers.graphics.sources.OGCFeatureSource")],v);const x=v;export{v as OGCFeatureSource,x as default};
5
+ import{_ as t}from"../../../chunks/tslib.es6.js";import"../../../geometry.js";import e from"../../../core/Error.js";import s from"../../../core/Loadable.js";import{isSome as r,isNone as o}from"../../../core/maybe.js";import{property as i}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{queryFeatureSetJSON as a,getSpatialReferenceWkid as n,getServerLandingPage as u,getServerConformance as l,getServerCollections as c,getServerOpenApi as d,getCollectionDefinition as m,crsDefault as y,crsPrefix as f}from"../../ogc/ogcFeatureUtils.js";import g from"../../../rest/support/FeatureSet.js";import h from"../../../geometry/SpatialReference.js";import{typeKebabDictionary as S}from"../../../geometry/support/typeUtils.js";let v=class extends s{constructor(){super(...arguments),this.featureDefinition=null,this.type="ogc-feature"}load(t){return this.addResolvingPromise(this._loadOGCServices(this.layer,t)),this.when()}getFeatureDefinition(){const{featureDefinition:{collection:t,layerDefinition:e,spatialReference:s,supportedCrs:r},layer:{apiKey:o,capabilities:i,customParameters:p}}=this;return{capabilities:i,collection:t,layerDefinition:e,queryParameters:{apiKey:o,customParameters:p},spatialReference:s,supportedCrs:r}}queryExtent(t,e={}){return null}queryFeatureCount(t,e={}){return null}queryFeatures(t,e={}){return this.queryFeaturesJSON(t,e).then((t=>g.fromJSON(t)))}queryFeaturesJSON(t,e={}){const s=this.getFeatureDefinition();return this.load(e).then((()=>a(s,t,e)))}queryObjectIds(t,e={}){return null}supportsSpatialReference(t){return!(!t.isWGS84&&!t.isWebMercator)||!!this.featureDefinition.supportedCrs[t.wkid]}_conformsToType(t,e){var s;const r=new RegExp(`^${e}$`,"i");return null!=(s=t.conformsTo.some((t=>r.test(t))))&&s}_getCapabilities(t,e){var s,o,i,p,a,n,u;const l=r(e)?null==(s=e.components)?void 0:s.parameters:null;return{attachment:null,data:{isVersioned:!1,supportsAttachment:!1,supportsM:!1,supportsZ:t},metadata:{supportsAdvancedFieldProperties:!1},operations:{supportsCalculate:!1,supportsTruncate:!1,supportsValidateSql:!1,supportsAdd:!1,supportsDelete:!1,supportsEditing:!1,supportsChangeTracking:!1,supportsQuery:!1,supportsQueryAttachments:!1,supportsResizeAttachments:!1,supportsSync:!1,supportsUpdate:!1,supportsExceedsLimitStatistics:!1},query:{maxRecordCount:null!=(o=null!=(i=null==l||null==(p=l.limit)||null==(a=p.schema)?void 0:a.maximum)?i:null==l||null==(n=l.limitFeatures)||null==(u=n.schema)?void 0:u.maximum)?o:5e3,maxRecordCountFactor:void 0,standardMaxRecordCount:void 0,supportsCacheHint:!1,supportsCentroid:!1,supportsDisjointSpatialRelationship:!1,supportsDistance:!1,supportsDistinct:!1,supportsExtent:!1,supportsFormatPBF:!1,supportsGeometryProperties:!1,supportsHavingClause:!1,supportsHistoricMoment:!1,supportsMaxRecordCountFactor:!1,supportsOrderBy:!1,supportsPagination:!1,supportsPercentileStatistics:!1,supportsQuantization:!1,supportsQuantizationEditMode:!1,supportsQueryByOthers:!1,supportsQueryGeometry:!1,supportsResultType:!1,supportsStandardizedQueriesOnly:!1,supportsTopFeaturesQuery:!1,supportsStatistics:!1,supportsSpatialAggregationStatistics:!1,supportedSpatialAggregationStatistics:{envelope:!1,centroid:!1,convexHull:!1},supportsSqlExpression:!1,tileMaxRecordCount:void 0},queryRelated:{supportsCount:!1,supportsOrderBy:!1,supportsPagination:!1},editing:{supportsDeleteByAnonymous:!1,supportsDeleteByOthers:!1,supportsGeometryUpdate:!1,supportsGlobalId:!1,supportsReturnServiceEditsInSourceSpatialReference:!1,supportsRollbackOnFailure:!1,supportsUpdateByAnonymous:!1,supportsUpdateByOthers:!1,supportsUploadWithItemId:!1,supportsUpdateWithoutM:!1}}}_getExtent(t){var e;const s=null==(e=t.extent)?void 0:e.spatial;if(!s)return null;const r=s.bbox[0],o=4===r.length,i=r[0],p=r[1],a=o?void 0:r[2];return{xmin:i,ymin:p,xmax:o?r[2]:r[3],ymax:o?r[3]:r[4],zmin:a,zmax:o?void 0:r[5],spatialReference:h.WGS84.toJSON()}}_getStorageSpatialReference(t){var e;const s=null!=(e=t.storageCrs)?e:y,r=n(s);return o(r)?h.WGS84:new h({wkid:r})}_getSupportedSpatialReferences(t,e){var s;const r="#/crs",o=null!=(s=t.crs)?s:[y],i=o.includes(r)?o.filter((t=>t!==r)).concat(e.crs):o,p=/^http:\/\/www\.opengis.net\/def\/crs\/epsg\/.*\/3785$/i;return i.filter((t=>!p.test(t)))}async _loadOGCServices(t,s){const o=r(s)?s.signal:null,{apiKey:i,collectionId:p,customParameters:a,fields:y,geometryType:g,hasZ:h,objectIdField:v,timeInfo:x,url:R}=t,w={fields:null==y?void 0:y.map((t=>t.toJSON())),geometryType:S.toJSON(g),hasZ:h,objectIdField:v,timeInfo:null==x?void 0:x.toJSON()},C={apiKey:i,customParameters:a,signal:o},j=await u(R,C),[O,F]=await Promise.all([l(j,C),c(j,C)]);if(!this._conformsToType(O,"http://www.opengis.net/spec/ogcapi-features-1/1.0/conf/geojson"))throw new e("ogc-feature-layer:no-geojson-support","Server does not support geojson");const b=F.collections.find((t=>t.id===p));if(!b)throw new e("ogc-feature-layer:collection-not-found","Server does not contain the named collection");const D=this._conformsToType(O,"http://www.opengis.net/spec/ogcapi-features-1/1.0/conf/oas30")?await d(j,C):null,P=await m(b,w,C),T=this._getCapabilities(P.hasZ,D),_=this._getExtent(b),q=this._getStorageSpatialReference(b).toJSON(),E=this._getSupportedSpatialReferences(b,F),G=new RegExp(`^${f}`,"i"),I={};for(const e of E){const t=n(e);r(t)&&(I[t]||(I[t]=e.replace(G,"")))}P.extent=_,this.featureDefinition={capabilities:T,collection:b,layerDefinition:P,queryParameters:{},spatialReference:q,supportedCrs:I}}};t([i()],v.prototype,"featureDefinition",void 0),t([i({constructOnly:!0})],v.prototype,"layer",void 0),t([i()],v.prototype,"type",void 0),v=t([p("esri.layers.graphics.sources.OGCFeatureSource")],v);const x=v;export{v as OGCFeatureSource,x as default};