@arcgis/core 5.2.0-next.15 → 5.2.0-next.17

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 (892) hide show
  1. package/applications/Urban/editingSessionUtils.js +1 -1
  2. package/arcade/featureSetUtils.js +1 -1
  3. package/arcade/featureset/sources/FeatureLayerDynamic.js +1 -1
  4. package/arcade/featureset/sources/FeatureLayerParquet.js +2 -0
  5. package/arcade/featureset/support/FeatureSet.js +1 -1
  6. package/arcade/featureset/support/shared.js +1 -1
  7. package/arcade.d.ts +2 -1
  8. package/arcgisGlobal.d.ts +6 -1
  9. package/assets/esri/core/t9n/Units_ar.json +1 -1
  10. package/assets/esri/core/t9n/Units_bg.json +1 -1
  11. package/assets/esri/core/t9n/Units_bs.json +1 -1
  12. package/assets/esri/core/t9n/Units_ca.json +1 -1
  13. package/assets/esri/core/t9n/Units_cs.json +1 -1
  14. package/assets/esri/core/t9n/Units_da.json +1 -1
  15. package/assets/esri/core/t9n/Units_de.json +1 -1
  16. package/assets/esri/core/t9n/Units_el.json +1 -1
  17. package/assets/esri/core/t9n/Units_es.json +1 -1
  18. package/assets/esri/core/t9n/Units_et.json +1 -1
  19. package/assets/esri/core/t9n/Units_fi.json +1 -1
  20. package/assets/esri/core/t9n/Units_fr.json +1 -1
  21. package/assets/esri/core/t9n/Units_he.json +1 -1
  22. package/assets/esri/core/t9n/Units_hr.json +1 -1
  23. package/assets/esri/core/t9n/Units_hu.json +1 -1
  24. package/assets/esri/core/t9n/Units_id.json +1 -1
  25. package/assets/esri/core/t9n/Units_it.json +1 -1
  26. package/assets/esri/core/t9n/Units_ja.json +1 -1
  27. package/assets/esri/core/t9n/Units_ko.json +1 -1
  28. package/assets/esri/core/t9n/Units_lt.json +1 -1
  29. package/assets/esri/core/t9n/Units_lv.json +1 -1
  30. package/assets/esri/core/t9n/Units_nl.json +1 -1
  31. package/assets/esri/core/t9n/Units_no.json +1 -1
  32. package/assets/esri/core/t9n/Units_pl.json +1 -1
  33. package/assets/esri/core/t9n/Units_pt-BR.json +1 -1
  34. package/assets/esri/core/t9n/Units_pt-PT.json +1 -1
  35. package/assets/esri/core/t9n/Units_ro.json +1 -1
  36. package/assets/esri/core/t9n/Units_ru.json +1 -1
  37. package/assets/esri/core/t9n/Units_sk.json +1 -1
  38. package/assets/esri/core/t9n/Units_sl.json +1 -1
  39. package/assets/esri/core/t9n/Units_sr.json +1 -1
  40. package/assets/esri/core/t9n/Units_sv.json +1 -1
  41. package/assets/esri/core/t9n/Units_th.json +1 -1
  42. package/assets/esri/core/t9n/Units_tr.json +1 -1
  43. package/assets/esri/core/t9n/Units_uk.json +1 -1
  44. package/assets/esri/core/t9n/Units_vi.json +1 -1
  45. package/assets/esri/core/t9n/Units_zh-CN.json +1 -1
  46. package/assets/esri/core/t9n/Units_zh-HK.json +1 -1
  47. package/assets/esri/core/t9n/Units_zh-TW.json +1 -1
  48. package/assets/esri/core/workers/RemoteClient.js +1 -1
  49. package/assets/esri/core/workers/chunks/007485862ce95928717a.js +1 -0
  50. package/assets/esri/core/workers/chunks/00bcb04934972179b9ca.js +1 -0
  51. package/assets/esri/core/workers/chunks/{d9d4754062758789f186.js → 05016e5a1de384994001.js} +2 -2
  52. package/assets/esri/core/workers/chunks/05b6b2c0b76afb100e33.js +1 -0
  53. package/assets/esri/core/workers/chunks/{8927fb4aa68f7e541a39.js → 05d597dd117766beadd8.js} +1 -1
  54. package/assets/esri/core/workers/chunks/073ee52705ea326fecfb.js +1 -0
  55. package/assets/esri/core/workers/chunks/0a52373c4ba652e0ee0f.js +1 -0
  56. package/assets/esri/core/workers/chunks/0b522e05668bef729b1b.js +1 -0
  57. package/assets/esri/core/workers/chunks/0d42322362e76f674d94.js +2 -0
  58. package/assets/esri/core/workers/chunks/{a442534ac0956a68b769.js → 0e81b6aa64d5491870b2.js} +1 -1
  59. package/assets/esri/core/workers/chunks/{81e3bd1a0634ddc2b833.js → 0f10d7d592c36ee2d1ea.js} +1 -1
  60. package/assets/esri/core/workers/chunks/{3526ab3b1f87c24ae6f8.js → 0fb685f385e91d0f0601.js} +1 -1
  61. package/assets/esri/core/workers/chunks/{cdf6ad970dc1893dac58.js → 110135b0562a3b5708b9.js} +1 -1
  62. package/assets/esri/core/workers/chunks/11d1af758e2140095b10.js +1 -0
  63. package/assets/esri/core/workers/chunks/122892f365f5327d290c.js +1 -0
  64. package/assets/esri/core/workers/chunks/1305690054214a9cf48d.js +1 -0
  65. package/assets/esri/core/workers/chunks/168c15cf462f9abcbdd2.js +1 -0
  66. package/assets/esri/core/workers/chunks/169bfafec4d59be2beb0.js +1 -0
  67. package/assets/esri/core/workers/chunks/1d2609ce6220b5af5526.js +1 -0
  68. package/assets/esri/core/workers/chunks/1e109a521ca8772fdf04.js +1 -0
  69. package/assets/esri/core/workers/chunks/1ea840b7ac1ffaa0c389.js +1 -0
  70. package/assets/esri/core/workers/chunks/1f48438b3055afeb710f.js +1 -0
  71. package/assets/esri/core/workers/chunks/2353fbc1ff4481dcfb1f.js +1 -0
  72. package/assets/esri/core/workers/chunks/2509da565e5a2b43ac7f.js +1 -0
  73. package/assets/esri/core/workers/chunks/255c8e937e7a123ebb04.js +1 -0
  74. package/assets/esri/core/workers/chunks/256cc116e3be4feee593.js +1 -0
  75. package/assets/esri/core/workers/chunks/26aa8190ac439f634c5b.js +1 -0
  76. package/assets/esri/core/workers/chunks/29e6f4b19c3da9129439.js +1 -0
  77. package/assets/esri/core/workers/chunks/{45b560ca01fb566ba560.js → 2a8d791aef3123e6a3c4.js} +1 -1
  78. package/assets/esri/core/workers/chunks/2baee42e1797a709fe4b.js +1 -0
  79. package/assets/esri/core/workers/chunks/2c017eae434254610c8e.js +1 -0
  80. package/assets/esri/core/workers/chunks/2d7a4b669804d0c5029b.js +1 -0
  81. package/assets/esri/core/workers/chunks/2f40193d1b2e534c5226.js +1 -0
  82. package/assets/esri/core/workers/chunks/303e723e829ea7088d43.js +1 -0
  83. package/assets/esri/core/workers/chunks/31c4128b23968575feca.js +1 -0
  84. package/assets/esri/core/workers/chunks/35533c8ef541f7643497.js +2 -0
  85. package/assets/esri/core/workers/chunks/35a508a9311689d8df52.js +1 -0
  86. package/assets/esri/core/workers/chunks/36913f0f944a9eb82cd3.js +1 -0
  87. package/assets/esri/core/workers/chunks/3a35779cae6a11cde51b.js +1 -0
  88. package/assets/esri/core/workers/chunks/3a526e1d18490b99332f.js +1 -0
  89. package/assets/esri/core/workers/chunks/{cc62e5095e328bed3e01.js → 3aa0a34d2b7dbf2e2c66.js} +1 -1
  90. package/assets/esri/core/workers/chunks/3d4ad7c728e02aa90551.js +1 -0
  91. package/assets/esri/core/workers/chunks/3e89f487c5851c954d8b.js +1 -0
  92. package/assets/esri/core/workers/chunks/436d51b9f1b1b5abc4bc.js +1 -0
  93. package/assets/esri/core/workers/chunks/43ef6dee2e1d9ed7885e.js +1 -0
  94. package/assets/esri/core/workers/chunks/442424200e7475e9a08f.js +1 -0
  95. package/assets/esri/core/workers/chunks/4b96aa2dc5b88846bb53.js +1 -0
  96. package/assets/esri/core/workers/chunks/4ea325c829d3b82854b1.js +1 -0
  97. package/assets/esri/core/workers/chunks/50c88e2545380800381f.js +1 -0
  98. package/assets/esri/core/workers/chunks/51a53011478e0cf96e0b.js +1 -0
  99. package/assets/esri/core/workers/chunks/51a8a47aac1d8d22ba9d.js +1 -0
  100. package/assets/esri/core/workers/chunks/5481af25fd46914498df.js +1 -0
  101. package/assets/esri/core/workers/chunks/54f54623532f633dc0e2.js +1 -0
  102. package/assets/esri/core/workers/chunks/{bfd1aef8ac795e1ce227.js → 57a6572d440d2c62432b.js} +1 -1
  103. package/assets/esri/core/workers/chunks/5809e70a8e57e9b05959.js +1 -0
  104. package/assets/esri/core/workers/chunks/589b31cc5c663a288942.js +1 -0
  105. package/assets/esri/core/workers/chunks/58ce4bcfb15f378b1b9f.js +1 -0
  106. package/assets/esri/core/workers/chunks/58e0e50b6c3abaa4798f.js +1 -0
  107. package/assets/esri/core/workers/chunks/595bc41ff36c77324d01.js +261 -0
  108. package/assets/esri/core/workers/chunks/599bd80379423c99799d.js +1 -0
  109. package/assets/esri/core/workers/chunks/5bf01e0eff8a78b65e9e.js +1 -0
  110. package/assets/esri/core/workers/chunks/5dfeefee96659832398a.js +1 -0
  111. package/assets/esri/core/workers/chunks/{011a4d4201696fa10408.js → 5ea1113b7bdcf94b2822.js} +1 -1
  112. package/assets/esri/core/workers/chunks/5fab14c5f1febebb75f1.js +1 -0
  113. package/assets/esri/core/workers/chunks/60d4a3f770bb1e01cd10.js +1 -0
  114. package/assets/esri/core/workers/chunks/63858dfcff1177e597e7.js +1 -0
  115. package/assets/esri/core/workers/chunks/6849282c4a5cd733779d.js +1 -0
  116. package/assets/esri/core/workers/chunks/686c1a1b794ebe1a0341.js +1 -0
  117. package/assets/esri/core/workers/chunks/6a21a22b08f968fa8d60.js +1 -0
  118. package/assets/esri/core/workers/chunks/{11c3b1e8ca21ad62fdd1.js → 6db5ee9c589265b23b60.js} +1 -1
  119. package/assets/esri/core/workers/chunks/6dc60afb0c39bbb001a3.js +1 -0
  120. package/assets/esri/core/workers/chunks/{5bfae465872760e7af6d.js → 6f240fe78b299e6c4fcc.js} +1 -1
  121. package/assets/esri/core/workers/chunks/70cb825bb37f1977d2ab.js +1 -0
  122. package/assets/esri/core/workers/chunks/71a593fa116770e58832.js +1 -0
  123. package/assets/esri/core/workers/chunks/71f09e34d56c9fe5c307.js +1 -0
  124. package/assets/esri/core/workers/chunks/{72cfb186e50537bcdd19.js → 75915f81caaf9e5345a9.js} +1 -1
  125. package/assets/esri/core/workers/chunks/7832d94f35b79e27ee51.js +1 -0
  126. package/assets/esri/core/workers/chunks/8104ac2eee69d79ada86.js +1 -0
  127. package/assets/esri/core/workers/chunks/818a481ce579f519de1c.js +1 -0
  128. package/assets/esri/core/workers/chunks/831455798b177678720c.js +1 -0
  129. package/assets/esri/core/workers/chunks/83ce38342796bd6d73ce.js +1 -0
  130. package/assets/esri/core/workers/chunks/84a0bb53fcbd99b5aa0c.js +1 -0
  131. package/assets/esri/core/workers/chunks/87b86375f8557418dbe6.js +1 -0
  132. package/assets/esri/core/workers/chunks/8817d25c7f4cf0e6c6bd.js +1 -0
  133. package/assets/esri/core/workers/chunks/{0b55fc5050e718371e05.js → 888af532ad48fd86f285.js} +1 -1
  134. package/assets/esri/core/workers/chunks/{9331969046f2b277d620.js → 8a39dd585742960d3ca2.js} +1 -1
  135. package/assets/esri/core/workers/chunks/8ade399db21938822a7c.js +1 -0
  136. package/assets/esri/core/workers/chunks/8c62e2dabd1f1e13d244.js +1 -0
  137. package/assets/esri/core/workers/chunks/909e88c27d80777b047c.js +1 -0
  138. package/assets/esri/core/workers/chunks/91c5205d1274c7f190d5.js +1 -0
  139. package/assets/esri/core/workers/chunks/91c543443cd6768ad6ff.js +1 -0
  140. package/assets/esri/core/workers/chunks/9230ad807020fc2bbf8e.js +1 -0
  141. package/assets/esri/core/workers/chunks/92458803531fdfe1557a.js +1 -0
  142. package/assets/esri/core/workers/chunks/{976ab2be6c244768c08a.js → 940ebb13618d38c6b459.js} +1 -1
  143. package/assets/esri/core/workers/chunks/987594539981483a7c5e.js +1 -0
  144. package/assets/esri/core/workers/chunks/99c002015c2127e6cbfc.js +2 -0
  145. package/assets/esri/core/workers/chunks/9d59cc5c0a63a4e41d99.js +1 -0
  146. package/assets/esri/core/workers/chunks/{91c0de3950991d81b7f2.js → 9de673a04c70bd47047e.js} +1 -1
  147. package/assets/esri/core/workers/chunks/a195f569eada3a8736be.js +1 -0
  148. package/assets/esri/core/workers/chunks/a32651777e4f07df5b6a.js +1 -0
  149. package/assets/esri/core/workers/chunks/a3393780655152102c45.js +1 -0
  150. package/assets/esri/core/workers/chunks/a3c5b754a6fa0f4250bf.js +1 -0
  151. package/assets/esri/core/workers/chunks/{52175ff9e8c2c136f90a.js → a3ecde3794a7db3cf283.js} +1 -1
  152. package/assets/esri/core/workers/chunks/a59a1fdcd37a875f179b.js +1 -0
  153. package/assets/esri/core/workers/chunks/a844c4e031e77db11478.js +1 -0
  154. package/assets/esri/core/workers/chunks/a99ce2f12c8204ee542a.js +1 -0
  155. package/assets/esri/core/workers/chunks/aba7a053015a9738d8a0.js +1 -0
  156. package/assets/esri/core/workers/chunks/{c8460bdf60aca749ed05.js → ac16016964be3b684e98.js} +1 -1
  157. package/assets/esri/core/workers/chunks/adce59e4111bae4225f7.js +1 -0
  158. package/assets/esri/core/workers/chunks/aeeee92b86554962711e.js +1 -0
  159. package/assets/esri/core/workers/chunks/af3b060fdfa3b6174340.js +1 -0
  160. package/assets/esri/core/workers/chunks/b0e4af49fc968b0a910f.js +1 -0
  161. package/assets/esri/core/workers/chunks/b289c46ce2dc04d32e81.js +1 -0
  162. package/assets/esri/core/workers/chunks/{c983e5ce0ff952b65d7f.js → b2b342b06d502fc61ea5.js} +1 -1
  163. package/assets/esri/core/workers/chunks/b466af9019f10420115e.js +1 -0
  164. package/assets/esri/core/workers/chunks/{67ebde34377f98d17cda.js → b5571e93bc136dac8ee1.js} +1 -1
  165. package/assets/esri/core/workers/chunks/ba1c4a8794ac55942e35.js +1 -0
  166. package/assets/esri/core/workers/chunks/bb9232d9f63ec0c32447.js +1 -0
  167. package/assets/esri/core/workers/chunks/bbcad2fde838819ffc7b.js +1 -0
  168. package/assets/esri/core/workers/chunks/bd260798b8de09a1eeb2.js +1 -0
  169. package/assets/esri/core/workers/chunks/{44d0ca9d4c5f1722688c.js → bf67e0f6064fb9d94ac8.js} +1 -1
  170. package/assets/esri/core/workers/chunks/bf9eca7dd107bdb06614.js +1 -0
  171. package/assets/esri/core/workers/chunks/c030a974a63155f450e9.js +1 -0
  172. package/assets/esri/core/workers/chunks/c0b7b9d115dccb2924ff.js +1 -0
  173. package/assets/esri/core/workers/chunks/c2db773201adca204f95.js +1 -0
  174. package/assets/esri/core/workers/chunks/c318e6dbb8651433038f.js +2 -0
  175. package/assets/esri/core/workers/chunks/c4a2ec2e5897300163ac.js +1 -0
  176. package/assets/esri/core/workers/chunks/c63b315c6b76b4860fc5.js +1 -0
  177. package/assets/esri/core/workers/chunks/c8091e8fd7ca43a4490a.js +1 -0
  178. package/assets/esri/core/workers/chunks/{2413b383b7f2bdcd4ced.js → c8672a54c98d472aa24d.js} +1 -1
  179. package/assets/esri/core/workers/chunks/cbe8adc100582e746a8c.js +1 -0
  180. package/assets/esri/core/workers/chunks/d0321dd4b5b2d863eecd.js +1 -0
  181. package/assets/esri/core/workers/chunks/d523af1db620b5381c99.js +1 -0
  182. package/assets/esri/core/workers/chunks/d5a0e3a73df827dc7b06.js +1 -0
  183. package/assets/esri/core/workers/chunks/d670e134348954ce465d.js +1 -0
  184. package/assets/esri/core/workers/chunks/{886ae23a1d8fa21e531f.js → d750e4abeb777caa8c36.js} +1 -1
  185. package/assets/esri/core/workers/chunks/{bd36c57dd0cd28dee55f.js → d7acbc2ddff4cee8a465.js} +1 -1
  186. package/assets/esri/core/workers/chunks/{cb8c4d8334fab9bd9a04.js → d90bc34d97bb21c29c40.js} +1 -1
  187. package/assets/esri/core/workers/chunks/d9fcc63df008f687848a.js +1 -0
  188. package/assets/esri/core/workers/chunks/db96a0c66578b2d1b715.js +1 -0
  189. package/assets/esri/core/workers/chunks/{6a1b6f8c868f8edce1d7.js → dd3b0070081eaf805d95.js} +1 -1
  190. package/assets/esri/core/workers/chunks/dd5dddf7e422216d3806.js +1 -0
  191. package/assets/esri/core/workers/chunks/de83c177f8a1234a5b2e.js +1 -0
  192. package/assets/esri/core/workers/chunks/{07ca020796c57cefda62.js → dfb19701b488089874fd.js} +1 -1
  193. package/assets/esri/core/workers/chunks/e2f33945d838183a2192.js +1 -0
  194. package/assets/esri/core/workers/chunks/e3ea4b7217df16592def.js +1 -0
  195. package/assets/esri/core/workers/chunks/{d97c0c18202b8c578f8c.js → e5471373f89fd7cb9844.js} +1 -1
  196. package/assets/esri/core/workers/chunks/e65d291bab13f7f5323b.js +1 -0
  197. package/assets/esri/core/workers/chunks/e95ee94027c1934086d8.js +1 -0
  198. package/assets/esri/core/workers/chunks/ecbf84a1f42e6188faab.js +1 -0
  199. package/assets/esri/core/workers/chunks/efaa1d05705f6b450e8f.js +1 -0
  200. package/assets/esri/core/workers/chunks/efaf998d18479a0380ae.js +1 -0
  201. package/assets/esri/core/workers/chunks/f0573db9a3d3e1499a7e.js +1 -0
  202. package/assets/esri/core/workers/chunks/f07722efd7fa2b75d4dd.js +1 -0
  203. package/assets/esri/core/workers/chunks/{520e0e5307eef27becc6.js → f0924613f818dd165ad9.js} +1 -1
  204. package/assets/esri/core/workers/chunks/{8b0a01ebc86ab226f01f.js → f23351a04643c464be84.js} +1 -1
  205. package/assets/esri/core/workers/chunks/f3d331da3c61af5c5a2f.js +1 -0
  206. package/assets/esri/core/workers/chunks/f3fe865506fd7428eb6d.js +1 -0
  207. package/assets/esri/core/workers/chunks/{3d20c86f1fe877bf884b.js → f59b76fde2cbd17f64b3.js} +1 -1
  208. package/assets/esri/core/workers/chunks/f6afc597eaf2afa9a4a0.js +1 -0
  209. package/assets/esri/core/workers/chunks/{ed2a1c371dfc5d4a744e.js → f7f820483e45c05ab9e4.js} +2 -2
  210. package/assets/esri/core/workers/chunks/f8cfd0045d06aa24beec.js +1 -0
  211. package/assets/esri/core/workers/chunks/f98bb3885bfc7f18f26c.js +1 -0
  212. package/assets/esri/core/workers/chunks/f9b44ff9bb4f7a88ab56.js +1 -0
  213. package/assets/esri/core/workers/chunks/{b102beeeb7a919f68b51.js → fb81705cec1be2431876.js} +1 -1
  214. package/assets/esri/core/workers/chunks/fd53ef66176ae164e221.js +1 -0
  215. package/assets/esri/core/workers/chunks/fd956a58787020d610af.js +1 -0
  216. package/assets/esri/core/workers/chunks/fdec3a2e100688c42e41.js +1 -0
  217. package/assets/esri/core/workers/chunks/fe6385115d76e16e8da0.js +1 -0
  218. package/assets/esri/core/workers/chunks/fedbeb488d5d7c07c7dc.js +1 -0
  219. package/assets/esri/core/workers/chunks/{d9695794cfaa014a55b1.js → ff00ac01f0baaecaa890.js} +1 -1
  220. package/assets/esri/libs/parquet/pkg/bundle_bg.wasm +0 -0
  221. package/assets/esri/themes/base/widgets/_BatchAttributeForm.scss +62 -90
  222. package/assets/esri/themes/base/widgets/_OrientedImageryViewer.scss +0 -2
  223. package/assets/esri/themes/dark/main.css +1 -1
  224. package/assets/esri/themes/light/main.css +1 -1
  225. package/assets/esri/themes/light/view.css +1 -1
  226. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_ar.json +1 -1
  227. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_bg.json +1 -1
  228. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_bs.json +1 -1
  229. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_ca.json +1 -1
  230. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_cs.json +1 -1
  231. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_da.json +1 -1
  232. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_de.json +1 -1
  233. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_el.json +1 -1
  234. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_es.json +1 -1
  235. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_et.json +1 -1
  236. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_fi.json +1 -1
  237. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_fr.json +1 -1
  238. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_he.json +1 -1
  239. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_hr.json +1 -1
  240. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_hu.json +1 -1
  241. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_id.json +1 -1
  242. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_it.json +1 -1
  243. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_ja.json +1 -1
  244. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_ko.json +1 -1
  245. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_lt.json +1 -1
  246. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_lv.json +1 -1
  247. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_nl.json +1 -1
  248. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_no.json +1 -1
  249. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_pl.json +1 -1
  250. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_pt-BR.json +1 -1
  251. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_pt-PT.json +1 -1
  252. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_ro.json +1 -1
  253. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_ru.json +1 -1
  254. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_sk.json +1 -1
  255. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_sl.json +1 -1
  256. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_sr.json +1 -1
  257. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_sv.json +1 -1
  258. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_th.json +1 -1
  259. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_tr.json +1 -1
  260. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_uk.json +1 -1
  261. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_vi.json +1 -1
  262. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_zh-CN.json +1 -1
  263. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_zh-HK.json +1 -1
  264. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_zh-TW.json +1 -1
  265. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_ar.json +1 -1
  266. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_bg.json +1 -1
  267. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_bs.json +1 -1
  268. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_ca.json +1 -1
  269. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_cs.json +1 -1
  270. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_da.json +1 -1
  271. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_de.json +1 -1
  272. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_el.json +1 -1
  273. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_es.json +1 -1
  274. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_et.json +1 -1
  275. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_fi.json +1 -1
  276. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_fr.json +1 -1
  277. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_he.json +1 -1
  278. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_hr.json +1 -1
  279. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_hu.json +1 -1
  280. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_id.json +1 -1
  281. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_it.json +1 -1
  282. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_ja.json +1 -1
  283. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_ko.json +1 -1
  284. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_lt.json +1 -1
  285. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_lv.json +1 -1
  286. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_nl.json +1 -1
  287. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_no.json +1 -1
  288. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_pl.json +1 -1
  289. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_pt-BR.json +1 -1
  290. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_pt-PT.json +1 -1
  291. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_ro.json +1 -1
  292. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_ru.json +1 -1
  293. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_sk.json +1 -1
  294. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_sl.json +1 -1
  295. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_sr.json +1 -1
  296. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_sv.json +1 -1
  297. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_th.json +1 -1
  298. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_tr.json +1 -1
  299. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_uk.json +1 -1
  300. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_vi.json +1 -1
  301. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_zh-CN.json +1 -1
  302. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_zh-HK.json +1 -1
  303. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_zh-TW.json +1 -1
  304. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ar.json +1 -1
  305. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_bg.json +1 -1
  306. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_bs.json +1 -1
  307. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ca.json +1 -1
  308. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_cs.json +1 -1
  309. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_da.json +1 -1
  310. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_de.json +1 -1
  311. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_el.json +1 -1
  312. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_es.json +1 -1
  313. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_et.json +1 -1
  314. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_fi.json +1 -1
  315. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_fr.json +1 -1
  316. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_he.json +1 -1
  317. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_hr.json +1 -1
  318. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_hu.json +1 -1
  319. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_id.json +1 -1
  320. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_it.json +1 -1
  321. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ja.json +1 -1
  322. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ko.json +1 -1
  323. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_lt.json +1 -1
  324. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_lv.json +1 -1
  325. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_nl.json +1 -1
  326. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_no.json +1 -1
  327. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_pl.json +1 -1
  328. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_pt-BR.json +1 -1
  329. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_pt-PT.json +1 -1
  330. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ro.json +1 -1
  331. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ru.json +1 -1
  332. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_sk.json +1 -1
  333. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_sl.json +1 -1
  334. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_sr.json +1 -1
  335. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_sv.json +1 -1
  336. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_th.json +1 -1
  337. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_tr.json +1 -1
  338. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_uk.json +1 -1
  339. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_vi.json +1 -1
  340. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_zh-CN.json +1 -1
  341. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_zh-HK.json +1 -1
  342. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_zh-TW.json +1 -1
  343. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ar.json +1 -1
  344. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_bg.json +1 -1
  345. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_bs.json +1 -1
  346. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ca.json +1 -1
  347. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_cs.json +1 -1
  348. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_da.json +1 -1
  349. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_de.json +1 -1
  350. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_el.json +1 -1
  351. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_es.json +1 -1
  352. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_et.json +1 -1
  353. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_fi.json +1 -1
  354. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_fr.json +1 -1
  355. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_he.json +1 -1
  356. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_hr.json +1 -1
  357. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_hu.json +1 -1
  358. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_id.json +1 -1
  359. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_it.json +1 -1
  360. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ja.json +1 -1
  361. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ko.json +1 -1
  362. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_lt.json +1 -1
  363. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_lv.json +1 -1
  364. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_nl.json +1 -1
  365. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_no.json +1 -1
  366. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_pl.json +1 -1
  367. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_pt-BR.json +1 -1
  368. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_pt-PT.json +1 -1
  369. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ro.json +1 -1
  370. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ru.json +1 -1
  371. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_sk.json +1 -1
  372. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_sl.json +1 -1
  373. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_sr.json +1 -1
  374. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_sv.json +1 -1
  375. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_th.json +1 -1
  376. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_tr.json +1 -1
  377. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_uk.json +1 -1
  378. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_vi.json +1 -1
  379. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_zh-CN.json +1 -1
  380. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_zh-HK.json +1 -1
  381. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_zh-TW.json +1 -1
  382. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ar.json +1 -1
  383. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_bg.json +1 -1
  384. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_bs.json +1 -1
  385. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ca.json +1 -1
  386. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_cs.json +1 -1
  387. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_da.json +1 -1
  388. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_de.json +1 -1
  389. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_el.json +1 -1
  390. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_es.json +1 -1
  391. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_et.json +1 -1
  392. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_fi.json +1 -1
  393. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_fr.json +1 -1
  394. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_he.json +1 -1
  395. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_hr.json +1 -1
  396. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_hu.json +1 -1
  397. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_id.json +1 -1
  398. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_it.json +1 -1
  399. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ja.json +1 -1
  400. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ko.json +1 -1
  401. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_lt.json +1 -1
  402. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_lv.json +1 -1
  403. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_nl.json +1 -1
  404. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_no.json +1 -1
  405. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pl.json +1 -1
  406. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pt-BR.json +1 -1
  407. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pt-PT.json +1 -1
  408. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ro.json +1 -1
  409. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ru.json +1 -1
  410. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sk.json +1 -1
  411. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sl.json +1 -1
  412. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sr.json +1 -1
  413. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sv.json +1 -1
  414. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_th.json +1 -1
  415. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_tr.json +1 -1
  416. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_uk.json +1 -1
  417. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_vi.json +1 -1
  418. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-CN.json +1 -1
  419. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-HK.json +1 -1
  420. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-TW.json +1 -1
  421. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_ar.json +1 -1
  422. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_bg.json +1 -1
  423. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_bs.json +1 -1
  424. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_ca.json +1 -1
  425. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_cs.json +1 -1
  426. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_da.json +1 -1
  427. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_de.json +1 -1
  428. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_el.json +1 -1
  429. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_es.json +1 -1
  430. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_et.json +1 -1
  431. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_fi.json +1 -1
  432. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_fr.json +1 -1
  433. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_he.json +1 -1
  434. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_hr.json +1 -1
  435. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_hu.json +1 -1
  436. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_id.json +1 -1
  437. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_it.json +1 -1
  438. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_ja.json +1 -1
  439. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_ko.json +1 -1
  440. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_lt.json +1 -1
  441. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_lv.json +1 -1
  442. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_nl.json +1 -1
  443. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_no.json +1 -1
  444. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_pl.json +1 -1
  445. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_pt-BR.json +1 -1
  446. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_pt-PT.json +1 -1
  447. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_ro.json +1 -1
  448. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_ru.json +1 -1
  449. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_sk.json +1 -1
  450. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_sl.json +1 -1
  451. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_sr.json +1 -1
  452. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_sv.json +1 -1
  453. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_th.json +1 -1
  454. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_tr.json +1 -1
  455. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_uk.json +1 -1
  456. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_vi.json +1 -1
  457. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_zh-CN.json +1 -1
  458. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_zh-HK.json +1 -1
  459. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_zh-TW.json +1 -1
  460. package/chunks/Bufferer-CclWhXVb.js +2 -0
  461. package/chunks/Distance2DCalculator-DjIp2uQi.js +2 -0
  462. package/chunks/Envelope.js +1 -1
  463. package/chunks/Envelope2D.js +1 -1
  464. package/chunks/GaussianSplatComposition.glsl.js +1 -1
  465. package/chunks/GeodeticDistanceCalculator-zRp89-dW.js +2 -0
  466. package/chunks/GeodeticUtils.js +1 -1
  467. package/chunks/Geometry.js +1 -1
  468. package/chunks/{GeometryCleaner-BEJM7I4l.js → GeometryCleaner-CIE8Wfmb.js} +1 -1
  469. package/chunks/GlowComposition.glsl.js +1 -1
  470. package/chunks/MultiPathImpl.js +1 -1
  471. package/chunks/OITBlend.glsl.js +1 -1
  472. package/chunks/OITDimOpaque.glsl.js +1 -1
  473. package/chunks/OperatorClip.js +1 -1
  474. package/chunks/OperatorCrosses.js +1 -1
  475. package/chunks/OperatorCut.js +1 -1
  476. package/chunks/OperatorDefinitions.js +1 -1
  477. package/chunks/OperatorDensify.js +1 -1
  478. package/chunks/OperatorGeneralize.js +1 -1
  479. package/chunks/OperatorGeodesicBuffer.js +1 -1
  480. package/chunks/OperatorGeodeticArea.js +1 -1
  481. package/chunks/OperatorGeodeticDensifyByLength.js +1 -1
  482. package/chunks/OperatorGeodeticDistance.js +1 -1
  483. package/chunks/OperatorGeodeticLength.js +1 -1
  484. package/chunks/OperatorGraphicBuffer.js +2 -0
  485. package/chunks/OperatorIntegrate.js +1 -1
  486. package/chunks/OperatorIntersects.js +1 -1
  487. package/chunks/OperatorMultiPartToSinglePart.js +1 -1
  488. package/chunks/OperatorOverlaps.js +1 -1
  489. package/chunks/OperatorProximity.js +1 -1
  490. package/chunks/OperatorProximityGeodesic.js +1 -1
  491. package/chunks/OperatorShapePreservingLength.js +1 -1
  492. package/chunks/OperatorShapePreservingProject.js +1 -1
  493. package/chunks/OperatorSimplifyOGC.js +1 -1
  494. package/chunks/OperatorTouches.js +1 -1
  495. package/chunks/OperatorWithin.js +1 -1
  496. package/chunks/Point2D.js +1 -1
  497. package/chunks/ProjectionTransformation.js +1 -1
  498. package/chunks/{SideCalculator2D-BNwb5gvz.js → SideCalculator2D-DX0718xq.js} +1 -1
  499. package/chunks/SimpleGeometryCursor.js +1 -1
  500. package/chunks/SpatialReference.js +1 -1
  501. package/chunks/Transformation2D.js +1 -1
  502. package/chunks/centroidOperator.js +1 -1
  503. package/chunks/containsOperator.js +1 -1
  504. package/chunks/disjointOperator.js +1 -1
  505. package/chunks/distanceOperator.js +1 -1
  506. package/chunks/equalsOperator.js +1 -1
  507. package/chunks/languageUtils.js +1 -1
  508. package/config.js +1 -1
  509. package/core/has.js +1 -1
  510. package/core/screenUtils.js +1 -1
  511. package/editing/types.d.ts +22 -2
  512. package/form/elements/UtilityNetworkAssociationsElement.d.ts +0 -1
  513. package/geometry/Mesh.d.ts +1 -1
  514. package/geometry/operators/extendOperator.js +1 -1
  515. package/geometry/operators/gx/operatorAffineTransform.js +1 -1
  516. package/geometry/operators/gx/operatorAlphaShape.js +1 -1
  517. package/geometry/operators/gx/operatorAutoComplete.js +1 -1
  518. package/geometry/operators/gx/operatorBoundary.js +1 -1
  519. package/geometry/operators/gx/operatorBuffer.js +1 -1
  520. package/geometry/operators/gx/operatorConvexHull.js +1 -1
  521. package/geometry/operators/gx/operatorDifference.js +1 -1
  522. package/geometry/operators/gx/operatorGraphicBuffer.js +1 -1
  523. package/geometry/operators/gx/operatorIntersection.js +1 -1
  524. package/geometry/operators/gx/operatorLabelPoint.js +1 -1
  525. package/geometry/operators/gx/operatorLinesToPolygons.js +1 -1
  526. package/geometry/operators/gx/operatorLocateBetween.js +1 -1
  527. package/geometry/operators/gx/operatorMinimumBoundingCircle.js +1 -1
  528. package/geometry/operators/gx/operatorOffset.js +1 -1
  529. package/geometry/operators/gx/operatorPolygonOverlay.js +1 -1
  530. package/geometry/operators/gx/operatorPolygonSlicer.js +1 -1
  531. package/geometry/operators/gx/operatorSinglePartToMultiPart.js +1 -1
  532. package/geometry/operators/gx/operatorSymmetricDifference.js +1 -1
  533. package/geometry/operators/gx/operatorUnion.js +1 -1
  534. package/geometry/operators/isNearOperator.js +1 -1
  535. package/geometry/operators/json/containsOperator.js +1 -1
  536. package/geometry/operators/json/disjointOperator.js +1 -1
  537. package/geometry/operators/reshapeOperator.js +1 -1
  538. package/geometry/operators/support/apiConverter.js +1 -1
  539. package/geometry/operators/support/initNoPeFactory.js +1 -1
  540. package/geometry/operators/support/jsonConverter.js +1 -1
  541. package/geometry/support/aaBoundingRect.js +1 -1
  542. package/graphic/AnnotationFeatureGraphicOrigin.d.ts +5 -2
  543. package/graphic/AnnotationFeatureGraphicOrigin.js +1 -1
  544. package/graphic/DimensionFeatureGraphicOrigin.js +1 -1
  545. package/graphic/graphicOrigins.js +1 -1
  546. package/graphic/isAnnotationFeatureGraphicOrigin.d.ts +29 -0
  547. package/graphic/isAnnotationFeatureGraphicOrigin.js +2 -0
  548. package/graphic/isDimensionFeatureGraphicOrigin.d.ts +29 -0
  549. package/graphic/isDimensionFeatureGraphicOrigin.js +2 -0
  550. package/interfaces.d.ts +3 -3
  551. package/kernel.js +1 -1
  552. package/layers/AnnotationFeatureLayer.d.ts +73 -0
  553. package/layers/AnnotationFeatureLayer.js +1 -1
  554. package/layers/FeatureLayer.d.ts +7 -4
  555. package/layers/FeatureLayer.js +1 -1
  556. package/layers/Lyr3DWasmPerSceneView.js +1 -1
  557. package/layers/ParquetLayer.js +1 -1
  558. package/layers/SubtypeGroupLayer.d.ts +7 -4
  559. package/layers/SubtypeGroupLayer.js +1 -1
  560. package/layers/graphics/applyEditsUtils.js +1 -1
  561. package/layers/graphics/data/QueryEngine.js +1 -1
  562. package/layers/graphics/sources/FeatureLayerSource.js +1 -1
  563. package/layers/graphics/sources/MemorySource.js +1 -1
  564. package/layers/graphics/sources/ParquetSource.js +1 -1
  565. package/layers/graphics/sources/support/ParquetSourceWorker.js +1 -1
  566. package/layers/orientedImagery/core/coverageUtils.js +1 -1
  567. package/layers/orientedImagery/transformations/utils.js +1 -1
  568. package/layers/support/{AnnotationSublayer.d.ts → AnnotationFeatureSublayer.d.ts} +12 -12
  569. package/layers/support/AnnotationFeatureSublayer.js +2 -0
  570. package/layers/support/EditingCapabilities.js +1 -1
  571. package/layers/support/ParquetPortalItemData.js +1 -1
  572. package/layers/support/SubtypeSublayer.d.ts +7 -4
  573. package/layers/support/SubtypeSublayer.js +1 -1
  574. package/layers/support/featureLayerUtils.js +1 -1
  575. package/networks/CircuitManager.d.ts +247 -1
  576. package/networks/UnitIdentifierManager.d.ts +40 -3
  577. package/networks/UtilityNetwork.d.ts +0 -11
  578. package/networks/UtilityNetwork.js +1 -1
  579. package/networks/support/Circuit.d.ts +0 -1
  580. package/networks/support/CircuitLocation.d.ts +0 -1
  581. package/networks/support/CircuitPath.d.ts +0 -1
  582. package/networks/support/CircuitPathConnectivityElement.d.ts +0 -1
  583. package/networks/support/CircuitSection.d.ts +0 -1
  584. package/networks/support/NamedTraceConfiguration.d.ts +1 -7
  585. package/networks/support/Subcircuit.d.ts +0 -1
  586. package/networks/support/UNTraceConfiguration.d.ts +0 -4
  587. package/networks/support/jsonTypes.d.ts +1 -1
  588. package/networks/support/typeUtils.d.ts +10 -1
  589. package/networks/support/typeUtils.js +1 -1
  590. package/package.json +3 -3
  591. package/popup/Feature.d.ts +57 -6
  592. package/popup/Features.d.ts +86 -7
  593. package/popup/content/UtilityNetworkAssociationsContent.d.ts +0 -1
  594. package/popup/support/UtilityNetworkAssociationType.d.ts +0 -1
  595. package/rest/networks/circuits/support/CircuitTraceResult.d.ts +0 -1
  596. package/rest/networks/circuits/support/CircuitVerifyResult.d.ts +0 -1
  597. package/rest/networks/support/TelecomNetworkElement.d.ts +0 -1
  598. package/rest/networks/support/TraceLocation.d.ts +1 -11
  599. package/rest/networks/support/TraceParameters.d.ts +1 -7
  600. package/rest/networks/support/TraceResult.d.ts +0 -2
  601. package/rest/networks/support/TraverseAssociationsParameters.d.ts +69 -0
  602. package/rest/networks/support/TraverseAssociationsParameters.js +2 -0
  603. package/rest/networks/support/TraverseAssociationsResult.d.ts +39 -0
  604. package/rest/networks/support/TraverseAssociationsResult.js +2 -0
  605. package/rest/networks/traverseAssociations.d.ts +21 -0
  606. package/rest/networks/traverseAssociations.js +2 -0
  607. package/rest/networks/unitIdentifiers/support/UnitQueryResult.d.ts +0 -1
  608. package/rest/print.js +1 -1
  609. package/rest/query/operations/query.js +1 -1
  610. package/smartMapping/renderers/location.js +1 -1
  611. package/smartMapping/renderers/opacity.js +1 -1
  612. package/smartMapping/renderers/predominance.js +1 -1
  613. package/smartMapping/renderers/support/regenerateUtils.js +1 -1
  614. package/smartMapping/renderers/support/rendererUtils.d.ts +3 -1
  615. package/smartMapping/renderers/support/rendererUtils.js +1 -1
  616. package/smartMapping/support/adapters/FeatureLayerAdapter.js +1 -1
  617. package/support/revision.js +1 -1
  618. package/symbols/WebStyleSymbol.js +1 -1
  619. package/symbols/cim/effects/EffectOffset.js +1 -1
  620. package/symbols/support/symbolUtils.js +1 -1
  621. package/symbols/support/webStyleSymbolCache.js +2 -0
  622. package/third-party-notices.txt +0 -32
  623. package/undoredo/support/ApplySet.js +1 -1
  624. package/undoredo/support/ApplySetItem.js +1 -1
  625. package/views/2d/analysis/AreaMeasurement/AreaMeasurementTool.js +1 -1
  626. package/views/2d/engine/vectorTiles/VectorTileContainer.js +1 -1
  627. package/views/2d/engine/webgl/shaderGraph/techniques/FeatureInstanceStore.js +1 -1
  628. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AAnimatedShader.js +1 -1
  629. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedMarkerMeshWriter.js +1 -1
  630. package/views/2d/engine/webgl/shaderGraph/techniques/animated/attributes.js +1 -1
  631. package/views/2d/engine/webgl/shaderGraph/techniques/mesh/MeshWriterVertexPack.js +1 -1
  632. package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
  633. package/views/2d/engine/webgl/util/AnnotationMatcher.js +1 -1
  634. package/views/2d/layers/features/layerAdapters/AnnotationLayerAdapter.js +1 -1
  635. package/views/2d/layers/features/sources/strategies/support/queryAdapters.js +1 -1
  636. package/views/2d/layers/features/support/FeatureMetadata.js +1 -1
  637. package/views/2d/layers/features/support/FeatureSetReader.js +1 -1
  638. package/views/2d/layers/features/support/FeatureSetReaderParquet.js +1 -1
  639. package/views/2d/layers/support/annodime/annotationGraphic.js +1 -1
  640. package/views/2d/layers/support/annodime/cimAnnotations.js +1 -1
  641. package/views/2d/layers/support/annodime/utils.js +1 -1
  642. package/views/2d/support/hitTestUtils.js +1 -1
  643. package/views/2d/unitBezier.js +1 -1
  644. package/views/3d/analysis/LineOfSight/LineOfSightPlacementController.js +2 -0
  645. package/views/3d/analysis/LineOfSight/LineOfSightReshapeTool3D.js +1 -1
  646. package/views/3d/analysis/LineOfSight/LineOfSightTool2.js +1 -1
  647. package/views/3d/analysis/LineOfSight/lineOfSightPlacementUtils.js +2 -0
  648. package/views/3d/analysis/Viewshed/ViewshedDrawToolRenderer.js +1 -1
  649. package/views/3d/analysis/Viewshed/ViewshedPlacementController.js +1 -1
  650. package/views/3d/analysis/Viewshed/ViewshedPlacementPointPlugin.js +1 -1
  651. package/views/3d/analysis/Viewshed/ViewshedPlacementRootPlugin.js +1 -1
  652. package/views/3d/analysis/Viewshed/placementUtils.js +1 -1
  653. package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
  654. package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
  655. package/views/3d/layers/graphics/Graphics3DSymbol.js +1 -1
  656. package/views/3d/layers/graphics/SymbolComplexity.js +1 -1
  657. package/views/3d/layers/graphics/defaultSymbolComplexity.js +1 -1
  658. package/views/3d/support/QualityProfile.js +1 -1
  659. package/views/3d/webgl-engine/collections/Component/Material/ComponentTechnique.js +1 -1
  660. package/views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js +1 -1
  661. package/views/3d/webgl-engine/core/shaderLibrary/attributes/PathEvaluate.glsl.js +14 -6
  662. package/views/3d/webgl-engine/core/shaderLibrary/attributes/PathVertexPosition.glsl.js +2 -1
  663. package/views/3d/webgl-engine/core/shaderLibrary/util/EmissionDimming.glsl.js +1 -1
  664. package/views/3d/webgl-engine/effects/blit/Blit.js +1 -1
  665. package/views/3d/webgl-engine/effects/glow/Glow.js +1 -1
  666. package/views/3d/webgl-engine/effects/transparency/OITBlend.js +1 -1
  667. package/views/3d/webgl-engine/lib/GaussianSplatRenderNode.js +1 -1
  668. package/views/3d/webgl-engine/lib/OrderIndependentTransparency.js +1 -1
  669. package/views/3d/webgl-engine/lib/PathEvaluator.js +1 -1
  670. package/views/3d/webgl-engine/materials/PathTechnique.js +1 -1
  671. package/views/3d/webgl-engine/materials/PolygonOffset.js +1 -1
  672. package/views/3d/webgl-engine/shaders/HUDMaterialTechnique.js +1 -1
  673. package/views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js +6 -7
  674. package/views/3d/webgl-engine/shaders/ditherNoise.glsl.js +1 -1
  675. package/views/LinkChartView.d.ts +3 -1
  676. package/views/View2D.d.ts +3 -1
  677. package/views/draw/DrawTool.js +1 -1
  678. package/views/draw/support/editingSessionUtils.js +1 -1
  679. package/views/interactive/snapping/SnappingManager.js +1 -1
  680. package/views/interactive/snapping/candidates/dehydrated/{DehydratedVertexSnappingCandidate.js → DehydratedFeatureSnappingCandidate.js} +1 -1
  681. package/widgets/BatchAttributeForm/BatchAttributeFormViewModel.d.ts +10 -3
  682. package/widgets/BatchAttributeForm/BatchAttributeFormViewModel.js +1 -1
  683. package/widgets/BatchAttributeForm/attachmentUtils.d.ts +9 -0
  684. package/widgets/BatchAttributeForm/attachmentUtils.js +1 -1
  685. package/widgets/BatchAttributeForm/batchAttributeFormUtils.js +1 -1
  686. package/widgets/BatchAttributeForm/css.js +1 -1
  687. package/widgets/BatchAttributeForm/inputs/AttachmentElementInput.d.ts +3 -3
  688. package/widgets/BatchAttributeForm/inputs/AttachmentElementInput.js +1 -1
  689. package/widgets/BatchAttributeForm/inputs/BatchFormInputs.js +1 -1
  690. package/widgets/BatchAttributeForm/inputs/FieldInput.js +1 -1
  691. package/widgets/BatchAttributeForm/inputs/GroupInput.js +1 -1
  692. package/widgets/BatchAttributeForm/inputs/InputBase.js +1 -1
  693. package/widgets/BatchAttributeForm/inputs/RelationshipElementInput.js +1 -1
  694. package/widgets/BatchAttributeForm/inputs/support/attachmentValidationCriteriaState.d.ts +1 -1
  695. package/widgets/BatchAttributeForm/inputs/support/createBatchFormInputs.js +1 -1
  696. package/widgets/BatchAttributeForm/interfaceUtils.js +1 -1
  697. package/widgets/BatchAttributeForm/templates/support/createBatchFormTemplate.js +1 -1
  698. package/widgets/BatchAttributeForm/templates/support/hashElementTemplate.js +1 -1
  699. package/widgets/BatchAttributeForm/types.d.ts +92 -7
  700. package/widgets/BatchAttributeForm.js +1 -1
  701. package/widgets/Editor/CreateFeaturesWorkflow.js +1 -1
  702. package/widgets/Editor/CreateFeaturesWorkflowData.js +1 -1
  703. package/widgets/Editor/EditorViewModel.d.ts +1 -1
  704. package/widgets/Editor/EditorViewModel.js +1 -1
  705. package/widgets/Editor/Edits.js +1 -1
  706. package/widgets/Editor/MergeFeaturesWorkflow.js +1 -1
  707. package/widgets/Editor/SplitFeatureWorkflow.js +1 -1
  708. package/widgets/Editor/UpdateFeatureWorkflow.js +1 -1
  709. package/widgets/Editor/UpdateFeaturesWorkflow.js +1 -1
  710. package/widgets/Editor/UpdateRecordWorkflow.js +1 -1
  711. package/widgets/Editor/UpdateWorkflow.js +1 -1
  712. package/widgets/Editor/UpdateWorkflowData.js +1 -1
  713. package/widgets/Editor/components/UpdateFeaturePanelContent.js +1 -1
  714. package/widgets/Editor/support/EditorItem.js +1 -1
  715. package/widgets/Editor/support/SketchController.js +1 -1
  716. package/widgets/Editor/support/attachmentUtils.js +2 -0
  717. package/widgets/Editor/workflowUtils.js +1 -1
  718. package/widgets/Editor.js +1 -1
  719. package/widgets/Feature/FeatureViewModel.d.ts +0 -1
  720. package/widgets/FeatureForm/UtilityNetworkAssociationInput.d.ts +0 -1
  721. package/widgets/Features/FeaturesViewModel.d.ts +0 -1
  722. package/widgets/Features/FeaturesViewModel.js +1 -1
  723. package/widgets/Legend/support/ActiveLayerInfo.js +1 -1
  724. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  725. package/widgets/OrientedImageryViewer/adapters/sketch/MeasurementAdapter.js +1 -1
  726. package/widgets/OrientedImageryViewer/components/OrientedImageryVideoViewModel.js +1 -1
  727. package/widgets/OrientedImageryViewer.js +1 -1
  728. package/widgets/Popup.js +1 -1
  729. package/widgets/Sketch/SketchViewModel.d.ts +10 -1
  730. package/widgets/Sketch/SketchViewModel.js +1 -1
  731. package/widgets/Sketch.js +1 -1
  732. package/widgets/UtilityNetworkTrace/UtilityNetworkTraceViewModel.d.ts +3 -2
  733. package/widgets/UtilityNetworkTrace/UtilityNetworkTraceViewModel.js +1 -1
  734. package/widgets/UtilityNetworkTrace/support/GeometryHandler.js +1 -1
  735. package/assets/components/assets/icon/orientedImageryFullSuperimpose16.json +0 -1
  736. package/assets/components/assets/icon/orientedImageryFullSuperimpose24.json +0 -1
  737. package/assets/components/assets/icon/orientedImageryFullSuperimpose32.json +0 -1
  738. package/assets/components/assets/icon/orientedImageryHalfSuperimpose16.json +0 -1
  739. package/assets/components/assets/icon/orientedImageryHalfSuperimpose24.json +0 -1
  740. package/assets/components/assets/icon/orientedImageryHalfSuperimpose32.json +0 -1
  741. package/assets/components/assets/icon/orientedImagerySceneOnly16.json +0 -1
  742. package/assets/components/assets/icon/orientedImagerySceneOnly24.json +0 -1
  743. package/assets/components/assets/icon/orientedImagerySceneOnly32.json +0 -1
  744. package/assets/components/assets/icon/parquetFeatureLayer16.json +0 -1
  745. package/assets/components/assets/icon/parquetFeatureLayer24.json +0 -1
  746. package/assets/components/assets/icon/parquetFeatureLayer32.json +0 -1
  747. package/assets/esri/core/workers/chunks/013708f40f811158d42c.js +0 -1
  748. package/assets/esri/core/workers/chunks/01ba5319cac3e0f14205.js +0 -1
  749. package/assets/esri/core/workers/chunks/03354e9256b2f77fd4f2.js +0 -1
  750. package/assets/esri/core/workers/chunks/0436fe89adc78696251c.js +0 -1
  751. package/assets/esri/core/workers/chunks/079b412d07d02504f1db.js +0 -1
  752. package/assets/esri/core/workers/chunks/0826d36dfbfa28442b70.js +0 -1
  753. package/assets/esri/core/workers/chunks/0bf72e9d0a6deceeb406.js +0 -1
  754. package/assets/esri/core/workers/chunks/0ded58ccb83f624f1460.js +0 -1
  755. package/assets/esri/core/workers/chunks/0ecc1bc1686844cdd60e.js +0 -1
  756. package/assets/esri/core/workers/chunks/152f1c08197955224ad3.js +0 -1
  757. package/assets/esri/core/workers/chunks/174cc2e69e5b5a13d880.js +0 -1
  758. package/assets/esri/core/workers/chunks/181e948d076a9a7aae8a.js +0 -1
  759. package/assets/esri/core/workers/chunks/18e7784f13a57a75585a.js +0 -1
  760. package/assets/esri/core/workers/chunks/1c8436b27a3d3cde5cfc.js +0 -1
  761. package/assets/esri/core/workers/chunks/1d81e667a580c5cdeda1.js +0 -262
  762. package/assets/esri/core/workers/chunks/1dacc0b64bd27ce2de3a.js +0 -1
  763. package/assets/esri/core/workers/chunks/1eeb1edca0ad5db6917c.js +0 -1
  764. package/assets/esri/core/workers/chunks/1effde6a39ef0d4af525.js +0 -1
  765. package/assets/esri/core/workers/chunks/1f289aa69dd6b6be534a.js +0 -1
  766. package/assets/esri/core/workers/chunks/27c6def22c2b0791ce9e.js +0 -1
  767. package/assets/esri/core/workers/chunks/2bc4aff77c830061e16e.js +0 -1
  768. package/assets/esri/core/workers/chunks/2c3fc2805f6de0963789.js +0 -1
  769. package/assets/esri/core/workers/chunks/2d2895f1fdf44d212a4d.js +0 -1
  770. package/assets/esri/core/workers/chunks/2e6382d50bf012064eae.js +0 -1
  771. package/assets/esri/core/workers/chunks/3248001d9dfb9153699e.js +0 -1
  772. package/assets/esri/core/workers/chunks/33b4f5dfe1a16b59b010.js +0 -1
  773. package/assets/esri/core/workers/chunks/36dac6ab51d9dbdd091d.js +0 -1
  774. package/assets/esri/core/workers/chunks/36dd3ad3ef2fbfc15cbd.js +0 -1
  775. package/assets/esri/core/workers/chunks/39974d1e5d3820ef1680.js +0 -1
  776. package/assets/esri/core/workers/chunks/3dc6e9494af16f7b8009.js +0 -1
  777. package/assets/esri/core/workers/chunks/3ecb906322a6a5c8c93b.js +0 -1
  778. package/assets/esri/core/workers/chunks/3f67162456a1f02190fa.js +0 -1
  779. package/assets/esri/core/workers/chunks/42e5e00610f281ca8ffa.js +0 -1
  780. package/assets/esri/core/workers/chunks/4301cb9670fa7c907460.js +0 -1
  781. package/assets/esri/core/workers/chunks/493a0981e90a5799fb5b.js +0 -1
  782. package/assets/esri/core/workers/chunks/4c54cb80c4dc9bbbd395.js +0 -1
  783. package/assets/esri/core/workers/chunks/4cc78493805671708a9b.js +0 -1
  784. package/assets/esri/core/workers/chunks/4e4419282c4bf7ee4678.js +0 -1
  785. package/assets/esri/core/workers/chunks/4e788fc6cb2ea936f676.js +0 -1
  786. package/assets/esri/core/workers/chunks/4efef5fa8bf23aaf34cd.js +0 -1
  787. package/assets/esri/core/workers/chunks/5100b5a6a506c704dfaf.js +0 -1
  788. package/assets/esri/core/workers/chunks/5121768c70f1e03b685c.js +0 -1
  789. package/assets/esri/core/workers/chunks/52afd43bbe23e358efb5.js +0 -1
  790. package/assets/esri/core/workers/chunks/52f354bf80ee5ab0379a.js +0 -1
  791. package/assets/esri/core/workers/chunks/5359ff9492383c5bd9b1.js +0 -1
  792. package/assets/esri/core/workers/chunks/54d7f07e3348ddb6d9a2.js +0 -1
  793. package/assets/esri/core/workers/chunks/57b7e5fde972d3ad7884.js +0 -1
  794. package/assets/esri/core/workers/chunks/597aa39cdb5366ef9a74.js +0 -1
  795. package/assets/esri/core/workers/chunks/5aba23584e0b230c75f5.js +0 -1
  796. package/assets/esri/core/workers/chunks/5cb1b950249d651f3837.js +0 -1
  797. package/assets/esri/core/workers/chunks/5cb274e5759f7ca0d4ed.js +0 -1
  798. package/assets/esri/core/workers/chunks/5d8924fdcdb473d261cd.js +0 -1
  799. package/assets/esri/core/workers/chunks/62de9e83331fb10aac6a.js +0 -2
  800. package/assets/esri/core/workers/chunks/62e77e3c5ca9b4887923.js +0 -2
  801. package/assets/esri/core/workers/chunks/64114a7d2da162987958.js +0 -1
  802. package/assets/esri/core/workers/chunks/641cddee377599916de2.js +0 -2
  803. package/assets/esri/core/workers/chunks/65520a443e3811255bea.js +0 -1
  804. package/assets/esri/core/workers/chunks/65f02eca694cc1c9f5a7.js +0 -1
  805. package/assets/esri/core/workers/chunks/6821462e5c1e9c76010a.js +0 -1
  806. package/assets/esri/core/workers/chunks/6a3d207308b29651f397.js +0 -1
  807. package/assets/esri/core/workers/chunks/6f5a82388a5eb5fcf1b7.js +0 -1
  808. package/assets/esri/core/workers/chunks/6f5d61f734ec40dafabb.js +0 -1
  809. package/assets/esri/core/workers/chunks/737de87bfb9b5f5a9c6c.js +0 -1
  810. package/assets/esri/core/workers/chunks/7748743d4be047094d67.js +0 -1
  811. package/assets/esri/core/workers/chunks/78c53aeb0a408ab3c80c.js +0 -1
  812. package/assets/esri/core/workers/chunks/79f2d4b3af5776ec2045.js +0 -1
  813. package/assets/esri/core/workers/chunks/7a8ed08cd173963b3112.js +0 -1
  814. package/assets/esri/core/workers/chunks/7b5c1030a7cf0f382cc4.js +0 -1
  815. package/assets/esri/core/workers/chunks/7cadb872b9ca96eedca5.js +0 -1
  816. package/assets/esri/core/workers/chunks/7cee81c5aa1e6b7d2452.js +0 -1
  817. package/assets/esri/core/workers/chunks/7ed3d6c72f23c628df3b.js +0 -1
  818. package/assets/esri/core/workers/chunks/80f4f686ce403cb2693f.js +0 -1
  819. package/assets/esri/core/workers/chunks/8351012ceb466f01b8fd.js +0 -1
  820. package/assets/esri/core/workers/chunks/859bc873e7af911a518f.js +0 -1
  821. package/assets/esri/core/workers/chunks/8e99f937fd36cf2cd05f.js +0 -1
  822. package/assets/esri/core/workers/chunks/93bd56396b8cd020f965.js +0 -1
  823. package/assets/esri/core/workers/chunks/94fac056e14caed09682.js +0 -1
  824. package/assets/esri/core/workers/chunks/957f7b8de4aecb6f644e.js +0 -1
  825. package/assets/esri/core/workers/chunks/97d2bdbea39cbcf8fd0f.js +0 -1
  826. package/assets/esri/core/workers/chunks/99101789035f1787c630.js +0 -1
  827. package/assets/esri/core/workers/chunks/9c6d34bb666f630d511f.js +0 -1
  828. package/assets/esri/core/workers/chunks/a0208e35b217808777c4.js +0 -1
  829. package/assets/esri/core/workers/chunks/a320998f18922a35899f.js +0 -1
  830. package/assets/esri/core/workers/chunks/a4e9a17dacbb52444d75.js +0 -1
  831. package/assets/esri/core/workers/chunks/a4f3bcfabd4ad127abf2.js +0 -1
  832. package/assets/esri/core/workers/chunks/a5abba59e738c3240c22.js +0 -1
  833. package/assets/esri/core/workers/chunks/a63bba226de6c5e464b0.js +0 -1
  834. package/assets/esri/core/workers/chunks/a9f29ff36a7ae5bae686.js +0 -1
  835. package/assets/esri/core/workers/chunks/aae0049c2c3e15a813e8.js +0 -1
  836. package/assets/esri/core/workers/chunks/adc32f6b45ea3026fc34.js +0 -1
  837. package/assets/esri/core/workers/chunks/af8ef6701631ed5e5b80.js +0 -1
  838. package/assets/esri/core/workers/chunks/b045bffb4f2eb9203183.js +0 -1
  839. package/assets/esri/core/workers/chunks/b590402170ae289290d7.js +0 -1
  840. package/assets/esri/core/workers/chunks/b666027b9022fa346a79.js +0 -1
  841. package/assets/esri/core/workers/chunks/b73c146d3e550eaf07eb.js +0 -1
  842. package/assets/esri/core/workers/chunks/b803e7b0d489bb628d72.js +0 -1
  843. package/assets/esri/core/workers/chunks/bb24972603fb35dd8dcf.js +0 -1
  844. package/assets/esri/core/workers/chunks/bcc097271f5cdf0a97a7.js +0 -1
  845. package/assets/esri/core/workers/chunks/c0cbc50e5afd68bd485c.js +0 -1
  846. package/assets/esri/core/workers/chunks/c2cd80b712f29e8cbb8d.js +0 -1
  847. package/assets/esri/core/workers/chunks/c3ff2ff0a86a9143d7a5.js +0 -1
  848. package/assets/esri/core/workers/chunks/c6d0b4875b6b8d6bc25a.js +0 -1
  849. package/assets/esri/core/workers/chunks/c9a4601073e1a3eee9d0.js +0 -1
  850. package/assets/esri/core/workers/chunks/cf41a66fb97c1076fb34.js +0 -1
  851. package/assets/esri/core/workers/chunks/cf8ce21dc649021e97f6.js +0 -1
  852. package/assets/esri/core/workers/chunks/d78b7cac322755e87eb8.js +0 -1
  853. package/assets/esri/core/workers/chunks/dddb57ff637643ccfc87.js +0 -1
  854. package/assets/esri/core/workers/chunks/df18b0a653b328d8d052.js +0 -1
  855. package/assets/esri/core/workers/chunks/e1bf87077541da6853c6.js +0 -1
  856. package/assets/esri/core/workers/chunks/e3b713a590cce6245ee2.js +0 -1
  857. package/assets/esri/core/workers/chunks/e4406baf206b9e4c7e4f.js +0 -1
  858. package/assets/esri/core/workers/chunks/e499252cb52f7aed49a0.js +0 -1
  859. package/assets/esri/core/workers/chunks/e4e2f479c0c45ae1b2c3.js +0 -1
  860. package/assets/esri/core/workers/chunks/e5f8c73349407c25956b.js +0 -1
  861. package/assets/esri/core/workers/chunks/e656fd5ecf9ac059a87b.js +0 -1
  862. package/assets/esri/core/workers/chunks/e92698f50089484c4901.js +0 -1
  863. package/assets/esri/core/workers/chunks/e9c5c295b6bf10e942a4.js +0 -1
  864. package/assets/esri/core/workers/chunks/eb91dc957c328674e119.js +0 -1
  865. package/assets/esri/core/workers/chunks/ed3d16a5b4084ef61f8a.js +0 -1
  866. package/assets/esri/core/workers/chunks/edcde00495727d506c46.js +0 -1
  867. package/assets/esri/core/workers/chunks/efb4aa5886730ea377bd.js +0 -1
  868. package/assets/esri/core/workers/chunks/f0832b413612c77a62ca.js +0 -1
  869. package/assets/esri/core/workers/chunks/f116331c6eca937aac8e.js +0 -1
  870. package/assets/esri/core/workers/chunks/f23e995320674b32e142.js +0 -1
  871. package/assets/esri/core/workers/chunks/f334bf192dff5af10a70.js +0 -1
  872. package/assets/esri/core/workers/chunks/f518835b2dc89a48cfb1.js +0 -1
  873. package/assets/esri/core/workers/chunks/f5731ad4cfbbf1cc569a.js +0 -2
  874. package/assets/esri/core/workers/chunks/f76b1fc36f5606cac2c8.js +0 -1
  875. package/assets/esri/core/workers/chunks/f7fca88d120d45bb782a.js +0 -1
  876. package/assets/esri/core/workers/chunks/f819854098d63fe4ccdb.js +0 -1
  877. package/assets/esri/core/workers/chunks/f98118127469449ca145.js +0 -1
  878. package/assets/esri/core/workers/chunks/f9e22cf59e2e2782d70f.js +0 -1
  879. package/assets/esri/core/workers/chunks/fa1336b60278017d2525.js +0 -1
  880. package/assets/esri/core/workers/chunks/fbe7dae0b4bf2d172487.js +0 -1
  881. package/assets/esri/core/workers/chunks/fea3b6bef761ef78630e.js +0 -1
  882. package/chunks/Bufferer-Dw9Qi4T1.js +0 -2
  883. package/chunks/Distance2DCalculator-CXhBP-8I.js +0 -2
  884. package/chunks/GeodeticDistanceCalculator-Ce-woMPw.js +0 -2
  885. package/layers/support/AnnotationSublayer.js +0 -2
  886. package/views/3d/analysis/LineOfSight/LineOfSightPlacementTool.js +0 -2
  887. /package/assets/esri/core/workers/chunks/{d9d4754062758789f186.js.LICENSE.txt → 05016e5a1de384994001.js.LICENSE.txt} +0 -0
  888. /package/assets/esri/core/workers/chunks/{62e77e3c5ca9b4887923.js.LICENSE.txt → 0d42322362e76f674d94.js.LICENSE.txt} +0 -0
  889. /package/assets/esri/core/workers/chunks/{62de9e83331fb10aac6a.js.LICENSE.txt → 35533c8ef541f7643497.js.LICENSE.txt} +0 -0
  890. /package/assets/esri/core/workers/chunks/{641cddee377599916de2.js.LICENSE.txt → 99c002015c2127e6cbfc.js.LICENSE.txt} +0 -0
  891. /package/assets/esri/core/workers/chunks/{f5731ad4cfbbf1cc569a.js.LICENSE.txt → c318e6dbb8651433038f.js.LICENSE.txt} +0 -0
  892. /package/chunks/{Centroid-DZi-eb9F.js → Centroid-CA-TwbbN.js} +0 -0
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{watch as t}from"../../../../core/reactiveUtils.js";import{property as i,subclass as s}from"../../../../core/accessorSupport/decorators.js";import{set as a}from"../../../../core/libs/gl-matrix-2/math/vec2.js";import{copy as r,set as o,scale as n,floor as h,subtract as l}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{create as p}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{create as u,set as m,positiveInfinity as c,equals as d}from"../../../../geometry/support/aaBoundingBox.js";import{InternalRenderCategory as _}from"../../webgl.js";import{addWraparound as g}from"../../layers/i3s/I3SUtil.js";import C from"../../webgl/RenderNode.js";import{G as f}from"../../../../chunks/GaussianSplat.glsl.js";import{G as P}from"../../../../chunks/GaussianSplatComposition.glsl.js";import{GaussianSplatCompositionTechnique as b}from"../shaders/GaussianSplatCompositionTechnique.js";import{GaussianSplatCompositionTechniqueConfiguration as v}from"../shaders/GaussianSplatCompositionTechniqueConfiguration.js";import{G as S}from"../../../../chunks/GaussianSplatDepthComposition.glsl.js";import{GaussianSplatDepthCompositionTechnique as x}from"../shaders/GaussianSplatDepthCompositionTechnique.js";import{GaussianSplatTechnique as q}from"../shaders/GaussianSplatTechnique.js";import{GaussianSplatTechniqueConfiguration as w}from"../shaders/GaussianSplatTechniqueConfiguration.js";import{ColorAttachment1 as R,DepthStencilAttachment as D,PrimitiveType as E}from"../../../webgl/enums.js";var y;let T=class extends C{static{y=this}constructor(e){super(e),this.produces=_.GAUSSIAN_SPLAT,this._slicePlaneEnabled=!1,this.layerView=null,this._passParameters=new f,this._compositionPassParameters=new P,this._depthCompositionPassParameters=new S,this._compositionConfiguration=new v,this._clipBox=u(),this._previousCameraDirection=p(),this._previousSortRequestCameraDirection=p(),this._tileCullingRevision=0,this._sortRequestDirectionEpsilon=.01,this._directionChangeEpsilon=.001,this._configuration=new w(e.view.state.isGlobal),m(this._clipBox,c)}async initialize(){this.addHandles([t(()=>this.view.state.camera,()=>this._onCameraChange()),t(()=>2===this.view.state.mode,()=>this.requestRender(1))])}render(e){const t=e.find(({name:e})=>e===this.produces);if(this._updateConfigurations(),this._handleFading(),!this._data.visibleGaussians||!this._data.orderTexture.texture||!this._data.textureAtlas.texture)return t;const i=t.getAttachment(R);this._compositionConfiguration.useFloatBlend=this.bindParameters.useFloatBlend.value,this._compositionConfiguration.hasEmission=null!=i;const s=this.techniques.getCompiled(q,this._configuration),a=this.techniques.getCompiled(b,this._compositionConfiguration),r=this.techniques.getCompiled(x);if(!s||!r||!a)return this.requestRender(1),t;const{fullWidth:o,fullHeight:n}=this.bindParameters.camera;this._prepareParameters(n,o);const h=this.renderingContext,l=this.fboCache,p=l.acquire(o,n,"gaussian color output"),u=t.getAttachment(D);p.attachDepth(u),this._renderGaussianColorAndDepth(p,s);const m=l.acquire(o,n,this.produces);return this._depthCompositionPassParameters.splatDepth=p.getTexture(R),m.attachDepth(t.getAttachment(D)),h.bindFramebuffer(m.fbo),h.bindTechnique(r,this.bindParameters,this._depthCompositionPassParameters),h.screen.draw(),this._compositionPassParameters.color=t.getTexture(),this._compositionPassParameters.splatColor=p.getTexture(),i?(m.acquireColor(R,8,"emissive"),this._compositionPassParameters.emission=t.getTexture(R)):this._compositionPassParameters.emission=null,h.bindFramebuffer(m.fbo),h.bindTechnique(a,this.bindParameters,this._compositionPassParameters),h.screen.draw(),p.release(),m}get slicePlaneEnabled(){return this._slicePlaneEnabled}set slicePlaneEnabled(e){this._slicePlaneEnabled!==e&&(this._slicePlaneEnabled=e,this.requestRender(1))}set clippingBox(e){const t=e||c;this._hasSameClipBox(t)||(m(this._clipBox,t),this._tileCullingRevision=g(this._tileCullingRevision,1),this._data.requestSort(),this.requestRender(1))}get clippingBox(){return this._clippingEnabled?this._clipBox:null}get tileCullingRevision(){return this._tileCullingRevision}get _clippingEnabled(){return!d(this._clipBox,c,(e,t)=>e===t)}get _isIdle(){return 2===this.view.state.mode}get _data(){return this.layerView.data}get _fadeHelper(){return this.layerView.fadeHelper}_updateConfigurations(){const{idleMinimumOpacity:e,nonIdleMinimumOpacity:t}=this.view.qualitySettings.gaussianSplat;this._configuration.alphaCutoff=this._isIdle?e:t,this._configuration.fadingEnabled=this._fadeHelper.fadingEnabled,this._configuration.receiveShadows=this.bindParameters.shadowMap.ready,this._configuration.hasShadowHighlights=this._configuration.receiveShadows&&this.bindParameters.hasShadowHighlights,this._configuration.clippingEnabled=this._clippingEnabled,this._configuration.hasSlicePlane=this._slicePlaneEnabled&&null!=this.bindParameters.slicePlane}_onCameraChange(){this._tileCullingRevision=g(this._tileCullingRevision,1);const e=this.view.state.camera.ray.direction;if(!this._directionChanged(e))return;if(r(this._previousCameraDirection,e),!this._shouldRequestSort(e))return;this._data.requestSort()&&r(this._previousSortRequestCameraDirection,e)}_directionChanged(e){return Math.abs(e[0]-this._previousCameraDirection[0])>this._directionChangeEpsilon||Math.abs(e[1]-this._previousCameraDirection[1])>this._directionChangeEpsilon||Math.abs(e[2]-this._previousCameraDirection[2])>this._directionChangeEpsilon}_shouldRequestSort(e){return Math.abs(e[0]-this._previousSortRequestCameraDirection[0])>this._sortRequestDirectionEpsilon||Math.abs(e[1]-this._previousSortRequestCameraDirection[1])>this._sortRequestDirectionEpsilon||Math.abs(e[2]-this._previousSortRequestCameraDirection[2])>this._sortRequestDirectionEpsilon}_prepareParameters(e,t){this._passParameters.splatOrder=this._data.orderTexture.texture,this._passParameters.splatFading=this._data.fadingTexture.texture,this._passParameters.splatAtlas=this._data.textureAtlas.texture;const i=Math.tan(.5*this.camera.fovY),s=i/e*t;a(this._passParameters.tanFov,s,i),this._passParameters.focalLength=e/(2*i);const o=this.view.qualitySettings.gaussianSplat,n=this._isIdle?o.idleMinimumSplatPixelRadius:o.nonIdleMinimumSplatPixelRadius;this._passParameters.minSplatRadius=n*Math.sqrt(t*e)/Math.sqrt(2073600),r(this._passParameters.origin,this.bindParameters.camera.eye),this._prepareHighPrecisionCameraPosition(),this._updateSlicePlaneLocalOrigin(),this._updateClipUniforms()}_updateClipUniforms(){const e=this.clippingBox||c,[t,i,s,a,r,n]=e,[h,l,p]=this.camera.eye,{clipMinCameraRelative:u,clipMaxCameraRelative:m}=this._passParameters;o(u,t-h,i-l,s-p),o(m,a-h,r-l,n-p)}_updateSlicePlaneLocalOrigin(){this._passParameters.slicePlaneLocalOrigin=this.camera.eye}_hasSameClipBox(e){return d(this._clipBox,e,(e,t)=>e===t)}_renderGaussianColorAndDepth(e,t){const i=this.renderingContext;e.acquireColor(R,5,"gaussian depth output"),i.bindFramebuffer(e.fbo),i.setClearColor(0,0,0,0),i.clear(16384),this.renderingContext.bindTechnique(t,this.bindParameters,this._passParameters),this.renderingContext.drawArraysInstanced(E.TRIANGLE_STRIP,0,4,this._data.visibleGaussians)}_prepareHighPrecisionCameraPosition(){n(this._passParameters.tileCameraPosition,this.camera.eye,1/y.tileSize),h(this._passParameters.tileCameraPosition,this._passParameters.tileCameraPosition),n(this._passParameters.cameraDelta,this._passParameters.tileCameraPosition,y.tileSize),l(this._passParameters.cameraDelta,this.camera.eye,this._passParameters.cameraDelta)}_handleFading(){if(0===this._fadeHelper.numFadingTiles)return void(this._previousFrameStart=null);this._previousFrameStart??=this.view.stage.renderer.renderContext.time;const e=this.view.stage?.renderer.renderContext.time-this._previousFrameStart;this._fadeHelper.updateAllTileFading(e),this._previousFrameStart=this.view.stage.renderer.renderContext.time,this._data.fadingTexture.updateTexture(this._data.textureAtlas.pageAllocator.pageCount)}static{this.tileSize=2.048}};e([i()],T.prototype,"produces",void 0),e([i({constructOnly:!0})],T.prototype,"layerView",void 0),T=y=e([s("esri.views.3d.webgl-engine.lib.GaussianSplatRenderNode")],T);export{T as GaussianSplatRenderNode};
2
+ import{__decorate as e}from"tslib";import{watch as i}from"../../../../core/reactiveUtils.js";import{property as t,subclass as s}from"../../../../core/accessorSupport/decorators.js";import{set as a}from"../../../../core/libs/gl-matrix-2/math/vec2.js";import{copy as r,set as o,scale as n,floor as h,subtract as l}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{create as p}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{create as u,set as m,positiveInfinity as c,equals as d}from"../../../../geometry/support/aaBoundingBox.js";import{InternalRenderCategory as _}from"../../webgl.js";import{addWraparound as g}from"../../layers/i3s/I3SUtil.js";import C from"../../webgl/RenderNode.js";import{G as f}from"../../../../chunks/GaussianSplat.glsl.js";import{G as P}from"../../../../chunks/GaussianSplatComposition.glsl.js";import{GaussianSplatCompositionTechnique as b}from"../shaders/GaussianSplatCompositionTechnique.js";import{GaussianSplatCompositionTechniqueConfiguration as v}from"../shaders/GaussianSplatCompositionTechniqueConfiguration.js";import{G as S}from"../../../../chunks/GaussianSplatDepthComposition.glsl.js";import{GaussianSplatDepthCompositionTechnique as x}from"../shaders/GaussianSplatDepthCompositionTechnique.js";import{GaussianSplatTechnique as q}from"../shaders/GaussianSplatTechnique.js";import{GaussianSplatTechniqueConfiguration as w}from"../shaders/GaussianSplatTechniqueConfiguration.js";import{ColorAttachment1 as R,DepthStencilAttachment as E,PrimitiveType as D}from"../../../webgl/enums.js";var y;let T=class extends C{static{y=this}constructor(e){super(e),this.produces=_.GAUSSIAN_SPLAT,this._slicePlaneEnabled=!1,this.layerView=null,this._passParameters=new f,this._compositionPassParameters=new P,this._depthCompositionPassParameters=new S,this._compositionConfiguration=new v,this._clipBox=u(),this._previousCameraDirection=p(),this._previousSortRequestCameraDirection=p(),this._tileCullingRevision=0,this._sortRequestDirectionEpsilon=.01,this._directionChangeEpsilon=.001,this._configuration=new w(e.view.state.isGlobal),m(this._clipBox,c)}async initialize(){this.addHandles([i(()=>this.view.state.camera,()=>this._onCameraChange()),i(()=>2===this.view.state.mode,()=>this.requestRender(1))])}precompile(){this._updateConfigurations(),this._compositionConfiguration.useFloatBlend=this.bindParameters.useFloatBlend.value,this._compositionConfiguration.hasEmission=this.bindParameters.hasOpaqueEmission,this.techniques.precompile(q,this._configuration),this.techniques.precompile(b,this._compositionConfiguration),this.techniques.precompile(x)}render(e){const i=e.find(({name:e})=>e===this.produces);if(this._updateConfigurations(),this._handleFading(),!this._data.visibleGaussians||!this._data.orderTexture.texture||!this._data.textureAtlas.texture)return i;const t=i.getAttachment(R);this._compositionConfiguration.useFloatBlend=this.bindParameters.useFloatBlend.value,this._compositionConfiguration.hasEmission=null!=t;const{fullWidth:s,fullHeight:a}=this.bindParameters.camera;this._prepareParameters(a,s);const r=this.renderingContext,o=this.fboCache,n=o.acquire(s,a,"gaussian color output"),h=i.getAttachment(E);n.attachDepth(h);const l=this.techniques.get(q,this._configuration);this._renderGaussianColorAndDepth(n,l);const p=o.acquire(s,a,this.produces);this._depthCompositionPassParameters.splatDepth=n.getTexture(R),p.attachDepth(i.getAttachment(E)),r.bindFramebuffer(p.fbo);const u=this.techniques.get(x);r.bindTechnique(u,this.bindParameters,this._depthCompositionPassParameters),r.screen.draw(),this._compositionPassParameters.color=i.getTexture(),this._compositionPassParameters.splatColor=n.getTexture(),t?(p.acquireColor(R,8,"emissive"),this._compositionPassParameters.emission=i.getTexture(R)):this._compositionPassParameters.emission=null,r.bindFramebuffer(p.fbo);const m=this.techniques.get(b,this._compositionConfiguration);return r.bindTechnique(m,this.bindParameters,this._compositionPassParameters),r.screen.draw(),n.release(),p}get slicePlaneEnabled(){return this._slicePlaneEnabled}set slicePlaneEnabled(e){this._slicePlaneEnabled!==e&&(this._slicePlaneEnabled=e,this.requestRender(1))}set clippingBox(e){const i=e||c;this._hasSameClipBox(i)||(m(this._clipBox,i),this._tileCullingRevision=g(this._tileCullingRevision,1),this._data.requestSort(),this.requestRender(1))}get clippingBox(){return this._clippingEnabled?this._clipBox:null}get tileCullingRevision(){return this._tileCullingRevision}get _clippingEnabled(){return!d(this._clipBox,c,(e,i)=>e===i)}get _isIdle(){return 2===this.view.state.mode}get _data(){return this.layerView.data}get _fadeHelper(){return this.layerView.fadeHelper}_updateConfigurations(){const{idleMinimumOpacity:e,nonIdleMinimumOpacity:i}=this.view.qualitySettings.gaussianSplat;this._configuration.alphaCutoff=this._isIdle?e:i,this._configuration.fadingEnabled=this._fadeHelper.fadingEnabled,this._configuration.receiveShadows=this.bindParameters.shadowMap.ready,this._configuration.hasShadowHighlights=this._configuration.receiveShadows&&this.bindParameters.hasShadowHighlights,this._configuration.clippingEnabled=this._clippingEnabled,this._configuration.hasSlicePlane=this._slicePlaneEnabled&&null!=this.bindParameters.slicePlane}_onCameraChange(){this._tileCullingRevision=g(this._tileCullingRevision,1);const e=this.view.state.camera.ray.direction;if(!this._directionChanged(e))return;if(r(this._previousCameraDirection,e),!this._shouldRequestSort(e))return;this._data.requestSort()&&r(this._previousSortRequestCameraDirection,e)}_directionChanged(e){return Math.abs(e[0]-this._previousCameraDirection[0])>this._directionChangeEpsilon||Math.abs(e[1]-this._previousCameraDirection[1])>this._directionChangeEpsilon||Math.abs(e[2]-this._previousCameraDirection[2])>this._directionChangeEpsilon}_shouldRequestSort(e){return Math.abs(e[0]-this._previousSortRequestCameraDirection[0])>this._sortRequestDirectionEpsilon||Math.abs(e[1]-this._previousSortRequestCameraDirection[1])>this._sortRequestDirectionEpsilon||Math.abs(e[2]-this._previousSortRequestCameraDirection[2])>this._sortRequestDirectionEpsilon}_prepareParameters(e,i){this._passParameters.splatOrder=this._data.orderTexture.texture,this._passParameters.splatFading=this._data.fadingTexture.texture,this._passParameters.splatAtlas=this._data.textureAtlas.texture;const t=Math.tan(.5*this.camera.fovY),s=t/e*i;a(this._passParameters.tanFov,s,t),this._passParameters.focalLength=e/(2*t);const o=this.view.qualitySettings.gaussianSplat,n=this._isIdle?o.idleMinimumSplatPixelRadius:o.nonIdleMinimumSplatPixelRadius;this._passParameters.minSplatRadius=n*Math.sqrt(i*e)/Math.sqrt(2073600),r(this._passParameters.origin,this.bindParameters.camera.eye),this._prepareHighPrecisionCameraPosition(),this._updateSlicePlaneLocalOrigin(),this._updateClipUniforms()}_updateClipUniforms(){const e=this.clippingBox||c,[i,t,s,a,r,n]=e,[h,l,p]=this.camera.eye,{clipMinCameraRelative:u,clipMaxCameraRelative:m}=this._passParameters;o(u,i-h,t-l,s-p),o(m,a-h,r-l,n-p)}_updateSlicePlaneLocalOrigin(){this._passParameters.slicePlaneLocalOrigin=this.camera.eye}_hasSameClipBox(e){return d(this._clipBox,e,(e,i)=>e===i)}_renderGaussianColorAndDepth(e,i){const t=this.renderingContext;e.acquireColor(R,5,"gaussian depth output"),t.bindFramebuffer(e.fbo),t.setClearColor(0,0,0,0),t.clear(16384),this.renderingContext.bindTechnique(i,this.bindParameters,this._passParameters),this.renderingContext.drawArraysInstanced(D.TRIANGLE_STRIP,0,4,this._data.visibleGaussians)}_prepareHighPrecisionCameraPosition(){n(this._passParameters.tileCameraPosition,this.camera.eye,1/y.tileSize),h(this._passParameters.tileCameraPosition,this._passParameters.tileCameraPosition),n(this._passParameters.cameraDelta,this._passParameters.tileCameraPosition,y.tileSize),l(this._passParameters.cameraDelta,this.camera.eye,this._passParameters.cameraDelta)}_handleFading(){if(0===this._fadeHelper.numFadingTiles)return void(this._previousFrameStart=null);this._previousFrameStart??=this.view.stage.renderer.renderContext.time;const e=this.view.stage?.renderer.renderContext.time-this._previousFrameStart;this._fadeHelper.updateAllTileFading(e),this._previousFrameStart=this.view.stage.renderer.renderContext.time,this._data.fadingTexture.updateTexture(this._data.textureAtlas.pageAllocator.pageCount)}static{this.tileSize=2.048}};e([t()],T.prototype,"produces",void 0),e([t({constructOnly:!0})],T.prototype,"layerView",void 0),T=y=e([s("esri.views.3d.webgl-engine.lib.GaussianSplatRenderNode")],T);export{T as GaussianSplatRenderNode};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{isOITColor as r}from"../core/shaderLibrary/ShaderOutput.js";import{defaultDepthWrite as t,modulateDestination as e,premultipliedAlpha as u,unpremultipliedAlphaToPremultipliedAlpha as n,separateBlendingParams as c}from"../../../webgl/renderState.js";const a=c(1,0,1,771);function i(r,t=!1,c=!1){if(c)return e;switch(r){case 0:return t?u:n;case 1:return a;default:return null}}function l(r){if(r.draped)return null;switch(r.output){case 0:case 2:default:return r.writeDepth?t:null;case 1:return null}}function o(t,e=513){return{func:r(t)?515:e}}export{i as blending,a as blendingColorAlpha,o as depthTest,l as depthWrite};
2
+ import{isOITColorAlpha as r}from"../core/shaderLibrary/ShaderOutput.js";import{defaultDepthWrite as t,modulateDestination as e,premultipliedAlpha as u,unpremultipliedAlphaToPremultipliedAlpha as n,separateBlendingParams as c}from"../../../webgl/renderState.js";const a=c(1,0,1,771);function i(r,t=!1,c=!1){if(c)return e;switch(r){case 0:return t?u:n;case 1:return a;default:return null}}function l(r){if(r.draped)return null;switch(r.output){case 0:case 2:default:return r.writeDepth?t:null;case 1:return null}}function o(t,e=513){return{func:r(t)?515:e}}export{i as blending,a as blendingColorAlpha,o as depthTest,l as depthWrite};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{reciprocalClamped as e}from"../../../../core/mathUtils.js";import{set as t}from"../../../../core/libs/gl-matrix-2/math/mat2.js";import{create as r}from"../../../../core/libs/gl-matrix-2/factories/mat2f64.js";import{setAxisAngle as o}from"../../../../core/libs/gl-matrix-2/math/quat.js";import{create as s}from"../../../../core/libs/gl-matrix-2/factories/quatf64.js";import{multiply as i,copy as a,length as c,normalize as f,dot as n,set as p,scale as l,add as m,subtract as h,transformMat2 as u}from"../../../../core/libs/gl-matrix-2/math/vec2.js";import{ZEROS as x,UNIT_X as d,create as g}from"../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{cross as b,set as N,transformQuat as V,dot as O,scale as v,add as I,normalize as P}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{create as j}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{pathNumRoundCapExtrusionSubdivisions as M}from"../../layers/graphics/Graphics3DPathSymbolLayerConstants.js";import{compressNormal as C,decodeInt16 as y,decompressNormal as A}from"./Normals.js";import{PathFrame2D as k}from"./PathFrame2D.js";import{decodePathVertexInfo as R}from"./PathVertexInfo.js";class S{constructor(e,t,r,o,s,i){this.builder=e,this.profile=t,this.numJoinSubdivisions=r,this.capType=o,this.miterCutoffAngle=s,this.upVectorAlignment=i}evaluateBakedVertices(e,t,r){const{numVerticesTotal:o,framePositionIndices:s,vertexFrameIndices:h,positions:u}=this.builder;for(let x=0;x<o;++x){const o=W;this._evaluateExtrudedVertex(o,x);const d=B;let g=0,V=0;const O=h[x],v=o.frame.right,I=o.frame.up,P=3*s[O],j=i(G,o.profileVertex,r);if(o.isCap)b(d,I,v),g=o.capPositionOffset*r[0],V=o.capNormalOffset;else{const e=L,t=H;a(e,o.rotationRight);const r=c(e);f(e,e);const s=n(j,e);if(Math.abs(s)>r){p(t,-e[1],e[0]);const o=n(j,t);l(e,e,r*Math.sign(s)),l(t,t,o),m(j,e,t)}N(d,0,0,0)}const M=v[0]*j[0]+I[0]*j[1],y=v[1]*j[0]+I[1]*j[1],A=v[2]*j[0]+I[2]*j[1],k=3*x;e[k]=u[P]+M+d[0]*g,e[k+1]=u[P+1]+y+d[1]*g,e[k+2]=u[P+2]+A+d[2]*g;const R=o.profileNormal[0],S=o.profileNormal[1];C(t,x,v[0]*R+I[0]*S+d[0]*V,v[1]*R+I[1]*S+d[1]*V,v[2]*R+I[2]*S+d[2]*V)}}_evaluateExtrudedVertex(e,t){const{profileRotations:r,profileUpAxes:s,profileRightAxes:i,profileRotationFrameUpAxes:c,pathMaxStretchDistances:p,pathVertexInfos:u,vertexFrameIndices:g}=this.builder,{miterCutoffAngle:b,profile:N,upVectorAlignment:O}=this,v=F[O],I=1===this.upVectorAlignment,P=R(u[t]),j=g[t],C=y(r[j])*Math.PI,k=p[j];switch(A(e.frame.right,i,j),A(e.frame.up,s,j),P.type){case 0:{e.isCap=!1;const t=N.vertices[P.sourceIndex],r=N.normals[P.sourceIndex],s=Math.abs(C)>=b,i=I?A(K,c,j):e.frame.up,f=null!=c?w(J,e.frame,i):d,p=n(t,f)*C>=0;if(s&&p){a(e.profileVertex,t);const r=.5*-C+P.subdivision*C/this.numJoinSubdivisions;0!==r&&(o(Q,i,r),I&&V(e.frame.up,e.frame.up,Q),V(e.frame.right,e.frame.right,Q))}else{const r=v(q,t,C,f);a(e.profileVertex,r)}a(e.profileNormal,r),p?a(e.rotationRight,x):l(e.rotationRight,f,k);break}case 1:{e.isCap=!0;const t=N.vertices[P.sourceIndex],r=N.normals[P.sourceIndex];switch(a(e.profileVertex,t),a(e.profileNormal,r),this.capType){case 0:case 1:case 3:e.capPositionOffset=0,e.capNormalOffset=0;break;case 2:e.capPositionOffset=T(P)?.5:-.5,e.capNormalOffset=0}break}case 2:{e.isCap=!0;const t=N.vertices[P.sourceIndex],r=T(P),o=r?1:-1,s=2===this.capType?r?.5:-.5:0,i=x;a(e.profileVertex,t),a(e.profileNormal,i),e.capPositionOffset=s,e.capNormalOffset=o;break}case 3:{e.isCap=!0;const t=T(P)?1:-1,r=.5*t,o=N.poles[P.sourceIndex],s=o.position,i=o.normal;i?(a(e.profileVertex,s),a(e.profileNormal,i),e.capPositionOffset=r,e.capNormalOffset=0):(a(e.profileVertex,s),a(e.profileNormal,x),e.capPositionOffset=r,e.capNormalOffset=t);break}case 4:{e.isCap=!0;const t=T(P)?1:-1,r=.5*t,o=(1-(P.subdivision+1)/M)*Math.PI*.5,s=Math.sin(o),i=Math.cos(o),c=N.poleIndices[P.sourceIndex],n=N.poles[c],p=n.position,u=n.normal,x=N.vertices[P.sourceIndex];h(q,x,p),l(q,q,s),u?(m(q,q,p),a(e.profileVertex,q),a(e.profileNormal,u),e.capPositionOffset=r*i,e.capNormalOffset=0):(f(U,q),l(U,U,s),m(q,q,p),a(e.profileVertex,q),a(e.profileNormal,U),e.capPositionOffset=r*i,e.capNormalOffset=t*i);break}default:P.type}}}const F={0:(t,r,o)=>{if(Math.abs(o)<=0)return r;const s=e(Math.cos(.5*o));return p(t,(s-1+1)*r[0],r[1])},1:(r,o,s,i)=>{if(0===Math.abs(s))return o;const a=e(Math.cos(.5*s)),c=t(E,1+(a-1)*i[0]*i[0],(a-1)*i[0]*i[1],(a-1)*i[0]*i[1],1+(a-1)*i[1]*i[1]);return u(r,o,c)}};function T(e){return 1===e.capSide}function w(e,t,r){const o=O(r,t.up),s=O(r,t.right);return v(_,t.up,-s),v(z,t.right,o),I(_,_,z),P(_,_),D(e,t,_),e}function D(e,t,r){p(e,O(r,t.right),O(r,t.up))}const U=g(),q=g(),E=r(),J=g(),_=j(),z=j(),B=j(),G=g(),L=g(),H=g(),K=j(),Q=s(),W={profileVertex:g(),profileNormal:g(),rotationRight:g(),capPositionOffset:0,capNormalOffset:0,isCap:!1,frame:new k};export{S as PathEvaluator};
2
+ import{reciprocalClamped as e}from"../../../../core/mathUtils.js";import{set as t}from"../../../../core/libs/gl-matrix-2/math/mat2.js";import{create as r}from"../../../../core/libs/gl-matrix-2/factories/mat2f64.js";import{setAxisAngle as o}from"../../../../core/libs/gl-matrix-2/math/quat.js";import{create as s}from"../../../../core/libs/gl-matrix-2/factories/quatf64.js";import{multiply as i,copy as a,length as c,scale as f,set as n,dot as p,add as m,subtract as l,normalize as h,transformMat2 as u}from"../../../../core/libs/gl-matrix-2/math/vec2.js";import{ZEROS as x,UNIT_X as d,create as b}from"../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{cross as g,set as N,transformQuat as V,dot as O,scale as v,add as I,normalize as P}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{create as j}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{pathNumRoundCapExtrusionSubdivisions as M}from"../../layers/graphics/Graphics3DPathSymbolLayerConstants.js";import{compressNormal as C,decodeInt16 as y,decompressNormal as A}from"./Normals.js";import{PathFrame2D as k}from"./PathFrame2D.js";import{decodePathVertexInfo as D}from"./PathVertexInfo.js";class R{constructor(e,t,r,o,s,i){this.builder=e,this.profile=t,this.numJoinSubdivisions=r,this.capType=o,this.miterCutoffAngle=s,this.upVectorAlignment=i}evaluateBakedVertices(e,t,r){const{numVerticesTotal:o,framePositionIndices:s,vertexFrameIndices:l,positions:h}=this.builder;for(let u=0;u<o;++u){const o=W;this._evaluateExtrudedVertex(o,u);const x=B;let d=0,b=0;const V=l[u],O=o.frame.right,v=o.frame.up,I=3*s[V],P=i(G,o.profileVertex,r);if(o.isCap)g(x,v,O),d=o.capPositionOffset*r[0],b=o.capNormalOffset;else{const e=L,t=H;a(e,o.rotationRight);const s=o.maxDistance;i(e,e,r);const l=c(e);l>0?f(e,e,1/l):n(e,0,0);const h=p(P,e);if(Math.abs(h)>s){n(t,-e[1],e[0]);const r=p(P,t);f(e,e,s*Math.sign(h)),f(t,t,r),m(P,e,t)}N(x,0,0,0)}const j=O[0]*P[0]+v[0]*P[1],M=O[1]*P[0]+v[1]*P[1],y=O[2]*P[0]+v[2]*P[1],A=3*u;e[A]=h[I]+j+x[0]*d,e[A+1]=h[I+1]+M+x[1]*d,e[A+2]=h[I+2]+y+x[2]*d;const k=o.profileNormal[0],D=o.profileNormal[1];C(t,u,O[0]*k+v[0]*D+x[0]*b,O[1]*k+v[1]*D+x[1]*b,O[2]*k+v[2]*D+x[2]*b)}}_evaluateExtrudedVertex(e,t){const{profileRotations:r,profileUpAxes:s,profileRightAxes:i,profileRotationFrameUpAxes:c,pathMaxStretchDistances:n,pathVertexInfos:u,vertexFrameIndices:b}=this.builder,{miterCutoffAngle:g,profile:N,upVectorAlignment:O}=this,v=S[O],I=1===this.upVectorAlignment,P=D(u[t]),j=b[t],C=y(r[j])*Math.PI,k=n[j];switch(A(e.frame.right,i,j),A(e.frame.up,s,j),e.maxDistance=0,P.type){case 0:{e.isCap=!1;const t=N.vertices[P.sourceIndex],r=N.normals[P.sourceIndex],s=Math.abs(C)>=g,i=I?A(K,c,j):e.frame.up,f=null!=c?T(J,e.frame,i):d,n=p(t,f)*C>=0;if(s&&n){a(e.profileVertex,t);const r=.5*-C+P.subdivision*C/this.numJoinSubdivisions;0!==r&&(o(Q,i,r),I&&V(e.frame.up,e.frame.up,Q),V(e.frame.right,e.frame.right,Q))}else{const r=v(q,t,C,f);a(e.profileVertex,r)}a(e.profileNormal,r),a(e.rotationRight,n?x:f),e.maxDistance=n?0:k;break}case 1:{e.isCap=!0;const t=N.vertices[P.sourceIndex],r=N.normals[P.sourceIndex];switch(a(e.profileVertex,t),a(e.profileNormal,r),this.capType){case 0:case 1:case 3:e.capPositionOffset=0,e.capNormalOffset=0;break;case 2:e.capPositionOffset=F(P)?.5:-.5,e.capNormalOffset=0}break}case 2:{e.isCap=!0;const t=N.vertices[P.sourceIndex],r=F(P),o=r?1:-1,s=2===this.capType?r?.5:-.5:0,i=x;a(e.profileVertex,t),a(e.profileNormal,i),e.capPositionOffset=s,e.capNormalOffset=o;break}case 3:{e.isCap=!0;const t=F(P)?1:-1,r=.5*t,o=N.poles[P.sourceIndex],s=o.position,i=o.normal;i?(a(e.profileVertex,s),a(e.profileNormal,i),e.capPositionOffset=r,e.capNormalOffset=0):(a(e.profileVertex,s),a(e.profileNormal,x),e.capPositionOffset=r,e.capNormalOffset=t);break}case 4:{e.isCap=!0;const t=F(P)?1:-1,r=.5*t,o=(1-(P.subdivision+1)/M)*Math.PI*.5,s=Math.sin(o),i=Math.cos(o),c=N.poleIndices[P.sourceIndex],n=N.poles[c],p=n.position,u=n.normal,x=N.vertices[P.sourceIndex];l(q,x,p),f(q,q,s),u?(m(q,q,p),a(e.profileVertex,q),a(e.profileNormal,u),e.capPositionOffset=r*i,e.capNormalOffset=0):(h(U,q),f(U,U,s),m(q,q,p),a(e.profileVertex,q),a(e.profileNormal,U),e.capPositionOffset=r*i,e.capNormalOffset=t*i);break}default:P.type}}}const S={0:(t,r,o)=>{if(Math.abs(o)<=0)return r;const s=e(Math.cos(.5*o));return n(t,(s-1+1)*r[0],r[1])},1:(r,o,s,i)=>{if(0===Math.abs(s))return o;const a=e(Math.cos(.5*s)),c=t(E,1+(a-1)*i[0]*i[0],(a-1)*i[0]*i[1],(a-1)*i[0]*i[1],1+(a-1)*i[1]*i[1]);return u(r,o,c)}};function F(e){return 1===e.capSide}function T(e,t,r){const o=O(r,t.up),s=O(r,t.right);return v(_,t.up,-s),v(z,t.right,o),I(_,_,z),P(_,_),w(e,t,_),e}function w(e,t,r){n(e,O(r,t.right),O(r,t.up))}const U=b(),q=b(),E=r(),J=b(),_=j(),z=j(),B=j(),G=b(),L=b(),H=b(),K=j(),Q=s(),W={profileVertex:b(),profileNormal:b(),rotationRight:b(),maxDistance:0,capPositionOffset:0,capNormalOffset:0,isCap:!1,frame:new k};export{R as PathEvaluator};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{subclass as r}from"../../../../core/accessorSupport/decorators.js";import{freeze as t,create as i,ZEROS as s}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{glLayout as o}from"../../support/buffer/glUtil.js";import{isOITColor as l}from"../core/shaderLibrary/ShaderOutput.js";import{PathVertexPositionPassParameters as n}from"../core/shaderLibrary/attributes/PathVertexPosition.glsl.js";import{ReloadableShader as a}from"../core/shaderTechnique/ReloadableShader.js";import{ShaderTechnique as m}from"../core/shaderTechnique/ShaderTechnique.js";import{depthTest as p,blending as c}from"../lib/OrderIndependentTransparency.js";import{stencilToolMaskBase as h,stencilBaseAllZeros as u,stencilWriteMaskOn as f}from"../lib/StencilUtils.js";import{P as d}from"../../../../chunks/Path.glsl.js";import{getLayout as g}from"./PathLayouts.js";import{advancedMRRFactors as b}from"./pbrUtils.js";import{polygonOffset as j}from"./PolygonOffset.js";import{isCullingRequired as P}from"../shaders/DefaultMaterialTechnique.js";import{makePipelineState as S,defaultColorWrite as y,defaultDepthWrite as T,cullingParams as v}from"../../../webgl/renderState.js";class q extends n{constructor(){super(...arguments),this.ambient=t(.2,.2,.2),this.diffuse=t(.8,.8,.8),this.opacity=1,this.origin=i(),this.modelTransformation=null,this.mrrFactors=b,this.emissiveStrengthFromSymbol=0,this.emissiveSource=1,this.emissiveBaseColor=s}get emissiveStrength(){return this.emissiveStrengthFromSymbol}}let x=class extends m{constructor(e,r){super(e,r,o(g())),this.shader=new a(d,()=>import("./Path.glsl.js"))}initializePipeline(e){return this._occludeePipelineState=this._makePipeline(e,!0),this._makePipeline(e,!1)}_makePipeline(e,r){const{output:t,transparent:i,cullFace:s,hasOccludees:o}=e,n=!l(t);return S({blending:i?c(t):null,culling:P(e)?v(s):null,depthTest:p(t),depthWrite:n?T:null,colorWrite:y,stencilWrite:o?f:null,stencilTest:o?r?h:u:null,polygonOffset:j(e)})}getPipeline(e,r,t){return t?this._occludeePipelineState:super.getPipeline(e,r,t)}};x=e([r("esri.views.3d.webgl-engine.materials.PathTechnique")],x);export{q as PathPassParameters,x as PathTechnique};
2
+ import{__decorate as e}from"tslib";import{subclass as r}from"../../../../core/accessorSupport/decorators.js";import{freeze as t,create as i,ZEROS as s}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{glLayout as o}from"../../support/buffer/glUtil.js";import{isOITColorAlpha as l}from"../core/shaderLibrary/ShaderOutput.js";import{PathVertexPositionPassParameters as n}from"../core/shaderLibrary/attributes/PathVertexPosition.glsl.js";import{ReloadableShader as a}from"../core/shaderTechnique/ReloadableShader.js";import{ShaderTechnique as m}from"../core/shaderTechnique/ShaderTechnique.js";import{depthTest as p,blending as c}from"../lib/OrderIndependentTransparency.js";import{stencilToolMaskBase as h,stencilBaseAllZeros as u,stencilWriteMaskOn as f}from"../lib/StencilUtils.js";import{P as d}from"../../../../chunks/Path.glsl.js";import{getLayout as g}from"./PathLayouts.js";import{advancedMRRFactors as b}from"./pbrUtils.js";import{polygonOffset as j}from"./PolygonOffset.js";import{isCullingRequired as P}from"../shaders/DefaultMaterialTechnique.js";import{makePipelineState as S,defaultColorWrite as y,defaultDepthWrite as T,cullingParams as v}from"../../../webgl/renderState.js";class q extends n{constructor(){super(...arguments),this.ambient=t(.2,.2,.2),this.diffuse=t(.8,.8,.8),this.opacity=1,this.origin=i(),this.modelTransformation=null,this.mrrFactors=b,this.emissiveStrengthFromSymbol=0,this.emissiveSource=1,this.emissiveBaseColor=s}get emissiveStrength(){return this.emissiveStrengthFromSymbol}}let x=class extends m{constructor(e,r){super(e,r,o(g())),this.shader=new a(d,()=>import("./Path.glsl.js"))}initializePipeline(e){return this._occludeePipelineState=this._makePipeline(e,!0),this._makePipeline(e,!1)}_makePipeline(e,r){const{output:t,transparent:i,cullFace:s,hasOccludees:o}=e,n=!l(t);return S({blending:i?c(t):null,culling:P(e)?v(s):null,depthTest:p(t),depthWrite:n?T:null,colorWrite:y,stencilWrite:o?f:null,stencilTest:o?r?h:u:null,polygonOffset:j(e)})}getPipeline(e,r,t){return t?this._occludeePipelineState:super.getPipeline(e,r,t)}};x=e([r("esri.views.3d.webgl-engine.materials.PathTechnique")],x);export{q as PathPassParameters,x as PathTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{normalize as t,sub as r,dot as n}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{create as o}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{isOITColor as f}from"../core/shaderLibrary/ShaderOutput.js";const s=2,c=1,e=O(-1),u=O(1),i=e,a=new Array;a[0]=null,a[1]=u,a[2]=e,a[3]=O(-2),a[4]=O(-3);const l=a.map(t=>p(i,t));function m({output:t,enableOITOffset:r,polygonOffset:n}){return f(t)&&r?l[n]:a[n]}function p(t,r){return r?{factor:t.factor+r.factor,units:t.units+r.units}:t}function O(t){return{factor:c*t,units:s*t}}function b(o,f,s,c){const e=m(f);if(!e)return o;const u=x*e.units,i=t(y,r(y,c,s));return(t,r,f)=>{const s=(r?1-Math.abs(n(i,r)):0)*e.factor*g+u;return o(t+s,r,f)}}a[1]=u;const g=5e-5,x=5e-6,y=o();function d(t){const r=m(t)??{factor:0,units:0};return{factor:r.factor+e.factor*t.polygonOffsetIndex,units:r.units+e.units*t.polygonOffsetIndex}}export{d as getRibbonLineLayerPolygonOffset,b as intersectWithPolygonOffset,m as polygonOffset};
2
+ import{normalize as t,sub as r,dot as n}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{create as o}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{isOITColorAlpha as f}from"../core/shaderLibrary/ShaderOutput.js";const s=2,c=1,e=O(-1),u=O(1),i=e,a=new Array;a[0]=null,a[1]=u,a[2]=e,a[3]=O(-2),a[4]=O(-3);const l=a.map(t=>p(i,t));function m({output:t,enableOITOffset:r,polygonOffset:n}){return f(t)&&r?l[n]:a[n]}function p(t,r){return r?{factor:t.factor+r.factor,units:t.units+r.units}:t}function O(t){return{factor:c*t,units:s*t}}function b(o,f,s,c){const e=m(f);if(!e)return o;const u=x*e.units,i=t(y,r(y,c,s));return(t,r,f)=>{const s=(r?1-Math.abs(n(i,r)):0)*e.factor*g+u;return o(t+s,r,f)}}a[1]=u;const g=5e-5,x=5e-6,y=o();function d(t){const r=m(t)??{factor:0,units:0};return{factor:r.factor+e.factor*t.polygonOffsetIndex,units:r.units+e.units*t.polygonOffsetIndex}}export{d as getRibbonLineLayerPolygonOffset,b as intersectWithPolygonOffset,m as polygonOffset};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{subclass as r}from"../../../../core/accessorSupport/decorators.js";import{glLayout as t}from"../../support/buffer/glUtil.js";import{newLayout as o}from"../../support/buffer/InterleavedLayout.js";import{isOITColor as i}from"../core/shaderLibrary/ShaderOutput.js";import{ReloadableShader as s}from"../core/shaderTechnique/ReloadableShader.js";import{ShaderTechnique as a}from"../core/shaderTechnique/ShaderTechnique.js";import{olidEnabled as n}from"../effects/geometry/olidUtils.js";import{blending as l}from"../lib/OrderIndependentTransparency.js";import{polygonOffset as f}from"../materials/PolygonOffset.js";import{H as c}from"../../../../chunks/HUDMaterial.glsl.js";import{PrimitiveType as p}from"../../../webgl/enums.js";import{makePipelineState as m,defaultColorWrite as u,defaultDepthWrite as d}from"../../../webgl/renderState.js";let h=class extends a{constructor(e,r){super(e,r,t(g).concat(t(v(r)))),this.shader=new s(c,()=>import("./HUDMaterial.glsl.js")),this.ignoreUnused=!0,this.primitiveType=p.TRIANGLE_STRIP}initializePipeline(e){const{draped:r,output:t,depthTestEnabled:o}=e,s=i(t),a=o&&!r&&!s&&!(10===t);return m({blending:l(t,!0),depthTest:o&&!r?{func:515}:null,depthWrite:a?d:null,colorWrite:u,polygonOffset:f(e)})}};h=e([r("esri.views.3d.webgl-engine.shaders.HUDMaterialTechnique")],h);const g=o().vec2u8("uv0",{glNormalized:!0});function v(e){let r=o().vec3f("position").vec3f("normal").f32("groundDistance");return e.hasVertexCenterOffset&&(r=r.vec3f("centerOffset")),e.hasVertexColor&&(r=r.vec4u8("color",{glNormalized:!0})),e.hasVertexSize&&(r=r.vec2f("size")),e.hasVertexRotation&&(r=r.f32("rotation")),(e.hasVVColor||e.hasVVSize)&&(r=r.vec4f("featureAttribute")),e.hasVertexUVi&&(r=r.vec4i16("uvi")),n()?r.vec4u8("olidColor"):r}export{h as HUDMaterialTechnique,g as baseLayout,v as getInstanceLayout};
2
+ import{__decorate as e}from"tslib";import{subclass as r}from"../../../../core/accessorSupport/decorators.js";import{glLayout as t}from"../../support/buffer/glUtil.js";import{newLayout as o}from"../../support/buffer/InterleavedLayout.js";import{isOITColorAlpha as i}from"../core/shaderLibrary/ShaderOutput.js";import{ReloadableShader as s}from"../core/shaderTechnique/ReloadableShader.js";import{ShaderTechnique as a}from"../core/shaderTechnique/ShaderTechnique.js";import{olidEnabled as n}from"../effects/geometry/olidUtils.js";import{blending as l}from"../lib/OrderIndependentTransparency.js";import{polygonOffset as f}from"../materials/PolygonOffset.js";import{H as c}from"../../../../chunks/HUDMaterial.glsl.js";import{PrimitiveType as p}from"../../../webgl/enums.js";import{makePipelineState as m,defaultColorWrite as u,defaultDepthWrite as d}from"../../../webgl/renderState.js";let h=class extends a{constructor(e,r){super(e,r,t(g).concat(t(v(r)))),this.shader=new s(c,()=>import("./HUDMaterial.glsl.js")),this.ignoreUnused=!0,this.primitiveType=p.TRIANGLE_STRIP}initializePipeline(e){const{draped:r,output:t,depthTestEnabled:o}=e,s=i(t),a=o&&!r&&!s&&!(10===t);return m({blending:l(t,!0),depthTest:o&&!r?{func:515}:null,depthWrite:a?d:null,colorWrite:u,polygonOffset:f(e)})}};h=e([r("esri.views.3d.webgl-engine.shaders.HUDMaterialTechnique")],h);const g=o().vec2u8("uv0",{glNormalized:!0});function v(e){let r=o().vec3f("position").vec3f("normal").f32("groundDistance");return e.hasVertexCenterOffset&&(r=r.vec3f("centerOffset")),e.hasVertexColor&&(r=r.vec4u8("color",{glNormalized:!0})),e.hasVertexSize&&(r=r.vec2f("size")),e.hasVertexRotation&&(r=r.f32("rotation")),(e.hasVVColor||e.hasVVSize)&&(r=r.vec4f("featureAttribute")),e.hasVertexUVi&&(r=r.vec4i16("uvi")),n()?r.vec4u8("olidColor"):r}export{h as HUDMaterialTechnique,g as baseLayout,v as getInstanceLayout};
@@ -1,15 +1,14 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{isColor as o,isOITColor as i,isOITFrontFace as l}from"../core/shaderLibrary/ShaderOutput.js";import{Emissions as r}from"../core/shaderLibrary/output/Emissions.glsl.js";import{OutputHighlight as s}from"../core/shaderLibrary/output/OutputHighlight.glsl.js";import{ColorConversion as a}from"../core/shaderLibrary/util/ColorConversion.glsl.js";import{emissionDimming as e}from"../core/shaderLibrary/util/EmissionDimming.glsl.js";import{If as n,glsl as t}from"../core/shaderModules/glsl.js";import{alphaCutoff as f}from"./alphaCutoff.glsl.js";import{ditherNoise as m}from"./ditherNoise.glsl.js";import{oitResolution as u}from"./oitResolution.glsl.js";function d(d,g){d.include(s,g),d.include(r,g);const{fragment:c,outputs:p}=d;c.include(a);const{output:C,hasEmission:h,oitPremultipliedAlpha:b,snowCover:v,emissionDimmingPass:y,renderOccluded:E}=g,$=11===C,j=i(C),O=l(C),A=o(C)&&!j,L=0!==C||E;let S=0;(A||j)&&p.add("fragColor","vec4",S++),j&&p.add("fragAlpha","float",S++),h&&p.add("fragEmission","vec4",S++),c.include(a),c.include(f),c.include(u,g),c.include(m,g),y&&c.include(e,g),c.code.add(t`
2
+ import{isColor as o,isOITColorAlpha as i,isOITFrontFace as l}from"../core/shaderLibrary/ShaderOutput.js";import{Emissions as r}from"../core/shaderLibrary/output/Emissions.glsl.js";import{OutputHighlight as s}from"../core/shaderLibrary/output/OutputHighlight.glsl.js";import{ColorConversion as a}from"../core/shaderLibrary/util/ColorConversion.glsl.js";import{emissionDimming as e}from"../core/shaderLibrary/util/EmissionDimming.glsl.js";import{If as n,glsl as t}from"../core/shaderModules/glsl.js";import{alphaCutoff as f}from"./alphaCutoff.glsl.js";import{ditherNoise as m}from"./ditherNoise.glsl.js";import{oitResolution as u}from"./oitResolution.glsl.js";function d(d,g){d.include(s,g),d.include(r,g);const{fragment:c,outputs:p}=d;c.include(a);const{output:C,hasEmission:h,oitPremultipliedAlpha:b,snowCover:v,emissionDimmingPass:E,renderOccluded:y}=g,j=11===C,O=i(C),$=l(C),A=o(C)&&!O,L=0!==C||y;let S=0;(A||O)&&p.add("fragColor","vec4",S++),O&&p.add("fragAlpha","float",S++),h&&p.add("fragEmission","vec4",S++),c.include(a),c.include(f),c.include(u,g),c.include(m,g),E&&c.include(e,g),c.code.add(t`
3
3
  void outputColorHighlightOLID(vec4 finalColor, vec3 emissiveSymbolColor ${n(v,", float snow")}) {
4
- ${n($,"finalColor.a = 1.0;")}
4
+ ${n(j,"finalColor.a = 1.0;")}
5
5
  ${n(L,"if (finalColor.a < alphaCutoff) discard;")}
6
- ${n(j||h,"float noise = ditherNoise(finalColor);")}
7
6
 
8
- ${n(j,`fragColor = ${n(b,"finalColor","premultiplyAlpha(finalColor)")};\n fragColor.rgb = fragColor.rgb * floatBlendOutputScale + noise;\n fragAlpha = finalColor.a * floatBlendOutputScale + noise;\n `)}
9
- ${n(O&&b,"finalColor.rgb /= finalColor.a;")}
7
+ ${n(O,`float noise = ditherNoise(finalColor);\n fragColor = ${n(b,"finalColor","premultiplyAlpha(finalColor)")};\n fragColor.rgb = fragColor.rgb * floatBlendOutputScale + noise;\n fragAlpha = finalColor.a * floatBlendOutputScale + noise;\n `)}
8
+ ${n($&&b,"finalColor.rgb /= finalColor.a;")}
10
9
  ${n(A,"fragColor = finalColor;")}
11
- ${n(h,y?"fragEmission = vec4(emissionDimming(premultiplyAlpha(finalColor).rgb, 1.0 - finalColor.a), 0.0);":`fragEmission = ${n(v,"mix(finalColor.a * getEmissions(emissiveSymbolColor), vec4(0.0), snow);","finalColor.a * getEmissions(emissiveSymbolColor);")}\n fragEmission = vec4(fragEmission.rgb * floatBlendOutputScale + noise, fragEmission.a);`)}
10
+ ${n(h,E?"fragEmission = vec4(emissionDimming(premultiplyAlpha(finalColor).rgb, finalColor.a), 0.0);":`fragEmission = ${n(v,"mix(finalColor.a * getEmissions(emissiveSymbolColor), vec4(0.0), snow);","finalColor.a * getEmissions(emissiveSymbolColor);")}\n float emissionNoise = ditherNoise(fragEmission);\n fragEmission = vec4(fragEmission.rgb * floatBlendOutputScale + emissionNoise, fragEmission.a);`)}
12
11
  calculateOcclusionAndOutputHighlight();
13
- ${n($,"outputObjectAndLayerIdColor();")}
12
+ ${n(j,"outputObjectAndLayerIdColor();")}
14
13
  }
15
14
  `)}export{d as outputColorHighlightOLID};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{glsl as o}from"../core/shaderModules/glsl.js";function e(e,r){r.useFloatBlend?e.code.add(o`float ditherNoise(vec4 color) { return 0.0; }`):e.code.add("\n float ditherNoise(vec4 color) {\n vec2 seed = color.rg + color.ba + gl_FragCoord.xy + gl_FragCoord.z;\n return (fract(52.9829189 * fract(dot(seed, vec2(0.06711056, 0.00583715)))) - 0.5) / 255.0;\n }")}export{e as ditherNoise};
2
+ function o(o,e){e.useFloatBlend?o.code.add("float ditherNoise(vec4 color) { return 0.0; }"):o.code.add("\n float ditherNoise(vec4 color) {\n vec2 seed = color.rg + color.ba + gl_FragCoord.xy + gl_FragCoord.z;\n return (fract(52.9829189 * fract(dot(seed, vec2(0.06711056, 0.00583715)))) - 0.5) / 255.0;\n }")}export{o as ditherNoise};
@@ -92,7 +92,9 @@ export default class LinkChartView extends View2D {
92
92
  * @param options - Options to specify what is included in or excluded from the hitTest. Supported since 4.16.
93
93
  * @returns When resolved, returns an array of objects containing different [result types](https://developers.arcgis.com/javascript/latest/references/core/views/types/#ViewHit).
94
94
  * @see [Sample: Access features with hitTest](https://developers.arcgis.com/javascript/latest/sample-code/map-component-hittest/)
95
- * @see [Sample: Access features with hitTest](https://developers.arcgis.com/javascript/latest/sample-code/map-component-hittest/)
95
+ * @see [Sample - Access features with hitTest](https://developers.arcgis.com/javascript/latest/sample-code/map-component-hittest/)
96
+ * @see [Sample - Hit test features by screen rectangle](https://developers.arcgis.com/javascript/latest/sample-code/map-hittest-screen-rectangle/)
97
+ * @see [Sample - VectorTileLayer hitTest](https://developers.arcgis.com/javascript/latest/sample-code/layers-vectortilelayer-hittest/)
96
98
  * @example
97
99
  * // Get the screen point from the view's click event
98
100
  * view.on("click", async (event) => {
package/views/View2D.d.ts CHANGED
@@ -908,7 +908,9 @@ export default abstract class View2D extends View2DSuperclass {
908
908
  * @param hitTarget - The screen point, screen rectangle, or native mouse event identifying where to perform the hit test.
909
909
  * @param options - Options to specify what is included in or excluded from the hitTest. Supported since 4.16.
910
910
  * @returns When resolved, returns an array of objects containing different [result types](https://developers.arcgis.com/javascript/latest/references/core/views/types/#ViewHit).
911
- * @see [Sample: Access features with hitTest](https://developers.arcgis.com/javascript/latest/sample-code/map-component-hittest/)
911
+ * @see [Sample - Access features with hitTest](https://developers.arcgis.com/javascript/latest/sample-code/map-component-hittest/)
912
+ * @see [Sample - Hit test features by screen rectangle](https://developers.arcgis.com/javascript/latest/sample-code/map-hittest-screen-rectangle/)
913
+ * @see [Sample - VectorTileLayer hitTest](https://developers.arcgis.com/javascript/latest/sample-code/layers-vectortilelayer-hittest/)
912
914
  * @example
913
915
  * // Get the screen point from the view's click event
914
916
  * view.on("click", async (event) => {
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__addDisposableResource as e,__disposeResources as t,__decorate as i}from"tslib";import{createTask as n}from"../../core/asyncUtils.js";import{makeHandle as a,disposable as s}from"../../core/handleUtils.js";import r from"../../core/Logger.js";import{getOrCreateMapValue as o}from"../../core/MapUtils.js";import{destroyMaybe as l,abortMaybe as d}from"../../core/maybe.js";import{when as p,initial as u,watch as c,syncAndInitial as h,on as g,sync as m}from"../../core/reactiveUtils.js";import{screenPointEqual as v,createScreenPoint as y}from"../../core/screenUtils.js";import{diff as f}from"../../core/accessorSupport/diffUtils.js";import{property as M}from"../../core/accessorSupport/decorators/property.js";import{subclass as _}from"../../core/accessorSupport/decorators/subclass.js";import{UpdatingHandles as b}from"../../core/support/UpdatingHandles.js";import S from"../../geometry/Polygon.js";import{i as w,e as C}from"../../chunks/simplifyOperator.js";import{isPolygon as P}from"../../geometry/support/typeUtils.js";import{isCurvedGeometry as x}from"../../geometry/support/curves/curveUtils.js";import{densifyCurvedGeometry as H}from"../../geometry/support/curves/densifyCurvedGeometry.js";import{getEffectiveElevationInfo as L}from"../../support/elevationInfoUtils.js";import{getMaxDeviationInPixels as k,getMinSegmentsPerCurve as I}from"../2d/layers/graphics/densificationConstants.js";import{createSnappingVisualizer as O}from"./support/createSnappingVisualizer.js";import{multipointFromGeometry as V,markHandled as G,getPointerType as T}from"./support/drawToolUtils.js";import{PluginContext as j}from"./support/PluginContext.js";import{viewEventToCommand as E}from"./support/input/drawToolInput.js";import{EditSessionManager as D}from"./support/managers/EditSessionManager.js";import{GlobalStateManager as U}from"./support/managers/GlobalStateManager.js";import{InteractiveHandleManager as A}from"./support/managers/InteractiveHandleManager.js";import{MeasurementManager as F}from"./support/managers/MeasurementManager.js";import{PluginLifecycleManager as R}from"./support/managers/PluginLifecycleManager.js";import{SurfaceManager as Z}from"./support/managers/SurfaceManager.js";import{TooltipManager as B}from"./support/managers/TooltipManager.js";import{ViewEventPriorities as q}from"../input/InputManager.js";import{createCoordinateHelper as z}from"../interactive/coordinateHelper.js";import{InteractiveToolBase as K}from"../interactive/InteractiveToolBase.js";import{KeyBindings as N,mediaKeys as Q,sketchKeys as W,advancedSketchKeys as $,tooltipKeys as J}from"../interactive/keybindings.js";import{isInputModeAvailable as X}from"../interactive/tooltip/tooltipCommonUtils.js";const Y=Symbol();let ee=class extends K{constructor(e){super(e),this._shapeVisualId=Symbol(),this._vertexVisualId=Symbol(),this._pluginContexts=new Map,this._queuedFeedbackEvents=[],this._flushingQueuedFeedbackEvents=!1,this._commandsSuspended=!1,this._snappingVisualizer=null,this._segmentLabels=null,this._segmentLabelsImportTask=null,this._updatingHandles=new b,this._keybindings=this._makeKeyBindings(),this._pendingBeginRequest=null,this.type="draw-2.0",this.automaticManipulatorSelection=!0,this.snappingManager=null,this.sketchOptions=null,this.elevationInfo=null,this.hasZ=!1,this.defaultZ=0,this.lastScreenPosition=null,this.measurementManager=new F,this.globalStateManager=new U({getPluginStack:()=>this.pluginStack}),this.editSessionManager=new D({getContext:()=>this._editSessionManagerContext}),this.lifecycleManager=new R({getContext:this._getContextForPlugin.bind(this),editSessionManager:this.editSessionManager,afterAttach:this._afterAttach.bind(this),afterDetach:this._afterDetach.bind(this),beforeResume:this._beforeResume.bind(this)}),this.surfaceManager=null,this.interactiveHandleManager=null,this.renderer=null,this.readPluginSetting=null,this.enableVertexVisuals=!0}initialize(){const{view:e}=this;this.interactiveHandleManager=new A({view:e,renderer:this.renderer}),this._override("manipulators",this.interactiveHandleManager.manipulators),this.tooltipManager=new B({getDependencies:()=>this._tooltipDependencies,getLastScreenPosition:()=>this.lastScreenPosition}),this.addHandles(p(()=>this.renderer,t=>{t.addOrUpdateVisual(this._shapeVisualId,{role:"outputGeometry"}),t.addOrUpdateVisual(this._vertexVisualId,{role:"vertex"}),this._updatingHandles.addPromise(O(e,t).then(e=>this._snappingVisualizer=e))},u)),this.addHandles([c(()=>[this.view,this.coordinateHelper.spatialReference,this.defaultZ,this.hasZ,this.elevationInfo],([e,t,i,n,a])=>{this.surfaceManager?.destroy(),this.surfaceManager=new Z({spatialReference:t,excludedGraphicsLayer:null,defaultZ:i,hasZ:n,view:e,elevationInfo:a,getContext:()=>({drawAtFixedElevation:this.globalStateManager.drawAtFixedElevation,elevationConstraint:this.tooltipManager?.elevationConstraint,constraintsEnabled:this.tooltipManager?.constraintsEnabled??!1})})},h),p(()=>this.sketchOptions?.tooltips.effectiveEnabled,()=>this.measurementManager.preloadMeasurementUtils(),{once:!0,initial:!0}),c(()=>[this.editGeometryOperations,this.sketchOptions?.labels.enabled,this.globalStateManager.segmentLabelsDisabled],()=>{this._updatingHandles.addPromise(this._setupSegmentLabels())},u),g(()=>this.editSessionManager,"cancelPlugin",({plugin:e})=>{this._suspendPlugin(e)},m),g(()=>this.editSessionManager,"restartPlugin",({restartInfo:e})=>{this._resumePlugin(e)},m),c(()=>this.lifecycleManager.updating,e=>{e||this._emitQueuedFeedbackEvents()},m),g(()=>this.editGeometryOperations,["vertex-add","vertex-update","vertex-remove"],e=>{const t=e.vertices.map(e=>({componentIndex:0,vertexIndex:e.index,coordinates:this.coordinateHelper.vectorToArray(e.pos)})),i=t.map(e=>e.coordinates);switch(e.type){case"vertex-add":this._emitWhenReady(e.type,{...e,added:i,vertices:t});break;case"vertex-update":this._emitWhenReady(e.type,{...e,updated:i,vertices:t});break;case"vertex-remove":this._emitWhenReady(e.type,{...e,removed:i,vertices:t})}})])}destroy(){this.active&&this.onDeactivate(),this.editSessionManager.destroy(),this.lifecycleManager.destroy(),this.measurementManager.destroy(),this.globalStateManager.destroy();for(const e of this._pluginContexts.values())e.destroy();this._pluginContexts.clear(),this.surfaceManager=l(this.surfaceManager),this.interactiveHandleManager=l(this.interactiveHandleManager),this._segmentLabelsImportTask=d(this._segmentLabelsImportTask),this._segmentLabels=l(this._segmentLabels),this.tooltipManager=l(this.tooltipManager)}get _zOfLastUserInput(){const e=this.mostDownstreamPlugin&&this.editSessionManager.getSession(this.mostDownstreamPlugin),t=e?.firstPointAddedBySession?.point;return t?.hasZ?t.z:null}get _tooltipDependencies(){const{defaultZ:e,editGeometryOperations:t,sketchOptions:i,directionOptions:n,elevationInfo:a,view:s}=this;return t&&i&&s?{defaultZ:e,directionOptions:n,elevationInfo:a,editGeometryOperations:t,sketchOptions:i,view:s,getActiveHandle:()=>this.interactiveHandleManager?.focusedHandle,getAllHandles:()=>this.interactiveHandleManager?.allhandles,getHelpMessageKey:()=>this.helpMessageKey,notifyTooltipsChanged:()=>{const{interactiveHandleManager:e,movementCommandContext:t}=this;e&&t&&e.reapplyPositions(t)}}:null}get _editSessionManagerContext(){const{coordinateHelper:e,view:t}=this;if(!t)return null;return{coordinateHelper:e,viewingMode:"3d"===t.type&&"global"===t.viewingMode?1:2}}get _densificationParameters(){const{view:e,coordinateHelper:t}=this,i=t.spatialReference,n=e?.spatialReference,a=e.resolution;if(!(i&&n&&a&&Number.isFinite(a)))return null;const s=n.metersPerUnit/i.metersPerUnit;return{maxDeviation:2**Math.round(Math.log2(a))*k()*s,minSegmentsPerCurve:I()}}get test(){return{densificationParameters:this._densificationParameters,segmentLabels:this._segmentLabels}}get updating(){return this._updatingHandles.updating||this.lifecycleManager.updating||!!this._segmentLabels?.updating}get coordinateHelper(){return z(this.hasZ,!1,this.view.spatialReference)}get editGeometry(){return this.editGeometryOperations?.data}get editGeometryOperations(){return this.editSessionManager.editGeometryOperations}get unprocessedGeometry(){return this.editSessionManager.outputGeometry}get simplifiedGeometryPreview(){const e=this.editSessionManager.outputGeometry;if(e&&P(e))try{const t=this._densificationParameters,i=x(e)&&t?new S({...H(e,t)}):e;if(!w(i))return C(i)}catch(t){return e}return e}get _suppressCoincidentPointOverlaysIn3D(){return"3d"===this.view.type&&"point"===this.unprocessedGeometry?.type&&!!this.interactiveHandleManager?.allhandles?.find(e=>"primary"===e.role)?.outputMapPosition}get _shapeVisualGeometry(){return this._suppressCoincidentPointOverlaysIn3D?null:this.simplifiedGeometryPreview}get _vertexVisualGeometry(){return this._suppressCoincidentPointOverlaysIn3D?null:this.unprocessedGeometry}get canUndo(){return this.editSessionManager.canUndo}get canRedo(){return this.editSessionManager.canRedo}get pluginStack(){return this.lifecycleManager.pluginStack}get mostDownstreamPlugin(){return this.pluginStack.at(-1)}get mostUpstreamPlugin(){return this.pluginStack.at(0)}get positionOfLastUserInput(){const e=this.lastScreenPosition;return e?this.surfaceManager?.screenToMap(e,{firstPointZ:this._zOfLastUserInput})??this.view.toMap(e):this.view.center}get movementCommandContext(){const{editGeometryOperations:e,tooltipManager:t,surfaceManager:i,snappingManager:n,interactiveHandleManager:a,_snappingVisualizer:s,defaultZ:r,hasZ:o,globalStateManager:{drawAtFixedElevation:l},view:d}=this;return{tooltipManager:t,editGeometryOperations:e,surfaceManager:i,interactiveHandleManager:a,snappingManager:n,snappingVisualizer:s,pointerType:"mouse",hasZ:o,defaultZ:r,view:d,drawAtFixedElevation:l}}get tooltip(){return this.tooltipManager?.tooltip}get activeTooltipInfo(){return this.tooltipManager?.tooltipInfo}get helpMessageKey(){return this.pluginStack.items.findLast(e=>e.helpMessageKey)?.helpMessageKey??"noTool"}begin(e){this.active?(this.lifecycleManager.begin(e),this._pendingBeginRequest=null):this._pendingBeginRequest=e}complete(e){const t=this.lifecycleManager;if(e&&t.complete(e),0===t.pluginStack.length){const e=this.unprocessedGeometry,t=!e||"mesh"===e.type||w(e);this.emit("complete",{geometry:e,isSimple:t,aborted:!1,type:"complete",vertices:[]}),this.view?.activeTool===this&&(this.view.activeTool=null)}}cancelFirstUserLeafPlugin(){const e=this.pluginStack.toArray().findLast(e=>!0!==e.configuration?.hidden);e&&this.lifecycleManager.cancel(e)}getVertexSnappingCandidates(){return"secondary"===this.interactiveHandleManager?.capturingHandle?.role?[]:this.snappingManager?.getVertexCandidates()??[]}replaceLeaf(e){const t=this.lifecycleManager;t.updating?r.getLogger(this).info("Ignoring command; arrived while updating:","replaceLeaf"):t.replaceLeaf(e)}finishPart(){const e=this.mostUpstreamPlugin,t=e?.configuration;if(this.editGeometryOperations&&t&&t.kind?.includes("multipart")){const e=this.pluginStack.at(1);e&&this.complete(e)}}undo(){this._handleCommand({action:"undo"})}redo(){this._handleCommand({action:"redo"})}executeCommand(e){return this._handleCommand(e)}suspendCommands(){return this._commandsSuspended=!0,a(()=>{this._commandsSuspended=!1;const e=this.view?.inputManager.latestPointerInfo;if(e){const{x:t,y:i}=e.location;this._handleCommand({action:"manipulator-move-to",x:t,y:i})}})}addPromise(e){return this._updatingHandles.addPromise(e)}readPluginSettingValue(e,t){return this.readPluginSetting?.(e,t)}getGeometryIfCompleted(){const e=this.lifecycleManager.gatherCompletablePlugins();return this.editSessionManager?.generatePreviewGeometryForPlugins(e)}onActivate(){super.onActivate();const{view:e}=this;this.lastScreenPosition=e?.inputManager.latestPointerInfo?.location,this.renderer?.activate(),this._pendingBeginRequest&&(this.begin(this._pendingBeginRequest),this._pendingBeginRequest=null),this.enableVertexVisuals&&this.addHandles(c(()=>this._vertexVisualGeometry,e=>{this.renderer?.addOrUpdateVisual(this._vertexVisualId,{geometry:e?V(e):null})},u)),this.addHandles([c(()=>this._shapeVisualGeometry,e=>{this.renderer?.addOrUpdateVisual(this._shapeVisualId,{geometry:e})},u),p(()=>this.interactiveHandleManager?.capturingHandle?.screenPosition,e=>this.lastScreenPosition=e,{initial:!0,equals:v}),c(()=>this.interactiveHandleManager?.capturingHandle?.outputMapPosition,(e,t)=>{const i=this.interactiveHandleManager?.capturingHandle?.editSession?.endVertex;e&&t&&i&&this._emitWhenReady("cursor-update",{updated:i.pos,type:"vertex-update",operation:"apply",vertices:[{componentIndex:i.part.index,vertexIndex:i.index,coordinates:i.pos}]})},m),this._keybindings.register(e,q.TOOL),c(()=>e.viewpoint,(e,t)=>{e&&t&&f(e,t)&&this._handleCommand({action:"viewpoint-moved"})})],Y)}onDeactivate(){super.onDeactivate(),this.removeHandles(Y),this.renderer?.deactivate(),this.snappingManager?.doneSnapping(),this.lifecycleManager.cancelAll(),this._pendingBeginRequest=null}onInputEvent(e){const t=E(e);t&&this._handleCommand(t)}forceAddVertex(){this._commitNext()}_emitWhenReady(e,t){if(this.destroyed)return;const i=()=>{this.emit(e,t)};this.lifecycleManager.updating||this._flushingQueuedFeedbackEvents?this._queuedFeedbackEvents.push(i):i()}_emitQueuedFeedbackEvents(){if(!(this.destroyed||this._flushingQueuedFeedbackEvents||this.lifecycleManager.updating||0===this._queuedFeedbackEvents.length)){this._flushingQueuedFeedbackEvents=!0;try{for(;!this.destroyed&&!this.lifecycleManager.updating&&this._queuedFeedbackEvents.length>0;)this._queuedFeedbackEvents.shift()?.()}finally{this._flushingQueuedFeedbackEvents=!1}}}async _handleCommand(e){if(!this._commandsSuspended)if(this.lifecycleManager.updating)r.getLogger(this).info("Ignoring command; arrived while updating:",e.action);else switch(e.action){case"view-drag":return await this._handleViewDragCommand(e);case"vertex-add":return this._guardCommand(e,()=>{G(e),this._commitNext()});case"vertex-add-and-finish-part":return this._handleVertexAddAndFinishPartCommand(e);case"cancel":return this._guardCommand(e,()=>this.cancel());case"complete":return this._guardCommand(e,()=>{this.mostUpstreamPlugin&&(G(e),this.complete(this.mostUpstreamPlugin))});case"finish-part":return this._guardCommand(e,()=>this.finishPart());case"undo":return this._guardCommand(e,()=>this.editSessionManager.undo());case"redo":return this._guardCommand(e,()=>this.editSessionManager.redo());case"next-manipulator":return this._guardCommand(e,()=>this.interactiveHandleManager?.cycleManipulator("forward"));case"previous-manipulator":return this._guardCommand(e,()=>this.interactiveHandleManager?.cycleManipulator("backward"));case"toggle-manipulator-follow":this.interactiveHandleManager?.toggleFollow()&&G(e);break;case"viewpoint-moved":return await this._handleViewpointMovedCommand(e);case"manipulator-move-to":return await this._handleManipulatorMoveToCommand(e);case"manipulator-drag-to":return await this._handleManipulatorDragToCommand(e);case"vertex-add-at-point":return await this._handleVertexAddAtPointCommand(e);case"show-tooltip":return this._guardCommand(e,async()=>{const t=this.tooltipManager?.tooltip;t&&X(t.info)&&(await t.enterInputMode(),G(e))});case"constraint-center":this.globalStateManager.setCentered(e.enabled);break;case"constraint-aspect":this.globalStateManager.setPreserveAspectRatio(e.enabled)}}async _handleViewDragCommand(e){if(!this.editable)return;const t=e.originalEvent,i=this.interactiveHandleManager?.capturingHandle;(!t||!("pointerType"in t)||"touch"!==t.pointerType||"capture-always"!==i?.captureMode&&"capture-when-engaged"!==i?.captureMode)&&"capture-when-engaged"!==this.interactiveHandleManager?.capturingHandle?.captureMode?this._before(e)&&G(e):G(e)}_handleVertexAddAndFinishPartCommand(e){this._before(e)||(G(e),this._commitNext(),this.finishPart())}async _handleViewpointMovedCommand(e){this.editable&&(await this._updatingHandles.addPromise(this.interactiveHandleManager?.capturingHandle?.moveTo(null,{...this.movementCommandContext,pointerType:T(e.originalEvent)})),this.interactiveHandleManager?.updateAllScreenPositions(this.movementCommandContext.surfaceManager))}async _handleManipulatorMoveToCommand(e){if(!this.editable)return;const t=this._updateLastScreenPosition(e);this.interactiveHandleManager?.capturingHandle&&G(e),await this._updatingHandles.addPromise(this.interactiveHandleManager?.capturingHandle?.moveTo(t,{...this.movementCommandContext,pointerType:T(e.originalEvent)}))}async _handleManipulatorDragToCommand(e){if(!this.editable)return;const t=T(e.originalEvent),i=this._updateLastScreenPosition(e),n=this.interactiveHandleManager?.findHandleByManipulator(i,t);"touch"===t&&n&&"start"===e.state&&this.interactiveHandleManager?.releaseHandle();const a=this.interactiveHandleManager?.findHandleDragging(),s=this.interactiveHandleManager?.capturingHandle,r=a??s??n;r&&!n&&G(e),"capture-when-engaged"===r?.captureMode||"capture-always"===r?.captureMode&&"touch"===t?"end"===e.state?await this._updatingHandles.addPromise(r.noteDragEnd(i,{...this.movementCommandContext,pointerType:t}).then(()=>{r&&"touch"===T(e.originalEvent)&&"grabbable-object"!==r.captureMode&&"capture-when-engaged"!==r.defaultCaptureMode&&"primary"===r.role&&(1===this.interactiveHandleManager?.handleCount?this._handleCommand({action:"vertex-add"}):this.interactiveHandleManager?.releaseHandle())})):"start"===e.state?await this._updatingHandles.addPromise(r.noteDragStart(i,{...this.movementCommandContext,pointerType:t}).then(()=>{r&&"touch"===T(e.originalEvent)&&"grabbable-object"!==r.captureMode&&"capture-when-engaged"!==r.defaultCaptureMode&&!r.editSession?.lastPointAddedBySession&&this._handleCommand({action:"vertex-add"})})):await this._updatingHandles.addPromise(r?.moveTo(i,{...this.movementCommandContext,pointerType:T(e.originalEvent)})):"grabbable-object"===r?.captureMode&&(this.interactiveHandleManager?.releaseHandle(s),await this._updatingHandles.addPromise(r.moveTo(i,{...this.movementCommandContext,pointerType:t})))}async _handleVertexAddAtPointCommand(e){const t=this._updateLastScreenPosition(e),i=T(e.originalEvent),n=this.interactiveHandleManager?.capturingHandle??this.interactiveHandleManager?.findHandleByManipulator(t,i);this.editable&&n&&(this._before(e)||(G(e),await this._updatingHandles.addPromise(n.moveTo(t,{...this.movementCommandContext,skipSnapping:!0,pointerType:i}).finally(()=>this._commitNext()))))}_makeKeyBindings(){const e=new N,t=(t,i)=>{e.addToggle(t,e=>this._handleCommand({action:i,originalEvent:e,enabled:"key-down"===e.type}))},i=(t,i)=>{e.add(t,e=>this._handleCommand({action:i,originalEvent:e}))};return t(Q.preserveAspectRatio,"constraint-aspect"),t(W.center,"constraint-center"),i($.toggleFollowManipulator,"toggle-manipulator-follow"),i(W.undo,"undo"),i(W.redo,"redo"),i(W.complete,"complete"),i(W.vertexAdd,"vertex-add"),i({key:J.enterInputMode,continuePropagation:!0,repeats:!0},"show-tooltip"),e}_afterAttach(){}_afterDetach(e){this.interactiveHandleManager?.unregisterCustomConstraint(e),this.interactiveHandleManager?.unregisterHandle(e),this.tooltipManager?.unregisterPluginFields(e),this.globalStateManager.clearPluginOverrides(e);const t=this._pluginContexts.get(e);t&&(t.destroy(),this._pluginContexts.delete(e))}_beforeResume(e,t){this.interactiveHandleManager?.replaceEditSessions(e,t)}_commitNext(){const i={stack:[],error:void 0,hasError:!1};try{const t=this.mostDownstreamPlugin;if(!t)return;this.tooltipManager?.storeConstraintSnapshot();let n=!1;const a=this.editGeometryOperations;e(i,a?s(a.on("vertex-add",()=>n=!0)):null,!1);t.completeStep?t.completeStep():this.complete(t),n&&this.tooltipManager?.unlockOnVertexPlacement()}catch(n){i.error=n,i.hasError=!0}finally{t(i)}}_suspendPlugin(e){this.lifecycleManager.suspend(e),this.measurementManager.suspendPlugin(e)}_resumePlugin(e){this.lifecycleManager.resume(e)}_updateLastScreenPosition(e){const t=y(e.x,e.y);return this.lastScreenPosition=t,t}_getContextForPlugin(e,t){const i=o(this._pluginContexts,e,()=>new j({drawTool:this,plugin:e,session:t}));return i.session=t,i}_before(e){if(!this.hasEventListener(`before-${e.action}`))return!1;const t=new CustomEvent(`before-${e.action}`,{detail:e,cancelable:!0});return this.emit(`before-${e.action}`,t),t.defaultPrevented}_guardCommand(e,t,i){return this._before(e)?i?.():t()}async _setupSegmentLabels(){const e=this.editGeometryOperations,t=this.sketchOptions?.labels,i=!!t?.enabled,n=this.globalStateManager.segmentLabelsDisabled;if(!e||!t||!i)return void(this._segmentLabels=l(this._segmentLabels));if(n)return void(this._segmentLabels&&(this._segmentLabels.visible=!1));if(this._segmentLabels?.context?.editGeometryOperations===e&&this._segmentLabels.context.labelOptions===t)return void(this._segmentLabels.visible=!0);const a=await this._createSegmentLabels(e,t);a&&(this._segmentLabels=l(this._segmentLabels),this._segmentLabels=a)}async _createSegmentLabels(e,t){return(this._segmentLabelsImportTask??=n(async i=>{if("3d"===this.view.type){const n=import("../3d/interactive/SegmentLabels3D.js"),{SegmentLabels3D:a}=await this._updatingHandles.addPromise(n);return this._isSegmentLabelsSetupStale(i,e,t)?null:new a({context:{view:this.view,editGeometryOperations:e,elevationInfo:L(this.hasZ,this.elevationInfo),labelOptions:t},visible:!0})}const n=import("../2d/interactive/SegmentLabels2D.js"),{SegmentLabels2D:a}=await this._updatingHandles.addPromise(n);return this._isSegmentLabelsSetupStale(i,e,t)?null:new a({context:{view:this.view,editGeometryOperations:e,elevationInfo:L(this.hasZ,this.elevationInfo),labelOptions:t},visible:!0})})).promise}_isSegmentLabelsSetupStale(e,t,i){return e.aborted||this.editGeometryOperations!==t||this.sketchOptions?.labels!==i||!i.enabled||this.globalStateManager.segmentLabelsDisabled}};i([M()],ee.prototype,"_commandsSuspended",void 0),i([M()],ee.prototype,"_zOfLastUserInput",null),i([M()],ee.prototype,"_snappingVisualizer",void 0),i([M()],ee.prototype,"_segmentLabels",void 0),i([M()],ee.prototype,"_segmentLabelsImportTask",void 0),i([M()],ee.prototype,"_tooltipDependencies",null),i([M()],ee.prototype,"_editSessionManagerContext",null),i([M()],ee.prototype,"_densificationParameters",null),i([M({constructOnly:!0,nonNullable:!0})],ee.prototype,"view",void 0),i([M()],ee.prototype,"automaticManipulatorSelection",void 0),i([M()],ee.prototype,"updating",null),i([M()],ee.prototype,"coordinateHelper",null),i([M()],ee.prototype,"editGeometry",null),i([M()],ee.prototype,"editGeometryOperations",null),i([M()],ee.prototype,"unprocessedGeometry",null),i([M()],ee.prototype,"simplifiedGeometryPreview",null),i([M()],ee.prototype,"_suppressCoincidentPointOverlaysIn3D",null),i([M()],ee.prototype,"_shapeVisualGeometry",null),i([M()],ee.prototype,"_vertexVisualGeometry",null),i([M()],ee.prototype,"snappingManager",void 0),i([M()],ee.prototype,"sketchOptions",void 0),i([M()],ee.prototype,"elevationInfo",void 0),i([M()],ee.prototype,"hasZ",void 0),i([M()],ee.prototype,"defaultZ",void 0),i([M()],ee.prototype,"directionOptions",void 0),i([M()],ee.prototype,"canUndo",null),i([M()],ee.prototype,"canRedo",null),i([M()],ee.prototype,"pluginStack",null),i([M()],ee.prototype,"mostDownstreamPlugin",null),i([M()],ee.prototype,"mostUpstreamPlugin",null),i([M()],ee.prototype,"lastScreenPosition",void 0),i([M()],ee.prototype,"positionOfLastUserInput",null),i([M()],ee.prototype,"tooltipManager",void 0),i([M()],ee.prototype,"measurementManager",void 0),i([M()],ee.prototype,"globalStateManager",void 0),i([M()],ee.prototype,"editSessionManager",void 0),i([M()],ee.prototype,"lifecycleManager",void 0),i([M()],ee.prototype,"surfaceManager",void 0),i([M()],ee.prototype,"interactiveHandleManager",void 0),i([M()],ee.prototype,"renderer",void 0),i([M()],ee.prototype,"readPluginSetting",void 0),i([M()],ee.prototype,"movementCommandContext",null),i([M()],ee.prototype,"tooltip",null),i([M()],ee.prototype,"activeTooltipInfo",null),i([M()],ee.prototype,"helpMessageKey",null),i([M({constructOnly:!0})],ee.prototype,"enableVertexVisuals",void 0),ee=i([_("esri.views.draw.DrawTool")],ee);export{ee as DrawTool};
2
+ import{__addDisposableResource as e,__disposeResources as t,__decorate as i}from"tslib";import{createTask as n}from"../../core/asyncUtils.js";import{makeHandle as a,disposable as s}from"../../core/handleUtils.js";import r from"../../core/Logger.js";import{getOrCreateMapValue as o}from"../../core/MapUtils.js";import{destroyMaybe as l,abortMaybe as d}from"../../core/maybe.js";import{when as p,initial as u,watch as h,syncAndInitial as c,on as g,sync as m}from"../../core/reactiveUtils.js";import{screenPointEqual as v,createScreenPoint as y}from"../../core/screenUtils.js";import{diff as f}from"../../core/accessorSupport/diffUtils.js";import{property as M}from"../../core/accessorSupport/decorators/property.js";import{subclass as _}from"../../core/accessorSupport/decorators/subclass.js";import{UpdatingHandles as b}from"../../core/support/UpdatingHandles.js";import S from"../../geometry/Polygon.js";import{i as w,e as C}from"../../chunks/simplifyOperator.js";import{isPolygon as P}from"../../geometry/support/typeUtils.js";import{isCurvedGeometry as x}from"../../geometry/support/curves/curveUtils.js";import{densifyCurvedGeometry as H}from"../../geometry/support/curves/densifyCurvedGeometry.js";import{getEffectiveElevationInfo as L}from"../../support/elevationInfoUtils.js";import{getMaxDeviationInPixels as k,getMinSegmentsPerCurve as I}from"../2d/layers/graphics/densificationConstants.js";import{createSnappingVisualizer as O}from"./support/createSnappingVisualizer.js";import{multipointFromGeometry as V,markHandled as G,getPointerType as T}from"./support/drawToolUtils.js";import{PluginContext as j}from"./support/PluginContext.js";import{viewEventToCommand as E}from"./support/input/drawToolInput.js";import{EditSessionManager as D}from"./support/managers/EditSessionManager.js";import{GlobalStateManager as U}from"./support/managers/GlobalStateManager.js";import{InteractiveHandleManager as A}from"./support/managers/InteractiveHandleManager.js";import{MeasurementManager as F}from"./support/managers/MeasurementManager.js";import{PluginLifecycleManager as R}from"./support/managers/PluginLifecycleManager.js";import{SurfaceManager as Z}from"./support/managers/SurfaceManager.js";import{TooltipManager as B}from"./support/managers/TooltipManager.js";import{ViewEventPriorities as q}from"../input/InputManager.js";import{createCoordinateHelper as z}from"../interactive/coordinateHelper.js";import{InteractiveToolBase as K}from"../interactive/InteractiveToolBase.js";import{KeyBindings as N,mediaKeys as Q,sketchKeys as W,advancedSketchKeys as $,tooltipKeys as J}from"../interactive/keybindings.js";import{isInputModeAvailable as X}from"../interactive/tooltip/tooltipCommonUtils.js";const Y=Symbol();let ee=class extends K{constructor(e){super(e),this._shapeVisualId=Symbol(),this._vertexVisualId=Symbol(),this._pluginContexts=new Map,this._queuedFeedbackEvents=[],this._flushingQueuedFeedbackEvents=!1,this._commandsSuspended=!1,this._snappingVisualizer=null,this._segmentLabels=null,this._segmentLabelsImportTask=null,this._updatingHandles=new b,this._keybindings=this._makeKeyBindings(),this._pendingBeginRequest=null,this.type="draw-2.0",this.automaticManipulatorSelection=!0,this.snappingManager=null,this.sketchOptions=null,this.elevationInfo=null,this.hasZ=!1,this.defaultZ=0,this.lastScreenPosition=null,this.measurementManager=new F,this.globalStateManager=new U({getPluginStack:()=>this.pluginStack}),this.editSessionManager=new D({getContext:()=>this._editSessionManagerContext}),this.lifecycleManager=new R({getContext:this._getContextForPlugin.bind(this),editSessionManager:this.editSessionManager,afterAttach:this._afterAttach.bind(this),afterDetach:this._afterDetach.bind(this),beforeResume:this._beforeResume.bind(this)}),this.surfaceManager=null,this.interactiveHandleManager=null,this.renderer=null,this.readPluginSetting=null,this.enableVertexVisuals=!0}initialize(){const{view:e}=this;this.interactiveHandleManager=new A({view:e,renderer:this.renderer}),this._override("manipulators",this.interactiveHandleManager.manipulators),this.tooltipManager=new B({getDependencies:()=>this._tooltipDependencies,getLastScreenPosition:()=>this.lastScreenPosition}),this.addHandles(p(()=>this.renderer,t=>{t.addOrUpdateVisual(this._shapeVisualId,{role:"outputGeometry"}),t.addOrUpdateVisual(this._vertexVisualId,{role:"vertex"}),this._updatingHandles.addPromise(O(e,t).then(e=>this._snappingVisualizer=e))},u)),this.addHandles([h(()=>[this.view,this.coordinateHelper.spatialReference,this.defaultZ,this.hasZ,this.elevationInfo],([e,t,i,n,a])=>{this.surfaceManager?.destroy(),this.surfaceManager=new Z({spatialReference:t,excludedGraphicsLayer:null,defaultZ:i,hasZ:n,view:e,elevationInfo:a,getContext:()=>({drawAtFixedElevation:this.globalStateManager.drawAtFixedElevation,elevationConstraint:this.tooltipManager?.elevationConstraint,constraintsEnabled:this.tooltipManager?.constraintsEnabled??!1})})},c),p(()=>this.sketchOptions?.tooltips.effectiveEnabled,()=>this.measurementManager.preloadMeasurementUtils(),{once:!0,initial:!0}),h(()=>[this.editGeometryOperations,this.sketchOptions?.labels.enabled,this.globalStateManager.segmentLabelsDisabled],()=>{this._updatingHandles.addPromise(this._setupSegmentLabels())},u),g(()=>this.editSessionManager,"cancelPlugin",({plugin:e})=>{this._suspendPlugin(e)},m),g(()=>this.editSessionManager,"restartPlugin",({restartInfo:e})=>{this._resumePlugin(e)},m),h(()=>this.lifecycleManager.updating,e=>{e||this._emitQueuedFeedbackEvents()},m),g(()=>this.editGeometryOperations,["vertex-add","vertex-update","vertex-remove"],e=>{const t=e.vertices.map(e=>({componentIndex:0,vertexIndex:e.index,coordinates:this.coordinateHelper.vectorToArray(e.pos)})),i=t.map(e=>e.coordinates);switch(e.type){case"vertex-add":this._emitWhenReady(e.type,{...e,added:i,vertices:t});break;case"vertex-update":this._emitWhenReady(e.type,{...e,updated:i,vertices:t});break;case"vertex-remove":this._emitWhenReady(e.type,{...e,removed:i,vertices:t})}})])}destroy(){this.active&&this.onDeactivate(),this.editSessionManager.destroy(),this.lifecycleManager.destroy(),this.measurementManager.destroy(),this.globalStateManager.destroy();for(const e of this._pluginContexts.values())e.destroy();this._pluginContexts.clear(),this.surfaceManager=l(this.surfaceManager),this.interactiveHandleManager=l(this.interactiveHandleManager),this._segmentLabelsImportTask=d(this._segmentLabelsImportTask),this._segmentLabels=l(this._segmentLabels),this.tooltipManager=l(this.tooltipManager)}get _zOfLastUserInput(){const e=this.mostDownstreamPlugin&&this.editSessionManager.getSession(this.mostDownstreamPlugin),t=e?.firstPointAddedBySession?.point;return t?.hasZ?t.z:null}get _tooltipDependencies(){const{defaultZ:e,editGeometryOperations:t,sketchOptions:i,directionOptions:n,elevationInfo:a,view:s}=this;return t&&i&&s?{defaultZ:e,directionOptions:n,elevationInfo:a,editGeometryOperations:t,sketchOptions:i,view:s,getActiveHandle:()=>this.interactiveHandleManager?.focusedHandle,getAllHandles:()=>this.interactiveHandleManager?.allhandles,getHelpMessageKey:()=>this.helpMessageKey,notifyTooltipsChanged:()=>{const{interactiveHandleManager:e,movementCommandContext:t}=this;e&&t&&e.reapplyPositions(t)}}:null}get _editSessionManagerContext(){const{coordinateHelper:e,view:t}=this;if(!t)return null;return{coordinateHelper:e,viewingMode:"3d"===t.type&&"global"===t.viewingMode?1:2}}get _densificationParameters(){const{view:e,coordinateHelper:t}=this,i=t.spatialReference,n=e?.spatialReference,a=e.resolution;if(!(i&&n&&a&&Number.isFinite(a)))return null;const s=n.metersPerUnit/i.metersPerUnit;return{maxDeviation:2**Math.round(Math.log2(a))*k()*s,minSegmentsPerCurve:I()}}get test(){return{densificationParameters:this._densificationParameters,segmentLabels:this._segmentLabels}}get updating(){return this._updatingHandles.updating||this.snappingManager?.updating||this.lifecycleManager.updating||!!this._segmentLabels?.updating}get coordinateHelper(){return z(this.hasZ,!1,this.view.spatialReference)}get editGeometry(){return this.editGeometryOperations?.data}get editGeometryOperations(){return this.editSessionManager.editGeometryOperations}get unprocessedGeometry(){return this.editSessionManager.outputGeometry}get simplifiedGeometryPreview(){const e=this.editSessionManager.outputGeometry;if(e&&P(e))try{const t=this._densificationParameters,i=x(e)&&t?new S({...H(e,t)}):e;if(!w(i))return C(i)}catch(t){return e}return e}get _suppressCoincidentPointOverlaysIn3D(){return"3d"===this.view.type&&"point"===this.unprocessedGeometry?.type&&!!this.interactiveHandleManager?.allhandles?.find(e=>"primary"===e.role)?.outputMapPosition}get _shapeVisualGeometry(){return this._suppressCoincidentPointOverlaysIn3D?null:this.simplifiedGeometryPreview}get _vertexVisualGeometry(){return this._suppressCoincidentPointOverlaysIn3D?null:this.unprocessedGeometry}get canUndo(){return this.editSessionManager.canUndo}get canRedo(){return this.editSessionManager.canRedo}get pluginStack(){return this.lifecycleManager.pluginStack}get mostDownstreamPlugin(){return this.pluginStack.at(-1)}get mostUpstreamPlugin(){return this.pluginStack.at(0)}get positionOfLastUserInput(){const e=this.lastScreenPosition;return e?this.surfaceManager?.screenToMap(e,{firstPointZ:this._zOfLastUserInput})??this.view.toMap(e):this.view.center}get movementCommandContext(){const{editGeometryOperations:e,tooltipManager:t,surfaceManager:i,snappingManager:n,interactiveHandleManager:a,_snappingVisualizer:s,defaultZ:r,hasZ:o,globalStateManager:{drawAtFixedElevation:l},view:d}=this;return{tooltipManager:t,editGeometryOperations:e,surfaceManager:i,interactiveHandleManager:a,snappingManager:n,snappingVisualizer:s,pointerType:"mouse",hasZ:o,defaultZ:r,view:d,drawAtFixedElevation:l}}get tooltip(){return this.tooltipManager?.tooltip}get activeTooltipInfo(){return this.tooltipManager?.tooltipInfo}get helpMessageKey(){return this.pluginStack.items.findLast(e=>e.helpMessageKey)?.helpMessageKey??"noTool"}begin(e){this.active?(this.lifecycleManager.begin(e),this._pendingBeginRequest=null):this._pendingBeginRequest=e}complete(e){const t=this.lifecycleManager;if(e&&t.complete(e),0===t.pluginStack.length){const e=this.unprocessedGeometry,t=!e||"mesh"===e.type||w(e);this.emit("complete",{geometry:e,isSimple:t,aborted:!1,type:"complete",vertices:[]}),this.view?.activeTool===this&&(this.view.activeTool=null)}}cancelFirstUserLeafPlugin(){const e=this.pluginStack.toArray().findLast(e=>!0!==e.configuration?.hidden);e&&this.lifecycleManager.cancel(e)}getVertexSnappingCandidates(){return"secondary"===this.interactiveHandleManager?.capturingHandle?.role?[]:this.snappingManager?.getVertexCandidates()??[]}replaceLeaf(e){const t=this.lifecycleManager;t.updating?r.getLogger(this).info("Ignoring command; arrived while updating:","replaceLeaf"):t.replaceLeaf(e)}finishPart(){const e=this.mostUpstreamPlugin,t=e?.configuration;if(this.editGeometryOperations&&t&&t.kind?.includes("multipart")){const e=this.pluginStack.at(1);e&&this.complete(e)}}undo(){this._handleCommand({action:"undo"})}redo(){this._handleCommand({action:"redo"})}executeCommand(e){return this._handleCommand(e)}suspendCommands(){return this._commandsSuspended=!0,a(()=>{this._commandsSuspended=!1;const e=this.view?.inputManager.latestPointerInfo;if(e){const{x:t,y:i}=e.location;this._handleCommand({action:"manipulator-move-to",x:t,y:i})}})}addPromise(e){return this._updatingHandles.addPromise(e)}readPluginSettingValue(e,t){return this.readPluginSetting?.(e,t)}getGeometryIfCompleted(){const e=this.lifecycleManager.gatherCompletablePlugins();return this.editSessionManager?.generatePreviewGeometryForPlugins(e)}onActivate(){super.onActivate();const{view:e}=this;this.lastScreenPosition=e?.inputManager.latestPointerInfo?.location,this.renderer?.activate(),this._pendingBeginRequest&&(this.begin(this._pendingBeginRequest),this._pendingBeginRequest=null),this.enableVertexVisuals&&this.addHandles(h(()=>this._vertexVisualGeometry,e=>{this.renderer?.addOrUpdateVisual(this._vertexVisualId,{geometry:e?V(e):null})},u)),this.addHandles([h(()=>this._shapeVisualGeometry,e=>{this.renderer?.addOrUpdateVisual(this._shapeVisualId,{geometry:e})},u),p(()=>this.interactiveHandleManager?.capturingHandle?.screenPosition,e=>this.lastScreenPosition=e,{initial:!0,equals:v}),h(()=>this.interactiveHandleManager?.capturingHandle?.outputMapPosition,(e,t)=>{const i=this.interactiveHandleManager?.capturingHandle?.editSession?.endVertex;e&&t&&i&&this._emitWhenReady("cursor-update",{updated:i.pos,type:"vertex-update",operation:"apply",vertices:[{componentIndex:i.part.index,vertexIndex:i.index,coordinates:i.pos}]})},m),this._keybindings.register(e,q.TOOL),h(()=>e.viewpoint,(e,t)=>{e&&t&&f(e,t)&&this._handleCommand({action:"viewpoint-moved"})})],Y)}onDeactivate(){super.onDeactivate(),this.removeHandles(Y),this.renderer?.deactivate(),this.snappingManager?.doneSnapping(),this.lifecycleManager.cancelAll(),this._pendingBeginRequest=null}onInputEvent(e){const t=E(e);t&&this._handleCommand(t)}forceAddVertex(){this._commitNext()}_emitWhenReady(e,t){if(this.destroyed)return;const i=()=>{this.emit(e,t)};this.lifecycleManager.updating||this._flushingQueuedFeedbackEvents?this._queuedFeedbackEvents.push(i):i()}_emitQueuedFeedbackEvents(){if(!(this.destroyed||this._flushingQueuedFeedbackEvents||this.lifecycleManager.updating||0===this._queuedFeedbackEvents.length)){this._flushingQueuedFeedbackEvents=!0;try{for(;!this.destroyed&&!this.lifecycleManager.updating&&this._queuedFeedbackEvents.length>0;)this._queuedFeedbackEvents.shift()?.()}finally{this._flushingQueuedFeedbackEvents=!1}}}async _handleCommand(e){if(!this._commandsSuspended)if(this.lifecycleManager.updating)r.getLogger(this).info("Ignoring command; arrived while updating:",e.action);else switch(e.action){case"view-drag":return await this._handleViewDragCommand(e);case"vertex-add":return this._guardCommand(e,()=>{G(e),this._commitNext()});case"vertex-add-and-finish-part":return this._handleVertexAddAndFinishPartCommand(e);case"cancel":return this._guardCommand(e,()=>this.cancel());case"complete":return this._guardCommand(e,()=>{this.mostUpstreamPlugin&&(G(e),this.complete(this.mostUpstreamPlugin))});case"finish-part":return this._guardCommand(e,()=>this.finishPart());case"undo":return this._guardCommand(e,()=>this.editSessionManager.undo());case"redo":return this._guardCommand(e,()=>this.editSessionManager.redo());case"next-manipulator":return this._guardCommand(e,()=>this.interactiveHandleManager?.cycleManipulator("forward"));case"previous-manipulator":return this._guardCommand(e,()=>this.interactiveHandleManager?.cycleManipulator("backward"));case"toggle-manipulator-follow":this.interactiveHandleManager?.toggleFollow()&&G(e);break;case"viewpoint-moved":return await this._handleViewpointMovedCommand(e);case"manipulator-move-to":return await this._handleManipulatorMoveToCommand(e);case"manipulator-drag-to":return await this._handleManipulatorDragToCommand(e);case"vertex-add-at-point":return await this._handleVertexAddAtPointCommand(e);case"show-tooltip":return this._guardCommand(e,async()=>{const t=this.tooltipManager?.tooltip;t&&X(t.info)&&(await t.enterInputMode(),G(e))});case"constraint-center":this.globalStateManager.setCentered(e.enabled);break;case"constraint-aspect":this.globalStateManager.setPreserveAspectRatio(e.enabled)}}async _handleViewDragCommand(e){if(!this.editable)return;const t=e.originalEvent,i=this.interactiveHandleManager?.capturingHandle;(!t||!("pointerType"in t)||"touch"!==t.pointerType||"capture-always"!==i?.captureMode&&"capture-when-engaged"!==i?.captureMode)&&"capture-when-engaged"!==this.interactiveHandleManager?.capturingHandle?.captureMode?this._before(e)&&G(e):G(e)}_handleVertexAddAndFinishPartCommand(e){this._before(e)||(G(e),this._commitNext(),this.finishPart())}async _handleViewpointMovedCommand(e){this.editable&&(await this._updatingHandles.addPromise(this.interactiveHandleManager?.capturingHandle?.moveTo(null,{...this.movementCommandContext,pointerType:T(e.originalEvent)})),this.interactiveHandleManager?.updateAllScreenPositions(this.movementCommandContext.surfaceManager))}async _handleManipulatorMoveToCommand(e){if(!this.editable)return;const t=this._updateLastScreenPosition(e);this.interactiveHandleManager?.capturingHandle&&G(e),await this._updatingHandles.addPromise(this.interactiveHandleManager?.capturingHandle?.moveTo(t,{...this.movementCommandContext,pointerType:T(e.originalEvent)}))}async _handleManipulatorDragToCommand(e){if(!this.editable)return;const t=T(e.originalEvent),i=this._updateLastScreenPosition(e),n=this.interactiveHandleManager?.findHandleByManipulator(i,t);"touch"===t&&n&&"start"===e.state&&this.interactiveHandleManager?.releaseHandle();const a=this.interactiveHandleManager?.findHandleDragging(),s=this.interactiveHandleManager?.capturingHandle,r=a??s??n;r&&!n&&G(e),"capture-when-engaged"===r?.captureMode||"capture-always"===r?.captureMode&&"touch"===t?"end"===e.state?await this._updatingHandles.addPromise(r.noteDragEnd(i,{...this.movementCommandContext,pointerType:t}).then(()=>{r&&"touch"===T(e.originalEvent)&&"grabbable-object"!==r.captureMode&&"capture-when-engaged"!==r.defaultCaptureMode&&"primary"===r.role&&(1===this.interactiveHandleManager?.handleCount?this._handleCommand({action:"vertex-add"}):this.interactiveHandleManager?.releaseHandle())})):"start"===e.state?await this._updatingHandles.addPromise(r.noteDragStart(i,{...this.movementCommandContext,pointerType:t}).then(()=>{r&&"touch"===T(e.originalEvent)&&"grabbable-object"!==r.captureMode&&"capture-when-engaged"!==r.defaultCaptureMode&&!r.editSession?.lastPointAddedBySession&&this._handleCommand({action:"vertex-add"})})):await this._updatingHandles.addPromise(r?.moveTo(i,{...this.movementCommandContext,pointerType:T(e.originalEvent)})):"grabbable-object"===r?.captureMode&&(this.interactiveHandleManager?.releaseHandle(s),await this._updatingHandles.addPromise(r.moveTo(i,{...this.movementCommandContext,pointerType:t})))}async _handleVertexAddAtPointCommand(e){const t=this._updateLastScreenPosition(e),i=T(e.originalEvent),n=this.interactiveHandleManager?.capturingHandle??this.interactiveHandleManager?.findHandleByManipulator(t,i);this.editable&&n&&(this._before(e)||(G(e),await this._updatingHandles.addPromise(n.moveTo(t,{...this.movementCommandContext,skipSnapping:!0,pointerType:i}).finally(()=>this._commitNext()))))}_makeKeyBindings(){const e=new N,t=(t,i)=>{e.addToggle(t,e=>this._handleCommand({action:i,originalEvent:e,enabled:"key-down"===e.type}))},i=(t,i)=>{e.add(t,e=>this._handleCommand({action:i,originalEvent:e}))};return t(Q.preserveAspectRatio,"constraint-aspect"),t(W.center,"constraint-center"),i($.toggleFollowManipulator,"toggle-manipulator-follow"),i(W.undo,"undo"),i(W.redo,"redo"),i(W.complete,"complete"),i(W.vertexAdd,"vertex-add"),i({key:J.enterInputMode,continuePropagation:!0,repeats:!0},"show-tooltip"),e}_afterAttach(){}_afterDetach(e){this.interactiveHandleManager?.unregisterCustomConstraint(e),this.interactiveHandleManager?.unregisterHandle(e),this.tooltipManager?.unregisterPluginFields(e),this.globalStateManager.clearPluginOverrides(e);const t=this._pluginContexts.get(e);t&&(t.destroy(),this._pluginContexts.delete(e))}_beforeResume(e,t){this.interactiveHandleManager?.replaceEditSessions(e,t)}_commitNext(){const i={stack:[],error:void 0,hasError:!1};try{const t=this.mostDownstreamPlugin;if(!t)return;this.tooltipManager?.storeConstraintSnapshot();let n=!1;const a=this.editGeometryOperations;e(i,a?s(a.on("vertex-add",()=>n=!0)):null,!1);t.completeStep?t.completeStep():this.complete(t),n&&this.tooltipManager?.unlockOnVertexPlacement()}catch(n){i.error=n,i.hasError=!0}finally{t(i)}}_suspendPlugin(e){this.lifecycleManager.suspend(e),this.measurementManager.suspendPlugin(e)}_resumePlugin(e){this.lifecycleManager.resume(e)}_updateLastScreenPosition(e){const t=y(e.x,e.y);return this.lastScreenPosition=t,t}_getContextForPlugin(e,t){const i=o(this._pluginContexts,e,()=>new j({drawTool:this,plugin:e,session:t}));return i.session=t,i}_before(e){if(!this.hasEventListener(`before-${e.action}`))return!1;const t=new CustomEvent(`before-${e.action}`,{detail:e,cancelable:!0});return this.emit(`before-${e.action}`,t),t.defaultPrevented}_guardCommand(e,t,i){return this._before(e)?i?.():t()}async _setupSegmentLabels(){const e=this.editGeometryOperations,t=this.sketchOptions?.labels,i=!!t?.enabled,n=this.globalStateManager.segmentLabelsDisabled;if(!e||!t||!i)return void(this._segmentLabels=l(this._segmentLabels));if(n)return void(this._segmentLabels&&(this._segmentLabels.visible=!1));if(this._segmentLabels?.context?.editGeometryOperations===e&&this._segmentLabels.context.labelOptions===t)return void(this._segmentLabels.visible=!0);const a=await this._createSegmentLabels(e,t);a&&(this._segmentLabels=l(this._segmentLabels),this._segmentLabels=a)}async _createSegmentLabels(e,t){return(this._segmentLabelsImportTask??=n(async i=>{if("3d"===this.view.type){const n=import("../3d/interactive/SegmentLabels3D.js"),{SegmentLabels3D:a}=await this._updatingHandles.addPromise(n);return this._isSegmentLabelsSetupStale(i,e,t)?null:new a({context:{view:this.view,editGeometryOperations:e,elevationInfo:L(this.hasZ,this.elevationInfo),labelOptions:t},visible:!0})}const n=import("../2d/interactive/SegmentLabels2D.js"),{SegmentLabels2D:a}=await this._updatingHandles.addPromise(n);return this._isSegmentLabelsSetupStale(i,e,t)?null:new a({context:{view:this.view,editGeometryOperations:e,elevationInfo:L(this.hasZ,this.elevationInfo),labelOptions:t},visible:!0})})).promise}_isSegmentLabelsSetupStale(e,t,i){return e.aborted||this.editGeometryOperations!==t||this.sketchOptions?.labels!==i||!i.enabled||this.globalStateManager.segmentLabelsDisabled}};i([M()],ee.prototype,"_commandsSuspended",void 0),i([M()],ee.prototype,"_zOfLastUserInput",null),i([M()],ee.prototype,"_snappingVisualizer",void 0),i([M()],ee.prototype,"_segmentLabels",void 0),i([M()],ee.prototype,"_segmentLabelsImportTask",void 0),i([M()],ee.prototype,"_tooltipDependencies",null),i([M()],ee.prototype,"_editSessionManagerContext",null),i([M()],ee.prototype,"_densificationParameters",null),i([M({constructOnly:!0,nonNullable:!0})],ee.prototype,"view",void 0),i([M()],ee.prototype,"automaticManipulatorSelection",void 0),i([M()],ee.prototype,"updating",null),i([M()],ee.prototype,"coordinateHelper",null),i([M()],ee.prototype,"editGeometry",null),i([M()],ee.prototype,"editGeometryOperations",null),i([M()],ee.prototype,"unprocessedGeometry",null),i([M()],ee.prototype,"simplifiedGeometryPreview",null),i([M()],ee.prototype,"_suppressCoincidentPointOverlaysIn3D",null),i([M()],ee.prototype,"_shapeVisualGeometry",null),i([M()],ee.prototype,"_vertexVisualGeometry",null),i([M()],ee.prototype,"snappingManager",void 0),i([M()],ee.prototype,"sketchOptions",void 0),i([M()],ee.prototype,"elevationInfo",void 0),i([M()],ee.prototype,"hasZ",void 0),i([M()],ee.prototype,"defaultZ",void 0),i([M()],ee.prototype,"directionOptions",void 0),i([M()],ee.prototype,"canUndo",null),i([M()],ee.prototype,"canRedo",null),i([M()],ee.prototype,"pluginStack",null),i([M()],ee.prototype,"mostDownstreamPlugin",null),i([M()],ee.prototype,"mostUpstreamPlugin",null),i([M()],ee.prototype,"lastScreenPosition",void 0),i([M()],ee.prototype,"positionOfLastUserInput",null),i([M()],ee.prototype,"tooltipManager",void 0),i([M()],ee.prototype,"measurementManager",void 0),i([M()],ee.prototype,"globalStateManager",void 0),i([M()],ee.prototype,"editSessionManager",void 0),i([M()],ee.prototype,"lifecycleManager",void 0),i([M()],ee.prototype,"surfaceManager",void 0),i([M()],ee.prototype,"interactiveHandleManager",void 0),i([M()],ee.prototype,"renderer",void 0),i([M()],ee.prototype,"readPluginSetting",void 0),i([M()],ee.prototype,"movementCommandContext",null),i([M()],ee.prototype,"tooltip",null),i([M()],ee.prototype,"activeTooltipInfo",null),i([M()],ee.prototype,"helpMessageKey",null),i([M({constructOnly:!0})],ee.prototype,"enableVertexVisuals",void 0),ee=i([_("esri.views.draw.DrawTool")],ee);export{ee as DrawTool};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{createTask as t}from"../../../core/asyncUtils.js";import{throwIfAborted as e,throwIfNotAbortError as r,isAborted as s,isAbortError as i}from"../../../core/promiseUtils.js";import{whenOnce as a}from"../../../core/reactiveUtils.js";import{diff as o}from"../../../core/accessorSupport/diffUtils.js";import{isGraphicsLayer as n,isSceneLayer as c}from"../../../layers/support/layerUtils.js";import{getDisplayedSymbol as l}from"../../../symbols/support/symbolUtils.js";import{GraphicState as u}from"../../3d/layers/graphics/GraphicState.js";async function y(t,r,s,i){const a=r.createQuery();a.objectIds=t,a.outFields=["*"],a.returnM=r.capabilities.data.supportsM,a.returnZ=r.capabilities.data.supportsZ,a.returnGeometry=!0,c(r)&&null!=r.infoFor3D||(a.outSpatialReference=s),!c(r)&&r.capabilities?.data.supportsTrueCurve&&(a.returnTrueCurves=!0);const o=await r.queryFeatures(a,{signal:i});return e(i),o.features}async function p(t,r,s,i){const a=await l(t,{useSourceLayer:!0,ignoreGraphicSymbol:!0,webStyleCache:r,scale:s});e(i);null!=o(t.symbol,a)&&(t.symbol=a)}async function d(o,c,l,u,y){e(y),o.graphics.includes(u)||o.add(u);const p=l.sourceLayer,d=l.layer??p,b=l.getObjectId();let h=null,w=null;function g(r){return h?.abort(),n(d)?(l.visible=r,Promise.resolve()):(h=t(async t=>{const i=await m(c,d);if(e(t),i&&!c.destroyed&&!i.destroyed)try{null!=b&&"number"==typeof b&&"setVisibility"in i&&i.setVisibility?.(b,r)}catch(a){if(s(t)||c.destroyed||i.destroyed)return;throw a}}),h.promise)}async function v(){return w||(w=(async()=>{try{await g(!0);const t=c.destroyed?null:await m(c,d).catch(()=>{});t&&!t.destroyed&&await a(()=>!t.updating)}catch(t){if(t&&!i(t))throw t}finally{o.remove(u)}})(),c.addUpdatingPromise(w).catch(r),w)}try{await f(c,u,y),e(y),g(!1).catch(r)}catch(S){throw await v(),S}const j=async()=>v();return{remove:j,[Symbol.asyncDispose]:()=>j()}}async function m(t,e){if(!e||"building-component"===e.type)return;const r="subtype-sublayer"===e.type?e.parent:e;return r?t.whenLayerView(r):void 0}async function f(t,e,r){if("3d"===t.type){const s=new u({graphic:e}),i=t.trackGraphicState(s);try{await a(()=>s.displaying||s.error,r)}finally{i.remove()}}else await a(()=>e.visible,r)}export{y as fetchFullFeaturesByObjectId,d as swapForEditingSession,p as updateGraphicSymbolWhenRequired};
2
+ import{createTask as t}from"../../../core/asyncUtils.js";import{throwIfAborted as r,throwIfNotAbortError as e,isAborted as s,isAbortError as i}from"../../../core/promiseUtils.js";import{whenOnce as a}from"../../../core/reactiveUtils.js";import{diff as o}from"../../../core/accessorSupport/diffUtils.js";import{isGraphicsLayer as n,isSceneLayer as c}from"../../../layers/support/layerUtils.js";import{getDisplayedSymbol as l}from"../../../symbols/support/symbolUtils.js";import{GraphicState as u}from"../../3d/layers/graphics/GraphicState.js";async function y(t,e,s,i){const a=e.createQuery();a.objectIds=t,a.outFields=["*"],a.returnM=e.capabilities.data.supportsM,a.returnZ=e.capabilities.data.supportsZ,a.returnGeometry=!0,c(e)&&null!=e.infoFor3D||(a.outSpatialReference=s),!c(e)&&e.capabilities?.data.supportsTrueCurve&&(a.returnTrueCurves=!0);const o=await e.queryFeatures(a,{signal:i});return r(i),o.features}async function p(t,e,s){const i=await l(t,{useSourceLayer:!0,ignoreGraphicSymbol:!0,scale:e});r(s);null!=o(t.symbol,i)&&(t.symbol=i)}async function d(o,c,l,u,y){r(y),o.graphics.includes(u)||o.add(u);const p=l.sourceLayer,d=l.layer??p,b=l.getObjectId();let h=null,w=null;function g(e){return h?.abort(),n(d)?(l.visible=e,Promise.resolve()):(h=t(async t=>{const i=await m(c,d);if(r(t),i&&!c.destroyed&&!i.destroyed)try{null!=b&&"number"==typeof b&&"setVisibility"in i&&i.setVisibility?.(b,e)}catch(a){if(s(t)||c.destroyed||i.destroyed)return;throw a}}),h.promise)}async function v(){return w||(w=(async()=>{try{await g(!0);const t=c.destroyed?null:await m(c,d).catch(()=>{});t&&!t.destroyed&&await a(()=>!t.updating)}catch(t){if(t&&!i(t))throw t}finally{o.remove(u)}})(),c.addUpdatingPromise(w).catch(e),w)}try{await f(c,u,y),r(y),g(!1).catch(e)}catch(S){throw await v(),S}const j=async()=>v();return{remove:j,[Symbol.asyncDispose]:()=>j()}}async function m(t,r){if(!r||"building-component"===r.type)return;const e="subtype-sublayer"===r.type?r.parent:r;return e?t.whenLayerView(e):void 0}async function f(t,r,e){if("3d"===t.type){const s=new u({graphic:r}),i=t.trackGraphicState(s);try{await a(()=>s.displaying||s.error,e)}finally{i.remove()}}else await a(()=>r.visible,e)}export{y as fetchFullFeaturesByObjectId,d as swapForEditingSession,p as updateGraphicSymbolWhenRequired};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{createTask as t}from"../../../core/asyncUtils.js";import n from"../../../core/Error.js";import{EventedAccessor as i}from"../../../core/Evented.js";import"../../../core/has.js";import{throwIfAborted as s,isAborted as a}from"../../../core/promiseUtils.js";import{watch as r,syncAndInitial as o,sync as p}from"../../../core/reactiveUtils.js";import{property as d,subclass as c}from"../../../core/accessorSupport/decorators.js";import{project as h,initializeProjection as l}from"../../../geometry/projectionUtils.js";import{absoluteHeightElevationInfo as u}from"../../../support/elevationInfoUtils.js";import{fromPoint as f,markAsTarget as g,toElevationAlignedDehydratedPoint as _}from"../sketch/normalizedPoint.js";import{defaults as S}from"./Settings.js";import m from"./SnappingOptions.js";import{sortCandidatesInPlace as v}from"./snappingUtils.js";import{DrapedEdgeSnappingCandidate as y}from"./candidates/DrapedEdgeSnappingCandidate.js";import{EdgeSnappingCandidate as w}from"./candidates/EdgeSnappingCandidate.js";import{IntersectionSnappingCandidate as C}from"./candidates/IntersectionSnappingCandidate.js";import{LineSnappingCandidate as P}from"./candidates/LineSnappingCandidate.js";import{ParallelLineSnappingCandidate as T}from"./candidates/ParallelLineSnappingCandidate.js";import{RightAngleSnappingCandidate as E}from"./candidates/RightAngleSnappingCandidate.js";import{RightAngleTriangleSnappingCandidate as j}from"./candidates/RightAngleTriangleSnappingCandidate.js";import{VertexSnappingCandidate as R}from"./candidates/VertexSnappingCandidate.js";import{DehydratedVertexSnappingCandidate as M}from"./candidates/dehydrated/DehydratedVertexSnappingCandidate.js";import{vectorToScreenPoint as q}from"../support/viewUtils.js";import{squaredScreenDistance as x}from"../../../core/screenUtils.js";let b=class extends i{constructor(e){super(e),this.options=new m,this._engineCache=new Map,this._loadTask=null,this._engines=[],this._currentMainCandidate=null,this._currentOtherActiveCandidates=[],this._currentSnappedType=0,this._currentSpatialReference=null}initialize(){this.addHandles([r(()=>{const{distance:e,touchSensitivityMultiplier:t,effectiveSelfEnabled:n,effectiveFeatureEnabled:i,effectiveGridEnabled:s}=this.options;return{selfEnabled:n,featureEnabled:i,gridEnabled:"2d"===this.view.type&&s,viewReady:this.view.ready,viewSpatialReference:this.view.spatialReference,distance:e,touchSensitivityMultiplier:t}},(e,n)=>{n&&(this.doneSnapping(),this.emit("changed")),this._loadTask?.abort(),this._loadTask=t(t=>this._updateEngines(e,n,t))},o),r(()=>this.options,e=>{for(const t of this._engines)t.options=e},p)])}destroy(){this._loadTask?.abort(),this._destroyEngines()}get updating(){return this._engines.some(e=>e.updating)||!this._loadTask?.finished}_destroyEngines(){this._engineCache.forEach(e=>e.destroy()),this._engineCache.clear(),this._engines=[]}async _updateEngines(e,t,n){if(!e.viewReady)return void this._destroyEngines();t?.viewSpatialReference!==e.viewSpatialReference&&this._destroyEngines();const i=this._engineCache,s=await Promise.allSettled([e.featureEnabled&&!i.has("feature")?this._createFeatureSnappingEngine(n):void 0,e.selfEnabled&&!i.has("self")?this._createSelfSnappingEngine(n):void 0,e.gridEnabled&&!i.has("grid")?this._createGridSnappingEngine(n):void 0]);if(n.aborted)for(const a of s)"fulfilled"===a.status&&a.value?.engine.destroy();else{for(const e of s)"fulfilled"===e.status&&e.value&&i.set(e.value.type,e.value.engine);this._engines=Array.from(i.values())}}async _createSelfSnappingEngine(e){const{SelfSnappingEngine:t}=await import("./SelfSnappingEngine.js");return s(e),{type:"self",engine:new t({view:this.view,options:this.options})}}async _createGridSnappingEngine(e){const{view:t}=this;if("2d"!==t.type)return;const{GridSnappingEngine:n}=await import("./GridSnappingEngine.js");return s(e),{type:"grid",engine:new n({view:t,options:this.options})}}async _createFeatureSnappingEngine(e){const{FeatureSnappingEngine:t}=await import("./FeatureSnappingEngine.js");s(e);const{view:n,options:i}=this,{spatialReference:a}=n;return{type:"feature",engine:new t({view:n,options:i,spatialReference:a})}}get _squaredMouseProximityThreshold(){return this.options.distance*this.options.distance}get _squaredTouchProximityThreshold(){const{distance:e,touchSensitivityMultiplier:t}=this.options,n=e*t;return n*n}getVertexCandidates(){const e=this._currentSpatialReference;if(!e)return[];const t=new Set;this._currentMainCandidate&&D(t,this._currentMainCandidate);for(const n of this._currentOtherActiveCandidates)D(t,n);return Array.from(t).map(t=>new M(t.objectId,t.layer,t.originalTargetPoint,e))}snap(e){return H(e)?this._snapMultiPoint(e):this._snapSinglePoint(e)}update(e){const{point:t,context:i}=e;this._removeVisualization();const s=this._currentMainCandidate;if(null==s)return t;const a=this._selectUpdateInput(e);if(null==a)return t;const{spatialReference:r}=i;if(!r.equals(this._currentSpatialReference))throw new n("snapping:mismatched-spatial-reference","Cannot update with the given spatial reference, as the current snapping candidates are in a different spatial reference.");const o=h(a,r);if(null==o)return t;const{view:p}=this,{elevationInfo:d,visualizer:c}=i,l=[],u=f(o,p,d),S=s.constraint.closestTo(u);if(!this._arePointsWithinScreenThreshold(u,S,i)||!I(s,i.drawConstraints))return this._resetSnappingState(),t;s.targetPoint=g(S),l.push(...s.hints);for(const n of this._currentOtherActiveCandidates)I(n,i.drawConstraints)&&!V(s,n)&&(n.targetPoint=g(S),l.push(...n.hints));return null!=c&&this.addHandles(c.draw(l,{spatialReference:r,elevationInfo:k(i),view:p,selfSnappingZ:i.selfSnappingZ}),z),_(S,p,t,i)}doneSnapping(){this._removeVisualization(),this._resetSnappingState()}_selectUpdateInput({point:e,scenePoint:t}){switch(this._currentSnappedType){case 0:return e;case 1:return t}}_resetSnappingState(){this._currentMainCandidate=null,this._currentOtherActiveCandidates=[],this._currentSnappedType=0,this._currentSpatialReference=null}_removeVisualization(){this.removeHandles(z)}async _snapSinglePoint({point:e,context:t,signal:n}){const{view:i}=this,{elevationInfo:s}=t,a=f(e,i,s),r=await this._fetchCandidates(a,3,t,n);return this._createSnapResult(a,0,r,i,e,t,n)}async _snapMultiPoint({point:e,scenePoint:t,context:n,signal:i}){const{view:s}=this,{coordinateHelper:a,elevationInfo:r,spatialReference:o}=n;await l(t.spatialReference,o);const p=h(t,o),d=f(p,s,r),c=await this._fetchCandidates(d,1,n,i);if(c.length>0){const e=await this._fetchCandidates(d,2,n,i);return this._createSnapResult(d,1,[...c,...e],s,p,n,i)}const u=f(e,s,r),g=await this._fetchCandidates(u,2,n,i);return this._createSnapResult(u,0,g,s,{z:a.hasZ()&&e.hasZ?e.z??0:void 0,m:a.hasM()&&e.hasM?e.m??0:void 0},n,i)}async _fetchCandidates(e,t,n,i){return(await Promise.all(this._engines.map(s=>s.fetchCandidates(e,t,n,i)))).flat()}_createSnapResult(e,t,n,i,s,r,o){return{get valid(){return!a(o)},apply:()=>{const{spatialReference:a}=r,{snappedPoint:o,hints:p}=this._processCandidates(e,t,n,r);return this._removeVisualization(),null!=r.visualizer&&this.addHandles(r.visualizer.draw(p,{spatialReference:a,elevationInfo:u,view:i,selfSnappingZ:r.selfSnappingZ}),z),_(o,i,s,r)}}}_processCandidates(e,t,n,i){if(n.length<1)return this.doneSnapping(),{snappedPoint:e,hints:[]};this._currentSnappedType!==t&&this._resetSnappingState(),v(e,n);const s=this._currentMainCandidate;if(null!=s){const a=A(s,n);if(a>=0){if(!(n[a]instanceof C))return this._intersectWithOtherCandidates(a,n,e,t,i);if(this._arePointsWithinScreenThreshold(e,s.targetPoint,i))return this._updateSnappingCandidate(s,t,n,i)}}return this._intersectWithOtherCandidates(0,n,e,t,i)}_intersectWithOtherCandidates(e,t,n,i,s){const{coordinateHelper:a}=s,r=t[e],o=[];for(let p=0;p<t.length;++p){if(p===e)continue;const i=t[p],s=r.constraint.intersect(i.constraint);if(s)for(const e of s.closestPoints(r.targetPoint))o.push([new C(g(e),r,i,i.isDraped),this._squaredScreenDistance(n,e,a)])}return o.length>0&&(o.sort((e,t)=>e[1]-t[1]),o[0][1]<this._squaredPointProximityThreshold(s.pointer))?this._updateSnappingCandidate(o[0][0],i,t,s):I(r,s.drawConstraints)?this._updateSnappingCandidate(r,i,t,s):{snappedPoint:n,hints:[]}}_updateSnappingCandidate(e,t,n,i){this.doneSnapping(),this._currentMainCandidate=e,this._currentSnappedType=t,this._currentSpatialReference=i.spatialReference;const s=this._currentMainCandidate.targetPoint,a=[];a.push(...e.hints);for(const r of n){if(V(e,r)){this._currentOtherActiveCandidates.push(r);continue}const t=r.constraint.closestTo(s);this._squaredScreenDistance(t,s,i.coordinateHelper)<O()&&(r.targetPoint=s,this._currentOtherActiveCandidates.push(r),a.push(...r.hints))}return{snappedPoint:s,hints:a}}_squaredPointProximityThreshold(e){return"touch"===e?this._squaredTouchProximityThreshold:this._squaredMouseProximityThreshold}_arePointsWithinScreenThreshold(e,t,n){return this._squaredScreenDistance(e,t,n.coordinateHelper)<this._squaredPointProximityThreshold(n.pointer)}_squaredScreenDistance(e,t,n){return x(this._toScreen(e,n),this._toScreen(t,n))}_toScreen(e,t){return q(e,t.spatialReference,u,this.view)}get test(){}};e([d({constructOnly:!0})],b.prototype,"view",void 0),e([d()],b.prototype,"options",void 0),e([d({readOnly:!0})],b.prototype,"updating",null),e([d()],b.prototype,"_loadTask",void 0),e([d()],b.prototype,"_engines",void 0),e([d()],b.prototype,"_squaredMouseProximityThreshold",null),e([d()],b.prototype,"_squaredTouchProximityThreshold",null),b=e([c("esri.views.interactive.snapping.SnappingManager")],b);const z="visualization-handle";function O(){return S.satisfiesConstraintScreenThreshold*S.satisfiesConstraintScreenThreshold}function I(e,t){return!t||null==t.direction&&null==t.distance||!(e instanceof y||e instanceof w||e instanceof P||e instanceof T||e instanceof j)&&(!(e instanceof E)||null==t.direction&&1===e.selfSnappingType)}function A(e,t){return e instanceof C?U(t,e.first)>=0&&U(t,e.second)>=0?0:-1:U(t,e)}function U(e,t){let n=-1;for(let i=0;i<e.length;++i)if(t.constraint.equals(e[i].constraint)){n=i;break}return n}function H(e){return null!=e.scenePoint}function k({coordinateHelper:e,elevationInfo:t}){return e.hasZ()?u:t}function D(e,t){t instanceof C&&(D(e,t.first),D(e,t.second)),t instanceof R&&null!=t.layer&&e.add(t)}function V(e,t){return e instanceof C?t.constraint.equals(e.first.constraint)||t.constraint.equals(e.second.constraint):t.constraint.equals(e.constraint)}export{b as SnappingManager};
2
+ import{__decorate as e}from"tslib";import{createTask as t}from"../../../core/asyncUtils.js";import n from"../../../core/Error.js";import{EventedAccessor as i}from"../../../core/Evented.js";import"../../../core/has.js";import{throwIfAborted as a,isAborted as s}from"../../../core/promiseUtils.js";import{watch as r,syncAndInitial as o,sync as p}from"../../../core/reactiveUtils.js";import{property as d,subclass as c}from"../../../core/accessorSupport/decorators.js";import{project as l,initializeProjection as h}from"../../../geometry/projectionUtils.js";import{absoluteHeightElevationInfo as u}from"../../../support/elevationInfoUtils.js";import{fromPoint as f,markAsTarget as g,toElevationAlignedDehydratedPoint as _}from"../sketch/normalizedPoint.js";import{defaults as S}from"./Settings.js";import m from"./SnappingOptions.js";import{sortCandidatesInPlace as v}from"./snappingUtils.js";import{DrapedEdgeSnappingCandidate as y}from"./candidates/DrapedEdgeSnappingCandidate.js";import{EdgeSnappingCandidate as C}from"./candidates/EdgeSnappingCandidate.js";import{FeatureSnappingCandidate as w}from"./candidates/FeatureSnappingCandidate.js";import{IntersectionSnappingCandidate as P}from"./candidates/IntersectionSnappingCandidate.js";import{LineSnappingCandidate as T}from"./candidates/LineSnappingCandidate.js";import{ParallelLineSnappingCandidate as E}from"./candidates/ParallelLineSnappingCandidate.js";import{RightAngleSnappingCandidate as j}from"./candidates/RightAngleSnappingCandidate.js";import{RightAngleTriangleSnappingCandidate as R}from"./candidates/RightAngleTriangleSnappingCandidate.js";import{VertexSnappingCandidate as M}from"./candidates/VertexSnappingCandidate.js";import{DehydratedFeatureSnappingCandidate as q}from"./candidates/dehydrated/DehydratedFeatureSnappingCandidate.js";import{vectorToScreenPoint as b}from"../support/viewUtils.js";import{squaredScreenDistance as x}from"../../../core/screenUtils.js";let z=class extends i{constructor(e){super(e),this.options=new m,this._engineCache=new Map,this._loadTask=null,this._engines=[],this._currentMainCandidate=null,this._currentOtherActiveCandidates=[],this._currentSnappedType=0,this._currentSpatialReference=null}initialize(){this.addHandles([r(()=>{const{distance:e,touchSensitivityMultiplier:t,effectiveSelfEnabled:n,effectiveFeatureEnabled:i,effectiveGridEnabled:a}=this.options;return{selfEnabled:n,featureEnabled:i,gridEnabled:"2d"===this.view.type&&a,viewReady:this.view.ready,viewSpatialReference:this.view.spatialReference,distance:e,touchSensitivityMultiplier:t}},(e,n)=>{n&&(this.doneSnapping(),this.emit("changed")),this._loadTask?.abort(),this._loadTask=t(t=>this._updateEngines(e,n,t))},o),r(()=>this.options,e=>{for(const t of this._engines)t.options=e},p)])}destroy(){this._loadTask?.abort(),this._destroyEngines()}get updating(){return this._engines.some(e=>e.updating)||!this._loadTask?.finished}_destroyEngines(){this._engineCache.forEach(e=>e.destroy()),this._engineCache.clear(),this._engines=[]}async _updateEngines(e,t,n){if(!e.viewReady)return void this._destroyEngines();t?.viewSpatialReference!==e.viewSpatialReference&&this._destroyEngines();const i=this._engineCache,a=await Promise.allSettled([e.featureEnabled&&!i.has("feature")?this._createFeatureSnappingEngine(n):void 0,e.selfEnabled&&!i.has("self")?this._createSelfSnappingEngine(n):void 0,e.gridEnabled&&!i.has("grid")?this._createGridSnappingEngine(n):void 0]);if(n.aborted)for(const s of a)"fulfilled"===s.status&&s.value?.engine.destroy();else{for(const e of a)"fulfilled"===e.status&&e.value&&i.set(e.value.type,e.value.engine);this._engines=Array.from(i.values())}}async _createSelfSnappingEngine(e){const{SelfSnappingEngine:t}=await import("./SelfSnappingEngine.js");return a(e),{type:"self",engine:new t({view:this.view,options:this.options})}}async _createGridSnappingEngine(e){const{view:t}=this;if("2d"!==t.type)return;const{GridSnappingEngine:n}=await import("./GridSnappingEngine.js");return a(e),{type:"grid",engine:new n({view:t,options:this.options})}}async _createFeatureSnappingEngine(e){const{FeatureSnappingEngine:t}=await import("./FeatureSnappingEngine.js");a(e);const{view:n,options:i}=this,{spatialReference:s}=n;return{type:"feature",engine:new t({view:n,options:i,spatialReference:s})}}get _squaredMouseProximityThreshold(){return this.options.distance*this.options.distance}get _squaredTouchProximityThreshold(){const{distance:e,touchSensitivityMultiplier:t}=this.options,n=e*t;return n*n}getMainFeatureCandidate(){const{_currentMainCandidate:e,_currentSpatialReference:t}=this;return t&&e&&Z(e)?new q(e.objectId,e.layer,e.targetPoint,t):null}getVertexCandidates(){const e=this._currentSpatialReference;if(!e)return[];const t=new Set;this._currentMainCandidate&&D(t,this._currentMainCandidate);for(const n of this._currentOtherActiveCandidates)D(t,n);return Array.from(t).map(t=>new q(t.objectId,t.layer,t.originalTargetPoint,e))}snap(e){return k(e)?this._snapMultiPoint(e):this._snapSinglePoint(e)}update(e){const{point:t,context:i}=e;this._removeVisualization();const a=this._currentMainCandidate;if(null==a)return t;const s=this._selectUpdateInput(e);if(null==s)return t;const{spatialReference:r}=i;if(!r.equals(this._currentSpatialReference))throw new n("snapping:mismatched-spatial-reference","Cannot update with the given spatial reference, as the current snapping candidates are in a different spatial reference.");const o=l(s,r);if(null==o)return t;const{view:p}=this,{elevationInfo:d,visualizer:c}=i,h=[],u=f(o,p,d),S=a.constraint.closestTo(u);if(!this._arePointsWithinScreenThreshold(u,S,i)||!A(a,i.drawConstraints))return this._resetSnappingState(),t;a.targetPoint=g(S),h.push(...a.hints);for(const n of this._currentOtherActiveCandidates)A(n,i.drawConstraints)&&!W(a,n)&&(n.targetPoint=g(S),h.push(...n.hints));return null!=c&&this.addHandles(c.draw(h,{spatialReference:r,elevationInfo:F(i),view:p,selfSnappingZ:i.selfSnappingZ}),I),_(S,p,t,i)}doneSnapping(){this._removeVisualization(),this._resetSnappingState()}_selectUpdateInput({point:e,scenePoint:t}){switch(this._currentSnappedType){case 0:return e;case 1:return t}}_resetSnappingState(){this._currentMainCandidate=null,this._currentOtherActiveCandidates=[],this._currentSnappedType=0,this._currentSpatialReference=null}_removeVisualization(){this.removeHandles(I)}async _snapSinglePoint({point:e,context:t,signal:n}){const{view:i}=this,{elevationInfo:a}=t,s=f(e,i,a),r=await this._fetchCandidates(s,3,t,n);return this._createSnapResult(s,0,r,i,e,t,n)}async _snapMultiPoint({point:e,scenePoint:t,context:n,signal:i}){const{view:a}=this,{coordinateHelper:s,elevationInfo:r,spatialReference:o}=n;await h(t.spatialReference,o);const p=l(t,o),d=f(p,a,r),c=await this._fetchCandidates(d,1,n,i);if(c.length>0){const e=await this._fetchCandidates(d,2,n,i);return this._createSnapResult(d,1,[...c,...e],a,p,n,i)}const u=f(e,a,r),g=await this._fetchCandidates(u,2,n,i);return this._createSnapResult(u,0,g,a,{z:s.hasZ()&&e.hasZ?e.z??0:void 0,m:s.hasM()&&e.hasM?e.m??0:void 0},n,i)}async _fetchCandidates(e,t,n,i){return(await Promise.all(this._engines.map(a=>a.fetchCandidates(e,t,n,i)))).flat()}_createSnapResult(e,t,n,i,a,r,o){return{get valid(){return!s(o)},apply:()=>{const{spatialReference:s}=r,{snappedPoint:o,hints:p}=this._processCandidates(e,t,n,r);return this._removeVisualization(),null!=r.visualizer&&this.addHandles(r.visualizer.draw(p,{spatialReference:s,elevationInfo:u,view:i,selfSnappingZ:r.selfSnappingZ}),I),_(o,i,a,r)}}}_processCandidates(e,t,n,i){if(n.length<1)return this.doneSnapping(),{snappedPoint:e,hints:[]};this._currentSnappedType!==t&&this._resetSnappingState(),v(e,n);const a=this._currentMainCandidate;if(null!=a){const s=U(a,n);if(s>=0){if(!(n[s]instanceof P))return this._intersectWithOtherCandidates(s,n,e,t,i);if(this._arePointsWithinScreenThreshold(e,a.targetPoint,i))return this._updateSnappingCandidate(a,t,n,i)}}return this._intersectWithOtherCandidates(0,n,e,t,i)}_intersectWithOtherCandidates(e,t,n,i,a){const{coordinateHelper:s}=a,r=t[e],o=[];for(let p=0;p<t.length;++p){if(p===e)continue;const i=t[p],a=r.constraint.intersect(i.constraint);if(a)for(const e of a.closestPoints(r.targetPoint))o.push([new P(g(e),r,i,i.isDraped),this._squaredScreenDistance(n,e,s)])}return o.length>0&&(o.sort((e,t)=>e[1]-t[1]),o[0][1]<this._squaredPointProximityThreshold(a.pointer))?this._updateSnappingCandidate(o[0][0],i,t,a):A(r,a.drawConstraints)?this._updateSnappingCandidate(r,i,t,a):{snappedPoint:n,hints:[]}}_updateSnappingCandidate(e,t,n,i){this.doneSnapping(),this._currentMainCandidate=e,this._currentSnappedType=t,this._currentSpatialReference=i.spatialReference;const a=this._currentMainCandidate.targetPoint,s=[];s.push(...e.hints);for(const r of n){if(W(e,r)){this._currentOtherActiveCandidates.push(r);continue}const t=r.constraint.closestTo(a);this._squaredScreenDistance(t,a,i.coordinateHelper)<O()&&(r.targetPoint=a,this._currentOtherActiveCandidates.push(r),s.push(...r.hints))}return{snappedPoint:a,hints:s}}_squaredPointProximityThreshold(e){return"touch"===e?this._squaredTouchProximityThreshold:this._squaredMouseProximityThreshold}_arePointsWithinScreenThreshold(e,t,n){return this._squaredScreenDistance(e,t,n.coordinateHelper)<this._squaredPointProximityThreshold(n.pointer)}_squaredScreenDistance(e,t,n){return x(this._toScreen(e,n),this._toScreen(t,n))}_toScreen(e,t){return b(e,t.spatialReference,u,this.view)}get test(){}};e([d({constructOnly:!0})],z.prototype,"view",void 0),e([d()],z.prototype,"options",void 0),e([d({readOnly:!0})],z.prototype,"updating",null),e([d()],z.prototype,"_loadTask",void 0),e([d()],z.prototype,"_engines",void 0),e([d()],z.prototype,"_squaredMouseProximityThreshold",null),e([d()],z.prototype,"_squaredTouchProximityThreshold",null),z=e([c("esri.views.interactive.snapping.SnappingManager")],z);const I="visualization-handle";function O(){return S.satisfiesConstraintScreenThreshold*S.satisfiesConstraintScreenThreshold}function A(e,t){return!t||null==t.direction&&null==t.distance||!(e instanceof y||e instanceof C||e instanceof T||e instanceof E||e instanceof R)&&(!(e instanceof j)||null==t.direction&&1===e.selfSnappingType)}function U(e,t){return e instanceof P?H(t,e.first)>=0&&H(t,e.second)>=0?0:-1:H(t,e)}function H(e,t){let n=-1;for(let i=0;i<e.length;++i)if(t.constraint.equals(e[i].constraint)){n=i;break}return n}function k(e){return null!=e.scenePoint}function F({coordinateHelper:e,elevationInfo:t}){return e.hasZ()?u:t}function D(e,t){t instanceof P&&(D(e,t.first),D(e,t.second)),V(t)&&e.add(t)}function Z(e){return e instanceof w&&null!=e.layer}function V(e){return e instanceof M&&null!=e.layer}function W(e,t){return e instanceof P?t.constraint.equals(e.first.constraint)||t.constraint.equals(e.second.constraint):t.constraint.equals(e.constraint)}export{z as SnappingManager};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{createDehydratedPoint as t}from"../../../sketch/normalizedPoint.js";class o{constructor(o,r,s,i){this.objectId=o,this.layer=r,this.targetPoint=t(s,i)}}export{o as DehydratedVertexSnappingCandidate};
2
+ import{createDehydratedPoint as t}from"../../../sketch/normalizedPoint.js";class o{constructor(o,r,s,i){this.objectId=o,this.layer=r,this.targetPoint=t(s,i)}}export{o as DehydratedFeatureSnappingCandidate};
@@ -11,7 +11,7 @@ import type UtilityNetworkAssociationsElementInput from "./inputs/UtilityNetwork
11
11
  import type { EventedAccessor } from "../../core/Evented.js";
12
12
  import type { FieldValue } from "../../layers/support/fieldUtils.js";
13
13
  import type { TimeZone } from "../../time/types.js";
14
- import type { AssociationsLayerUnion, AttachmentsChangeEvent, AttributeFormSupportedLayerInfo, AttributeFormSupportedLayerUnion, BatchAttributeFormMode, BatchAttributeFormState, SelectedAttachmentIdentifier, SelectedAttachmentDetails, SubmitEvent, ValueChangeEvent, ValuesChangeEvent } from "./types.js";
14
+ import type { AssociationsLayerUnion, AttachmentsChangeEvent, AttributeFormSupportedLayerInfo, AttributeFormSupportedLayerUnion, BatchAttributeFormMode, BatchAttributeFormState, PendingAttachmentEdits, SelectedAttachmentIdentifier, SelectedAttachmentDetails, SubmitEvent, ValueChangeEvent, ValuesChangeEvent } from "./types.js";
15
15
  import type { FormInput } from "./inputs/types.js";
16
16
  import type { EditType } from "../support/forms/types.js";
17
17
 
@@ -287,6 +287,13 @@ export default class BatchAttributeFormViewModel extends EventedAccessor {
287
287
  * This array includes only those inputs that are not hidden by visibility settings or expressions.
288
288
  */
289
289
  get visibleInputs(): FormInput[];
290
+ /**
291
+ * Applies any pending edits from a previous workflow, in cases the working features have changed.
292
+ *
293
+ * @param edits - The pending edits to apply to the attachment inputs.
294
+ * @internal
295
+ */
296
+ applyStashedAttachmentEdits(edits: PendingAttachmentEdits[]): void;
290
297
  /**
291
298
  * @param elementId - Attachment element identifier.
292
299
  * @internal
@@ -412,10 +419,10 @@ export default class BatchAttributeFormViewModel extends EventedAccessor {
412
419
  stageAddAttachments(elementId: string, files: (Blob | File)[]): Promise<AttachmentInfo[]>;
413
420
  /**
414
421
  * @param elementId - Attachment element identifier.
415
- * @param attachmentGlobalId - Global identifier of the attachment to stage for deletion.
422
+ * @param key - A key representing the attachment to stage for deletion. This is either a GlobalID, an ID, or the name of the attachment.
416
423
  * @internal
417
424
  */
418
- stageDeleteAttachment(elementId: string, attachmentGlobalId: string): void;
425
+ stageDeleteAttachment(elementId: string, key: string): void;
419
426
  /**
420
427
  * @param elementId - Attachment element identifier.
421
428
  * @param attachmentGlobalId - Global identifier of the attachment to rename.