@arcgis/core 4.32.0-next.20250128 → 4.32.0-next.20250130

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 (1152) hide show
  1. package/TrackGraphic.js +1 -1
  2. package/applications/Components/SelectionOperation.d.ts +1 -2
  3. package/applications/Components/SketchTooltipControls.d.ts +1 -2
  4. package/applications/Components/basemapUtils.d.ts +1 -2
  5. package/applications/Components/drawUtils.d.ts +1 -2
  6. package/applications/Components/fontUtils.d.ts +1 -2
  7. package/applications/Components/getDefaultUnits.d.ts +1 -2
  8. package/applications/Components/gfxUtils.d.ts +1 -2
  9. package/applications/Components/layerOriginUtils.d.ts +4 -2
  10. package/applications/Components/layersEffectsJsonUtils.d.ts +1 -2
  11. package/applications/Components/previewSymbol2D.d.ts +1 -2
  12. package/applications/Components/reactiveUtils.d.ts +1 -2
  13. package/applications/Components/styleUtils.d.ts +1 -2
  14. package/applications/Components/svgUtils.d.ts +3 -2
  15. package/applications/Components/webStyleSymbolUtils.d.ts +1 -2
  16. package/applications/Excalibur/videoViewUtils.d.ts +1 -2
  17. package/applications/ExperienceBuilder/sketchUtils.d.ts +3 -2
  18. package/applications/KnowledgeStudio/generalSharedKgUtils.d.ts +2 -2
  19. package/applications/KnowledgeStudio/layerInternalAccessUtils.d.ts +3 -2
  20. package/applications/KnowledgeStudio/resourceSerializationUtils.d.ts +4 -2
  21. package/applications/MapViewer/mediaUtils.d.ts +2 -2
  22. package/applications/MapViewer/templateUtils.d.ts +4 -2
  23. package/applications/SceneViewer/colorUtils.d.ts +1 -2
  24. package/applications/SceneViewer/devEnvironmentUtils.d.ts +3 -2
  25. package/applications/SceneViewer/layerUtils.d.ts +2 -2
  26. package/applications/SceneViewer/sceneViewerUtils.d.ts +15 -2
  27. package/applications/SceneViewer/symbolUtils.d.ts +1 -2
  28. package/applications/Urban/meshUtils.d.ts +1 -2
  29. package/applications/WebEditor/sketchUtils.d.ts +2 -2
  30. package/arcade.d.ts +2 -2
  31. package/assets/components/assets/icon/hammerCoin16.json +1 -0
  32. package/assets/components/assets/icon/hammerCoin24.json +1 -0
  33. package/assets/components/assets/icon/hammerCoin32.json +1 -0
  34. package/assets/components/assets/icon/hammerLock16.json +1 -0
  35. package/assets/components/assets/icon/hammerLock24.json +1 -0
  36. package/assets/components/assets/icon/hammerLock32.json +1 -0
  37. package/assets/esri/core/workers/RemoteClient.js +1 -1
  38. package/assets/esri/core/workers/chunks/06d72622590dbd38c5de.js +1 -0
  39. package/assets/esri/core/workers/chunks/07c5f3fc475c57f5a7a7.js +1 -0
  40. package/assets/esri/core/workers/chunks/08c4b585290efc98ca5d.js +1 -0
  41. package/assets/esri/core/workers/chunks/{41f7287832d407f13ce5.js → 09b77f82c22530b44daa.js} +1 -1
  42. package/assets/esri/core/workers/chunks/0b62871b89dcb4c70457.js +1 -0
  43. package/assets/esri/core/workers/chunks/0bafa546602b776caf2f.js +1 -0
  44. package/assets/esri/core/workers/chunks/0ebdf0d1fd2034b24519.js +972 -0
  45. package/assets/esri/core/workers/chunks/{e89439cc20b7f4c6a9d1.js → 0ef5b0f8aa8a09acd6e0.js} +1 -1
  46. package/assets/esri/core/workers/chunks/117e7a12af77c761efb5.js +1 -0
  47. package/assets/esri/core/workers/chunks/122ed10cac9f192e1eec.js +1 -0
  48. package/assets/esri/core/workers/chunks/12964a4b16113cdc9c93.js +1 -0
  49. package/assets/esri/core/workers/chunks/149bad940feb0764b350.js +1 -0
  50. package/assets/esri/core/workers/chunks/1891c9aa162c5df1d27c.js +1 -0
  51. package/assets/esri/core/workers/chunks/1ab83753d9eec0463461.js +1 -0
  52. package/assets/esri/core/workers/chunks/{304722106439951da6e1.js → 1accbc048b74857269e4.js} +1 -1
  53. package/assets/esri/core/workers/chunks/{0edf5cd5d004631c3959.js → 1cbeac3301b6943bb28a.js} +1 -1
  54. package/assets/esri/core/workers/chunks/1d51c064045e9c47bd2e.js +1 -0
  55. package/assets/esri/core/workers/chunks/1f443b99653708470f31.js +1 -0
  56. package/assets/esri/core/workers/chunks/{7d49b5bc9eb102e467ab.js → 220b12654b94c94f8d8a.js} +1 -1
  57. package/assets/esri/core/workers/chunks/22e11a8abc70b6571a2b.js +1 -0
  58. package/assets/esri/core/workers/chunks/2345344be4b0e487d3a6.js +1 -0
  59. package/assets/esri/core/workers/chunks/{6eb829a7959df2269b0e.js → 24c94f97a76646d415ae.js} +1 -1
  60. package/assets/esri/core/workers/chunks/258b46b58a4860942f7c.js +1 -0
  61. package/assets/esri/core/workers/chunks/25c8cc30faade043c8dc.js.LICENSE.txt +1 -1
  62. package/assets/esri/core/workers/chunks/2c6f2fdf274c0258621e.js +1 -0
  63. package/assets/esri/core/workers/chunks/2ff63a71213f618377d6.js +1 -0
  64. package/assets/esri/core/workers/chunks/308ec51ff4a66f7fcb0d.js.LICENSE.txt +1 -1
  65. package/assets/esri/core/workers/chunks/{985ae30627429832b2a9.js → 32f5f00aab55ef16dcf1.js} +1 -1
  66. package/assets/esri/core/workers/chunks/380d37ceb8cf52bad190.js +1 -0
  67. package/assets/esri/core/workers/chunks/3984bf01f055fc42bfbf.js +1 -0
  68. package/assets/esri/core/workers/chunks/3e872e5e528dca7bee0c.js +1 -0
  69. package/assets/esri/core/workers/chunks/3ec51b75d1a86dad6cb1.js +1 -0
  70. package/assets/esri/core/workers/chunks/4263eee3247aaf4e64bf.js +1 -0
  71. package/assets/esri/core/workers/chunks/448ee44c7f594e5b2551.js +1 -0
  72. package/assets/esri/core/workers/chunks/476205ee4414ed80666a.js +1 -0
  73. package/assets/esri/core/workers/chunks/4b56c0c109e10d7409b8.js +1 -0
  74. package/assets/esri/core/workers/chunks/{95e786366bc471bd0730.js → 4c5279fedf982a174706.js} +1 -1
  75. package/assets/esri/core/workers/chunks/4cab082b8432ddc05345.js +1 -0
  76. package/assets/esri/core/workers/chunks/{1e1306527fb38c5894eb.js → 5a536de1ecae424bad05.js} +1 -1
  77. package/assets/esri/core/workers/chunks/5adeb979f178944b9ce5.js +1 -0
  78. package/assets/esri/core/workers/chunks/5be7cf1564e756c24066.js +1 -0
  79. package/assets/esri/core/workers/chunks/{f09c95c3d79205ee5a84.js → 5e9bf6d0db82526b8a8c.js} +5 -5
  80. package/assets/esri/core/workers/chunks/{57ebfa7f163a1b40cd1e.js → 61795bde00f2e16d04f1.js} +1 -1
  81. package/assets/esri/core/workers/chunks/{568fe969e8f914f042ca.js → 627cbe662d58cda62e7e.js} +1 -1
  82. package/assets/esri/core/workers/chunks/{6d179eb8edcefb91d5d7.js → 69ab4b780f7223cfd7dd.js} +1 -1
  83. package/assets/esri/core/workers/chunks/6d79ec15d1858839f576.js +1 -0
  84. package/assets/esri/core/workers/chunks/6e25742ceedea7fb1b97.js +1 -0
  85. package/assets/esri/core/workers/chunks/6e8905f20101c1f4509d.js.LICENSE.txt +1 -1
  86. package/assets/esri/core/workers/chunks/6ef2514a6b7bbfb8e37d.js +1 -0
  87. package/assets/esri/core/workers/chunks/72cf9192292e5c85c6df.js.LICENSE.txt +1 -1
  88. package/assets/esri/core/workers/chunks/{50beab30e120ba39d212.js → 76794184ba8c2e66745e.js} +1 -1
  89. package/assets/esri/core/workers/chunks/7810579a5a780933cdc9.js +1 -0
  90. package/assets/esri/core/workers/chunks/{e45dba512ebee97f0af2.js → 78242f2bf742b33d99fa.js} +1 -1
  91. package/assets/esri/core/workers/chunks/7966c245a073c85f04b1.js +1 -0
  92. package/assets/esri/core/workers/chunks/{fa0d968733d581bc2e4d.js → 7d120f8b01fe719eb257.js} +1 -1
  93. package/assets/esri/core/workers/chunks/7e23c15b2a02116f7189.js +1 -0
  94. package/assets/esri/core/workers/chunks/7f87cf3d6a365d987f69.js +1 -0
  95. package/assets/esri/core/workers/chunks/83edac97a52b26ead1ea.js +314 -0
  96. package/assets/esri/core/workers/chunks/881ddbdeb40336208e90.js +1 -0
  97. package/assets/esri/core/workers/chunks/{ec9d5af8887854e821c8.js → 88cbaa91c495d86f4bb0.js} +1 -1
  98. package/assets/esri/core/workers/chunks/{11c999b976ed805b0608.js → 89e3f7880abd014a62c0.js} +1 -1
  99. package/assets/esri/core/workers/chunks/{a3ae5ea96898de327147.js → 8bd51b5b392dfacc922f.js} +1 -1
  100. package/assets/esri/core/workers/chunks/8e6301006abdf47cc88d.js +1 -0
  101. package/assets/esri/core/workers/chunks/{9466e53ff270f6eb42c9.js → 9011704b258ecbfb6d9b.js} +2 -2
  102. package/assets/esri/core/workers/chunks/{9466e53ff270f6eb42c9.js.LICENSE.txt → 9011704b258ecbfb6d9b.js.LICENSE.txt} +1 -1
  103. package/assets/esri/core/workers/chunks/92984981afcbb95828cd.js +1 -0
  104. package/assets/esri/core/workers/chunks/934857de20f6f5c15188.js +1 -0
  105. package/assets/esri/core/workers/chunks/95ad76e58452b60fb79f.js +1 -0
  106. package/assets/esri/core/workers/chunks/9725398f6d56c8ba54ae.js +1 -0
  107. package/assets/esri/core/workers/chunks/97310e6eec87eeaf58f0.js +1 -0
  108. package/assets/esri/core/workers/chunks/9ffa27d0517bad84572e.js +1 -0
  109. package/assets/esri/core/workers/chunks/a39977478a6c57d2e8fb.js +1 -0
  110. package/assets/esri/core/workers/chunks/{f355ca70abadb2155839.js → a61d05354348385f41b5.js} +1 -1
  111. package/assets/esri/core/workers/chunks/af917f69d9c6e9937263.js +1 -0
  112. package/assets/esri/core/workers/chunks/b18620fc15707e4413a1.js +1 -0
  113. package/assets/esri/core/workers/chunks/b1baf39daf5725404be5.js +1 -0
  114. package/assets/esri/core/workers/chunks/b21b152fa15896577242.js.LICENSE.txt +1 -1
  115. package/assets/esri/core/workers/chunks/{39a6fe4cdb205f4925fb.js → b68bddd0c4ca91493543.js} +1 -1
  116. package/assets/esri/core/workers/chunks/bc50585615f07d5ec1a9.js +1 -0
  117. package/assets/esri/core/workers/chunks/bf9bc52a3c559108c19a.js +2 -0
  118. package/assets/esri/core/workers/chunks/{b5d4255db21dfd3b3b13.js.LICENSE.txt → bf9bc52a3c559108c19a.js.LICENSE.txt} +1 -1
  119. package/assets/esri/core/workers/chunks/c04091eea7089dc2e864.js +1 -0
  120. package/assets/esri/core/workers/chunks/{b9369c5415f5b3bda5cf.js → c1d80a709148e3373a82.js} +1 -1
  121. package/assets/esri/core/workers/chunks/c249ad935f54d3b49ae3.js +1 -0
  122. package/assets/esri/core/workers/chunks/{759618564e68fc09dc36.js → c57b9f2b9c229e68919d.js} +1 -1
  123. package/assets/esri/core/workers/chunks/c74441fbe0f63633796f.js +1 -0
  124. package/assets/esri/core/workers/chunks/{7fd48f0a2b35779e680a.js → c7a94e569c905f97244a.js} +1 -1
  125. package/assets/esri/core/workers/chunks/c80d542935803bf869f8.js +1 -0
  126. package/assets/esri/core/workers/chunks/{bc0183350841e09d71fa.js → c8a0089e080140db9076.js} +1 -1
  127. package/assets/esri/core/workers/chunks/{d71a5c029fc9f4820589.js → cee3a38b92a48a58c4d0.js} +1 -1
  128. package/assets/esri/core/workers/chunks/d1678945cf6a58f76863.js +1 -0
  129. package/assets/esri/core/workers/chunks/{9ed1691eab19dfb1cf04.js → d1718ad93e3271b0525e.js} +1 -1
  130. package/assets/esri/core/workers/chunks/{d5b373fe244e5dce1548.js → d27a199fd8e2ade69254.js} +1 -1
  131. package/assets/esri/core/workers/chunks/d3a8aabdbfb59dd433e3.js +1 -0
  132. package/assets/esri/core/workers/chunks/d599ba865da87b487b1b.js +1 -0
  133. package/assets/esri/core/workers/chunks/da1157e288dbc6ba842a.js +1 -0
  134. package/assets/esri/core/workers/chunks/{8584ccce34972e28c040.js → da77eefaad83c0644380.js} +1 -1
  135. package/assets/esri/core/workers/chunks/dd46ec81cebe1a0a7b9c.js +1 -0
  136. package/assets/esri/core/workers/chunks/dd9be173cddc16a354ed.js +1 -0
  137. package/assets/esri/core/workers/chunks/debfb75a94b66b58cbbc.js +1 -0
  138. package/assets/esri/core/workers/chunks/{5a83f90b55a5efbe1ef2.js → df3d1a8d3f11d52eb30d.js} +1 -1
  139. package/assets/esri/core/workers/chunks/e0de91eacf3a3b7eda55.js +51 -0
  140. package/assets/esri/core/workers/chunks/e444ec05a8a1dfbd21a8.js +1 -0
  141. package/assets/esri/core/workers/chunks/e4651d577d297386268e.js +1 -0
  142. package/assets/esri/core/workers/chunks/e468bf4ec7402942ad8c.js +1 -0
  143. package/assets/esri/core/workers/chunks/f200dca22f9f9bbb8670.js +1 -0
  144. package/assets/esri/core/workers/chunks/f2fae056a81f12b56b04.js +1 -0
  145. package/assets/esri/core/workers/chunks/f429d95eb986f3d215f3.js +1 -0
  146. package/assets/esri/core/workers/chunks/f8367c21fa91435c7c53.js +1 -0
  147. package/assets/esri/themes/base/_Ui.scss +6 -0
  148. package/assets/esri/themes/base/_mixins.scss +0 -7
  149. package/assets/esri/themes/base/widgets/_BasemapLayerList.scss +0 -2
  150. package/assets/esri/themes/base/widgets/_Bookmarks.scss +0 -5
  151. package/assets/esri/themes/base/widgets/_CatalogLayerList.scss +0 -2
  152. package/assets/esri/themes/base/widgets/_Features.scss +0 -5
  153. package/assets/esri/themes/base/widgets/_LayerList.scss +0 -2
  154. package/assets/esri/themes/base/widgets/_TableList.scss +0 -2
  155. package/assets/esri/themes/dark/main.css +1 -1
  156. package/assets/esri/themes/light/main.css +1 -1
  157. package/assets/esri/themes/light/view.css +1 -1
  158. package/assets/esri/widgets/Editor/t9n/Editor.json +1 -1
  159. package/assets/esri/widgets/Editor/t9n/Editor_en.json +1 -1
  160. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm.json +1 -1
  161. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ar.json +1 -1
  162. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_bg.json +1 -1
  163. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_bs.json +1 -1
  164. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ca.json +1 -1
  165. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_cs.json +1 -1
  166. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_da.json +1 -1
  167. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_de.json +1 -1
  168. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_el.json +1 -1
  169. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_en.json +1 -1
  170. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_es.json +1 -1
  171. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_et.json +1 -1
  172. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_fi.json +1 -1
  173. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_fr.json +1 -1
  174. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_he.json +1 -1
  175. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_hr.json +1 -1
  176. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_hu.json +1 -1
  177. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_id.json +1 -1
  178. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_it.json +1 -1
  179. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ja.json +1 -1
  180. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ko.json +1 -1
  181. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_lt.json +1 -1
  182. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_lv.json +1 -1
  183. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_nl.json +1 -1
  184. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_no.json +1 -1
  185. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_pl.json +1 -1
  186. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_pt-BR.json +1 -1
  187. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_pt-PT.json +1 -1
  188. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ro.json +1 -1
  189. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ru.json +1 -1
  190. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_sk.json +1 -1
  191. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_sl.json +1 -1
  192. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_sr.json +1 -1
  193. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_sv.json +1 -1
  194. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_th.json +1 -1
  195. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_tr.json +1 -1
  196. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_uk.json +1 -1
  197. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_vi.json +1 -1
  198. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_zh-CN.json +1 -1
  199. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_zh-HK.json +1 -1
  200. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_zh-TW.json +1 -1
  201. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ar.json +1 -1
  202. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_bg.json +1 -1
  203. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_bs.json +1 -1
  204. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ca.json +1 -1
  205. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_cs.json +1 -1
  206. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_da.json +1 -1
  207. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_de.json +1 -1
  208. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_el.json +1 -1
  209. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_es.json +1 -1
  210. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_et.json +1 -1
  211. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_fi.json +1 -1
  212. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_fr.json +1 -1
  213. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_he.json +1 -1
  214. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_hr.json +1 -1
  215. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_hu.json +1 -1
  216. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_id.json +1 -1
  217. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_it.json +1 -1
  218. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ja.json +1 -1
  219. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ko.json +1 -1
  220. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_lt.json +1 -1
  221. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_lv.json +1 -1
  222. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_nl.json +1 -1
  223. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_no.json +1 -1
  224. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pl.json +1 -1
  225. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pt-BR.json +1 -1
  226. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pt-PT.json +1 -1
  227. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ro.json +1 -1
  228. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ru.json +1 -1
  229. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sk.json +1 -1
  230. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sl.json +1 -1
  231. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sr.json +1 -1
  232. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sv.json +1 -1
  233. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_th.json +1 -1
  234. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_tr.json +1 -1
  235. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_uk.json +1 -1
  236. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_vi.json +1 -1
  237. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-CN.json +1 -1
  238. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-HK.json +1 -1
  239. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-TW.json +1 -1
  240. package/assets/esri/widgets/Sketch/t9n/Sketch_ar.json +1 -1
  241. package/assets/esri/widgets/Sketch/t9n/Sketch_bg.json +1 -1
  242. package/assets/esri/widgets/Sketch/t9n/Sketch_bs.json +1 -1
  243. package/assets/esri/widgets/Sketch/t9n/Sketch_ca.json +1 -1
  244. package/assets/esri/widgets/Sketch/t9n/Sketch_cs.json +1 -1
  245. package/assets/esri/widgets/Sketch/t9n/Sketch_da.json +1 -1
  246. package/assets/esri/widgets/Sketch/t9n/Sketch_de.json +1 -1
  247. package/assets/esri/widgets/Sketch/t9n/Sketch_el.json +1 -1
  248. package/assets/esri/widgets/Sketch/t9n/Sketch_es.json +1 -1
  249. package/assets/esri/widgets/Sketch/t9n/Sketch_et.json +1 -1
  250. package/assets/esri/widgets/Sketch/t9n/Sketch_fi.json +1 -1
  251. package/assets/esri/widgets/Sketch/t9n/Sketch_fr.json +1 -1
  252. package/assets/esri/widgets/Sketch/t9n/Sketch_he.json +1 -1
  253. package/assets/esri/widgets/Sketch/t9n/Sketch_hr.json +1 -1
  254. package/assets/esri/widgets/Sketch/t9n/Sketch_hu.json +1 -1
  255. package/assets/esri/widgets/Sketch/t9n/Sketch_id.json +1 -1
  256. package/assets/esri/widgets/Sketch/t9n/Sketch_it.json +1 -1
  257. package/assets/esri/widgets/Sketch/t9n/Sketch_ja.json +1 -1
  258. package/assets/esri/widgets/Sketch/t9n/Sketch_ko.json +1 -1
  259. package/assets/esri/widgets/Sketch/t9n/Sketch_lt.json +1 -1
  260. package/assets/esri/widgets/Sketch/t9n/Sketch_lv.json +1 -1
  261. package/assets/esri/widgets/Sketch/t9n/Sketch_nl.json +1 -1
  262. package/assets/esri/widgets/Sketch/t9n/Sketch_no.json +1 -1
  263. package/assets/esri/widgets/Sketch/t9n/Sketch_pl.json +1 -1
  264. package/assets/esri/widgets/Sketch/t9n/Sketch_pt-BR.json +1 -1
  265. package/assets/esri/widgets/Sketch/t9n/Sketch_pt-PT.json +1 -1
  266. package/assets/esri/widgets/Sketch/t9n/Sketch_ro.json +1 -1
  267. package/assets/esri/widgets/Sketch/t9n/Sketch_ru.json +1 -1
  268. package/assets/esri/widgets/Sketch/t9n/Sketch_sk.json +1 -1
  269. package/assets/esri/widgets/Sketch/t9n/Sketch_sl.json +1 -1
  270. package/assets/esri/widgets/Sketch/t9n/Sketch_sr.json +1 -1
  271. package/assets/esri/widgets/Sketch/t9n/Sketch_sv.json +1 -1
  272. package/assets/esri/widgets/Sketch/t9n/Sketch_th.json +1 -1
  273. package/assets/esri/widgets/Sketch/t9n/Sketch_tr.json +1 -1
  274. package/assets/esri/widgets/Sketch/t9n/Sketch_uk.json +1 -1
  275. package/assets/esri/widgets/Sketch/t9n/Sketch_vi.json +1 -1
  276. package/assets/esri/widgets/Sketch/t9n/Sketch_zh-CN.json +1 -1
  277. package/assets/esri/widgets/Sketch/t9n/Sketch_zh-HK.json +1 -1
  278. package/assets/esri/widgets/Sketch/t9n/Sketch_zh-TW.json +1 -1
  279. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_ar.json +1 -1
  280. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_bg.json +1 -1
  281. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_bs.json +1 -1
  282. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_ca.json +1 -1
  283. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_cs.json +1 -1
  284. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_da.json +1 -1
  285. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_de.json +1 -1
  286. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_el.json +1 -1
  287. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_es.json +1 -1
  288. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_et.json +1 -1
  289. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_fi.json +1 -1
  290. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_fr.json +1 -1
  291. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_he.json +1 -1
  292. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_hr.json +1 -1
  293. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_hu.json +1 -1
  294. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_id.json +1 -1
  295. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_it.json +1 -1
  296. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_ja.json +1 -1
  297. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_ko.json +1 -1
  298. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_lt.json +1 -1
  299. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_lv.json +1 -1
  300. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_nl.json +1 -1
  301. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_no.json +1 -1
  302. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_pl.json +1 -1
  303. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_pt-BR.json +1 -1
  304. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_pt-PT.json +1 -1
  305. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_ro.json +1 -1
  306. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_ru.json +1 -1
  307. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_sk.json +1 -1
  308. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_sl.json +1 -1
  309. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_sr.json +1 -1
  310. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_sv.json +1 -1
  311. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_th.json +1 -1
  312. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_tr.json +1 -1
  313. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_uk.json +1 -1
  314. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_vi.json +1 -1
  315. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_zh-CN.json +1 -1
  316. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_zh-HK.json +1 -1
  317. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_zh-TW.json +1 -1
  318. package/chunks/AtmosphereCompositing.glsl.js +2 -2
  319. package/chunks/BlendLayers.glsl.js +1 -1
  320. package/chunks/BlendWeights.glsl.js +1 -1
  321. package/chunks/BloomBlur.glsl.js +23 -23
  322. package/chunks/BloomComposition.glsl.js +3 -3
  323. package/chunks/BloomDepthAdjust.glsl.js +2 -2
  324. package/chunks/Blur.glsl.js +1 -1
  325. package/chunks/Bufferer-DjC-SKTJ.js +5 -0
  326. package/chunks/ChapmanAtmosphere.glsl.js +2 -2
  327. package/chunks/CheckerBoard.glsl.js +2 -2
  328. package/chunks/Clouds.glsl.js +14 -14
  329. package/chunks/CloudsComposition.glsl.js +1 -1
  330. package/chunks/ColorMaterial.glsl.js +1 -1
  331. package/chunks/ComponentShader.glsl.js +4 -4
  332. package/chunks/Compositing.glsl.js +2 -2
  333. package/chunks/DefaultMaterial.glsl.js +16 -15
  334. package/chunks/{Distance2DCalculator-C9BrfErD.js → Distance2DCalculator-8-JrFGHH.js} +1 -1
  335. package/chunks/EdgeDetect.glsl.js +2 -2
  336. package/chunks/EdgeShader.glsl.js +2 -2
  337. package/chunks/Envelope.js +1 -1
  338. package/chunks/FocusAreaColor.glsl.js +2 -2
  339. package/chunks/FocusAreaMask.glsl.js +1 -1
  340. package/chunks/Fog.glsl.js +3 -3
  341. package/chunks/GeodeticDistanceCalculator-BsWHOuqE.js +5 -0
  342. package/chunks/Geometry.js +1 -1
  343. package/chunks/HUDCompositing.glsl.js +1 -1
  344. package/chunks/HUDMaterial.glsl.js +24 -24
  345. package/chunks/Haze.glsl.js +3 -3
  346. package/chunks/HazeCompositing.glsl.js +2 -2
  347. package/chunks/Heatmap.glsl.js +1 -1
  348. package/chunks/HeatmapDensity.glsl.js +5 -5
  349. package/chunks/HighlightApply.glsl.js +2 -2
  350. package/chunks/HighlightDownsample.glsl.js +2 -2
  351. package/chunks/HighlightToSingle.glsl.js +2 -2
  352. package/chunks/ImageMaterial.glsl.js +4 -4
  353. package/chunks/LaserlinePath.glsl.js +1 -1
  354. package/chunks/Laserlines.glsl.js +1 -1
  355. package/chunks/LineCallout.glsl.js +1 -1
  356. package/chunks/LineMarker.glsl.js +8 -8
  357. package/chunks/Magnifier.glsl.js +4 -4
  358. package/chunks/MeasurementArrow.glsl.js +2 -2
  359. package/chunks/NativeLine.glsl.js +4 -4
  360. package/chunks/NoiseTextureAtlas.glsl.js +34 -34
  361. package/chunks/OITBlend.glsl.js +3 -3
  362. package/chunks/OperatorClip.js +1 -1
  363. package/chunks/OperatorCut.js +1 -1
  364. package/chunks/OperatorGeneralize.js +1 -1
  365. package/chunks/OperatorGeodesicBuffer.js +1 -1
  366. package/chunks/OperatorGeodeticArea.js +1 -1
  367. package/chunks/OperatorGeodeticDensifyByLength.js +1 -1
  368. package/chunks/OperatorGeodeticDistance.js +1 -1
  369. package/chunks/OperatorGeodeticLength.js +1 -1
  370. package/chunks/OperatorMultiPartToSinglePart.js +1 -1
  371. package/chunks/OperatorProximity.js +1 -1
  372. package/chunks/OperatorProximityGeodesic.js +1 -1
  373. package/chunks/OperatorShapePreservingLength.js +1 -1
  374. package/chunks/OperatorShapePreservingProject.js +1 -1
  375. package/chunks/OverlayCompositing.glsl.js +1 -1
  376. package/chunks/Path.glsl.js +9 -9
  377. package/chunks/Pattern.glsl.js +3 -3
  378. package/chunks/Point2D.js +1 -1
  379. package/chunks/PointRenderer.glsl.js +1 -1
  380. package/chunks/Precipitation.glsl.js +1 -1
  381. package/chunks/ProjectionTransformation.js +1 -1
  382. package/chunks/QuadraticBezier.js +1 -1
  383. package/chunks/RasterColorizer.glsl.js +9 -9
  384. package/chunks/RealisticTree.glsl.js +3 -3
  385. package/chunks/RibbonLine.glsl.js +32 -32
  386. package/chunks/SSAO.glsl.js +2 -2
  387. package/chunks/SSAOBlur.glsl.js +1 -1
  388. package/chunks/ShadedColorMaterial.glsl.js +3 -3
  389. package/chunks/ShadowCastAccumulate.glsl.js +2 -2
  390. package/chunks/ShadowCastVisualize.glsl.js +4 -4
  391. package/chunks/ShadowHighlight.glsl.js +2 -2
  392. package/chunks/{SideCalculator2D-Bf4QCxCR.js → SideCalculator2D-BNwb5gvz.js} +1 -1
  393. package/chunks/SimpleAtmosphere.glsl.js +8 -8
  394. package/chunks/SingleHighlightApply.glsl.js +1 -1
  395. package/chunks/SingleHighlightBlur.glsl.js +6 -7
  396. package/chunks/SlicePlaneMaterial.glsl.js +2 -2
  397. package/chunks/Stars.glsl.js +2 -2
  398. package/chunks/Terrain.glsl.js +2 -2
  399. package/chunks/TextureOnly.glsl.js +2 -2
  400. package/chunks/Viewshed.glsl.js +2 -2
  401. package/chunks/WaterSurface.glsl.js +7 -7
  402. package/chunks/distanceOperator.js +1 -1
  403. package/chunks/relateOperator.js +1 -1
  404. package/core/QueueProcessor.js +5 -0
  405. package/core/accessorSupport/decorators.d.ts +4 -2
  406. package/core/has.js +1 -1
  407. package/core/jsonMap.js +1 -1
  408. package/core/lang.d.ts +1 -2
  409. package/core/libs/gl-matrix-2/factories/vec2f64.js +1 -1
  410. package/core/mathUtils.js +1 -1
  411. package/core/promiseUtils.d.ts +5 -2
  412. package/core/quantity.d.ts +3 -2
  413. package/core/reactiveUtils.d.ts +5 -2
  414. package/core/scheduling.d.ts +2 -2
  415. package/core/sql/WhereClauseCache.js +1 -1
  416. package/core/sql.d.ts +1 -2
  417. package/core/sql.js +1 -1
  418. package/core/units.d.ts +9 -2
  419. package/core/urlUtils.d.ts +5 -2
  420. package/core/workers.d.ts +1 -2
  421. package/editing/sharedTemplates/executor/builders/bufferLineToPolygon.js +1 -1
  422. package/editing/sharedTemplates/executor/builders/bufferPointToPolygon.js +1 -1
  423. package/editing/sharedTemplates/executor/builders/bufferPolygonToPolygon.js +1 -1
  424. package/editing/sharedTemplates/executor/builders/connectionPoint.js +1 -1
  425. package/editing/sharedTemplates/executor/builders/equallySpaced.js +1 -1
  426. package/editing/sharedTemplates/executor/builders/offsetLine.js +1 -1
  427. package/editing/sharedTemplates/executor/builders/offsetPrimaryLine.js +1 -1
  428. package/editing/sharedTemplates/executor/builders/pointAtAllVerticesOfLine.js +1 -1
  429. package/editing/sharedTemplates/executor/builders/pointAtBeginningOfLine.js +1 -1
  430. package/editing/sharedTemplates/executor/builders/pointAtBeginningOfRadial.js +1 -1
  431. package/editing/sharedTemplates/executor/builders/pointAtEndOfLine.js +1 -1
  432. package/editing/sharedTemplates/executor/builders/pointAtInteriorVertices.js +1 -1
  433. package/editing/sharedTemplates/executor/builders/pointAtIntersectionVerticesOfLine.js +1 -1
  434. package/editing/sharedTemplates/executor/builders/pointAtNotBeginningOfLine.js +1 -1
  435. package/editing/sharedTemplates/executor/builders/pointAtNotEndOfLine.js +1 -1
  436. package/editing/sharedTemplates/executor/builders/pointAtPolygonCentroid.js +1 -1
  437. package/editing/sharedTemplates/executor/builders/pointAtPolygonNotStart.js +1 -1
  438. package/editing/sharedTemplates/executor/builders/pointAtPolygonStart.js +1 -1
  439. package/editing/sharedTemplates/executor/builders/pointIdentity.js +1 -1
  440. package/editing/sharedTemplates/executor/builders/pointPrimaryIdentity.js +1 -1
  441. package/editing/sharedTemplates/executor/builders/polygonBoundary.js +1 -1
  442. package/editing/sharedTemplates/executor/builders/polygonBoundaryTwoPoint.js +1 -1
  443. package/editing/sharedTemplates/executor/builders/polygonIdentity.js +1 -1
  444. package/editing/sharedTemplates/executor/builders/polygonPrimaryIdentity.js +1 -1
  445. package/editing/sharedTemplates/executor/builders/polygonVertices.js +1 -1
  446. package/editing/sharedTemplates/executor/builders/radialLines.js +1 -1
  447. package/editing/sharedTemplates/executor/builders/twoPointLines.js +1 -1
  448. package/editing/sharedTemplates/executor/createTemplateExecutor.js +5 -0
  449. package/editing/sharedTemplates/executor/support/createServiceEdit.js +1 -1
  450. package/editing/sharedTemplates/executor/support/executorUtils.js +1 -1
  451. package/editing/sharedTemplates/executor/support/getBuilder.js +5 -0
  452. package/editing/templateUtils.js +1 -1
  453. package/form/elements/inputs.d.ts +11 -2
  454. package/form/elements.d.ts +7 -2
  455. package/geometry/coordinateFormatter.d.ts +11 -2
  456. package/geometry/geometryEngine.d.ts +37 -2
  457. package/geometry/geometryEngineAsync.d.ts +37 -2
  458. package/geometry/operators/affineTransformOperator.d.ts +3 -2
  459. package/geometry/operators/alphaShapeOperator.d.ts +3 -2
  460. package/geometry/operators/areaOperator.d.ts +2 -2
  461. package/geometry/operators/autoCompleteOperator.d.ts +2 -2
  462. package/geometry/operators/boundaryOperator.d.ts +3 -2
  463. package/geometry/operators/bufferOperator.d.ts +3 -2
  464. package/geometry/operators/centroidOperator.d.ts +2 -2
  465. package/geometry/operators/clipOperator.d.ts +3 -2
  466. package/geometry/operators/containsOperator.d.ts +3 -2
  467. package/geometry/operators/convexHullOperator.d.ts +4 -2
  468. package/geometry/operators/crossesOperator.d.ts +3 -2
  469. package/geometry/operators/cutOperator.d.ts +2 -2
  470. package/geometry/operators/densifyOperator.d.ts +3 -2
  471. package/geometry/operators/differenceOperator.d.ts +3 -2
  472. package/geometry/operators/disjointOperator.d.ts +3 -2
  473. package/geometry/operators/distanceOperator.d.ts +2 -2
  474. package/geometry/operators/equalsOperator.d.ts +3 -2
  475. package/geometry/operators/extendOperator.d.ts +2 -2
  476. package/geometry/operators/extendOperator.js +1 -1
  477. package/geometry/operators/generalizeOperator.d.ts +3 -2
  478. package/geometry/operators/geodesicBufferOperator.d.ts +5 -2
  479. package/geometry/operators/geodesicProximityOperator.d.ts +6 -2
  480. package/geometry/operators/geodeticAreaOperator.d.ts +4 -2
  481. package/geometry/operators/geodeticDensifyOperator.d.ts +5 -2
  482. package/geometry/operators/geodeticDistanceOperator.d.ts +4 -2
  483. package/geometry/operators/geodeticLengthOperator.d.ts +4 -2
  484. package/geometry/operators/graphicBufferOperator.d.ts +2 -2
  485. package/geometry/operators/gx/operatorAlphaShape.js +1 -1
  486. package/geometry/operators/gx/operatorAutoComplete.js +1 -1
  487. package/geometry/operators/gx/operatorBoundary.js +1 -1
  488. package/geometry/operators/gx/operatorBuffer.js +1 -1
  489. package/geometry/operators/gx/operatorConvexHull.js +1 -1
  490. package/geometry/operators/gx/operatorDifference.js +1 -1
  491. package/geometry/operators/gx/operatorGeodesicBuffer.js +1 -1
  492. package/geometry/operators/gx/operatorGeodeticArea.js +1 -1
  493. package/geometry/operators/gx/operatorGeodeticDensify.js +1 -1
  494. package/geometry/operators/gx/operatorGeodeticDistance.js +1 -1
  495. package/geometry/operators/gx/operatorGeodeticLength.js +1 -1
  496. package/geometry/operators/gx/operatorGraphicBuffer.js +1 -1
  497. package/geometry/operators/gx/operatorIntegrate.js +1 -1
  498. package/geometry/operators/gx/operatorIntersection.js +1 -1
  499. package/geometry/operators/gx/operatorLabelPoint.js +1 -1
  500. package/geometry/operators/gx/operatorLinesToPolygons.js +1 -1
  501. package/geometry/operators/gx/operatorLocateBetween.js +1 -1
  502. package/geometry/operators/gx/operatorMinimumBoundingCircle.js +1 -1
  503. package/geometry/operators/gx/operatorOffset.js +1 -1
  504. package/geometry/operators/gx/operatorPolygonOverlay.js +1 -1
  505. package/geometry/operators/gx/operatorPolygonSlicer.js +1 -1
  506. package/geometry/operators/gx/operatorProject.js +1 -1
  507. package/geometry/operators/gx/operatorProximityGeodesic.js +1 -1
  508. package/geometry/operators/gx/operatorShapePreservingProject.js +1 -1
  509. package/geometry/operators/gx/operatorSimplify.js +1 -1
  510. package/geometry/operators/gx/operatorSinglePartToMultiPart.js +1 -1
  511. package/geometry/operators/gx/operatorSymmetricDifference.js +1 -1
  512. package/geometry/operators/gx/operatorUnion.js +1 -1
  513. package/geometry/operators/integrateOperator.d.ts +2 -2
  514. package/geometry/operators/intersectionOperator.d.ts +4 -2
  515. package/geometry/operators/intersectsOperator.d.ts +3 -2
  516. package/geometry/operators/isNearOperator.d.ts +2 -2
  517. package/geometry/operators/isNearOperator.js +1 -1
  518. package/geometry/operators/labelPointOperator.d.ts +3 -2
  519. package/geometry/operators/lengthOperator.d.ts +2 -2
  520. package/geometry/operators/linesToPolygonsOperator.d.ts +2 -2
  521. package/geometry/operators/locateBetweenOperator.d.ts +2 -2
  522. package/geometry/operators/minimumBoundingCircleOperator.d.ts +3 -2
  523. package/geometry/operators/multiPartToSinglePartOperator.d.ts +2 -2
  524. package/geometry/operators/offsetOperator.d.ts +3 -2
  525. package/geometry/operators/overlapsOperator.d.ts +3 -2
  526. package/geometry/operators/polygonOverlayOperator.d.ts +2 -2
  527. package/geometry/operators/polygonSlicerOperator.d.ts +4 -2
  528. package/geometry/operators/projectOperator.d.ts +5 -2
  529. package/geometry/operators/projectOperator.js +1 -1
  530. package/geometry/operators/proximityOperator.d.ts +4 -2
  531. package/geometry/operators/relateOperator.d.ts +4 -2
  532. package/geometry/operators/reshapeOperator.d.ts +2 -2
  533. package/geometry/operators/reshapeOperator.js +1 -1
  534. package/geometry/operators/shapePreservingProjectOperator.d.ts +5 -2
  535. package/geometry/operators/shapePreservingProjectOperator.js +1 -1
  536. package/geometry/operators/simplifyOperator.d.ts +4 -2
  537. package/geometry/operators/support/geographicTransformationUtils.d.ts +4 -2
  538. package/geometry/operators/support/geographicTransformationUtils.js +1 -1
  539. package/geometry/operators/support/initNoPeFactory.js +1 -1
  540. package/geometry/operators/support/jsonConverter.js +1 -1
  541. package/geometry/operators/symmetricDifferenceOperator.d.ts +3 -2
  542. package/geometry/operators/touchesOperator.d.ts +3 -2
  543. package/geometry/operators/unionOperator.d.ts +3 -2
  544. package/geometry/operators/withinOperator.d.ts +3 -2
  545. package/geometry/projection.d.ts +5 -2
  546. package/geometry/support/geodesicUtils.d.ts +5 -2
  547. package/geometry/support/jsonUtils.d.ts +2 -2
  548. package/geometry/support/meshUtils.d.ts +6 -2
  549. package/geometry/support/normalizeUtils.d.ts +2 -2
  550. package/geometry/support/scaleUtils.js +1 -1
  551. package/geometry/support/webMercatorUtils.d.ts +6 -2
  552. package/geometry.d.ts +7 -2
  553. package/interfaces.d.ts +72 -94
  554. package/intl.d.ts +16 -2
  555. package/kernel.d.ts +2 -2
  556. package/layers/ImageryLayer.js +1 -1
  557. package/layers/ImageryTileLayer.js +1 -1
  558. package/layers/LinkChartLayer.js +1 -1
  559. package/layers/catalog/catalogUtils.d.ts +2 -2
  560. package/layers/graphics/OptimizedGeometry.js +1 -1
  561. package/layers/graphics/controllers/FeatureTileController3D.js +1 -1
  562. package/layers/graphics/sources/ParquetSource.js +1 -1
  563. package/layers/knowledgeGraph/KnowledgeGraphSublayer.js +1 -1
  564. package/layers/knowledgeGraph/cypherUtils.d.ts +1 -2
  565. package/layers/knowledgeGraph/layerUtils.js +1 -1
  566. package/layers/knowledgeGraph/supportUtils.d.ts +4 -2
  567. package/layers/mixins/APIKeyMixin.d.ts +1 -1
  568. package/layers/mixins/ArcGISCachedService.d.ts +1 -1
  569. package/layers/mixins/ArcGISImageService.d.ts +1 -1
  570. package/layers/mixins/ArcGISMapService.d.ts +1 -1
  571. package/layers/mixins/BlendLayer.d.ts +1 -1
  572. package/layers/mixins/CustomParametersMixin.d.ts +1 -1
  573. package/layers/mixins/DisplayFilteredLayer.d.ts +1 -1
  574. package/layers/mixins/FeatureEffectLayer.d.ts +1 -1
  575. package/layers/mixins/FeatureLayerBase.d.ts +1 -1
  576. package/layers/mixins/FeatureReductionLayer.d.ts +1 -1
  577. package/layers/mixins/ImageryTileMixin.d.ts +1 -1
  578. package/layers/mixins/ImageryTileMixin.js +1 -1
  579. package/layers/mixins/OperationalLayer.d.ts +1 -1
  580. package/layers/mixins/OrderedLayer.d.ts +1 -1
  581. package/layers/mixins/PortalLayer.d.ts +1 -1
  582. package/layers/mixins/PublishableLayer.d.ts +1 -1
  583. package/layers/mixins/RasterPresetRendererMixin.d.ts +1 -1
  584. package/layers/mixins/RefreshableLayer.d.ts +1 -1
  585. package/layers/mixins/ScaleRangeLayer.d.ts +1 -1
  586. package/layers/mixins/SceneService.d.ts +1 -1
  587. package/layers/mixins/SublayersOwner.d.ts +1 -1
  588. package/layers/mixins/TemporalLayer.d.ts +1 -1
  589. package/layers/mixins/TemporalSceneLayer.d.ts +1 -1
  590. package/layers/ogc/wcsUtils.d.ts +1 -2
  591. package/layers/ogc/wfsUtils.d.ts +2 -2
  592. package/layers/orientedImagery/transformations/imageToWorld.d.ts +1 -2
  593. package/layers/orientedImagery/transformations/worldToImage.d.ts +1 -2
  594. package/layers/support/DisplayFilterInfo.js +1 -1
  595. package/layers/support/Sublayer.js +1 -1
  596. package/layers/support/TrackInfo.js +1 -1
  597. package/layers/support/TrackPartInfo.js +5 -0
  598. package/layers/support/arcadeUtils.d.ts +1 -2
  599. package/layers/support/arcadeUtils.js +1 -1
  600. package/layers/support/csvUtils.d.ts +1 -2
  601. package/layers/support/displayFilterUtils.js +1 -1
  602. package/layers/support/featureLayerUtils.js +1 -1
  603. package/layers/support/fieldUtils.d.ts +8 -2
  604. package/layers/support/fieldUtils.js +1 -1
  605. package/layers/support/layerOriginUtils.js +1 -1
  606. package/layers/support/rasterDatasets/BaseRaster.js +1 -1
  607. package/layers/support/rasterFieldUtils.js +1 -1
  608. package/layers/support/rasterFunctionConstants.d.ts +15 -2
  609. package/layers/support/rasterFunctionUtils.d.ts +105 -2
  610. package/layers/support/serviceCapabilitiesUtils.js +1 -1
  611. package/libs/linkchartlayout/LinkChartLayout.js +1 -1
  612. package/package.json +3 -3
  613. package/pointCloudRenderers.d.ts +5 -2
  614. package/popup/content.d.ts +9 -2
  615. package/rasterRenderers.d.ts +7 -2
  616. package/renderers/mixins/VisualVariablesMixin.d.ts +1 -1
  617. package/renderers/support/jsonUtils.d.ts +1 -2
  618. package/renderers/support/utils.d.ts +2 -2
  619. package/renderers.d.ts +9 -2
  620. package/request.js +1 -1
  621. package/rest/closestFacility.d.ts +1 -2
  622. package/rest/featureService/utils.d.ts +1 -2
  623. package/rest/find.d.ts +1 -2
  624. package/rest/geometryService.d.ts +21 -2
  625. package/rest/geoprocessor.d.ts +2 -2
  626. package/rest/identify.d.ts +1 -2
  627. package/rest/imageService.d.ts +19 -2
  628. package/rest/knowledgeGraphService.d.ts +11 -2
  629. package/rest/knowledgeGraphService.js +1 -1
  630. package/rest/locator.d.ts +4 -2
  631. package/rest/networkService.d.ts +1 -2
  632. package/rest/networks/queryAssociations.d.ts +1 -2
  633. package/rest/networks/synthesizeAssociationGeometries.d.ts +1 -2
  634. package/rest/networks/trace.d.ts +1 -2
  635. package/rest/places.d.ts +3 -2
  636. package/rest/print.d.ts +2 -2
  637. package/rest/query.d.ts +11 -2
  638. package/rest/route.d.ts +1 -2
  639. package/rest/serviceArea.d.ts +1 -2
  640. package/rest/symbolService.d.ts +1 -2
  641. package/smartMapping/labels/bins.d.ts +1 -2
  642. package/smartMapping/labels/clusters.d.ts +1 -2
  643. package/smartMapping/popup/clusters.d.ts +1 -2
  644. package/smartMapping/popup/templates.d.ts +1 -2
  645. package/smartMapping/raster/renderers/classBreaks.d.ts +1 -2
  646. package/smartMapping/raster/renderers/colormap.d.ts +1 -2
  647. package/smartMapping/raster/renderers/flow.d.ts +1 -2
  648. package/smartMapping/raster/renderers/rgb.d.ts +1 -2
  649. package/smartMapping/raster/renderers/shadedRelief.d.ts +1 -2
  650. package/smartMapping/raster/renderers/stretch.d.ts +1 -2
  651. package/smartMapping/raster/renderers/uniqueValue.d.ts +1 -2
  652. package/smartMapping/raster/renderers/vectorField.d.ts +1 -2
  653. package/smartMapping/raster/support/colorRamps.d.ts +5 -2
  654. package/smartMapping/raster/support/utils.d.ts +2 -2
  655. package/smartMapping/renderers/color.d.ts +6 -2
  656. package/smartMapping/renderers/dotDensity.d.ts +1 -2
  657. package/smartMapping/renderers/dotDensity.js +1 -1
  658. package/smartMapping/renderers/heatmap.d.ts +2 -2
  659. package/smartMapping/renderers/heatmap.js +1 -1
  660. package/smartMapping/renderers/location.d.ts +1 -2
  661. package/smartMapping/renderers/opacity.d.ts +1 -2
  662. package/smartMapping/renderers/pieChart.d.ts +2 -2
  663. package/smartMapping/renderers/predominance.d.ts +1 -2
  664. package/smartMapping/renderers/relationship.d.ts +2 -2
  665. package/smartMapping/renderers/size.d.ts +5 -2
  666. package/smartMapping/renderers/support/rendererUtils.d.ts +1 -2
  667. package/smartMapping/renderers/type.d.ts +2 -2
  668. package/smartMapping/renderers/univariateColorSize.d.ts +2 -2
  669. package/smartMapping/statistics/heatmapStatistics.js +1 -1
  670. package/smartMapping/statistics/summaryStatisticsForAttributes.js +1 -1
  671. package/smartMapping/statistics/support/ageUtils.d.ts +1 -2
  672. package/smartMapping/statistics/support/predominanceUtils.d.ts +1 -2
  673. package/smartMapping/support/adapters/CSVLayerAdapter.js +1 -1
  674. package/smartMapping/support/adapters/FeatureLayerAdapter.js +1 -1
  675. package/smartMapping/support/adapters/FeatureLayerBinningAdapter.js +1 -1
  676. package/smartMapping/support/adapters/InMemoryLayerAdapter.js +1 -1
  677. package/smartMapping/support/adapters/LayerAdapter.js +1 -1
  678. package/smartMapping/support/adapters/OGCFeatureLayerAdapter.js +1 -1
  679. package/smartMapping/support/adapters/PointCloudLayerAdapter.js +1 -1
  680. package/smartMapping/support/adapters/SceneLayerAdapter.js +1 -1
  681. package/smartMapping/support/adapters/StreamLayerAdapter.js +1 -1
  682. package/smartMapping/support/adapters/support/histogramUtils.js +5 -0
  683. package/smartMapping/support/adapters/support/layerUtils.js +1 -1
  684. package/smartMapping/support/adapters/support/utils.js +1 -1
  685. package/smartMapping/symbology/color.d.ts +7 -2
  686. package/smartMapping/symbology/dotDensity.d.ts +4 -2
  687. package/smartMapping/symbology/flow.d.ts +5 -2
  688. package/smartMapping/symbology/heatmap.d.ts +5 -2
  689. package/smartMapping/symbology/location.d.ts +3 -2
  690. package/smartMapping/symbology/pieChart.d.ts +5 -2
  691. package/smartMapping/symbology/predominance.d.ts +5 -2
  692. package/smartMapping/symbology/relationship.d.ts +5 -2
  693. package/smartMapping/symbology/size.d.ts +3 -2
  694. package/smartMapping/symbology/support/colorRamps.d.ts +4 -2
  695. package/smartMapping/symbology/type.d.ts +5 -2
  696. package/support/LayersMixin.d.ts +1 -1
  697. package/support/TablesMixin.d.ts +1 -1
  698. package/support/featureFlags.js +1 -1
  699. package/support/popupUtils.d.ts +4 -2
  700. package/support/revision.js +1 -1
  701. package/support/timeUtils.d.ts +3 -2
  702. package/symbols/support/cimConversionUtils.d.ts +1 -2
  703. package/symbols/support/cimSymbolUtils.d.ts +6 -2
  704. package/symbols/support/jsonUtils.d.ts +1 -2
  705. package/symbols/support/symbolUtils.d.ts +7 -2
  706. package/symbols.d.ts +29 -2
  707. package/tables/elements.d.ts +5 -2
  708. package/unionTypes.d.ts +12 -2
  709. package/versionManagement/utils.d.ts +2 -2
  710. package/versionManagement/versionAdapters/utils.d.ts +2 -2
  711. package/views/2d/engine/webgl/TextureManager.js +1 -1
  712. package/views/2d/engine/webgl/mesh/factories/FeatureMeshFactory.js +1 -1
  713. package/views/2d/engine/webgl/shaderGraph/GraphShaderModule.js +1 -1
  714. package/views/2d/engine/webgl/shaderGraph/graph/ShaderGraphContext.js +1 -1
  715. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedMarkerTechnique.js +1 -1
  716. package/views/2d/engine/webgl/shaderGraph/techniques/dotDensity/DotDensityPointShader.js +1 -1
  717. package/views/2d/engine/webgl/shaderGraph/techniques/dotDensity/DotDensityPolygonShader.js +1 -1
  718. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/AFeatureShader.js +1 -1
  719. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/BitmapShader.js +1 -1
  720. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/BlendShader.js +1 -1
  721. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/GridShader.js +1 -1
  722. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/HeatmapResolveShader.js +1 -1
  723. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/MagnifierShader.js +1 -1
  724. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/OpacityShader.js +1 -1
  725. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/OverlayShader.js +1 -1
  726. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/TestShader.js +1 -1
  727. package/views/2d/engine/webgl/util/LabelMatcher.js +1 -1
  728. package/views/2d/engine/webgl/util/Matcher.js +1 -1
  729. package/views/2d/engine/webgl/util/createMatcher.js +1 -1
  730. package/views/2d/layers/FeatureLayerView2D.js +1 -1
  731. package/views/2d/layers/MediaLayerView2D.js +1 -1
  732. package/views/2d/layers/SubtypeGroupLayerView2D.js +1 -1
  733. package/views/2d/layers/TileLayerView2D.js +1 -1
  734. package/views/2d/layers/features/Processor.js +1 -1
  735. package/views/2d/layers/features/ProcessorTileMessageQueue.js +1 -1
  736. package/views/2d/layers/features/aggregation/AAggregateSpatialIndex.js +1 -1
  737. package/views/2d/layers/features/layerAdapters/CatalogFootprintLayerAdapter.js +1 -1
  738. package/views/2d/layers/features/layerAdapters/FeatureLayerAdapter.js +1 -1
  739. package/views/2d/layers/features/layerAdapters/InMemoryLayerAdapter.js +1 -1
  740. package/views/2d/layers/features/layerAdapters/KnowledgeGraphSublayerAdapter.js +1 -1
  741. package/views/2d/layers/features/layerAdapters/OGCFeatureLayerAdapter.js +1 -1
  742. package/views/2d/layers/features/layerAdapters/OrientedImageryLayerAdapter.js +1 -1
  743. package/views/2d/layers/features/layerAdapters/ParquetLayerAdapter.js +1 -1
  744. package/views/2d/layers/features/layerAdapters/StreamLayerAdapter.js +1 -1
  745. package/views/2d/layers/features/layerAdapters/SubtypeGroupLayerAdapter.js +1 -1
  746. package/views/2d/layers/features/processor/AAggregateStrategy.js +1 -1
  747. package/views/2d/layers/features/processor/AProcessorStrategy.js +1 -1
  748. package/views/2d/layers/features/processor/BinningStrategy.js +1 -1
  749. package/views/2d/layers/features/processor/ClusterStrategy.js +1 -1
  750. package/views/2d/layers/features/processor/FeatureUpdateStrategy.js +1 -1
  751. package/views/2d/layers/features/processor/TrackStrategy.js +1 -1
  752. package/views/2d/layers/features/schema/processor/SimpleProcessorSchema.js +1 -1
  753. package/views/2d/layers/features/schema/processor/StorageSchema.js +1 -1
  754. package/views/2d/layers/features/schema/processor/SubtypeProcessorSchema.js +1 -1
  755. package/views/2d/layers/features/sources/FeatureSourceQueryInfo.js +1 -1
  756. package/views/2d/layers/features/sources/strategies/AFetchLoadStrategy.js +1 -1
  757. package/views/2d/layers/features/sources/strategies/DrillDownTileLoadStrategy.js +1 -1
  758. package/views/2d/layers/features/sources/strategies/PagedTileLoadStrategy.js +1 -1
  759. package/views/2d/layers/features/sources/strategies/ParquetLoadStrategy.js +1 -1
  760. package/views/2d/layers/features/sources/strategies/SnapshotLoadStrategy.js +1 -1
  761. package/views/2d/layers/features/sources/strategies/StreamLoadStrategy.js +1 -1
  762. package/views/2d/layers/features/support/AttributeStore.js +1 -1
  763. package/views/2d/layers/features/support/FeatureFilterEvaluator.js +5 -0
  764. package/views/2d/layers/features/support/FeatureMetadata.js +1 -1
  765. package/views/2d/layers/features/support/FeatureSetReader.js +1 -1
  766. package/views/2d/layers/features/support/FeatureSetReaderIndirect.js +1 -1
  767. package/views/2d/layers/features/support/FeatureSetReaderPBF.js +1 -1
  768. package/views/2d/layers/features/support/FeatureSetReaderParquet.js +1 -1
  769. package/views/2d/layers/features/support/whereUtils.js +1 -1
  770. package/views/2d/layers/support/FeatureCommandQueue.js +1 -1
  771. package/views/2d/tiling/TileQueue.js +1 -1
  772. package/views/3d/environment/ChapmanApproximation.glsl.js +3 -3
  773. package/views/3d/environment/ChapmanAtmosphere.glsl.js +1 -1
  774. package/views/3d/environment/ChapmanAtmosphere.js +1 -1
  775. package/views/3d/environment/ChapmanRaymarching.glsl.js +4 -4
  776. package/views/3d/environment/Clouds.glsl.js +1 -1
  777. package/views/3d/environment/CloudsComposition.glsl.js +1 -1
  778. package/views/3d/environment/CloudsComposition.js +1 -1
  779. package/views/3d/environment/EnvironmentRenderer.js +1 -1
  780. package/views/3d/environment/Fog.glsl.js +1 -1
  781. package/views/3d/environment/Fog.js +1 -1
  782. package/views/3d/environment/LocalAtmosphere.js +1 -1
  783. package/views/3d/environment/MarsAtmosphere.js +1 -1
  784. package/views/3d/environment/NoiseTextureAtlas.glsl.js +1 -1
  785. package/views/3d/environment/Precipitation.glsl.js +1 -1
  786. package/views/3d/environment/Precipitation.js +1 -1
  787. package/views/3d/environment/PrecipitationTechnique.js +1 -1
  788. package/views/3d/environment/SimpleAtmosphere.glsl.js +1 -1
  789. package/views/3d/interactive/visualElements/LaserlineVisualElement.js +1 -1
  790. package/views/3d/interactive/visualElements/PointVisualElement.js +1 -1
  791. package/views/3d/layers/FeatureLayerViewBase3D.js +1 -1
  792. package/views/3d/layers/SceneLayerWorker.js +1 -1
  793. package/views/3d/layers/graphics/Graphics3DIconSymbolLayer.js +1 -1
  794. package/views/3d/layers/graphics/Labeler.js +1 -1
  795. package/views/3d/layers/graphics/pipeline/Feature3DPipelineWorker.js +1 -1
  796. package/views/3d/layers/graphics/pipeline/Feature3DPipelineWorkerHandle.js +1 -1
  797. package/views/3d/layers/graphics/pipeline/Tile.js +1 -1
  798. package/views/3d/layers/graphics/pipeline/Tile3DManager.js +1 -1
  799. package/views/3d/layers/graphics/pipeline/featureData/FeatureData.js +1 -1
  800. package/views/3d/layers/graphics/pipeline/featureData/FeatureDataStore.js +1 -1
  801. package/views/3d/layers/graphics/pipeline/featureSet/PBFPointFeatureSetView.js +1 -1
  802. package/views/3d/layers/graphics/pipeline/featureSet/TiledFeatureStore.js +1 -1
  803. package/views/3d/layers/graphics/pipeline/fetching/Tile3DFetcher.js +1 -1
  804. package/views/3d/layers/graphics/pipeline/rendering/FeaturePipelineRenderManager.js +1 -1
  805. package/views/3d/layers/graphics/wosrLoader.js +1 -1
  806. package/views/3d/layers/support/FastSymbolUpdates.js +1 -1
  807. package/views/3d/layers/support/FeatureTileMeasurements3D.js +1 -1
  808. package/views/3d/support/PBFDecoder.js +1 -1
  809. package/views/3d/support/engineContent/sdfPrimitives.js +1 -1
  810. package/views/3d/webgl/RenderNode.js +1 -1
  811. package/views/3d/webgl-engine/collections/Component/Material/ComponentTechniqueConfiguration.js +1 -1
  812. package/views/3d/webgl-engine/collections/Component/Material/shader/ComponentData.glsl.js +10 -10
  813. package/views/3d/webgl-engine/collections/Component/Material/shader/ComponentShader.glsl.js +1 -1
  814. package/views/3d/webgl-engine/collections/Component/Material/shader/DecodeSymbolColor.glsl.js +2 -2
  815. package/views/3d/webgl-engine/collections/Component/SourceGeometry.js +1 -1
  816. package/views/3d/webgl-engine/core/material/MaterialBase.js +1 -1
  817. package/views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepth.glsl.js +1 -1
  818. package/views/3d/webgl-engine/core/shaderLibrary/HighlightCellGridScreenSpacePass.glsl.js +1 -1
  819. package/views/3d/webgl-engine/core/shaderLibrary/HighlightReadBitmap.glsl.js +2 -2
  820. package/views/3d/webgl-engine/core/shaderLibrary/Laserline.glsl.js +3 -3
  821. package/views/3d/webgl-engine/core/shaderLibrary/NormalFromDepth.glsl.js +1 -1
  822. package/views/3d/webgl-engine/core/shaderLibrary/Offset.glsl.js +2 -2
  823. package/views/3d/webgl-engine/core/shaderLibrary/ScreenSizeScaling.glsl.js +1 -1
  824. package/views/3d/webgl-engine/core/shaderLibrary/ScreenSpacePass.glsl.js +2 -2
  825. package/views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js +3 -3
  826. package/views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js +1 -1
  827. package/views/3d/webgl-engine/core/shaderLibrary/attributes/InstancedDoublePrecision.glsl.js +9 -9
  828. package/views/3d/webgl-engine/core/shaderLibrary/attributes/NormalAttribute.glsl.js +1 -1
  829. package/views/3d/webgl-engine/core/shaderLibrary/attributes/ObjectAndLayerIdColor.glsl.js +1 -1
  830. package/views/3d/webgl-engine/core/shaderLibrary/attributes/PathVertexPosition.glsl.js +1 -1
  831. package/views/3d/webgl-engine/core/shaderLibrary/attributes/PositionAttribute.glsl.js +1 -1
  832. package/views/3d/webgl-engine/core/shaderLibrary/attributes/RibbonVertexPosition.glsl.js +1 -1
  833. package/views/3d/webgl-engine/core/shaderLibrary/attributes/SymbolColor.glsl.js +2 -2
  834. package/views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js +1 -1
  835. package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js +1 -1
  836. package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexNormal.glsl.js +1 -1
  837. package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexPosition.glsl.js +2 -2
  838. package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexTangent.glsl.js +1 -1
  839. package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexTextureCoordinates.glsl.js +2 -2
  840. package/views/3d/webgl-engine/core/shaderLibrary/attributes/VerticalOffset.glsl.js +2 -2
  841. package/views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js +1 -1
  842. package/views/3d/webgl-engine/core/shaderLibrary/hud/AlignPixel.glsl.js +3 -3
  843. package/views/3d/webgl-engine/core/shaderLibrary/hud/HUD.glsl.js +2 -2
  844. package/views/3d/webgl-engine/core/shaderLibrary/hud/HUDOcclusionPass.glsl.js +1 -1
  845. package/views/3d/webgl-engine/core/shaderLibrary/hud/HUDVisibility.glsl.js +1 -1
  846. package/views/3d/webgl-engine/core/shaderLibrary/output/Emissions.glsl.js +3 -3
  847. package/views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js +1 -1
  848. package/views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js +3 -3
  849. package/views/3d/webgl-engine/core/shaderLibrary/output/ReadDepth.glsl.js +2 -2
  850. package/views/3d/webgl-engine/core/shaderLibrary/raster/Colormap.glsl.js +1 -1
  851. package/views/3d/webgl-engine/core/shaderLibrary/raster/Common.glsl.js +2 -2
  852. package/views/3d/webgl-engine/core/shaderLibrary/raster/Projection.glsl.js +1 -1
  853. package/views/3d/webgl-engine/core/shaderLibrary/raster/RasterColorizer.glsl.js +1 -1
  854. package/views/3d/webgl-engine/core/shaderLibrary/shading/AnalyticalSkyModel.glsl.js +1 -1
  855. package/views/3d/webgl-engine/core/shaderLibrary/shading/ComputeFragmentNormals.glsl.js +1 -1
  856. package/views/3d/webgl-engine/core/shaderLibrary/shading/ComputeMaterialColor.glsl.js +1 -1
  857. package/views/3d/webgl-engine/core/shaderLibrary/shading/ComputeNormalTexture.glsl.js +2 -2
  858. package/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientLighting.glsl.js +4 -4
  859. package/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientOcclusion.glsl.js +1 -1
  860. package/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js +1 -1
  861. package/views/3d/webgl-engine/core/shaderLibrary/shading/FoamRendering.glsl.js +1 -1
  862. package/views/3d/webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js +4 -4
  863. package/views/3d/webgl-engine/core/shaderLibrary/shading/LineStipple.glsl.js +1 -1
  864. package/views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js +2 -2
  865. package/views/3d/webgl-engine/core/shaderLibrary/shading/MarkerSizing.glsl.js +1 -1
  866. package/views/3d/webgl-engine/core/shaderLibrary/shading/MultipassGeometryTest.glsl.js +1 -1
  867. package/views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js +1 -1
  868. package/views/3d/webgl-engine/core/shaderLibrary/shading/Normals.glsl.js +1 -1
  869. package/views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRendering.glsl.js +1 -1
  870. package/views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js +7 -7
  871. package/views/3d/webgl-engine/core/shaderLibrary/shading/ReadBaseColorTexture.glsl.js +2 -2
  872. package/views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js +1 -1
  873. package/views/3d/webgl-engine/core/shaderLibrary/shading/ScreenSpaceReflections.glsl.js +1 -1
  874. package/views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js +2 -2
  875. package/views/3d/webgl-engine/core/shaderLibrary/shading/TextureTransformUV.glsl.js +1 -1
  876. package/views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js +1 -1
  877. package/views/3d/webgl-engine/core/shaderLibrary/shading/Water.glsl.js +1 -1
  878. package/views/3d/webgl-engine/core/shaderLibrary/shading/WaterDistortion.glsl.js +1 -1
  879. package/views/3d/webgl-engine/core/shaderLibrary/terrain/BackgroundGrid.glsl.js +1 -1
  880. package/views/3d/webgl-engine/core/shaderLibrary/terrain/Overlay.glsl.js +3 -3
  881. package/views/3d/webgl-engine/core/shaderLibrary/terrain/TerrainTexture.glsl.js +1 -1
  882. package/views/3d/webgl-engine/core/shaderLibrary/terrain/TileBackground.glsl.js +6 -6
  883. package/views/3d/webgl-engine/core/shaderLibrary/terrain/TileComposite.glsl.js +1 -1
  884. package/views/3d/webgl-engine/core/shaderLibrary/util/BlendLayers.glsl.js +1 -1
  885. package/views/3d/webgl-engine/core/shaderLibrary/util/BlendModes.glsl.js +1 -1
  886. package/views/3d/webgl-engine/core/shaderLibrary/util/CameraSpace.glsl.js +2 -2
  887. package/views/3d/webgl-engine/core/shaderLibrary/util/CloudsParallaxShading.glsl.js +3 -3
  888. package/views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js +1 -1
  889. package/views/3d/webgl-engine/core/shaderLibrary/util/DiscardOrAdjustAlpha.glsl.js +1 -1
  890. package/views/3d/webgl-engine/core/shaderLibrary/util/DoublePrecision.glsl.js +1 -1
  891. package/views/3d/webgl-engine/core/shaderLibrary/util/IsNaN.glsl.js +2 -2
  892. package/views/3d/webgl-engine/core/shaderLibrary/util/LocalFromScreenSpace.glsl.js +2 -2
  893. package/views/3d/webgl-engine/core/shaderLibrary/util/MixExternalColor.glsl.js +1 -1
  894. package/views/3d/webgl-engine/core/shaderLibrary/util/RgbaFloat16Encoding.glsl.js +1 -1
  895. package/views/3d/webgl-engine/core/shaderLibrary/util/RgbaFloatEncoding.glsl.js +1 -1
  896. package/views/3d/webgl-engine/core/shaderLibrary/util/ScreenSizePerspective.glsl.js +1 -1
  897. package/views/3d/webgl-engine/core/shaderLibrary/util/TextureAtlasLookup.glsl.js +1 -1
  898. package/views/3d/webgl-engine/core/shaderLibrary/util/TextureOnly.glsl.js +1 -1
  899. package/views/3d/webgl-engine/core/shaderModules/BooleanBindUniform.js +1 -1
  900. package/views/3d/webgl-engine/core/shaderModules/BooleanPassUniform.js +1 -1
  901. package/views/3d/webgl-engine/core/shaderModules/Float2BindUniform.js +1 -1
  902. package/views/3d/webgl-engine/core/shaderModules/Float2DrawUniform.js +1 -1
  903. package/views/3d/webgl-engine/core/shaderModules/Float2PassUniform.js +1 -1
  904. package/views/3d/webgl-engine/core/shaderModules/Float3BindUniform.js +1 -1
  905. package/views/3d/webgl-engine/core/shaderModules/Float3DrawUniform.js +1 -1
  906. package/views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js +1 -1
  907. package/views/3d/webgl-engine/core/shaderModules/Float4BindUniform.js +1 -1
  908. package/views/3d/webgl-engine/core/shaderModules/Float4DrawUniform.js +1 -1
  909. package/views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js +1 -1
  910. package/views/3d/webgl-engine/core/shaderModules/Float4sPassUniform.js +1 -1
  911. package/views/3d/webgl-engine/core/shaderModules/FloatBindUniform.js +1 -1
  912. package/views/3d/webgl-engine/core/shaderModules/FloatDrawUniform.js +1 -1
  913. package/views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js +1 -1
  914. package/views/3d/webgl-engine/core/shaderModules/FloatsPassUniform.js +1 -1
  915. package/views/3d/webgl-engine/core/shaderModules/Integer2BindUniform.js +1 -1
  916. package/views/3d/webgl-engine/core/shaderModules/Integer2PassUniform.js +1 -1
  917. package/views/3d/webgl-engine/core/shaderModules/IntegerBindUniform.js +1 -1
  918. package/views/3d/webgl-engine/core/shaderModules/IntegerDrawUniform.js +1 -1
  919. package/views/3d/webgl-engine/core/shaderModules/IntegerPassUniform.js +1 -1
  920. package/views/3d/webgl-engine/core/shaderModules/Matrix3DrawUniform.js +1 -1
  921. package/views/3d/webgl-engine/core/shaderModules/Matrix3PassUniform.js +1 -1
  922. package/views/3d/webgl-engine/core/shaderModules/Matrix4BindUniform.js +1 -1
  923. package/views/3d/webgl-engine/core/shaderModules/Matrix4DrawUniform.js +1 -1
  924. package/views/3d/webgl-engine/core/shaderModules/Matrix4PassUniform.js +1 -1
  925. package/views/3d/webgl-engine/core/shaderModules/Matrix4sDrawUniform.js +1 -1
  926. package/views/3d/webgl-engine/core/shaderModules/Matrix4sPassUniform.js +1 -1
  927. package/views/3d/webgl-engine/core/shaderModules/Texture2DBindUniform.js +1 -1
  928. package/views/3d/webgl-engine/core/shaderModules/Texture2DDrawUniform.js +1 -1
  929. package/views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js +1 -1
  930. package/views/3d/webgl-engine/core/shaderModules/TextureCubeBindUniform.js +1 -1
  931. package/views/3d/webgl-engine/core/shaderModules/glsl.js +5 -0
  932. package/views/3d/webgl-engine/core/shaderTechnique/ShaderTechniqueConfiguration.js +1 -1
  933. package/views/3d/webgl-engine/effects/OpaqueEnvironment.js +1 -1
  934. package/views/3d/webgl-engine/effects/TransparentEnvironment.js +1 -1
  935. package/views/3d/webgl-engine/effects/bloom/BloomBlur.glsl.js +1 -1
  936. package/views/3d/webgl-engine/effects/bloom/BloomComposition.glsl.js +1 -1
  937. package/views/3d/webgl-engine/effects/bloom/BloomDepthAdjust.glsl.js +1 -1
  938. package/views/3d/webgl-engine/effects/bloom/BloomRenderNode.js +1 -1
  939. package/views/3d/webgl-engine/effects/debug/RenderNodeVisualizerNode.js +1 -1
  940. package/views/3d/webgl-engine/effects/focusArea/FocusAreaColorNode.js +5 -0
  941. package/views/3d/webgl-engine/effects/focusArea/FocusAreaMaskNode.js +5 -0
  942. package/views/3d/webgl-engine/effects/geometry/RenderOccludedRenderNode.js +1 -1
  943. package/views/3d/webgl-engine/effects/haze/Haze.glsl.js +1 -1
  944. package/views/3d/webgl-engine/effects/haze/Haze.js +1 -1
  945. package/views/3d/webgl-engine/effects/haze/HazeCompositing.glsl.js +1 -1
  946. package/views/3d/webgl-engine/effects/highlight/Highlight.js +1 -1
  947. package/views/3d/webgl-engine/effects/highlight/HighlightPassParameters.js +1 -1
  948. package/views/3d/webgl-engine/effects/highlight/ShadowHighlight.js +1 -1
  949. package/views/3d/webgl-engine/effects/laserlines/LaserLineRenderer.js +1 -1
  950. package/views/3d/webgl-engine/effects/laserlines/LaserlineTechnique.js +1 -1
  951. package/views/3d/webgl-engine/effects/magnifier/Magnifier.js +1 -1
  952. package/views/3d/webgl-engine/effects/smaa/SMAA.js +1 -1
  953. package/views/3d/webgl-engine/effects/smaa/SMAAPassParameters.js +1 -1
  954. package/views/3d/webgl-engine/effects/ssao/SSAO.js +1 -1
  955. package/views/3d/webgl-engine/effects/ssao/SSAOParameters.js +1 -1
  956. package/views/3d/webgl-engine/effects/stars/Stars.glsl.js +1 -1
  957. package/views/3d/webgl-engine/effects/stars/Stars.js +1 -1
  958. package/views/3d/webgl-engine/effects/stars/StarsTechnique.js +1 -1
  959. package/views/3d/webgl-engine/effects/transparency/OITBlend.glsl.js +1 -1
  960. package/views/3d/webgl-engine/lib/GLTextureMaterial.js +1 -1
  961. package/views/3d/webgl-engine/lib/Material.js +1 -1
  962. package/views/3d/webgl-engine/lib/Program.js +1 -1
  963. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  964. package/views/3d/webgl-engine/lib/TextureCompressionWorker.js +1 -1
  965. package/views/3d/webgl-engine/lib/TextureCompressionWorkerHandle.js +1 -1
  966. package/views/3d/webgl-engine/materials/DefaultTechniqueConfiguration.js +1 -1
  967. package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
  968. package/views/3d/webgl-engine/materials/internal/WaterTextureRepository.js +1 -1
  969. package/views/3d/webgl-engine/parts/RenderView.js +1 -1
  970. package/views/3d/webgl-engine/shaders/AtmosphereCompositing.glsl.js +1 -1
  971. package/views/3d/webgl-engine/shaders/BlendWeights.glsl.js +1 -1
  972. package/views/3d/webgl-engine/shaders/Blur.glsl.js +1 -1
  973. package/views/3d/webgl-engine/shaders/CheckerBoard.glsl.js +1 -1
  974. package/views/3d/webgl-engine/shaders/ColorMaterial.glsl.js +1 -1
  975. package/views/3d/webgl-engine/shaders/Compositing.glsl.js +1 -1
  976. package/views/3d/webgl-engine/shaders/DefaultMaterial.glsl.js +1 -1
  977. package/views/3d/webgl-engine/shaders/EdgeDetect.glsl.js +1 -1
  978. package/views/3d/webgl-engine/shaders/FocusAreaColor.glsl.js +1 -1
  979. package/views/3d/webgl-engine/shaders/FocusAreaMask.glsl.js +1 -1
  980. package/views/3d/webgl-engine/shaders/HUDCompositing.glsl.js +1 -1
  981. package/views/3d/webgl-engine/shaders/HUDMaterial.glsl.js +1 -1
  982. package/views/3d/webgl-engine/shaders/Heatmap.glsl.js +1 -1
  983. package/views/3d/webgl-engine/shaders/HeatmapDensity.glsl.js +1 -1
  984. package/views/3d/webgl-engine/shaders/HeatmapTechnique.js +1 -1
  985. package/views/3d/webgl-engine/shaders/HighlightApply.glsl.js +1 -1
  986. package/views/3d/webgl-engine/shaders/HighlightDownsample.glsl.js +1 -1
  987. package/views/3d/webgl-engine/shaders/HighlightToSingle.glsl.js +1 -1
  988. package/views/3d/webgl-engine/shaders/ImageMaterial.glsl.js +1 -1
  989. package/views/3d/webgl-engine/shaders/ImageMaterialTechnique.js +1 -1
  990. package/views/3d/webgl-engine/shaders/LaserlinePath.glsl.js +1 -1
  991. package/views/3d/webgl-engine/shaders/Laserlines.glsl.js +1 -1
  992. package/views/3d/webgl-engine/shaders/LineCallout.glsl.js +1 -1
  993. package/views/3d/webgl-engine/shaders/LineMarker.glsl.js +1 -1
  994. package/views/3d/webgl-engine/shaders/Magnifier.glsl.js +1 -1
  995. package/views/3d/webgl-engine/shaders/MeasurementArrow.glsl.js +1 -1
  996. package/views/3d/webgl-engine/shaders/NativeLine.glsl.js +1 -1
  997. package/views/3d/webgl-engine/shaders/OutputColorHighlightOID.glsl.js +7 -7
  998. package/views/3d/webgl-engine/shaders/OverlayCompositing.glsl.js +1 -1
  999. package/views/3d/webgl-engine/shaders/Path.glsl.js +1 -1
  1000. package/views/3d/webgl-engine/shaders/Pattern.glsl.js +1 -1
  1001. package/views/3d/webgl-engine/shaders/PointRenderer.glsl.js +1 -1
  1002. package/views/3d/webgl-engine/shaders/RealisticTree.glsl.js +1 -1
  1003. package/views/3d/webgl-engine/shaders/RibbonLine.glsl.js +1 -1
  1004. package/views/3d/webgl-engine/shaders/SSAO.glsl.js +1 -1
  1005. package/views/3d/webgl-engine/shaders/SSAOBlur.glsl.js +1 -1
  1006. package/views/3d/webgl-engine/shaders/ScreenSpacePassAtmosphere.glsl.js +1 -1
  1007. package/views/3d/webgl-engine/shaders/ShadedColorMaterial.glsl.js +1 -1
  1008. package/views/3d/webgl-engine/shaders/ShadowCastAccumulate.glsl.js +1 -1
  1009. package/views/3d/webgl-engine/shaders/ShadowCastVisualize.glsl.js +1 -1
  1010. package/views/3d/webgl-engine/shaders/ShadowHighlight.glsl.js +1 -1
  1011. package/views/3d/webgl-engine/shaders/SingleHighlightApply.glsl.js +1 -1
  1012. package/views/3d/webgl-engine/shaders/SingleHighlightBlur.glsl.js +1 -1
  1013. package/views/3d/webgl-engine/shaders/SlicePlaneMaterial.glsl.js +1 -1
  1014. package/views/3d/webgl-engine/shaders/SlicePlaneMaterialTechnique.js +1 -1
  1015. package/views/3d/webgl-engine/shaders/SphereIntersect.glsl.js +2 -2
  1016. package/views/3d/webgl-engine/shaders/Terrain.glsl.js +1 -1
  1017. package/views/3d/webgl-engine/shaders/ToneMapping.glsl.js +1 -1
  1018. package/views/3d/webgl-engine/shaders/Viewshed.glsl.js +1 -1
  1019. package/views/3d/webgl-engine/shaders/WaterSurface.glsl.js +1 -1
  1020. package/views/3d/webgl-engine/shaders/sources/edgeRenderer/AdjustProjectedPosition.glsl.js +2 -2
  1021. package/views/3d/webgl-engine/shaders/sources/edgeRenderer/DiscardNonSilhouetteEdges.glsl.js +4 -4
  1022. package/views/3d/webgl-engine/shaders/sources/edgeRenderer/DistanceFalloff.glsl.js +2 -2
  1023. package/views/3d/webgl-engine/shaders/sources/edgeRenderer/EdgeShader.glsl.js +1 -1
  1024. package/views/3d/webgl-engine/shaders/sources/edgeRenderer/EdgeUtil.glsl.js +1 -1
  1025. package/views/3d/webgl-engine/shaders/sources/edgeRenderer/LineAmplitude.glsl.js +3 -3
  1026. package/views/3d/webgl-engine/shaders/sources/edgeRenderer/LineOffset.glsl.js +7 -7
  1027. package/views/3d/webgl-engine/shaders/sources/edgeRenderer/UnpackAttributes.glsl.js +7 -7
  1028. package/views/3d/webgl.d.ts +3 -2
  1029. package/views/BreakpointsOwner.d.ts +1 -1
  1030. package/views/DOMContainer.d.ts +1 -1
  1031. package/views/DOMContainer.js +1 -1
  1032. package/views/FocusAreas.js +1 -1
  1033. package/views/PopupView.d.ts +1 -1
  1034. package/views/View.js +1 -1
  1035. package/views/layers/FeatureLayerView.js +1 -1
  1036. package/views/layers/support/WhereClauseVisitor.js +5 -0
  1037. package/views/support/DefaultsFromMap.js +1 -1
  1038. package/views/support/{QueueProcessor.js → ScheduledQueueProcessor.js} +1 -1
  1039. package/views/support/colorUtils.d.ts +2 -2
  1040. package/views/webgl/NoParameters.js +5 -0
  1041. package/views/webgl/ShaderBuilder.js +5 -0
  1042. package/views/webgl/Texture.js +1 -1
  1043. package/views/webgl/Uniform.js +5 -0
  1044. package/views/webgl/testAppleAmdDrawArrays.js +1 -1
  1045. package/widgets/Attachments/AttachmentsViewModel.js +1 -1
  1046. package/widgets/Editor/EditorViewModel.js +1 -1
  1047. package/widgets/Editor/UpdateWorkflow.js +1 -1
  1048. package/widgets/Editor/UpdateWorkflowData.js +1 -1
  1049. package/widgets/Editor/components/UpdateFeaturePanelContent.js +1 -1
  1050. package/widgets/Editor.js +1 -1
  1051. package/widgets/ElevationProfile/support/profileUtils.js +1 -1
  1052. package/widgets/FeatureForm/FeatureFormUtilityNetworkAssociations/FeatureFormUtilityNetworkAssociationList.js +1 -1
  1053. package/widgets/FeatureForm/FeatureFormUtilityNetworkAssociations/FeatureFormUtilityNetworkAssociationSettings.js +5 -0
  1054. package/widgets/FeatureForm/UtilityNetworkAssociationInput.js +1 -1
  1055. package/widgets/FeatureTable/support/FeatureStore.js +1 -1
  1056. package/widgets/LinkChartLayoutSwitcher/LinkChartLayoutSwitcherViewModel.js +5 -0
  1057. package/widgets/Print.js +1 -1
  1058. package/widgets/ShadowCast/ShadowCastViewModel.js +1 -1
  1059. package/widgets/TimeSlider/TimeSliderViewModel.js +1 -1
  1060. package/widgets/TimeSlider.js +1 -1
  1061. package/widgets/smartMapping/support/utils.d.ts +3 -2
  1062. package/widgets/support/UtilityNetworkAssociations/UtilityNetworkAssociationsViewModel.js +1 -1
  1063. package/widgets/support/UtilityNetworkAssociations/utilityNetworkUtils.js +1 -1
  1064. package/widgets/support/widget.d.ts +8 -2
  1065. package/assets/esri/core/workers/chunks/02be905f7e9185de78c3.js +0 -1
  1066. package/assets/esri/core/workers/chunks/0b66fee87863e5775a6a.js +0 -1
  1067. package/assets/esri/core/workers/chunks/1557446aa4525705a5b2.js +0 -1
  1068. package/assets/esri/core/workers/chunks/1a8aaa92ccb90f646a8b.js +0 -1
  1069. package/assets/esri/core/workers/chunks/1dc6b5b177022b80c473.js +0 -1
  1070. package/assets/esri/core/workers/chunks/2118e9ffb24178ed7f59.js +0 -1
  1071. package/assets/esri/core/workers/chunks/25a6641938a9ccab39b7.js +0 -1
  1072. package/assets/esri/core/workers/chunks/2840705ae7fa909ab4ed.js +0 -1
  1073. package/assets/esri/core/workers/chunks/2a4c6c2e9ba103720e22.js +0 -314
  1074. package/assets/esri/core/workers/chunks/2e4f861c78ef820c0a3e.js +0 -1
  1075. package/assets/esri/core/workers/chunks/349f31a1fb489fbfe60d.js +0 -1
  1076. package/assets/esri/core/workers/chunks/34b31091e172e910d750.js +0 -1
  1077. package/assets/esri/core/workers/chunks/371c2fd9d767612bbeb2.js +0 -1
  1078. package/assets/esri/core/workers/chunks/37658a4e83a5b18acd37.js +0 -1
  1079. package/assets/esri/core/workers/chunks/39f3e202d95725f405ec.js +0 -1
  1080. package/assets/esri/core/workers/chunks/3cb56f509d8f7f340c45.js +0 -1
  1081. package/assets/esri/core/workers/chunks/4086698137db0795187f.js +0 -1
  1082. package/assets/esri/core/workers/chunks/454034bad60414a9ab7f.js +0 -1
  1083. package/assets/esri/core/workers/chunks/483787099d2ba8b8022d.js +0 -1
  1084. package/assets/esri/core/workers/chunks/4b38c008872bb9e10278.js +0 -1
  1085. package/assets/esri/core/workers/chunks/4cccca778b060d8dcd06.js +0 -1
  1086. package/assets/esri/core/workers/chunks/4e5cf2d489db2a57d3bd.js +0 -1
  1087. package/assets/esri/core/workers/chunks/4eda602a909a4773cb27.js +0 -1
  1088. package/assets/esri/core/workers/chunks/5595f19c1f332f504a81.js +0 -1
  1089. package/assets/esri/core/workers/chunks/55da04abc8e1ea93caa9.js +0 -1
  1090. package/assets/esri/core/workers/chunks/561fc48b06a43abe1cd0.js +0 -1
  1091. package/assets/esri/core/workers/chunks/576b7961fe7771dacfd9.js +0 -1
  1092. package/assets/esri/core/workers/chunks/5bb175106aee21025bc2.js +0 -1
  1093. package/assets/esri/core/workers/chunks/5c57aa9fdc4e1bab61ac.js +0 -1
  1094. package/assets/esri/core/workers/chunks/602c67fe1061ec5a3fa5.js +0 -1
  1095. package/assets/esri/core/workers/chunks/61f985a9a393803e5350.js +0 -1
  1096. package/assets/esri/core/workers/chunks/644e83f48752a34f0d1a.js +0 -1
  1097. package/assets/esri/core/workers/chunks/64f1355f7f51ecb3af95.js +0 -1
  1098. package/assets/esri/core/workers/chunks/68f5b077fc1f6f7636dd.js +0 -1
  1099. package/assets/esri/core/workers/chunks/7388b57de8926acd1fc2.js +0 -1
  1100. package/assets/esri/core/workers/chunks/76b8aa593a5279569267.js +0 -1
  1101. package/assets/esri/core/workers/chunks/7705ca2cc8ac3307d4cd.js +0 -1
  1102. package/assets/esri/core/workers/chunks/7719fe672ea74cdc87be.js +0 -1
  1103. package/assets/esri/core/workers/chunks/7ae1f26ded268099f429.js +0 -1
  1104. package/assets/esri/core/workers/chunks/7c95721c077c70f31b53.js +0 -1
  1105. package/assets/esri/core/workers/chunks/82a69eba9bacca8437bd.js +0 -1
  1106. package/assets/esri/core/workers/chunks/8a13cd313d309281dbb9.js +0 -1
  1107. package/assets/esri/core/workers/chunks/933089d069853f6e509a.js +0 -1
  1108. package/assets/esri/core/workers/chunks/9848e9b9cc62328bfeb4.js +0 -1
  1109. package/assets/esri/core/workers/chunks/9a30ad773c22bde61c64.js +0 -1
  1110. package/assets/esri/core/workers/chunks/9bcead430045cbd9941c.js +0 -1
  1111. package/assets/esri/core/workers/chunks/9bd22cdf6eb158555906.js +0 -1
  1112. package/assets/esri/core/workers/chunks/a418af538ee98de7822a.js +0 -1
  1113. package/assets/esri/core/workers/chunks/b1ce435e3850255e0b24.js +0 -1
  1114. package/assets/esri/core/workers/chunks/b31096f20b9ed1446c3a.js +0 -1
  1115. package/assets/esri/core/workers/chunks/b5d4255db21dfd3b3b13.js +0 -2
  1116. package/assets/esri/core/workers/chunks/b5ee6c203f536bdb6708.js +0 -1
  1117. package/assets/esri/core/workers/chunks/b882f921387e21fb263d.js +0 -1
  1118. package/assets/esri/core/workers/chunks/bf9144a5d1fdebec6c4d.js +0 -1
  1119. package/assets/esri/core/workers/chunks/c12bdf6fd7f631e3f79e.js +0 -971
  1120. package/assets/esri/core/workers/chunks/c14afb5a090c58e66235.js +0 -1
  1121. package/assets/esri/core/workers/chunks/c58f559eb68035ebe3da.js +0 -1
  1122. package/assets/esri/core/workers/chunks/c62614bf6ba530924ca1.js +0 -1
  1123. package/assets/esri/core/workers/chunks/c67322bb54dcf699fe23.js +0 -1
  1124. package/assets/esri/core/workers/chunks/d0672714fffe04d5632a.js +0 -51
  1125. package/assets/esri/core/workers/chunks/d5ca87a4ecf096430a21.js +0 -1
  1126. package/assets/esri/core/workers/chunks/d9c34e07627d93d4670b.js +0 -1
  1127. package/assets/esri/core/workers/chunks/e21259a75af746895d6c.js +0 -1
  1128. package/assets/esri/core/workers/chunks/e2c49c1dc02249cf6fd2.js +0 -1
  1129. package/assets/esri/core/workers/chunks/e36a4a049ea8b5589d28.js +0 -1
  1130. package/assets/esri/core/workers/chunks/f43277fdbdbb0f49fe52.js +0 -1
  1131. package/assets/esri/core/workers/chunks/f73bbf3a08adaa37581d.js +0 -1
  1132. package/assets/esri/core/workers/chunks/f9656b0d3c1df8ad19af.js +0 -1
  1133. package/chunks/Bufferer-BhfWVXPl.js +0 -5
  1134. package/chunks/Clipper-a9xfvRaw.js +0 -5
  1135. package/chunks/CrackAndCluster-CHWFqqYQ.js +0 -5
  1136. package/chunks/GeodeticDistanceCalculator-Cnd3ZMKD.js +0 -5
  1137. package/chunks/Intersector-K1VmdfQW.js +0 -5
  1138. package/chunks/OperatorDifference.js +0 -5
  1139. package/chunks/OperatorIntersection.js +0 -5
  1140. package/chunks/OperatorSimplify.js +0 -5
  1141. package/chunks/OperatorUnion.js +0 -5
  1142. package/layers/support/TrackLabelClass.js +0 -5
  1143. package/views/2d/engine/webgl/shaderGraph/ShaderBuilder2D.js +0 -5
  1144. package/views/2d/layers/features/support/FeatureFilter.js +0 -5
  1145. package/views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js +0 -5
  1146. package/views/3d/webgl-engine/core/shaderModules/Uniform.js +0 -5
  1147. package/views/3d/webgl-engine/core/shaderModules/interfaces.js +0 -5
  1148. package/views/3d/webgl-engine/effects/focusArea/FocusAreaRenderNode.js +0 -5
  1149. package/views/3d/webgl-engine/effects/focusArea/FocusAreaRenderNodeColorEffects.js +0 -5
  1150. package/views/3d/webgl-engine/effects/focusArea/FocusAreaRenderNodeGeometryMasking.js +0 -5
  1151. /package/chunks/{GeometryCleaner-DVgW95-D.js → GeometryCleaner-BEJM7I4l.js} +0 -0
  1152. /package/views/{3d/webgl-engine/core/shaderTechnique → webgl}/BindType.js +0 -0
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import{getEffectiveFeatureReduction as e}from"./featureReductionUtils.js";import{getServiceGeometryType as t}from"./geometryUtils.js";import{getFeatureReductionDeconflictionEnabled as r,getLayerDeconflictionEnabled as i,createLabelVVEvaluator as l}from"./labelingUtils.js";import{createSimpleProcessorSchema as n}from"../schema/processor/SimpleProcessorSchema.js";import{isRendererSupported as s}from"../support/rendererUtils.js";class o{constructor(e){this.layer=e}getLabelingDeconflictionInfo(e){const t=this.layer,n=r(t,e)??i(t);return[{vvEvaluators:{0:l(t.renderer)},deconflictionEnabled:n}]}async createServiceOptions(e){const r=this.layer,{objectIdField:i}=r,l=t(r),n=r.timeInfo?.toJSON()||null,s=r.spatialReference?r.spatialReference.toJSON():null;return{type:"stream",source:this.layer.parsedUrl,outSpatialReference:e.spatialReference.toJSON(),metadata:{fieldsIndex:this.layer.fieldsIndex.toJSON(),geometryType:l,objectIdField:i,timeInfo:n,timeReferenceUnknownClient:null,dateFieldsTimeZone:null,spatialReference:s,subtypeField:null,subtypes:null,globalIdField:null,typeIdField:null,types:null}}}createSourceSchema(e,t){const{definitionExpression:r,geometryDefinition:i,customParameters:l}=this.layer;return{type:"stream",mutable:{sourceRefreshVersion:t,availableFields:e.availableFields,dataFilter:{geometryDefinition:i?.toJSON(),definitionExpression:r,customParameters:l??null,maxReconnectionAttempts:this.layer.maxReconnectionAttempts,maxReconnectionInterval:this.layer.maxReconnectionInterval,purgeOptions:this.layer.purgeOptions.toJSON()}}}}createProcessorSchema(t,r,i){const{fields:l,renderer:s,geometryType:o,labelingInfo:a,labelsVisible:c,objectIdField:d,trackInfo:m}=this.layer,p={fields:l.map((e=>e.toJSON())),renderer:s?.clone(),featureReduction:e(this.layer,r),geometryType:o,labelingInfo:a,labelsVisible:c,objectIdField:d,orderBy:"default",trackInfo:m};return n(t,r,p,i)}get hasRequiredSupport(){return s(this.layer.renderer)}get timeOptions(){return this.layer}getUpdateHashProperties(t){return[()=>this.layer.definitionExpression,()=>this.layer.renderer,()=>this.layer.labelsVisible?this.layer.labelingInfo:null,()=>e(this.layer,t),()=>this.layer.customParameters,()=>this.layer.geometryDefinition,()=>this.layer.definitionExpression,()=>this.layer.trackInfo]}}export{o as StreamLayerAdapter};
5
+ import{getEffectiveFeatureReduction as e}from"./featureReductionUtils.js";import{getServiceGeometryType as t}from"./geometryUtils.js";import{getFeatureReductionDeconflictionEnabled as r,getLayerDeconflictionEnabled as i,createLabelVVEvaluator as l}from"./labelingUtils.js";import{createSimpleProcessorSchema as n}from"../schema/processor/SimpleProcessorSchema.js";import{isRendererSupported as s}from"../support/rendererUtils.js";class o{constructor(e){this.layer=e}getLabelingDeconflictionInfo(e){const t=this.layer,n=r(t,e)??i(t);return[{vvEvaluators:{0:l(t.renderer)},deconflictionEnabled:n}]}async createServiceOptions(e){const r=this.layer,{objectIdField:i}=r,l=t(r),n=r.timeInfo?.toJSON()||null,s=r.spatialReference?r.spatialReference.toJSON():null,o=e.spatialReference.toJSON();return{type:"stream",source:this.layer.parsedUrl,outSpatialReference:o,metadata:{fieldsIndex:this.layer.fieldsIndex.toJSON(),geometryType:l,objectIdField:i,timeInfo:n,timeReferenceUnknownClient:null,dateFieldsTimeZone:null,spatialReference:s,outSpatialReference:o,subtypeField:null,subtypes:null,globalIdField:null,typeIdField:null,types:null}}}createSourceSchema(e,t){const{definitionExpression:r,geometryDefinition:i,customParameters:l}=this.layer;return{type:"stream",mutable:{sourceRefreshVersion:t,availableFields:e.availableFields,dataFilter:{geometryDefinition:i?.toJSON(),definitionExpression:r,customParameters:l??null,maxReconnectionAttempts:this.layer.maxReconnectionAttempts,maxReconnectionInterval:this.layer.maxReconnectionInterval,purgeOptions:this.layer.purgeOptions.toJSON()}}}}createProcessorSchema(t,r,i){const{fields:l,renderer:s,geometryType:o,labelingInfo:a,labelsVisible:c,objectIdField:d,trackInfo:m}=this.layer,p={fields:l.map((e=>e.toJSON())),renderer:s?.clone(),featureReduction:e(this.layer,r),geometryType:o,labelingInfo:a,labelsVisible:c,objectIdField:d,orderBy:"default",trackInfo:m};return n(t,r,p,i)}get hasRequiredSupport(){return s(this.layer.renderer)}get timeOptions(){return this.layer}getUpdateHashProperties(t){return[()=>this.layer.definitionExpression,()=>this.layer.renderer,()=>this.layer.labelsVisible?this.layer.labelingInfo:null,()=>e(this.layer,t),()=>this.layer.customParameters,()=>this.layer.geometryDefinition,()=>this.layer.definitionExpression,()=>this.layer.trackInfo]}}export{o as StreamLayerAdapter};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import has from"../../../../../core/has.js";import{clone as e}from"../../../../../core/lang.js";import{floatEqualAbsolute as t}from"../../../../../core/mathUtils.js";import{sqlAnd as r}from"../../../../../core/sql.js";import{isHostedAgolService as s}from"../../../../../layers/support/arcgisLayerUrl.js";import a from"../../../../../layers/support/FeatureFilter.js";import{exceedsMinimumSnapshotCoverage as i}from"./featureServiceUtils.js";import{addFloorFilter as o,hasFloorFilter as l}from"./floorFilterUtils.js";import{getServiceGeometryType as n}from"./geometryUtils.js";import{getLayerDeconflictionEnabled as p}from"./labelingUtils.js";import{createFeatureSourceSchema as u}from"../schema/SourceSchema.js";import{createSubtypeProcessorSchema as y}from"../schema/processor/SubtypeProcessorSchema.js";class m{constructor(e){this.layer=e}getLabelingDeconflictionInfo(e){return[{vvEvaluators:{},deconflictionEnabled:this.layer.sublayers.every((e=>p(e)))}]}async createServiceOptions(t){const r=this.layer,{capabilities:a,datesInUnknownTimezone:o,dateFieldsTimeZone:l,editingInfo:p,globalIdField:u,objectIdField:y,refreshInterval:m,subtypeField:c}=r,d=r.fieldsIndex.toJSON(),h=n(r),f=r.timeInfo?.toJSON(),b=r.spatialReference.toJSON(),S=e(this.layer.parsedUrl),g=y,F=!(null!=p?.lastEditDate)&&m>0,x=!!has("featurelayer-snapshot-enabled")&&"point"===r.geometryType&&a?.query.supportsPagination&&!a?.operations.supportsEditing&&!F,I=x&&i(t,r.fullExtent);return{type:"feature-service",source:S,isSourceHosted:s(S.path),orderByFields:g,outSpatialReference:t.spatialReference.toJSON(),metadata:{timeReferenceUnknownClient:o,dateFieldsTimeZone:l,subtypeField:c,globalIdField:u,fieldsIndex:d,geometryType:h,objectIdField:y,timeInfo:f,spatialReference:b,subtypes:this.layer.subtypes?.map((e=>e.toJSON())),typeIdField:null,types:null},queryMetadata:{maxRecordCount:a.query.maxRecordCount,supportsCompactGeometry:a.query.supportsCompactGeometry,supportsDefaultSpatialReference:a.query.supportsDefaultSpatialReference,supportsFormatPBF:a.query.supportsFormatPBF,supportsMaxRecordCountFactor:a.query.supportsMaxRecordCountFactor,supportsQuantization:a.query.supportsQuantization,lastEditDate:p?.lastEditDate?.getTime(),snapshotInfo:{supportsSnapshotMinThreshold:x,supportsSnapshotMaxThreshold:I,snapshotCountThresholds:{min:has("featurelayer-snapshot-point-min-threshold"),max:has("featurelayer-snapshot-point-max-threshold")}}}}}createSourceSchema(e,t){const{definitionExpression:r,customParameters:s,gdbVersion:a,historicMoment:i,subtypeField:o,timeExtent:l,apiKey:n,displayFilterInfo:p}=this.layer,y={queryScaleRanges:this.layer.sublayers.items.map((e=>({subtypeCode:e.subtypeCode,minScale:e.minScale,maxScale:e.maxScale}))),definitionExpression:r,displayFilterInfo:p,customParameters:s,gdbVersion:a,historicMoment:i,subtypeField:o,timeExtent:l};return u(y,e,t,n)}createProcessorSchema(e,t,r){const s={subtypeField:this.layer.subtypeField,sublayers:Array.from(this.layer.sublayers,(e=>({featureReduction:null,geometryType:this.layer.geometryType,labelingInfo:e.labelingInfo,labelsVisible:e.labelsVisible,renderer:e.renderer,subtypeCode:e.subtypeCode,orderBy:null})))};return y(e,t,s,r)}addFilters(e,t){e=o(this.layer,e,t);const s=this.layer.sublayers.filter((e=>!c(e,t))).map((e=>e.subtypeCode));if(!s.length)return e;e??=new a;const i=`NOT ${this.layer.subtypeField} IN (${s.join(",")})`;return e.where=r(e.where,i),e}get hasRequiredSupport(){return!0}get timeOptions(){return this.layer}getUpdateHashProperties(e){return[()=>this.layer.apiKey,()=>this.layer.customParameters,()=>this.layer.definitionExpression,()=>l(this.layer,e)?e.floors:null,()=>this.layer.outFields,()=>this.layer.gdbVersion,()=>this.layer.historicMoment,()=>this.layer.sublayers.map((({renderer:e,labelsVisible:t,labelingInfo:r,visible:s})=>({renderer:e,labelsVisible:t,labelingInfo:r,visible:s})))]}setGraphicOrigin(e){const t=this.layer.fieldsIndex.get(this.layer.subtypeField),r=e.attributes[t.name],s=this.layer.sublayers.find((e=>e.subtypeCode===r));e.layer=e.sourceLayer=s}}function c(e,r){return e.visible&&(0===e.minScale||t(r.scale,e.minScale)||r.scale<e.minScale)&&(0===e.maxScale||t(r.scale,e.maxScale)||r.scale>e.maxScale)}export{m as SubtypeGroupLayerAdapter};
5
+ import has from"../../../../../core/has.js";import{clone as e}from"../../../../../core/lang.js";import{floatEqualAbsolute as t}from"../../../../../core/mathUtils.js";import{sqlAnd as r}from"../../../../../core/sql.js";import{isHostedAgolService as s}from"../../../../../layers/support/arcgisLayerUrl.js";import a from"../../../../../layers/support/FeatureFilter.js";import{exceedsMinimumSnapshotCoverage as i}from"./featureServiceUtils.js";import{addFloorFilter as o,hasFloorFilter as l}from"./floorFilterUtils.js";import{getServiceGeometryType as n}from"./geometryUtils.js";import{getLayerDeconflictionEnabled as p}from"./labelingUtils.js";import{createFeatureSourceSchema as u}from"../schema/SourceSchema.js";import{createSubtypeProcessorSchema as y}from"../schema/processor/SubtypeProcessorSchema.js";class m{constructor(e){this.layer=e}getLabelingDeconflictionInfo(e){return[{vvEvaluators:{},deconflictionEnabled:this.layer.sublayers.every((e=>p(e)))}]}async createServiceOptions(t){const r=this.layer,{capabilities:a,datesInUnknownTimezone:o,dateFieldsTimeZone:l,editingInfo:p,globalIdField:u,objectIdField:y,refreshInterval:m,subtypeField:c}=r,d=r.fieldsIndex.toJSON(),h=n(r),f=r.timeInfo?.toJSON(),b=r.spatialReference.toJSON(),S=e(this.layer.parsedUrl),g=y,F=!(null!=p?.lastEditDate)&&m>0,x=!!has("featurelayer-snapshot-enabled")&&"point"===r.geometryType&&a?.query.supportsPagination&&!a?.operations.supportsEditing&&!F,I=x&&i(t,r.fullExtent),j=s(S.path),R=t.spatialReference.toJSON();return{type:"feature-service",source:S,isSourceHosted:j,orderByFields:g,outSpatialReference:R,metadata:{timeReferenceUnknownClient:o,dateFieldsTimeZone:l,subtypeField:c,globalIdField:u,fieldsIndex:d,geometryType:h,objectIdField:y,timeInfo:f,spatialReference:b,outSpatialReference:R,subtypes:this.layer.subtypes?.map((e=>e.toJSON())),typeIdField:null,types:null},queryMetadata:{maxRecordCount:a.query.maxRecordCount,supportsCompactGeometry:a.query.supportsCompactGeometry,supportsDefaultSpatialReference:a.query.supportsDefaultSpatialReference,supportsFormatPBF:a.query.supportsFormatPBF,supportsMaxRecordCountFactor:a.query.supportsMaxRecordCountFactor,supportsQuantization:a.query.supportsQuantization,lastEditDate:p?.lastEditDate?.getTime(),snapshotInfo:{supportsSnapshotMinThreshold:x,supportsSnapshotMaxThreshold:I,snapshotCountThresholds:{min:has("featurelayer-snapshot-point-min-threshold"),max:has("featurelayer-snapshot-point-max-threshold")}}}}}createSourceSchema(e,t){const{definitionExpression:r,customParameters:s,gdbVersion:a,historicMoment:i,subtypeField:o,timeExtent:l,apiKey:n,displayFilterInfo:p}=this.layer,y={queryScaleRanges:this.layer.sublayers.items.map((e=>({subtypeCode:e.subtypeCode,minScale:e.minScale,maxScale:e.maxScale}))),definitionExpression:r,displayFilterInfo:p,customParameters:s,gdbVersion:a,historicMoment:i,subtypeField:o,timeExtent:l};return u(y,e,t,n)}createProcessorSchema(e,t,r){const s={subtypeField:this.layer.subtypeField,sublayers:Array.from(this.layer.sublayers,(e=>({featureReduction:null,geometryType:this.layer.geometryType,labelingInfo:e.labelingInfo,labelsVisible:e.labelsVisible,renderer:e.renderer,subtypeCode:e.subtypeCode,orderBy:null})))};return y(e,t,s,r)}addFilters(e,t){e=o(this.layer,e,t);const s=this.layer.sublayers.filter((e=>!c(e,t))).map((e=>e.subtypeCode));if(!s.length)return e;e??=new a;const i=`NOT ${this.layer.subtypeField} IN (${s.join(",")})`;return e.where=r(e.where,i),e}get hasRequiredSupport(){return!0}get timeOptions(){return this.layer}getUpdateHashProperties(e){return[()=>this.layer.apiKey,()=>this.layer.customParameters,()=>this.layer.definitionExpression,()=>l(this.layer,e)?e.floors:null,()=>this.layer.outFields,()=>this.layer.gdbVersion,()=>this.layer.historicMoment,()=>this.layer.sublayers.map((({renderer:e,labelsVisible:t,labelingInfo:r,visible:s})=>({renderer:e,labelsVisible:t,labelingInfo:r,visible:s})))]}setGraphicOrigin(e){const t=this.layer.fieldsIndex.get(this.layer.subtypeField),r=e.attributes[t.name],s=this.layer.sublayers.find((e=>e.subtypeCode===r));e.layer=e.sourceLayer=s}}function c(e,r){return e.visible&&(0===e.minScale||t(r.scale,e.minScale)||r.scale<e.minScale)&&(0===e.maxScale||t(r.scale,e.maxScale)||r.scale>e.maxScale)}export{m as SubtypeGroupLayerAdapter};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import e from"../../../../../core/Evented.js";import{create as r}from"../../../../../geometry/support/aaBoundingBox.js";import{getBoundsOptimizedGeometry as t}from"../../../../../layers/graphics/featureConversionUtils.js";import{optimizedFeatureQueryEngineAdapter as a}from"../../../../../layers/graphics/data/optimizedFeatureQueryEngineAdapter.js";import{QueryEngine as s}from"../../../../../layers/graphics/data/QueryEngine.js";import{collectExpressionDependencies as o}from"../../../../../support/arcadeOnDemand.js";import{AProcessorStrategy as n}from"./AProcessorStrategy.js";class i extends n{constructor(r,t,s,n){super(r,t),this.spatialReference=s,this.aggregateFields=n,this._arcadeDependencies=new Set,this.events=new e,this.featureAdapter=a;for(const e of n)o(this._arcadeDependencies,e.computed)}get aggregateQueryEngine(){return this._aggregateQueryEngine||(this._aggregateQueryEngine=new s({featureStore:this,fieldsIndex:this._metadata.fieldsIndex,geometryType:this._metadata.geometryType,objectIdField:this._metadata.objectIdField,spatialReference:this.spatialReference})),this._aggregateQueryEngine}get isAggregate(){return!0}removeChunks(e){}hasArcadeDependency(e){return this._arcadeDependencies.has(e)}forEach(e){return this.forEachAggregateWorldSpace(e)}forEachInBounds(e,r){}forEachBounds(e,a){const s=r();for(const r of e){const e=t(s,r.geometry,!1,!1);e&&a(e)}}}export{i as AAggregateStrategy};
5
+ import e from"../../../../../core/Evented.js";import{create as r}from"../../../../../geometry/support/aaBoundingBox.js";import{getBoundsOptimizedGeometry as t}from"../../../../../layers/graphics/featureConversionUtils.js";import{optimizedFeatureQueryEngineAdapter as a}from"../../../../../layers/graphics/data/optimizedFeatureQueryEngineAdapter.js";import{QueryEngine as s}from"../../../../../layers/graphics/data/QueryEngine.js";import{collectExpressionDependencies as o}from"../../../../../support/arcadeOnDemand.js";import{AProcessorStrategy as n}from"./AProcessorStrategy.js";class i extends n{constructor(r,t,s,n,i){super(r,t,i),this.spatialReference=s,this.aggregateFields=n,this._arcadeDependencies=new Set,this.events=new e,this.featureAdapter=a;for(const e of n)o(this._arcadeDependencies,e.computed)}get aggregateQueryEngine(){return this._aggregateQueryEngine||(this._aggregateQueryEngine=new s({featureStore:this,fieldsIndex:this._metadata.fieldsIndex,geometryType:this._metadata.geometryType,objectIdField:this._metadata.objectIdField,spatialReference:this.spatialReference})),this._aggregateQueryEngine}get isAggregate(){return!0}removeChunks(e){}hasArcadeDependency(e){return this._arcadeDependencies.has(e)}forEach(e){return this.forEachAggregateWorldSpace(e)}forEachInBounds(e,r){}forEachBounds(e,a){const s=r();for(const r of e){const e=t(s,r.geometry,!1,!1);e&&a(e)}}}export{i as AAggregateStrategy};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- class t{constructor(t){this.subscription=t,this.handledChunks=new Set}destroy(){}}class e{constructor(t,e){this._source=t,this._attributeStore=e,this._sendStates=new Map}destroy(){}get enablePixelBuffering(){return!0}get isAggregate(){return!1}onSubscribe(t){const e=this.createState(t);this._sendStates.set(t.key.id,e),this.updateChunks()}onUnsubscribe(t){this._sendStates.get(t.key.id)?.destroy(),this._sendStates.delete(t.key.id)}invalidate(){const t=Array.from(this._sendStates.values());this._sendStates.clear();for(const e of t)e.destroy(),this.onSubscribe(e.subscription)}invalidateAttributeData(t){}hasArcadeDependency(t){return!1}getFeatureObjectIdsForAggregate(t){throw new Error("InternalError: AggregateId lookup not supported")}getDisplayIds(t){return this.displayMap(t,(t=>t),(t=>t))}getDisplayAndObjectIds(t){return this.displayMap(t,(t=>t),((t,e,s)=>[t,s]))}afterUpdateChunks(){}}export{e as AProcessorStrategy,t as ASendState};
5
+ class t{constructor(t){this.subscription=t,this.handledChunks=new Set}destroy(){}}class e{constructor(t,e,s){this._source=t,this._attributeStore=e,this._sqlOptions=s,this._sendStates=new Map}destroy(){}get enablePixelBuffering(){return!0}get isAggregate(){return!1}onSubscribe(t){const e=this.createState(t);this._sendStates.set(t.key.id,e),this.updateChunks()}onUnsubscribe(t){this._sendStates.get(t.key.id)?.destroy(),this._sendStates.delete(t.key.id)}invalidate(){const t=Array.from(this._sendStates.values());this._sendStates.clear();for(const e of t)e.destroy(),this.onSubscribe(e.subscription)}invalidateAttributeData(t){}hasArcadeDependency(t){return!1}getFeatureObjectIdsForAggregate(t){throw new Error("InternalError: AggregateId lookup not supported")}getDisplayIds(t){return this.displayMap(t,(t=>t),(t=>t))}getDisplayAndObjectIds(t){return this.displayMap(t,(t=>t),((t,e,s)=>[t,s]))}afterUpdateChunks(){}}export{e as AProcessorStrategy,t as ASendState};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import e from"../../../../../geometry/SpatialReference.js";import{unquantizeOptimizedGeometry as t,convertToFeature as s}from"../../../../../layers/graphics/featureConversionUtils.js";import{OptimizedFeature as r}from"../../../../../layers/graphics/OptimizedFeature.js";import{checkProjectionSupport as a}from"../../../../../layers/graphics/data/projectionSupport.js";import i from"../../../../../layers/support/FieldsIndex.js";import{ComputedAggregateField as o}from"../aggregation/ComputedAggregateField.js";import{AAggregateStrategy as n}from"./AAggregateStrategy.js";import{ASendState as l}from"./AProcessorStrategy.js";import{FeatureTileAppendMessage as d,FeatureTileUpdateMessage as c}from"../sources/FeatureSourceMessage.js";import{ComputedAttributeStorage as u}from"../support/ComputedAttributeStorage.js";import f from"../support/FeatureFilter.js";import{FeatureMetadata as p}from"../support/FeatureMetadata.js";import{FeatureSetReaderJSON as h}from"../support/FeatureSetReaderJSON.js";import g from"../../../tiling/TileKey.js";class m extends l{constructor(e,t){super(e),this.bins=new Map,this.featureCache=new Map,this.done=!1,this._store=t}reset(){this.destroy(),this.done=!1}destroy(){const e=this.subscription.tile.key.level;for(const t of this.featureCache.keys())this._store.releaseDisplayIdForObjectId(`${t}.${e}`);this.bins.clear(),this.featureCache.clear(),this.handledChunks.clear()}get tile(){return this.subscription.tile}*featuresWorldSpace(){for(const e of this.featureCache.values()){const s=e.clone();s.geometry&&t(s.geometry,s.geometry,!1,!1,this.subscription.tile.transform),yield s}}}class y extends n{static async create(t,s,r,i,n){const l=new u({spatialReference:s}),d=await Promise.all(t.fields.map((async e=>o.create(l,e)))),c=t.featureFilter?await f.create({geometryType:r.metadata.geometryType,hasM:!1,hasZ:!1,timeInfo:r.metadata.timeInfo,fieldsIndex:r.metadata.fieldsIndex,spatialReference:s,filterJSON:t.featureFilter}):null;return"geohash"===t.index.type&&await a(s,e.WGS84),new y(t,c,n,d,s,r,i)}constructor(e,t,s,r,a,o,n){super(o,n,a,r),this._schema=e,this._featureFilter=t,this._arcadeContextInfo=s,this._metadata=p.createFeature({geometryType:"esriGeometryPolygon",objectIdField:"aggregateId",fieldsIndex:new i(e.fields).toJSON(),globalIdField:null,spatialReference:o.metadata.spatialReference,subtypeField:null,subtypes:null,timeInfo:null,timeReferenceUnknownClient:null,dateFieldsTimeZone:null,typeIdField:null,types:null})}createState(e){return new m(e,this._attributeStore)}async*applyOverrideUpdate(e){for(const t of this._sendStates.values()){t.reset();const e=new d(t.subscription,h.empty(this._source.metadata),!0,!1,{});yield e}}displayMap(e,t,s){const r=new Map(e.map((e=>[t(e),e]))),a=[];for(const i of this._sendStates.values())for(const e of i.featuresWorldSpace()){const{objectId:t,displayId:i}=e,o=r.get(t);if(null!=o){const e=s(i,o,t);a.push(e),r.delete(t)}}return a}getDisplayFeatures(e){const t=new Set(e),r=new Set,a=[];for(const i of this._sendStates.values())for(const e of i.featuresWorldSpace())t.has(e.displayId)&&!r.has(e.objectId)&&(e.geometry&&a.push({...s(e,this._metadata.geometryType,!1,!1),displayId:e.displayId}),r.add(e.objectId));return{features:[],aggregates:a,tracks:[]}}getFeatureObjectIdsForAggregate(e){for(const t of this._sendStates.values())for(const s of t.bins.values())if(s.id===e)return Array.from(s.containedObjectIds);return[]}async*updateChunks(){for(const e of this._sendStates.values())yield*this._update(e,this._source)}forEachAggregateWorldSpace(e){const t=new Set;for(const s of this._sendStates.values())for(const r of s.featuresWorldSpace())t.has(r.objectId)||(e(r),t.add(r.objectId))}_createIndexOptions(e){switch(this._schema.index.type){case"geohash":return{type:"geohash",fields:this.aggregateFields,featureFilter:this._featureFilter,geohashLevel:this._schema.index.fixBinLevel,spatialReference:this.spatialReference,arcadeContextInfo:this._arcadeContextInfo,scale:e.scale};case"grid":{const t=this._schema.index.fixedBinLevel,s=null!=t?e.tileInfoView.getLODInfoAt(t).scale:e.scale;return{type:"grid",fields:this.aggregateFields,cellSize:this._schema.index.size,featureFilter:this._featureFilter,spatialReference:this.spatialReference,arcadeContextInfo:this._arcadeContextInfo,scale:s}}}}async*_update(e,t){const{handledChunks:s,subscription:a,bins:i,featureCache:o}=e,n=a.tile;if(e.done)return;for(const r of t.chunks()){if(s.has(r.chunkId))continue;s.add(r.chunkId);const t=r.queryInfo;if("tileId"in t){const e=new g(t.tileId);if(e.level!==n.level||e.world!==n.key.world)continue}r.getAggregateIndex(this._createIndexOptions(e.tile)).putBounded(i,e.tile.extent,e.tile.resolution)}const l=[],d=a.tile.transform,u=a.tile.key.level;for(const c of i.values()){let e=o.get(c.id);if(e)e.attributes=c.getAttributes();else{const t=c.getGeometry(this.spatialReference,d);e=new r(t,c.getAttributes(),null,c.id),t||(e.centroid=c.getGeometricCentroid(this.spatialReference,d)),e.displayId=this._attributeStore.createDisplayIdForObjectId(`${e.objectId}.${u}`),o.set(c.id,e)}l.push(e)}this.events.emit("changed"),e.done=!t.updateTracking.updating;const f=h.fromOptimizedFeatures(l,this._metadata,d),p=f.getCursor(),m=e.subscription.tile.createArcadeEvaluationOptions(this._arcadeContextInfo);for(;p.next();)this._attributeStore.setAttributeData(p.getDisplayId(),p,m);const y=new c(e.subscription,f,[],e.done,{});yield y}}export{m as BinningState,y as BinningStrategy};
5
+ import e from"../../../../../geometry/SpatialReference.js";import{unquantizeOptimizedGeometry as t,convertToFeature as s}from"../../../../../layers/graphics/featureConversionUtils.js";import{OptimizedFeature as a}from"../../../../../layers/graphics/OptimizedFeature.js";import{checkProjectionSupport as r}from"../../../../../layers/graphics/data/projectionSupport.js";import i from"../../../../../layers/support/FieldsIndex.js";import{ComputedAggregateField as o}from"../aggregation/ComputedAggregateField.js";import{AAggregateStrategy as n}from"./AAggregateStrategy.js";import{ASendState as l}from"./AProcessorStrategy.js";import{FeatureTileAppendMessage as d,FeatureTileUpdateMessage as c}from"../sources/FeatureSourceMessage.js";import{ComputedAttributeStorage as u}from"../support/ComputedAttributeStorage.js";import p from"../support/FeatureFilterEvaluator.js";import{FeatureMetadata as f}from"../support/FeatureMetadata.js";import{FeatureSetReaderJSON as h}from"../support/FeatureSetReaderJSON.js";import m from"../../../tiling/TileKey.js";class g extends l{constructor(e,t){super(e),this.bins=new Map,this.featureCache=new Map,this.done=!1,this._store=t}reset(){this.destroy(),this.done=!1}destroy(){const e=this.subscription.tile.key.level;for(const t of this.featureCache.keys())this._store.releaseDisplayIdForObjectId(`${t}.${e}`);this.bins.clear(),this.featureCache.clear(),this.handledChunks.clear()}get tile(){return this.subscription.tile}*featuresWorldSpace(){for(const e of this.featureCache.values()){const s=e.clone();s.geometry&&t(s.geometry,s.geometry,!1,!1,this.subscription.tile.transform),yield s}}}class y extends n{static async create(t,s,a,i,n,l){const d=new u({spatialReference:s}),c=await Promise.all(t.fields.map((async e=>o.create(d,e)))),f=t.featureFilter?await p.create({geometryType:a.metadata.geometryType,hasM:!1,hasZ:!1,timeInfo:a.metadata.timeInfo,fieldsIndex:a.metadata.fieldsIndex,spatialReference:s,filterJSON:t.featureFilter}):null;return"geohash"===t.index.type&&await r(s,e.WGS84),new y(t,f,n,c,s,a,i,l)}constructor(e,t,s,a,r,o,n,l){super(o,n,r,a,l),this._schema=e,this._featureFilter=t,this._arcadeContextInfo=s,this._metadata=f.createFeature({geometryType:"esriGeometryPolygon",objectIdField:"aggregateId",fieldsIndex:new i(e.fields).toJSON(),globalIdField:null,spatialReference:o.metadata.spatialReference,outSpatialReference:o.metadata.outSpatialReference,subtypeField:null,subtypes:null,timeInfo:null,timeReferenceUnknownClient:null,dateFieldsTimeZone:null,typeIdField:null,types:null})}createState(e){return new g(e,this._attributeStore)}async*applyOverrideUpdate(e){for(const t of this._sendStates.values()){t.reset();const e=new d(t.subscription,h.empty(this._source.metadata),!0,!1,{});yield e}}displayMap(e,t,s){const a=new Map(e.map((e=>[t(e),e]))),r=[];for(const i of this._sendStates.values())for(const e of i.featuresWorldSpace()){const{objectId:t,displayId:i}=e,o=a.get(t);if(null!=o){const e=s(i,o,t);r.push(e),a.delete(t)}}return r}getDisplayFeatures(e){const t=new Set(e),a=new Set,r=[];for(const i of this._sendStates.values())for(const e of i.featuresWorldSpace())t.has(e.displayId)&&!a.has(e.objectId)&&(e.geometry&&r.push({...s(e,this._metadata.geometryType,!1,!1),displayId:e.displayId}),a.add(e.objectId));return{features:[],aggregates:r,tracks:[]}}getFeatureObjectIdsForAggregate(e){for(const t of this._sendStates.values())for(const s of t.bins.values())if(s.id===e)return Array.from(s.containedObjectIds);return[]}async*updateChunks(){for(const e of this._sendStates.values())yield*this._update(e,this._source)}forEachAggregateWorldSpace(e){const t=new Set;for(const s of this._sendStates.values())for(const a of s.featuresWorldSpace())t.has(a.objectId)||(e(a),t.add(a.objectId))}_createIndexOptions(e){switch(this._schema.index.type){case"geohash":return{type:"geohash",fields:this.aggregateFields,featureFilter:this._featureFilter,geohashLevel:this._schema.index.fixBinLevel,spatialReference:this.spatialReference,arcadeContextInfo:this._arcadeContextInfo,scale:e.scale,sqlOptions:this._sqlOptions};case"grid":{const t=this._schema.index.fixedBinLevel,s=null!=t?e.tileInfoView.getLODInfoAt(t).scale:e.scale;return{type:"grid",fields:this.aggregateFields,cellSize:this._schema.index.size,featureFilter:this._featureFilter,spatialReference:this.spatialReference,arcadeContextInfo:this._arcadeContextInfo,scale:s,sqlOptions:this._sqlOptions}}}}async*_update(e,t){const{handledChunks:s,subscription:r,bins:i,featureCache:o}=e,n=r.tile;if(e.done)return;for(const a of t.chunks()){if(s.has(a.chunkId))continue;s.add(a.chunkId);const t=a.queryInfo;if("tileId"in t){const e=new m(t.tileId);if(e.level!==n.level||e.world!==n.key.world)continue}a.getAggregateIndex(this._createIndexOptions(e.tile)).putBounded(i,e.tile.extent,e.tile.resolution)}const l=[],d=r.tile.transform,u=r.tile.key.level;for(const c of i.values()){let e=o.get(c.id);if(e)e.attributes=c.getAttributes();else{const t=c.getGeometry(this.spatialReference,d);e=new a(t,c.getAttributes(),null,c.id),t||(e.centroid=c.getGeometricCentroid(this.spatialReference,d)),e.displayId=this._attributeStore.createDisplayIdForObjectId(`${e.objectId}.${u}`),o.set(c.id,e)}l.push(e)}this.events.emit("changed"),e.done=!t.updateTracking.updating;const p=h.fromOptimizedFeatures(l,this._metadata,d),f=p.getCursor(),g=e.subscription.tile.createArcadeEvaluationOptions(this._arcadeContextInfo);for(;f.next();)this._attributeStore.setAttributeData(f.getDisplayId(),f,g,this._sqlOptions);const y=new c(e.subscription,p,[],e.done,{});yield y}}export{g as BinningState,y as BinningStrategy};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import{convertToFeature as e}from"../../../../../layers/graphics/featureConversionUtils.js";import{OptimizedFeature as t}from"../../../../../layers/graphics/OptimizedFeature.js";import s from"../../../../../layers/graphics/OptimizedGeometry.js";import i from"../../../../../layers/support/FieldsIndex.js";import{tileSize as r}from"../../../engine/webgl/definitions.js";import{ComputedAggregateField as n}from"../aggregation/ComputedAggregateField.js";import{GridCell as a}from"../aggregation/GridCell.js";import{pixelsPerMapUnit as l}from"../aggregation/GridSpatialIndex.js";import{AAggregateStrategy as o}from"./AAggregateStrategy.js";import{ASendState as d}from"./AProcessorStrategy.js";import{WithDisplayId as u}from"./support/WithDisplayId.js";import{FeatureTileAppendMessage as c}from"../sources/FeatureSourceMessage.js";import{ComputedAttributeStorage as h}from"../support/ComputedAttributeStorage.js";import p from"../support/FeatureFilter.js";import{FeatureMetadata as f}from"../support/FeatureMetadata.js";import{FeatureSetReaderJSON as g}from"../support/FeatureSetReaderJSON.js";import _ from"../../../tiling/TileKey.js";const m=128;class y extends d{constructor(e){super(e),this.didSend=!1,this.done=!1}}class S{constructor(e,t,s,i,r){this._level=e,this._scale=t,this._indexOptions=s,this._clusterRadius=i,this._store=r,this._cells=new Map,this._handledChunks=new Set,this._statistics=new Map,this._clusters=new Map}destroy(){this._clearClusters()}_clearClusters(){for(const e of this._clusters.values())this._store.releaseDisplayIdForObjectId(e.inner.id);this._clusters.clear()}*aggregatesWorldSpace(){for(const e of this._clusters.values()){const s=e.inner.getCentroid(null),i=new t(s,e.inner.getAttributes(),null,e.inner.id,e.displayId);yield i}}clusters(){return this._clusters.values()}updateChunks(e,t){let s=!1;for(const a of e){const e=a.queryInfo;if("tileId"in e){if(new _(e.tileId).level!==this._level)continue}if(!this._handledChunks.has(a.normalizedChunkId)){this._handledChunks.add(a.normalizedChunkId),s=!0;a.getAggregateIndex({...this._indexOptions,scale:this._scale}).put(this._cells)}}const i={xMin:1/0,yMin:1/0,xMax:-1/0,yMax:-1/0},r=l(this._indexOptions.spatialReference,this._scale),n=this._indexOptions.cellSize;for(const{subscription:a}of t){const e=a.tile.bounds,t=Math.floor(e[0]*r/n),s=Math.floor(e[1]*r/n),l=Math.ceil(e[2]*r/n),o=Math.ceil(e[3]*r/n);i.xMin=Math.min(i.xMin,t),i.yMin=Math.min(i.yMin,s),i.xMax=Math.max(i.xMax,l),i.yMax=Math.max(i.yMax,o)}return null!=this._lastCellBounds&&i.xMin===this._lastCellBounds.xMin&&i.yMin===this._lastCellBounds.yMin&&i.yMin===this._lastCellBounds.yMin&&i.yMax===this._lastCellBounds.yMax||(s=!0,this._lastCellBounds=i),s&&this._clusterCells(i),s}async updateStatistics(e){let t=!1;for(const s of this._clusters.values())s.inner.count>1&&(t=this._updateAggregateStatistics(this._statistics,s.inner)||t);if(t){const t=Array.from(this._statistics.entries()).map((([e,t])=>({fieldName:e,minValue:t.minValue,maxValue:t.maxValue})));await e.container.updateStatistics(this._level,t)}}createAggregateFeatures(e,i){const n=e.subscription,a=[],l=n.tile.transform;for(const o of this._clusters.values()){let e=o.inner.getCentroidX(l);const i=o.inner.getCentroidY(l),d=n.tile.lod,u=d.wrap?d.worldSize[0]:null,c=1===o.inner.count?o.inner.firstObjectId:o.inner.id,h=o.displayId;if(null!=u)if(1===u){const n=new s([],[e,i]),l=new t(n,o.inner.getAttributes(),null,c,h);l.geometry.coords[0]-=r,a.push(l);const d=new s([],[e,i]),u=new t(d,o.inner.getAttributes(),null,c,h);u.geometry.coords[0]+=r,a.push(u)}else e>r+r/2?e-=u*r:e<-256&&(e+=u*r);if(e<r+m&&e>=-128&&i<r+m&&i>=-128){const r=new s([],[e,i]),n=new t(r,o.inner.getAttributes(),null,c,h);a.push(n)}}return g.fromOptimizedFeatures(a,i,n.tile.transform)}_clusterCells(e){let t=Array.from(this._cells.values());t=t.sort(((e,t)=>t.count-e.count));const s=[];for(const a of this._clusters.values())s.push(a.inner.id);this._clusters.clear();const i=this._clusterRadius*(1/l(this._indexOptions.spatialReference,this._scale)),r=1+this._clusterRadius/this._indexOptions.cellSize,n=new Set;for(const l of t){if(n.has(l.id))continue;if(l.gridX<e.xMin||l.gridX>e.xMax||l.gridY<e.yMin||l.gridY>e.yMax)continue;const t=this._store.createDisplayIdForObjectId(l.id),s=new u(l.clone(),t);n.add(l.id),this._clusters.set(l.id,s);const o=l.centroidXWorld,d=l.centroidYWorld;for(let e=l.gridY-r;e<=l.gridY+r;e++)for(let t=l.gridX-r;t<=l.gridX+r;t++){if(e===l.gridY&&t===l.gridX)continue;const r=this._cells.get(a.createId(t,e));if(!r||n.has(r.id))continue;const u=Math.abs(r.centroidXWorld-o),c=Math.abs(r.centroidYWorld-d);u<i&&c<i&&(s.inner.merge(r),n.add(r.id))}}for(const a of s)this._store.releaseDisplayIdForObjectId(a)}_updateAggregateStatistics(e,t){let s=!1;for(const i of t.statistics.values()){if("esriFieldTypeString"===i.field.type)continue;const t=i.value,r=i.field,n=e.get(r.name);if(n){const{minValue:e,maxValue:i}=n,r=Math.min(n.minValue,t),a=Math.max(n.maxValue,t);e===r&&i===a||(n.minValue=r,n.maxValue=a,s=!0)}else e.set(r.name,{minValue:t,maxValue:t}),s=!0}return s}}class x extends o{static async create(e,t,s,i,r,a){const l=new h({spatialReference:s}),o={type:"grid",fields:await Promise.all(t.fields.map((async e=>n.create(l,e)))),spatialReference:s,featureFilter:t.featureFilter?await p.create({geometryType:i.metadata.geometryType,hasM:!1,hasZ:!1,timeInfo:i.metadata.timeInfo,fieldsIndex:i.metadata.fieldsIndex,spatialReference:s,filterJSON:t.featureFilter}):null,cellSize:t.clusterRadius/4,arcadeContextInfo:a};return new x(e,t.clusterRadius,o,t.fields,i,r)}constructor(e,t,s,r,n,a){super(n,a,s.spatialReference,s.fields),this._connection=e,this._clusterRadius=t,this._indexOptions=s,this._cellsPerScale=new Map,this._metadata=f.createFeature({geometryType:"esriGeometryPoint",objectIdField:"aggregateId",fieldsIndex:new i([...r,...this._source.metadata.fieldsIndex.fields,{name:"aggregateId",alias:"aggregateId",type:"esriFieldTypeOID"}]).toJSON(),globalIdField:null,spatialReference:n.metadata.spatialReference,subtypeField:null,subtypes:null,timeInfo:null,timeReferenceUnknownClient:null,dateFieldsTimeZone:null,typeIdField:null,types:null})}get enablePixelBuffering(){return!1}invalidate(){super.invalidate();for(const e of this._cellsPerScale.values())e.destroy();this._cellsPerScale.clear()}onSubscribe(e){super.onSubscribe(e),this._requiredLevel=e.tile.level,this._requiredScale=e.tile.scale}createState(e){return new y(e)}async*applyOverrideUpdate(e){for(const t of this._cellsPerScale.values())t.destroy();this._cellsPerScale.clear();for(const t of this._sendStates.values())t.done=!1}displayMap(e,t,s){const i=new Map(e.map((e=>[t(e),e]))),r=[],n=this._getClusterState(this._requiredLevel,this._requiredScale);for(const a of n.clusters()){const e=i.get(a.inner.id);if(null==e){if(1===a.inner.count){const{firstObjectId:e}=a.inner,t=e?i.get(e):null;if(null!=t){const n=s(a.displayId,t,e);r.push(n),i.delete(e)}}}else{const t=s(a.displayId,e,a.inner.id);r.push(t),i.delete(a.inner.id)}}return r}getDisplayFeatures(t){const s=new Set(t),i=new Set,r=[],n=[],a=this._getClusterState(this._requiredLevel,this._requiredScale);for(const l of a.aggregatesWorldSpace())if(s.has(l.displayId)&&!i.has(l.displayId)){const t=e(l,this._metadata.geometryType,!1,!1);if(i.add(l.displayId),1===t.attributes.cluster_count){r.push({...t,displayId:l.displayId});continue}n.push({...t,displayId:l.displayId})}return{features:r,aggregates:n,tracks:[]}}getFeatureObjectIdsForAggregate(e){const t=this._getClusterState(this._requiredLevel,this._requiredScale);for(const s of t.clusters())if(s.inner.id===e)return Array.from(s.inner.containedObjectIds);return[]}async*updateChunks(){const e=this._source.chunks();if(!e.length)return;const t=this._getClusterState(this._requiredLevel,this._requiredScale),s=Array.from(this._sendStates.values()).filter((e=>e.subscription.tile.level===this._requiredLevel));if(t.updateChunks(e,s)||!this._source.updateTracking.updating)for(const n of s)n.subscription.tile.level===this._requiredLevel&&(n.didSend=!1,n.done=!1);const i=Array.from(this._sendStates.values()).filter((e=>e.done)).map((e=>e.subscription.tile.key)),r=new Set(i);for(const n of this._sendStates.values()){if(this._source.updateTracking.updating){if(i.some((e=>e.containsChild(n.subscription.tile.key))))continue;if(n.subscription.tile.key.getChildKeys().every((e=>r.has(e))))continue}n.didSend||n.subscription.tile.level!==this._requiredLevel||(n.didSend=!0,yield*this._update(n,t,this._source))}await t.updateStatistics(this._connection)}forEachAggregateWorldSpace(e){if(null==this._requiredLevel||null==this._requiredScale)return;const t=this._getClusterState(this._requiredLevel,this._requiredScale);for(const s of t.aggregatesWorldSpace())e(s)}_getClusterState(e,t){if(null==e||null==t)throw new Error("InternalError: Level and scale must be defined");let s=this._cellsPerScale.get(t);return s||(s=new S(e,t,this._indexOptions,this._clusterRadius,this._attributeStore),this._cellsPerScale.set(t,s)),s}async*_update(e,t,s){if(e.done)return;const i=t.createAggregateFeatures(e,this._metadata);this.events.emit("changed"),e.done=!s.updateTracking.updating;const r=i.getCursor(),n=e.subscription.tile.createArcadeEvaluationOptions(this._indexOptions.arcadeContextInfo);for(;r.next();)this._attributeStore.setAttributeData(r.getDisplayId(),r,n);const a=new c(e.subscription,i,!0,e.done,{});yield a}}export{y as ClusterState,x as ClusterStrategy};
5
+ import{convertToFeature as e}from"../../../../../layers/graphics/featureConversionUtils.js";import{OptimizedFeature as t}from"../../../../../layers/graphics/OptimizedFeature.js";import s from"../../../../../layers/graphics/OptimizedGeometry.js";import i from"../../../../../layers/support/FieldsIndex.js";import{tileSize as r}from"../../../engine/webgl/definitions.js";import{ComputedAggregateField as n}from"../aggregation/ComputedAggregateField.js";import{GridCell as a}from"../aggregation/GridCell.js";import{pixelsPerMapUnit as l}from"../aggregation/GridSpatialIndex.js";import{AAggregateStrategy as o}from"./AAggregateStrategy.js";import{ASendState as d}from"./AProcessorStrategy.js";import{WithDisplayId as u}from"./support/WithDisplayId.js";import{FeatureTileAppendMessage as c}from"../sources/FeatureSourceMessage.js";import{ComputedAttributeStorage as h}from"../support/ComputedAttributeStorage.js";import p from"../support/FeatureFilterEvaluator.js";import{FeatureMetadata as f}from"../support/FeatureMetadata.js";import{FeatureSetReaderJSON as g}from"../support/FeatureSetReaderJSON.js";import _ from"../../../tiling/TileKey.js";const m=128;class y extends d{constructor(e){super(e),this.didSend=!1,this.done=!1}}class S{constructor(e,t,s,i,r){this._level=e,this._scale=t,this._indexOptions=s,this._clusterRadius=i,this._store=r,this._cells=new Map,this._handledChunks=new Set,this._statistics=new Map,this._clusters=new Map}destroy(){this._clearClusters()}_clearClusters(){for(const e of this._clusters.values())this._store.releaseDisplayIdForObjectId(e.inner.id);this._clusters.clear()}*aggregatesWorldSpace(){for(const e of this._clusters.values()){const s=e.inner.getCentroid(null),i=new t(s,e.inner.getAttributes(),null,e.inner.id,e.displayId);yield i}}clusters(){return this._clusters.values()}updateChunks(e,t){let s=!1;for(const a of e){const e=a.queryInfo;if("tileId"in e){if(new _(e.tileId).level!==this._level)continue}if(!this._handledChunks.has(a.normalizedChunkId)){this._handledChunks.add(a.normalizedChunkId),s=!0;a.getAggregateIndex({...this._indexOptions,scale:this._scale}).put(this._cells)}}const i={xMin:1/0,yMin:1/0,xMax:-1/0,yMax:-1/0},r=l(this._indexOptions.spatialReference,this._scale),n=this._indexOptions.cellSize;for(const{subscription:a}of t){const e=a.tile.bounds,t=Math.floor(e[0]*r/n),s=Math.floor(e[1]*r/n),l=Math.ceil(e[2]*r/n),o=Math.ceil(e[3]*r/n);i.xMin=Math.min(i.xMin,t),i.yMin=Math.min(i.yMin,s),i.xMax=Math.max(i.xMax,l),i.yMax=Math.max(i.yMax,o)}return null!=this._lastCellBounds&&i.xMin===this._lastCellBounds.xMin&&i.yMin===this._lastCellBounds.yMin&&i.yMin===this._lastCellBounds.yMin&&i.yMax===this._lastCellBounds.yMax||(s=!0,this._lastCellBounds=i),s&&this._clusterCells(i),s}async updateStatistics(e){let t=!1;for(const s of this._clusters.values())s.inner.count>1&&(t=this._updateAggregateStatistics(this._statistics,s.inner)||t);if(t){const t=Array.from(this._statistics.entries()).map((([e,t])=>({fieldName:e,minValue:t.minValue,maxValue:t.maxValue})));await e.container.updateStatistics(this._level,t)}}createAggregateFeatures(e,i){const n=e.subscription,a=[],l=n.tile.transform;for(const o of this._clusters.values()){let e=o.inner.getCentroidX(l);const i=o.inner.getCentroidY(l),d=n.tile.lod,u=d.wrap?d.worldSize[0]:null,c=1===o.inner.count?o.inner.firstObjectId:o.inner.id,h=o.displayId;if(null!=u)if(1===u){const n=new s([],[e,i]),l=new t(n,o.inner.getAttributes(),null,c,h);l.geometry.coords[0]-=r,a.push(l);const d=new s([],[e,i]),u=new t(d,o.inner.getAttributes(),null,c,h);u.geometry.coords[0]+=r,a.push(u)}else e>r+r/2?e-=u*r:e<-256&&(e+=u*r);if(e<r+m&&e>=-128&&i<r+m&&i>=-128){const r=new s([],[e,i]),n=new t(r,o.inner.getAttributes(),null,c,h);a.push(n)}}return g.fromOptimizedFeatures(a,i,n.tile.transform)}_clusterCells(e){let t=Array.from(this._cells.values());t=t.sort(((e,t)=>t.count-e.count));const s=[];for(const a of this._clusters.values())s.push(a.inner.id);this._clusters.clear();const i=this._clusterRadius*(1/l(this._indexOptions.spatialReference,this._scale)),r=1+this._clusterRadius/this._indexOptions.cellSize,n=new Set;for(const l of t){if(n.has(l.id))continue;if(l.gridX<e.xMin||l.gridX>e.xMax||l.gridY<e.yMin||l.gridY>e.yMax)continue;const t=this._store.createDisplayIdForObjectId(l.id),s=new u(l.clone(),t);n.add(l.id),this._clusters.set(l.id,s);const o=l.centroidXWorld,d=l.centroidYWorld;for(let e=l.gridY-r;e<=l.gridY+r;e++)for(let t=l.gridX-r;t<=l.gridX+r;t++){if(e===l.gridY&&t===l.gridX)continue;const r=this._cells.get(a.createId(t,e));if(!r||n.has(r.id))continue;const u=Math.abs(r.centroidXWorld-o),c=Math.abs(r.centroidYWorld-d);u<i&&c<i&&(s.inner.merge(r),n.add(r.id))}}for(const a of s)this._store.releaseDisplayIdForObjectId(a)}_updateAggregateStatistics(e,t){let s=!1;for(const i of t.statistics.values()){if("esriFieldTypeString"===i.field.type)continue;const t=i.value,r=i.field,n=e.get(r.name);if(n){const{minValue:e,maxValue:i}=n,r=Math.min(n.minValue,t),a=Math.max(n.maxValue,t);e===r&&i===a||(n.minValue=r,n.maxValue=a,s=!0)}else e.set(r.name,{minValue:t,maxValue:t}),s=!0}return s}}class x extends o{static async create(e,t,s,i,r,a,l){const o=new h({spatialReference:s}),d={type:"grid",fields:await Promise.all(t.fields.map((async e=>n.create(o,e)))),spatialReference:s,featureFilter:t.featureFilter?await p.create({geometryType:i.metadata.geometryType,hasM:!1,hasZ:!1,timeInfo:i.metadata.timeInfo,fieldsIndex:i.metadata.fieldsIndex,spatialReference:s,filterJSON:t.featureFilter}):null,cellSize:t.clusterRadius/4,arcadeContextInfo:a,sqlOptions:l};return new x(e,t.clusterRadius,d,t.fields,i,r,l)}constructor(e,t,s,r,n,a,l){super(n,a,s.spatialReference,s.fields,l),this._connection=e,this._clusterRadius=t,this._indexOptions=s,this._cellsPerScale=new Map,this._metadata=f.createFeature({geometryType:"esriGeometryPoint",objectIdField:"aggregateId",fieldsIndex:new i([...r,...this._source.metadata.fieldsIndex.fields,{name:"aggregateId",alias:"aggregateId",type:"esriFieldTypeOID"}]).toJSON(),globalIdField:null,spatialReference:n.metadata.spatialReference,outSpatialReference:n.metadata.outSpatialReference,subtypeField:null,subtypes:null,timeInfo:null,timeReferenceUnknownClient:null,dateFieldsTimeZone:null,typeIdField:null,types:null})}get enablePixelBuffering(){return!1}invalidate(){super.invalidate();for(const e of this._cellsPerScale.values())e.destroy();this._cellsPerScale.clear()}onSubscribe(e){super.onSubscribe(e),this._requiredLevel=e.tile.level,this._requiredScale=e.tile.scale}createState(e){return new y(e)}async*applyOverrideUpdate(e){for(const t of this._cellsPerScale.values())t.destroy();this._cellsPerScale.clear();for(const t of this._sendStates.values())t.done=!1}displayMap(e,t,s){const i=new Map(e.map((e=>[t(e),e]))),r=[],n=this._getClusterState(this._requiredLevel,this._requiredScale);for(const a of n.clusters()){const e=i.get(a.inner.id);if(null==e){if(1===a.inner.count){const{firstObjectId:e}=a.inner,t=e?i.get(e):null;if(null!=t){const n=s(a.displayId,t,e);r.push(n),i.delete(e)}}}else{const t=s(a.displayId,e,a.inner.id);r.push(t),i.delete(a.inner.id)}}return r}getDisplayFeatures(t){const s=new Set(t),i=new Set,r=[],n=[],a=this._getClusterState(this._requiredLevel,this._requiredScale);for(const l of a.aggregatesWorldSpace())if(s.has(l.displayId)&&!i.has(l.displayId)){const t=e(l,this._metadata.geometryType,!1,!1);if(i.add(l.displayId),1===t.attributes.cluster_count){r.push({...t,displayId:l.displayId});continue}n.push({...t,displayId:l.displayId})}return{features:r,aggregates:n,tracks:[]}}getFeatureObjectIdsForAggregate(e){const t=this._getClusterState(this._requiredLevel,this._requiredScale);for(const s of t.clusters())if(s.inner.id===e)return Array.from(s.inner.containedObjectIds);return[]}async*updateChunks(){const e=this._source.chunks();if(!e.length)return;const t=this._getClusterState(this._requiredLevel,this._requiredScale),s=Array.from(this._sendStates.values()).filter((e=>e.subscription.tile.level===this._requiredLevel));if(t.updateChunks(e,s)||!this._source.updateTracking.updating)for(const n of s)n.subscription.tile.level===this._requiredLevel&&(n.didSend=!1,n.done=!1);const i=Array.from(this._sendStates.values()).filter((e=>e.done)).map((e=>e.subscription.tile.key)),r=new Set(i);for(const n of this._sendStates.values()){if(this._source.updateTracking.updating){if(i.some((e=>e.containsChild(n.subscription.tile.key))))continue;if(n.subscription.tile.key.getChildKeys().every((e=>r.has(e))))continue}n.didSend||n.subscription.tile.level!==this._requiredLevel||(n.didSend=!0,yield*this._update(n,t,this._source))}await t.updateStatistics(this._connection)}forEachAggregateWorldSpace(e){if(null==this._requiredLevel||null==this._requiredScale)return;const t=this._getClusterState(this._requiredLevel,this._requiredScale);for(const s of t.aggregatesWorldSpace())e(s)}_getClusterState(e,t){if(null==e||null==t)throw new Error("InternalError: Level and scale must be defined");let s=this._cellsPerScale.get(t);return s||(s=new S(e,t,this._indexOptions,this._clusterRadius,this._attributeStore),this._cellsPerScale.set(t,s)),s}async*_update(e,t,s){if(e.done)return;const i=t.createAggregateFeatures(e,this._metadata);this.events.emit("changed"),e.done=!s.updateTracking.updating;const r=i.getCursor(),n=e.subscription.tile.createArcadeEvaluationOptions(this._indexOptions.arcadeContextInfo);for(;r.next();)this._attributeStore.setAttributeData(r.getDisplayId(),r,n,this._sqlOptions);const a=new c(e.subscription,i,!0,e.done,{});yield a}}export{y as ClusterState,x as ClusterStrategy};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import has from"../../../../../core/has.js";import{ASendState as e,AProcessorStrategy as t}from"./AProcessorStrategy.js";import{FeatureTileUpdateMessage as s,FeatureTileAppendMessage as r}from"../sources/FeatureSourceMessage.js";import{OverrideChunk as o}from"../sources/strategies/chunks/Overrides.js";import{createArcadeEvaluationOptions as a}from"../support/arcadeUtils.js";import{FeatureSetReaderJSON as n}from"../support/FeatureSetReaderJSON.js";class d extends e{}class i extends t{constructor(e,t,s){super(e,t),this._arcadeContextInfo=s,this.handledChunks=new Set,this.handledChunksForIdCreation=new Set,this.handledChunksForAttributeData=new Set,this._streamLayerDeferredObjectIdsToRemove=[]}destroy(){super.destroy();for(const e of this._source.chunks())this._cleanupChunkIds(e)}invalidateAttributeData(e){this.handledChunksForAttributeData.clear(),this._arcadeContextInfo=e,null!=this._evalOptions&&(this._evalOptions=a(this._evalOptions.$view.scale,e))}onSubscribe(e){super.onSubscribe(e),this._evalOptions=e.tile.createArcadeEvaluationOptions(this._arcadeContextInfo)}createState(e){return new d(e)}get aggregateQueryEngine(){return null}displayMap(e,t,s){const r=new Map(e.map((e=>[t(e),e]))),o=[];for(const a of this._source.chunks()){const e=a.reader.getCursor();for(;e.next();){const t=e.getObjectId(),a=e.getDisplayId(),n=r.get(t);if(null!=n){const e=s(a,n,t);o.push(e),r.delete(t)}}}return o}getDisplayFeatures(e){const t=new Set(e),s=new Set,r=[];for(const o of this._source.chunks()){const e=o.reader.getCursor();for(;e.next();){const o=e.getObjectId(),a=e.getDisplayId();t.has(a)&&!s.has(o)&&(r.push({...e.readLegacyFeatureWorldSpace(),displayId:a}),s.add(o))}}return{features:r,aggregates:[],tracks:[]}}async*applyOverrideUpdate(e){const t=[];for(const s of e.modified){const e=this._attributeStore.createDisplayIdForObjectId(s.objectId);s.displayId=e,t.push(e)}const r=n.fromOptimizedFeatures(e.modified,this._source.metadata).getCursor();for(;r.next();)this._attributeStore.setAttributeData(r.getDisplayId(),r,this._evalOptions);const a=[];for(const s of e.removed){const e=this._attributeStore.getDisplayIdForObjectId(s);null!=e&&a.push(e)}has("esri-2d-update-debug")&&console.debug("FeatureUpdateStrategy.applyLocalEdit",{message:e,modifiedDisplayIds:t,removedDisplayIds:a});const d=o.fromFeatures(e.modified,this._source.metadata);this.handledChunks.add(d.chunkId),this.handledChunksForAttributeData.add(d.chunkId),this.handledChunksForIdCreation.add(d.chunkId);for(const o of this._sendStates.values())o.handledChunks.add(d.chunkId),yield new s(o.subscription,null,t,!1,d.queryInfo);for(const o of this._sendStates.values()){const e=d.getTileReader(o.subscription.tile);yield new s(o.subscription,e,a,!1,d.queryInfo)}for(const s of e.removed)this._attributeStore.releaseDisplayIdForObjectId(s)}async*updateChunks(){if(this._source.chunks().length){await this._updateAttributeData();for(const e of this._sendStates.values())yield*this._update(e)}}removeChunks(e){for(const t of e)this.handledChunks.delete(t.chunkId),this.handledChunksForAttributeData.delete(t.chunkId),this._cleanupChunkIds(t)}afterUpdateChunks(){for(const e of this._streamLayerDeferredObjectIdsToRemove)this._attributeStore.releaseDisplayIdForObjectId(e);this._streamLayerDeferredObjectIdsToRemove=[]}_cleanupChunkIds(e){if(this.handledChunksForIdCreation.has(e.chunkId)){const t=e.reader.getCursor();for(;t.next();){const e=t.getObjectId();this._source.isStream?this._streamLayerDeferredObjectIdsToRemove.push(e):this._attributeStore.releaseDisplayIdForObjectId(e)}this.handledChunksForIdCreation.delete(e.chunkId)}}async _updateAttributeData(){for(const e of this._source.chunks()){const{chunkId:t,reader:s}=e;if(!this.handledChunksForIdCreation.has(t)){this.handledChunksForIdCreation.add(t);const e=s.getCursor();for(;e.next();){const t=this._attributeStore.createDisplayIdForObjectId(e.getObjectId());e.setDisplayId(t)}}}for(const e of this._source.chunks())if(!this.handledChunksForAttributeData.has(e.chunkId)){this.handledChunksForAttributeData.add(e.chunkId);const t=e.reader.getCursor();for(;t.next();){const e=t.getDisplayId();this._attributeStore.setAttributeData(e,t,this._evalOptions)}}}*_update(e){const{subscription:t,handledChunks:s}=e;for(const o of this._source.chunks()){const{chunkId:a}=o;if(s.has(a))continue;s.add(a);const n=o.getTileReader(t.tile);n&&(yield new r(e.subscription,n,!1,o.end,o.queryInfo))}}}export{d as DefaultSendState,i as FeatureUpdateStrategy};
5
+ import has from"../../../../../core/has.js";import{ASendState as e,AProcessorStrategy as t}from"./AProcessorStrategy.js";import{FeatureTileUpdateMessage as s,FeatureTileAppendMessage as r}from"../sources/FeatureSourceMessage.js";import{OverrideChunk as o}from"../sources/strategies/chunks/Overrides.js";import{createArcadeEvaluationOptions as a}from"../support/arcadeUtils.js";import{FeatureSetReaderJSON as n}from"../support/FeatureSetReaderJSON.js";class d extends e{}class i extends t{constructor(e,t,s,r){super(e,t,r),this._arcadeContextInfo=s,this.handledChunks=new Set,this.handledChunksForIdCreation=new Set,this.handledChunksForAttributeData=new Set,this._streamLayerDeferredObjectIdsToRemove=[]}destroy(){super.destroy();for(const e of this._source.chunks())this._cleanupChunkIds(e)}invalidateAttributeData(e){this.handledChunksForAttributeData.clear(),this._arcadeContextInfo=e,null!=this._evalOptions&&(this._evalOptions=a(this._evalOptions.$view.scale,e))}onSubscribe(e){super.onSubscribe(e),this._evalOptions=e.tile.createArcadeEvaluationOptions(this._arcadeContextInfo)}createState(e){return new d(e)}get aggregateQueryEngine(){return null}displayMap(e,t,s){const r=new Map(e.map((e=>[t(e),e]))),o=[];for(const a of this._source.chunks()){const e=a.reader.getCursor();for(;e.next();){const t=e.getObjectId(),a=e.getDisplayId(),n=r.get(t);if(null!=n){const e=s(a,n,t);o.push(e),r.delete(t)}}}return o}getDisplayFeatures(e){const t=new Set(e),s=new Set,r=[];for(const o of this._source.chunks()){const e=o.reader.getCursor();for(;e.next();){const o=e.getObjectId(),a=e.getDisplayId();t.has(a)&&!s.has(o)&&(r.push({...e.readLegacyFeatureWorldSpace(),displayId:a}),s.add(o))}}return{features:r,aggregates:[],tracks:[]}}async*applyOverrideUpdate(e){const t=[];for(const s of e.modified){const e=this._attributeStore.createDisplayIdForObjectId(s.objectId);s.displayId=e,t.push(e)}const r=n.fromOptimizedFeatures(e.modified,this._source.metadata).getCursor();for(;r.next();)this._attributeStore.setAttributeData(r.getDisplayId(),r,this._evalOptions,this._sqlOptions);const a=[];for(const s of e.removed){const e=this._attributeStore.getDisplayIdForObjectId(s);null!=e&&a.push(e)}has("esri-2d-update-debug")&&console.debug("FeatureUpdateStrategy.applyLocalEdit",{message:e,modifiedDisplayIds:t,removedDisplayIds:a});const d=o.fromFeatures(e.modified,this._source.metadata);this.handledChunks.add(d.chunkId),this.handledChunksForAttributeData.add(d.chunkId),this.handledChunksForIdCreation.add(d.chunkId);for(const o of this._sendStates.values())o.handledChunks.add(d.chunkId),yield new s(o.subscription,null,t,!1,d.queryInfo);for(const o of this._sendStates.values()){const e=d.getTileReader(o.subscription.tile);yield new s(o.subscription,e,a,!1,d.queryInfo)}for(const s of e.removed)this._attributeStore.releaseDisplayIdForObjectId(s)}async*updateChunks(){if(this._source.chunks().length){await this._updateAttributeData();for(const e of this._sendStates.values())yield*this._update(e)}}removeChunks(e){for(const t of e)this.handledChunks.delete(t.chunkId),this.handledChunksForAttributeData.delete(t.chunkId),this._cleanupChunkIds(t)}afterUpdateChunks(){for(const e of this._streamLayerDeferredObjectIdsToRemove)this._attributeStore.releaseDisplayIdForObjectId(e);this._streamLayerDeferredObjectIdsToRemove=[]}_cleanupChunkIds(e){if(this.handledChunksForIdCreation.has(e.chunkId)){const t=e.reader.getCursor();for(;t.next();){const e=t.getObjectId();this._source.isStream?this._streamLayerDeferredObjectIdsToRemove.push(e):this._attributeStore.releaseDisplayIdForObjectId(e)}this.handledChunksForIdCreation.delete(e.chunkId)}}async _updateAttributeData(){for(const e of this._source.chunks()){const{chunkId:t,reader:s}=e;if(!this.handledChunksForIdCreation.has(t)){this.handledChunksForIdCreation.add(t);const e=s.getCursor();for(;e.next();){const t=this._attributeStore.createDisplayIdForObjectId(e.getObjectId());e.setDisplayId(t)}}}for(const e of this._source.chunks())if(!this.handledChunksForAttributeData.has(e.chunkId)){this.handledChunksForAttributeData.add(e.chunkId);const t=e.reader.getCursor();for(;t.next();){const e=t.getDisplayId();this._attributeStore.setAttributeData(e,t,this._evalOptions,this._sqlOptions)}}}*_update(e){const{subscription:t,handledChunks:s}=e;for(const o of this._source.chunks()){const{chunkId:a}=o;if(s.has(a))continue;s.add(a);const n=o.getTileReader(t.tile);n&&(yield new r(e.subscription,n,!1,o.end,o.queryInfo))}}}export{d as DefaultSendState,i as FeatureUpdateStrategy};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import{isSome as t}from"../../../../../core/arrayUtils.js";import e from"../../../../../core/Logger.js";import{assertIsSome as s}from"../../../../../core/maybe.js";import{isLoaded as r,load as i,execute as a}from"../../../../../geometry/operators/gx/operatorGeodeticDensify.js";import{geodeticCurveType as o}from"../../../../../geometry/operators/support/geodeticCurveType.js";import{intersectsWithMargin as n,fromValues as l,intersects as c,empty as d,expandPointInPlace as u}from"../../../../../geometry/support/aaBoundingRect.js";import{getClosestDenormalizedXToReference as m}from"../../../../../geometry/support/normalizeUtils.js";import{normalizeCentralMeridianForDisplay as h}from"../../../../../geometry/support/normalizeUtilsSync.js";import{quantizeOptimizedGeometry as p,convertToGeometry as f,convertFromNestedArray as g}from"../../../../../layers/graphics/featureConversionUtils.js";import{OptimizedFeature as b}from"../../../../../layers/graphics/OptimizedFeature.js";import _ from"../../../../../layers/graphics/OptimizedGeometry.js";import{internalTrackPartField as y,TrackPart as I,externalTrackLineOidPrefix as v,internalTimeReceivedField as F}from"../../../../../layers/support/streamLayerUtils.js";import{tileSize as k}from"../../../engine/webgl/definitions.js";import{AccumulatedStatistics as j}from"../aggregation/AccumulatedStatistics.js";import{ComputedAggregateField as O}from"../aggregation/ComputedAggregateField.js";import{AAggregateStrategy as T}from"./AAggregateStrategy.js";import{ASendState as S}from"./AProcessorStrategy.js";import{FeatureTileAppendMessage as x}from"../sources/FeatureSourceMessage.js";import{createArcadeEvaluationOptions as R}from"../support/arcadeUtils.js";import{ComputedAttributeStorage as L}from"../support/ComputedAttributeStorage.js";import w from"../support/FeatureFilter.js";import{FeatureMetadata as A}from"../support/FeatureMetadata.js";import{FeatureSetReaderIndirect as G}from"../support/FeatureSetReaderIndirect.js";import{FeatureSetReaderJSON as D}from"../support/FeatureSetReaderJSON.js";let C;const P=()=>e.getLogger("esri.views.2d.layers.features.processor.TrackStrategy"),M=32;class W{constructor(t,e,s,r,i){this.chunkIndex=t,this.featureIndex=e,this.objectId=s,this.displayId=r,this.time=i}}class z{static getOid(t){return v+t}constructor(t,e,s,r,i,a,o,n){this._schema=t,this.trackId=e,this.objectId=s,this.displayId=r,this._fields=i,this._spatialReference=a,this._metadata=o,this._isStream=n,this._observationRecords=[],this._nextObservationRecords=[],this._trackLinePath=[],this._bounds=[],this._trackLineGeometry=new _}get _trackLineAttributes(){const t={...this._latestObservationFeature?.attributes??{},aggregateId:this.objectId,[y]:I.TrackLine};if(null!=this._statistics)for(const e of this._statistics.values())t[e.field.name]=e.value;return t}get _startTimeField(){return this._metadata.timeInfo?.startTimeField}get length(){return this._observationRecords.length}*observations(){yield*this._observationRecords}*previousObservations(){for(let t=0;t<this._observationRecords.length-1;t++)yield this._observationRecords[t]}stageObservation(t,e){this._nextObservationRecords.push(new W(t,e.getIndex(),e.getObjectId(),e.getDisplayId(),null!=this._startTimeField?e.readAttributeAsTimestamp(this._startTimeField):null))}commitObservations(t,e){const r=new Set(this._nextObservationRecords.map((t=>t.objectId))),i=this._observationRecords.filter((t=>!r.has(t.objectId))).map((t=>t.objectId));let a,o;switch(this._observationRecords=[],this._trackLinePath=[],this._isStream||null==this._startTimeField||this._nextObservationRecords.sort(((t,e)=>{const s=t.time,r=e.time;return null!=s&&null!=r?s-r:0})),this._schema.timeField){case"startTimeField":a=this._metadata.timeInfo?.startTimeField;break;case"endTimeField":a=this._metadata.timeInfo?.endTimeField;break;case"timeReceived":a=this._isStream?F:null}o=this._isStream?e?.end??Date.now():e?.end??-1/0;const n=t.map((t=>t.reader.getCursor()));let l;for(let c=this._nextObservationRecords.length-1;c>=0&&!(this._observationRecords.length>=this._schema.maxDisplayObservations);c--){const t=this._nextObservationRecords[c],e=n[t.chunkIndex];s(e),e.setIndex(t.featureIndex);const r=null!=a?e.readAttributeAsTimestamp(a):null;(null!=r?o-r:0)>=this._schema.maxDisplayDuration||(this._commitObservation(t,e),l??=t)}if(null!=l){const{chunkIndex:t,featureIndex:e,objectId:r,displayId:i}=l,a=n[t];s(a),a.setIndex(e);const o=new b(a.readGeometryWorldSpace(),{...a.readAttributes(),[y]:I.LatestObservation},null,r,i);this._latestObservationFeature=o}else this._latestObservationFeature=null;return this._trackLineGeometry=Z(this._trackLineGeometry,this._trackLinePath,this._spatialReference),this._bounds=E(this._trackLineGeometry),this._nextObservationRecords=[],i}updateStatistics(t,e){this._statistics=j.create(this._fields);const r=t.map((t=>t.reader.getCursor()));for(const{chunkIndex:i,featureIndex:a}of this._observationRecords){const t=r[i];s(t),t.setIndex(a),this._statistics.insert(t,e)}}overlapsTile(t){for(const e of this._bounds)if(n(e,t.bounds,M))return!0;return!1}getLatestObservationFeatureForTile(t){if(null==this._latestObservationFeature)return null;const{objectId:e,displayId:s,geometry:r,attributes:i}=this._latestObservationFeature,a=new _;p(a,r,!1,!1,this._metadata.geometryType,t.subscription.tile.transform);const o=l(1/0,1/0,-1/0,-1/0);B(a,((t,e)=>u(o,[t,e])));if(!c(o,l(0,0,k,k)))return null;return new b(a,i,null,e,s)}getTrackLineFeatureForTile(t){const e=new _;p(e,this._trackLineGeometry,!1,!1,"esriGeometryPolyline",t.subscription.tile.transform);return new b(e,this._trackLineAttributes,null,this.objectId,this.displayId)}getTrackLineOptimizedFeature(){return new b(this._trackLineGeometry,this._trackLineAttributes,null,this.objectId,this.displayId)}getTrackLineDisplayFeature(){const{_trackLineGeometry:t,_trackLineAttributes:e,displayId:s}=this;return{geometry:f(t,"esriGeometryPolyline",!1,!1),attributes:e,displayId:s}}_commitObservation(t,e){const s=e.readCentroidWorldSpace();let r=s?.coords[0],i=s?.coords[1];null==s&&(r=e.readXWorldSpace(),i=e.readYWorldSpace()),null!=r&&null!=i&&(this._observationRecords.unshift(t),this._trackLinePath.unshift([r,i]))}}class U extends S{constructor(t){super(t),this.done=!1}}class X extends T{static async create(t,e,s,a,o){const n=new L({spatialReference:e}),l=await Promise.all(t.fields.map((async t=>O.create(n,t)))),c=t.featureFilter?await w.create({geometryType:s.metadata.geometryType,hasM:!1,hasZ:!1,timeInfo:s.metadata.timeInfo,fieldsIndex:s.metadata.fieldsIndex,spatialReference:e,filterJSON:t.featureFilter}):null;return e.isWrappable||r()||await Promise.all([import("../../../../../geometry/operators/support/apiConverter.js"),import("../../../../../geometry/operators/support/jsonConverter.js"),i()]).then((([t,e,s])=>{C={fromGeometryToGXGeometry:e.fromGeometryToGXGeometry,toGeometry:e.toGeometry,fromSpatialReference:t.fromSpatialReference}})),new X(t,s,a,e,l,c,o)}constructor(t,e,s,r,i,a,o){super(e,s,r,i),this._schema=t,this._featureFilter=a,this._arcadeContextInfo=o,this._tracks=new Map,this._metadata=e.metadata.cloneWithAdditionalFields([{name:y,alias:"trackPart",type:"esriFieldTypeSmallInteger"}]),this._trackLineMetadata=A.createFeature({geometryType:"esriGeometryPolyline",objectIdField:"aggregateId",fieldsIndex:{fields:[...this._source.metadata.fieldsIndex.fields,...this.aggregateFields,{name:y,alias:"trackPart",type:"esriFieldTypeSmallInteger"},{name:"aggregateId",alias:"aggregateId",type:"esriFieldTypeOID"}],timeZoneByFieldName:null},globalIdField:null,spatialReference:e.metadata.spatialReference,subtypeField:null,subtypes:null,timeInfo:e.metadata.timeInfo,timeReferenceUnknownClient:null,dateFieldsTimeZone:null,typeIdField:null,types:null})}get _isStream(){return this._source.isStream}get enablePixelBuffering(){return!0}get isAggregate(){return!1}createState(t){return new U(t)}async*applyOverrideUpdate(t){P().error("Applying override to tracks is not supported")}displayMap(t,e,s){const r=new Map(t.map((t=>[e(t),t]))),i=[];for(const a of this._tracks.values()){const t=r.get(a.objectId);if(null==t)for(const e of a.observations()){const t=r.get(e.objectId);if(null!=t){const a=s(e.displayId,t,e.objectId);i.push(a),r.delete(e.objectId)}}else{const e=s(a.displayId,t,a.objectId);i.push(e),r.delete(a.objectId)}}return i}getDisplayFeatures(t){const e=new Set(t),s=[],r=[],i=this._source.chunks().map((t=>t.reader.getCursor()));for(const a of this._tracks.values()){e.has(a.displayId)&&r.push(a.getTrackLineDisplayFeature());for(const{displayId:t,chunkIndex:r,featureIndex:o}of a.observations())if(e.has(t)){const e=i[r];e.setIndex(o),s.push({displayId:t,attributes:{},...e.readLegacyFeatureWorldSpace()})}}return{features:s,aggregates:[],tracks:r}}getFeatureObjectIdsForAggregate(t){for(const e of this._tracks.values())if(e.objectId===t)return Array.from(e.observations(),(t=>t.objectId));return[]}async*updateChunks(){const t=this._source.chunks();if(!t.length)return;const e=this._metadata.timeInfo?.trackIdField;if(null==e)return;const s=new Set;for(let r=0;r<t.length;r++){const i=t[r].reader.getCursor();for(;i.next();){const t=i.readAttribute(e),a=i.getObjectId();if(null!=t&&null!=a&&(null===this._featureFilter||this._featureFilter.check(i))){if(i.getDisplayId()||i.setDisplayId(this._attributeStore.createDisplayIdForObjectId(a)),!this._tracks.has(t)){const e=z.getOid(t),s=this._attributeStore.createDisplayIdForObjectId(e),r=new z(this._schema,t,e,s,this.aggregateFields,this.spatialReference,this._source.metadata,this._isStream);this._tracks.set(t,r)}this._tracks.get(t).stageObservation(r,i),s.add(t)}}}for(const r of this._tracks.values())if(s.has(r.trackId)){const e=r.commitObservations(t,this._featureFilter?.timeExtent);for(const t of e)this._attributeStore.releaseDisplayIdForObjectId(t);r.updateStatistics(t,R(1,this._arcadeContextInfo))}else this._removeTrack(r);for(const r of this._sendStates.values())yield*this._update(r)}forEachAggregateWorldSpace(t){for(const e of this._tracks.values())t(e.getTrackLineOptimizedFeature())}_removeTrack(t){this._tracks.delete(t.trackId),this._attributeStore.releaseDisplayIdForObjectId(t.objectId);for(const{objectId:e}of t.observations())this._attributeStore.releaseDisplayIdForObjectId(e)}*_update(e){if(e.done)return;e.done=!this._source.updateTracking.updating;const s=[],r=[];for(const t of this._tracks.values())if(t.length>0){if(this._schema.showLatestObservation){const r=t.getLatestObservationFeatureForTile(e);null!=r&&s.push(r)}this._schema.showTrackLine&&t.overlapsTile(e.subscription.tile)&&r.push(t.getTrackLineFeatureForTile(e))}const i=D.fromOptimizedFeatures(s,this._metadata,e.subscription.tile.transform),a=D.fromOptimizedFeatures(r,this._trackLineMetadata,e.subscription.tile.transform);let o=[];if(this._schema.showPreviousObservations){const s=this._source.chunks().map((()=>[]));for(const t of this._tracks.values())for(const{chunkIndex:e,featureIndex:r}of t.previousObservations())s[e].push(r);o=this._source.chunks().map(((t,r)=>{const i=t.getTileReader(e.subscription.tile);if(null==i)return null;const a=G.from(i,s[r]);return a.setProcessorAttributes({[y]:I.PreviousObservation}),"esriGeometryPoint"!==a.geometryType&&null!=a.getInTransform()||a.setTransformForDisplay(e.subscription.tile.transform),a})).filter(t)}this.events.emit("changed");const n=e.subscription.tile.createArcadeEvaluationOptions(this._arcadeContextInfo),l=a.getCursor();for(;l.next();)this._attributeStore.setAttributeData(l.getDisplayId(),l,n);for(const t of o){const e=t.getCursor();for(;e.next();)this._attributeStore.setAttributeData(e.getDisplayId(),e,n)}const c=i.getCursor();for(;c.next();)this._attributeStore.setAttributeData(c.getDisplayId(),c,n);yield new x(e.subscription,a,!0,!1,{});for(const t of o)yield new x(e.subscription,t,!1,!1,{});yield new x(e.subscription,i,!1,e.done,{})}}function Z(t,e,s){if(e.length<2)return g(t,[e],!1,!1);if(s.isWrappable){let r=!1;for(let t=1;t<e.length;t++){const i=e[t][0],a=m(i,e[t-1][0],s);i!==a&&(e[t][0]=a,r=!0)}if(r){const r=h({paths:[e],spatialReference:s});if(null!=r)return g(t,r.paths,!1,!1)}return g(t,[e],!1,!1)}const r=C.fromGeometryToGXGeometry({hasM:!1,hasZ:!1,paths:[e]}),i=C.fromSpatialReference(s);if(null!=i){const e=a(r,1e6,i,o.geodesic);if(null!=e){const s=C.toGeometry(e,i);if(null!=s&&"paths"in s)return g(t,s.paths,!1,!1)}}return g(t,[e],!1,!1)}function B(t,e){const s=2,{coords:r,lengths:i}=t;if(!i.length)return void e(r[0],r[1]);let a=0;for(let o=0;o<i.length;o++){const t=i[o];let n=0,l=0;for(let i=0;i<t;i++)n+=r[s*(i+a)],l+=r[s*(i+a)+1],e(n,l);a+=t}}function E(t){const{lengths:e,coords:s}=t,r=2;if(!e.length)return[d()];const i=[];let a=0;for(let o=0;o<e.length;o++){const t=e[o],n=d();i.push(n);for(let e=0;e<t;e++){const t=s[r*(e+a)],i=s[r*(e+a)+1];u(n,[t,i])}a+=t}return i}export{X as TrackStrategy};
5
+ import{isSome as t}from"../../../../../core/arrayUtils.js";import e from"../../../../../core/Logger.js";import{assertIsSome as s}from"../../../../../core/maybe.js";import{isLoaded as r,load as i,execute as a}from"../../../../../geometry/operators/gx/operatorGeodeticDensify.js";import{geodeticCurveType as o}from"../../../../../geometry/operators/support/geodeticCurveType.js";import{intersectsWithMargin as n,fromValues as l,intersects as c,empty as d,expandPointInPlace as u}from"../../../../../geometry/support/aaBoundingRect.js";import{getClosestDenormalizedXToReference as h}from"../../../../../geometry/support/normalizeUtils.js";import{normalizeCentralMeridianForDisplay as m}from"../../../../../geometry/support/normalizeUtilsSync.js";import{quantizeOptimizedGeometry as p,convertToGeometry as f,convertFromNestedArray as g}from"../../../../../layers/graphics/featureConversionUtils.js";import{OptimizedFeature as _}from"../../../../../layers/graphics/OptimizedFeature.js";import b from"../../../../../layers/graphics/OptimizedGeometry.js";import{internalTrackPartField as y,TrackPart as I,externalTrackLineOidPrefix as v,internalTimeReceivedField as F}from"../../../../../layers/support/streamLayerUtils.js";import{tileSize as k}from"../../../engine/webgl/definitions.js";import{AccumulatedStatistics as j}from"../aggregation/AccumulatedStatistics.js";import{ComputedAggregateField as O}from"../aggregation/ComputedAggregateField.js";import{AAggregateStrategy as S}from"./AAggregateStrategy.js";import{ASendState as T}from"./AProcessorStrategy.js";import{FeatureTileAppendMessage as x}from"../sources/FeatureSourceMessage.js";import{createArcadeEvaluationOptions as R}from"../support/arcadeUtils.js";import{ComputedAttributeStorage as L}from"../support/ComputedAttributeStorage.js";import w from"../support/FeatureFilterEvaluator.js";import{FeatureMetadata as A}from"../support/FeatureMetadata.js";import{FeatureSetReaderIndirect as G}from"../support/FeatureSetReaderIndirect.js";import{FeatureSetReaderJSON as D}from"../support/FeatureSetReaderJSON.js";let C;const P=()=>e.getLogger("esri.views.2d.layers.features.processor.TrackStrategy"),M=32;class W{constructor(t,e,s,r,i){this.chunkIndex=t,this.featureIndex=e,this.objectId=s,this.displayId=r,this.time=i}}class z{static getOid(t){return v+t}constructor(t,e,s,r,i,a,o,n){this._schema=t,this.trackId=e,this.objectId=s,this.displayId=r,this._fields=i,this._spatialReference=a,this._metadata=o,this._isStream=n,this._observationRecords=[],this._nextObservationRecords=[],this._trackLinePath=[],this._bounds=[],this._trackLineGeometry=new b}get _trackLineAttributes(){const t={...this._latestObservationFeature?.attributes??{},aggregateId:this.objectId,[y]:I.TrackLine};if(null!=this._statistics)for(const e of this._statistics.values())t[e.field.name]=e.value;return t}get _startTimeField(){return this._metadata.timeInfo?.startTimeField}get length(){return this._observationRecords.length}*observations(){yield*this._observationRecords}*previousObservations(){for(let t=0;t<this._observationRecords.length-1;t++)yield this._observationRecords[t]}stageObservation(t,e){this._nextObservationRecords.push(new W(t,e.getIndex(),e.getObjectId(),e.getDisplayId(),null!=this._startTimeField?e.readAttributeAsTimestamp(this._startTimeField):null))}commitObservations(t,e){const r=new Set(this._nextObservationRecords.map((t=>t.objectId))),i=this._observationRecords.filter((t=>!r.has(t.objectId))).map((t=>t.objectId));let a,o;switch(this._observationRecords=[],this._trackLinePath=[],this._isStream||null==this._startTimeField||this._nextObservationRecords.sort(((t,e)=>{const s=t.time,r=e.time;return null!=s&&null!=r?s-r:0})),this._schema.timeField){case"startTimeField":a=this._metadata.timeInfo?.startTimeField;break;case"endTimeField":a=this._metadata.timeInfo?.endTimeField;break;case"timeReceived":a=this._isStream?F:null}o=this._isStream?e?.end??Date.now():e?.end??-1/0;const n=t.map((t=>t.reader.getCursor()));let l;for(let c=this._nextObservationRecords.length-1;c>=0&&!(this._observationRecords.length>=this._schema.maxDisplayObservations);c--){const t=this._nextObservationRecords[c],e=n[t.chunkIndex];s(e),e.setIndex(t.featureIndex);const r=null!=a?e.readAttributeAsTimestamp(a):null;(null!=r?o-r:0)>=this._schema.maxDisplayDuration||(this._commitObservation(t,e),l??=t)}if(null!=l){const{chunkIndex:t,featureIndex:e,objectId:r,displayId:i}=l,a=n[t];s(a),a.setIndex(e);const o=new _(a.readGeometryWorldSpace(),{...a.readAttributes(),[y]:I.LatestObservation},null,r,i);this._latestObservationFeature=o}else this._latestObservationFeature=null;return this._trackLineGeometry=E(this._trackLineGeometry,this._trackLinePath,this._spatialReference),this._bounds=Z(this._trackLineGeometry),this._nextObservationRecords=[],i}updateStatistics(t,e){this._statistics=j.create(this._fields);const r=t.map((t=>t.reader.getCursor()));for(const{chunkIndex:i,featureIndex:a}of this._observationRecords){const t=r[i];s(t),t.setIndex(a),this._statistics.insert(t,e)}}overlapsTile(t){for(const e of this._bounds)if(n(e,t.bounds,M))return!0;return!1}getLatestObservationFeatureForTile(t){if(null==this._latestObservationFeature)return null;const{objectId:e,displayId:s,geometry:r,attributes:i}=this._latestObservationFeature,a=new b;p(a,r,!1,!1,this._metadata.geometryType,t.subscription.tile.transform);const o=l(1/0,1/0,-1/0,-1/0);X(a,((t,e)=>u(o,[t,e])));if(!c(o,l(0,0,k,k)))return null;return new _(a,i,null,e,s)}getTrackLineFeatureForTile(t){const e=new b;p(e,this._trackLineGeometry,!1,!1,"esriGeometryPolyline",t.subscription.tile.transform);return new _(e,this._trackLineAttributes,null,this.objectId,this.displayId)}getTrackLineOptimizedFeature(){return new _(this._trackLineGeometry,this._trackLineAttributes,null,this.objectId,this.displayId)}getTrackLineDisplayFeature(){const{_trackLineGeometry:t,_trackLineAttributes:e,displayId:s}=this;return{geometry:f(t,"esriGeometryPolyline",!1,!1),attributes:e,displayId:s}}_commitObservation(t,e){const s=e.readCentroidWorldSpace();let r=s?.coords[0],i=s?.coords[1];null==s&&(r=e.readXWorldSpace(),i=e.readYWorldSpace()),null!=r&&null!=i&&(this._observationRecords.unshift(t),this._trackLinePath.unshift([r,i]))}}class U extends T{constructor(t){super(t),this.done=!1}}class q extends S{static async create(t,e,s,a,o,n){const l=new L({spatialReference:e}),c=await Promise.all(t.fields.map((async t=>O.create(l,t)))),d=t.featureFilter?await w.create({geometryType:s.metadata.geometryType,hasM:!1,hasZ:!1,timeInfo:s.metadata.timeInfo,fieldsIndex:s.metadata.fieldsIndex,spatialReference:e,filterJSON:t.featureFilter}):null;return e.isWrappable||r()||await Promise.all([import("../../../../../geometry/operators/support/apiConverter.js"),import("../../../../../geometry/operators/support/jsonConverter.js"),i()]).then((([t,e,s])=>{C={fromGeometryToGXGeometry:e.fromGeometryToGXGeometry,toGeometry:e.toGeometry,fromSpatialReference:t.fromSpatialReference}})),new q(t,s,a,e,c,d,o,n)}constructor(t,e,s,r,i,a,o,n){super(e,s,r,i,n),this._schema=t,this._featureFilter=a,this._arcadeContextInfo=o,this._tracks=new Map,this._metadata=e.metadata.weakCloneWithAdditionalFields([{name:y,alias:"trackPart",type:"esriFieldTypeSmallInteger"}]),this._trackLineMetadata=A.createFeature({geometryType:"esriGeometryPolyline",objectIdField:"aggregateId",fieldsIndex:{fields:[...this._source.metadata.fieldsIndex.fields,...this.aggregateFields,{name:y,alias:"trackPart",type:"esriFieldTypeSmallInteger"},{name:"aggregateId",alias:"aggregateId",type:"esriFieldTypeOID"}],timeZoneByFieldName:null},globalIdField:null,spatialReference:e.metadata.spatialReference,outSpatialReference:e.metadata.outSpatialReference,subtypeField:null,subtypes:null,timeInfo:e.metadata.timeInfo,timeReferenceUnknownClient:null,dateFieldsTimeZone:null,typeIdField:null,types:null})}get _isStream(){return this._source.isStream}get enablePixelBuffering(){return!0}get isAggregate(){return!1}createState(t){return new U(t)}async*applyOverrideUpdate(t){P().error("Applying override to tracks is not supported")}displayMap(t,e,s){const r=new Map(t.map((t=>[e(t),t]))),i=[];for(const a of this._tracks.values()){const t=r.get(a.objectId);if(null==t)for(const e of a.observations()){const t=r.get(e.objectId);if(null!=t){const a=s(e.displayId,t,e.objectId);i.push(a),r.delete(e.objectId)}}else{const e=s(a.displayId,t,a.objectId);i.push(e),r.delete(a.objectId)}}return i}getDisplayFeatures(t){const e=new Set(t),s=[],r=[],i=this._source.chunks().map((t=>t.reader.getCursor()));for(const a of this._tracks.values()){e.has(a.displayId)&&r.push(a.getTrackLineDisplayFeature());for(const{displayId:t,chunkIndex:r,featureIndex:o}of a.observations())if(e.has(t)){const e=i[r];e.setIndex(o),s.push({displayId:t,attributes:{},...e.readLegacyFeatureWorldSpace()})}}return{features:s,aggregates:[],tracks:r}}getFeatureObjectIdsForAggregate(t){for(const e of this._tracks.values())if(e.objectId===t)return Array.from(e.observations(),(t=>t.objectId));return[]}async*updateChunks(){const t=this._source.chunks();if(!t.length)return;const e=this._metadata.timeInfo?.trackIdField;if(null==e)return;const s=new Set;for(let r=0;r<t.length;r++){const i=t[r].reader.getCursor();for(;i.next();){const t=i.readAttribute(e),a=i.getObjectId();if(null!=t&&null!=a&&(null===this._featureFilter||this._featureFilter.check(i,this._sqlOptions))){if(i.getDisplayId()||i.setDisplayId(this._attributeStore.createDisplayIdForObjectId(a)),!this._tracks.has(t)){const e=z.getOid(t),s=this._attributeStore.createDisplayIdForObjectId(e),r=new z(this._schema,t,e,s,this.aggregateFields,this.spatialReference,this._source.metadata,this._isStream);this._tracks.set(t,r)}this._tracks.get(t).stageObservation(r,i),s.add(t)}}}for(const r of this._tracks.values())if(s.has(r.trackId)){const e=r.commitObservations(t,this._featureFilter?.timeExtent);for(const t of e)this._attributeStore.releaseDisplayIdForObjectId(t);r.updateStatistics(t,R(1,this._arcadeContextInfo))}else this._removeTrack(r);for(const r of this._sendStates.values())yield*this._update(r)}forEachAggregateWorldSpace(t){for(const e of this._tracks.values())t(e.getTrackLineOptimizedFeature())}_removeTrack(t){this._tracks.delete(t.trackId),this._attributeStore.releaseDisplayIdForObjectId(t.objectId);for(const{objectId:e}of t.observations())this._attributeStore.releaseDisplayIdForObjectId(e)}*_update(e){if(e.done)return;e.done=!this._source.updateTracking.updating;const s=[],r=[];for(const t of this._tracks.values())if(t.length>0){if(this._schema.showLatestObservation){const r=t.getLatestObservationFeatureForTile(e);null!=r&&s.push(r)}this._schema.showTrackLine&&t.overlapsTile(e.subscription.tile)&&r.push(t.getTrackLineFeatureForTile(e))}const i=D.fromOptimizedFeatures(s,this._metadata,e.subscription.tile.transform),a=D.fromOptimizedFeatures(r,this._trackLineMetadata,e.subscription.tile.transform);let o=[];if(this._schema.showPreviousObservations){const s=this._source.chunks().map((()=>[]));for(const t of this._tracks.values())for(const{chunkIndex:e,featureIndex:r}of t.previousObservations())s[e].push(r);o=this._source.chunks().map(((t,r)=>{const i=t.getTileReader(e.subscription.tile);if(null==i)return null;const a=G.from(i,s[r]);return a.setProcessorAttributes({[y]:I.PreviousObservation}),"esriGeometryPoint"!==a.geometryType&&null!=a.getInTransform()||a.setTransformForDisplay(e.subscription.tile.transform),a})).filter(t)}this.events.emit("changed");const n=e.subscription.tile.createArcadeEvaluationOptions(this._arcadeContextInfo),l=a.getCursor();for(;l.next();)this._attributeStore.setAttributeData(l.getDisplayId(),l,n,this._sqlOptions);for(const t of o){const e=t.getCursor();for(;e.next();)this._attributeStore.setAttributeData(e.getDisplayId(),e,n,this._sqlOptions)}const c=i.getCursor();for(;c.next();)this._attributeStore.setAttributeData(c.getDisplayId(),c,n,this._sqlOptions);yield new x(e.subscription,a,!0,!1,{});for(const t of o)yield new x(e.subscription,t,!1,!1,{});yield new x(e.subscription,i,!1,e.done,{})}}function E(t,e,s){if(e.length<2)return g(t,[e],!1,!1);if(s.isWrappable){let r=!1;for(let t=1;t<e.length;t++){const i=e[t][0],a=h(i,e[t-1][0],s);i!==a&&(e[t][0]=a,r=!0)}if(r){const r=m({paths:[e],spatialReference:s});if(null!=r)return g(t,r.paths,!1,!1)}return g(t,[e],!1,!1)}const r=C.fromGeometryToGXGeometry({hasM:!1,hasZ:!1,paths:[e]}),i=C.fromSpatialReference(s);if(null!=i){const e=a(r,1e6,i,o.geodesic);if(null!=e){const s=C.toGeometry(e,i);if(null!=s&&"paths"in s)return g(t,s.paths,!1,!1)}}return g(t,[e],!1,!1)}function X(t,e){const s=2,{coords:r,lengths:i}=t;if(!i.length)return void e(r[0],r[1]);let a=0;for(let o=0;o<i.length;o++){const t=i[o];let n=0,l=0;for(let i=0;i<t;i++)n+=r[s*(i+a)],l+=r[s*(i+a)+1],e(n,l);a+=t}}function Z(t){const{lengths:e,coords:s}=t,r=2;if(!e.length)return[d()];const i=[];let a=0;for(let o=0;o<e.length;o++){const t=e[o],n=d();i.push(n);for(let e=0;e<t;e++){const t=s[r*(e+a)],i=s[r*(e+a)+1];u(n,[t,i])}a+=t}return i}export{q as TrackStrategy};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import{pt2px as e}from"../../../../../../core/screenUtils.js";import t from"../../../../../../layers/support/OrderByInfo.js";import{TechniqueType as r}from"../../../../engine/webgl/shaderGraph/techniques/TechniqueType.js";import{createLabelMatcherSchema as i}from"./LabelMatcherSchema.js";import{createMatcherSchema as s}from"./MatcherSchema.js";import{createStorageSchema as n,createTrackStorageSchema as a}from"./StorageSchema.js";import{createVisualVariableUniforms as l}from"./VisualVariablesSchema.js";async function o(e,t){const r=t.renderer,n=l(r);return{symbology:await s(e,r),labels:await i(e,t,n)}}async function u(e,t,r,i){const s=r.featureReduction;if(s)switch(s.type){case"binning":return p(s,e,t,r,i);case"cluster":return y(s,e,t,r,i)}if(null!=r.trackInfo)return b(r.trackInfo,e,t,r,i);const a=m(r.orderBy,r.renderer,r.objectIdField),l=n(r.renderer,t.filters),u=await o(e,r),c=g(u.symbology);return{storage:l,mesh:{properties:{sortKey:a,timeZone:t.timeZone,returnMeshObjectId:c,displayRefreshVersion:i},strategy:{type:"feature"},factory:u},expressionProperties:{timeExtent:t.timeExtent?.toJSON()}}}function c(e,t){return e.fields.map((e=>({...e.toJSON(),type:f(e,t)})))}function f(e,t){const{onStatisticExpression:r,onStatisticField:i,statisticType:s}=e;switch(s){case"min":case"max":case"avg":case"avg_angle":case"sum":case"count":return"esriFieldTypeDouble";case"mode":{if(r){const{returnType:e}=r;return e?"string"===e?"esriFieldTypeString":"esriFieldTypeDouble":"esriFieldTypeString"}const e=t.find((e=>e.name===i));return e?e.type:"esriFieldTypeString"}}}async function p(t,r,a,o,u){const f=c(t,o.fields),p=t.renderer,y=await s(r,p),b=n(p,[null,null]),m=l(p),d=await i(r,{geometryType:"polygon",labelingInfo:t.labelingInfo,labelsVisible:t.labelsVisible},m),v=g(y),h="geohash"===t.binType?{type:"geohash",fixBinLevel:t.fixedBinLevel??3}:{type:"grid",size:e(t.size),fixedBinLevel:t.fixedBinLevel};return{storage:b,mesh:{properties:{sortKey:null,timeZone:a.timeZone,returnMeshObjectId:v,displayRefreshVersion:u},strategy:{type:"binning",fields:f,index:h,featureFilter:a.filters[0]},factory:{labels:d,symbology:y}},expressionProperties:{timeExtent:a.timeExtent?.toJSON()}}}async function y(t,r,a,o,u){const f=c(t,o.fields),p={type:"cluster",feature:await s(r,t.effectiveFeatureRenderer),cluster:await s(r,t.effectiveClusterRenderer)},y=l(t.effectiveFeatureRenderer),b={type:"cluster",feature:await i(r,o,y),cluster:await i(r,{geometryType:"point",labelingInfo:t.labelingInfo,labelsVisible:t.labelsVisible},y)},m=n(t.effectiveFeatureRenderer,[null,null]),d=g(p);return{storage:m,mesh:{properties:{sortKey:null,timeZone:a.timeZone,displayRefreshVersion:u,returnMeshObjectId:d},strategy:{type:"cluster",fields:f,featureFilter:a.filters[0],clusterRadius:e(t.clusterRadius/2)},factory:{labels:b,symbology:p}},expressionProperties:{timeExtent:a.timeExtent?.toJSON()}}}async function b(e,t,r,n,o){const u=c(e,n.fields),f={type:"track",previousObservation:await s(t,e.previousObservationRenderer),latestObservation:await s(t,e.latestObservationRenderer),trackLine:await s(t,e.trackLineRenderer)},p={type:"track",previousObservation:await i(t,{geometryType:n.geometryType,labelingInfo:e.labelingInfo?.filter((e=>"previousObservations"===e?.trackLabelType||"allObservations"===e?.trackLabelType)),labelsVisible:e.labelsVisible},l(e.previousObservationRenderer)),latestObservation:await i(t,{geometryType:n.geometryType,labelingInfo:e.labelingInfo?.filter((e=>"latestObservation"===e?.trackLabelType||"allObservations"===e?.trackLabelType)),labelsVisible:e.labelsVisible},l(e.latestObservationRenderer)),trackLine:await i(t,{geometryType:"polyline",labelingInfo:e.labelingInfo?.filter((e=>"trackLine"===e?.trackLabelType)),labelsVisible:e.labelsVisible},l(e.trackLineRenderer))},y=a(e,[null,null]),b=g(f);return{storage:y,mesh:{properties:{sortKey:null,timeZone:r.timeZone,returnMeshObjectId:b,displayRefreshVersion:o},strategy:{type:"track",featureFilter:r.filters[0],fields:u,maxDisplayDuration:e.maxDisplayDuration,maxDisplayObservations:e.maxDisplayObservations,showLatestObservation:e.showLatestObservation,showPreviousObservations:e.showPreviousObservations,showTrackLine:e.showTrackLine,timeField:e.timeField},factory:{labels:p,symbology:f}},expressionProperties:{timeExtent:r.timeExtent?.toJSON()}}}function m(e,r,i){const s=null!=r&&"unique-value"===r.type&&r.orderByClassesEnabled;if("default"!==e||s||(e=[new t({field:i,order:"descending"})]),"default"!==e&&e?.length){e.length;const t=e[0],r="ascending"===t.order?"asc":"desc";return t.field?{field:t.field,order:r}:t.valueExpression?{expression:t.valueExpression,order:r}:null}if(s){return{byRenderer:!0,order:"asc"}}return null}function d(e){return e.techniqueType===r.AnimatedMarker}function g(e){if("simple"===e.type&&e.meshes.some(d))return!0;if("interval"===e.type){if(e.intervals.some((e=>e.meshes.some(d))))return!0;if(e.backgroundFill.some(d))return!0}if("map"===e.type){if(e.map.some((e=>e.symbol.some(d))))return!0;if(e.backgroundFill.some(d))return!0}return!1}export{u as createSimpleProcessorSchema,c as getAggregateFields};
5
+ import{pt2px as e}from"../../../../../../core/screenUtils.js";import r from"../../../../../../layers/support/OrderByInfo.js";import{TechniqueType as t}from"../../../../engine/webgl/shaderGraph/techniques/TechniqueType.js";import{createLabelMatcherSchema as s}from"./LabelMatcherSchema.js";import{createMatcherSchema as i}from"./MatcherSchema.js";import{createStorageSchema as n,createTrackStorageSchema as a}from"./StorageSchema.js";import{createVisualVariableUniforms as o}from"./VisualVariablesSchema.js";async function l(e,r){const t=r.renderer,n=o(t);return{symbology:await i(e,t),labels:await s(e,r,n)}}async function u(e,r,t,s){const i=t.featureReduction;if(i)switch(i.type){case"binning":return p(i,e,r,t,s);case"cluster":return y(i,e,r,t,s)}if(t.trackInfo?.enabled)return b(t.trackInfo,e,r,t,s);const a=m(t.orderBy,t.renderer,t.objectIdField),o=n(t.renderer,r.filters),u=await l(e,t),c=g(u.symbology);return{storage:o,mesh:{properties:{sortKey:a,timeZone:r.timeZone,returnMeshObjectId:c,displayRefreshVersion:s,currentUser:r.currentUser},strategy:{type:"feature"},factory:u},expressionProperties:{timeExtent:r.timeExtent?.toJSON()}}}function c(e,r){return e.fields.map((e=>({...e.toJSON(),type:f(e,r)})))}function f(e,r){const{onStatisticExpression:t,onStatisticField:s,statisticType:i}=e;switch(i){case"min":case"max":case"avg":case"avg_angle":case"sum":case"count":return"esriFieldTypeDouble";case"mode":{if(t){const{returnType:e}=t;return e?"string"===e?"esriFieldTypeString":"esriFieldTypeDouble":"esriFieldTypeString"}const e=r.find((e=>e.name===s));return e?e.type:"esriFieldTypeString"}}}async function p(r,t,a,l,u){const f=c(r,l.fields),p=r.renderer,y=await i(t,p),b=n(p,[null,null]),m=o(p),d=await s(t,{geometryType:"polygon",labelingInfo:r.labelingInfo,labelsVisible:r.labelsVisible},m),v=g(y),h="geohash"===r.binType?{type:"geohash",fixBinLevel:r.fixedBinLevel??3}:{type:"grid",size:e(r.size),fixedBinLevel:r.fixedBinLevel};return{storage:b,mesh:{properties:{sortKey:null,timeZone:a.timeZone,returnMeshObjectId:v,displayRefreshVersion:u,currentUser:a.currentUser},strategy:{type:"binning",fields:f,index:h,featureFilter:a.filters[0]},factory:{labels:d,symbology:y}},expressionProperties:{timeExtent:a.timeExtent?.toJSON()}}}async function y(r,t,a,l,u){const f=c(r,l.fields),p={type:"cluster",feature:await i(t,r.effectiveFeatureRenderer),cluster:await i(t,r.effectiveClusterRenderer)},y=o(r.effectiveFeatureRenderer),b={type:"cluster",feature:await s(t,l,y),cluster:await s(t,{geometryType:"point",labelingInfo:r.labelingInfo,labelsVisible:r.labelsVisible},y)},m=n(r.effectiveFeatureRenderer,[null,null]),d=g(p);return{storage:m,mesh:{properties:{sortKey:null,timeZone:a.timeZone,displayRefreshVersion:u,returnMeshObjectId:d,currentUser:a.currentUser},strategy:{type:"cluster",fields:f,featureFilter:a.filters[0],clusterRadius:e(r.clusterRadius/2)},factory:{labels:b,symbology:p}},expressionProperties:{timeExtent:a.timeExtent?.toJSON()}}}async function b(e,r,t,n,l){const u=c(e,n.fields),f={type:"track",previousObservation:await i(r,e.previousObservations.renderer),latestObservation:await i(r,e.latestObservations.renderer),trackLine:await i(r,e.trackLines.renderer)},p={type:"track",previousObservation:await s(r,{geometryType:n.geometryType,labelingInfo:e.previousObservations.labelingInfo,labelsVisible:e.previousObservations.labelsVisible},o(e.previousObservations.renderer)),latestObservation:await s(r,{geometryType:n.geometryType,labelingInfo:e.latestObservations.labelingInfo,labelsVisible:e.latestObservations.labelsVisible},o(e.latestObservations.renderer)),trackLine:await s(r,{geometryType:"polyline",labelingInfo:e.trackLines.labelingInfo,labelsVisible:e.trackLines.labelsVisible},o(e.trackLines.renderer))},y=a(e,[null,null]),b=g(f);return{storage:y,mesh:{properties:{sortKey:null,timeZone:t.timeZone,returnMeshObjectId:b,displayRefreshVersion:l,currentUser:t.currentUser},strategy:{type:"track",featureFilter:t.filters[0],fields:u,maxDisplayDuration:e.maxDisplayDuration,maxDisplayObservations:e.maxDisplayObservations,showLatestObservation:e.latestObservations.visible,showPreviousObservations:e.previousObservations.visible,showTrackLine:e.trackLines.visible,timeField:e.timeField},factory:{labels:p,symbology:f}},expressionProperties:{timeExtent:t.timeExtent?.toJSON()}}}function m(e,t,s){const i=null!=t&&"unique-value"===t.type&&t.orderByClassesEnabled;if("default"!==e||i||(e=[new r({field:s,order:"descending"})]),"default"!==e&&e?.length){e.length;const r=e[0],t="ascending"===r.order?"asc":"desc";return r.field?{field:r.field,order:t}:r.valueExpression?{expression:r.valueExpression,order:t}:null}if(i){return{byRenderer:!0,order:"asc"}}return null}function d(e){return e.techniqueType===t.AnimatedMarker}function g(e){if("simple"===e.type&&e.meshes.some(d))return!0;if("interval"===e.type){if(e.intervals.some((e=>e.meshes.some(d))))return!0;if(e.backgroundFill.some(d))return!0}if("map"===e.type){if(e.map.some((e=>e.symbol.some(d))))return!0;if(e.backgroundFill.some(d))return!0}return!1}export{u as createSimpleProcessorSchema,c as getAggregateFields};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import{isSome as e}from"../../../../../../core/arrayUtils.js";import{internalTrackPartField as i,TrackPart as r}from"../../../../../../layers/support/streamLayerUtils.js";import{VVBinding as n}from"../../../../engine/webgl/enums.js";import{simplifyVisualVariables as t}from"../../support/rendererUtils.js";import{getWebGLCapabilities as s}from"../../../../../webgl/capabilities.js";function a(e,i){return{type:"simple",filters:i,capabilities:{maxTextureSize:s().maxTextureSize},bindings:u(e)}}function o(e,n){const t=s();return{type:"multi",target:"feature",keyField:i,filters:n,capabilities:{maxTextureSize:t.maxTextureSize},bindings:{[r.TrackLine]:u(e.trackLineRenderer),[r.LatestObservation]:u(e.latestObservationRenderer),[r.PreviousObservation]:u(e.previousObservationRenderer)}}}function l(e){switch(e){case"opacity":return n.OPACITY;case"color":return n.COLOR;case"rotation":return n.ROTATION;case"size":return n.SIZE;default:return null}}function u(e){if(!e)return[];switch(e.type){case"simple":case"class-breaks":case"unique-value":case"dictionary":return d(e);case"dot-density":return c(e);case"pie-chart":return p(e);case"heatmap":return f(e)}}function c(e){const i=[];for(const r of e.attributes)i.push({binding:i.length,expression:r.valueExpression,field:r.field});return i}function p(e){const i=d(e);let r=4;for(const n of e.attributes)i.push({binding:r++,expression:n.valueExpression,field:n.field});return i}function f({valueExpression:e,field:i}){return e||i?[{binding:0,expression:e,field:i}]:[]}function d(i){if(!("visualVariables"in i)||!i.visualVariables?.length)return[];return t(i.visualVariables).map((e=>y(e))).filter(e)}function m(e){return"$view.scale"===e.valueExpression?null:{binding:l(e.type),field:e.field,normalizationField:e.normalizationField,expression:e.valueExpression,valueRepresentation:e.valueRepresentation}}function b(e){return{binding:l(e.type),field:e.field,normalizationField:e.normalizationField,expression:e.valueExpression}}function x(e){return{binding:l(e.type),field:e.field,normalizationField:e.normalizationField,expression:e.valueExpression}}function v(e){return{binding:l(e.type),expression:e.valueExpression,field:e.field}}function y(e){switch(e.type){case"size":return m(e);case"color":return b(e);case"opacity":return x(e);case"rotation":return v(e)}}export{c as createDotDensityBindings,f as createHeatmapBindings,p as createPieChartBindings,a as createStorageSchema,o as createTrackStorageSchema,d as createVVBindings};
5
+ import{isSome as e}from"../../../../../../core/arrayUtils.js";import{internalTrackPartField as i,TrackPart as r}from"../../../../../../layers/support/streamLayerUtils.js";import{VVBinding as n}from"../../../../engine/webgl/enums.js";import{simplifyVisualVariables as t}from"../../support/rendererUtils.js";import{getWebGLCapabilities as s}from"../../../../../webgl/capabilities.js";function a(e,i){return{type:"simple",filters:i,capabilities:{maxTextureSize:s().maxTextureSize},bindings:u(e)}}function o(e,n){const t=s();return{type:"multi",target:"feature",keyField:i,filters:n,capabilities:{maxTextureSize:t.maxTextureSize},bindings:{[r.TrackLine]:u(e.trackLines.renderer),[r.LatestObservation]:u(e.latestObservations.renderer),[r.PreviousObservation]:u(e.previousObservations.renderer)}}}function l(e){switch(e){case"opacity":return n.OPACITY;case"color":return n.COLOR;case"rotation":return n.ROTATION;case"size":return n.SIZE;default:return null}}function u(e){if(!e)return[];switch(e.type){case"simple":case"class-breaks":case"unique-value":case"dictionary":return d(e);case"dot-density":return c(e);case"pie-chart":return p(e);case"heatmap":return f(e)}}function c(e){const i=[];for(const r of e.attributes)i.push({binding:i.length,expression:r.valueExpression,field:r.field});return i}function p(e){const i=d(e);let r=4;for(const n of e.attributes)i.push({binding:r++,expression:n.valueExpression,field:n.field});return i}function f({valueExpression:e,field:i}){return e||i?[{binding:0,expression:e,field:i}]:[]}function d(i){if(!("visualVariables"in i)||!i.visualVariables?.length)return[];return t(i.visualVariables).map((e=>y(e))).filter(e)}function m(e){return"$view.scale"===e.valueExpression?null:{binding:l(e.type),field:e.field,normalizationField:e.normalizationField,expression:e.valueExpression,valueRepresentation:e.valueRepresentation}}function b(e){return{binding:l(e.type),field:e.field,normalizationField:e.normalizationField,expression:e.valueExpression}}function x(e){return{binding:l(e.type),field:e.field,normalizationField:e.normalizationField,expression:e.valueExpression}}function v(e){return{binding:l(e.type),expression:e.valueExpression,field:e.field}}function y(e){switch(e.type){case"size":return m(e);case"color":return b(e);case"opacity":return x(e);case"rotation":return v(e)}}export{c as createDotDensityBindings,f as createHeatmapBindings,p as createPieChartBindings,a as createStorageSchema,o as createTrackStorageSchema,d as createVVBindings};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import{createLabelMatcherSchema as e}from"./LabelMatcherSchema.js";import{createMatcherSchema as t}from"./MatcherSchema.js";import{createVVBindings as r}from"./StorageSchema.js";import{createVisualVariableUniforms as s}from"./VisualVariablesSchema.js";import{getWebGLCapabilities as i}from"../../../../../webgl/capabilities.js";async function a(e,{subtypeField:r,sublayers:s}){const i=await Promise.all(s.map((({renderer:r})=>t(e,r))));return{type:"subtype",subtypeField:r,renderers:s.reduce(((e,{subtypeCode:t},r)=>({...e,[t]:i[r]})),{})}}function o(e,t){const s=i();return{type:"multi",filters:e.filters,capabilities:{maxTextureSize:s.maxTextureSize},keyField:t.subtypeField,target:"feature",bindings:t.sublayers.reduce(((e,{renderer:t,subtypeCode:s})=>{const i=r(t);return{...e,[s]:i}}),{})}}async function n(t,{subtypeField:r,sublayers:i}){const a=await Promise.all(i.map((r=>{const i=s(r.renderer),a={...r,geometryType:r.geometryType??null};return e(t,a,i)})));return{type:"subtype",subtypeField:r,renderers:i.reduce(((e,{subtypeCode:t},r)=>({...e,[t]:a[r]})),{})}}async function u(e,t,r,s){return{storage:o(t,r),mesh:{properties:{timeZone:t.timeZone,displayRefreshVersion:s,returnMeshObjectId:!1,sortKey:null},strategy:{type:"feature"},factory:{symbology:await a(e,r),labels:await n(e,r)}},expressionProperties:{timeExtent:t.timeExtent?.toJSON()}}}export{u as createSubtypeProcessorSchema};
5
+ import{createLabelMatcherSchema as e}from"./LabelMatcherSchema.js";import{createMatcherSchema as r}from"./MatcherSchema.js";import{createVVBindings as t}from"./StorageSchema.js";import{createVisualVariableUniforms as s}from"./VisualVariablesSchema.js";import{getWebGLCapabilities as i}from"../../../../../webgl/capabilities.js";async function a(e,{subtypeField:t,sublayers:s}){const i=await Promise.all(s.map((({renderer:t})=>r(e,t))));return{type:"subtype",subtypeField:t,renderers:s.reduce(((e,{subtypeCode:r},t)=>({...e,[r]:i[t]})),{})}}function n(e,r){const s=i();return{type:"multi",filters:e.filters,capabilities:{maxTextureSize:s.maxTextureSize},keyField:r.subtypeField,target:"feature",bindings:r.sublayers.reduce(((e,{renderer:r,subtypeCode:s})=>{const i=t(r);return{...e,[s]:i}}),{})}}async function o(r,{subtypeField:t,sublayers:i}){const a=await Promise.all(i.map((t=>{const i=s(t.renderer),a={...t,geometryType:t.geometryType??null};return e(r,a,i)})));return{type:"subtype",subtypeField:t,renderers:i.reduce(((e,{subtypeCode:r},t)=>({...e,[r]:a[t]})),{})}}async function u(e,r,t,s){return{storage:n(r,t),mesh:{properties:{timeZone:r.timeZone,displayRefreshVersion:s,returnMeshObjectId:!1,sortKey:null,currentUser:r.currentUser},strategy:{type:"feature"},factory:{symbology:await a(e,t),labels:await o(e,t)}},expressionProperties:{timeExtent:r.timeExtent?.toJSON()}}}export{u as createSubtypeProcessorSchema};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import has from"../../../../../core/has.js";import{sqlAnd as e}from"../../../../../core/sql.js";import t from"../../../../../geometry/SpatialReference.js";import{isHostedAgolService as r}from"../../../../../layers/support/arcgisLayerUrl.js";import{getClauseForScaleRange as a}from"../../../../../layers/support/displayFilterUtils.js";import i from"../../../../../rest/support/Query.js";import s from"../../../../../time/TimeExtent.js";const o=4;function n(e,a,i){const o=e.orderByFields??i.objectIdField+" ASC",n=e.source,l={returnCentroid:!(null!==n&&"object"==typeof n&&"path"in n&&r(n.path))&&"esriGeometryPolygon"===i.serviceGeometryType,returnGeometry:!0,timeReferenceUnknownClient:i.timeReferenceUnknownClient??void 0,outSpatialReference:t.fromJSON(e.outSpatialReference),orderByFields:"memory"===e.type?[]:[o],where:a.mutable.dataFilter.definitionExpression??"1=1",outFields:a.mutable.availableFields,multipatchOption:"esriGeometryMultiPatch"===i.serviceGeometryType?"xyFootprint":null};if("feature"===a.type){const{gdbVersion:e,historicMoment:t,timeExtent:r}=a.mutable.dataFilter;return{...l,gdbVersion:e,historicMoment:t?new Date(t):null,timeExtent:r?s.fromJSON(r):null,outFields:a.mutable.availableFields}}return l}class l{static fromSchema(e,t,r){const a="feature"===t.type?t.mutable.dataFilter.queryScaleRanges:[],i=t.mutable.dataFilter.displayFilter;return new l(n(e,t,r),i,a,r.subtypeField,t.mutable.dataFilter.customParameters,r.geometryType,e.queryMetadata)}constructor(e,t,r,a,i,s,o){this._queryParams=e,this._displayFilter=t,this._queryScaleRanges=r,this._subtypeField=a,this._customParameters=i,this._geometryType=s,this._queryMetadata=o}get pageSize(){if(null==this._queryMetadata)throw new Error("InternalError: Service does not support paged queries");const e=this._queryMetadata.supportsMaxRecordCountFactor?o:null,t=(this._queryMetadata.maxRecordCount??8e3)*(e??1);return Math.min(8e3,t)}updateHistoricMoment(e){this._queryParams.historicMoment=e}updateFields(e){this._queryParams.outFields=e}createPatchFieldsQuery(e,t){if(!t.getSize())return null;const r=e.clone();if("*"===this._queryParams.outFields[0]){if("*"===(r.outFields??[])[0])return null;r.outFields=this._queryParams.outFields}else{const e=new Set(this._queryParams.outFields),a=[];for(const r of e)t.hasField(r)||a.push(r);if(0===a.length)return null;r.outFields=a}return r.returnGeometry=!1,r.returnCentroid=!1,r.quantizationParameters=null,r.cacheHint=!0,{inner:r,customParameters:this._customParameters}}createQuery(e={}){if(!this._queryParams)throw new Error("InternalError: queryInfo should be defined");return{inner:new i({...this._queryParams,...e}),customParameters:this._customParameters}}createTileQuery(t,r){if(null==this._queryMetadata)throw new Error("InternalError: Service does not support tile queries");const i=this.createQuery(r),s=i.inner;if(this._queryScaleRanges.length){const r=this._queryScaleRanges.filter((e=>(!e.minScale||e.minScale>=t.maxScale)&&(!e.maxScale||e.maxScale<=t.minScale))).map((e=>e.subtypeCode));if(r.length){const t=`${this._subtypeField} IN (${r})`;s.where=e(s.where,t)}}if(this._displayFilter&&(s.where=e(s.where,a(this._displayFilter,t.minScale,t.maxScale))),s.quantizationParameters=r.quantizationParameters??t.getQuantizationParameters(),s.resultType="tile",s.geometry=t.extent,this._queryMetadata.supportsQuantization?"esriGeometryPolyline"===this._geometryType&&(s.maxAllowableOffset=t.resolution*has("feature-polyline-generalization-factor")):"esriGeometryPolyline"!==this._geometryType&&"esriGeometryPolygon"!==this._geometryType||(s.maxAllowableOffset=t.resolution,"esriGeometryPolyline"===this._geometryType&&(s.maxAllowableOffset*=has("feature-polyline-generalization-factor"))),s.defaultSpatialReferenceEnabled=this._queryMetadata.supportsDefaultSpatialReference,s.compactGeometryEnabled=this._queryMetadata.supportsCompactGeometry,this._queryMetadata.supportsMaxRecordCountFactor&&(s.maxRecordCountFactor=o),has("esri-tiles-debug")){const e=t.id.replaceAll("/",".");i.customParameters=i.customParameters?{...i.customParameters,tileId:e}:{tileId:e}}return i}createPagedTileQuery(e,t){const r=this.pageSize;return this.createTileQuery(e,{start:r*t,num:r,returnExceededLimitFeatures:!0})}createPagedQuery(e){const t=this.pageSize;return this.createQuery({start:t*e,num:t,returnExceededLimitFeatures:!0,maxRecordCountFactor:o,cacheHint:!0})}}export{l as FeatureSourceQueryInfo};
5
+ import has from"../../../../../core/has.js";import{sqlAnd as e}from"../../../../../core/sql.js";import t from"../../../../../geometry/SpatialReference.js";import{isHostedAgolService as r}from"../../../../../layers/support/arcgisLayerUrl.js";import{getClauseForScaleRange as a}from"../../../../../layers/support/displayFilterUtils.js";import i from"../../../../../rest/support/Query.js";import s from"../../../../../time/TimeExtent.js";const o=4;function n(e,a,i){const o=e.orderByFields??i.objectIdField+" ASC",n=e.source,l={returnCentroid:!(null!==n&&"object"==typeof n&&"path"in n&&r(n.path))&&"esriGeometryPolygon"===i.serviceGeometryType,returnGeometry:!0,timeReferenceUnknownClient:i.timeReferenceUnknownClient??void 0,outSpatialReference:t.fromJSON(e.outSpatialReference),orderByFields:"memory"===e.type?[]:[o],where:a.mutable.dataFilter.definitionExpression??"1=1",outFields:a.mutable.availableFields,multipatchOption:"esriGeometryMultiPatch"===i.serviceGeometryType?"xyFootprint":null};if("feature"===a.type){const{gdbVersion:e,historicMoment:t,timeExtent:r}=a.mutable.dataFilter;return{...l,gdbVersion:e,historicMoment:t?new Date(t):null,timeExtent:r?s.fromJSON(r):null,outFields:a.mutable.availableFields}}return l}class l{static fromSchema(e,t,r){const a="feature"===t.type?t.mutable.dataFilter.queryScaleRanges:[],i=t.mutable.dataFilter.displayFilter;return new l(n(e,t,r),i,a,r.subtypeField,t.mutable.dataFilter.customParameters,r.geometryType,e.queryMetadata)}constructor(e,t,r,a,i,s,o){this._queryParams=e,this._displayFilter=t,this._queryScaleRanges=r,this._subtypeField=a,this._customParameters=i,this._geometryType=s,this._queryMetadata=o}get pageSize(){if(null==this._queryMetadata)throw new Error("InternalError: Service does not support paged queries");const e=this._queryMetadata.supportsMaxRecordCountFactor?o:null,t=(this._queryMetadata.maxRecordCount??8e3)*(e??1);return Math.min(8e3,t)}updateHistoricMoment(e){this._queryParams.historicMoment=e}updateFields(e){this._queryParams.outFields=e}createPatchFieldsQuery(e,t,r){if(!t.getSize())return null;const a=e.clone();if("*"===this._queryParams.outFields[0]){if("*"===(a.outFields??[])[0])return null;a.outFields=this._queryParams.outFields}else{const e=new Set(this._queryParams.outFields),r=[];for(const a of e)t.hasField(a)||r.push(a);if(0===r.length)return null;a.outFields=r}a.returnGeometry=!1,a.returnCentroid=!1,a.quantizationParameters=null,a.cacheHint=!0;const i={inner:a,customParameters:this._customParameters};if(has("esri-tiles-debug")&&null!=r){const e=r.chunkId.toString().replaceAll("/",".");i.customParameters=i.customParameters?{...i.customParameters,chunkId:e}:{chunkId:e}}return i}createQuery(e={}){if(!this._queryParams)throw new Error("InternalError: queryInfo should be defined");return{inner:new i({...this._queryParams,...e}),customParameters:this._customParameters}}createTileQuery(t,r){if(null==this._queryMetadata)throw new Error("InternalError: Service does not support tile queries");const i=this.createQuery(r),s=i.inner;if(this._queryScaleRanges.length){const r=this._queryScaleRanges.filter((e=>(!e.minScale||e.minScale>=t.maxScale)&&(!e.maxScale||e.maxScale<=t.minScale))).map((e=>e.subtypeCode));if(r.length){const t=`${this._subtypeField} IN (${r})`;s.where=e(s.where,t)}}if(this._displayFilter&&(s.where=e(s.where,a(this._displayFilter,t.minScale,t.maxScale))),s.quantizationParameters=r.quantizationParameters??t.getQuantizationParameters(),s.resultType="tile",s.geometry=t.extent,this._queryMetadata.supportsQuantization?"esriGeometryPolyline"===this._geometryType&&(s.maxAllowableOffset=t.resolution*has("feature-polyline-generalization-factor")):"esriGeometryPolyline"!==this._geometryType&&"esriGeometryPolygon"!==this._geometryType||(s.maxAllowableOffset=t.resolution,"esriGeometryPolyline"===this._geometryType&&(s.maxAllowableOffset*=has("feature-polyline-generalization-factor"))),s.defaultSpatialReferenceEnabled=this._queryMetadata.supportsDefaultSpatialReference,s.compactGeometryEnabled=this._queryMetadata.supportsCompactGeometry,this._queryMetadata.supportsMaxRecordCountFactor&&(s.maxRecordCountFactor=o),has("esri-tiles-debug")){const e=t.id.replaceAll("/",".");i.customParameters=i.customParameters?{...i.customParameters,tileId:e}:{tileId:e}}return i}createPagedTileQuery(e,t){const r=this.pageSize;return this.createTileQuery(e,{start:r*t,num:r,returnExceededLimitFeatures:!0})}createPagedQuery(e){const t=this.pageSize;return this.createQuery({start:t*e,num:t,returnExceededLimitFeatures:!0,maxRecordCountFactor:o,cacheHint:!0})}}export{l as FeatureSourceQueryInfo};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import e from"../../../../../../core/Error.js";import t from"../../../../../../rest/support/Query.js";import{ALoadStrategy as r}from"./ALoadStrategy.js";import{createQueryAdapter as s}from"./support/queryAdapters.js";import{FeatureSetReaderJSON as n}from"../../support/FeatureSetReaderJSON.js";import{QueueProcessor as o}from"../../../../../support/QueueProcessor.js";class i extends r{constructor(e,t,r,n,i){super(r),this._serviceInfo=e,this._queryInfo=t,this._metadata=n,this._connection=i,this._queue=new o({concurrency:32,process:async e=>{const t={signal:e.options?.signal,query:e.query.customParameters,useRequestQueueing:!0};return this._adapter.executeQuery(e.query.inner,t)}}),this._adapter=s(e,n)}unsafeSetQueryHistoricMoment(e){this._queryInfo.updateHistoricMoment(e)}async updateFields(r){this._queryInfo.updateFields(r);const s=Array.from(this._store.chunks()).map((async e=>{const r=t.fromJSON(e.queryInfo.queryJSON);if(r)try{return await this._tryUpdateFields(e.reader,r),null}catch(s){return s}})),n=(await Promise.all(s)).filter((e=>e));if(n.length)throw new e("featurelayer-query","Encountered errors when downloading fields",{errors:n})}async queryByObjectId(e){if(0===e.length)return n.empty(this._metadata);const t=this._queryInfo.createQuery({objectIds:e});return this._fetch(t)}async _fetch(e,t){const r=await this._enqueue(e,t);return await this._tryUpdateFields(r,e.inner),r}async _tryUpdateFields(e,t){const r=this._queryInfo.createPatchFieldsQuery(t,e);if(!r)return;const s=await this._enqueue(r,this._options);e.joinAttributes(s)}async _enqueue(e,t){return this._connection.onEvent({type:"fetchStart"}),this._queue.push({query:e,options:t}).finally((()=>{this._connection.onEvent({type:"fetchEnd",done:0===this._queue.length})}))}}export{i as AFetchLoadStrategy};
5
+ import e from"../../../../../../core/Error.js";import t from"../../../../../../core/Logger.js";import{QueueProcessor as r}from"../../../../../../core/QueueProcessor.js";import s from"../../../../../../rest/support/Query.js";import{ALoadStrategy as n}from"./ALoadStrategy.js";import{createQueryAdapter as o}from"./support/queryAdapters.js";import{FeatureSetReaderJSON as u}from"../../support/FeatureSetReaderJSON.js";class i extends n{constructor(e,t,s,n,u){super(s),this._serviceInfo=e,this._queryInfo=t,this._metadata=n,this._connection=u,this._queue=new r({concurrency:32,process:async e=>{const t={signal:e.options?.signal,query:e.query.customParameters,useRequestQueue:!0};return this._adapter.executeQuery(e.query.inner,t)}}),this._adapter=o(e,n)}unsafeSetQueryHistoricMoment(e){this._queryInfo.updateHistoricMoment(e)}async updateFields(t){this._queryInfo.updateFields(t);const r=Array.from(this._store.chunks()).map((async e=>{const t=s.fromJSON(e.queryInfo.queryJSON);if(t)try{return await this._tryUpdateFields(e.reader,t,{chunkId:e.chunkId}),null}catch(r){return r}})),n=(await Promise.all(r)).filter((e=>e));if(n.length)throw new e("featurelayer-query","Encountered errors when downloading fields",{errors:n})}async queryByObjectId(e){if(0===e.length)return u.empty(this._metadata);const t=this._queryInfo.createQuery({objectIds:e});return this._fetch(t,null,null)}async _fetch(e,t,r){const s=await this._enqueue(e,t);return await this._tryUpdateFields(s,e.inner,r),s}async _tryUpdateFields(r,s,n){const o=this._queryInfo.createPatchFieldsQuery(s,r,n);if(!o)return;const u=await this._enqueue(o,this._options);u.getSize()===r.getSize()?r.joinAttributes(u):t.getLogger("esri.views.2d.layers.features.sources.strategies.AFetchLoadStrategy").error(new e("featurelayer-query",`Failed to join features. Expected a count of ${r.getSize()} features, but got ${u.getSize()}`,{query:o.inner.toJSON(),debugInfo:n}))}async _enqueue(e,t){return this._connection.onEvent({type:"fetchStart"}),this._queue.push({query:e,options:t}).finally((()=>{this._connection.onEvent({type:"fetchEnd",done:0===this._queue.length})}))}}export{i as AFetchLoadStrategy};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import{handlesGroup as t}from"../../../../../../core/handleUtils.js";import has from"../../../../../../core/has.js";import{throwIfAborted as e,onAbort as s}from"../../../../../../core/promiseUtils.js";import{ATileLoadStrategy as o}from"./ATileLoadStrategy.js";import{DrillDownTileSourceChunk as r}from"./chunks/DrillDownTileSourceChunk.js";import{FeatureSetReaderJSON as i}from"../../support/FeatureSetReaderJSON.js";class l{constructor(e,o){this.subscription=e,this._tileIdToResult=new Map,this._controller=new AbortController,this._handles=t([s(e.signal,(()=>this._controller.abort())),s(o,(()=>this._controller.abort()))])}destroy(){this._controller.abort(),this._handles.remove()}get(t){return this._tileIdToResult.get(t)}set(t,e){this._tileIdToResult.set(t,e)}get options(){return{signal:this._controller.signal}}}class a extends o{constructor(){super(...arguments),this._loadStates=new Map}destroy(){super.destroy();for(const t of this._loadStates.values())t.destroy();this._loadStates.clear()}get about(){return{willQueryAllFeatures:!1,willQueryFullResolutionGeometry:!1}}async load(t){this._loadStates.has(t.key.id)||this._loadStates.set(t.key.id,new l(t,this._options));const s=this._loadStates.get(t.key.id);let o;try{for await(const o of this._fetchChunkInfos(s,t.tile,0)){const{queryJSON:t,reader:i,sourceTile:l,sourceTileDepth:a,tile:n}=o,h=new r(i,t,n,l,a,!1);e(s.options),this._addChunk(h)}}catch(n){o=n}const a=new r(i.empty(this._metadata),null,t.tile,null,-1,!0);if(this._addChunk(a),o)throw o}unload(t){super.unload(t),this._loadStates.get(t.key.id)?.destroy(),this._loadStates.delete(t.key.id)}async*_fetchChunkInfos(t,e,s){let o=t.get(e.id);const r=!!o;if(o||(o=await this._fetchChunkInfo(t,e,s),t.set(e.id,o)),o.reader.exceededTransferLimit&&s<has("featurelayer-query-max-depth"))for(const i of e.createChildTiles())yield*this._fetchChunkInfos(t,i,s+1);else r||(yield o)}async _fetchChunkInfo(t,e,s){const o=t.subscription.tile.getQuantizationParameters(),r=this._queryInfo.createTileQuery(e,{returnExceededLimitFeatures:!1,quantizationParameters:o});return{reader:await this._fetch(r,t.options),queryJSON:r.inner.toJSON(),tile:t.subscription.tile,sourceTile:e,sourceTileDepth:s}}}export{a as DrillDownTileLoadStrategy};
5
+ import{handlesGroup as t}from"../../../../../../core/handleUtils.js";import has from"../../../../../../core/has.js";import{throwIfAborted as e,onAbort as s}from"../../../../../../core/promiseUtils.js";import{ATileLoadStrategy as o}from"./ATileLoadStrategy.js";import{DrillDownTileSourceChunk as r}from"./chunks/DrillDownTileSourceChunk.js";import{FeatureSetReaderJSON as i}from"../../support/FeatureSetReaderJSON.js";class l{constructor(e,o){this.subscription=e,this._tileIdToResult=new Map,this._controller=new AbortController,this._handles=t([s(e.signal,(()=>this._controller.abort())),s(o,(()=>this._controller.abort()))])}destroy(){this._controller.abort(),this._handles.remove()}get(t){return this._tileIdToResult.get(t)}set(t,e){this._tileIdToResult.set(t,e)}get options(){return{signal:this._controller.signal}}}class a extends o{constructor(){super(...arguments),this._loadStates=new Map}destroy(){super.destroy();for(const t of this._loadStates.values())t.destroy();this._loadStates.clear()}get about(){return{willQueryAllFeatures:!1,willQueryFullResolutionGeometry:!1}}async load(t){this._loadStates.has(t.key.id)||this._loadStates.set(t.key.id,new l(t,this._options));const s=this._loadStates.get(t.key.id);let o;try{for await(const o of this._fetchChunkInfos(s,t.tile,0)){const{queryJSON:t,reader:i,sourceTile:l,sourceTileDepth:a,tile:n}=o,h=new r(i,t,n,l,a,!1);e(s.options),this._addChunk(h)}}catch(n){o=n}const a=new r(i.empty(this._metadata),null,t.tile,null,-1,!0);if(this._addChunk(a),o)throw o}unload(t){super.unload(t),this._loadStates.get(t.key.id)?.destroy(),this._loadStates.delete(t.key.id)}async*_fetchChunkInfos(t,e,s){let o=t.get(e.id);const r=!!o;if(o||(o=await this._fetchChunkInfo(t,e,s),t.set(e.id,o)),o.reader.exceededTransferLimit&&s<has("featurelayer-query-max-depth"))for(const i of e.createChildTiles())yield*this._fetchChunkInfos(t,i,s+1);else r||(yield o)}async _fetchChunkInfo(t,e,s){const o=t.subscription.tile.getQuantizationParameters(),r=this._queryInfo.createTileQuery(e,{returnExceededLimitFeatures:!1,quantizationParameters:o});return{reader:await this._fetch(r,t.options,{chunkId:e.id}),queryJSON:r.inner.toJSON(),tile:t.subscription.tile,sourceTile:e,sourceTileDepth:s}}}export{a as DrillDownTileLoadStrategy};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import{handlesGroup as t}from"../../../../../../core/handleUtils.js";import{isAborted as e,throwIfAborted as s,onAbort as o}from"../../../../../../core/promiseUtils.js";import{ATileLoadStrategy as r}from"./ATileLoadStrategy.js";import{PagedTileSourceChunk as a}from"./chunks/PagedTileSourceChunk.js";import{FeatureSetReaderJSON as i}from"../../support/FeatureSetReaderJSON.js";class n{constructor(e,s){this.subscription=e,this._pages=new Set,this._controller=new AbortController,this._done=!1,this._handles=t([o(e.signal,(()=>this._controller.abort())),o(s,(()=>this._controller.abort()))])}destroy(){this._controller.abort(),this._handles.remove()}get pageStart(){let t=-1;for(const e of this._pages.values())t=Math.max(t,e);return t+1}get done(){return this._done}get options(){return{signal:this._controller.signal}}add(t,e){this._pages.add(t),this._done=this._done||e}}class l extends r{constructor(){super(...arguments),this._loadStates=new Map}destroy(){super.destroy();for(const t of this._loadStates.values())t.destroy();this._loadStates.clear()}get about(){return{willQueryAllFeatures:!1,willQueryFullResolutionGeometry:!1}}async load(t){this._loadStates.has(t.key.id)||this._loadStates.set(t.key.id,new n(t,this._options));const s=this._loadStates.get(t.key.id);let o;try{await this._fetchPages(s)}catch(l){o=l}const r=new a(i.empty(this._metadata),null,t.tile,-1,!0);if(e(s.options)||this._addChunk(r),o)throw o}unload(t){super.unload(t),this._loadStates.get(t.key.id)?.destroy(),this._loadStates.delete(t.key.id)}async _fetchPages(t){const e=4,o=20;let r=0,a=t.pageStart,i=1;for(;r<o&&!t.done;){const o=[];for(let e=0;e<i;e++)o.push(this._fetchChunk(t,a++));const n=await Promise.all(o);for(const e of n)(0!==e.size()||e.first)&&(t.add(e.page,!e.reader.exceededTransferLimit),s(t.options),this._addChunk(e));r++,i=Math.min(i+1,e)}}async _fetchChunk(t,e){const s=t.subscription.tile,o=this._queryInfo.createPagedTileQuery(s,e),r=await this._fetch(o,t.options);return new a(r,o.inner.toJSON(),s,e,!1)}}export{l as PagedTileLoadStrategy};
5
+ import{handlesGroup as t}from"../../../../../../core/handleUtils.js";import{isAborted as e,throwIfAborted as s,onAbort as o}from"../../../../../../core/promiseUtils.js";import{ATileLoadStrategy as r}from"./ATileLoadStrategy.js";import{PagedTileSourceChunk as a}from"./chunks/PagedTileSourceChunk.js";import{FeatureSetReaderJSON as i}from"../../support/FeatureSetReaderJSON.js";class n{constructor(e,s){this.subscription=e,this._pages=new Set,this._controller=new AbortController,this._done=!1,this._handles=t([o(e.signal,(()=>this._controller.abort())),o(s,(()=>this._controller.abort()))])}destroy(){this._controller.abort(),this._handles.remove()}get pageStart(){let t=-1;for(const e of this._pages.values())t=Math.max(t,e);return t+1}get done(){return this._done}get options(){return{signal:this._controller.signal}}add(t,e){this._pages.add(t),this._done=this._done||e}}class l extends r{constructor(){super(...arguments),this._loadStates=new Map}destroy(){super.destroy();for(const t of this._loadStates.values())t.destroy();this._loadStates.clear()}get about(){return{willQueryAllFeatures:!1,willQueryFullResolutionGeometry:!1}}async load(t){this._loadStates.has(t.key.id)||this._loadStates.set(t.key.id,new n(t,this._options));const s=this._loadStates.get(t.key.id);let o;try{await this._fetchPages(s)}catch(l){o=l}const r=new a(i.empty(this._metadata),null,t.tile,-1,!0);if(e(s.options)||this._addChunk(r),o)throw o}unload(t){super.unload(t),this._loadStates.get(t.key.id)?.destroy(),this._loadStates.delete(t.key.id)}async _fetchPages(t){const e=4,o=20;let r=0,a=t.pageStart,i=1;for(;r<o&&!t.done;){const o=[];for(let e=0;e<i;e++)o.push(this._fetchChunk(t,a++));const n=await Promise.all(o);for(const e of n)(0!==e.size()||e.first)&&(t.add(e.page,!e.reader.exceededTransferLimit),s(t.options),this._addChunk(e));r++,i=Math.min(i+1,e)}}async _fetchChunk(t,e){const s=t.subscription.tile,o=this._queryInfo.createPagedTileQuery(s,e),r=await this._fetch(o,t.options,{chunkId:`${s.id}-${e}`});return new a(r,o.inner.toJSON(),s,e,!1)}}export{l as PagedTileLoadStrategy};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import{throwIfAborted as e}from"../../../../../../core/promiseUtils.js";import{difference as t,union as s}from"../../../../../../core/SetUtils.js";import i from"../../../../../../layers/support/FieldsIndex.js";import{ParquetFile as a}from"../../../../../../libs/parquet/parquet.js";import{ALoadStrategy as r}from"./ALoadStrategy.js";import{FeatureSnapshotSourceChunk as l}from"./chunks/FeatureSnapshotSourceChunk.js";import{FeatureSetReaderJSON as o}from"../../support/FeatureSetReaderJSON.js";import{FeatureSetReaderParquet as n}from"../../support/FeatureSetReaderParquet.js";class m extends r{constructor(e,t,s,i){super(i),this._service=e,this._metadata=t,this._schema=s,this._chunkId=0,this._files=[],this._availableFields=new Set(s.mutable.availableFields);const{geometryInfo:a}=this._service;if("location"===a.type)this._availableFields.add(a.latitudeFieldName),this._availableFields.add(a.longitudeFieldName);else if(null!=a.multiscale&&a.multiscale.levels.length>=1){const e=a.multiscale.levels[0];this._availableFields.add(e.column)}else this._availableFields.add(a.primaryFieldName)}destroy(){for(const e of this._files)e.destroy()}get about(){return{willQueryAllFeatures:!0,willQueryFullResolutionGeometry:!0}}async updateFields(e){await this._promise;const i=new Set(e),a=t(i,this._availableFields);this._availableFields=s(a,this._availableFields),a.size&&await Promise.all(this._files.map((e=>{const t=Array.from(a).map((t=>e.metadata.getFieldIndex(t)));return e.inner.updateChunks(new Uint16Array(t))})))}async load(e){return null==this._promise&&(this._promise=this._download().then((()=>{this._loadHigherResGeometry()}))),this._promise}unload(e){}async addParquetFile(e){this._insert(e)}async _loadHigherResGeometry(){const{geometryInfo:e}=this._service;if("geometry"===e.type){if(!(null!=e.multiscale&&e.multiscale.levels.length>=1))return;await this.updateFields([e.primaryFieldName])}const t=Array.from(this._store.chunks());this._store.clear();for(const s of t)this._store.insert(s);this._store.refresh()}async _insert(t){const s=await a.create(t,{geometryInfo:this._service.geometryInfo,outSpatialReference:this._service.outSpatialReference,getCustomParameters:()=>this._schema.mutable.dataFilter.customParameters}),{geometryInfo:r}=this._service;e(this._options);const{fields:o,timeZoneByFieldName:m}=this._service.metadata.fieldsIndex,d=o.map((e=>({...e,index:s.metadata.getFieldIndex(e.name)}))),h=i.fromJSON({fields:d,timeZoneByFieldName:m}),u=new Uint16Array(Array.from(this._availableFields.values()).map((e=>h.get(e)?.index)));await s.inner.readChunksWithCallback(u,(e=>{const t=this._chunkId++,s=new n(this._metadata,h,r,e,t),i=new l(s,null,t,!1);this._store.insert(i)})),this._files.push(s)}async _download(){try{await Promise.all(this._service.source.urls.map((e=>this._insert(e))));const e=new l(o.empty(this._metadata),null,-1,!0);this._store.insert(e)}catch(e){throw console.error(e),e}}}export{m as ParquetLoadStrategy};
5
+ import{throwIfAborted as e}from"../../../../../../core/promiseUtils.js";import{difference as t,union as s}from"../../../../../../core/SetUtils.js";import i from"../../../../../../layers/support/FieldsIndex.js";import{ParquetFile as a}from"../../../../../../libs/parquet/parquet.js";import{ALoadStrategy as r}from"./ALoadStrategy.js";import{FeatureSnapshotSourceChunk as l}from"./chunks/FeatureSnapshotSourceChunk.js";import{FeatureSetReaderJSON as o}from"../../support/FeatureSetReaderJSON.js";import{FeatureSetReaderParquet as n}from"../../support/FeatureSetReaderParquet.js";class m extends r{constructor(e,t,s,i){super(i),this._service=e,this._metadata=t,this._schema=s,this._chunkId=0,this._files=[],this._availableFields=new Set(s.mutable.availableFields);const{geometryInfo:a}=this._service;if("location"===a.type)this._availableFields.add(a.latitudeFieldName),this._availableFields.add(a.longitudeFieldName);else if(null!=a.multiscale&&a.multiscale.levels.length>=1){const e=a.multiscale.levels[0];this._availableFields.add(e.column)}else this._availableFields.add(a.primaryFieldName)}destroy(){for(const e of this._files)e.destroy()}get about(){return{willQueryAllFeatures:!0,willQueryFullResolutionGeometry:!0}}async updateFields(e){await this._promise;const i=new Set(e),a=t(i,this._availableFields);this._availableFields=s(a,this._availableFields),a.size&&await Promise.all(this._files.map((e=>{const t=Array.from(a).map((t=>e.metadata.getFieldIndex(t)));return e.inner.updateChunks(new Uint16Array(t))})))}async load(e){return null==this._promise&&(this._promise=this._download().then((()=>{this._loadHigherResGeometry()}))),this._promise}unload(e){}async addParquetFile(e){this._insert(e)}async _loadHigherResGeometry(){const{geometryInfo:e}=this._service;if("geometry"===e.type){if(!(null!=e.multiscale&&e.multiscale.levels.length>=1))return;await this.updateFields([e.primaryFieldName])}const t=Array.from(this._store.chunks());this._store.clear();for(const s of t)this._store.insert(s);this._store.refresh()}async _insert(t){const s=await a.create(t,{geometryInfo:this._service.geometryInfo,outSpatialReference:this._service.outSpatialReference,getCustomParameters:()=>this._schema.mutable.dataFilter.customParameters}),{geometryInfo:r}=this._service;e(this._options);const{fields:o,timeZoneByFieldName:m}=this._service.metadata.fieldsIndex,d=o.map((e=>({...e,index:s.metadata.getFieldIndex(e.name)}))),h=i.fromJSON({fields:d,timeZoneByFieldName:m}),u=new Uint16Array(Array.from(this._availableFields.values()).map((e=>h.get(e)?.index)).filter((e=>null!=e)));await s.inner.readChunksWithCallback(u,(e=>{const t=this._chunkId++,s=new n(this._metadata,h,r,e,t),i=new l(s,null,t,!1);this._store.insert(i)})),this._files.push(s)}async _download(){try{await Promise.all(this._service.source.urls.map((e=>this._insert(e))));const e=new l(o.empty(this._metadata),null,-1,!0);this._store.insert(e)}catch(e){throw console.error(e),e}}}export{m as ParquetLoadStrategy};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import t from"../../../../../../core/Error.js";import{throwIfAborted as e}from"../../../../../../core/promiseUtils.js";import r from"../../../../../../core/RandomLCG.js";import{AFetchLoadStrategy as o}from"./AFetchLoadStrategy.js";import{FeatureSnapshotSourceChunk as s}from"./chunks/FeatureSnapshotSourceChunk.js";import{FeatureSetReaderJSON as n}from"../../support/FeatureSetReaderJSON.js";class a extends o{constructor(t,e,o,s,n,a){super(t,e,o,n,a),this._random=new r(1e3),this._featureCount=s}get about(){return{willQueryAllFeatures:!0,willQueryFullResolutionGeometry:!0}}load(t){return null==this._promise&&(this._promise=this._downloadPages(this._featureCount)),this._promise}unload(t){}async _downloadPages(e){const r=Math.ceil(e/this._queryInfo.pageSize),o=Array.from({length:r},((t,e)=>e)).sort(((t,e)=>this._random.getInt()-this._random.getInt())),a=await Promise.all(o.map((t=>this._downloadPage(t)))),i=new s(n.empty(this._metadata),null,-1,!0);this._store.insert(i);const u=a.filter((t=>t));if(u.length)throw new t("featurelayer-query","Encountered errors when downloading data",{errors:u})}async _downloadPage(t){try{const r=this._queryInfo.createPagedQuery(t),o=await this._fetch(r,this._options),n=new s(o,r.inner.toJSON(),t,!1);return e(this._options),this._store.insert(n),null}catch(r){return r}}}export{a as SnapshotLoadStrategy};
5
+ import t from"../../../../../../core/Error.js";import{throwIfAborted as e}from"../../../../../../core/promiseUtils.js";import r from"../../../../../../core/RandomLCG.js";import{AFetchLoadStrategy as o}from"./AFetchLoadStrategy.js";import{FeatureSnapshotSourceChunk as s}from"./chunks/FeatureSnapshotSourceChunk.js";import{FeatureSetReaderJSON as n}from"../../support/FeatureSetReaderJSON.js";class a extends o{constructor(t,e,o,s,n,a){super(t,e,o,n,a),this._random=new r(1e3),this._featureCount=s}get about(){return{willQueryAllFeatures:!0,willQueryFullResolutionGeometry:!0}}load(t){return null==this._promise&&(this._promise=this._downloadPages(this._featureCount)),this._promise}unload(t){}async _downloadPages(e){const r=Math.ceil(e/this._queryInfo.pageSize),o=Array.from({length:r},((t,e)=>e)).sort(((t,e)=>this._random.getInt()-this._random.getInt())),a=await Promise.all(o.map((t=>this._downloadPage(t)))),i=new s(n.empty(this._metadata),null,-1,!0);this._store.insert(i);const u=a.filter((t=>t));if(u.length)throw new t("featurelayer-query","Encountered errors when downloading data",{errors:u})}async _downloadPage(t){try{const r=this._queryInfo.createPagedQuery(t),o=await this._fetch(r,this._options,{chunkId:t.toString()}),n=new s(o,r.inner.toJSON(),t,!1);return e(this._options),this._store.insert(n),null}catch(r){return r}}}export{a as SnapshotLoadStrategy};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import e from"../../../../../../core/Evented.js";import{handlesGroup as t}from"../../../../../../core/handleUtils.js";import"../../../../../../core/has.js";import{destroyMaybe as s}from"../../../../../../core/maybe.js";import{StreamFeatureManager as n}from"../../../../../../layers/graphics/data/StreamFeatureManager.js";import{createConnection as o}from"../../../../../../layers/graphics/sources/connections/createConnection.js";import{internalTimeReceivedField as i}from"../../../../../../layers/support/streamLayerUtils.js";import{StreamConnectionState as r}from"../StreamConnectionState.js";import{StreamFeatureStore as a}from"../StreamFeatureStore.js";import{ALoadStrategy as c}from"./ALoadStrategy.js";import{StreamSourceChunk as h}from"./chunks/StreamSourceChunk.js";class m extends c{constructor(t,s,o,c,h){super(o),this._service=t,this._dataFilter=s,this._streamOptions=c,this._metadata=h,this._connectionState=new r,this._forceRefresh=!1,this.events=new e;const{objectIdField:m,timeInfo:d}=this._metadata,{purgeOptions:_}=s;this._stagingStore=new a(this._metadata.cloneWithAdditionalFields([{name:i,alias:"timeReceived",type:"esriFieldTypeDate"}]),(e=>this.events.emit("features-updated",e))),this._manager=new n(this._stagingStore,m,d,_),this.connect()}destroy(){super.destroy(),this.disconnect()}get about(){return{willQueryAllFeatures:!1,willQueryFullResolutionGeometry:!1}}get connectionStatus(){return this._connectionState.connectionStatus}get errorString(){return this._connectionState?.errorString}async refresh(){const e=null!=this._chunk;this._manager.checkForUpdates()||!e||this._forceRefresh?(this._chunk&&this._store.remove(this._chunk),this._forceRefresh=!1,this._chunk=new h(this._stagingStore.reader),this._store.insert(this._chunk),this.events.emit("tick")):this.events.emit("tick")}async updateFields(e){throw new Error("Updating available fields not supported for StreamLayer")}async load(e){}unload(e){}disconnect(){this._connection=s(this._connection),this._connectionState.connection=null,this._handlesGroup?.remove()}connect(){if(null!=this._connection)return;const{geometryType:e,spatialReference:s}=this._metadata,{maxReconnectionAttempts:n,maxReconnectionInterval:i,geometryDefinition:r,definitionExpression:a,customParameters:c}=this._dataFilter;this._connection=o(this._service.source,s,this._streamOptions.outSR,e,a,r,n,i,c),this._handlesGroup=t([this._connection.on("data-received",(e=>this._onFeature(e))),this._connection.on("message-received",(e=>this._onWebSocketMessage(e)))]),this._connectionState.connection=this._connection}clear(){this._manager.checkForUpdates(),this._stagingStore.clear(),this._forceRefresh=!0}updateCustomParameters(e){this._connection?.updateCustomParameters(e)}sendMessageToSocket(e){this._connection?.sendMessageToSocket(e)}sendMessageToClient(e){this._connection?.sendMessageToClient(e)}_onWebSocketMessage(e){if("type"in e)switch(e.type){case"delete":if(e.objectIds)for(const t of e.objectIds)this._manager.removeById(t);if(e.trackIds)for(const t of e.trackIds)this._manager.removeByTrackId(t);break;case"clear":this.clear()}this.events.emit("message-received",e)}_onFeature(e){try{this._manager.add(e),this.events.emit("data-received",e)}catch(t){}}}export{m as StreamLoadStrategy};
5
+ import e from"../../../../../../core/Evented.js";import{handlesGroup as t}from"../../../../../../core/handleUtils.js";import"../../../../../../core/has.js";import{destroyMaybe as s}from"../../../../../../core/maybe.js";import{StreamFeatureManager as n}from"../../../../../../layers/graphics/data/StreamFeatureManager.js";import{createConnection as o}from"../../../../../../layers/graphics/sources/connections/createConnection.js";import{internalTimeReceivedField as i}from"../../../../../../layers/support/streamLayerUtils.js";import{StreamConnectionState as r}from"../StreamConnectionState.js";import{StreamFeatureStore as a}from"../StreamFeatureStore.js";import{ALoadStrategy as c}from"./ALoadStrategy.js";import{StreamSourceChunk as h}from"./chunks/StreamSourceChunk.js";class m extends c{constructor(t,s,o,c,h){super(o),this._service=t,this._dataFilter=s,this._streamOptions=c,this._metadata=h,this._connectionState=new r,this._forceRefresh=!1,this.events=new e;const{objectIdField:m,timeInfo:d}=this._metadata,{purgeOptions:_}=s;this._stagingStore=new a(this._metadata.weakCloneWithAdditionalFields([{name:i,alias:"timeReceived",type:"esriFieldTypeDate"}]),(e=>this.events.emit("features-updated",e))),this._manager=new n(this._stagingStore,m,d,_),this.connect()}destroy(){super.destroy(),this.disconnect()}get about(){return{willQueryAllFeatures:!1,willQueryFullResolutionGeometry:!1}}get connectionStatus(){return this._connectionState.connectionStatus}get errorString(){return this._connectionState?.errorString}async refresh(){const e=null!=this._chunk;this._manager.checkForUpdates()||!e||this._forceRefresh?(this._chunk&&this._store.remove(this._chunk),this._forceRefresh=!1,this._chunk=new h(this._stagingStore.reader),this._store.insert(this._chunk),this.events.emit("tick")):this.events.emit("tick")}async updateFields(e){throw new Error("Updating available fields not supported for StreamLayer")}async load(e){}unload(e){}disconnect(){this._connection=s(this._connection),this._connectionState.connection=null,this._handlesGroup?.remove()}connect(){if(null!=this._connection)return;const{geometryType:e,spatialReference:s}=this._metadata,{maxReconnectionAttempts:n,maxReconnectionInterval:i,geometryDefinition:r,definitionExpression:a,customParameters:c}=this._dataFilter;this._connection=o(this._service.source,s,this._streamOptions.outSR,e,a,r,n,i,c),this._handlesGroup=t([this._connection.on("data-received",(e=>this._onFeature(e))),this._connection.on("message-received",(e=>this._onWebSocketMessage(e)))]),this._connectionState.connection=this._connection}clear(){this._manager.checkForUpdates(),this._stagingStore.clear(),this._forceRefresh=!0}updateCustomParameters(e){this._connection?.updateCustomParameters(e)}sendMessageToSocket(e){this._connection?.sendMessageToSocket(e)}sendMessageToClient(e){this._connection?.sendMessageToClient(e)}_onWebSocketMessage(e){if("type"in e)switch(e.type){case"delete":if(e.objectIds)for(const t of e.objectIds)this._manager.removeById(t);if(e.trackIds)for(const t of e.trackIds)this._manager.removeByTrackId(t);break;case"clear":this.clear()}this.events.emit("message-received",e)}_onFeature(e){try{this._manager.add(e),this.events.emit("data-received",e)}catch(t){}}}export{m as StreamLoadStrategy};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import t from"../../../../../core/Error.js";import has from"../../../../../core/has.js";import e from"../../../../../core/Logger.js";import{diff as i}from"../../../../../core/accessorSupport/diffUtils.js";import{collectExpressionDependencies as s}from"../../../../../support/arcadeOnDemand.js";import{attributeStoreInitialSize as r,maxHighlightReasons as a,AttributeDataType as n}from"../../../engine/webgl/definitions.js";import{getDisplayIdTexel as o}from"../../../engine/webgl/DisplayId.js";import{getPixelArrayCtor as l}from"../../../engine/webgl/Utils.js";import{nanMagicNumber as h}from"../../../engine/webgl/shaderGraph/techniques/shaders/constants.js";import{createDebugLogger as d,DEBUG_ATTR_UPDATES as c}from"../../../engine/webgl/util/debug.js";import{DisplayIdGenerator as u}from"./DisplayIdGenerator.js";import p from"./FeatureFilter.js";import{PixelType as g}from"../../../../webgl/enums.js";function _(t,e){if(!t||!e)return t;switch(e){case"radius":case"distance":return 2*t;case"diameter":case"width":return t;case"area":return Math.sqrt(t)}return t}const y=()=>e.getLogger("esri.views.layers.2d.features.support.AttributeStore"),m=d(c,y()),f={sharedArrayBuffer:has("esri-shared-array-buffer"),atomics:has("esri-atomics")};class b{constructor(t,e,i){this.size=0,this.texelSize=4,this.dirtyStart=0,this.dirtyEnd=0;const{pixelType:s,layout:r,textureOnly:a}=e;this.textureOnly=a||!1,this.pixelType=s,this.layout=r,this._resetRange(),this.size=t,this.isLocal=i,a||(this.data=this._initData(s,t))}get buffer(){return this.data?.buffer}unsetComponentAllTexels(t,e){const i=this.data;for(let s=0;s<this.size*this.size;s++)i[s*this.texelSize+t]&=~e;this.dirtyStart=0,this.dirtyEnd=this.size*this.size-1}setComponentAllTexels(t,e){const i=this.data;for(let s=0;s<this.size*this.size;s++)i[s*this.texelSize+t]|=255&e;this.dirtyStart=0,this.dirtyEnd=this.size*this.size-1}setComponent(t,e,i){const s=this.data;for(const r of i)s[r*this.texelSize+t]|=e,this.dirtyStart=Math.min(this.dirtyStart,r),this.dirtyEnd=Math.max(this.dirtyEnd,r)}setComponentTexel(t,e,i){this.data[i*this.texelSize+t]|=e,this.dirtyStart=Math.min(this.dirtyStart,i),this.dirtyEnd=Math.max(this.dirtyEnd,i)}unsetComponentTexel(t,e,i){this.data[i*this.texelSize+t]&=~e,this.dirtyStart=Math.min(this.dirtyStart,i),this.dirtyEnd=Math.max(this.dirtyEnd,i)}getData(t,e){const i=o(t);return this.data[i*this.texelSize+e]}setData(t,e,i){const s=o(t),r=1<<e;this.layout&r?null!=this.data&&(this.data[s*this.texelSize+e]=i,this.dirtyStart=Math.min(this.dirtyStart,s),this.dirtyEnd=Math.max(this.dirtyEnd,s)):y().error("mapview-attributes-store","Tried to set a value for a texel's readonly component")}expand(t){if(this.size=t,!this.textureOnly){const e=this._initData(this.pixelType,t),i=this.data;e.set(i),this.data=e}}toMessage(){const t=this.dirtyStart,e=this.dirtyEnd,i=this.texelSize;if(t>e)return null;this._resetRange();const s=!this.isLocal,r=this.pixelType,a=this.layout,n=this.data;return{start:t,end:e,data:s&&n.slice(t*i,(e+1)*i)||null,pixelType:r,layout:a}}_initData(t,e){const i=ArrayBuffer,s=l(t),r=new s(new i(e*e*4*s.BYTES_PER_ELEMENT));for(let a=0;a<r.length;a+=4)r[a+1]=255;return r}_resetRange(){this.dirtyStart=2147483647,this.dirtyEnd=0}}class x{constructor(t){this._client=t,this._filters=[],this._blocks=new Array,this._attributeComputeInfo=null,this._abortController=new AbortController,this._size=r,this._idsToHighlight=new Map,this._arcadeDependencies=new Set,this._initialized=!1,this.version=0,this._idGenerator=new u,this._epoch=1}destroy(){this._abortController.abort()}_initialize(){if(null!=this._blockDescriptors)return;const t=g.FLOAT;m(`Creating AttributeStore ${f.sharedArrayBuffer?"with":"without"} shared memory`),this._blockDescriptors=[{pixelType:g.UNSIGNED_BYTE,layout:1},{pixelType:g.UNSIGNED_BYTE,layout:15,textureOnly:!0},{pixelType:g.UNSIGNED_BYTE,layout:15,textureOnly:!0},{pixelType:t,layout:15},{pixelType:t,layout:15},{pixelType:t,layout:15},{pixelType:t,layout:15},{pixelType:g.FLOAT,layout:15}],this._blocks=this._blockDescriptors.map((()=>null))}get hasHighlight(){return this._idsToHighlight.size>0}createDisplayIdForObjectId(t){return this._idGenerator.createIdForObjectId(t)}releaseDisplayIdForObjectId(t){return this._idGenerator.releaseIdForObjectId(t)}getDisplayIdForObjectId(t){return this._idGenerator.getDisplayIdForObjectId(t)}incrementDisplayIdGeneration(){this._idGenerator.incrementGeneration()}hasArcadeDependency(t){return this._arcadeDependencies.has(t)}releaseAllIds(){this._idGenerator.releaseAll()}async update(t,e,s,r,a=0){const n=i(this._schema,t);if(this.version=a,n&&(has("esri-2d-update-debug")&&console.debug(`Version[${a}] AttributeStore.update`,{changed:n}),this._schema=t,this._attributeComputeInfo=null,this._initialize(),null!=t))if(s&&(this._filters=await Promise.all(t.filters.map((t=>t?p.create({geometryType:s.geometryType,hasM:!1,hasZ:!1,timeInfo:s.timeInfo,fieldsIndex:s.fieldsIndex,spatialReference:r??s.spatialReference,filterJSON:t}):null)))),"multi"!==t.type)this._attributeComputeInfo={type:"feature",map:new Map},await Promise.all(t.bindings.map((async t=>{const i=await this._bind(e,t);this._updateReferences(i)})));else{this._attributeComputeInfo={type:"multi",keyField:t.keyField,map:new Map};for(const i in t.bindings){const s=t.bindings[i];await Promise.all(s.map((async t=>{const s=await this._bind(e,t,parseInt(i,10));this._updateReferences(s)})))}}}setHighlight(t,e){const i=this._getBlock(0);i.unsetComponentAllTexels(0,(1<<a)-1);for(const{displayId:s,highlightFlags:r}of t){if(null==s)continue;const t=o(s);i.setComponent(0,r,[t])}this._idsToHighlight.clear();for(const{objectId:s,highlightFlags:r}of t)this._idsToHighlight.set(s,r);for(const{objectId:s,highlightFlags:r}of e)this._idsToHighlight.set(s,r)}setData(t,e,i,s){const r=o(t);this._ensureSizeForTexel(r),this._getBlock(e).setData(t,i,s)}getData(t,e,i){return this._getBlock(e).getData(t,i)}getHighlightFlags(t){return this._idsToHighlight.get(t)||0}unsetAttributeData(t){const e=o(t);this._getBlock(0).setData(e,0,0)}setAttributeData(t,e,i){const s=o(t);this._ensureSizeForTexel(s),this._getBlock(0).setData(s,0,this.getFilterFlags(e));const r=this._attributeComputeInfo,a=1,l=4;let d=null;r&&(d="multi"===r.type?r.map.get(e.readAttribute(r.keyField)):r.map,d?.size&&d.forEach(((t,r)=>{const o=r*a%l,d=Math.floor(r*a/l),c=this._getBlock(d+n.VV);let u=t.field?.read(e,i);t.valueRepresentation&&(u=_(u,t.valueRepresentation));(null===u||isNaN(u)||u===1/0||u===-1/0)&&(u=h),c.setData(s,o,u)})))}get epoch(){return this._epoch}sendUpdates(){const t=this._blocks.map((t=>null!=t?t.toMessage():null)),e=this._getInitArgs();has("esri-2d-log-updating")&&console.log("AttributeStore: _doSendUpdate.start"),this._client.update({initArgs:e,blockData:t,version:this.version,sendUpdateEpoch:this._epoch}),this._epoch+=1,has("esri-2d-log-updating")&&console.log("AttributeStore: _doSendUpdate.end")}_ensureSizeForTexel(t){for(;t>=this._size*this._size;)if(this._expand())return}async _bind(t,e,i){const s=await t.createComputedField(e),{valueRepresentation:r}=e,a=this._attributeComputeInfo;if("multi"===a.type){const t=a.map.get(i)??new Map;t.set(e.binding,{field:s,valueRepresentation:r}),a.map.set(i,t)}else a.map.set(e.binding,{field:s,valueRepresentation:r});return s}_getInitArgs(){return this._initialized?null:(this._initialized=!0,this._getBlock(n.Animation),this._getBlock(n.GPGPU),this._getBlock(n.LocalTimeOrigin),{blockSize:this._size,blockDescriptors:this._blocks.map((t=>null!=t?{textureOnly:t.textureOnly,buffer:t.buffer,pixelType:t.pixelType}:null))})}_getBlock(t){const e=this._blocks[t];if(null!=e)return e;m(`Initializing AttributeBlock at index ${t}`);const i=new b(this._size,this._blockDescriptors[t],this._client.isLocal);return this._blocks[t]=i,this._initialized=!1,i}_expand(){if(this._size<this._schema.capabilities.maxTextureSize){const t=this._size<<=1;m("Expanding block size to",t,this._blocks);for(const e of this._blocks)e?.expand(t);return this._initialized=!1,this._size=t,0}return y().error(new t("mapview-limitations","Maximum number of onscreen features exceeded.")),-1}_updateReferences(t){s(this._arcadeDependencies,t)}isVisible(t){return!!(this._getBlock(0).getData(t,0)&1<<a)}getFilterFlags(t){let e=0;for(let s=0;s<this._filters.length;s++){const i=!!(1<<s),r=this._filters[s];e|=(!i||null==r||r.check(t)?1:0)<<s}let i=0;if(this._idsToHighlight.size){const e=t.getObjectId();i=this.getHighlightFlags(e)}return e<<a|i}}export{x as AttributeStore,_ as getVisualVariableSizeValueRepresentationRatio};
5
+ import t from"../../../../../core/Error.js";import has from"../../../../../core/has.js";import e from"../../../../../core/Logger.js";import{diff as i}from"../../../../../core/accessorSupport/diffUtils.js";import{collectExpressionDependencies as s}from"../../../../../support/arcadeOnDemand.js";import{attributeStoreInitialSize as r,maxHighlightReasons as a,AttributeDataType as n}from"../../../engine/webgl/definitions.js";import{getDisplayIdTexel as o}from"../../../engine/webgl/DisplayId.js";import{getPixelArrayCtor as l}from"../../../engine/webgl/Utils.js";import{nanMagicNumber as h}from"../../../engine/webgl/shaderGraph/techniques/shaders/constants.js";import{createDebugLogger as d,DEBUG_ATTR_UPDATES as c}from"../../../engine/webgl/util/debug.js";import{DisplayIdGenerator as u}from"./DisplayIdGenerator.js";import p from"./FeatureFilterEvaluator.js";import{PixelType as g}from"../../../../webgl/enums.js";function _(t,e){if(!t||!e)return t;switch(e){case"radius":case"distance":return 2*t;case"diameter":case"width":return t;case"area":return Math.sqrt(t)}return t}const y=()=>e.getLogger("esri.views.layers.2d.features.support.AttributeStore"),m=d(c,y()),f={sharedArrayBuffer:has("esri-shared-array-buffer"),atomics:has("esri-atomics")};class b{constructor(t,e,i){this.size=0,this.texelSize=4,this.dirtyStart=0,this.dirtyEnd=0;const{pixelType:s,layout:r,textureOnly:a}=e;this.textureOnly=a||!1,this.pixelType=s,this.layout=r,this._resetRange(),this.size=t,this.isLocal=i,a||(this.data=this._initData(s,t))}get buffer(){return this.data?.buffer}unsetComponentAllTexels(t,e){const i=this.data;for(let s=0;s<this.size*this.size;s++)i[s*this.texelSize+t]&=~e;this.dirtyStart=0,this.dirtyEnd=this.size*this.size-1}setComponentAllTexels(t,e){const i=this.data;for(let s=0;s<this.size*this.size;s++)i[s*this.texelSize+t]|=255&e;this.dirtyStart=0,this.dirtyEnd=this.size*this.size-1}setComponent(t,e,i){const s=this.data;for(const r of i)s[r*this.texelSize+t]|=e,this.dirtyStart=Math.min(this.dirtyStart,r),this.dirtyEnd=Math.max(this.dirtyEnd,r)}setComponentTexel(t,e,i){this.data[i*this.texelSize+t]|=e,this.dirtyStart=Math.min(this.dirtyStart,i),this.dirtyEnd=Math.max(this.dirtyEnd,i)}unsetComponentTexel(t,e,i){this.data[i*this.texelSize+t]&=~e,this.dirtyStart=Math.min(this.dirtyStart,i),this.dirtyEnd=Math.max(this.dirtyEnd,i)}getData(t,e){const i=o(t);return this.data[i*this.texelSize+e]}setData(t,e,i){const s=o(t),r=1<<e;this.layout&r?null!=this.data&&(this.data[s*this.texelSize+e]=i,this.dirtyStart=Math.min(this.dirtyStart,s),this.dirtyEnd=Math.max(this.dirtyEnd,s)):y().error("mapview-attributes-store","Tried to set a value for a texel's readonly component")}expand(t){if(this.size=t,!this.textureOnly){const e=this._initData(this.pixelType,t),i=this.data;e.set(i),this.data=e}}toMessage(){const t=this.dirtyStart,e=this.dirtyEnd,i=this.texelSize;if(t>e)return null;this._resetRange();const s=!this.isLocal,r=this.pixelType,a=this.layout,n=this.data;return{start:t,end:e,data:s&&n.slice(t*i,(e+1)*i)||null,pixelType:r,layout:a}}_initData(t,e){const i=ArrayBuffer,s=l(t),r=new s(new i(e*e*4*s.BYTES_PER_ELEMENT));for(let a=0;a<r.length;a+=4)r[a+1]=255;return r}_resetRange(){this.dirtyStart=2147483647,this.dirtyEnd=0}}class x{constructor(t){this._client=t,this._filters=[],this._blocks=new Array,this._attributeComputeInfo=null,this._abortController=new AbortController,this._size=r,this._idsToHighlight=new Map,this._arcadeDependencies=new Set,this._initialized=!1,this.version=0,this._idGenerator=new u,this._epoch=1}destroy(){this._abortController.abort()}_initialize(){if(null!=this._blockDescriptors)return;const t=g.FLOAT;m(`Creating AttributeStore ${f.sharedArrayBuffer?"with":"without"} shared memory`),this._blockDescriptors=[{pixelType:g.UNSIGNED_BYTE,layout:1},{pixelType:g.UNSIGNED_BYTE,layout:15,textureOnly:!0},{pixelType:g.UNSIGNED_BYTE,layout:15,textureOnly:!0},{pixelType:t,layout:15},{pixelType:t,layout:15},{pixelType:t,layout:15},{pixelType:t,layout:15},{pixelType:g.FLOAT,layout:15}],this._blocks=this._blockDescriptors.map((()=>null))}get hasHighlight(){return this._idsToHighlight.size>0}createDisplayIdForObjectId(t){return this._idGenerator.createIdForObjectId(t)}releaseDisplayIdForObjectId(t){return this._idGenerator.releaseIdForObjectId(t)}getDisplayIdForObjectId(t){return this._idGenerator.getDisplayIdForObjectId(t)}incrementDisplayIdGeneration(){this._idGenerator.incrementGeneration()}hasArcadeDependency(t){return this._arcadeDependencies.has(t)}releaseAllIds(){this._idGenerator.releaseAll()}async update(t,e,s,r=0){const a=i(this._schema,t);if(this.version=r,a&&(has("esri-2d-update-debug")&&console.debug(`Version[${r}] AttributeStore.update`,{changed:a}),this._schema=t,this._attributeComputeInfo=null,this._initialize(),null!=t))if(s&&(this._filters=await Promise.all(t.filters.map((t=>t?p.create({geometryType:s.geometryType,hasM:!1,hasZ:!1,timeInfo:s.timeInfo,fieldsIndex:s.fieldsIndex,spatialReference:s.outSpatialReference,filterJSON:t}):null)))),"multi"!==t.type)this._attributeComputeInfo={type:"feature",map:new Map},await Promise.all(t.bindings.map((async t=>{const i=await this._bind(e,t);this._updateReferences(i)})));else{this._attributeComputeInfo={type:"multi",keyField:t.keyField,map:new Map};for(const i in t.bindings){const s=t.bindings[i];await Promise.all(s.map((async t=>{const s=await this._bind(e,t,parseInt(i,10));this._updateReferences(s)})))}}}setHighlight(t,e){const i=this._getBlock(0);i.unsetComponentAllTexels(0,(1<<a)-1);for(const{displayId:s,highlightFlags:r}of t){if(null==s)continue;const t=o(s);i.setComponent(0,r,[t])}this._idsToHighlight.clear();for(const{objectId:s,highlightFlags:r}of t)this._idsToHighlight.set(s,r);for(const{objectId:s,highlightFlags:r}of e)this._idsToHighlight.set(s,r)}setData(t,e,i,s){const r=o(t);this._ensureSizeForTexel(r),this._getBlock(e).setData(t,i,s)}getData(t,e,i){return this._getBlock(e).getData(t,i)}getHighlightFlags(t){return this._idsToHighlight.get(t)||0}unsetAttributeData(t){const e=o(t);this._getBlock(0).setData(e,0,0)}setAttributeData(t,e,i,s){const r=o(t);this._ensureSizeForTexel(r),this._getBlock(0).setData(r,0,this.getFilterFlags(e,s));const a=this._attributeComputeInfo,l=1,d=4;let c=null;a&&(c="multi"===a.type?a.map.get(e.readAttribute(a.keyField)):a.map,c?.size&&c.forEach(((t,s)=>{const a=s*l%d,o=Math.floor(s*l/d),c=this._getBlock(o+n.VV);let u=t.field?.read(e,i);t.valueRepresentation&&(u=_(u,t.valueRepresentation));(null===u||isNaN(u)||u===1/0||u===-1/0)&&(u=h),c.setData(r,a,u)})))}get epoch(){return this._epoch}sendUpdates(){const t=this._blocks.map((t=>null!=t?t.toMessage():null)),e=this._getInitArgs();has("esri-2d-log-updating")&&console.log("AttributeStore: _doSendUpdate.start"),this._client.update({initArgs:e,blockData:t,version:this.version,sendUpdateEpoch:this._epoch}),this._epoch+=1,has("esri-2d-log-updating")&&console.log("AttributeStore: _doSendUpdate.end")}_ensureSizeForTexel(t){for(;t>=this._size*this._size;)if(this._expand())return}async _bind(t,e,i){const s=await t.createComputedField(e),{valueRepresentation:r}=e,a=this._attributeComputeInfo;if("multi"===a.type){const t=a.map.get(i)??new Map;t.set(e.binding,{field:s,valueRepresentation:r}),a.map.set(i,t)}else a.map.set(e.binding,{field:s,valueRepresentation:r});return s}_getInitArgs(){return this._initialized?null:(this._initialized=!0,this._getBlock(n.Animation),this._getBlock(n.GPGPU),this._getBlock(n.LocalTimeOrigin),{blockSize:this._size,blockDescriptors:this._blocks.map((t=>null!=t?{textureOnly:t.textureOnly,buffer:t.buffer,pixelType:t.pixelType}:null))})}_getBlock(t){const e=this._blocks[t];if(null!=e)return e;m(`Initializing AttributeBlock at index ${t}`);const i=new b(this._size,this._blockDescriptors[t],this._client.isLocal);return this._blocks[t]=i,this._initialized=!1,i}_expand(){if(this._size<this._schema.capabilities.maxTextureSize){const t=this._size<<=1;m("Expanding block size to",t,this._blocks);for(const e of this._blocks)e?.expand(t);return this._initialized=!1,this._size=t,0}return y().error(new t("mapview-limitations","Maximum number of onscreen features exceeded.")),-1}_updateReferences(t){s(this._arcadeDependencies,t)}isVisible(t){return!!(this._getBlock(0).getData(t,0)&1<<a)}getFilterFlags(t,e){let i=0;for(let r=0;r<this._filters.length;r++){const s=!!(1<<r),a=this._filters[r];i|=(!s||null==a||a.check(t,e)?1:0)<<r}let s=0;if(this._idsToHighlight.size){const e=t.getObjectId();s=this.getHighlightFlags(e)}return i<<a|s}}export{x as AttributeStore,_ as getVisualVariableSizeValueRepresentationRatio};
@@ -0,0 +1,5 @@
1
+ /*
2
+ All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
+ See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
+ */
5
+ import t from"../../../../../core/Error.js";import e from"../../../../../core/Logger.js";import{create as i}from"../../../../../geometry/support/aaBoundingRect.js";import{getBoundsXY as s}from"../../../../../geometry/support/boundsUtils.js";import{normalizeQueryLike as r}from"../../../../../layers/graphics/data/queryUtils.js";import{getSpatialQueryOperator as o}from"../../../../../layers/graphics/data/spatialQuerySupport.js";import{getTimeOperator as a}from"../../../../../layers/graphics/data/timeSupport.js";import h from"../../../../../rest/support/Query.js";import{FeatureStoreQueryAdapter as l}from"../FeatureStoreQueryAdapter.js";import{createWhereClause as n}from"./whereUtils.js";const m=1,d=2;class p{constructor(t){this._geometryBounds=i(),this._idToVisibility=new Map,this._serviceInfo=t}static async create(t){const e=new p(t);return await e.update(t.filterJSON,t.spatialReference),e}get hash(){return this._hash}check(t,e){return this._applyFilter(t,e)}invalidate(){this._idToVisibility.forEach(((t,e)=>{this._idToVisibility.set(e,0)}))}setKnownIds(t){for(const e of t)this._idToVisibility.set(e,m)}setTrue(t){const e=[],i=[],s=new Set(t);return this._idToVisibility.forEach(((t,r)=>{const o=!!(this._idToVisibility.get(r)&m),a=s.has(r);!o&&a?e.push(r):o&&!a&&i.push(r),this._idToVisibility.set(r,a?m|d:0)})),{show:e,hide:i}}createQuery(){const{geometry:t,spatialRel:e,where:i,timeExtent:s,objectIds:r}=this;return h.fromJSON({geometry:t,spatialRel:e,where:i,timeExtent:s,objectIds:r})}async update(t,e){this._hash=JSON.stringify(t);const i=await r(t,null,e);await Promise.all([this._setGeometryFilter(i),this._setIdFilter(i),this._setAttributeFilter(i),this._setTimeFilter(i)])}async _setAttributeFilter(t){if(!t?.where)return this._clause=null,void(this.where=null);this._clause=await n(t.where,this._serviceInfo.fieldsIndex),this.where=t.where}_setIdFilter(t){this._idsToShow=t?.objectIds&&new Set(t.objectIds),this._idsToHide=t?.hiddenIds&&new Set(t.hiddenIds),this.objectIds=t?.objectIds}async _setGeometryFilter(t){if(!t?.geometry)return this._spatialQueryOperator=null,this.geometry=null,void(this.spatialRel=null);const e=t.geometry,i=t.spatialRel??"esriSpatialRelIntersects",r=await o(i,e,this._serviceInfo.geometryType,this._serviceInfo.hasZ,this._serviceInfo.hasM);s(this._geometryBounds,e),this._spatialQueryOperator=r,this.geometry=e,this.spatialRel=i}_setTimeFilter(i){if(this.timeExtent=this._timeOperator=null,i?.timeExtent)if(this._serviceInfo.timeInfo)this.timeExtent=i.timeExtent,this._timeOperator=a(this._serviceInfo.timeInfo,i.timeExtent,l.Shared);else{const s=new t("feature-layer-view:time-filter-not-available","Unable to apply time filter, as layer doesn't have time metadata.",i.timeExtent);e.getLogger("esri.views.2d.layers.features.controllers.FeatureFilter").error(s)}}_applyFilter(t,e){return this._filterByGeometry(t)&&this._filterById(t)&&this._filterByTime(t)&&this._filterByExpression(t,e)}_filterByExpression(t,e){return!this.where||this._clause(t,e)}_filterById(t){return(!this._idsToHide?.size||!this._idsToHide.has(t.getObjectId()))&&(!this._idsToShow?.size||this._idsToShow.has(t.getObjectId()))}_filterByGeometry(t){if(!this.geometry)return!0;const e=t.readGeometryWorldSpace();return!!e&&this._spatialQueryOperator(e)}_filterByTime(t){return null==this._timeOperator||this._timeOperator(t)}}export{p as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import e from"../../../../../geometry/SpatialReference.js";import t from"../../../../../layers/support/FieldsIndex.js";class i{static minimal(e,n,s=[]){return new i({geometryType:e,fieldsIndex:new t(s).toJSON(),objectIdField:n,subtypes:null,subtypeField:null,types:null,globalIdField:null,spatialReference:null,timeInfo:null,timeReferenceUnknownClient:null,dateFieldsTimeZone:null,typeIdField:null})}static createFeature(e){return new i(e)}constructor(i){this._options=i,this._fieldsIndex=t.fromJSON(i.fieldsIndex),i.spatialReference&&(this._spatialReference=e.fromJSON(i.spatialReference)),this._arcadeSchema={fields:this.fieldsIndex.fields,fieldsIndex:this.fieldsIndex,geometryType:this.geometryType,objectIdField:this.objectIdField,globalIdField:this._options.globalIdField,spatialReference:this._spatialReference,timeInfo:this._options.timeInfo,typeIdField:this._options.typeIdField??void 0,types:this._options.types??void 0,subtypeField:this._options.subtypeField,subtypes:this._options.subtypes??void 0,datesInUnknownTimezone:this._options.timeReferenceUnknownClient??void 0,dateFieldsTimeZone:this._options.dateFieldsTimeZone??void 0}}get fieldsIndex(){return this._fieldsIndex}get geometryType(){return"esriGeometryMultiPatch"===this._options.geometryType?"esriGeometryPolygon":this._options.geometryType}get serviceGeometryType(){return this._options.geometryType}get subtypeField(){return this._options.subtypeField}get timeInfo(){return this._options.timeInfo}get objectIdField(){return this._options.objectIdField}get globalIdField(){return this._options.globalIdField}get arcadeSchema(){return this._arcadeSchema}get spatialReference(){return this._spatialReference}get timeReferenceUnknownClient(){return this._options.timeReferenceUnknownClient}cloneWithAdditionalFields(e){return new i({fieldsIndex:{fields:[...this._fieldsIndex.fields,...e],timeZoneByFieldName:null},geometryType:this.geometryType,globalIdField:this.globalIdField,objectIdField:this.objectIdField,spatialReference:this.spatialReference,subtypeField:this.subtypeField,subtypes:this._options.subtypes,timeInfo:this.timeInfo,timeReferenceUnknownClient:this.timeReferenceUnknownClient,dateFieldsTimeZone:this._options.dateFieldsTimeZone,typeIdField:this._options.typeIdField,types:this._options.types})}}class n extends i{static createGraphics(e){return new n({fieldsIndex:(new t).toJSON(),objectIdField:"uid",geometryType:null,spatialReference:e,globalIdField:null,subtypeField:null,subtypes:null,timeInfo:null,typeIdField:null,types:null,timeReferenceUnknownClient:null,dateFieldsTimeZone:null})}}export{i as FeatureMetadata,n as GraphicsMetadata};
5
+ import e from"../../../../../geometry/SpatialReference.js";import t from"../../../../../layers/support/FieldsIndex.js";class i{static minimal(e,n,l=[]){return new i({geometryType:e,fieldsIndex:new t(l).toJSON(),objectIdField:n,subtypes:null,subtypeField:null,types:null,globalIdField:null,spatialReference:null,outSpatialReference:null,timeInfo:null,timeReferenceUnknownClient:null,dateFieldsTimeZone:null,typeIdField:null})}static createFeature(e){return new i(e)}constructor(i){this._options=i,this._fieldsIndex=t.fromJSON(i.fieldsIndex),i.spatialReference&&(this._spatialReference=e.fromJSON(i.spatialReference)),i.outSpatialReference&&(this._outSpatialReference=e.fromJSON(i.outSpatialReference)),this._arcadeSchema={fields:this.fieldsIndex.fields,fieldsIndex:this.fieldsIndex,geometryType:this.geometryType,objectIdField:this.objectIdField,globalIdField:this._options.globalIdField,spatialReference:this._spatialReference,timeInfo:this._options.timeInfo,typeIdField:this._options.typeIdField??void 0,types:this._options.types??void 0,subtypeField:this._options.subtypeField,subtypes:this._options.subtypes??void 0,datesInUnknownTimezone:this._options.timeReferenceUnknownClient??void 0,dateFieldsTimeZone:this._options.dateFieldsTimeZone??void 0}}get fieldsIndex(){return this._fieldsIndex}get geometryType(){return"esriGeometryMultiPatch"===this._options.geometryType?"esriGeometryPolygon":this._options.geometryType}get serviceGeometryType(){return this._options.geometryType}get subtypeField(){return this._options.subtypeField}get timeInfo(){return this._options.timeInfo}get objectIdField(){return this._options.objectIdField}get globalIdField(){return this._options.globalIdField}get arcadeSchema(){return this._arcadeSchema}get spatialReference(){return this._spatialReference}get outSpatialReference(){return this._outSpatialReference}get timeReferenceUnknownClient(){return this._options.timeReferenceUnknownClient}weakCloneWithAdditionalFields(e){return new i({fieldsIndex:{fields:[...this._fieldsIndex.fields,...e],timeZoneByFieldName:null},geometryType:this.geometryType,globalIdField:this.globalIdField,objectIdField:this.objectIdField,spatialReference:this.spatialReference,outSpatialReference:this.outSpatialReference,subtypeField:this.subtypeField,subtypes:this._options.subtypes,timeInfo:this.timeInfo,timeReferenceUnknownClient:this.timeReferenceUnknownClient,dateFieldsTimeZone:this._options.dateFieldsTimeZone,typeIdField:this._options.typeIdField,types:this._options.types})}}class n extends i{static createGraphics(e){return new n({fieldsIndex:(new t).toJSON(),objectIdField:"uid",geometryType:null,spatialReference:e,outSpatialReference:e,globalIdField:null,subtypeField:null,subtypes:null,timeInfo:null,typeIdField:null,types:null,timeReferenceUnknownClient:null,dateFieldsTimeZone:null})}}export{i as FeatureMetadata,n as GraphicsMetadata};