@arcgis/core 4.25.0-next.20220919 → 4.25.0-next.20220921

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 (604) hide show
  1. package/AggregateGraphic.js +1 -1
  2. package/assets/esri/core/workers/RemoteClient.js +1 -1
  3. package/assets/esri/core/workers/chunks/{9f31ab2247c9defb882c.js → 01ac91fc0bc6b4d4e3c6.js} +1 -1
  4. package/assets/esri/core/workers/chunks/{d26108352874af0b6762.js → 053564e659222e8f0efb.js} +1 -1
  5. package/assets/esri/core/workers/chunks/1c65fd714f637ac1ee8c.js +1 -0
  6. package/assets/esri/core/workers/chunks/{8588cbecb8e808f451fe.js → 249e32af1f2d433fae4c.js} +1 -1
  7. package/assets/esri/core/workers/chunks/{5b16b30ac3166f33e81e.js → 26690f4ec1f3cb8099c2.js} +1 -1
  8. package/assets/esri/core/workers/chunks/{be93b0cef85665446944.js → 274b4cdf6c8d77e8a2e6.js} +1 -1
  9. package/assets/esri/core/workers/chunks/{52dcfd6b8b1dfa864e44.js → 2cae0ec5f60ab42a49aa.js} +1 -1
  10. package/assets/esri/core/workers/chunks/43e4560d65e5ddeeef6f.js +1 -0
  11. package/assets/esri/core/workers/chunks/{f436c86f86236ea7ea04.js → 4641e10e0e8e9d257521.js} +1 -1
  12. package/assets/esri/core/workers/chunks/{7a45333de9ded92619c2.js → 466008f793c2e11e854c.js} +1 -1
  13. package/assets/esri/core/workers/chunks/{c9d655675552dcf6cef7.js → 4a699b41072ee88f0956.js} +1 -1
  14. package/assets/esri/core/workers/chunks/{14ea96e398f4842abe4e.js → 4fdd18f5cdaa0d82ebc1.js} +1 -1
  15. package/assets/esri/core/workers/chunks/{9662da3e1e37f3445186.js → 562b9619b8ee13734813.js} +1 -1
  16. package/assets/esri/core/workers/chunks/{5c1a5615c865c10209c2.js → 5880fa48bad79a7c93ab.js} +1 -1
  17. package/assets/esri/core/workers/chunks/58824250492b89ec24ea.js +1 -0
  18. package/assets/esri/core/workers/chunks/64a6b837f1d5d7ad7619.js +1 -0
  19. package/assets/esri/core/workers/chunks/{421241543afbc9a619ea.js → 64de93865088bbe0398f.js} +1 -1
  20. package/assets/esri/core/workers/chunks/{99d56a707039d645622c.js → 6a20d8740ec2a5b2c579.js} +1 -1
  21. package/assets/esri/core/workers/chunks/{8bab21bc6164a593278f.js → 771b92e524802de840ba.js} +1 -1
  22. package/assets/esri/core/workers/chunks/{dbb1bf97c85848bb8ce1.js → 7ce250cc6fbe68aef50d.js} +32 -32
  23. package/assets/esri/core/workers/chunks/{2c4938512dd726a177dd.js → 7fab18074b130b71a648.js} +1 -1
  24. package/assets/esri/core/workers/chunks/{f67357b3c6c591c9da5e.js → 872f1cb3596fb80e387f.js} +1 -1
  25. package/assets/esri/core/workers/chunks/{3ee81834b3217720cb48.js → 8874e69378a27d155f9d.js} +1 -1
  26. package/assets/esri/core/workers/chunks/{31de71018575457155e5.js → 8ee3da8677255b8c8709.js} +1 -1
  27. package/assets/esri/core/workers/chunks/{2e44aee22e70857b893c.js → 93631b10452b0e0189b3.js} +1 -1
  28. package/assets/esri/core/workers/chunks/{cb2dc84d972469445da6.js → 95cd9edca50ea163d50f.js} +1 -1
  29. package/assets/esri/core/workers/chunks/{d31bbb13af45ce8e45dc.js → acf9f753741b677afb44.js} +1 -1
  30. package/assets/esri/core/workers/chunks/{1455944edeba1560eb07.js → afdafa77f5ca1b9e3acc.js} +1 -1
  31. package/assets/esri/core/workers/chunks/{cf3e1ac63580bc495ea6.js → b4da35f1093f3731f9ac.js} +1 -1
  32. package/assets/esri/core/workers/chunks/{09f4296dcb80e3ae4b3d.js → b8eba8c9d5424a7ae5f2.js} +1 -1
  33. package/assets/esri/core/workers/chunks/bb0d86937faf0cd7d16d.js +1 -0
  34. package/assets/esri/core/workers/chunks/bf3e80023e156d5906c7.js +1 -0
  35. package/assets/esri/core/workers/chunks/{8ba83fee56dd4f306d87.js → c2a6ac7046134f725cf3.js} +1 -1
  36. package/assets/esri/core/workers/chunks/{5d3fabe66e1bce1b30fb.js → cc7569489b572b8b3b53.js} +1 -1
  37. package/assets/esri/core/workers/chunks/{fddd4ea487788e003fb1.js → d09f06eb4157a7c2c8ab.js} +1 -1
  38. package/assets/esri/core/workers/chunks/d1be3ab7846e3a555b6c.js +1 -0
  39. package/assets/esri/core/workers/chunks/e064035f959d68e9603f.js +1 -0
  40. package/assets/esri/core/workers/chunks/{d92975e56a1290255252.js → e09df62cf35d636b0975.js} +1 -1
  41. package/assets/esri/core/workers/chunks/{674fa5b93704ef08c9e8.js → e0c763e05feb1c2093ba.js} +1 -1
  42. package/assets/esri/core/workers/chunks/e20e99f8f76f5002437e.js +1 -0
  43. package/assets/esri/core/workers/chunks/{51289d2f5277af4023e9.js → ed33e019bc7775db2e50.js} +1 -1
  44. package/assets/esri/core/workers/chunks/ef95d6ab7b1c032ab4ad.js +1 -0
  45. package/assets/esri/core/workers/chunks/{48aa432e1bf60c68de14.js → f0c4b408a0b88adf6576.js} +1 -1
  46. package/assets/esri/core/workers/chunks/{169f4354a375db5de121.js → ffcbcb928b6cb8c596ad.js} +1 -1
  47. package/assets/esri/t9n/common_ar.json +1 -1
  48. package/assets/esri/t9n/common_bg.json +1 -1
  49. package/assets/esri/t9n/common_bs.json +1 -1
  50. package/assets/esri/t9n/common_ca.json +1 -1
  51. package/assets/esri/t9n/common_cs.json +1 -1
  52. package/assets/esri/t9n/common_da.json +1 -1
  53. package/assets/esri/t9n/common_de.json +1 -1
  54. package/assets/esri/t9n/common_el.json +1 -1
  55. package/assets/esri/t9n/common_es.json +1 -1
  56. package/assets/esri/t9n/common_et.json +1 -1
  57. package/assets/esri/t9n/common_fi.json +1 -1
  58. package/assets/esri/t9n/common_fr.json +1 -1
  59. package/assets/esri/t9n/common_he.json +1 -1
  60. package/assets/esri/t9n/common_hr.json +1 -1
  61. package/assets/esri/t9n/common_hu.json +1 -1
  62. package/assets/esri/t9n/common_id.json +1 -1
  63. package/assets/esri/t9n/common_it.json +1 -1
  64. package/assets/esri/t9n/common_ja.json +1 -1
  65. package/assets/esri/t9n/common_ko.json +1 -1
  66. package/assets/esri/t9n/common_lt.json +1 -1
  67. package/assets/esri/t9n/common_lv.json +1 -1
  68. package/assets/esri/t9n/common_nb.json +1 -1
  69. package/assets/esri/t9n/common_nl.json +1 -1
  70. package/assets/esri/t9n/common_pl.json +1 -1
  71. package/assets/esri/t9n/common_pt-BR.json +1 -1
  72. package/assets/esri/t9n/common_pt-PT.json +1 -1
  73. package/assets/esri/t9n/common_ro.json +1 -1
  74. package/assets/esri/t9n/common_ru.json +1 -1
  75. package/assets/esri/t9n/common_sk.json +1 -1
  76. package/assets/esri/t9n/common_sl.json +1 -1
  77. package/assets/esri/t9n/common_sr.json +1 -1
  78. package/assets/esri/t9n/common_sv.json +1 -1
  79. package/assets/esri/t9n/common_th.json +1 -1
  80. package/assets/esri/t9n/common_tr.json +1 -1
  81. package/assets/esri/t9n/common_uk.json +1 -1
  82. package/assets/esri/t9n/common_vi.json +1 -1
  83. package/assets/esri/t9n/common_zh-CN.json +1 -1
  84. package/assets/esri/t9n/common_zh-HK.json +1 -1
  85. package/assets/esri/t9n/common_zh-TW.json +1 -1
  86. package/assets/esri/themes/base/widgets/_Daylight.scss +1 -0
  87. package/assets/esri/themes/base/widgets/_Directions.scss +1 -2
  88. package/assets/esri/themes/dark/main.css +1 -1
  89. package/assets/esri/themes/light/main.css +1 -1
  90. package/assets/esri/themes/light/view.css +1 -1
  91. package/assets/esri/widgets/Feature/t9n/Feature_ar.json +1 -1
  92. package/assets/esri/widgets/Feature/t9n/Feature_bg.json +1 -1
  93. package/assets/esri/widgets/Feature/t9n/Feature_bs.json +1 -1
  94. package/assets/esri/widgets/Feature/t9n/Feature_ca.json +1 -1
  95. package/assets/esri/widgets/Feature/t9n/Feature_cs.json +1 -1
  96. package/assets/esri/widgets/Feature/t9n/Feature_da.json +1 -1
  97. package/assets/esri/widgets/Feature/t9n/Feature_de.json +1 -1
  98. package/assets/esri/widgets/Feature/t9n/Feature_el.json +1 -1
  99. package/assets/esri/widgets/Feature/t9n/Feature_es.json +1 -1
  100. package/assets/esri/widgets/Feature/t9n/Feature_et.json +1 -1
  101. package/assets/esri/widgets/Feature/t9n/Feature_fi.json +1 -1
  102. package/assets/esri/widgets/Feature/t9n/Feature_fr.json +1 -1
  103. package/assets/esri/widgets/Feature/t9n/Feature_he.json +1 -1
  104. package/assets/esri/widgets/Feature/t9n/Feature_hr.json +1 -1
  105. package/assets/esri/widgets/Feature/t9n/Feature_hu.json +1 -1
  106. package/assets/esri/widgets/Feature/t9n/Feature_id.json +1 -1
  107. package/assets/esri/widgets/Feature/t9n/Feature_it.json +1 -1
  108. package/assets/esri/widgets/Feature/t9n/Feature_ja.json +1 -1
  109. package/assets/esri/widgets/Feature/t9n/Feature_ko.json +1 -1
  110. package/assets/esri/widgets/Feature/t9n/Feature_lt.json +1 -1
  111. package/assets/esri/widgets/Feature/t9n/Feature_lv.json +1 -1
  112. package/assets/esri/widgets/Feature/t9n/Feature_nb.json +1 -1
  113. package/assets/esri/widgets/Feature/t9n/Feature_nl.json +1 -1
  114. package/assets/esri/widgets/Feature/t9n/Feature_pl.json +1 -1
  115. package/assets/esri/widgets/Feature/t9n/Feature_pt-BR.json +1 -1
  116. package/assets/esri/widgets/Feature/t9n/Feature_pt-PT.json +1 -1
  117. package/assets/esri/widgets/Feature/t9n/Feature_ro.json +1 -1
  118. package/assets/esri/widgets/Feature/t9n/Feature_ru.json +1 -1
  119. package/assets/esri/widgets/Feature/t9n/Feature_sk.json +1 -1
  120. package/assets/esri/widgets/Feature/t9n/Feature_sl.json +1 -1
  121. package/assets/esri/widgets/Feature/t9n/Feature_sr.json +1 -1
  122. package/assets/esri/widgets/Feature/t9n/Feature_sv.json +1 -1
  123. package/assets/esri/widgets/Feature/t9n/Feature_th.json +1 -1
  124. package/assets/esri/widgets/Feature/t9n/Feature_tr.json +1 -1
  125. package/assets/esri/widgets/Feature/t9n/Feature_uk.json +1 -1
  126. package/assets/esri/widgets/Feature/t9n/Feature_vi.json +1 -1
  127. package/assets/esri/widgets/Feature/t9n/Feature_zh-CN.json +1 -1
  128. package/assets/esri/widgets/Feature/t9n/Feature_zh-HK.json +1 -1
  129. package/assets/esri/widgets/Feature/t9n/Feature_zh-TW.json +1 -1
  130. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ar.json +1 -1
  131. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_bg.json +1 -1
  132. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_bs.json +1 -1
  133. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ca.json +1 -1
  134. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_cs.json +1 -1
  135. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_da.json +1 -1
  136. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_de.json +1 -1
  137. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_el.json +1 -1
  138. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_es.json +1 -1
  139. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_et.json +1 -1
  140. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_fi.json +1 -1
  141. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_fr.json +1 -1
  142. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_he.json +1 -1
  143. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_hr.json +1 -1
  144. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_hu.json +1 -1
  145. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_id.json +1 -1
  146. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_it.json +1 -1
  147. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ja.json +1 -1
  148. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ko.json +1 -1
  149. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_lt.json +1 -1
  150. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_lv.json +1 -1
  151. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_nb.json +1 -1
  152. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_nl.json +1 -1
  153. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_pl.json +1 -1
  154. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_pt-BR.json +1 -1
  155. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_pt-PT.json +1 -1
  156. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ro.json +1 -1
  157. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ru.json +1 -1
  158. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_sk.json +1 -1
  159. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_sl.json +1 -1
  160. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_sr.json +1 -1
  161. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_sv.json +1 -1
  162. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_th.json +1 -1
  163. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_tr.json +1 -1
  164. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_uk.json +1 -1
  165. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_vi.json +1 -1
  166. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_zh-CN.json +1 -1
  167. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_zh-HK.json +1 -1
  168. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_zh-TW.json +1 -1
  169. package/assets/esri/widgets/Popup/t9n/Popup_ar.json +1 -1
  170. package/assets/esri/widgets/Popup/t9n/Popup_bg.json +1 -1
  171. package/assets/esri/widgets/Popup/t9n/Popup_bs.json +1 -1
  172. package/assets/esri/widgets/Popup/t9n/Popup_ca.json +1 -1
  173. package/assets/esri/widgets/Popup/t9n/Popup_cs.json +1 -1
  174. package/assets/esri/widgets/Popup/t9n/Popup_da.json +1 -1
  175. package/assets/esri/widgets/Popup/t9n/Popup_de.json +1 -1
  176. package/assets/esri/widgets/Popup/t9n/Popup_el.json +1 -1
  177. package/assets/esri/widgets/Popup/t9n/Popup_es.json +1 -1
  178. package/assets/esri/widgets/Popup/t9n/Popup_et.json +1 -1
  179. package/assets/esri/widgets/Popup/t9n/Popup_fi.json +1 -1
  180. package/assets/esri/widgets/Popup/t9n/Popup_fr.json +1 -1
  181. package/assets/esri/widgets/Popup/t9n/Popup_he.json +1 -1
  182. package/assets/esri/widgets/Popup/t9n/Popup_hr.json +1 -1
  183. package/assets/esri/widgets/Popup/t9n/Popup_hu.json +1 -1
  184. package/assets/esri/widgets/Popup/t9n/Popup_id.json +1 -1
  185. package/assets/esri/widgets/Popup/t9n/Popup_it.json +1 -1
  186. package/assets/esri/widgets/Popup/t9n/Popup_ja.json +1 -1
  187. package/assets/esri/widgets/Popup/t9n/Popup_ko.json +1 -1
  188. package/assets/esri/widgets/Popup/t9n/Popup_lt.json +1 -1
  189. package/assets/esri/widgets/Popup/t9n/Popup_lv.json +1 -1
  190. package/assets/esri/widgets/Popup/t9n/Popup_nb.json +1 -1
  191. package/assets/esri/widgets/Popup/t9n/Popup_nl.json +1 -1
  192. package/assets/esri/widgets/Popup/t9n/Popup_pl.json +1 -1
  193. package/assets/esri/widgets/Popup/t9n/Popup_pt-BR.json +1 -1
  194. package/assets/esri/widgets/Popup/t9n/Popup_pt-PT.json +1 -1
  195. package/assets/esri/widgets/Popup/t9n/Popup_ro.json +1 -1
  196. package/assets/esri/widgets/Popup/t9n/Popup_ru.json +1 -1
  197. package/assets/esri/widgets/Popup/t9n/Popup_sk.json +1 -1
  198. package/assets/esri/widgets/Popup/t9n/Popup_sl.json +1 -1
  199. package/assets/esri/widgets/Popup/t9n/Popup_sr.json +1 -1
  200. package/assets/esri/widgets/Popup/t9n/Popup_sv.json +1 -1
  201. package/assets/esri/widgets/Popup/t9n/Popup_th.json +1 -1
  202. package/assets/esri/widgets/Popup/t9n/Popup_tr.json +1 -1
  203. package/assets/esri/widgets/Popup/t9n/Popup_uk.json +1 -1
  204. package/assets/esri/widgets/Popup/t9n/Popup_vi.json +1 -1
  205. package/assets/esri/widgets/Popup/t9n/Popup_zh-CN.json +1 -1
  206. package/assets/esri/widgets/Popup/t9n/Popup_zh-HK.json +1 -1
  207. package/assets/esri/widgets/Popup/t9n/Popup_zh-TW.json +1 -1
  208. package/assets/esri/widgets/support/t9n/DatePicker_ar.json +1 -1
  209. package/assets/esri/widgets/support/t9n/DatePicker_bg.json +1 -1
  210. package/assets/esri/widgets/support/t9n/DatePicker_bs.json +1 -1
  211. package/assets/esri/widgets/support/t9n/DatePicker_ca.json +1 -1
  212. package/assets/esri/widgets/support/t9n/DatePicker_cs.json +1 -1
  213. package/assets/esri/widgets/support/t9n/DatePicker_da.json +1 -1
  214. package/assets/esri/widgets/support/t9n/DatePicker_de.json +1 -1
  215. package/assets/esri/widgets/support/t9n/DatePicker_el.json +1 -1
  216. package/assets/esri/widgets/support/t9n/DatePicker_es.json +1 -1
  217. package/assets/esri/widgets/support/t9n/DatePicker_et.json +1 -1
  218. package/assets/esri/widgets/support/t9n/DatePicker_fi.json +1 -1
  219. package/assets/esri/widgets/support/t9n/DatePicker_fr.json +1 -1
  220. package/assets/esri/widgets/support/t9n/DatePicker_he.json +1 -1
  221. package/assets/esri/widgets/support/t9n/DatePicker_hr.json +1 -1
  222. package/assets/esri/widgets/support/t9n/DatePicker_hu.json +1 -1
  223. package/assets/esri/widgets/support/t9n/DatePicker_id.json +1 -1
  224. package/assets/esri/widgets/support/t9n/DatePicker_it.json +1 -1
  225. package/assets/esri/widgets/support/t9n/DatePicker_ja.json +1 -1
  226. package/assets/esri/widgets/support/t9n/DatePicker_ko.json +1 -1
  227. package/assets/esri/widgets/support/t9n/DatePicker_lt.json +1 -1
  228. package/assets/esri/widgets/support/t9n/DatePicker_lv.json +1 -1
  229. package/assets/esri/widgets/support/t9n/DatePicker_nb.json +1 -1
  230. package/assets/esri/widgets/support/t9n/DatePicker_nl.json +1 -1
  231. package/assets/esri/widgets/support/t9n/DatePicker_pl.json +1 -1
  232. package/assets/esri/widgets/support/t9n/DatePicker_pt-BR.json +1 -1
  233. package/assets/esri/widgets/support/t9n/DatePicker_pt-PT.json +1 -1
  234. package/assets/esri/widgets/support/t9n/DatePicker_ro.json +1 -1
  235. package/assets/esri/widgets/support/t9n/DatePicker_ru.json +1 -1
  236. package/assets/esri/widgets/support/t9n/DatePicker_sk.json +1 -1
  237. package/assets/esri/widgets/support/t9n/DatePicker_sl.json +1 -1
  238. package/assets/esri/widgets/support/t9n/DatePicker_sr.json +1 -1
  239. package/assets/esri/widgets/support/t9n/DatePicker_sv.json +1 -1
  240. package/assets/esri/widgets/support/t9n/DatePicker_th.json +1 -1
  241. package/assets/esri/widgets/support/t9n/DatePicker_tr.json +1 -1
  242. package/assets/esri/widgets/support/t9n/DatePicker_uk.json +1 -1
  243. package/assets/esri/widgets/support/t9n/DatePicker_vi.json +1 -1
  244. package/assets/esri/widgets/support/t9n/DatePicker_zh-CN.json +1 -1
  245. package/assets/esri/widgets/support/t9n/DatePicker_zh-HK.json +1 -1
  246. package/assets/esri/widgets/support/t9n/DatePicker_zh-TW.json +1 -1
  247. package/assets/esri/widgets/support/t9n/TimePicker_ar.json +1 -1
  248. package/assets/esri/widgets/support/t9n/TimePicker_bg.json +1 -1
  249. package/assets/esri/widgets/support/t9n/TimePicker_bs.json +1 -1
  250. package/assets/esri/widgets/support/t9n/TimePicker_ca.json +1 -1
  251. package/assets/esri/widgets/support/t9n/TimePicker_cs.json +1 -1
  252. package/assets/esri/widgets/support/t9n/TimePicker_da.json +1 -1
  253. package/assets/esri/widgets/support/t9n/TimePicker_de.json +1 -1
  254. package/assets/esri/widgets/support/t9n/TimePicker_el.json +1 -1
  255. package/assets/esri/widgets/support/t9n/TimePicker_es.json +1 -1
  256. package/assets/esri/widgets/support/t9n/TimePicker_et.json +1 -1
  257. package/assets/esri/widgets/support/t9n/TimePicker_fi.json +1 -1
  258. package/assets/esri/widgets/support/t9n/TimePicker_fr.json +1 -1
  259. package/assets/esri/widgets/support/t9n/TimePicker_he.json +1 -1
  260. package/assets/esri/widgets/support/t9n/TimePicker_hr.json +1 -1
  261. package/assets/esri/widgets/support/t9n/TimePicker_hu.json +1 -1
  262. package/assets/esri/widgets/support/t9n/TimePicker_id.json +1 -1
  263. package/assets/esri/widgets/support/t9n/TimePicker_it.json +1 -1
  264. package/assets/esri/widgets/support/t9n/TimePicker_ja.json +1 -1
  265. package/assets/esri/widgets/support/t9n/TimePicker_ko.json +1 -1
  266. package/assets/esri/widgets/support/t9n/TimePicker_lt.json +1 -1
  267. package/assets/esri/widgets/support/t9n/TimePicker_lv.json +1 -1
  268. package/assets/esri/widgets/support/t9n/TimePicker_nb.json +1 -1
  269. package/assets/esri/widgets/support/t9n/TimePicker_nl.json +1 -1
  270. package/assets/esri/widgets/support/t9n/TimePicker_pl.json +1 -1
  271. package/assets/esri/widgets/support/t9n/TimePicker_pt-BR.json +1 -1
  272. package/assets/esri/widgets/support/t9n/TimePicker_pt-PT.json +1 -1
  273. package/assets/esri/widgets/support/t9n/TimePicker_ro.json +1 -1
  274. package/assets/esri/widgets/support/t9n/TimePicker_ru.json +1 -1
  275. package/assets/esri/widgets/support/t9n/TimePicker_sk.json +1 -1
  276. package/assets/esri/widgets/support/t9n/TimePicker_sl.json +1 -1
  277. package/assets/esri/widgets/support/t9n/TimePicker_sr.json +1 -1
  278. package/assets/esri/widgets/support/t9n/TimePicker_sv.json +1 -1
  279. package/assets/esri/widgets/support/t9n/TimePicker_th.json +1 -1
  280. package/assets/esri/widgets/support/t9n/TimePicker_tr.json +1 -1
  281. package/assets/esri/widgets/support/t9n/TimePicker_uk.json +1 -1
  282. package/assets/esri/widgets/support/t9n/TimePicker_vi.json +1 -1
  283. package/assets/esri/widgets/support/t9n/TimePicker_zh-CN.json +1 -1
  284. package/assets/esri/widgets/support/t9n/TimePicker_zh-HK.json +1 -1
  285. package/assets/esri/widgets/support/t9n/TimePicker_zh-TW.json +1 -1
  286. package/chunks/CheckerBoard.glsl.js +3 -3
  287. package/chunks/ColorMaterial.glsl.js +5 -5
  288. package/chunks/ComponentShader.glsl.js +1 -1
  289. package/chunks/Compositing.glsl.js +4 -19
  290. package/chunks/DefaultMaterial.glsl.js +2 -2
  291. package/chunks/HUDCompositing.glsl.js +7 -0
  292. package/chunks/HeatmapDensity.glsl.js +4 -4
  293. package/chunks/ImageMaterial.glsl.js +1 -1
  294. package/chunks/Laserlines.glsl.js +5 -5
  295. package/chunks/LineMarker.glsl.js +1 -1
  296. package/chunks/MeasurementArrow.glsl.js +3 -3
  297. package/chunks/NativeLine.glsl.js +1 -1
  298. package/chunks/OITCompositing.glsl.js +13 -0
  299. package/chunks/OverlayCompositing.glsl.js +8 -0
  300. package/chunks/Path.glsl.js +3 -3
  301. package/chunks/Pattern.glsl.js +1 -1
  302. package/chunks/Precipitation.glsl.js +3 -3
  303. package/chunks/RealisticTree.glsl.js +2 -2
  304. package/chunks/RibbonLine.glsl.js +25 -25
  305. package/chunks/ShadedColorMaterial.glsl.js +1 -1
  306. package/chunks/ShadowHighlight.glsl.js +1 -1
  307. package/chunks/SlicePlaneMaterial.glsl.js +2 -2
  308. package/chunks/Terrain.glsl.js +4 -4
  309. package/chunks/WaterSurface.glsl.js +1 -1
  310. package/chunks/ar.js +1 -1
  311. package/chunks/bg_BG.js +1 -1
  312. package/chunks/boundedPlane.js +1 -1
  313. package/chunks/bs_BA.js +1 -1
  314. package/chunks/ca_ES.js +1 -1
  315. package/chunks/cameraUtilsPlanar.js +1 -1
  316. package/chunks/cameraUtilsSpherical.js +1 -1
  317. package/chunks/cs_CZ.js +1 -1
  318. package/chunks/da_DK.js +1 -1
  319. package/chunks/de_CH.js +1 -1
  320. package/chunks/de_DE.js +1 -1
  321. package/chunks/el_GR.js +1 -1
  322. package/chunks/en_CA.js +1 -1
  323. package/chunks/en_US.js +1 -1
  324. package/chunks/es_ES.js +1 -1
  325. package/chunks/et_EE.js +1 -1
  326. package/chunks/fi_FI.js +1 -1
  327. package/chunks/fr_FR.js +1 -1
  328. package/chunks/he_IL.js +1 -1
  329. package/chunks/hr_HR.js +1 -1
  330. package/chunks/hu_HU.js +1 -1
  331. package/chunks/id_ID.js +1 -1
  332. package/chunks/index.js +1 -1
  333. package/chunks/it_IT.js +1 -1
  334. package/chunks/ja_JP.js +1 -1
  335. package/chunks/ko_KR.js +1 -1
  336. package/chunks/lt_LT.js +1 -1
  337. package/chunks/lv_LV.js +1 -1
  338. package/chunks/mat3.js +1 -1
  339. package/chunks/nb_NO.js +1 -1
  340. package/chunks/nl_NL.js +1 -1
  341. package/chunks/pl_PL.js +1 -1
  342. package/chunks/pt_BR.js +1 -1
  343. package/chunks/pt_PT.js +1 -1
  344. package/chunks/quat.js +1 -1
  345. package/chunks/quat2.js +1 -1
  346. package/chunks/quatf64.js +1 -1
  347. package/chunks/ro_RO.js +1 -1
  348. package/chunks/ru_RU.js +1 -1
  349. package/chunks/sk_SK.js +1 -1
  350. package/chunks/sl_SL.js +1 -1
  351. package/chunks/sphere.js +1 -1
  352. package/chunks/sr_RS.js +1 -1
  353. package/chunks/sv_SE.js +1 -1
  354. package/chunks/th_TH.js +1 -1
  355. package/chunks/tr_TR.js +1 -1
  356. package/chunks/uk_UA.js +1 -1
  357. package/chunks/vec3.js +1 -1
  358. package/chunks/vec3f32.js +1 -1
  359. package/chunks/vec4f64.js +1 -1
  360. package/chunks/vi_VN.js +1 -1
  361. package/chunks/zh_Hans.js +1 -1
  362. package/chunks/zh_Hant.js +1 -1
  363. package/core/VectorStack.js +1 -1
  364. package/core/libs/gl-matrix-2/factories/quatf64.js +1 -1
  365. package/core/libs/gl-matrix-2/factories/vec3f32.js +1 -1
  366. package/core/libs/gl-matrix-2/factories/vec4f64.js +1 -1
  367. package/core/libs/gl-matrix-2/math/mat3.js +1 -1
  368. package/core/libs/gl-matrix-2/math/quat.js +1 -1
  369. package/core/libs/gl-matrix-2/math/vec3.js +1 -1
  370. package/core/perspectiveUtils.js +1 -1
  371. package/core/workers/workerFactory.js +1 -1
  372. package/geohash/GeohashTree.js +1 -1
  373. package/geometry/support/MeshTransform.js +1 -1
  374. package/geometry/support/axisAngle.js +1 -1
  375. package/geometry/support/axisAngleDegrees.js +1 -1
  376. package/geometry/support/lineSegment.js +1 -1
  377. package/geometry/support/meshUtils/exporters/gltf/gltf.js +1 -1
  378. package/geometry/support/meshUtils/exporters/gltf/node.js +1 -1
  379. package/geometry/support/meshUtils/georeference.js +1 -1
  380. package/geometry/support/meshUtils/loadGLTFMesh.js +1 -1
  381. package/geometry/support/meshUtils/projection.js +1 -1
  382. package/geometry/support/meshUtils/rotate.js +1 -1
  383. package/geometry/support/plane.js +1 -1
  384. package/interfaces.d.ts +70 -0
  385. package/layers/VoxelWasmPerSceneView.js +1 -1
  386. package/layers/buildingSublayers/BuildingComponentSublayer.js +1 -1
  387. package/layers/graphics/featureConversionUtils.js +1 -1
  388. package/layers/mixins/EditBusLayer.js +1 -1
  389. package/layers/mixins/OperationalLayer.js +1 -1
  390. package/layers/support/AggregateField.js +1 -1
  391. package/layers/support/ControlPointsGeoreference.js +1 -1
  392. package/layers/support/ExportImageServiceParameters.js +1 -1
  393. package/layers/support/OutStatistic.js +1 -1
  394. package/layers/support/VoxelVolume.js +1 -1
  395. package/layers/support/voxelPlaneUtils.js +1 -1
  396. package/package.json +1 -1
  397. package/rest/support/AggregateFeatureSet.js +5 -0
  398. package/support/revision.js +1 -1
  399. package/views/2d/ViewState.js +1 -1
  400. package/views/2d/engine/flow/FlowDisplayObject.js +1 -1
  401. package/views/2d/engine/imagery/RasterVFTile.js +1 -1
  402. package/views/2d/engine/vectorTiles/VectorTile.js +1 -1
  403. package/views/2d/engine/webgl/OverlayContainer.js +1 -1
  404. package/views/2d/engine/webgl/TiledDisplayObject.js +1 -1
  405. package/views/2d/engine/webgl/WGLTile.js +1 -1
  406. package/views/2d/engine/webgl/WorldExtentClipRenderer.js +1 -1
  407. package/views/2d/layers/FeatureLayerView2D.js +1 -1
  408. package/views/2d/layers/ImageryLayerView2D.js +1 -1
  409. package/views/2d/layers/LayerView2D.js +1 -1
  410. package/views/2d/layers/features/controllers/FeatureController2D.js +1 -1
  411. package/views/2d/layers/features/schemaUtils.js +1 -1
  412. package/views/2d/layers/features/support/BinStore.js +1 -1
  413. package/views/2d/layers/features/support/ClusterStore.js +1 -1
  414. package/views/2d/layers/graphics/GraphicBoundsRenderer.js +1 -1
  415. package/views/2d/layers/imagery/ImageryView2D.js +1 -1
  416. package/views/2d/layers/support/DebugOverlay.js +1 -1
  417. package/views/2d/layers/support/ExportStrategy.js +1 -1
  418. package/views/2d/layers/support/FeatureLayerProxy.js +1 -1
  419. package/views/2d/layers/support/clusterUtils.js +1 -1
  420. package/views/3d/analysis/AreaMeasurement/support/MeasurementData.js +1 -1
  421. package/views/3d/analysis/Dimensioning/DimensioningTool.js +1 -1
  422. package/views/3d/analysis/Dimensioning/LengthDimensionComputation.js +1 -1
  423. package/views/3d/analysis/Dimensioning/LengthDimensionSubTool.js +1 -1
  424. package/views/3d/analysis/Dimensioning/LengthDimensionVisualization.js +1 -1
  425. package/views/3d/analysis/Dimensioning/lengthDimensionUtils.js +1 -1
  426. package/views/3d/analysis/LineOfSight/LineOfSightController.js +1 -1
  427. package/views/3d/analysis/Slice/SliceTool.js +1 -1
  428. package/views/3d/analysis/Slice/sliceToolConfig.js +1 -1
  429. package/views/3d/analysis/Slice/sliceToolUtils.js +1 -1
  430. package/views/3d/camera/constraintUtils/distance.js +1 -1
  431. package/views/3d/camera/constraintUtils/tilt.js +1 -1
  432. package/views/3d/environment/CloudsComposition.js +1 -1
  433. package/views/3d/environment/CloudsCompositionParameters.js +1 -1
  434. package/views/3d/environment/CloudsGenerator.js +1 -1
  435. package/views/3d/environment/CloudsPresets.js +1 -1
  436. package/views/3d/environment/EnvironmentRenderer.js +1 -1
  437. package/views/3d/environment/Fog.js +1 -1
  438. package/views/3d/environment/PanoramicAtmosphere.js +1 -1
  439. package/views/3d/environment/Precipitation.js +1 -1
  440. package/views/3d/environment/SceneViewEnvironmentManager.js +1 -1
  441. package/views/3d/environment/SimpleAtmosphere.js +1 -1
  442. package/views/3d/environment/weatherUtils.js +1 -1
  443. package/views/3d/externalRenderers/ExternalRendererStore.js +1 -1
  444. package/views/3d/externalRenderers/RenderContext.js +1 -1
  445. package/views/3d/glTF/internal/Resource.js +1 -1
  446. package/views/3d/interactive/Manipulator3D.js +1 -1
  447. package/views/3d/interactive/editingTools/reshapeGraphic/edgeOffsetUtils.js +1 -1
  448. package/views/3d/interactive/editingTools/settings.js +1 -1
  449. package/views/3d/interactive/editingTools/transformGraphic/ExtentTransformTool.js +1 -1
  450. package/views/3d/interactive/editingTools/transformGraphic/GraphicScaleRotateTransform.js +1 -1
  451. package/views/3d/interactive/manipulatorUtils.js +1 -1
  452. package/views/3d/interactive/visualElements/ExtendedLineVisualElement.js +1 -1
  453. package/views/3d/interactive/visualElements/LineVisualElement.js +1 -1
  454. package/views/3d/interactive/visualElements/ParallelLineVisualElement.js +1 -1
  455. package/views/3d/layers/BuildingComponentSublayerView3D.js +1 -1
  456. package/views/3d/layers/I3SMeshView3D.js +1 -1
  457. package/views/3d/layers/ImageryLayerView3D.js +1 -1
  458. package/views/3d/layers/PointCloudLayerView3D.js +1 -1
  459. package/views/3d/layers/PointCloudWorker.js +1 -1
  460. package/views/3d/layers/SceneLayerGraphicsView3D.js +1 -1
  461. package/views/3d/layers/graphics/Deconflictor.js +1 -1
  462. package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
  463. package/views/3d/layers/graphics/Graphics3DExtrudeSymbolLayer.js +1 -1
  464. package/views/3d/layers/graphics/Graphics3DFeatureProcessor.js +1 -1
  465. package/views/3d/layers/graphics/Graphics3DLodInstanceGraphicLayer.js +1 -1
  466. package/views/3d/layers/graphics/Graphics3DObject3DGraphicLayer.js +1 -1
  467. package/views/3d/layers/graphics/Graphics3DObjectSymbolLayer.js +1 -1
  468. package/views/3d/layers/graphics/Graphics3DPathSymbolLayer.js +1 -1
  469. package/views/3d/layers/graphics/elevationAlignPointsInFeatures.js +1 -1
  470. package/views/3d/layers/graphics/objectResourceUtils.js +1 -1
  471. package/views/3d/layers/i3s/I3SElevationProvider.js +1 -1
  472. package/views/3d/layers/i3s/I3SIndex.js +1 -1
  473. package/views/3d/layers/i3s/I3SUtil.js +1 -1
  474. package/views/3d/layers/i3s/I3SViewportQueries.js +1 -1
  475. package/views/3d/layers/i3s/PointRenderer.js +1 -1
  476. package/views/3d/layers/support/FeatureTileVisibility3D.js +1 -1
  477. package/views/3d/layers/support/I3STreeDebugger.js +1 -1
  478. package/views/3d/layers/support/edgeUtils.js +1 -1
  479. package/views/3d/layers/support/uvUtils.js +1 -1
  480. package/views/3d/state/Frustum.js +1 -1
  481. package/views/3d/state/controllers/GamepadKeyboardController.js +1 -1
  482. package/views/3d/state/controllers/RotateController.js +1 -1
  483. package/views/3d/state/controllers/global/PinchAndPanController.js +1 -1
  484. package/views/3d/state/controllers/local/PinchAndPanController.js +1 -1
  485. package/views/3d/state/controllers/local/ZoomController.js +1 -1
  486. package/views/3d/state/controllers/momentum/ZoomPlanarMomentumController.js +1 -1
  487. package/views/3d/state/utils/navigationUtils.js +1 -1
  488. package/views/3d/support/FrustumExtentIntersection.js +1 -1
  489. package/views/3d/support/orientedBoundingBox.js +1 -1
  490. package/views/3d/support/pointsOfInterest/CameraOnSurface.js +1 -1
  491. package/views/3d/support/pointsOfInterest/CenterOnSurface.js +1 -1
  492. package/views/3d/support/pointsOfInterest/PointsOfInterest.js +1 -1
  493. package/views/3d/support/sunUtils.js +1 -1
  494. package/views/3d/terrain/OverlayManager.js +1 -1
  495. package/views/3d/terrain/OverlayRenderer.js +1 -1
  496. package/views/3d/terrain/PatchRenderData.js +1 -1
  497. package/views/3d/terrain/TerrainRenderer.js +1 -1
  498. package/views/3d/terrain/TerrainSurface.js +1 -1
  499. package/views/3d/terrain/Tile.js +1 -1
  500. package/views/3d/webgl-engine/collections/Component/ComponentObjectCollection.js +1 -1
  501. package/views/3d/webgl-engine/collections/Component/DepthRange.js +1 -1
  502. package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
  503. package/views/3d/webgl-engine/core/renderPasses/RenderPassManager.js +1 -1
  504. package/views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js +1 -1
  505. package/views/3d/webgl-engine/core/shaderLibrary/attributes/InstancedDoublePrecision.glsl.js +1 -1
  506. package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexPosition.glsl.js +2 -2
  507. package/views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js +6 -6
  508. package/views/3d/webgl-engine/core/shaderLibrary/hud/HUD.glsl.js +2 -2
  509. package/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js +13 -13
  510. package/views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js +1 -1
  511. package/views/3d/webgl-engine/core/shaderLibrary/util/CloudsParallaxShading.glsl.js +9 -9
  512. package/views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js +1 -1
  513. package/views/3d/webgl-engine/core/shaderTechnique/ShaderTechniqueRepository.js +1 -1
  514. package/views/3d/webgl-engine/core/util/TwoVectorPosition.js +1 -1
  515. package/views/3d/webgl-engine/lib/AnimationTimer.js +1 -1
  516. package/views/3d/webgl-engine/lib/BindParameters.js +1 -1
  517. package/views/3d/webgl-engine/lib/Camera.js +1 -1
  518. package/views/3d/webgl-engine/lib/CompositingHelper.js +1 -1
  519. package/views/3d/webgl-engine/lib/GeometryRecord.js +1 -1
  520. package/views/3d/webgl-engine/lib/GeometryUtil.js +1 -1
  521. package/views/3d/webgl-engine/lib/Highlight.js +1 -1
  522. package/views/3d/webgl-engine/lib/Intersector.js +1 -1
  523. package/views/3d/webgl-engine/lib/Object3D.js +1 -1
  524. package/views/3d/webgl-engine/lib/ObjectAndLayerIdRenderHelper.js +1 -1
  525. package/views/3d/webgl-engine/lib/OffscreenRendering.js +1 -1
  526. package/views/3d/webgl-engine/lib/RenderGeometry.js +1 -1
  527. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  528. package/views/3d/webgl-engine/lib/ShadowMap.js +1 -1
  529. package/views/3d/webgl-engine/lib/Update.js +5 -0
  530. package/views/3d/webgl-engine/lib/depthRangeUtils.js +1 -1
  531. package/views/3d/webgl-engine/lib/edgeRendering/EdgeRenderer.js +1 -1
  532. package/views/3d/webgl-engine/lib/edgeRendering/EdgeView.js +1 -1
  533. package/views/3d/webgl-engine/lib/edgeRendering/edgePreprocessing.js +1 -1
  534. package/views/3d/webgl-engine/lib/lodRendering/InstanceData.js +1 -1
  535. package/views/3d/webgl-engine/lib/lodRendering/InstanceOctree.js +1 -1
  536. package/views/3d/webgl-engine/lib/lodRendering/LodRenderer.js +1 -1
  537. package/views/3d/webgl-engine/lib/pathGeometryUtils.js +1 -1
  538. package/views/3d/webgl-engine/lib/verticalOffsetUtils.js +1 -1
  539. package/views/3d/webgl-engine/lighting/SceneLighting.js +1 -1
  540. package/views/3d/webgl-engine/lighting/SphericalHarmonics.js +1 -1
  541. package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
  542. package/views/3d/webgl-engine/materials/LineMarkerMaterial.js +1 -1
  543. package/views/3d/webgl-engine/materials/MeasurementArrowMaterial.js +1 -1
  544. package/views/3d/webgl-engine/materials/NativeLineMaterial.js +1 -1
  545. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  546. package/views/3d/webgl-engine/materials/WaterGLMaterial.js +1 -1
  547. package/views/3d/webgl-engine/parts/RenderView.js +1 -1
  548. package/views/3d/webgl-engine/parts/ScreenshotManager.js +1 -1
  549. package/views/3d/webgl-engine/shaders/Compositing.glsl.js +1 -1
  550. package/views/3d/webgl-engine/shaders/CompositingTechnique.js +1 -1
  551. package/views/3d/webgl-engine/shaders/CompositingTechniqueConfiguration.js +1 -1
  552. package/views/3d/webgl-engine/shaders/HUDCompositing.glsl.js +5 -0
  553. package/views/3d/webgl-engine/shaders/HUDCompositingTechnique.js +5 -0
  554. package/views/3d/webgl-engine/shaders/OITCompositing.glsl.js +5 -0
  555. package/views/3d/webgl-engine/shaders/OITCompositingTechnique.js +5 -0
  556. package/views/3d/webgl-engine/shaders/OverlayCompositing.glsl.js +5 -0
  557. package/views/3d/webgl-engine/shaders/OverlayCompositingTechnique.js +5 -0
  558. package/views/3d/webgl-engine/shaders/TerrainTechniqueConfiguration.js +1 -1
  559. package/views/SceneView.js +1 -1
  560. package/views/draw/support/surfaceCoordinateSystems.js +1 -1
  561. package/views/interactive/coordinateHelper.js +1 -1
  562. package/views/interactive/editGeometry/operations/OffsetEdgeVertex.js +1 -1
  563. package/views/interactive/editGeometry/support/editPlaneUtils.js +1 -1
  564. package/views/interactive/snapping/LineSnapper.js +1 -1
  565. package/views/interactive/snapping/ParallelLineSnapper.js +1 -1
  566. package/views/interactive/snapping/RightAngleSnapper.js +1 -1
  567. package/views/interactive/snapping/RightAngleTriangleSnapper.js +1 -1
  568. package/views/interactive/snapping/SnappingAlgorithm.js +1 -1
  569. package/views/interactive/snapping/SnappingManager.js +1 -1
  570. package/views/interactive/snapping/featureSources/FeatureCollectionSnappingSource.js +1 -1
  571. package/views/interactive/snapping/featureSources/FeatureServiceSnappingSource.js +1 -1
  572. package/views/interactive/snapping/featureSources/GraphicsSnappingSource.js +1 -1
  573. package/views/interactive/snapping/featureSources/SnappingCandidateElevationAligner.js +1 -1
  574. package/views/interactive/snapping/featureSources/SnappingResultElevationFilter.js +1 -1
  575. package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceSnappingSourceWorker.js +1 -1
  576. package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceSnappingSourceWorkerHandle.js +1 -1
  577. package/views/interactive/snapping/featureSources/sceneLayerSource/SceneLayerSnappingSourceWorker.js +1 -1
  578. package/views/interactive/snapping/featureSources/snappingResultElevationUtils.js +5 -0
  579. package/views/interactive/snapping/snappingUtils.js +1 -1
  580. package/views/layers/FeatureLayerView.js +1 -1
  581. package/views/navigation/PanSphericalMomentumEstimator.js +1 -1
  582. package/views/support/Scheduler.js +1 -1
  583. package/views/support/euclideanAreaMeasurementUtils.js +1 -1
  584. package/views/support/geometry3dUtils.js +1 -1
  585. package/widgets/Directions/support/resources.js +1 -1
  586. package/widgets/Directions.js +1 -1
  587. package/widgets/ElevationProfile/support/ProfileLines3D.js +1 -1
  588. package/widgets/ElevationProfile/support/constants.js +1 -1
  589. package/widgets/Feature/FeatureRelationship/FeatureRelationshipViewModel.js +1 -1
  590. package/widgets/Feature/FeatureRelationship.js +1 -1
  591. package/widgets/Legend/LegendViewModel.js +1 -1
  592. package/widgets/Legend/support/ActiveLayerInfo.js +1 -1
  593. package/widgets/Weather/LabeledSlider.js +1 -1
  594. package/widgets/Weather.js +1 -1
  595. package/assets/esri/core/workers/chunks/0059699bf824f851d51c.js +0 -1
  596. package/assets/esri/core/workers/chunks/01a6005569d0820992a0.js +0 -1
  597. package/assets/esri/core/workers/chunks/2eb547a0be305f2c816c.js +0 -1
  598. package/assets/esri/core/workers/chunks/36dd5654df5c7f00406d.js +0 -1
  599. package/assets/esri/core/workers/chunks/36e0a0d5f86b2b4b88f9.js +0 -1
  600. package/assets/esri/core/workers/chunks/8b8a813f5e6d6551a816.js +0 -1
  601. package/assets/esri/core/workers/chunks/bf84189bd9bf3de81df9.js +0 -1
  602. package/assets/esri/core/workers/chunks/cd7f5c3d328166f28f59.js +0 -1
  603. package/assets/esri/core/workers/chunks/de128d8a643b4297940b.js +0 -1
  604. package/assets/esri/core/workers/chunks/e208d9c34f5db4481441.js +0 -1
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.25/esri/copyright.txt for details.
4
4
  */
5
- import e from"../Color.js";import t from"../request.js";import has from"../core/has.js";import r from"../core/Logger.js";import{isSome as s,removeMaybe as i}from"../core/maybe.js";import{isAbortError as a}from"../core/promiseUtils.js";import{watch as n}from"../core/reactiveUtils.js";import{renderSRFromViewSR as o}from"../geometry/support/coordinateSystem.js";import{PointIndex as l,PlaneIndex as h}from"../geometry/support/frustum.js";import{WasmCullMode as _,VoxelRequestType as d,UpdateFlags as u,ContainerType as c}from"../libs/vxl/enums.js";import{loadVoxelWASM as m}from"../libs/vxl/VxlModule.js";import{ViewingMode as g}from"../views/ViewingMode.js";import{Frustum as f}from"../views/3d/state/Frustum.js";import{RenderCoordsHelper as x}from"../views/3d/support/RenderCoordsHelper.js";import{ShaderOutput as p}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{RenderSlot as y}from"../views/3d/webgl-engine/lib/RenderSlot.js";import{ContextType as v}from"../views/webgl/context-util.js";import{CompareFunction as b,Face as T,StencilOperation as w}from"../views/webgl/enums.js";const R=r.getLogger("esri.layers.VoxelWasmPerSceneView");var E;!function(e){e[e.Lifetime=1]="Lifetime",e[e.RequestResponse=2]="RequestResponse",e[e.Rendering=3]="Rendering",e[e.Error=4]="Error"}(E||(E={}));class C{constructor(e){this._halfIntTexturesAvailable=!1,this._textureFloatLinearAvailable=!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._shaderOutput=p.Color,this._renderSlot=y.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._captureFrustum=!1,this._frustum=null,this._frustumRenderableId=-1,this._renderCoordsHelper=null,this._view=e,this._initialize()}get canRender(){return!!this._vxl&&"local"===this._view.viewingMode}_dbg(e,t){this._dbgFlags.has(e)&&(e===E.Error?R.error(t):R.warn(t))}_removeRenderPlugin(){this._pluginIsActive&&this._view._stage&&(this._dbg(E.Lifetime,"--removeRenderPlugin--"),this._view._stage.removeRenderPlugin(this)),this._pluginIsActive=!1}_initialize(){this._dbg(E.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(E.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(E.Lifetime,"view ready status changed, not ready or not a local view!"),this._removeRenderPlugin())}),{initial:!0}),this._qualityWatchHandle=n((()=>this._view?.qualityProfile),(e=>{this._dbg(E.Rendering,"qualityProfile changed to "+e),this._vxl&&this._vxl.set_quality(this._toWasmQuality(e))}),{initial:!0}),this._timeExtentWatchHandle=n((()=>this._view?.timeExtent),(()=>{if(this._vxl){const e=this._getTimeArgs(this._view?.timeExtent);this._dbg(E.Rendering,"sceneView timeExtent changed to useTime="+e.useTime+" st="+e.startTime+" et="+e.endTime),this._vxl.set_scene_time_extent(e.startTime,e.endTime,e.useTime),this._renderPluginContext.requestRender()}}),{initial:!0}),this._stationaryWatchHandle=n((()=>this._view?.stationary),(e=>{this._vxl&&e&&!this._lastFrameWasStationary&&this._renderPluginContext.requestRender()}))}initializeRenderContext(e){this._dbg(E.Lifetime,"--initializeRenderContext--");const t=e.renderContext.rctx;t.type===v.WEBGL2?(this._renderPluginContext=e,this._rctx=e.renderContext.rctx,this._halfIntTexturesAvailable=!!this._rctx.capabilities.textureNorm16,this._textureFloatLinearAvailable=this._rctx.capabilities.textureFloatLinear,this._initializeWasm(t.gl)):this._dbg(E.Error,"WebGL 1 context only!")}uninitializeRenderContext(){this._renderPluginContext=null,this._rctx=null,this._dbg(E.Lifetime,"--uninitializeRenderContext--")}_restoreFramebuffer(){if(!this._renderTargetToRestore)return;const e=this._renderTargetToRestore.fbo;if(!!!this._rctx)return void this._dbg(E.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 r=!!this._rctx,s=!!this._renderTargetToRestore;if(!r||!s)return 0;const i=this._renderTargetToRestore.fbo.depthStencilTexture;return i?(0===t?this._rctx.bindTexture(null,e,!0):this._rctx.bindTexture(i,e,!0),1):(this._dbg(E.Error,"no depth/stencil texture exists!"),0)}_modifyResourceCount(e,t,r){if(!this._rctx)return void this._dbg(E.Error,"modifyAllocation callback has no rendering context!");const s=e;1===r?this._rctx.instanceCounter.increment(s,t):this._rctx.instanceCounter.decrement(s,t)}_setBlendState(e,t,r,s){this._rctx?(this._rctx.setBlendingEnabled(1===e),this._rctx.setBlendFunction(t,r),this._rctx.setBlendEquation(s)):this._dbg(E.Error,"setBlendState callback has no rendering context!")}_setFrontFace(e){this._rctx?this._rctx.setFrontFace(e):this._dbg(E.Error,"setFrontFace callback has no rendering context!")}_setDepthStencilStateFunction(e,t,r){this._rctx?(this._rctx.setDepthFunction(r),this._rctx.setDepthTestEnabled(1===e),this._rctx.setDepthWriteEnabled(1===t),this._rctx.setStencilTestEnabled(!1),this._rctx.setStencilFunction(b.ALWAYS,0,255),this._rctx.setStencilOpSeparate(T.FRONT,w.KEEP,w.INCR,w.KEEP),this._rctx.setStencilOpSeparate(T.BACK,w.KEEP,w.DECR,w.KEEP)):this._dbg(E.Error,"setDepthStencilStateFunction callback has no rendering context!")}_setRasterizerState(e){if(this._rctx)switch(e){case _.None:this._rctx.setFaceCullingEnabled(!1);break;case _.Back:this._rctx.setCullFace(T.BACK),this._rctx.setFaceCullingEnabled(!0);break;case _.Front:this._rctx.setCullFace(T.FRONT),this._rctx.setFaceCullingEnabled(!0)}else this._dbg(E.Error,"setRasterizerState callback has no rendering context!")}_setViewport(e,t,r,s){this._rctx?this._rctx.setViewport(e,t,r,s):this._dbg(E.Error,"setViewport callback has no rendering context!")}_updateMemoryUsage(){this._layers.forEach(((e,t)=>{if(e.needMemoryUsageUpdate){const r=this._vxl.estimate_memory_usage(t);r>=0&&(e.needMemoryUsageUpdate=!1,e.layerView.setUsedMemory(r))}}))}_syncRequestsResponses(){this._layers.forEach(((e,r)=>{const s=[];e.responses.forEach(((t,i)=>{s.push(i),this._dbg(E.RequestResponse,"responding for requestID:"+i+" size:"+t.size),this._vxl.respond(r,i,t),t.requestType!==d.TreeIndex&&t.requestType!==d.Section||(e.needMemoryUsageUpdate=!0)}));const i=e.responses;for(const t of s)i.delete(t);const n=this._vxl.get_new_requests(r),o=e.abortController.signal;for(const l in n){e.outstandingRequestCount+=1,1===e.outstandingRequestCount&&e.layerView.updatingFlagChanged();const r=n[l],s={responseType:"array-buffer",signal:o};this._dbg(E.RequestResponse,"making requestID:"+l+" url:"+r.url),t(r.url,s).then((t=>{e.outstandingRequestCount-=1,0===e.outstandingRequestCount&&e.layerView.updatingFlagChanged(),this._dbg(E.RequestResponse,"have response for requestID:"+l);let s=0;if(t.data.byteLength>0){s=this._vxl._malloc(t.data.byteLength);const e=new Uint8Array(this._vxl.HEAPU8.buffer,s,t.data.byteLength),r=new Uint8Array(t.data);for(let s=0;s<t.data.byteLength;++s)e[s]=r[s]}i.set(+l,{responseType:r.responseType,ptr:s,size:t.data.byteLength,success:!0,requestType:r.requestType})})).catch((t=>{e.outstandingRequestCount-=1,0===e.outstandingRequestCount&&e.layerView.updatingFlagChanged(),a(t)||(this._dbg(E.Error,`requestID:${l} failed, error=${t.toString()}`),i.set(+l,{responseType:r.responseType,ptr:0,size:0,success:!1,requestType:r.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}getLayerTimes(e){const t=[];return this._layers.forEach(((r,s)=>{if(r.layerView.wasmLayerId===e.wasmLayerId){const r=this._vxl.get_layer_epoch_times(s,e.layer.currentVariableId);for(let e=0;e<r.length;++e)t.push(r[e])}})),t}getCurrentLayerTimeIndex(e){let t=0;return this._layers.forEach(((r,s)=>{r.layerView.wasmLayerId===e.wasmLayerId&&(t=this._vxl.get_layer_current_time_id(s))})),t}getLockedColorForIsosurface(t,r,s){let i=e.fromArray([0,0,0,255]);return this._layers.forEach(((e,a)=>{e.layerView.wasmLayerId===t.wasmLayerId&&(i=this._vxl.get_locked_isosurface_color(a,r,s))})),i}setEnabled(e,t){this._layers.forEach(((r,s)=>{r.layerView.wasmLayerId===e.wasmLayerId&&(this._vxl.set_enabled(s,t),r.needMemoryUsageUpdate=!0,this._renderPluginContext.requestRender())}))}setSlices(e,t){const r={mask:u.Slices,slices:{planes:t,currentEditPlane:-1}};return this._doMaskedUIUpdate(e,r,!0)}setDynamicSections(e,t){const r={mask:u.DynamicSections,dynamicSections:{planes:t,currentEditPlane:-1}};return this._doMaskedUIUpdate(e,r,!0)}setStaticSections(e,t){const r={mask:u.StaticSections,staticSections:t};return this._doMaskedUIUpdate(e,r,!0)}setCurrentVariable(e,t){const r={mask:u.CurrentVariable,currentVariable:t};return this._doMaskedUIUpdate(e,r,!0)}setRenderMode(e,t){const r={mask:u.RenderMode,renderMode:t};return this._doMaskedUIUpdate(e,r,!0)}setVerticalExaggerationAndOffset(e,t,r,s){const i={mask:u.ExaggerationAndOffset,volStyleDesc:{volumeId:t,verticalExaggeration:r,verticalOffset:s}};return this._doMaskedUIUpdate(e,i,!0)}setVariableStyles(e,t){const r={mask:u.VariableStyles,variableStyles:t};return this._doMaskedUIUpdate(e,r,!0)}setVolumeStyles(e,t){const r={mask:u.VolumeStyles,volumeStyles:t};return this._doMaskedUIUpdate(e,r,!0)}setEnableDynamicSections(e,t){const r={mask:u.ContainerVisibility,containerIsVisible:t,container:c.DynamicSections};return this._doMaskedUIUpdate(e,r,!0)}setEnableIsosurfaces(e,t){const r={mask:u.ContainerVisibility,containerIsVisible:t,container:c.Isosurfaces};return this._doMaskedUIUpdate(e,r,!0)}setEnableSections(e,t){const r={mask:u.ContainerVisibility,containerIsVisible:t,container:c.StaticSections};return this._doMaskedUIUpdate(e,r,!0)}_doMaskedUIUpdate(e,t,r){if(!this._vxl)return!1;let s=!1;return this._layers.forEach(((r,i)=>{if(r.layerView.wasmLayerId===e.wasmLayerId){const e={str:JSON.stringify(t),byteCount:0,ptr:0,isReusable:!1};this._allocateBlock(e)&&(s=1===this._vxl.handle_masked_ui_update(i,e.ptr,e.byteCount),e.isReusable||this._vxl._free(e.ptr))}})),s&&r&&this._renderPluginContext.requestRender(),s}_addTriangleToWasmBuffer(e,t,r,s,i){return e[3*t+0]=r[0],e[3*t+1]=r[1],e[3*t+2]=r[2],e[3*(t+=1)+0]=s[0],e[3*t+1]=s[1],e[3*t+2]=s[2],e[3*(t+=1)+0]=i[0],e[3*t+1]=i[1],e[3*t+2]=i[2],t+=1}_addNormalToWasmBuffer(e,t,r){return e[3*t+0]=r[0],e[3*t+1]=r[1],e[3*t+2]=r[2],t+=1}_doCaptureFrustum(){if(!this._vxl)return;const e=36,t=e/3,r=this._vxl._malloc(3*e*Float32Array.BYTES_PER_ELEMENT),s=new Float32Array(this._vxl.HEAPF32.buffer,r,3*e),i=this._vxl._malloc(3*t*Float32Array.BYTES_PER_ELEMENT),a=new Float32Array(this._vxl.HEAPF32.buffer,i,e),n=this._frustum.points[l.NEAR_BOTTOM_LEFT],o=this._frustum.points[l.NEAR_BOTTOM_RIGHT],_=this._frustum.points[l.NEAR_TOP_RIGHT],d=this._frustum.points[l.NEAR_TOP_LEFT],u=this._frustum.points[l.FAR_BOTTOM_LEFT],c=this._frustum.points[l.FAR_BOTTOM_RIGHT],m=this._frustum.points[l.FAR_TOP_RIGHT],g=this._frustum.points[l.FAR_TOP_LEFT];let f=0,x=0;const p=this._frustum.planes[h.NEAR];f=this._addTriangleToWasmBuffer(s,f,_,o,n),x=this._addNormalToWasmBuffer(a,x,p),f=this._addTriangleToWasmBuffer(s,f,n,d,_),x=this._addNormalToWasmBuffer(a,x,p);const y=this._frustum.planes[h.FAR];f=this._addTriangleToWasmBuffer(s,f,u,c,m),x=this._addNormalToWasmBuffer(a,x,y),f=this._addTriangleToWasmBuffer(s,f,m,g,u),x=this._addNormalToWasmBuffer(a,x,y);const v=this._frustum.planes[h.TOP];f=this._addTriangleToWasmBuffer(s,f,m,_,d),x=this._addNormalToWasmBuffer(a,x,v),f=this._addTriangleToWasmBuffer(s,f,d,g,m),x=this._addNormalToWasmBuffer(a,x,v);const b=this._frustum.planes[h.BOTTOM];f=this._addTriangleToWasmBuffer(s,f,n,o,c),x=this._addNormalToWasmBuffer(a,x,b),f=this._addTriangleToWasmBuffer(s,f,c,u,n),x=this._addNormalToWasmBuffer(a,x,b);const T=this._frustum.planes[h.LEFT];f=this._addTriangleToWasmBuffer(s,f,d,n,u),x=this._addNormalToWasmBuffer(a,x,T),f=this._addTriangleToWasmBuffer(s,f,u,g,d),x=this._addNormalToWasmBuffer(a,x,T);const w=this._frustum.planes[h.RIGHT];f=this._addTriangleToWasmBuffer(s,f,_,m,c),x=this._addNormalToWasmBuffer(a,x,w),f=this._addTriangleToWasmBuffer(s,f,c,o,_),x=this._addNormalToWasmBuffer(a,x,w),-1!==this._frustumRenderableId&&this._vxl.remove_generic_mesh(this._frustumRenderableId),this._frustumRenderableId=this._vxl.add_generic_mesh(r,3*e,i,e,255,0,0,64),this._vxl._free(r),this._vxl._free(i),this._captureFrustum=!1,this._renderPluginContext.requestRender()}captureFrustum(){null===this._renderCoordsHelper&&(this._renderCoordsHelper=x.create(g.Local,o(!1,this._view.spatialReference))),null===this._frustum&&(this._frustum=new f(this._renderCoordsHelper)),this._captureFrustum=!0,null!==this._renderPluginContext&&this._renderPluginContext.requestRender()}toggleFullVolumeExtentDraw(e){this._vxl&&this._layers.forEach(((t,r)=>{t.layerView.wasmLayerId===e.wasmLayerId&&(this._vxl.toggle_full_volume_extent_draw(r),this._renderPluginContext.requestRender())}))}addVoxelLayer(e){if(!this._vxl){const t={layerView:e,resolveCallback:null,rejectCallback:null},r=new Promise(((e,r)=>{t.resolveCallback=e,t.rejectCallback=r}));return this._newLayers.push(t),r}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.uid===t.layerView.uid));t>=0&&(this._newLayers[t].resolveCallback(-1),this._newLayers.splice(t,1));const r=this._newLayers.length;return 0===r&&(this._dbg(E.Lifetime," no voxel layers left after removing a layer, removing RenderPlugin and destroying"),this.destroy()),r}let t=-1;this._layers.forEach(((r,s)=>{r.layerView.wasmLayerId===e.wasmLayerId&&(t=s,r.abortController.abort(),this._vxl.remove_layer(t))})),t>=0&&this._layers.delete(t);const r=this._layers.size;return 0===r&&(this._dbg(E.Lifetime," no voxel layers left after removing a layer, removing RenderPlugin and destroying"),this.destroy()),r}_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,i=!1;return s(e)&&(e.isAllTime?i=!0:(s(e.start)&&(i=!0,t=e.start.getTime()/1e3),s(e.end)&&(i=!0,r=e.end.getTime()/1e3))),{startTime:t,endTime:r,useTime:i}}_addVoxelLayer(e){const t=e.layer;let r=-1;const s=t.getConfiguration();if(s.length<1)return-1;const i={str:s,byteCount:0,ptr:0,isReusable:!1};if(!this._allocateBlock(i))return-1;const a=this._getTimeArgs(this._view?.timeExtent),n=this._view.spatialReference.isWGS84&&t.spatialReference.isWGS84?111319.49079327357:1;if(r=this._vxl.add_layer(t.serviceRoot,i.ptr,i.byteCount,n,n,a.startTime,a.endTime,a.useTime,this._toWasmQuality(this._view.qualityProfile)),i.isReusable||this._vxl._free(i.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||has("mac")){const t=[];let r="";for(const s of e.layer.variables)"Int16"!==s.renderingFormat.type&&"UInt16"!==s.renderingFormat.type||(t.push(s.name),s.id===e.layer.currentVariableId&&(r=s.name));""!==r&&R.error("#addVoxelLayer_error()",e.layer,`The voxel layer '${e.layer.title}' cannot render the current variable '${r}' in this browser`),t.length>0&&R.warn("#addVoxelLayer_warning()",e.layer,`The voxel layer '${e.layer.title}' cannot render the variables '${t.toString()}' in this browser`)}if(!this._textureFloatLinearAvailable){const t=[];let r="";for(const s of e.layer.variables)"Float32"===s.renderingFormat.type&&(t.push(s.name),s.id===e.layer.currentVariableId&&(r=s.name));""!==r&&R.error("#addVoxelLayer_error()",e.layer,`The voxel layer '${e.layer.title}' cannot render the current variable '${r}' in this browser`),t.length>0&&R.warn("#addVoxelLayer_warning()",e.layer,`The voxel layer '${e.layer.title}' cannot render the variables '${t.toString()}' in this browser`)}return has("esri-mobile")&&R.warnOnce("Mobile support differs across devices. Voxel layer might not display as expected."),r}return-1}prepareRender(e){if(!this._vxl)return;const t=e.bindParameters.camera.viewForward,r=e.bindParameters.camera.eye;this._vxl.update_camera_pos_and_direction(r[0],r[1],r[2],t[0],t[1],t[2]);const s=this._vxl.cull();this._dbg(E.RequestResponse,"missingResourceCount="+s),this._moreToLoad=s>0,this._havePreparedWithAllLayers=0===this._newLayers.length,this._updateMemoryUsage()}render(e){if(!this._vxl||e.output!==this._shaderOutput||e.bindParameters.slot!==this._renderSlot)return;for(const r of this._newLayers){const e=this._addVoxelLayer(r.layerView);-1===e?r.rejectCallback(-1):r.resolveCallback(e)}if(this._newLayers=[],0===this._layers.size)return void this._dbg(E.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._rctx.setPolygonOffsetFillEnabled(!1),this._rctx.setScissorTestEnabled(!1),this._rctx.setColorMask(!0,!0,!0,!0),this._vxl.begin_color_frame(!this._view.stationary||this._moreToLoad,e.bindParameters.lighting.lightingMainDirection[0],e.bindParameters.lighting.lightingMainDirection[1],e.bindParameters.lighting.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(E.Error,"Unsupported viewport parameters detected!"),this.updateWasmCamera(e.bindParameters.camera),this._captureFrustum&&(this._frustum.update(e.bindParameters.camera),this._doCaptureFrustum()),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(E.Lifetime,"--destroy--"),this._removeRenderPlugin(),this._readyWatchHandle=i(this._readyWatchHandle),this._qualityWatchHandle=i(this._qualityWatchHandle),this._timeExtentWatchHandle=i(this._timeExtentWatchHandle),this._stationaryWatchHandle=i(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=m(e).then((e=>{if(this._vxl=e,this._vxlPromise=null,this._newLayers.length<=0)return this._dbg(E.Lifetime," no voxel layers left after WASM downloaded, removing RenderPlugin and destroying"),void this.destroy();const t=this._getTimeArgs(this._view?.timeExtent),r=this._vxl.addFunction(this._restoreFramebuffer.bind(this),"v"),s=this._vxl.addFunction(this._setBlendState.bind(this),"viiii"),i=this._vxl.addFunction(this._setFrontFace.bind(this),"vi"),a=this._vxl.addFunction(this._setRasterizerState.bind(this),"vi"),n=this._vxl.addFunction(this._setDepthStencilStateFunction.bind(this),"viii"),o=this._vxl.addFunction(this._setViewport.bind(this),"viiii"),l=this._vxl.addFunction(this._bindPreviousDepthToSlot.bind(this),"iii"),h=this._vxl.addFunction(this._modifyResourceCount.bind(this),"viii"),_=this._halfIntTexturesAvailable&&!has("mac"),d=this._textureFloatLinearAvailable;this._vxl.initialize_voxel_wasm(r,s,i,a,n,o,l,h,t.startTime,t.endTime,t.useTime,_,d),this._renderPluginContext&&this._renderPluginContext.requestRender()})).catch((()=>{for(const e of this._newLayers)e.rejectCallback(-2);this._dbg(E.Error," WASM failed to download, removing RenderPlugin and destroying"),this.destroy()}))),this._vxlPromise)}pickDepth(e,t,r){if(!this._vxl||!this._rctx||0===this._layers.size)return null;const s=r.viewport[3]-t;if(e<0||e>r.viewport[2]||t<0||t>r.viewport[3])return this._dbg(E.Error,`pickDepth: outOfRange, screenXY=[${e}, ${s}], vp=[${r.viewport.toString()}]`),null;this._renderTargetToRestore={fbo:this._rctx.getBoundFramebufferObject(),viewport:this._rctx.getViewport()};const i=r.viewForward,a=r.eye;this._vxl.update_camera_pos_and_direction(a[0],a[1],a[2],i[0],i[1],i[2]),this.updateWasmCamera(r),this._vxl.begin_frame();const n=this._vxl.pick_depth(e,s);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(),n.success){return n.distanceToCamera}return null}_toWasmQuality(e){switch(e){case"low":return 0;case"medium":return 1;case"high":return 2}}}export{C as default};
5
+ import e from"../Color.js";import t from"../request.js";import has from"../core/has.js";import r from"../core/Logger.js";import{isSome as s,removeMaybe as i}from"../core/maybe.js";import{isAbortError as a}from"../core/promiseUtils.js";import{watch as n}from"../core/reactiveUtils.js";import{renderSRFromViewSR as o}from"../geometry/support/coordinateSystem.js";import{PointIndex as l,PlaneIndex as h}from"../geometry/support/frustum.js";import{WasmCullMode as _,VoxelRequestType as d,UpdateFlags as u,ContainerType as c}from"../libs/vxl/enums.js";import{loadVoxelWASM as m}from"../libs/vxl/VxlModule.js";import{ViewingMode as g}from"../views/ViewingMode.js";import{Frustum as f}from"../views/3d/state/Frustum.js";import{RenderCoordsHelper as x}from"../views/3d/support/RenderCoordsHelper.js";import{ShaderOutput as p}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{RenderSlot as y}from"../views/3d/webgl-engine/lib/RenderSlot.js";import{ContextType as v}from"../views/webgl/context-util.js";import{CompareFunction as b,Face as T,StencilOperation as w}from"../views/webgl/enums.js";const R=r.getLogger("esri.layers.VoxelWasmPerSceneView");var E;!function(e){e[e.Lifetime=1]="Lifetime",e[e.RequestResponse=2]="RequestResponse",e[e.Rendering=3]="Rendering",e[e.Error=4]="Error"}(E||(E={}));class C{constructor(e){this._halfIntTexturesAvailable=!1,this._textureFloatLinearAvailable=!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._shaderOutput=p.Color,this._renderSlot=y.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._captureFrustum=!1,this._frustum=null,this._frustumRenderableId=-1,this._renderCoordsHelper=null,this._view=e,this._initialize()}get canRender(){return!!this._vxl&&"local"===this._view.viewingMode}_dbg(e,t){this._dbgFlags.has(e)&&(e===E.Error?R.error(t):R.warn(t))}_removeRenderPlugin(){this._pluginIsActive&&this._view._stage&&(this._dbg(E.Lifetime,"--removeRenderPlugin--"),this._view._stage.removeRenderPlugin(this)),this._pluginIsActive=!1}_initialize(){this._dbg(E.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(E.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(E.Lifetime,"view ready status changed, not ready or not a local view!"),this._removeRenderPlugin())}),{initial:!0}),this._qualityWatchHandle=n((()=>this._view?.qualityProfile),(e=>{this._dbg(E.Rendering,"qualityProfile changed to "+e),this._vxl&&this._vxl.set_quality(this._toWasmQuality(e))}),{initial:!0}),this._timeExtentWatchHandle=n((()=>this._view?.timeExtent),(()=>{if(this._vxl){const e=this._getTimeArgs(this._view?.timeExtent);this._dbg(E.Rendering,"sceneView timeExtent changed to useTime="+e.useTime+" st="+e.startTime+" et="+e.endTime),this._vxl.set_scene_time_extent(e.startTime,e.endTime,e.useTime),this._renderPluginContext.requestRender()}}),{initial:!0}),this._stationaryWatchHandle=n((()=>this._view?.stationary),(e=>{this._vxl&&e&&!this._lastFrameWasStationary&&this._renderPluginContext.requestRender()}))}initializeRenderContext(e){this._dbg(E.Lifetime,"--initializeRenderContext--");const t=e.renderContext.rctx;t.type===v.WEBGL2?(this._renderPluginContext=e,this._rctx=e.renderContext.rctx,this._halfIntTexturesAvailable=!!this._rctx.capabilities.textureNorm16,this._textureFloatLinearAvailable=this._rctx.capabilities.textureFloatLinear,this._initializeWasm(t.gl)):this._dbg(E.Error,"WebGL 1 context only!")}uninitializeRenderContext(){this._renderPluginContext=null,this._rctx=null,this._dbg(E.Lifetime,"--uninitializeRenderContext--")}_restoreFramebuffer(){if(!this._renderTargetToRestore)return;const e=this._renderTargetToRestore.fbo;if(!!!this._rctx)return void this._dbg(E.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 r=!!this._rctx,s=!!this._renderTargetToRestore;if(!r||!s)return 0;const i=this._renderTargetToRestore.fbo.depthStencilTexture;return i?(0===t?this._rctx.bindTexture(null,e,!0):this._rctx.bindTexture(i,e,!0),1):(this._dbg(E.Error,"no depth/stencil texture exists!"),0)}_modifyResourceCount(e,t,r){if(!this._rctx)return void this._dbg(E.Error,"modifyAllocation callback has no rendering context!");const s=e;1===r?this._rctx.instanceCounter.increment(s,t):this._rctx.instanceCounter.decrement(s,t)}_setBlendState(e,t,r,s){this._rctx?(this._rctx.setBlendingEnabled(1===e),this._rctx.setBlendFunction(t,r),this._rctx.setBlendEquation(s)):this._dbg(E.Error,"setBlendState callback has no rendering context!")}_setFrontFace(e){this._rctx?this._rctx.setFrontFace(e):this._dbg(E.Error,"setFrontFace callback has no rendering context!")}_setDepthStencilStateFunction(e,t,r){this._rctx?(this._rctx.setDepthFunction(r),this._rctx.setDepthTestEnabled(1===e),this._rctx.setDepthWriteEnabled(1===t),this._rctx.setStencilTestEnabled(!1),this._rctx.setStencilFunction(b.ALWAYS,0,255),this._rctx.setStencilOpSeparate(T.FRONT,w.KEEP,w.INCR,w.KEEP),this._rctx.setStencilOpSeparate(T.BACK,w.KEEP,w.DECR,w.KEEP)):this._dbg(E.Error,"setDepthStencilStateFunction callback has no rendering context!")}_setRasterizerState(e){if(this._rctx)switch(e){case _.None:this._rctx.setFaceCullingEnabled(!1);break;case _.Back:this._rctx.setCullFace(T.BACK),this._rctx.setFaceCullingEnabled(!0);break;case _.Front:this._rctx.setCullFace(T.FRONT),this._rctx.setFaceCullingEnabled(!0)}else this._dbg(E.Error,"setRasterizerState callback has no rendering context!")}_setViewport(e,t,r,s){this._rctx?this._rctx.setViewport(e,t,r,s):this._dbg(E.Error,"setViewport callback has no rendering context!")}_updateMemoryUsage(){this._layers.forEach(((e,t)=>{if(e.needMemoryUsageUpdate){const r=this._vxl.estimate_memory_usage(t);r>=0&&(e.needMemoryUsageUpdate=!1,e.layerView.setUsedMemory(r))}}))}_syncRequestsResponses(){this._layers.forEach(((e,r)=>{const s=[];e.responses.forEach(((t,i)=>{s.push(i),this._dbg(E.RequestResponse,"responding for requestID:"+i+" size:"+t.size),this._vxl.respond(r,i,t),t.requestType!==d.TreeIndex&&t.requestType!==d.Section||(e.needMemoryUsageUpdate=!0)}));const i=e.responses;for(const t of s)i.delete(t);const n=this._vxl.get_new_requests(r),o=e.abortController.signal;for(const l in n){e.outstandingRequestCount+=1,1===e.outstandingRequestCount&&e.layerView.updatingFlagChanged();const r=n[l],s={responseType:"array-buffer",signal:o};this._dbg(E.RequestResponse,"making requestID:"+l+" url:"+r.url),t(r.url,s).then((t=>{e.outstandingRequestCount-=1,0===e.outstandingRequestCount&&e.layerView.updatingFlagChanged(),this._dbg(E.RequestResponse,"have response for requestID:"+l);let s=0;if(t.data.byteLength>0){s=this._vxl._malloc(t.data.byteLength);const e=new Uint8Array(this._vxl.HEAPU8.buffer,s,t.data.byteLength),r=new Uint8Array(t.data);for(let s=0;s<t.data.byteLength;++s)e[s]=r[s]}i.set(+l,{responseType:r.responseType,ptr:s,size:t.data.byteLength,success:!0,requestType:r.requestType})})).catch((t=>{e.outstandingRequestCount-=1,0===e.outstandingRequestCount&&e.layerView.updatingFlagChanged(),a(t)||(this._dbg(E.Error,`requestID:${l} failed, error=${t.toString()}`),i.set(+l,{responseType:r.responseType,ptr:0,size:0,success:!1,requestType:r.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}getLayerTimes(e){const t=[];return this._layers.forEach(((r,s)=>{if(r.layerView.wasmLayerId===e.wasmLayerId){const r=this._vxl.get_layer_epoch_times(s,e.layer.currentVariableId);for(let e=0;e<r.length;++e)t.push(r[e])}})),t}getCurrentLayerTimeIndex(e){let t=0;return this._layers.forEach(((r,s)=>{r.layerView.wasmLayerId===e.wasmLayerId&&(t=this._vxl.get_layer_current_time_id(s))})),t}getLockedColorForIsosurface(t,r,s){let i=e.fromArray([0,0,0,255]);return this._layers.forEach(((e,a)=>{e.layerView.wasmLayerId===t.wasmLayerId&&(i=this._vxl.get_locked_isosurface_color(a,r,s))})),i}setEnabled(e,t){this._layers.forEach(((r,s)=>{r.layerView.wasmLayerId===e.wasmLayerId&&(this._vxl.set_enabled(s,t),r.needMemoryUsageUpdate=!0,this._renderPluginContext.requestRender())}))}setSlices(e,t){const r={mask:u.Slices,slices:{planes:t,currentEditPlane:-1}};return this._doMaskedUIUpdate(e,r,!0)}setDynamicSections(e,t){const r={mask:u.DynamicSections,dynamicSections:{planes:t,currentEditPlane:-1}};return this._doMaskedUIUpdate(e,r,!0)}setStaticSections(e,t){const r={mask:u.StaticSections,staticSections:t};return this._doMaskedUIUpdate(e,r,!0)}setCurrentVariable(e,t){const r={mask:u.CurrentVariable,currentVariable:t};return this._doMaskedUIUpdate(e,r,!0)}setRenderMode(e,t){const r={mask:u.RenderMode,renderMode:t};return this._doMaskedUIUpdate(e,r,!0)}setVerticalExaggerationAndOffset(e,t,r,s){const i={mask:u.ExaggerationAndOffset,volStyleDesc:{volumeId:t,verticalExaggeration:r,verticalOffset:s}};return this._doMaskedUIUpdate(e,i,!0)}setVariableStyles(e,t){const r={mask:u.VariableStyles,variableStyles:t};return this._doMaskedUIUpdate(e,r,!0)}setVolumeStyles(e,t){const r={mask:u.VolumeStyles,volumeStyles:t};return this._doMaskedUIUpdate(e,r,!0)}setEnableDynamicSections(e,t){const r={mask:u.ContainerVisibility,containerIsVisible:t,container:c.DynamicSections};return this._doMaskedUIUpdate(e,r,!0)}setEnableIsosurfaces(e,t){const r={mask:u.ContainerVisibility,containerIsVisible:t,container:c.Isosurfaces};return this._doMaskedUIUpdate(e,r,!0)}setEnableSections(e,t){const r={mask:u.ContainerVisibility,containerIsVisible:t,container:c.StaticSections};return this._doMaskedUIUpdate(e,r,!0)}_doMaskedUIUpdate(e,t,r){if(!this._vxl)return!1;let s=!1;return this._layers.forEach(((r,i)=>{if(r.layerView.wasmLayerId===e.wasmLayerId){const e={str:JSON.stringify(t),byteCount:0,ptr:0,isReusable:!1};this._allocateBlock(e)&&(s=1===this._vxl.handle_masked_ui_update(i,e.ptr,e.byteCount),e.isReusable||this._vxl._free(e.ptr))}})),s&&r&&this._renderPluginContext.requestRender(),s}_addTriangleToWasmBuffer(e,t,r,s,i){return e[3*t+0]=r[0],e[3*t+1]=r[1],e[3*t+2]=r[2],e[3*(t+=1)+0]=s[0],e[3*t+1]=s[1],e[3*t+2]=s[2],e[3*(t+=1)+0]=i[0],e[3*t+1]=i[1],e[3*t+2]=i[2],t+=1}_addNormalToWasmBuffer(e,t,r){return e[3*t+0]=r[0],e[3*t+1]=r[1],e[3*t+2]=r[2],t+=1}_doCaptureFrustum(){if(!this._vxl)return;const e=36,t=e/3,r=this._vxl._malloc(3*e*Float32Array.BYTES_PER_ELEMENT),s=new Float32Array(this._vxl.HEAPF32.buffer,r,3*e),i=this._vxl._malloc(3*t*Float32Array.BYTES_PER_ELEMENT),a=new Float32Array(this._vxl.HEAPF32.buffer,i,e),n=this._frustum.points[l.NEAR_BOTTOM_LEFT],o=this._frustum.points[l.NEAR_BOTTOM_RIGHT],_=this._frustum.points[l.NEAR_TOP_RIGHT],d=this._frustum.points[l.NEAR_TOP_LEFT],u=this._frustum.points[l.FAR_BOTTOM_LEFT],c=this._frustum.points[l.FAR_BOTTOM_RIGHT],m=this._frustum.points[l.FAR_TOP_RIGHT],g=this._frustum.points[l.FAR_TOP_LEFT];let f=0,x=0;const p=this._frustum.planes[h.NEAR];f=this._addTriangleToWasmBuffer(s,f,_,o,n),x=this._addNormalToWasmBuffer(a,x,p),f=this._addTriangleToWasmBuffer(s,f,n,d,_),x=this._addNormalToWasmBuffer(a,x,p);const y=this._frustum.planes[h.FAR];f=this._addTriangleToWasmBuffer(s,f,u,c,m),x=this._addNormalToWasmBuffer(a,x,y),f=this._addTriangleToWasmBuffer(s,f,m,g,u),x=this._addNormalToWasmBuffer(a,x,y);const v=this._frustum.planes[h.TOP];f=this._addTriangleToWasmBuffer(s,f,m,_,d),x=this._addNormalToWasmBuffer(a,x,v),f=this._addTriangleToWasmBuffer(s,f,d,g,m),x=this._addNormalToWasmBuffer(a,x,v);const b=this._frustum.planes[h.BOTTOM];f=this._addTriangleToWasmBuffer(s,f,n,o,c),x=this._addNormalToWasmBuffer(a,x,b),f=this._addTriangleToWasmBuffer(s,f,c,u,n),x=this._addNormalToWasmBuffer(a,x,b);const T=this._frustum.planes[h.LEFT];f=this._addTriangleToWasmBuffer(s,f,d,n,u),x=this._addNormalToWasmBuffer(a,x,T),f=this._addTriangleToWasmBuffer(s,f,u,g,d),x=this._addNormalToWasmBuffer(a,x,T);const w=this._frustum.planes[h.RIGHT];f=this._addTriangleToWasmBuffer(s,f,_,m,c),x=this._addNormalToWasmBuffer(a,x,w),f=this._addTriangleToWasmBuffer(s,f,c,o,_),x=this._addNormalToWasmBuffer(a,x,w),-1!==this._frustumRenderableId&&this._vxl.remove_generic_mesh(this._frustumRenderableId),this._frustumRenderableId=this._vxl.add_generic_mesh(r,3*e,i,e,255,0,0,64),this._vxl._free(r),this._vxl._free(i),this._captureFrustum=!1,this._renderPluginContext.requestRender()}captureFrustum(){null===this._renderCoordsHelper&&(this._renderCoordsHelper=x.create(g.Local,o(!1,this._view.spatialReference))),null===this._frustum&&(this._frustum=new f(this._renderCoordsHelper)),this._captureFrustum=!0,null!==this._renderPluginContext&&this._renderPluginContext.requestRender()}toggleFullVolumeExtentDraw(e){this._vxl&&this._layers.forEach(((t,r)=>{t.layerView.wasmLayerId===e.wasmLayerId&&(this._vxl.toggle_full_volume_extent_draw(r),this._renderPluginContext.requestRender())}))}addVoxelLayer(e){if(!this._vxl){const t={layerView:e,resolveCallback:null,rejectCallback:null},r=new Promise(((e,r)=>{t.resolveCallback=e,t.rejectCallback=r}));return this._newLayers.push(t),r}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.uid===t.layerView.uid));t>=0&&(this._newLayers[t].resolveCallback(-1),this._newLayers.splice(t,1));const r=this._newLayers.length;return 0===r&&(this._dbg(E.Lifetime," no voxel layers left after removing a layer, removing RenderPlugin and destroying"),this.destroy()),r}let t=-1;this._layers.forEach(((r,s)=>{r.layerView.wasmLayerId===e.wasmLayerId&&(t=s,r.abortController.abort(),this._vxl.remove_layer(t))})),t>=0&&this._layers.delete(t);const r=this._layers.size;return 0===r&&(this._dbg(E.Lifetime," no voxel layers left after removing a layer, removing RenderPlugin and destroying"),this.destroy()),r}_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,i=!1;return s(e)&&(e.isAllTime?i=!0:(s(e.start)&&(i=!0,t=e.start.getTime()/1e3),s(e.end)&&(i=!0,r=e.end.getTime()/1e3))),{startTime:t,endTime:r,useTime:i}}_addVoxelLayer(e){const t=e.layer;let r=-1;const s=t.getConfiguration();if(s.length<1)return-1;const i={str:s,byteCount:0,ptr:0,isReusable:!1};if(!this._allocateBlock(i))return-1;const a=this._getTimeArgs(this._view?.timeExtent),n=this._view.spatialReference.isWGS84&&t.spatialReference.isWGS84?111319.49079327357:1;if(r=this._vxl.add_layer(t.serviceRoot,i.ptr,i.byteCount,n,n,a.startTime,a.endTime,a.useTime,this._toWasmQuality(this._view.qualityProfile)),i.isReusable||this._vxl._free(i.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||has("mac")){const t=[];let r="";for(const s of e.layer.variables)"Int16"!==s.renderingFormat.type&&"UInt16"!==s.renderingFormat.type||(t.push(s.name),s.id===e.layer.currentVariableId&&(r=s.name));""!==r&&R.error("#addVoxelLayer_error()",e.layer,`The voxel layer '${e.layer.title}' cannot render the current variable '${r}' in this browser`),t.length>0&&R.warn("#addVoxelLayer_warning()",e.layer,`The voxel layer '${e.layer.title}' cannot render the variables '${t.toString()}' in this browser`)}if(!this._textureFloatLinearAvailable){const t=[];let r="";for(const s of e.layer.variables)"Float32"===s.renderingFormat.type&&(t.push(s.name),s.id===e.layer.currentVariableId&&(r=s.name));""!==r&&R.error("#addVoxelLayer_error()",e.layer,`The voxel layer '${e.layer.title}' cannot render the current variable '${r}' in this browser`),t.length>0&&R.warn("#addVoxelLayer_warning()",e.layer,`The voxel layer '${e.layer.title}' cannot render the variables '${t.toString()}' in this browser`)}return has("esri-mobile")&&R.warnOnce("Mobile support differs across devices. Voxel layer might not display as expected."),r}return-1}prepareRender(e){if(!this._vxl)return;const t=e.bindParameters.camera.viewForward,r=e.bindParameters.camera.eye;this._vxl.update_camera_pos_and_direction(r[0],r[1],r[2],t[0],t[1],t[2]);const s=this._vxl.cull();this._dbg(E.RequestResponse,"missingResourceCount="+s),this._moreToLoad=s>0,this._havePreparedWithAllLayers=0===this._newLayers.length,this._updateMemoryUsage()}render(e){if(!this._vxl||e.output!==this._shaderOutput||e.bindParameters.slot!==this._renderSlot)return;for(const r of this._newLayers){const e=this._addVoxelLayer(r.layerView);-1===e?r.rejectCallback(-1):r.resolveCallback(e)}if(this._newLayers=[],0===this._layers.size)return void this._dbg(E.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._rctx.setPolygonOffsetFillEnabled(!1),this._rctx.setScissorTestEnabled(!1),this._rctx.setColorMask(!0,!0,!0,!0),this._vxl.begin_color_frame(!this._view.stationary||this._moreToLoad,e.bindParameters.lighting.mainLight.direction[0],e.bindParameters.lighting.mainLight.direction[1],e.bindParameters.lighting.mainLight.direction[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(E.Error,"Unsupported viewport parameters detected!"),this.updateWasmCamera(e.bindParameters.camera),this._captureFrustum&&(this._frustum.update(e.bindParameters.camera),this._doCaptureFrustum()),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(E.Lifetime,"--destroy--"),this._removeRenderPlugin(),this._readyWatchHandle=i(this._readyWatchHandle),this._qualityWatchHandle=i(this._qualityWatchHandle),this._timeExtentWatchHandle=i(this._timeExtentWatchHandle),this._stationaryWatchHandle=i(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=m(e).then((e=>{if(this._vxl=e,this._vxlPromise=null,this._newLayers.length<=0)return this._dbg(E.Lifetime," no voxel layers left after WASM downloaded, removing RenderPlugin and destroying"),void this.destroy();const t=this._getTimeArgs(this._view?.timeExtent),r=this._vxl.addFunction(this._restoreFramebuffer.bind(this),"v"),s=this._vxl.addFunction(this._setBlendState.bind(this),"viiii"),i=this._vxl.addFunction(this._setFrontFace.bind(this),"vi"),a=this._vxl.addFunction(this._setRasterizerState.bind(this),"vi"),n=this._vxl.addFunction(this._setDepthStencilStateFunction.bind(this),"viii"),o=this._vxl.addFunction(this._setViewport.bind(this),"viiii"),l=this._vxl.addFunction(this._bindPreviousDepthToSlot.bind(this),"iii"),h=this._vxl.addFunction(this._modifyResourceCount.bind(this),"viii"),_=this._halfIntTexturesAvailable&&!has("mac"),d=this._textureFloatLinearAvailable;this._vxl.initialize_voxel_wasm(r,s,i,a,n,o,l,h,t.startTime,t.endTime,t.useTime,_,d),this._renderPluginContext&&this._renderPluginContext.requestRender()})).catch((()=>{for(const e of this._newLayers)e.rejectCallback(-2);this._dbg(E.Error," WASM failed to download, removing RenderPlugin and destroying"),this.destroy()}))),this._vxlPromise)}pickDepth(e,t,r){if(!this._vxl||!this._rctx||0===this._layers.size)return null;const s=r.viewport[3]-t;if(e<0||e>r.viewport[2]||t<0||t>r.viewport[3])return this._dbg(E.Error,`pickDepth: outOfRange, screenXY=[${e}, ${s}], vp=[${r.viewport.toString()}]`),null;this._renderTargetToRestore={fbo:this._rctx.getBoundFramebufferObject(),viewport:this._rctx.getViewport()};const i=r.viewForward,a=r.eye;this._vxl.update_camera_pos_and_direction(a[0],a[1],a[2],i[0],i[1],i[2]),this.updateWasmCamera(r),this._vxl.begin_frame();const n=this._vxl.pick_depth(e,s);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(),n.success){return n.distanceToCamera}return null}_toWasmQuality(e){switch(e){case"low":return 0;case"medium":return 1;case"high":return 2}}}export{C 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.25/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../chunks/tslib.es6.js";import r from"../../PopupTemplate.js";import"../../renderers/ClassBreaksRenderer.js";import"../../renderers/DictionaryRenderer.js";import"../../renderers/DotDensityRenderer.js";import"../../renderers/HeatmapRenderer.js";import"../../renderers/PieChartRenderer.js";import"../../renderers/Renderer.js";import"../../renderers/SimpleRenderer.js";import"../../renderers/UniqueValueRenderer.js";import"../../renderers/support/jsonUtils.js";import{webSceneRendererTypes as t}from"../../renderers/support/types.js";import o from"../../request.js";import s from"../../core/Error.js";import{JSONMap as i}from"../../core/jsonMap.js";import a from"../../core/Loadable.js";import n from"../../core/Logger.js";import{isSome as p,isNone as l}from"../../core/maybe.js";import{EsriPromiseMixin as d}from"../../core/Promise.js";import{property as y}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{enumeration as u}from"../../core/accessorSupport/decorators/enumeration.js";import{reader as c}from"../../core/accessorSupport/decorators/reader.js";import{subclass as m}from"../../core/accessorSupport/decorators/subclass.js";import h from"../../geometry/Extent.js";import f from"../../geometry/SpatialReference.js";import g from"../FeatureLayer.js";import j from"./BuildingSublayer.js";import{zeroCapabilities as v}from"../support/capabilities.js";import{popupEnabled as b}from"../support/commonProperties.js";import{defineFieldProperties as L}from"../support/fieldProperties.js";import S from"../support/FieldsIndex.js";import{fetchIndexInfo as I}from"../support/I3SIndexInfo.js";import{I3SNodePageDefinition as F,I3SMaterialDefinition as O,I3STextureSetDefinition as x,I3SGeometryDefinition as w}from"../support/I3SLayerDefinitions.js";import T from"../../rest/support/Query.js";import{createPopupTemplate as R}from"../../support/popupUtils.js";import q from"../../symbols/support/ElevationInfo.js";const P="esri.layers.buildingSublayers.BuildingComponentSublayer",D=n.getLogger(P),Q=L();let E=class extends(a.LoadableMixin(d(j))){constructor(e){super(e),this.type="building-component",this.nodePages=null,this.materialDefinitions=[],this.textureSetDefinitions=[],this.geometryDefinitions=[],this.indexInfo=null,this.serviceUpdateTimeStamp=null,this.store=null,this.attributeStorageInfo=[],this.fields=[],this.associatedLayer=null,this.outFields=null,this.listMode="show",this.renderer=null,this.definitionExpression=null,this.popupEnabled=!0,this.popupTemplate=null,this.layerType="3d-object"}get parsedUrl(){return this.layer?{path:`${this.layer.parsedUrl.path}/sublayers/${this.id}`,query:this.layer.parsedUrl.query}:{path:""}}get fieldsIndex(){return new S(this.fields)}readAssociatedLayer(e,r){const t=this.layer.associatedFeatureServiceItem,o=r.associatedLayerID;return p(t)&&"number"==typeof o?new g({portalItem:t,layerId:o}):null}get objectIdField(){if(null!=this.fields)for(const e of this.fields)if("oid"===e.type)return e.name;return null}get displayField(){return p(this.associatedLayer)?this.associatedLayer.displayField:void 0}get apiKey(){return this.layer.apiKey}get fullExtent(){return this.layer.fullExtent}get spatialReference(){return this.layer.spatialReference}get version(){return this.layer.version}get elevationInfo(){return this.layer.elevationInfo}get minScale(){return this.layer.minScale}get maxScale(){return this.layer.maxScale}get effectiveScaleRange(){return this.layer.effectiveScaleRange}get defaultPopupTemplate(){return this.createPopupTemplate()}load(e){const r=p(e)?e.signal:null,t=this._fetchService(r).then((()=>{this.indexInfo=I(this.parsedUrl.path,this.rootNode,this.nodePages,this.apiKey,D,r)}));return this.addResolvingPromise(t),Promise.resolve(this)}createPopupTemplate(e){return R(this,e)}async _fetchService(e){const r=(await o(this.parsedUrl.path,{query:{f:"json",token:this.apiKey},responseType:"json",signal:e})).data;this.read(r,{origin:"service",url:this.parsedUrl})}getField(e){return this.fieldsIndex.get(e)}getFieldDomain(e,r){const t=this.getFeatureType(r?.feature)?.domains?.[e];return t&&"inherited"!==t.type?t:this.getField(e)?.domain??null}getFeatureType(e){return e&&p(this.associatedLayer)?this.associatedLayer.getFeatureType(e):null}get types(){return p(this.associatedLayer)?this.associatedLayer.types:[]}get typeIdField(){return p(this.associatedLayer)?this.associatedLayer.typeIdField:null}get geometryType(){return"3d-object"===this.layerType?"mesh":"point"}get profile(){return"3d-object"===this.layerType?"mesh-pyramids":"points"}get capabilities(){const e=p(this.associatedLayer)&&this.associatedLayer.capabilities?this.associatedLayer.capabilities:v,{query:r,data:{supportsZ:t,supportsM:o,isVersioned:s}}=e;return{query:r,data:{supportsZ:t,supportsM:o,isVersioned:s}}}createQuery(){const e=new T;return"mesh"!==this.geometryType&&(e.returnGeometry=!0,e.returnZ=!0),e.where=this.definitionExpression||"1=1",e.sqlFormat="standard",e}queryExtent(e,r){return this._getAssociatedLayerForQuery().then((t=>t.queryExtent(e||this.createQuery(),r)))}queryFeatureCount(e,r){return this._getAssociatedLayerForQuery().then((t=>t.queryFeatureCount(e||this.createQuery(),r)))}queryFeatures(e,r){return this._getAssociatedLayerForQuery().then((t=>t.queryFeatures(e||this.createQuery(),r))).then((e=>{if(e?.features)for(const r of e.features)r.layer=this.layer,r.sourceLayer=this;return e}))}queryObjectIds(e,r){return this._getAssociatedLayerForQuery().then((t=>t.queryObjectIds(e||this.createQuery(),r)))}getFieldUsageInfo(e){return this.fieldsIndex.has(e)?{supportsLabelingInfo:!1,supportsRenderer:!1,supportsPopupTemplate:!1,supportsLayerQuery:!1}:{supportsLabelingInfo:!1,supportsRenderer:!0,supportsPopupTemplate:!0,supportsLayerQuery:p(this.associatedLayer)}}_getAssociatedLayerForQuery(){const e=this.associatedLayer;return p(e)&&e.loaded?Promise.resolve(e):this._loadAssociatedLayerForQuery()}async _loadAssociatedLayerForQuery(){if(await this.load(),l(this.associatedLayer))throw new s("buildingscenelayer:query-not-available","BuildingSceneLayer component layer queries are not available without an associated feature layer",{layer:this});try{await this.associatedLayer.load()}catch(e){throw new s("buildingscenelayer:query-not-available","BuildingSceneLayer associated feature layer could not be loaded",{layer:this,error:e})}return this.associatedLayer}};e([y({readOnly:!0})],E.prototype,"parsedUrl",null),e([y({type:F,readOnly:!0})],E.prototype,"nodePages",void 0),e([y({type:[O],readOnly:!0})],E.prototype,"materialDefinitions",void 0),e([y({type:[x],readOnly:!0})],E.prototype,"textureSetDefinitions",void 0),e([y({type:[w],readOnly:!0})],E.prototype,"geometryDefinitions",void 0),e([y({readOnly:!0})],E.prototype,"serviceUpdateTimeStamp",void 0),e([y({readOnly:!0})],E.prototype,"store",void 0),e([y({type:String,readOnly:!0,json:{read:{source:"store.rootNode"}}})],E.prototype,"rootNode",void 0),e([y({readOnly:!0})],E.prototype,"attributeStorageInfo",void 0),e([y(Q.fields)],E.prototype,"fields",void 0),e([y({readOnly:!0})],E.prototype,"fieldsIndex",null),e([y({readOnly:!0,type:g})],E.prototype,"associatedLayer",void 0),e([c("service","associatedLayer",["associatedLayerID"])],E.prototype,"readAssociatedLayer",null),e([y(Q.outFields)],E.prototype,"outFields",void 0),e([y({type:String,readOnly:!0})],E.prototype,"objectIdField",null),e([y({readOnly:!0,type:String,json:{read:!1}})],E.prototype,"displayField",null),e([y({readOnly:!0,type:String})],E.prototype,"apiKey",null),e([y({readOnly:!0,type:h})],E.prototype,"fullExtent",null),e([y({readOnly:!0,type:f})],E.prototype,"spatialReference",null),e([y({readOnly:!0})],E.prototype,"version",null),e([y({readOnly:!0,type:q})],E.prototype,"elevationInfo",null),e([y({readOnly:!0,type:Number})],E.prototype,"minScale",null),e([y({readOnly:!0,type:Number})],E.prototype,"maxScale",null),e([y({readOnly:!0,type:Number})],E.prototype,"effectiveScaleRange",null),e([y({type:["hide","show"],json:{write:!0}})],E.prototype,"listMode",void 0),e([y({types:t,json:{origins:{service:{read:{source:"drawingInfo.renderer"}}},name:"layerDefinition.drawingInfo.renderer",write:!0},value:null})],E.prototype,"renderer",void 0),e([y({type:String,json:{origins:{service:{read:!1,write:!1}},name:"layerDefinition.definitionExpression",write:{enabled:!0,allowNull:!0}}})],E.prototype,"definitionExpression",void 0),e([y(b)],E.prototype,"popupEnabled",void 0),e([y({type:r,json:{read:{source:"popupInfo"},write:{target:"popupInfo"}}})],E.prototype,"popupTemplate",void 0),e([y({readOnly:!0,type:String,json:{origins:{service:{read:{source:"store.normalReferenceFrame"}}},read:!1}})],E.prototype,"normalReferenceFrame",void 0),e([y({readOnly:!0,json:{read:!1}})],E.prototype,"defaultPopupTemplate",null),e([y()],E.prototype,"types",null),e([y()],E.prototype,"typeIdField",null),e([y({json:{write:!1}}),u(new i({"3DObject":"3d-object",Point:"point"}))],E.prototype,"layerType",void 0),e([y()],E.prototype,"geometryType",null),e([y()],E.prototype,"profile",null),e([y({readOnly:!0,json:{read:!1}})],E.prototype,"capabilities",null),E=e([m(P)],E);const U=E;export{U as default};
5
+ import{_ as e}from"../../chunks/tslib.es6.js";import r from"../../Graphic.js";import t from"../../PopupTemplate.js";import"../../renderers/ClassBreaksRenderer.js";import"../../renderers/DictionaryRenderer.js";import"../../renderers/DotDensityRenderer.js";import"../../renderers/HeatmapRenderer.js";import"../../renderers/PieChartRenderer.js";import"../../renderers/Renderer.js";import"../../renderers/SimpleRenderer.js";import"../../renderers/UniqueValueRenderer.js";import"../../renderers/support/jsonUtils.js";import{webSceneRendererTypes as o}from"../../renderers/support/types.js";import s from"../../request.js";import i from"../../core/Error.js";import{JSONMap as a}from"../../core/jsonMap.js";import n from"../../core/Loadable.js";import p from"../../core/Logger.js";import{isSome as l,isNone as d}from"../../core/maybe.js";import{EsriPromiseMixin as y}from"../../core/Promise.js";import{property as u}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{enumeration as c}from"../../core/accessorSupport/decorators/enumeration.js";import{reader as m}from"../../core/accessorSupport/decorators/reader.js";import{subclass as h}from"../../core/accessorSupport/decorators/subclass.js";import f from"../../geometry/Extent.js";import g from"../../geometry/SpatialReference.js";import j from"../FeatureLayer.js";import v from"./BuildingSublayer.js";import{zeroCapabilities as b}from"../support/capabilities.js";import{popupEnabled as L}from"../support/commonProperties.js";import{defineFieldProperties as S}from"../support/fieldProperties.js";import I from"../support/FieldsIndex.js";import{unpackFieldNames as F}from"../support/fieldUtils.js";import{fetchIndexInfo as w}from"../support/I3SIndexInfo.js";import{I3SNodePageDefinition as x,I3SMaterialDefinition as O,I3STextureSetDefinition as T,I3SGeometryDefinition as q}from"../support/I3SLayerDefinitions.js";import R from"../../rest/support/Query.js";import{createPopupTemplate as P}from"../../support/popupUtils.js";import U from"../../symbols/support/ElevationInfo.js";import{queryAttributesFromCachedAttributesId as D}from"../../views/3d/layers/i3s/I3SUtil.js";import{getRequiredFields as Q,getFetchPopupTemplate as E}from"../../views/layers/support/popupUtils.js";const _="esri.layers.buildingSublayers.BuildingComponentSublayer",A=p.getLogger(_),N=S();let C=class extends(n.LoadableMixin(y(v))){constructor(e){super(e),this.type="building-component",this.nodePages=null,this.materialDefinitions=[],this.textureSetDefinitions=[],this.geometryDefinitions=[],this.indexInfo=null,this.serviceUpdateTimeStamp=null,this.store=null,this.attributeStorageInfo=[],this.fields=[],this.associatedLayer=null,this.outFields=null,this.listMode="show",this.renderer=null,this.definitionExpression=null,this.popupEnabled=!0,this.popupTemplate=null,this.layerType="3d-object"}get parsedUrl(){return this.layer?{path:`${this.layer.parsedUrl.path}/sublayers/${this.id}`,query:this.layer.parsedUrl.query}:{path:""}}get fieldsIndex(){return new I(this.fields)}readAssociatedLayer(e,r){const t=this.layer.associatedFeatureServiceItem,o=r.associatedLayerID;return l(t)&&"number"==typeof o?new j({portalItem:t,layerId:o}):null}get objectIdField(){if(null!=this.fields)for(const e of this.fields)if("oid"===e.type)return e.name;return null}get displayField(){return l(this.associatedLayer)?this.associatedLayer.displayField:void 0}get apiKey(){return this.layer.apiKey}get fullExtent(){return this.layer.fullExtent}get spatialReference(){return this.layer.spatialReference}get version(){return this.layer.version}get elevationInfo(){return this.layer.elevationInfo}get minScale(){return this.layer.minScale}get maxScale(){return this.layer.maxScale}get effectiveScaleRange(){return this.layer.effectiveScaleRange}get defaultPopupTemplate(){return this.createPopupTemplate()}load(e){const r=l(e)?e.signal:null,t=this._fetchService(r).then((()=>{this.indexInfo=w(this.parsedUrl.path,this.rootNode,this.nodePages,this.apiKey,A,r)}));return this.addResolvingPromise(t),Promise.resolve(this)}createPopupTemplate(e){return P(this,e)}async _fetchService(e){const r=(await s(this.parsedUrl.path,{query:{f:"json",token:this.apiKey},responseType:"json",signal:e})).data;this.read(r,{origin:"service",url:this.parsedUrl})}getField(e){return this.fieldsIndex.get(e)}getFieldDomain(e,r){const t=this.getFeatureType(r?.feature)?.domains?.[e];return t&&"inherited"!==t.type?t:this.getField(e)?.domain??null}getFeatureType(e){return e&&l(this.associatedLayer)?this.associatedLayer.getFeatureType(e):null}get types(){return l(this.associatedLayer)?this.associatedLayer.types:[]}get typeIdField(){return l(this.associatedLayer)?this.associatedLayer.typeIdField:null}get geometryType(){return"3d-object"===this.layerType?"mesh":"point"}get profile(){return"3d-object"===this.layerType?"mesh-pyramids":"points"}get capabilities(){const e=l(this.associatedLayer)&&this.associatedLayer.capabilities?this.associatedLayer.capabilities:b,{query:r,data:{supportsZ:t,supportsM:o,isVersioned:s}}=e;return{query:r,data:{supportsZ:t,supportsM:o,isVersioned:s}}}createQuery(){const e=new R;return"mesh"!==this.geometryType&&(e.returnGeometry=!0,e.returnZ=!0),e.where=this.definitionExpression||"1=1",e.sqlFormat="standard",e}queryExtent(e,r){return this._getAssociatedLayerForQuery().then((t=>t.queryExtent(e||this.createQuery(),r)))}queryFeatureCount(e,r){return this._getAssociatedLayerForQuery().then((t=>t.queryFeatureCount(e||this.createQuery(),r)))}queryFeatures(e,r){return this._getAssociatedLayerForQuery().then((t=>t.queryFeatures(e||this.createQuery(),r))).then((e=>{if(e?.features)for(const r of e.features)r.layer=this.layer,r.sourceLayer=this;return e}))}queryObjectIds(e,r){return this._getAssociatedLayerForQuery().then((t=>t.queryObjectIds(e||this.createQuery(),r)))}async queryCachedFeature(e,t){const o=F(this.fieldsIndex,await Q(this,E(this))),s=await D(this.parsedUrl.path,this.attributeStorageInfo,e,[t],o);if(!s||0===s.length)throw new i("scenelayer:feature-not-in-cached-data","Feature not found in cached data");const a=new r;return a.attributes=s[0],a.layer=this,a.sourceLayer=this,a}getFieldUsageInfo(e){return this.fieldsIndex.has(e)?{supportsLabelingInfo:!1,supportsRenderer:!1,supportsPopupTemplate:!1,supportsLayerQuery:!1}:{supportsLabelingInfo:!1,supportsRenderer:!0,supportsPopupTemplate:!0,supportsLayerQuery:l(this.associatedLayer)}}_getAssociatedLayerForQuery(){const e=this.associatedLayer;return l(e)&&e.loaded?Promise.resolve(e):this._loadAssociatedLayerForQuery()}async _loadAssociatedLayerForQuery(){if(await this.load(),d(this.associatedLayer))throw new i("buildingscenelayer:query-not-available","BuildingSceneLayer component layer queries are not available without an associated feature layer",{layer:this});try{await this.associatedLayer.load()}catch(e){throw new i("buildingscenelayer:query-not-available","BuildingSceneLayer associated feature layer could not be loaded",{layer:this,error:e})}return this.associatedLayer}};e([u({readOnly:!0})],C.prototype,"parsedUrl",null),e([u({type:x,readOnly:!0})],C.prototype,"nodePages",void 0),e([u({type:[O],readOnly:!0})],C.prototype,"materialDefinitions",void 0),e([u({type:[T],readOnly:!0})],C.prototype,"textureSetDefinitions",void 0),e([u({type:[q],readOnly:!0})],C.prototype,"geometryDefinitions",void 0),e([u({readOnly:!0})],C.prototype,"serviceUpdateTimeStamp",void 0),e([u({readOnly:!0})],C.prototype,"store",void 0),e([u({type:String,readOnly:!0,json:{read:{source:"store.rootNode"}}})],C.prototype,"rootNode",void 0),e([u({readOnly:!0})],C.prototype,"attributeStorageInfo",void 0),e([u(N.fields)],C.prototype,"fields",void 0),e([u({readOnly:!0})],C.prototype,"fieldsIndex",null),e([u({readOnly:!0,type:j})],C.prototype,"associatedLayer",void 0),e([m("service","associatedLayer",["associatedLayerID"])],C.prototype,"readAssociatedLayer",null),e([u(N.outFields)],C.prototype,"outFields",void 0),e([u({type:String,readOnly:!0})],C.prototype,"objectIdField",null),e([u({readOnly:!0,type:String,json:{read:!1}})],C.prototype,"displayField",null),e([u({readOnly:!0,type:String})],C.prototype,"apiKey",null),e([u({readOnly:!0,type:f})],C.prototype,"fullExtent",null),e([u({readOnly:!0,type:g})],C.prototype,"spatialReference",null),e([u({readOnly:!0})],C.prototype,"version",null),e([u({readOnly:!0,type:U})],C.prototype,"elevationInfo",null),e([u({readOnly:!0,type:Number})],C.prototype,"minScale",null),e([u({readOnly:!0,type:Number})],C.prototype,"maxScale",null),e([u({readOnly:!0,type:Number})],C.prototype,"effectiveScaleRange",null),e([u({type:["hide","show"],json:{write:!0}})],C.prototype,"listMode",void 0),e([u({types:o,json:{origins:{service:{read:{source:"drawingInfo.renderer"}}},name:"layerDefinition.drawingInfo.renderer",write:!0},value:null})],C.prototype,"renderer",void 0),e([u({type:String,json:{origins:{service:{read:!1,write:!1}},name:"layerDefinition.definitionExpression",write:{enabled:!0,allowNull:!0}}})],C.prototype,"definitionExpression",void 0),e([u(L)],C.prototype,"popupEnabled",void 0),e([u({type:t,json:{read:{source:"popupInfo"},write:{target:"popupInfo"}}})],C.prototype,"popupTemplate",void 0),e([u({readOnly:!0,type:String,json:{origins:{service:{read:{source:"store.normalReferenceFrame"}}},read:!1}})],C.prototype,"normalReferenceFrame",void 0),e([u({readOnly:!0,json:{read:!1}})],C.prototype,"defaultPopupTemplate",null),e([u()],C.prototype,"types",null),e([u()],C.prototype,"typeIdField",null),e([u({json:{write:!1}}),c(new a({"3DObject":"3d-object",Point:"point"}))],C.prototype,"layerType",void 0),e([u()],C.prototype,"geometryType",null),e([u()],C.prototype,"profile",null),e([u({readOnly:!0,json:{read:!1}})],C.prototype,"capabilities",null),C=e([h(_)],C);const M=C;export{M as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.25/esri/copyright.txt for details.
4
4
  */
5
- import t from"../../core/Error.js";import e from"../../core/Logger.js";import{isSome as n,isNone as o,assertIsSome as r}from"../../core/maybe.js";import{isPoint as s,isPolygon as l,isPolyline as c,isMultipoint as u}from"../../geometry/support/jsonUtils.js";import{OptimizedFeature as i}from"./OptimizedFeature.js";import f from"./OptimizedFeatureSet.js";import h from"./OptimizedGeometry.js";function a(t,e){return t?e?4:3:e?3:2}const g=e.getLogger("esri.layers.graphics.featureConversionUtils"),d={esriGeometryPoint:0,esriGeometryPolyline:2,esriGeometryPolygon:3,esriGeometryMultipoint:0},m=(t,e,n,o,r,s)=>{t[n]=r,t[n+1]=s},y=(t,e,n,o,r,s)=>{t[n]=r,t[n+1]=s,t[n+2]=e[o+2]},p=(t,e,n,o,r,s)=>{t[n]=r,t[n+1]=s,t[n+2]=e[o+3]},I=(t,e,n,o,r,s)=>{t[n]=r,t[n+1]=s,t[n+2]=e[o+2],t[n+3]=e[o+3]};function b(t,e,n,o){if(t){if(n)return e&&o?I:y;if(e&&o)return p}else if(e&&o)return y;return m}function w({scale:t,translate:e},n){return Math.round((n-e[0])/t[0])}function M({scale:t,translate:e},n){return Math.round((e[1]-n)/t[1])}function N(t,e){return T(t,e,0)}function G(t,e){return T(t,-e,1)}function T({scale:t,translate:e},n,o){return n*t[o]+e[o]}function F(t,e,n){return t?e?n?E(t):Z(t):n?k(t):P(t):null}function P(t){const e=t.coords;return{x:e[0],y:e[1]}}function x(t,e){return t.coords[0]=e.x,t.coords[1]=e.y,t}function Z(t){const e=t.coords;return{x:e[0],y:e[1],z:e[2]}}function j(t,e){return t.coords[0]=e.x,t.coords[1]=e.y,t.coords[2]=e.z,t}function k(t){const e=t.coords;return{x:e[0],y:e[1],m:e[2]}}function v(t,e){return t.coords[0]=e.x,t.coords[1]=e.y,t.coords[2]=e.m,t}function E(t){const e=t.coords;return{x:e[0],y:e[1],z:e[2],m:e[3]}}function z(t,e){return t.coords[0]=e.x,t.coords[1]=e.y,t.coords[2]=e.z,t.coords[3]=e.m,t}function S(t,e,o,r){let s=P;o&&r?s=E:o?s=Z:r&&(s=k);for(const l of e){const{geometry:e,attributes:o}=l,r=n(e)?s(e):null;t.push({attributes:o,geometry:r})}return t}function V(t,e){return t&&e?z:t?j:e?v:x}function Y(t,e,o,r,s){const l=V(o,r);for(const{geometry:c,attributes:u}of e){const e=n(c)?l(new h,c):null;t.push(new i(e,u,null,s?u[s]:void 0))}return t}function _(t,e,n=V(null!=e.z,null!=e.m)){return n(t,e)}function L(t,e,o,r){for(const{geometry:s,attributes:l}of e)t.push({attributes:l,geometry:n(s)?O(s,o,r):null});return t}function O(t,e,n){if(o(t))return null;const r=a(e,n),s=[];for(let o=0;o<t.coords.length;o+=r){const e=[];for(let n=0;n<r;n++)e.push(t.coords[o+n]);s.push(e)}return e?n?{points:s,hasZ:e,hasM:n}:{points:s,hasZ:e}:n?{points:s,hasM:n}:{points:s}}function U(t,e,o,r,s){const l=a(o,r);for(const{geometry:c,attributes:u}of e){const e=n(c)?A(new h,c,l):null;t.push(new i(e,u,null,s?u[s]:void 0))}return t}function A(t,e,n=a(e.hasZ,e.hasM)){t.lengths[0]=e.points.length;const o=t.coords;let r=0;for(const s of e.points)for(let t=0;t<n;t++)o[r++]=s[t];return t}function q(t,e,o,r){for(const{geometry:s,attributes:l}of e)t.push({attributes:l,geometry:n(s)?$(s,o,r):null});return t}function $(t,e,n){if(!t)return null;const o=a(e,n),{coords:r,lengths:s}=t,l=[];let c=0;for(const u of s){const t=[];for(let e=0;e<u;e++){const e=[];for(let t=0;t<o;t++)e.push(r[c++]);t.push(e)}l.push(t)}return e?n?{paths:l,hasZ:e,hasM:n}:{paths:l,hasZ:e}:n?{paths:l,hasM:n}:{paths:l}}function R(t,e,o,r,s){const l=a(o,r);for(const{geometry:c,attributes:u}of e){const e=n(c)?C(new h,c,l):null;t.push(new i(e,u,null,s?u[s]:void 0))}return t}function C(t,e,n=a(e.hasZ,e.hasM)){const{lengths:o,coords:r}=t;let s=0;for(const l of e.paths){for(const t of l)for(let e=0;e<n;e++)r[s++]=t[e];o.push(l.length)}return t}function B(t,e,o,r){for(const{geometry:s,attributes:l,centroid:c}of e){const e=n(s)?D(s,o,r):null;if(n(c)){const n=P(c);t.push({attributes:l,centroid:n,geometry:e})}else t.push({attributes:l,geometry:e})}return t}function D(t,e,n){if(!t)return null;const o=a(e,n),{coords:r,lengths:s}=t,l=[];let c=0;for(const u of s){const t=[];for(let e=0;e<u;e++){const e=[];for(let t=0;t<o;t++)e.push(r[c++]);t.push(e)}l.push(t)}return e?n?{rings:l,hasZ:e,hasM:n}:{rings:l,hasZ:e}:n?{rings:l,hasM:n}:{rings:l}}function H(t,e,o,r,s){for(const{geometry:l,centroid:c,attributes:u}of e){const e=n(l)?J(new h,l,o,r):null,f=s?u[s]:void 0;n(c)?t.push(new i(e,u,x(new h,c),f)):t.push(new i(e,u,null,f))}return t}function J(t,e,n=e.hasZ,o=e.hasM){return K(t,e.rings,n,o),t}function K(t,e,n,o){const r=a(n,o),{lengths:s,coords:l}=t;let c=0;s.length=l.length=0;for(const u of e){for(const t of u)for(let e=0;e<r;e++)l[c++]=t[e];s.push(u.length)}return t}const Q=[],W=[];function X(t,e,n,o,r){Q[0]=t;const[s]=tt(W,Q,e,n,o,r);return Q.length=W.length=0,s}function tt(e,n,o,r,s,l){if(e.length=0,!o){for(const t of n){const n=l?t.attributes[l]:void 0;e.push(new i(null,t.attributes,null,n))}return e}switch(o){case"esriGeometryPoint":return Y(e,n,r,s,l);case"esriGeometryMultipoint":return U(e,n,r,s,l);case"esriGeometryPolyline":return R(e,n,r,s,l);case"esriGeometryPolygon":return H(e,n,r,s,l);default:g.error("convertToFeatureSet:unknown-geometry",new t(`Unable to parse unknown geometry type '${o}'`)),e.length=0}return e}function et(e,n,o,r,s,l){const c=e.length;switch(o){case"esriGeometryPoint":Y(e,n,r,s,l);break;case"esriGeometryMultipoint":U(e,n,r,s,l);break;case"esriGeometryPolyline":R(e,n,r,s,l);break;case"esriGeometryPolygon":H(e,n,r,s,l);break;default:g.error("convertToFeatureSet:unknown-geometry",new t(`Unable to parse unknown geometry type '${o}'`))}for(let t=0;t<n.length;t++)e[t+c].geometryType=o,e[t+c].insertAfter=n[t].insertAfter,e[t+c].groupId=n[t].groupId;return e}function nt(t,e,n,o){W[0]=t,lt(Q,W,e,n,o);const r=Q[0];return Q.length=W.length=0,r}function ot(e,n,r){if(o(e))return null;const i=new h;if("hasZ"in e&&null==n&&(n=e.hasZ),"hasM"in e&&null==r&&(r=e.hasM),s(e)){return V(null!=n?n:null!=e.z,null!=r?r:null!=e.m)(i,e)}return l(e)?J(i,e,n,r):c(e)?C(i,e,a(n,r)):u(e)?A(i,e,a(n,r)):void g.error("convertFromGeometry:unknown-geometry",new t(`Unable to parse unknown geometry type '${e}'`))}function rt(e,n,r,s){const l=e&&("coords"in e?e:e.geometry);if(o(l))return null;switch(n){case"esriGeometryPoint":{let t=P;return r&&s?t=E:r?t=Z:s&&(t=k),t(l)}case"esriGeometryMultipoint":return O(l,r,s);case"esriGeometryPolyline":return $(l,r,s);case"esriGeometryPolygon":return D(l,r,s);default:return g.error("convertToGeometry:unknown-geometry",new t(`Unable to parse unknown geometry type '${n}'`)),null}}function st(t,e){for(const n of e)t.push({attributes:n.attributes});return t}function lt(e,n,r,s,l){if(e.length=0,o(r))return st(e,n);switch(r){case"esriGeometryPoint":return S(e,n,s,l);case"esriGeometryMultipoint":return L(e,n,s,l);case"esriGeometryPolyline":return q(e,n,s,l);case"esriGeometryPolygon":return B(e,n,s,l);default:g.error("convertToFeatureSet:unknown-geometry",new t(`Unable to parse unknown geometry type '${r}'`))}return e}function ct(t){const{objectIdFieldName:e,spatialReference:n,transform:o,fields:r,hasM:s,hasZ:l,features:c,geometryType:u,exceededTransferLimit:i,uniqueIdField:f,queryGeometry:h,queryGeometryType:a}=t,g={features:lt([],c,u,l,s),fields:r,geometryType:u,objectIdFieldName:e,spatialReference:n,uniqueIdField:f,queryGeometry:rt(h,a,!1,!1)};return o&&(g.transform=o),i&&(g.exceededTransferLimit=i),s&&(g.hasM=s),l&&(g.hasZ=l),g}function ut(e,n){const o=new f,{hasM:r,hasZ:s,features:l,objectIdFieldName:c,spatialReference:u,geometryType:i,exceededTransferLimit:h,transform:a,fields:d}=e;return d&&(o.fields=d),o.geometryType=i??null,o.objectIdFieldName=c??n??null,o.spatialReference=u??null,o.objectIdFieldName?(l&&tt(o.features,l,i,s,r,o.objectIdFieldName),h&&(o.exceededTransferLimit=h),r&&(o.hasM=r),s&&(o.hasZ=s),a&&(o.transform=a),o):(g.error(new t("optimized-features:invalid-objectIdFieldName","objectIdFieldName is missing")),o)}function it(t){const{transform:e,features:o,hasM:r,hasZ:s}=t;if(!e)return t;for(const l of o)n(l.geometry)&&pt(l.geometry,l.geometry,r,s,e),n(l.centroid)&&pt(l.centroid,l.centroid,r,s,e);return t.transform=null,t}function ft(t,e){const{geometryType:n,features:o,hasM:r,hasZ:s}=e;if(!t)return e;for(let l=0;l<o.length;l++){const e=o[l],c=e.weakClone();c.geometry=new h,ht(c.geometry,e.geometry,r,s,n,t),e.centroid&&(c.centroid=new h,ht(c.centroid,e.centroid,r,s,"esriGeometryPoint",t)),o[l]=c}return e.transform=t,e}function ht(t,e,n,r,s,l,c=n,u=r){if(t.lengths.length&&(t.lengths.length=0),t.coords.length&&(t.coords.length=0),o(e)||!e.coords.length)return null;const i=d[s],{coords:f,lengths:h}=e,g=a(n,r),m=a(n&&c,r&&u),y=b(n,r,c,u);if(!h.length)return y(t.coords,f,0,0,w(l,f[0]),M(l,f[1])),t.lengths.length&&(t.lengths.length=0),t.coords.length=g,t;let p,I,N,G,T=0,F=0,P=F;for(const o of h){if(o<i)continue;let e=0;F=P,N=p=w(l,f[T]),G=I=M(l,f[T+1]),y(t.coords,f,F,T,N,G),e++,T+=g,F+=m;for(let n=1;n<o;n++,T+=g)N=w(l,f[T]),G=M(l,f[T+1]),N===p&&G===I||(y(t.coords,f,F,T,N-p,G-I),F+=m,e++,p=N,I=G);e>=i&&(t.lengths.push(e),P=F)}return t.coords.length=P,t.coords.length?t:null}function at(t,e,n,o,r,s,l=n,c=o){if(t.lengths.length&&(t.lengths.length=0),t.coords.length&&(t.coords.length=0),!e||!e.coords.length)return null;const u=d[r],{coords:i,lengths:f}=e,h=a(n,o),g=a(n&&l,o&&c),m=b(n,o,l,c);if(!f.length)return m(t.coords,i,0,0,i[0],i[1]),t.lengths.length&&(t.lengths.length=0),t.coords.length=h,t;let y=0;const p=s*s;for(const a of f){if(a<u){y+=a*h;continue}const e=t.coords.length/g,n=y,o=y+(a-1)*h;m(t.coords,i,t.coords.length,n,i[n],i[n+1]),dt(t.coords,i,h,p,m,n,o),m(t.coords,i,t.coords.length,o,i[o],i[o+1]);const r=t.coords.length/g-e;r>=u?t.lengths.push(r):t.coords.length=e*g,y+=a*h}return t.coords.length?t:null}function gt(t,e,n,o){const r=t[e],s=t[e+1],l=t[n],c=t[n+1],u=t[o],i=t[o+1];let f=l,h=c,a=u-f,g=i-h;if(0!==a||0!==g){const t=((r-f)*a+(s-h)*g)/(a*a+g*g);t>1?(f=u,h=i):t>0&&(f+=a*t,h+=g*t)}return a=r-f,g=s-h,a*a+g*g}function dt(t,e,n,o,r,s,l){let c,u=o,i=0;for(let f=s+n;f<l;f+=n)c=gt(e,f,s,l),c>u&&(i=f,u=c);u>o&&(i-s>n&&dt(t,e,n,o,r,s,i),r(t,e,t.length,i,e[i],e[i+1]),l-i>n&&dt(t,e,n,o,r,i,l))}function mt(t,e,n,r){if(o(e)||!e.coords||!e.coords.length)return null;const s=a(n,r);let l=Number.POSITIVE_INFINITY,c=Number.POSITIVE_INFINITY,u=Number.NEGATIVE_INFINITY,i=Number.NEGATIVE_INFINITY;if(e&&e.coords){const t=e.coords;for(let e=0;e<t.length;e+=s){const n=t[e],o=t[e+1];l=Math.min(l,n),u=Math.max(u,n),c=Math.min(c,o),i=Math.max(i,o)}}return t[0]=l,t[1]=c,t[2]=u,t[3]=i,t}function yt(t,e,n,o){const r=a(n,o),{lengths:s,coords:l}=e;let c=Number.POSITIVE_INFINITY,u=Number.POSITIVE_INFINITY,i=Number.NEGATIVE_INFINITY,f=Number.NEGATIVE_INFINITY,h=0;for(const a of s){let t=l[h],e=l[h+1];c=Math.min(t,c),u=Math.min(e,u),i=Math.max(t,i),f=Math.max(e,f),h+=r;for(let n=1;n<a;n++,h+=r){const n=l[h],o=l[h+1];t+=n,e+=o,n<0&&(c=Math.min(c,t)),n>0&&(i=Math.max(i,t)),o<0?u=Math.min(u,e):o>0&&(f=Math.max(f,e))}}return t[0]=c,t[1]=u,t[2]=i,t[3]=f,t}function pt(t,e,n,o,s){const{coords:l,lengths:c}=e,u=a(n,o);if(!l.length)return t!==e&&(t.lengths.length=0,t.coords.length=0),t;r(s);const{originPosition:i,scale:f,translate:h}=s,g=Tt;g.originPosition=i;const d=g.scale;d[0]=f[0]??1,d[1]=-(f[1]??1),d[2]=f[2]??1,d[3]=f[3]??1;const m=g.translate;if(m[0]=h[0]??0,m[1]=h[1]??0,m[2]=h[2]??0,m[3]=h[3]??0,!c.length){for(let e=0;e<u;++e)t.coords[e]=T(g,l[e],e);return t!==e&&(t.lengths.length=0,t.coords.length=u),t}let y=0;for(let r=0;r<c.length;r++){const e=c[r];t.lengths[r]=e;for(let r=0;r<u;++r)t.coords[y+r]=T(g,l[y+r],r);let n=t.coords[y],o=t.coords[y+1];y+=u;for(let r=1;r<e;r++,y+=u){n+=l[y]*d[0],o+=l[y+1]*d[1],t.coords[y]=n,t.coords[y+1]=o;for(let e=2;e<u;++e)t.coords[y+e]=T(g,l[y+e],e)}}return t!==e&&(t.lengths.length=c.length,t.coords.length=l.length),t}function It(t,e,n,o,r,s){const l=a(n,o),c=b(n,o,r,s),u=e.coords;t.coords.length=0,t.lengths.length=0,t.lengths.push(...e.lengths);for(let i=0;i<u.length;i+=l)c(t.coords,u,t.coords.length,i,u[i],u[i+1]);return t}function bt(t,e,n,o,r){if(!e||!e.coords||!e.coords.length)return null;const s=d[n],{coords:l,lengths:c}=e,u=b(o,r,o,r),i=a(o,r);let f=0,h=0,g=0,m=0;for(const a of c){h=m,u(t.coords,l,h,f,l[f],l[f+1]),f+=i;let e=l[f],n=l[f+1],o=e,r=n,c=n/e;h+=i,u(t.coords,l,h,f,o,r),f+=i;for(let s=2;s<a;s++){e=l[f],n=l[f+1];const s=n/e,a=c===s||!isFinite(c)&&!isFinite(s),g=a&&isFinite(s)?c>=0&&s>=0||c<=0&&s<=0:r>=0&&n>=0||r<=0&&n<=0;a&&g?(o+=e,r+=n):(o=e,r=n,h+=i),u(t.coords,l,h,f,o,r),f+=i,c=s}h+=i;const d=(h-m)/i;d>=s&&(t.lengths[g]=d,m=h,g++)}return t.coords.length>m&&(t.coords.length=m),t.lengths.length>g&&(t.lengths.length=g),t.coords.length&&t.lengths.length?t:null}function wt(t,e,n,o){let r=0,s=t[o*e],l=t[o*(e+1)];for(let c=1;c<n;c++){const n=s+t[o*(e+c)],u=l+t[o*(e+c)+1],i=(n-s)*(u+l);s=n,l=u,r+=i}return.5*r}function Mt(t,e){const{coords:n,lengths:o}=t;let r=0,s=0;for(let l=0;l<o.length;l++){s+=wt(n,r,o[l],e),r+=l}return Math.abs(s)}function Nt(t,e){const n=t.clone(),o=t.coords,r=t.lengths;let s=0;for(let l=0;l<r.length;l++){const t=r[l];let c=o[e*s],u=o[e*s+1];for(let r=1;r<t;r++){const t=o[e*(s+r)],l=o[e*(s+r)+1],i=t-c,f=l-u;n.coords[e*(s+r)]=i,n.coords[e*(s+r)+1]=f,c=t,u=l}s+=t}return n}function Gt(t,e){if(o(t))return null;const n=t.clone(),r=t.coords,s=t.lengths;let l=0;for(let o=0;o<s.length;o++){const t=s[o];let c=r[e*l],u=r[e*l+1];for(let o=1;o<t;o++){const t=c+r[e*(l+o)],s=u+r[e*(l+o)+1];n.coords[e*(l+o)]=t,n.coords[e*(l+o)+1]=s,c=t,u=s}l+=t}return n}const Tt={originPosition:"lowerLeft",scale:[1,1,1,1],translate:[0,0,0,0]};export{X as convertFromFeature,ut as convertFromFeatureSet,tt as convertFromFeatures,ot as convertFromGeometry,et as convertFromGraphics,A as convertFromMultipoint,U as convertFromMultipointFeatures,K as convertFromNestedArray,_ as convertFromPoint,Y as convertFromPointFeatures,J as convertFromPolygon,C as convertFromPolyline,R as convertFromPolylineFeatures,nt as convertToFeature,ct as convertToFeatureSet,lt as convertToFeatures,rt as convertToGeometry,O as convertToMultipoint,L as convertToMultipointFeatures,F as convertToPoint,D as convertToPolygon,$ as convertToPolyline,Gt as deltaDecodeGeometry,Nt as deltaEncodeGeometry,at as generalizeOptimizedGeometry,mt as getBoundsOptimizedGeometry,Mt as getQuantizedArea,yt as getQuantizedBoundsOptimizedGeometry,wt as getSignedQuantizedRingArea,ft as quantizeOptimizedFeatureSet,ht as quantizeOptimizedGeometry,w as quantizeX,M as quantizeY,bt as removeCollinearVectices,It as removeZMValues,it as unquantizeOptimizedFeatureSet,pt as unquantizeOptimizedGeometry,T as unquantizeValue,N as unquantizeX,G as unquantizeY};
5
+ import t from"../../core/Error.js";import e from"../../core/Logger.js";import{isSome as n,isNone as o,assertIsSome as r}from"../../core/maybe.js";import{isPoint as s,isPolygon as l,isPolyline as c,isMultipoint as u}from"../../geometry/support/jsonUtils.js";import{OptimizedFeature as i}from"./OptimizedFeature.js";import f from"./OptimizedFeatureSet.js";import h from"./OptimizedGeometry.js";function a(t,e){return t?e?4:3:e?3:2}const g=e.getLogger("esri.layers.graphics.featureConversionUtils"),d={esriGeometryPoint:0,esriGeometryPolyline:2,esriGeometryPolygon:3,esriGeometryMultipoint:0},m=(t,e,n,o,r,s)=>{t[n]=r,t[n+1]=s},y=(t,e,n,o,r,s)=>{t[n]=r,t[n+1]=s,t[n+2]=e[o+2]},p=(t,e,n,o,r,s)=>{t[n]=r,t[n+1]=s,t[n+2]=e[o+3]},I=(t,e,n,o,r,s)=>{t[n]=r,t[n+1]=s,t[n+2]=e[o+2],t[n+3]=e[o+3]};function b(t,e,n,o){if(t){if(n)return e&&o?I:y;if(e&&o)return p}else if(e&&o)return y;return m}function w({scale:t,translate:e},n){return Math.round((n-e[0])/t[0])}function M({scale:t,translate:e},n){return Math.round((e[1]-n)/t[1])}function N(t,e){return T(t,e,0)}function G(t,e){return T(t,-e,1)}function T({scale:t,translate:e},n,o){return n*t[o]+e[o]}function F(t,e,n){return t?e?n?E(t):Z(t):n?k(t):P(t):null}function P(t){const e=t.coords;return{x:e[0],y:e[1]}}function x(t,e){return t.coords[0]=e.x,t.coords[1]=e.y,t}function Z(t){const e=t.coords;return{x:e[0],y:e[1],z:e[2]}}function j(t,e){return t.coords[0]=e.x,t.coords[1]=e.y,t.coords[2]=e.z,t}function k(t){const e=t.coords;return{x:e[0],y:e[1],m:e[2]}}function v(t,e){return t.coords[0]=e.x,t.coords[1]=e.y,t.coords[2]=e.m,t}function E(t){const e=t.coords;return{x:e[0],y:e[1],z:e[2],m:e[3]}}function z(t,e){return t.coords[0]=e.x,t.coords[1]=e.y,t.coords[2]=e.z,t.coords[3]=e.m,t}function S(t,e,o,r){let s=P;o&&r?s=E:o?s=Z:r&&(s=k);for(const l of e){const{geometry:e,attributes:o}=l,r=n(e)?s(e):null;t.push({attributes:o,geometry:r})}return t}function V(t,e){return t&&e?z:t?j:e?v:x}function Y(t,e,o,r,s){const l=V(o,r);for(const{geometry:c,attributes:u}of e){const e=n(c)?l(new h,c):null;t.push(new i(e,u,null,s?u[s]:void 0))}return t}function _(t,e,n=V(null!=e.z,null!=e.m)){return n(t,e)}function L(t,e,o,r){for(const{geometry:s,attributes:l}of e)t.push({attributes:l,geometry:n(s)?O(s,o,r):null});return t}function O(t,e,n){if(o(t))return null;const r=a(e,n),s=[];for(let o=0;o<t.coords.length;o+=r){const e=[];for(let n=0;n<r;n++)e.push(t.coords[o+n]);s.push(e)}return e?n?{points:s,hasZ:e,hasM:n}:{points:s,hasZ:e}:n?{points:s,hasM:n}:{points:s}}function U(t,e,o,r,s){const l=a(o,r);for(const{geometry:c,attributes:u}of e){const e=n(c)?A(new h,c,l):null;t.push(new i(e,u,null,s?u[s]:void 0))}return t}function A(t,e,n=a(e.hasZ,e.hasM)){t.lengths[0]=e.points.length;const o=t.coords;let r=0;for(const s of e.points)for(let t=0;t<n;t++)o[r++]=s[t];return t}function q(t,e,o,r){for(const{geometry:s,attributes:l}of e)t.push({attributes:l,geometry:n(s)?$(s,o,r):null});return t}function $(t,e,n){if(!t)return null;const o=a(e,n),{coords:r,lengths:s}=t,l=[];let c=0;for(const u of s){const t=[];for(let e=0;e<u;e++){const e=[];for(let t=0;t<o;t++)e.push(r[c++]);t.push(e)}l.push(t)}return e?n?{paths:l,hasZ:e,hasM:n}:{paths:l,hasZ:e}:n?{paths:l,hasM:n}:{paths:l}}function R(t,e,o,r,s){const l=a(o,r);for(const{geometry:c,attributes:u}of e){const e=n(c)?C(new h,c,l):null;t.push(new i(e,u,null,s?u[s]:void 0))}return t}function C(t,e,n=a(e.hasZ,e.hasM)){const{lengths:o,coords:r}=t;let s=0;for(const l of e.paths){for(const t of l)for(let e=0;e<n;e++)r[s++]=t[e];o.push(l.length)}return t}function B(t,e,o,r){for(const{geometry:s,attributes:l,centroid:c}of e){const e=n(s)?D(s,o,r):null;if(n(c)){const n=P(c);t.push({attributes:l,centroid:n,geometry:e})}else t.push({attributes:l,geometry:e})}return t}function D(t,e,n){if(!t)return null;const o=a(e,n),{coords:r,lengths:s}=t,l=[];let c=0;for(const u of s){const t=[];for(let e=0;e<u;e++){const e=[];for(let t=0;t<o;t++)e.push(r[c++]);t.push(e)}l.push(t)}return e?n?{rings:l,hasZ:e,hasM:n}:{rings:l,hasZ:e}:n?{rings:l,hasM:n}:{rings:l}}function H(t,e,o,r,s){for(const{geometry:l,centroid:c,attributes:u}of e){const e=n(l)?J(new h,l,o,r):null,f=s?u[s]:void 0;n(c)?t.push(new i(e,u,x(new h,c),f)):t.push(new i(e,u,null,f))}return t}function J(t,e,n=e.hasZ,o=e.hasM){return K(t,e.rings,n,o),t}function K(t,e,n,o){const r=a(n,o),{lengths:s,coords:l}=t;let c=0;s.length=l.length=0;for(const u of e){for(const t of u)for(let e=0;e<r;e++)l[c++]=t[e];s.push(u.length)}return t}const Q=[],W=[];function X(t,e,n,o,r){Q[0]=t;const[s]=tt(W,Q,e,n,o,r);return Q.length=W.length=0,s}function tt(e,n,o,r,s,l){if(e.length=0,!o){for(const t of n){const n=l?t.attributes[l]:void 0;e.push(new i(null,t.attributes,null,n))}return e}switch(o){case"esriGeometryPoint":return Y(e,n,r,s,l);case"esriGeometryMultipoint":return U(e,n,r,s,l);case"esriGeometryPolyline":return R(e,n,r,s,l);case"esriGeometryPolygon":return H(e,n,r,s,l);default:g.error("convertToFeatureSet:unknown-geometry",new t(`Unable to parse unknown geometry type '${o}'`)),e.length=0}return e}function et(e,n,o,r,s,l){const c=e.length;switch(o){case"esriGeometryPoint":Y(e,n,r,s,l);break;case"esriGeometryMultipoint":U(e,n,r,s,l);break;case"esriGeometryPolyline":R(e,n,r,s,l);break;case"esriGeometryPolygon":H(e,n,r,s,l);break;default:g.error("convertToFeatureSet:unknown-geometry",new t(`Unable to parse unknown geometry type '${o}'`))}for(let t=0;t<n.length;t++)e[t+c].geometryType=o,e[t+c].insertAfter=n[t].insertAfter,e[t+c].groupId=n[t].groupId;return e}function nt(t,e,n,o){W[0]=t,lt(Q,W,e,n,o);const r=Q[0];return Q.length=W.length=0,r}function ot(e,n,r){if(o(e))return null;const i=new h;if("hasZ"in e&&null==n&&(n=e.hasZ),"hasM"in e&&null==r&&(r=e.hasM),s(e)){return V(null!=n?n:null!=e.z,null!=r?r:null!=e.m)(i,e)}return l(e)?J(i,e,n,r):c(e)?C(i,e,a(n,r)):u(e)?A(i,e,a(n,r)):void g.error("convertFromGeometry:unknown-geometry",new t(`Unable to parse unknown geometry type '${e}'`))}function rt(e,n,r,s){const l=e&&("coords"in e?e:e.geometry);if(o(l))return null;switch(n){case"esriGeometryPoint":{let t=P;return r&&s?t=E:r?t=Z:s&&(t=k),t(l)}case"esriGeometryMultipoint":return O(l,r,s);case"esriGeometryPolyline":return $(l,r,s);case"esriGeometryPolygon":return D(l,r,s);default:return g.error("convertToGeometry:unknown-geometry",new t(`Unable to parse unknown geometry type '${n}'`)),null}}function st(t,e){for(const n of e)t.push({attributes:n.attributes});return t}function lt(e,n,r,s,l){if(e.length=0,o(r))return st(e,n);switch(r){case"esriGeometryPoint":return S(e,n,s,l);case"esriGeometryMultipoint":return L(e,n,s,l);case"esriGeometryPolyline":return q(e,n,s,l);case"esriGeometryPolygon":return B(e,n,s,l);default:g.error("convertToFeatureSet:unknown-geometry",new t(`Unable to parse unknown geometry type '${r}'`))}return e}function ct(t){const{objectIdFieldName:e,spatialReference:n,transform:o,fields:r,hasM:s,hasZ:l,features:c,geometryType:u,exceededTransferLimit:i,uniqueIdField:f,queryGeometry:h,queryGeometryType:a}=t,g={features:lt([],c,u,l,s),fields:r,geometryType:u,objectIdFieldName:e,spatialReference:n,uniqueIdField:f,queryGeometry:rt(h,a,!1,!1)};return o&&(g.transform=o),i&&(g.exceededTransferLimit=i),s&&(g.hasM=s),l&&(g.hasZ=l),g}function ut(e,n){const o=new f,{hasM:r,hasZ:s,features:l,objectIdFieldName:c,spatialReference:u,geometryType:i,exceededTransferLimit:h,transform:a,fields:d}=e;return d&&(o.fields=d),o.geometryType=i??null,o.objectIdFieldName=c??n??null,o.spatialReference=u??null,o.objectIdFieldName?(l&&tt(o.features,l,i,s,r,o.objectIdFieldName),h&&(o.exceededTransferLimit=h),r&&(o.hasM=r),s&&(o.hasZ=s),a&&(o.transform=a),o):(g.error(new t("optimized-features:invalid-objectIdFieldName","objectIdFieldName is missing")),o)}function it(t){const{transform:e,features:o,hasM:r,hasZ:s}=t;if(!e)return t;for(const l of o)n(l.geometry)&&pt(l.geometry,l.geometry,r,s,e),n(l.centroid)&&pt(l.centroid,l.centroid,r,s,e);return t.transform=null,t}function ft(t,e){const{geometryType:n,features:o,hasM:r,hasZ:s}=e;if(!t)return e;for(let l=0;l<o.length;l++){const e=o[l],c=e.weakClone();c.geometry=new h,ht(c.geometry,e.geometry,r,s,n,t),e.centroid&&(c.centroid=new h,ht(c.centroid,e.centroid,r,s,"esriGeometryPoint",t)),o[l]=c}return e.transform=t,e}function ht(t,e,n,r,s,l,c=n,u=r){if(t.lengths.length&&(t.lengths.length=0),t.coords.length&&(t.coords.length=0),o(e)||!e.coords.length)return null;const i=d[s],{coords:f,lengths:h}=e,g=a(n,r),m=a(n&&c,r&&u),y=b(n,r,c,u);if(!h.length)return y(t.coords,f,0,0,w(l,f[0]),M(l,f[1])),t.lengths.length&&(t.lengths.length=0),t.coords.length=g,t;let p,I,N,G,T=0,F=0,P=F;for(const o of h){if(o<i)continue;let e=0;F=P,N=p=w(l,f[T]),G=I=M(l,f[T+1]),y(t.coords,f,F,T,N,G),e++,T+=g,F+=m;for(let n=1;n<o;n++,T+=g)N=w(l,f[T]),G=M(l,f[T+1]),N===p&&G===I||(y(t.coords,f,F,T,N-p,G-I),F+=m,e++,p=N,I=G);e>=i&&(t.lengths.push(e),P=F)}return t.coords.length=P,t.coords.length?t:null}function at(t,e,n,o,r,s,l=n,c=o){if(t.lengths.length&&(t.lengths.length=0),t.coords.length&&(t.coords.length=0),!e||!e.coords.length)return null;const u=d[r],{coords:i,lengths:f}=e,h=a(n,o),g=a(n&&l,o&&c),m=b(n,o,l,c);if(!f.length)return m(t.coords,i,0,0,i[0],i[1]),t.lengths.length&&(t.lengths.length=0),t.coords.length=h,t;let y=0;const p=s*s;for(const a of f){if(a<u){y+=a*h;continue}const e=t.coords.length/g,n=y,o=y+(a-1)*h;m(t.coords,i,t.coords.length,n,i[n],i[n+1]),dt(t.coords,i,h,p,m,n,o),m(t.coords,i,t.coords.length,o,i[o],i[o+1]);const r=t.coords.length/g-e;r>=u?t.lengths.push(r):t.coords.length=e*g,y+=a*h}return t.coords.length?t:null}function gt(t,e,n,o){const r=t[e],s=t[e+1],l=t[n],c=t[n+1],u=t[o],i=t[o+1];let f=l,h=c,a=u-f,g=i-h;if(0!==a||0!==g){const t=((r-f)*a+(s-h)*g)/(a*a+g*g);t>1?(f=u,h=i):t>0&&(f+=a*t,h+=g*t)}return a=r-f,g=s-h,a*a+g*g}function dt(t,e,n,o,r,s,l){let c,u=o,i=0;for(let f=s+n;f<l;f+=n)c=gt(e,f,s,l),c>u&&(i=f,u=c);u>o&&(i-s>n&&dt(t,e,n,o,r,s,i),r(t,e,t.length,i,e[i],e[i+1]),l-i>n&&dt(t,e,n,o,r,i,l))}function mt(t,e,n,r){if(o(e)||!e.coords||!e.coords.length)return null;const s=a(n,r);let l=Number.POSITIVE_INFINITY,c=Number.POSITIVE_INFINITY,u=Number.NEGATIVE_INFINITY,i=Number.NEGATIVE_INFINITY;if(e&&e.coords){const t=e.coords;for(let e=0;e<t.length;e+=s){const n=t[e],o=t[e+1];l=Math.min(l,n),u=Math.max(u,n),c=Math.min(c,o),i=Math.max(i,o)}}return t[0]=l,t[1]=c,t[2]=u,t[3]=i,t}function yt(t,e,n,o){const r=a(n,o),{lengths:s,coords:l}=e;let c=Number.POSITIVE_INFINITY,u=Number.POSITIVE_INFINITY,i=Number.NEGATIVE_INFINITY,f=Number.NEGATIVE_INFINITY,h=0;for(const a of s){let t=l[h],e=l[h+1];c=Math.min(t,c),u=Math.min(e,u),i=Math.max(t,i),f=Math.max(e,f),h+=r;for(let n=1;n<a;n++,h+=r){const n=l[h],o=l[h+1];t+=n,e+=o,n<0&&(c=Math.min(c,t)),n>0&&(i=Math.max(i,t)),o<0?u=Math.min(u,e):o>0&&(f=Math.max(f,e))}}return t[0]=c,t[1]=u,t[2]=i,t[3]=f,t}function pt(t,e,n,o,s){const{coords:l,lengths:c}=e,u=a(n,o);if(!l.length)return t!==e&&(t.lengths.length=0,t.coords.length=0),t;r(s);const{originPosition:i,scale:f,translate:h}=s,g=Tt;g.originPosition=i;const d=g.scale;d[0]=f[0]??1,d[1]=-(f[1]??1),d[2]=f[2]??1,d[3]=f[3]??1;const m=g.translate;if(m[0]=h[0]??0,m[1]=h[1]??0,m[2]=h[2]??0,m[3]=h[3]??0,!c.length){for(let e=0;e<u;++e)t.coords[e]=T(g,l[e],e);return t!==e&&(t.lengths.length=0,t.coords.length=u),t}let y=0;for(let r=0;r<c.length;r++){const e=c[r];t.lengths[r]=e;for(let r=0;r<u;++r)t.coords[y+r]=T(g,l[y+r],r);let n=t.coords[y],o=t.coords[y+1];y+=u;for(let r=1;r<e;r++,y+=u){n+=l[y]*d[0],o+=l[y+1]*d[1],t.coords[y]=n,t.coords[y+1]=o;for(let e=2;e<u;++e)t.coords[y+e]=T(g,l[y+e],e)}}return t!==e&&(t.lengths.length=c.length,t.coords.length=l.length),t}function It(t,e,n,o,r,s){const l=a(n,o),c=b(n,o,r,s),u=e.coords;t.coords.length=0,t.lengths.length=0,t.lengths.push(...e.lengths);for(let i=0;i<u.length;i+=l)c(t.coords,u,t.coords.length,i,u[i],u[i+1]);return t}function bt(t,e,n,o,r){if(!e||!e.coords||!e.coords.length)return null;const s=d[n],{coords:l,lengths:c}=e,u=b(o,r,o,r),i=a(o,r);let f=0,h=0,g=0,m=0;for(const a of c){h=m,u(t.coords,l,h,f,l[f],l[f+1]),f+=i;let e=l[f],n=l[f+1],o=e,r=n,c=n/e;h+=i,u(t.coords,l,h,f,o,r),f+=i;for(let s=2;s<a;s++){e=l[f],n=l[f+1];const s=n/e,a=c===s||!isFinite(c)&&!isFinite(s),g=a&&isFinite(s)?c>=0&&s>=0||c<=0&&s<=0:r>=0&&n>=0||r<=0&&n<=0;a&&g?(o+=e,r+=n):(o=e,r=n,h+=i),u(t.coords,l,h,f,o,r),f+=i,c=s}h+=i;const d=(h-m)/i;d>=s&&(t.lengths[g]=d,m=h,g++)}return t.coords.length>m&&(t.coords.length=m),t.lengths.length>g&&(t.lengths.length=g),t.coords.length&&t.lengths.length?t:null}function wt(t,e,n,o){let r=0,s=t[o*e],l=t[o*(e+1)];for(let c=1;c<n;c++){const n=s+t[o*(e+c)],u=l+t[o*(e+c)+1],i=(n-s)*(u+l);s=n,l=u,r+=i}return.5*r}function Mt(t,e){const{coords:n,lengths:o}=t;let r=0,s=0;for(let l=0;l<o.length;l++){const t=o[l];s+=wt(n,r,t,e),r+=t}return Math.abs(s)}function Nt(t,e){const n=t.clone(),o=t.coords,r=t.lengths;let s=0;for(let l=0;l<r.length;l++){const t=r[l];let c=o[e*s],u=o[e*s+1];for(let r=1;r<t;r++){const t=o[e*(s+r)],l=o[e*(s+r)+1],i=t-c,f=l-u;n.coords[e*(s+r)]=i,n.coords[e*(s+r)+1]=f,c=t,u=l}s+=t}return n}function Gt(t,e){if(o(t))return null;const n=t.clone(),r=t.coords,s=t.lengths;let l=0;for(let o=0;o<s.length;o++){const t=s[o];let c=r[e*l],u=r[e*l+1];for(let o=1;o<t;o++){const t=c+r[e*(l+o)],s=u+r[e*(l+o)+1];n.coords[e*(l+o)]=t,n.coords[e*(l+o)+1]=s,c=t,u=s}l+=t}return n}const Tt={originPosition:"lowerLeft",scale:[1,1,1,1],translate:[0,0,0,0]};export{X as convertFromFeature,ut as convertFromFeatureSet,tt as convertFromFeatures,ot as convertFromGeometry,et as convertFromGraphics,A as convertFromMultipoint,U as convertFromMultipointFeatures,K as convertFromNestedArray,_ as convertFromPoint,Y as convertFromPointFeatures,J as convertFromPolygon,C as convertFromPolyline,R as convertFromPolylineFeatures,nt as convertToFeature,ct as convertToFeatureSet,lt as convertToFeatures,rt as convertToGeometry,O as convertToMultipoint,L as convertToMultipointFeatures,F as convertToPoint,D as convertToPolygon,$ as convertToPolyline,Gt as deltaDecodeGeometry,Nt as deltaEncodeGeometry,at as generalizeOptimizedGeometry,mt as getBoundsOptimizedGeometry,Mt as getQuantizedArea,yt as getQuantizedBoundsOptimizedGeometry,wt as getSignedQuantizedRingArea,ft as quantizeOptimizedFeatureSet,ht as quantizeOptimizedGeometry,w as quantizeX,M as quantizeY,bt as removeCollinearVectices,It as removeZMValues,it as unquantizeOptimizedFeatureSet,pt as unquantizeOptimizedGeometry,T as unquantizeValue,N as unquantizeX,G as unquantizeY};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.25/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../chunks/tslib.es6.js";import t from"../../core/Evented.js";import{clone as s}from"../../core/lang.js";import"../../core/Logger.js";import"../../core/accessorSupport/ensureType.js";import"../../core/Error.js";import"../../core/has.js";import{subclass as r}from"../../core/accessorSupport/decorators/subclass.js";const d=new t.EventEmitter,i=Symbol("EditBusLayer");function o(e){return e&&"object"==typeof e&&i in e}const a=t=>{var o;let a=class extends t{constructor(...e){super(...e),this[o]=!0,this.when().then((()=>{this.own([d.on("edits",(({layer:e,event:t})=>{if(e===this||e.url!==this.url)return;if(null!=e.layerId&&null!=this.layerId&&e.layerId===this.layerId)return void this.emit("edits",s(t));const r=t.editedFeatures?.find((({layerId:e})=>e===this.layerId));if(r){const{adds:e,updates:d,deletes:i}=r.editedFeatures,o={edits:null,addedAttachments:[],deletedAttachments:[],updatedAttachments:[],addedFeatures:e.map((({attributes:e})=>({objectId:e[this.objectIdField],globalId:e[this.globalIdField]}))),deletedFeatures:i.map((({attributes:e})=>({objectId:e[this.objectIdField],globalId:e[this.globalIdField]}))),updatedFeatures:d.map((({current:{attributes:e}})=>({objectId:e[this.objectIdField],globalId:e[this.globalIdField]}))),editedFeatures:s(t.editedFeatures)};this.emit("edits",o)}}))])}),(()=>{}))}};return o=i,a=e([r("esri.layers.mixins.EditBusLayer")],a),a};export{a as EditBusLayer,d as editEventBus,o as isEditBusLayer};
5
+ import{_ as e}from"../../chunks/tslib.es6.js";import t from"../../core/Evented.js";import{clone as r}from"../../core/lang.js";import"../../core/Logger.js";import"../../core/accessorSupport/ensureType.js";import"../../core/Error.js";import"../../core/has.js";import{subclass as s}from"../../core/accessorSupport/decorators/subclass.js";const d=new t.EventEmitter,i=Symbol("EditBusLayer");function o(e){return e&&"object"==typeof e&&i in e}const a=t=>{var o;let a=class extends t{constructor(...e){super(...e),this[o]=!0,this.when().then((()=>{this.own([d.on("edits",(e=>{const t="layer"in e?e.layer:null,s="layer"in e?e.layer.url:e.serviceUrl,d="layer"in e?e.layer.layerId:e.layerId,i=e.event;if(t===this||s!==this.url)return;if(null!=d&&null!=this.layerId&&d===this.layerId)return void this.emit("edits",r(i));const o=i.editedFeatures?.find((({layerId:e})=>e===this.layerId));if(o){const{adds:e,updates:t,deletes:s}=o.editedFeatures,d={edits:null,addedAttachments:[],deletedAttachments:[],updatedAttachments:[],addedFeatures:e.map((({attributes:e})=>({objectId:e[this.objectIdField],globalId:e[this.globalIdField]}))),deletedFeatures:s.map((({attributes:e})=>({objectId:e[this.objectIdField],globalId:e[this.globalIdField]}))),updatedFeatures:t.map((({current:{attributes:e}})=>({objectId:e[this.objectIdField],globalId:e[this.globalIdField]}))),editedFeatures:r(i.editedFeatures)};this.emit("edits",d)}}))])}),(()=>{}))}};return o=i,a=e([s("esri.layers.mixins.EditBusLayer")],a),a};export{a as EditBusLayer,d as editEventBus,o as isEditBusLayer};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.25/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../chunks/tslib.es6.js";import r from"../../core/Error.js";import{isBlobProtocol as t}from"../../core/urlUtils.js";import{property as o}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as i}from"../../core/accessorSupport/decorators/subclass.js";import{writer as s}from"../../core/accessorSupport/decorators/writer.js";import{readLoadable as a}from"../../core/accessorSupport/read.js";import{willPropertyWrite as p}from"../../core/accessorSupport/write.js";import{supportedTypes as n}from"./operationalLayers.js";import{listMode as l,opacity as y}from"../support/commonProperties.js";const c=c=>{let u=class extends c{constructor(){super(...arguments),this.title=null}writeListMode(e,r,t,o){(o&&"ground"===o.layerContainerType||e&&p(this,t,{},o))&&(r[t]=e)}writeOperationalLayerType(e,r,t,o){!e||o&&"tables"===o.layerContainerType||(r.layerType=e)}writeTitle(e,r){r.title=e??"Layer"}read(e,r){r&&(r.layer=this),a(this,e,(r=>super.read(e,r)),r)}write(e,o){if(o?.origin){const e=`${o.origin}/${o.layerContainerType||"operational-layers"}`,t=n[e];let i=t&&t[this.operationalLayerType];if("ArcGISTiledElevationServiceLayer"===this.operationalLayerType&&"web-scene/operational-layers"===e&&(i=!1),!i)return o.messages?.push(new r("layer:unsupported",`Layers (${this.title}, ${this.id}) of type '${this.declaredClass}' are not supported in the context of '${e}'`,{layer:this})),null}const i=super.write(e,{...o,layer:this}),s=!!o&&!!o.messages&&!!o.messages.filter((e=>e instanceof r&&"web-document-write:property-required"===e.name)).length;return t(i?.url)?(o?.messages?.push(new r("layer:invalid-url",`Layer (${this.title}, ${this.id}) of type '${this.declaredClass}' using a Blob URL cannot be written to web scenes and web maps`,{layer:this})),null):!this.url&&s?null:i}beforeSave(){}};return e([o({type:String,json:{write:{ignoreOrigin:!0},origins:{"web-scene":{write:{isRequired:!0,ignoreOrigin:!0}},"portal-item":{write:!1}}}})],u.prototype,"id",void 0),e([o(l)],u.prototype,"listMode",void 0),e([s("listMode")],u.prototype,"writeListMode",null),e([o({type:String,readOnly:!0,json:{read:!1,write:{target:"layerType",ignoreOrigin:!0},origins:{"portal-item":{write:!1}}}})],u.prototype,"operationalLayerType",void 0),e([s("operationalLayerType")],u.prototype,"writeOperationalLayerType",null),e([o(y)],u.prototype,"opacity",void 0),e([o({type:String,json:{write:{ignoreOrigin:!0,writerEnsuresNonNull:!0},origins:{"web-scene":{write:{isRequired:!0,ignoreOrigin:!0,writerEnsuresNonNull:!0}},"portal-item":{write:!1}}},value:"Layer"})],u.prototype,"title",void 0),e([s([void 0,"web-scene"],"title")],u.prototype,"writeTitle",null),e([o({type:Boolean,json:{name:"visibility"}})],u.prototype,"visible",void 0),u=e([i("esri.layers.mixins.OperationalLayer")],u),u};function u(e){return"operationalLayerType"in e}export{c as OperationalLayer,u as isOperationalLayer};
5
+ import{_ as e}from"../../chunks/tslib.es6.js";import r from"../../core/Error.js";import{isBlobProtocol as t}from"../../core/urlUtils.js";import{property as o}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as i}from"../../core/accessorSupport/decorators/subclass.js";import{writer as s}from"../../core/accessorSupport/decorators/writer.js";import{readLoadable as a}from"../../core/accessorSupport/read.js";import{willPropertyWrite as p}from"../../core/accessorSupport/write.js";import{supportedTypes as n}from"./operationalLayers.js";import{listMode as l,opacity as y}from"../support/commonProperties.js";const c=c=>{let u=class extends c{constructor(){super(...arguments),this.title=null}writeListMode(e,r,t,o){(o&&"ground"===o.layerContainerType||e&&p(this,t,{},o))&&(r[t]=e)}writeOperationalLayerType(e,r,t,o){!e||o&&"tables"===o.layerContainerType||(r.layerType=e)}writeTitle(e,r){r.title=e??"Layer"}read(e,r){r&&(r.layer=this),a(this,e,(r=>super.read(e,r)),r)}write(e,o){if(o?.origin){const e=`${o.origin}/${o.layerContainerType||"operational-layers"}`,t=n[e];let i=t&&t[this.operationalLayerType];if("ArcGISTiledElevationServiceLayer"===this.operationalLayerType&&"web-scene/operational-layers"===e&&(i=!1),!i)return o.messages?.push(new r("layer:unsupported",`Layers (${this.title}, ${this.id}) of type '${this.declaredClass}' are not supported in the context of '${e}'`,{layer:this})),null}const i=super.write(e,{...o,layer:this}),s=!!o&&!!o.messages&&!!o.messages.filter((e=>e instanceof r&&"web-document-write:property-required"===e.name)).length;return t(i?.url)?(o?.messages?.push(new r("layer:invalid-url",`Layer (${this.title}, ${this.id}) of type '${this.declaredClass}' using a Blob URL cannot be written to web scenes and web maps`,{layer:this})),null):!this.url&&s?null:i}beforeSave(){}};return e([o({type:String,json:{write:{ignoreOrigin:!0},origins:{"web-scene":{write:{isRequired:!0,ignoreOrigin:!0}},"portal-item":{write:!1}}}})],u.prototype,"id",void 0),e([o(l)],u.prototype,"listMode",void 0),e([s("listMode")],u.prototype,"writeListMode",null),e([o({type:String,readOnly:!0,json:{read:!1,write:{target:"layerType",ignoreOrigin:!0},origins:{"portal-item":{write:!1}}}})],u.prototype,"operationalLayerType",void 0),e([s("operationalLayerType")],u.prototype,"writeOperationalLayerType",null),e([o(y)],u.prototype,"opacity",void 0),e([o({type:String,json:{write:{ignoreOrigin:!0,writerEnsuresNonNull:!0},origins:{"web-scene":{write:{isRequired:!0,ignoreOrigin:!0,writerEnsuresNonNull:!0}},"portal-item":{write:!1}}},value:"Layer"})],u.prototype,"title",void 0),e([s("title"),s(["web-scene"],"title")],u.prototype,"writeTitle",null),e([o({type:Boolean,json:{name:"visibility"}})],u.prototype,"visible",void 0),u=e([i("esri.layers.mixins.OperationalLayer")],u),u};function u(e){return"operationalLayerType"in e}export{c as OperationalLayer,u as isOperationalLayer};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.25/esri/copyright.txt for details.
4
4
  */
5
- import{_ as t}from"../../chunks/tslib.es6.js";import{JSONSupport as r}from"../../core/JSONSupport.js";import{property as o}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as s}from"../../core/accessorSupport/decorators/subclass.js";import e from"./OutStatistic.js";var i;let p=i=class extends r{constructor(){super(...arguments),this.name=null,this.outStatistic=null}clone(){return new i({name:this.name,outStatistic:this.outStatistic?.clone()})}};t([o({type:String,json:{write:!0}})],p.prototype,"name",void 0),t([o({type:e,json:{write:!0}})],p.prototype,"outStatistic",void 0),p=i=t([s("esri.layers.support.AggregateField")],p);const c=p;export{c as default};
5
+ import{_ as t}from"../../chunks/tslib.es6.js";import{JSONSupport as o}from"../../core/JSONSupport.js";import{property as r}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{enumeration as s}from"../../core/accessorSupport/decorators/enumeration.js";import{subclass as e}from"../../core/accessorSupport/decorators/subclass.js";import{kebabDict as i}from"./fieldType.js";import p from"./OutStatistic.js";var a;let c=a=class extends o{constructor(t){super(t),this.name=null,this.alias=null,this.outStatistic=null,this.type=null}clone(){return new a({name:this.name,alias:this.alias,type:this.type,outStatistic:this.outStatistic?.clone()})}};t([r({type:String,json:{write:!0}})],c.prototype,"name",void 0),t([r({type:String,json:{write:!0}})],c.prototype,"alias",void 0),t([r({type:p,json:{write:!0}})],c.prototype,"outStatistic",void 0),t([s(i)],c.prototype,"type",void 0),c=a=t([e("esri.layers.support.AggregateField")],c);const n=c;export{n 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.25/esri/copyright.txt for details.
4
4
  */
5
- import{_ as o}from"../../chunks/tslib.es6.js";import t from"../../core/Accessor.js";import r from"../../core/Logger.js";import{isNone as n,isSome as e}from"../../core/maybe.js";import{transformProjective as s,getProjectiveTransform as i}from"../../core/perspectiveUtils.js";import{createScreenPoint as c}from"../../core/screenUtils.js";import{property as l}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as a}from"../../core/accessorSupport/decorators/subclass.js";import{c as p}from"../../chunks/mat3.js";import{c as u}from"../../chunks/mat3f64.js";import{s as m,r as f,l as P}from"../../chunks/vec2.js";import{a as h,f as d}from"../../chunks/vec2f64.js";import y from"../../geometry/Point.js";import j from"../../geometry/Polygon.js";import{projectOrLoad as g}from"../../geometry/projection.js";import v from"./GeoreferenceBase.js";const w=u(),R=h();let x=class extends t{constructor(){super(...arguments),this.sourcePoint=null,this.mapPoint=null}};o([l()],x.prototype,"sourcePoint",void 0),o([l({type:y})],x.prototype,"mapPoint",void 0),x=o([a("esri.layers.support.ControlPoint")],x);let T=class extends v{constructor(o){super(o),this.controlPoints=null,this.height=0,this.type="control-points",this.width=0}get coords(){if(n(this.controlPoints))return null;const o=this._updateTransform(w);if(n(o)||!_(this.controlPoints[0]))return null;const t=this.controlPoints[0].mapPoint.spatialReference;return H(o,this.width,this.height,t)}get inverseTransform(){return n(this.transform)?null:p(u(),this.transform)}get transform(){return this._updateTransform()}toMap(o){if(n(o)||n(this.transform)||n(this.controlPoints)||!_(this.controlPoints[0]))return null;m(R,o.x,o.y);const t=this.controlPoints[0].mapPoint.spatialReference;return s(R,R,this.transform),new y({x:R[0],y:R[1],spatialReference:t})}toSource(o){if(n(o)||n(this.inverseTransform)||n(this.controlPoints)||!_(this.controlPoints[0]))return null;const t=this.controlPoints[0].mapPoint.spatialReference;return o=o.normalize(),o=g(o,t).geometry,n(o)?null:(m(R,o.x,o.y),s(R,R,this.inverseTransform),c(R[0],R[1]))}_updateTransform(o){const{controlPoints:t,width:r,height:e}=this;if(n(t)||!(r>0)||!(e>0))return null;const[s,i,c,l]=t;if(!_(s))return null;const a=s.mapPoint.spatialReference,p=this._projectControlPoint(i,a),m=this._projectControlPoint(c,a),f=this._projectControlPoint(l,a);if(!p.valid||!m.valid||!f.valid)return null;if(!_(p.controlPoint))return null;n(o)&&(o=u());let P=null;return P=_(m.controlPoint)&&_(f.controlPoint)?B(o,s,p.controlPoint,m.controlPoint,f.controlPoint):_(m.controlPoint)?z(o,s,p.controlPoint,m.controlPoint):L(o,s,p.controlPoint),P.every((o=>0===o))?null:P}_projectControlPoint(o,t){if(!_(o))return{valid:!0,controlPoint:o};const{sourcePoint:n,mapPoint:e}=o,{geometry:s,pending:i}=g(e,t);return i?{valid:!1,controlPoint:null}:i||s?{valid:!0,controlPoint:{sourcePoint:n,mapPoint:s}}:(r.getLogger(this.declaredClass).warn("map point could not be projected to the spatial reference",{georeference:this,controlPoint:o,sourceSpatialReference:e.spatialReference,targetSpatialReference:t}),{valid:!1,controlPoint:null})}};function _(o){return e(o)&&e(o.sourcePoint)&&e(o.mapPoint)}o([l({type:[x]})],T.prototype,"controlPoints",void 0),o([l({readOnly:!0})],T.prototype,"coords",null),o([l()],T.prototype,"height",void 0),o([l({readOnly:!0})],T.prototype,"inverseTransform",null),o([l({readOnly:!0})],T.prototype,"transform",null),o([l()],T.prototype,"width",void 0),T=o([a("esri.layers.support.ControlPointsGeoreference")],T);const C=h(),S=h(),k=h(),b=h(),M=h(),A=h(),I=h(),O=h(),U=Math.PI/2;function G(o,t,r){m(o,r.sourcePoint.x,r.sourcePoint.y),m(t,r.mapPoint.x,r.mapPoint.y)}function L(o,t,r){return G(C,M,t),G(S,A,r),f(k,S,C,U),f(b,C,S,U),f(I,A,M,-U),f(O,M,A,-U),F(o,C,S,k,b,M,A,I,O)}function z(o,t,r,n){return G(C,M,t),G(S,A,r),G(k,I,n),P(b,C,S,.5),f(b,k,b,Math.PI),P(O,M,A,.5),f(O,I,O,Math.PI),F(o,C,S,k,b,M,A,I,O)}function B(o,t,r,n,e){return G(C,M,t),G(S,A,r),G(k,I,n),G(b,O,e),F(o,C,S,k,b,M,A,I,O)}const q=new Array(8).fill(0),D=new Array(8).fill(0);function E(o,t,r,n,e){return o[0]=t[0],o[1]=t[1],o[2]=r[0],o[3]=r[1],o[4]=n[0],o[5]=n[1],o[6]=e[0],o[7]=e[1],o}function F(o,t,r,n,e,s,c,l,a){return i(o,E(q,t,r,n,e),E(D,s,c,l,a))}function H(o,t,r,n){const e=d(0,r),i=d(0,0),c=d(t,0),l=d(t,r);return s(e,e,o),s(i,i,o),s(c,c,o),s(l,l,o),new j({rings:[[e,i,c,l,e]],spatialReference:n})}const J=T;export{J as default};
5
+ import{_ as o}from"../../chunks/tslib.es6.js";import t from"../../core/Accessor.js";import r from"../../core/Logger.js";import{isNone as n,isSome as e}from"../../core/maybe.js";import{transformProjective as s,getProjectiveTransform as i}from"../../core/perspectiveUtils.js";import{createScreenPoint as c}from"../../core/screenUtils.js";import{property as l}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as a}from"../../core/accessorSupport/decorators/subclass.js";import{e as p}from"../../chunks/mat3.js";import{c as u}from"../../chunks/mat3f64.js";import{s as m,r as f,l as P}from"../../chunks/vec2.js";import{a as h,f as d}from"../../chunks/vec2f64.js";import y from"../../geometry/Point.js";import j from"../../geometry/Polygon.js";import{projectOrLoad as g}from"../../geometry/projection.js";import v from"./GeoreferenceBase.js";const w=u(),R=h();let x=class extends t{constructor(){super(...arguments),this.sourcePoint=null,this.mapPoint=null}};o([l()],x.prototype,"sourcePoint",void 0),o([l({type:y})],x.prototype,"mapPoint",void 0),x=o([a("esri.layers.support.ControlPoint")],x);let T=class extends v{constructor(o){super(o),this.controlPoints=null,this.height=0,this.type="control-points",this.width=0}get coords(){if(n(this.controlPoints))return null;const o=this._updateTransform(w);if(n(o)||!_(this.controlPoints[0]))return null;const t=this.controlPoints[0].mapPoint.spatialReference;return H(o,this.width,this.height,t)}get inverseTransform(){return n(this.transform)?null:p(u(),this.transform)}get transform(){return this._updateTransform()}toMap(o){if(n(o)||n(this.transform)||n(this.controlPoints)||!_(this.controlPoints[0]))return null;m(R,o.x,o.y);const t=this.controlPoints[0].mapPoint.spatialReference;return s(R,R,this.transform),new y({x:R[0],y:R[1],spatialReference:t})}toSource(o){if(n(o)||n(this.inverseTransform)||n(this.controlPoints)||!_(this.controlPoints[0]))return null;const t=this.controlPoints[0].mapPoint.spatialReference;return o=o.normalize(),o=g(o,t).geometry,n(o)?null:(m(R,o.x,o.y),s(R,R,this.inverseTransform),c(R[0],R[1]))}_updateTransform(o){const{controlPoints:t,width:r,height:e}=this;if(n(t)||!(r>0)||!(e>0))return null;const[s,i,c,l]=t;if(!_(s))return null;const a=s.mapPoint.spatialReference,p=this._projectControlPoint(i,a),m=this._projectControlPoint(c,a),f=this._projectControlPoint(l,a);if(!p.valid||!m.valid||!f.valid)return null;if(!_(p.controlPoint))return null;n(o)&&(o=u());let P=null;return P=_(m.controlPoint)&&_(f.controlPoint)?B(o,s,p.controlPoint,m.controlPoint,f.controlPoint):_(m.controlPoint)?z(o,s,p.controlPoint,m.controlPoint):L(o,s,p.controlPoint),P.every((o=>0===o))?null:P}_projectControlPoint(o,t){if(!_(o))return{valid:!0,controlPoint:o};const{sourcePoint:n,mapPoint:e}=o,{geometry:s,pending:i}=g(e,t);return i?{valid:!1,controlPoint:null}:i||s?{valid:!0,controlPoint:{sourcePoint:n,mapPoint:s}}:(r.getLogger(this.declaredClass).warn("map point could not be projected to the spatial reference",{georeference:this,controlPoint:o,sourceSpatialReference:e.spatialReference,targetSpatialReference:t}),{valid:!1,controlPoint:null})}};function _(o){return e(o)&&e(o.sourcePoint)&&e(o.mapPoint)}o([l({type:[x]})],T.prototype,"controlPoints",void 0),o([l({readOnly:!0})],T.prototype,"coords",null),o([l()],T.prototype,"height",void 0),o([l({readOnly:!0})],T.prototype,"inverseTransform",null),o([l({readOnly:!0})],T.prototype,"transform",null),o([l()],T.prototype,"width",void 0),T=o([a("esri.layers.support.ControlPointsGeoreference")],T);const C=h(),S=h(),k=h(),b=h(),M=h(),A=h(),I=h(),O=h(),U=Math.PI/2;function G(o,t,r){m(o,r.sourcePoint.x,r.sourcePoint.y),m(t,r.mapPoint.x,r.mapPoint.y)}function L(o,t,r){return G(C,M,t),G(S,A,r),f(k,S,C,U),f(b,C,S,U),f(I,A,M,-U),f(O,M,A,-U),F(o,C,S,k,b,M,A,I,O)}function z(o,t,r,n){return G(C,M,t),G(S,A,r),G(k,I,n),P(b,C,S,.5),f(b,k,b,Math.PI),P(O,M,A,.5),f(O,I,O,Math.PI),F(o,C,S,k,b,M,A,I,O)}function B(o,t,r,n,e){return G(C,M,t),G(S,A,r),G(k,I,n),G(b,O,e),F(o,C,S,k,b,M,A,I,O)}const q=new Array(8).fill(0),D=new Array(8).fill(0);function E(o,t,r,n,e){return o[0]=t[0],o[1]=t[1],o[2]=r[0],o[3]=r[1],o[4]=n[0],o[5]=n[1],o[6]=e[0],o[7]=e[1],o}function F(o,t,r,n,e,s,c,l,a){return i(o,E(q,t,r,n,e),E(D,s,c,l,a))}function H(o,t,r,n){const e=d(0,r),i=d(0,0),c=d(t,0),l=d(t,r);return s(e,e,o),s(i,i,o),s(c,c,o),s(l,l,o),new j({rings:[[e,i,c,l,e]],spatialReference:n})}const J=T;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.25/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../chunks/tslib.es6.js";import{JSONSupport as r}from"../../core/JSONSupport.js";import{property as t}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as o}from"../../core/accessorSupport/decorators/subclass.js";import{writer as i}from"../../core/accessorSupport/decorators/writer.js";import{isSupportedRendererType as n,combineRenderingRules as s,convertRendererToRenderingRule as a,convertRenderingRuleToRFT as p}from"./imageryRendererUtils.js";import l from"./MosaicRule.js";import{interpolationKebab as c,noDataInterpretationKebab as m}from"./rasterEnums.js";import u from"./RasterFunction.js";let y=class extends r{constructor(){super(...arguments),this.layer=null,this.adjustAspectRatio=void 0,this.compression=void 0,this.pixelType=void 0,this.lercVersion=2}writeAdjustAspectRatio(e,r,t){this.layer.version<10.3||(r[t]=e)}get bandIds(){return this.layer.bandIds}set bandIds(e){this.layer&&(this.layer.bandIds=e)}get compressionQuality(){return this.layer?.compressionQuality}set compressionQuality(e){this.layer&&(this.layer.compressionQuality=e)}writeCompressionQuality(e,r,t){this.format&&this.format.toLowerCase().includes("jpg")&&null!=e&&(r[t]=e)}get compressionTolerance(){return this.layer?.compressionTolerance}set compressionTolerance(e){this.layer&&(this.layer.compressionTolerance=e)}writeCompressionTolerance(e,r,t){"lerc"===this.format&&null!=e&&(r[t]=e)}get format(){return"vector-field"===this.layer.renderer?.type?"lerc":this.layer.format}get interpolation(){return this.layer?.interpolation}set interpolation(e){this.layer&&(this.layer.interpolation=e)}get noData(){return this.layer?.noData}set noData(e){this.layer&&(this.layer.noData=e)}get noDataInterpretation(){return this.layer?.noDataInterpretation}set noDataInterpretation(e){this.layer&&(this.layer.noDataInterpretation=e)}writeLercVersion(e,r,t){"lerc"===this.format&&this.layer.version>=10.5&&(r[t]=e)}get version(){const e=this.layer;return e.commitProperty("bandIds"),e.commitProperty("format"),e.commitProperty("compressionQuality"),e.commitProperty("compressionTolerance"),e.commitProperty("interpolation"),e.commitProperty("noData"),e.commitProperty("noDataInterpretation"),e.commitProperty("mosaicRule"),e.commitProperty("renderingRule"),e.commitProperty("adjustAspectRatio"),e.commitProperty("pixelFilter"),e.commitProperty("renderer"),e.commitProperty("definitionExpression"),e.commitProperty("multidimensionalSubset"),(this._get("version")||0)+1}set version(e){this._set("version",e)}get mosaicRule(){const e=this.layer;let r=e.mosaicRule;const t=e.definitionExpression;return r?t&&t!==r.where&&(r=r.clone(),r.where=t):t&&(r=new l({where:t})),r}get renderingRule(){const e=this.layer;let r=e.renderingRule;const t=e.pixelFilter,o=!e.format||e.format.includes("jpg")||e.format.includes("png");r=this._addResampleRasterFunction(r);const i=e.multidimensionalSubset?.areaOfInterest;return i&&(r=this._addClipFunction(r,i)),o&&!t&&"vector-field"!==e.renderer?.type&&(r=this.combineRendererWithRenderingRule(r)),r}combineRendererWithRenderingRule(e){const r=this.layer,{rasterInfo:t,renderer:o}=r;if(e=e||r.renderingRule,!o||!n(o))return e;return s(a(o,{rasterAttributeTable:t.attributeTable,pixelType:t.pixelType,dataType:t.dataType,bandProperties:t.keyProperties?.BandProperties,convertColorRampToColormap:r.version<10.6,convertToRFT:!!e?.rasterFunctionDefinition,bandCount:t.bandCount}),e)}_addResampleRasterFunction(e){if(!("vector-field"===this.layer.renderer?.type)||"Resample"===e?.functionName)return e;const r="esriImageServiceDataTypeVector-UV"===this.layer.serviceDataType?7:10,t=this.layer.serviceRasterInfo.pixelSize;let o=new u({functionName:"Resample",functionArguments:{ResamplingType:r,InputCellSize:t}});return o=e?.rasterFunctionDefinition?new u({rasterFunctionDefinition:p(o)}):o,s(o,e)}_addClipFunction(e,r){const t=new u({functionName:"Clip",functionArguments:{ClippingGeometry:r.toJSON(),ClippingType:1}});return s(t,e)}};e([t()],y.prototype,"layer",void 0),e([t({json:{write:!0}})],y.prototype,"adjustAspectRatio",void 0),e([i("adjustAspectRatio")],y.prototype,"writeAdjustAspectRatio",null),e([t({json:{write:!0}})],y.prototype,"bandIds",null),e([t({json:{write:!0}})],y.prototype,"compression",void 0),e([t({json:{write:!0}})],y.prototype,"compressionQuality",null),e([i("compressionQuality")],y.prototype,"writeCompressionQuality",null),e([t({json:{write:!0}})],y.prototype,"compressionTolerance",null),e([i("compressionTolerance")],y.prototype,"writeCompressionTolerance",null),e([t({json:{write:!0}})],y.prototype,"format",null),e([t({type:String,json:{read:{reader:c.read},write:{writer:c.write}}})],y.prototype,"interpolation",null),e([t({json:{write:!0}})],y.prototype,"noData",null),e([t({type:String,json:{read:{reader:m.read},write:{writer:m.write}}})],y.prototype,"noDataInterpretation",null),e([t({json:{write:!0}})],y.prototype,"pixelType",void 0),e([t({json:{write:!0}})],y.prototype,"lercVersion",void 0),e([i("lercVersion")],y.prototype,"writeLercVersion",null),e([t({type:Number})],y.prototype,"version",null),e([t({json:{write:!0}})],y.prototype,"mosaicRule",null),e([t({json:{write:!0}})],y.prototype,"renderingRule",null),y=e([o("esri.layers.mixins.ExportImageServiceParameters")],y);export{y as ExportImageServiceParameters};
5
+ import{_ as e}from"../../chunks/tslib.es6.js";import{JSONSupport as r}from"../../core/JSONSupport.js";import{property as t}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as o}from"../../core/accessorSupport/decorators/subclass.js";import{writer as i}from"../../core/accessorSupport/decorators/writer.js";import{isSupportedRendererType as n,combineRenderingRules as s,convertRendererToRenderingRule as a,convertRenderingRuleToRFT as p}from"./imageryRendererUtils.js";import l from"./MosaicRule.js";import{interpolationKebab as c,noDataInterpretationKebab as m}from"./rasterEnums.js";import u from"./RasterFunction.js";let y=class extends r{constructor(){super(...arguments),this.layer=null,this.adjustAspectRatio=void 0,this.compression=void 0,this.pixelType=void 0,this.lercVersion=2}writeAdjustAspectRatio(e,r,t){this.layer.version<10.3||(r[t]=e)}get bandIds(){return this.layer.bandIds}set bandIds(e){this.layer&&(this.layer.bandIds=e)}get compressionQuality(){return this.layer?.compressionQuality}set compressionQuality(e){this.layer&&(this.layer.compressionQuality=e)}writeCompressionQuality(e,r,t){this.format&&this.format.toLowerCase().includes("jpg")&&null!=e&&(r[t]=e)}get compressionTolerance(){return this.layer?.compressionTolerance}set compressionTolerance(e){this.layer&&(this.layer.compressionTolerance=e)}writeCompressionTolerance(e,r,t){"lerc"===this.format&&null!=e&&(r[t]=e)}get format(){return"vector-field"===this.layer.renderer?.type?"lerc":this.layer.format}get interpolation(){return this.layer?.interpolation}set interpolation(e){this.layer&&(this.layer.interpolation=e)}get noData(){return this.layer?.noData}set noData(e){this.layer&&(this.layer.noData=e)}get noDataInterpretation(){return this.layer?.noDataInterpretation}set noDataInterpretation(e){this.layer&&(this.layer.noDataInterpretation=e)}writeLercVersion(e,r,t){"lerc"===this.format&&this.layer.version>=10.5&&(r[t]=e)}get version(){const e=this.layer;return e.commitProperty("bandIds"),e.commitProperty("format"),e.commitProperty("compressionQuality"),e.commitProperty("compressionTolerance"),e.commitProperty("interpolation"),e.commitProperty("noData"),e.commitProperty("noDataInterpretation"),e.commitProperty("mosaicRule"),e.commitProperty("renderingRule"),e.commitProperty("adjustAspectRatio"),e.commitProperty("pixelFilter"),e.commitProperty("definitionExpression"),e.commitProperty("multidimensionalSubset"),(this._get("version")||0)+1}set version(e){this._set("version",e)}get mosaicRule(){const e=this.layer;let r=e.mosaicRule;const t=e.definitionExpression;return r?t&&t!==r.where&&(r=r.clone(),r.where=t):t&&(r=new l({where:t})),r}get renderingRule(){const e=this.layer;let r=e.renderingRule;const t=e.pixelFilter,o=!e.format||e.format.includes("jpg")||e.format.includes("png");r=this._addResampleRasterFunction(r);const i=e.multidimensionalSubset?.areaOfInterest;return i&&(r=this._addClipFunction(r,i)),o&&!t&&"vector-field"!==e.renderer?.type&&(r=this.combineRendererWithRenderingRule(r)),r}combineRendererWithRenderingRule(e){const r=this.layer,{rasterInfo:t,renderer:o}=r;if(e=e||r.renderingRule,!o||!n(o))return e;return s(a(o,{rasterAttributeTable:t.attributeTable,pixelType:t.pixelType,dataType:t.dataType,bandProperties:t.keyProperties?.BandProperties,convertColorRampToColormap:r.version<10.6,convertToRFT:!!e?.rasterFunctionDefinition,bandCount:t.bandCount}),e)}_addResampleRasterFunction(e){if(!("vector-field"===this.layer.renderer?.type)||"Resample"===e?.functionName)return e;const r="esriImageServiceDataTypeVector-UV"===this.layer.serviceDataType?7:10,t=this.layer.serviceRasterInfo.pixelSize;let o=new u({functionName:"Resample",functionArguments:{ResamplingType:r,InputCellSize:t}});return o=e?.rasterFunctionDefinition?new u({rasterFunctionDefinition:p(o)}):o,s(o,e)}_addClipFunction(e,r){const t=new u({functionName:"Clip",functionArguments:{ClippingGeometry:r.toJSON(),ClippingType:1}});return s(t,e)}};e([t()],y.prototype,"layer",void 0),e([t({json:{write:!0}})],y.prototype,"adjustAspectRatio",void 0),e([i("adjustAspectRatio")],y.prototype,"writeAdjustAspectRatio",null),e([t({json:{write:!0}})],y.prototype,"bandIds",null),e([t({json:{write:!0}})],y.prototype,"compression",void 0),e([t({json:{write:!0}})],y.prototype,"compressionQuality",null),e([i("compressionQuality")],y.prototype,"writeCompressionQuality",null),e([t({json:{write:!0}})],y.prototype,"compressionTolerance",null),e([i("compressionTolerance")],y.prototype,"writeCompressionTolerance",null),e([t({json:{write:!0}})],y.prototype,"format",null),e([t({type:String,json:{read:{reader:c.read},write:{writer:c.write}}})],y.prototype,"interpolation",null),e([t({json:{write:!0}})],y.prototype,"noData",null),e([t({type:String,json:{read:{reader:m.read},write:{writer:m.write}}})],y.prototype,"noDataInterpretation",null),e([t({json:{write:!0}})],y.prototype,"pixelType",void 0),e([t({json:{write:!0}})],y.prototype,"lercVersion",void 0),e([i("lercVersion")],y.prototype,"writeLercVersion",null),e([t({type:Number})],y.prototype,"version",null),e([t({json:{write:!0}})],y.prototype,"mosaicRule",null),e([t({json:{write:!0}})],y.prototype,"renderingRule",null),y=e([o("esri.layers.mixins.ExportImageServiceParameters")],y);export{y as ExportImageServiceParameters};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.25/esri/copyright.txt for details.
4
4
  */
5
- import{_ as t}from"../../chunks/tslib.es6.js";import{JSONSupport as s}from"../../core/JSONSupport.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 o}from"../../core/accessorSupport/decorators/subclass.js";var r;let e=r=class extends s{constructor(){super(...arguments),this.statisticType=null,this.onStatisticField=null,this.onStatisticValueExpression=null}clone(){return new r({statisticType:this.statisticType,onStatisticField:this.onStatisticField,onStatisticValueExpression:this.onStatisticValueExpression})}};t([i({type:String,json:{write:!0}})],e.prototype,"statisticType",void 0),t([i({type:String,json:{write:!0}})],e.prototype,"onStatisticField",void 0),t([i({type:String,json:{write:!0}})],e.prototype,"onStatisticValueExpression",void 0),e=r=t([o("esri.layers.support.OutStatistic")],e);const p=e;export{p as default};
5
+ import{_ as t}from"../../chunks/tslib.es6.js";import{JSONSupport as s}from"../../core/JSONSupport.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 o}from"../../core/accessorSupport/decorators/subclass.js";var r;let e=r=class extends s{constructor(t){super(t),this.statisticType=null,this.onStatisticField=null,this.onStatisticValueExpression=null}clone(){return new r({statisticType:this.statisticType,onStatisticField:this.onStatisticField,onStatisticValueExpression:this.onStatisticValueExpression})}};t([i({type:String,json:{write:!0}})],e.prototype,"statisticType",void 0),t([i({type:String,json:{write:!0}})],e.prototype,"onStatisticField",void 0),t([i({type:String,json:{write:!0}})],e.prototype,"onStatisticValueExpression",void 0),e=r=t([o("esri.layers.support.OutStatistic")],e);const p=e;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.25/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../chunks/tslib.es6.js";import{JSONSupport as i}from"../../core/JSONSupport.js";import s from"../../core/Logger.js";import{property as r}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as t}from"../../core/accessorSupport/decorators/subclass.js";import{b as n,C as o,B as a,a as p}from"../../chunks/vec3.js";import{f as l,d as u}from"../../chunks/vec3f64.js";import m from"../../geometry/Point.js";import c from"../../geometry/SpatialReference.js";import{equals as h}from"../../geometry/support/spatialReferenceUtils.js";import g from"./VoxelDimension.js";const d="esri.layers.support.VoxelVolume",y=s.getLogger(d);let f=class extends i{constructor(e){super(e),this.id=0,this.dimensions=null,this.spatialReference=c.WGS84}get zDimension(){if(!this.dimensions)return-1;if(!Array.isArray(this.dimensions))return-1;if(4!==this.dimensions.length)return-1;for(let e=2;e<4;++e)if(this.dimensions[e].size>0)return e;return-1}get isValid(){return!!this.dimensions&&(!!Array.isArray(this.dimensions)&&(4===this.dimensions.length&&(!(this.dimensions[0].size<1||this.dimensions[1].size<1)&&!(-1===this.zDimension||this.dimensions[this.zDimension].size<1))))}get originInLayerSpace3D(){if(!this.isValid||"xyt"===this.volumeType)return[0,0,0];const e=this.dimensions[0].getRange(),i=this.dimensions[1].getRange(),s=this.dimensions[2],r=s.isRegular?s.getRange():[0,s.size];return[e[0],i[0],r[0]]}get voxelSizeInLayerSpaceSigned(){if(!this.isValid||"xyt"===this.volumeType)return[0,0,0];const e=this.dimensions[0].getRange(),i=this.dimensions[1].getRange(),s=this.dimensions[2],r=s.isRegular?s.getRange():[0,s.size],t=[this.sizeInVoxels[0],this.sizeInVoxels[1],this.sizeInVoxels[2]];for(let n=0;n<3;++n)t[n]<2?t[n]=1:t[n]-=1;return s.isRegular&&!s.isPositiveUp&&(t[2]*=-1),[(e[1]-e[0])/t[0],(i[1]-i[0])/t[1],(r[1]-r[0])/t[2]]}get volumeType(){if(this.isValid){const e=this.dimensions[2].size>0,i=this.dimensions[3].size>0;if(!e&&i)return"xyt";if(e&&i)return"xyzt"}return"xyz"}get sizeInVoxels(){if(!this.isValid)return[0,0,0];const e=this.zDimension;return[this.dimensions[0].size,this.dimensions[1].size,this.dimensions[e].size]}computeVoxelSpaceLocation(e){if(!this.isValid)return[0,0,0];if("xyt"===this.volumeType)return y.error("computeVoxelSpacePosition cannot be used with XYT volumes."),[0,0,0];if(!h(this.spatialReference,e.spatialReference))return y.error("pos argument should have the same spatial reference as the VoxelLayer."),[0,0,0];const i=l(e.x,e.y,e.z??0);n(i,i,this.originInLayerSpace3D),o(i,i,this.voxelSizeInLayerSpaceSigned);const s=this.dimensions[this.zDimension];if(!s.isRegular&&Array.isArray(s.irregularSpacing?.values)&&s.irregularSpacing.values.length>1){const r=e.z??0,t=s.irregularSpacing.values,n=s.isPositiveUp?1:-1,o=t.reduce(((e,i)=>Math.abs(n*i-r)<Math.abs(n*e-r)?i:e));for(let e=0;e<t.length;++e)if(t[e]===o){i[2]=e;break}}return[i[0],i[1],i[2]]}computeLayerSpaceLocation(e){if(!this.isValid)return new m({x:0,y:0,spatialReference:this.spatialReference});const i=u(e);if(a(i,i,this.voxelSizeInLayerSpaceSigned),p(i,i,this.originInLayerSpace3D),"xyt"===this.volumeType)return new m({x:i[0],y:i[1],spatialReference:this.spatialReference});const s=this.dimensions[this.zDimension];return s.isRegular||Array.isArray(s.irregularSpacing?.values)&&(e[2]<0?i[2]=s.irregularSpacing.values[0]:e[2]<s.irregularSpacing.values.length?i[2]=s.irregularSpacing.values[e[2]]:i[2]=s.irregularSpacing.values[s.irregularSpacing.values.length-1],s.isPositiveUp||(i[2]*=-1)),new m({x:i[0],y:i[1],z:i[2],spatialReference:this.spatialReference})}};e([r({type:Number,json:{write:{enabled:!0,isRequired:!0}}})],f.prototype,"id",void 0),e([r({type:[g],json:{write:{enabled:!0,isRequired:!0}}})],f.prototype,"dimensions",void 0),e([r({type:c,json:{read:{enabled:!1}}})],f.prototype,"spatialReference",void 0),e([r({type:[Number],json:{read:!1}})],f.prototype,"zDimension",null),e([r({type:[Boolean],json:{read:!1}})],f.prototype,"isValid",null),e([r({type:[Number],json:{read:!1}})],f.prototype,"originInLayerSpace3D",null),e([r({type:[Number],json:{read:!1}})],f.prototype,"voxelSizeInLayerSpaceSigned",null),e([r({type:["xyz","xyzt","xyt"],json:{read:{enabled:!1}}})],f.prototype,"volumeType",null),e([r({type:[Number],json:{read:!1}})],f.prototype,"sizeInVoxels",null),f=e([t(d)],f);const S=f;export{S as default};
5
+ import{_ as e}from"../../chunks/tslib.es6.js";import{JSONSupport as i}from"../../core/JSONSupport.js";import s from"../../core/Logger.js";import{property as r}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as t}from"../../core/accessorSupport/decorators/subclass.js";import{b as n,C as o,u as a,a as p}from"../../chunks/vec3.js";import{f as l,d as u}from"../../chunks/vec3f64.js";import m from"../../geometry/Point.js";import c from"../../geometry/SpatialReference.js";import{equals as h}from"../../geometry/support/spatialReferenceUtils.js";import g from"./VoxelDimension.js";const d="esri.layers.support.VoxelVolume",y=s.getLogger(d);let f=class extends i{constructor(e){super(e),this.id=0,this.dimensions=null,this.spatialReference=c.WGS84}get zDimension(){if(!this.dimensions)return-1;if(!Array.isArray(this.dimensions))return-1;if(4!==this.dimensions.length)return-1;for(let e=2;e<4;++e)if(this.dimensions[e].size>0)return e;return-1}get isValid(){return!!this.dimensions&&(!!Array.isArray(this.dimensions)&&(4===this.dimensions.length&&(!(this.dimensions[0].size<1||this.dimensions[1].size<1)&&!(-1===this.zDimension||this.dimensions[this.zDimension].size<1))))}get originInLayerSpace3D(){if(!this.isValid||"xyt"===this.volumeType)return[0,0,0];const e=this.dimensions[0].getRange(),i=this.dimensions[1].getRange(),s=this.dimensions[2],r=s.isRegular?s.getRange():[0,s.size];return[e[0],i[0],r[0]]}get voxelSizeInLayerSpaceSigned(){if(!this.isValid||"xyt"===this.volumeType)return[0,0,0];const e=this.dimensions[0].getRange(),i=this.dimensions[1].getRange(),s=this.dimensions[2],r=s.isRegular?s.getRange():[0,s.size],t=[this.sizeInVoxels[0],this.sizeInVoxels[1],this.sizeInVoxels[2]];for(let n=0;n<3;++n)t[n]<2?t[n]=1:t[n]-=1;return s.isRegular&&!s.isPositiveUp&&(t[2]*=-1),[(e[1]-e[0])/t[0],(i[1]-i[0])/t[1],(r[1]-r[0])/t[2]]}get volumeType(){if(this.isValid){const e=this.dimensions[2].size>0,i=this.dimensions[3].size>0;if(!e&&i)return"xyt";if(e&&i)return"xyzt"}return"xyz"}get sizeInVoxels(){if(!this.isValid)return[0,0,0];const e=this.zDimension;return[this.dimensions[0].size,this.dimensions[1].size,this.dimensions[e].size]}computeVoxelSpaceLocation(e){if(!this.isValid)return[0,0,0];if("xyt"===this.volumeType)return y.error("computeVoxelSpacePosition cannot be used with XYT volumes."),[0,0,0];if(!h(this.spatialReference,e.spatialReference))return y.error("pos argument should have the same spatial reference as the VoxelLayer."),[0,0,0];const i=l(e.x,e.y,e.z??0);n(i,i,this.originInLayerSpace3D),o(i,i,this.voxelSizeInLayerSpaceSigned);const s=this.dimensions[this.zDimension];if(!s.isRegular&&Array.isArray(s.irregularSpacing?.values)&&s.irregularSpacing.values.length>1){const r=e.z??0,t=s.irregularSpacing.values,n=s.isPositiveUp?1:-1,o=t.reduce(((e,i)=>Math.abs(n*i-r)<Math.abs(n*e-r)?i:e));for(let e=0;e<t.length;++e)if(t[e]===o){i[2]=e;break}}return[i[0],i[1],i[2]]}computeLayerSpaceLocation(e){if(!this.isValid)return new m({x:0,y:0,spatialReference:this.spatialReference});const i=u(e);if(a(i,i,this.voxelSizeInLayerSpaceSigned),p(i,i,this.originInLayerSpace3D),"xyt"===this.volumeType)return new m({x:i[0],y:i[1],spatialReference:this.spatialReference});const s=this.dimensions[this.zDimension];return s.isRegular||Array.isArray(s.irregularSpacing?.values)&&(e[2]<0?i[2]=s.irregularSpacing.values[0]:e[2]<s.irregularSpacing.values.length?i[2]=s.irregularSpacing.values[e[2]]:i[2]=s.irregularSpacing.values[s.irregularSpacing.values.length-1],s.isPositiveUp||(i[2]*=-1)),new m({x:i[0],y:i[1],z:i[2],spatialReference:this.spatialReference})}};e([r({type:Number,json:{write:{enabled:!0,isRequired:!0}}})],f.prototype,"id",void 0),e([r({type:[g],json:{write:{enabled:!0,isRequired:!0}}})],f.prototype,"dimensions",void 0),e([r({type:c,json:{read:{enabled:!1}}})],f.prototype,"spatialReference",void 0),e([r({type:[Number],json:{read:!1}})],f.prototype,"zDimension",null),e([r({type:[Boolean],json:{read:!1}})],f.prototype,"isValid",null),e([r({type:[Number],json:{read:!1}})],f.prototype,"originInLayerSpace3D",null),e([r({type:[Number],json:{read:!1}})],f.prototype,"voxelSizeInLayerSpaceSigned",null),e([r({type:["xyz","xyzt","xyt"],json:{read:{enabled:!1}}})],f.prototype,"volumeType",null),e([r({type:[Number],json:{read:!1}})],f.prototype,"sizeInVoxels",null),f=e([t(d)],f);const S=f;export{S 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.25/esri/copyright.txt for details.
4
4
  */
5
- import{s as a,m as s}from"../../chunks/quat.js";import{a as t}from"../../chunks/quatf64.js";import{c as n}from"../../chunks/vec3f64.js";import{a as o,t as r}from"../../chunks/common.js";import{c,n as m,q as u}from"../../chunks/vec3.js";const f=n(),e=t(),h=t(),i=t(),p=new Float64Array([0,0,1]),j=new Float64Array([0,1,0]),k=new Float64Array([1,0,0]);function l(s){c(f,s),m(f,f);const n=Math.atan2(f[1],f[0]),r=a(t(),p,-n);u(f,f,r);const e=-1*Math.atan2(f[2],f[0]);return[o(n)+270,o(e)+90]}function q(t,n){return a(h,p,r(t-270)),a(i,j,r(n-90)),s(e,h,i),c(f,k),u(f,f,e),m(f,f),[f[0],f[1],f[2]]}export{q as computeNormalFromOrientationTilt,l as computeOrientationTiltFromNormal};
5
+ import{s as a,m as s}from"../../chunks/quat.js";import{c as t}from"../../chunks/quatf64.js";import{c as n}from"../../chunks/vec3f64.js";import{a as o,t as r}from"../../chunks/common.js";import{c,n as m,k as u}from"../../chunks/vec3.js";const f=n(),e=t(),h=t(),i=t(),k=new Float64Array([0,0,1]),p=new Float64Array([0,1,0]),j=new Float64Array([1,0,0]);function l(s){c(f,s),m(f,f);const n=Math.atan2(f[1],f[0]),r=a(t(),k,-n);u(f,f,r);const e=-1*Math.atan2(f[2],f[0]);return[o(n)+270,o(e)+90]}function w(t,n){return a(h,k,r(t-270)),a(i,p,r(n-90)),s(e,h,i),c(f,j),u(f,f,e),m(f,f),[f[0],f[1],f[2]]}export{w as computeNormalFromOrientationTilt,l as computeOrientationTiltFromNormal};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arcgis/core",
3
- "version": "4.25.0-next.20220919",
3
+ "version": "4.25.0-next.20220921",
4
4
  "homepage": "https://js.arcgis.com",
5
5
  "description": "ArcGIS API for JavaScript: A complete 2D and 3D mapping and data visualization API",
6
6
  "keywords": [
@@ -0,0 +1,5 @@
1
+ /*
2
+ All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
+ See https://js.arcgis.com/4.25/esri/copyright.txt for details.
4
+ */
5
+ import{_ as r}from"../../chunks/tslib.es6.js";import e from"../../AggregateGraphic.js";import{property as s}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as o}from"../../core/accessorSupport/decorators/subclass.js";import t from"./FeatureSet.js";let p=class extends t{constructor(){super(...arguments),this.features=[]}};r([s({type:[e],json:{write:!0}})],p.prototype,"features",void 0),p=r([o("esri.rest.support.AggregateFeatureSet")],p);const a=p;export{a as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.25/esri/copyright.txt for details.
4
4
  */
5
- const d="20220919",e="dac12d2e744f6b280c5faae12e16805d5f3fdb85";export{d as buildDate,e as commitHash};
5
+ const a="20220921",c="1a79572a5ba80866fc1356a82d9dc38bc0edd004";export{a as buildDate,c as commitHash};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.25/esri/copyright.txt for details.
4
4
  */
5
- import{_ as t}from"../../chunks/tslib.es6.js";import"../../geometry.js";import s from"../../Viewpoint.js";import{JSONSupport as i}from"../../core/JSONSupport.js";import{property as e}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as o}from"../../core/accessorSupport/decorators/subclass.js";import{t as r}from"../../chunks/common.js";import{a,r as n,t as p,c as h}from"../../chunks/mat2d.js";import{c}from"../../chunks/mat2df32.js";import{c as m}from"../../chunks/mat2df64.js";import{s as l,g as f,h as u,r as w,m as v}from"../../chunks/mat3.js";import{c as d}from"../../chunks/mat3f32.js";import{c as j,t as y}from"../../chunks/vec2.js";import{f as R}from"../../chunks/vec2f32.js";import{a as _}from"../../chunks/vec2f64.js";import{isVec2 as x}from"../../core/libs/gl-matrix-2/types/vec2.js";import{copy as z,getMatrix as g,getResolution as S,getExtent as k,getTransform as M,getTransformNoRotation as N,getWorldScreenWidth as T}from"./viewpointUtils.js";import D from"../../geometry/Extent.js";import V from"../../geometry/Point.js";var b;const G=[0,0];let O=b=class extends i{constructor(t){super(t),this._viewpoint2D={center:_(),rotation:0,scale:0,spatialReference:null},this.center=[0,0],this.extent=new D,this.id=0,this.inverseTransform=m(),this.resolution=0,this.rotation=0,this.scale=0,this.transform=m(),this.transformNoRotation=m(),this.displayMat3=d(),this.displayViewMat3=d(),this.viewMat3=d(),this.viewMat2d=c(),this.worldScreenWidth=0,this.size=[0,0]}set pixelRatio(t){this._set("pixelRatio",t),this._update()}set size(t){this._set("size",t),this._update()}set viewpoint(t){if(t){const s=this._viewpoint2D,i=t.targetGeometry;s.center[0]=i.x,s.center[1]=i.y,s.rotation=t.rotation,s.scale=t.scale,s.spatialReference=i.spatialReference}this._update()}copy(t){const s=this.size,i=this.viewpoint;return i&&s?(this.viewpoint=z(i,t.viewpoint),this._set("size",j(s,t.size))):(this.viewpoint=t.viewpoint.clone(),this._set("size",[t.size[0],t.size[1]])),this._set("pixelRatio",t.pixelRatio),this}clone(){return new b({size:this.size,viewpoint:this.viewpoint.clone(),pixelRatio:this.pixelRatio})}toMap(t,s,i){return x(s)?y(t,s,this.inverseTransform):(G[0]=s,G[1]=i,y(t,G,this.inverseTransform))}toScreen(t,s,i){return x(s)?y(t,s,this.transform):(G[0]=s,G[1]=i,y(t,G,this.transform))}toScreenNoRotation(t,s,i){return x(s)?y(t,s,this.transformNoRotation):(G[0]=s,G[1]=i,y(t,G,this.transformNoRotation))}getScreenTransform(t,s){const{center:i}=this._viewpoint2D,e=this._get("pixelRatio")||1,o=this._get("size");return g(t,i,o,s,0,e),t}_update(){const{center:t,spatialReference:i,scale:e,rotation:o}=this._viewpoint2D,c=this._get("pixelRatio")||1,m=this._get("size"),d=new s({targetGeometry:new V(t[0],t[1],i),scale:e,rotation:o});if(this._set("viewpoint",d),!m||!i||!e)return;this.resolution=S(d),this.rotation=o,this.scale=e,this.spatialReference=i,j(this.center,t);const y=0!==m[0]?2/m[0]:0,_=0!==m[1]?-2/m[1]:0;l(this.displayMat3,y,0,0,0,_,0,-1,1,1);const x=f(this.viewMat3),z=R(m[0]/2,m[1]/2),g=R(-m[0]/2,-m[1]/2),D=r(o);u(x,x,z),w(x,x,D),u(x,x,g),v(this.displayViewMat3,this.displayMat3,x);const b=a(this.viewMat2d,z);return n(b,b,D),p(b,b,g),k(this.extent,d,m),M(this.transform,d,m,c),h(this.inverseTransform,this.transform),N(this.transformNoRotation,d,m,c),this.worldScreenWidth=T(this.spatialReference,this.resolution),this._set("id",this.id+1),this}};t([e({readOnly:!0})],O.prototype,"id",void 0),t([e({value:1,json:{write:!0}})],O.prototype,"pixelRatio",null),t([e({json:{write:!0}})],O.prototype,"size",null),t([e()],O.prototype,"spatialReference",void 0),t([e({type:s,json:{write:!0}})],O.prototype,"viewpoint",null),O=b=t([o("esri.views.2d.ViewState")],O);const U=O;export{U as default};
5
+ import{_ as t}from"../../chunks/tslib.es6.js";import"../../geometry.js";import s from"../../Viewpoint.js";import{JSONSupport as i}from"../../core/JSONSupport.js";import{property as e}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as o}from"../../core/accessorSupport/decorators/subclass.js";import{t as r}from"../../chunks/common.js";import{a,r as n,t as p,c as h}from"../../chunks/mat2d.js";import{c}from"../../chunks/mat2df32.js";import{c as m}from"../../chunks/mat2df64.js";import{c as l,g as f,h as u,r as w,m as v}from"../../chunks/mat3.js";import{c as d}from"../../chunks/mat3f32.js";import{c as j,t as y}from"../../chunks/vec2.js";import{f as R}from"../../chunks/vec2f32.js";import{a as _}from"../../chunks/vec2f64.js";import{isVec2 as x}from"../../core/libs/gl-matrix-2/types/vec2.js";import{copy as z,getMatrix as g,getResolution as S,getExtent as k,getTransform as M,getTransformNoRotation as N,getWorldScreenWidth as T}from"./viewpointUtils.js";import D from"../../geometry/Extent.js";import V from"../../geometry/Point.js";var b;const G=[0,0];let O=b=class extends i{constructor(t){super(t),this._viewpoint2D={center:_(),rotation:0,scale:0,spatialReference:null},this.center=[0,0],this.extent=new D,this.id=0,this.inverseTransform=m(),this.resolution=0,this.rotation=0,this.scale=0,this.transform=m(),this.transformNoRotation=m(),this.displayMat3=d(),this.displayViewMat3=d(),this.viewMat3=d(),this.viewMat2d=c(),this.worldScreenWidth=0,this.size=[0,0]}set pixelRatio(t){this._set("pixelRatio",t),this._update()}set size(t){this._set("size",t),this._update()}set viewpoint(t){if(t){const s=this._viewpoint2D,i=t.targetGeometry;s.center[0]=i.x,s.center[1]=i.y,s.rotation=t.rotation,s.scale=t.scale,s.spatialReference=i.spatialReference}this._update()}copy(t){const s=this.size,i=this.viewpoint;return i&&s?(this.viewpoint=z(i,t.viewpoint),this._set("size",j(s,t.size))):(this.viewpoint=t.viewpoint.clone(),this._set("size",[t.size[0],t.size[1]])),this._set("pixelRatio",t.pixelRatio),this}clone(){return new b({size:this.size,viewpoint:this.viewpoint.clone(),pixelRatio:this.pixelRatio})}toMap(t,s,i){return x(s)?y(t,s,this.inverseTransform):(G[0]=s,G[1]=i,y(t,G,this.inverseTransform))}toScreen(t,s,i){return x(s)?y(t,s,this.transform):(G[0]=s,G[1]=i,y(t,G,this.transform))}toScreenNoRotation(t,s,i){return x(s)?y(t,s,this.transformNoRotation):(G[0]=s,G[1]=i,y(t,G,this.transformNoRotation))}getScreenTransform(t,s){const{center:i}=this._viewpoint2D,e=this._get("pixelRatio")||1,o=this._get("size");return g(t,i,o,s,0,e),t}_update(){const{center:t,spatialReference:i,scale:e,rotation:o}=this._viewpoint2D,c=this._get("pixelRatio")||1,m=this._get("size"),d=new s({targetGeometry:new V(t[0],t[1],i),scale:e,rotation:o});if(this._set("viewpoint",d),!m||!i||!e)return;this.resolution=S(d),this.rotation=o,this.scale=e,this.spatialReference=i,j(this.center,t);const y=0!==m[0]?2/m[0]:0,_=0!==m[1]?-2/m[1]:0;l(this.displayMat3,y,0,0,0,_,0,-1,1,1);const x=f(this.viewMat3),z=R(m[0]/2,m[1]/2),g=R(-m[0]/2,-m[1]/2),D=r(o);u(x,x,z),w(x,x,D),u(x,x,g),v(this.displayViewMat3,this.displayMat3,x);const b=a(this.viewMat2d,z);return n(b,b,D),p(b,b,g),k(this.extent,d,m),M(this.transform,d,m,c),h(this.inverseTransform,this.transform),N(this.transformNoRotation,d,m,c),this.worldScreenWidth=T(this.spatialReference,this.resolution),this._set("id",this.id+1),this}};t([e({readOnly:!0})],O.prototype,"id",void 0),t([e({value:1,json:{write:!0}})],O.prototype,"pixelRatio",null),t([e({json:{write:!0}})],O.prototype,"size",null),t([e()],O.prototype,"spatialReference",void 0),t([e({type:s,json:{write:!0}})],O.prototype,"viewpoint",null),O=b=t([o("esri.views.2d.ViewState")],O);const U=O;export{U as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.25/esri/copyright.txt for details.
4
4
  */
5
- import{deg2rad as t}from"../../../../core/mathUtils.js";import{isSome as s,isNone as a}from"../../../../core/maybe.js";import{j as e,e as i,h as r,r as o}from"../../../../chunks/mat3.js";import{c as n}from"../../../../chunks/mat3f32.js";import{DisplayObject as l}from"../DisplayObject.js";class m extends l{constructor(){super(...arguments),this._displayData=null}get displayData(){return this._displayData}set displayData(t){this._displayData=t,this.requestRender()}clear(){s(this._displayData)&&(this._displayData.detach(),this._displayData=null,this.requestRender())}setTransform(s){const{displayData:n}=this;if(a(n))return;const l=n.extent.xmin,m=n.extent.ymax,p=[0,0];s.toScreen(p,[l,m]);const c=(n.extent.xmax-n.extent.xmin)/n.size[0]/s.resolution,d=t(s.rotation),{dvs:h}=this.transforms;e(h,[-1,1,0]),i(h,h,[2/(s.size[0]*s.pixelRatio),-2/(s.size[1]*s.pixelRatio),1]),r(h,h,[p[0],p[1],0]),o(h,h,d),i(h,h,[c*s.pixelRatio,c*s.pixelRatio,1])}_createTransforms(){return{dvs:n()}}}export{m as FlowDisplayObject};
5
+ import{deg2rad as t}from"../../../../core/mathUtils.js";import{isSome as s,isNone as a}from"../../../../core/maybe.js";import{j as e,s as i,h as r,r as o}from"../../../../chunks/mat3.js";import{c as n}from"../../../../chunks/mat3f32.js";import{DisplayObject as l}from"../DisplayObject.js";class m extends l{constructor(){super(...arguments),this._displayData=null}get displayData(){return this._displayData}set displayData(t){this._displayData=t,this.requestRender()}clear(){s(this._displayData)&&(this._displayData.detach(),this._displayData=null,this.requestRender())}setTransform(s){const{displayData:n}=this;if(a(n))return;const l=n.extent.xmin,m=n.extent.ymax,p=[0,0];s.toScreen(p,[l,m]);const c=(n.extent.xmax-n.extent.xmin)/n.size[0]/s.resolution,d=t(s.rotation),{dvs:h}=this.transforms;e(h,[-1,1,0]),i(h,h,[2/(s.size[0]*s.pixelRatio),-2/(s.size[1]*s.pixelRatio),1]),r(h,h,[p[0],p[1],0]),o(h,h,d),i(h,h,[c*s.pixelRatio,c*s.pixelRatio,1])}_createTransforms(){return{dvs:n()}}}export{m as FlowDisplayObject};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.25/esri/copyright.txt for details.
4
4
  */
5
- import{s as t,m as s}from"../../../../chunks/mat3.js";import{c as e}from"../../../../chunks/mat3f32.js";import{RasterVFDisplayObject as a}from"./RasterVFDisplayObject.js";import{TiledDisplayObject as i}from"../webgl/TiledDisplayObject.js";class r extends i{constructor(t,s,e,i,r,o=null){super(t,s,e,i,r),this.tileData=new a(o),this.tileData.coordScale=[i,r],this.tileData.once("isReady",(()=>this.ready()))}destroy(){super.destroy(),this.tileData.destroy(),this.tileData=null,this.stage=null}set stencilRef(t){this.tileData.stencilRef=t}get stencilRef(){return this.tileData.stencilRef}_createTransforms(){return{dvs:e(),tileMat3:e()}}setTransform(e,a){super.setTransform(e,a);const i=a/(e.resolution*e.pixelRatio),r=this.transforms.tileMat3,[o,l]=this.tileData.offset,h=[this.x+o*a,this.y-l*a],[n,f]=e.toScreenNoRotation([0,0],h),{symbolTileSize:m}=this.tileData.symbolizerParameters,c=Math.round((this.width-this.tileData.offset[0])/m)*m,D=Math.round((this.height-this.tileData.offset[1])/m)*m,d=c/this.rangeX*i,u=D/this.rangeY*i;t(r,d,0,0,0,u,0,n,f,1),s(this.transforms.dvs,e.displayViewMat3,r),this.tileData.transforms.dvs=this.transforms.dvs}onAttach(){this.tileData.stage=this.stage}onDetach(){this.tileData.stage=null}}export{r as RasterVFTile};
5
+ import{c as t,m as s}from"../../../../chunks/mat3.js";import{c as e}from"../../../../chunks/mat3f32.js";import{RasterVFDisplayObject as a}from"./RasterVFDisplayObject.js";import{TiledDisplayObject as i}from"../webgl/TiledDisplayObject.js";class r extends i{constructor(t,s,e,i,r,o=null){super(t,s,e,i,r),this.tileData=new a(o),this.tileData.coordScale=[i,r],this.tileData.once("isReady",(()=>this.ready()))}destroy(){super.destroy(),this.tileData.destroy(),this.tileData=null,this.stage=null}set stencilRef(t){this.tileData.stencilRef=t}get stencilRef(){return this.tileData.stencilRef}_createTransforms(){return{dvs:e(),tileMat3:e()}}setTransform(e,a){super.setTransform(e,a);const i=a/(e.resolution*e.pixelRatio),r=this.transforms.tileMat3,[o,l]=this.tileData.offset,h=[this.x+o*a,this.y-l*a],[n,f]=e.toScreenNoRotation([0,0],h),{symbolTileSize:c}=this.tileData.symbolizerParameters,m=Math.round((this.width-this.tileData.offset[0])/c)*c,D=Math.round((this.height-this.tileData.offset[1])/c)*c,d=m/this.rangeX*i,u=D/this.rangeY*i;t(r,d,0,0,0,u,0,n,f,1),s(this.transforms.dvs,e.displayViewMat3,r),this.tileData.transforms.dvs=this.transforms.dvs}onAttach(){this.tileData.stage=this.stage}onDetach(){this.tileData.stage=null}}export{r as RasterVFTile};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.25/esri/copyright.txt for details.
4
4
  */
5
- import{isSome as e}from"../../../../core/maybe.js";import{g as t,h as s,r as a,e as r}from"../../../../chunks/mat3.js";import{c as i}from"../../../../chunks/mat3f32.js";import{BucketType as o}from"./enums.js";import{CircleRenderBucket as h,SymbolRenderBucket as n,LineRenderBucket as l,FillRenderBucket as y}from"./RenderBucket.js";import{FADE_DURATION as c}from"./decluttering/config.js";import{TiledDisplayObject as d}from"../webgl/TiledDisplayObject.js";class m extends d{constructor(e,t,s,a,r,i,o=null){super(e,t,s,a,r,4096,4096),this._memCache=o,this.type="vector-tile",this._referenced=0,this._hasSymbolBuckets=!1,this._memoryUsedByLayerData=0,this.layerData=new Map,this.layerCount=0,this.status="loading",this.allSymbolsFadingOut=!1,this.lastOpacityUpdate=0,this.symbols=new Map,this.isCoverage=!1,this.neededForCoverage=!1,this.decluttered=!1,this.invalidating=!1,this.parentTile=null,this.childrenTiles=new Set,this._processed=!1,this._referenced=1,this.styleRepository=i,this.id=e.id}get hasSymbolBuckets(){return this._hasSymbolBuckets}get isFading(){return this._hasSymbolBuckets&&performance.now()-this.lastOpacityUpdate<c}get isHoldingForFade(){return this._hasSymbolBuckets&&(!this.allSymbolsFadingOut||performance.now()-this.lastOpacityUpdate<c)}get wasRequested(){return"errored"===this.status||"loaded"===this.status||"reloading"===this.status}setData(e){this.changeDataImpl(e),this.requestRender(),this.ready(),this.invalidating=!1,this._processed=!0}deleteLayerData(t){let s=!1;for(const e of t)if(this.layerData.has(e)){const t=this.layerData.get(e);this._memoryUsedByLayerData-=t.memoryUsed,t.type===o.SYMBOL&&this.symbols.has(e)&&(this.symbols.delete(e),s=!0),t.destroy(),this.layerData.delete(e),this.layerCount--}e(this._memCache)&&this._memCache.updateSize(this.key.id,this,this._memoryUsedByLayerData),s&&this.emit("symbols-changed"),this.requestRender()}processed(){return this._processed}hasData(){return this.layerCount>0}dispose(){"unloaded"!==this.status&&(u.delete(this),m._destroyRenderBuckets(this.layerData),this.layerData=null,this.layerCount=0,this._memoryUsedByLayerData=0,this.destroy(),this.status="unloaded")}release(){return 0==--this._referenced&&(this.dispose(),this.stage=null,!0)}retain(){++this._referenced}get referenced(){return this._referenced}get memoryUsage(){return(this._memoryUsedByLayerData+256)/(this._referenced||1)}changeDataImpl(t){let s=!1;if(t){const{bucketsWithData:a,emptyBuckets:r}=t,i=this._createRenderBuckets(a);if(r&&r.byteLength>0){const e=new Uint32Array(r);for(const t of e)this._deleteLayerData(t)}for(const[e,t]of i)this._deleteLayerData(e),t.type===o.SYMBOL&&(this.symbols.set(e,t.symbols),s=!0),this._memoryUsedByLayerData+=t.memoryUsed,this.layerData.set(e,t),this.layerCount++;e(this._memCache)&&this._memCache.updateSize(this.key.id,this,this._memoryUsedByLayerData)}this._hasSymbolBuckets=!1;for(const[e,a]of this.layerData)a.type===o.SYMBOL&&(this._hasSymbolBuckets=!0);s&&this.emit("symbols-changed")}attachWithContext(e){this.stage={context:e,trashDisplayObject(e){e.processDetach()},untrashDisplayObject:()=>!1}}setTransform(e,i){super.setTransform(e,i);const o=i/(e.resolution*e.pixelRatio),h=this.width/this.rangeX*o,n=this.height/this.rangeY*o,l=[0,0];e.toScreen(l,[this.x,this.y]);const y=this.transforms.tileUnitsToPixels;t(y),s(y,y,l),a(y,y,Math.PI*e.rotation/180),r(y,y,[h,n,1])}_createTransforms(){return{dvs:i(),tileMat3:i(),tileUnitsToPixels:i()}}static _destroyRenderBuckets(e){if(!e)return;const t=new Set;e.forEach((e=>{t.has(e)||(e.destroy(),t.add(e))})),e.clear()}_createRenderBuckets(e){const t=new Map,s=new Map;for(const a of e){const e=this._deserializeBucket(a,s);for(const s of e.layerUIDs)t.set(s,e)}return t}_deserializeBucket(e,t){let s=t.get(e);if(s)return s;switch(new Uint32Array(e)[0]){case o.FILL:s=new y(e,this.styleRepository);break;case o.LINE:s=new l(e,this.styleRepository);break;case o.SYMBOL:s=new n(e,this.styleRepository,this);break;case o.CIRCLE:s=new h(e,this.styleRepository)}return t.set(e,s),s}_deleteLayerData(e){if(!this.layerData.has(e))return;const t=this.layerData.get(e);this._memoryUsedByLayerData-=t.memoryUsed,t.destroy(),this.layerData.delete(e),this.layerCount--}}const u=new Map;function p(){u.forEach(((e,t)=>{console.log(`\n${t.key}:`),e[0].forEach((e=>console.log(e))),console.log("========"),e[1].forEach((e=>console.log(e)))}))}export{m as VectorTile,p as printAllocations};
5
+ import{isSome as e}from"../../../../core/maybe.js";import{g as t,h as s,r as a,s as r}from"../../../../chunks/mat3.js";import{c as i}from"../../../../chunks/mat3f32.js";import{BucketType as o}from"./enums.js";import{CircleRenderBucket as h,SymbolRenderBucket as n,LineRenderBucket as l,FillRenderBucket as y}from"./RenderBucket.js";import{FADE_DURATION as c}from"./decluttering/config.js";import{TiledDisplayObject as d}from"../webgl/TiledDisplayObject.js";class m extends d{constructor(e,t,s,a,r,i,o=null){super(e,t,s,a,r,4096,4096),this._memCache=o,this.type="vector-tile",this._referenced=0,this._hasSymbolBuckets=!1,this._memoryUsedByLayerData=0,this.layerData=new Map,this.layerCount=0,this.status="loading",this.allSymbolsFadingOut=!1,this.lastOpacityUpdate=0,this.symbols=new Map,this.isCoverage=!1,this.neededForCoverage=!1,this.decluttered=!1,this.invalidating=!1,this.parentTile=null,this.childrenTiles=new Set,this._processed=!1,this._referenced=1,this.styleRepository=i,this.id=e.id}get hasSymbolBuckets(){return this._hasSymbolBuckets}get isFading(){return this._hasSymbolBuckets&&performance.now()-this.lastOpacityUpdate<c}get isHoldingForFade(){return this._hasSymbolBuckets&&(!this.allSymbolsFadingOut||performance.now()-this.lastOpacityUpdate<c)}get wasRequested(){return"errored"===this.status||"loaded"===this.status||"reloading"===this.status}setData(e){this.changeDataImpl(e),this.requestRender(),this.ready(),this.invalidating=!1,this._processed=!0}deleteLayerData(t){let s=!1;for(const e of t)if(this.layerData.has(e)){const t=this.layerData.get(e);this._memoryUsedByLayerData-=t.memoryUsed,t.type===o.SYMBOL&&this.symbols.has(e)&&(this.symbols.delete(e),s=!0),t.destroy(),this.layerData.delete(e),this.layerCount--}e(this._memCache)&&this._memCache.updateSize(this.key.id,this,this._memoryUsedByLayerData),s&&this.emit("symbols-changed"),this.requestRender()}processed(){return this._processed}hasData(){return this.layerCount>0}dispose(){"unloaded"!==this.status&&(u.delete(this),m._destroyRenderBuckets(this.layerData),this.layerData=null,this.layerCount=0,this._memoryUsedByLayerData=0,this.destroy(),this.status="unloaded")}release(){return 0==--this._referenced&&(this.dispose(),this.stage=null,!0)}retain(){++this._referenced}get referenced(){return this._referenced}get memoryUsage(){return(this._memoryUsedByLayerData+256)/(this._referenced||1)}changeDataImpl(t){let s=!1;if(t){const{bucketsWithData:a,emptyBuckets:r}=t,i=this._createRenderBuckets(a);if(r&&r.byteLength>0){const e=new Uint32Array(r);for(const t of e)this._deleteLayerData(t)}for(const[e,t]of i)this._deleteLayerData(e),t.type===o.SYMBOL&&(this.symbols.set(e,t.symbols),s=!0),this._memoryUsedByLayerData+=t.memoryUsed,this.layerData.set(e,t),this.layerCount++;e(this._memCache)&&this._memCache.updateSize(this.key.id,this,this._memoryUsedByLayerData)}this._hasSymbolBuckets=!1;for(const[e,a]of this.layerData)a.type===o.SYMBOL&&(this._hasSymbolBuckets=!0);s&&this.emit("symbols-changed")}attachWithContext(e){this.stage={context:e,trashDisplayObject(e){e.processDetach()},untrashDisplayObject:()=>!1}}setTransform(e,i){super.setTransform(e,i);const o=i/(e.resolution*e.pixelRatio),h=this.width/this.rangeX*o,n=this.height/this.rangeY*o,l=[0,0];e.toScreen(l,[this.x,this.y]);const y=this.transforms.tileUnitsToPixels;t(y),s(y,y,l),a(y,y,Math.PI*e.rotation/180),r(y,y,[h,n,1])}_createTransforms(){return{dvs:i(),tileMat3:i(),tileUnitsToPixels:i()}}static _destroyRenderBuckets(e){if(!e)return;const t=new Set;e.forEach((e=>{t.has(e)||(e.destroy(),t.add(e))})),e.clear()}_createRenderBuckets(e){const t=new Map,s=new Map;for(const a of e){const e=this._deserializeBucket(a,s);for(const s of e.layerUIDs)t.set(s,e)}return t}_deserializeBucket(e,t){let s=t.get(e);if(s)return s;switch(new Uint32Array(e)[0]){case o.FILL:s=new y(e,this.styleRepository);break;case o.LINE:s=new l(e,this.styleRepository);break;case o.SYMBOL:s=new n(e,this.styleRepository,this);break;case o.CIRCLE:s=new h(e,this.styleRepository)}return t.set(e,s),s}_deleteLayerData(e){if(!this.layerData.has(e))return;const t=this.layerData.get(e);this._memoryUsedByLayerData-=t.memoryUsed,t.destroy(),this.layerData.delete(e),this.layerCount--}}const u=new Map;function p(){u.forEach(((e,t)=>{console.log(`\n${t.key}:`),e[0].forEach((e=>console.log(e))),console.log("========"),e[1].forEach((e=>console.log(e)))}))}export{m as VectorTile,p as printAllocations};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.25/esri/copyright.txt for details.
4
4
  */
5
- import{isNone as t}from"../../../../core/maybe.js";import{createScreenPoint as e}from"../../../../core/screenUtils.js";import{g as s,m as r,h as o,e as a,r as i}from"../../../../chunks/mat3.js";import{c as n}from"../../../../chunks/mat3f32.js";import{f as c}from"../../../../chunks/vec2f32.js";import{f as p}from"../../../../chunks/vec3f32.js";import{normalizeMapX as d}from"../../../../geometry/support/normalizeUtils.js";import{getInfo as h}from"../../../../geometry/support/spatialReferenceUtils.js";import{getWorldWidth as l}from"../../viewpointUtils.js";import{brushes as m}from"../brushes.js";import{WGLDrawPhase as f}from"./enums.js";import u from"./WGLContainer.js";class M extends u{constructor(){super(...arguments),this._localOrigin=e(0,0),this._viewStateId=-1,this._dvsMat3=n(),this.requiresDedicatedFBO=!1}get dvsMat3(){return this._dvsMat3}beforeRender(t){this._updateMatrices(t),this._updateOverlays(t,this.children);for(const e of this.children)e.beforeRender(t)}prepareRenderPasses(t){const e=t.registerRenderPass({name:"overlay",brushes:[m.overlay],target:()=>this.children,drawPhase:f.MAP});return[...super.prepareRenderPasses(t),e]}_updateMatrices(t){const{state:e}=t,{id:n,size:h,pixelRatio:l,resolution:m,rotation:f,viewpoint:u,displayMat3:M}=e;if(this._viewStateId===n)return;const v=Math.PI/180*f,_=l*h[0],w=l*h[1],{x:y,y:g}=u.targetGeometry,j=d(y,e.spatialReference);this._localOrigin.x=j,this._localOrigin.y=g;const b=m*_,R=m*w,O=s(this._dvsMat3);r(O,O,M),o(O,O,c(_/2,w/2)),a(O,O,p(_/b,-w/R,1)),i(O,O,-v),this._viewStateId=n}_updateOverlays(e,s){const{state:r}=e,{rotation:o,spatialReference:a,worldScreenWidth:i,size:n,viewpoint:c}=r,p=this._localOrigin;let d=0;if(a.isWrappable){const e=n[0],m=n[1],f=180/Math.PI*o,u=Math.abs(Math.cos(f)),M=Math.abs(Math.sin(f)),v=Math.round(e*u+m*M),[_,w]=h(a).valid,y=l(a),{x:g,y:j}=c.targetGeometry,b=[g,j],R=[0,0];r.toScreen(R,b);const O=[0,0];let P;P=v>i?.5*i:.5*v;const x=Math.floor((g+.5*y)/y),C=_+x*y,D=w+x*y,I=[R[0]+P,0];r.toMap(O,I),O[0]>D&&(d=y),I[0]=R[0]-P,r.toMap(O,I),O[0]<C&&(d=-y);for(const r of s){const e=r.elementView.bounds;if(t(e))continue;const[s,,o]=e;s<_&&o>_?r.updateDrawCoords(p,y):o>w&&s<w?r.updateDrawCoords(p,-y):r.updateDrawCoords(p,d)}}else for(const t of s)t.updateDrawCoords(p,d)}}export{M as default};
5
+ import{isNone as t}from"../../../../core/maybe.js";import{createScreenPoint as e}from"../../../../core/screenUtils.js";import{g as s,m as r,h as o,s as a,r as i}from"../../../../chunks/mat3.js";import{c as n}from"../../../../chunks/mat3f32.js";import{f as c}from"../../../../chunks/vec2f32.js";import{f as p}from"../../../../chunks/vec3f32.js";import{normalizeMapX as d}from"../../../../geometry/support/normalizeUtils.js";import{getInfo as h}from"../../../../geometry/support/spatialReferenceUtils.js";import{getWorldWidth as l}from"../../viewpointUtils.js";import{brushes as m}from"../brushes.js";import{WGLDrawPhase as f}from"./enums.js";import u from"./WGLContainer.js";class M extends u{constructor(){super(...arguments),this._localOrigin=e(0,0),this._viewStateId=-1,this._dvsMat3=n(),this.requiresDedicatedFBO=!1}get dvsMat3(){return this._dvsMat3}beforeRender(t){this._updateMatrices(t),this._updateOverlays(t,this.children);for(const e of this.children)e.beforeRender(t)}prepareRenderPasses(t){const e=t.registerRenderPass({name:"overlay",brushes:[m.overlay],target:()=>this.children,drawPhase:f.MAP});return[...super.prepareRenderPasses(t),e]}_updateMatrices(t){const{state:e}=t,{id:n,size:h,pixelRatio:l,resolution:m,rotation:f,viewpoint:u,displayMat3:M}=e;if(this._viewStateId===n)return;const v=Math.PI/180*f,_=l*h[0],w=l*h[1],{x:y,y:g}=u.targetGeometry,j=d(y,e.spatialReference);this._localOrigin.x=j,this._localOrigin.y=g;const b=m*_,R=m*w,O=s(this._dvsMat3);r(O,O,M),o(O,O,c(_/2,w/2)),a(O,O,p(_/b,-w/R,1)),i(O,O,-v),this._viewStateId=n}_updateOverlays(e,s){const{state:r}=e,{rotation:o,spatialReference:a,worldScreenWidth:i,size:n,viewpoint:c}=r,p=this._localOrigin;let d=0;if(a.isWrappable){const e=n[0],m=n[1],f=180/Math.PI*o,u=Math.abs(Math.cos(f)),M=Math.abs(Math.sin(f)),v=Math.round(e*u+m*M),[_,w]=h(a).valid,y=l(a),{x:g,y:j}=c.targetGeometry,b=[g,j],R=[0,0];r.toScreen(R,b);const O=[0,0];let P;P=v>i?.5*i:.5*v;const x=Math.floor((g+.5*y)/y),C=_+x*y,D=w+x*y,I=[R[0]+P,0];r.toMap(O,I),O[0]>D&&(d=y),I[0]=R[0]-P,r.toMap(O,I),O[0]<C&&(d=-y);for(const r of s){const e=r.elementView.bounds;if(t(e))continue;const[s,,o]=e;s<_&&o>_?r.updateDrawCoords(p,y):o>w&&s<w?r.updateDrawCoords(p,-y):r.updateDrawCoords(p,d)}}else for(const t of s)t.updateDrawCoords(p,d)}}export{M as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.25/esri/copyright.txt for details.
4
4
  */
5
- import{s as t,m as s}from"../../../../chunks/mat3.js";import{DisplayObject as i}from"../DisplayObject.js";import e from"../../tiling/TileKey.js";class r extends i{constructor(t,s,i,r,h,o=r,n=h){super(),this.triangleCountReportedInDebug=0,this.triangleCount=0,this.texture=null,this.key=new e(t),this.x=s,this.y=i,this.width=r,this.height=h,this.rangeX=o,this.rangeY=n}destroy(){this.texture&&(this.texture.dispose(),this.texture=null)}setTransform(i,e){const r=e/(i.resolution*i.pixelRatio),h=this.transforms.tileMat3,[o,n]=i.toScreenNoRotation([0,0],[this.x,this.y]),a=this.width/this.rangeX*r,l=this.height/this.rangeY*r;t(h,a,0,0,0,l,0,o,n,1),s(this.transforms.dvs,i.displayViewMat3,h)}}export{r as TiledDisplayObject};
5
+ import{c as t,m as s}from"../../../../chunks/mat3.js";import{DisplayObject as i}from"../DisplayObject.js";import e from"../../tiling/TileKey.js";class r extends i{constructor(t,s,i,r,h,o=r,n=h){super(),this.triangleCountReportedInDebug=0,this.triangleCount=0,this.texture=null,this.key=new e(t),this.x=s,this.y=i,this.width=r,this.height=h,this.rangeX=o,this.rangeY=n}destroy(){this.texture&&(this.texture.dispose(),this.texture=null)}setTransform(i,e){const r=e/(i.resolution*i.pixelRatio),h=this.transforms.tileMat3,[o,n]=i.toScreenNoRotation([0,0],[this.x,this.y]),a=this.width/this.rangeX*r,l=this.height/this.rangeY*r;t(h,a,0,0,0,l,0,o,n,1),s(this.transforms.dvs,i.displayViewMat3,h)}}export{r as TiledDisplayObject};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.25/esri/copyright.txt for details.
4
4
  */
5
- import{a as s,m as t}from"../../../../chunks/mat2d.js";import{s as r,m as e}from"../../../../chunks/mat3.js";import{c as a}from"../../../../chunks/mat3f32.js";import{t as o}from"../../../../chunks/vec2.js";import{c as i}from"../../../../chunks/vec2f32.js";import{TILE_SIZE as n}from"./definitions.js";import{TiledDisplayObject as h}from"./TiledDisplayObject.js";class m{acquire(s){return{refCount:1,version:-1,labelMat2d:a(),tileMat3:a(),dvs:a()}}release(s){}}class c extends h{constructor(s,t,r){super(s,t,r,n,n)}destroy(){super.destroy(),this._transforms&&c.TransformCache.release(this.key.hash)}setTransform(a,n){const h=n/(a.resolution*a.pixelRatio),m=this.transforms.tileMat3,[c,f]=a.toScreenNoRotation([0,0],[this.x,this.y]),l=this.width/this.rangeX*h,u=this.height/this.rangeY*h;r(m,l,0,0,0,u,0,c,f,1),e(this.transforms.dvs,a.displayViewMat3,m);const d=this.transforms.labelMat2d,p=a.getScreenTransform(d,n),j=i();o(j,[this.x,this.y],p),s(d,j),t(d,a.viewMat2d,d)}_createTransforms(){return c.TransformCache.acquire(this.key.hash)}}c.TransformCache=new m;export{c as WGLTile};
5
+ import{a as s,m as t}from"../../../../chunks/mat2d.js";import{c as r,m as e}from"../../../../chunks/mat3.js";import{c as a}from"../../../../chunks/mat3f32.js";import{t as o}from"../../../../chunks/vec2.js";import{c as i}from"../../../../chunks/vec2f32.js";import{TILE_SIZE as n}from"./definitions.js";import{TiledDisplayObject as h}from"./TiledDisplayObject.js";class m{acquire(s){return{refCount:1,version:-1,labelMat2d:a(),tileMat3:a(),dvs:a()}}release(s){}}class c extends h{constructor(s,t,r){super(s,t,r,n,n)}destroy(){super.destroy(),this._transforms&&c.TransformCache.release(this.key.hash)}setTransform(a,n){const h=n/(a.resolution*a.pixelRatio),m=this.transforms.tileMat3,[c,f]=a.toScreenNoRotation([0,0],[this.x,this.y]),l=this.width/this.rangeX*h,u=this.height/this.rangeY*h;r(m,l,0,0,0,u,0,c,f,1),e(this.transforms.dvs,a.displayViewMat3,m);const d=this.transforms.labelMat2d,p=a.getScreenTransform(d,n),j=i();o(j,[this.x,this.y],p),s(d,j),t(d,a.viewMat2d,d)}_createTransforms(){return c.TransformCache.acquire(this.key.hash)}}c.TransformCache=new m;export{c as WGLTile};