@arcgis/core 5.1.0-next.14 → 5.1.0-next.16

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 (590) 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/assets/esri/core/t9n/Units_ar.json +1 -1
  12. package/assets/esri/core/t9n/Units_bg.json +1 -1
  13. package/assets/esri/core/t9n/Units_bs.json +1 -1
  14. package/assets/esri/core/t9n/Units_ca.json +1 -1
  15. package/assets/esri/core/t9n/Units_cs.json +1 -1
  16. package/assets/esri/core/t9n/Units_da.json +1 -1
  17. package/assets/esri/core/t9n/Units_de.json +1 -1
  18. package/assets/esri/core/t9n/Units_el.json +1 -1
  19. package/assets/esri/core/t9n/Units_es.json +1 -1
  20. package/assets/esri/core/t9n/Units_et.json +1 -1
  21. package/assets/esri/core/t9n/Units_fi.json +1 -1
  22. package/assets/esri/core/t9n/Units_fr.json +1 -1
  23. package/assets/esri/core/t9n/Units_he.json +1 -1
  24. package/assets/esri/core/t9n/Units_hr.json +1 -1
  25. package/assets/esri/core/t9n/Units_hu.json +1 -1
  26. package/assets/esri/core/t9n/Units_id.json +1 -1
  27. package/assets/esri/core/t9n/Units_it.json +1 -1
  28. package/assets/esri/core/t9n/Units_ja.json +1 -1
  29. package/assets/esri/core/t9n/Units_ko.json +1 -1
  30. package/assets/esri/core/t9n/Units_lt.json +1 -1
  31. package/assets/esri/core/t9n/Units_lv.json +1 -1
  32. package/assets/esri/core/t9n/Units_nl.json +1 -1
  33. package/assets/esri/core/t9n/Units_no.json +1 -1
  34. package/assets/esri/core/t9n/Units_pl.json +1 -1
  35. package/assets/esri/core/t9n/Units_pt-BR.json +1 -1
  36. package/assets/esri/core/t9n/Units_pt-PT.json +1 -1
  37. package/assets/esri/core/t9n/Units_ro.json +1 -1
  38. package/assets/esri/core/t9n/Units_ru.json +1 -1
  39. package/assets/esri/core/t9n/Units_sk.json +1 -1
  40. package/assets/esri/core/t9n/Units_sl.json +1 -1
  41. package/assets/esri/core/t9n/Units_sr.json +1 -1
  42. package/assets/esri/core/t9n/Units_sv.json +1 -1
  43. package/assets/esri/core/t9n/Units_th.json +1 -1
  44. package/assets/esri/core/t9n/Units_tr.json +1 -1
  45. package/assets/esri/core/t9n/Units_uk.json +1 -1
  46. package/assets/esri/core/t9n/Units_vi.json +1 -1
  47. package/assets/esri/core/t9n/Units_zh-CN.json +1 -1
  48. package/assets/esri/core/t9n/Units_zh-HK.json +1 -1
  49. package/assets/esri/core/t9n/Units_zh-TW.json +1 -1
  50. package/assets/esri/core/workers/RemoteClient.js +1 -1
  51. package/assets/esri/core/workers/chunks/07317f6b57c1314db442.js +1 -0
  52. package/assets/esri/core/workers/chunks/f17a301516f008abef3a.js +1 -0
  53. package/assets/esri/libs/lyr3d/lyr3DMain.wasm +0 -0
  54. package/assets/esri/libs/lyr3d/lyr3DWorker.wasm +0 -0
  55. package/assets/esri/widgets/Directions/t9n/Directions_ar.json +1 -1
  56. package/assets/esri/widgets/Directions/t9n/Directions_bg.json +1 -1
  57. package/assets/esri/widgets/Directions/t9n/Directions_bs.json +1 -1
  58. package/assets/esri/widgets/Directions/t9n/Directions_ca.json +1 -1
  59. package/assets/esri/widgets/Directions/t9n/Directions_cs.json +1 -1
  60. package/assets/esri/widgets/Directions/t9n/Directions_da.json +1 -1
  61. package/assets/esri/widgets/Directions/t9n/Directions_de.json +1 -1
  62. package/assets/esri/widgets/Directions/t9n/Directions_el.json +1 -1
  63. package/assets/esri/widgets/Directions/t9n/Directions_es.json +1 -1
  64. package/assets/esri/widgets/Directions/t9n/Directions_et.json +1 -1
  65. package/assets/esri/widgets/Directions/t9n/Directions_fi.json +1 -1
  66. package/assets/esri/widgets/Directions/t9n/Directions_fr.json +1 -1
  67. package/assets/esri/widgets/Directions/t9n/Directions_he.json +1 -1
  68. package/assets/esri/widgets/Directions/t9n/Directions_hr.json +1 -1
  69. package/assets/esri/widgets/Directions/t9n/Directions_hu.json +1 -1
  70. package/assets/esri/widgets/Directions/t9n/Directions_id.json +1 -1
  71. package/assets/esri/widgets/Directions/t9n/Directions_it.json +1 -1
  72. package/assets/esri/widgets/Directions/t9n/Directions_ja.json +1 -1
  73. package/assets/esri/widgets/Directions/t9n/Directions_ko.json +1 -1
  74. package/assets/esri/widgets/Directions/t9n/Directions_lt.json +1 -1
  75. package/assets/esri/widgets/Directions/t9n/Directions_lv.json +1 -1
  76. package/assets/esri/widgets/Directions/t9n/Directions_nl.json +1 -1
  77. package/assets/esri/widgets/Directions/t9n/Directions_no.json +1 -1
  78. package/assets/esri/widgets/Directions/t9n/Directions_pl.json +1 -1
  79. package/assets/esri/widgets/Directions/t9n/Directions_pt-BR.json +1 -1
  80. package/assets/esri/widgets/Directions/t9n/Directions_pt-PT.json +1 -1
  81. package/assets/esri/widgets/Directions/t9n/Directions_ro.json +1 -1
  82. package/assets/esri/widgets/Directions/t9n/Directions_ru.json +1 -1
  83. package/assets/esri/widgets/Directions/t9n/Directions_sk.json +1 -1
  84. package/assets/esri/widgets/Directions/t9n/Directions_sl.json +1 -1
  85. package/assets/esri/widgets/Directions/t9n/Directions_sr.json +1 -1
  86. package/assets/esri/widgets/Directions/t9n/Directions_sv.json +1 -1
  87. package/assets/esri/widgets/Directions/t9n/Directions_th.json +1 -1
  88. package/assets/esri/widgets/Directions/t9n/Directions_tr.json +1 -1
  89. package/assets/esri/widgets/Directions/t9n/Directions_uk.json +1 -1
  90. package/assets/esri/widgets/Directions/t9n/Directions_vi.json +1 -1
  91. package/assets/esri/widgets/Directions/t9n/Directions_zh-CN.json +1 -1
  92. package/assets/esri/widgets/Directions/t9n/Directions_zh-HK.json +1 -1
  93. package/assets/esri/widgets/Directions/t9n/Directions_zh-TW.json +1 -1
  94. package/assets/esri/widgets/Editor/t9n/Editor_ar.json +1 -1
  95. package/assets/esri/widgets/Editor/t9n/Editor_bg.json +1 -1
  96. package/assets/esri/widgets/Editor/t9n/Editor_bs.json +1 -1
  97. package/assets/esri/widgets/Editor/t9n/Editor_ca.json +1 -1
  98. package/assets/esri/widgets/Editor/t9n/Editor_cs.json +1 -1
  99. package/assets/esri/widgets/Editor/t9n/Editor_da.json +1 -1
  100. package/assets/esri/widgets/Editor/t9n/Editor_de.json +1 -1
  101. package/assets/esri/widgets/Editor/t9n/Editor_el.json +1 -1
  102. package/assets/esri/widgets/Editor/t9n/Editor_es.json +1 -1
  103. package/assets/esri/widgets/Editor/t9n/Editor_et.json +1 -1
  104. package/assets/esri/widgets/Editor/t9n/Editor_fi.json +1 -1
  105. package/assets/esri/widgets/Editor/t9n/Editor_fr.json +1 -1
  106. package/assets/esri/widgets/Editor/t9n/Editor_he.json +1 -1
  107. package/assets/esri/widgets/Editor/t9n/Editor_hr.json +1 -1
  108. package/assets/esri/widgets/Editor/t9n/Editor_hu.json +1 -1
  109. package/assets/esri/widgets/Editor/t9n/Editor_id.json +1 -1
  110. package/assets/esri/widgets/Editor/t9n/Editor_it.json +1 -1
  111. package/assets/esri/widgets/Editor/t9n/Editor_ja.json +1 -1
  112. package/assets/esri/widgets/Editor/t9n/Editor_ko.json +1 -1
  113. package/assets/esri/widgets/Editor/t9n/Editor_lt.json +1 -1
  114. package/assets/esri/widgets/Editor/t9n/Editor_lv.json +1 -1
  115. package/assets/esri/widgets/Editor/t9n/Editor_nl.json +1 -1
  116. package/assets/esri/widgets/Editor/t9n/Editor_no.json +1 -1
  117. package/assets/esri/widgets/Editor/t9n/Editor_pl.json +1 -1
  118. package/assets/esri/widgets/Editor/t9n/Editor_pt-BR.json +1 -1
  119. package/assets/esri/widgets/Editor/t9n/Editor_pt-PT.json +1 -1
  120. package/assets/esri/widgets/Editor/t9n/Editor_ro.json +1 -1
  121. package/assets/esri/widgets/Editor/t9n/Editor_ru.json +1 -1
  122. package/assets/esri/widgets/Editor/t9n/Editor_sk.json +1 -1
  123. package/assets/esri/widgets/Editor/t9n/Editor_sl.json +1 -1
  124. package/assets/esri/widgets/Editor/t9n/Editor_sr.json +1 -1
  125. package/assets/esri/widgets/Editor/t9n/Editor_sv.json +1 -1
  126. package/assets/esri/widgets/Editor/t9n/Editor_th.json +1 -1
  127. package/assets/esri/widgets/Editor/t9n/Editor_tr.json +1 -1
  128. package/assets/esri/widgets/Editor/t9n/Editor_uk.json +1 -1
  129. package/assets/esri/widgets/Editor/t9n/Editor_vi.json +1 -1
  130. package/assets/esri/widgets/Editor/t9n/Editor_zh-CN.json +1 -1
  131. package/assets/esri/widgets/Editor/t9n/Editor_zh-HK.json +1 -1
  132. package/assets/esri/widgets/Editor/t9n/Editor_zh-TW.json +1 -1
  133. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ar.json +1 -1
  134. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_bg.json +1 -1
  135. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_bs.json +1 -1
  136. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ca.json +1 -1
  137. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_cs.json +1 -1
  138. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_da.json +1 -1
  139. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_de.json +1 -1
  140. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_el.json +1 -1
  141. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_es.json +1 -1
  142. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_et.json +1 -1
  143. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_fi.json +1 -1
  144. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_fr.json +1 -1
  145. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_he.json +1 -1
  146. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_hr.json +1 -1
  147. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_hu.json +1 -1
  148. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_id.json +1 -1
  149. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_it.json +1 -1
  150. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ja.json +1 -1
  151. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ko.json +1 -1
  152. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_lt.json +1 -1
  153. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_lv.json +1 -1
  154. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_nl.json +1 -1
  155. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_no.json +1 -1
  156. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_pl.json +1 -1
  157. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_pt-BR.json +1 -1
  158. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_pt-PT.json +1 -1
  159. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ro.json +1 -1
  160. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ru.json +1 -1
  161. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_sk.json +1 -1
  162. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_sl.json +1 -1
  163. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_sr.json +1 -1
  164. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_sv.json +1 -1
  165. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_th.json +1 -1
  166. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_tr.json +1 -1
  167. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_uk.json +1 -1
  168. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_vi.json +1 -1
  169. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_zh-CN.json +1 -1
  170. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_zh-HK.json +1 -1
  171. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_zh-TW.json +1 -1
  172. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ar.json +1 -1
  173. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_bg.json +1 -1
  174. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_bs.json +1 -1
  175. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ca.json +1 -1
  176. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_cs.json +1 -1
  177. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_da.json +1 -1
  178. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_de.json +1 -1
  179. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_el.json +1 -1
  180. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_es.json +1 -1
  181. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_et.json +1 -1
  182. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_fi.json +1 -1
  183. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_fr.json +1 -1
  184. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_he.json +1 -1
  185. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_hr.json +1 -1
  186. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_hu.json +1 -1
  187. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_id.json +1 -1
  188. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_it.json +1 -1
  189. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ja.json +1 -1
  190. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ko.json +1 -1
  191. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_lt.json +1 -1
  192. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_lv.json +1 -1
  193. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_nl.json +1 -1
  194. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_no.json +1 -1
  195. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pl.json +1 -1
  196. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pt-BR.json +1 -1
  197. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pt-PT.json +1 -1
  198. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ro.json +1 -1
  199. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ru.json +1 -1
  200. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sk.json +1 -1
  201. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sl.json +1 -1
  202. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sr.json +1 -1
  203. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sv.json +1 -1
  204. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_th.json +1 -1
  205. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_tr.json +1 -1
  206. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_uk.json +1 -1
  207. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_vi.json +1 -1
  208. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-CN.json +1 -1
  209. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-HK.json +1 -1
  210. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-TW.json +1 -1
  211. package/assets/esri/widgets/Sketch/t9n/Sketch_ar.json +1 -1
  212. package/assets/esri/widgets/Sketch/t9n/Sketch_bg.json +1 -1
  213. package/assets/esri/widgets/Sketch/t9n/Sketch_bs.json +1 -1
  214. package/assets/esri/widgets/Sketch/t9n/Sketch_ca.json +1 -1
  215. package/assets/esri/widgets/Sketch/t9n/Sketch_cs.json +1 -1
  216. package/assets/esri/widgets/Sketch/t9n/Sketch_da.json +1 -1
  217. package/assets/esri/widgets/Sketch/t9n/Sketch_de.json +1 -1
  218. package/assets/esri/widgets/Sketch/t9n/Sketch_el.json +1 -1
  219. package/assets/esri/widgets/Sketch/t9n/Sketch_es.json +1 -1
  220. package/assets/esri/widgets/Sketch/t9n/Sketch_et.json +1 -1
  221. package/assets/esri/widgets/Sketch/t9n/Sketch_fi.json +1 -1
  222. package/assets/esri/widgets/Sketch/t9n/Sketch_fr.json +1 -1
  223. package/assets/esri/widgets/Sketch/t9n/Sketch_he.json +1 -1
  224. package/assets/esri/widgets/Sketch/t9n/Sketch_hr.json +1 -1
  225. package/assets/esri/widgets/Sketch/t9n/Sketch_hu.json +1 -1
  226. package/assets/esri/widgets/Sketch/t9n/Sketch_id.json +1 -1
  227. package/assets/esri/widgets/Sketch/t9n/Sketch_it.json +1 -1
  228. package/assets/esri/widgets/Sketch/t9n/Sketch_ja.json +1 -1
  229. package/assets/esri/widgets/Sketch/t9n/Sketch_ko.json +1 -1
  230. package/assets/esri/widgets/Sketch/t9n/Sketch_lt.json +1 -1
  231. package/assets/esri/widgets/Sketch/t9n/Sketch_lv.json +1 -1
  232. package/assets/esri/widgets/Sketch/t9n/Sketch_nl.json +1 -1
  233. package/assets/esri/widgets/Sketch/t9n/Sketch_no.json +1 -1
  234. package/assets/esri/widgets/Sketch/t9n/Sketch_pl.json +1 -1
  235. package/assets/esri/widgets/Sketch/t9n/Sketch_pt-BR.json +1 -1
  236. package/assets/esri/widgets/Sketch/t9n/Sketch_pt-PT.json +1 -1
  237. package/assets/esri/widgets/Sketch/t9n/Sketch_ro.json +1 -1
  238. package/assets/esri/widgets/Sketch/t9n/Sketch_ru.json +1 -1
  239. package/assets/esri/widgets/Sketch/t9n/Sketch_sk.json +1 -1
  240. package/assets/esri/widgets/Sketch/t9n/Sketch_sl.json +1 -1
  241. package/assets/esri/widgets/Sketch/t9n/Sketch_sr.json +1 -1
  242. package/assets/esri/widgets/Sketch/t9n/Sketch_sv.json +1 -1
  243. package/assets/esri/widgets/Sketch/t9n/Sketch_th.json +1 -1
  244. package/assets/esri/widgets/Sketch/t9n/Sketch_tr.json +1 -1
  245. package/assets/esri/widgets/Sketch/t9n/Sketch_uk.json +1 -1
  246. package/assets/esri/widgets/Sketch/t9n/Sketch_vi.json +1 -1
  247. package/assets/esri/widgets/Sketch/t9n/Sketch_zh-CN.json +1 -1
  248. package/assets/esri/widgets/Sketch/t9n/Sketch_zh-HK.json +1 -1
  249. package/assets/esri/widgets/Sketch/t9n/Sketch_zh-TW.json +1 -1
  250. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_ar.json +1 -1
  251. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_bg.json +1 -1
  252. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_bs.json +1 -1
  253. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_ca.json +1 -1
  254. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_cs.json +1 -1
  255. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_da.json +1 -1
  256. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_de.json +1 -1
  257. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_el.json +1 -1
  258. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_es.json +1 -1
  259. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_et.json +1 -1
  260. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_fi.json +1 -1
  261. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_fr.json +1 -1
  262. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_he.json +1 -1
  263. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_hr.json +1 -1
  264. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_hu.json +1 -1
  265. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_id.json +1 -1
  266. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_it.json +1 -1
  267. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_ja.json +1 -1
  268. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_ko.json +1 -1
  269. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_lt.json +1 -1
  270. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_lv.json +1 -1
  271. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_nl.json +1 -1
  272. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_no.json +1 -1
  273. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_pl.json +1 -1
  274. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_pt-BR.json +1 -1
  275. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_pt-PT.json +1 -1
  276. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_ro.json +1 -1
  277. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_ru.json +1 -1
  278. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_sk.json +1 -1
  279. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_sl.json +1 -1
  280. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_sr.json +1 -1
  281. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_sv.json +1 -1
  282. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_th.json +1 -1
  283. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_tr.json +1 -1
  284. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_uk.json +1 -1
  285. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_vi.json +1 -1
  286. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_zh-CN.json +1 -1
  287. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_zh-HK.json +1 -1
  288. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_zh-TW.json +1 -1
  289. package/chunks/Fog.glsl.js +1 -1
  290. package/config.js +1 -1
  291. package/core/sql/types.d.ts +398 -86
  292. package/effects/FocusAreas.d.ts +1 -1
  293. package/form/elements/FieldElement.d.ts +1 -1
  294. package/form/elements/GroupElement.d.ts +1 -1
  295. package/form/elements/TextElement.d.ts +1 -1
  296. package/form/elements/inputs/ComboBoxInput.d.ts +1 -1
  297. package/form/elements/inputs/RadioButtonsInput.d.ts +1 -1
  298. package/form/elements/inputs/SwitchInput.d.ts +1 -1
  299. package/geometry/Mesh.d.ts +7 -7
  300. package/geometry/operators/alphaShapeOperator.d.ts +1 -1
  301. package/geometry/operators/areaOperator.d.ts +1 -1
  302. package/geometry/operators/bufferOperator.d.ts +1 -1
  303. package/geometry/operators/centroidOperator.d.ts +1 -1
  304. package/geometry/operators/clipOperator.d.ts +1 -1
  305. package/geometry/operators/containsOperator.d.ts +1 -1
  306. package/geometry/operators/convexHullOperator.d.ts +1 -1
  307. package/geometry/operators/crossesOperator.d.ts +1 -1
  308. package/geometry/operators/cutOperator.d.ts +1 -1
  309. package/geometry/operators/densifyOperator.d.ts +1 -1
  310. package/geometry/operators/differenceOperator.d.ts +1 -1
  311. package/geometry/operators/disjointOperator.d.ts +1 -1
  312. package/geometry/operators/distanceOperator.d.ts +1 -1
  313. package/geometry/operators/generalizeOperator.d.ts +1 -1
  314. package/geometry/operators/geodesicProximityOperator.d.ts +1 -1
  315. package/geometry/operators/geodeticDistanceOperator.d.ts +1 -1
  316. package/geometry/operators/geodeticUtilsOperator.d.ts +2 -2
  317. package/geometry/operators/graphicBufferOperator.d.ts +1 -1
  318. package/geometry/operators/intersectionOperator.d.ts +1 -1
  319. package/geometry/operators/intersectsOperator.d.ts +1 -1
  320. package/geometry/operators/isNearOperator.d.ts +1 -1
  321. package/geometry/operators/lengthOperator.d.ts +1 -1
  322. package/geometry/operators/locateBetweenOperator.d.ts +1 -1
  323. package/geometry/operators/multiPartToSinglePartOperator.d.ts +1 -1
  324. package/geometry/operators/offsetOperator.d.ts +5 -5
  325. package/geometry/operators/overlapsOperator.d.ts +1 -1
  326. package/geometry/operators/proximityOperator.d.ts +1 -1
  327. package/geometry/operators/simplifyOGCOperator.d.ts +1 -1
  328. package/geometry/operators/simplifyOperator.d.ts +1 -1
  329. package/geometry/operators/support/Transformation.d.ts +6 -6
  330. package/geometry/operators/symmetricDifferenceOperator.d.ts +1 -1
  331. package/geometry/operators/touchesOperator.d.ts +1 -1
  332. package/geometry/operators/unionOperator.d.ts +1 -1
  333. package/geometry/operators/withinOperator.d.ts +1 -1
  334. package/geometry/support/MeshMaterialMetallicRoughness.d.ts +1 -1
  335. package/kernel.js +1 -1
  336. package/layers/BuildingSceneLayer.d.ts +4 -4
  337. package/layers/CSVLayer.d.ts +4 -4
  338. package/layers/CatalogLayer.d.ts +2 -2
  339. package/layers/ElevationLayer.d.ts +1 -1
  340. package/layers/FeatureLayer.d.ts +2 -2
  341. package/layers/GaussianSplatLayer.d.ts +77 -10
  342. package/layers/GeoJSONLayer.d.ts +3 -3
  343. package/layers/GeoRSSLayer.d.ts +1 -1
  344. package/layers/GraphicsLayer.d.ts +2 -2
  345. package/layers/ImageryLayer.d.ts +3 -3
  346. package/layers/ImageryTileLayer.d.ts +2 -2
  347. package/layers/IntegratedMesh3DTilesLayer.d.ts +6 -6
  348. package/layers/IntegratedMesh3DTilesLayer.js +1 -1
  349. package/layers/IntegratedMeshLayer.d.ts +7 -7
  350. package/layers/Layer.d.ts +2 -0
  351. package/layers/Lyr3DWasmPerSceneView.js +1 -1
  352. package/layers/MapImageLayer.d.ts +1 -1
  353. package/layers/MediaLayer.d.ts +1 -1
  354. package/layers/OGCFeatureLayer.d.ts +2 -2
  355. package/layers/PointCloudLayer.d.ts +1 -1
  356. package/layers/SceneLayer.d.ts +9 -9
  357. package/layers/StreamLayer.d.ts +2 -2
  358. package/layers/VectorTileLayer.d.ts +2 -2
  359. package/layers/VideoLayer.d.ts +1 -1
  360. package/layers/VoxelLayer.d.ts +8 -8
  361. package/layers/WFSLayer.d.ts +6 -6
  362. package/layers/catalog/CatalogFootprintLayer.d.ts +1 -1
  363. package/layers/mixins/BlendLayer.d.ts +6 -6
  364. package/layers/pointCloudFilters/PointCloudReturnFilter.d.ts +1 -1
  365. package/layers/pointCloudFilters/PointCloudValueFilter.d.ts +1 -1
  366. package/layers/support/DimensionalDefinition.d.ts +2 -2
  367. package/layers/support/FeatureEffect.d.ts +4 -4
  368. package/layers/support/FeatureFilter.d.ts +17 -17
  369. package/layers/support/FeatureReductionBinning.d.ts +1 -1
  370. package/layers/support/FeatureReductionCluster.d.ts +9 -9
  371. package/layers/support/FeatureReductionSelection.d.ts +1 -1
  372. package/layers/support/LabelClass.d.ts +2 -2
  373. package/layers/support/RasterFunction.d.ts +1 -1
  374. package/layers/support/SceneFilter.d.ts +2 -2
  375. package/layers/support/SceneModification.d.ts +3 -3
  376. package/layers/types.d.ts +24 -10
  377. package/package.json +1 -1
  378. package/popup/content/AttachmentsContent.d.ts +1 -1
  379. package/popup/content/BarChartMediaInfo.d.ts +1 -1
  380. package/popup/content/ColumnChartMediaInfo.d.ts +1 -1
  381. package/popup/content/FieldsContent.d.ts +1 -1
  382. package/popup/content/ImageMediaInfo.d.ts +1 -1
  383. package/popup/content/LineChartMediaInfo.d.ts +1 -1
  384. package/popup/content/MediaContent.d.ts +1 -1
  385. package/popup/content/PieChartMediaInfo.d.ts +1 -1
  386. package/popup/content/RelationshipContent.d.ts +1 -1
  387. package/popup/content/TextContent.d.ts +1 -1
  388. package/renderers/ClassBreaksRenderer.d.ts +1 -1
  389. package/renderers/DictionaryRenderer.d.ts +1 -1
  390. package/renderers/DotDensityRenderer.d.ts +3 -3
  391. package/renderers/FlowRenderer.d.ts +6 -6
  392. package/renderers/HeatmapRenderer.d.ts +3 -3
  393. package/renderers/PieChartRenderer.d.ts +1 -1
  394. package/renderers/RasterShadedReliefRenderer.d.ts +1 -1
  395. package/renderers/Renderer.d.ts +4 -4
  396. package/renderers/SimpleRenderer.d.ts +2 -2
  397. package/renderers/UniqueValueRenderer.d.ts +2 -2
  398. package/renderers/VectorFieldRenderer.d.ts +1 -1
  399. package/renderers/mixins/VisualVariablesMixin.d.ts +12 -12
  400. package/renderers/visualVariables/ColorVariable.d.ts +1 -1
  401. package/renderers/visualVariables/OpacityVariable.d.ts +1 -1
  402. package/renderers/visualVariables/RotationVariable.d.ts +1 -1
  403. package/renderers/visualVariables/SizeVariable.d.ts +1 -1
  404. package/renderers/visualVariables/VisualVariable.d.ts +1 -1
  405. package/rest/query/support/AttachmentInfo.d.ts +1 -1
  406. package/rest/support/AutoIntervalBinParameters.d.ts +1 -1
  407. package/rest/support/DateBinParameters.d.ts +1 -1
  408. package/rest/support/FixedBoundariesBinParameters.d.ts +1 -1
  409. package/rest/support/FixedIntervalBinParameters.d.ts +1 -1
  410. package/smartMapping/labels/clusters.d.ts +1 -1
  411. package/smartMapping/popup/clusters.d.ts +2 -2
  412. package/smartMapping/popup/templates.d.ts +1 -1
  413. package/smartMapping/raster/renderers/flow.d.ts +2 -2
  414. package/smartMapping/renderers/color.d.ts +12 -12
  415. package/smartMapping/renderers/predominance.d.ts +3 -3
  416. package/smartMapping/renderers/relationship.d.ts +15 -15
  417. package/smartMapping/renderers/univariateColorSize.d.ts +4 -4
  418. package/smartMapping/symbology/color.d.ts +4 -4
  419. package/smartMapping/symbology/flow.d.ts +2 -2
  420. package/smartMapping/symbology/types.d.ts +18 -18
  421. package/support/actions/ActionButton.d.ts +1 -1
  422. package/support/revision.js +1 -1
  423. package/symbols/CIMSymbol.d.ts +1 -1
  424. package/symbols/ExtrudeSymbol3DLayer.d.ts +1 -1
  425. package/symbols/FillSymbol3DLayer.d.ts +3 -3
  426. package/symbols/IconSymbol3DLayer.d.ts +1 -1
  427. package/symbols/LabelSymbol3D.d.ts +2 -2
  428. package/symbols/LineStyleMarker3D.d.ts +7 -7
  429. package/symbols/LineSymbol3D.d.ts +2 -2
  430. package/symbols/LineSymbol3DLayer.d.ts +7 -7
  431. package/symbols/LineSymbolMarker.d.ts +6 -6
  432. package/symbols/MarkerSymbol.d.ts +1 -1
  433. package/symbols/MeshSymbol3D.d.ts +2 -2
  434. package/symbols/ObjectSymbol3DLayer.d.ts +1 -1
  435. package/symbols/PathSymbol3DLayer.d.ts +14 -14
  436. package/symbols/PictureFillSymbol.d.ts +1 -1
  437. package/symbols/PictureMarkerSymbol.d.ts +1 -1
  438. package/symbols/PointSymbol3D.d.ts +3 -3
  439. package/symbols/PolygonSymbol3D.d.ts +7 -7
  440. package/symbols/SimpleFillSymbol.d.ts +8 -8
  441. package/symbols/SimpleLineSymbol.d.ts +20 -20
  442. package/symbols/SimpleMarkerSymbol.d.ts +7 -7
  443. package/symbols/Symbol3DLayer.d.ts +16 -16
  444. package/symbols/TextSymbol.d.ts +1 -1
  445. package/symbols/TextSymbol3DLayer.d.ts +1 -1
  446. package/symbols/WaterSymbol3DLayer.d.ts +3 -3
  447. package/symbols/WebStyleSymbol.d.ts +1 -1
  448. package/symbols/callouts/Callout3D.d.ts +1 -1
  449. package/symbols/callouts/LineCallout3D.d.ts +3 -3
  450. package/symbols/cim/types.d.ts +23 -23
  451. package/symbols/edges/Edges3D.d.ts +1 -1
  452. package/symbols/edges/SolidEdges3D.d.ts +1 -1
  453. package/symbols/patterns/LineStylePattern3D.d.ts +11 -11
  454. package/symbols/patterns/StylePattern3D.d.ts +8 -8
  455. package/symbols/support/ElevationInfo.d.ts +4 -4
  456. package/symbols/support/IconSymbol3DLayerResource.d.ts +6 -6
  457. package/symbols/support/ObjectSymbol3DLayerResource.d.ts +7 -7
  458. package/symbols/support/Symbol3DEmissive.d.ts +19 -6
  459. package/symbols/support/Symbol3DVerticalOffset.d.ts +2 -2
  460. package/versionManagement/VersionManagementService.d.ts +4 -0
  461. package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
  462. package/views/2d/layers/BaseLayerViewGL2D.d.ts +1 -1
  463. package/views/2d/layers/features/sources/strategies/chunks/SourceChunkStore.js +1 -1
  464. package/views/2d/types.d.ts +3 -3
  465. package/views/3d/environment/CloudyWeather.d.ts +1 -1
  466. package/views/3d/environment/Environment.d.ts +4 -4
  467. package/views/3d/environment/FoggyWeather.d.ts +1 -1
  468. package/views/3d/environment/RainyWeather.d.ts +1 -1
  469. package/views/3d/environment/SnowyWeather.d.ts +1 -1
  470. package/views/3d/environment/SunLighting.d.ts +1 -1
  471. package/views/3d/environment/SunnyWeather.d.ts +1 -1
  472. package/views/3d/environment/VirtualLighting.d.ts +1 -1
  473. package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
  474. package/views/3d/layers/graphics/Graphics3DLineCalloutSymbolLayer.js +1 -1
  475. package/views/3d/layers/graphics/polygonUtils.js +1 -1
  476. package/views/3d/support/gaussianSplatting/GaussianSplatDataStore.js +1 -1
  477. package/views/3d/support/gaussianSplatting/GaussianSplatOrderTexture.js +1 -1
  478. package/views/3d/webgl/RenderNode.d.ts +2 -2
  479. package/views/3d/webgl-engine/effects/glow/GlowRenderNode.js +1 -1
  480. package/views/3d/webgl-engine/materials/LineCalloutMaterial.js +1 -1
  481. package/views/3d/webgl-engine/materials/LineCalloutMaterialBaseInstance.js +2 -0
  482. package/views/3d/webgl-engine/materials/renderers/VaoWriter.js +1 -1
  483. package/views/3d/webgl-engine/shaders/LineCalloutTechnique.js +1 -1
  484. package/views/3d/webgl.d.ts +1 -1
  485. package/views/Magnifier.d.ts +3 -3
  486. package/views/MapView.d.ts +7 -7
  487. package/views/SceneView.d.ts +17 -17
  488. package/views/View.d.ts +2 -2
  489. package/views/interactive/sketch/SketchLabelOptions.d.ts +1 -1
  490. package/views/interactive/sketch/SketchTooltipOptions.d.ts +1 -1
  491. package/views/interactive/snapping/SnappingOptions.d.ts +7 -7
  492. package/views/support/HighlightOptions.d.ts +1 -1
  493. package/views/ui/DefaultUI.d.ts +2 -2
  494. package/views/webgl/BufferObject.js +1 -1
  495. package/views/webgl/RenderingContext.js +1 -1
  496. package/webscene/Environment.d.ts +16 -11
  497. package/webscene/Glow.d.ts +4 -2
  498. package/webscene/background/ColorBackground.d.ts +1 -1
  499. package/widgets/AreaMeasurement2D.d.ts +1 -1
  500. package/widgets/AreaMeasurement3D.d.ts +2 -2
  501. package/widgets/Attachments.d.ts +1 -1
  502. package/widgets/Attribution.d.ts +1 -1
  503. package/widgets/BasemapGallery.d.ts +1 -1
  504. package/widgets/BasemapLayerList.d.ts +3 -3
  505. package/widgets/BasemapToggle.d.ts +1 -1
  506. package/widgets/BatchAttributeForm/BatchAttributeFormViewModel.d.ts +1 -2
  507. package/widgets/BatchAttributeForm/inputs/BatchFormInputs.d.ts +0 -1
  508. package/widgets/BatchAttributeForm.d.ts +0 -2
  509. package/widgets/Bookmarks/BookmarksVisibleElements.d.ts +1 -1
  510. package/widgets/Bookmarks.d.ts +2 -2
  511. package/widgets/BuildingExplorer.d.ts +1 -1
  512. package/widgets/CatalogLayerList.d.ts +3 -3
  513. package/widgets/Compass.d.ts +2 -2
  514. package/widgets/CoordinateConversion.d.ts +1 -1
  515. package/widgets/Daylight.d.ts +5 -5
  516. package/widgets/DirectLineMeasurement3D.d.ts +2 -2
  517. package/widgets/Directions.d.ts +4 -4
  518. package/widgets/DistanceMeasurement2D.d.ts +1 -1
  519. package/widgets/Editor/CreateFeaturesWorkflow.d.ts +1 -1
  520. package/widgets/Editor/EditorViewModel.js +1 -1
  521. package/widgets/Editor.d.ts +8 -8
  522. package/widgets/ElevationProfile/ElevationProfileLineGround.d.ts +1 -1
  523. package/widgets/ElevationProfile/ElevationProfileLineInput.d.ts +1 -1
  524. package/widgets/ElevationProfile/ElevationProfileLineView.d.ts +1 -1
  525. package/widgets/ElevationProfile.d.ts +3 -3
  526. package/widgets/Expand.d.ts +1 -1
  527. package/widgets/FeatureForm.d.ts +1 -1
  528. package/widgets/FeatureTable/ActionColumn.d.ts +2 -2
  529. package/widgets/FeatureTable/AttachmentsColumn.d.ts +1 -1
  530. package/widgets/FeatureTable/FeatureTableViewModel.d.ts +3 -3
  531. package/widgets/FeatureTable/Grid/GroupColumn.d.ts +1 -1
  532. package/widgets/FeatureTable/RelationshipColumn.d.ts +1 -1
  533. package/widgets/FeatureTable/VisibleElements.d.ts +1 -1
  534. package/widgets/FeatureTable.d.ts +10 -10
  535. package/widgets/FeatureTemplates/FeatureTemplatesViewModel.d.ts +5 -5
  536. package/widgets/FeatureTemplates.d.ts +8 -8
  537. package/widgets/Features/FeaturesViewModel.d.ts +2 -2
  538. package/widgets/Features/FeaturesVisibleElements.d.ts +2 -2
  539. package/widgets/Features.d.ts +1 -1
  540. package/widgets/Histogram.d.ts +2 -2
  541. package/widgets/HistogramRangeSlider.d.ts +1 -1
  542. package/widgets/Home.d.ts +1 -1
  543. package/widgets/LayerList/ListItemPanel.d.ts +1 -1
  544. package/widgets/LayerList.d.ts +4 -4
  545. package/widgets/Legend.d.ts +8 -8
  546. package/widgets/LineOfSight.d.ts +1 -1
  547. package/widgets/Locate.d.ts +2 -2
  548. package/widgets/Measurement.d.ts +1 -1
  549. package/widgets/NavigationToggle/NavigationToggleViewModel.d.ts +1 -1
  550. package/widgets/NavigationToggle.d.ts +3 -3
  551. package/widgets/Popup/PopupVisibleElements.d.ts +2 -2
  552. package/widgets/Popup.d.ts +5 -5
  553. package/widgets/Print/CustomTemplate.d.ts +1 -1
  554. package/widgets/Print/TemplateOptions.d.ts +4 -4
  555. package/widgets/ScaleRangeSlider.d.ts +1 -1
  556. package/widgets/Search/SearchViewModel.d.ts +4 -4
  557. package/widgets/Search.d.ts +5 -5
  558. package/widgets/ShadowCast.d.ts +3 -3
  559. package/widgets/Sketch/SketchViewModel.d.ts +39 -39
  560. package/widgets/Sketch.d.ts +43 -43
  561. package/widgets/Slice.d.ts +2 -2
  562. package/widgets/Slider/SliderViewModel.d.ts +2 -2
  563. package/widgets/Slider.d.ts +9 -9
  564. package/widgets/Swipe/SwipeViewModel.d.ts +1 -1
  565. package/widgets/Swipe.d.ts +2 -2
  566. package/widgets/TableList/ListItemPanel.d.ts +1 -1
  567. package/widgets/TableList.d.ts +1 -1
  568. package/widgets/TimeSlider/TimeSliderViewModel.d.ts +8 -9
  569. package/widgets/TimeSlider/types.d.ts +1 -1
  570. package/widgets/TimeSlider.d.ts +11 -12
  571. package/widgets/Track.d.ts +2 -2
  572. package/widgets/UtilityNetworkAssociations.d.ts +3 -3
  573. package/widgets/UtilityNetworkTrace.d.ts +4 -4
  574. package/widgets/UtilityNetworkValidateTopology.d.ts +1 -1
  575. package/widgets/ValuePicker.d.ts +5 -5
  576. package/widgets/VideoPlayer.d.ts +1 -1
  577. package/widgets/smartMapping/ClassedColorSlider.d.ts +1 -1
  578. package/widgets/smartMapping/ClassedSizeSlider.d.ts +1 -1
  579. package/widgets/smartMapping/ColorSizeSlider.d.ts +2 -2
  580. package/widgets/smartMapping/ColorSlider.d.ts +1 -1
  581. package/widgets/smartMapping/HeatmapSlider.d.ts +1 -1
  582. package/widgets/smartMapping/OpacitySlider.d.ts +1 -1
  583. package/widgets/smartMapping/SizeSlider.d.ts +1 -1
  584. package/widgets/smartMapping/SmartMappingSliderBase.d.ts +4 -4
  585. package/widgets/smartMapping/SmartMappingSliderViewModel.d.ts +6 -6
  586. package/widgets/support/GridControls.d.ts +1 -1
  587. package/widgets/support/SnappingControls/VisibleElements.d.ts +1 -1
  588. package/widgets/support/SnappingControls.d.ts +6 -6
  589. package/assets/esri/core/workers/chunks/008887a8014b61f837ae.js +0 -1
  590. package/assets/esri/core/workers/chunks/7c01e5eaab97a9ae80ad.js +0 -1
@@ -82,7 +82,7 @@ export interface BuildingSceneLayerProperties extends LayerProperties, APIKeyMix
82
82
  * from Building Information Modeling (BIM) projects. The data in a BuildingSceneLayer can represent
83
83
  * walls, lighting fixtures, mechanical systems, furniture and so on.
84
84
  *
85
- * [![building-scene-layer](https://developers.arcgis.com/javascript/latest/assets/img/apiref/layers/buildingscenelayer.png)](https://developers.arcgis.com/javascript/latest/sample-code/building-scene-layer-slice/)
85
+ * [![building-scene-layer](https://developers.arcgis.com/javascript/latest/assets/images/apiref/layers/buildingscenelayer.png)](https://developers.arcgis.com/javascript/latest/sample-code/building-scene-layer-slice/)
86
86
  *
87
87
  * <span id="structure-building-scene-layer"></span>
88
88
  * ## Structure of a BuildingSceneLayer
@@ -100,7 +100,7 @@ export interface BuildingSceneLayerProperties extends LayerProperties, APIKeyMix
100
100
  *
101
101
  * This helps to get a faster preview of the whole building without loading all interior features:
102
102
  *
103
- * ![building-scene-layer-overview](https://developers.arcgis.com/javascript/latest/assets/img/apiref/layers/buildingscenelayer-overview.png)
103
+ * ![building-scene-layer-overview](https://developers.arcgis.com/javascript/latest/assets/images/apiref/layers/buildingscenelayer-overview.png)
104
104
  *
105
105
  * The BuildingSceneLayer also contains a Full Model [BuildingGroupSublayer](https://developers.arcgis.com/javascript/latest/references/core/layers/buildingSublayers/BuildingGroupSublayer/)
106
106
  * with all the features in a building grouped by disciplines: Architectural, Structural, Electrical and Mechanical.
@@ -111,7 +111,7 @@ export interface BuildingSceneLayerProperties extends LayerProperties, APIKeyMix
111
111
  * You can see this layer structure in the [LayerList](https://developers.arcgis.com/javascript/latest/references/core/widgets/LayerList/) of the
112
112
  * [BuildingSceneLayer with Slice widget](https://developers.arcgis.com/javascript/latest/sample-code/building-scene-layer-slice/) sample:
113
113
  *
114
- * ![building-scene-layer-fullmodel](https://developers.arcgis.com/javascript/latest/assets/img/apiref/layers/buildingscenelayer-fullmodel.png)
114
+ * ![building-scene-layer-fullmodel](https://developers.arcgis.com/javascript/latest/assets/images/apiref/layers/buildingscenelayer-fullmodel.png)
115
115
  *
116
116
  * </details>
117
117
  *
@@ -141,7 +141,7 @@ export interface BuildingSceneLayerProperties extends LayerProperties, APIKeyMix
141
141
  * For example the Doors sublayer can use a [UniqueValueRenderer](https://developers.arcgis.com/javascript/latest/references/core/renderers/UniqueValueRenderer/) to render all the interior doors that need
142
142
  * replacement with a red color:
143
143
  *
144
- * [![building-scene-layer-renderer](https://developers.arcgis.com/javascript/latest/assets/img/apiref/layers/buildingscenelayer-renderer.png)](https://developers.arcgis.com/javascript/latest/sample-code/building-scene-layer-slice/)
144
+ * [![building-scene-layer-renderer](https://developers.arcgis.com/javascript/latest/assets/images/apiref/layers/buildingscenelayer-renderer.png)](https://developers.arcgis.com/javascript/latest/sample-code/building-scene-layer-slice/)
145
145
  *
146
146
  * <span id="filtering"></span>
147
147
  * ## Filtering data
@@ -356,11 +356,11 @@ export interface CSVLayerProperties extends FeatureLayerProperties, Partial<Pick
356
356
  *
357
357
  * `layer.screenSizePerspectiveEnabled = true`
358
358
  *
359
- * ![screen-size-perspective](https://developers.arcgis.com/javascript/latest/assets/img/apiref/symbols/symbols-screenSize-perspective.png)
359
+ * ![screen-size-perspective](https://developers.arcgis.com/javascript/latest/assets/images/apiref/symbols/symbols-screenSize-perspective.png)
360
360
  *
361
361
  * `layer.screenSizePerspectiveEnabled = false`
362
362
  *
363
- * ![no-screen-size-perspective](https://developers.arcgis.com/javascript/latest/assets/img/apiref/symbols/symbols-no-screenSize-perspective.png)
363
+ * ![no-screen-size-perspective](https://developers.arcgis.com/javascript/latest/assets/images/apiref/symbols/symbols-no-screenSize-perspective.png)
364
364
  *
365
365
  * > [!WARNING]
366
366
  * >
@@ -1058,11 +1058,11 @@ export default class CSVLayer extends __FeatureLayerSansType {
1058
1058
  *
1059
1059
  * `layer.screenSizePerspectiveEnabled = true`
1060
1060
  *
1061
- * ![screen-size-perspective](https://developers.arcgis.com/javascript/latest/assets/img/apiref/symbols/symbols-screenSize-perspective.png)
1061
+ * ![screen-size-perspective](https://developers.arcgis.com/javascript/latest/assets/images/apiref/symbols/symbols-screenSize-perspective.png)
1062
1062
  *
1063
1063
  * `layer.screenSizePerspectiveEnabled = false`
1064
1064
  *
1065
- * ![no-screen-size-perspective](https://developers.arcgis.com/javascript/latest/assets/img/apiref/symbols/symbols-no-screenSize-perspective.png)
1065
+ * ![no-screen-size-perspective](https://developers.arcgis.com/javascript/latest/assets/images/apiref/symbols/symbols-no-screenSize-perspective.png)
1066
1066
  *
1067
1067
  * > [!WARNING]
1068
1068
  * >
@@ -133,7 +133,7 @@ export interface CatalogLayerProperties extends LayerProperties, APIKeyMixinProp
133
133
  * You can add, update, and maintain your own fields and values in the footprint layer. You cannot remove the `footprintLayer` from the CatalogLayer.
134
134
  *
135
135
  * <figure>
136
- * <img src="https://developers.arcgis.com/javascript/latest/assets/img/apiref/layers/cataloglayer/catalog-layer.png" alt="footprint"/>
136
+ * <img src="https://developers.arcgis.com/javascript/latest/assets/images/apiref/layers/cataloglayer/catalog-layer.png" alt="footprint"/>
137
137
  * <figcaption> This image shows CatalogLayer and its footprint layer legend in the CatalogLayerList.</figcaption>
138
138
  * </figure>
139
139
  *
@@ -151,7 +151,7 @@ export interface CatalogLayerProperties extends LayerProperties, APIKeyMixinProp
151
151
  * you must add the layer to the map by calling [createLayerFromFootprint()](https://developers.arcgis.com/javascript/latest/references/core/layers/CatalogLayer/#createLayerFromFootprint) method on the parent [CatalogLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/CatalogLayer/).
152
152
  *
153
153
  * <figure>
154
- * <img src="https://developers.arcgis.com/javascript/latest/assets/img/apiref/layers/cataloglayer/dynamic-group-layer.png" alt="dynamic"/>
154
+ * <img src="https://developers.arcgis.com/javascript/latest/assets/images/apiref/layers/cataloglayer/dynamic-group-layer.png" alt="dynamic"/>
155
155
  * <figcaption> This image shows the sublayers of the CatalogDynamicGroupLayer visible on the map.</figcaption>
156
156
  * </figure>
157
157
  *
@@ -37,7 +37,7 @@ export interface FetchTileOptions extends AbortOptions {
37
37
  * can be added to the map by setting the [map's ground](https://developers.arcgis.com/javascript/latest/references/core/Map/#ground) property to `world-elevation`.
38
38
  *
39
39
  *
40
- * ![elev-default](https://developers.arcgis.com/javascript/latest/assets/img/apiref/ground/elev-default.png)
40
+ * ![elev-default](https://developers.arcgis.com/javascript/latest/assets/images/apiref/ground/elev-default.png)
41
41
  *
42
42
  * Elevation layers are set in the [Ground.layers](https://developers.arcgis.com/javascript/latest/references/core/Ground/#layers) property of a
43
43
  * [map's ground](https://developers.arcgis.com/javascript/latest/references/core/Map/#ground). They should not be added to the
@@ -1206,11 +1206,11 @@ export abstract class __FeatureLayerSansType extends FeatureLayerSuperclass {
1206
1206
  *
1207
1207
  * `layer.screenSizePerspectiveEnabled = true`
1208
1208
  *
1209
- * ![screen-size-perspective](https://developers.arcgis.com/javascript/latest/assets/img/apiref/symbols/symbols-screenSize-perspective.png)
1209
+ * ![screen-size-perspective](https://developers.arcgis.com/javascript/latest/assets/images/apiref/symbols/symbols-screenSize-perspective.png)
1210
1210
  *
1211
1211
  * `layer.screenSizePerspectiveEnabled = false`
1212
1212
  *
1213
- * ![no-screen-size-perspective](https://developers.arcgis.com/javascript/latest/assets/img/apiref/symbols/symbols-no-screenSize-perspective.png)
1213
+ * ![no-screen-size-perspective](https://developers.arcgis.com/javascript/latest/assets/images/apiref/symbols/symbols-no-screenSize-perspective.png)
1214
1214
  *
1215
1215
  * > [!WARNING]
1216
1216
  * >
@@ -15,8 +15,9 @@ import type { LayerProperties } from "./Layer.js";
15
15
  export interface GaussianSplatLayerProperties extends LayerProperties, APIKeyMixinProperties, CustomParametersMixinProperties, ScaleRangeLayerProperties, PortalLayerProperties, OperationalLayerProperties, Partial<Pick<GaussianSplatLayer, "url">> {
16
16
  /**
17
17
  * Specifies how the Gaussian Splatting scene is placed on the vertical axis (z). This property may only be used
18
- * in a [SceneView](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/). See the [ElevationInfo sample](https://developers.arcgis.com/javascript/latest/sample-code/scene-elevationinfo/)
19
- * for an example of how this property may be used.
18
+ * in a [SceneView](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/). See the
19
+ * [ElevationInfo sample](https://developers.arcgis.com/javascript/latest/sample-code/scene-elevationinfo/) for an example of how this property
20
+ * may be used.
20
21
  * > [!WARNING]
21
22
  * >
22
23
  * > This property only affects [GaussianSplatLayers](https://developers.arcgis.com/javascript/latest/references/core/layers/GaussianSplatLayer/) when using the `absolute-height` mode.
@@ -35,7 +36,8 @@ export interface GaussianSplatLayerProperties extends LayerProperties, APIKeyMix
35
36
  *
36
37
  * When loading a layer by service url, the title is derived from the service name.
37
38
  * When the layer is loaded from a portal item, the title of the portal item will be used instead.
38
- * Finally, if a layer is loaded as part of a webmap or a webscene, then the title of the layer as stored in the webmap/webscene will be used.
39
+ * Finally, if a layer is loaded as part of a webmap or a webscene, then the title of the layer as stored in the
40
+ * webmap/webscene will be used.
39
41
  *
40
42
  * @since 5.0
41
43
  */
@@ -43,13 +45,76 @@ export interface GaussianSplatLayerProperties extends LayerProperties, APIKeyMix
43
45
  }
44
46
 
45
47
  /**
46
- * The GaussianSplatLayer is designed for visualizing highly realistic complex geometry
47
- * of built and natural environments in a [SceneView](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/).
48
+ * * [Overview](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-GaussianSplatLayer.html#overview)
49
+ * * [Creating a GaussianSplatLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-GaussianSplatLayer.html#creating-a-gaussiansplat-layer)
50
+ * * [Data Visualization](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-GaussianSplatLayer.html#data-visualization)
48
51
  *
49
- * Gaussian Splat data is typically captured by an automated process from large sets of
50
- * overlapping imagery or/and from lidar survey.
52
+ * <span id="overview"></span>
53
+ * ## Overview
54
+ *
55
+ * The GaussianSplatLayer is designed for visualizing highly realistic, complex geometry of built and natural environments in a
56
+ * [SceneView](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/).
57
+ * It excels at rendering high-fidelity details, making it ideal for thin and intricate structures like powerlines, guard rails,
58
+ * and antennas in infrastructure workflows. It also captures transparency and reflections in human-made features, such as building
59
+ * windows or metal surfaces and can accurately represent vegetation and other natural features.
60
+ *
61
+ * Gaussian splatting is a technique in computer graphics that renders a 3D scene from millions of individual elements called Gaussian splats.
62
+ * They can be seen as fuzzy ellipsoids that are defined by their position, rotation, size, color, and transparency.
63
+ * Gaussian splats are optimized during a training process. When rendered together, Gaussian splats blend to form a smooth,
64
+ * photorealistic 3D representation.
65
+ *
66
+ * > [!WARNING]
67
+ * >
68
+ * > **Known Limitations**
69
+ * >
70
+ * > * Currently, Elevation Profile, Viewshed, Line of Sight, Slice and Volume Measurement are not supported.
71
+ * > * Gaussian splat layers do not cast or receive shadows.
72
+ * > * Gaussian splat layers are not guaranteed to always draw correctly in a local scene using WGS84 as spatial reference
73
+ * > (WKID 4326).
74
+ *
75
+ * <span id="creating-a-gaussiansplat-layer"></span>
76
+ * ## Creating a GaussianSplatLayer
77
+ * Gaussian splat data is generated by a highly automated process from large sets of overlapping imagery and/or from lidar surveys.
78
+ * You can use [ArcGIS Reality Studio](https://doc.esri.com/en/arcgis-reality-studio/latest/),
79
+ * [ArcGIS Drone2Map](https://doc.arcgis.com/en/drone2map/latest/get-started/what-is-drone2map.htm), and
80
+ * [ArcGIS Reality for ArcGIS Pro](https://pro.arcgis.com/en/pro-app/latest/help/data/imagery/introduction-to-arcgis-reality-extension.htm)
81
+ * to create a Gaussian splat dataset.
82
+ *
83
+ * From ArcGIS Pro, you can author a Gaussian splat layer and share it to ArcGIS Online or ArcGIS Enterprise 12.1 or newer.
84
+ * In addition, you can upload a 3TZ file (3D Tiles Package).
85
+ *
86
+ * The Scene Service is identified by the [url](https://developers.arcgis.com/javascript/latest/references/core/layers/GaussianSplatLayer/#url) or [portalItem](https://developers.arcgis.com/javascript/latest/references/core/layers/GaussianSplatLayer/#portalItem)
87
+ * property and can be used to create an instance of a Gaussian splat layer:
88
+ *
89
+ * ```js
90
+ * let gaussianSplatLayer = new GaussianSplatLayer({
91
+ * url: "https://tiles.arcgis.com/tiles/V6ZHFr6zdgNZuVG0/arcgis/rest/services/Portcoast_industrial/3DTilesServer/tileset.json"
92
+ * });
93
+ * ```
94
+ *
95
+ * ```js
96
+ * let gaussianSplatLayer = new GaussianSplatLayer({
97
+ * portalItem: {
98
+ * id: "01596d71a5ce40ec8a6f21baad6e5b6f"
99
+ * }
100
+ * });
101
+ * ```
102
+ *
103
+ * <span id="data-visualization"></span>
104
+ * ## Data Visualization
105
+ * Besides human-made structures, natural objects such as vegetation can be visualized with high fidelity. This includes details like tree leaves,
106
+ * enabling classification of tree species or other types of vegetation.
107
+ *
108
+ * A Gaussian splat layer is a 3D layer that can be visualized in either a local or global scene. For example, if you create a Gaussian splat layer in a
109
+ * projected coordinate system, you can visualize it in a local scene using the same projected coordinate system.
110
+ * Since Gaussian splat layers support the
111
+ * [ESRI_CRS](https://github.com/Esri/3D-tiles-layer/blob/main/ESRI_CRS/Esri_crs_extension.md) extension, you can also visualize the same Gaussian splat layer
112
+ * in a global scene that uses the geodetic coordinate system WGS84.
113
+ *
114
+ * You can visualize and explore other layers such as feature, imagery, and other 3D layers together with the Gaussian splat layer in your scene.
51
115
  *
52
116
  * @since 5.0
117
+ * @see [Sample - GaussianSplatLayer](https://developers.arcgis.com/javascript/latest/sample-code/layers-gaussiansplatlayer/)
53
118
  * @see [SceneView](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/)
54
119
  * @see [Map](https://developers.arcgis.com/javascript/latest/references/core/Map/)
55
120
  */
@@ -58,8 +123,9 @@ export default class GaussianSplatLayer extends GaussianSplatLayerSuperclass {
58
123
  constructor(properties?: GaussianSplatLayerProperties);
59
124
  /**
60
125
  * Specifies how the Gaussian Splatting scene is placed on the vertical axis (z). This property may only be used
61
- * in a [SceneView](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/). See the [ElevationInfo sample](https://developers.arcgis.com/javascript/latest/sample-code/scene-elevationinfo/)
62
- * for an example of how this property may be used.
126
+ * in a [SceneView](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/). See the
127
+ * [ElevationInfo sample](https://developers.arcgis.com/javascript/latest/sample-code/scene-elevationinfo/) for an example of how this property
128
+ * may be used.
63
129
  * > [!WARNING]
64
130
  * >
65
131
  * > This property only affects [GaussianSplatLayers](https://developers.arcgis.com/javascript/latest/references/core/layers/GaussianSplatLayer/) when using the `absolute-height` mode.
@@ -80,7 +146,8 @@ export default class GaussianSplatLayer extends GaussianSplatLayerSuperclass {
80
146
  *
81
147
  * When loading a layer by service url, the title is derived from the service name.
82
148
  * When the layer is loaded from a portal item, the title of the portal item will be used instead.
83
- * Finally, if a layer is loaded as part of a webmap or a webscene, then the title of the layer as stored in the webmap/webscene will be used.
149
+ * Finally, if a layer is loaded as part of a webmap or a webscene, then the title of the layer as stored in the
150
+ * webmap/webscene will be used.
84
151
  *
85
152
  * @since 5.0
86
153
  */
@@ -666,7 +666,7 @@ export interface GeoJSONLayerEvents extends EditBusLayerEvents, RefreshableLayer
666
666
  *
667
667
  * @since 4.11
668
668
  * @see [Sample - Add GeoJSONLayer to your Map](https://developers.arcgis.com/javascript/latest/sample-code/layers-geojson/)
669
- * @see [Sample - Filter features with TimeSlider](https://developers.arcgis.com/javascript/latest/sample-code/timeslider-filter/)
669
+ * @see [Sample - Filter features with TimeSlider](https://developers.arcgis.com/javascript/latest/sample-code/timeslider-component-filter/)
670
670
  * @see [Sample - GeoJSONLayer with dynamic URL](https://developers.arcgis.com/javascript/latest/sample-code/layers-geojson-refresh/)
671
671
  * @see [Query and filter guide](https://developers.arcgis.com/javascript/latest/query-filter/)
672
672
  * @see [GeoJSONLayerView](https://developers.arcgis.com/javascript/latest/references/core/views/layers/GeoJSONLayerView/)
@@ -1116,11 +1116,11 @@ export default class GeoJSONLayer extends GeoJSONLayerSuperclass {
1116
1116
  *
1117
1117
  * `layer.screenSizePerspectiveEnabled = true`
1118
1118
  *
1119
- * ![screen-size-perspective](https://developers.arcgis.com/javascript/latest/assets/img/apiref/symbols/symbols-screenSize-perspective.png)
1119
+ * ![screen-size-perspective](https://developers.arcgis.com/javascript/latest/assets/images/apiref/symbols/symbols-screenSize-perspective.png)
1120
1120
  *
1121
1121
  * `layer.screenSizePerspectiveEnabled = false`
1122
1122
  *
1123
- * ![no-screen-size-perspective](https://developers.arcgis.com/javascript/latest/assets/img/apiref/symbols/symbols-no-screenSize-perspective.png)
1123
+ * ![no-screen-size-perspective](https://developers.arcgis.com/javascript/latest/assets/images/apiref/symbols/symbols-no-screenSize-perspective.png)
1124
1124
  *
1125
1125
  * > [!WARNING]
1126
1126
  * >
@@ -60,7 +60,7 @@ export interface GeoRSSLayerProperties extends LayerProperties, ScaleRangeLayerP
60
60
  * publicly accessible on the internet. If the GeoRSS files are behind the firewall you must to set the
61
61
  * [esriConfig.geoRSSServiceUrl](https://developers.arcgis.com/javascript/latest/references/core/config/#Config-geoRSSServiceUrl) to your own utility service (requires ArcGIS Enterprise).
62
62
  *
63
- * [![georss-sample](https://developers.arcgis.com/javascript/latest/assets/img/apiref/layers/layers-georss.png)](https://developers.arcgis.com/javascript/latest/sample-code/layers-georss/)
63
+ * [![georss-sample](https://developers.arcgis.com/javascript/latest/assets/images/apiref/layers/layers-georss.png)](https://developers.arcgis.com/javascript/latest/sample-code/layers-georss/)
64
64
  *
65
65
  * > [!WARNING]
66
66
  * >
@@ -182,11 +182,11 @@ export default class GraphicsLayer extends GraphicsLayerSuperclass {
182
182
  *
183
183
  * `layer.screenSizePerspectiveEnabled = true`
184
184
  *
185
- * ![screen-size-perspective](https://developers.arcgis.com/javascript/latest/assets/img/apiref/symbols/symbols-screenSize-perspective.png)
185
+ * ![screen-size-perspective](https://developers.arcgis.com/javascript/latest/assets/images/apiref/symbols/symbols-screenSize-perspective.png)
186
186
  *
187
187
  * `layer.screenSizePerspectiveEnabled = false`
188
188
  *
189
- * ![no-screen-size-perspective](https://developers.arcgis.com/javascript/latest/assets/img/apiref/symbols/symbols-no-screenSize-perspective.png)
189
+ * ![no-screen-size-perspective](https://developers.arcgis.com/javascript/latest/assets/images/apiref/symbols/symbols-no-screenSize-perspective.png)
190
190
  *
191
191
  * > [!WARNING]
192
192
  * >
@@ -70,7 +70,7 @@ export interface ImageryLayerEvents extends RefreshableLayerEvents, LayerEvents
70
70
  * rasters in the catalog. An image service supports dynamic access and tiled access. Dynamic access provides more functionalities,
71
71
  * and tiled access provides faster and more scalable access to precooked tiles.
72
72
  *
73
- * [![layers-imagery](https://developers.arcgis.com/javascript/latest/assets/img/apiref/layers/imagery/layers-imagery.png)](https://developers.arcgis.com/javascript/latest/sample-code/layers-imagery-pixelvalues/)
73
+ * [![layers-imagery](https://developers.arcgis.com/javascript/latest/assets/images/apiref/layers/imagery/layers-imagery.png)](https://developers.arcgis.com/javascript/latest/sample-code/layers-imagery-pixelvalues/)
74
74
  *
75
75
  * If the image service is requested from a different domain, a [CORS enabled server](https://developers.arcgis.com/javascript/latest/cors/) or a
76
76
  * [proxy](https://developers.arcgis.com/javascript/latest/proxies/) is required.
@@ -133,7 +133,7 @@ export interface ImageryLayerEvents extends RefreshableLayerEvents, LayerEvents
133
133
  * As illustrated in the graphic below, multidimensional data can show sea temperature (variable) for a specific area at multiple time and depth dimensions.
134
134
  * This information is stored as slices, where the service has a slice for each unique combination of dimension values and variable names.
135
135
  *
136
- * [![layers-imagery](https://developers.arcgis.com/javascript/latest/assets/img/apiref/layers/imagery/multidimensional-data.png)](https://developers.arcgis.com/javascript/latest/sample-code/layers-hosted-imagerytilelayer/)
136
+ * [![layers-imagery](https://developers.arcgis.com/javascript/latest/assets/images/apiref/layers/imagery/multidimensional-data.png)](https://developers.arcgis.com/javascript/latest/sample-code/layers-hosted-imagerytilelayer/)
137
137
  *
138
138
  * <details>
139
139
  * <summary>Read More</summary>
@@ -221,7 +221,7 @@ export interface ImageryLayerEvents extends RefreshableLayerEvents, LayerEvents
221
221
  * purple borders are slices included in the layer's `multidimensionalSubset`. The slice with the red border is the `multidimensionalDefinition` of the layer and
222
222
  * what is visible on the map. The layer's `multidimensionalDefinition` must fall within the `multidimensionalSubset`, otherwise nothing will be displayed in the map.
223
223
  *
224
- * [![layers-imagery](https://developers.arcgis.com/javascript/latest/assets/img/apiref/layers/imagery/multidimensionalsubset.png)](https://developers.arcgis.com/javascript/latest/sample-code/layers-imagery-multidimensional/)
224
+ * [![layers-imagery](https://developers.arcgis.com/javascript/latest/assets/images/apiref/layers/imagery/multidimensionalsubset.png)](https://developers.arcgis.com/javascript/latest/sample-code/layers-imagery-multidimensional/)
225
225
  *
226
226
  * </details>
227
227
  *
@@ -358,7 +358,7 @@ export interface ImageryTileLayerProperties extends LayerProperties, Refreshable
358
358
  * As illustrated in the graphic below, multidimensional data can show sea temperature (variable) for a specific area at multiple time and depth dimensions.
359
359
  * This information is stored as slices, where the service has a slice for each unique combination of dimension values and variable names.
360
360
  *
361
- * [![layers-imagery](https://developers.arcgis.com/javascript/latest/assets/img/apiref/layers/imagery/multidimensional-data.png)](https://developers.arcgis.com/javascript/latest/sample-code/layers-hosted-imagerytilelayer/)
361
+ * [![layers-imagery](https://developers.arcgis.com/javascript/latest/assets/images/apiref/layers/imagery/multidimensional-data.png)](https://developers.arcgis.com/javascript/latest/sample-code/layers-hosted-imagerytilelayer/)
362
362
  *
363
363
  * <details>
364
364
  * <summary>Read More</summary>
@@ -435,7 +435,7 @@ export interface ImageryTileLayerProperties extends LayerProperties, Refreshable
435
435
  * purple borders are slices included in the layer's `multidimensionalSubset`. The slice with the red border is the `multidimensionalDefinition` of the layer and
436
436
  * what is visible on the map. The layer's `multidimensionalDefinition` must fall within the `multidimensionalSubset`, otherwise nothing will be displayed in the map.
437
437
  *
438
- * [![layers-imagery](https://developers.arcgis.com/javascript/latest/assets/img/apiref/layers/imagery/multidimensionalsubset.png)](https://developers.arcgis.com/javascript/latest/sample-code/layers-imagery-multidimensional/)
438
+ * [![layers-imagery](https://developers.arcgis.com/javascript/latest/assets/images/apiref/layers/imagery/multidimensionalsubset.png)](https://developers.arcgis.com/javascript/latest/sample-code/layers-imagery-multidimensional/)
439
439
  *
440
440
  * </details>
441
441
  *
@@ -37,9 +37,9 @@ export interface IntegratedMesh3DTilesLayerProperties extends LayerProperties, A
37
37
  *
38
38
  * Illustration | Modification | Description
39
39
  * ------|------------|--------
40
- * <img src="https://developers.arcgis.com/javascript/latest/assets/img/apiref/layers/modification-clip.png" alt="modification-type-clip" style="width:100px;"/>| <b>clip</b> - removes selected area | Clip-out portions of the integrated mesh to see features below. For example, utility work on gas or water lines in an area. Planners can create a scene in which the integrated mesh is clipped out at a site to expose the water or gas lines below it.
41
- * <img src="https://developers.arcgis.com/javascript/latest/assets/img/apiref/layers/modification-mask.png" alt="modification-type-mask" style="width:100px;"/> | <b>mask</b> - displays only selected area | Define an area of interest. Use a polygon and draw only parts of the integrated mesh inside that polygon. For example, if you want to show only a portion of an integrated mesh within the boundaries of a city.
42
- * <img src="https://developers.arcgis.com/javascript/latest/assets/img/apiref/layers/modification-replace.png" alt="modification-type-replace" style="width:100px;"/> | <b>replace</b> - flattens selected area |Replace an area of an integrated mesh based on a 3D polygon. For example, to add constructed buildings, flatten the integrated mesh at the footprint of a building so the new building can be visualized. Create different scenarios of the new construction area and share the scenarios as a web scene to discuss with stakeholders. The integrated mesh flattens to the minimum z-vertex of the modification polygon.
40
+ * <img src="https://developers.arcgis.com/javascript/latest/assets/images/apiref/layers/modification-clip.png" alt="modification-type-clip" style="width:100px;"/>| <b>clip</b> - removes selected area | Clip-out portions of the integrated mesh to see features below. For example, utility work on gas or water lines in an area. Planners can create a scene in which the integrated mesh is clipped out at a site to expose the water or gas lines below it.
41
+ * <img src="https://developers.arcgis.com/javascript/latest/assets/images/apiref/layers/modification-mask.png" alt="modification-type-mask" style="width:100px;"/> | <b>mask</b> - displays only selected area | Define an area of interest. Use a polygon and draw only parts of the integrated mesh inside that polygon. For example, if you want to show only a portion of an integrated mesh within the boundaries of a city.
42
+ * <img src="https://developers.arcgis.com/javascript/latest/assets/images/apiref/layers/modification-replace.png" alt="modification-type-replace" style="width:100px;"/> | <b>replace</b> - flattens selected area |Replace an area of an integrated mesh based on a 3D polygon. For example, to add constructed buildings, flatten the integrated mesh at the footprint of a building so the new building can be visualized. Create different scenarios of the new construction area and share the scenarios as a web scene to discuss with stakeholders. The integrated mesh flattens to the minimum z-vertex of the modification polygon.
43
43
  *
44
44
  * > [!WARNING]
45
45
  * >
@@ -136,9 +136,9 @@ export default class IntegratedMesh3DTilesLayer extends IntegratedMesh3DTilesLay
136
136
  *
137
137
  * Illustration | Modification | Description
138
138
  * ------|------------|--------
139
- * <img src="https://developers.arcgis.com/javascript/latest/assets/img/apiref/layers/modification-clip.png" alt="modification-type-clip" style="width:100px;"/>| <b>clip</b> - removes selected area | Clip-out portions of the integrated mesh to see features below. For example, utility work on gas or water lines in an area. Planners can create a scene in which the integrated mesh is clipped out at a site to expose the water or gas lines below it.
140
- * <img src="https://developers.arcgis.com/javascript/latest/assets/img/apiref/layers/modification-mask.png" alt="modification-type-mask" style="width:100px;"/> | <b>mask</b> - displays only selected area | Define an area of interest. Use a polygon and draw only parts of the integrated mesh inside that polygon. For example, if you want to show only a portion of an integrated mesh within the boundaries of a city.
141
- * <img src="https://developers.arcgis.com/javascript/latest/assets/img/apiref/layers/modification-replace.png" alt="modification-type-replace" style="width:100px;"/> | <b>replace</b> - flattens selected area |Replace an area of an integrated mesh based on a 3D polygon. For example, to add constructed buildings, flatten the integrated mesh at the footprint of a building so the new building can be visualized. Create different scenarios of the new construction area and share the scenarios as a web scene to discuss with stakeholders. The integrated mesh flattens to the minimum z-vertex of the modification polygon.
139
+ * <img src="https://developers.arcgis.com/javascript/latest/assets/images/apiref/layers/modification-clip.png" alt="modification-type-clip" style="width:100px;"/>| <b>clip</b> - removes selected area | Clip-out portions of the integrated mesh to see features below. For example, utility work on gas or water lines in an area. Planners can create a scene in which the integrated mesh is clipped out at a site to expose the water or gas lines below it.
140
+ * <img src="https://developers.arcgis.com/javascript/latest/assets/images/apiref/layers/modification-mask.png" alt="modification-type-mask" style="width:100px;"/> | <b>mask</b> - displays only selected area | Define an area of interest. Use a polygon and draw only parts of the integrated mesh inside that polygon. For example, if you want to show only a portion of an integrated mesh within the boundaries of a city.
141
+ * <img src="https://developers.arcgis.com/javascript/latest/assets/images/apiref/layers/modification-replace.png" alt="modification-type-replace" style="width:100px;"/> | <b>replace</b> - flattens selected area |Replace an area of an integrated mesh based on a 3D polygon. For example, to add constructed buildings, flatten the integrated mesh at the footprint of a building so the new building can be visualized. Create different scenarios of the new construction area and share the scenarios as a web scene to discuss with stakeholders. The integrated mesh flattens to the minimum z-vertex of the modification polygon.
142
142
  *
143
143
  * > [!WARNING]
144
144
  * >
@@ -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"../request.js";import o from"../core/Error.js";import has from"../core/has.js";import r from"../core/Logger.js";import{MultiOriginJSONSupportMixin as i}from"../core/MultiOriginJSONSupport.js";import{throwIfAbortError as s}from"../core/promiseUtils.js";import{on as n,sync as a}from"../core/reactiveUtils.js";import{property as l,subclass as p}from"../core/accessorSupport/decorators.js";import{persistable as m}from"../core/accessorSupport/decorators/persistable.js";import c from"../geometry/Extent.js";import d from"../geometry/SpatialReference.js";import h from"./Layer.js";import{APIKeyMixin as u}from"./mixins/APIKeyMixin.js";import{ArcGISService as f}from"./mixins/ArcGISService.js";import{CustomParametersMixin as y}from"./mixins/CustomParametersMixin.js";import{OperationalLayer as g}from"./mixins/OperationalLayer.js";import{PortalLayer as S}from"./mixins/PortalLayer.js";import{ScaleRangeLayer as _}from"./mixins/ScaleRangeLayer.js";import{elevationInfo as v,url as j}from"./support/commonProperties.js";import T from"./support/SceneModifications.js";import{default3DTilesSpatialReference as L,default3DTilesFullExtent as w,initFullExtent as b}from"./support/tiles3DUtils.js";import x from"../portal/Portal.js";import{logInvalidElevationInfoWarning as P,elevationModeRequiredMessage as I,featureExpressionUnsupportedMessage as k}from"../support/elevationInfoUtils.js";import{f as R}from"../chunks/persistableUrlUtils.js";import{isBasemap as D}from"../support/userTypeGuards/isBasemap.js";import{initialize as E,switchMeshModificationPolygonVCSSync as U}from"../views/3d/layers/Lyr3DWorker.js";import{toWasmModification as O,fromWasmModification as A}from"../views/3d/layers/SceneLayerWorkerHandle.js";import{reader as M}from"../core/accessorSupport/decorators/reader.js";let q=class extends(f(g(S(_(i(y(u(h)))))))){readModifications(e,t,o){this._modificationsSource={url:R(e,o),context:o}}initialize(){this.addHandles(n(()=>this.modifications,"after-changes",()=>this.modifications=this.modifications,a))}constructor(e){super(e),this.operationalLayerType="IntegratedMesh3DTilesLayer",this.modifications=null,this._modificationsSource=null,this.spatialReference=L,this.fullExtent=w,this.url=null,this.type="integrated-mesh-3dtiles",this.path=null,this.minScale=0,this.maxScale=0,this._rootTilesetJSON=null,this._rootTileset=null,this._key=null,this._session=null,this._rootRequestPromise=null,this.queryElevationCallback=null}set elevationInfo(e){null!=e&&"absolute-height"!==e.mode||this._set("elevationInfo",e),this._validateElevationInfo(e)}async load(e){return this.addResolvingPromise(this._doLoad(e)),this}get rootTilesetJSON(){return this._rootTilesetJSON}get rootTileset(){return this._rootTileset}get key(){return this._key}get session(){return this._session}_findSessionParameter(e){const t=[e];for(;t?.length>0;){const e=t.pop();if(!e)return;for(const[r,i]of Object.entries(e)){if("uri"===r)try{const e=new URL("https://tmp"+i).searchParams.get("session");if(e)return e}catch(o){}"object"==typeof i&&null!==i&&t.push(i)}}return null}async requestRootAndSession(e){const i=(e,t)=>new o("3dtiles-init:"+e,t);return this._rootRequestPromise||(this._rootRequestPromise=new Promise((o,n)=>{this.url||n(i("url-missing","Layer url missing")),this._key=this.customParameters?this.customParameters.key:null;new Promise((e,o)=>{if(this.replacesTerrain&&!this._key){const r=this.portalItem?.portal||this.parent?.portalItem?.portal||x.getDefault();r.signIn().then(()=>{r.g3dTilesEnabled?t(r.restUrl+"/portals/self/modules/g3dtiles",{responseType:"json",query:{f:"json"}}).then(t=>{this._key=t.data.keyString,e()},()=>o(i("g3dtiles-key-error","Error fetching Google 3D Tiles key from portal"))):o(i("g3dTilesEnabled-false","Google 3D Tiles are not enabled on Portal "+r.url))},()=>o(i("sign-in-failed","Error signing in to Portal")))}else e()}).then(()=>{t(this.url,{query:this._key?{key:this._key,token:this.apiKey}:{token:this.apiKey},responseType:"array-buffer",signal:e}).then(e=>{try{this._rootTilesetJSON=JSON.parse((new TextDecoder).decode(e.data))}catch(t){return void n(i("root-parse-failed","Error parsing root tile, details: "+t))}this._rootTilesetJSON?(this._session=this._findSessionParameter(this._rootTilesetJSON),this._rootTileset=e.data,this.fullExtent=b(this._rootTilesetJSON),o(),this._rootRequestPromise=null):n(i("root-is-null","Root tile is null."))},e=>{s(e),n(i("root-load-failed","Error loading root tile")),this._rootRequestPromise=null,r.getLogger("IntegratedMesh3DTilesLayer").error("Layer loading failed",e)})},e=>n(e))})),this._rootRequestPromise}async _doLoad(e){const t=null!=e?e.signal:null;if(this.isUsedAsGroundLayer&&!has("enable-feature:basemap-groundlayers"))throw new o("3dtiles-init:not-supported-in-groundlayers","Layer is not supported in basemap.");try{await this.loadFromPortal({supportedTypes:["3DTiles Service"],validateItem:e=>{if(e.typeKeywords?.includes("IntegratedMesh"))return!0;throw new o("portal:invalid-layer-item-type","Invalid layer item, expected '${expectedType}' ",{expectedType:"3DTiles Service containing IntegratedMesh"})}},e)}catch(i){s(i)}if(null!=this._modificationsSource){const t=await T.fromUrl(this._modificationsSource.url,this.spatialReference,e);if(t&&t.length>0){const e=e=>r.getLogger(this).error("convert-mesh-modification-z-error","Error when converting:",e);E().then(()=>{const e=O(null,t.toArray(),this.spatialReference),o=U({modifications:e,inVCS:115700});o.success&&o.modifications&&A(o.modifications,t),null!=this._modificationsSource&&this.setAtOrigin("modifications",t,this._modificationsSource.context.origin),this._modificationsSource=null}).catch(e)}}await this.requestRootAndSession(t)}beforeSave(){if(null==this._modificationsSource){const e=this.modifications;if(e&&e.length>0){const t=e=>r.getLogger(this).error("convert-mesh-modification-z-error","Error when converting:",e);E().then(()=>{const t=O(null,e.toArray(),this.spatialReference),o=U({modifications:t,inVCS:5773});o.success&&o.modifications&&A(o.modifications,e)}).catch(t)}return}return this.load().then(()=>{},()=>{})}get hasAttributionData(){return!1}_validateElevationInfo(e){const t="Integrated mesh 3d tiles layers";P(r.getLogger(this),I(t,"absolute-height",e)),P(r.getLogger(this),k(t,e))}get replacesTerrain(){return!!has("enable-feature:basemap-groundlayers")&&this.hasGoogleUrl&&this.isUsedAsGroundLayer}get isUsedAsGroundLayer(){return D(this.parent)}get hasGoogleUrl(){return!!this.url?.match(/.+\.googleapis.com/)}};e([l({type:["IntegratedMesh3DTilesLayer"]})],q.prototype,"operationalLayerType",void 0),e([l({type:T,clonable:e=>e.clone()}),m({origins:["web-scene","portal-item"],type:"resource",prefix:"modifications"})],q.prototype,"modifications",void 0),e([M(["web-scene","portal-item"],"modifications")],q.prototype,"readModifications",null),e([l({type:d})],q.prototype,"spatialReference",void 0),e([l({type:c})],q.prototype,"fullExtent",void 0),e([l(v)],q.prototype,"elevationInfo",null),e([l({type:["show","hide"]})],q.prototype,"listMode",void 0),e([l(j)],q.prototype,"url",void 0),e([l({readOnly:!0})],q.prototype,"type",void 0),e([l({type:String,json:{origins:{"web-scene":{read:!0,write:!0},"portal-item":{read:!0,write:!0}},read:!1}})],q.prototype,"path",void 0),e([l({type:Number,json:{name:"layerDefinition.minScale",write:!0,origins:{service:{read:!1,write:!1}}}})],q.prototype,"minScale",void 0),e([l({type:Number,json:{name:"layerDefinition.maxScale",write:!0,origins:{service:{read:!1,write:!1}}}})],q.prototype,"maxScale",void 0),e([l({readOnly:!0})],q.prototype,"hasAttributionData",null),e([l()],q.prototype,"replacesTerrain",null),e([l()],q.prototype,"isUsedAsGroundLayer",null),e([l()],q.prototype,"hasGoogleUrl",null),q=e([p("esri.layers.IntegratedMesh3DTilesLayer")],q);const G=q;export{G as default};
2
+ import{__decorate as e}from"tslib";import t from"../request.js";import r from"../core/Error.js";import has from"../core/has.js";import i from"../core/Logger.js";import{MultiOriginJSONSupportMixin as o}from"../core/MultiOriginJSONSupport.js";import{throwIfAbortError as s}from"../core/promiseUtils.js";import{on as n,sync as a}from"../core/reactiveUtils.js";import{property as l,subclass as p}from"../core/accessorSupport/decorators.js";import{persistable as m}from"../core/accessorSupport/decorators/persistable.js";import c from"../geometry/Extent.js";import d from"../geometry/SpatialReference.js";import h from"./Layer.js";import{APIKeyMixin as u}from"./mixins/APIKeyMixin.js";import{ArcGISService as f}from"./mixins/ArcGISService.js";import{CustomParametersMixin as y}from"./mixins/CustomParametersMixin.js";import{OperationalLayer as g}from"./mixins/OperationalLayer.js";import{PortalLayer as S}from"./mixins/PortalLayer.js";import{ScaleRangeLayer as _}from"./mixins/ScaleRangeLayer.js";import{elevationInfo as v,url as j}from"./support/commonProperties.js";import T from"./support/SceneModifications.js";import{default3DTilesSpatialReference as w,default3DTilesFullExtent as L,initFullExtent as b}from"./support/tiles3DUtils.js";import x from"../portal/Portal.js";import{logInvalidElevationInfoWarning as P,elevationModeRequiredMessage as I,featureExpressionUnsupportedMessage as k}from"../support/elevationInfoUtils.js";import{f as R}from"../chunks/persistableUrlUtils.js";import{isBasemap as D}from"../support/userTypeGuards/isBasemap.js";import{initialize as E,switchMeshModificationPolygonVCSSync as U}from"../views/3d/layers/Lyr3DWorker.js";import{toWasmModification as O,fromWasmModification as A}from"../views/3d/layers/SceneLayerWorkerHandle.js";import{reader as M}from"../core/accessorSupport/decorators/reader.js";let q=class extends(f(g(S(_(o(y(u(h)))))))){readModifications(e,t,r){this._modificationsSource={url:R(e,r),context:r}}initialize(){this.addHandles(n(()=>this.modifications,"after-changes",()=>this.modifications=this.modifications,a))}constructor(e){super(e),this.operationalLayerType="IntegratedMesh3DTilesLayer",this.modifications=null,this._modificationsSource=null,this.spatialReference=w,this.fullExtent=L,this.url=null,this.type="integrated-mesh-3dtiles",this.path=null,this.minScale=0,this.maxScale=0,this._rootTilesetJSON=null,this._rootTileset=null,this._key=null,this._session=null,this._rootRequestPromise=null,this.queryElevationCallback=null}set elevationInfo(e){null!=e&&"absolute-height"!==e.mode||this._set("elevationInfo",e),this._validateElevationInfo(e)}async load(e){return this.addResolvingPromise(this._doLoad(e)),this}get rootTilesetJSON(){return this._rootTilesetJSON}get rootTileset(){return this._rootTileset}get key(){return this._key}get session(){return this._session}_findSessionParameter(e){const t=[e];for(;t?.length>0;){const e=t.pop();if(!e)return;for(const[i,o]of Object.entries(e)){if("uri"===i)try{const e=new URL("https://tmp"+o).searchParams.get("session");if(e)return e}catch(r){}"object"==typeof o&&null!==o&&t.push(o)}}return null}async requestRootAndSession(e){const o=(e,t)=>new r("3dtiles-init:"+e,t);return this._rootRequestPromise||(this._rootRequestPromise=new Promise((r,n)=>{this.url||n(o("url-missing","Layer url missing")),this._key=this.customParameters?this.customParameters.key:null;new Promise((e,r)=>{if(this.replacesTerrain&&!this._key){const i=this.portalItem?.portal||this.parent?.portalItem?.portal||x.getDefault();i.signIn().then(()=>{i.g3dTilesEnabled?t(i.restUrl+"/portals/self/modules/g3dtiles",{responseType:"json",query:{f:"json"}}).then(t=>{this._key=t.data.keyString,e()},()=>r(o("g3dtiles-key-error","Error fetching Google 3D Tiles key from portal"))):r(o("g3dTilesEnabled-false","Google 3D Tiles are not enabled on Portal "+i.url))},()=>r(o("sign-in-failed","Error signing in to Portal")))}else e()}).then(()=>{t(this.url,{query:this._key?{key:this._key,token:this.apiKey}:{token:this.apiKey},responseType:"array-buffer",signal:e}).then(e=>{try{this._rootTilesetJSON=JSON.parse((new TextDecoder).decode(e.data))}catch(t){return void n(o("root-parse-failed","Error parsing root tile, details: "+t))}this._rootTilesetJSON?(this._session=this._findSessionParameter(this._rootTilesetJSON),this._rootTileset=e.data,this.fullExtent=b(this._rootTilesetJSON),r(),this._rootRequestPromise=null):n(o("root-is-null","Root tile is null."))},e=>{s(e),n(o("root-load-failed","Error loading root tile")),this._rootRequestPromise=null,i.getLogger("IntegratedMesh3DTilesLayer").error("Layer loading failed",e)})},e=>n(e))})),this._rootRequestPromise}async _doLoad(e){const t=null!=e?e.signal:null;if(this.isUsedAsGroundLayer&&!has("enable-feature:basemap-groundlayers"))throw new r("3dtiles-init:not-supported-in-groundlayers","Layer is not supported in basemap.");try{await this.loadFromPortal({supportedTypes:["3DTiles Service"],validateItem:e=>{if(e.typeKeywords?.includes("IntegratedMesh"))return!0;throw new r("portal:invalid-layer-item-type","Invalid layer item, expected '${expectedType}' ",{expectedType:"3DTiles Service containing IntegratedMesh"})}},e)}catch(o){s(o)}if(null!=this._modificationsSource){const t=await T.fromUrl(this._modificationsSource.url,this.spatialReference,e);if(t&&t.length>0){await E();try{const e=O(null,t.toArray(),this.spatialReference),r=U({modifications:e,inVCS:115700});r.success&&r.modifications&&A(r.modifications,t)}catch(n){i.getLogger(this).error("convert-mesh-modification-z-error","Error when converting:",n)}null!=this._modificationsSource&&this.setAtOrigin("modifications",t,this._modificationsSource.context.origin),this._modificationsSource=null}}await this.requestRootAndSession(t)}async beforeSave(){if(null==this._modificationsSource){const{modifications:t}=this;if(t&&t.length>0){await E();try{const e=O(null,t.toArray(),this.spatialReference),r=U({modifications:e,inVCS:5773});r.success&&r.modifications&&A(r.modifications,t)}catch(e){i.getLogger(this).error("convert-mesh-modification-z-error","Error when converting:",e)}}return}await this.load().then(()=>{},()=>{})}get hasAttributionData(){return!1}_validateElevationInfo(e){const t="Integrated mesh 3d tiles layers";P(i.getLogger(this),I(t,"absolute-height",e)),P(i.getLogger(this),k(t,e))}get replacesTerrain(){return!!has("enable-feature:basemap-groundlayers")&&this.hasGoogleUrl&&this.isUsedAsGroundLayer}get isUsedAsGroundLayer(){return D(this.parent)}get hasGoogleUrl(){return!!this.url?.match(/.+\.googleapis.com/)}};e([l({type:["IntegratedMesh3DTilesLayer"]})],q.prototype,"operationalLayerType",void 0),e([l({type:T,clonable:e=>e.clone()}),m({origins:["web-scene","portal-item"],type:"resource",prefix:"modifications"})],q.prototype,"modifications",void 0),e([M(["web-scene","portal-item"],"modifications")],q.prototype,"readModifications",null),e([l({type:d})],q.prototype,"spatialReference",void 0),e([l({type:c})],q.prototype,"fullExtent",void 0),e([l(v)],q.prototype,"elevationInfo",null),e([l({type:["show","hide"]})],q.prototype,"listMode",void 0),e([l(j)],q.prototype,"url",void 0),e([l({readOnly:!0})],q.prototype,"type",void 0),e([l({type:String,json:{origins:{"web-scene":{read:!0,write:!0},"portal-item":{read:!0,write:!0}},read:!1}})],q.prototype,"path",void 0),e([l({type:Number,json:{name:"layerDefinition.minScale",write:!0,origins:{service:{read:!1,write:!1}}}})],q.prototype,"minScale",void 0),e([l({type:Number,json:{name:"layerDefinition.maxScale",write:!0,origins:{service:{read:!1,write:!1}}}})],q.prototype,"maxScale",void 0),e([l({readOnly:!0})],q.prototype,"hasAttributionData",null),e([l()],q.prototype,"replacesTerrain",null),e([l()],q.prototype,"isUsedAsGroundLayer",null),e([l()],q.prototype,"hasGoogleUrl",null),q=e([p("esri.layers.IntegratedMesh3DTilesLayer")],q);const G=q;export{G as default};
@@ -38,9 +38,9 @@ export interface IntegratedMeshLayerProperties extends LayerProperties, APIKeyMi
38
38
  *
39
39
  * Illustration | Modification | Description
40
40
  * ------|------------|--------
41
- * <img src="https://developers.arcgis.com/javascript/latest/assets/img/apiref/layers/modification-clip.png" alt="modification-type-clip" style="width:100px;"/>| <b>clip</b> - removes selected area | Clip-out portions of the integrated mesh to see features below. For example, utility work on gas or water lines in an area. Planners can create a scene in which the integrated mesh is clipped out at a site to expose the water or gas lines below it.
42
- * <img src="https://developers.arcgis.com/javascript/latest/assets/img/apiref/layers/modification-mask.png" alt="modification-type-mask" style="width:100px;"/> | <b>mask</b> - displays only selected area | Define an area of interest. Use a polygon and draw only parts of the integrated mesh inside that polygon. For example, if you want to show only a portion of an integrated mesh within the boundaries of a city.
43
- * <img src="https://developers.arcgis.com/javascript/latest/assets/img/apiref/layers/modification-replace.png" alt="modification-type-replace" style="width:100px;"/> | <b>replace</b> - flattens selected area |Replace an area of an integrated mesh based on a 3D polygon. For example, to add constructed buildings, flatten the integrated mesh at the footprint of a building so the new building can be visualized. Create different scenarios of the new construction area and share the scenarios as a web scene to discuss with stakeholders. The integrated mesh flattens to the minimum z-vertex of the modification polygon.
41
+ * <img src="https://developers.arcgis.com/javascript/latest/assets/images/apiref/layers/modification-clip.png" alt="modification-type-clip" style="width:100px;"/>| <b>clip</b> - removes selected area | Clip-out portions of the integrated mesh to see features below. For example, utility work on gas or water lines in an area. Planners can create a scene in which the integrated mesh is clipped out at a site to expose the water or gas lines below it.
42
+ * <img src="https://developers.arcgis.com/javascript/latest/assets/images/apiref/layers/modification-mask.png" alt="modification-type-mask" style="width:100px;"/> | <b>mask</b> - displays only selected area | Define an area of interest. Use a polygon and draw only parts of the integrated mesh inside that polygon. For example, if you want to show only a portion of an integrated mesh within the boundaries of a city.
43
+ * <img src="https://developers.arcgis.com/javascript/latest/assets/images/apiref/layers/modification-replace.png" alt="modification-type-replace" style="width:100px;"/> | <b>replace</b> - flattens selected area |Replace an area of an integrated mesh based on a 3D polygon. For example, to add constructed buildings, flatten the integrated mesh at the footprint of a building so the new building can be visualized. Create different scenarios of the new construction area and share the scenarios as a web scene to discuss with stakeholders. The integrated mesh flattens to the minimum z-vertex of the modification polygon.
44
44
  *
45
45
  * > [!WARNING]
46
46
  * >
@@ -91,7 +91,7 @@ export interface IntegratedMeshLayerProperties extends LayerProperties, APIKeyMi
91
91
  * include elevation information and 3D objects, such as buildings and trees. Integrated mesh layers are generally
92
92
  * created for citywide 3D mapping; they are often captured by drone and cannot be restyled.
93
93
  *
94
- * [![integratedmeshlayer](https://developers.arcgis.com/javascript/latest/assets/img/apiref/layers/integratedmeshlayer.png)](https://developers.arcgis.com/javascript/latest/sample-code/layers-integratedmeshlayer/)
94
+ * [![integratedmeshlayer](https://developers.arcgis.com/javascript/latest/assets/images/apiref/layers/integratedmeshlayer.png)](https://developers.arcgis.com/javascript/latest/sample-code/layers-integratedmeshlayer/)
95
95
  *
96
96
  * The Scene Service is identified by the URL of the ArcGIS Server REST resource:
97
97
  *
@@ -135,9 +135,9 @@ export default class IntegratedMeshLayer extends IntegratedMeshLayerSuperclass {
135
135
  *
136
136
  * Illustration | Modification | Description
137
137
  * ------|------------|--------
138
- * <img src="https://developers.arcgis.com/javascript/latest/assets/img/apiref/layers/modification-clip.png" alt="modification-type-clip" style="width:100px;"/>| <b>clip</b> - removes selected area | Clip-out portions of the integrated mesh to see features below. For example, utility work on gas or water lines in an area. Planners can create a scene in which the integrated mesh is clipped out at a site to expose the water or gas lines below it.
139
- * <img src="https://developers.arcgis.com/javascript/latest/assets/img/apiref/layers/modification-mask.png" alt="modification-type-mask" style="width:100px;"/> | <b>mask</b> - displays only selected area | Define an area of interest. Use a polygon and draw only parts of the integrated mesh inside that polygon. For example, if you want to show only a portion of an integrated mesh within the boundaries of a city.
140
- * <img src="https://developers.arcgis.com/javascript/latest/assets/img/apiref/layers/modification-replace.png" alt="modification-type-replace" style="width:100px;"/> | <b>replace</b> - flattens selected area |Replace an area of an integrated mesh based on a 3D polygon. For example, to add constructed buildings, flatten the integrated mesh at the footprint of a building so the new building can be visualized. Create different scenarios of the new construction area and share the scenarios as a web scene to discuss with stakeholders. The integrated mesh flattens to the minimum z-vertex of the modification polygon.
138
+ * <img src="https://developers.arcgis.com/javascript/latest/assets/images/apiref/layers/modification-clip.png" alt="modification-type-clip" style="width:100px;"/>| <b>clip</b> - removes selected area | Clip-out portions of the integrated mesh to see features below. For example, utility work on gas or water lines in an area. Planners can create a scene in which the integrated mesh is clipped out at a site to expose the water or gas lines below it.
139
+ * <img src="https://developers.arcgis.com/javascript/latest/assets/images/apiref/layers/modification-mask.png" alt="modification-type-mask" style="width:100px;"/> | <b>mask</b> - displays only selected area | Define an area of interest. Use a polygon and draw only parts of the integrated mesh inside that polygon. For example, if you want to show only a portion of an integrated mesh within the boundaries of a city.
140
+ * <img src="https://developers.arcgis.com/javascript/latest/assets/images/apiref/layers/modification-replace.png" alt="modification-type-replace" style="width:100px;"/> | <b>replace</b> - flattens selected area |Replace an area of an integrated mesh based on a 3D polygon. For example, to add constructed buildings, flatten the integrated mesh at the footprint of a building so the new building can be visualized. Create different scenarios of the new construction area and share the scenarios as a web scene to discuss with stakeholders. The integrated mesh flattens to the minimum z-vertex of the modification polygon.
141
141
  *
142
142
  * > [!WARNING]
143
143
  * >
package/layers/Layer.d.ts CHANGED
@@ -133,6 +133,7 @@ export interface FromArcGISServerUrlParameters {
133
133
  * [BaseTileLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/BaseTileLayer/) | ArcGIS MapServer, ArcGIS portal item | Image tiles | This class may be extended to create custom tile layers | No editing, client-side rendering, or popup templates; some schema limitations in 3D views.
134
134
  * [VectorTileLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/VectorTileLayer/) | ArcGIS portal item | Points, polylines, and polygons rendered as vector tiles | Features may be styled client-side and used as a tiled basemap | No editing, client-side rendering, or popup templates.
135
135
  * [IntegratedMeshLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/IntegratedMeshLayer/) or [IntegratedMesh3DTilesLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/IntegratedMesh3DTilesLayer/) | ArcGIS SceneServer, ArcGIS portal item | triangulated mesh with texture | Displays 3D objects with a high level of detail | No 2D support
136
+ * [GaussianSplatLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/GaussianSplatLayer/) | ArcGIS portal item | Gaussian splats | Displays highly realistic complex geometry | No 2D support
136
137
  * [VoxelLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/VoxelLayer/) | ArcGIS SceneServer, ArcGIS portal item | multidimensional voxel cubes | Displays multidimensional volumetric phenomena (e.g. underground models) | No 2D support
137
138
  * [ElevationLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/ElevationLayer/) | ArcGIS ImageServer, ArcGIS portal item | Tiled elevation mesh/surface | Renders elevation surfaces in 3D views | No 2D support
138
139
  * [BaseElevationLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/BaseElevationLayer/) | ArcGIS ImageServer, ArcGIS portal item | Tiled elevation mesh/surface | This class may be extended to create custom elevation layers | No 2D support
@@ -346,6 +347,7 @@ export default abstract class Layer extends LayerSuperclass {
346
347
  * >
347
348
  * > In a 3D [SceneView](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/), modifying opacity is not supported for
348
349
  * > [DimensionLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/DimensionLayer/),
350
+ * > [GaussianSplatLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/GaussianSplatLayer/),
349
351
  * > [IntegratedMesh3DTilesLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/IntegratedMesh3DTilesLayer/),
350
352
  * > [IntegratedMeshLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/IntegratedMeshLayer/),
351
353
  * > [LineOfSightLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/LineOfSightLayer/), [PointCloudLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/PointCloudLayer/),
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import i from"../request.js";import t from"../core/Accessor.js";import s from"../core/Error.js";import r from"../core/Logger.js";import{createAbortError as a,isAborted as n,isAbortError as o}from"../core/promiseUtils.js";import{watch as l}from"../core/reactiveUtils.js";import{addFrameTask as d}from"../core/scheduling.js";import{property as h,subclass as _}from"../core/accessorSupport/decorators.js";import y from"../geometry/SpatialReference.js";import{isGeographic as c}from"../geometry/support/spatialReferenceUtils.js";import u from"../geometry/support/WKIDUnitConversion.js";import{wasmFailedToInit as g,elevQueriesFull as m,elevQueriesGenericFail as w,invalidLayerView as p}from"./ILyr3DWasmPerSceneView.js";import{Lyr3DWorkerHandle as f}from"./Lyr3DWorkerHandle.js";import{getVCSFromHeightModelInfo as b}from"./support/tiles3DUtils.js";import{loadLyr3DMainWASM as v}from"../libs/lyr3d/Lyr3DModule.js";import{getElevationOffsetInMeters as D}from"../support/elevationInfoUtils.js";import{makeScheduleFunction as M}from"../views/3d/layers/support/makeScheduleFunction.js";const L=3857,k=32662,R=4326,S=5773,C=115700;let W=class extends t{constructor(e){super(e),this._lyr3DMainPromise=null,this._lyr3DMain=null,this._layers=new Map,this._viewSR=null,this._lyr3DBusyCount=0,this._isTerrainReady=!1,this._hasLayerThatReplacesTerrain=!1,this._elevationQueries=new Map,this._debugFlags=new Set,this._debugLevel=0,this._wasmNotLoaded="method requiring WASM was called when WASM isn't loaded",this._pulseTaskHandle=null,this._cameraElevationDirty=!0,this._debugFlags.add(0),this._debugFlags.add(1),this._debugFlags.add(2)}_debugLog(e,i,t,s=!0){if(this._debugFlags.has(e)&&this._debugLevel>=i){const e=s?`[js] ${t}`:`${t}`;0===i||1===i?r.getLogger(this).error(e):2===i&&r.getLogger(this).warn(e),r.getLogger(this).info(e)}}initialize(){this._debugLevel>2&&(r.getLogger(this).level="info"),this._debugLog(0,3,"Lyr3DWasmPerSceneView.initialize()"),this.addHandles([l(()=>this.view.state?.contentCamera,()=>this._updateWasmCamera()),l(()=>this.view.state?.contentCamera.relativeElevation,()=>{this._cameraElevationDirty=!0,this._markAllLayerViewsUpdating()})]),this._pulseTaskHandle=d({preRender:()=>this._pulseTask()})}destroy(){this._debugLog(0,3,"Lyr3DWasmPerSceneView.destroy()"),this._lyr3DMain&&(this._layers.forEach(e=>{e.abortController.abort()}),this._elevationQueries.forEach((e,i)=>{this._lyr3DMain.cancel_elevation_query(i),e.rejectCallback(a())}),this._elevationQueries.clear(),this._lyr3DMain.uninitialize_lyr3d_wasm(),this._lyr3DMain=null);const e=this._workerHandle;e&&e.destroyWasm().then(()=>{this._workerHandle?.destroy(),this._workerHandle=null}),this._pulseTaskHandle?.remove(),this._pulseTaskHandle=null}addLayerView(e){return this._lyr3DMain?this._addLayerView(e):(this._debugLog(0,1,"Lyr3DWasmPerSceneView.add3DTilesLayerView() called when WASM wasn't initialized"),{wasmLayerId:g})}removeLayerView(e){if(!this._lyr3DMain)return this._debugLog(0,1,this._wasmNotLoaded),0;this._doRemoveLayerView(e);const i=this._layers.size;return 0===i&&(this._debugLog(0,3,"Lyr3DWasmPerSceneView.remove3DTilesLayerView() no Lyr3D layers left after removing a layer, destroying"),this.destroy()),i}getValidLayerViewCount(){if(!this._lyr3DMain)return this._debugLog(0,1,this._wasmNotLoaded),0;let e=0;return this._layers.forEach(i=>{i.layerView.wasmLayerId>=0&&++e}),e}setEnabled(e,i){if(!this._lyr3DMain)return void this._debugLog(0,1,this._wasmNotLoaded);const t=this._layers.get(e.wasmLayerId);if(t){this._lyr3DMain.set_enabled(e.wasmLayerId,i),t.needMemoryUsageUpdate=!0;const s=this._isUpdating(t);t.needFrame=!0,s||t.layerView.updatingFlagChanged()}}setLayerOffset(e,i){if(!this._lyr3DMain)return void this._debugLog(0,1,this._wasmNotLoaded);this._layers.get(e.wasmLayerId)&&this._lyr3DMain.set_carto_offset_z(e.wasmLayerId,i)}getAttributionText(){if(!this._lyr3DMain)return this._debugLog(0,1,this._wasmNotLoaded),[];return this._lyr3DMain.get_current_attribution_text().split("|")}onRenderableEvicted(e,i,t){if(!this._lyr3DMain)return void this._debugLog(0,1,this._wasmNotLoaded);this._layers.get(e.wasmLayerId)&&this._lyr3DMain.on_renderable_evicted(e.wasmLayerId,i,t)}setMeshModifications(e,i){if(!this._lyr3DMain)return void this._debugLog(0,1,this._wasmNotLoaded);const t=this._layers.get(e.wasmLayerId);if(t){const s=this._lyr3DMain._malloc(8*i.length),r=new Float64Array(this._lyr3DMain.HEAPF64.buffer,s,i.length);for(let e=0;e<i.length;++e)r[e]=i[e];this._lyr3DMain.set_mesh_modification_polygons(e.wasmLayerId,s,i.length),this._lyr3DMain._free(s);const a=this._isUpdating(t);t.needFrame=!0,a||t.layerView.updatingFlagChanged()}}isUpdating(e){if(!this._lyr3DMain&&this._lyr3DMainPromise)return!0;const i=this._layers.get(e);return!!i&&(i.outstandingJobCount>0||i.outstandingRenderableCount>0||i.needFrame||this._lyr3DBusyCount>0)}initializeWasm(e,i){return this._lyr3DMain?Promise.resolve():this.view.renderSpatialReference?(this._debugLog(0,3,"Lyr3DWasmPerSceneView.initializeWasm()"),this._lyr3DMainPromise||(this._lyr3DMainPromise=v().then(t=>{this._lyr3DMain=t,this._lyr3DMainPromise=null;const s=this._lyr3DMain.addFunction(this._onNewJob.bind(this),"v"),r=this._lyr3DMain.addFunction(this._onNewRenderable.bind(this),"v"),a=this._lyr3DMain.addFunction(this._freeRenderables.bind(this),"viii"),n=this._lyr3DMain.addFunction(this._setRenderableVisibility.bind(this),"viiii"),o=this._lyr3DMain.addFunction(this._onWasmError.bind(this),"viiii"),l=this._lyr3DMain.addFunction(this._onElevQueryComplete.bind(this),"vi");if(!this.view.renderSpatialReference)return void(this._lyr3DMain=null);this._viewSR=this.view.renderSpatialReference?.toJSON();const d="global"===this.view.viewingMode?5:3;if(5===d)this._viewSR.wkid=this._viewSR.latestWkid=R,this._viewSR.vcsWkid=this._viewSR.latestVcsWkid=S;else if(this.view.renderSpatialReference?.isWebMercator)this._viewSR.wkid=this._viewSR.latestWkid=L,this._viewSR.vcsWkid=this._viewSR.latestVcsWkid=S;else if(this.view.renderSpatialReference?.wkid===k)this._viewSR.wkid=this._viewSR.latestWkid=R,this._viewSR.vcsWkid=this._viewSR.latestVcsWkid=S;else if(!this._viewSR.latestVcsWkid&&!this._viewSR.vcsWkid){const e=b(this.view.heightModelInfo);if(e)this._viewSR.vcsWkid=this._viewSR.latestVcsWkid=e;else{const e=this.view.heightModelInfo?.heightModel,i=!e||"gravity-related-height"===e;this._viewSR.vcsWkid=this._viewSR.latestVcsWkid=i?S:C}}return this._lyr3DMain.initialize_lyr3d_wasm(o,s,r,a,n,l,e,i,d,this._cleanUpSR(this._makeSRWasmSerializable(this._viewSR)),Math.max(this._debugLevel,0))?(this._workerHandle=new f(M(this.view.resourceController)),this._workerHandle.promise?this._workerHandle.promise:void 0):(this._lyr3DMain=null,void this._debugLog(0,0,"Lyr3d Main WASM failed to initialize",!1))}).catch(e=>{this._debugLog(0,0,`Lyr3d WASM failed to download error = ${e}`,!1)})),this._lyr3DMainPromise):Promise.reject()}get isTerrainReady(){return this._isTerrainReady}setLodPixelThreshold(e,i){this._lyr3DMain?.set_lod_pixel_threshold(i);const t=this._layers.get(e.wasmLayerId);t&&(t.needFrame=!0)}setMaximumGaussianSplatCount(e){this._lyr3DMain.set_maximum_splat_count(e),this._layers.forEach(e=>{"gaussian-splat-3d"===e.layerView.type&&(e.needFrame=!0)})}queryElevation(e,i,t){if(!this._lyr3DMain)return Promise.reject(this._wasmNotLoaded);if(0===i.coordinates.length)return Promise.reject("no coordinates for elevation query");const s="global"===this.view.viewingMode?y.WGS84:this._viewSR.wkid===L?y.WebMercator:y.PlateCarree,r=i.projectSync(s);r&&(i=r);const a=2*i.coordinates.length,n=this._lyr3DMain._malloc(8*a),o=new Float64Array(this._lyr3DMain.HEAPF64.buffer,n,a);for(let y=0;y<i.coordinates.length;++y){const e=i.coordinates[y];o[2*y]=e.x,o[2*y+1]=e.y}const l=t?.maxGeometricError??0,d=this._lyr3DMain.create_elevation_query(e.wasmLayerId,l,n,a);if(this._lyr3DMain._free(n),d===m)return Promise.reject("max mesh elevation query limit exceeded");if(d===w)return Promise.reject("elevation query failed");const h={descriptor:i,signal:t?.signal,resolveCallback:null,rejectCallback:null},_=new Promise((e,i)=>{h.resolveCallback=e,h.rejectCallback=i});return this._elevationQueries.set(d,h),_}_checkForAbortedElevationQueries(){const e=[];this._elevationQueries.forEach((i,t)=>{n(i.signal)&&(this._lyr3DMain.cancel_elevation_query(t),i.rejectCallback(a()),e.push(t))});for(let i=0;i<e.length;++i)this._elevationQueries.delete(e[i])}_pulseTask(){if(this._lyr3DMain){if(this._cameraElevationDirty){const e=this.view.state?.contentCamera.relativeElevation;this._lyr3DMain.set_camera_elevation(e)}this._checkForAbortedElevationQueries();let e=0,i=0;this._layers.forEach(t=>{e+=t.layerView.usedMemory,i+=t.layerView.cachedMemory}),e/=1048576,i/=1048576;const t=this.view.resourceController.memoryController,s=t.usedMemory*t.maxMemory-e;this._lyr3DBusyCount=this._lyr3DMain.frame_pulse(t.memoryFactor,e,i,s,t.maxMemory),this._layers.forEach(e=>{this._cameraElevationDirty||(e.needFrame=!1),e.layerView.updatingFlagChanged()}),this._hasLayerThatReplacesTerrain&&!this._isTerrainReady&&(this._isTerrainReady=this._lyr3DMain.is_terrain_ready(),this._isTerrainReady&&this.notifyChange("isTerrainReady")),this._cameraElevationDirty=!1}}_isUpdating(e){return e.outstandingJobCount>0||e.outstandingRenderableCount>0||e.needFrame||this._lyr3DBusyCount>0}_incrementJobCount(e,i){if(i.isForElevationQuery)return;const t=this._isUpdating(e);e.outstandingJobCount+=1,t||e.layerView.updatingFlagChanged()}_decrementJobCount(e,i){if(i.isForElevationQuery)return;const t=this._isUpdating(e);e.outstandingJobCount-=1;t!==this._isUpdating(e)&&e.layerView.updatingFlagChanged()}_incrementRenderableCount(e){const i=this._isUpdating(e);e.outstandingRenderableCount+=1,i||e.layerView.updatingFlagChanged()}_decrementRenderableCount(e){const i=this._isUpdating(e);e.outstandingRenderableCount-=1;i!==this._isUpdating(e)&&e.layerView.updatingFlagChanged()}_onJobFailed(e,i,t){i.error.length&&this._debugLog(1,1,i.error,!1),this._lyr3DMain&&this._lyr3DMain.on_job_failed(t.jobId,t.desc),this._decrementJobCount(e,t)}_onJobSucceeded(e,i,t){if(this._lyr3DMain){if(e.layerView.destroyed)return void this._lyr3DMain.on_job_failed(t.jobId,t.desc);const s=i.data.byteLength,r=this._lyr3DMain._malloc(s);new Uint8Array(this._lyr3DMain.HEAPU8.buffer,r,s).set(i.data),this._lyr3DMain.on_job_completed(t.jobId,i.jobDescJson,r,s),this._lyr3DMain._free(r)}this._decrementJobCount(e,t)}_getRequestPromises(e,t,s,r){const a=[];for(const n of e){const e=new URL(n);if("integrated-mesh-3dtiles"===r.type){if(e.origin===s.origin&&e.pathname===s.pathname){if(r.rootTileset){a.push(Promise.resolve(r.rootTileset.slice()));continue}}else r.session&&e.searchParams.append("session",r.session)}a.push(i(e.toString(),t).then(e=>e.data))}return a}_getInitialPromise(e,i,t,s,r,a,n){const l=this._getRequestPromises(e.urls,i,t,s);return Promise.all(l).then(e=>(r.inputs=e,this._workerHandle.invoke(r,a))).then(e=>e).catch(i=>{let t=1;return o(i)?this._debugLog(1,2,`job ${e.jobId} was cancelled.`):n&&400===i.details?.httpStatus?(t=3,this._debugLog(1,2,"Session expired, trying to create new Session.")):this._debugLog(1,1,`job ${e.jobId} failed with error ${i}.`),{status:t,error:"",jobDescJson:"",data:new Uint8Array(0),missingInputUrls:[],inputs:[]}})}async _onNewJob(){const e=this._lyr3DMain.get_next_job(),i=this._layers.get(e.layerId);if(!i)return;this._incrementJobCount(i,e);const t=i.abortController.signal,s=i.layerView.layer,r="integrated-mesh-3dtiles"===s.type?s.key:null,a="integrated-mesh-3dtiles"===s.type?s.session:null,n={responseType:"array-buffer",signal:t,query:{...i.customParameters,token:i.apiKey,key:r}},l={id:e.jobId,inputs:[],jobDescJson:e.desc.slice(),isMissingResourceCase:!1},d=new URL(s.url),h=r=>{if(1===r.status)this._onJobFailed(i,r,e);else if(0===r.status)this._onJobSucceeded(i,r,e);else if(2===r.status){const a=this._getRequestPromises(r.missingInputUrls,n,d,s);Promise.all(a).then(e=>{l.jobDescJson=r.jobDescJson,r.originalInputs?l.inputs=r.originalInputs:l.inputs=[],l.isMissingResourceCase=!0;for(const i of e)l.inputs.push(i);return this._workerHandle.invoke(l,t)}).then(t=>{1===t.status?this._onJobFailed(i,t,e):0===t.status&&this._onJobSucceeded(i,t,e)}).catch(t=>{this._decrementJobCount(i,e),o(t)?this._debugLog(1,2,`job ${e.jobId} was cancelled.`):this._debugLog(1,1,`job ${e.jobId} failed with error ${t}.`),this._lyr3DMain&&this._lyr3DMain.on_job_failed(e.jobId,e.desc)})}};try{const i=await this._getInitialPromise(e,n,d,s,l,t,a);if(3===i.status&&"integrated-mesh-3dtiles"===s.type){a===s.session&&null!==s.session&&await s.requestRootAndSession(t);h(await this._getInitialPromise(e,n,d,s,l,t,s.session))}else h(i)}catch(_){_&&this._debugLog(1,1,_.toString(),!1),this._lyr3DMain&&this._lyr3DMain.on_job_failed(e.jobId,e.desc),this._decrementJobCount(i,e)}}_onNewRenderable(){const e=this._lyr3DMain.get_next_renderable(),{meshData:i}=e;i.data&&i.data.byteLength>0&&(i.data=i.data.slice());const t=this._layers.get(e.layerId);t&&(this._incrementRenderableCount(t),t.layerView.createRenderable(e).then(i=>{const s=i.numGaussians??0;this._lyr3DMain?.on_renderable_created(!0,e.layerId,e.handle,i.memUsageBytes,s),this._decrementRenderableCount(t)}).catch(i=>{o(i)||this._debugLog(2,1,`createRenderable failed with error ${i}.`),this._lyr3DMain?.on_renderable_created(!1,e.layerId,e.handle,0,0),this._decrementRenderableCount(t)}))}_freeRenderables(e,i,t){if(t<1)return;const s=this._layers.get(e);if(!s)return;const r=s.layerView,a=[],n=new Uint32Array(this._lyr3DMain.HEAPU32.buffer,i,t);for(let o=0;o<t;++o)a.push(n[o]);for(let o=0;o<t;++o)r.freeRenderable(a[o])}_setRenderableVisibility(e,i,t,s){if(s<1)return;const r=this._layers.get(e);if(!r)return;const a=r.layerView,n=[],o=[],l=new Uint32Array(this._lyr3DMain.HEAPU32.buffer,i,s),d=new Uint8Array(this._lyr3DMain.HEAPU8.buffer,t,s);for(let h=0;h<s;++h)n.push(l[h]),o.push(!!(1&d[h]));a.setRenderableVisibility(n,o,s)}_onWasmError(e,i,t,s){this._lyr3DMain&&this._debugLog(t,s,this._lyr3DMain.UTF8ToString(e,i),!1)}_onElevQueryComplete(e){const i=this._elevationQueries.get(e),t=this._lyr3DMain.get_elevation_query_result(e);if(i)if(t.succeeded&&t.zs){const s=t.zs.slice(),r=i.descriptor.clone();for(let e=0;e<s.length;++e)r.coordinates[e].z=s[e];this._debugLog(2,3,`Success EQ ${e}, number points ${s.length}.`),i.resolveCallback(r),this._elevationQueries.delete(e)}else i.rejectCallback(new s("elevation-query:error",t?.error??"Elevation query failed")),this._elevationQueries.delete(e);else this._debugLog(2,1,`_onElevQueryComplete called for unknown queryId ${e}.`)}_doRemoveLayerView(e){const i=this._layers.get(e.wasmLayerId);return!!i&&(i.abortController.abort(),this._lyr3DMain.remove_layer(e.wasmLayerId),this._is3DTilesIMLayerView(e)&&e.layer.replacesTerrain&&(this._hasLayerThatReplacesTerrain=!1,this._isTerrainReady=!1,this.notifyChange("isTerrainReady")),this._layers.delete(e.wasmLayerId),!0)}_is3DTilesIMLayerView(e){return"integrated-mesh-3dtiles"===e.layer.type}_isGaussianSplatLayerView(e){return"gaussian-splat"===e.layer.type}_isGaussianSplatLayer(e){return"gaussian-splat"===e.type}_toWasmQuality(e){switch(e){case"low":return 1;case"medium":return 2;case"high":return 3}}_addLayerView(e){const i=e.layer;if(!i.url||!i.rootTilesetJSON)return{wasmLayerId:p};const t="integrated-mesh-3dtiles"===i.type?0:2,s=this._lyr3DMain.validate_root_tileset(JSON.stringify(i.rootTilesetJSON),t);if(0!==s.errorCode)return{wasmLayerId:p,check:s};const a=this._lyr3DMain.get_next_layer_id(),n=new AbortController;this._layers.set(a,{layerView:e,abortController:n,needMemoryUsageUpdate:!1,outstandingJobCount:0,outstandingRenderableCount:0,customParameters:i.customParameters,apiKey:i.apiKey,needFrame:!0});const o=D(i.elevationInfo),l=this._toWasmQuality(this.view?.qualityProfile),d=e=>r.getLogger(this).error("add-spatial-reference-error","Error when adding SR:",e);let h=!1;if(this._isGaussianSplatLayerView(e)&&this._isGaussianSplatLayer(i)){let t=i.spatialReference;if(e.useEsriCrs&&i.esriCrsSpatialReference){t=i.esriCrsSpatialReference;const s=c(t);let r=1,a=1;!s&&t.wkid&&-1!==t.wkid&&(r=u.values[u[t.wkid]],a=e.metersPerVCSUnit),this._workerHandle.addSpatialReferenceInfo(this._cleanUpSR(this._makeSRWasmSerializable(t)),s,r,a).catch(d),t.vcsWkid&&this._viewSR.vcsWkid&&this._viewSR.vcsWkid!==t.vcsWkid&&this._workerHandle.addSpatialReferenceInfo(this._cleanUpSR(this._makeSRWasmSerializable(this._viewSR)),!1,1,1).catch(d)}h=this._lyr3DMain.add_gaussian_splat_layer(l,i.url,a,o)}else this._is3DTilesIMLayerView(e)&&(h=this._lyr3DMain.add_3dtiles_layer(l,i.url,a,o,e.layer.replacesTerrain),h&&e.layer.replacesTerrain&&(this._hasLayerThatReplacesTerrain=!0,this._isTerrainReady=!1,this.notifyChange("isTerrainReady")));return h?(this._updateWasmCamera(),e.updatingFlagChanged(),{wasmLayerId:a}):(this._layers.delete(a),{wasmLayerId:p})}_updateWasmCamera(){const e=this.view.state?.contentCamera;if(!e||!this._lyr3DMain)return;const{eye:i,center:t,up:s,near:r,far:a,fovY:n}=e,o=[e.viewport[2],e.viewport[3]],l=e.width/e.height;this._lyr3DMain.set_camera_parameters({eye:i,center:t,up:s,near:r,far:a,fov:n,aspectRatio:l,viewport:o}),this._markAllLayerViewsUpdating()}_markAllLayerViewsUpdating(){this._layers.forEach(e=>{const i=this._isUpdating(e);e.needFrame=!0,i||e.layerView.updatingFlagChanged()})}_makeSRWasmSerializable(e){return{wkid:e?.wkid??-1,latestWkid:e?.latestWkid??-1,vcsWkid:e?.vcsWkid??-1,latestVcsWkid:e?.latestVcsWkid??-1,wkt:e?.wkt??""}}_cleanUpSR(e){return-1===e?.wkid&&e.latestWkid&&-1!==e.latestWkid?e.wkid=e.latestWkid:-1===e?.latestWkid&&e.wkid&&-1!==e.wkid&&(e.latestWkid=e.wkid),-1===e?.vcsWkid&&e.latestVcsWkid&&-1!==e.latestVcsWkid?e.vcsWkid=e.latestVcsWkid:-1===e?.latestVcsWkid&&e.vcsWkid&&-1!==e.vcsWkid&&(e.latestVcsWkid=e.vcsWkid),e}};e([h({constructOnly:!0})],W.prototype,"view",void 0),e([h({readOnly:!0})],W.prototype,"isTerrainReady",null),W=e([_("esri.layers.Lyr3DWasmPerSceneView")],W);const V=W;export{V as default};
2
+ import{__decorate as e}from"tslib";import i from"../request.js";import t from"../core/Accessor.js";import s from"../core/Error.js";import r from"../core/Logger.js";import{createAbortError as a,isAborted as n,isAbortError as o}from"../core/promiseUtils.js";import{watch as l}from"../core/reactiveUtils.js";import{addFrameTask as d}from"../core/scheduling.js";import{property as h,subclass as _}from"../core/accessorSupport/decorators.js";import y from"../geometry/SpatialReference.js";import{isGeographic as c}from"../geometry/support/spatialReferenceUtils.js";import u from"../geometry/support/WKIDUnitConversion.js";import{wasmFailedToInit as m,elevQueriesFull as g,elevQueriesGenericFail as w,invalidLayerView as p}from"./ILyr3DWasmPerSceneView.js";import{Lyr3DWorkerHandle as b}from"./Lyr3DWorkerHandle.js";import{getVCSFromHeightModelInfo as f}from"./support/tiles3DUtils.js";import{loadLyr3DMainWASM as v}from"../libs/lyr3d/Lyr3DModule.js";import{getElevationOffsetInMeters as D}from"../support/elevationInfoUtils.js";import{makeScheduleFunction as M}from"../views/3d/layers/support/makeScheduleFunction.js";const L=3857,k=32662,R=4326,S=5773,C=115700;let W=class extends t{constructor(e){super(e),this._lyr3DMainPromise=null,this._lyr3DMain=null,this._layers=new Map,this._viewSR=null,this._lyr3DBusyCount=0,this._lyr3DInternalMemoryBytes=0,this._isTerrainReady=!1,this._hasLayerThatReplacesTerrain=!1,this._elevationQueries=new Map,this._debugFlags=new Set,this._debugLevel=0,this._wasmNotLoaded="method requiring WASM was called when WASM isn't loaded",this._pulseTaskHandle=null,this._cameraElevationDirty=!0,this._debugFlags.add(0),this._debugFlags.add(1),this._debugFlags.add(2)}_debugLog(e,i,t,s=!0){if(this._debugFlags.has(e)&&this._debugLevel>=i){const e=s?`[js] ${t}`:`${t}`;0===i||1===i?r.getLogger(this).error(e):2===i&&r.getLogger(this).warn(e),r.getLogger(this).info(e)}}get lyr3DInternalMemoryBytes(){return this._lyr3DInternalMemoryBytes}initialize(){this._debugLevel>2&&(r.getLogger(this).level="info"),this._debugLog(0,3,"Lyr3DWasmPerSceneView.initialize()"),this.addHandles([l(()=>this.view.state?.contentCamera,()=>this._updateWasmCamera()),l(()=>this.view.state?.contentCamera.relativeElevation,()=>{this._cameraElevationDirty=!0,this._markAllLayerViewsUpdating()})]),this._pulseTaskHandle=d({preRender:()=>this._pulseTask()})}destroy(){this._debugLog(0,3,"Lyr3DWasmPerSceneView.destroy()"),this._lyr3DMain&&(this._layers.forEach(e=>{e.abortController.abort()}),this._elevationQueries.forEach((e,i)=>{this._lyr3DMain.cancel_elevation_query(i),e.rejectCallback(a())}),this._elevationQueries.clear(),this._lyr3DMain.uninitialize_lyr3d_wasm(),this._lyr3DMain=null);const e=this._workerHandle;e&&e.destroyWasm().then(()=>{this._workerHandle?.destroy(),this._workerHandle=null}),this._pulseTaskHandle?.remove(),this._pulseTaskHandle=null}addLayerView(e){return this._lyr3DMain?this._addLayerView(e):(this._debugLog(0,1,"Lyr3DWasmPerSceneView.add3DTilesLayerView() called when WASM wasn't initialized"),{wasmLayerId:m})}removeLayerView(e){if(!this._lyr3DMain)return this._debugLog(0,1,this._wasmNotLoaded),0;this._doRemoveLayerView(e);const i=this._layers.size;return 0===i&&(this._debugLog(0,3,"Lyr3DWasmPerSceneView.remove3DTilesLayerView() no Lyr3D layers left after removing a layer, destroying"),this.destroy()),i}getValidLayerViewCount(){if(!this._lyr3DMain)return this._debugLog(0,1,this._wasmNotLoaded),0;let e=0;return this._layers.forEach(i=>{i.layerView.wasmLayerId>=0&&++e}),e}setEnabled(e,i){if(!this._lyr3DMain)return void this._debugLog(0,1,this._wasmNotLoaded);const t=this._layers.get(e.wasmLayerId);if(t){this._lyr3DMain.set_enabled(e.wasmLayerId,i),t.needMemoryUsageUpdate=!0;const s=this._isUpdating(t);t.needFrame=!0,s||t.layerView.updatingFlagChanged()}}setLayerOffset(e,i){if(!this._lyr3DMain)return void this._debugLog(0,1,this._wasmNotLoaded);this._layers.get(e.wasmLayerId)&&this._lyr3DMain.set_carto_offset_z(e.wasmLayerId,i)}getAttributionText(){if(!this._lyr3DMain)return this._debugLog(0,1,this._wasmNotLoaded),[];return this._lyr3DMain.get_current_attribution_text().split("|")}onRenderableEvicted(e,i,t){if(!this._lyr3DMain)return void this._debugLog(0,1,this._wasmNotLoaded);this._layers.get(e.wasmLayerId)&&this._lyr3DMain.on_renderable_evicted(e.wasmLayerId,i,t)}setMeshModifications(e,i){if(!this._lyr3DMain)return void this._debugLog(0,1,this._wasmNotLoaded);const t=this._layers.get(e.wasmLayerId);if(t){const s=this._lyr3DMain._malloc(8*i.length),r=new Float64Array(this._lyr3DMain.HEAPF64.buffer,s,i.length);for(let e=0;e<i.length;++e)r[e]=i[e];this._lyr3DMain.set_mesh_modification_polygons(e.wasmLayerId,s,i.length),this._lyr3DMain._free(s);const a=this._isUpdating(t);t.needFrame=!0,a||t.layerView.updatingFlagChanged()}}isUpdating(e){if(!this._lyr3DMain&&this._lyr3DMainPromise)return!0;const i=this._layers.get(e);return!!i&&(i.outstandingJobCount>0||i.outstandingRenderableCount>0||i.needFrame||this._lyr3DBusyCount>0)}initializeWasm(e,i){return this._lyr3DMain?Promise.resolve():this.view.renderSpatialReference?(this._debugLog(0,3,"Lyr3DWasmPerSceneView.initializeWasm()"),this._lyr3DMainPromise||(this._lyr3DMainPromise=v().then(t=>{this._lyr3DMain=t,this._lyr3DMainPromise=null;const s=this._lyr3DMain.addFunction(this._onNewJob.bind(this),"v"),r=this._lyr3DMain.addFunction(this._onNewRenderable.bind(this),"v"),a=this._lyr3DMain.addFunction(this._freeRenderables.bind(this),"viii"),n=this._lyr3DMain.addFunction(this._setRenderableVisibility.bind(this),"viiii"),o=this._lyr3DMain.addFunction(this._onWasmError.bind(this),"viiii"),l=this._lyr3DMain.addFunction(this._onElevQueryComplete.bind(this),"vi");if(!this.view.renderSpatialReference)return void(this._lyr3DMain=null);this._viewSR=this.view.renderSpatialReference?.toJSON();const d="global"===this.view.viewingMode?5:3;if(5===d)this._viewSR.wkid=this._viewSR.latestWkid=R,this._viewSR.vcsWkid=this._viewSR.latestVcsWkid=S;else if(this.view.renderSpatialReference?.isWebMercator)this._viewSR.wkid=this._viewSR.latestWkid=L,this._viewSR.vcsWkid=this._viewSR.latestVcsWkid=S;else if(this.view.renderSpatialReference?.wkid===k)this._viewSR.wkid=this._viewSR.latestWkid=R,this._viewSR.vcsWkid=this._viewSR.latestVcsWkid=S;else if(!this._viewSR.latestVcsWkid&&!this._viewSR.vcsWkid){const e=f(this.view.heightModelInfo);if(e)this._viewSR.vcsWkid=this._viewSR.latestVcsWkid=e;else{const e=this.view.heightModelInfo?.heightModel,i=!e||"gravity-related-height"===e;this._viewSR.vcsWkid=this._viewSR.latestVcsWkid=i?S:C}}return this._lyr3DMain.initialize_lyr3d_wasm(o,s,r,a,n,l,e,i,d,this._cleanUpSR(this._makeSRWasmSerializable(this._viewSR)),Math.max(this._debugLevel,0))?(this._workerHandle=new b(M(this.view.resourceController)),this._workerHandle.promise?this._workerHandle.promise:void 0):(this._lyr3DMain=null,void this._debugLog(0,0,"Lyr3d Main WASM failed to initialize",!1))}).catch(e=>{this._debugLog(0,0,`Lyr3d WASM failed to download error = ${e}`,!1)})),this._lyr3DMainPromise):Promise.reject()}get isTerrainReady(){return this._isTerrainReady}setLodPixelThreshold(e,i){this._lyr3DMain?.set_lod_pixel_threshold(i);const t=this._layers.get(e.wasmLayerId);t&&(t.needFrame=!0)}setMaximumGaussianSplatCount(e){this._lyr3DMain.set_maximum_splat_count(e),this._layers.forEach(e=>{"gaussian-splat-3d"===e.layerView.type&&(e.needFrame=!0)})}queryElevation(e,i,t){if(!this._lyr3DMain)return Promise.reject(this._wasmNotLoaded);if(0===i.coordinates.length)return Promise.reject("no coordinates for elevation query");const s="global"===this.view.viewingMode?y.WGS84:this._viewSR.wkid===L?y.WebMercator:y.PlateCarree,r=i.projectSync(s);r&&(i=r);const a=2*i.coordinates.length,n=this._lyr3DMain._malloc(8*a),o=new Float64Array(this._lyr3DMain.HEAPF64.buffer,n,a);for(let y=0;y<i.coordinates.length;++y){const e=i.coordinates[y];o[2*y]=e.x,o[2*y+1]=e.y}const l=t?.maxGeometricError??0,d=this._lyr3DMain.create_elevation_query(e.wasmLayerId,l,n,a);if(this._lyr3DMain._free(n),d===g)return Promise.reject("max mesh elevation query limit exceeded");if(d===w)return Promise.reject("elevation query failed");const h={descriptor:i,signal:t?.signal,resolveCallback:null,rejectCallback:null},_=new Promise((e,i)=>{h.resolveCallback=e,h.rejectCallback=i});return this._elevationQueries.set(d,h),_}_checkForAbortedElevationQueries(){const e=[];this._elevationQueries.forEach((i,t)=>{n(i.signal)&&(this._lyr3DMain.cancel_elevation_query(t),i.rejectCallback(a()),e.push(t))});for(let i=0;i<e.length;++i)this._elevationQueries.delete(e[i])}_pulseTask(){if(this._lyr3DMain){if(this._cameraElevationDirty){const e=this.view.state?.contentCamera.relativeElevation;this._lyr3DMain.set_camera_elevation(e)}this._checkForAbortedElevationQueries();let e=0,i=0;this._layers.forEach(t=>{e+=t.layerView.usedMemory,i+=t.layerView.cachedMemory}),e/=1048576,i/=1048576;const t=this.view.resourceController.memoryController,s=t.usedMemory*t.maxMemory-e;this._lyr3DBusyCount=this._lyr3DMain.frame_pulse(t.memoryFactor,e,i,s,t.maxMemory),this._lyr3DInternalMemoryBytes=this._lyr3DMain.get_index_memory_bytes(),this._layers.forEach(e=>{this._cameraElevationDirty||(e.needFrame=!1),e.layerView.updatingFlagChanged()}),this._hasLayerThatReplacesTerrain&&!this._isTerrainReady&&(this._isTerrainReady=this._lyr3DMain.is_terrain_ready(),this._isTerrainReady&&this.notifyChange("isTerrainReady")),this._cameraElevationDirty=!1}}_isUpdating(e){return e.outstandingJobCount>0||e.outstandingRenderableCount>0||e.needFrame||this._lyr3DBusyCount>0}_incrementJobCount(e,i){if(i.isForElevationQuery)return;const t=this._isUpdating(e);e.outstandingJobCount+=1,t||e.layerView.updatingFlagChanged()}_decrementJobCount(e,i){if(i.isForElevationQuery)return;const t=this._isUpdating(e);e.outstandingJobCount-=1;t!==this._isUpdating(e)&&e.layerView.updatingFlagChanged()}_incrementRenderableCount(e){const i=this._isUpdating(e);e.outstandingRenderableCount+=1,i||e.layerView.updatingFlagChanged()}_decrementRenderableCount(e){const i=this._isUpdating(e);e.outstandingRenderableCount-=1;i!==this._isUpdating(e)&&e.layerView.updatingFlagChanged()}_onJobFailed(e,i,t){i.error.length&&this._debugLog(1,1,i.error,!1),this._lyr3DMain&&this._lyr3DMain.on_job_failed(t.jobId,t.desc),this._decrementJobCount(e,t)}_onJobSucceeded(e,i,t){if(this._lyr3DMain){if(e.layerView.destroyed)return void this._lyr3DMain.on_job_failed(t.jobId,t.desc);const s=i.data.byteLength,r=this._lyr3DMain._malloc(s);new Uint8Array(this._lyr3DMain.HEAPU8.buffer,r,s).set(i.data),this._lyr3DMain.on_job_completed(t.jobId,i.jobDescJson,r,s),this._lyr3DMain._free(r)}this._decrementJobCount(e,t)}_getRequestPromises(e,t,s,r){const a=[];for(const n of e){const e=new URL(n);if("integrated-mesh-3dtiles"===r.type){if(e.origin===s.origin&&e.pathname===s.pathname){if(r.rootTileset){a.push(Promise.resolve(r.rootTileset.slice()));continue}}else r.session&&e.searchParams.append("session",r.session)}a.push(i(e.toString(),t).then(e=>e.data))}return a}_getInitialPromise(e,i,t,s,r,a,n){const l=this._getRequestPromises(e.urls,i,t,s);return Promise.all(l).then(e=>(r.inputs=e,this._workerHandle.invoke(r,a))).then(e=>e).catch(i=>{let t=1;return o(i)?this._debugLog(1,2,`job ${e.jobId} was cancelled.`):n&&400===i.details?.httpStatus?(t=3,this._debugLog(1,2,"Session expired, trying to create new Session.")):this._debugLog(1,1,`job ${e.jobId} failed with error ${i}.`),{status:t,error:"",jobDescJson:"",data:new Uint8Array(0),missingInputUrls:[],inputs:[]}})}async _onNewJob(){const e=this._lyr3DMain.get_next_job(),i=this._layers.get(e.layerId);if(!i)return;this._incrementJobCount(i,e);const t=i.abortController.signal,s=i.layerView.layer,r="integrated-mesh-3dtiles"===s.type?s.key:null,a="integrated-mesh-3dtiles"===s.type?s.session:null,n={responseType:"array-buffer",signal:t,query:{...i.customParameters,token:i.apiKey,key:r}},l={id:e.jobId,inputs:[],jobDescJson:e.desc.slice(),isMissingResourceCase:!1},d=new URL(s.url),h=r=>{if(1===r.status)this._onJobFailed(i,r,e);else if(0===r.status)this._onJobSucceeded(i,r,e);else if(2===r.status){const a=this._getRequestPromises(r.missingInputUrls,n,d,s);Promise.all(a).then(e=>{l.jobDescJson=r.jobDescJson,r.originalInputs?l.inputs=r.originalInputs:l.inputs=[],l.isMissingResourceCase=!0;for(const i of e)l.inputs.push(i);return this._workerHandle.invoke(l,t)}).then(t=>{1===t.status?this._onJobFailed(i,t,e):0===t.status&&this._onJobSucceeded(i,t,e)}).catch(t=>{this._decrementJobCount(i,e),o(t)?this._debugLog(1,2,`job ${e.jobId} was cancelled.`):this._debugLog(1,1,`job ${e.jobId} failed with error ${t}.`),this._lyr3DMain&&this._lyr3DMain.on_job_failed(e.jobId,e.desc)})}};try{const i=await this._getInitialPromise(e,n,d,s,l,t,a);if(3===i.status&&"integrated-mesh-3dtiles"===s.type){a===s.session&&null!==s.session&&await s.requestRootAndSession(t);h(await this._getInitialPromise(e,n,d,s,l,t,s.session))}else h(i)}catch(_){_&&this._debugLog(1,1,_.toString(),!1),this._lyr3DMain&&this._lyr3DMain.on_job_failed(e.jobId,e.desc),this._decrementJobCount(i,e)}}_onNewRenderable(){const e=this._lyr3DMain.get_next_renderable(),{meshData:i}=e;i.data&&i.data.byteLength>0&&(i.data=i.data.slice());const t=this._layers.get(e.layerId);t&&(this._incrementRenderableCount(t),t.layerView.createRenderable(e).then(i=>{const s=i.numGaussians??0;this._lyr3DMain?.on_renderable_created(!0,e.layerId,e.handle,i.memUsageBytes,s),this._decrementRenderableCount(t)}).catch(i=>{o(i)||this._debugLog(2,1,`createRenderable failed with error ${i}.`),this._lyr3DMain?.on_renderable_created(!1,e.layerId,e.handle,0,0),this._decrementRenderableCount(t)}))}_freeRenderables(e,i,t){if(t<1)return;const s=this._layers.get(e);if(!s)return;const r=s.layerView,a=[],n=new Uint32Array(this._lyr3DMain.HEAPU32.buffer,i,t);for(let o=0;o<t;++o)a.push(n[o]);for(let o=0;o<t;++o)r.freeRenderable(a[o])}_setRenderableVisibility(e,i,t,s){if(s<1)return;const r=this._layers.get(e);if(!r)return;const a=r.layerView,n=[],o=[],l=new Uint32Array(this._lyr3DMain.HEAPU32.buffer,i,s),d=new Uint8Array(this._lyr3DMain.HEAPU8.buffer,t,s);for(let h=0;h<s;++h)n.push(l[h]),o.push(!!(1&d[h]));a.setRenderableVisibility(n,o,s)}_onWasmError(e,i,t,s){this._lyr3DMain&&this._debugLog(t,s,this._lyr3DMain.UTF8ToString(e,i),!1)}_onElevQueryComplete(e){const i=this._elevationQueries.get(e),t=this._lyr3DMain.get_elevation_query_result(e);if(i)if(t.succeeded&&t.zs){const s=t.zs.slice(),r=i.descriptor.clone();for(let e=0;e<s.length;++e)r.coordinates[e].z=s[e];this._debugLog(2,3,`Success EQ ${e}, number points ${s.length}.`),i.resolveCallback(r),this._elevationQueries.delete(e)}else i.rejectCallback(new s("elevation-query:error",t?.error??"Elevation query failed")),this._elevationQueries.delete(e);else this._debugLog(2,1,`_onElevQueryComplete called for unknown queryId ${e}.`)}_doRemoveLayerView(e){const i=this._layers.get(e.wasmLayerId);return!!i&&(i.abortController.abort(),this._lyr3DMain.remove_layer(e.wasmLayerId),this._is3DTilesIMLayerView(e)&&e.layer.replacesTerrain&&(this._hasLayerThatReplacesTerrain=!1,this._isTerrainReady=!1,this.notifyChange("isTerrainReady")),this._layers.delete(e.wasmLayerId),!0)}_is3DTilesIMLayerView(e){return"integrated-mesh-3dtiles"===e.layer.type}_isGaussianSplatLayerView(e){return"gaussian-splat"===e.layer.type}_isGaussianSplatLayer(e){return"gaussian-splat"===e.type}_toWasmQuality(e){switch(e){case"low":return 1;case"medium":return 2;case"high":return 3}}_addLayerView(e){const i=e.layer;if(!i.url||!i.rootTilesetJSON)return{wasmLayerId:p};const t="integrated-mesh-3dtiles"===i.type?0:2,s=this._lyr3DMain.validate_root_tileset(JSON.stringify(i.rootTilesetJSON),t);if(0!==s.errorCode)return{wasmLayerId:p,check:s};const a=this._lyr3DMain.get_next_layer_id(),n=new AbortController;this._layers.set(a,{layerView:e,abortController:n,needMemoryUsageUpdate:!1,outstandingJobCount:0,outstandingRenderableCount:0,customParameters:i.customParameters,apiKey:i.apiKey,needFrame:!0});const o=D(i.elevationInfo),l=this._toWasmQuality(this.view?.qualityProfile),d=e=>r.getLogger(this).error("add-spatial-reference-error","Error when adding SR:",e);let h=!1;if(this._isGaussianSplatLayerView(e)&&this._isGaussianSplatLayer(i)){let t=i.spatialReference;if(e.useEsriCrs&&i.esriCrsSpatialReference){t=i.esriCrsSpatialReference;const s=c(t);let r=1,a=1;!s&&t.wkid&&-1!==t.wkid&&(r=u.values[u[t.wkid]],a=e.metersPerVCSUnit),this._workerHandle.addSpatialReferenceInfo(this._cleanUpSR(this._makeSRWasmSerializable(t)),s,r,a).catch(d),t.vcsWkid&&this._viewSR.vcsWkid&&this._viewSR.vcsWkid!==t.vcsWkid&&this._workerHandle.addSpatialReferenceInfo(this._cleanUpSR(this._makeSRWasmSerializable(this._viewSR)),!1,1,1).catch(d)}h=this._lyr3DMain.add_gaussian_splat_layer(l,i.url,a,o)}else this._is3DTilesIMLayerView(e)&&(h=this._lyr3DMain.add_3dtiles_layer(l,i.url,a,o,e.layer.replacesTerrain),h&&e.layer.replacesTerrain&&(this._hasLayerThatReplacesTerrain=!0,this._isTerrainReady=!1,this.notifyChange("isTerrainReady")));return h?(this._updateWasmCamera(),e.updatingFlagChanged(),{wasmLayerId:a}):(this._layers.delete(a),{wasmLayerId:p})}_updateWasmCamera(){const e=this.view.state?.contentCamera;if(!e||!this._lyr3DMain)return;const{eye:i,center:t,up:s,near:r,far:a,fovY:n}=e,o=[e.viewport[2],e.viewport[3]],l=e.width/e.height;this._lyr3DMain.set_camera_parameters({eye:i,center:t,up:s,near:r,far:a,fov:n,aspectRatio:l,viewport:o}),this._markAllLayerViewsUpdating()}_markAllLayerViewsUpdating(){this._layers.forEach(e=>{const i=this._isUpdating(e);e.needFrame=!0,i||e.layerView.updatingFlagChanged()})}_makeSRWasmSerializable(e){return{wkid:e?.wkid??-1,latestWkid:e?.latestWkid??-1,vcsWkid:e?.vcsWkid??-1,latestVcsWkid:e?.latestVcsWkid??-1,wkt:e?.wkt??""}}_cleanUpSR(e){return-1===e?.wkid&&e.latestWkid&&-1!==e.latestWkid?e.wkid=e.latestWkid:-1===e?.latestWkid&&e.wkid&&-1!==e.wkid&&(e.latestWkid=e.wkid),-1===e?.vcsWkid&&e.latestVcsWkid&&-1!==e.latestVcsWkid?e.vcsWkid=e.latestVcsWkid:-1===e?.latestVcsWkid&&e.vcsWkid&&-1!==e.vcsWkid&&(e.latestVcsWkid=e.vcsWkid),e}};e([h({constructOnly:!0})],W.prototype,"view",void 0),e([h({readOnly:!0})],W.prototype,"isTerrainReady",null),W=e([_("esri.layers.Lyr3DWasmPerSceneView")],W);const V=W;export{V as default};