@arcgis/core 4.25.0-next.20220920 → 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 (460) 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/{8588cbecb8e808f451fe.js → 249e32af1f2d433fae4c.js} +1 -1
  5. package/assets/esri/core/workers/chunks/{5b16b30ac3166f33e81e.js → 26690f4ec1f3cb8099c2.js} +1 -1
  6. package/assets/esri/core/workers/chunks/{be93b0cef85665446944.js → 274b4cdf6c8d77e8a2e6.js} +1 -1
  7. package/assets/esri/core/workers/chunks/{d5650f455ce5ba15ad10.js → 2cae0ec5f60ab42a49aa.js} +1 -1
  8. package/assets/esri/core/workers/chunks/{f436c86f86236ea7ea04.js → 4641e10e0e8e9d257521.js} +1 -1
  9. package/assets/esri/core/workers/chunks/{7a45333de9ded92619c2.js → 466008f793c2e11e854c.js} +1 -1
  10. package/assets/esri/core/workers/chunks/{c9d655675552dcf6cef7.js → 4a699b41072ee88f0956.js} +1 -1
  11. package/assets/esri/core/workers/chunks/{14ea96e398f4842abe4e.js → 4fdd18f5cdaa0d82ebc1.js} +1 -1
  12. package/assets/esri/core/workers/chunks/{9662da3e1e37f3445186.js → 562b9619b8ee13734813.js} +1 -1
  13. package/assets/esri/core/workers/chunks/{8bab21bc6164a593278f.js → 771b92e524802de840ba.js} +1 -1
  14. package/assets/esri/core/workers/chunks/{4969b64dc17378d7781f.js → 7ce250cc6fbe68aef50d.js} +3 -3
  15. package/assets/esri/core/workers/chunks/{2c4938512dd726a177dd.js → 7fab18074b130b71a648.js} +1 -1
  16. package/assets/esri/core/workers/chunks/{f67357b3c6c591c9da5e.js → 872f1cb3596fb80e387f.js} +1 -1
  17. package/assets/esri/core/workers/chunks/{31de71018575457155e5.js → 8ee3da8677255b8c8709.js} +1 -1
  18. package/assets/esri/core/workers/chunks/{2e44aee22e70857b893c.js → 93631b10452b0e0189b3.js} +1 -1
  19. package/assets/esri/core/workers/chunks/{cb2dc84d972469445da6.js → 95cd9edca50ea163d50f.js} +1 -1
  20. package/assets/esri/core/workers/chunks/{d31bbb13af45ce8e45dc.js → acf9f753741b677afb44.js} +1 -1
  21. package/assets/esri/core/workers/chunks/{1455944edeba1560eb07.js → afdafa77f5ca1b9e3acc.js} +1 -1
  22. package/assets/esri/core/workers/chunks/{cf3e1ac63580bc495ea6.js → b4da35f1093f3731f9ac.js} +1 -1
  23. package/assets/esri/core/workers/chunks/bb0d86937faf0cd7d16d.js +1 -0
  24. package/assets/esri/core/workers/chunks/bf3e80023e156d5906c7.js +1 -0
  25. package/assets/esri/core/workers/chunks/{8ba83fee56dd4f306d87.js → c2a6ac7046134f725cf3.js} +1 -1
  26. package/assets/esri/core/workers/chunks/{5d3fabe66e1bce1b30fb.js → cc7569489b572b8b3b53.js} +1 -1
  27. package/assets/esri/core/workers/chunks/{fddd4ea487788e003fb1.js → d09f06eb4157a7c2c8ab.js} +1 -1
  28. package/assets/esri/core/workers/chunks/e064035f959d68e9603f.js +1 -0
  29. package/assets/esri/core/workers/chunks/{d92975e56a1290255252.js → e09df62cf35d636b0975.js} +1 -1
  30. package/assets/esri/core/workers/chunks/{674fa5b93704ef08c9e8.js → e0c763e05feb1c2093ba.js} +1 -1
  31. package/assets/esri/core/workers/chunks/{51289d2f5277af4023e9.js → ed33e019bc7775db2e50.js} +1 -1
  32. package/assets/esri/core/workers/chunks/ef95d6ab7b1c032ab4ad.js +1 -0
  33. package/assets/esri/core/workers/chunks/{169f4354a375db5de121.js → ffcbcb928b6cb8c596ad.js} +1 -1
  34. package/assets/esri/t9n/common_ar.json +1 -1
  35. package/assets/esri/t9n/common_bg.json +1 -1
  36. package/assets/esri/t9n/common_bs.json +1 -1
  37. package/assets/esri/t9n/common_ca.json +1 -1
  38. package/assets/esri/t9n/common_cs.json +1 -1
  39. package/assets/esri/t9n/common_da.json +1 -1
  40. package/assets/esri/t9n/common_de.json +1 -1
  41. package/assets/esri/t9n/common_el.json +1 -1
  42. package/assets/esri/t9n/common_es.json +1 -1
  43. package/assets/esri/t9n/common_et.json +1 -1
  44. package/assets/esri/t9n/common_fi.json +1 -1
  45. package/assets/esri/t9n/common_fr.json +1 -1
  46. package/assets/esri/t9n/common_he.json +1 -1
  47. package/assets/esri/t9n/common_hr.json +1 -1
  48. package/assets/esri/t9n/common_hu.json +1 -1
  49. package/assets/esri/t9n/common_id.json +1 -1
  50. package/assets/esri/t9n/common_it.json +1 -1
  51. package/assets/esri/t9n/common_ja.json +1 -1
  52. package/assets/esri/t9n/common_ko.json +1 -1
  53. package/assets/esri/t9n/common_lt.json +1 -1
  54. package/assets/esri/t9n/common_lv.json +1 -1
  55. package/assets/esri/t9n/common_nb.json +1 -1
  56. package/assets/esri/t9n/common_nl.json +1 -1
  57. package/assets/esri/t9n/common_pl.json +1 -1
  58. package/assets/esri/t9n/common_pt-BR.json +1 -1
  59. package/assets/esri/t9n/common_pt-PT.json +1 -1
  60. package/assets/esri/t9n/common_ro.json +1 -1
  61. package/assets/esri/t9n/common_ru.json +1 -1
  62. package/assets/esri/t9n/common_sk.json +1 -1
  63. package/assets/esri/t9n/common_sl.json +1 -1
  64. package/assets/esri/t9n/common_sr.json +1 -1
  65. package/assets/esri/t9n/common_sv.json +1 -1
  66. package/assets/esri/t9n/common_th.json +1 -1
  67. package/assets/esri/t9n/common_tr.json +1 -1
  68. package/assets/esri/t9n/common_uk.json +1 -1
  69. package/assets/esri/t9n/common_vi.json +1 -1
  70. package/assets/esri/t9n/common_zh-CN.json +1 -1
  71. package/assets/esri/t9n/common_zh-HK.json +1 -1
  72. package/assets/esri/t9n/common_zh-TW.json +1 -1
  73. package/assets/esri/widgets/Feature/t9n/Feature_ar.json +1 -1
  74. package/assets/esri/widgets/Feature/t9n/Feature_bg.json +1 -1
  75. package/assets/esri/widgets/Feature/t9n/Feature_bs.json +1 -1
  76. package/assets/esri/widgets/Feature/t9n/Feature_ca.json +1 -1
  77. package/assets/esri/widgets/Feature/t9n/Feature_cs.json +1 -1
  78. package/assets/esri/widgets/Feature/t9n/Feature_da.json +1 -1
  79. package/assets/esri/widgets/Feature/t9n/Feature_de.json +1 -1
  80. package/assets/esri/widgets/Feature/t9n/Feature_el.json +1 -1
  81. package/assets/esri/widgets/Feature/t9n/Feature_es.json +1 -1
  82. package/assets/esri/widgets/Feature/t9n/Feature_et.json +1 -1
  83. package/assets/esri/widgets/Feature/t9n/Feature_fi.json +1 -1
  84. package/assets/esri/widgets/Feature/t9n/Feature_fr.json +1 -1
  85. package/assets/esri/widgets/Feature/t9n/Feature_he.json +1 -1
  86. package/assets/esri/widgets/Feature/t9n/Feature_hr.json +1 -1
  87. package/assets/esri/widgets/Feature/t9n/Feature_hu.json +1 -1
  88. package/assets/esri/widgets/Feature/t9n/Feature_id.json +1 -1
  89. package/assets/esri/widgets/Feature/t9n/Feature_it.json +1 -1
  90. package/assets/esri/widgets/Feature/t9n/Feature_ja.json +1 -1
  91. package/assets/esri/widgets/Feature/t9n/Feature_ko.json +1 -1
  92. package/assets/esri/widgets/Feature/t9n/Feature_lt.json +1 -1
  93. package/assets/esri/widgets/Feature/t9n/Feature_lv.json +1 -1
  94. package/assets/esri/widgets/Feature/t9n/Feature_nb.json +1 -1
  95. package/assets/esri/widgets/Feature/t9n/Feature_nl.json +1 -1
  96. package/assets/esri/widgets/Feature/t9n/Feature_pl.json +1 -1
  97. package/assets/esri/widgets/Feature/t9n/Feature_pt-BR.json +1 -1
  98. package/assets/esri/widgets/Feature/t9n/Feature_pt-PT.json +1 -1
  99. package/assets/esri/widgets/Feature/t9n/Feature_ro.json +1 -1
  100. package/assets/esri/widgets/Feature/t9n/Feature_ru.json +1 -1
  101. package/assets/esri/widgets/Feature/t9n/Feature_sk.json +1 -1
  102. package/assets/esri/widgets/Feature/t9n/Feature_sl.json +1 -1
  103. package/assets/esri/widgets/Feature/t9n/Feature_sr.json +1 -1
  104. package/assets/esri/widgets/Feature/t9n/Feature_sv.json +1 -1
  105. package/assets/esri/widgets/Feature/t9n/Feature_th.json +1 -1
  106. package/assets/esri/widgets/Feature/t9n/Feature_tr.json +1 -1
  107. package/assets/esri/widgets/Feature/t9n/Feature_uk.json +1 -1
  108. package/assets/esri/widgets/Feature/t9n/Feature_vi.json +1 -1
  109. package/assets/esri/widgets/Feature/t9n/Feature_zh-CN.json +1 -1
  110. package/assets/esri/widgets/Feature/t9n/Feature_zh-HK.json +1 -1
  111. package/assets/esri/widgets/Feature/t9n/Feature_zh-TW.json +1 -1
  112. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ar.json +1 -1
  113. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_bg.json +1 -1
  114. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_bs.json +1 -1
  115. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ca.json +1 -1
  116. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_cs.json +1 -1
  117. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_da.json +1 -1
  118. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_de.json +1 -1
  119. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_el.json +1 -1
  120. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_es.json +1 -1
  121. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_et.json +1 -1
  122. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_fi.json +1 -1
  123. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_fr.json +1 -1
  124. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_he.json +1 -1
  125. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_hr.json +1 -1
  126. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_hu.json +1 -1
  127. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_id.json +1 -1
  128. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_it.json +1 -1
  129. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ja.json +1 -1
  130. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ko.json +1 -1
  131. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_lt.json +1 -1
  132. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_lv.json +1 -1
  133. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_nb.json +1 -1
  134. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_nl.json +1 -1
  135. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_pl.json +1 -1
  136. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_pt-BR.json +1 -1
  137. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_pt-PT.json +1 -1
  138. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ro.json +1 -1
  139. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ru.json +1 -1
  140. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_sk.json +1 -1
  141. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_sl.json +1 -1
  142. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_sr.json +1 -1
  143. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_sv.json +1 -1
  144. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_th.json +1 -1
  145. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_tr.json +1 -1
  146. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_uk.json +1 -1
  147. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_vi.json +1 -1
  148. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_zh-CN.json +1 -1
  149. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_zh-HK.json +1 -1
  150. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_zh-TW.json +1 -1
  151. package/assets/esri/widgets/Popup/t9n/Popup_ar.json +1 -1
  152. package/assets/esri/widgets/Popup/t9n/Popup_bg.json +1 -1
  153. package/assets/esri/widgets/Popup/t9n/Popup_bs.json +1 -1
  154. package/assets/esri/widgets/Popup/t9n/Popup_ca.json +1 -1
  155. package/assets/esri/widgets/Popup/t9n/Popup_cs.json +1 -1
  156. package/assets/esri/widgets/Popup/t9n/Popup_da.json +1 -1
  157. package/assets/esri/widgets/Popup/t9n/Popup_de.json +1 -1
  158. package/assets/esri/widgets/Popup/t9n/Popup_el.json +1 -1
  159. package/assets/esri/widgets/Popup/t9n/Popup_es.json +1 -1
  160. package/assets/esri/widgets/Popup/t9n/Popup_et.json +1 -1
  161. package/assets/esri/widgets/Popup/t9n/Popup_fi.json +1 -1
  162. package/assets/esri/widgets/Popup/t9n/Popup_fr.json +1 -1
  163. package/assets/esri/widgets/Popup/t9n/Popup_he.json +1 -1
  164. package/assets/esri/widgets/Popup/t9n/Popup_hr.json +1 -1
  165. package/assets/esri/widgets/Popup/t9n/Popup_hu.json +1 -1
  166. package/assets/esri/widgets/Popup/t9n/Popup_id.json +1 -1
  167. package/assets/esri/widgets/Popup/t9n/Popup_it.json +1 -1
  168. package/assets/esri/widgets/Popup/t9n/Popup_ja.json +1 -1
  169. package/assets/esri/widgets/Popup/t9n/Popup_ko.json +1 -1
  170. package/assets/esri/widgets/Popup/t9n/Popup_lt.json +1 -1
  171. package/assets/esri/widgets/Popup/t9n/Popup_lv.json +1 -1
  172. package/assets/esri/widgets/Popup/t9n/Popup_nb.json +1 -1
  173. package/assets/esri/widgets/Popup/t9n/Popup_nl.json +1 -1
  174. package/assets/esri/widgets/Popup/t9n/Popup_pl.json +1 -1
  175. package/assets/esri/widgets/Popup/t9n/Popup_pt-BR.json +1 -1
  176. package/assets/esri/widgets/Popup/t9n/Popup_pt-PT.json +1 -1
  177. package/assets/esri/widgets/Popup/t9n/Popup_ro.json +1 -1
  178. package/assets/esri/widgets/Popup/t9n/Popup_ru.json +1 -1
  179. package/assets/esri/widgets/Popup/t9n/Popup_sk.json +1 -1
  180. package/assets/esri/widgets/Popup/t9n/Popup_sl.json +1 -1
  181. package/assets/esri/widgets/Popup/t9n/Popup_sr.json +1 -1
  182. package/assets/esri/widgets/Popup/t9n/Popup_sv.json +1 -1
  183. package/assets/esri/widgets/Popup/t9n/Popup_th.json +1 -1
  184. package/assets/esri/widgets/Popup/t9n/Popup_tr.json +1 -1
  185. package/assets/esri/widgets/Popup/t9n/Popup_uk.json +1 -1
  186. package/assets/esri/widgets/Popup/t9n/Popup_vi.json +1 -1
  187. package/assets/esri/widgets/Popup/t9n/Popup_zh-CN.json +1 -1
  188. package/assets/esri/widgets/Popup/t9n/Popup_zh-HK.json +1 -1
  189. package/assets/esri/widgets/Popup/t9n/Popup_zh-TW.json +1 -1
  190. package/assets/esri/widgets/support/t9n/DatePicker_ar.json +1 -1
  191. package/assets/esri/widgets/support/t9n/DatePicker_bg.json +1 -1
  192. package/assets/esri/widgets/support/t9n/DatePicker_bs.json +1 -1
  193. package/assets/esri/widgets/support/t9n/DatePicker_ca.json +1 -1
  194. package/assets/esri/widgets/support/t9n/DatePicker_cs.json +1 -1
  195. package/assets/esri/widgets/support/t9n/DatePicker_da.json +1 -1
  196. package/assets/esri/widgets/support/t9n/DatePicker_de.json +1 -1
  197. package/assets/esri/widgets/support/t9n/DatePicker_el.json +1 -1
  198. package/assets/esri/widgets/support/t9n/DatePicker_es.json +1 -1
  199. package/assets/esri/widgets/support/t9n/DatePicker_et.json +1 -1
  200. package/assets/esri/widgets/support/t9n/DatePicker_fi.json +1 -1
  201. package/assets/esri/widgets/support/t9n/DatePicker_fr.json +1 -1
  202. package/assets/esri/widgets/support/t9n/DatePicker_he.json +1 -1
  203. package/assets/esri/widgets/support/t9n/DatePicker_hr.json +1 -1
  204. package/assets/esri/widgets/support/t9n/DatePicker_hu.json +1 -1
  205. package/assets/esri/widgets/support/t9n/DatePicker_id.json +1 -1
  206. package/assets/esri/widgets/support/t9n/DatePicker_it.json +1 -1
  207. package/assets/esri/widgets/support/t9n/DatePicker_ja.json +1 -1
  208. package/assets/esri/widgets/support/t9n/DatePicker_ko.json +1 -1
  209. package/assets/esri/widgets/support/t9n/DatePicker_lt.json +1 -1
  210. package/assets/esri/widgets/support/t9n/DatePicker_lv.json +1 -1
  211. package/assets/esri/widgets/support/t9n/DatePicker_nb.json +1 -1
  212. package/assets/esri/widgets/support/t9n/DatePicker_nl.json +1 -1
  213. package/assets/esri/widgets/support/t9n/DatePicker_pl.json +1 -1
  214. package/assets/esri/widgets/support/t9n/DatePicker_pt-BR.json +1 -1
  215. package/assets/esri/widgets/support/t9n/DatePicker_pt-PT.json +1 -1
  216. package/assets/esri/widgets/support/t9n/DatePicker_ro.json +1 -1
  217. package/assets/esri/widgets/support/t9n/DatePicker_ru.json +1 -1
  218. package/assets/esri/widgets/support/t9n/DatePicker_sk.json +1 -1
  219. package/assets/esri/widgets/support/t9n/DatePicker_sl.json +1 -1
  220. package/assets/esri/widgets/support/t9n/DatePicker_sr.json +1 -1
  221. package/assets/esri/widgets/support/t9n/DatePicker_sv.json +1 -1
  222. package/assets/esri/widgets/support/t9n/DatePicker_th.json +1 -1
  223. package/assets/esri/widgets/support/t9n/DatePicker_tr.json +1 -1
  224. package/assets/esri/widgets/support/t9n/DatePicker_uk.json +1 -1
  225. package/assets/esri/widgets/support/t9n/DatePicker_vi.json +1 -1
  226. package/assets/esri/widgets/support/t9n/DatePicker_zh-CN.json +1 -1
  227. package/assets/esri/widgets/support/t9n/DatePicker_zh-HK.json +1 -1
  228. package/assets/esri/widgets/support/t9n/DatePicker_zh-TW.json +1 -1
  229. package/assets/esri/widgets/support/t9n/TimePicker_ar.json +1 -1
  230. package/assets/esri/widgets/support/t9n/TimePicker_bg.json +1 -1
  231. package/assets/esri/widgets/support/t9n/TimePicker_bs.json +1 -1
  232. package/assets/esri/widgets/support/t9n/TimePicker_ca.json +1 -1
  233. package/assets/esri/widgets/support/t9n/TimePicker_cs.json +1 -1
  234. package/assets/esri/widgets/support/t9n/TimePicker_da.json +1 -1
  235. package/assets/esri/widgets/support/t9n/TimePicker_de.json +1 -1
  236. package/assets/esri/widgets/support/t9n/TimePicker_el.json +1 -1
  237. package/assets/esri/widgets/support/t9n/TimePicker_es.json +1 -1
  238. package/assets/esri/widgets/support/t9n/TimePicker_et.json +1 -1
  239. package/assets/esri/widgets/support/t9n/TimePicker_fi.json +1 -1
  240. package/assets/esri/widgets/support/t9n/TimePicker_fr.json +1 -1
  241. package/assets/esri/widgets/support/t9n/TimePicker_he.json +1 -1
  242. package/assets/esri/widgets/support/t9n/TimePicker_hr.json +1 -1
  243. package/assets/esri/widgets/support/t9n/TimePicker_hu.json +1 -1
  244. package/assets/esri/widgets/support/t9n/TimePicker_id.json +1 -1
  245. package/assets/esri/widgets/support/t9n/TimePicker_it.json +1 -1
  246. package/assets/esri/widgets/support/t9n/TimePicker_ja.json +1 -1
  247. package/assets/esri/widgets/support/t9n/TimePicker_ko.json +1 -1
  248. package/assets/esri/widgets/support/t9n/TimePicker_lt.json +1 -1
  249. package/assets/esri/widgets/support/t9n/TimePicker_lv.json +1 -1
  250. package/assets/esri/widgets/support/t9n/TimePicker_nb.json +1 -1
  251. package/assets/esri/widgets/support/t9n/TimePicker_nl.json +1 -1
  252. package/assets/esri/widgets/support/t9n/TimePicker_pl.json +1 -1
  253. package/assets/esri/widgets/support/t9n/TimePicker_pt-BR.json +1 -1
  254. package/assets/esri/widgets/support/t9n/TimePicker_pt-PT.json +1 -1
  255. package/assets/esri/widgets/support/t9n/TimePicker_ro.json +1 -1
  256. package/assets/esri/widgets/support/t9n/TimePicker_ru.json +1 -1
  257. package/assets/esri/widgets/support/t9n/TimePicker_sk.json +1 -1
  258. package/assets/esri/widgets/support/t9n/TimePicker_sl.json +1 -1
  259. package/assets/esri/widgets/support/t9n/TimePicker_sr.json +1 -1
  260. package/assets/esri/widgets/support/t9n/TimePicker_sv.json +1 -1
  261. package/assets/esri/widgets/support/t9n/TimePicker_th.json +1 -1
  262. package/assets/esri/widgets/support/t9n/TimePicker_tr.json +1 -1
  263. package/assets/esri/widgets/support/t9n/TimePicker_uk.json +1 -1
  264. package/assets/esri/widgets/support/t9n/TimePicker_vi.json +1 -1
  265. package/assets/esri/widgets/support/t9n/TimePicker_zh-CN.json +1 -1
  266. package/assets/esri/widgets/support/t9n/TimePicker_zh-HK.json +1 -1
  267. package/assets/esri/widgets/support/t9n/TimePicker_zh-TW.json +1 -1
  268. package/chunks/Compositing.glsl.js +4 -19
  269. package/chunks/HUDCompositing.glsl.js +7 -0
  270. package/chunks/Laserlines.glsl.js +5 -5
  271. package/chunks/OITCompositing.glsl.js +13 -0
  272. package/chunks/OverlayCompositing.glsl.js +8 -0
  273. package/chunks/Precipitation.glsl.js +1 -1
  274. package/chunks/ShadowHighlight.glsl.js +1 -1
  275. package/chunks/boundedPlane.js +1 -1
  276. package/chunks/cameraUtilsPlanar.js +1 -1
  277. package/chunks/cameraUtilsSpherical.js +1 -1
  278. package/chunks/mat3.js +1 -1
  279. package/chunks/quat.js +1 -1
  280. package/chunks/quat2.js +1 -1
  281. package/chunks/quatf64.js +1 -1
  282. package/chunks/sphere.js +1 -1
  283. package/chunks/vec3.js +1 -1
  284. package/chunks/vec3f32.js +1 -1
  285. package/chunks/vec4f64.js +1 -1
  286. package/core/VectorStack.js +1 -1
  287. package/core/libs/gl-matrix-2/factories/quatf64.js +1 -1
  288. package/core/libs/gl-matrix-2/factories/vec3f32.js +1 -1
  289. package/core/libs/gl-matrix-2/factories/vec4f64.js +1 -1
  290. package/core/libs/gl-matrix-2/math/mat3.js +1 -1
  291. package/core/libs/gl-matrix-2/math/quat.js +1 -1
  292. package/core/libs/gl-matrix-2/math/vec3.js +1 -1
  293. package/core/perspectiveUtils.js +1 -1
  294. package/geohash/GeohashTree.js +1 -1
  295. package/geometry/support/MeshTransform.js +1 -1
  296. package/geometry/support/axisAngle.js +1 -1
  297. package/geometry/support/axisAngleDegrees.js +1 -1
  298. package/geometry/support/lineSegment.js +1 -1
  299. package/geometry/support/meshUtils/exporters/gltf/gltf.js +1 -1
  300. package/geometry/support/meshUtils/exporters/gltf/node.js +1 -1
  301. package/geometry/support/meshUtils/georeference.js +1 -1
  302. package/geometry/support/meshUtils/loadGLTFMesh.js +1 -1
  303. package/geometry/support/meshUtils/projection.js +1 -1
  304. package/geometry/support/meshUtils/rotate.js +1 -1
  305. package/geometry/support/plane.js +1 -1
  306. package/interfaces.d.ts +70 -0
  307. package/layers/buildingSublayers/BuildingComponentSublayer.js +1 -1
  308. package/layers/graphics/featureConversionUtils.js +1 -1
  309. package/layers/mixins/EditBusLayer.js +1 -1
  310. package/layers/support/AggregateField.js +1 -1
  311. package/layers/support/ControlPointsGeoreference.js +1 -1
  312. package/layers/support/OutStatistic.js +1 -1
  313. package/layers/support/VoxelVolume.js +1 -1
  314. package/layers/support/voxelPlaneUtils.js +1 -1
  315. package/package.json +1 -1
  316. package/rest/support/AggregateFeatureSet.js +5 -0
  317. package/support/revision.js +1 -1
  318. package/views/2d/ViewState.js +1 -1
  319. package/views/2d/engine/flow/FlowDisplayObject.js +1 -1
  320. package/views/2d/engine/imagery/RasterVFTile.js +1 -1
  321. package/views/2d/engine/vectorTiles/VectorTile.js +1 -1
  322. package/views/2d/engine/webgl/OverlayContainer.js +1 -1
  323. package/views/2d/engine/webgl/TiledDisplayObject.js +1 -1
  324. package/views/2d/engine/webgl/WGLTile.js +1 -1
  325. package/views/2d/engine/webgl/WorldExtentClipRenderer.js +1 -1
  326. package/views/2d/layers/FeatureLayerView2D.js +1 -1
  327. package/views/2d/layers/features/controllers/FeatureController2D.js +1 -1
  328. package/views/2d/layers/features/schemaUtils.js +1 -1
  329. package/views/2d/layers/features/support/BinStore.js +1 -1
  330. package/views/2d/layers/features/support/ClusterStore.js +1 -1
  331. package/views/2d/layers/graphics/GraphicBoundsRenderer.js +1 -1
  332. package/views/2d/layers/support/DebugOverlay.js +1 -1
  333. package/views/2d/layers/support/FeatureLayerProxy.js +1 -1
  334. package/views/2d/layers/support/clusterUtils.js +1 -1
  335. package/views/3d/analysis/AreaMeasurement/support/MeasurementData.js +1 -1
  336. package/views/3d/analysis/Dimensioning/LengthDimensionSubTool.js +1 -1
  337. package/views/3d/analysis/Dimensioning/LengthDimensionVisualization.js +1 -1
  338. package/views/3d/analysis/Dimensioning/lengthDimensionUtils.js +1 -1
  339. package/views/3d/analysis/LineOfSight/LineOfSightController.js +1 -1
  340. package/views/3d/analysis/Slice/SliceTool.js +1 -1
  341. package/views/3d/analysis/Slice/sliceToolConfig.js +1 -1
  342. package/views/3d/analysis/Slice/sliceToolUtils.js +1 -1
  343. package/views/3d/camera/constraintUtils/distance.js +1 -1
  344. package/views/3d/camera/constraintUtils/tilt.js +1 -1
  345. package/views/3d/environment/PanoramicAtmosphere.js +1 -1
  346. package/views/3d/environment/SceneViewEnvironmentManager.js +1 -1
  347. package/views/3d/environment/SimpleAtmosphere.js +1 -1
  348. package/views/3d/glTF/internal/Resource.js +1 -1
  349. package/views/3d/interactive/Manipulator3D.js +1 -1
  350. package/views/3d/interactive/editingTools/reshapeGraphic/edgeOffsetUtils.js +1 -1
  351. package/views/3d/interactive/editingTools/settings.js +1 -1
  352. package/views/3d/interactive/editingTools/transformGraphic/ExtentTransformTool.js +1 -1
  353. package/views/3d/interactive/editingTools/transformGraphic/GraphicScaleRotateTransform.js +1 -1
  354. package/views/3d/interactive/manipulatorUtils.js +1 -1
  355. package/views/3d/interactive/visualElements/ExtendedLineVisualElement.js +1 -1
  356. package/views/3d/interactive/visualElements/LineVisualElement.js +1 -1
  357. package/views/3d/interactive/visualElements/ParallelLineVisualElement.js +1 -1
  358. package/views/3d/layers/BuildingComponentSublayerView3D.js +1 -1
  359. package/views/3d/layers/I3SMeshView3D.js +1 -1
  360. package/views/3d/layers/PointCloudLayerView3D.js +1 -1
  361. package/views/3d/layers/PointCloudWorker.js +1 -1
  362. package/views/3d/layers/SceneLayerGraphicsView3D.js +1 -1
  363. package/views/3d/layers/graphics/Deconflictor.js +1 -1
  364. package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
  365. package/views/3d/layers/graphics/Graphics3DExtrudeSymbolLayer.js +1 -1
  366. package/views/3d/layers/graphics/Graphics3DFeatureProcessor.js +1 -1
  367. package/views/3d/layers/graphics/Graphics3DLodInstanceGraphicLayer.js +1 -1
  368. package/views/3d/layers/graphics/Graphics3DObject3DGraphicLayer.js +1 -1
  369. package/views/3d/layers/graphics/Graphics3DObjectSymbolLayer.js +1 -1
  370. package/views/3d/layers/graphics/Graphics3DPathSymbolLayer.js +1 -1
  371. package/views/3d/layers/graphics/objectResourceUtils.js +1 -1
  372. package/views/3d/layers/i3s/I3SElevationProvider.js +1 -1
  373. package/views/3d/layers/i3s/I3SIndex.js +1 -1
  374. package/views/3d/layers/i3s/I3SUtil.js +1 -1
  375. package/views/3d/layers/i3s/I3SViewportQueries.js +1 -1
  376. package/views/3d/layers/i3s/PointRenderer.js +1 -1
  377. package/views/3d/layers/support/FeatureTileVisibility3D.js +1 -1
  378. package/views/3d/layers/support/I3STreeDebugger.js +1 -1
  379. package/views/3d/layers/support/edgeUtils.js +1 -1
  380. package/views/3d/layers/support/uvUtils.js +1 -1
  381. package/views/3d/state/Frustum.js +1 -1
  382. package/views/3d/state/controllers/GamepadKeyboardController.js +1 -1
  383. package/views/3d/state/controllers/RotateController.js +1 -1
  384. package/views/3d/state/controllers/global/PinchAndPanController.js +1 -1
  385. package/views/3d/state/controllers/local/PinchAndPanController.js +1 -1
  386. package/views/3d/state/controllers/local/ZoomController.js +1 -1
  387. package/views/3d/state/controllers/momentum/ZoomPlanarMomentumController.js +1 -1
  388. package/views/3d/state/utils/navigationUtils.js +1 -1
  389. package/views/3d/support/FrustumExtentIntersection.js +1 -1
  390. package/views/3d/support/orientedBoundingBox.js +1 -1
  391. package/views/3d/support/pointsOfInterest/CameraOnSurface.js +1 -1
  392. package/views/3d/support/pointsOfInterest/CenterOnSurface.js +1 -1
  393. package/views/3d/support/pointsOfInterest/PointsOfInterest.js +1 -1
  394. package/views/3d/support/sunUtils.js +1 -1
  395. package/views/3d/terrain/OverlayRenderer.js +1 -1
  396. package/views/3d/terrain/PatchRenderData.js +1 -1
  397. package/views/3d/terrain/TerrainSurface.js +1 -1
  398. package/views/3d/terrain/Tile.js +1 -1
  399. package/views/3d/webgl-engine/collections/Component/ComponentObjectCollection.js +1 -1
  400. package/views/3d/webgl-engine/collections/Component/DepthRange.js +1 -1
  401. package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
  402. package/views/3d/webgl-engine/core/renderPasses/RenderPassManager.js +1 -1
  403. package/views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js +1 -1
  404. package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexPosition.glsl.js +2 -2
  405. package/views/3d/webgl-engine/core/shaderTechnique/ShaderTechniqueRepository.js +1 -1
  406. package/views/3d/webgl-engine/core/util/TwoVectorPosition.js +1 -1
  407. package/views/3d/webgl-engine/lib/Camera.js +1 -1
  408. package/views/3d/webgl-engine/lib/CompositingHelper.js +1 -1
  409. package/views/3d/webgl-engine/lib/GeometryRecord.js +1 -1
  410. package/views/3d/webgl-engine/lib/GeometryUtil.js +1 -1
  411. package/views/3d/webgl-engine/lib/Highlight.js +1 -1
  412. package/views/3d/webgl-engine/lib/Intersector.js +1 -1
  413. package/views/3d/webgl-engine/lib/Object3D.js +1 -1
  414. package/views/3d/webgl-engine/lib/ObjectAndLayerIdRenderHelper.js +1 -1
  415. package/views/3d/webgl-engine/lib/OffscreenRendering.js +1 -1
  416. package/views/3d/webgl-engine/lib/RenderGeometry.js +1 -1
  417. package/views/3d/webgl-engine/lib/ShadowMap.js +1 -1
  418. package/views/3d/webgl-engine/lib/depthRangeUtils.js +1 -1
  419. package/views/3d/webgl-engine/lib/edgeRendering/EdgeRenderer.js +1 -1
  420. package/views/3d/webgl-engine/lib/edgeRendering/EdgeView.js +1 -1
  421. package/views/3d/webgl-engine/lib/edgeRendering/edgePreprocessing.js +1 -1
  422. package/views/3d/webgl-engine/lib/lodRendering/InstanceData.js +1 -1
  423. package/views/3d/webgl-engine/lib/lodRendering/InstanceOctree.js +1 -1
  424. package/views/3d/webgl-engine/lib/lodRendering/LodRenderer.js +1 -1
  425. package/views/3d/webgl-engine/lib/pathGeometryUtils.js +1 -1
  426. package/views/3d/webgl-engine/lib/verticalOffsetUtils.js +1 -1
  427. package/views/3d/webgl-engine/lighting/SphericalHarmonics.js +1 -1
  428. package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
  429. package/views/3d/webgl-engine/materials/LineMarkerMaterial.js +1 -1
  430. package/views/3d/webgl-engine/materials/MeasurementArrowMaterial.js +1 -1
  431. package/views/3d/webgl-engine/materials/NativeLineMaterial.js +1 -1
  432. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  433. package/views/3d/webgl-engine/shaders/Compositing.glsl.js +1 -1
  434. package/views/3d/webgl-engine/shaders/CompositingTechnique.js +1 -1
  435. package/views/3d/webgl-engine/shaders/CompositingTechniqueConfiguration.js +1 -1
  436. package/views/3d/webgl-engine/shaders/HUDCompositing.glsl.js +5 -0
  437. package/views/3d/webgl-engine/shaders/HUDCompositingTechnique.js +5 -0
  438. package/views/3d/webgl-engine/shaders/OITCompositing.glsl.js +5 -0
  439. package/views/3d/webgl-engine/shaders/OITCompositingTechnique.js +5 -0
  440. package/views/3d/webgl-engine/shaders/OverlayCompositing.glsl.js +5 -0
  441. package/views/3d/webgl-engine/shaders/OverlayCompositingTechnique.js +5 -0
  442. package/views/draw/support/surfaceCoordinateSystems.js +1 -1
  443. package/views/interactive/coordinateHelper.js +1 -1
  444. package/views/interactive/editGeometry/operations/OffsetEdgeVertex.js +1 -1
  445. package/views/interactive/editGeometry/support/editPlaneUtils.js +1 -1
  446. package/views/interactive/snapping/RightAngleSnapper.js +1 -1
  447. package/views/interactive/snapping/featureSources/sceneLayerSource/SceneLayerSnappingSourceWorker.js +1 -1
  448. package/views/layers/FeatureLayerView.js +1 -1
  449. package/views/navigation/PanSphericalMomentumEstimator.js +1 -1
  450. package/views/support/Scheduler.js +1 -1
  451. package/views/support/euclideanAreaMeasurementUtils.js +1 -1
  452. package/views/support/geometry3dUtils.js +1 -1
  453. package/widgets/ElevationProfile/support/ProfileLines3D.js +1 -1
  454. package/widgets/ElevationProfile/support/constants.js +1 -1
  455. package/widgets/Feature/FeatureRelationship/FeatureRelationshipViewModel.js +1 -1
  456. package/widgets/Feature/FeatureRelationship.js +1 -1
  457. package/assets/esri/core/workers/chunks/0059699bf824f851d51c.js +0 -1
  458. package/assets/esri/core/workers/chunks/36dd5654df5c7f00406d.js +0 -1
  459. package/assets/esri/core/workers/chunks/de128d8a643b4297940b.js +0 -1
  460. package/assets/esri/core/workers/chunks/e00327925ca82b63fded.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"../../../../core/Logger.js";import{isSome as t,isNone as r}from"../../../../core/maybe.js";import{createRenderScreenPointArray3 as s}from"../../../../core/screenUtils.js";import{c as i}from"../../../../chunks/vec2.js";import{s as o,b as n,e as a,g as c,a as l,c as u,l as p,i as f,m}from"../../../../chunks/vec3.js";import{c as h}from"../../../../chunks/vec3f64.js";import{O as d}from"../../../../chunks/vec4f64.js";import{PlaneIndex as g}from"../../../../geometry/support/frustum.js";import{create as _,distance2 as A,fromPoints as O,closestLineSegmentPoint as T}from"../../../../geometry/support/lineSegment.js";import{create as S,fromPoints as j,signedDistance as P,normal as y}from"../../../../geometry/support/plane.js";import{BufferViewVec3f as b,BufferViewVec2f as x}from"../../../../geometry/support/buffer/BufferView.js";import{ShaderOutput as v}from"../core/shaderLibrary/ShaderOutput.js";import{computeAttachmentOriginLines as R}from"../lib/geometryDataUtils.js";import N from"../lib/GLMaterial.js";import{Material as E,MaterialParameters as I}from"../lib/Material.js";import{RenderSlot as L}from"../lib/RenderSlot.js";import{isTranslationMatrix as w}from"../lib/Util.js";import{VertexAttribute as C}from"../lib/VertexAttribute.js";import{writeDefaultAttributes as U}from"./internal/bufferWriterUtils.js";import{PositionColorLayout as B,PositionLayout as V,DefaultBufferWriter as M}from"./internal/DefaultBufferWriter.js";import{intersectDrapedRenderLineGeometry as D}from"./internal/MaterialUtil.js";import{isInstanceHidden as k}from"./renderers/utils.js";import{NativeLineTechnique as q}from"../shaders/NativeLineTechnique.js";import{NativeLineTechniqueConfiguration as G}from"../shaders/NativeLineTechniqueConfiguration.js";var X;!function(e){e[e.START=0]="START",e[e.END=1]="END"}(X||(X={}));class F extends E{constructor(e){super(e,new Q),this._configuration=new G}getConfiguration(e,r){this._configuration.output=e,this._configuration.hasSlicePlane=this.parameters.hasSlicePlane,this._configuration.hasVertexColors=this.parameters.hasVertexColors,this._configuration.transparent=this.parameters.color[3]<1||this.parameters.width<1,this._configuration.draped=r.slot===L.DRAPED_MATERIAL;const s=t(this.parameters.stipplePattern);return this._configuration.stippleEnabled=s,this._configuration.stippleOffColorEnabled=s&&t(this.parameters.stippleOffColor),this._configuration.hasOccludees=this.parameters.hasOccludees,this._configuration.stipplePreferContinuous=this.parameters.stipplePreferContinuous,this._configuration}intersect(e,r,s,i,o,n,a,c,l){t(l)?D(e,i,l,n,1,a):this._intersectLineGeometry(e,r,s,i,a)}_intersectLineGeometry(t,r,s,m,h){if(!m.options.selectionMode||k(r))return;if(!w(s))return void e.getLogger("esri.views.3d.webgl-engine.materials.NativeLineMaterial").error("intersection assumes a translation-only matrix");const d=t.vertexAttributes.get(C.POSITION).data,_=m.camera,S=ie;i(S,m.point);const b=2;o(oe[0],S[0]-b,S[1]+b,0),o(oe[1],S[0]+b,S[1]+b,0),o(oe[2],S[0]+b,S[1]-b,0),o(oe[3],S[0]-b,S[1]-b,0);for(let e=0;e<4;e++)if(!_.unprojectFromRenderScreen(oe[e],ne[e]))return;j(_.eye,ne[0],ne[1],ae),j(_.eye,ne[1],ne[2],ce),j(_.eye,ne[2],ne[3],le),j(_.eye,ne[3],ne[0],ue);let x=Number.MAX_VALUE,v=0;for(let e=0;e<d.length-5;e+=3){if(z[0]=d[e]+s[12],z[1]=d[e+1]+s[13],z[2]=d[e+2]+s[14],J[0]=d[e+3]+s[12],J[1]=d[e+4]+s[13],J[2]=d[e+5]+s[14],P(ae,z)<0&&P(ae,J)<0||P(ce,z)<0&&P(ce,J)<0||P(le,z)<0&&P(le,J)<0||P(ue,z)<0&&P(ue,J)<0)continue;if(_.projectToRenderScreen(z,Z),_.projectToRenderScreen(J,$),Z[2]<0&&$[2]>0){n(K,z,J);const e=_.frustum,t=-P(e[g.NEAR],z)/a(K,y(e[g.NEAR]));c(K,K,t),l(z,z,K),_.projectToRenderScreen(z,Z)}else if(Z[2]>0&&$[2]<0){n(K,J,z);const e=_.frustum,t=-P(e[g.NEAR],J)/a(K,y(e[g.NEAR]));c(K,K,t),l(J,J,K),_.projectToRenderScreen(J,$)}else if(Z[2]<0&&$[2]<0)continue;Z[2]=0,$[2]=0;const t=A(O(Z,$,re),S);t<x&&(x=t,u(ee,z),u(te,J),v=e/3)}const R=m.rayBegin,N=m.rayEnd;if(x<b*b){let e=Number.MAX_VALUE;if(T(O(ee,te,re),O(R,N,se),Y)){n(Y,Y,R);const t=p(Y);c(Y,Y,1/t),e=t/f(R,N)}h(e,Y,v,!1)}}computeAttachmentOrigin(e,t){const r=e.vertexAttributes;if(!r)return!1;const s=r.get(C.POSITION);return R(s,null,!1,t)}requiresSlot(e,t){return!(t!==v.Color&&t!==v.Highlight&&t!==v.ObjectAndLayerIdColor||e!==L.OPAQUE_MATERIAL&&e!==L.DRAPED_MATERIAL)}createGLMaterial(e){return new W(e)}createBufferWriter(){const e=this.parameters.hasVertexColors?B:V;return r(this.parameters.stipplePattern)?new M(e):new H(e.clone().vec3f(C.AUXPOS1).vec2f(C.UV0))}}class W extends N{constructor(){super(...arguments),this._stipplePattern=null}dispose(){super.dispose(),this._stippleTextureRepository.release(this._stipplePattern),this._stipplePattern=null}_updateOccludeeState(e){e.hasOccludees!==this._material.parameters.hasOccludees&&this._material.setParameters({hasOccludees:e.hasOccludees})}beginSlot(e){this._output===v.Color&&this._updateOccludeeState(e);const t=this._material.parameters.stipplePattern;return this._stipplePattern!==t&&(this._material.setParameters(this._stippleTextureRepository.swap(this._stipplePattern,t)),this._stipplePattern=t),this.ensureTechnique(q,e)}}class H{constructor(e){this.vertexBufferLayout=e}allocate(e){return this.vertexBufferLayout.createBuffer(e)}elementCount(e){return e.indices.get(C.POSITION).length}write(e,t,r,s){U(t,this.vertexBufferLayout,e.transformation,e.invTranspTransformation,r,s),this._writeAuxpos1(e,t,r,s),this._writeUV0(e,t,r,s)}_writeAuxpos1(e,t,r,s){const i=r.getField(C.AUXPOS1,b),o=t.indices.get(C.POSITION),n=t.vertexAttributes.get(C.POSITION).data,a=e.transformation,c=i.typedBufferStride,l=i.typedBuffer;s*=c;for(let u=0;u<o.length-1;u+=2)for(const e of[1,0]){const t=3*o[u+e],r=n[t],i=n[t+1],p=n[t+2],f=a[0]*r+a[4]*i+a[8]*p+a[12],m=a[1]*r+a[5]*i+a[9]*p+a[13],h=a[2]*r+a[6]*i+a[10]*p+a[14];l[s]=f,l[s+1]=m,l[s+2]=h,s+=c}}_writeUV0(e,t,r,s){const i=r.getField(C.UV0,x),n=t.indices.get(C.POSITION),a=t.vertexAttributes.get(C.POSITION).data,c=t.vertexAttributes.get(C.DISTANCETOSTART)?.data,l=e.transformation,p=i.typedBufferStride,h=i.typedBuffer;let d=0;h[s*=p]=X.START,h[s+1]=d,s+=p;const g=3*n[0],_=o(z,a[g],a[g+1],a[g+2]);l&&m(_,_,l);const A=J,O=n.length-1;let T=1;const S=c?(e,t,r)=>d=c[r]:(e,t,r)=>d+=f(e,t);for(let f=1;f<O;f+=2){const e=3*n[f];o(A,a[e],a[e+1],a[e+2]),l&&m(A,A,l),S(_,A,T++);for(let t=0;t<2;++t)h[s]=1-t,h[s+1]=d,s+=p;u(_,A)}const j=3*n[O];o(A,a[j],a[j+1],a[j+2]),l&&m(A,A,l),S(_,A,T),h[s]=X.END,h[s+1]=d}}class Q extends I{constructor(){super(...arguments),this.color=d,this.hasVertexColors=!1,this.hasSlicePlane=!1,this.width=1,this.stipplePreferContinuous=!0,this.hasOccludees=!1,this.stippleTexture=null}}const z=h(),J=h(),K=h(),Y=h(),Z=s(),$=s(),ee=h(),te=h(),re=_(),se=_(),ie=h(),oe=[s(),s(),s(),s()],ne=[h(),h(),h(),h()],ae=S(),ce=S(),le=S(),ue=S();export{F as NativeLineMaterial,Q as Parameters};
5
+ import e from"../../../../core/Logger.js";import{isSome as t,isNone as r}from"../../../../core/maybe.js";import{createRenderScreenPointArray3 as s}from"../../../../core/screenUtils.js";import{c as i}from"../../../../chunks/vec2.js";import{s as o,b as n,e as a,g as c,a as l,c as u,l as p,i as f,v as m}from"../../../../chunks/vec3.js";import{c as h}from"../../../../chunks/vec3f64.js";import{O as d}from"../../../../chunks/vec4f64.js";import{PlaneIndex as g}from"../../../../geometry/support/frustum.js";import{create as _,distance2 as A,fromPoints as O,closestLineSegmentPoint as T}from"../../../../geometry/support/lineSegment.js";import{create as S,fromPoints as j,signedDistance as P,normal as y}from"../../../../geometry/support/plane.js";import{BufferViewVec3f as b,BufferViewVec2f as x}from"../../../../geometry/support/buffer/BufferView.js";import{ShaderOutput as v}from"../core/shaderLibrary/ShaderOutput.js";import{computeAttachmentOriginLines as R}from"../lib/geometryDataUtils.js";import N from"../lib/GLMaterial.js";import{Material as E,MaterialParameters as I}from"../lib/Material.js";import{RenderSlot as L}from"../lib/RenderSlot.js";import{isTranslationMatrix as w}from"../lib/Util.js";import{VertexAttribute as C}from"../lib/VertexAttribute.js";import{writeDefaultAttributes as U}from"./internal/bufferWriterUtils.js";import{PositionColorLayout as B,PositionLayout as V,DefaultBufferWriter as M}from"./internal/DefaultBufferWriter.js";import{intersectDrapedRenderLineGeometry as D}from"./internal/MaterialUtil.js";import{isInstanceHidden as k}from"./renderers/utils.js";import{NativeLineTechnique as q}from"../shaders/NativeLineTechnique.js";import{NativeLineTechniqueConfiguration as G}from"../shaders/NativeLineTechniqueConfiguration.js";var X;!function(e){e[e.START=0]="START",e[e.END=1]="END"}(X||(X={}));class F extends E{constructor(e){super(e,new Q),this._configuration=new G}getConfiguration(e,r){this._configuration.output=e,this._configuration.hasSlicePlane=this.parameters.hasSlicePlane,this._configuration.hasVertexColors=this.parameters.hasVertexColors,this._configuration.transparent=this.parameters.color[3]<1||this.parameters.width<1,this._configuration.draped=r.slot===L.DRAPED_MATERIAL;const s=t(this.parameters.stipplePattern);return this._configuration.stippleEnabled=s,this._configuration.stippleOffColorEnabled=s&&t(this.parameters.stippleOffColor),this._configuration.hasOccludees=this.parameters.hasOccludees,this._configuration.stipplePreferContinuous=this.parameters.stipplePreferContinuous,this._configuration}intersect(e,r,s,i,o,n,a,c,l){t(l)?D(e,i,l,n,1,a):this._intersectLineGeometry(e,r,s,i,a)}_intersectLineGeometry(t,r,s,m,h){if(!m.options.selectionMode||k(r))return;if(!w(s))return void e.getLogger("esri.views.3d.webgl-engine.materials.NativeLineMaterial").error("intersection assumes a translation-only matrix");const d=t.vertexAttributes.get(C.POSITION).data,_=m.camera,S=ie;i(S,m.point);const b=2;o(oe[0],S[0]-b,S[1]+b,0),o(oe[1],S[0]+b,S[1]+b,0),o(oe[2],S[0]+b,S[1]-b,0),o(oe[3],S[0]-b,S[1]-b,0);for(let e=0;e<4;e++)if(!_.unprojectFromRenderScreen(oe[e],ne[e]))return;j(_.eye,ne[0],ne[1],ae),j(_.eye,ne[1],ne[2],ce),j(_.eye,ne[2],ne[3],le),j(_.eye,ne[3],ne[0],ue);let x=Number.MAX_VALUE,v=0;for(let e=0;e<d.length-5;e+=3){if(z[0]=d[e]+s[12],z[1]=d[e+1]+s[13],z[2]=d[e+2]+s[14],J[0]=d[e+3]+s[12],J[1]=d[e+4]+s[13],J[2]=d[e+5]+s[14],P(ae,z)<0&&P(ae,J)<0||P(ce,z)<0&&P(ce,J)<0||P(le,z)<0&&P(le,J)<0||P(ue,z)<0&&P(ue,J)<0)continue;if(_.projectToRenderScreen(z,Z),_.projectToRenderScreen(J,$),Z[2]<0&&$[2]>0){n(K,z,J);const e=_.frustum,t=-P(e[g.NEAR],z)/a(K,y(e[g.NEAR]));c(K,K,t),l(z,z,K),_.projectToRenderScreen(z,Z)}else if(Z[2]>0&&$[2]<0){n(K,J,z);const e=_.frustum,t=-P(e[g.NEAR],J)/a(K,y(e[g.NEAR]));c(K,K,t),l(J,J,K),_.projectToRenderScreen(J,$)}else if(Z[2]<0&&$[2]<0)continue;Z[2]=0,$[2]=0;const t=A(O(Z,$,re),S);t<x&&(x=t,u(ee,z),u(te,J),v=e/3)}const R=m.rayBegin,N=m.rayEnd;if(x<b*b){let e=Number.MAX_VALUE;if(T(O(ee,te,re),O(R,N,se),Y)){n(Y,Y,R);const t=p(Y);c(Y,Y,1/t),e=t/f(R,N)}h(e,Y,v,!1)}}computeAttachmentOrigin(e,t){const r=e.vertexAttributes;if(!r)return!1;const s=r.get(C.POSITION);return R(s,null,!1,t)}requiresSlot(e,t){return!(t!==v.Color&&t!==v.Highlight&&t!==v.ObjectAndLayerIdColor||e!==L.OPAQUE_MATERIAL&&e!==L.DRAPED_MATERIAL)}createGLMaterial(e){return new W(e)}createBufferWriter(){const e=this.parameters.hasVertexColors?B:V;return r(this.parameters.stipplePattern)?new M(e):new H(e.clone().vec3f(C.AUXPOS1).vec2f(C.UV0))}}class W extends N{constructor(){super(...arguments),this._stipplePattern=null}dispose(){super.dispose(),this._stippleTextureRepository.release(this._stipplePattern),this._stipplePattern=null}_updateOccludeeState(e){e.hasOccludees!==this._material.parameters.hasOccludees&&this._material.setParameters({hasOccludees:e.hasOccludees})}beginSlot(e){this._output===v.Color&&this._updateOccludeeState(e);const t=this._material.parameters.stipplePattern;return this._stipplePattern!==t&&(this._material.setParameters(this._stippleTextureRepository.swap(this._stipplePattern,t)),this._stipplePattern=t),this.ensureTechnique(q,e)}}class H{constructor(e){this.vertexBufferLayout=e}allocate(e){return this.vertexBufferLayout.createBuffer(e)}elementCount(e){return e.indices.get(C.POSITION).length}write(e,t,r,s){U(t,this.vertexBufferLayout,e.transformation,e.invTranspTransformation,r,s),this._writeAuxpos1(e,t,r,s),this._writeUV0(e,t,r,s)}_writeAuxpos1(e,t,r,s){const i=r.getField(C.AUXPOS1,b),o=t.indices.get(C.POSITION),n=t.vertexAttributes.get(C.POSITION).data,a=e.transformation,c=i.typedBufferStride,l=i.typedBuffer;s*=c;for(let u=0;u<o.length-1;u+=2)for(const e of[1,0]){const t=3*o[u+e],r=n[t],i=n[t+1],p=n[t+2],f=a[0]*r+a[4]*i+a[8]*p+a[12],m=a[1]*r+a[5]*i+a[9]*p+a[13],h=a[2]*r+a[6]*i+a[10]*p+a[14];l[s]=f,l[s+1]=m,l[s+2]=h,s+=c}}_writeUV0(e,t,r,s){const i=r.getField(C.UV0,x),n=t.indices.get(C.POSITION),a=t.vertexAttributes.get(C.POSITION).data,c=t.vertexAttributes.get(C.DISTANCETOSTART)?.data,l=e.transformation,p=i.typedBufferStride,h=i.typedBuffer;let d=0;h[s*=p]=X.START,h[s+1]=d,s+=p;const g=3*n[0],_=o(z,a[g],a[g+1],a[g+2]);l&&m(_,_,l);const A=J,O=n.length-1;let T=1;const S=c?(e,t,r)=>d=c[r]:(e,t,r)=>d+=f(e,t);for(let f=1;f<O;f+=2){const e=3*n[f];o(A,a[e],a[e+1],a[e+2]),l&&m(A,A,l),S(_,A,T++);for(let t=0;t<2;++t)h[s]=1-t,h[s+1]=d,s+=p;u(_,A)}const j=3*n[O];o(A,a[j],a[j+1],a[j+2]),l&&m(A,A,l),S(_,A,T),h[s]=X.END,h[s+1]=d}}class Q extends I{constructor(){super(...arguments),this.color=d,this.hasVertexColors=!1,this.hasSlicePlane=!1,this.width=1,this.stipplePreferContinuous=!0,this.hasOccludees=!1,this.stippleTexture=null}}const z=h(),J=h(),K=h(),Y=h(),Z=s(),$=s(),ee=h(),te=h(),re=_(),se=_(),ie=h(),oe=[s(),s(),s(),s()],ne=[h(),h(),h(),h()],ae=S(),ce=S(),le=S(),ue=S();export{F as NativeLineMaterial,Q as Parameters};
@@ -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 has from"../../../../core/has.js";import e from"../../../../core/Logger.js";import{clamp as t}from"../../../../core/mathUtils.js";import{isSome as r}from"../../../../core/maybe.js";import{createRenderScreenPointArray3 as i}from"../../../../core/screenUtils.js";import{c as s}from"../../../../chunks/vec2.js";import{s as a,b as n,e as o,g as l,a as c,c as h,l as u,i as p,m}from"../../../../chunks/vec3.js";import{c as f}from"../../../../chunks/vec3f64.js";import{O as T}from"../../../../chunks/vec4f64.js";import{PlaneIndex as d}from"../../../../geometry/support/frustum.js";import{create as _,distance2 as A,fromPoints as E,closestLineSegmentPoint as v}from"../../../../geometry/support/lineSegment.js";import{create as I,fromPoints as R,signedDistance as O,normal as S}from"../../../../geometry/support/plane.js";import{newLayout as g}from"../../support/buffer/InterleavedLayout.js";import{ShaderOutput as b}from"../core/shaderLibrary/ShaderOutput.js";import{computeAttachmentOriginLines as L}from"../lib/geometryDataUtils.js";import P from"../lib/GLMaterial.js";import{Material as N,RenderOccludedFlag as C}from"../lib/Material.js";import{RenderSlot as y}from"../lib/RenderSlot.js";import{isTranslationMatrix as j}from"../lib/Util.js";import{VertexAttribute as D}from"../lib/VertexAttribute.js";import{VisualVariablePassParameters as U}from"./VisualVariablePassParameters.js";import{isInstanceHidden as x}from"./renderers/utils.js";import{N as F}from"../../../../chunks/RibbonLine.glsl.js";import{vertexAttributeLocations as w,RibbonLineTechnique as M}from"../shaders/RibbonLineTechnique.js";import{RibbonLineTechniqueConfiguration as J,CapType as G}from"../shaders/RibbonLineTechniqueConfiguration.js";var B;!function(e){e[e.LEFT_JOIN_START=-2]="LEFT_JOIN_START",e[e.LEFT_JOIN_END=-1]="LEFT_JOIN_END",e[e.LEFT_CAP_START=-4]="LEFT_CAP_START",e[e.LEFT_CAP_END=-5]="LEFT_CAP_END",e[e.RIGHT_JOIN_START=2]="RIGHT_JOIN_START",e[e.RIGHT_JOIN_END=1]="RIGHT_JOIN_END",e[e.RIGHT_CAP_START=4]="RIGHT_CAP_START",e[e.RIGHT_CAP_END=5]="RIGHT_CAP_END"}(B||(B={}));class z extends N{constructor(e){super(e,new W),this._configuration=new J,this._vertexAttributeLocations=w,this._layout=this.createLayout()}isClosed(e,t){return X(this.parameters,e,t)}getConfiguration(e,t){this._configuration.output=e,this._configuration.draped=t.slot===y.DRAPED_MATERIAL;const i=r(this.parameters.stipplePattern)&&e!==b.Highlight;return this._configuration.stippleEnabled=i,this._configuration.stippleOffColorEnabled=i&&r(this.parameters.stippleOffColor),this._configuration.stippleScaleWithLineWidth=i&&this.parameters.stippleScaleWithLineWidth,this._configuration.stipplePreferContinuous=i&&this.parameters.stipplePreferContinuous,this._configuration.hasSlicePlane=this.parameters.hasSlicePlane,this._configuration.hasOccludees=this.parameters.hasOccludees,this._configuration.roundJoins="round"===this.parameters.join,this._configuration.capType=this.parameters.cap,this._configuration.hasPolygonOffset=this.parameters.hasPolygonOffset,this._configuration.writeDepth=this.parameters.writeDepth,this._configuration.vvColor=this.parameters.vvColorEnabled,this._configuration.vvOpacity=this.parameters.vvOpacityEnabled,this._configuration.vvSize=this.parameters.vvSizeEnabled,this._configuration.innerColorEnabled=this.parameters.innerWidth>0&&r(this.parameters.innerColor),this._configuration.falloffEnabled=this.parameters.falloff>0,this._configuration.occluder=this.parameters.renderOccluded===C.OccludeAndTransparentStencil,this._configuration.transparencyPassType=t.transparencyPassType,this._configuration.hasMultipassTerrain=t.multipassTerrain.enabled,this._configuration.cullAboveGround=t.multipassTerrain.cullAboveGround,this._configuration.wireframe=this.parameters.wireframe,this._configuration}intersect(e,t,i,s,a,n,o,l,c){r(c)?this._intersectDrapedLineGeometry(e,s,c,n,o):this._intersectLineGeometry(e,t,i,s,o)}_intersectDrapedLineGeometry(e,r,i,s,a){if(!r.options.selectionMode)return;const n=e.vertexAttributes.get(D.POSITION).data,o=e.vertexAttributes.get(D.SIZE);let l=this.parameters.width;if(this.parameters.vvSizeEnabled){const r=e.vertexAttributes.get(D.SIZEFEATUREATTRIBUTE).data[0];l*=t(this.parameters.vvSizeOffset[0]+r*this.parameters.vvSizeFactor[0],this.parameters.vvSizeMinSize[0],this.parameters.vvSizeMaxSize[0])}else o&&(l*=o.data[0]);const c=s[0],h=s[1],u=(l/2+4)*e.screenToWorldRatio;let p=Number.MAX_VALUE,m=0;for(let f=0;f<n.length-5;f+=3){const e=n[f],r=n[f+1],i=c-e,s=h-r,a=n[f+3]-e,o=n[f+4]-r,l=t((a*i+o*s)/(a*a+o*o),0,1),u=a*l-i,T=o*l-s,d=u*u+T*T;d<p&&(p=d,m=f/3)}p<u*u&&a(i.dist,i.normal,m,!1)}_intersectLineGeometry(r,i,m,f,T){if(!f.options.selectionMode||x(i))return;if(!j(m))return void e.getLogger("esri.views.3d.webgl-engine.materials.RibbonLineMaterial").error("intersection assumes a translation-only matrix");const _=r.vertexAttributes,I=_.get(D.POSITION).data;let g=this.parameters.width;if(this.parameters.vvSizeEnabled){const e=_.get(D.SIZEFEATUREATTRIBUTE).data[0];g*=t(this.parameters.vvSizeOffset[0]+e*this.parameters.vvSizeFactor[0],this.parameters.vvSizeMinSize[0],this.parameters.vvSizeMaxSize[0])}else _.has(D.SIZE)&&(g*=_.get(D.SIZE).data[0]);const b=f.camera,L=$;s(L,f.point);const P=g*b.pixelRatio/2+4*b.pixelRatio;a(ce[0],L[0]-P,L[1]+P,0),a(ce[1],L[0]+P,L[1]+P,0),a(ce[2],L[0]+P,L[1]-P,0),a(ce[3],L[0]-P,L[1]-P,0);for(let e=0;e<4;e++)if(!b.unprojectFromRenderScreen(ce[e],he[e]))return;R(b.eye,he[0],he[1],ue),R(b.eye,he[1],he[2],pe),R(b.eye,he[2],he[3],me),R(b.eye,he[3],he[0],fe);let N=Number.MAX_VALUE,C=0;const y=k(this.parameters,_,r.indices)?I.length-2:I.length-5;for(let e=0;e<y;e+=3){Y[0]=I[e]+m[12],Y[1]=I[e+1]+m[13],Y[2]=I[e+2]+m[14];const t=(e+3)%I.length;if(q[0]=I[t]+m[12],q[1]=I[t+1]+m[13],q[2]=I[t+2]+m[14],O(ue,Y)<0&&O(ue,q)<0||O(pe,Y)<0&&O(pe,q)<0||O(me,Y)<0&&O(me,q)<0||O(fe,Y)<0&&O(fe,q)<0)continue;if(b.projectToRenderScreen(Y,ee),b.projectToRenderScreen(q,te),ee[2]<0&&te[2]>0){n(Q,Y,q);const e=b.frustum,t=-O(e[d.NEAR],Y)/o(Q,S(e[d.NEAR]));l(Q,Q,t),c(Y,Y,Q),b.projectToRenderScreen(Y,ee)}else if(ee[2]>0&&te[2]<0){n(Q,q,Y);const e=b.frustum,t=-O(e[d.NEAR],q)/o(Q,S(e[d.NEAR]));l(Q,Q,t),c(q,q,Q),b.projectToRenderScreen(q,te)}else if(ee[2]<0&&te[2]<0)continue;ee[2]=0,te[2]=0;const r=A(E(ee,te,se),L);r<N&&(N=r,h(re,Y),h(ie,q),C=e/3)}const U=f.rayBegin,F=f.rayEnd;if(N<P*P){let e=Number.MAX_VALUE;if(v(E(re,ie,se),E(U,F,ae),K)){n(K,K,U);const t=u(K);l(K,K,1/t),e=t/p(U,F)}T(e,K,C,!1)}}computeAttachmentOrigin(e,t){const r=e.vertexAttributes;if(!r)return!1;const i=e.indices,s=r.get(D.POSITION);return L(s,i?i.get(D.POSITION):null,i&&k(this.parameters,r,i),t)}createLayout(){const e=g().vec3f(D.POSITION).f32(D.SUBDIVISIONFACTOR).vec2f(D.UV0).vec3f(D.AUXPOS1).vec3f(D.AUXPOS2);return this.parameters.vvSizeEnabled?e.f32(D.SIZEFEATUREATTRIBUTE):e.f32(D.SIZE),this.parameters.vvColorEnabled?e.f32(D.COLORFEATUREATTRIBUTE):e.vec4f(D.COLOR),this.parameters.vvOpacityEnabled&&e.f32(D.OPACITYFEATUREATTRIBUTE),has("enable-feature:objectAndLayerId-rendering")&&e.vec4u8(D.OBJECTANDLAYERIDCOLOR),e}createBufferWriter(){return new V(this._layout,this.parameters)}requiresSlot(e,t){if(t===b.Color||t===b.Alpha||t===b.Highlight||t===b.Depth||t===b.ObjectAndLayerIdColor){if(e===y.DRAPED_MATERIAL)return!0;if(this.parameters.renderOccluded===C.OccludeAndTransparentStencil)return e===y.OPAQUE_MATERIAL||e===y.OCCLUDER_MATERIAL||e===y.TRANSPARENT_OCCLUDER_MATERIAL;if(t===b.Color||t===b.Alpha){return e===(this.parameters.writeDepth?y.TRANSPARENT_MATERIAL:y.TRANSPARENT_DEPTH_WRITE_DISABLED_MATERIAL)}return e===y.OPAQUE_MATERIAL}return!1}createGLMaterial(e){return new H(e)}validateParameters(e){"miter"!==e.join&&(e.miterLimit=0)}}class H extends P{constructor(){super(...arguments),this._stipplePattern=null}dispose(){super.dispose(),this._stippleTextureRepository.release(this._stipplePattern),this._stipplePattern=null}_updateOccludeeState(e){e.hasOccludees!==this._material.parameters.hasOccludees&&this._material.setParameters({hasOccludees:e.hasOccludees})}beginSlot(e){this._output!==b.Color&&this._output!==b.Alpha||this._updateOccludeeState(e);const t=this._material.parameters.stipplePattern;return this._stipplePattern!==t&&(this._material.setParameters(this._stippleTextureRepository.swap(this._stipplePattern,t)),this._stipplePattern=t),this.ensureTechnique(M,e)}}class W extends U{constructor(){super(...arguments),this.width=0,this.color=T,this.join="miter",this.cap=G.BUTT,this.miterLimit=5,this.writeDepth=!0,this.hasPolygonOffset=!1,this.stippleTexture=null,this.stippleScaleWithLineWidth=!1,this.stipplePreferContinuous=!0,this.hasSlicePlane=!1,this.vvFastUpdate=!1,this.isClosed=!1,this.falloff=0,this.innerWidth=0,this.hasOccludees=!1,this.wireframe=!1}}class V{constructor(e,t){this._parameters=t,this.numJoinSubdivisions=0,this.vertexBufferLayout=e;const r=t.stipplePattern?1:0;switch(this._parameters.join){case"miter":case"bevel":this.numJoinSubdivisions=r;break;case"round":this.numJoinSubdivisions=F+r}}_isClosed(e){return k(this._parameters,e.vertexAttributes,e.indices)}allocate(e){return this.vertexBufferLayout.createBuffer(e)}elementCount(e){const t=2,r=e.indices.get(D.POSITION).length/2+1,i=this._isClosed(e);let s=i?2:2*t;return s+=((i?r:r-1)-(i?0:1))*(2*this.numJoinSubdivisions+4),s+=2,this._parameters.wireframe&&(s=2+4*(s-2)),s}write(e,t,i,s){const n=ne,o=oe,l=le,c=t.vertexAttributes.get(D.POSITION).data,u=t.indices&&t.indices.get(D.POSITION),f=t.vertexAttributes.get(D.DISTANCETOSTART)?.data;u&&u.length!==2*(c.length/3-1)&&console.warn("RibbonLineMaterial does not support indices");let T=1,d=0;this._parameters.vvSizeEnabled?d=t.vertexAttributes.get(D.SIZEFEATUREATTRIBUTE).data[0]:t.vertexAttributes.has(D.SIZE)&&(T=t.vertexAttributes.get(D.SIZE).data[0]);let _=[1,1,1,1],A=0;this._parameters.vvColorEnabled?A=t.vertexAttributes.get(D.COLORFEATUREATTRIBUTE).data[0]:t.vertexAttributes.has(D.COLOR)&&(_=t.vertexAttributes.get(D.COLOR).data);let E=null;has("enable-feature:objectAndLayerId-rendering")&&(E=t.objectAndLayerIdColor);let v=0;this._parameters.vvOpacityEnabled&&(v=t.vertexAttributes.get(D.OPACITYFEATUREATTRIBUTE).data[0]);const I=c.length/3,R=e.transformation,O=new Float32Array(i.buffer),S=has("enable-feature:objectAndLayerId-rendering")?new Uint8Array(i.buffer):null,g=this.vertexBufferLayout.stride/4;let b=s*g;const L=b;let P=0;const N=f?(e,t,r)=>P=f[r]:(e,t,r)=>P+=p(e,t),C=(e,t,i,s,a,n,o)=>{if(O[b++]=t[0],O[b++]=t[1],O[b++]=t[2],O[b++]=s,O[b++]=o,O[b++]=a,O[b++]=e[0],O[b++]=e[1],O[b++]=e[2],O[b++]=i[0],O[b++]=i[1],O[b++]=i[2],this._parameters.vvSizeEnabled?O[b++]=d:O[b++]=T,this._parameters.vvColorEnabled)O[b++]=A;else{const e=Math.min(4*n,_.length-4);O[b++]=_[e+0],O[b++]=_[e+1],O[b++]=_[e+2],O[b++]=_[e+3]}this._parameters.vvOpacityEnabled&&(O[b++]=v),has("enable-feature:objectAndLayerId-rendering")&&(r(E)&&(S[4*b+0]=E[0],S[4*b+1]=E[1],S[4*b+2]=E[2],S[4*b+3]=E[3]),b++)};b+=g,a(o,c[0],c[1],c[2]),R&&m(o,o,R);const y=this._isClosed(t);if(y){const e=c.length-3;a(n,c[e],c[e+1],c[e+2]),R&&m(n,n,R)}else a(l,c[3],c[4],c[5]),R&&m(l,l,R),C(o,o,l,1,B.LEFT_CAP_START,0,0),C(o,o,l,1,B.RIGHT_CAP_START,0,0),h(n,o),h(o,l);const j=y?0:1,U=y?I:I-1;for(let r=j;r<U;r++){const e=(r+1)%I*3;a(l,c[e+0],c[e+1],c[e+2]),R&&m(l,l,R),N(n,o,r),C(n,o,l,0,B.LEFT_JOIN_END,r,P),C(n,o,l,0,B.RIGHT_JOIN_END,r,P);const t=this.numJoinSubdivisions;for(let i=0;i<t;++i){const e=(i+1)/(t+1);C(n,o,l,e,B.LEFT_JOIN_END,r,P),C(n,o,l,e,B.RIGHT_JOIN_END,r,P)}C(n,o,l,1,B.LEFT_JOIN_START,r,P),C(n,o,l,1,B.RIGHT_JOIN_START,r,P),h(n,o),h(o,l)}y?(a(l,c[3],c[4],c[5]),R&&m(l,l,R),P=N(n,o,U),C(n,o,l,0,B.LEFT_JOIN_END,j,P),C(n,o,l,0,B.RIGHT_JOIN_END,j,P)):(P=N(n,o,U),C(n,o,o,0,B.LEFT_CAP_END,U,P),C(n,o,o,0,B.RIGHT_CAP_END,U,P)),Z(O,L+g,O,L,g);b=Z(O,b-g,O,b,g),this._parameters.wireframe&&this._addWireframeVertices(i,L,b,g)}_addWireframeVertices(e,t,r,i){const s=new Float32Array(e.buffer,r*Float32Array.BYTES_PER_ELEMENT),a=new Float32Array(e.buffer,t*Float32Array.BYTES_PER_ELEMENT,r-t);let n=0;const o=e=>n=Z(a,e,s,n,i);for(let l=0;l<a.length-1;l+=2*i)o(l),o(l+2*i),o(l+1*i),o(l+2*i),o(l+1*i),o(l+3*i)}}function Z(e,t,r,i,s){for(let a=0;a<s;a++)r[i++]=e[t++];return i}function k(e,t,r){return X(e,t.get(D.POSITION).data,r?r.get(D.POSITION):null)}function X(e,t,r){return!!e.isClosed&&(r?r.length>2:t.length>6)}const Y=f(),q=f(),Q=f(),K=f(),$=f(),ee=i(),te=i(),re=f(),ie=f(),se=_(),ae=_(),ne=f(),oe=f(),le=f(),ce=[i(),i(),i(),i()],he=[f(),f(),f(),f()],ue=I(),pe=I(),me=I(),fe=I();export{W as Parameters,z as RibbonLineMaterial};
5
+ import has from"../../../../core/has.js";import e from"../../../../core/Logger.js";import{clamp as t}from"../../../../core/mathUtils.js";import{isSome as r}from"../../../../core/maybe.js";import{createRenderScreenPointArray3 as i}from"../../../../core/screenUtils.js";import{c as s}from"../../../../chunks/vec2.js";import{s as a,b as n,e as o,g as l,a as c,c as h,l as u,i as p,v as m}from"../../../../chunks/vec3.js";import{c as f}from"../../../../chunks/vec3f64.js";import{O as T}from"../../../../chunks/vec4f64.js";import{PlaneIndex as d}from"../../../../geometry/support/frustum.js";import{create as _,distance2 as A,fromPoints as E,closestLineSegmentPoint as v}from"../../../../geometry/support/lineSegment.js";import{create as I,fromPoints as R,signedDistance as O,normal as S}from"../../../../geometry/support/plane.js";import{newLayout as g}from"../../support/buffer/InterleavedLayout.js";import{ShaderOutput as b}from"../core/shaderLibrary/ShaderOutput.js";import{computeAttachmentOriginLines as L}from"../lib/geometryDataUtils.js";import P from"../lib/GLMaterial.js";import{Material as N,RenderOccludedFlag as C}from"../lib/Material.js";import{RenderSlot as y}from"../lib/RenderSlot.js";import{isTranslationMatrix as j}from"../lib/Util.js";import{VertexAttribute as D}from"../lib/VertexAttribute.js";import{VisualVariablePassParameters as U}from"./VisualVariablePassParameters.js";import{isInstanceHidden as x}from"./renderers/utils.js";import{N as F}from"../../../../chunks/RibbonLine.glsl.js";import{vertexAttributeLocations as w,RibbonLineTechnique as M}from"../shaders/RibbonLineTechnique.js";import{RibbonLineTechniqueConfiguration as J,CapType as G}from"../shaders/RibbonLineTechniqueConfiguration.js";var B;!function(e){e[e.LEFT_JOIN_START=-2]="LEFT_JOIN_START",e[e.LEFT_JOIN_END=-1]="LEFT_JOIN_END",e[e.LEFT_CAP_START=-4]="LEFT_CAP_START",e[e.LEFT_CAP_END=-5]="LEFT_CAP_END",e[e.RIGHT_JOIN_START=2]="RIGHT_JOIN_START",e[e.RIGHT_JOIN_END=1]="RIGHT_JOIN_END",e[e.RIGHT_CAP_START=4]="RIGHT_CAP_START",e[e.RIGHT_CAP_END=5]="RIGHT_CAP_END"}(B||(B={}));class z extends N{constructor(e){super(e,new W),this._configuration=new J,this._vertexAttributeLocations=w,this._layout=this.createLayout()}isClosed(e,t){return X(this.parameters,e,t)}getConfiguration(e,t){this._configuration.output=e,this._configuration.draped=t.slot===y.DRAPED_MATERIAL;const i=r(this.parameters.stipplePattern)&&e!==b.Highlight;return this._configuration.stippleEnabled=i,this._configuration.stippleOffColorEnabled=i&&r(this.parameters.stippleOffColor),this._configuration.stippleScaleWithLineWidth=i&&this.parameters.stippleScaleWithLineWidth,this._configuration.stipplePreferContinuous=i&&this.parameters.stipplePreferContinuous,this._configuration.hasSlicePlane=this.parameters.hasSlicePlane,this._configuration.hasOccludees=this.parameters.hasOccludees,this._configuration.roundJoins="round"===this.parameters.join,this._configuration.capType=this.parameters.cap,this._configuration.hasPolygonOffset=this.parameters.hasPolygonOffset,this._configuration.writeDepth=this.parameters.writeDepth,this._configuration.vvColor=this.parameters.vvColorEnabled,this._configuration.vvOpacity=this.parameters.vvOpacityEnabled,this._configuration.vvSize=this.parameters.vvSizeEnabled,this._configuration.innerColorEnabled=this.parameters.innerWidth>0&&r(this.parameters.innerColor),this._configuration.falloffEnabled=this.parameters.falloff>0,this._configuration.occluder=this.parameters.renderOccluded===C.OccludeAndTransparentStencil,this._configuration.transparencyPassType=t.transparencyPassType,this._configuration.hasMultipassTerrain=t.multipassTerrain.enabled,this._configuration.cullAboveGround=t.multipassTerrain.cullAboveGround,this._configuration.wireframe=this.parameters.wireframe,this._configuration}intersect(e,t,i,s,a,n,o,l,c){r(c)?this._intersectDrapedLineGeometry(e,s,c,n,o):this._intersectLineGeometry(e,t,i,s,o)}_intersectDrapedLineGeometry(e,r,i,s,a){if(!r.options.selectionMode)return;const n=e.vertexAttributes.get(D.POSITION).data,o=e.vertexAttributes.get(D.SIZE);let l=this.parameters.width;if(this.parameters.vvSizeEnabled){const r=e.vertexAttributes.get(D.SIZEFEATUREATTRIBUTE).data[0];l*=t(this.parameters.vvSizeOffset[0]+r*this.parameters.vvSizeFactor[0],this.parameters.vvSizeMinSize[0],this.parameters.vvSizeMaxSize[0])}else o&&(l*=o.data[0]);const c=s[0],h=s[1],u=(l/2+4)*e.screenToWorldRatio;let p=Number.MAX_VALUE,m=0;for(let f=0;f<n.length-5;f+=3){const e=n[f],r=n[f+1],i=c-e,s=h-r,a=n[f+3]-e,o=n[f+4]-r,l=t((a*i+o*s)/(a*a+o*o),0,1),u=a*l-i,T=o*l-s,d=u*u+T*T;d<p&&(p=d,m=f/3)}p<u*u&&a(i.dist,i.normal,m,!1)}_intersectLineGeometry(r,i,m,f,T){if(!f.options.selectionMode||x(i))return;if(!j(m))return void e.getLogger("esri.views.3d.webgl-engine.materials.RibbonLineMaterial").error("intersection assumes a translation-only matrix");const _=r.vertexAttributes,I=_.get(D.POSITION).data;let g=this.parameters.width;if(this.parameters.vvSizeEnabled){const e=_.get(D.SIZEFEATUREATTRIBUTE).data[0];g*=t(this.parameters.vvSizeOffset[0]+e*this.parameters.vvSizeFactor[0],this.parameters.vvSizeMinSize[0],this.parameters.vvSizeMaxSize[0])}else _.has(D.SIZE)&&(g*=_.get(D.SIZE).data[0]);const b=f.camera,L=$;s(L,f.point);const P=g*b.pixelRatio/2+4*b.pixelRatio;a(ce[0],L[0]-P,L[1]+P,0),a(ce[1],L[0]+P,L[1]+P,0),a(ce[2],L[0]+P,L[1]-P,0),a(ce[3],L[0]-P,L[1]-P,0);for(let e=0;e<4;e++)if(!b.unprojectFromRenderScreen(ce[e],he[e]))return;R(b.eye,he[0],he[1],ue),R(b.eye,he[1],he[2],pe),R(b.eye,he[2],he[3],me),R(b.eye,he[3],he[0],fe);let N=Number.MAX_VALUE,C=0;const y=k(this.parameters,_,r.indices)?I.length-2:I.length-5;for(let e=0;e<y;e+=3){Y[0]=I[e]+m[12],Y[1]=I[e+1]+m[13],Y[2]=I[e+2]+m[14];const t=(e+3)%I.length;if(q[0]=I[t]+m[12],q[1]=I[t+1]+m[13],q[2]=I[t+2]+m[14],O(ue,Y)<0&&O(ue,q)<0||O(pe,Y)<0&&O(pe,q)<0||O(me,Y)<0&&O(me,q)<0||O(fe,Y)<0&&O(fe,q)<0)continue;if(b.projectToRenderScreen(Y,ee),b.projectToRenderScreen(q,te),ee[2]<0&&te[2]>0){n(Q,Y,q);const e=b.frustum,t=-O(e[d.NEAR],Y)/o(Q,S(e[d.NEAR]));l(Q,Q,t),c(Y,Y,Q),b.projectToRenderScreen(Y,ee)}else if(ee[2]>0&&te[2]<0){n(Q,q,Y);const e=b.frustum,t=-O(e[d.NEAR],q)/o(Q,S(e[d.NEAR]));l(Q,Q,t),c(q,q,Q),b.projectToRenderScreen(q,te)}else if(ee[2]<0&&te[2]<0)continue;ee[2]=0,te[2]=0;const r=A(E(ee,te,se),L);r<N&&(N=r,h(re,Y),h(ie,q),C=e/3)}const U=f.rayBegin,F=f.rayEnd;if(N<P*P){let e=Number.MAX_VALUE;if(v(E(re,ie,se),E(U,F,ae),K)){n(K,K,U);const t=u(K);l(K,K,1/t),e=t/p(U,F)}T(e,K,C,!1)}}computeAttachmentOrigin(e,t){const r=e.vertexAttributes;if(!r)return!1;const i=e.indices,s=r.get(D.POSITION);return L(s,i?i.get(D.POSITION):null,i&&k(this.parameters,r,i),t)}createLayout(){const e=g().vec3f(D.POSITION).f32(D.SUBDIVISIONFACTOR).vec2f(D.UV0).vec3f(D.AUXPOS1).vec3f(D.AUXPOS2);return this.parameters.vvSizeEnabled?e.f32(D.SIZEFEATUREATTRIBUTE):e.f32(D.SIZE),this.parameters.vvColorEnabled?e.f32(D.COLORFEATUREATTRIBUTE):e.vec4f(D.COLOR),this.parameters.vvOpacityEnabled&&e.f32(D.OPACITYFEATUREATTRIBUTE),has("enable-feature:objectAndLayerId-rendering")&&e.vec4u8(D.OBJECTANDLAYERIDCOLOR),e}createBufferWriter(){return new V(this._layout,this.parameters)}requiresSlot(e,t){if(t===b.Color||t===b.Alpha||t===b.Highlight||t===b.Depth||t===b.ObjectAndLayerIdColor){if(e===y.DRAPED_MATERIAL)return!0;if(this.parameters.renderOccluded===C.OccludeAndTransparentStencil)return e===y.OPAQUE_MATERIAL||e===y.OCCLUDER_MATERIAL||e===y.TRANSPARENT_OCCLUDER_MATERIAL;if(t===b.Color||t===b.Alpha){return e===(this.parameters.writeDepth?y.TRANSPARENT_MATERIAL:y.TRANSPARENT_DEPTH_WRITE_DISABLED_MATERIAL)}return e===y.OPAQUE_MATERIAL}return!1}createGLMaterial(e){return new H(e)}validateParameters(e){"miter"!==e.join&&(e.miterLimit=0)}}class H extends P{constructor(){super(...arguments),this._stipplePattern=null}dispose(){super.dispose(),this._stippleTextureRepository.release(this._stipplePattern),this._stipplePattern=null}_updateOccludeeState(e){e.hasOccludees!==this._material.parameters.hasOccludees&&this._material.setParameters({hasOccludees:e.hasOccludees})}beginSlot(e){this._output!==b.Color&&this._output!==b.Alpha||this._updateOccludeeState(e);const t=this._material.parameters.stipplePattern;return this._stipplePattern!==t&&(this._material.setParameters(this._stippleTextureRepository.swap(this._stipplePattern,t)),this._stipplePattern=t),this.ensureTechnique(M,e)}}class W extends U{constructor(){super(...arguments),this.width=0,this.color=T,this.join="miter",this.cap=G.BUTT,this.miterLimit=5,this.writeDepth=!0,this.hasPolygonOffset=!1,this.stippleTexture=null,this.stippleScaleWithLineWidth=!1,this.stipplePreferContinuous=!0,this.hasSlicePlane=!1,this.vvFastUpdate=!1,this.isClosed=!1,this.falloff=0,this.innerWidth=0,this.hasOccludees=!1,this.wireframe=!1}}class V{constructor(e,t){this._parameters=t,this.numJoinSubdivisions=0,this.vertexBufferLayout=e;const r=t.stipplePattern?1:0;switch(this._parameters.join){case"miter":case"bevel":this.numJoinSubdivisions=r;break;case"round":this.numJoinSubdivisions=F+r}}_isClosed(e){return k(this._parameters,e.vertexAttributes,e.indices)}allocate(e){return this.vertexBufferLayout.createBuffer(e)}elementCount(e){const t=2,r=e.indices.get(D.POSITION).length/2+1,i=this._isClosed(e);let s=i?2:2*t;return s+=((i?r:r-1)-(i?0:1))*(2*this.numJoinSubdivisions+4),s+=2,this._parameters.wireframe&&(s=2+4*(s-2)),s}write(e,t,i,s){const n=ne,o=oe,l=le,c=t.vertexAttributes.get(D.POSITION).data,u=t.indices&&t.indices.get(D.POSITION),f=t.vertexAttributes.get(D.DISTANCETOSTART)?.data;u&&u.length!==2*(c.length/3-1)&&console.warn("RibbonLineMaterial does not support indices");let T=1,d=0;this._parameters.vvSizeEnabled?d=t.vertexAttributes.get(D.SIZEFEATUREATTRIBUTE).data[0]:t.vertexAttributes.has(D.SIZE)&&(T=t.vertexAttributes.get(D.SIZE).data[0]);let _=[1,1,1,1],A=0;this._parameters.vvColorEnabled?A=t.vertexAttributes.get(D.COLORFEATUREATTRIBUTE).data[0]:t.vertexAttributes.has(D.COLOR)&&(_=t.vertexAttributes.get(D.COLOR).data);let E=null;has("enable-feature:objectAndLayerId-rendering")&&(E=t.objectAndLayerIdColor);let v=0;this._parameters.vvOpacityEnabled&&(v=t.vertexAttributes.get(D.OPACITYFEATUREATTRIBUTE).data[0]);const I=c.length/3,R=e.transformation,O=new Float32Array(i.buffer),S=has("enable-feature:objectAndLayerId-rendering")?new Uint8Array(i.buffer):null,g=this.vertexBufferLayout.stride/4;let b=s*g;const L=b;let P=0;const N=f?(e,t,r)=>P=f[r]:(e,t,r)=>P+=p(e,t),C=(e,t,i,s,a,n,o)=>{if(O[b++]=t[0],O[b++]=t[1],O[b++]=t[2],O[b++]=s,O[b++]=o,O[b++]=a,O[b++]=e[0],O[b++]=e[1],O[b++]=e[2],O[b++]=i[0],O[b++]=i[1],O[b++]=i[2],this._parameters.vvSizeEnabled?O[b++]=d:O[b++]=T,this._parameters.vvColorEnabled)O[b++]=A;else{const e=Math.min(4*n,_.length-4);O[b++]=_[e+0],O[b++]=_[e+1],O[b++]=_[e+2],O[b++]=_[e+3]}this._parameters.vvOpacityEnabled&&(O[b++]=v),has("enable-feature:objectAndLayerId-rendering")&&(r(E)&&(S[4*b+0]=E[0],S[4*b+1]=E[1],S[4*b+2]=E[2],S[4*b+3]=E[3]),b++)};b+=g,a(o,c[0],c[1],c[2]),R&&m(o,o,R);const y=this._isClosed(t);if(y){const e=c.length-3;a(n,c[e],c[e+1],c[e+2]),R&&m(n,n,R)}else a(l,c[3],c[4],c[5]),R&&m(l,l,R),C(o,o,l,1,B.LEFT_CAP_START,0,0),C(o,o,l,1,B.RIGHT_CAP_START,0,0),h(n,o),h(o,l);const j=y?0:1,U=y?I:I-1;for(let r=j;r<U;r++){const e=(r+1)%I*3;a(l,c[e+0],c[e+1],c[e+2]),R&&m(l,l,R),N(n,o,r),C(n,o,l,0,B.LEFT_JOIN_END,r,P),C(n,o,l,0,B.RIGHT_JOIN_END,r,P);const t=this.numJoinSubdivisions;for(let i=0;i<t;++i){const e=(i+1)/(t+1);C(n,o,l,e,B.LEFT_JOIN_END,r,P),C(n,o,l,e,B.RIGHT_JOIN_END,r,P)}C(n,o,l,1,B.LEFT_JOIN_START,r,P),C(n,o,l,1,B.RIGHT_JOIN_START,r,P),h(n,o),h(o,l)}y?(a(l,c[3],c[4],c[5]),R&&m(l,l,R),P=N(n,o,U),C(n,o,l,0,B.LEFT_JOIN_END,j,P),C(n,o,l,0,B.RIGHT_JOIN_END,j,P)):(P=N(n,o,U),C(n,o,o,0,B.LEFT_CAP_END,U,P),C(n,o,o,0,B.RIGHT_CAP_END,U,P)),Z(O,L+g,O,L,g);b=Z(O,b-g,O,b,g),this._parameters.wireframe&&this._addWireframeVertices(i,L,b,g)}_addWireframeVertices(e,t,r,i){const s=new Float32Array(e.buffer,r*Float32Array.BYTES_PER_ELEMENT),a=new Float32Array(e.buffer,t*Float32Array.BYTES_PER_ELEMENT,r-t);let n=0;const o=e=>n=Z(a,e,s,n,i);for(let l=0;l<a.length-1;l+=2*i)o(l),o(l+2*i),o(l+1*i),o(l+2*i),o(l+1*i),o(l+3*i)}}function Z(e,t,r,i,s){for(let a=0;a<s;a++)r[i++]=e[t++];return i}function k(e,t,r){return X(e,t.get(D.POSITION).data,r?r.get(D.POSITION):null)}function X(e,t,r){return!!e.isClosed&&(r?r.length>2:t.length>6)}const Y=f(),q=f(),Q=f(),K=f(),$=f(),ee=i(),te=i(),re=f(),ie=f(),se=_(),ae=_(),ne=f(),oe=f(),le=f(),ce=[i(),i(),i(),i()],he=[f(),f(),f(),f()],ue=I(),pe=I(),me=I(),fe=I();export{W as Parameters,z as RibbonLineMaterial};
@@ -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"../../../../core/compilerUtils.js";import"../core/shaderLibrary/ScreenSpacePass.js";import"../core/shaderModules/FloatPassUniform.js";import"../core/shaderModules/IntegerPassUniform.js";import"../core/shaderModules/interfaces.js";import"../core/shaderModules/ShaderBuilder.js";import"../core/shaderModules/Texture2DPassUniform.js";import"./CompositingTechniqueConfiguration.js";export{C as CompositingPassParameters,b as build}from"../../../../chunks/Compositing.glsl.js";
5
+ import"../core/shaderLibrary/ScreenSpacePass.js";import"../core/shaderModules/FloatPassUniform.js";import"../core/shaderModules/interfaces.js";import"../core/shaderModules/ShaderBuilder.js";import"../core/shaderModules/Texture2DPassUniform.js";export{C as CompositingPassParameters,b as build}from"../../../../chunks/Compositing.glsl.js";
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.25/esri/copyright.txt for details.
4
4
  */
5
- import{ReloadableShaderModule as r}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as i}from"../core/shaderTechnique/ShaderTechnique.js";import{Default3D as e}from"../lib/DefaultVertexAttributeLocations.js";import{Program as o}from"../lib/Program.js";import{a as t}from"../../../../chunks/Compositing.glsl.js";import{CompositingFunction as n,AlphaMode as s}from"./CompositingTechniqueConfiguration.js";import{BlendFactor as a}from"../../../webgl/enums.js";import{makePipelineState as l,simpleBlendingParams as m,defaultColorWriteParams as c,separateBlendingParams as u}from"../../../webgl/renderState.js";class g extends i{initializeProgram(r){return new o(r.rctx,g.shader.get().build(this.configuration),e)}initializePipeline(){if(this.configuration.function===n.TransparentToHUDVisibility)return l({colorWrite:{r:!1,g:!0,b:!1,a:!1}});switch(this.configuration.alphaMode){case s.None:return l({colorWrite:c});case s.Alpha:return l({blending:u(a.SRC_ALPHA,a.ONE,a.ONE_MINUS_SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA),colorWrite:c});default:return l({blending:m(a.ONE,a.ONE_MINUS_SRC_ALPHA),colorWrite:c})}}}g.shader=new r(t,(()=>import("./Compositing.glsl.js")));export{g as CompositingTechnique};
5
+ import{ReloadableShaderModule as e}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as r}from"../core/shaderTechnique/ShaderTechnique.js";import{Default3D as i}from"../lib/DefaultVertexAttributeLocations.js";import{Program as o}from"../lib/Program.js";import{a as t}from"../../../../chunks/Compositing.glsl.js";import{AlphaMode as n}from"./CompositingTechniqueConfiguration.js";import{BlendFactor as s}from"../../../webgl/enums.js";import{makePipelineState as a,simpleBlendingParams as l,defaultColorWriteParams as m,separateBlendingParams as c}from"../../../webgl/renderState.js";class p extends r{initializeProgram(e){return new o(e.rctx,p.shader.get().build(this.configuration),i)}initializePipeline(){switch(this.configuration.alphaMode){case n.None:return a({colorWrite:m});case n.Alpha:return a({blending:c(s.SRC_ALPHA,s.ONE,s.ONE_MINUS_SRC_ALPHA,s.ONE_MINUS_SRC_ALPHA),colorWrite:m});case n.PremultipliedAlpha:case n.COUNT:return a({blending:l(s.ONE,s.ONE_MINUS_SRC_ALPHA),colorWrite:m})}}}p.shader=new e(t,(()=>import("./Compositing.glsl.js")));export{p as CompositingTechnique};
@@ -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 a}from"../../../../chunks/tslib.es6.js";import{parameter as t,ShaderTechniqueConfiguration as r}from"../core/shaderTechnique/ShaderTechniqueConfiguration.js";var n,o;!function(a){a[a.Standard=0]="Standard",a[a.TransparentToHUDVisibility=1]="TransparentToHUDVisibility",a[a.Transparency=2]="Transparency",a[a.OverlayWithTransparency=3]="OverlayWithTransparency",a[a.COUNT=4]="COUNT"}(n||(n={})),function(a){a[a.None=0]="None",a[a.Alpha=1]="Alpha",a[a.PremultipliedAlpha=2]="PremultipliedAlpha",a[a.COUNT=3]="COUNT"}(o||(o={}));class i extends r{constructor(){super(...arguments),this.function=n.Standard,this.alphaMode=o.None,this.hasOpacityFactor=!1}}a([t({count:n.COUNT})],i.prototype,"function",void 0),a([t({count:o.COUNT})],i.prototype,"alphaMode",void 0),a([t()],i.prototype,"hasOpacityFactor",void 0);export{o as AlphaMode,n as CompositingFunction,i as CompositingTechniqueConfiguration};
5
+ import{_ as o}from"../../../../chunks/tslib.es6.js";import{parameter as e,ShaderTechniqueConfiguration as t}from"../core/shaderTechnique/ShaderTechniqueConfiguration.js";var a;!function(o){o[o.None=0]="None",o[o.Alpha=1]="Alpha",o[o.PremultipliedAlpha=2]="PremultipliedAlpha",o[o.COUNT=3]="COUNT"}(a||(a={}));class r extends t{constructor(){super(...arguments),this.alphaMode=a.None,this.hasOpacityFactor=!1}}o([e({count:a.COUNT})],r.prototype,"alphaMode",void 0),o([e()],r.prototype,"hasOpacityFactor",void 0);export{a as AlphaMode,r as CompositingTechniqueConfiguration};
@@ -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"../core/shaderLibrary/ScreenSpacePass.js";import"../core/shaderModules/interfaces.js";import"../core/shaderModules/ShaderBuilder.js";import"../core/shaderModules/Texture2DPassUniform.js";export{H as HUDCompositingPassParameters,b as build}from"../../../../chunks/HUDCompositing.glsl.js";
@@ -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{ReloadableShaderModule as e}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as r}from"../core/shaderTechnique/ShaderTechnique.js";import{Default3D as i}from"../lib/DefaultVertexAttributeLocations.js";import{Program as o}from"../lib/Program.js";import{a as t}from"../../../../chunks/HUDCompositing.glsl.js";import{makePipelineState as s}from"../../../webgl/renderState.js";class a extends r{initializeProgram(e){return new o(e.rctx,a.shader.get().build(),i)}initializePipeline(){return s({colorWrite:{r:!1,g:!0,b:!1,a:!1}})}}a.shader=new e(t,(()=>import("./HUDCompositing.glsl.js")));export{a as HUDCompositingTechnique};
@@ -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"../core/shaderLibrary/ScreenSpacePass.js";import"../core/shaderModules/interfaces.js";import"../core/shaderModules/ShaderBuilder.js";import"../core/shaderModules/Texture2DPassUniform.js";export{O as OITCompositingPassParameters,b as build}from"../../../../chunks/OITCompositing.glsl.js";
@@ -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{ReloadableShaderModule as e}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as r}from"../core/shaderTechnique/ShaderTechnique.js";import{Default3D as i}from"../lib/DefaultVertexAttributeLocations.js";import{Program as o}from"../lib/Program.js";import{a as t}from"../../../../chunks/OITCompositing.glsl.js";import{BlendFactor as s}from"../../../webgl/enums.js";import{makePipelineState as m,separateBlendingParams as l,defaultColorWriteParams as n}from"../../../webgl/renderState.js";class a extends r{initializeProgram(e){return new o(e.rctx,a.shader.get().build(),i)}initializePipeline(){return m({blending:l(s.SRC_ALPHA,s.ONE,s.ONE_MINUS_SRC_ALPHA,s.ONE_MINUS_SRC_ALPHA),colorWrite:n})}}a.shader=new e(t,(()=>import("./OITCompositing.glsl.js")));export{a as OITCompositingTechnique};
@@ -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"../../terrain/interfaces.js";import"../core/shaderLibrary/ScreenSpacePass.js";import"../core/shaderModules/FloatPassUniform.js";import"../core/shaderModules/IntegerPassUniform.js";import"../core/shaderModules/interfaces.js";import"../core/shaderModules/ShaderBuilder.js";import"../core/shaderModules/Texture2DPassUniform.js";export{O as OverlayCompositingPassParameters,b as build}from"../../../../chunks/OverlayCompositing.glsl.js";
@@ -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{ReloadableShaderModule as e}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as r}from"../core/shaderTechnique/ShaderTechnique.js";import{Default3D as i}from"../lib/DefaultVertexAttributeLocations.js";import{Program as o}from"../lib/Program.js";import{a as t}from"../../../../chunks/OverlayCompositing.glsl.js";import{BlendFactor as s}from"../../../webgl/enums.js";import{makePipelineState as l,simpleBlendingParams as a,defaultColorWriteParams as m}from"../../../webgl/renderState.js";class n extends r{initializeProgram(e){return new o(e.rctx,n.shader.get().build(),i)}initializePipeline(){return l({blending:a(s.ONE,s.ONE_MINUS_SRC_ALPHA),colorWrite:m})}}n.shader=new e(t,(()=>import("./OverlayCompositing.glsl.js")));export{n as OverlayCompositingTechnique};
@@ -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"../../../geometry.js";import{isSome as t,filterNones as r}from"../../../core/maybe.js";import{c as e}from"../../../chunks/mat2d.js";import{c as s,a}from"../../../chunks/mat2df64.js";import{r as o,i}from"../../../chunks/quat.js";import{a as n}from"../../../chunks/quatf64.js";import{g as l,e as h,b as m,n as c,f,q as p}from"../../../chunks/vec3.js";import{c as d}from"../../../chunks/vec3f64.js";import{Axis as u}from"../../../geometry/support/Axis.js";import w from"../../../geometry/Point.js";function g(r,e,s=null){return t(s)?[r,e,s]:[r,e]}function R(r,e,s=null){return t(s)?{x:r,y:e,z:s}:{x:r,y:e}}class W{constructor(t){this.spatialReference=t}mapToLocalMultiple(t){return r(t.map((t=>this.mapToLocal(t))))}get doUnnormalization(){return!1}}class v extends W{constructor(t,r,o=null){super(r),this._defaultZ=o,this.transform=s(),this.transformInv=s(),this.transform=a(t),e(this.transformInv,this.transform)}makeMapPoint(t,r){return g(t,r,this._defaultZ)}mapToLocal(t){return R(this.transform[0]*t[0]+this.transform[2]*t[1]+this.transform[4],this.transform[1]*t[0]+this.transform[3]*t[1]+this.transform[5])}localToMap(t){return g(this.transformInv[0]*t.x+this.transformInv[2]*t.y+this.transformInv[4],this.transformInv[1]*t.x+this.transformInv[3]*t.y+this.transformInv[5],this._defaultZ)}}class F extends W{constructor(t,r){super(t.spatialReference),this.view=t,this.defaultZ=null,this.pWS=d(),this.tangentFrameUpWS=d(),this.tangentFrameRightWS=d(),this.tangentFrameForwardWS=d(),this.localFrameRightWS=d(),this.localFrameUpWS=d(),this.worldToLocalTransform=n(),this.localToWorldTransform=n(),this.scale=1,this.scale=t.resolution,this.referenceMapPoint=r,this.defaultZ=r.hasZ?r.z:null;const e=t.state.camera.viewRight;this.view.renderCoordsHelper.toRenderCoords(this.referenceMapPoint,this.pWS),this.view.renderCoordsHelper.worldBasisAtPosition(this.pWS,u.X,this.tangentFrameRightWS),this.view.renderCoordsHelper.worldBasisAtPosition(this.pWS,u.Y,this.tangentFrameUpWS),this.view.renderCoordsHelper.worldBasisAtPosition(this.pWS,u.Z,this.tangentFrameForwardWS);const s=d();l(s,this.tangentFrameForwardWS,h(e,this.tangentFrameForwardWS)),m(this.localFrameRightWS,e,s),c(this.localFrameRightWS,this.localFrameRightWS),f(this.localFrameUpWS,this.tangentFrameForwardWS,this.localFrameRightWS),o(this.worldToLocalTransform,this.localFrameRightWS,this.tangentFrameRightWS),i(this.localToWorldTransform,this.worldToLocalTransform)}get doUnnormalization(){return"global"===this.view.viewingMode}makeMapPoint(t,r){return g(t,r,this.defaultZ)}mapToLocal(r){const e=d();this.view.renderCoordsHelper.toRenderCoords(new w({x:r[0],y:r[1],spatialReference:this.spatialReference}),e),p(e,e,this.worldToLocalTransform);const s=this.view.renderCoordsHelper.fromRenderCoords(e,this.view.spatialReference);return t(s)?R(s.x/this.scale,s.y/this.scale):null}localToMap(r){const e=d();this.view.renderCoordsHelper.toRenderCoords(new w({x:r.x*this.scale,y:r.y*this.scale,spatialReference:this.spatialReference}),e),p(e,e,this.localToWorldTransform);const s=this.view.renderCoordsHelper.fromRenderCoords(e,this.view.spatialReference);return t(s)?g(s.x,s.y,this.defaultZ):null}}function S(t,r){if("2d"===t.type)return new v(t.state.transform,t.spatialReference,r.length>2?r[2]:null);if("3d"===t.type){const e=r.length>2?new w({x:r[0],y:r[1],z:r[2],spatialReference:t.spatialReference}):new w({x:r[0],y:r[1],spatialReference:t.spatialReference});return new F(t,e)}return null}export{v as AffineCoordinateSystem,F as SceneViewCoordinateSystem,W as SurfaceCoordinateSystem,S as createViewAlignedCoordinateSystem,g as makeMapPoint,R as makeSurfacePoint};
5
+ import"../../../geometry.js";import{isSome as t,filterNones as r}from"../../../core/maybe.js";import{c as e}from"../../../chunks/mat2d.js";import{c as s,a as o}from"../../../chunks/mat2df64.js";import{r as a,i}from"../../../chunks/quat.js";import{c as n}from"../../../chunks/quatf64.js";import{g as l,e as h,b as m,n as c,f,k as p}from"../../../chunks/vec3.js";import{c as d}from"../../../chunks/vec3f64.js";import{Axis as u}from"../../../geometry/support/Axis.js";import w from"../../../geometry/Point.js";function g(r,e,s=null){return t(s)?[r,e,s]:[r,e]}function R(r,e,s=null){return t(s)?{x:r,y:e,z:s}:{x:r,y:e}}class W{constructor(t){this.spatialReference=t}mapToLocalMultiple(t){return r(t.map((t=>this.mapToLocal(t))))}get doUnnormalization(){return!1}}class v extends W{constructor(t,r,a=null){super(r),this._defaultZ=a,this.transform=s(),this.transformInv=s(),this.transform=o(t),e(this.transformInv,this.transform)}makeMapPoint(t,r){return g(t,r,this._defaultZ)}mapToLocal(t){return R(this.transform[0]*t[0]+this.transform[2]*t[1]+this.transform[4],this.transform[1]*t[0]+this.transform[3]*t[1]+this.transform[5])}localToMap(t){return g(this.transformInv[0]*t.x+this.transformInv[2]*t.y+this.transformInv[4],this.transformInv[1]*t.x+this.transformInv[3]*t.y+this.transformInv[5],this._defaultZ)}}class F extends W{constructor(t,r){super(t.spatialReference),this.view=t,this.defaultZ=null,this.pWS=d(),this.tangentFrameUpWS=d(),this.tangentFrameRightWS=d(),this.tangentFrameForwardWS=d(),this.localFrameRightWS=d(),this.localFrameUpWS=d(),this.worldToLocalTransform=n(),this.localToWorldTransform=n(),this.scale=1,this.scale=t.resolution,this.referenceMapPoint=r,this.defaultZ=r.hasZ?r.z:null;const e=t.state.camera.viewRight;this.view.renderCoordsHelper.toRenderCoords(this.referenceMapPoint,this.pWS),this.view.renderCoordsHelper.worldBasisAtPosition(this.pWS,u.X,this.tangentFrameRightWS),this.view.renderCoordsHelper.worldBasisAtPosition(this.pWS,u.Y,this.tangentFrameUpWS),this.view.renderCoordsHelper.worldBasisAtPosition(this.pWS,u.Z,this.tangentFrameForwardWS);const s=d();l(s,this.tangentFrameForwardWS,h(e,this.tangentFrameForwardWS)),m(this.localFrameRightWS,e,s),c(this.localFrameRightWS,this.localFrameRightWS),f(this.localFrameUpWS,this.tangentFrameForwardWS,this.localFrameRightWS),a(this.worldToLocalTransform,this.localFrameRightWS,this.tangentFrameRightWS),i(this.localToWorldTransform,this.worldToLocalTransform)}get doUnnormalization(){return"global"===this.view.viewingMode}makeMapPoint(t,r){return g(t,r,this.defaultZ)}mapToLocal(r){const e=d();this.view.renderCoordsHelper.toRenderCoords(new w({x:r[0],y:r[1],spatialReference:this.spatialReference}),e),p(e,e,this.worldToLocalTransform);const s=this.view.renderCoordsHelper.fromRenderCoords(e,this.view.spatialReference);return t(s)?R(s.x/this.scale,s.y/this.scale):null}localToMap(r){const e=d();this.view.renderCoordsHelper.toRenderCoords(new w({x:r.x*this.scale,y:r.y*this.scale,spatialReference:this.spatialReference}),e),p(e,e,this.localToWorldTransform);const s=this.view.renderCoordsHelper.fromRenderCoords(e,this.view.spatialReference);return t(s)?g(s.x,s.y,this.defaultZ):null}}function S(t,r){if("2d"===t.type)return new v(t.state.transform,t.spatialReference,r.length>2?r[2]:null);if("3d"===t.type){const e=r.length>2?new w({x:r[0],y:r[1],z:r[2],spatialReference:t.spatialReference}):new w({x:r[0],y:r[1],spatialReference:t.spatialReference});return new F(t,e)}return null}export{v as AffineCoordinateSystem,F as SceneViewCoordinateSystem,W as SurfaceCoordinateSystem,S as createViewAlignedCoordinateSystem,g as makeMapPoint,R as makeSurfacePoint};
@@ -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{l as e,d as t,c as r}from"../../chunks/vec2.js";import{a,f as i,b as n}from"../../chunks/vec2f64.js";import{s,h as o,i as u,c}from"../../chunks/vec3.js";import{c as h,f as p,d as v}from"../../chunks/vec3f64.js";import{l as y,c as l}from"../../chunks/vec4.js";import{c as d,f,b as T}from"../../chunks/vec4f64.js";import _ from"../../geometry/Point.js";var m;!function(e){e[e.Z=0]="Z",e[e.M=1]="M"}(m||(m={}));class Z{constructor(e){this.spatialReference=e}createVector(){return this._tag(a())}pointToVector(e){return this._tag(i(e.x,e.y))}arrayToVector(e){return this._tag(i(e[0],e[1]))}vectorToArray(e){return[e[0],e[1]]}pointToArray(e){return[e.x,e.y]}vectorToPoint(e,t=new _){return t.x=e[0],t.y=e[1],t.z=void 0,t.m=void 0,t.spatialReference=this.spatialReference,t}arrayToPoint(e,t=new _){return t.x=e[0],t.y=e[1],t.z=void 0,t.m=void 0,t.spatialReference=this.spatialReference,t}vectorToDehydratedPoint(e,t={x:void 0,y:void 0,z:void 0,m:void 0,hasZ:void 0,hasM:void 0,spatialReference:void 0,type:"point"}){return t.x=e[0],t.y=e[1],t.z=void 0,t.m=void 0,t.hasZ=!1,t.hasM=!1,t.spatialReference=this.spatialReference,t}lerp(t,r,a,i){return e(i,t,r,a)}addDelta(e,t,r){e[0]+=t,e[1]+=r}distance(e,r){return t(e,r)}getZ(e,t){return t}hasZ(){return!1}getM(e,t){return t}hasM(){return!1}clone(e){return this._tag(n(e))}copy(e,t){return r(t,e)}fromXYZ(e){return this._tag(i(e[0],e[1]))}toXYZ(e,t=h()){return s(t,e[0],e[1],0)}_tag(e){return e}}class g{constructor(e,t){this._valueType=e,this.spatialReference=t}createVector(){return this._tag(h())}pointToVector(e){return this._tag(p(e.x,e.y,this._valueType===m.Z?e.z:e.m))}arrayToVector(e){return this._tag(p(e[0],e[1],e[2]||0))}vectorToArray(e){return[e[0],e[1],e[2]]}pointToArray(e){return this._valueType===m.Z?[e.x,e.y,e.z]:[e.x,e.y,e.m]}vectorToPoint(e,t=new _){return t.x=e[0],t.y=e[1],t.z=this._valueType===m.Z?e[2]:void 0,t.m=this._valueType===m.M?e[2]:void 0,t.spatialReference=this.spatialReference,t}arrayToPoint(e,t=new _){return t.x=e[0],t.y=e[1],t.z=this._valueType===m.Z?e[2]:void 0,t.m=this._valueType===m.M?e[2]:void 0,t.spatialReference=this.spatialReference,t}vectorToDehydratedPoint(e,t={x:void 0,y:void 0,z:void 0,m:void 0,hasZ:void 0,hasM:void 0,spatialReference:void 0,type:"point"}){const r=this._valueType===m.Z,a=this._valueType===m.M;return t.x=e[0],t.y=e[1],t.z=r?e[2]:void 0,t.m=a?e[2]:void 0,t.hasZ=r,t.hasM=a,t.spatialReference=this.spatialReference,t}lerp(e,t,r,a){return o(a,e,t,r)}addDelta(e,t,r,a){e[0]+=t,e[1]+=r,this._valueType===m.Z&&(e[2]+=a)}distance(e,r){return this._valueType===m.Z?u(e,r):t(e,r)}getZ(e,t){return this._valueType===m.Z?e[2]:t}hasZ(){return this._valueType===m.Z}getM(e,t){return this._valueType===m.M?e[2]:t}hasM(){return this._valueType===m.M}clone(e){return this._tag(v(e))}copy(e,t){return c(t,e)}fromXYZ(e,t=0,r=0){return this._tag(p(e[0],e[1],this._valueType===m.Z?e.length>2?e[2]:t:r))}toXYZ(e,t=h()){return s(t,e[0],e[1],this._valueType===m.Z?e[2]:0)}_tag(e){return e}}class R{constructor(e){this.spatialReference=e}createVector(){return this._tag(d())}pointToVector(e){return this._tag(f(e.x,e.y,e.z,e.m))}arrayToVector(e){return this._tag(f(e[0],e[1],e[2]||0,e[3]||0))}vectorToArray(e){return[e[0],e[1],e[2],e[3]]}pointToArray(e){return[e.x,e.y,e.z,e.m]}vectorToPoint(e,t=new _){return t.x=e[0],t.y=e[1],t.z=e[2],t.m=e[3],t.spatialReference=this.spatialReference,t}arrayToPoint(e,t=new _){return t.x=e[0],t.y=e[1],t.z=e[2],t.m=e[3],t.spatialReference=this.spatialReference,t}vectorToDehydratedPoint(e,t={x:void 0,y:void 0,z:void 0,m:void 0,hasZ:void 0,hasM:void 0,spatialReference:void 0,type:"point"}){return t.x=e[0],t.y=e[1],t.z=e[2],t.m=e[3],t.hasZ=!0,t.hasM=!0,t.spatialReference=this.spatialReference,t}lerp(e,t,r,a){return y(a,e,t,r)}addDelta(e,t,r,a){e[0]+=t,e[1]+=r,e[2]+=a}distance(e,t){return u(e,t)}getZ(e){return e[2]}hasZ(){return!0}getM(e){return e[3]}hasM(){return!0}clone(e){return this._tag(T(e))}copy(e,t){return l(t,e)}fromXYZ(e,t=0,r=0){return this._tag(f(e[0],e[1],e.length>2?e[2]:t,r))}toXYZ(e,t=h()){return s(t,e[0],e[1],e[2])}_tag(e){return e}}function x(e,t,r){return e&&t?new R(r):t?new g(m.M,r):e?new g(m.Z,r):new Z(r)}export{Z as CoordinateHelper2D,g as CoordinateHelper3D,R as CoordinateHelper4D,x as createCoordinateHelper};
5
+ import{l as e,d as t,c as r}from"../../chunks/vec2.js";import{a,f as i,b as n}from"../../chunks/vec2f64.js";import{s,h as o,i as u,c}from"../../chunks/vec3.js";import{c as h,f as p,d as v}from"../../chunks/vec3f64.js";import{l as y,c as l}from"../../chunks/vec4.js";import{c as d,f,a as T}from"../../chunks/vec4f64.js";import _ from"../../geometry/Point.js";var m;!function(e){e[e.Z=0]="Z",e[e.M=1]="M"}(m||(m={}));class Z{constructor(e){this.spatialReference=e}createVector(){return this._tag(a())}pointToVector(e){return this._tag(i(e.x,e.y))}arrayToVector(e){return this._tag(i(e[0],e[1]))}vectorToArray(e){return[e[0],e[1]]}pointToArray(e){return[e.x,e.y]}vectorToPoint(e,t=new _){return t.x=e[0],t.y=e[1],t.z=void 0,t.m=void 0,t.spatialReference=this.spatialReference,t}arrayToPoint(e,t=new _){return t.x=e[0],t.y=e[1],t.z=void 0,t.m=void 0,t.spatialReference=this.spatialReference,t}vectorToDehydratedPoint(e,t={x:void 0,y:void 0,z:void 0,m:void 0,hasZ:void 0,hasM:void 0,spatialReference:void 0,type:"point"}){return t.x=e[0],t.y=e[1],t.z=void 0,t.m=void 0,t.hasZ=!1,t.hasM=!1,t.spatialReference=this.spatialReference,t}lerp(t,r,a,i){return e(i,t,r,a)}addDelta(e,t,r){e[0]+=t,e[1]+=r}distance(e,r){return t(e,r)}getZ(e,t){return t}hasZ(){return!1}getM(e,t){return t}hasM(){return!1}clone(e){return this._tag(n(e))}copy(e,t){return r(t,e)}fromXYZ(e){return this._tag(i(e[0],e[1]))}toXYZ(e,t=h()){return s(t,e[0],e[1],0)}_tag(e){return e}}class g{constructor(e,t){this._valueType=e,this.spatialReference=t}createVector(){return this._tag(h())}pointToVector(e){return this._tag(p(e.x,e.y,this._valueType===m.Z?e.z:e.m))}arrayToVector(e){return this._tag(p(e[0],e[1],e[2]||0))}vectorToArray(e){return[e[0],e[1],e[2]]}pointToArray(e){return this._valueType===m.Z?[e.x,e.y,e.z]:[e.x,e.y,e.m]}vectorToPoint(e,t=new _){return t.x=e[0],t.y=e[1],t.z=this._valueType===m.Z?e[2]:void 0,t.m=this._valueType===m.M?e[2]:void 0,t.spatialReference=this.spatialReference,t}arrayToPoint(e,t=new _){return t.x=e[0],t.y=e[1],t.z=this._valueType===m.Z?e[2]:void 0,t.m=this._valueType===m.M?e[2]:void 0,t.spatialReference=this.spatialReference,t}vectorToDehydratedPoint(e,t={x:void 0,y:void 0,z:void 0,m:void 0,hasZ:void 0,hasM:void 0,spatialReference:void 0,type:"point"}){const r=this._valueType===m.Z,a=this._valueType===m.M;return t.x=e[0],t.y=e[1],t.z=r?e[2]:void 0,t.m=a?e[2]:void 0,t.hasZ=r,t.hasM=a,t.spatialReference=this.spatialReference,t}lerp(e,t,r,a){return o(a,e,t,r)}addDelta(e,t,r,a){e[0]+=t,e[1]+=r,this._valueType===m.Z&&(e[2]+=a)}distance(e,r){return this._valueType===m.Z?u(e,r):t(e,r)}getZ(e,t){return this._valueType===m.Z?e[2]:t}hasZ(){return this._valueType===m.Z}getM(e,t){return this._valueType===m.M?e[2]:t}hasM(){return this._valueType===m.M}clone(e){return this._tag(v(e))}copy(e,t){return c(t,e)}fromXYZ(e,t=0,r=0){return this._tag(p(e[0],e[1],this._valueType===m.Z?e.length>2?e[2]:t:r))}toXYZ(e,t=h()){return s(t,e[0],e[1],this._valueType===m.Z?e[2]:0)}_tag(e){return e}}class R{constructor(e){this.spatialReference=e}createVector(){return this._tag(d())}pointToVector(e){return this._tag(f(e.x,e.y,e.z,e.m))}arrayToVector(e){return this._tag(f(e[0],e[1],e[2]||0,e[3]||0))}vectorToArray(e){return[e[0],e[1],e[2],e[3]]}pointToArray(e){return[e.x,e.y,e.z,e.m]}vectorToPoint(e,t=new _){return t.x=e[0],t.y=e[1],t.z=e[2],t.m=e[3],t.spatialReference=this.spatialReference,t}arrayToPoint(e,t=new _){return t.x=e[0],t.y=e[1],t.z=e[2],t.m=e[3],t.spatialReference=this.spatialReference,t}vectorToDehydratedPoint(e,t={x:void 0,y:void 0,z:void 0,m:void 0,hasZ:void 0,hasM:void 0,spatialReference:void 0,type:"point"}){return t.x=e[0],t.y=e[1],t.z=e[2],t.m=e[3],t.hasZ=!0,t.hasM=!0,t.spatialReference=this.spatialReference,t}lerp(e,t,r,a){return y(a,e,t,r)}addDelta(e,t,r,a){e[0]+=t,e[1]+=r,e[2]+=a}distance(e,t){return u(e,t)}getZ(e){return e[2]}hasZ(){return!0}getM(e){return e[3]}hasM(){return!0}clone(e){return this._tag(T(e))}copy(e,t){return l(t,e)}fromXYZ(e,t=0,r=0){return this._tag(f(e[0],e[1],e.length>2?e[2]:t,r))}toXYZ(e,t=h()){return s(t,e[0],e[1],e[2])}_tag(e){return e}}function x(e,t,r){return e&&t?new R(r):t?new g(m.M,r):e?new g(m.Z,r):new Z(r)}export{Z as CoordinateHelper2D,g as CoordinateHelper3D,R as CoordinateHelper4D,x as createCoordinateHelper};
@@ -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 i,isNone as e}from"../../../../core/maybe.js";import{a as s,f as n,h as r}from"../../../../chunks/vec2.js";import{a as h}from"../../../../chunks/vec2f64.js";import{r as o,e as a,o as _,f as c,n as l,a as p,g as d,F as g,c as f}from"../../../../chunks/vec3.js";import{c as m,f as u}from"../../../../chunks/vec3f64.js";import{create as D,fromPositionAndNormal as E,signedDistance as x,copy as b,isPointInside as I,normal as V,intersectLine as M}from"../../../../geometry/support/plane.js";import{angle as X,projectPointSignedLength as Y}from"../../../../geometry/support/vector.js";import{intersectLineAndRay as N,LineType as y}from"../../../support/geometry2dUtils.js";class P{constructor(t,i,e,s=0,n=j.IMMEDIATE){this._helper=t,this._planeType=i,this._edge=e,this.distance=s,this._plane=D(),this._offsetPlane=D(),this._minDistance=-1/0,this._maxDistance=1/0,this._selectedArrow=1,n===j.IMMEDIATE&&this._initialize()}get plane(){return this._plane}get requiresSplitEdgeLeft(){return!this._left.isOriginalDirection}get requiresSplitEdgeRight(){return!this._right.isOriginalDirection}get edgeDirection(){return this._edgeDirection}_initialize(){this._initializeNeighbors(),this._initializePlane(),this._initializeDistanceConstraints()}_initializeNeighbors(){const t=this._toXYZ(this._edge.leftVertex.pos),i=this._toXYZ(this._edge.leftVertex.leftEdge?.leftVertex?.pos),e=this._toXYZ(this._edge.rightVertex.pos),s=this._toXYZ(this._edge.rightVertex.rightEdge?.rightVertex?.pos);this._edgeDirection=o(m(),t,e),this._left=this._computeNeighbor(t,i,this._edgeDirection),this._right=this._computeNeighbor(e,s,this._edgeDirection)}_toXYZ(t){return i(t)?this._helper.toXYZ(t):null}_pointToXYZ(t){return this._toXYZ(this._helper.pointToVector(t))}_computeNeighbor(t,i,s){if(e(i))return{start:t,end:i,direction:u(-s[1],s[0],0),isOriginalDirection:!0};const n=o(m(),t,i),r=!this._passesBisectingAngleThreshold(n,s);return{start:t,end:i,direction:r?this._bisectVectorsPerpendicular(s,n):n,isOriginalDirection:!r}}_passesBisectingAngleThreshold(t,i){const e=Math.abs(X(i,t));return e>=T&&e<=Math.PI-T}_bisectVectorsPerpendicular(t,i){const e=a(t,i)<0?t:_(m(),t),s=Math.abs(a(e,i));if(!(s<Z||s>1-Z))return this._bisectDirection(e,i);const n=c(m(),e,[0,0,1]);return l(n,n)}_bisectDirection(t,i){const e=p(m(),t,i);return l(e,e)}_initializePlane(){const t=this._computeNormalDirection(this._left),i=this._computeNormalDirection(this._right);a(t,i)<0&&_(i,i),E(this._left.start,this._bisectDirection(t,i),this._plane)}_computeNormalDirection(t){const i=c(m(),t.direction,this._edgeDirection);l(i,i);const e=c(m(),this._edgeDirection,i);return this._planeType===A.XY&&(e[2]=0),l(e,e)}_initializeDistanceConstraints(){i(this._left.end)&&!this.requiresSplitEdgeLeft&&this._updateDistanceConstraint(x(this._plane,this._left.end)),i(this._right.end)&&!this.requiresSplitEdgeRight&&this._updateDistanceConstraint(x(this._plane,this._right.end)),this._updateIntersectDistanceConstraint(this._plane)}_updateDistanceConstraint(t){t<=0&&(this._minDistance=Math.max(this._minDistance,t)),t>=0&&(this._maxDistance=Math.min(this._maxDistance,t))}_updateIntersectDistanceConstraint(t){const i=V(t),e=this._edgeDirection,o=p(m(),this._left.start,this._left.direction),a=p(m(),this._right.start,this._right.direction),_=this._pointInBasis2D(h(),i,e,this._left.start),c=this._pointInBasis2D(h(),i,e,o),l=this._pointInBasis2D(h(),i,e,this._right.start),g=this._pointInBasis2D(h(),i,e,a),[f]=N({start:c,end:_,type:y.LINE},{start:g,end:l,type:y.LINE});if(!f)return;const u=s(h(),_,c);n(u,u);const D=s(h(),f,c),E=r(u,D),b=p(m(),o,d(m(),this._left.direction,-E)),I=x(t,b);this._updateDistanceConstraint(I)}_pointInBasis2D(t,i,e,s){return t[0]=Y(i,s),t[1]=Y(e,s),t}_offset(t,e){Number.isFinite(this._minDistance)&&(e=Math.max(this._minDistance,e)),Number.isFinite(this._maxDistance)&&(e=Math.min(this._maxDistance,e)),b(this._offsetPlane,this._plane),this._offsetPlane[3]-=e;const s=(t,e,s)=>i(e)&&M(this._offsetPlane,t,p(m(),t,e),s),n=m();(t===this._edge.leftVertex?s(this._left.start,this._left.direction,n):s(this._right.start,this._right.direction,n))&&this._helper.copy(this._helper.fromXYZ(n,void 0,this._helper.getM(t.pos)),t.pos)}selectArrowFromStartPoint(t){this._selectedArrow=I(this.plane,this._pointToXYZ(t))?1:-1}get selectedArrow(){return this._selectedArrow}signedDistanceToPoint(t){return x(this.plane,this._pointToXYZ(t))}apply(t){this._offset(t,this.distance)}undo(t){this._offset(t,0)}canAccumulate(t){return t instanceof P&&this._edge.leftVertex.index===t._edge.leftVertex.index&&this._edge.rightVertex.index===t._edge.rightVertex.index&&this._edge.component===t._edge.component&&this._maybeEqualsVec3(this._left.direction,t._left.direction)&&this._maybeEqualsVec3(this._right.direction,t._right.direction)&&g(V(this._plane),V(t._plane))}accumulate(t,i){const e=this._plane[3]-i._plane[3]+i.distance;this._offset(t,e)}accumulateParams(t){const i=t.distance-t._plane[3];this.distance=i+this._plane[3]}clone(){const t=new P(this._helper,this._planeType,this._edge,this.distance,j.DEFERRED);return b(t._plane,this._plane),b(t._offsetPlane,this._offsetPlane),t._maxDistance=this._maxDistance,t._minDistance=this._minDistance,t._left=this._cloneNeighbor(this._left),t._right=this._cloneNeighbor(this._right),t._edgeDirection=f(m(),this._edgeDirection),t}_maybeEqualsVec3(t,s){return e(t)&&e(s)||i(t)&&i(s)&&g(t,s)}_cloneNeighbor({start:t,end:e,direction:s,isOriginalDirection:n}){return{start:f(m(),t),end:i(e)?f(m(),e):null,direction:f(m(),s),isOriginalDirection:n}}}const T=t(15),Z=.001;var A,j;!function(t){t[t.XYZ=0]="XYZ",t[t.XY=1]="XY"}(A||(A={})),function(t){t[t.IMMEDIATE=0]="IMMEDIATE",t[t.DEFERRED=1]="DEFERRED"}(j||(j={}));export{P as OffsetEdgeVertex,A as PlaneType};
5
+ import{deg2rad as t}from"../../../../core/mathUtils.js";import{isSome as i,isNone as e}from"../../../../core/maybe.js";import{a as s,f as n,h as r}from"../../../../chunks/vec2.js";import{a as h}from"../../../../chunks/vec2f64.js";import{A as o,e as a,x as _,f as c,n as l,a as p,g as d,F as g,c as f}from"../../../../chunks/vec3.js";import{c as m,f as u}from"../../../../chunks/vec3f64.js";import{create as D,fromPositionAndNormal as E,signedDistance as x,copy as b,isPointInside as I,normal as V,intersectLine as M}from"../../../../geometry/support/plane.js";import{angle as X,projectPointSignedLength as Y}from"../../../../geometry/support/vector.js";import{intersectLineAndRay as N,LineType as y}from"../../../support/geometry2dUtils.js";class P{constructor(t,i,e,s=0,n=j.IMMEDIATE){this._helper=t,this._planeType=i,this._edge=e,this.distance=s,this._plane=D(),this._offsetPlane=D(),this._minDistance=-1/0,this._maxDistance=1/0,this._selectedArrow=1,n===j.IMMEDIATE&&this._initialize()}get plane(){return this._plane}get requiresSplitEdgeLeft(){return!this._left.isOriginalDirection}get requiresSplitEdgeRight(){return!this._right.isOriginalDirection}get edgeDirection(){return this._edgeDirection}_initialize(){this._initializeNeighbors(),this._initializePlane(),this._initializeDistanceConstraints()}_initializeNeighbors(){const t=this._toXYZ(this._edge.leftVertex.pos),i=this._toXYZ(this._edge.leftVertex.leftEdge?.leftVertex?.pos),e=this._toXYZ(this._edge.rightVertex.pos),s=this._toXYZ(this._edge.rightVertex.rightEdge?.rightVertex?.pos);this._edgeDirection=o(m(),t,e),this._left=this._computeNeighbor(t,i,this._edgeDirection),this._right=this._computeNeighbor(e,s,this._edgeDirection)}_toXYZ(t){return i(t)?this._helper.toXYZ(t):null}_pointToXYZ(t){return this._toXYZ(this._helper.pointToVector(t))}_computeNeighbor(t,i,s){if(e(i))return{start:t,end:i,direction:u(-s[1],s[0],0),isOriginalDirection:!0};const n=o(m(),t,i),r=!this._passesBisectingAngleThreshold(n,s);return{start:t,end:i,direction:r?this._bisectVectorsPerpendicular(s,n):n,isOriginalDirection:!r}}_passesBisectingAngleThreshold(t,i){const e=Math.abs(X(i,t));return e>=T&&e<=Math.PI-T}_bisectVectorsPerpendicular(t,i){const e=a(t,i)<0?t:_(m(),t),s=Math.abs(a(e,i));if(!(s<A||s>1-A))return this._bisectDirection(e,i);const n=c(m(),e,[0,0,1]);return l(n,n)}_bisectDirection(t,i){const e=p(m(),t,i);return l(e,e)}_initializePlane(){const t=this._computeNormalDirection(this._left),i=this._computeNormalDirection(this._right);a(t,i)<0&&_(i,i),E(this._left.start,this._bisectDirection(t,i),this._plane)}_computeNormalDirection(t){const i=c(m(),t.direction,this._edgeDirection);l(i,i);const e=c(m(),this._edgeDirection,i);return this._planeType===Z.XY&&(e[2]=0),l(e,e)}_initializeDistanceConstraints(){i(this._left.end)&&!this.requiresSplitEdgeLeft&&this._updateDistanceConstraint(x(this._plane,this._left.end)),i(this._right.end)&&!this.requiresSplitEdgeRight&&this._updateDistanceConstraint(x(this._plane,this._right.end)),this._updateIntersectDistanceConstraint(this._plane)}_updateDistanceConstraint(t){t<=0&&(this._minDistance=Math.max(this._minDistance,t)),t>=0&&(this._maxDistance=Math.min(this._maxDistance,t))}_updateIntersectDistanceConstraint(t){const i=V(t),e=this._edgeDirection,o=p(m(),this._left.start,this._left.direction),a=p(m(),this._right.start,this._right.direction),_=this._pointInBasis2D(h(),i,e,this._left.start),c=this._pointInBasis2D(h(),i,e,o),l=this._pointInBasis2D(h(),i,e,this._right.start),g=this._pointInBasis2D(h(),i,e,a),[f]=N({start:c,end:_,type:y.LINE},{start:g,end:l,type:y.LINE});if(!f)return;const u=s(h(),_,c);n(u,u);const D=s(h(),f,c),E=r(u,D),b=p(m(),o,d(m(),this._left.direction,-E)),I=x(t,b);this._updateDistanceConstraint(I)}_pointInBasis2D(t,i,e,s){return t[0]=Y(i,s),t[1]=Y(e,s),t}_offset(t,e){Number.isFinite(this._minDistance)&&(e=Math.max(this._minDistance,e)),Number.isFinite(this._maxDistance)&&(e=Math.min(this._maxDistance,e)),b(this._offsetPlane,this._plane),this._offsetPlane[3]-=e;const s=(t,e,s)=>i(e)&&M(this._offsetPlane,t,p(m(),t,e),s),n=m();(t===this._edge.leftVertex?s(this._left.start,this._left.direction,n):s(this._right.start,this._right.direction,n))&&this._helper.copy(this._helper.fromXYZ(n,void 0,this._helper.getM(t.pos)),t.pos)}selectArrowFromStartPoint(t){this._selectedArrow=I(this.plane,this._pointToXYZ(t))?1:-1}get selectedArrow(){return this._selectedArrow}signedDistanceToPoint(t){return x(this.plane,this._pointToXYZ(t))}apply(t){this._offset(t,this.distance)}undo(t){this._offset(t,0)}canAccumulate(t){return t instanceof P&&this._edge.leftVertex.index===t._edge.leftVertex.index&&this._edge.rightVertex.index===t._edge.rightVertex.index&&this._edge.component===t._edge.component&&this._maybeEqualsVec3(this._left.direction,t._left.direction)&&this._maybeEqualsVec3(this._right.direction,t._right.direction)&&g(V(this._plane),V(t._plane))}accumulate(t,i){const e=this._plane[3]-i._plane[3]+i.distance;this._offset(t,e)}accumulateParams(t){const i=t.distance-t._plane[3];this.distance=i+this._plane[3]}clone(){const t=new P(this._helper,this._planeType,this._edge,this.distance,j.DEFERRED);return b(t._plane,this._plane),b(t._offsetPlane,this._offsetPlane),t._maxDistance=this._maxDistance,t._minDistance=this._minDistance,t._left=this._cloneNeighbor(this._left),t._right=this._cloneNeighbor(this._right),t._edgeDirection=f(m(),this._edgeDirection),t}_maybeEqualsVec3(t,s){return e(t)&&e(s)||i(t)&&i(s)&&g(t,s)}_cloneNeighbor({start:t,end:e,direction:s,isOriginalDirection:n}){return{start:f(m(),t),end:i(e)?f(m(),e):null,direction:f(m(),s),isOriginalDirection:n}}}const T=t(15),A=.001;var Z,j;!function(t){t[t.XYZ=0]="XYZ",t[t.XY=1]="XY"}(Z||(Z={})),function(t){t[t.IMMEDIATE=0]="IMMEDIATE",t[t.DEFERRED=1]="DEFERRED"}(j||(j={}));export{P as OffsetEdgeVertex,Z as PlaneType};
@@ -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 s}from"../../../../core/maybe.js";import{max as o}from"../../../../core/quantityUtils.js";import{q as i,s as t,h as n,x as r,y as a,a as e,j as c,b as g}from"../../../../chunks/vec2.js";import{a as b,I as f,g as u,b as m,h as p,f as I,n as d,e as N,l as j,z as h}from"../../../../chunks/vec3.js";import{f as l,Z as x}from"../../../../chunks/vec3f64.js";import{a as E,u as T}from"../../../../chunks/boundedPlane.js";import{sv2d as V,sv3d as v}from"../../../../geometry/support/vectorStacks.js";import{MoveVertex as R}from"../operations/MoveVertex.js";import{RotateVertex as k}from"../operations/RotateVertex.js";import{ScaleVertex as y}from"../operations/ScaleVertex.js";import{UpdateVertices as C}from"../operations/UpdateVertices.js";import{autoHorizontalDistanceByElevationMode as F}from"../../../support/automaticLengthMeasurementUtils.js";function S(s,o){return _(s,o,!1)}function Y(s,o){return _(s,o,!0)}function _(s,o,i){if(s instanceof C){if(s.operation instanceof R)return P(s.operation,o,i),!0;if(s.operation instanceof k)return U(s.operation,o,i),!0;if(s.operation instanceof y)return q(s.operation,o,i),!0}return!1}function P(s,o,i=!1){const t=i?-1:1,n=l(t*s.dx,t*s.dy,t*s.dz);b(o.origin,o.origin,n)}function U(s,o,i=!1){const t=i?-s.angle:s.angle;f(o.basis1,o.basis1,x,t),f(o.basis2,o.basis2,x,t)}function q(s,o,t=!1){const n=t?1/s.factor1:s.factor1,r=t?1/s.factor2:s.factor2;u(o.basis1,o.basis1,n),u(o.basis2,o.basis2,r),i(o.origin,o.origin,s.origin,s.axis1,n),i(o.origin,o.origin,s.origin,s.axis2,r)}function z(s,o,i,b){b||(b=E());const f=t(V.get(),s[1],-s[0]),u=t(V.get(),Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY),m=t(V.get(),Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY),p=V.get();o.components.forEach((o=>o.vertices.forEach((o=>{const i=o.pos;t(p,n(s,i),n(f,i)),r(u,u,p),a(m,m,p)}))));const I=1e-6,d=t(V.get(),m[0]-u[0]<I?i/2:0,m[1]-u[1]<I?i/2:0);return e(u,u,d),c(m,m,d),g(b.basis1,s,(m[0]-u[0])/2),g(b.basis2,f,(m[1]-u[1])/2),t(b.origin,u[0]*s[0]+u[1]*f[0],u[0]*s[1]+u[1]*f[1]),c(b.origin,b.origin,b.basis1),c(b.origin,b.origin,b.basis2),b}function A(s,o,i,t=0,n){n||(n=E()),o.toRenderCoords(s.origin,i,n.origin);const r=v.get();b(r,s.origin,s.basis1),b(r,r,s.basis2),o.toRenderCoords(r,i,r);const a=v.get();b(a,s.origin,s.basis1),m(a,a,s.basis2),o.toRenderCoords(a,i,a);const e=v.get();m(e,s.origin,s.basis1),m(e,e,s.basis2),o.toRenderCoords(e,i,e);const c=v.get();m(c,s.origin,s.basis1),b(c,c,s.basis2),o.toRenderCoords(c,i,c);const g=p(v.get(),r,a,.5);m(g,g,n.origin);const f=p(v.get(),e,c,.5);m(f,n.origin,f),p(n.basis1,g,f,.5);const h=p(v.get(),c,r,.5);m(h,h,n.origin);const l=p(v.get(),a,e,.5);m(l,n.origin,l),p(n.basis2,h,l,.5);const x=I(v.get(),n.basis1,n.basis2),V=I(x,x,n.basis1);return d(V,V),u(n.basis2,V,N(n.basis2,V)),u(n.basis1,n.basis1,1+t/j(n.basis1)),u(n.basis2,n.basis2,1+t/j(n.basis2)),T(n),n}function G(i,t,n,r){const a=v.get();m(a,m(a,i.origin,i.basis1),i.basis2);const e=v.get();h(e,a,i.basis1,2);const c=v.get();h(c,e,i.basis2,2);const g=v.get();h(g,a,i.basis2,2),a[2]=e[2]=c[2]=g[2]=t;const b=r?"on-the-ground":"absolute-height",f=o(F(a,e,n,b),F(g,c,n,b)),u=o(F(e,c,n,b),F(a,g,n,b));return s(u)||s(f)?null:[f,u]}export{S as apply,z as calculateOrientedBounds,G as mapPlaneAutoHorizontalSizeByElevationMode,A as mapPlaneToRenderPlane,Y as unapply};
5
+ import{isNone as s}from"../../../../core/maybe.js";import{max as o}from"../../../../core/quantityUtils.js";import{q as i,s as t,h as n,x as r,y as a,a as e,j as c,b as g}from"../../../../chunks/vec2.js";import{a as b,I as f,g as u,b as m,h as p,f as I,n as d,e as N,l as j,q as h}from"../../../../chunks/vec3.js";import{f as l,Z as x}from"../../../../chunks/vec3f64.js";import{a as E,u as T}from"../../../../chunks/boundedPlane.js";import{sv2d as V,sv3d as v}from"../../../../geometry/support/vectorStacks.js";import{MoveVertex as R}from"../operations/MoveVertex.js";import{RotateVertex as k}from"../operations/RotateVertex.js";import{ScaleVertex as y}from"../operations/ScaleVertex.js";import{UpdateVertices as C}from"../operations/UpdateVertices.js";import{autoHorizontalDistanceByElevationMode as F}from"../../../support/automaticLengthMeasurementUtils.js";function S(s,o){return _(s,o,!1)}function Y(s,o){return _(s,o,!0)}function _(s,o,i){if(s instanceof C){if(s.operation instanceof R)return q(s.operation,o,i),!0;if(s.operation instanceof k)return P(s.operation,o,i),!0;if(s.operation instanceof y)return U(s.operation,o,i),!0}return!1}function q(s,o,i=!1){const t=i?-1:1,n=l(t*s.dx,t*s.dy,t*s.dz);b(o.origin,o.origin,n)}function P(s,o,i=!1){const t=i?-s.angle:s.angle;f(o.basis1,o.basis1,x,t),f(o.basis2,o.basis2,x,t)}function U(s,o,t=!1){const n=t?1/s.factor1:s.factor1,r=t?1/s.factor2:s.factor2;u(o.basis1,o.basis1,n),u(o.basis2,o.basis2,r),i(o.origin,o.origin,s.origin,s.axis1,n),i(o.origin,o.origin,s.origin,s.axis2,r)}function A(s,o,i,b){b||(b=E());const f=t(V.get(),s[1],-s[0]),u=t(V.get(),Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY),m=t(V.get(),Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY),p=V.get();o.components.forEach((o=>o.vertices.forEach((o=>{const i=o.pos;t(p,n(s,i),n(f,i)),r(u,u,p),a(m,m,p)}))));const I=1e-6,d=t(V.get(),m[0]-u[0]<I?i/2:0,m[1]-u[1]<I?i/2:0);return e(u,u,d),c(m,m,d),g(b.basis1,s,(m[0]-u[0])/2),g(b.basis2,f,(m[1]-u[1])/2),t(b.origin,u[0]*s[0]+u[1]*f[0],u[0]*s[1]+u[1]*f[1]),c(b.origin,b.origin,b.basis1),c(b.origin,b.origin,b.basis2),b}function G(s,o,i,t=0,n){n||(n=E()),o.toRenderCoords(s.origin,i,n.origin);const r=v.get();b(r,s.origin,s.basis1),b(r,r,s.basis2),o.toRenderCoords(r,i,r);const a=v.get();b(a,s.origin,s.basis1),m(a,a,s.basis2),o.toRenderCoords(a,i,a);const e=v.get();m(e,s.origin,s.basis1),m(e,e,s.basis2),o.toRenderCoords(e,i,e);const c=v.get();m(c,s.origin,s.basis1),b(c,c,s.basis2),o.toRenderCoords(c,i,c);const g=p(v.get(),r,a,.5);m(g,g,n.origin);const f=p(v.get(),e,c,.5);m(f,n.origin,f),p(n.basis1,g,f,.5);const h=p(v.get(),c,r,.5);m(h,h,n.origin);const l=p(v.get(),a,e,.5);m(l,n.origin,l),p(n.basis2,h,l,.5);const x=I(v.get(),n.basis1,n.basis2),V=I(x,x,n.basis1);return d(V,V),u(n.basis2,V,N(n.basis2,V)),u(n.basis1,n.basis1,1+t/j(n.basis1)),u(n.basis2,n.basis2,1+t/j(n.basis2)),T(n),n}function M(i,t,n,r){const a=v.get();m(a,m(a,i.origin,i.basis1),i.basis2);const e=v.get();h(e,a,i.basis1,2);const c=v.get();h(c,e,i.basis2,2);const g=v.get();h(g,a,i.basis2,2),a[2]=e[2]=c[2]=g[2]=t;const b=r?"on-the-ground":"absolute-height",f=o(F(a,e,n,b),F(g,c,n,b)),u=o(F(e,c,n,b),F(a,g,n,b));return s(u)||s(f)?null:[f,u]}export{S as apply,A as calculateOrientedBounds,M as mapPlaneAutoHorizontalSizeByElevationMode,G as mapPlaneToRenderPlane,Y as unapply};
@@ -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{unwrap as e,isSome as t}from"../../../core/maybe.js";import{a as r,h as i,u as o,v as s}from"../../../chunks/vec2.js";import{a as n}from"../../../chunks/vec2f64.js";import{s as p,z as g}from"../../../chunks/vec3.js";import{c as a}from"../../../chunks/vec3f64.js";import{SnappingAlgorithm as h}from"./SnappingAlgorithm.js";import{RayConstraint as d}from"./SnappingConstraint.js";import{squareDistance as c,getConvertedSnappingElevation as f}from"./snappingUtils.js";import{RightAngleSnappingCandidate as l,OtherVertexType as x}from"./candidates/RightAngleSnappingCandidate.js";import{anyMapPointToScreenPoint as V}from"../support/viewUtils.js";class m extends h{snapNewVertex(e,t){const r=t.editGeometryOperations.data.components[0],i=r.vertices.length,o=[];if(i<2)return o;const s=V(e,t.coordinateHelper,t.elevationInfo,this.view),n=r.vertices[i-1];this._checkForSnappingCandidate(o,n.leftEdge,n.pos,e,n.leftEdge.leftVertex.pos,n.pos,t,e,s);const p=r.vertices[0];return this._checkForSnappingCandidate(o,p.rightEdge,p.pos,e,p.rightEdge.rightVertex.pos,p.pos,t,e,s),o}snapExistingVertex(t,r){const i=[],o=e(r.vertexHandle),s=o.component,n=s.vertices.length;if(n<3)return i;const p=V(t,r.coordinateHelper,r.elevationInfo,this.view),g=o.leftEdge,a=o.rightEdge,h=s.vertices[0],d=s.vertices[n-1];if(!g)return this._checkForSnappingCandidate(i,h.rightEdge.rightVertex.rightEdge,h.rightEdge.rightVertex.pos,t,h.rightEdge.rightVertex.rightEdge.rightVertex.pos,h.rightEdge.rightVertex.pos,r,t,p),i;if(!a)return this._checkForSnappingCandidate(i,d.leftEdge.leftVertex.leftEdge,d.leftEdge.leftVertex.pos,t,d.leftEdge.leftVertex.leftEdge.leftVertex.pos,d.leftEdge.leftVertex.pos,r,t,p),i;if(g&&g.leftVertex.leftEdge){const e=g.leftVertex.leftEdge;this._checkForSnappingCandidate(i,e,g.leftVertex.pos,t,e.leftVertex.pos,g.leftVertex.pos,r,t,p)}if(a&&a.rightVertex.rightEdge){const e=a.rightVertex.rightEdge;this._checkForSnappingCandidate(i,e,a.rightVertex.pos,t,e.rightVertex.pos,a.rightVertex.pos,r,t,p)}return i}_checkForSnappingCandidate(e,n,a,h,m,k,S,j,C){if(!this.edgeExceedsShortLineThreshold(n,S))return;r(E,n.rightVertex.pos,n.leftVertex.pos);const w=p(u,E[1],-E[0],0),F=i(w,r(E,h,a))/o(w),{coordinateHelper:_,elevationInfo:y,pointer:H}=S,Z=_.fromXYZ(s(E,k,w,F),_.getZ(j,0));if(c(C,V(Z,_,y,this.view))<this.squaredProximityThreshold(H)){const r=_.toXYZ(k,v),i=g(v,r,w,Math.sign(F)),o=_.fromXYZ(i),{view:s}=this;_.hasZ()&&t(s)&&"3d"===s.type&&((k=_.clone(k))[2]=f(s,S,k),o[2]=f(s,S,o),Z[2]=f(s,S,Z)),e.push(new l({coordinateHelper:_,targetPoint:Z,constraint:new d(_,k,o),previousVertex:m,otherVertex:k,otherVertexType:x.CENTER,elevationInfo:y}))}}}const E=n(),v=a(),u=a();export{m as RightAngleSnapper};
5
+ import{unwrap as e,isSome as t}from"../../../core/maybe.js";import{a as r,h as i,u as o,v as s}from"../../../chunks/vec2.js";import{a as n}from"../../../chunks/vec2f64.js";import{s as p,q as g}from"../../../chunks/vec3.js";import{c as a}from"../../../chunks/vec3f64.js";import{SnappingAlgorithm as h}from"./SnappingAlgorithm.js";import{RayConstraint as d}from"./SnappingConstraint.js";import{squareDistance as c,getConvertedSnappingElevation as f}from"./snappingUtils.js";import{RightAngleSnappingCandidate as l,OtherVertexType as x}from"./candidates/RightAngleSnappingCandidate.js";import{anyMapPointToScreenPoint as V}from"../support/viewUtils.js";class m extends h{snapNewVertex(e,t){const r=t.editGeometryOperations.data.components[0],i=r.vertices.length,o=[];if(i<2)return o;const s=V(e,t.coordinateHelper,t.elevationInfo,this.view),n=r.vertices[i-1];this._checkForSnappingCandidate(o,n.leftEdge,n.pos,e,n.leftEdge.leftVertex.pos,n.pos,t,e,s);const p=r.vertices[0];return this._checkForSnappingCandidate(o,p.rightEdge,p.pos,e,p.rightEdge.rightVertex.pos,p.pos,t,e,s),o}snapExistingVertex(t,r){const i=[],o=e(r.vertexHandle),s=o.component,n=s.vertices.length;if(n<3)return i;const p=V(t,r.coordinateHelper,r.elevationInfo,this.view),g=o.leftEdge,a=o.rightEdge,h=s.vertices[0],d=s.vertices[n-1];if(!g)return this._checkForSnappingCandidate(i,h.rightEdge.rightVertex.rightEdge,h.rightEdge.rightVertex.pos,t,h.rightEdge.rightVertex.rightEdge.rightVertex.pos,h.rightEdge.rightVertex.pos,r,t,p),i;if(!a)return this._checkForSnappingCandidate(i,d.leftEdge.leftVertex.leftEdge,d.leftEdge.leftVertex.pos,t,d.leftEdge.leftVertex.leftEdge.leftVertex.pos,d.leftEdge.leftVertex.pos,r,t,p),i;if(g&&g.leftVertex.leftEdge){const e=g.leftVertex.leftEdge;this._checkForSnappingCandidate(i,e,g.leftVertex.pos,t,e.leftVertex.pos,g.leftVertex.pos,r,t,p)}if(a&&a.rightVertex.rightEdge){const e=a.rightVertex.rightEdge;this._checkForSnappingCandidate(i,e,a.rightVertex.pos,t,e.rightVertex.pos,a.rightVertex.pos,r,t,p)}return i}_checkForSnappingCandidate(e,n,a,h,m,k,S,j,C){if(!this.edgeExceedsShortLineThreshold(n,S))return;r(E,n.rightVertex.pos,n.leftVertex.pos);const w=p(u,E[1],-E[0],0),F=i(w,r(E,h,a))/o(w),{coordinateHelper:_,elevationInfo:y,pointer:H}=S,Z=_.fromXYZ(s(E,k,w,F),_.getZ(j,0));if(c(C,V(Z,_,y,this.view))<this.squaredProximityThreshold(H)){const r=_.toXYZ(k,v),i=g(v,r,w,Math.sign(F)),o=_.fromXYZ(i),{view:s}=this;_.hasZ()&&t(s)&&"3d"===s.type&&((k=_.clone(k))[2]=f(s,S,k),o[2]=f(s,S,o),Z[2]=f(s,S,Z)),e.push(new l({coordinateHelper:_,targetPoint:Z,constraint:new d(_,k,o),previousVertex:m,otherVertex:k,otherVertexType:x.CENTER,elevationInfo:y}))}}}const E=n(),v=a(),u=a();export{m as RightAngleSnapper};
@@ -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{isNone as t,unwrapOr as s}from"../../../../../core/maybe.js";import{throwIfAborted as o}from"../../../../../core/promiseUtils.js";import"../../../../../core/Logger.js";import"../../../../../core/accessorSupport/ensureType.js";import"../../../../../core/arrayUtils.js";import"../../../../../core/has.js";import"../../../../../core/Error.js";import{subclass as n}from"../../../../../core/accessorSupport/decorators/subclass.js";import{z as i,a as r,i as d}from"../../../../../chunks/vec3.js";import{c,a}from"../../../../../chunks/vec3f64.js";import{create as p,fromPoints as m,projectPoint as u}from"../../../../../geometry/support/lineSegment.js";import{g as h,m as g,c as l}from"../../../../../chunks/sphere.js";import{SnappingTypes as f}from"../../../../../layers/graphics/data/QueryEngineResult.js";import _ from"../../../../3d/webgl-engine/lib/Octree.js";import{extractComponentsEdgeLocationsLayout as b}from"../../../../3d/webgl-engine/lib/edgeRendering/edgeProcessing.js";let j=class{constructor(){this._idToComponent=new Map,this._components=new _((e=>e.bounds)),this._edges=new _((e=>e.bounds)),this._tmpLineSegment=p(),this._tmpP1=c(),this._tmpP2=c(),this._tmpP3=c(),this.remoteClient=null}async fetchCandidates(e,t){await Promise.resolve(),o(t),await this._ensureEdgeLocations(e,t);const s=[];return this._edges.forEachNeighbor((t=>this._addCandidates(e,t,s)),e.bounds),{result:{candidates:s}}}async _ensureEdgeLocations(e,o){const n=[];if(this._components.forEachNeighbor((e=>{if(t(e.info)){const{id:t,uid:s}=e;n.push({id:t,uid:s})}}),e.bounds),!n.length)return;const i={components:n},r=await this.remoteClient.invoke("fetchAllEdgeLocations",i,s(o,{}));for(const t of r.components)this._setFetchEdgeLocations(t)}async add(e){const t=new E(e.id,e.bounds);return this._idToComponent.set(t.id,t),this._components.add([t]),{result:{}}}async remove(e){const t=this._idToComponent.get(e.id);if(t){const e=[];this._edges.forEachNeighbor((s=>{s.component===t&&e.push(s)}),t.bounds),this._edges.remove(e),this._components.remove([t]),this._idToComponent.delete(t.id)}return{result:{}}}_setFetchEdgeLocations(e){const s=this._idToComponent.get(e.id);if(t(s)||e.uid!==s.uid)return;const o=b.createView(e.locations),n=new Array(o.count),a=c(),p=c();for(let t=0;t<o.count;t++){const c=l(),m=h(c);o.position0.getVec(t,a),o.position1.getVec(t,p),i(m,m,a,.5),i(m,m,p,.5),r(m,m,e.origin),c[3]=d(m,a);const u=new C(s,t,c);n[t]=u}this._edges.add(n);const{objectIds:m,origin:u}=e;s.info={locations:o,objectIds:m,origin:u}}_addCandidates(e,t,s){const{locations:o,origin:n,objectIds:i}=t.component.info,d=o.position0.getVec(t.index,this._tmpP1),c=o.position1.getVec(t.index,this._tmpP2);r(d,d,n),r(c,c,n);const a=i[o.componentIndex.get(t.index)];this._addEdgeCandidate(e,a,d,c,s),this._addVertexCandidate(e,a,d,s),this._addVertexCandidate(e,a,c,s)}_addEdgeCandidate(e,t,s,o,n){if(!(e.types&f.EDGE))return;const i=h(e.bounds),r=m(s,o,this._tmpLineSegment),c=u(r,i,this._tmpP3);if(!g(e.bounds,c))return null;n.push({type:"edge",objectId:t,target:a(c),distance:d(i,c),start:a(s),end:a(o)})}_addVertexCandidate(e,t,s,o){if(!(e.types&f.VERTEX))return;const n=h(e.bounds);if(!g(e.bounds,s))return null;o.push({type:"vertex",objectId:t,target:a(s),distance:d(n,s)})}};j=e([n("esri.views.interactive.snapping.featureSources.sceneLayerSource.SceneLayerSnappingSourceWorker")],j);const y=j;class E{constructor(e,t){this.id=e,this.bounds=t,this.info=null,this.uid=++E.uid}}E.uid=0;class C{constructor(e,t,s){this.component=e,this.index=t,this.bounds=s}}export{y as default};
5
+ import{_ as e}from"../../../../../chunks/tslib.es6.js";import{isNone as t,unwrapOr as s}from"../../../../../core/maybe.js";import{throwIfAborted as o}from"../../../../../core/promiseUtils.js";import"../../../../../core/Logger.js";import"../../../../../core/accessorSupport/ensureType.js";import"../../../../../core/arrayUtils.js";import"../../../../../core/has.js";import"../../../../../core/Error.js";import{subclass as n}from"../../../../../core/accessorSupport/decorators/subclass.js";import{q as i,a as r,i as d}from"../../../../../chunks/vec3.js";import{c,a}from"../../../../../chunks/vec3f64.js";import{create as p,fromPoints as m,projectPoint as u}from"../../../../../geometry/support/lineSegment.js";import{g as h,m as g,c as l}from"../../../../../chunks/sphere.js";import{SnappingTypes as f}from"../../../../../layers/graphics/data/QueryEngineResult.js";import _ from"../../../../3d/webgl-engine/lib/Octree.js";import{extractComponentsEdgeLocationsLayout as b}from"../../../../3d/webgl-engine/lib/edgeRendering/edgeProcessing.js";let j=class{constructor(){this._idToComponent=new Map,this._components=new _((e=>e.bounds)),this._edges=new _((e=>e.bounds)),this._tmpLineSegment=p(),this._tmpP1=c(),this._tmpP2=c(),this._tmpP3=c(),this.remoteClient=null}async fetchCandidates(e,t){await Promise.resolve(),o(t),await this._ensureEdgeLocations(e,t);const s=[];return this._edges.forEachNeighbor((t=>this._addCandidates(e,t,s)),e.bounds),{result:{candidates:s}}}async _ensureEdgeLocations(e,o){const n=[];if(this._components.forEachNeighbor((e=>{if(t(e.info)){const{id:t,uid:s}=e;n.push({id:t,uid:s})}}),e.bounds),!n.length)return;const i={components:n},r=await this.remoteClient.invoke("fetchAllEdgeLocations",i,s(o,{}));for(const t of r.components)this._setFetchEdgeLocations(t)}async add(e){const t=new E(e.id,e.bounds);return this._idToComponent.set(t.id,t),this._components.add([t]),{result:{}}}async remove(e){const t=this._idToComponent.get(e.id);if(t){const e=[];this._edges.forEachNeighbor((s=>{s.component===t&&e.push(s)}),t.bounds),this._edges.remove(e),this._components.remove([t]),this._idToComponent.delete(t.id)}return{result:{}}}_setFetchEdgeLocations(e){const s=this._idToComponent.get(e.id);if(t(s)||e.uid!==s.uid)return;const o=b.createView(e.locations),n=new Array(o.count),a=c(),p=c();for(let t=0;t<o.count;t++){const c=l(),m=h(c);o.position0.getVec(t,a),o.position1.getVec(t,p),i(m,m,a,.5),i(m,m,p,.5),r(m,m,e.origin),c[3]=d(m,a);const u=new C(s,t,c);n[t]=u}this._edges.add(n);const{objectIds:m,origin:u}=e;s.info={locations:o,objectIds:m,origin:u}}_addCandidates(e,t,s){const{locations:o,origin:n,objectIds:i}=t.component.info,d=o.position0.getVec(t.index,this._tmpP1),c=o.position1.getVec(t.index,this._tmpP2);r(d,d,n),r(c,c,n);const a=i[o.componentIndex.get(t.index)];this._addEdgeCandidate(e,a,d,c,s),this._addVertexCandidate(e,a,d,s),this._addVertexCandidate(e,a,c,s)}_addEdgeCandidate(e,t,s,o,n){if(!(e.types&f.EDGE))return;const i=h(e.bounds),r=m(s,o,this._tmpLineSegment),c=u(r,i,this._tmpP3);if(!g(e.bounds,c))return null;n.push({type:"edge",objectId:t,target:a(c),distance:d(i,c),start:a(s),end:a(o)})}_addVertexCandidate(e,t,s,o){if(!(e.types&f.VERTEX))return;const n=h(e.bounds);if(!g(e.bounds,s))return null;o.push({type:"vertex",objectId:t,target:a(s),distance:d(n,s)})}};j=e([n("esri.views.interactive.snapping.featureSources.sceneLayerSource.SceneLayerSnappingSourceWorker")],j);const y=j;class E{constructor(e,t){this.id=e,this.bounds=t,this.info=null,this.uid=++E.uid}}E.uid=0;class C{constructor(e,t,s){this.component=e,this.index=t,this.bounds=s}}export{y 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 t from"../../core/Error.js";import r from"../../core/Logger.js";import{isSome as i,isNone as s}from"../../core/maybe.js";import{eachAlways as o}from"../../core/promiseUtils.js";import{watch as n,syncAndInitial as a,on as l}from"../../core/reactiveUtils.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{subclass as p}from"../../core/accessorSupport/decorators/subclass.js";import{combinedViewLayerTimeExtentProperty as d}from"../../layers/support/commonProperties.js";import f from"../../layers/support/FeatureEffect.js";import c from"../../layers/support/FeatureFilter.js";import{fixFields as m,unpackFieldNames as y,collectLabelingFields as h,collectElevationFields as F,collectFilterFields as g,collectFeatureReductionFields as w,collectOrderByInfos as E,collectFields as b,collectField as x,featureHasFields as I}from"../../layers/support/fieldUtils.js";import{getFloorFilterClause as j}from"../../layers/support/floorFilterUtils.js";import v from"../../rest/support/Query.js";import{loadArcade as R}from"../../support/arcadeOnDemand.js";import{getFetchPopupTemplate as q,getRequiredFields as P}from"./support/popupUtils.js";const _="esri.views.layers.FeatureLayerView",O=r.getLogger(_),A=r=>{let A=class extends r{constructor(...e){super(...e),this._updatingRequiredFieldsPromise=null,this.filter=null,this.timeExtent=null,this.layer=null,this.requiredFields=[],this.view=null}initialize(){this.handles.add([n((()=>{const e=this.layer;return[e?.elevationInfo?.featureExpressionInfo,e?.displayField,e?.timeInfo,e&&"renderer"in e&&e.renderer,e&&"labelingInfo"in e&&e.labelingInfo,e&&"floorInfo"in e&&e.floorInfo,this.filter,this.featureEffect,this.timeExtent]}),(()=>this._handleRequiredFieldsChange()),a),l((()=>this.view?.floors),"change",(()=>this._handleRequiredFieldsChange())),l((()=>{const e=this.layer;return e&&"sublayers"in e&&e.sublayers}),"change",(()=>this._handleRequiredFieldsChange()))])}get availableFields(){const{layer:e,layer:{fieldsIndex:t},requiredFields:r}=this;return"outFields"in e&&e.outFields?m(t,[...y(t,e.outFields),...r]):m(t,r)}get featureEffect(){return this.layer&&"featureEffect"in this.layer?this.layer.featureEffect:null}set featureEffect(e){this._override("featureEffect",e)}get maximumNumberOfFeatures(){return 0}set maximumNumberOfFeatures(e){O.error("#maximumNumberOfFeatures=","Setting maximum number of features is not supported")}get maximumNumberOfFeaturesExceeded(){return!1}highlight(e){throw new Error("missing implementation")}createQuery(){const e={outFields:["*"],returnGeometry:!0,outSpatialReference:this.view.spatialReference},t=i(this.filter)?this.filter.createQuery(e):new v(e);if("feature"===this.layer.type){const e=j(this);i(e)&&(t.where=t.where?`(${t.where}) AND (${e})`:e)}return i(this.timeExtent)&&(t.timeExtent=i(t.timeExtent)?t.timeExtent.intersection(this.timeExtent):this.timeExtent.clone()),t}queryFeatures(e,t){throw new Error("missing implementation")}queryObjectIds(e,t){throw new Error("missing implementation")}queryFeatureCount(e,t){throw new Error("missing implementation")}queryExtent(e,t){throw new Error("missing implementation")}async fetchPopupFeatures(e,t){const r=this.validateFetchPopupFeatures(t);if(r)throw r;return this.fetchClientPopupFeatures(t)}_loadArcadeModules(e){if(e.get("expressionInfos.length")||Array.isArray(e.content)&&e.content.some((e=>"expression"===e.type)))return R()}_handleRequiredFieldsChange(){const e=this._updateRequiredFields();this._set("_updatingRequiredFieldsPromise",e),e.then((()=>{this._updatingRequiredFieldsPromise===e&&this._set("_updatingRequiredFieldsPromise",null)}))}async _updateRequiredFields(){if(!this.layer||!this.view)return;const e="3d"===this.view.type,{layer:t,layer:{fieldsIndex:r,objectIdField:s}}=this,n="renderer"in t&&t.renderer,a="orderBy"in t&&t.orderBy,l=t.featureReduction,u=new Set,p=await o([n?n.collectRequiredFields(u,r):null,h(u,t),e?F(u,t):null,i(this.filter)?g(u,t,this.filter):null,i(this.featureEffect)?g(u,t,this.featureEffect.filter):null,l?w(u,t,l):null,a?E(u,t,a):null]);if(t.timeInfo&&this.timeExtent&&b(u,t.fieldsIndex,[t.timeInfo.startField,t.timeInfo.endField]),"feature"===t.type&&(t.floorInfo&&b(u,t.fieldsIndex,[t.floorInfo.floorField]),e&&i(t.infoFor3D)&&(null==t.globalIdField&&O.error("globalIdField missing on 3DObjectFeatureLayer"),b(u,t.fieldsIndex,[t.globalIdField]))),"subtype-group"===t.type){x(u,r,t.subtypeField);const e=t.sublayers.map((e=>Promise.all([e.renderer?.collectRequiredFields(u,r),h(u,e)])));await o(e)}for(const i of p)i.error&&O.error(i.error);x(u,r,s),e&&"displayField"in t&&t.displayField&&x(u,r,t.displayField);const d=Array.from(u).sort();this._set("requiredFields",d)}validateFetchPopupFeatures(e){if(s(e))return null;for(const r of e.clientGraphics){const i=r.layer;if("popupEnabled"in i&&!i.popupEnabled)return new t("featurelayerview:fetchPopupFeatures","Popups are disabled",{layer:i});if(r.isAggregate){if(!(i.featureReduction&&"popupTemplate"in i.featureReduction&&i.featureReduction.popupEnabled&&i.featureReduction.popupTemplate))return new t("featurelayerview:fetchPopupFeatures","Popups are disabled",{layer:i})}else if("popupTemplate"in i){if(!q(i,e))return new t("featurelayerview:fetchPopupFeatures","Layer does not define a popup template",{layer:i})}}}async fetchClientPopupFeatures(e){const t=i(e)?e.clientGraphics:null;if(!t||0===t.length)return[];const r=new Array(t.length),o=new Map,n=await this.createPopupQuery(e);for(let i=0;i<t.length;i++){const a=t[i];if(a.isAggregate){r[i]=a;continue}const{layer:l}=a;if(!("popupEnabled"in l))continue;const u=y(this.layer.fieldsIndex,n.outFields),p=q(l,e);if(s(p))continue;const d=await this._loadArcadeModules(p);d&&d.arcadeUtils.hasGeometryOperations(p)||!I(u,a)?o.set(a.getObjectId(),i):r[i]=a}if("stream"===this.layer.type||0===o.size)return r.filter(Boolean);n.objectIds=Array.from(o.keys());try{const e=await this.layer.queryFeatures(n);for(const t of e.features){r[o.get(t.getObjectId())]=t}}catch{}return r.filter(Boolean)}async createPopupQuery(e){const t=this.layer.createQuery(),r=new Set;let o=!1;const n=i(e)&&e.clientGraphics?e.clientGraphics.map((e=>e.layer)):[this.layer];for(const i of n){if(!("popupEnabled"in i))continue;const t=q(i,e);if(s(t))continue;const n=await this._loadArcadeModules(t),a=n&&n.arcadeUtils.hasGeometryOperations(t);o=!("point"!==this.layer.geometryType&&!a);const l=await P(this.layer,t);for(const e of l)r.add(e)}if(t.returnGeometry=o,t.returnZ=o,t.returnM=o,t.outFields=Array.from(r),t.outSpatialReference=this.view.spatialReference,"feature"===this.layer.type){const e=j(this);i(e)&&(t.where=t.where?`(${t.where}) AND (${e})`:e)}return t}canResume(){return!!super.canResume()&&(!i(this.timeExtent)||!this.timeExtent.isEmpty)}};return e([u()],A.prototype,"_updatingRequiredFieldsPromise",void 0),e([u({readOnly:!0})],A.prototype,"availableFields",null),e([u({type:f})],A.prototype,"featureEffect",null),e([u({type:c})],A.prototype,"filter",void 0),e([u(d)],A.prototype,"timeExtent",void 0),e([u()],A.prototype,"layer",void 0),e([u({type:Number})],A.prototype,"maximumNumberOfFeatures",null),e([u({readOnly:!0,type:Boolean})],A.prototype,"maximumNumberOfFeaturesExceeded",null),e([u({readOnly:!0})],A.prototype,"requiredFields",void 0),e([u()],A.prototype,"suspended",void 0),e([u()],A.prototype,"view",void 0),A=e([p(_)],A),A};export{A as default};
5
+ import{_ as e}from"../../chunks/tslib.es6.js";import t from"../../core/Error.js";import r from"../../core/Logger.js";import{isSome as i,isNone as s}from"../../core/maybe.js";import{eachAlways as o}from"../../core/promiseUtils.js";import{watch as n,syncAndInitial as a,on as l}from"../../core/reactiveUtils.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{subclass as p}from"../../core/accessorSupport/decorators/subclass.js";import{combinedViewLayerTimeExtentProperty as d}from"../../layers/support/commonProperties.js";import f from"../../layers/support/FeatureEffect.js";import c from"../../layers/support/FeatureFilter.js";import{fixFields as m,unpackFieldNames as y,collectLabelingFields as h,collectElevationFields as F,collectFilterFields as g,collectFeatureReductionFields as w,collectOrderByInfos as E,collectFields as b,collectField as x,featureHasFields as I}from"../../layers/support/fieldUtils.js";import{getFloorFilterClause as v}from"../../layers/support/floorFilterUtils.js";import R from"../../rest/support/Query.js";import{loadArcade as j}from"../../support/arcadeOnDemand.js";import{getFetchPopupTemplate as q,getRequiredFields as P}from"./support/popupUtils.js";const _="esri.views.layers.FeatureLayerView",O=r.getLogger(_),A=r=>{let A=class extends r{constructor(...e){super(...e),this._updatingRequiredFieldsPromise=null,this.filter=null,this.timeExtent=null,this.layer=null,this.requiredFields=[],this.view=null}initialize(){this.handles.add([n((()=>{const e=this.layer;return[e?.elevationInfo?.featureExpressionInfo,e?.displayField,e?.timeInfo,e&&"renderer"in e&&e.renderer,e&&"labelingInfo"in e&&e.labelingInfo,e&&"floorInfo"in e&&e.floorInfo,this.filter,this.featureEffect,this.timeExtent]}),(()=>this._handleRequiredFieldsChange()),a),l((()=>this.view?.floors),"change",(()=>this._handleRequiredFieldsChange())),l((()=>{const e=this.layer;return e&&"sublayers"in e&&e.sublayers}),"change",(()=>this._handleRequiredFieldsChange()))])}get availableFields(){const{layer:e,layer:{fieldsIndex:t},requiredFields:r}=this;return"outFields"in e&&e.outFields?m(t,[...y(t,e.outFields),...r]):m(t,r)}get featureEffect(){return this.layer&&"featureEffect"in this.layer?this.layer.featureEffect:null}set featureEffect(e){this._override("featureEffect",e)}get maximumNumberOfFeatures(){return 0}set maximumNumberOfFeatures(e){O.error("#maximumNumberOfFeatures=","Setting maximum number of features is not supported")}get maximumNumberOfFeaturesExceeded(){return!1}highlight(e){throw new Error("missing implementation")}createQuery(){const e={outFields:["*"],returnGeometry:!0,outSpatialReference:this.view.spatialReference},t=i(this.filter)?this.filter.createQuery(e):new R(e);if("feature"===this.layer.type){const e=v(this);i(e)&&(t.where=t.where?`(${t.where}) AND (${e})`:e)}return i(this.timeExtent)&&(t.timeExtent=i(t.timeExtent)?t.timeExtent.intersection(this.timeExtent):this.timeExtent.clone()),t}createAggregateQuery(){const e={outFields:["*"],returnGeometry:!0,outSpatialReference:this.view.spatialReference};return new R(e)}queryFeatures(e,t){throw new Error("missing implementation")}queryObjectIds(e,t){throw new Error("missing implementation")}queryFeatureCount(e,t){throw new Error("missing implementation")}queryExtent(e,t){throw new Error("missing implementation")}async fetchPopupFeatures(e,t){const r=this.validateFetchPopupFeatures(t);if(r)throw r;return this.fetchClientPopupFeatures(t)}_loadArcadeModules(e){if(e.get("expressionInfos.length")||Array.isArray(e.content)&&e.content.some((e=>"expression"===e.type)))return j()}_handleRequiredFieldsChange(){const e=this._updateRequiredFields();this._set("_updatingRequiredFieldsPromise",e),e.then((()=>{this._updatingRequiredFieldsPromise===e&&this._set("_updatingRequiredFieldsPromise",null)}))}async _updateRequiredFields(){if(!this.layer||!this.view)return;const e="3d"===this.view.type,{layer:t,layer:{fieldsIndex:r,objectIdField:s}}=this,n="renderer"in t&&t.renderer,a="orderBy"in t&&t.orderBy,l=t.featureReduction,u=new Set,p=await o([n?n.collectRequiredFields(u,r):null,h(u,t),e?F(u,t):null,i(this.filter)?g(u,t,this.filter):null,i(this.featureEffect)?g(u,t,this.featureEffect.filter):null,l?w(u,t,l):null,a?E(u,t,a):null]);if(t.timeInfo&&this.timeExtent&&b(u,t.fieldsIndex,[t.timeInfo.startField,t.timeInfo.endField]),"feature"===t.type&&(t.floorInfo&&b(u,t.fieldsIndex,[t.floorInfo.floorField]),e&&i(t.infoFor3D)&&(null==t.globalIdField&&O.error("globalIdField missing on 3DObjectFeatureLayer"),b(u,t.fieldsIndex,[t.globalIdField]))),"subtype-group"===t.type){x(u,r,t.subtypeField);const e=t.sublayers.map((e=>Promise.all([e.renderer?.collectRequiredFields(u,r),h(u,e)])));await o(e)}for(const i of p)i.error&&O.error(i.error);x(u,r,s),e&&"displayField"in t&&t.displayField&&x(u,r,t.displayField);const d=Array.from(u).sort();this._set("requiredFields",d)}validateFetchPopupFeatures(e){if(s(e))return null;for(const r of e.clientGraphics){const i=r.layer;if("popupEnabled"in i&&!i.popupEnabled)return new t("featurelayerview:fetchPopupFeatures","Popups are disabled",{layer:i});if(r.isAggregate){if(!(i.featureReduction&&"popupTemplate"in i.featureReduction&&i.featureReduction.popupEnabled&&i.featureReduction.popupTemplate))return new t("featurelayerview:fetchPopupFeatures","Popups are disabled",{layer:i})}else if("popupTemplate"in i){if(!q(i,e))return new t("featurelayerview:fetchPopupFeatures","Layer does not define a popup template",{layer:i})}}}async fetchClientPopupFeatures(e){const t=i(e)?e.clientGraphics:null;if(!t||0===t.length)return[];const r=new Array(t.length),o=new Map,n=await this.createPopupQuery(e);for(let i=0;i<t.length;i++){const a=t[i];if(a.isAggregate){r[i]=a;continue}const{layer:l}=a;if(!("popupEnabled"in l))continue;const u=y(this.layer.fieldsIndex,n.outFields),p=q(l,e);if(s(p))continue;const d=await this._loadArcadeModules(p);d&&d.arcadeUtils.hasGeometryOperations(p)||!I(u,a)?o.set(a.getObjectId(),i):r[i]=a}if("stream"===this.layer.type||0===o.size)return r.filter(Boolean);n.objectIds=Array.from(o.keys());try{const e=await this.layer.queryFeatures(n);for(const t of e.features){r[o.get(t.getObjectId())]=t}}catch{}return r.filter(Boolean)}async createPopupQuery(e){const t=this.layer.createQuery(),r=new Set;let o=!1;const n=i(e)&&e.clientGraphics?e.clientGraphics.map((e=>e.layer)):[this.layer];for(const i of n){if(!("popupEnabled"in i))continue;const t=q(i,e);if(s(t))continue;const n=await this._loadArcadeModules(t),a=n&&n.arcadeUtils.hasGeometryOperations(t);o=!("point"!==this.layer.geometryType&&!a);const l=await P(this.layer,t);for(const e of l)r.add(e)}if(t.returnGeometry=o,t.returnZ=o,t.returnM=o,t.outFields=Array.from(r),t.outSpatialReference=this.view.spatialReference,"feature"===this.layer.type){const e=v(this);i(e)&&(t.where=t.where?`(${t.where}) AND (${e})`:e)}return t}canResume(){return!!super.canResume()&&(!i(this.timeExtent)||!this.timeExtent.isEmpty)}};return e([u()],A.prototype,"_updatingRequiredFieldsPromise",void 0),e([u({readOnly:!0})],A.prototype,"availableFields",null),e([u({type:f})],A.prototype,"featureEffect",null),e([u({type:c})],A.prototype,"filter",void 0),e([u(d)],A.prototype,"timeExtent",void 0),e([u()],A.prototype,"layer",void 0),e([u({type:Number})],A.prototype,"maximumNumberOfFeatures",null),e([u({readOnly:!0,type:Boolean})],A.prototype,"maximumNumberOfFeaturesExceeded",null),e([u({readOnly:!0})],A.prototype,"requiredFields",void 0),e([u()],A.prototype,"suspended",void 0),e([u()],A.prototype,"view",void 0),A=e([p(_)],A),A};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
- import{a as t}from"../../chunks/vec2f64.js";import{p as e,n as i,c as s}from"../../chunks/vec3.js";import{c as a}from"../../chunks/vec3f64.js";import{rotationAngleAndAxisDirectRotation as l,rotationAnglesAndAxesHeadingPreserving as n}from"../3d/state/utils/navigationUtils.js";import{FilteredFiniteDifference as h}from"./FilteredFiniteDifference.js";import{FilteredValue as r}from"./FilteredValue.js";import{Momentum as _}from"./Momentum.js";const u=1e-5;class m extends _{constructor(t,e,i,s,a,l=0,n){super(t,e,i),this._angularVelocity1=s,this.axis1=a,this.angularVelocity2=l,this.axis2=n}value1(t){return super.valueFromInitialVelocity(this._angularVelocity1,t)}value2(t){return super.valueFromInitialVelocity(this.angularVelocity2,t)}}class c{constructor(e=300,i=12,s=.84){this._minimumInitialVelocity=e,this._stopVelocity=i,this._friction=s,this.enabled=!0,this._tmpAxis1=a(),this._tmpAxis2=a(),this._tmpAngles=t(),this._time=new h(.3),this._screen=[new h(.4),new h(.4)],this._angle1=new r(.6),this._angle2=new r(.6),this._axis1=a(),this._axis2=a(),this._lastScene=a()}addMomentumDirectRotation(t,a,n,h,r,_){if(this.enabled){if(this._time.hasLastValue()){if(this._time.computeDelta(n)<.01)return;let t=l(this._lastScene,a,this._tmpAxis2,h,r,_);this._angle2.update(0),e(this._tmpAxis2)<u?t=0:i(this._axis1,this._tmpAxis2),this._angle1.update(t),s(this._lastScene,a)}this._screen[0].update(t[0]),this._screen[1].update(t[1]),this._time.update(n)}}addMomentumPreserveHeading(t,a,l,h,r,_,m){if(this.enabled){if(this._time.hasLastValue()){if(this._time.computeDelta(l)<.01)return;n(this._lastScene,a,this._tmpAxis2,this._tmpAxis1,this._tmpAngles,h,r,_,m,!1),e(this._tmpAxis2)<u?(this._angle1.update(0),this._angle2.update(0)):(this._angle1.update(this._tmpAngles[1]),this._angle2.update(this._tmpAngles[0]),i(this._axis1,this._tmpAxis1),i(this._axis2,this._tmpAxis2)),s(this._lastScene,a)}this._screen[0].update(t[0]),this._screen[1].update(t[1]),this._time.update(l)}}reset(){this._screen[0].reset(),this._screen[1].reset(),this._angle1.reset(),this._angle2.reset(),this._time.reset()}evaluateMomentum(){if(!this.enabled||!this._screen[0].hasFilteredDelta())return null;const t=this._screen[0].filteredDelta,e=this._screen[1].filteredDelta,i=null==t||null==e?null:Math.sqrt(t*t+e*e),s=this._time.filteredDelta,a=null==i||null==s?0:i/s;return Math.abs(a)<this._minimumInitialVelocity?null:this.createMomentum(a,this._stopVelocity,this._friction)}createMomentum(t,e,i){const s=this._time.filteredDelta,a=this._angle1.filteredValue,l=this._angle2.filteredValue,n=null==s||null==l?0:l/s;return new m(t,e,i,null==s||null==a?0:a/s,this._axis1,n,this._axis2)}}export{m as PanSphericalMomentum,c as PanSphericalMomentumEstimator};
5
+ import{a as t}from"../../chunks/vec2f64.js";import{z as e,n as i,c as s}from"../../chunks/vec3.js";import{c as a}from"../../chunks/vec3f64.js";import{rotationAngleAndAxisDirectRotation as l,rotationAnglesAndAxesHeadingPreserving as n}from"../3d/state/utils/navigationUtils.js";import{FilteredFiniteDifference as h}from"./FilteredFiniteDifference.js";import{FilteredValue as r}from"./FilteredValue.js";import{Momentum as _}from"./Momentum.js";const u=1e-5;class m extends _{constructor(t,e,i,s,a,l=0,n){super(t,e,i),this._angularVelocity1=s,this.axis1=a,this.angularVelocity2=l,this.axis2=n}value1(t){return super.valueFromInitialVelocity(this._angularVelocity1,t)}value2(t){return super.valueFromInitialVelocity(this.angularVelocity2,t)}}class c{constructor(e=300,i=12,s=.84){this._minimumInitialVelocity=e,this._stopVelocity=i,this._friction=s,this.enabled=!0,this._tmpAxis1=a(),this._tmpAxis2=a(),this._tmpAngles=t(),this._time=new h(.3),this._screen=[new h(.4),new h(.4)],this._angle1=new r(.6),this._angle2=new r(.6),this._axis1=a(),this._axis2=a(),this._lastScene=a()}addMomentumDirectRotation(t,a,n,h,r,_){if(this.enabled){if(this._time.hasLastValue()){if(this._time.computeDelta(n)<.01)return;let t=l(this._lastScene,a,this._tmpAxis2,h,r,_);this._angle2.update(0),e(this._tmpAxis2)<u?t=0:i(this._axis1,this._tmpAxis2),this._angle1.update(t),s(this._lastScene,a)}this._screen[0].update(t[0]),this._screen[1].update(t[1]),this._time.update(n)}}addMomentumPreserveHeading(t,a,l,h,r,_,m){if(this.enabled){if(this._time.hasLastValue()){if(this._time.computeDelta(l)<.01)return;n(this._lastScene,a,this._tmpAxis2,this._tmpAxis1,this._tmpAngles,h,r,_,m,!1),e(this._tmpAxis2)<u?(this._angle1.update(0),this._angle2.update(0)):(this._angle1.update(this._tmpAngles[1]),this._angle2.update(this._tmpAngles[0]),i(this._axis1,this._tmpAxis1),i(this._axis2,this._tmpAxis2)),s(this._lastScene,a)}this._screen[0].update(t[0]),this._screen[1].update(t[1]),this._time.update(l)}}reset(){this._screen[0].reset(),this._screen[1].reset(),this._angle1.reset(),this._angle2.reset(),this._time.reset()}evaluateMomentum(){if(!this.enabled||!this._screen[0].hasFilteredDelta())return null;const t=this._screen[0].filteredDelta,e=this._screen[1].filteredDelta,i=null==t||null==e?null:Math.sqrt(t*t+e*e),s=this._time.filteredDelta,a=null==i||null==s?0:i/s;return Math.abs(a)<this._minimumInitialVelocity?null:this.createMomentum(a,this._stopVelocity,this._friction)}createMomentum(t,e,i){const s=this._time.filteredDelta,a=this._angle1.filteredValue,l=this._angle2.filteredValue,n=null==s||null==l?0:l/s;return new m(t,e,i,null==s||null==a?0:a/s,this._axis1,n,this._axis2)}}export{m as PanSphericalMomentum,c as PanSphericalMomentumEstimator};
@@ -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"../../core/Handles.js";import t from"../../core/Logger.js";import{unwrapOr as s,removeMaybe as i,isNone as r,isSome as a}from"../../core/maybe.js";import n from"../../core/PerformanceSampler.js";import u from"../../core/PooledArray.js";import{isAborted as _,createAbortError as h,when as o}from"../../core/promiseUtils.js";import{watch as d,initial as l,when as E}from"../../core/reactiveUtils.js";import{Milliseconds as T}from"../../core/time.js";import{ObservableValue as c}from"../../core/accessorSupport/tracking/ObservableValue.js";import{PromiseQueue as m}from"../../layers/support/PromiseQueue.js";import g from"./debugFlags.js";import{RenderState as I}from"./RenderState.js";function R(){return new F.Scheduler}var p;!function(e){e.RESOURCE_CONTROLLER="schedule",e.SLIDE="slide",e.STREAM_DATA_LOADER="stream loader",e.ELEVATION_QUERY="elevation query",e.TERRAIN_SURFACE="terrain",e.SURFACE_GEOMETRY_UPDATES="surface geometry updates",e.GRAPHICS_CORE="Graphics3D",e.I3S_CONTROLLER="I3S",e.POINT_CLOUD_LAYER="point cloud",e.FEATURE_TILE_FETCHER="feature fetcher",e.OVERLAY="overlay",e.STAGE="stage",e.GRAPHICS_DECONFLICTOR="graphics deconflictor",e.FILTER_VISIBILITY="Graphics3D filter visibility",e.SCALE_VISIBILITY="Graphics3D scale visibility",e.FRUSTUM_VISIBILITY="Graphics3D frustum visibility",e.POINT_OF_INTEREST_FREQUENT="POI frequent",e.POINT_OF_INTEREST_INFREQUENT="POI infrequent",e.LABELER="labeler",e.FEATURE_QUERY_ENGINE="feature query",e.FEATURE_TILE_TREE="feature tile tree",e.FEATURE_TILE_TREE_ACTIVE="fast feature tile tree",e.ELEVATION_ALIGNMENT="elevation alignment",e.TEXT_TEXTURE_ATLAS="text texture atlas",e.TEXTURE_UNLOAD="texture unload",e.LINE_OF_SIGHT_TOOL="line of sight tool",e.LINE_OF_SIGHT_TOOL_INTERACTIVE="interactive line of sight tool",e.ELEVATION_PROFILE="elevation profile",e.SNAPPING="snapping",e.SHADOW_ACCUMULATOR="shadow accumulator",e.CLOUDS_GENERATOR="cloud generator",e[e.TEST_PRIO=1]="TEST_PRIO"}(p||(p={}));const f=0,A=new Map([[p.RESOURCE_CONTROLLER,f],[p.SLIDE,f],[p.STREAM_DATA_LOADER,f],[p.ELEVATION_QUERY,f],[p.TERRAIN_SURFACE,1],[p.SURFACE_GEOMETRY_UPDATES,1],[p.GRAPHICS_CORE,2],[p.I3S_CONTROLLER,2],[p.POINT_CLOUD_LAYER,2],[p.FEATURE_TILE_FETCHER,2],[p.OVERLAY,4],[p.STAGE,4],[p.GRAPHICS_DECONFLICTOR,4],[p.FILTER_VISIBILITY,4],[p.SCALE_VISIBILITY,4],[p.FRUSTUM_VISIBILITY,4],[p.CLOUDS_GENERATOR,4],[p.POINT_OF_INTEREST_FREQUENT,6],[p.POINT_OF_INTEREST_INFREQUENT,30],[p.LABELER,8],[p.FEATURE_QUERY_ENGINE,8],[p.FEATURE_TILE_TREE,16],[p.FEATURE_TILE_TREE_ACTIVE,f],[p.ELEVATION_ALIGNMENT,12],[p.TEXT_TEXTURE_ATLAS,12],[p.TEXTURE_UNLOAD,12],[p.LINE_OF_SIGHT_TOOL,16],[p.LINE_OF_SIGHT_TOOL_INTERACTIVE,f],[p.SNAPPING,f],[p.SHADOW_ACCUMULATOR,30]]),b=32;function L(e){return A.has(e)?A.get(e):"number"==typeof e?e:1}const S=T(6.5),k=T(1),O=T(30),U=T(1e3/30),N=T(100),P=.9;var F,C;!function(_){class h{constructor(){this._updating=new c(!0),this._microTaskQueued=!1,this._frameNumber=0,this.performanceInfo={total:new n("total"),tasks:new Map},this._frameTaskTimes=new Map,this._budget=new R,this._state=I.INTERACTING,this._tasks=new u,this._runQueue=new u,this._load=0,this._idleStateCallbacks=new u,this._idleUpdatesStartFired=!1,this._maxReschedule=b,this._forceTask=!1,this._debug=!1,this._debugHandle=d((()=>g.SCHEDULER_LOG_SLOW_TASKS),(e=>this._debug=e),l);for(const s of Object.keys(p))this.performanceInfo.tasks.set(p[s],new n(p[s]));let e;const t=this;this._test={get state(){return s(e,t._state)},set state(t){e=t},FRAME_SAFETY_BUDGET:S,INTERACTING_BUDGET:U,IDLE_BUDGET:N,get availableBudget(){return t._budget.budget},usedBudget:0,getBudget:()=>t._budget,setBudget:e=>t._budget=e,updateTask:e=>this._updateTask(e),getState:e=>this._getState(e),getRuntime:e=>this._getRuntime(e),frameTaskTimes:this._frameTaskTimes,resetRuntimes:()=>this._resetRuntimes(),getRunning:()=>this._getRunning()}}get updating(){return this._updating.get()}set updating(e){this._updating.set(e)}destroy(){this._tasks.toArray().forEach((e=>e.remove())),this._tasks.clear(),i(this._debugHandle),this._microTaskQueued=!1,this._updating.set(!1)}activate(){this._budget.done||this._microTaskQueued||(this._microTaskQueued=!0,queueMicrotask((()=>{this._microTaskQueued&&(this._microTaskQueued=!1,this._budget.done||(this._maxReschedule=b,this._schedule(),this.frame()))})))}registerTask(e,t){const s=L(e),i=new o(this,e,t,s);return this._tasks.push(i),this.performanceInfo.tasks.has(e)||this.performanceInfo.tasks.set(e,new n(e)),i}registerIdleStateCallbacks(e,t){const s={idleBegin:e,idleEnd:t};this._idleStateCallbacks.push(s),this.state===I.IDLE&&this._idleUpdatesStartFired&&s.idleBegin();const i=this;return{remove:()=>this._removeIdleStateCallbacks(s),set idleBegin(e){i._idleUpdatesStartFired&&(s.idleEnd(),i._state===I.IDLE&&e()),s.idleBegin=e},set idleEnd(e){s.idleEnd=e}}}get load(){return this._load}set state(e){this._state!==e&&(this._state=e,this.state!==I.IDLE&&this._idleUpdatesStartFired&&(this._idleUpdatesStartFired=!1,this._idleStateCallbacks.forAll((e=>e.idleEnd()))))}get state(){return r(this._test.state)?this._state:this._test.state}updateBudget(e){this._test.usedBudget=0,++this._frameNumber;let t=S,s=e.frameDuration,i=k;switch(this.state){case I.IDLE:t=T(0),s=T(Math.max(N,e.frameDuration)),i=O;break;case I.INTERACTING:s=T(Math.max(U,e.frameDuration));case I.ANIMATING:}return s=T(s-e.elapsedFrameTime-t),this.state!==I.IDLE&&s<k&&!this._forceTask?(this._forceTask=!0,!1):(s=T(Math.max(s,i)),this._budget.reset(s,this.state),this._maxReschedule=b,this._updateLoad(),this._schedule())}frame(){switch(this._forceTask=!1,this._microTaskQueued=!1,this.state){case I.IDLE:this._idleUpdatesStartFired||(this._idleUpdatesStartFired=!0,this._idleStateCallbacks.forAll((e=>e.idleBegin()))),this._runIdle();break;case I.INTERACTING:this._runInteracting();break;default:this._runAnimating()}this._test.usedBudget=this._budget.elapsed}stopFrame(){this._budget.reset(T(0),this._state),this._budget.madeProgress()}_removeIdleStateCallbacks(e){this._idleUpdatesStartFired&&e.idleEnd(),this._idleStateCallbacks.removeUnordered(e)}removeTask(e){this._tasks.removeUnordered(e),this._runQueue.removeUnordered(e)}_updateTask(e){this._tasks.forAll((t=>{t.name===e&&t.setPriority(e)}))}_getState(e){if(this._runQueue.some((t=>t.name===e)))return C.SCHEDULED;let t=C.IDLE;return this._tasks.forAll((s=>{s.name===e&&s.needsUpdate&&(s.schedulePriority<=1?t=C.READY:t!==C.READY&&(t=C.WAITING))})),t}_getRuntime(e){let t=0;return this._tasks.forAll((s=>{s.name===e&&(t+=s.runtime)})),t}_resetRuntimes(){this._tasks.forAll((e=>e.runtime=0))}_getRunning(){const e=new Map;if(this._tasks.forAll((t=>{t.needsUpdate&&e.set(t.name,(e.get(t.name)||0)+1)})),0===e.size)return null;let t="";return e.forEach(((e,s)=>{t+=e>1?` ${e}x ${s}`:` ${s}`})),t}_runIdle(){this._run()}_runInteracting(){this._run()}_runAnimating(){this._run()}_updateLoad(){const e=this._tasks.reduce(((e,t)=>t.needsUpdate?++e:e),0);this._load=this._load*P+e*(1-P)}_schedule(){if(this._maxReschedule<=0)return!1;for(this._runQueue.filterInPlace((e=>!!e.needsUpdate||(e.schedulePriority=e.basePriority,!1))),this._tasks.forAll((e=>{e.basePriority===f&&e.needsUpdate&&!this._runQueue.includes(e)&&this._runQueue.unshift(e)}));0===this._runQueue.length;){let e=!1,t=0;if(this._tasks.forAll((s=>{if(s.needsUpdate&&0!==s.schedulePriority&&s.basePriority!==f&&(!s.task.runOncePerFrame||s.lastFrameRun!==this._frameNumber))if(e=!0,t=Math.max(t,s.basePriority),1===s.schedulePriority)s.schedulePriority=0,this._runQueue.push(s);else--s.schedulePriority})),!e)return this._updating.set(!1),!1;--this._maxReschedule}return this._updating.set(!0),!0}_run(){const e=this._budget.now();this._startFrameTaskTimes();do{for(;this._runQueue.length>0;){const i=this._budget.now(),r=this._runQueue.pop();this._budget.resetProgress();try{r.task.runTask(this._budget)}catch(s){t.getLogger("esri.views.support.Scheduler").error(`Exception in task "${r.name}"`,s)}r.schedulePriority=r.basePriority,r.lastFrameRun=this._frameNumber;const a=this._budget.now()-i;if(r.runtime+=a,this._frameTaskTimes.set(r.priority,this._frameTaskTimes.get(r.priority)+a),this._debug&&this._budget.elapsed>2*this._budget.budget&&console.log("Task",r.name,"used",this._budget.elapsed,"of max",this._budget.budget,"ms"),this._budget.remaining<=0)return this._updating.set(this._tasks.some((e=>e.needsUpdate))),void this._recordFrameTaskTimes(this._budget.now()-e)}}while(this._schedule());this._updating.set(this._tasks.some((e=>e.needsUpdate))),this._recordFrameTaskTimes(this._budget.now()-e)}_startFrameTaskTimes(){for(const e of Object.keys(p))this._frameTaskTimes.set(p[e],0)}_recordFrameTaskTimes(e){this._frameTaskTimes.forEach(((e,t)=>this.performanceInfo.tasks.get(t).record(e))),this.performanceInfo.total.record(e)}get test(){return this._test}}_.Scheduler=h;class o{constructor(t,s,i,r){this._scheduler=t,this.name=s,this._basePriority=r,this.lastFrameRun=0,this.runtime=0,this._queue=new m,this._handles=new e,this.schedulePriority=this._basePriority,this._task=new c(a(i)?i:this._queue),this._handles.add(E((()=>this.task.running),(()=>t.activate())))}get task(){return this._task.get()}get updating(){return this._queue.running}remove(){this.processQueue(y),this._scheduler.removeTask(this),this.schedule=w.schedule,this.reschedule=w.reschedule,this._handles.destroy()}get basePriority(){return this._basePriority}setPriority(e){this.name=e;const t=L(e);this._basePriority!==f&&0===this.schedulePriority||(this.schedulePriority=t),this._basePriority=t}get priority(){return this.name}set priority(e){this.setPriority(e)}get needsUpdate(){return this.updating||this.task.running}schedule(e,t,s){return this._queue.push(e,t,s)}reschedule(e,t,s){return this._queue.unshift(e,t,s)}processQueue(e){this._queue.runTask(e)}}class R{constructor(){this._begin="undefined"!=typeof performance?performance.now():0,this._budget=0,this._state=I.IDLE,this._done=!1,this._enabled=!0}run(e){return!this.done&&(!0===e()&&this.madeProgress(),!0)}get done(){return this._done}get budget(){return this._budget}madeProgress(){this._done=this.elapsed>=this._budget&&this._enabled}get state(){return this._state}get enabled(){return this._enabled}set enabled(e){this._enabled=e}reset(e,t){this._begin=this.now(),this._budget=e,this._state=t,this._done=!1}get remaining(){return Math.max(this._budget-this.elapsed,0)}now(){return performance.now()}get elapsed(){return performance.now()-this._begin}resetProgress(){this._done=!1}get hasProgressed(){return this._done}}_.Budget=R}(F||(F={})),function(e){e.SCHEDULED="s",e.READY="r",e.WAITING="w",e.IDLE="i"}(C||(C={}));const y=(()=>{const e=new F.Budget;return e.enabled=!1,e})();class D{remove(){}processQueue(){}schedule(e,t,s){try{if(_(t)){const e=h();return s?Promise.resolve(s(e)):Promise.reject(e)}return o(e(y))}catch(i){return Promise.reject(i)}}reschedule(e,t,s){return this.schedule(e,t,s)}}const w=new D;export{w as ImmediateTask,p as TaskPriority,C as TaskState,L as getTaskPriority,R as newScheduler,y as noBudget,A as taskPriorities};
5
+ import e from"../../core/Handles.js";import t from"../../core/Logger.js";import{unwrapOr as s,removeMaybe as r,isNone as i,isSome as a}from"../../core/maybe.js";import n from"../../core/PerformanceSampler.js";import u from"../../core/PooledArray.js";import{isAborted as _,createAbortError as h,when as o}from"../../core/promiseUtils.js";import{watch as d,initial as l,when as E}from"../../core/reactiveUtils.js";import{Milliseconds as T}from"../../core/time.js";import{ObservableValue as c}from"../../core/accessorSupport/tracking/ObservableValue.js";import{PromiseQueue as m}from"../../layers/support/PromiseQueue.js";import g from"./debugFlags.js";import{RenderState as I}from"./RenderState.js";function R(){return new P.Scheduler}var f;!function(e){e.RESOURCE_CONTROLLER="schedule",e.SLIDE="slide",e.STREAM_DATA_LOADER="stream loader",e.ELEVATION_QUERY="elevation query",e.TERRAIN_SURFACE="terrain",e.SURFACE_GEOMETRY_UPDATES="surface geometry updates",e.GRAPHICS_CORE="Graphics3D",e.I3S_CONTROLLER="I3S",e.POINT_CLOUD_LAYER="point cloud",e.FEATURE_TILE_FETCHER="feature fetcher",e.OVERLAY="overlay",e.STAGE="stage",e.GRAPHICS_DECONFLICTOR="graphics deconflictor",e.FILTER_VISIBILITY="Graphics3D filter visibility",e.SCALE_VISIBILITY="Graphics3D scale visibility",e.FRUSTUM_VISIBILITY="Graphics3D frustum visibility",e.POINT_OF_INTEREST_FREQUENT="POI frequent",e.POINT_OF_INTEREST_INFREQUENT="POI infrequent",e.LABELER="labeler",e.FEATURE_QUERY_ENGINE="feature query",e.FEATURE_TILE_TREE="feature tile tree",e.FEATURE_TILE_TREE_ACTIVE="fast feature tile tree",e.ELEVATION_ALIGNMENT="elevation alignment",e.TEXT_TEXTURE_ATLAS="text texture atlas",e.TEXTURE_UNLOAD="texture unload",e.LINE_OF_SIGHT_TOOL="line of sight tool",e.LINE_OF_SIGHT_TOOL_INTERACTIVE="interactive line of sight tool",e.ELEVATION_PROFILE="elevation profile",e.SNAPPING="snapping",e.SHADOW_ACCUMULATOR="shadow accumulator",e.CLOUDS_GENERATOR="cloud generator",e[e.TEST_PRIO=1]="TEST_PRIO"}(f||(f={}));const p=0,A=new Map([[f.RESOURCE_CONTROLLER,p],[f.SLIDE,p],[f.STREAM_DATA_LOADER,p],[f.ELEVATION_QUERY,p],[f.TERRAIN_SURFACE,1],[f.SURFACE_GEOMETRY_UPDATES,1],[f.GRAPHICS_CORE,2],[f.I3S_CONTROLLER,2],[f.POINT_CLOUD_LAYER,2],[f.FEATURE_TILE_FETCHER,2],[f.OVERLAY,4],[f.STAGE,4],[f.GRAPHICS_DECONFLICTOR,4],[f.FILTER_VISIBILITY,4],[f.SCALE_VISIBILITY,4],[f.FRUSTUM_VISIBILITY,4],[f.CLOUDS_GENERATOR,4],[f.POINT_OF_INTEREST_FREQUENT,6],[f.POINT_OF_INTEREST_INFREQUENT,30],[f.LABELER,8],[f.FEATURE_QUERY_ENGINE,8],[f.FEATURE_TILE_TREE,16],[f.FEATURE_TILE_TREE_ACTIVE,p],[f.ELEVATION_ALIGNMENT,12],[f.TEXT_TEXTURE_ATLAS,12],[f.TEXTURE_UNLOAD,12],[f.LINE_OF_SIGHT_TOOL,16],[f.LINE_OF_SIGHT_TOOL_INTERACTIVE,p],[f.SNAPPING,p],[f.SHADOW_ACCUMULATOR,30]]);function L(e){return A.has(e)?A.get(e):"number"==typeof e?e:1}const b=T(6.5),S=T(1),k=T(30),O=T(1e3/30),U=T(100),N=.9;var P,F;!function(_){class h{constructor(){this._updating=new c(!0),this._microTaskQueued=!1,this._frameNumber=0,this.performanceInfo={total:new n("total"),tasks:new Map},this._frameTaskTimes=new Map,this._budget=new R,this._state=I.INTERACTING,this._tasks=new u,this._runQueue=new u,this._load=0,this._idleStateCallbacks=new u,this._idleUpdatesStartFired=!1,this._forceTask=!1,this._debug=!1,this._debugHandle=d((()=>g.SCHEDULER_LOG_SLOW_TASKS),(e=>this._debug=e),l);for(const s of Object.keys(f))this.performanceInfo.tasks.set(f[s],new n(f[s]));let e;const t=this;this._test={get state(){return s(e,t._state)},set state(t){e=t},FRAME_SAFETY_BUDGET:b,INTERACTING_BUDGET:O,IDLE_BUDGET:U,get availableBudget(){return t._budget.budget},usedBudget:0,getBudget:()=>t._budget,setBudget:e=>t._budget=e,updateTask:e=>this._updateTask(e),getState:e=>this._getState(e),getRuntime:e=>this._getRuntime(e),frameTaskTimes:this._frameTaskTimes,resetRuntimes:()=>this._resetRuntimes(),getRunning:()=>this._getRunning()}}get updating(){return this._updating.get()}set updating(e){this._updating.set(e)}destroy(){this._tasks.toArray().forEach((e=>e.remove())),this._tasks.clear(),r(this._debugHandle),this._microTaskQueued=!1,this._updating.set(!1)}activate(){this._budget.done||this._microTaskQueued||(this._microTaskQueued=!0,queueMicrotask((()=>{this._microTaskQueued&&(this._microTaskQueued=!1,!this._budget.done&&this._schedule()&&this.frame())})))}registerTask(e,t){const s=L(e),r=new o(this,e,t,s);return this._tasks.push(r),this.performanceInfo.tasks.has(e)||this.performanceInfo.tasks.set(e,new n(e)),r}registerIdleStateCallbacks(e,t){const s={idleBegin:e,idleEnd:t};this._idleStateCallbacks.push(s),this.state===I.IDLE&&this._idleUpdatesStartFired&&s.idleBegin();const r=this;return{remove:()=>this._removeIdleStateCallbacks(s),set idleBegin(e){r._idleUpdatesStartFired&&(s.idleEnd(),r._state===I.IDLE&&e()),s.idleBegin=e},set idleEnd(e){s.idleEnd=e}}}get load(){return this._load}set state(e){this._state!==e&&(this._state=e,this.state!==I.IDLE&&this._idleUpdatesStartFired&&(this._idleUpdatesStartFired=!1,this._idleStateCallbacks.forAll((e=>e.idleEnd()))))}get state(){return i(this._test.state)?this._state:this._test.state}updateBudget(e){this._test.usedBudget=0,++this._frameNumber;let t=b,s=e.frameDuration,r=S;switch(this.state){case I.IDLE:t=T(0),s=T(Math.max(U,e.frameDuration)),r=k;break;case I.INTERACTING:s=T(Math.max(O,e.frameDuration));case I.ANIMATING:}return s=T(s-e.elapsedFrameTime-t),this.state!==I.IDLE&&s<S&&!this._forceTask?(this._forceTask=!0,!1):(s=T(Math.max(s,r)),this._budget.reset(s,this.state),this._updateLoad(),this._schedule())}frame(){switch(this._forceTask=!1,this._microTaskQueued=!1,this.state){case I.IDLE:this._idleUpdatesStartFired||(this._idleUpdatesStartFired=!0,this._idleStateCallbacks.forAll((e=>e.idleBegin()))),this._runIdle();break;case I.INTERACTING:this._runInteracting();break;default:this._runAnimating()}this._test.usedBudget=this._budget.elapsed}stopFrame(){this._budget.reset(T(0),this._state),this._budget.madeProgress()}_removeIdleStateCallbacks(e){this._idleUpdatesStartFired&&e.idleEnd(),this._idleStateCallbacks.removeUnordered(e)}removeTask(e){this._tasks.removeUnordered(e),this._runQueue.removeUnordered(e)}_updateTask(e){this._tasks.forAll((t=>{t.name===e&&t.setPriority(e)}))}_getState(e){if(this._runQueue.some((t=>t.name===e)))return F.SCHEDULED;let t=F.IDLE;return this._tasks.forAll((s=>{s.name===e&&s.needsUpdate&&(s.schedulePriority<=1?t=F.READY:t!==F.READY&&(t=F.WAITING))})),t}_getRuntime(e){let t=0;return this._tasks.forAll((s=>{s.name===e&&(t+=s.runtime)})),t}_resetRuntimes(){this._tasks.forAll((e=>e.runtime=0))}_getRunning(){const e=new Map;if(this._tasks.forAll((t=>{t.needsUpdate&&e.set(t.name,(e.get(t.name)||0)+1)})),0===e.size)return null;let t="";return e.forEach(((e,s)=>{t+=e>1?` ${e}x ${s}`:` ${s}`})),t}_runIdle(){this._run()}_runInteracting(){this._run()}_runAnimating(){this._run()}_updateLoad(){const e=this._tasks.reduce(((e,t)=>t.needsUpdate?++e:e),0);this._load=this._load*N+e*(1-N)}_schedule(){for(this._runQueue.filterInPlace((e=>!!e.needsUpdate||(e.schedulePriority=e.basePriority,!1))),this._tasks.forAll((e=>{e.basePriority===p&&e.needsUpdate&&!this._runQueue.includes(e)&&this._runQueue.unshift(e)}));0===this._runQueue.length;){let e=!1,t=0;if(this._tasks.forAll((s=>{if(s.needsUpdate&&0!==s.schedulePriority&&s.basePriority!==p&&(!s.task.runOncePerFrame||s.lastFrameRun!==this._frameNumber))if(e=!0,t=Math.max(t,s.basePriority),1===s.schedulePriority)s.schedulePriority=0,this._runQueue.push(s);else--s.schedulePriority})),!e)return this._updating.set(!1),!1}return this._updating.set(!0),!0}_run(){const e=this._budget.now();this._startFrameTaskTimes();do{for(;this._runQueue.length>0;){const r=this._budget.now(),i=this._runQueue.pop();this._budget.resetProgress();try{i.task.runTask(this._budget)}catch(s){t.getLogger("esri.views.support.Scheduler").error(`Exception in task "${i.name}"`,s)}i.schedulePriority=i.basePriority,i.lastFrameRun=this._frameNumber;const a=this._budget.now()-r;if(i.runtime+=a,this._frameTaskTimes.set(i.priority,this._frameTaskTimes.get(i.priority)+a),this._debug&&a>2*this._budget.budget&&console.log("Task",i.name,"used",a,"of max",this._budget.budget,"ms"),this._budget.remaining<=0)return this._updating.set(this._tasks.some((e=>e.needsUpdate))),void this._recordFrameTaskTimes(this._budget.now()-e)}}while(this._schedule());this._updating.set(this._tasks.some((e=>e.needsUpdate))),this._recordFrameTaskTimes(this._budget.now()-e)}_startFrameTaskTimes(){for(const e of Object.keys(f))this._frameTaskTimes.set(f[e],0)}_recordFrameTaskTimes(e){this._frameTaskTimes.forEach(((e,t)=>this.performanceInfo.tasks.get(t).record(e))),this.performanceInfo.total.record(e)}get test(){return this._test}}_.Scheduler=h;class o{constructor(t,s,r,i){this._scheduler=t,this.name=s,this._basePriority=i,this.lastFrameRun=0,this.runtime=0,this._queue=new m,this._handles=new e,this.schedulePriority=this._basePriority,this._task=new c(a(r)?r:this._queue),this._handles.add(E((()=>this.task.running),(()=>t.activate())))}get task(){return this._task.get()}get updating(){return this._queue.running}remove(){this.processQueue(C),this._scheduler.removeTask(this),this.schedule=D.schedule,this.reschedule=D.reschedule,this._handles.destroy()}get basePriority(){return this._basePriority}setPriority(e){this.name=e;const t=L(e);this._basePriority!==p&&0===this.schedulePriority||(this.schedulePriority=t),this._basePriority=t}get priority(){return this.name}set priority(e){this.setPriority(e)}get needsUpdate(){return this.updating||this.task.running}schedule(e,t,s){return this._queue.push(e,t,s)}reschedule(e,t,s){return this._queue.unshift(e,t,s)}processQueue(e){this._queue.runTask(e)}}class R{constructor(){this._begin="undefined"!=typeof performance?performance.now():0,this._budget=0,this._state=I.IDLE,this._done=!1,this._enabled=!0}run(e){return!this.done&&(!0===e()&&this.madeProgress(),!0)}get done(){return this._done}get budget(){return this._budget}madeProgress(){this._done=this.elapsed>=this._budget&&this._enabled}get state(){return this._state}get enabled(){return this._enabled}set enabled(e){this._enabled=e}reset(e,t){this._begin=this.now(),this._budget=e,this._state=t,this._done=!1}get remaining(){return Math.max(this._budget-this.elapsed,0)}now(){return performance.now()}get elapsed(){return performance.now()-this._begin}resetProgress(){this._done=!1}get hasProgressed(){return this._done}}_.Budget=R}(P||(P={})),function(e){e.SCHEDULED="s",e.READY="r",e.WAITING="w",e.IDLE="i"}(F||(F={}));const C=(()=>{const e=new P.Budget;return e.enabled=!1,e})();class y{remove(){}processQueue(){}schedule(e,t,s){try{if(_(t)){const e=h();return s?Promise.resolve(s(e)):Promise.reject(e)}return o(e(C))}catch(r){return Promise.reject(r)}}reschedule(e,t,s){return this.schedule(e,t,s)}}const D=new y;export{D as ImmediateTask,f as TaskPriority,F as TaskState,L as getTaskPriority,R as newScheduler,C as noBudget,A as taskPriorities};
@@ -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{createArea as o}from"../../core/quantityUtils.js";import{areaUnitFromSpatialReference as r}from"../../core/unitUtils.js";import{e as n}from"../../chunks/earcut.js";import{s as e,z as s,p as i}from"../../chunks/vec3.js";import{c}from"../../chunks/vec3f64.js";import{projectVectorToVector as f}from"../../geometry/projection.js";import{fromPoints as u,wrap as l,normal as m,projectPointLocal as p}from"../../geometry/support/plane.js";import{areaPoints2d as a}from"../../geometry/support/triangle.js";import{computeEuclideanMeasurementSR as g}from"./measurementUtils.js";function h(t,o=U()){return y(t,o)}function j(t,o=U()){return y(t,o,!1)}function y(n,h,j=n.hasZ){const y=g(n.spatialReference),U=r(y);if(t(U))return null;const C=(t,o)=>!(o.length<2)&&(e(t,o[0],o[1],j&&o[2]||0),!0);let R=0;for(const t of n.rings){const o=t.length;if(o<3)continue;const{positionsWorldCoords:r}=h;for(;r.length<o;)r.push(c());const g=d,j=e(k,0,0,0),U=1/o;for(let e=0;e<o;e++){if(!C(g,t[e]))return null;if(!f(g,n.spatialReference,r[e],y))return null;s(j,j,r[e],U)}const W=u(r[0],r[1],j,l());if(0===i(m(W)))continue;for(let t=0;t<o;t++)p(W,j,r[t],r[t]);const b=v(r);for(let t=0;t<b.length;t+=3)R+=a(r[b[t]],r[b[t+1]],r[b[t+2]])}return o(R,U)}const d=c(),k=c();function U(){return{positionsWorldCoords:[]}}function v(t){return n(C(t),[],2)}function C(t){const o=new Float64Array(2*t.length);for(let r=0;r<t.length;++r){const n=t[r],e=2*r;o[e+0]=n[0],o[e+1]=n[1]}return o}export{y as computeEuclideanPlanarArea,U as createEuclideanPlanarAreaCache,j as euclideanHorizontalPlanarArea,h as euclideanPlanarArea,v as triangulate};
5
+ import{isNone as t}from"../../core/maybe.js";import{createArea as o}from"../../core/quantityUtils.js";import{areaUnitFromSpatialReference as r}from"../../core/unitUtils.js";import{e as n}from"../../chunks/earcut.js";import{s as e,q as s,z as i}from"../../chunks/vec3.js";import{c}from"../../chunks/vec3f64.js";import{projectVectorToVector as f}from"../../geometry/projection.js";import{fromPoints as u,wrap as l,normal as m,projectPointLocal as p}from"../../geometry/support/plane.js";import{areaPoints2d as a}from"../../geometry/support/triangle.js";import{computeEuclideanMeasurementSR as g}from"./measurementUtils.js";function h(t,o=U()){return y(t,o)}function j(t,o=U()){return y(t,o,!1)}function y(n,h,j=n.hasZ){const y=g(n.spatialReference),U=r(y);if(t(U))return null;const v=(t,o)=>!(o.length<2)&&(e(t,o[0],o[1],j&&o[2]||0),!0);let C=0;for(const t of n.rings){const o=t.length;if(o<3)continue;const{positionsWorldCoords:r}=h;for(;r.length<o;)r.push(c());const g=d,j=e(k,0,0,0),U=1/o;for(let e=0;e<o;e++){if(!v(g,t[e]))return null;if(!f(g,n.spatialReference,r[e],y))return null;s(j,j,r[e],U)}const R=u(r[0],r[1],j,l());if(0===i(m(R)))continue;for(let t=0;t<o;t++)p(R,j,r[t],r[t]);const W=q(r);for(let t=0;t<W.length;t+=3)C+=a(r[W[t]],r[W[t+1]],r[W[t+2]])}return o(C,U)}const d=c(),k=c();function U(){return{positionsWorldCoords:[]}}function q(t){return n(v(t),[],2)}function v(t){const o=new Float64Array(2*t.length);for(let r=0;r<t.length;++r){const n=t[r],e=2*r;o[e+0]=n[0],o[e+1]=n[1]}return o}export{y as computeEuclideanPlanarArea,U as createEuclideanPlanarAreaCache,j as euclideanHorizontalPlanarArea,h as euclideanPlanarArea,q as triangulate};
@@ -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{floatEqualAbsolute as t}from"../../core/mathUtils.js";import{a as s,u as n,h as r,v as e}from"../../chunks/vec2.js";import{s as o,b as c,l as a,z as f,y as i,e as u,i as p,f as m,u as h,D as y,d}from"../../chunks/vec3.js";import{c as j,f as l,a as A}from"../../chunks/vec3f64.js";import{LineType as R}from"./geometry2dUtils.js";export{LineType}from"./geometry2dUtils.js";function Y(t,s,n){const r=o(U,t[0],t[1],s[2]),e=c(g,r,s),i=n/a(e);return f(j(),s,e,i)}function L(t,{start:s,end:n,type:r}){const e=i(U,t,s),o=i(g,n,s),c=u(e,o)/u(o,o);return f(j(),s,o,r===R.RAY?Math.max(c,0):c)}function v({start:t,end:s,type:n},r){const e=i(U,r,t),o=i(g,s,t);if(n===R.RAY&&u(o,e)<-x)return p(t,r);const c=m(M,o,e);return h(c)/h(o)}function E({start:o,end:c,type:a},p,m){const h=[];if(t(o[2],p[2],x)&&t(c[2],p[2],x)){const t=o,f=p,i=s(U,c,t),u=s(g,t,f),y=n(i),d=2*r(i,u),j=d*d-4*y*(n(u)-m*m);if(0===j){const s=-d/(2*y);(a===R.LINE||s>=0)&&h.push(e(l(0,0,p[2]),t,i,s))}else if(j>0){const s=Math.sqrt(j),n=(-d+s)/(2*y);(a===R.LINE||n>=0)&&h.push(e(l(0,0,p[2]),t,i,n));const r=(-d-s)/(2*y);(a===R.LINE||r>=0)&&h.push(e(l(0,0,p[2]),t,i,r))}}else{const s=i(U,c,o);if(t(s[2],0,x))return h;const n=(p[2]-o[2])/s[2],r=f(g,o,s,n);if(a===R.RAY){const t=i(M,r,o);if(u(s,t)<-x)return h}for(const t of k(p,m,r))h.push(t)}return h}function I(s,n){const r=s.start,e=s.end,o=n.start,c=n.end,a=i(U,e,r),p=i(g,c,o),h=i(M,o,r),d=m(b,a,p),j=u(h,d);if(!t(j,0,x))return[];const l=y(d);if(t(l,0,x))return[];const Y=m(q,h,p),L=u(Y,d)/l,v=f(w,r,a,L);if(s.type===R.RAY){const t=i(z,v,r);if(u(a,t)<-x)return[]}if(n.type===R.RAY){const t=i(z,v,o);if(u(p,t)<-x)return[]}return[A(v)]}function N({start:t,end:s,type:n},r){const e=i(U,r,t),o=i(g,s,t),c=m(M,o,e);if(y(c)/y(o)<x)switch(n){case R.LINE:return[A(r)];case R.RAY:return u(o,e)<-x?[]:[A(r)]}return[]}function k(s,n,r){return t(s[2],r[2],x)&&t(d(r,s),n*n,x)?[A(r)]:[]}const x=1e-6,U=j(),g=j(),M=j(),b=j(),q=j(),w=j(),z=j();export{k as intersectCircleAndPoint,N as intersectLineAndPoint,I as intersectLineLike,E as intersectLineLikeAndCircle,v as pointToLineLikeDistance,Y as projectPointToCircle,L as projectPointToLineLike};
5
+ import{floatEqualAbsolute as t}from"../../core/mathUtils.js";import{a as s,u as n,h as r,v as e}from"../../chunks/vec2.js";import{s as o,b as c,l as a,q as f,p as i,e as u,i as p,f as m,y as h,D as y,d}from"../../chunks/vec3.js";import{c as j,f as l,a as A}from"../../chunks/vec3f64.js";import{LineType as R}from"./geometry2dUtils.js";export{LineType}from"./geometry2dUtils.js";function Y(t,s,n){const r=o(U,t[0],t[1],s[2]),e=c(g,r,s),i=n/a(e);return f(j(),s,e,i)}function L(t,{start:s,end:n,type:r}){const e=i(U,t,s),o=i(g,n,s),c=u(e,o)/u(o,o);return f(j(),s,o,r===R.RAY?Math.max(c,0):c)}function v({start:t,end:s,type:n},r){const e=i(U,r,t),o=i(g,s,t);if(n===R.RAY&&u(o,e)<-x)return p(t,r);const c=m(q,o,e);return h(c)/h(o)}function E({start:o,end:c,type:a},p,m){const h=[];if(t(o[2],p[2],x)&&t(c[2],p[2],x)){const t=o,f=p,i=s(U,c,t),u=s(g,t,f),y=n(i),d=2*r(i,u),j=d*d-4*y*(n(u)-m*m);if(0===j){const s=-d/(2*y);(a===R.LINE||s>=0)&&h.push(e(l(0,0,p[2]),t,i,s))}else if(j>0){const s=Math.sqrt(j),n=(-d+s)/(2*y);(a===R.LINE||n>=0)&&h.push(e(l(0,0,p[2]),t,i,n));const r=(-d-s)/(2*y);(a===R.LINE||r>=0)&&h.push(e(l(0,0,p[2]),t,i,r))}}else{const s=i(U,c,o);if(t(s[2],0,x))return h;const n=(p[2]-o[2])/s[2],r=f(g,o,s,n);if(a===R.RAY){const t=i(q,r,o);if(u(s,t)<-x)return h}for(const t of k(p,m,r))h.push(t)}return h}function I(s,n){const r=s.start,e=s.end,o=n.start,c=n.end,a=i(U,e,r),p=i(g,c,o),h=i(q,o,r),d=m(M,a,p),j=u(h,d);if(!t(j,0,x))return[];const l=y(d);if(t(l,0,x))return[];const Y=m(b,h,p),L=u(Y,d)/l,v=f(w,r,a,L);if(s.type===R.RAY){const t=i(D,v,r);if(u(a,t)<-x)return[]}if(n.type===R.RAY){const t=i(D,v,o);if(u(p,t)<-x)return[]}return[A(v)]}function N({start:t,end:s,type:n},r){const e=i(U,r,t),o=i(g,s,t),c=m(q,o,e);if(y(c)/y(o)<x)switch(n){case R.LINE:return[A(r)];case R.RAY:return u(o,e)<-x?[]:[A(r)]}return[]}function k(s,n,r){return t(s[2],r[2],x)&&t(d(r,s),n*n,x)?[A(r)]:[]}const x=1e-6,U=j(),g=j(),q=j(),M=j(),b=j(),w=j(),D=j();export{k as intersectCircleAndPoint,N as intersectLineAndPoint,I as intersectLineLike,E as intersectLineLikeAndCircle,v as pointToLineLikeDistance,Y as projectPointToCircle,L as projectPointToLineLike};
@@ -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"../../../Color.js";import s from"../../../core/Accessor.js";import o from"../../../core/Handles.js";import{isNone as r,unwrapOr as i,isSome as a}from"../../../core/maybe.js";import{watch as l,syncAndInitial as n}from"../../../core/reactiveUtils.js";import{throttle as c}from"../../../core/throttle.js";import{property as h}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/arrayUtils.js";import"../../../core/has.js";import"../../../core/accessorSupport/ensureType.js";import{subclass as p}from"../../../core/accessorSupport/decorators/subclass.js";import{b as m}from"../../../chunks/vec4f64.js";import f from"../../../geometry/Polyline.js";import{OutlineVisualElement as d}from"../../../views/3d/interactive/visualElements/OutlineVisualElement.js";import{getConfig as u}from"./constants.js";const v=100;let y=class extends s{constructor(e){super(e),this._chartData=null,this._visualElements=[],this._handles=new o}initialize(){const e=c((e=>{this._update(e)}),v);this._handles.add([l((()=>({spatialReference:this.view.spatialReference,chartData:this._chartData})),e,n),e])}destroy(){this._handles.destroy(),this._destroyVisualElements()}remove(){this._destroyVisualElements()}update(e){this._chartData=e}_update(e){const{chartData:s}=e;if(r(s))return this.remove();if(!s.refined)return;const o=this._visualElements,i=s.lines.filter((e=>e.viewVisualizationEnabled)),a=i.length;for(;o.length>a;)o.pop().destroy();const l=u().profileLinesStyle3D;for(;o.length<a;){const e=new d({view:this.view,elevationInfo:{mode:"absolute-height",offset:0},innerWidth:l.width-l.outlineSize,width:l.width,falloff:l.falloff,color:l.outlineColor,renderOccluded:l.renderOccluded});o.push(e)}const n=e.spatialReference;for(let r=0;r<a;++r){const e=o[r],s=i[a-1-r];e.geometry=this._createLineGeometry(s,n),e.innerColor=m(t.toUnitRGBA(s.color))}}_createLineGeometry(e,t){const s=i(e.samples,[]),o=s.length-1,l=[];let n=[];for(let i=0;i<=o;i++){const{x:e,y:t,z:c}=s[i];a(c)&&n.push([e,t,c]),(i===o||r(c))&&n.length&&(l.push(n),n=[])}return new f({paths:l,hasZ:!0,spatialReference:t})}_destroyVisualElements(){this._visualElements.forEach((e=>e.destroy())),this._visualElements.length=0}};e([h()],y.prototype,"view",void 0),e([h()],y.prototype,"_chartData",void 0),y=e([p("esri.widgets.ElevationProfile.support.ProfileLines3D")],y);export{y as ProfileLines3D};
5
+ import{_ as e}from"../../../chunks/tslib.es6.js";import t from"../../../Color.js";import s from"../../../core/Accessor.js";import o from"../../../core/Handles.js";import{isNone as r,unwrapOr as i,isSome as a}from"../../../core/maybe.js";import{watch as l,syncAndInitial as n}from"../../../core/reactiveUtils.js";import{throttle as c}from"../../../core/throttle.js";import{property as h}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/arrayUtils.js";import"../../../core/has.js";import"../../../core/accessorSupport/ensureType.js";import{subclass as p}from"../../../core/accessorSupport/decorators/subclass.js";import{a as m}from"../../../chunks/vec4f64.js";import f from"../../../geometry/Polyline.js";import{OutlineVisualElement as d}from"../../../views/3d/interactive/visualElements/OutlineVisualElement.js";import{getConfig as u}from"./constants.js";const v=100;let y=class extends s{constructor(e){super(e),this._chartData=null,this._visualElements=[],this._handles=new o}initialize(){const e=c((e=>{this._update(e)}),v);this._handles.add([l((()=>({spatialReference:this.view.spatialReference,chartData:this._chartData})),e,n),e])}destroy(){this._handles.destroy(),this._destroyVisualElements()}remove(){this._destroyVisualElements()}update(e){this._chartData=e}_update(e){const{chartData:s}=e;if(r(s))return this.remove();if(!s.refined)return;const o=this._visualElements,i=s.lines.filter((e=>e.viewVisualizationEnabled)),a=i.length;for(;o.length>a;)o.pop().destroy();const l=u().profileLinesStyle3D;for(;o.length<a;){const e=new d({view:this.view,elevationInfo:{mode:"absolute-height",offset:0},innerWidth:l.width-l.outlineSize,width:l.width,falloff:l.falloff,color:l.outlineColor,renderOccluded:l.renderOccluded});o.push(e)}const n=e.spatialReference;for(let r=0;r<a;++r){const e=o[r],s=i[a-1-r];e.geometry=this._createLineGeometry(s,n),e.innerColor=m(t.toUnitRGBA(s.color))}}_createLineGeometry(e,t){const s=i(e.samples,[]),o=s.length-1,l=[];let n=[];for(let i=0;i<=o;i++){const{x:e,y:t,z:c}=s[i];a(c)&&n.push([e,t,c]),(i===o||r(c))&&n.length&&(l.push(n),n=[])}return new f({paths:l,hasZ:!0,spatialReference:t})}_destroyVisualElements(){this._visualElements.forEach((e=>e.destroy())),this._visualElements.length=0}};e([h()],y.prototype,"view",void 0),e([h()],y.prototype,"_chartData",void 0),y=e([p("esri.widgets.ElevationProfile.support.ProfileLines3D")],y);export{y as ProfileLines3D};
@@ -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{convertUnit as e}from"../../../core/unitUtils.js";import{b as i}from"../../../chunks/vec4f64.js";import{RenderOccludedFlag as o}from"../../../views/3d/webgl-engine/lib/Material.js";var t,a;!function(e){e.Disabled="disabled",e.Ready="ready",e.Creating="creating",e.Created="created",e.Selecting="selecting",e.Selected="selected"}(t||(t={})),function(e){e.NoValidInput="no-valid-input",e.NoVisibleProfiles="no-visible-profiles",e.InvalidGeometry="invalid-geometry",e.TooComplex="too-complex",e.InvalidElevationInfo="invalid-elevation-info",e.UnknownError="unknown-error",e.RefinedButNoChartData="refined-but-no-chart-data",e.None="none"}(a||(a={}));let l={noDataValue:-5e5,defaultQueryOptions:()=>({noDataValue:l.noDataValue,demResolution:"auto",maximumAutoTileRequests:150,ignoreInvisibleLayers:!0}),updateThrottleMillis:100,delayAfterPreviewMillis:500,defaultDemResolution:e(10,"centimeters","meters"),densificationMaxSamples:3e3,largeChartSamples:1e4,maxTotalSamples:1e5,maxChartRatio:300,minSlopeSampleDistance:10,formatPrecision:1,portraitModePixelBreakpoint:400,profileLinesStyle3D:{width:3,outlineSize:0,falloff:0,outlineColor:i([1,1,1,0]),renderOccluded:o.Opaque},hoveredPointsStyle:{size:14,borderStyle:"solid",borderWidth:3,borderColor:"#ffffff",boxShadow:"0px 0px 0px 5px rgba(255,255,255,0.2)"}};function n(){return l}function r(e){l=e}const s=" ― ",d={progress:1,hasZ:!1,samples:[],statistics:null,spatialReference:null};export{d as ERROR_RESULT,a as ElevationProfileErrorState,t as ElevationProfileState,s as NOT_AVAILABLE,n as getConfig,r as setConfig};
5
+ import{convertUnit as e}from"../../../core/unitUtils.js";import{a as i}from"../../../chunks/vec4f64.js";import{RenderOccludedFlag as o}from"../../../views/3d/webgl-engine/lib/Material.js";var t,a;!function(e){e.Disabled="disabled",e.Ready="ready",e.Creating="creating",e.Created="created",e.Selecting="selecting",e.Selected="selected"}(t||(t={})),function(e){e.NoValidInput="no-valid-input",e.NoVisibleProfiles="no-visible-profiles",e.InvalidGeometry="invalid-geometry",e.TooComplex="too-complex",e.InvalidElevationInfo="invalid-elevation-info",e.UnknownError="unknown-error",e.RefinedButNoChartData="refined-but-no-chart-data",e.None="none"}(a||(a={}));let l={noDataValue:-5e5,defaultQueryOptions:()=>({noDataValue:l.noDataValue,demResolution:"auto",maximumAutoTileRequests:150,ignoreInvisibleLayers:!0}),updateThrottleMillis:100,delayAfterPreviewMillis:500,defaultDemResolution:e(10,"centimeters","meters"),densificationMaxSamples:3e3,largeChartSamples:1e4,maxTotalSamples:1e5,maxChartRatio:300,minSlopeSampleDistance:10,formatPrecision:1,portraitModePixelBreakpoint:400,profileLinesStyle3D:{width:3,outlineSize:0,falloff:0,outlineColor:i([1,1,1,0]),renderOccluded:o.Opaque},hoveredPointsStyle:{size:14,borderStyle:"solid",borderWidth:3,borderColor:"#ffffff",boxShadow:"0px 0px 0px 5px rgba(255,255,255,0.2)"}};function n(){return l}function r(e){l=e}const s=" ― ",d={progress:1,hasZ:!1,samples:[],statistics:null,spatialReference:null};export{d as ERROR_RESULT,a as ElevationProfileErrorState,t as ElevationProfileState,s as NOT_AVAILABLE,n as getConfig,r as setConfig};