@arcgis/core 5.1.0-next.13 → 5.1.0-next.15

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 (772) hide show
  1. package/Camera.d.ts +1 -1
  2. package/Ground.d.ts +7 -7
  3. package/PopupTemplate.d.ts +6 -6
  4. package/WebScene.d.ts +1 -1
  5. package/analysis/AreaMeasurementAnalysis.d.ts +1 -1
  6. package/analysis/DirectLineMeasurementAnalysis.d.ts +1 -1
  7. package/analysis/LengthDimension.d.ts +4 -4
  8. package/analysis/ShadowCastAnalysis.d.ts +3 -3
  9. package/analysis/SliceAnalysis.d.ts +1 -1
  10. package/analysis/SlicePlane.d.ts +1 -1
  11. package/applications/Components/SketchTooltipControls.d.ts +3 -2
  12. package/applications/Components/SketchTooltipControls.js +1 -1
  13. package/assets/esri/core/t9n/Units_ar.json +1 -1
  14. package/assets/esri/core/t9n/Units_bg.json +1 -1
  15. package/assets/esri/core/t9n/Units_bs.json +1 -1
  16. package/assets/esri/core/t9n/Units_ca.json +1 -1
  17. package/assets/esri/core/t9n/Units_cs.json +1 -1
  18. package/assets/esri/core/t9n/Units_da.json +1 -1
  19. package/assets/esri/core/t9n/Units_de.json +1 -1
  20. package/assets/esri/core/t9n/Units_el.json +1 -1
  21. package/assets/esri/core/t9n/Units_es.json +1 -1
  22. package/assets/esri/core/t9n/Units_et.json +1 -1
  23. package/assets/esri/core/t9n/Units_fi.json +1 -1
  24. package/assets/esri/core/t9n/Units_fr.json +1 -1
  25. package/assets/esri/core/t9n/Units_he.json +1 -1
  26. package/assets/esri/core/t9n/Units_hr.json +1 -1
  27. package/assets/esri/core/t9n/Units_hu.json +1 -1
  28. package/assets/esri/core/t9n/Units_id.json +1 -1
  29. package/assets/esri/core/t9n/Units_it.json +1 -1
  30. package/assets/esri/core/t9n/Units_ja.json +1 -1
  31. package/assets/esri/core/t9n/Units_ko.json +1 -1
  32. package/assets/esri/core/t9n/Units_lt.json +1 -1
  33. package/assets/esri/core/t9n/Units_lv.json +1 -1
  34. package/assets/esri/core/t9n/Units_nl.json +1 -1
  35. package/assets/esri/core/t9n/Units_no.json +1 -1
  36. package/assets/esri/core/t9n/Units_pl.json +1 -1
  37. package/assets/esri/core/t9n/Units_pt-BR.json +1 -1
  38. package/assets/esri/core/t9n/Units_pt-PT.json +1 -1
  39. package/assets/esri/core/t9n/Units_ro.json +1 -1
  40. package/assets/esri/core/t9n/Units_ru.json +1 -1
  41. package/assets/esri/core/t9n/Units_sk.json +1 -1
  42. package/assets/esri/core/t9n/Units_sl.json +1 -1
  43. package/assets/esri/core/t9n/Units_sr.json +1 -1
  44. package/assets/esri/core/t9n/Units_sv.json +1 -1
  45. package/assets/esri/core/t9n/Units_th.json +1 -1
  46. package/assets/esri/core/t9n/Units_tr.json +1 -1
  47. package/assets/esri/core/t9n/Units_uk.json +1 -1
  48. package/assets/esri/core/t9n/Units_vi.json +1 -1
  49. package/assets/esri/core/t9n/Units_zh-CN.json +1 -1
  50. package/assets/esri/core/t9n/Units_zh-HK.json +1 -1
  51. package/assets/esri/core/t9n/Units_zh-TW.json +1 -1
  52. package/assets/esri/core/workers/RemoteClient.js +1 -1
  53. package/assets/esri/core/workers/chunks/0184b4c0c92c76c60ab2.js +1 -0
  54. package/assets/esri/core/workers/chunks/07317f6b57c1314db442.js +1 -0
  55. package/assets/esri/core/workers/chunks/{56a296cb5c1ae1ea5ab2.js → 08616877b58b518e7461.js} +1 -1
  56. package/assets/esri/core/workers/chunks/089cef7124173a5cd5f9.js +1 -0
  57. package/assets/esri/core/workers/chunks/{4d438627dd3509f65d5a.js → 0baa0d66003d23cc76a7.js} +1 -1
  58. package/assets/esri/core/workers/chunks/0e216f0075fd531c3a2b.js +1 -0
  59. package/assets/esri/core/workers/chunks/{d5314786df52b6be5307.js → 0e6ffb02a929130ddb50.js} +1 -1
  60. package/assets/esri/core/workers/chunks/{ae0a555b047b11aa68eb.js → 1219b588f983b4f35033.js} +1 -1
  61. package/assets/esri/core/workers/chunks/{41fe4d8fe97388498f73.js → 13512a23655258fa77f4.js} +1 -1
  62. package/assets/esri/core/workers/chunks/{ee34f14bbfe619b85a80.js → 13e913aa5f5113fceb16.js} +1 -1
  63. package/assets/esri/core/workers/chunks/{d621cdd0aef6d77986f0.js → 1469e6d1d0d4e310b8f8.js} +1 -1
  64. package/assets/esri/core/workers/chunks/{b9e90875943703486227.js → 15ba0296403dd4152b88.js} +1 -1
  65. package/assets/esri/core/workers/chunks/{7595c52b1647f092c61a.js → 16abc548724e428c325a.js} +1 -1
  66. package/assets/esri/core/workers/chunks/{dddcae86e434d93b10c0.js → 189e22df73414a1a3989.js} +1 -1
  67. package/assets/esri/core/workers/chunks/{90aeef17af12cfbecb36.js → 1d124a55f6804be19e09.js} +1 -1
  68. package/assets/esri/core/workers/chunks/{63831996ad82bd3b1ca9.js → 1e29a114c1cfe21121c4.js} +1 -1
  69. package/assets/esri/core/workers/chunks/{153a9d087e0fe7072af4.js → 1ede5fa7a16839ed9444.js} +1 -1
  70. package/assets/esri/core/workers/chunks/{6b1e1fb4e9010873c171.js → 1f30558e3ad6ac68bdb8.js} +1 -1
  71. package/assets/esri/core/workers/chunks/{9c06b803912fcafa7f52.js → 24dd404612c35f6a3fc3.js} +1 -1
  72. package/assets/esri/core/workers/chunks/{b6e155b42a4a423139e7.js → 27d1f8279df34d8b15b5.js} +1 -1
  73. package/assets/esri/core/workers/chunks/{401af6d07c9f458ae067.js → 2c69d8bb1c950b95278d.js} +1 -1
  74. package/assets/esri/core/workers/chunks/{22d12c309af9c19a1a48.js → 2c7e5b78d94e5850537b.js} +1 -1
  75. package/assets/esri/core/workers/chunks/{120a5fa9b46084cd0c45.js → 2d376f82cdf020e1fca9.js} +1 -1
  76. package/assets/esri/core/workers/chunks/{8c321c6bc344544ebb51.js → 2d52b137ee64469a46b2.js} +1 -1
  77. package/assets/esri/core/workers/chunks/{5b3f2bad61a0d993bf16.js → 2e63e18df96e5a2461de.js} +1 -1
  78. package/assets/esri/core/workers/chunks/{d4da3abbd3d88cd63cb9.js → 454150571b5b664b576a.js} +1 -1
  79. package/assets/esri/core/workers/chunks/4740d319f233b7f528fe.js +1 -0
  80. package/assets/esri/core/workers/chunks/{78ce6fcb72e97d3dc087.js → 499d594dc0d282dfe777.js} +1 -1
  81. package/assets/esri/core/workers/chunks/49d58bacb5b397246978.js +1 -0
  82. package/assets/esri/core/workers/chunks/4ba4aa6c75e3f8950e65.js +1 -0
  83. package/assets/esri/core/workers/chunks/{61ce373f00a0cad113ed.js → 4f2c29168c9de0b08741.js} +1 -1
  84. package/assets/esri/core/workers/chunks/{5789898948cc0da78b8b.js → 552e5c413828e181f89a.js} +1 -1
  85. package/assets/esri/core/workers/chunks/{5210bde0a05ab172ab28.js → 59f955c7d6b0589e7cc6.js} +1 -1
  86. package/assets/esri/core/workers/chunks/{5fe0bed2a0a9f8eadb28.js → 5a347b1d87eb6f710136.js} +1 -1
  87. package/assets/esri/core/workers/chunks/5b97cdeb5949822fbef3.js +1 -0
  88. package/assets/esri/core/workers/chunks/{d9dc3962535616a06e2f.js → 5cd614f50e8925eeeaf4.js} +1 -1
  89. package/assets/esri/core/workers/chunks/{178c91fabf4a87bbb50b.js → 620d7cd0b0885122aa0f.js} +1 -1
  90. package/assets/esri/core/workers/chunks/6321680c8070dffa3b6c.js +1 -0
  91. package/assets/esri/core/workers/chunks/6997b4d5bcc9c4755375.js +1 -0
  92. package/assets/esri/core/workers/chunks/{b79cceeee3ed46f218a0.js → 69ab42b965bccc3bad4f.js} +1 -1
  93. package/assets/esri/core/workers/chunks/{bb4c75479cfea67cf8a2.js → 6af14a0217077d9ab47f.js} +1 -1
  94. package/assets/esri/core/workers/chunks/{672542d0435fbfd0647c.js → 6b3d8280a24f7a3aac40.js} +1 -1
  95. package/assets/esri/core/workers/chunks/{3d78e9b3c97c0ce21d16.js → 7017c2e621236c7a7da4.js} +1 -1
  96. package/assets/esri/core/workers/chunks/7407a1e0cef508116a0b.js +1 -0
  97. package/assets/esri/core/workers/chunks/{da188d0e22ba1639928e.js → 75907e5d009b71ce723b.js} +1 -1
  98. package/assets/esri/core/workers/chunks/{1ab4289195f5e46c6fe8.js → 78936c591fd49ff955a9.js} +1 -1
  99. package/assets/esri/core/workers/chunks/{f0b8de5b3cfbe9223df6.js → 796f5265747ce8be910e.js} +1 -1
  100. package/assets/esri/core/workers/chunks/{ac62411b9b4cf85a4722.js → 7a037fbfd91dd22e3bf0.js} +1 -1
  101. package/assets/esri/core/workers/chunks/{50661f65a9c191f528bc.js → 7ee7529fcbd0d169047c.js} +1 -1
  102. package/assets/esri/core/workers/chunks/7f60309d211c49721265.js +1 -0
  103. package/assets/esri/core/workers/chunks/7f9b0ef7f9b3f3fd3df9.js +1 -0
  104. package/assets/esri/core/workers/chunks/{82a446e8befe9d29c8f0.js → 822a115c7d718e4e3d2b.js} +1 -1
  105. package/assets/esri/core/workers/chunks/{6789ddaa61e6d8f20d04.js → 8eea620f770576d18809.js} +1 -1
  106. package/assets/esri/core/workers/chunks/{10c4f5afe14c0addc418.js → 9332db133a0925d522fe.js} +1 -1
  107. package/assets/esri/core/workers/chunks/{bc87890d00d6dba979b2.js → 99c9f35a29f9f6c9e4ce.js} +1 -1
  108. package/assets/esri/core/workers/chunks/{455fbddd814e4681f0c0.js → a5e91cf150f6cf6a5d2a.js} +1 -1
  109. package/assets/esri/core/workers/chunks/{948ce2c199973f793651.js → a60a84c8c45f6d03443f.js} +1 -1
  110. package/assets/esri/core/workers/chunks/{eb4a2dc5efdb873a7f25.js → aef2832902b270f1a594.js} +1 -1
  111. package/assets/esri/core/workers/chunks/{b5fc0a2480a229e8891a.js → b5f291e8ed7f7cac158d.js} +1 -1
  112. package/assets/esri/core/workers/chunks/bd05e68b00b9878d0266.js +1 -0
  113. package/assets/esri/core/workers/chunks/{9a43065e51df9c21c9fa.js → bdb4f216ae8881b98604.js} +1 -1
  114. package/assets/esri/core/workers/chunks/c080e189764d8bb9cf25.js +1 -0
  115. package/assets/esri/core/workers/chunks/{bf9b2aa2e67ca746ec7c.js → c15f0769a64863cccef0.js} +1 -1
  116. package/assets/esri/core/workers/chunks/{27c8dea6154eb8c36fed.js → c53048b0f153b251d792.js} +1 -1
  117. package/assets/esri/core/workers/chunks/c6e0ada6f2ad74fddfec.js +1 -0
  118. package/assets/esri/core/workers/chunks/cf09408cb7729126caae.js +1 -0
  119. package/assets/esri/core/workers/chunks/e0565849281ffbe8269e.js +1 -0
  120. package/assets/esri/core/workers/chunks/e1ba6f857ca12f154e77.js +1 -0
  121. package/assets/esri/core/workers/chunks/{4ef60a76eeca20bcafb1.js → e4f1e584f89ffb86206b.js} +1 -1
  122. package/assets/esri/core/workers/chunks/{2889e782ed81bb05b9e5.js → e508f8e707eb3207cfcc.js} +1 -1
  123. package/assets/esri/core/workers/chunks/{2216264b22a605a0f1ce.js → e60684918100666bb892.js} +1 -1
  124. package/assets/esri/core/workers/chunks/{4550b7620932cd6de20e.js → e94448b371cd17d7a472.js} +1 -1
  125. package/assets/esri/core/workers/chunks/{bb8530ade7c40a1ed7c4.js → eb9e913fe0dfcc71cf92.js} +1 -1
  126. package/assets/esri/core/workers/chunks/ede1d1cc2f315a34f4ca.js +1 -0
  127. package/assets/esri/core/workers/chunks/{a5bd7e5d71cffde68f89.js → ee89564d11c077169b31.js} +1 -1
  128. package/assets/esri/core/workers/chunks/f17a301516f008abef3a.js +1 -0
  129. package/assets/esri/core/workers/chunks/{b3cc7f6d953bfbc3a70d.js → f62e37863a549f72093c.js} +1 -1
  130. package/assets/esri/core/workers/chunks/fc98b8351be567d3eb62.js +1 -0
  131. package/assets/esri/core/workers/chunks/fda0f4469d9cda637af4.js +1 -0
  132. package/assets/esri/core/workers/chunks/{554f389f99db430b309c.js → ff961bb6d29ab3fe129d.js} +1 -1
  133. package/assets/esri/libs/lyr3d/lyr3DMain.wasm +0 -0
  134. package/assets/esri/libs/lyr3d/lyr3DWorker.wasm +0 -0
  135. package/assets/esri/themes/base/widgets/_Attribution.scss +4 -2
  136. package/assets/esri/themes/dark/main.css +1 -1
  137. package/assets/esri/themes/light/main.css +1 -1
  138. package/assets/esri/themes/light/view.css +1 -1
  139. package/assets/esri/widgets/Directions/t9n/Directions_ar.json +1 -1
  140. package/assets/esri/widgets/Directions/t9n/Directions_bg.json +1 -1
  141. package/assets/esri/widgets/Directions/t9n/Directions_bs.json +1 -1
  142. package/assets/esri/widgets/Directions/t9n/Directions_ca.json +1 -1
  143. package/assets/esri/widgets/Directions/t9n/Directions_cs.json +1 -1
  144. package/assets/esri/widgets/Directions/t9n/Directions_da.json +1 -1
  145. package/assets/esri/widgets/Directions/t9n/Directions_de.json +1 -1
  146. package/assets/esri/widgets/Directions/t9n/Directions_el.json +1 -1
  147. package/assets/esri/widgets/Directions/t9n/Directions_es.json +1 -1
  148. package/assets/esri/widgets/Directions/t9n/Directions_et.json +1 -1
  149. package/assets/esri/widgets/Directions/t9n/Directions_fi.json +1 -1
  150. package/assets/esri/widgets/Directions/t9n/Directions_fr.json +1 -1
  151. package/assets/esri/widgets/Directions/t9n/Directions_he.json +1 -1
  152. package/assets/esri/widgets/Directions/t9n/Directions_hr.json +1 -1
  153. package/assets/esri/widgets/Directions/t9n/Directions_hu.json +1 -1
  154. package/assets/esri/widgets/Directions/t9n/Directions_id.json +1 -1
  155. package/assets/esri/widgets/Directions/t9n/Directions_it.json +1 -1
  156. package/assets/esri/widgets/Directions/t9n/Directions_ja.json +1 -1
  157. package/assets/esri/widgets/Directions/t9n/Directions_ko.json +1 -1
  158. package/assets/esri/widgets/Directions/t9n/Directions_lt.json +1 -1
  159. package/assets/esri/widgets/Directions/t9n/Directions_lv.json +1 -1
  160. package/assets/esri/widgets/Directions/t9n/Directions_nl.json +1 -1
  161. package/assets/esri/widgets/Directions/t9n/Directions_no.json +1 -1
  162. package/assets/esri/widgets/Directions/t9n/Directions_pl.json +1 -1
  163. package/assets/esri/widgets/Directions/t9n/Directions_pt-BR.json +1 -1
  164. package/assets/esri/widgets/Directions/t9n/Directions_pt-PT.json +1 -1
  165. package/assets/esri/widgets/Directions/t9n/Directions_ro.json +1 -1
  166. package/assets/esri/widgets/Directions/t9n/Directions_ru.json +1 -1
  167. package/assets/esri/widgets/Directions/t9n/Directions_sk.json +1 -1
  168. package/assets/esri/widgets/Directions/t9n/Directions_sl.json +1 -1
  169. package/assets/esri/widgets/Directions/t9n/Directions_sr.json +1 -1
  170. package/assets/esri/widgets/Directions/t9n/Directions_sv.json +1 -1
  171. package/assets/esri/widgets/Directions/t9n/Directions_th.json +1 -1
  172. package/assets/esri/widgets/Directions/t9n/Directions_tr.json +1 -1
  173. package/assets/esri/widgets/Directions/t9n/Directions_uk.json +1 -1
  174. package/assets/esri/widgets/Directions/t9n/Directions_vi.json +1 -1
  175. package/assets/esri/widgets/Directions/t9n/Directions_zh-CN.json +1 -1
  176. package/assets/esri/widgets/Directions/t9n/Directions_zh-HK.json +1 -1
  177. package/assets/esri/widgets/Directions/t9n/Directions_zh-TW.json +1 -1
  178. package/assets/esri/widgets/Editor/t9n/Editor_ar.json +1 -1
  179. package/assets/esri/widgets/Editor/t9n/Editor_bg.json +1 -1
  180. package/assets/esri/widgets/Editor/t9n/Editor_bs.json +1 -1
  181. package/assets/esri/widgets/Editor/t9n/Editor_ca.json +1 -1
  182. package/assets/esri/widgets/Editor/t9n/Editor_cs.json +1 -1
  183. package/assets/esri/widgets/Editor/t9n/Editor_da.json +1 -1
  184. package/assets/esri/widgets/Editor/t9n/Editor_de.json +1 -1
  185. package/assets/esri/widgets/Editor/t9n/Editor_el.json +1 -1
  186. package/assets/esri/widgets/Editor/t9n/Editor_es.json +1 -1
  187. package/assets/esri/widgets/Editor/t9n/Editor_et.json +1 -1
  188. package/assets/esri/widgets/Editor/t9n/Editor_fi.json +1 -1
  189. package/assets/esri/widgets/Editor/t9n/Editor_fr.json +1 -1
  190. package/assets/esri/widgets/Editor/t9n/Editor_he.json +1 -1
  191. package/assets/esri/widgets/Editor/t9n/Editor_hr.json +1 -1
  192. package/assets/esri/widgets/Editor/t9n/Editor_hu.json +1 -1
  193. package/assets/esri/widgets/Editor/t9n/Editor_id.json +1 -1
  194. package/assets/esri/widgets/Editor/t9n/Editor_it.json +1 -1
  195. package/assets/esri/widgets/Editor/t9n/Editor_ja.json +1 -1
  196. package/assets/esri/widgets/Editor/t9n/Editor_ko.json +1 -1
  197. package/assets/esri/widgets/Editor/t9n/Editor_lt.json +1 -1
  198. package/assets/esri/widgets/Editor/t9n/Editor_lv.json +1 -1
  199. package/assets/esri/widgets/Editor/t9n/Editor_nl.json +1 -1
  200. package/assets/esri/widgets/Editor/t9n/Editor_no.json +1 -1
  201. package/assets/esri/widgets/Editor/t9n/Editor_pl.json +1 -1
  202. package/assets/esri/widgets/Editor/t9n/Editor_pt-BR.json +1 -1
  203. package/assets/esri/widgets/Editor/t9n/Editor_pt-PT.json +1 -1
  204. package/assets/esri/widgets/Editor/t9n/Editor_ro.json +1 -1
  205. package/assets/esri/widgets/Editor/t9n/Editor_ru.json +1 -1
  206. package/assets/esri/widgets/Editor/t9n/Editor_sk.json +1 -1
  207. package/assets/esri/widgets/Editor/t9n/Editor_sl.json +1 -1
  208. package/assets/esri/widgets/Editor/t9n/Editor_sr.json +1 -1
  209. package/assets/esri/widgets/Editor/t9n/Editor_sv.json +1 -1
  210. package/assets/esri/widgets/Editor/t9n/Editor_th.json +1 -1
  211. package/assets/esri/widgets/Editor/t9n/Editor_tr.json +1 -1
  212. package/assets/esri/widgets/Editor/t9n/Editor_uk.json +1 -1
  213. package/assets/esri/widgets/Editor/t9n/Editor_vi.json +1 -1
  214. package/assets/esri/widgets/Editor/t9n/Editor_zh-CN.json +1 -1
  215. package/assets/esri/widgets/Editor/t9n/Editor_zh-HK.json +1 -1
  216. package/assets/esri/widgets/Editor/t9n/Editor_zh-TW.json +1 -1
  217. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ar.json +1 -1
  218. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_bg.json +1 -1
  219. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_bs.json +1 -1
  220. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ca.json +1 -1
  221. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_cs.json +1 -1
  222. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_da.json +1 -1
  223. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_de.json +1 -1
  224. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_el.json +1 -1
  225. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_es.json +1 -1
  226. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_et.json +1 -1
  227. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_fi.json +1 -1
  228. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_fr.json +1 -1
  229. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_he.json +1 -1
  230. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_hr.json +1 -1
  231. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_hu.json +1 -1
  232. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_id.json +1 -1
  233. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_it.json +1 -1
  234. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ja.json +1 -1
  235. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ko.json +1 -1
  236. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_lt.json +1 -1
  237. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_lv.json +1 -1
  238. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_nl.json +1 -1
  239. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_no.json +1 -1
  240. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_pl.json +1 -1
  241. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_pt-BR.json +1 -1
  242. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_pt-PT.json +1 -1
  243. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ro.json +1 -1
  244. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ru.json +1 -1
  245. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_sk.json +1 -1
  246. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_sl.json +1 -1
  247. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_sr.json +1 -1
  248. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_sv.json +1 -1
  249. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_th.json +1 -1
  250. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_tr.json +1 -1
  251. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_uk.json +1 -1
  252. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_vi.json +1 -1
  253. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_zh-CN.json +1 -1
  254. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_zh-HK.json +1 -1
  255. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_zh-TW.json +1 -1
  256. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ar.json +1 -1
  257. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_bg.json +1 -1
  258. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_bs.json +1 -1
  259. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ca.json +1 -1
  260. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_cs.json +1 -1
  261. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_da.json +1 -1
  262. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_de.json +1 -1
  263. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_el.json +1 -1
  264. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_es.json +1 -1
  265. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_et.json +1 -1
  266. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_fi.json +1 -1
  267. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_fr.json +1 -1
  268. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_he.json +1 -1
  269. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_hr.json +1 -1
  270. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_hu.json +1 -1
  271. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_id.json +1 -1
  272. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_it.json +1 -1
  273. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ja.json +1 -1
  274. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ko.json +1 -1
  275. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_lt.json +1 -1
  276. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_lv.json +1 -1
  277. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_nl.json +1 -1
  278. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_no.json +1 -1
  279. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pl.json +1 -1
  280. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pt-BR.json +1 -1
  281. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pt-PT.json +1 -1
  282. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ro.json +1 -1
  283. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ru.json +1 -1
  284. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sk.json +1 -1
  285. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sl.json +1 -1
  286. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sr.json +1 -1
  287. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sv.json +1 -1
  288. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_th.json +1 -1
  289. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_tr.json +1 -1
  290. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_uk.json +1 -1
  291. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_vi.json +1 -1
  292. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-CN.json +1 -1
  293. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-HK.json +1 -1
  294. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-TW.json +1 -1
  295. package/assets/esri/widgets/Sketch/t9n/Sketch_ar.json +1 -1
  296. package/assets/esri/widgets/Sketch/t9n/Sketch_bg.json +1 -1
  297. package/assets/esri/widgets/Sketch/t9n/Sketch_bs.json +1 -1
  298. package/assets/esri/widgets/Sketch/t9n/Sketch_ca.json +1 -1
  299. package/assets/esri/widgets/Sketch/t9n/Sketch_cs.json +1 -1
  300. package/assets/esri/widgets/Sketch/t9n/Sketch_da.json +1 -1
  301. package/assets/esri/widgets/Sketch/t9n/Sketch_de.json +1 -1
  302. package/assets/esri/widgets/Sketch/t9n/Sketch_el.json +1 -1
  303. package/assets/esri/widgets/Sketch/t9n/Sketch_es.json +1 -1
  304. package/assets/esri/widgets/Sketch/t9n/Sketch_et.json +1 -1
  305. package/assets/esri/widgets/Sketch/t9n/Sketch_fi.json +1 -1
  306. package/assets/esri/widgets/Sketch/t9n/Sketch_fr.json +1 -1
  307. package/assets/esri/widgets/Sketch/t9n/Sketch_he.json +1 -1
  308. package/assets/esri/widgets/Sketch/t9n/Sketch_hr.json +1 -1
  309. package/assets/esri/widgets/Sketch/t9n/Sketch_hu.json +1 -1
  310. package/assets/esri/widgets/Sketch/t9n/Sketch_id.json +1 -1
  311. package/assets/esri/widgets/Sketch/t9n/Sketch_it.json +1 -1
  312. package/assets/esri/widgets/Sketch/t9n/Sketch_ja.json +1 -1
  313. package/assets/esri/widgets/Sketch/t9n/Sketch_ko.json +1 -1
  314. package/assets/esri/widgets/Sketch/t9n/Sketch_lt.json +1 -1
  315. package/assets/esri/widgets/Sketch/t9n/Sketch_lv.json +1 -1
  316. package/assets/esri/widgets/Sketch/t9n/Sketch_nl.json +1 -1
  317. package/assets/esri/widgets/Sketch/t9n/Sketch_no.json +1 -1
  318. package/assets/esri/widgets/Sketch/t9n/Sketch_pl.json +1 -1
  319. package/assets/esri/widgets/Sketch/t9n/Sketch_pt-BR.json +1 -1
  320. package/assets/esri/widgets/Sketch/t9n/Sketch_pt-PT.json +1 -1
  321. package/assets/esri/widgets/Sketch/t9n/Sketch_ro.json +1 -1
  322. package/assets/esri/widgets/Sketch/t9n/Sketch_ru.json +1 -1
  323. package/assets/esri/widgets/Sketch/t9n/Sketch_sk.json +1 -1
  324. package/assets/esri/widgets/Sketch/t9n/Sketch_sl.json +1 -1
  325. package/assets/esri/widgets/Sketch/t9n/Sketch_sr.json +1 -1
  326. package/assets/esri/widgets/Sketch/t9n/Sketch_sv.json +1 -1
  327. package/assets/esri/widgets/Sketch/t9n/Sketch_th.json +1 -1
  328. package/assets/esri/widgets/Sketch/t9n/Sketch_tr.json +1 -1
  329. package/assets/esri/widgets/Sketch/t9n/Sketch_uk.json +1 -1
  330. package/assets/esri/widgets/Sketch/t9n/Sketch_vi.json +1 -1
  331. package/assets/esri/widgets/Sketch/t9n/Sketch_zh-CN.json +1 -1
  332. package/assets/esri/widgets/Sketch/t9n/Sketch_zh-HK.json +1 -1
  333. package/assets/esri/widgets/Sketch/t9n/Sketch_zh-TW.json +1 -1
  334. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_ar.json +1 -1
  335. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_bg.json +1 -1
  336. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_bs.json +1 -1
  337. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_ca.json +1 -1
  338. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_cs.json +1 -1
  339. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_da.json +1 -1
  340. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_de.json +1 -1
  341. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_el.json +1 -1
  342. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_es.json +1 -1
  343. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_et.json +1 -1
  344. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_fi.json +1 -1
  345. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_fr.json +1 -1
  346. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_he.json +1 -1
  347. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_hr.json +1 -1
  348. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_hu.json +1 -1
  349. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_id.json +1 -1
  350. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_it.json +1 -1
  351. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_ja.json +1 -1
  352. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_ko.json +1 -1
  353. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_lt.json +1 -1
  354. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_lv.json +1 -1
  355. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_nl.json +1 -1
  356. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_no.json +1 -1
  357. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_pl.json +1 -1
  358. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_pt-BR.json +1 -1
  359. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_pt-PT.json +1 -1
  360. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_ro.json +1 -1
  361. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_ru.json +1 -1
  362. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_sk.json +1 -1
  363. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_sl.json +1 -1
  364. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_sr.json +1 -1
  365. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_sv.json +1 -1
  366. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_th.json +1 -1
  367. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_tr.json +1 -1
  368. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_uk.json +1 -1
  369. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_vi.json +1 -1
  370. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_zh-CN.json +1 -1
  371. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_zh-HK.json +1 -1
  372. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_zh-TW.json +1 -1
  373. package/chunks/Fog.glsl.js +1 -1
  374. package/config.js +1 -1
  375. package/core/has.js +1 -1
  376. package/core/sql/types.d.ts +398 -86
  377. package/core/types.d.ts +5 -0
  378. package/core/workers/workerFactory.js +1 -1
  379. package/editing/sharedTemplates/executor/builders/radialLines.js +1 -1
  380. package/editing/sharedTemplates/executor/builders/support/shapeUtils.js +1 -1
  381. package/effects/FocusAreas.d.ts +1 -1
  382. package/form/elements/FieldElement.d.ts +1 -1
  383. package/form/elements/GroupElement.d.ts +1 -1
  384. package/form/elements/TextElement.d.ts +1 -1
  385. package/form/elements/inputs/ComboBoxInput.d.ts +1 -1
  386. package/form/elements/inputs/RadioButtonsInput.d.ts +1 -1
  387. package/form/elements/inputs/SwitchInput.d.ts +1 -1
  388. package/geometry/Mesh.d.ts +7 -7
  389. package/geometry/operators/alphaShapeOperator.d.ts +1 -1
  390. package/geometry/operators/areaOperator.d.ts +1 -1
  391. package/geometry/operators/bufferOperator.d.ts +1 -1
  392. package/geometry/operators/centroidOperator.d.ts +1 -1
  393. package/geometry/operators/clipOperator.d.ts +1 -1
  394. package/geometry/operators/containsOperator.d.ts +1 -1
  395. package/geometry/operators/convexHullOperator.d.ts +1 -1
  396. package/geometry/operators/crossesOperator.d.ts +1 -1
  397. package/geometry/operators/cutOperator.d.ts +1 -1
  398. package/geometry/operators/densifyOperator.d.ts +1 -1
  399. package/geometry/operators/differenceOperator.d.ts +1 -1
  400. package/geometry/operators/disjointOperator.d.ts +1 -1
  401. package/geometry/operators/distanceOperator.d.ts +1 -1
  402. package/geometry/operators/generalizeOperator.d.ts +1 -1
  403. package/geometry/operators/geodesicProximityOperator.d.ts +1 -1
  404. package/geometry/operators/geodeticDistanceOperator.d.ts +1 -1
  405. package/geometry/operators/geodeticUtilsOperator.d.ts +2 -2
  406. package/geometry/operators/graphicBufferOperator.d.ts +1 -1
  407. package/geometry/operators/intersectionOperator.d.ts +1 -1
  408. package/geometry/operators/intersectsOperator.d.ts +1 -1
  409. package/geometry/operators/isNearOperator.d.ts +1 -1
  410. package/geometry/operators/lengthOperator.d.ts +1 -1
  411. package/geometry/operators/locateBetweenOperator.d.ts +1 -1
  412. package/geometry/operators/multiPartToSinglePartOperator.d.ts +1 -1
  413. package/geometry/operators/offsetOperator.d.ts +5 -5
  414. package/geometry/operators/overlapsOperator.d.ts +1 -1
  415. package/geometry/operators/proximityOperator.d.ts +1 -1
  416. package/geometry/operators/simplifyOGCOperator.d.ts +1 -1
  417. package/geometry/operators/simplifyOperator.d.ts +1 -1
  418. package/geometry/operators/support/Transformation.d.ts +6 -6
  419. package/geometry/operators/symmetricDifferenceOperator.d.ts +1 -1
  420. package/geometry/operators/touchesOperator.d.ts +1 -1
  421. package/geometry/operators/unionOperator.d.ts +1 -1
  422. package/geometry/operators/withinOperator.d.ts +1 -1
  423. package/geometry/projectionUtils.js +1 -1
  424. package/geometry/support/MeshMaterialMetallicRoughness.d.ts +1 -1
  425. package/geometry/support/curves/curveUtils.js +1 -1
  426. package/kernel.js +1 -1
  427. package/layers/BuildingSceneLayer.d.ts +4 -4
  428. package/layers/CSVLayer.d.ts +4 -4
  429. package/layers/CatalogLayer.d.ts +2 -2
  430. package/layers/ElevationLayer.d.ts +1 -1
  431. package/layers/FeatureLayer.d.ts +2 -2
  432. package/layers/GaussianSplatLayer.d.ts +77 -10
  433. package/layers/GeoJSONLayer.d.ts +3 -3
  434. package/layers/GeoRSSLayer.d.ts +1 -1
  435. package/layers/GraphicsLayer.d.ts +2 -2
  436. package/layers/ImageryLayer.d.ts +3 -3
  437. package/layers/ImageryTileLayer.d.ts +2 -2
  438. package/layers/IntegratedMesh3DTilesLayer.d.ts +6 -6
  439. package/layers/IntegratedMesh3DTilesLayer.js +1 -1
  440. package/layers/IntegratedMeshLayer.d.ts +7 -7
  441. package/layers/Layer.d.ts +2 -0
  442. package/layers/Lyr3DWasmPerSceneView.js +1 -1
  443. package/layers/MapImageLayer.d.ts +1 -1
  444. package/layers/MediaLayer.d.ts +1 -1
  445. package/layers/OGCFeatureLayer.d.ts +2 -2
  446. package/layers/PointCloudLayer.d.ts +1 -1
  447. package/layers/SceneLayer.d.ts +9 -9
  448. package/layers/StreamLayer.d.ts +2 -2
  449. package/layers/VectorTileLayer.d.ts +2 -2
  450. package/layers/VideoLayer.d.ts +1 -1
  451. package/layers/VoxelLayer.d.ts +8 -8
  452. package/layers/WFSLayer.d.ts +6 -6
  453. package/layers/catalog/CatalogFootprintLayer.d.ts +1 -1
  454. package/layers/graphics/data/QueryEngineResult.js +1 -1
  455. package/layers/graphics/data/SnappingCandidate.js +1 -1
  456. package/layers/mixins/BlendLayer.d.ts +6 -6
  457. package/layers/pointCloudFilters/PointCloudReturnFilter.d.ts +1 -1
  458. package/layers/pointCloudFilters/PointCloudValueFilter.d.ts +1 -1
  459. package/layers/support/ControlPointsGeoreference.d.ts +2 -2
  460. package/layers/support/ControlPointsGeoreference.js +1 -1
  461. package/layers/support/CornersGeoreference.d.ts +2 -2
  462. package/layers/support/CornersGeoreference.js +1 -1
  463. package/layers/support/DimensionalDefinition.d.ts +2 -2
  464. package/layers/support/ExtentAndRotationGeoreference.d.ts +2 -2
  465. package/layers/support/ExtentAndRotationGeoreference.js +1 -1
  466. package/layers/support/FeatureEffect.d.ts +4 -4
  467. package/layers/support/FeatureFilter.d.ts +17 -17
  468. package/layers/support/FeatureReductionBinning.d.ts +1 -1
  469. package/layers/support/FeatureReductionCluster.d.ts +9 -9
  470. package/layers/support/FeatureReductionSelection.d.ts +1 -1
  471. package/layers/support/GeoreferenceBaseMixin.js +2 -0
  472. package/layers/support/LabelClass.d.ts +2 -2
  473. package/layers/support/RasterFunction.d.ts +1 -1
  474. package/layers/support/SceneFilter.d.ts +2 -2
  475. package/layers/support/SceneModification.d.ts +3 -3
  476. package/layers/support/mediaUtils.js +1 -1
  477. package/layers/support/relativeTimeQueryUtils.js +1 -1
  478. package/layers/support/serviceCapabilitiesUtils.js +1 -1
  479. package/layers/types.d.ts +24 -10
  480. package/package.json +1 -1
  481. package/popup/content/AttachmentsContent.d.ts +1 -1
  482. package/popup/content/BarChartMediaInfo.d.ts +1 -1
  483. package/popup/content/ColumnChartMediaInfo.d.ts +1 -1
  484. package/popup/content/FieldsContent.d.ts +1 -1
  485. package/popup/content/ImageMediaInfo.d.ts +1 -1
  486. package/popup/content/LineChartMediaInfo.d.ts +1 -1
  487. package/popup/content/MediaContent.d.ts +1 -1
  488. package/popup/content/PieChartMediaInfo.d.ts +1 -1
  489. package/popup/content/RelationshipContent.d.ts +1 -1
  490. package/popup/content/TextContent.d.ts +1 -1
  491. package/renderers/ClassBreaksRenderer.d.ts +1 -1
  492. package/renderers/DictionaryRenderer.d.ts +1 -1
  493. package/renderers/DotDensityRenderer.d.ts +46 -3
  494. package/renderers/DotDensityRenderer.js +1 -1
  495. package/renderers/FlowRenderer.d.ts +6 -6
  496. package/renderers/HeatmapRenderer.d.ts +3 -3
  497. package/renderers/PieChartRenderer.d.ts +1 -1
  498. package/renderers/RasterShadedReliefRenderer.d.ts +1 -1
  499. package/renderers/Renderer.d.ts +4 -4
  500. package/renderers/SimpleRenderer.d.ts +2 -2
  501. package/renderers/UniqueValueRenderer.d.ts +2 -2
  502. package/renderers/VectorFieldRenderer.d.ts +1 -1
  503. package/renderers/mixins/VisualVariablesMixin.d.ts +12 -12
  504. package/renderers/visualVariables/ColorVariable.d.ts +1 -1
  505. package/renderers/visualVariables/OpacityVariable.d.ts +1 -1
  506. package/renderers/visualVariables/RotationVariable.d.ts +1 -1
  507. package/renderers/visualVariables/SizeVariable.d.ts +1 -1
  508. package/renderers/visualVariables/VisualVariable.d.ts +1 -1
  509. package/rest/featureService/FeatureService.js +1 -1
  510. package/rest/print.js +1 -1
  511. package/rest/query/operations/pbfFlatFeatureSet.js +1 -1
  512. package/rest/query/support/AttachmentInfo.d.ts +1 -1
  513. package/rest/support/AutoIntervalBinParameters.d.ts +1 -1
  514. package/rest/support/DateBinParameters.d.ts +1 -1
  515. package/rest/support/FixedBoundariesBinParameters.d.ts +1 -1
  516. package/rest/support/FixedIntervalBinParameters.d.ts +1 -1
  517. package/smartMapping/labels/clusters.d.ts +1 -1
  518. package/smartMapping/popup/clusters.d.ts +2 -2
  519. package/smartMapping/popup/templates.d.ts +1 -1
  520. package/smartMapping/raster/renderers/flow.d.ts +2 -2
  521. package/smartMapping/renderers/color.d.ts +12 -12
  522. package/smartMapping/renderers/predominance.d.ts +3 -3
  523. package/smartMapping/renderers/relationship.d.ts +15 -15
  524. package/smartMapping/renderers/univariateColorSize.d.ts +4 -4
  525. package/smartMapping/symbology/color.d.ts +4 -4
  526. package/smartMapping/symbology/flow.d.ts +2 -2
  527. package/smartMapping/symbology/types.d.ts +18 -18
  528. package/support/actions/ActionButton.d.ts +1 -1
  529. package/support/revision.js +1 -1
  530. package/symbols/CIMSymbol.d.ts +1 -1
  531. package/symbols/ExtrudeSymbol3DLayer.d.ts +21 -11
  532. package/symbols/FillSymbol3DLayer.d.ts +39 -19
  533. package/symbols/IconSymbol3DLayer.d.ts +1 -1
  534. package/symbols/LabelSymbol3D.d.ts +2 -2
  535. package/symbols/LineStyleMarker3D.d.ts +7 -7
  536. package/symbols/LineSymbol3D.d.ts +2 -2
  537. package/symbols/LineSymbol3DLayer.d.ts +7 -7
  538. package/symbols/LineSymbolMarker.d.ts +6 -6
  539. package/symbols/MarkerSymbol.d.ts +1 -1
  540. package/symbols/MeshSymbol3D.d.ts +2 -2
  541. package/symbols/ObjectSymbol3DLayer.d.ts +29 -7
  542. package/symbols/PathSymbol3DLayer.d.ts +32 -20
  543. package/symbols/PictureFillSymbol.d.ts +1 -1
  544. package/symbols/PictureMarkerSymbol.d.ts +1 -1
  545. package/symbols/PointSymbol3D.d.ts +3 -3
  546. package/symbols/PolygonSymbol3D.d.ts +7 -7
  547. package/symbols/SimpleFillSymbol.d.ts +8 -8
  548. package/symbols/SimpleLineSymbol.d.ts +20 -20
  549. package/symbols/SimpleMarkerSymbol.d.ts +7 -7
  550. package/symbols/Symbol3DLayer.d.ts +16 -16
  551. package/symbols/TextSymbol.d.ts +1 -1
  552. package/symbols/TextSymbol3DLayer.d.ts +1 -1
  553. package/symbols/WaterSymbol3DLayer.d.ts +3 -3
  554. package/symbols/WebStyleSymbol.d.ts +1 -1
  555. package/symbols/callouts/Callout3D.d.ts +1 -1
  556. package/symbols/callouts/LineCallout3D.d.ts +3 -3
  557. package/symbols/cim/CIMSymbolHelper.js +1 -1
  558. package/symbols/cim/rasterizingUtils.js +1 -1
  559. package/symbols/cim/types.d.ts +23 -23
  560. package/symbols/edges/Edges3D.d.ts +1 -1
  561. package/symbols/edges/SolidEdges3D.d.ts +1 -1
  562. package/symbols/patterns/LineStylePattern3D.d.ts +11 -11
  563. package/symbols/patterns/StylePattern3D.d.ts +8 -8
  564. package/symbols/support/ElevationInfo.d.ts +4 -4
  565. package/symbols/support/IconSymbol3DLayerResource.d.ts +6 -6
  566. package/symbols/support/ObjectSymbol3DLayerResource.d.ts +7 -7
  567. package/symbols/support/Symbol3DEmissive.d.ts +19 -6
  568. package/symbols/support/Symbol3DVerticalOffset.d.ts +2 -2
  569. package/time/TimeExtent.d.ts +1 -1
  570. package/versionManagement/VersionManagementService.d.ts +4 -0
  571. package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
  572. package/views/2d/interactive/SnappingVisualizer2D.js +1 -1
  573. package/views/2d/layers/BaseLayerViewGL2D.d.ts +1 -1
  574. package/views/2d/layers/features/layerAdapters/CatalogFootprintLayerAdapter.js +1 -1
  575. package/views/2d/layers/features/layerAdapters/FeatureLayerAdapter.js +1 -1
  576. package/views/2d/layers/features/layerAdapters/InMemoryLayerAdapter.js +1 -1
  577. package/views/2d/layers/features/layerAdapters/KnowledgeGraphSublayerAdapter.js +1 -1
  578. package/views/2d/layers/features/layerAdapters/OGCFeatureLayerAdapter.js +1 -1
  579. package/views/2d/layers/features/layerAdapters/OrientedImageryLayerAdapter.js +1 -1
  580. package/views/2d/layers/features/layerAdapters/SubtypeGroupLayerAdapter.js +1 -1
  581. package/views/2d/layers/features/sources/FeatureSourceQueryInfo.js +1 -1
  582. package/views/2d/layers/features/sources/strategies/FeaturePagedTileLoadStrategy.js +1 -1
  583. package/views/2d/layers/features/sources/strategies/FeatureSnapshotLoadStrategy.js +1 -1
  584. package/views/2d/layers/features/sources/strategies/chunks/SourceChunkStore.js +1 -1
  585. package/views/2d/layers/support/RouteLayerWaypointVisualization.js +1 -1
  586. package/views/2d/types.d.ts +3 -3
  587. package/views/3d/environment/CloudyWeather.d.ts +1 -1
  588. package/views/3d/environment/Environment.d.ts +4 -4
  589. package/views/3d/environment/FoggyWeather.d.ts +1 -1
  590. package/views/3d/environment/RainyWeather.d.ts +1 -1
  591. package/views/3d/environment/SnowyWeather.d.ts +1 -1
  592. package/views/3d/environment/SunLighting.d.ts +1 -1
  593. package/views/3d/environment/SunnyWeather.d.ts +1 -1
  594. package/views/3d/environment/VirtualLighting.d.ts +1 -1
  595. package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
  596. package/views/3d/layers/graphics/Graphics3DLineCalloutSymbolLayer.js +1 -1
  597. package/views/3d/layers/graphics/Graphics3DPolygonFillSymbolLayer.js +1 -1
  598. package/views/3d/layers/graphics/polygonUtils.js +1 -1
  599. package/views/3d/layers/support/featureTileQuery3D.js +1 -1
  600. package/views/3d/webgl/RenderNode.d.ts +2 -2
  601. package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
  602. package/views/3d/webgl-engine/effects/glow/GlowRenderNode.js +1 -1
  603. package/views/3d/webgl-engine/materials/ColorMaterial.js +1 -1
  604. package/views/3d/webgl-engine/materials/LineCalloutMaterial.js +1 -1
  605. package/views/3d/webgl-engine/materials/LineCalloutMaterialBaseInstance.js +2 -0
  606. package/views/3d/webgl-engine/materials/PatternMaterial.js +1 -1
  607. package/views/3d/webgl-engine/materials/renderers/VaoWriter.js +1 -1
  608. package/views/3d/webgl-engine/shaders/ColorMaterialTechniqueConfiguration.js +1 -1
  609. package/views/3d/webgl-engine/shaders/LineCalloutTechnique.js +1 -1
  610. package/views/3d/webgl-engine/shaders/PatternTechniqueConfiguration.js +1 -1
  611. package/views/3d/webgl.d.ts +1 -1
  612. package/views/LinkChartView.d.ts +1 -1
  613. package/views/Magnifier.d.ts +3 -3
  614. package/views/MapView.d.ts +8 -8
  615. package/views/SceneView.d.ts +18 -18
  616. package/views/View.d.ts +2 -2
  617. package/views/input/types.d.ts +1 -1
  618. package/views/interactive/keybindings.js +1 -1
  619. package/views/interactive/sketch/SketchLabelOptions.d.ts +1 -1
  620. package/views/interactive/sketch/SketchTooltipOptions.d.ts +1 -1
  621. package/views/interactive/snapping/SnappingOptions.d.ts +7 -7
  622. package/views/interactive/snapping/candidates/EdgeSnappingCandidate.js +1 -1
  623. package/views/interactive/snapping/featureSources/GraphicsSnappingSource.js +1 -1
  624. package/views/interactive/snapping/featureSources/queryEngineUtils.js +1 -1
  625. package/views/interactive/snapping/featureSources/snappingCandidateElevationAlignment.js +1 -1
  626. package/views/interactive/snapping/featureSources/snappingCandidateElevationFilter.js +1 -1
  627. package/views/interactive/snapping/hints/LineSnappingHint.js +1 -1
  628. package/views/layers/FeatureLikeLayerView.js +1 -1
  629. package/views/layers/support/WhereClauseVisitor.js +1 -1
  630. package/views/support/HighlightOptions.d.ts +1 -1
  631. package/views/ui/DefaultUI.d.ts +2 -2
  632. package/views/webgl/BufferObject.js +1 -1
  633. package/views/webgl/RenderingContext.js +1 -1
  634. package/webscene/Environment.d.ts +16 -11
  635. package/webscene/Glow.d.ts +9 -2
  636. package/webscene/background/ColorBackground.d.ts +1 -1
  637. package/widgets/AreaMeasurement2D.d.ts +1 -1
  638. package/widgets/AreaMeasurement3D.d.ts +2 -2
  639. package/widgets/Attachments.d.ts +1 -1
  640. package/widgets/Attribution.d.ts +1 -1
  641. package/widgets/BasemapGallery.d.ts +1 -1
  642. package/widgets/BasemapLayerList.d.ts +3 -3
  643. package/widgets/BasemapToggle.d.ts +1 -1
  644. package/widgets/BatchAttributeForm/BatchAttributeFormViewModel.d.ts +1 -2
  645. package/widgets/BatchAttributeForm/expressions/ExpressionsManager.js +1 -1
  646. package/widgets/BatchAttributeForm/expressions/ExpressionsModel.js +1 -1
  647. package/widgets/BatchAttributeForm/inputs/BatchFormInputs.d.ts +0 -1
  648. package/widgets/BatchAttributeForm/inputs/FieldInput.d.ts +1 -1
  649. package/widgets/BatchAttributeForm/inputs/InputBase.js +1 -1
  650. package/widgets/BatchAttributeForm/inputs/TextElementInput.d.ts +2 -11
  651. package/widgets/BatchAttributeForm/inputs/TextElementInput.js +1 -1
  652. package/widgets/BatchAttributeForm/inputs/support/inputUtils.js +1 -1
  653. package/widgets/BatchAttributeForm/inputs/support/textElementInputUtils.js +2 -0
  654. package/widgets/BatchAttributeForm/templates/TextElementTemplate.js +1 -1
  655. package/widgets/BatchAttributeForm/templates/support/constants.js +2 -0
  656. package/widgets/BatchAttributeForm/templates/support/createBatchFormTemplate.js +1 -1
  657. package/widgets/BatchAttributeForm/templates/support/hashElementTemplate.js +1 -1
  658. package/widgets/BatchAttributeForm/templates/support/textElementTemplateUtils.js +2 -0
  659. package/widgets/BatchAttributeForm.d.ts +0 -2
  660. package/widgets/Bookmarks/BookmarksVisibleElements.d.ts +1 -1
  661. package/widgets/Bookmarks.d.ts +2 -2
  662. package/widgets/BuildingExplorer.d.ts +1 -1
  663. package/widgets/CatalogLayerList.d.ts +3 -3
  664. package/widgets/Compass.d.ts +2 -2
  665. package/widgets/CoordinateConversion.d.ts +1 -1
  666. package/widgets/Daylight.d.ts +5 -5
  667. package/widgets/DirectLineMeasurement3D.d.ts +2 -2
  668. package/widgets/Directions.d.ts +4 -4
  669. package/widgets/DistanceMeasurement2D.d.ts +1 -1
  670. package/widgets/Editor/CreateFeaturesWorkflow.d.ts +1 -1
  671. package/widgets/Editor/EditorViewModel.js +1 -1
  672. package/widgets/Editor/components/Settings.js +1 -1
  673. package/widgets/Editor.d.ts +8 -8
  674. package/widgets/ElevationProfile/ElevationProfileLineGround.d.ts +1 -1
  675. package/widgets/ElevationProfile/ElevationProfileLineInput.d.ts +1 -1
  676. package/widgets/ElevationProfile/ElevationProfileLineView.d.ts +1 -1
  677. package/widgets/ElevationProfile.d.ts +3 -3
  678. package/widgets/Expand.d.ts +1 -1
  679. package/widgets/FeatureForm.d.ts +1 -1
  680. package/widgets/FeatureTable/ActionColumn.d.ts +2 -2
  681. package/widgets/FeatureTable/AttachmentsColumn.d.ts +1 -1
  682. package/widgets/FeatureTable/FeatureTableViewModel.d.ts +3 -3
  683. package/widgets/FeatureTable/Grid/GroupColumn.d.ts +1 -1
  684. package/widgets/FeatureTable/RelationshipColumn.d.ts +1 -1
  685. package/widgets/FeatureTable/VisibleElements.d.ts +1 -1
  686. package/widgets/FeatureTable.d.ts +10 -10
  687. package/widgets/FeatureTemplates/FeatureTemplatesViewModel.d.ts +5 -5
  688. package/widgets/FeatureTemplates.d.ts +8 -8
  689. package/widgets/Features/FeaturesViewModel.d.ts +2 -2
  690. package/widgets/Features/FeaturesViewModel.js +1 -1
  691. package/widgets/Features/FeaturesVisibleElements.d.ts +2 -2
  692. package/widgets/Features.d.ts +1 -1
  693. package/widgets/Histogram.d.ts +2 -2
  694. package/widgets/HistogramRangeSlider.d.ts +1 -1
  695. package/widgets/Home.d.ts +1 -1
  696. package/widgets/LayerList/ListItemPanel.d.ts +1 -1
  697. package/widgets/LayerList.d.ts +4 -4
  698. package/widgets/Legend.d.ts +8 -8
  699. package/widgets/LineOfSight.d.ts +1 -1
  700. package/widgets/Locate.d.ts +2 -2
  701. package/widgets/Measurement.d.ts +1 -1
  702. package/widgets/NavigationToggle/NavigationToggleViewModel.d.ts +1 -1
  703. package/widgets/NavigationToggle.d.ts +3 -3
  704. package/widgets/Popup/PopupVisibleElements.d.ts +2 -2
  705. package/widgets/Popup.d.ts +5 -5
  706. package/widgets/Print/CustomTemplate.d.ts +1 -1
  707. package/widgets/Print/PrintViewModel.js +1 -1
  708. package/widgets/Print/TemplateOptions.d.ts +4 -4
  709. package/widgets/ScaleRangeSlider.d.ts +1 -1
  710. package/widgets/Search/SearchViewModel.d.ts +4 -4
  711. package/widgets/Search.d.ts +5 -5
  712. package/widgets/ShadowCast.d.ts +3 -3
  713. package/widgets/Sketch/SketchViewModel.d.ts +39 -39
  714. package/widgets/Sketch.d.ts +43 -43
  715. package/widgets/Sketch.js +1 -1
  716. package/widgets/Slice.d.ts +2 -2
  717. package/widgets/Slider/SliderViewModel.d.ts +2 -2
  718. package/widgets/Slider.d.ts +9 -9
  719. package/widgets/Swipe/SwipeViewModel.d.ts +1 -1
  720. package/widgets/Swipe.d.ts +2 -2
  721. package/widgets/TableList/ListItemPanel.d.ts +1 -1
  722. package/widgets/TableList.d.ts +1 -1
  723. package/widgets/TimeSlider/TimeSliderViewModel.d.ts +9 -11
  724. package/widgets/TimeSlider/types.d.ts +1 -1
  725. package/widgets/TimeSlider.d.ts +12 -14
  726. package/widgets/Track.d.ts +2 -2
  727. package/widgets/UtilityNetworkAssociations.d.ts +3 -3
  728. package/widgets/UtilityNetworkTrace.d.ts +4 -4
  729. package/widgets/UtilityNetworkValidateTopology.d.ts +1 -1
  730. package/widgets/ValuePicker.d.ts +5 -5
  731. package/widgets/VideoPlayer.d.ts +1 -1
  732. package/widgets/smartMapping/ClassedColorSlider.d.ts +1 -1
  733. package/widgets/smartMapping/ClassedSizeSlider.d.ts +1 -1
  734. package/widgets/smartMapping/ColorSizeSlider.d.ts +2 -2
  735. package/widgets/smartMapping/ColorSlider.d.ts +1 -1
  736. package/widgets/smartMapping/HeatmapSlider.d.ts +1 -1
  737. package/widgets/smartMapping/OpacitySlider.d.ts +1 -1
  738. package/widgets/smartMapping/SizeSlider.d.ts +1 -1
  739. package/widgets/smartMapping/SmartMappingSliderBase.d.ts +4 -4
  740. package/widgets/smartMapping/SmartMappingSliderViewModel.d.ts +6 -6
  741. package/widgets/support/GridControls.d.ts +1 -1
  742. package/widgets/support/SketchTooltipControls.js +1 -1
  743. package/widgets/support/SnappingControls/VisibleElements.d.ts +1 -1
  744. package/widgets/support/SnappingControls.d.ts +6 -6
  745. package/assets/esri/core/workers/chunks/008887a8014b61f837ae.js +0 -1
  746. package/assets/esri/core/workers/chunks/0c8a676599821b9871c2.js +0 -1
  747. package/assets/esri/core/workers/chunks/2b7615cccbaeda1649f3.js +0 -1
  748. package/assets/esri/core/workers/chunks/2f0ea91afc9aa8ee9cad.js +0 -1
  749. package/assets/esri/core/workers/chunks/3a850b5e847b6b0ea53f.js +0 -1
  750. package/assets/esri/core/workers/chunks/449cf6ae6b6e6c2795e5.js +0 -1
  751. package/assets/esri/core/workers/chunks/529dbf16ffbbd39f3fa2.js +0 -1
  752. package/assets/esri/core/workers/chunks/58cf3d35771b87bd74e5.js +0 -1
  753. package/assets/esri/core/workers/chunks/652bb1b53782cdd3103c.js +0 -1
  754. package/assets/esri/core/workers/chunks/6acab23acf3b044f5215.js +0 -1
  755. package/assets/esri/core/workers/chunks/6c2a7bac3f8e32c83292.js +0 -1
  756. package/assets/esri/core/workers/chunks/6d26e5368e8952003669.js +0 -1
  757. package/assets/esri/core/workers/chunks/7c01e5eaab97a9ae80ad.js +0 -1
  758. package/assets/esri/core/workers/chunks/7cb6ccee9bcef449caea.js +0 -1
  759. package/assets/esri/core/workers/chunks/8235b8267489e1213ce8.js +0 -1
  760. package/assets/esri/core/workers/chunks/879e8439a513cb333b61.js +0 -1
  761. package/assets/esri/core/workers/chunks/956237a2baa30760c256.js +0 -1
  762. package/assets/esri/core/workers/chunks/a027da22acdaa6d6baa3.js +0 -1
  763. package/assets/esri/core/workers/chunks/b60337c471e2b855d02a.js +0 -1
  764. package/assets/esri/core/workers/chunks/bd1bbf1820e12d7a27f6.js +0 -1
  765. package/assets/esri/core/workers/chunks/c546c49960eace69d20a.js +0 -1
  766. package/assets/esri/core/workers/chunks/c9067667290e93407dd7.js +0 -1
  767. package/assets/esri/core/workers/chunks/e4eb14952b7660feecc7.js +0 -1
  768. package/assets/esri/core/workers/chunks/e71d08c6f545c2c70174.js +0 -1
  769. package/assets/esri/core/workers/chunks/f347dee99faa9ee5eef1.js +0 -1
  770. package/layers/support/GeoreferenceBase.d.ts +0 -4
  771. package/layers/support/GeoreferenceBase.js +0 -2
  772. package/widgets/BatchAttributeForm/inputs/support/textInputElementUtils.js +0 -2
@@ -19,15 +19,15 @@ export interface SnappingOptionsProperties extends Partial<Pick<SnappingOptions,
19
19
  * #### Self snapping (Geometry guides)
20
20
  * Self snapping is set via the [selfEnabled](https://developers.arcgis.com/javascript/latest/references/core/views/interactive/snapping/SnappingOptions/#selfEnabled) property. This means that while a user is actively creating or updating a feature or graphic, they will see visualizations to help identify perpendicular and parallel lines, in addition to visualizations which aid in snapping to an extension of an existing feature. The following briefly demonstrates what self snapping looks like in a 2D application. Although this is shown for 2D, the same premise applies for 3D as well.
21
21
  *
22
- * ![self-snapping](https://developers.arcgis.com/javascript/latest/assets/img/apiref/widgets/sketch/snapping-self-2d.gif)
22
+ * ![self-snapping](https://developers.arcgis.com/javascript/latest/assets/images/apiref/widgets/sketch/snapping-self-2d.gif)
23
23
  * #### Feature snapping
24
24
  * Feature snapping is set via the [featureEnabled](https://developers.arcgis.com/javascript/latest/references/core/views/interactive/snapping/SnappingOptions/#featureEnabled) property. It provides the ability to snap vertices of a graphic or feature that is currently being drawn or reshaped to that of an existing feature's vertex, edge, or end point. These existing features belong to layers within the [Map](https://developers.arcgis.com/javascript/latest/references/core/Map/) and must be specified in the [featureSources](https://developers.arcgis.com/javascript/latest/references/core/views/interactive/snapping/SnappingOptions/#featureSources) property. The following two images demonstrate feature snapping in a 2D application. Similar to self snapping, the same premise applies for 3D as well.
25
25
  *
26
- * ![feature-snapping-create](https://developers.arcgis.com/javascript/latest/assets/img/apiref/widgets/sketch/snapping-feature-2d.gif)
26
+ * ![feature-snapping-create](https://developers.arcgis.com/javascript/latest/assets/images/apiref/widgets/sketch/snapping-feature-2d.gif)
27
27
  *
28
28
  * The above shows feature snapping to an existing feature's vertex endpoint and edge while creating a new feature. The bottom demonstrates taking an existing feature and reshaping its geometry to snap to another feature's vertex points.
29
29
  *
30
- * ![feature-snapping-update](https://developers.arcgis.com/javascript/latest/assets/img/apiref/widgets/sketch/snapping-reshape-2d.gif)
30
+ * ![feature-snapping-update](https://developers.arcgis.com/javascript/latest/assets/images/apiref/widgets/sketch/snapping-reshape-2d.gif)
31
31
  *
32
32
  * > [!WARNING]
33
33
  * >
@@ -41,10 +41,10 @@ export interface SnappingOptionsProperties extends Partial<Pick<SnappingOptions,
41
41
  *
42
42
  * Name | Details | 3D Example | 2D Example |
43
43
  * ---------|---------|----------|:-----------:|
44
- * Rectangle | Snap lines that are perpendicular to each other | <img alt="Rectangle" src="https://developers.arcgis.com/javascript/latest/assets/img/apiref/widgets/sketch/snapping-rectangle.png" width="268px"> | <img alt="Rectangle-2d" src="https://developers.arcgis.com/javascript/latest/assets/img/apiref/widgets/sketch/snapping-rectangle-2d.png" width="268px"> |
45
- * Parallel | Snap to all parallel lines | <img alt="Parallel" src="https://developers.arcgis.com/javascript/latest/assets/img/apiref/widgets/sketch/snapping-parallel.png" width="268px"> | <img alt="Parallel-2d" src="https://developers.arcgis.com/javascript/latest/assets/img/apiref/widgets/sketch/snapping-parallel-2.png" width="268px"> |
46
- * Extension | Snap to an extension of the current shape | <img alt="Extension" src="https://developers.arcgis.com/javascript/latest/assets/img/apiref/widgets/sketch/snapping-extension.png" width="268px"> | <img alt="Extension-2" src="https://developers.arcgis.com/javascript/latest/assets/img/apiref/widgets/sketch/snapping-extension-2.png" width="268px"> |
47
- * Vertex (as seen when updating geometries)| Snap vertices to an existing vertex | <img alt="Vertex" src="https://developers.arcgis.com/javascript/latest/assets/img/apiref/widgets/sketch/snapping-vertex-3d.png" width="143px"> | <img alt="Vertex-2" src="https://developers.arcgis.com/javascript/latest/assets/img/apiref/widgets/sketch/snapping-vertex-2.png" width="143px"> |
44
+ * Rectangle | Snap lines that are perpendicular to each other | <img alt="Rectangle" src="https://developers.arcgis.com/javascript/latest/assets/images/apiref/widgets/sketch/snapping-rectangle.png" width="268px"> | <img alt="Rectangle-2d" src="https://developers.arcgis.com/javascript/latest/assets/images/apiref/widgets/sketch/snapping-rectangle-2d.png" width="268px"> |
45
+ * Parallel | Snap to all parallel lines | <img alt="Parallel" src="https://developers.arcgis.com/javascript/latest/assets/images/apiref/widgets/sketch/snapping-parallel.png" width="268px"> | <img alt="Parallel-2d" src="https://developers.arcgis.com/javascript/latest/assets/images/apiref/widgets/sketch/snapping-parallel-2.png" width="268px"> |
46
+ * Extension | Snap to an extension of the current shape | <img alt="Extension" src="https://developers.arcgis.com/javascript/latest/assets/images/apiref/widgets/sketch/snapping-extension.png" width="268px"> | <img alt="Extension-2" src="https://developers.arcgis.com/javascript/latest/assets/images/apiref/widgets/sketch/snapping-extension-2.png" width="268px"> |
47
+ * Vertex (as seen when updating geometries)| Snap vertices to an existing vertex | <img alt="Vertex" src="https://developers.arcgis.com/javascript/latest/assets/images/apiref/widgets/sketch/snapping-vertex-3d.png" width="143px"> | <img alt="Vertex-2" src="https://developers.arcgis.com/javascript/latest/assets/images/apiref/widgets/sketch/snapping-vertex-2.png" width="143px"> |
48
48
  *
49
49
  * @since 4.19
50
50
  * @see [FeatureSnappingLayerSource](https://developers.arcgis.com/javascript/latest/references/core/views/interactive/snapping/FeatureSnappingLayerSource/)
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{LineConstraint as t}from"../../sketch/constraints.js";import{FeatureSnappingCandidate as n}from"./FeatureSnappingCandidate.js";import{LineSnappingHint as s}from"../hints/LineSnappingHint.js";class i extends n{constructor(n){super({...n,constraint:new t(n.edgeStart,n.edgeEnd)})}get hints(){return[new s(1,this.constraint.start,this.constraint.end,this.isDraped,this.domain)]}}export{i as EdgeSnappingCandidate};
2
+ import{LineConstraint as t}from"../../sketch/constraints.js";import{FeatureSnappingCandidate as n}from"./FeatureSnappingCandidate.js";import{LineSnappingHint as s}from"../hints/LineSnappingHint.js";class r extends n{constructor(n){super({...n,constraint:new t(n.edgeStart,n.edgeEnd)}),this.curve=n.curve}get hints(){return[new s(1,this.constraint.start,this.constraint.end,this.isDraped,this.domain,!0,!0,this.curve)]}}export{r as EdgeSnappingCandidate};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import t from"../../../../core/Accessor.js";import{removeUnordered as r}from"../../../../core/arrayUtils.js";import{createTask as o}from"../../../../core/asyncUtils.js";import{clone as s}from"../../../../core/lang.js";import{memoize as i}from"../../../../core/memoize.js";import{throwIfAborted as n,allSettledValues as a,whenOrAbort as l}from"../../../../core/promiseUtils.js";import{initial as p,watch as d,on as c}from"../../../../core/reactiveUtils.js";import{property as u,subclass as h}from"../../../../core/accessorSupport/decorators.js";import{UpdatingHandles as y}from"../../../../core/support/UpdatingHandles.js";import{convertGeometryToFlat as m}from"../../../../geometry/FlatGeometry.js";import g from"../../../../geometry/Polygon.js";import{initializeProjection as f,load as _,canProjectWithoutEngine as v,project as S}from"../../../../geometry/projectionUtils.js";import{normalizeCentralMeridianForDisplay as w}from"../../../../geometry/support/normalizeUtilsSync.js";import{featureGeometryTypeKebabDictionary as j}from"../../../../geometry/support/typeUtils.js";import{isCurvedGeometry as F}from"../../../../geometry/support/curves/curveUtils.js";import{FlatFeature as E}from"../../../../layers/graphics/FlatFeature.js";import b from"../../../../layers/graphics/data/FlatFeatureStore.js";import{QueryEngine as k}from"../../../../layers/graphics/data/QueryEngine.js";import C from"../../../../layers/support/FieldsIndex.js";import{elevationContextAffectsAlignment as A}from"../../../../support/elevationInfoUtils.js";import{symbolHasExtrudeSymbolLayer as I}from"../../../../symbols/support/utils.js";import{sortCandidatesInPlace as P,makeSnappingQuery as G}from"../snappingUtils.js";import{makeGetGroundElevation as H,convertSnappingCandidate as x}from"./queryEngineUtils.js";import{getSnappingCandidateElevationAligner as R}from"./snappingCandidateElevationAlignment.js";import{getSnappingCandidateElevationFilter as U}from"./snappingCandidateElevationFilter.js";import{getSymbologySnappingCandidatesFetcher as Z}from"./symbologySnappingCandidates.js";import{TaskPriority as z}from"../../../support/Scheduler.js";const O="graphics-collections";let L=class extends t{get updating(){return this._updatingHandles.updating}get _hasZ(){return"map-notes"!==this.layerSource.layer.type}get _snappingElevationAligner(){const{view:e}=this,{layer:t}=this.layerSource,r=null!=e&&"3d"===e.type;if(!r||"map-notes"===t.type)return R();const o=async(r,o)=>(await l(e.whenLayerView(t),o)).elevationAlignPointsInFeatures(r,o);return R(r,{elevationInfo:t.elevationInfo,alignPointsInFeatures:o})}get _snappingElevationFilter(){const{view:e}=this,t=null!=e&&"3d"===e.type&&"map-notes"!==this.layerSource.layer.type;return U(t)}get _symbologySnappingFetcher(){const{view:e}=this,{layer:t}=this.layerSource,r=null!=e&&"3d"===e.type,o=this._extrudedPolygonSymbolsCount>0;return r&&"map-notes"!==t.type&&o?Z(o,async(r,o)=>{const s=await e.whenLayerView(t);return n(o),s.queryForSymbologySnapping({candidates:r,spatialReference:e.spatialReference},o)}):Z()}constructor(e){super(e),this.availability=1,this._sources={multipoint:null,point:null,polygon:null,polyline:null},this._loadedWkids=new Set,this._loadedWkts=new Set,this._pendingAdds=[],this._extrudedPolygonSymbolsCount=0,this._updatingHandles=new y,this._memoizedMakeGetGroundElevation=i(H)}destroy(){for(const e of this._pendingAdds)e.task.abort();this._pendingAdds.length=0,this._mapSources(e=>this._destroySource(e)),this._updatingHandles.destroy()}initialize(){this._updatingHandles.add(()=>this.getGraphicsLayers(),e=>{this._updatingHandles.removeHandles(O);for(const t of e)this._addMany(t.graphics.toArray()),this.addHandles([t.on("graphic-update",e=>this._onGraphicUpdate(e)),this._updatingHandles.addOnCollectionChange(()=>t.graphics,e=>this._onGraphicsChanged(e))],O)},p);const{view:e}=this,{layer:t}=this.layerSource;null!=e&&"3d"===e.type&&"map-notes"!==t.type&&e.elevationProvider&&this.addHandles([e.elevationProvider.on("elevation-change",({context:e})=>{A(e,t.elevationInfo)&&this._snappingElevationAligner.notifyElevationSourceChange()}),d(()=>t.elevationInfo,()=>this._snappingElevationAligner.notifyElevationSourceChange(),p),c(()=>t,["edits","apply-edits","graphic-update"],()=>this._symbologySnappingFetcher.notifySymbologyChange())])}async fetchCandidates(e,t){const{point:r,coordinateHelper:{spatialReference:o}}=e,s=await a(this._mapSources(r=>this._fetchCandidatesForSource(r,e,t)));n(t);const i=this._memoizedMakeGetGroundElevation(this.view,o),l=s.flat().map(t=>x(t,e.mode,i));return P(r,l),l}async _fetchCandidatesForSource(e,t,r){const o=G({parameters:t,returnZ:this._hasZ}),s=await e.queryEngine.executeQueryForSnapping(o,r);n(r);const i=await this._snappingElevationAligner.alignCandidates(s.candidates,t.coordinateHelper.spatialReference,r);n(r);const a=await this._symbologySnappingFetcher.fetch(i,r);n(r);const l=0===a.length?i:[...i,...a];return this._snappingElevationFilter.filter(o,l)}refresh(){}_onGraphicUpdate(e){if(this.getGraphicsLayers().some(t=>t.graphics.includes(e.graphic)))switch(e.property){case"geometry":case"visible":this._remove(e.graphic),this._addMany([e.graphic])}}_onGraphicsChanged(e){for(const t of e.removed)this._remove(t);this._addMany(e.added)}_addMany(e){const t=[],r=new Map,o=e.some(({geometry:e})=>e&&F(e));for(const s of e)null!=s.geometry&&(o||this._needsInitializeProjection(s.geometry.spatialReference)?(t.push(s.geometry.spatialReference),r.set(s.uid,s)):this._add(s));this._createPendingAdd(t,r)}_createPendingAdd(e,t){if(!e.length)return;const s=o(async r=>{await f(e.map(e=>({source:e,dest:this.spatialReference})),{signal:r}),this._markLoadedSpatialReferences(e);for(const e of t.values())e.geometry&&F(e.geometry)&&await _({signal:r}),this._add(e)});this._updatingHandles.consumePromise(s.promise);const i={task:s,graphics:t},n=()=>r(this._pendingAdds,i);s.promise.then(n,n),this._pendingAdds.push(i)}_markLoadedSpatialReferences(e){for(const t of e){null!=t.wkid&&this._loadedWkids.add(t.wkid);const e=t.wkt2||t.wkt;e&&this._loadedWkts.add(e)}}_add({geometry:e,visible:t,uid:r,symbol:o}){if(null==e||!t)return;if("mesh"===e.type)return;"extent"===e.type&&(e=g.fromExtent(e));const s=this._ensureSource(e.type);if(null==s)return;const i=this._createFlatFeature(r,e);null!=i&&(s.featureStore.add(i),I(o)&&this._extrudedPolygonSymbolsCount++)}_needsInitializeProjection(e){if(null!=e.wkid&&this._loadedWkids.has(e.wkid))return!1;const t=e.wkt2||e.wkt;return(!t||!this._loadedWkts.has(t))&&!v(e,this.spatialReference)}_createFlatFeature(e,t){const r=w(t);if(!r)return null;const o=S(r,this.spatialReference);if(!o)return null;const s=this._ensureGeometryHasZ(o),i=m(s);return new E(i,{[M]:e},null,e)}_ensureGeometryHasZ(e){if(!this._hasZ)return e;const t=e=>{for(;e.length<3;)e.push(0)},r=s(e);return"x"in r?r.z=r.z??0:"points"in r?(r.points.forEach(t),r.hasZ=!0):"paths"in r?(r.paths.forEach(e=>e.forEach(t)),r.hasZ=!0):"rings"in r&&(r.rings.forEach(e=>e.forEach(t)),r.hasZ=!0),r}_ensureSource(e){const t=this._sources[e];if(null!=t)return t;const r=this._createSource(e);return this._sources[e]=r,r}_createSource(e){const t=j.toJSON(e),r=this._hasZ,o=new b(t,r,!1);return{featureStore:o,queryEngine:new k({featureStore:o,fieldsIndex:C.fromLayerJSON({fields:[{name:M,type:"esriFieldTypeOID",alias:M}]}),geometryType:t,hasM:!1,hasZ:r,featureIdInfo:{type:"object-id",fieldName:M},spatialReference:this.spatialReference,priority:z.SNAPPING,scheduler:null!=this.view&&"3d"===this.view.type?this.view.resourceController.scheduler:null}),type:e}}_remove(e){this._mapSources(t=>this._removeFromSource(t,e));for(const t of this._pendingAdds)t.graphics.delete(e.uid),0===t.graphics.size&&t.task.abort()}_removeFromSource(e,t){const r=t.uid;e.featureStore.has(r)&&(e.featureStore.removeById(t.uid),I(t.symbol)&&this._extrudedPolygonSymbolsCount--)}_destroySource(e){e.queryEngine.destroy(),this._sources[e.type]=null}_mapSources(e){const{point:t,polygon:r,polyline:o,multipoint:s}=this._sources,i=[];return null!=t&&i.push(e(t)),null!=r&&i.push(e(r)),null!=o&&i.push(e(o)),null!=s&&i.push(e(s)),i}};e([u()],L.prototype,"getGraphicsLayers",void 0),e([u({constructOnly:!0})],L.prototype,"layerSource",void 0),e([u({constructOnly:!0})],L.prototype,"spatialReference",void 0),e([u({constructOnly:!0})],L.prototype,"view",void 0),e([u({readOnly:!0})],L.prototype,"updating",null),e([u({readOnly:!0})],L.prototype,"availability",void 0),e([u()],L.prototype,"_hasZ",null),e([u()],L.prototype,"_snappingElevationAligner",null),e([u()],L.prototype,"_snappingElevationFilter",null),e([u()],L.prototype,"_symbologySnappingFetcher",null),e([u()],L.prototype,"_extrudedPolygonSymbolsCount",void 0),L=e([h("esri.views.interactive.snapping.featureSources.GraphicsSnappingSource")],L);const M="OBJECTID";export{L as GraphicsSnappingSource};
2
+ import{__decorate as e}from"tslib";import t from"../../../../core/Accessor.js";import{removeUnordered as r}from"../../../../core/arrayUtils.js";import{createTask as o}from"../../../../core/asyncUtils.js";import{clone as s}from"../../../../core/lang.js";import{memoize as i}from"../../../../core/memoize.js";import{throwIfAborted as n,allSettledValues as a,whenOrAbort as l}from"../../../../core/promiseUtils.js";import{initial as p,watch as d,on as c}from"../../../../core/reactiveUtils.js";import{property as u,subclass as h}from"../../../../core/accessorSupport/decorators.js";import{UpdatingHandles as y}from"../../../../core/support/UpdatingHandles.js";import{convertGeometryToFlat as m}from"../../../../geometry/FlatGeometry.js";import g from"../../../../geometry/Polygon.js";import{initializeProjection as f,canProjectWithoutEngine as _,project as v}from"../../../../geometry/projectionUtils.js";import{normalizeCentralMeridianForDisplay as S}from"../../../../geometry/support/normalizeUtilsSync.js";import{featureGeometryTypeKebabDictionary as w}from"../../../../geometry/support/typeUtils.js";import{FlatFeature as j}from"../../../../layers/graphics/FlatFeature.js";import F from"../../../../layers/graphics/data/FlatFeatureStore.js";import{QueryEngine as E}from"../../../../layers/graphics/data/QueryEngine.js";import b from"../../../../layers/support/FieldsIndex.js";import{elevationContextAffectsAlignment as k}from"../../../../support/elevationInfoUtils.js";import{symbolHasExtrudeSymbolLayer as C}from"../../../../symbols/support/utils.js";import{sortCandidatesInPlace as A,makeSnappingQuery as I}from"../snappingUtils.js";import{makeGetGroundElevation as P,convertSnappingCandidate as G}from"./queryEngineUtils.js";import{getSnappingCandidateElevationAligner as H}from"./snappingCandidateElevationAlignment.js";import{getSnappingCandidateElevationFilter as x}from"./snappingCandidateElevationFilter.js";import{getSymbologySnappingCandidatesFetcher as R}from"./symbologySnappingCandidates.js";import{TaskPriority as U}from"../../../support/Scheduler.js";const Z="graphics-collections";let z=class extends t{get updating(){return this._updatingHandles.updating}get _hasZ(){return"map-notes"!==this.layerSource.layer.type}get _snappingElevationAligner(){const{view:e}=this,{layer:t}=this.layerSource,r=null!=e&&"3d"===e.type;if(!r||"map-notes"===t.type)return H();const o=async(r,o)=>(await l(e.whenLayerView(t),o)).elevationAlignPointsInFeatures(r,o);return H(r,{elevationInfo:t.elevationInfo,alignPointsInFeatures:o})}get _snappingElevationFilter(){const{view:e}=this,t=null!=e&&"3d"===e.type&&"map-notes"!==this.layerSource.layer.type;return x(t)}get _symbologySnappingFetcher(){const{view:e}=this,{layer:t}=this.layerSource,r=null!=e&&"3d"===e.type,o=this._extrudedPolygonSymbolsCount>0;return r&&"map-notes"!==t.type&&o?R(o,async(r,o)=>{const s=await e.whenLayerView(t);return n(o),s.queryForSymbologySnapping({candidates:r,spatialReference:e.spatialReference},o)}):R()}constructor(e){super(e),this.availability=1,this._sources={multipoint:null,point:null,polygon:null,polyline:null},this._loadedWkids=new Set,this._loadedWkts=new Set,this._pendingAdds=[],this._extrudedPolygonSymbolsCount=0,this._updatingHandles=new y,this._memoizedMakeGetGroundElevation=i(P)}destroy(){for(const e of this._pendingAdds)e.task.abort();this._pendingAdds.length=0,this._mapSources(e=>this._destroySource(e)),this._updatingHandles.destroy()}initialize(){this._updatingHandles.add(()=>this.getGraphicsLayers(),e=>{this._updatingHandles.removeHandles(Z);for(const t of e)this._addMany(t.graphics.toArray()),this.addHandles([t.on("graphic-update",e=>this._onGraphicUpdate(e)),this._updatingHandles.addOnCollectionChange(()=>t.graphics,e=>this._onGraphicsChanged(e))],Z)},p);const{view:e}=this,{layer:t}=this.layerSource;null!=e&&"3d"===e.type&&"map-notes"!==t.type&&e.elevationProvider&&this.addHandles([e.elevationProvider.on("elevation-change",({context:e})=>{k(e,t.elevationInfo)&&this._snappingElevationAligner.notifyElevationSourceChange()}),d(()=>t.elevationInfo,()=>this._snappingElevationAligner.notifyElevationSourceChange(),p),c(()=>t,["edits","apply-edits","graphic-update"],()=>this._symbologySnappingFetcher.notifySymbologyChange())])}async fetchCandidates(e,t){const{point:r,coordinateHelper:{spatialReference:o}}=e,s=await a(this._mapSources(r=>this._fetchCandidatesForSource(r,e,t)));n(t);const i=this._memoizedMakeGetGroundElevation(this.view,o),l=s.flat().map(t=>G(t,e.mode,i));return A(r,l),l}async _fetchCandidatesForSource(e,t,r){const o=I({parameters:t,returnZ:this._hasZ}),s=await e.queryEngine.executeQueryForSnapping(o,r);n(r);const i=await this._snappingElevationAligner.alignCandidates(s.candidates,t.coordinateHelper.spatialReference,r);n(r);const a=await this._symbologySnappingFetcher.fetch(i,r);n(r);const l=0===a.length?i:[...i,...a];return this._snappingElevationFilter.filter(o,l)}refresh(){}_onGraphicUpdate(e){if(this.getGraphicsLayers().some(t=>t.graphics.includes(e.graphic)))switch(e.property){case"geometry":case"visible":this._remove(e.graphic),this._addMany([e.graphic])}}_onGraphicsChanged(e){for(const t of e.removed)this._remove(t);this._addMany(e.added)}_addMany(e){const t=[],r=new Map;for(const o of e)null!=o.geometry&&(this._needsInitializeProjection(o.geometry.spatialReference)?(t.push(o.geometry.spatialReference),r.set(o.uid,o)):this._add(o));this._createPendingAdd(t,r)}_createPendingAdd(e,t){if(!e.length)return;const s=o(async r=>{await f(e.map(e=>({source:e,dest:this.spatialReference})),{signal:r}),this._markLoadedSpatialReferences(e);for(const e of t.values())this._add(e)});this._updatingHandles.consumePromise(s.promise);const i={task:s,graphics:t},n=()=>r(this._pendingAdds,i);s.promise.then(n,n),this._pendingAdds.push(i)}_markLoadedSpatialReferences(e){for(const t of e){null!=t.wkid&&this._loadedWkids.add(t.wkid);const e=t.wkt2||t.wkt;e&&this._loadedWkts.add(e)}}_add({geometry:e,visible:t,uid:r,symbol:o}){if(null==e||!t)return;if("mesh"===e.type)return;"extent"===e.type&&(e=g.fromExtent(e));const s=this._ensureSource(e.type);if(null==s)return;const i=this._createFlatFeature(r,e);null!=i&&(s.featureStore.add(i),C(o)&&this._extrudedPolygonSymbolsCount++)}_needsInitializeProjection(e){if(null!=e.wkid&&this._loadedWkids.has(e.wkid))return!1;const t=e.wkt2||e.wkt;return(!t||!this._loadedWkts.has(t))&&!_(e,this.spatialReference)}_createFlatFeature(e,t){const r=S(t);if(!r)return null;const o=v(r,this.spatialReference);if(!o)return null;const s=this._ensureGeometryHasZ(o),i=m(s);return new j(i,{[O]:e},null,e)}_ensureGeometryHasZ(e){if(!this._hasZ)return e;const t=e=>{for(;e.length<3;)e.push(0)},r=s(e);return"x"in r?r.z=r.z??0:"points"in r?(r.points.forEach(t),r.hasZ=!0):"paths"in r?(r.paths.forEach(e=>e.forEach(t)),r.hasZ=!0):"rings"in r&&(r.rings.forEach(e=>e.forEach(t)),r.hasZ=!0),r}_ensureSource(e){const t=this._sources[e];if(null!=t)return t;const r=this._createSource(e);return this._sources[e]=r,r}_createSource(e){const t=w.toJSON(e),r=this._hasZ,o=new F(t,r,!1);return{featureStore:o,queryEngine:new E({featureStore:o,fieldsIndex:b.fromLayerJSON({fields:[{name:O,type:"esriFieldTypeOID",alias:O}]}),geometryType:t,hasM:!1,hasZ:r,featureIdInfo:{type:"object-id",fieldName:O},spatialReference:this.spatialReference,priority:U.SNAPPING,scheduler:null!=this.view&&"3d"===this.view.type?this.view.resourceController.scheduler:null}),type:e}}_remove(e){this._mapSources(t=>this._removeFromSource(t,e));for(const t of this._pendingAdds)t.graphics.delete(e.uid),0===t.graphics.size&&t.task.abort()}_removeFromSource(e,t){const r=t.uid;e.featureStore.has(r)&&(e.featureStore.removeById(t.uid),C(t.symbol)&&this._extrudedPolygonSymbolsCount--)}_destroySource(e){e.queryEngine.destroy(),this._sources[e.type]=null}_mapSources(e){const{point:t,polygon:r,polyline:o,multipoint:s}=this._sources,i=[];return null!=t&&i.push(e(t)),null!=r&&i.push(e(r)),null!=o&&i.push(e(o)),null!=s&&i.push(e(s)),i}};e([u()],z.prototype,"getGraphicsLayers",void 0),e([u({constructOnly:!0})],z.prototype,"layerSource",void 0),e([u({constructOnly:!0})],z.prototype,"spatialReference",void 0),e([u({constructOnly:!0})],z.prototype,"view",void 0),e([u({readOnly:!0})],z.prototype,"updating",null),e([u({readOnly:!0})],z.prototype,"availability",void 0),e([u()],z.prototype,"_hasZ",null),e([u()],z.prototype,"_snappingElevationAligner",null),e([u()],z.prototype,"_snappingElevationFilter",null),e([u()],z.prototype,"_symbologySnappingFetcher",null),e([u()],z.prototype,"_extrudedPolygonSymbolsCount",void 0),z=e([h("esri.views.interactive.snapping.featureSources.GraphicsSnappingSource")],z);const O="OBJECTID";export{z as GraphicsSnappingSource};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{create as t,markAsTarget as e,fromValues as n}from"../../sketch/normalizedPoint.js";import{DrapedEdgeSnappingCandidate as r}from"../candidates/DrapedEdgeSnappingCandidate.js";import{EdgeSnappingCandidate as a}from"../candidates/EdgeSnappingCandidate.js";import{VertexSnappingCandidate as d}from"../candidates/VertexSnappingCandidate.js";function o(t,e){const{x:r,y:a}=t,d="3d"===e&&null!=t.z?t.z:0;return n(r,a,d)}function i(n,i,g){switch(n.type){case"edge":return n.draped?new r({edgeStart:o(n.start,i),edgeEnd:o(n.end,i),targetPoint:e(o(n.target,i)),objectId:n.objectId,getGroundElevation:g}):new a({edgeStart:o(n.start,i),edgeEnd:o(n.end,i),targetPoint:e(o(n.target,i)),objectId:n.objectId,isDraped:!1});case"vertex":return new d({targetPoint:e(o(n.target,i)),objectId:n.objectId,isDraped:!1,originalTargetPoint:t(n.target.x,n.target.y,n.target.z)})}}function g(t,e){return"3d"===t?.type?(n,r)=>t.elevationProvider.getElevation(n,r,0,e,"ground"):()=>null}export{i as convertSnappingCandidate,g as makeGetGroundElevation};
2
+ import{create as t,markAsTarget as e,fromValues as r}from"../../sketch/normalizedPoint.js";import{DrapedEdgeSnappingCandidate as n}from"../candidates/DrapedEdgeSnappingCandidate.js";import{EdgeSnappingCandidate as a}from"../candidates/EdgeSnappingCandidate.js";import{VertexSnappingCandidate as d}from"../candidates/VertexSnappingCandidate.js";function o(t,e){const{x:n,y:a}=t,d="3d"===e&&null!=t.z?t.z:0;return r(n,a,d)}function i(r,i,g){switch(r.type){case"edge":return r.draped?new n({edgeStart:o(r.start,i),edgeEnd:o(r.end,i),targetPoint:e(o(r.target,i)),objectId:r.objectId,getGroundElevation:g}):new a({edgeStart:o(r.start,i),edgeEnd:o(r.end,i),targetPoint:e(o(r.target,i)),objectId:r.objectId,isDraped:!1,curve:r.curve});case"vertex":return new d({targetPoint:e(o(r.target,i)),objectId:r.objectId,isDraped:!1,originalTargetPoint:t(r.target.x,r.target.y,r.target.z)})}}function g(t,e){return"3d"===t?.type?(r,n)=>t.elevationProvider.getElevation(r,n,0,e,"ground"):()=>null}export{i as convertSnappingCandidate,g as makeGetGroundElevation};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{LRUCache as e}from"../../../../core/LRUCache.js";import{getOrCreateMapValue as t}from"../../../../core/MapUtils.js";import{throwIfAborted as s}from"../../../../core/promiseUtils.js";import{getMetersPerVerticalUnitForSR as n}from"../../../../core/units.js";import{getMetersPerUnit as o}from"../../../../symbols/support/unitConversionUtils.js";function i(e=!1,t){if(e){const{elevationInfo:e,alignPointsInFeatures:s}=t;return new c(e,s)}return new a}class a{async alignCandidates(e,t,s){return e}notifyElevationSourceChange(){}}const r=1024;class c{constructor(t,s){this._elevationInfo=t,this._alignPointsInFeatures=s,this._alignmentsCache=new e(r),this._cacheVersion=0}async alignCandidates(e,t,s){const n=this._elevationInfo;return null==n||"absolute-height"!==n.mode||n.featureExpressionInfo?this._alignComputedElevationCandidates(e,t,s):(d(e,t,n),e)}notifyElevationSourceChange(){this._alignmentsCache.clear(),this._cacheVersion++}async _alignComputedElevationCandidates(e,n,o){const i=new Map;for(const s of e)t(i,s.objectId,l).push(s);const[a,r,c]=this._prepareQuery(i,n),h=await this._alignPointsInFeatures(a,o);s(o);if(c!==this._cacheVersion)return this._alignComputedElevationCandidates(e,n,o);this._applyCacheAndResponse(a,h,r);const{drapedObjectIds:u,failedObjectIds:d}=h,p=[];for(const t of e){const{objectId:e}=t;u.has(e)&&"edge"===t.type&&(t.draped=!0),d.has(e)||p.push(t)}return p}_prepareQuery(e,t){const s=[],n=[];for(const[o,i]of e){const e=[];for(const t of i)this._addToQueriesOrCachedResult(o,t.target,e,n),"edge"===t.type&&(this._addToQueriesOrCachedResult(o,t.start,e,n),this._addToQueriesOrCachedResult(o,t.end,e,n));0!==e.length&&s.push({objectId:o,points:e})}return[{spatialReference:t.toJSON(),pointsInFeatures:s},n,this._cacheVersion]}_addToQueriesOrCachedResult(e,t,s,n){const o=u(e,t),i=this._alignmentsCache.get(o);null==i?s.push(t):n.push(new h(t,i))}_applyCacheAndResponse(e,{elevations:t,drapedObjectIds:s,failedObjectIds:n},o){for(const r of o)r.apply();let i=0;const a=this._alignmentsCache;for(const{objectId:r,points:c}of e.pointsInFeatures){if(n.has(r)){i+=c.length;continue}const e=!s.has(r);for(const s of c){const n=u(r,s),o=t[i++];s.z=o,e&&a.put(n,o,1)}}}}class h{constructor(e,t){this.point=e,this.z=t}apply(){this.point.z=this.z}}function u(e,{x:t,y:s,z:n,spatialReference:o}){return`${e}-${t}-${s}-${n??0}}-wkid:${o?.wkid}`}function d(e,t,s){const{offset:i,unit:a}=s;if(null==i)return;const r=n(t),c=i*(o(a??"meters")/r);for(const n of e)switch(n.type){case"edge":n.start.z+=c,n.end.z+=c;continue;case"vertex":n.target.z+=c;continue}}function l(){return[]}export{i as getSnappingCandidateElevationAligner};
2
+ import{LRUCache as e}from"../../../../core/LRUCache.js";import{getOrCreateMapValue as t}from"../../../../core/MapUtils.js";import{throwIfAborted as s}from"../../../../core/promiseUtils.js";import{getMetersPerVerticalUnitForSR as n}from"../../../../core/units.js";import{getEndpoint as o}from"../../../../geometry/support/curves/curveUtils.js";import{getMetersPerUnit as i}from"../../../../symbols/support/unitConversionUtils.js";function r(e=!1,t){if(e){const{elevationInfo:e,alignPointsInFeatures:s}=t;return new u(e,s)}return new a}class a{async alignCandidates(e,t,s){return e}notifyElevationSourceChange(){}}const c=1024;class u{constructor(t,s){this._elevationInfo=t,this._alignPointsInFeatures=s,this._alignmentsCache=new e(c),this._cacheVersion=0}async alignCandidates(e,t,s){const n=this._elevationInfo;return null==n||"absolute-height"!==n.mode||n.featureExpressionInfo?this._alignComputedElevationCandidates(e,t,s):(p(e,t,n),e)}notifyElevationSourceChange(){this._alignmentsCache.clear(),this._cacheVersion++}async _alignComputedElevationCandidates(e,n,o){const i=new Map;for(const s of e)t(i,s.objectId,d).push(s);const[r,a,c]=this._prepareQuery(i,n),u=await this._alignPointsInFeatures(r,o);s(o);if(c!==this._cacheVersion)return this._alignComputedElevationCandidates(e,n,o);this._applyCacheAndResponse(r,u,a);const{drapedObjectIds:h,failedObjectIds:l}=u,p=[];for(const t of e){const{objectId:e}=t;h.has(e)&&"edge"===t.type&&(t.draped=!0),l.has(e)||p.push(t)}return p}_prepareQuery(e,t){const s=[],n=[];for(const[o,i]of e){const e=[];for(const t of i)this._addToQueriesOrCachedResult(o,t.target,e,n),"edge"===t.type&&(this._addToQueriesOrCachedResult(o,t.start,e,n),this._addToQueriesOrCachedResult(o,t.end,e,n));0!==e.length&&s.push({objectId:o,points:e})}return[{spatialReference:t.toJSON(),pointsInFeatures:s},n,this._cacheVersion]}_addToQueriesOrCachedResult(e,t,s,n){const o=l(e,t),i=this._alignmentsCache.get(o);null==i?s.push(t):n.push(new h(t,i))}_applyCacheAndResponse(e,{elevations:t,drapedObjectIds:s,failedObjectIds:n},o){for(const a of o)a.apply();let i=0;const r=this._alignmentsCache;for(const{objectId:a,points:c}of e.pointsInFeatures){if(n.has(a)){i+=c.length;continue}const e=!s.has(a);for(const s of c){const n=l(a,s),o=t[i++];s.z=o,e&&r.put(n,o,1)}}}}class h{constructor(e,t){this.point=e,this.z=t}apply(){this.point.z=this.z}}function l(e,{x:t,y:s,z:n,spatialReference:o}){return`${e}-${t}-${s}-${n??0}}-wkid:${o?.wkid}`}function p(e,t,s){const{offset:r,unit:a}=s;if(null==r)return;const c=n(t),u=r*(i(a??"meters")/c);for(const n of e)switch(n.type){case"edge":n.start.z+=u,n.end.z+=u,n.curve&&(o(n.curve)[2]+=u);continue;case"vertex":n.target.z+=u;continue}}function d(){return[]}export{r as getSnappingCandidateElevationAligner};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- class t{filter(t,n){return n}notifyElevationSourceChange(){}}class n{filter(t,n){const{point:r,distance:c}=t,{z:i}=r;if(!(null!=i))return n;if(0===n.length)return n;const a=o(c),u=this._updateCandidatesTo3D(n,r,a).filter(e);return u.sort(s),u}_updateCandidatesTo3D(t,n,e){for(const r of t)switch(r.type){case"edge":c(r,n,e);continue;case"vertex":a(r,n,e);continue}return t}}function e(t){return t.distance<=1}function r(e=!1){return e?new n:new t}function c(t,n,{x:e,y:r,z:c}){const{start:a,end:o,target:s}=t;t.draped||i(s,n,a,o);const u=(n.x-s.x)/e,d=(n.y-s.y)/r,f=(n.z-s.z)/c;t.distance=Math.sqrt(u*u+d*d+f*f)}function i(t,n,e,r){const c=r.x-e.x,i=r.y-e.y,a=r.z-e.z,o=c*c+i*i+a*a,s=(n.x-e.x)*c+(n.y-e.y)*i+a*(n.z-e.z),u=Math.min(1,Math.max(0,s/o)),d=e.x+c*u,f=e.y+i*u,x=e.z+a*u;t.x=d,t.y=f,t.z=x}function a(t,n,{x:e,y:r,z:c}){const{target:i}=t,a=(n.x-i.x)/e,o=(n.y-i.y)/r,s=(n.z-i.z)/c,u=Math.sqrt(a*a+o*o+s*s);t.distance=u}function o(t){return"number"==typeof t?{x:t,y:t,z:t}:t}function s(t,n){return t.distance-n.distance}export{r as getSnappingCandidateElevationFilter};
2
+ class t{filter(t,n){return n}notifyElevationSourceChange(){}}class n{filter(t,n){const{point:r,distance:o}=t,{z:c}=r;if(!(null!=c))return n;if(0===n.length)return n;const i=s(o),u=this._updateCandidatesTo3D(n,r,i).filter(e);return u.sort(a),u}_updateCandidatesTo3D(t,n,e){for(const r of t)switch(r.type){case"edge":o(r,n,e);continue;case"vertex":i(r,n,e);continue}return t}}function e(t){return t.distance<=1}function r(e=!1){return e?new n:new t}function o(t,n,{x:e,y:r,z:o}){const{start:i,end:s,target:a}=t;if(t.curve)throw new Error("Curves are not yet supported.");t.draped||c(a,n,i,s);const u=(n.x-a.x)/e,d=(n.y-a.y)/r,f=(n.z-a.z)/o;t.distance=Math.sqrt(u*u+d*d+f*f)}function c(t,n,e,r){const o=r.x-e.x,c=r.y-e.y,i=r.z-e.z,s=o*o+c*c+i*i,a=(n.x-e.x)*o+(n.y-e.y)*c+i*(n.z-e.z),u=Math.min(1,Math.max(0,a/s)),d=e.x+o*u,f=e.y+c*u,y=e.z+i*u;t.x=d,t.y=f,t.z=y}function i(t,n,{x:e,y:r,z:o}){const{target:c}=t,i=(n.x-c.x)/e,s=(n.y-c.y)/r,a=(n.z-c.z)/o,u=Math.sqrt(i*i+s*s+a*a);t.distance=u}function s(t){return"number"==typeof t?{x:t,y:t,z:t}:t}function a(t,n){return t.distance-n.distance}export{r as getSnappingCandidateElevationFilter};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{exactEquals as t,distance as e}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{SnappingHint as i}from"./SnappingHint.js";class n extends i{constructor(t,e,i,n,s=3,r=!0,h=!0){super(n,s),this.type=t,this.lineStart=e,this.lineEnd=i,this.fadeLeft=r,this.fadeRight=h}equals(e){return e instanceof n&&(this.type===e.type&&t(this.lineStart,e.lineStart)&&t(this.lineEnd,e.lineEnd)&&this.fadeLeft===e.fadeLeft&&this.fadeRight===e.fadeRight)}get length(){return e(this.lineStart,this.lineEnd)}}export{n as LineSnappingHint};
2
+ import{distance as t,exactEquals as e}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{curveLength as i}from"../../../../geometry/support/curves/curveLength.js";import{isCoordinate as s,curveEquals as r}from"../../../../geometry/support/curves/curveUtils.js";import{SnappingHint as h}from"./SnappingHint.js";class n extends h{constructor(e,r,h,n,l=3,a=!0,o=!0,u=null){if(super(n,l),this.type=e,this.lineStart=r,this.lineEnd=h,this.fadeLeft=a,this.fadeRight=o,!u||s(u))return this.length=t(this.lineStart,this.lineEnd),void(this.curve=this.lineEnd);this.length=i(this.lineStart,u,1),this.curve=u;const c=(this.lineStart[2]-this.lineEnd[2])**2;c>1e-8&&(this.length=Math.sqrt(this.length*this.length+c))}equals(t){return t instanceof n&&this.type===t.type&&e(this.lineStart,t.lineStart)&&e(this.lineEnd,t.lineEnd)&&r(this.curve,t.curve)&&this.fadeLeft===t.fadeLeft&&this.fadeRight===t.fadeRight}}export{n as LineSnappingHint};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import"../../core/has.js";import t from"../../core/Logger.js";import{throwIfAborted as i}from"../../core/promiseUtils.js";import{watch as r,syncAndInitial as l,on as s}from"../../core/reactiveUtils.js";import{sqlOr as o,sqlIn as n,sqlAnd as a}from"../../core/sql.js";import{property as u,subclass as d}from"../../core/accessorSupport/decorators.js";import{getPopupProvider as f}from"../../graphic/getPopupProvider.js";import{getFeatureIdInfoFieldNames as p}from"../../layers/graphics/data/FeatureIdInfo.js";import{systemIsSpatialFieldName as y}from"../../layers/knowledgeGraph/constants.js";import{getEffectiveDisplayFilter as h}from"../../layers/support/displayFilterUtils.js";import m from"../../layers/support/FeatureEffect.js";import c from"../../layers/support/FeatureFilter.js";import{getSignedInUser as F}from"../../layers/support/featureLayerUtils.js";import{fetchFeaturePopupFeatures as g,loadFeaturePopupArcadeModules as I}from"../../layers/support/featurePopupQueryUtils.js";import{fixFields as b,unpackFieldNames as v,collectLabelingFields as w,collectElevationFields as E,collectFilterFields as x,collectFeatureReductionFields as R,collectOrderByInfos as q,collectFields as j,collectTrackInfoFields as C,collectDisplayFilterFields as O,collectField as _,featureHasFields as k}from"../../layers/support/fieldUtils.js";import{getFloorFilterClause as P}from"../../layers/support/floorFilterUtils.js";import{getUtilityNetworkFields as U}from"../../networks/support/networkFieldUtils.js";import L from"../../rest/support/Query.js";import{createFeatureIdInfo as S}from"../2d/layers/features/layerAdapters/featureServiceUtils.js";import T from"./LayerView.js";import{getFetchPopupTemplate as D,getRequiredFields as N}from"./support/popupUtils.js";import{WhereClauseVisitor as Q}from"./support/WhereClauseVisitor.js";let G=class extends T{constructor(){super(...arguments),this._updatingRequiredPromise=null,this.filter=null,this.layer=null,this.requiresCurrentUser=!1,this.requiredFields=[],this.view=null}initialize(){this.addHandles([r(()=>{const e=this.layer,t=this.view;return[e&&"elevationInfo"in e?e.elevationInfo?.featureExpressionInfo:null,e&&"displayField"in e?e.displayField:null,e&&"timeInfo"in e&&e.timeInfo,e&&"renderer"in e&&e.renderer,e&&"labelingInfo"in e&&e.labelingInfo,e&&"floorInfo"in e&&e.floorInfo,t?.requiredFieldsOptions?.featureTitleFields&&e&&"featureTitleFields"in e&&e.featureTitleFields,t?.requiredFieldsOptions?.utilityNetworkFields&&U(t,e),e&&"displayFilterInfo"in e&&e.displayFilterInfo,this.displayFilterEnabled,this.filter,this.featureEffect,this.timeExtent,"knowledge-graph-sublayer"===e?.type&&"link-chart"===e.parentCompositeLayer.type&&e.parentCompositeLayer.linkChart?.linkChartProperties.nonspatialDataDisplay?.mode]},()=>this._handleChange(),l),s(()=>this.view?.floors,"change",()=>this._handleChange()),s(()=>(this.layer&&"displayFilterInfo"in this.layer?this.layer.displayFilterInfo:null)?.filters,"change",()=>this._handleChange()),s(()=>this.layer&&"sublayers"in this.layer?this.layer.sublayers:null,"change",()=>this._handleChange())])}get availableFields(){if(!this.layer)return[];const{layer:e,layer:{fieldsIndex:t},requiredFields:i}=this;return"outFields"in e&&e.outFields?b(t,[...v(t,e.outFields),...i]):b(t,i)}get displayFilterEnabled(){return(this.view?.displayFilterEnabled??!0)&&(!("displayFilterEnabled"in this.layer)||(this.layer?.displayFilterEnabled??!0))}get effectiveDisplayFilter(){const e=this.layer;return"displayFilterInfo"in e&&this.displayFilterEnabled&&e.displayFilterInfo?h(e.displayFilterInfo,this.view):null}get effectiveDisplayFilterClause(){const e=this.effectiveDisplayFilter?.where??null;return e&&this.hasHighlight?o(e,n(this.layer.objectIdField,this.highlightIds)):e}get featureEffect(){return this.layer&&"featureEffect"in this.layer?this.layer.featureEffect:null}set featureEffect(e){this._override("featureEffect",e)}get highlightOptions(){}set highlightOptions(e){}get maximumNumberOfFeatures(){return 0}set maximumNumberOfFeatures(e){t.getLogger(this).error("#maximumNumberOfFeatures=","Setting maximum number of features is not supported")}get maximumNumberOfFeaturesExceeded(){return!1}get signedInUser(){return this.layer?.url?F(this.layer.url):Promise.resolve(null)}createQuery(){const e={outFields:["*"],returnGeometry:!0,outSpatialReference:this.view.spatialReference},t=null!=this.filter?this.filter.createQuery(e):new L(e);return"floorInfo"in this.layer&&this.layer.floorInfo&&(t.where=a(t.where,P(this))),this.displayFilterEnabled&&(t.where=a(t.where,this.effectiveDisplayFilter?.where)),null!=this.timeExtent&&(t.timeExtent=null!=t.timeExtent?t.timeExtent.intersection(this.timeExtent):this.timeExtent.clone()),t}createAggregateQuery(){const e={outFields:["*"],returnGeometry:!0,outSpatialReference:this.view.spatialReference};return new L(e)}async fetchPopupFeaturesFromGraphics(e,t){const i=[],r=new Set;for(const s of e){const e=f(s.origin),l=D(e,{...t,checkPopupEnabled:!0});l&&(i.push(s),r.add(l))}if(0===i.length||0===r.size)return[];const l=await this._createPopupQuery(r,t);return await g(this.layer,i,l,{hasRequiredFields:(e,t)=>this._popupFeatureHasRequiredFields(e,t),...t})}_handleChange(){const e=Promise.all([this._updateRequiredFields(),this._updateClientWhereClauseRequirements()]).then(()=>{});return this._updatingRequiredPromise=e,e.then(()=>{this._updatingRequiredPromise===e&&(this._updatingRequiredPromise=null)}),e}async _updateClientWhereClauseRequirements(){if(!this.layer||!this.view)return;const{layer:e}=this,i=new Q(e.fieldsIndex);if(i.visitFilter(this.filter),"featureReduction"in e&&i.visitFeatureReduction(e.featureReduction),"labelingInfo"in e&&i.visitLabelingInfo(e.labelsVisible,e.labelingInfo),"trackInfo"in e&&i.visitTrackInfo(e.trackInfo),"2d"===this.view.type&&(i.visitFilter(this.featureEffect?.filter),"featureReduction"in e&&i.visitFeatureReduction(e.featureReduction),"displayFilterInfo"in e&&i.visitDisplayFilter(this.displayFilterEnabled,e.displayFilterInfo)),"subtype-group"===e.type)for(const t of e.sublayers)i.visitLabelingInfo(t.labelsVisible,t.labelingInfo);try{const e=await i.finish();this._set("requiresCurrentUser",e.requiresCurrentUser)}catch(r){t.getLogger(this).error(r)}}async _updateRequiredFields(){if(!this.layer||!this.view)return;const e="3d"===this.view.type,{layer:i,layer:{fieldsIndex:r}}=this,l="renderer"in i&&i.renderer,s="orderBy"in i&&i.orderBy,o="featureReduction"in i?i.featureReduction:null,n=new Set,a=[l?l.collectRequiredFields(n,r):null,w(n,i),e&&"elevationInfo"in i?E(n,i):null,null!=this.filter?x(n,i,this.filter):null,e||null==this.featureEffect?null:x(n,i,this.featureEffect.filter),!e&&o?R(n,i,o):null,!e&&s?q(n,i,s):null];if("timeInfo"in i&&i.timeInfo&&this.timeExtent&&j(n,i.fieldsIndex,[i.timeInfo.startField,i.timeInfo.endField]),"timeInfo"in i&&i.timeInfo&&"trackInfo"in i&&i.trackInfo){const{trackInfo:e}=i;j(n,i.fieldsIndex,[i.timeInfo.trackIdField]),"feature"!==i.type&&"startTimeField"!==e.timeField||j(n,i.fieldsIndex,[i.timeInfo.startField]),"endTimeField"===e.timeField&&j(n,i.fieldsIndex,[i.timeInfo.endField]),await C(n,i)}if("floorInfo"in i&&i.floorInfo&&j(n,i.fieldsIndex,[i.floorInfo.floorField]),"featureTitleFields"in i&&this.view?.requiredFieldsOptions?.featureTitleFields&&i.featureTitleFields&&j(n,i.fieldsIndex,i.featureTitleFields),"feature"===i.type&&i.globalIdField&&this.view?.requiredFieldsOptions?.globalIdField&&j(n,i.fieldsIndex,[i.globalIdField]),this.displayFilterEnabled&&"displayFilterInfo"in i&&a.push(O(n,i,i.displayFilterInfo)),"feature"===i.type&&e&&null!=i.infoFor3D&&(null==i.globalIdField&&t.getLogger(this).error("globalIdField missing on 3DObjectFeatureLayer"),j(n,i.fieldsIndex,[i.globalIdField])),"subtype-group"===i.type){_(n,r,i.subtypeField);const e=i.sublayers.map(e=>Promise.all([e.renderer?.collectRequiredFields(n,r),w(n,e)]));a.push(Promise.all(e))}if("catalog-footprint"===i.type&&i.parent){const e=i.parent;j(n,r,[e.itemNameField,e.itemSourceField,e.itemTypeField,e.maxScaleField,e.minScaleField])}"knowledge-graph-sublayer"===i.type&&"link-chart"===i.parentCompositeLayer.type&&_(n,r,y);const u=await Promise.allSettled(a);if(e)_(n,r,i.objectIdField);else for(const t of p(S(i)))_(n,r,t);e&&"displayField"in i&&i.displayField&&_(n,r,i.displayField);for(const f of u)"rejected"===f.status&&t.getLogger(this).error(f.reason);const d=Array.from(n).sort();this._set("requiredFields",d)}_popupFeatureHasRequiredFields(e,t){return k(e,t)}async _createPopupQuery(e,t){const r=this.layer.createQuery(),l=new Set;let s="point"===this.layer.geometryType;for(const o of e){if(!s){const e=await I(o);i(t),s=(e&&e.arcadeUtils.hasGeometryOperations(o))??!1}const e=await N(this.layer,o);i(t);for(const t of e)l.add(t)}return r.returnGeometry=s,r.returnZ=s,r.returnM=s,r.outFields=Array.from(l),r.outSpatialReference=this.view.spatialReference,"floorInfo"in this.layer&&this.layer.floorInfo&&(r.where=a(r.where,P(this))),r}canResume(){return!!super.canResume()&&(null==this.timeExtent||!this.timeExtent.isEmpty)}getTest(){}get test(){}};e([u()],G.prototype,"_updatingRequiredPromise",void 0),e([u({readOnly:!0})],G.prototype,"availableFields",null),e([u({readOnly:!0})],G.prototype,"displayFilterEnabled",null),e([u({readOnly:!0})],G.prototype,"effectiveDisplayFilter",null),e([u({readOnly:!0})],G.prototype,"effectiveDisplayFilterClause",null),e([u({type:m})],G.prototype,"featureEffect",null),e([u({type:c})],G.prototype,"filter",void 0),e([u()],G.prototype,"layer",void 0),e([u({type:Number})],G.prototype,"maximumNumberOfFeatures",null),e([u({readOnly:!0,type:Boolean})],G.prototype,"maximumNumberOfFeaturesExceeded",null),e([u()],G.prototype,"requiresCurrentUser",void 0),e([u({readOnly:!0})],G.prototype,"requiredFields",void 0),e([u({readOnly:!0})],G.prototype,"signedInUser",null),e([u()],G.prototype,"view",void 0),G=e([d("esri.views.layers.FeatureLikeLayerView")],G);export{G as default};
2
+ import{__decorate as e}from"tslib";import"../../core/has.js";import t from"../../core/Logger.js";import{throwIfAborted as i}from"../../core/promiseUtils.js";import{watch as r,syncAndInitial as l,on as s}from"../../core/reactiveUtils.js";import{sqlOr as n,sqlIn as o,sqlAnd as a}from"../../core/sql.js";import{property as u,subclass as d}from"../../core/accessorSupport/decorators.js";import{getPopupProvider as f}from"../../graphic/getPopupProvider.js";import{getFeatureIdInfoFieldNames as p}from"../../layers/graphics/data/FeatureIdInfo.js";import{systemIsSpatialFieldName as y}from"../../layers/knowledgeGraph/constants.js";import{getEffectiveDisplayFilter as h}from"../../layers/support/displayFilterUtils.js";import m from"../../layers/support/FeatureEffect.js";import c from"../../layers/support/FeatureFilter.js";import{getSignedInUser as F}from"../../layers/support/featureLayerUtils.js";import{fetchFeaturePopupFeatures as g,loadFeaturePopupArcadeModules as I}from"../../layers/support/featurePopupQueryUtils.js";import{fixFields as b,unpackFieldNames as v,collectLabelingFields as w,collectElevationFields as E,collectFilterFields as x,collectFeatureReductionFields as R,collectOrderByInfos as q,collectFields as j,collectTrackInfoFields as C,collectDisplayFilterFields as O,collectField as _,featureHasFields as k}from"../../layers/support/fieldUtils.js";import{getFloorFilterClause as P}from"../../layers/support/floorFilterUtils.js";import{collectRelativeTimeFields as U}from"../../layers/support/relativeTimeQueryUtils.js";import{getUtilityNetworkFields as T}from"../../networks/support/networkFieldUtils.js";import L from"../../rest/support/Query.js";import{createFeatureIdInfo as S}from"../2d/layers/features/layerAdapters/featureServiceUtils.js";import D from"./LayerView.js";import{getFetchPopupTemplate as Q,getRequiredFields as N}from"./support/popupUtils.js";import{WhereClauseVisitor as G}from"./support/WhereClauseVisitor.js";let B=class extends D{constructor(){super(...arguments),this._updatingRequiredPromise=null,this.filter=null,this.layer=null,this.requiresCurrentUser=!1,this.requiredFields=[],this.view=null}initialize(){this.addHandles([r(()=>{const e=this.layer,t=this.view;return[e&&"elevationInfo"in e?e.elevationInfo?.featureExpressionInfo:null,e&&"displayField"in e?e.displayField:null,e&&"timeInfo"in e&&e.timeInfo,e&&"renderer"in e&&e.renderer,e&&"labelingInfo"in e&&e.labelingInfo,e&&"floorInfo"in e&&e.floorInfo,t?.requiredFieldsOptions?.featureTitleFields&&e&&"featureTitleFields"in e&&e.featureTitleFields,t?.requiredFieldsOptions?.utilityNetworkFields&&T(t,e),e&&"displayFilterInfo"in e&&e.displayFilterInfo,this.displayFilterEnabled,this.filter,this.featureEffect,this.timeExtent,"knowledge-graph-sublayer"===e?.type&&"link-chart"===e.parentCompositeLayer.type&&e.parentCompositeLayer.linkChart?.linkChartProperties.nonspatialDataDisplay?.mode]},()=>this._handleChange(),l),s(()=>this.view?.floors,"change",()=>this._handleChange()),s(()=>(this.layer&&"displayFilterInfo"in this.layer?this.layer.displayFilterInfo:null)?.filters,"change",()=>this._handleChange()),s(()=>this.layer&&"sublayers"in this.layer?this.layer.sublayers:null,"change",()=>this._handleChange())])}get availableFields(){if(!this.layer)return[];const{layer:e,layer:{fieldsIndex:t},requiredFields:i}=this;return"outFields"in e&&e.outFields?b(t,[...v(t,e.outFields),...i]):b(t,i)}get displayFilterEnabled(){return(this.view?.displayFilterEnabled??!0)&&(!("displayFilterEnabled"in this.layer)||(this.layer?.displayFilterEnabled??!0))}get effectiveDisplayFilter(){const e=this.layer;return"displayFilterInfo"in e&&this.displayFilterEnabled&&e.displayFilterInfo?h(e.displayFilterInfo,this.view):null}get effectiveDisplayFilterClause(){const e=this.effectiveDisplayFilter?.where??null;return e&&this.hasHighlight?n(e,o(this.layer.objectIdField,this.highlightIds)):e}get featureEffect(){return this.layer&&"featureEffect"in this.layer?this.layer.featureEffect:null}set featureEffect(e){this._override("featureEffect",e)}get highlightOptions(){}set highlightOptions(e){}get maximumNumberOfFeatures(){return 0}set maximumNumberOfFeatures(e){t.getLogger(this).error("#maximumNumberOfFeatures=","Setting maximum number of features is not supported")}get maximumNumberOfFeaturesExceeded(){return!1}get signedInUser(){return this.layer?.url?F(this.layer.url):Promise.resolve(null)}createQuery(){const e={outFields:["*"],returnGeometry:!0,outSpatialReference:this.view.spatialReference},t=null!=this.filter?this.filter.createQuery(e):new L(e);return"floorInfo"in this.layer&&this.layer.floorInfo&&(t.where=a(t.where,P(this))),this.displayFilterEnabled&&(t.where=a(t.where,this.effectiveDisplayFilter?.where)),null!=this.timeExtent&&(t.timeExtent=null!=t.timeExtent?t.timeExtent.intersection(this.timeExtent):this.timeExtent.clone()),t}createAggregateQuery(){const e={outFields:["*"],returnGeometry:!0,outSpatialReference:this.view.spatialReference};return new L(e)}async fetchPopupFeaturesFromGraphics(e,t){const i=[],r=new Set;for(const s of e){const e=f(s.origin),l=Q(e,{...t,checkPopupEnabled:!0});l&&(i.push(s),r.add(l))}if(0===i.length||0===r.size)return[];const l=await this._createPopupQuery(r,t);return await g(this.layer,i,l,{hasRequiredFields:(e,t)=>this._popupFeatureHasRequiredFields(e,t),...t})}_handleChange(){const e=Promise.all([this._updateRequiredFields(),this._updateClientWhereClauseRequirements()]).then(()=>{});return this._updatingRequiredPromise=e,e.then(()=>{this._updatingRequiredPromise===e&&(this._updatingRequiredPromise=null)}),e}async _updateClientWhereClauseRequirements(){if(!this.layer||!this.view)return;const{layer:e}=this,i=new G(e.fieldsIndex);if(i.visitFilter(this.filter),"featureReduction"in e&&i.visitFeatureReduction(e.featureReduction),"labelingInfo"in e&&i.visitLabelingInfo(e.labelsVisible,e.labelingInfo),"trackInfo"in e&&i.visitTrackInfo(e.trackInfo),"2d"===this.view.type&&(i.visitFilter(this.featureEffect?.filter),"featureReduction"in e&&i.visitFeatureReduction(e.featureReduction),"displayFilterInfo"in e&&i.visitDisplayFilter(this.displayFilterEnabled,e.displayFilterInfo)),"subtype-group"===e.type)for(const t of e.sublayers)i.visitLabelingInfo(t.labelsVisible,t.labelingInfo);"definitionExpression"in e&&"capabilities"in e&&e.capabilities?.query.relativeTimeBinWindow&&i.visitRelativeTimeQuery(e.definitionExpression);try{const e=await i.finish();this._set("requiresCurrentUser",e.requiresCurrentUser)}catch(r){t.getLogger(this).error(r)}}async _updateRequiredFields(){if(!this.layer||!this.view)return;const e="3d"===this.view.type,{layer:i,layer:{fieldsIndex:r}}=this,l="renderer"in i&&i.renderer,s="orderBy"in i&&i.orderBy,n="featureReduction"in i?i.featureReduction:null,o=new Set,a=[l?l.collectRequiredFields(o,r):null,w(o,i),e&&"elevationInfo"in i?E(o,i):null,null!=this.filter?x(o,i,this.filter):null,e||null==this.featureEffect?null:x(o,i,this.featureEffect.filter),!e&&n?R(o,i,n):null,!e&&s?q(o,i,s):null,"definitionExpression"in i&&"capabilities"in i&&i.capabilities?.query.relativeTimeBinWindow?U(o,i.fieldsIndex,i.definitionExpression):null];if("timeInfo"in i&&i.timeInfo&&this.timeExtent&&j(o,i.fieldsIndex,[i.timeInfo.startField,i.timeInfo.endField]),"timeInfo"in i&&i.timeInfo&&"trackInfo"in i&&i.trackInfo){const{trackInfo:e}=i;j(o,i.fieldsIndex,[i.timeInfo.trackIdField]),"feature"!==i.type&&"startTimeField"!==e.timeField||j(o,i.fieldsIndex,[i.timeInfo.startField]),"endTimeField"===e.timeField&&j(o,i.fieldsIndex,[i.timeInfo.endField]),await C(o,i)}if("floorInfo"in i&&i.floorInfo&&j(o,i.fieldsIndex,[i.floorInfo.floorField]),"featureTitleFields"in i&&this.view?.requiredFieldsOptions?.featureTitleFields&&i.featureTitleFields&&j(o,i.fieldsIndex,i.featureTitleFields),"feature"===i.type&&i.globalIdField&&this.view?.requiredFieldsOptions?.globalIdField&&j(o,i.fieldsIndex,[i.globalIdField]),this.displayFilterEnabled&&"displayFilterInfo"in i&&a.push(O(o,i,i.displayFilterInfo)),"feature"===i.type&&e&&null!=i.infoFor3D&&(null==i.globalIdField&&t.getLogger(this).error("globalIdField missing on 3DObjectFeatureLayer"),j(o,i.fieldsIndex,[i.globalIdField])),"subtype-group"===i.type){_(o,r,i.subtypeField);const e=i.sublayers.map(e=>Promise.all([e.renderer?.collectRequiredFields(o,r),w(o,e)]));a.push(Promise.all(e))}if("catalog-footprint"===i.type&&i.parent){const e=i.parent;j(o,r,[e.itemNameField,e.itemSourceField,e.itemTypeField,e.maxScaleField,e.minScaleField])}"knowledge-graph-sublayer"===i.type&&"link-chart"===i.parentCompositeLayer.type&&_(o,r,y);const u=await Promise.allSettled(a);if(e)_(o,r,i.objectIdField);else for(const t of p(S(i)))_(o,r,t);e&&"displayField"in i&&i.displayField&&_(o,r,i.displayField);for(const f of u)"rejected"===f.status&&t.getLogger(this).error(f.reason);const d=Array.from(o).sort();this._set("requiredFields",d)}_popupFeatureHasRequiredFields(e,t){return k(e,t)}async _createPopupQuery(e,t){const r=this.layer.createQuery(),l=new Set;let s="point"===this.layer.geometryType;for(const n of e){if(!s){const e=await I(n);i(t),s=(e&&e.arcadeUtils.hasGeometryOperations(n))??!1}const e=await N(this.layer,n);i(t);for(const t of e)l.add(t)}return r.returnGeometry=s,r.returnZ=s,r.returnM=s,r.outFields=Array.from(l),r.outSpatialReference=this.view.spatialReference,"floorInfo"in this.layer&&this.layer.floorInfo&&(r.where=a(r.where,P(this))),r}canResume(){return!!super.canResume()&&(null==this.timeExtent||!this.timeExtent.isEmpty)}getTest(){}get test(){}};e([u()],B.prototype,"_updatingRequiredPromise",void 0),e([u({readOnly:!0})],B.prototype,"availableFields",null),e([u({readOnly:!0})],B.prototype,"displayFilterEnabled",null),e([u({readOnly:!0})],B.prototype,"effectiveDisplayFilter",null),e([u({readOnly:!0})],B.prototype,"effectiveDisplayFilterClause",null),e([u({type:m})],B.prototype,"featureEffect",null),e([u({type:c})],B.prototype,"filter",void 0),e([u()],B.prototype,"layer",void 0),e([u({type:Number})],B.prototype,"maximumNumberOfFeatures",null),e([u({readOnly:!0,type:Boolean})],B.prototype,"maximumNumberOfFeaturesExceeded",null),e([u()],B.prototype,"requiresCurrentUser",void 0),e([u({readOnly:!0})],B.prototype,"requiredFields",void 0),e([u({readOnly:!0})],B.prototype,"signedInUser",null),e([u()],B.prototype,"view",void 0),B=e([d("esri.views.layers.FeatureLikeLayerView")],B);export{B as default};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{parseWhereClause as i}from"../../../core/sql.js";class s{constructor(i){this._fieldsIndex=i,this._clauses=[]}async finish(){return{requiresCurrentUser:(await Promise.all(this._clauses)).some(i=>i.currentUserRequired)}}visitClientWhereClause(s){s&&this._clauses.push(i(s,this._fieldsIndex))}visitFeatureReduction(i){if(i)switch(i.type){case"binning":case"cluster":this.visitLabelingInfo(i.labelsVisible,i.labelingInfo)}}visitLabelingInfo(i,s){if(i&&null!=s)for(const e of s)this.visitClientWhereClause(e.where)}visitDisplayFilter(i,s){if(i)for(const e of s?.filters??[])this.visitClientWhereClause(e.where)}visitFilter(i){this.visitClientWhereClause(i?.where)}visitTrackInfo(i){null!=i&&(this.visitLabelingInfo(i?.latestObservations.labelsVisible,i?.latestObservations.labelingInfo),this.visitLabelingInfo(i?.previousObservations.labelsVisible,i?.previousObservations.labelingInfo),this.visitLabelingInfo(i?.trackLines.labelsVisible,i?.trackLines.labelingInfo))}}export{s as WhereClauseVisitor};
2
+ import{parseWhereClause as i}from"../../../core/sql.js";import{getRelativeTimeFields as e}from"../../../layers/support/relativeTimeQueryUtils.js";class s{constructor(i){this._fieldsIndex=i,this._clauses=[]}async finish(){return{requiresCurrentUser:(await Promise.all(this._clauses)).some(i=>i?.currentUserRequired)}}visitClientWhereClause(e){e&&this._clauses.push(i(e,this._fieldsIndex))}visitFeatureReduction(i){if(i)switch(i.type){case"binning":case"cluster":this.visitLabelingInfo(i.labelsVisible,i.labelingInfo)}}visitLabelingInfo(i,e){if(i&&null!=e)for(const s of e)this.visitClientWhereClause(s.where)}visitDisplayFilter(i,e){if(i)for(const s of e?.filters??[])this.visitClientWhereClause(s.where)}visitFilter(i){this.visitClientWhereClause(i?.where)}visitRelativeTimeQuery(s){this._clauses.push(e(this._fieldsIndex,s).then(e=>s&&e.length>0?i(s,this._fieldsIndex):null))}visitTrackInfo(i){null!=i&&(this.visitLabelingInfo(i?.latestObservations.labelsVisible,i?.latestObservations.labelingInfo),this.visitLabelingInfo(i?.previousObservations.labelsVisible,i?.previousObservations.labelingInfo),this.visitLabelingInfo(i?.trackLines.labelsVisible,i?.trackLines.labelingInfo))}}export{s as WhereClauseVisitor};
@@ -180,7 +180,7 @@ export default class HighlightOptions extends Accessor {
180
180
  * highlights only the difference between the shadow areas, so the overlapping shadow areas aren't highlighted at
181
181
  * all. Here is an example of what the shadow highlight looks like with different values:
182
182
  *
183
- * ![shadow-highlight](https://developers.arcgis.com/javascript/latest/assets/img/apiref/views/shadow-highlight.png)
183
+ * ![shadow-highlight](https://developers.arcgis.com/javascript/latest/assets/images/apiref/views/shadow-highlight.png)
184
184
  *
185
185
  * > [!WARNING]
186
186
  * >
@@ -19,7 +19,7 @@ export interface DefaultUIProperties extends UIProperties, Partial<Pick<DefaultU
19
19
  * the upper region are stacked vertically, while widgets in the lower region are stacked horizontally.
20
20
  * The available positions are indicated in the image below.
21
21
  *
22
- * ![views-ui-layout](https://developers.arcgis.com/javascript/latest/assets/img/apiref/views/views-ui-layout.jpg)
22
+ * ![views-ui-layout](https://developers.arcgis.com/javascript/latest/assets/images/apiref/views/views-ui-layout.jpg)
23
23
  *
24
24
  * Methods, such as [add()](https://developers.arcgis.com/javascript/latest/references/core/views/ui/DefaultUI/#add) and [move()](https://developers.arcgis.com/javascript/latest/references/core/views/ui/DefaultUI/#move) can be used to place widgets in specific
25
25
  * positions of the UI. In the image below, the [Search](https://developers.arcgis.com/javascript/latest/references/core/widgets/Search/) and
@@ -37,7 +37,7 @@ export interface DefaultUIProperties extends UIProperties, Partial<Pick<DefaultU
37
37
  * view.ui.add(bmToggleWidget, "bottom-right");
38
38
  * ```
39
39
  *
40
- * ![views-ui-demo](https://developers.arcgis.com/javascript/latest/assets/img/apiref/views/views-ui-demo.png)
40
+ * ![views-ui-demo](https://developers.arcgis.com/javascript/latest/assets/images/apiref/views/views-ui-demo.png)
41
41
  *
42
42
  * If you dive into the doc of the methods [add()](https://developers.arcgis.com/javascript/latest/references/core/views/ui/DefaultUI/#add), [empty()](https://developers.arcgis.com/javascript/latest/references/core/views/ui/DefaultUI/#empty) and [move()](https://developers.arcgis.com/javascript/latest/references/core/views/ui/DefaultUI/#move), you'll notice some of the
43
43
  * possible values include "leading" and "trailing". That's because the ArcGIS Maps SDK for JavaScript provides
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{isArrayLike as t}from"../../core/arrayUtils.js";import has from"../../core/has.js";import e from"../../core/Logger.js";import{isUint8Array as s,isUint16Array as i,isUint32Array as r}from"../../core/typedArrayUtil.js";import{checkWebGLError as n}from"./checkWebGLError.js";import{ResourceType as u,DataType as a}from"./enums.js";const f=()=>e.getLogger("esri.views.webgl.BufferObject"),h=null,c=!!has("esri-tests-disable-gpu-memory-measurements");class o{static createIndex(t,e,s){return new o(t,34963,e,s)}static createUniform(t,e,s){return new o(t,35345,e,s)}static createPixelPack(t,e=35041,s){const i=new o(t,35051,e);return s&&i.setSize(s),i}static createPixelUnpack(t,e=35040,s){return new o(t,35052,e,s)}static createTransformFeedback(t,e=35044,s){const i=new o(t,35982,e);return i.setSize(s),i}constructor(t,e,s,i){this._context=t,this.bufferType=e,this.usage=s,this._glName=null,this._size=-1,this._indexType=void 0,t.instanceCounter.increment(u.BufferObject,this),this._glName=this._context.gl.createBuffer(),n(this._context.gl),i&&this.setData(i)}get glName(){return this._glName}get size(){return this._size}get indexType(){return this._indexType}get sizeBytes(){if(34963===this.bufferType){if(this._indexType===a.UNSIGNED_INT)return 4*this._size;if(this._indexType===a.UNSIGNED_SHORT)return 2*this._size}return this._size}get usedMemory(){return c?0:this.sizeBytes}get _isVAOAware(){return 34963===this.bufferType||34962===this.bufferType}dispose(){if(this._context?.gl){if(this._glName){this._context.gl.deleteBuffer(this._glName),this._glName=null}this._context.instanceCounter.decrement(u.BufferObject,this),this._context=null}else this._glName&&f().warn("Leaked WebGL buffer object")}setSize(t,e=null){if(34963===this.bufferType&&null!=e)switch(this._indexType=e,e){case a.UNSIGNED_SHORT:t*=2;break;case a.UNSIGNED_INT:t*=4}this._setBufferData(t)}setData(t){if(!t)return;let e=t.byteLength;34963===this.bufferType&&(s(t)?this._indexType=a.UNSIGNED_BYTE:i(t)?(e/=2,this._indexType=a.UNSIGNED_SHORT):r(t)&&(e/=4,this._indexType=a.UNSIGNED_INT)),this._setBufferData(e,t)}_setBufferData(t,e=null){this._size=t;const s=this._context.getBoundVAO();this._isVAOAware&&this._context.bindVAO(null),this._context.bindBuffer(this);const i=this._context.gl;null!=e?i.bufferData(this.bufferType,e,this.usage):i.bufferData(this.bufferType,t,this.usage),n(i),this._isVAOAware&&this._context.bindVAO(s)}setSubData(t,e,s,i){if(!t)return;const r=this._context.getBoundVAO();this._isVAOAware&&this._context.bindVAO(null),this._context.bindBuffer(this);const{gl:u}=this._context;u.bufferSubData(this.bufferType,e*t.BYTES_PER_ELEMENT,t,s,i-s),n(u),this._isVAOAware&&this._context.bindVAO(r)}getSubData(t,e=0,s,i){if(s<0||i<0)return;const r=_(t)?t.BYTES_PER_ELEMENT:1;if(r*((s??0)+(i??0))>t.byteLength)return;e+r*(i??0)>this.usedMemory&&f().warn("Potential problem getting subdata: requested data exceeds buffer size!");const n=this._context.gl;35982===this.bufferType?(this._context.bindBuffer(this,35982),n.getBufferSubData(35982,e,t,s,i),this._context.unbindBuffer(35982)):(this._context.bindBuffer(this,36662),n.getBufferSubData(36662,e,t,s,i),this._context.unbindBuffer(36662))}async getSubDataAsync(t,e=0,s,i){await this._context.clientWaitAsync(),this.getSubData(t,e,s,i)}}function _(e){return t(e)}export{o as BufferObject,h as tracer};
2
+ import{isArrayLike as e}from"../../core/arrayUtils.js";import has from"../../core/has.js";import t from"../../core/Logger.js";import{isUint8Array as s,isUint16Array as i,isUint32Array as r}from"../../core/typedArrayUtil.js";import{checkWebGLError as n}from"./checkWebGLError.js";import{ResourceType as a,DataType as u}from"./enums.js";const c=()=>t.getLogger("esri.views.webgl.BufferObject"),f=null,h=!!has("esri-tests-disable-gpu-memory-measurements");class o{static createIndex(e,t,s){return new o(e,34963,t,s)}static createUniform(e,t,s){return new o(e,35345,t,s)}static createPixelPack(e,t=35041,s){const i=new o(e,35051,t);return s&&i.setSize(s),i}static createPixelUnpack(e,t=35040,s){return new o(e,35052,t,s)}static createTransformFeedback(e,t=35044,s){const i=new o(e,35982,t);return i.setSize(s),i}constructor(e,t,s,i){this._context=e,this.bufferType=t,this.usage=s,this._glName=null,this._sizeBytes=-1,this._indexType=void 0,e.instanceCounter.increment(a.BufferObject,this),this._glName=this._context.gl.createBuffer(),n(this._context.gl),i&&this.setData(i)}get glName(){return this._glName}get size(){if(34963===this.bufferType)switch(this._indexType){case u.UNSIGNED_INT:return this._sizeBytes/4;case u.UNSIGNED_SHORT:return this._sizeBytes/2;case u.UNSIGNED_BYTE:case void 0:case null:break;default:this._indexType}return this._sizeBytes}get indexType(){return this._indexType}get sizeBytes(){return this._sizeBytes}get usedMemory(){return h?0:this.sizeBytes}get _isVAOAware(){return 34963===this.bufferType||34962===this.bufferType}dispose(){if(this._context?.gl){if(this._glName){this._context.gl.deleteBuffer(this._glName),this._glName=null}this._context.instanceCounter.decrement(a.BufferObject,this),this._context=null}else this._glName&&c().warn("Leaked WebGL buffer object")}setSize(e,t=null){if(34963===this.bufferType&&null!=t)switch(this._indexType=t,t){case u.UNSIGNED_SHORT:e*=2;break;case u.UNSIGNED_INT:e*=4;case u.UNSIGNED_BYTE:}this._setBufferData(e)}setData(e){if(!e)return;const t=e.byteLength;34963===this.bufferType&&(s(e)?this._indexType=u.UNSIGNED_BYTE:i(e)?this._indexType=u.UNSIGNED_SHORT:r(e)&&(this._indexType=u.UNSIGNED_INT)),this._setBufferData(t,e)}_setBufferData(e,t=null){this._sizeBytes=e;const s=this._context.getBoundVAO();this._isVAOAware&&this._context.bindVAO(null),this._context.bindBuffer(this);const i=this._context.gl;null!=t?i.bufferData(this.bufferType,t,this.usage):i.bufferData(this.bufferType,e,this.usage),n(i),this._isVAOAware&&this._context.bindVAO(s)}setSubData(e,t,s,i){if(!e)return;const r=this._context.getBoundVAO();this._isVAOAware&&this._context.bindVAO(null),this._context.bindBuffer(this);const{gl:a}=this._context;a.bufferSubData(this.bufferType,t*e.BYTES_PER_ELEMENT,e,s,i-s),n(a),this._isVAOAware&&this._context.bindVAO(r)}getSubData(e,t=0,s,i){if(s<0||i<0)return;const r=_(e)?e.BYTES_PER_ELEMENT:1;if(r*((s??0)+(i??0))>e.byteLength)return;t+r*(i??0)>this.usedMemory&&c().warn("Potential problem getting subdata: requested data exceeds buffer size!");const n=this._context.gl;35982===this.bufferType?(this._context.bindBuffer(this,35982),n.getBufferSubData(35982,t,e,s,i),this._context.unbindBuffer(35982)):(this._context.bindBuffer(this,36662),n.getBufferSubData(36662,t,e,s,i),this._context.unbindBuffer(36662))}async getSubDataAsync(e,t=0,s,i){await this._context.clientWaitAsync(),this.getSubData(e,t,s,i)}}function _(t){return e(t)}export{o as BufferObject,f as tracer};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import has from"../../core/has.js";import t from"../../core/Logger.js";import{disposeMaybe as e}from"../../core/maybe.js";import{after as s}from"../../core/promiseUtils.js";import{Milliseconds as i}from"../../core/time.js";import{webglDebugEnabled as a,checkWebGLError as r,getErrorMessage as n}from"./checkWebGLError.js";import{ContextState as l}from"./ContextState.js";import{DrawBufferBack as h,DrawBufferNone as f,ColorAttachment0 as o,baseTextureUnit as u,ResourceType as c,PrimitiveType as d}from"./enums.js";import{InstanceCounter as _}from"./InstanceCounter.js";import{Parameters as b}from"./Parameters.js";import{ProgramCache as g}from"./ProgramCache.js";import{StateTracker as p}from"./renderState.js";import m from"./Texture.js";import{WebGLDriverTest as B}from"./WebGLDriverTest.js";import{Capabilities as F}from"./capabilities/Capabilities.js";const T=()=>t.getLogger("esri.views.webgl.RenderingContext");let x=class{constructor(t,e){this.gl=t,this.instanceCounter=new _,this._programCache=new g(this),this._transformFeedbackRequestInfo=null,this._state=new l,this._numOfDrawCalls=0,this._numOfTriangles=0,this._options=e,this.configure(e)}configure(t){this._options=t,this._capabilities=new F(this.gl,t),this._parameters=new b(this.gl,this._capabilities,t),m.TEXTURE_UNIT_FOR_UPDATES=this._parameters.maxTextureImageUnits-1;const s=this.gl.getParameter(this.gl.VIEWPORT);this._state=new l,this._state.viewport={x:s[0],y:s[1],width:s[2],height:s[3]},this._stateTracker=new p({setBlending:t=>{if(t){this.setBlendingEnabled(!0),this.setBlendEquationSeparate(t.opRgb,t.opAlpha),this.setBlendFunctionSeparate(t.srcRgb,t.dstRgb,t.srcAlpha,t.dstAlpha);const e=t.color;this.setBlendColor(e.r,e.g,e.b,e.a)}else this.setBlendingEnabled(!1)},setCulling:t=>{t?(this.setFaceCullingEnabled(!0),this.setCullFace(t.face),this.setFrontFace(t.mode)):this.setFaceCullingEnabled(!1)},setPolygonOffset:t=>{t?(this.setPolygonOffsetFillEnabled(!0),this.setPolygonOffset(t.factor,t.units)):this.setPolygonOffsetFillEnabled(!1)},setDepthTest:t=>{t?(this.setDepthTestEnabled(!0),this.setDepthFunction(t.func)):this.setDepthTestEnabled(!1)},setStencilTest:t=>{if(t){this.setStencilTestEnabled(!0);const e=t.function;this.setStencilFunction(e.func,e.ref,e.mask);const s=t.operation;this.setStencilOp(s.fail,s.zFail,s.zPass)}else this.setStencilTestEnabled(!1)},setDepthWrite:t=>{t?(this.setDepthWriteEnabled(!0),this.setDepthRange(t.zNear,t.zFar)):this.setDepthWriteEnabled(!1)},setColorWrite:t=>{t?this.setColorMask(t.r,t.g,t.b,t.a):this.setColorMask(!1,!1,!1,!1)},setStencilWrite:t=>{t?this.setStencilWriteMask(t.mask):this.setStencilWriteMask(0)},setDrawBuffers:t=>{if(t)this.setDrawBuffers(t.buffers);else{const{drawFramebuffer:t}=this._state;null===t?this.setDrawBuffers([h]):0===t.colorAttachments.length?this.setDrawBuffers([f]):this.setDrawBuffers([o])}}}),this.enforceState(),e(this._driverTest),this._driverTest=new B(this)}updateOptions(t){this._options={...this._options,...t},this._parameters=new b(this.gl,this._capabilities,this._options)}dispose(){this._driverTest=e(this._driverTest),this._programCache=e(this._programCache),this.bindVAO(null),this.unbindBuffer(34962),this.unbindBuffer(34963),this.unbindBuffer(35345),this._state.uniformBufferBindingPoints.length=0,this.unbindBuffer(35051),this.unbindBuffer(35052),this.unbindBuffer(36662),this.unbindBuffer(36663),this._state.textureUnitMap.length=0,this._state=null,this._capabilities=null,this._stateTracker=null,a()&&console.log(this.instanceCounter.resourceInformation)}get driverTest(){return this._driverTest}get contextAttributes(){return this.gl.getContextAttributes()}get parameters(){return this._parameters}get programCache(){return this._programCache}setPipelineState(t){this._stateTracker.setPipeline(t)}getPipelineState(){return this._stateTracker.getPipelineState()}setBlendingEnabled(t){this._state.blend!==t&&(!0===t?this.gl.enable(this.gl.BLEND):this.gl.disable(this.gl.BLEND),this._state.blend=t,this._stateTracker.invalidateBlending())}externalProgramUpdate(){this._state.program?.stop(),this._state.program=null}externalTextureUnitUpdate(t,e){for(let s=0;s<t.length;++s)this._state.textureUnitMap[t[s]]=null;e>=0&&(this._state.activeTexture=e)}externalVertexArrayObjectUpdate(){this.gl.bindVertexArray(null),this._state.vertexArrayObject=null,this._state.vertexBuffer=null,this._state.indexBuffer=null}externalVertexBufferUpdate(){this._state.vertexBuffer=null}externalIndexBufferUpdate(){this._state.indexBuffer=null}setBlendColor(t,e,s,i){t===this._state.blendColor.r&&e===this._state.blendColor.g&&s===this._state.blendColor.b&&i===this._state.blendColor.a||(this.gl.blendColor(t,e,s,i),this._state.blendColor.r=t,this._state.blendColor.g=e,this._state.blendColor.b=s,this._state.blendColor.a=i,this._stateTracker.invalidateBlending())}setBlendFunction(t,e){t===this._state.blendFunction.srcRGB&&e===this._state.blendFunction.dstRGB||(this.gl.blendFunc(t,e),this._state.blendFunction.srcRGB=t,this._state.blendFunction.srcAlpha=t,this._state.blendFunction.dstRGB=e,this._state.blendFunction.dstAlpha=e,this._stateTracker.invalidateBlending())}setBlendFunctionSeparate(t,e,s,i){this._state.blendFunction.srcRGB===t&&this._state.blendFunction.srcAlpha===s&&this._state.blendFunction.dstRGB===e&&this._state.blendFunction.dstAlpha===i||(this.gl.blendFuncSeparate(t,e,s,i),this._state.blendFunction.srcRGB=t,this._state.blendFunction.srcAlpha=s,this._state.blendFunction.dstRGB=e,this._state.blendFunction.dstAlpha=i,this._stateTracker.invalidateBlending())}setBlendEquation(t){this._state.blendEquation.mode!==t&&(this.gl.blendEquation(t),this._state.blendEquation.mode=t,this._state.blendEquation.modeAlpha=t,this._stateTracker.invalidateBlending())}setBlendEquationSeparate(t,e){this._state.blendEquation.mode===t&&this._state.blendEquation.modeAlpha===e||(this.gl.blendEquationSeparate(t,e),this._state.blendEquation.mode=t,this._state.blendEquation.modeAlpha=e,this._stateTracker.invalidateBlending())}setColorMask(t,e,s,i){this._state.colorMask.r===t&&this._state.colorMask.g===e&&this._state.colorMask.b===s&&this._state.colorMask.a===i||(this.gl.colorMask(t,e,s,i),this._state.colorMask.r=t,this._state.colorMask.g=e,this._state.colorMask.b=s,this._state.colorMask.a=i,this._stateTracker.invalidateColorWrite())}setClearColor(t,e,s,i){this._state.clearColor.r===t&&this._state.clearColor.g===e&&this._state.clearColor.b===s&&this._state.clearColor.a===i||(this.gl.clearColor(t,e,s,i),this._state.clearColor.r=t,this._state.clearColor.g=e,this._state.clearColor.b=s,this._state.clearColor.a=i)}setFaceCullingEnabled(t){this._state.faceCulling!==t&&(!0===t?this.gl.enable(this.gl.CULL_FACE):this.gl.disable(this.gl.CULL_FACE),this._state.faceCulling=t,this._stateTracker.invalidateCulling())}setPolygonOffsetFillEnabled(t){this._state.polygonOffsetFill!==t&&(!0===t?this.gl.enable(this.gl.POLYGON_OFFSET_FILL):this.gl.disable(this.gl.POLYGON_OFFSET_FILL),this._state.polygonOffsetFill=t,this._stateTracker.invalidatePolygonOffset())}setPolygonOffset(t,e){this._state.polygonOffset[0]===t&&this._state.polygonOffset[1]===e||(this._state.polygonOffset[0]=t,this._state.polygonOffset[1]=e,this.gl.polygonOffset(t,e),this._stateTracker.invalidatePolygonOffset())}setCullFace(t){this._state.cullFace!==t&&(this.gl.cullFace(t),this._state.cullFace=t,this._stateTracker.invalidateCulling())}setFrontFace(t){this._state.frontFace!==t&&(this.gl.frontFace(t),this._state.frontFace=t,this._stateTracker.invalidateCulling())}setScissorTestEnabled(t){this._state.scissorTest!==t&&(!0===t?this.gl.enable(this.gl.SCISSOR_TEST):this.gl.disable(this.gl.SCISSOR_TEST),this._state.scissorTest=t)}setScissorRect(t,e,s,i){this._state.scissorRect.x===t&&this._state.scissorRect.y===e&&this._state.scissorRect.width===s&&this._state.scissorRect.height===i||(this.gl.scissor(t,e,s,i),this._state.scissorRect.x=t,this._state.scissorRect.y=e,this._state.scissorRect.width=s,this._state.scissorRect.height=i)}setDepthTestEnabled(t){this._state.depthTest!==t&&(!0===t?this.gl.enable(this.gl.DEPTH_TEST):this.gl.disable(this.gl.DEPTH_TEST),this._state.depthTest=t,this._stateTracker.invalidateDepthTest())}setClearDepth(t){this._state.clearDepth!==t&&(this.gl.clearDepth(t),this._state.clearDepth=t)}setDepthFunction(t){this._state.depthFunction!==t&&(this.gl.depthFunc(t),this._state.depthFunction=t,this._stateTracker.invalidateDepthTest())}setDepthWriteEnabled(t){this._state.depthWrite!==t&&(this.gl.depthMask(t),this._state.depthWrite=t,this._stateTracker.invalidateDepthWrite())}setDepthRange(t,e){this._state.depthRange.zNear===t&&this._state.depthRange.zFar===e||(this.gl.depthRange(t,e),this._state.depthRange.zNear=t,this._state.depthRange.zFar=e,this._stateTracker.invalidateDepthWrite())}setStencilTestEnabled(t){this._state.stencilTest!==t&&(!0===t?this.gl.enable(this.gl.STENCIL_TEST):this.gl.disable(this.gl.STENCIL_TEST),this._state.stencilTest=t,this._stateTracker.invalidateStencilTest())}setClearStencil(t){t!==this._state.clearStencil&&(this.gl.clearStencil(t),this._state.clearStencil=t)}setStencilFunction(t,e,s){this._state.stencilFunction.func===t&&this._state.stencilFunction.ref===e&&this._state.stencilFunction.mask===s||(this.gl.stencilFunc(t,e,s),this._state.stencilFunction.face=1032,this._state.stencilFunction.func=t,this._state.stencilFunction.ref=e,this._state.stencilFunction.mask=s,this._stateTracker.invalidateStencilTest())}setStencilFunctionSeparate(t,e,s,i){this._state.stencilFunction.face===t&&this._state.stencilFunction.func===e&&this._state.stencilFunction.ref===s&&this._state.stencilFunction.mask===i||(this.gl.stencilFuncSeparate(t,e,s,i),this._state.stencilFunction.face=t,this._state.stencilFunction.func=e,this._state.stencilFunction.ref=s,this._state.stencilFunction.mask=i,this._stateTracker.invalidateStencilTest())}setStencilWriteMask(t){this._state.stencilWriteMask!==t&&(this.gl.stencilMask(t),this._state.stencilWriteMask=t,this._stateTracker.invalidateStencilWrite())}setStencilOp(t,e,s){1032===this._state.stencilOperation.face&&this._state.stencilOperation.fail===t&&this._state.stencilOperation.zFail===e&&this._state.stencilOperation.zPass===s||(this.gl.stencilOp(t,e,s),this._state.stencilOperation.face=1032,this._state.stencilOperation.fail=t,this._state.stencilOperation.zFail=e,this._state.stencilOperation.zPass=s,this._stateTracker.invalidateStencilTest())}setStencilOpSeparate(t,e,s,i){this._state.stencilOperation.face===t&&this._state.stencilOperation.fail===e&&this._state.stencilOperation.zFail===s&&this._state.stencilOperation.zPass===i||(this.gl.stencilOpSeparate(t,e,s,i),this._state.stencilOperation.face=t,this._state.stencilOperation.fail=e,this._state.stencilOperation.zFail=s,this._state.stencilOperation.zPass=i,this._stateTracker.invalidateStencilTest())}setActiveTexture(t,e=!1){const s=this._state.activeTexture;return t>=0&&(e||t!==this._state.activeTexture)&&(this.gl.activeTexture(u+t),this._state.activeTexture=t),s}setDrawBuffers(t){const{drawFramebuffer:e}=this._state,s=null===e,i=s?this._state.drawBuffers.defaultFramebuffer:this._state.drawBuffers.fbos.get(e);if(i?.length!==t.length||!i.every((e,s)=>e===t[s]))if(t.length>this.parameters.maxDrawBuffers)T().error(`Setting more active draw buffers (${t.length}) than GL.MAX_DRAW_BUFFERS allows ( ${this.parameters.maxDrawBuffers}).`);else{if(s){if(t.length>1)return void T().error(`The default framebuffer can only have 1 active draw buffer but was requested with ${t.length}.`);if(t[0]!==h&&t[0]!==f)return void T().error(`The default framebuffer can only use the constants GL.BACK or GL.NONE as draw buffers but got ${t[0]}`)}s||!t.includes(h)?(this.gl.drawBuffers(t),r(this.gl),s?this._state.drawBuffers.defaultFramebuffer=t:this._state.drawBuffers.fbos.set(e,t),this._stateTracker.invalidateDrawBuffers()):T().error("A framebuffer object can only use the constants GL.COLOR_ATTACHMENTi or GL.NONE as draw buffers.")}}clear(t,e=255){if(t){if(16384&t){const t=this._state.drawFramebuffer?.colorAttachments;t&&this.setDrawBuffers(t),this.setColorMask(!0,!0,!0,!0)}256&t&&this.setDepthWriteEnabled(!0),1024&t&&this.setStencilWriteMask(e),this.gl.clear(t)}}clearFramebuffer(t,e=!1,s=!1){let i=0;if(t){const e=1e-13,s=Math.max(e,t[3]);this.setClearColor(t[0],t[1],t[2],s),i|=16384}e&&(i|=256),!1===s?s=0:(!0===s&&(s=255),i|=1024),i&&this.clear(i,s)}clearBuffer(t,e,s=6144,i=void 0){this.gl.clearBufferfv(s,t,e,i)}clearBufferInteger(t,e,s=6144,i=void 0){this.gl.clearBufferiv(s,t,e,i)}clearBufferUnsignedInteger(t,e,s=6144,i=void 0){this.gl.clearBufferuiv(s,t,e,i)}drawArrays(t,e,s){if(this._transformFeedbackRequestInfo){if(t!==this._transformFeedbackRequestInfo.primitiveType)throw new Error("DrawArrays called during transform feedback, but primitiveType does not match that of the current transform feedback request");if(null==this._state.program?.hasTransformFeedbackVaryings)throw new Error("DrawArrays called during transform feedback, but the shader program was not linked with a transform feedback varying")}if(a()&&(this._numOfDrawCalls++,this._numOfTriangles+=k(t,s),has("enable-feature:webgl-debug:textureReadWrite"))){const t=this._state.textureUnitMap;for(let e=0;e<t.length;e++){const s=t[e];if(null!=s&&s===this._state.drawFramebuffer?.colorTexture)throw new Error(`Detected readWrite. Texture already bound at index ${e}`)}}this.gl.drawArrays(t,e,s),r(this.gl)}drawArraysInstanced(t,e,s,i){this.gl.drawArraysInstanced(t,e,s,i),r(this.gl)}drawElements(t,e,s,i){if(this._transformFeedbackRequestInfo)throw new Error("Cannot called drawElements during a transform feedback request");if(a()&&(this._numOfDrawCalls++,this._numOfTriangles+=k(t,e)),this.gl.drawElements(t,e,s,i),a()){const a=n(this.gl);if(a){const r=this.getBoundVAO(),n=r?.indexBuffer,l=r?.buffers,h={indexBuffer:n,vertexBuffers:l},f={mode:t,count:e,type:s,offset:i},o=n?.size??0,u=i+e,c=o<u?`. Buffer is too small. Attempted to draw index ${u} of ${o}`:"";T().error(`drawElements: ${a}${c}`,{args:f,vao:h})}}}drawElementsInstanced(t,e,s,i,a){this.gl.drawElementsInstanced(t,e,s,i,a),r(this.gl)}logInfo(){a()&&console.log(`DrawCalls: ${this._numOfDrawCalls}, Triangles: ${this._numOfTriangles}`)}resetInfo(){a()&&(this._numOfDrawCalls=0,this._numOfTriangles=0)}get capabilities(){return this._capabilities}setViewport(t,e,s,i){s=Math.max(Math.round(s),1),i=Math.max(Math.round(i),1);const a=this._state.viewport;a.x===t&&a.y===e&&a.width===s&&a.height===i||(a.x=t,a.y=e,a.width=s,a.height=i,this.gl.viewport(t,e,s,i))}setViewport4fv(t){this.setViewport(t[0],t[1],t[2],t[3])}restoreViewport({x:t,y:e,width:s,height:i}){this.setViewport(t,e,s,i)}getViewport(){const t=this._state.viewport;return{x:t.x,y:t.y,width:t.width,height:t.height}}useProgram(t){this._state.program!==t&&(this._state.program?.stop(),this._state.program=t,this.gl.useProgram(t?.glName??null))}bindTexture(t,e,s=!1){(e>=this.parameters.maxTextureImageUnits||e<0)&&T().error(`Input texture unit (${e}) is out of range of available units (0...${this.parameters.maxTextureImageUnits})\n `);const i=this._state.textureUnitMap[e];return null==t?.glName?(null!=i&&(this.setActiveTexture(e,s),this.gl.bindTexture(i.descriptor.target,null)),this._state.textureUnitMap[e]=null,i):s||i!==t?(this.setActiveTexture(e,s),this.gl.bindTexture(t.descriptor.target,t.glName),t.applyChanges(),this._state.textureUnitMap[e]=t,i):(t.isDirty&&(this.setActiveTexture(e,s),t.applyChanges()),i)}unbindTexture(t){if(null!=t)for(let e=0;e<this.parameters.maxTextureImageUnits;e++)this._state.textureUnitMap[e]===t&&(this.bindTexture(null,e),this._state.textureUnitMap[e]=null)}bindFramebuffer(t,e=!1){if(e||this._state.readFramebuffer!==t||this._state.drawFramebuffer!==t){if(this._stateTracker.invalidateDrawBuffers(),null==t)return this.gl.bindFramebuffer(36160,null),void(this._state.readFramebuffer=this._state.drawFramebuffer=null);t.initializeAndBind(36160),this._state.readFramebuffer=t,this._state.drawFramebuffer=t}}bindFramebufferSeparate(t,e,s=!1){const i=36008===e,a=i?this._state.readFramebuffer:this._state.drawFramebuffer;(s||a!==t)&&(null==t?this.gl.bindFramebuffer(e,null):t.initializeAndBind(e),i?this._state.readFramebuffer=t??null:(this._stateTracker.invalidateDrawBuffers(),this._state.drawFramebuffer=t??null))}blitFramebuffer(t,e,s=16384,i=9728,a=0,r=0,n=t.width,l=t.height,h=0,f=0,o=e.width,u=e.height){this.bindFramebufferSeparate(t,36008,!0),this.bindFramebufferSeparate(e,36009,!0),this.gl.blitFramebuffer(a,r,n,l,h,f,o,u,s,i)}bindBuffer(t,e){if(t)switch(e??=t.bufferType,e){case 34962:this._state.vertexBuffer=w(this.gl,t,e,this._state.vertexBuffer);break;case 34963:this._state.indexBuffer=w(this.gl,t,e,this._state.indexBuffer);break;case 35345:this._state.uniformBuffer=w(this.gl,t,e,this._state.uniformBuffer);break;case 35051:this._state.pixelPackBuffer=w(this.gl,t,e,this._state.pixelPackBuffer);break;case 35052:this._state.pixelUnpackBuffer=w(this.gl,t,e,this._state.pixelUnpackBuffer);break;case 36662:this._state.copyReadBuffer=w(this.gl,t,e,this._state.copyReadBuffer);break;case 36663:this._state.copyWriteBuffer=w(this.gl,t,e,this._state.copyWriteBuffer);break;case 35982:this._state.transformFeedbackBuffer=w(this.gl,t,e,this._state.transformFeedbackBuffer)}}bindRenderbuffer(t){const e=this.gl;t||(e.bindRenderbuffer(e.RENDERBUFFER,null),this._state.renderbuffer=null),this._state.renderbuffer!==t&&(e.bindRenderbuffer(e.RENDERBUFFER,t.glName),this._state.renderbuffer=t)}_getBufferBinding(t,e){if(e>=this.parameters.maxUniformBufferBindings||e<0)return T().error(`Uniform buffer binding point (${e}) is out of range (0...${this.parameters.maxUniformBufferBindings})\n `),null;const s=35345===t?this._state.uniformBufferBindingPoints:this._state.transformBufferBindingPoints;let i=s[e];return null==i&&(i={buffer:null,offset:0,size:0},s[e]=i),i}bindBufferBase(t,e,s){const i=this._getBufferBinding(t,e);null!=i&&(i.buffer===s&&0===i.offset&&0===i.size||(this.gl.bindBufferBase(t,e,s?s.glName:null),i.buffer=s,i.offset=0,i.size=0))}bindBufferRange(t,e,s,i,a){const r=this._getBufferBinding(t,e);null!=r&&(r.buffer===s&&r.offset===i&&r.size===a||(i%this._parameters.uniformBufferOffsetAlignment===0?(this.gl.bindBufferRange(t,e,s.glName,i,a),r.buffer=s,r.offset=i,r.size=a):T().error("Uniform buffer binding offset is not a multiple of the context offset alignment")))}bindUBO(t,e,s,i){null!=e?(a()&&(i??e.byteLength)>this._parameters.maxUniformBlockSize&&T().error("Attempting to bind more data than the maximum uniform block size"),e.initialize(),void 0!==s&&void 0!==i?this.bindBufferRange(35345,t,e.buffer,s,i):this.bindBufferBase(35345,t,e.buffer)):this.bindBufferBase(35345,t,null)}unbindUBO(t){for(let e=0,s=this._state.uniformBufferBindingPoints.length;e<s;e++){const s=this._state.uniformBufferBindingPoints[e];null!=s&&s.buffer===t.buffer&&this.bindBufferBase(35345,e,null)}}unbindBuffer(t){switch(t){case 34962:this._state.vertexBuffer=w(this.gl,null,t,this._state.vertexBuffer);break;case 34963:this._state.indexBuffer=w(this.gl,null,t,this._state.indexBuffer);break;case 35345:this._state.uniformBuffer=w(this.gl,null,t,this._state.uniformBuffer);break;case 35051:this._state.pixelPackBuffer=w(this.gl,null,t,this._state.pixelPackBuffer);break;case 35052:this._state.pixelUnpackBuffer=w(this.gl,null,t,this._state.pixelUnpackBuffer);break;case 36662:this._state.copyReadBuffer=w(this.gl,null,t,this._state.copyReadBuffer);break;case 36663:this._state.copyWriteBuffer=w(this.gl,null,t,this._state.copyWriteBuffer)}}bindVAO(t,e){if(null==t)return this._state.vertexArrayObject?.unbind(),void(this._state.vertexArrayObject=null);this._state.vertexArrayObject!==t&&(t.bind(e),this._state.vertexArrayObject=t)}bindTransformFeedback(t){const{gl:e}=this;e.bindTransformFeedback(e.TRANSFORM_FEEDBACK,t.glName)}beginTransformFeedback(t,e){if(this._transformFeedbackRequestInfo)throw new Error("Already in a transform feedback request");const{gl:s}=this;s.bindTransformFeedback(s.TRANSFORM_FEEDBACK,t.glName),s.beginTransformFeedback(e),this._transformFeedbackRequestInfo={primitiveType:e}}endTransformFeedback(){if(!this._transformFeedbackRequestInfo)throw new Error("Not in a transform feedback request");const{gl:t}=this;t.endTransformFeedback(),t.bindTransformFeedback(t.TRANSFORM_FEEDBACK,null),this._transformFeedbackRequestInfo=null}async clientWaitAsync(t=i(10)){const{gl:e}=this,a=e.fenceSync(37143,0);if(!a)throw new Error("Client wait failed, could not create sync object");let r;this.instanceCounter.increment(c.Sync,a),e.flush();do{await s(t),r=e.clientWaitSync(a,0,0)}while(37147===r);if(this.instanceCounter.decrement(c.Sync,a),e.deleteSync(a),37149===r)throw new Error("Client wait failed")}getBoundFramebufferObject(t=36160){return 36008===t?this._state.readFramebuffer:this._state.drawFramebuffer}temporaryBindFramebufferObject(t,e,s=!1){const i=this.getBoundFramebufferObject();try{this.bindFramebuffer(t,s),e()}finally{this.bindFramebuffer(i,s)}}getBoundVAO(){return this._state.vertexArrayObject}resetState(){this.useProgram(null),this.bindVAO(null),this.bindFramebuffer(null,!0),this.unbindBuffer(34962),this.unbindBuffer(34963),this.unbindBuffer(35345),this._state.uniformBufferBindingPoints.length=0,this.unbindBuffer(35051),this.unbindBuffer(35052),this.unbindBuffer(36662),this.unbindBuffer(36663);for(let t=0;t<this.parameters.maxTextureImageUnits;++t)this.bindTexture(null,t);this.setBlendingEnabled(!1),this.setBlendFunction(1,0),this.setBlendEquation(32774),this.setBlendColor(0,0,0,0),this.setFaceCullingEnabled(!1),this.setCullFace(1029),this.setFrontFace(2305),this.setPolygonOffsetFillEnabled(!1),this.setPolygonOffset(0,0),this.setScissorTestEnabled(!1),this.setScissorRect(0,0,this.gl.canvas.width,this.gl.canvas.height),this.setDepthTestEnabled(!1),this.setDepthFunction(513),this.setDepthRange(0,1),this.setStencilTestEnabled(!1),this.setStencilFunction(519,0,0),this.setStencilOp(7680,7680,7680),this.setClearColor(0,0,0,0),this.setClearDepth(1),this.setClearStencil(0),this.setColorMask(!0,!0,!0,!0),this.setStencilWriteMask(4294967295),this.setDepthWriteEnabled(!0),this.setDrawBuffers([h]),this.setViewport(0,0,this.gl.canvas.width,this.gl.canvas.height)}enforceState(){const{gl:t}=this;t.bindVertexArray(null);for(let s=0;s<this.parameters.maxVertexAttributes;s++)t.disableVertexAttribArray(s);this._state.vertexBuffer?t.bindBuffer(this._state.vertexBuffer.bufferType,this._state.vertexBuffer.glName):t.bindBuffer(34962,null),this._state.indexBuffer?t.bindBuffer(this._state.indexBuffer.bufferType,this._state.indexBuffer.glName):t.bindBuffer(34963,null),this._state.uniformBuffer?t.bindBuffer(this._state.uniformBuffer.bufferType,this._state.uniformBuffer.glName):t.bindBuffer(35345,null);for(let s=0;s<this._parameters.maxUniformBufferBindings;s++){const e=this._state.uniformBufferBindingPoints[s];if(null!=e){const{buffer:i,offset:a,size:r}=e;null!==i?0===a&&0===r?t.bindBufferBase(35345,s,i.glName):t.bindBufferRange(35345,s,i.glName,a,r):t.bindBufferBase(35345,s,null)}}if(this._state.pixelPackBuffer?t.bindBuffer(this._state.pixelPackBuffer.bufferType,this._state.pixelPackBuffer.glName):t.bindBuffer(35051,null),this._state.pixelUnpackBuffer?t.bindBuffer(this._state.pixelUnpackBuffer.bufferType,this._state.pixelUnpackBuffer.glName):t.bindBuffer(35052,null),this._state.copyReadBuffer?t.bindBuffer(this._state.copyReadBuffer.bufferType,this._state.copyReadBuffer.glName):t.bindBuffer(36662,null),this._state.copyWriteBuffer?t.bindBuffer(this._state.copyWriteBuffer.bufferType,this._state.copyWriteBuffer.glName):t.bindBuffer(36663,null),t.bindFramebuffer(36008,null),t.readBuffer(t.BACK),this._state.readFramebuffer&&(t.bindFramebuffer(36008,this._state.readFramebuffer.glName),t.readBuffer(o)),t.bindFramebuffer(36009,this._state.drawFramebuffer?.glName??null),null===this._state.drawFramebuffer){const e=this._state.drawBuffers.defaultFramebuffer;t.drawBuffers(e??[h])}else{const e=this._state.drawBuffers.fbos.get(this._state.drawFramebuffer);t.drawBuffers(e??[o])}if(this._state.vertexArrayObject){const t=this._state.vertexArrayObject;this._state.vertexArrayObject&&(this._state.vertexArrayObject.unbind(),this._state.vertexArrayObject=null),this.bindVAO(t)}t.useProgram(this._state.program?.glName??null),t.blendColor(this._state.blendColor.r,this._state.blendColor.g,this._state.blendColor.b,this._state.blendColor.a),t.bindRenderbuffer(t.RENDERBUFFER,this._state.renderbuffer?.glName??null),!0===this._state.blend?t.enable(this.gl.BLEND):t.disable(this.gl.BLEND),t.blendEquationSeparate(this._state.blendEquation.mode,this._state.blendEquation.modeAlpha),t.blendFuncSeparate(this._state.blendFunction.srcRGB,this._state.blendFunction.dstRGB,this._state.blendFunction.srcAlpha,this._state.blendFunction.dstAlpha),t.clearColor(this._state.clearColor.r,this._state.clearColor.g,this._state.clearColor.b,this._state.clearColor.a),t.clearDepth(this._state.clearDepth),t.clearStencil(this._state.clearStencil),t.colorMask(this._state.colorMask.r,this._state.colorMask.g,this._state.colorMask.b,this._state.colorMask.a),t.cullFace(this._state.cullFace),t.depthFunc(this._state.depthFunction),t.depthRange(this._state.depthRange.zNear,this._state.depthRange.zFar),!0===this._state.depthTest?t.enable(t.DEPTH_TEST):t.disable(t.DEPTH_TEST),t.depthMask(this._state.depthWrite),t.frontFace(this._state.frontFace),t.lineWidth(1),!0===this._state.faceCulling?t.enable(t.CULL_FACE):t.disable(t.CULL_FACE),t.polygonOffset(this._state.polygonOffset[0],this._state.polygonOffset[1]),!0===this._state.polygonOffsetFill?t.enable(t.POLYGON_OFFSET_FILL):t.disable(t.POLYGON_OFFSET_FILL),t.scissor(this._state.scissorRect.x,this._state.scissorRect.y,this._state.scissorRect.width,this._state.scissorRect.height),!0===this._state.scissorTest?t.enable(t.SCISSOR_TEST):t.disable(t.SCISSOR_TEST),t.stencilFunc(this._state.stencilFunction.func,this._state.stencilFunction.ref,this._state.stencilFunction.mask),t.stencilOpSeparate(this._state.stencilOperation.face,this._state.stencilOperation.fail,this._state.stencilOperation.zFail,this._state.stencilOperation.zPass),!0===this._state.stencilTest?t.enable(t.STENCIL_TEST):t.disable(t.STENCIL_TEST),t.stencilMask(this._state.stencilWriteMask);for(let s=0;s<this.parameters.maxTextureImageUnits;s++){t.activeTexture(u+s),t.bindTexture(3553,null),t.bindTexture(34067,null),t.bindTexture(32879,null),t.bindTexture(35866,null);const e=this._state.textureUnitMap[s];null!=e&&t.bindTexture(e.descriptor.target,e.glName)}t.activeTexture(u+this._state.activeTexture);const e=this._state.viewport;t.viewport(e.x,e.y,e.width,e.height),this.resetInfo()}};function w(t,e,s,i){return e?i!==e&&t.bindBuffer(s,e.glName):t.bindBuffer(s,null),e}function k(t,e){switch(t){case d.POINTS:return 2*e;case d.TRIANGLES:return e/3;case d.TRIANGLE_STRIP:case d.TRIANGLE_FAN:return e-2;default:return 0}}export{x as RenderingContext};
2
+ import has from"../../core/has.js";import t from"../../core/Logger.js";import{disposeMaybe as e}from"../../core/maybe.js";import{after as s}from"../../core/promiseUtils.js";import{Milliseconds as i}from"../../core/time.js";import{webglDebugEnabled as a,checkWebGLError as r,getErrorMessage as n}from"./checkWebGLError.js";import{ContextState as l}from"./ContextState.js";import{DrawBufferBack as h,DrawBufferNone as f,ColorAttachment0 as o,baseTextureUnit as u,ResourceType as c,PrimitiveType as d}from"./enums.js";import{InstanceCounter as _}from"./InstanceCounter.js";import{Parameters as b}from"./Parameters.js";import{ProgramCache as g}from"./ProgramCache.js";import{StateTracker as p}from"./renderState.js";import m from"./Texture.js";import{WebGLDriverTest as B}from"./WebGLDriverTest.js";import{Capabilities as F}from"./capabilities/Capabilities.js";const T=()=>t.getLogger("esri.views.webgl.RenderingContext");let x=class{constructor(t,e){this.gl=t,this.instanceCounter=new _,this._programCache=new g(this),this._transformFeedbackRequestInfo=null,this._state=new l,this._numOfDrawCalls=0,this._numOfTriangles=0,this._options=e,this.configure(e)}configure(t){this._options=t,this._capabilities=new F(this.gl,t),this._parameters=new b(this.gl,this._capabilities,t),m.TEXTURE_UNIT_FOR_UPDATES=this._parameters.maxTextureImageUnits-1;const s=this.gl.getParameter(this.gl.VIEWPORT);this._state=new l,this._state.viewport={x:s[0],y:s[1],width:s[2],height:s[3]},this._stateTracker=new p({setBlending:t=>{if(t){this.setBlendingEnabled(!0),this.setBlendEquationSeparate(t.opRgb,t.opAlpha),this.setBlendFunctionSeparate(t.srcRgb,t.dstRgb,t.srcAlpha,t.dstAlpha);const e=t.color;this.setBlendColor(e.r,e.g,e.b,e.a)}else this.setBlendingEnabled(!1)},setCulling:t=>{t?(this.setFaceCullingEnabled(!0),this.setCullFace(t.face),this.setFrontFace(t.mode)):this.setFaceCullingEnabled(!1)},setPolygonOffset:t=>{t?(this.setPolygonOffsetFillEnabled(!0),this.setPolygonOffset(t.factor,t.units)):this.setPolygonOffsetFillEnabled(!1)},setDepthTest:t=>{t?(this.setDepthTestEnabled(!0),this.setDepthFunction(t.func)):this.setDepthTestEnabled(!1)},setStencilTest:t=>{if(t){this.setStencilTestEnabled(!0);const e=t.function;this.setStencilFunction(e.func,e.ref,e.mask);const s=t.operation;this.setStencilOp(s.fail,s.zFail,s.zPass)}else this.setStencilTestEnabled(!1)},setDepthWrite:t=>{t?(this.setDepthWriteEnabled(!0),this.setDepthRange(t.zNear,t.zFar)):this.setDepthWriteEnabled(!1)},setColorWrite:t=>{t?this.setColorMask(t.r,t.g,t.b,t.a):this.setColorMask(!1,!1,!1,!1)},setStencilWrite:t=>{t?this.setStencilWriteMask(t.mask):this.setStencilWriteMask(0)},setDrawBuffers:t=>{if(t)this.setDrawBuffers(t.buffers);else{const{drawFramebuffer:t}=this._state;null===t?this.setDrawBuffers([h]):0===t.colorAttachments.length?this.setDrawBuffers([f]):this.setDrawBuffers([o])}}}),this.enforceState(),e(this._driverTest),this._driverTest=new B(this)}updateOptions(t){this._options={...this._options,...t},this._parameters=new b(this.gl,this._capabilities,this._options)}dispose(){this._driverTest=e(this._driverTest),this._programCache=e(this._programCache),this.bindVAO(null),this.unbindBuffer(34962),this.unbindBuffer(34963),this.unbindBuffer(35345),this._state.uniformBufferBindingPoints.length=0,this.unbindBuffer(35051),this.unbindBuffer(35052),this.unbindBuffer(36662),this.unbindBuffer(36663),this._state.textureUnitMap.length=0,this._state=null,this._capabilities=null,this._stateTracker=null,a()&&console.log(this.instanceCounter.resourceInformation)}get driverTest(){return this._driverTest}get contextAttributes(){return this.gl.getContextAttributes()}get parameters(){return this._parameters}get programCache(){return this._programCache}setPipelineState(t){this._stateTracker.setPipeline(t)}getPipelineState(){return this._stateTracker.getPipelineState()}setBlendingEnabled(t){this._state.blend!==t&&(!0===t?this.gl.enable(this.gl.BLEND):this.gl.disable(this.gl.BLEND),this._state.blend=t,this._stateTracker.invalidateBlending())}externalProgramUpdate(){this._state.program?.stop(),this._state.program=null}externalTextureUnitUpdate(t,e){for(let s=0;s<t.length;++s)this._state.textureUnitMap[t[s]]=null;e>=0&&(this._state.activeTexture=e)}externalVertexArrayObjectUpdate(){this.gl.bindVertexArray(null),this._state.vertexArrayObject=null,this._state.vertexBuffer=null,this._state.indexBuffer=null}externalVertexBufferUpdate(){this._state.vertexBuffer=null}externalIndexBufferUpdate(){this._state.indexBuffer=null}setBlendColor(t,e,s,i){t===this._state.blendColor.r&&e===this._state.blendColor.g&&s===this._state.blendColor.b&&i===this._state.blendColor.a||(this.gl.blendColor(t,e,s,i),this._state.blendColor.r=t,this._state.blendColor.g=e,this._state.blendColor.b=s,this._state.blendColor.a=i,this._stateTracker.invalidateBlending())}setBlendFunction(t,e){t===this._state.blendFunction.srcRGB&&e===this._state.blendFunction.dstRGB||(this.gl.blendFunc(t,e),this._state.blendFunction.srcRGB=t,this._state.blendFunction.srcAlpha=t,this._state.blendFunction.dstRGB=e,this._state.blendFunction.dstAlpha=e,this._stateTracker.invalidateBlending())}setBlendFunctionSeparate(t,e,s,i){this._state.blendFunction.srcRGB===t&&this._state.blendFunction.srcAlpha===s&&this._state.blendFunction.dstRGB===e&&this._state.blendFunction.dstAlpha===i||(this.gl.blendFuncSeparate(t,e,s,i),this._state.blendFunction.srcRGB=t,this._state.blendFunction.srcAlpha=s,this._state.blendFunction.dstRGB=e,this._state.blendFunction.dstAlpha=i,this._stateTracker.invalidateBlending())}setBlendEquation(t){this._state.blendEquation.mode!==t&&(this.gl.blendEquation(t),this._state.blendEquation.mode=t,this._state.blendEquation.modeAlpha=t,this._stateTracker.invalidateBlending())}setBlendEquationSeparate(t,e){this._state.blendEquation.mode===t&&this._state.blendEquation.modeAlpha===e||(this.gl.blendEquationSeparate(t,e),this._state.blendEquation.mode=t,this._state.blendEquation.modeAlpha=e,this._stateTracker.invalidateBlending())}setColorMask(t,e,s,i){this._state.colorMask.r===t&&this._state.colorMask.g===e&&this._state.colorMask.b===s&&this._state.colorMask.a===i||(this.gl.colorMask(t,e,s,i),this._state.colorMask.r=t,this._state.colorMask.g=e,this._state.colorMask.b=s,this._state.colorMask.a=i,this._stateTracker.invalidateColorWrite())}setClearColor(t,e,s,i){this._state.clearColor.r===t&&this._state.clearColor.g===e&&this._state.clearColor.b===s&&this._state.clearColor.a===i||(this.gl.clearColor(t,e,s,i),this._state.clearColor.r=t,this._state.clearColor.g=e,this._state.clearColor.b=s,this._state.clearColor.a=i)}setFaceCullingEnabled(t){this._state.faceCulling!==t&&(!0===t?this.gl.enable(this.gl.CULL_FACE):this.gl.disable(this.gl.CULL_FACE),this._state.faceCulling=t,this._stateTracker.invalidateCulling())}setPolygonOffsetFillEnabled(t){this._state.polygonOffsetFill!==t&&(!0===t?this.gl.enable(this.gl.POLYGON_OFFSET_FILL):this.gl.disable(this.gl.POLYGON_OFFSET_FILL),this._state.polygonOffsetFill=t,this._stateTracker.invalidatePolygonOffset())}setPolygonOffset(t,e){this._state.polygonOffset[0]===t&&this._state.polygonOffset[1]===e||(this._state.polygonOffset[0]=t,this._state.polygonOffset[1]=e,this.gl.polygonOffset(t,e),this._stateTracker.invalidatePolygonOffset())}setCullFace(t){this._state.cullFace!==t&&(this.gl.cullFace(t),this._state.cullFace=t,this._stateTracker.invalidateCulling())}setFrontFace(t){this._state.frontFace!==t&&(this.gl.frontFace(t),this._state.frontFace=t,this._stateTracker.invalidateCulling())}setScissorTestEnabled(t){this._state.scissorTest!==t&&(!0===t?this.gl.enable(this.gl.SCISSOR_TEST):this.gl.disable(this.gl.SCISSOR_TEST),this._state.scissorTest=t)}setScissorRect(t,e,s,i){this._state.scissorRect.x===t&&this._state.scissorRect.y===e&&this._state.scissorRect.width===s&&this._state.scissorRect.height===i||(this.gl.scissor(t,e,s,i),this._state.scissorRect.x=t,this._state.scissorRect.y=e,this._state.scissorRect.width=s,this._state.scissorRect.height=i)}setDepthTestEnabled(t){this._state.depthTest!==t&&(!0===t?this.gl.enable(this.gl.DEPTH_TEST):this.gl.disable(this.gl.DEPTH_TEST),this._state.depthTest=t,this._stateTracker.invalidateDepthTest())}setClearDepth(t){this._state.clearDepth!==t&&(this.gl.clearDepth(t),this._state.clearDepth=t)}setDepthFunction(t){this._state.depthFunction!==t&&(this.gl.depthFunc(t),this._state.depthFunction=t,this._stateTracker.invalidateDepthTest())}setDepthWriteEnabled(t){this._state.depthWrite!==t&&(this.gl.depthMask(t),this._state.depthWrite=t,this._stateTracker.invalidateDepthWrite())}setDepthRange(t,e){this._state.depthRange.zNear===t&&this._state.depthRange.zFar===e||(this.gl.depthRange(t,e),this._state.depthRange.zNear=t,this._state.depthRange.zFar=e,this._stateTracker.invalidateDepthWrite())}setStencilTestEnabled(t){this._state.stencilTest!==t&&(!0===t?this.gl.enable(this.gl.STENCIL_TEST):this.gl.disable(this.gl.STENCIL_TEST),this._state.stencilTest=t,this._stateTracker.invalidateStencilTest())}setClearStencil(t){t!==this._state.clearStencil&&(this.gl.clearStencil(t),this._state.clearStencil=t)}setStencilFunction(t,e,s){this._state.stencilFunction.func===t&&this._state.stencilFunction.ref===e&&this._state.stencilFunction.mask===s||(this.gl.stencilFunc(t,e,s),this._state.stencilFunction.face=1032,this._state.stencilFunction.func=t,this._state.stencilFunction.ref=e,this._state.stencilFunction.mask=s,this._stateTracker.invalidateStencilTest())}setStencilFunctionSeparate(t,e,s,i){this._state.stencilFunction.face===t&&this._state.stencilFunction.func===e&&this._state.stencilFunction.ref===s&&this._state.stencilFunction.mask===i||(this.gl.stencilFuncSeparate(t,e,s,i),this._state.stencilFunction.face=t,this._state.stencilFunction.func=e,this._state.stencilFunction.ref=s,this._state.stencilFunction.mask=i,this._stateTracker.invalidateStencilTest())}setStencilWriteMask(t){this._state.stencilWriteMask!==t&&(this.gl.stencilMask(t),this._state.stencilWriteMask=t,this._stateTracker.invalidateStencilWrite())}setStencilOp(t,e,s){1032===this._state.stencilOperation.face&&this._state.stencilOperation.fail===t&&this._state.stencilOperation.zFail===e&&this._state.stencilOperation.zPass===s||(this.gl.stencilOp(t,e,s),this._state.stencilOperation.face=1032,this._state.stencilOperation.fail=t,this._state.stencilOperation.zFail=e,this._state.stencilOperation.zPass=s,this._stateTracker.invalidateStencilTest())}setStencilOpSeparate(t,e,s,i){this._state.stencilOperation.face===t&&this._state.stencilOperation.fail===e&&this._state.stencilOperation.zFail===s&&this._state.stencilOperation.zPass===i||(this.gl.stencilOpSeparate(t,e,s,i),this._state.stencilOperation.face=t,this._state.stencilOperation.fail=e,this._state.stencilOperation.zFail=s,this._state.stencilOperation.zPass=i,this._stateTracker.invalidateStencilTest())}setActiveTexture(t,e=!1){const s=this._state.activeTexture;return t>=0&&(e||t!==this._state.activeTexture)&&(this.gl.activeTexture(u+t),this._state.activeTexture=t),s}setDrawBuffers(t){const{drawFramebuffer:e}=this._state,s=null===e,i=s?this._state.drawBuffers.defaultFramebuffer:this._state.drawBuffers.fbos.get(e);if(i?.length!==t.length||!i.every((e,s)=>e===t[s]))if(t.length>this.parameters.maxDrawBuffers)T().error(`Setting more active draw buffers (${t.length}) than GL.MAX_DRAW_BUFFERS allows ( ${this.parameters.maxDrawBuffers}).`);else{if(s){if(t.length>1)return void T().error(`The default framebuffer can only have 1 active draw buffer but was requested with ${t.length}.`);if(t[0]!==h&&t[0]!==f)return void T().error(`The default framebuffer can only use the constants GL.BACK or GL.NONE as draw buffers but got ${t[0]}`)}s||!t.includes(h)?(this.gl.drawBuffers(t),r(this.gl),s?this._state.drawBuffers.defaultFramebuffer=t:this._state.drawBuffers.fbos.set(e,t),this._stateTracker.invalidateDrawBuffers()):T().error("A framebuffer object can only use the constants GL.COLOR_ATTACHMENTx or GL.NONE as draw buffers.")}}clear(t,e=255){if(t){if(16384&t){const t=this._state.drawFramebuffer?.colorAttachments;t&&this.setDrawBuffers(t),this.setColorMask(!0,!0,!0,!0)}256&t&&this.setDepthWriteEnabled(!0),1024&t&&this.setStencilWriteMask(e),this.gl.clear(t)}}clearFramebuffer(t,e=!1,s=!1){let i=0;if(t){const e=1e-13,s=Math.max(e,t[3]);this.setClearColor(t[0],t[1],t[2],s),i|=16384}e&&(i|=256),!1===s?s=0:(!0===s&&(s=255),i|=1024),i&&this.clear(i,s)}clearBuffer(t,e,s=6144,i=void 0){this.gl.clearBufferfv(s,t,e,i)}clearBufferInteger(t,e,s=6144,i=void 0){this.gl.clearBufferiv(s,t,e,i)}clearBufferUnsignedInteger(t,e,s=6144,i=void 0){this.gl.clearBufferuiv(s,t,e,i)}drawArrays(t,e,s){if(this._transformFeedbackRequestInfo){if(t!==this._transformFeedbackRequestInfo.primitiveType)throw new Error("DrawArrays called during transform feedback, but primitiveType does not match that of the current transform feedback request");if(null==this._state.program?.hasTransformFeedbackVaryings)throw new Error("DrawArrays called during transform feedback, but the shader program was not linked with a transform feedback varying")}if(a()&&(this._numOfDrawCalls++,this._numOfTriangles+=k(t,s),has("enable-feature:webgl-debug:textureReadWrite"))){const t=this._state.textureUnitMap;for(let e=0;e<t.length;e++){const s=t[e];if(null!=s&&s===this._state.drawFramebuffer?.colorTexture)throw new Error(`Detected readWrite. Texture already bound at index ${e}`)}}this.gl.drawArrays(t,e,s),r(this.gl)}drawArraysInstanced(t,e,s,i){this.gl.drawArraysInstanced(t,e,s,i),r(this.gl)}drawElements(t,e,s,i){if(this._transformFeedbackRequestInfo)throw new Error("Cannot called drawElements during a transform feedback request");if(a()&&(this._numOfDrawCalls++,this._numOfTriangles+=k(t,e)),this.gl.drawElements(t,e,s,i),a()){const a=n(this.gl);if(a){const r=this.getBoundVAO(),n=r?.indexBuffer,l=r?.buffers,h={indexBuffer:n,vertexBuffers:l},f={mode:t,count:e,type:s,offset:i},o=n?.size??0,u=i+e,c=o<u?`. Buffer is too small. Attempted to draw index ${u} of ${o}`:"";T().error(`drawElements: ${a}${c}`,{args:f,vao:h})}}}drawElementsInstanced(t,e,s,i,a){this.gl.drawElementsInstanced(t,e,s,i,a),r(this.gl)}logInfo(){a()&&console.log(`DrawCalls: ${this._numOfDrawCalls}, Triangles: ${this._numOfTriangles}`)}resetInfo(){a()&&(this._numOfDrawCalls=0,this._numOfTriangles=0)}get capabilities(){return this._capabilities}setViewport(t,e,s,i){s=Math.max(Math.round(s),1),i=Math.max(Math.round(i),1);const a=this._state.viewport;a.x===t&&a.y===e&&a.width===s&&a.height===i||(a.x=t,a.y=e,a.width=s,a.height=i,this.gl.viewport(t,e,s,i))}setViewport4fv(t){this.setViewport(t[0],t[1],t[2],t[3])}restoreViewport({x:t,y:e,width:s,height:i}){this.setViewport(t,e,s,i)}getViewport(){const t=this._state.viewport;return{x:t.x,y:t.y,width:t.width,height:t.height}}useProgram(t){this._state.program!==t&&(this._state.program?.stop(),this._state.program=t,this.gl.useProgram(t?.glName??null))}bindTexture(t,e,s=!1){(e>=this.parameters.maxTextureImageUnits||e<0)&&T().error(`Input texture unit (${e}) is out of range of available units (0...${this.parameters.maxTextureImageUnits})\n `);const i=this._state.textureUnitMap[e];return null==t?.glName?(null!=i&&(this.setActiveTexture(e,s),this.gl.bindTexture(i.descriptor.target,null)),this._state.textureUnitMap[e]=null,i):s||i!==t?(this.setActiveTexture(e,s),this.gl.bindTexture(t.descriptor.target,t.glName),t.applyChanges(),this._state.textureUnitMap[e]=t,i):(t.isDirty&&(this.setActiveTexture(e,s),t.applyChanges()),i)}unbindTexture(t){if(null!=t)for(let e=0;e<this.parameters.maxTextureImageUnits;e++)this._state.textureUnitMap[e]===t&&(this.bindTexture(null,e),this._state.textureUnitMap[e]=null)}bindFramebuffer(t,e=!1){if(e||this._state.readFramebuffer!==t||this._state.drawFramebuffer!==t){if(this._stateTracker.invalidateDrawBuffers(),null==t)return this.gl.bindFramebuffer(36160,null),void(this._state.readFramebuffer=this._state.drawFramebuffer=null);t.initializeAndBind(36160),this._state.readFramebuffer=t,this._state.drawFramebuffer=t}}bindFramebufferSeparate(t,e,s=!1){const i=36008===e,a=i?this._state.readFramebuffer:this._state.drawFramebuffer;(s||a!==t)&&(null==t?this.gl.bindFramebuffer(e,null):t.initializeAndBind(e),i?this._state.readFramebuffer=t??null:(this._stateTracker.invalidateDrawBuffers(),this._state.drawFramebuffer=t??null))}blitFramebuffer(t,e,s=16384,i=9728,a=0,r=0,n=t.width,l=t.height,h=0,f=0,o=e.width,u=e.height){this.bindFramebufferSeparate(t,36008,!0),this.bindFramebufferSeparate(e,36009,!0),this.gl.blitFramebuffer(a,r,n,l,h,f,o,u,s,i)}bindBuffer(t,e){if(t)switch(e??=t.bufferType,e){case 34962:this._state.vertexBuffer=w(this.gl,t,e,this._state.vertexBuffer);break;case 34963:this._state.indexBuffer=w(this.gl,t,e,this._state.indexBuffer);break;case 35345:this._state.uniformBuffer=w(this.gl,t,e,this._state.uniformBuffer);break;case 35051:this._state.pixelPackBuffer=w(this.gl,t,e,this._state.pixelPackBuffer);break;case 35052:this._state.pixelUnpackBuffer=w(this.gl,t,e,this._state.pixelUnpackBuffer);break;case 36662:this._state.copyReadBuffer=w(this.gl,t,e,this._state.copyReadBuffer);break;case 36663:this._state.copyWriteBuffer=w(this.gl,t,e,this._state.copyWriteBuffer);break;case 35982:this._state.transformFeedbackBuffer=w(this.gl,t,e,this._state.transformFeedbackBuffer)}}bindRenderbuffer(t){const e=this.gl;t||(e.bindRenderbuffer(e.RENDERBUFFER,null),this._state.renderbuffer=null),this._state.renderbuffer!==t&&(e.bindRenderbuffer(e.RENDERBUFFER,t.glName),this._state.renderbuffer=t)}_getBufferBinding(t,e){if(e>=this.parameters.maxUniformBufferBindings||e<0)return T().error(`Uniform buffer binding point (${e}) is out of range (0...${this.parameters.maxUniformBufferBindings})\n `),null;const s=35345===t?this._state.uniformBufferBindingPoints:this._state.transformBufferBindingPoints;let i=s[e];return null==i&&(i={buffer:null,offset:0,size:0},s[e]=i),i}bindBufferBase(t,e,s){const i=this._getBufferBinding(t,e);null!=i&&(i.buffer===s&&0===i.offset&&0===i.size||(this.gl.bindBufferBase(t,e,s?s.glName:null),i.buffer=s,i.offset=0,i.size=0))}bindBufferRange(t,e,s,i,a){const r=this._getBufferBinding(t,e);null!=r&&(r.buffer===s&&r.offset===i&&r.size===a||(i%this._parameters.uniformBufferOffsetAlignment===0?(this.gl.bindBufferRange(t,e,s.glName,i,a),r.buffer=s,r.offset=i,r.size=a):T().error("Uniform buffer binding offset is not a multiple of the context offset alignment")))}bindUBO(t,e,s,i){null!=e?(a()&&(i??e.byteLength)>this._parameters.maxUniformBlockSize&&T().error("Attempting to bind more data than the maximum uniform block size"),e.initialize(),void 0!==s&&void 0!==i?this.bindBufferRange(35345,t,e.buffer,s,i):this.bindBufferBase(35345,t,e.buffer)):this.bindBufferBase(35345,t,null)}unbindUBO(t){for(let e=0,s=this._state.uniformBufferBindingPoints.length;e<s;e++){const s=this._state.uniformBufferBindingPoints[e];null!=s&&s.buffer===t.buffer&&this.bindBufferBase(35345,e,null)}}unbindBuffer(t){switch(t){case 34962:this._state.vertexBuffer=w(this.gl,null,t,this._state.vertexBuffer);break;case 34963:this._state.indexBuffer=w(this.gl,null,t,this._state.indexBuffer);break;case 35345:this._state.uniformBuffer=w(this.gl,null,t,this._state.uniformBuffer);break;case 35051:this._state.pixelPackBuffer=w(this.gl,null,t,this._state.pixelPackBuffer);break;case 35052:this._state.pixelUnpackBuffer=w(this.gl,null,t,this._state.pixelUnpackBuffer);break;case 36662:this._state.copyReadBuffer=w(this.gl,null,t,this._state.copyReadBuffer);break;case 36663:this._state.copyWriteBuffer=w(this.gl,null,t,this._state.copyWriteBuffer)}}bindVAO(t,e){if(null==t)return this._state.vertexArrayObject?.unbind(),void(this._state.vertexArrayObject=null);this._state.vertexArrayObject!==t&&(t.bind(e),this._state.vertexArrayObject=t)}bindTransformFeedback(t){const{gl:e}=this;e.bindTransformFeedback(e.TRANSFORM_FEEDBACK,t.glName)}beginTransformFeedback(t,e){if(this._transformFeedbackRequestInfo)throw new Error("Already in a transform feedback request");const{gl:s}=this;s.bindTransformFeedback(s.TRANSFORM_FEEDBACK,t.glName),s.beginTransformFeedback(e),this._transformFeedbackRequestInfo={primitiveType:e}}endTransformFeedback(){if(!this._transformFeedbackRequestInfo)throw new Error("Not in a transform feedback request");const{gl:t}=this;t.endTransformFeedback(),t.bindTransformFeedback(t.TRANSFORM_FEEDBACK,null),this._transformFeedbackRequestInfo=null}async clientWaitAsync(t=i(10)){const{gl:e}=this,a=e.fenceSync(37143,0);if(!a)throw new Error("Client wait failed, could not create sync object");let r;this.instanceCounter.increment(c.Sync,a),e.flush();do{await s(t),r=e.clientWaitSync(a,0,0)}while(37147===r);if(this.instanceCounter.decrement(c.Sync,a),e.deleteSync(a),37149===r)throw new Error("Client wait failed")}getBoundFramebufferObject(t=36160){return 36008===t?this._state.readFramebuffer:this._state.drawFramebuffer}temporaryBindFramebufferObject(t,e,s=!1){const i=this.getBoundFramebufferObject();try{this.bindFramebuffer(t,s),e()}finally{this.bindFramebuffer(i,s)}}getBoundVAO(){return this._state.vertexArrayObject}resetState(){this.useProgram(null),this.bindVAO(null),this.bindFramebuffer(null,!0),this.unbindBuffer(34962),this.unbindBuffer(34963),this.unbindBuffer(35345),this._state.uniformBufferBindingPoints.length=0,this.unbindBuffer(35051),this.unbindBuffer(35052),this.unbindBuffer(36662),this.unbindBuffer(36663);for(let t=0;t<this.parameters.maxTextureImageUnits;++t)this.bindTexture(null,t);this.setBlendingEnabled(!1),this.setBlendFunction(1,0),this.setBlendEquation(32774),this.setBlendColor(0,0,0,0),this.setFaceCullingEnabled(!1),this.setCullFace(1029),this.setFrontFace(2305),this.setPolygonOffsetFillEnabled(!1),this.setPolygonOffset(0,0),this.setScissorTestEnabled(!1),this.setScissorRect(0,0,this.gl.canvas.width,this.gl.canvas.height),this.setDepthTestEnabled(!1),this.setDepthFunction(513),this.setDepthRange(0,1),this.setStencilTestEnabled(!1),this.setStencilFunction(519,0,0),this.setStencilOp(7680,7680,7680),this.setClearColor(0,0,0,0),this.setClearDepth(1),this.setClearStencil(0),this.setColorMask(!0,!0,!0,!0),this.setStencilWriteMask(4294967295),this.setDepthWriteEnabled(!0),this.setDrawBuffers([h]),this.setViewport(0,0,this.gl.canvas.width,this.gl.canvas.height)}enforceState(){const{gl:t}=this;t.bindVertexArray(null);for(let s=0;s<this.parameters.maxVertexAttributes;s++)t.disableVertexAttribArray(s);this._state.vertexBuffer?t.bindBuffer(this._state.vertexBuffer.bufferType,this._state.vertexBuffer.glName):t.bindBuffer(34962,null),this._state.indexBuffer?t.bindBuffer(this._state.indexBuffer.bufferType,this._state.indexBuffer.glName):t.bindBuffer(34963,null),this._state.uniformBuffer?t.bindBuffer(this._state.uniformBuffer.bufferType,this._state.uniformBuffer.glName):t.bindBuffer(35345,null);for(let s=0;s<this._parameters.maxUniformBufferBindings;s++){const e=this._state.uniformBufferBindingPoints[s];if(null!=e){const{buffer:i,offset:a,size:r}=e;null!==i?0===a&&0===r?t.bindBufferBase(35345,s,i.glName):t.bindBufferRange(35345,s,i.glName,a,r):t.bindBufferBase(35345,s,null)}}if(this._state.pixelPackBuffer?t.bindBuffer(this._state.pixelPackBuffer.bufferType,this._state.pixelPackBuffer.glName):t.bindBuffer(35051,null),this._state.pixelUnpackBuffer?t.bindBuffer(this._state.pixelUnpackBuffer.bufferType,this._state.pixelUnpackBuffer.glName):t.bindBuffer(35052,null),this._state.copyReadBuffer?t.bindBuffer(this._state.copyReadBuffer.bufferType,this._state.copyReadBuffer.glName):t.bindBuffer(36662,null),this._state.copyWriteBuffer?t.bindBuffer(this._state.copyWriteBuffer.bufferType,this._state.copyWriteBuffer.glName):t.bindBuffer(36663,null),t.bindFramebuffer(36008,null),t.readBuffer(t.BACK),this._state.readFramebuffer&&(t.bindFramebuffer(36008,this._state.readFramebuffer.glName),t.readBuffer(o)),t.bindFramebuffer(36009,this._state.drawFramebuffer?.glName??null),null===this._state.drawFramebuffer){const e=this._state.drawBuffers.defaultFramebuffer;t.drawBuffers(e??[h])}else{const e=this._state.drawBuffers.fbos.get(this._state.drawFramebuffer);t.drawBuffers(e??[o])}if(this._state.vertexArrayObject){const t=this._state.vertexArrayObject;this._state.vertexArrayObject&&(this._state.vertexArrayObject.unbind(),this._state.vertexArrayObject=null),this.bindVAO(t)}t.useProgram(this._state.program?.glName??null),t.blendColor(this._state.blendColor.r,this._state.blendColor.g,this._state.blendColor.b,this._state.blendColor.a),t.bindRenderbuffer(t.RENDERBUFFER,this._state.renderbuffer?.glName??null),!0===this._state.blend?t.enable(this.gl.BLEND):t.disable(this.gl.BLEND),t.blendEquationSeparate(this._state.blendEquation.mode,this._state.blendEquation.modeAlpha),t.blendFuncSeparate(this._state.blendFunction.srcRGB,this._state.blendFunction.dstRGB,this._state.blendFunction.srcAlpha,this._state.blendFunction.dstAlpha),t.clearColor(this._state.clearColor.r,this._state.clearColor.g,this._state.clearColor.b,this._state.clearColor.a),t.clearDepth(this._state.clearDepth),t.clearStencil(this._state.clearStencil),t.colorMask(this._state.colorMask.r,this._state.colorMask.g,this._state.colorMask.b,this._state.colorMask.a),t.cullFace(this._state.cullFace),t.depthFunc(this._state.depthFunction),t.depthRange(this._state.depthRange.zNear,this._state.depthRange.zFar),!0===this._state.depthTest?t.enable(t.DEPTH_TEST):t.disable(t.DEPTH_TEST),t.depthMask(this._state.depthWrite),t.frontFace(this._state.frontFace),t.lineWidth(1),!0===this._state.faceCulling?t.enable(t.CULL_FACE):t.disable(t.CULL_FACE),t.polygonOffset(this._state.polygonOffset[0],this._state.polygonOffset[1]),!0===this._state.polygonOffsetFill?t.enable(t.POLYGON_OFFSET_FILL):t.disable(t.POLYGON_OFFSET_FILL),t.scissor(this._state.scissorRect.x,this._state.scissorRect.y,this._state.scissorRect.width,this._state.scissorRect.height),!0===this._state.scissorTest?t.enable(t.SCISSOR_TEST):t.disable(t.SCISSOR_TEST),t.stencilFunc(this._state.stencilFunction.func,this._state.stencilFunction.ref,this._state.stencilFunction.mask),t.stencilOpSeparate(this._state.stencilOperation.face,this._state.stencilOperation.fail,this._state.stencilOperation.zFail,this._state.stencilOperation.zPass),!0===this._state.stencilTest?t.enable(t.STENCIL_TEST):t.disable(t.STENCIL_TEST),t.stencilMask(this._state.stencilWriteMask);for(let s=0;s<this.parameters.maxTextureImageUnits;s++){t.activeTexture(u+s),t.bindTexture(3553,null),t.bindTexture(34067,null),t.bindTexture(32879,null),t.bindTexture(35866,null);const e=this._state.textureUnitMap[s];null!=e&&t.bindTexture(e.descriptor.target,e.glName)}t.activeTexture(u+this._state.activeTexture);const e=this._state.viewport;t.viewport(e.x,e.y,e.width,e.height),this.resetInfo()}};function w(t,e,s,i){return e?i!==e&&t.bindBuffer(s,e.glName):t.bindBuffer(s,null),e}function k(t,e){switch(t){case d.POINTS:return 2*e;case d.TRIANGLES:return e/3;case d.TRIANGLE_STRIP:case d.TRIANGLE_FAN:return e-2;default:return 0}}export{x as RenderingContext};
@@ -27,11 +27,11 @@ export interface EnvironmentProperties extends Partial<Pick<Environment, "atmosp
27
27
  *
28
28
  * Known Value | Example
29
29
  * ------------|---------
30
- * [SunnyWeather](https://developers.arcgis.com/javascript/latest/references/core/views/3d/environment/SunnyWeather/) | ![scene-atmosphere](https://developers.arcgis.com/javascript/latest/assets/img/apiref/views/scene-weather-sunny.png)
31
- * [CloudyWeather](https://developers.arcgis.com/javascript/latest/references/core/views/3d/environment/CloudyWeather/) | ![scene-atmosphere](https://developers.arcgis.com/javascript/latest/assets/img/apiref/views/scene-weather-cloudy.png)
32
- * [RainyWeather](https://developers.arcgis.com/javascript/latest/references/core/views/3d/environment/RainyWeather/) | ![scene-atmosphere](https://developers.arcgis.com/javascript/latest/assets/img/apiref/views/scene-weather-rainy.png)
33
- * [SnowyWeather](https://developers.arcgis.com/javascript/latest/references/core/views/3d/environment/SnowyWeather/) | ![scene-atmosphere](https://developers.arcgis.com/javascript/latest/assets/img/apiref/views/scene-weather-snowy.png)
34
- * [FoggyWeather](https://developers.arcgis.com/javascript/latest/references/core/views/3d/environment/FoggyWeather/) | ![scene-atmosphere](https://developers.arcgis.com/javascript/latest/assets/img/apiref/views/scene-weather-foggy.png)
30
+ * [SunnyWeather](https://developers.arcgis.com/javascript/latest/references/core/views/3d/environment/SunnyWeather/) | ![scene-atmosphere](https://developers.arcgis.com/javascript/latest/assets/images/apiref/views/scene-weather-sunny.png)
31
+ * [CloudyWeather](https://developers.arcgis.com/javascript/latest/references/core/views/3d/environment/CloudyWeather/) | ![scene-atmosphere](https://developers.arcgis.com/javascript/latest/assets/images/apiref/views/scene-weather-cloudy.png)
32
+ * [RainyWeather](https://developers.arcgis.com/javascript/latest/references/core/views/3d/environment/RainyWeather/) | ![scene-atmosphere](https://developers.arcgis.com/javascript/latest/assets/images/apiref/views/scene-weather-rainy.png)
33
+ * [SnowyWeather](https://developers.arcgis.com/javascript/latest/references/core/views/3d/environment/SnowyWeather/) | ![scene-atmosphere](https://developers.arcgis.com/javascript/latest/assets/images/apiref/views/scene-weather-snowy.png)
34
+ * [FoggyWeather](https://developers.arcgis.com/javascript/latest/references/core/views/3d/environment/FoggyWeather/) | ![scene-atmosphere](https://developers.arcgis.com/javascript/latest/assets/images/apiref/views/scene-weather-foggy.png)
35
35
  *
36
36
  * @default SunnyWeather
37
37
  */
@@ -51,7 +51,12 @@ export interface EnvironmentProperties extends Partial<Pick<Environment, "atmosp
51
51
  export default class Environment extends JSONSupport {
52
52
  constructor(properties?: EnvironmentProperties);
53
53
  /**
54
- * Indicates whether atmosphere visualization (haze, sky) is enabled. Disabling the atmosphere will also disable weather.
54
+ * Indicates whether atmosphere visualization is enabled.
55
+ *
56
+ * Disabling the atmosphere will disable the following features:
57
+ * - Sky and haze
58
+ * - Any [weather](https://developers.arcgis.com/javascript/latest/references/core/webscene/Environment/#weather) visualization
59
+ * - Natural light scattering in fog and haze around light emitters.
55
60
  *
56
61
  * @default true
57
62
  */
@@ -78,11 +83,11 @@ export default class Environment extends JSONSupport {
78
83
  *
79
84
  * Known Value | Example
80
85
  * ------------|---------
81
- * [SunnyWeather](https://developers.arcgis.com/javascript/latest/references/core/views/3d/environment/SunnyWeather/) | ![scene-atmosphere](https://developers.arcgis.com/javascript/latest/assets/img/apiref/views/scene-weather-sunny.png)
82
- * [CloudyWeather](https://developers.arcgis.com/javascript/latest/references/core/views/3d/environment/CloudyWeather/) | ![scene-atmosphere](https://developers.arcgis.com/javascript/latest/assets/img/apiref/views/scene-weather-cloudy.png)
83
- * [RainyWeather](https://developers.arcgis.com/javascript/latest/references/core/views/3d/environment/RainyWeather/) | ![scene-atmosphere](https://developers.arcgis.com/javascript/latest/assets/img/apiref/views/scene-weather-rainy.png)
84
- * [SnowyWeather](https://developers.arcgis.com/javascript/latest/references/core/views/3d/environment/SnowyWeather/) | ![scene-atmosphere](https://developers.arcgis.com/javascript/latest/assets/img/apiref/views/scene-weather-snowy.png)
85
- * [FoggyWeather](https://developers.arcgis.com/javascript/latest/references/core/views/3d/environment/FoggyWeather/) | ![scene-atmosphere](https://developers.arcgis.com/javascript/latest/assets/img/apiref/views/scene-weather-foggy.png)
86
+ * [SunnyWeather](https://developers.arcgis.com/javascript/latest/references/core/views/3d/environment/SunnyWeather/) | ![scene-atmosphere](https://developers.arcgis.com/javascript/latest/assets/images/apiref/views/scene-weather-sunny.png)
87
+ * [CloudyWeather](https://developers.arcgis.com/javascript/latest/references/core/views/3d/environment/CloudyWeather/) | ![scene-atmosphere](https://developers.arcgis.com/javascript/latest/assets/images/apiref/views/scene-weather-cloudy.png)
88
+ * [RainyWeather](https://developers.arcgis.com/javascript/latest/references/core/views/3d/environment/RainyWeather/) | ![scene-atmosphere](https://developers.arcgis.com/javascript/latest/assets/images/apiref/views/scene-weather-rainy.png)
89
+ * [SnowyWeather](https://developers.arcgis.com/javascript/latest/references/core/views/3d/environment/SnowyWeather/) | ![scene-atmosphere](https://developers.arcgis.com/javascript/latest/assets/images/apiref/views/scene-weather-snowy.png)
90
+ * [FoggyWeather](https://developers.arcgis.com/javascript/latest/references/core/views/3d/environment/FoggyWeather/) | ![scene-atmosphere](https://developers.arcgis.com/javascript/latest/assets/images/apiref/views/scene-weather-foggy.png)
86
91
  *
87
92
  * @default SunnyWeather
88
93
  */
@@ -4,7 +4,13 @@ import type { JSONSupport } from "../core/JSONSupport.js";
4
4
  export interface GlowProperties extends Partial<Pick<Glow, "intensity">> {}
5
5
 
6
6
  /**
7
- * Glow accentuates the effects of light emitters for illustrative visualizations, such as highlighting or filtering.
7
+ * [Glow](https://developers.arcgis.com/javascript/latest/references/core/webscene/Glow/) accentuates the effects of light emitters for illustrative visualizations, such as highlighting
8
+ * or filtering. When [Glow](https://developers.arcgis.com/javascript/latest/references/core/webscene/Glow/) is `null`, mimic the natural behavior of light scattering in the atmosphere.
9
+ *
10
+ * > [!WARNING]
11
+ * >
12
+ * > **Known Limitations**
13
+ * > [Symbol3DEmissive](https://developers.arcgis.com/javascript/latest/references/core/symbols/support/Symbol3DEmissive/) and [Glow](https://developers.arcgis.com/javascript/latest/references/core/webscene/Glow/) require support for the WebGL2 extension `EXT_float_blend`.
8
14
  *
9
15
  * Example:
10
16
  * ```js
@@ -32,7 +38,8 @@ export interface GlowProperties extends Partial<Pick<Glow, "intensity">> {}
32
38
  export default class Glow extends GlowSuperclass {
33
39
  constructor(properties?: GlowProperties);
34
40
  /**
35
- * Specifies the magnitude of the glow around light emitters.
41
+ * Specifies the magnitude of the glow around light emitters within a range of 0 to 1. Higher values will increase the
42
+ * affected area around light emitters.
36
43
  *
37
44
  * @default 0.5
38
45
  */
@@ -23,7 +23,7 @@ export interface ColorBackgroundProperties extends BackgroundProperties {
23
23
  *
24
24
  * The default for ColorBackground is a fully opaque, black color. The example below shows how to change this:
25
25
  *
26
- * ![background-color](https://developers.arcgis.com/javascript/latest/assets/img/apiref/views/background-color.png)
26
+ * ![background-color](https://developers.arcgis.com/javascript/latest/assets/images/apiref/views/background-color.png)
27
27
  *
28
28
  * ```js
29
29
  * const view = new SceneView({
@@ -86,7 +86,7 @@ export interface AreaMeasurement2DProperties extends WidgetProperties, Partial<P
86
86
  * * In geographic coordinate systems (GCS) and in Web Mercator, they are computed geodetically.
87
87
  * * In projected coordinate systems (PCS), apart from Web Mercator, they are computed in a Euclidean manner (in their respective PCS).
88
88
  *
89
- * [![measurement-area-2d](https://developers.arcgis.com/javascript/latest/assets/img/apiref/widgets/AreaMeasurement2D_widget.png)](https://developers.arcgis.com/javascript/latest/sample-code/widgets-measurement-2d/)
89
+ * [![measurement-area-2d](https://developers.arcgis.com/javascript/latest/assets/images/apiref/widgets/AreaMeasurement2D_widget.png)](https://developers.arcgis.com/javascript/latest/sample-code/widgets-measurement-2d/)
90
90
  *
91
91
  * ### Undo / Redo
92
92
  *
@@ -76,7 +76,7 @@ export interface AreaMeasurement3DProperties extends WidgetProperties, Partial<P
76
76
  * The AreaMeasurement3D widget calculates and displays the area and perimeter of a polygon.
77
77
  * This widget can be used in a [SceneView](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/) to measure the area and perimeter of a polygon.
78
78
  *
79
- * [![measurement-line-3d](https://developers.arcgis.com/javascript/latest/assets/img/apiref/widgets/3D_AreaMeasurement_widget.png)](https://developers.arcgis.com/javascript/latest/sample-code/widgets-measurement-3d/)
79
+ * [![measurement-line-3d](https://developers.arcgis.com/javascript/latest/assets/images/apiref/widgets/3D_AreaMeasurement_widget.png)](https://developers.arcgis.com/javascript/latest/sample-code/widgets-measurement-3d/)
80
80
  *
81
81
  * How the area and perimeter are computed depends on the scene's spatial reference and the length of the measured perimeter.
82
82
  *
@@ -95,7 +95,7 @@ export interface AreaMeasurement3DProperties extends WidgetProperties, Partial<P
95
95
  * 2. If the vertices have varying z-values and they create a **non-planar** surface, the visualization and the
96
96
  * measurements show the area and perimeter that are projected to a horizontal plane.
97
97
  *
98
- * ![area-measurement-3d-types](https://developers.arcgis.com/javascript/latest/assets/img/apiref/widgets/area-measurement-3d-types.png)
98
+ * ![area-measurement-3d-types](https://developers.arcgis.com/javascript/latest/assets/images/apiref/widgets/area-measurement-3d-types.png)
99
99
  *
100
100
  * When the widget is active, a horizontal "laser" line is drawn which indicates the height at the current mouse position.
101
101
  * This line can help in analyzing the heights of objects relative to each other and the terrain.
@@ -81,7 +81,7 @@ export interface VisibleElements {
81
81
  * > Editing attachments is currently available using the [Editor](https://developers.arcgis.com/javascript/latest/references/core/widgets/Editor/) widget.
82
82
  *
83
83
  * The following image displays the various displays of the attachment widget.
84
- * ![attachments](https://developers.arcgis.com/javascript/latest/assets/img/apiref/widgets/attachments-merged.png)
84
+ * ![attachments](https://developers.arcgis.com/javascript/latest/assets/images/apiref/widgets/attachments-merged.png)
85
85
  *
86
86
  * @deprecated since version 5.0. Use the [Popup](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-popup/) and [Editor](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-editor/) components to view and edit attachments instead. For information on widget deprecation, read about [Esri's move to web components](https://developers.arcgis.com/javascript/latest/components-transition-plan/).
87
87
  * @since 4.15
@@ -51,7 +51,7 @@ export interface AttributionProperties extends WidgetProperties, Partial<Pick<At
51
51
  * [MapView](https://developers.arcgis.com/javascript/latest/references/core/views/MapView/) and [SceneView](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/) by default.
52
52
  * See [DefaultUI](https://developers.arcgis.com/javascript/latest/references/core/views/ui/DefaultUI/) for more details.
53
53
  *
54
- * ![attribution](https://developers.arcgis.com/javascript/latest/assets/img/apiref/widgets/attribution.png)
54
+ * ![attribution](https://developers.arcgis.com/javascript/latest/assets/images/apiref/widgets/attribution.png)
55
55
  *
56
56
  * > [!WARNING]
57
57
  * >
@@ -77,7 +77,7 @@ export interface BasemapGalleryProperties extends WidgetProperties, Partial<Pick
77
77
  * layers are removed and replaced with the basemap layers of the associated basemap selected in the gallery. By default,
78
78
  * the BasemapGallery widget looks like the following image.
79
79
  *
80
- * ![basemap-gallery](https://developers.arcgis.com/javascript/latest/assets/img/apiref/widgets/basemap-gallery.png)
80
+ * ![basemap-gallery](https://developers.arcgis.com/javascript/latest/assets/images/apiref/widgets/basemap-gallery.png)
81
81
  *
82
82
  * When a [global API key](https://developers.arcgis.com/javascript/latest/references/core/config/#Config-apiKey) is set, the default basemaps displayed in the BasemapGallery
83
83
  * widget will default to the basemaps defined by the [Portal.devBasemapGalleryGroupQuery](https://developers.arcgis.com/javascript/latest/references/core/portal/Portal/#devBasemapGalleryGroupQuery) property.