@arcgis/core 5.2.0-next.12 → 5.2.0-next.14

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 (347) hide show
  1. package/arcgisGlobal.d.ts +3 -3
  2. package/assets/esri/core/workers/RemoteClient.js +1 -1
  3. package/assets/esri/core/workers/chunks/03354e9256b2f77fd4f2.js +1 -0
  4. package/assets/esri/core/workers/chunks/0826d36dfbfa28442b70.js +1 -0
  5. package/assets/esri/core/workers/chunks/{8103d06f760a2c79773d.js → 0a8ba5cb857f61de40fb.js} +15 -15
  6. package/assets/esri/core/workers/chunks/152f1c08197955224ad3.js +1 -0
  7. package/assets/esri/core/workers/chunks/1a0903b1d2d5101977c6.js +1 -0
  8. package/assets/esri/core/workers/chunks/{de541ad390a8d258d2e6.js → 1d5db8746a4f1ed1d18f.js} +1 -1
  9. package/assets/esri/core/workers/chunks/1effde6a39ef0d4af525.js +1 -0
  10. package/assets/esri/core/workers/chunks/{2a5176533e78a92d8e5b.js → 20c729fca2e4b4c6b28d.js} +1 -1
  11. package/assets/esri/core/workers/chunks/23d50c4478f40a7d62bf.js +1 -0
  12. package/assets/esri/core/workers/chunks/2623cd08487fdc9a94f1.js +1 -0
  13. package/assets/esri/core/workers/chunks/2c3fc2805f6de0963789.js +1 -0
  14. package/assets/esri/core/workers/chunks/2c4f10eaf02ef090ee8f.js +1 -0
  15. package/assets/esri/core/workers/chunks/314bc1b356d43bfa72a8.js +1 -0
  16. package/assets/esri/core/workers/chunks/{34544c79ce568f30a094.js → 31762eb20a9a0ed3f8b0.js} +1 -1
  17. package/assets/esri/core/workers/chunks/{26dca1d387183282276a.js → 318a2702632aaa4d3a63.js} +1 -1
  18. package/assets/esri/core/workers/chunks/3526ab3b1f87c24ae6f8.js +1 -0
  19. package/assets/esri/core/workers/chunks/{0b169bb1969f86232a1a.js → 35b3ff25f5fe24fe15e2.js} +1 -1
  20. package/assets/esri/core/workers/chunks/{81808c3aead7dfac3049.js → 38cfedce779dd75bd217.js} +1 -1
  21. package/assets/esri/core/workers/chunks/{5075e85e1eafd431a8c0.js → 39c994536ce6c1e5c956.js} +1 -1
  22. package/assets/esri/core/workers/chunks/3b74749db78bcba2bc16.js +1 -0
  23. package/assets/esri/core/workers/chunks/3d83ac791212b81c9d11.js +1 -0
  24. package/assets/esri/core/workers/chunks/3ecb906322a6a5c8c93b.js +1 -0
  25. package/assets/esri/core/workers/chunks/3f67162456a1f02190fa.js +1 -0
  26. package/assets/esri/core/workers/chunks/{ef46ef4f0ee9f2aeaa4a.js → 426b8e1e2eef2460851d.js} +1 -1
  27. package/assets/esri/core/workers/chunks/4376bc2934a996d8bc27.js +1 -0
  28. package/assets/esri/core/workers/chunks/44d0ca9d4c5f1722688c.js +1 -0
  29. package/assets/esri/core/workers/chunks/{c187bc997bad61b6c6e9.js → 47f21b65065558d583ca.js} +1 -1
  30. package/assets/esri/core/workers/chunks/{e25bcfdd8f20f8a08b19.js → 4d57c771af4137f74bfb.js} +1 -1
  31. package/assets/esri/core/workers/chunks/4e4419282c4bf7ee4678.js +1 -0
  32. package/assets/esri/core/workers/chunks/4e788fc6cb2ea936f676.js +1 -0
  33. package/assets/esri/core/workers/chunks/4f51963815b0d53ffbd9.js +1 -0
  34. package/assets/esri/core/workers/chunks/5100b5a6a506c704dfaf.js +1 -0
  35. package/assets/esri/core/workers/chunks/52afd43bbe23e358efb5.js +1 -0
  36. package/assets/esri/core/workers/chunks/5aba23584e0b230c75f5.js +1 -0
  37. package/assets/esri/core/workers/chunks/{d3c760109a70a71448c5.js → 67773a9f031d9f1d672f.js} +1 -1
  38. package/assets/esri/core/workers/chunks/6f7193b9ff5942c0d354.js +1 -0
  39. package/assets/esri/core/workers/chunks/70737052bab29fcaa120.js +1 -0
  40. package/assets/esri/core/workers/chunks/718d2d430c1a5a940b83.js +1 -0
  41. package/assets/esri/core/workers/chunks/71c996e1ae84d9daddf2.js +1 -0
  42. package/assets/esri/core/workers/chunks/753e0b21e57c12c742ee.js +1 -0
  43. package/assets/esri/core/workers/chunks/764c8ba14ab74b66b391.js +1 -0
  44. package/assets/esri/core/workers/chunks/{1996f0a930abdd97b855.js → 7a8ed08cd173963b3112.js} +1 -1
  45. package/assets/esri/core/workers/chunks/{4a20f7a0700fd14a129f.js → 7dcf804e1918b94fa4e1.js} +3 -10
  46. package/assets/esri/core/workers/chunks/{cc697c4d9cdc116373dc.js → 81726d997a2d34449bb2.js} +1 -1
  47. package/assets/esri/core/workers/chunks/{74e1826ad9e2c4fd3b42.js → 81883bca8a79ee2ddb00.js} +1 -1
  48. package/assets/esri/core/workers/chunks/{9fee0110dc7fee4c95e2.js → 854c320af09b6afc4b80.js} +2 -2
  49. package/assets/esri/core/workers/chunks/85505a8b8b0794656d06.js +1 -0
  50. package/assets/esri/core/workers/chunks/859bc873e7af911a518f.js +1 -0
  51. package/assets/esri/core/workers/chunks/{8407c91cce31e087b41b.js → 886ae23a1d8fa21e531f.js} +1 -1
  52. package/assets/esri/core/workers/chunks/{3ff7aa216cd794d951e8.js → 8e99f937fd36cf2cd05f.js} +1 -1
  53. package/assets/esri/core/workers/chunks/{c357c0a08b99c1e7f290.js → 9331969046f2b277d620.js} +1 -1
  54. package/assets/esri/core/workers/chunks/93d08d82ceab19e314f8.js +1 -0
  55. package/assets/esri/core/workers/chunks/97a654e8054302582a3b.js +1 -0
  56. package/assets/esri/core/workers/chunks/97d2bdbea39cbcf8fd0f.js +1 -0
  57. package/assets/esri/core/workers/chunks/a0208e35b217808777c4.js +1 -0
  58. package/assets/esri/core/workers/chunks/{f25bb204cf6727f6fdef.js → a0876a52a3c2ad849370.js} +1 -1
  59. package/assets/esri/core/workers/chunks/{7ad09ac5793e8d47b4b2.js → a4b970a841b3085500fc.js} +1 -1
  60. package/assets/esri/core/workers/chunks/aa5f36d7ed59c625ba78.js +1 -0
  61. package/assets/esri/core/workers/chunks/b045bffb4f2eb9203183.js +1 -0
  62. package/assets/esri/core/workers/chunks/b590402170ae289290d7.js +1 -0
  63. package/assets/esri/core/workers/chunks/b9935cc8e2bd4045058a.js +1 -0
  64. package/assets/esri/core/workers/chunks/{1a527c0740d9f4fa0791.js → bc547cf814d6703cef59.js} +1 -1
  65. package/assets/esri/core/workers/chunks/bcc097271f5cdf0a97a7.js +1 -0
  66. package/assets/esri/core/workers/chunks/bdc66ef2b6ed783047d5.js +1 -0
  67. package/assets/esri/core/workers/chunks/be1d2c3a61e6447fbbc7.js +1 -0
  68. package/assets/esri/core/workers/chunks/bf6ae205fbfbfcd1a0ee.js +1 -0
  69. package/assets/esri/core/workers/chunks/bfd1aef8ac795e1ce227.js +1 -0
  70. package/assets/esri/core/workers/chunks/c148ad0ea9258046ac1f.js +1 -0
  71. package/assets/esri/core/workers/chunks/{0f75c19d8e296a32e329.js → c2cd80b712f29e8cbb8d.js} +1 -1
  72. package/assets/esri/core/workers/chunks/cc0efa716b8414a44398.js +1 -0
  73. package/assets/esri/core/workers/chunks/{8f6833671c071b522923.js → cd66bd30f654fe571e57.js} +1 -1
  74. package/assets/esri/core/workers/chunks/cf41a66fb97c1076fb34.js +1 -0
  75. package/assets/esri/core/workers/chunks/cf8ce21dc649021e97f6.js +1 -0
  76. package/assets/esri/core/workers/chunks/d2f47f21ce0b0ab4da17.js +262 -0
  77. package/assets/esri/core/workers/chunks/d3be4d914fc99a1d686c.js +1 -0
  78. package/assets/esri/core/workers/chunks/dbd2bfcbf3e0f86f07b8.js +1 -0
  79. package/assets/esri/core/workers/chunks/{6675d56f49d07a97dc40.js → dd0c1cf921369e2bc48b.js} +1 -1
  80. package/assets/esri/core/workers/chunks/df18b0a653b328d8d052.js +1 -0
  81. package/assets/esri/core/workers/chunks/df54e741db40b308c2dd.js +2 -0
  82. package/assets/esri/core/workers/chunks/{89e09276086745aa21fa.js → e4e2f479c0c45ae1b2c3.js} +1 -1
  83. package/assets/esri/core/workers/chunks/e656fd5ecf9ac059a87b.js +1 -0
  84. package/assets/esri/core/workers/chunks/{58a7cdebc3d182c15ec6.js → e77df11aee136d64ff0f.js} +1 -1
  85. package/assets/esri/core/workers/chunks/{7a474ce61cf484df87b4.js → e80376832050a4b6d28a.js} +1 -1
  86. package/assets/esri/core/workers/chunks/{f75295cdd5e84eb97d5a.js → e8d65900eefff1152207.js} +1 -1
  87. package/assets/esri/core/workers/chunks/f116331c6eca937aac8e.js +1 -0
  88. package/assets/esri/core/workers/chunks/{3b837b512999e6ab24bc.js → f148666308071bdb185a.js} +1 -1
  89. package/assets/esri/core/workers/chunks/f23e995320674b32e142.js +1 -0
  90. package/assets/esri/core/workers/chunks/f334bf192dff5af10a70.js +1 -0
  91. package/assets/esri/core/workers/chunks/f76b1fc36f5606cac2c8.js +1 -0
  92. package/assets/esri/core/workers/chunks/{893c0d28a5bf3f9f29f1.js → f93facf47aba9b128fcc.js} +1 -1
  93. package/assets/esri/core/workers/chunks/fa1336b60278017d2525.js +1 -0
  94. package/assets/esri/core/workers/chunks/{c911f0b5bdd43b66b731.js → fa3faec65882c5b6f1a0.js} +1 -1
  95. package/assets/esri/core/workers/chunks/fccc34b86454c56f27ab.js +1 -0
  96. package/assets/esri/libs/parquet/pkg/bundle_bg.wasm +0 -0
  97. package/assets/esri/rest/knowledgeGraph/wasmInterface/arcgis-knowledge-client-core-simd.wasm +0 -0
  98. package/assets/esri/rest/knowledgeGraph/wasmInterface/arcgis-knowledge-client-core.wasm +0 -0
  99. package/assets/esri/themes/base/widgets/_BatchAttributeForm.scss +5 -1
  100. package/assets/esri/themes/dark/main.css +1 -1
  101. package/assets/esri/themes/light/main.css +1 -1
  102. package/assets/esri/themes/light/view.css +1 -1
  103. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis.json +1 -1
  104. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_en.json +1 -1
  105. package/chunks/{ComponentShader.glsl.js → Component.glsl.js} +11 -11
  106. package/chunks/GlobalIlluminationBlur.glsl.js +7 -7
  107. package/chunks/GlowBlur.glsl.js +5 -6
  108. package/chunks/LineMarker.glsl.js +27 -26
  109. package/chunks/MeasurementArrow.glsl.js +5 -4
  110. package/chunks/RibbonLine.glsl.js +1 -8
  111. package/chunks/Terrain.glsl.js +24 -26
  112. package/chunks/arcgis-knowledge-client-core-simd.js +1 -1
  113. package/chunks/arcgis-knowledge-client-core.js +1 -1
  114. package/chunks/bundle2.js +1 -1
  115. package/config.js +1 -1
  116. package/core/promiseUtils.d.ts +1 -1
  117. package/core/promiseUtils.js +1 -1
  118. package/core/units.js +1 -1
  119. package/form/types.d.ts +1 -1
  120. package/geometry/Mesh.d.ts +220 -95
  121. package/geometry/operators/support/projectionZScaling.js +1 -1
  122. package/geometry/support/MeshGeoreferencedVertexSpace.d.ts +35 -13
  123. package/geometry/support/MeshLocalVertexSpace.d.ts +32 -8
  124. package/geometry/support/MeshVertexAttributes.d.ts +6 -2
  125. package/geometry/support/heightModelInfoUtils.js +1 -1
  126. package/geometry/support/zscale.js +1 -1
  127. package/graphic/{AnnotationGraphicOrigin.d.ts → AnnotationFeatureGraphicOrigin.d.ts} +9 -9
  128. package/graphic/{AnnotationGraphicOrigin.js → AnnotationFeatureGraphicOrigin.js} +1 -1
  129. package/interfaces.d.ts +3 -3
  130. package/kernel.js +1 -1
  131. package/layers/{AnnotationLayer.d.ts → AnnotationFeatureLayer.d.ts} +24 -24
  132. package/layers/AnnotationFeatureLayer.js +2 -0
  133. package/layers/GaussianSplatLayer.d.ts +4 -1
  134. package/layers/graphics/data/QueryEngine.js +1 -1
  135. package/layers/graphics/data/queryUtils.js +1 -1
  136. package/layers/graphics/sources/parquet/ParquetFileStatistics.js +1 -1
  137. package/layers/graphics/sources/support/ParquetSourceWorker.js +1 -1
  138. package/layers/graphics/sources/support/parquetIdUtils.js +1 -1
  139. package/layers/save/featureLayerUtils.js +1 -1
  140. package/layers/support/AnnotationSublayer.d.ts +7 -7
  141. package/layers/support/FeatureEffect.d.ts +3 -2
  142. package/layers/support/arcgisLayers.js +1 -1
  143. package/layers/support/fetchService.js +1 -1
  144. package/layers/support/layerUtils.js +1 -1
  145. package/layers/support/layersLoader.js +1 -1
  146. package/layers/support/parquetUtils.js +1 -1
  147. package/layers/support/schemaValidator.js +1 -1
  148. package/layers/types.d.ts +1 -1
  149. package/networks/Network.js +1 -1
  150. package/networks/UtilityNetwork.js +1 -1
  151. package/networks/support/networkFieldUtils.js +1 -1
  152. package/package.json +2 -2
  153. package/portal/schemas/definitions.js +1 -1
  154. package/portal/schemas/gaussianSplatLayerItem.js +2 -0
  155. package/portal/schemas/integratedMesh3DTilesLayerItem.js +1 -1
  156. package/portal/support/loadUtils.js +1 -1
  157. package/renderers/support/types.d.ts +1 -1
  158. package/renderers/visualVariables/RotationVariable.d.ts +1 -16
  159. package/renderers/visualVariables/RotationVariable.js +1 -1
  160. package/rest/knowledgeGraph/ReplicaDefinition.d.ts +0 -2
  161. package/rest/knowledgeGraph/ServiceDefinition.d.ts +1 -1
  162. package/rest/knowledgeGraph/wasmInterface/replicaToWasmEncodedFactories.js +1 -1
  163. package/rest/knowledgeGraph/wasmInterface/wasmToReplicaFactories.js +1 -1
  164. package/rest/knowledgeGraphService.js +1 -1
  165. package/rest/networks/support/QueryAssociationsParameters.d.ts +2 -2
  166. package/rest/networks/support/SynthesizeAssociationGeometriesParameters.d.ts +2 -2
  167. package/rest/networks/support/TraceParameters.d.ts +2 -2
  168. package/rest/support/AttributeBinsQuery.js +1 -1
  169. package/rest/support/Query.js +1 -1
  170. package/rest/support/TopFeaturesQuery.js +1 -1
  171. package/support/revision.js +1 -1
  172. package/views/2d/engine/webgl/TextureManager.js +1 -1
  173. package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
  174. package/views/2d/engine/webgl/util/createMatcher.js +1 -1
  175. package/views/2d/layerViewModuleImportUtils.js +1 -1
  176. package/views/2d/layers/AnnotationFeatureLayerView2D.js +2 -0
  177. package/views/2d/layers/FeatureLikeLayerView2D.js +1 -1
  178. package/views/2d/layers/TileLayerView2D.js +1 -1
  179. package/views/2d/layers/features/sources/strategies/support/queryAdapters.js +1 -1
  180. package/views/2d/layers/support/annodime/annotationSchema.js +1 -1
  181. package/views/2d/types.d.ts +2 -2
  182. package/views/3d/analysis/LineOfSight/LineOfSightTool.js +1 -1
  183. package/views/3d/analysis/ShadowCast/ShadowCastTooltip.js +1 -1
  184. package/views/3d/analysis/Viewshed/ViewshedTool2.js +1 -1
  185. package/views/3d/layerViewModuleImportUtils.js +1 -1
  186. package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
  187. package/views/3d/layers/graphics/Graphics3DPolygonFillSymbolLayer.js +1 -1
  188. package/views/3d/support/GaussianSplatSortWorker.js +1 -1
  189. package/views/3d/support/GaussianSplatWorkerHandle.js +1 -1
  190. package/views/3d/support/gaussianSplatting/GaussianSplatDataStore.js +1 -1
  191. package/views/3d/support/gaussianSplatting/GaussianSplatOrderTexture.js +1 -1
  192. package/views/3d/support/gaussianSplatting/GaussianSplatTextureAtlas.js +1 -1
  193. package/views/3d/terrain/Tile.js +1 -1
  194. package/views/3d/terrain/isTerrainSurfaceLayer.js +1 -1
  195. package/views/3d/types.d.ts +1 -1
  196. package/views/3d/webgl-engine/collections/Component/Material/{ComponentShader.glsl.js → Component.glsl.js} +1 -1
  197. package/views/3d/webgl-engine/collections/Component/Material/ComponentTechnique.js +1 -1
  198. package/views/3d/webgl-engine/collections/Component/Material/ComponentTechniqueConfiguration.js +1 -1
  199. package/views/3d/webgl-engine/core/shaderLibrary/TextureBackedBuffer.glsl.js +7 -7
  200. package/views/3d/webgl-engine/core/shaderLibrary/TextureBackedBufferFields.glsl.js +29 -20
  201. package/views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js +1 -1
  202. package/views/3d/webgl-engine/core/shaderLibrary/util/DiscardOrAdjustAlpha.glsl.js +1 -1
  203. package/views/3d/webgl-engine/core/shaderLibrary/util/GaussianSplatTextureFetch.glsl.js +6 -8
  204. package/views/3d/webgl-engine/lib/Compositor.js +1 -1
  205. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  206. package/views/3d/webgl-engine/lib/TextureBackedBuffer/TexelFormatInfo.js +2 -0
  207. package/views/3d/webgl-engine/lib/TextureBackedBuffer/TextureBackedBufferFieldCreation.js +1 -1
  208. package/views/3d/webgl-engine/lib/TextureBackedBuffer/TextureBackedBufferLayout.js +1 -1
  209. package/views/3d/webgl-engine/lib/TextureBackedBuffer/TextureBuffer.js +1 -1
  210. package/views/3d/webgl-engine/materials/ColorMaterial.js +1 -1
  211. package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
  212. package/views/3d/webgl-engine/materials/PathTechniqueConfiguration.js +1 -1
  213. package/views/3d/webgl-engine/materials/WaterTechniqueConfiguration.js +1 -1
  214. package/views/3d/webgl-engine/shaders/CheckerBoardTechniqueConfiguration.js +1 -1
  215. package/views/3d/webgl-engine/shaders/ColorMaterialTechniqueConfiguration.js +1 -1
  216. package/views/3d/webgl-engine/shaders/DefaultMaterialTechniqueConfiguration.js +1 -1
  217. package/views/3d/webgl-engine/shaders/HUDMaterialTechniqueConfiguration.js +1 -1
  218. package/views/3d/webgl-engine/shaders/ImageMaterialTechniqueConfiguration.js +1 -1
  219. package/views/3d/webgl-engine/shaders/LineCalloutTechniqueConfiguration.js +1 -1
  220. package/views/3d/webgl-engine/shaders/LineMarker.glsl.js +1 -1
  221. package/views/3d/webgl-engine/shaders/LineMarkerTechniqueConfiguration.js +1 -1
  222. package/views/3d/webgl-engine/shaders/MeasurementArrow.glsl.js +1 -1
  223. package/views/3d/webgl-engine/shaders/MeasurementArrowTechniqueConfiguration.js +1 -1
  224. package/views/3d/webgl-engine/shaders/NativeLineTechniqueConfiguration.js +1 -1
  225. package/views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js +10 -10
  226. package/views/3d/webgl-engine/shaders/PatternTechniqueConfiguration.js +1 -1
  227. package/views/3d/webgl-engine/shaders/RibbonLineTechniqueConfiguration.js +1 -1
  228. package/views/3d/webgl-engine/shaders/ShadedColorMaterialTechniqueConfiguration.js +1 -1
  229. package/views/3d/webgl-engine/shaders/SlicePlaneMaterialTechniqueConfiguration.js +1 -1
  230. package/views/3d/webgl-engine/shaders/TerrainTechniqueConfiguration.js +1 -1
  231. package/views/3d/webgl-engine/shaders/alphaCutoff.glsl.js +1 -1
  232. package/views/SceneView.d.ts +1 -1
  233. package/views/layers/{AnnotationLayerView.d.ts → AnnotationFeatureLayerView.d.ts} +6 -6
  234. package/views/layers/FeatureLikeLayerView.d.ts +2 -2
  235. package/views/layers/FeatureLikeLayerView.js +1 -1
  236. package/webdoc/widgets/FloorFilter.d.ts +14 -1
  237. package/webdoc/widgets/FloorFilter.js +1 -1
  238. package/webscene/support/AlphaCutoff.js +1 -1
  239. package/widgets/AreaMeasurement2D/AreaMeasurement2DTool.js +1 -1
  240. package/widgets/BatchAttributeForm/BatchAttributeFormViewModel.d.ts +12 -4
  241. package/widgets/BatchAttributeForm/BatchAttributeFormViewModel.js +1 -1
  242. package/widgets/BatchAttributeForm/ReactiveGraphic.js +1 -1
  243. package/widgets/BatchAttributeForm/ValueChangeTransaction.js +2 -0
  244. package/widgets/BatchAttributeForm/VisibleElements.d.ts +8 -1
  245. package/widgets/BatchAttributeForm/VisibleElements.js +1 -1
  246. package/widgets/BatchAttributeForm/batchAttributeFormUtils.js +1 -1
  247. package/widgets/BatchAttributeForm/css.js +1 -1
  248. package/widgets/BatchAttributeForm/expressions/ExpressionsManager.js +1 -1
  249. package/widgets/BatchAttributeForm/expressions/ExpressionsModel.js +1 -1
  250. package/widgets/BatchAttributeForm/inputs/BatchFormInputs.d.ts +3 -0
  251. package/widgets/BatchAttributeForm/inputs/BatchFormInputs.js +1 -1
  252. package/widgets/BatchAttributeForm/inputs/FieldInput.js +1 -1
  253. package/widgets/BatchAttributeForm/inputs/GroupInput.js +1 -1
  254. package/widgets/BatchAttributeForm/inputs/InputBase.js +1 -1
  255. package/widgets/BatchAttributeForm/inputs/RelationshipElementInput.js +1 -1
  256. package/widgets/BatchAttributeForm/inputs/support/inputUtils.js +1 -1
  257. package/widgets/BatchAttributeForm/interfaceUtils.js +1 -1
  258. package/widgets/BatchAttributeForm/stringUtils.js +2 -0
  259. package/widgets/BatchAttributeForm/templates/support/createBatchFormTemplate.js +1 -1
  260. package/widgets/BatchAttributeForm/types.d.ts +19 -3
  261. package/widgets/BatchAttributeForm.js +1 -1
  262. package/widgets/Editor/AddAssociationWorkflow.js +1 -1
  263. package/widgets/Editor/AddAssociationWorkflowData.js +1 -1
  264. package/widgets/Editor/CreateFeaturesWorkflow.js +1 -1
  265. package/widgets/Editor/EditorViewModel.d.ts +1 -1
  266. package/widgets/Editor/EditorViewModel.js +1 -1
  267. package/widgets/Editor/MergeFeaturesWorkflow.d.ts +3 -3
  268. package/widgets/Editor/MergeFeaturesWorkflow.js +1 -1
  269. package/widgets/Editor/SplitFeatureWorkflow.d.ts +3 -3
  270. package/widgets/Editor/SplitFeatureWorkflow.js +1 -1
  271. package/widgets/Editor/UpdateFeatureWorkflow.js +1 -1
  272. package/widgets/Editor/UpdateFeaturesWorkflow.js +1 -1
  273. package/widgets/Editor/UpdateRecordWorkflow.js +1 -1
  274. package/widgets/Editor/UpdateRecordWorkflowData.js +1 -1
  275. package/widgets/Editor/UpdateWorkflow.js +1 -1
  276. package/widgets/Editor/components/UpdateFeaturePanelContent.js +1 -1
  277. package/widgets/Editor/support/SketchController.js +1 -1
  278. package/widgets/Editor/workflowUtils.js +1 -1
  279. package/widgets/Editor.js +1 -1
  280. package/widgets/FloorFilter/FloorFilterViewModel.d.ts +10 -0
  281. package/widgets/FloorFilter/FloorFilterViewModel.js +1 -1
  282. package/assets/esri/core/workers/chunks/07cc5743cb6a9fd68adb.js +0 -1
  283. package/assets/esri/core/workers/chunks/0bb159ba0226122465cf.js +0 -1
  284. package/assets/esri/core/workers/chunks/160e5b99f1097a473e6b.js +0 -1
  285. package/assets/esri/core/workers/chunks/17e68828ca6ff6912d3e.js +0 -1
  286. package/assets/esri/core/workers/chunks/1e340536d3c5f94920b5.js +0 -1
  287. package/assets/esri/core/workers/chunks/24810c36ae09bb4e83dc.js +0 -1
  288. package/assets/esri/core/workers/chunks/274b82cb183ddd0042f3.js +0 -1
  289. package/assets/esri/core/workers/chunks/297ae764445e6f73a5ea.js +0 -1
  290. package/assets/esri/core/workers/chunks/29aba121db7f00e0cf81.js +0 -1
  291. package/assets/esri/core/workers/chunks/2a3145a595d19391bb8a.js +0 -1
  292. package/assets/esri/core/workers/chunks/3297658ccd8d4b9ce733.js +0 -1
  293. package/assets/esri/core/workers/chunks/38ca59db0e8f45bd7811.js +0 -1
  294. package/assets/esri/core/workers/chunks/3c5534c576528c1921d2.js +0 -1
  295. package/assets/esri/core/workers/chunks/40b3cdf81c79bbc44527.js +0 -2
  296. package/assets/esri/core/workers/chunks/41f12eb7c9b7086528d5.js +0 -1
  297. package/assets/esri/core/workers/chunks/426156137f279d979ddd.js +0 -1
  298. package/assets/esri/core/workers/chunks/4714241189c13d0db897.js +0 -1
  299. package/assets/esri/core/workers/chunks/537c5dd4cd0a067199d1.js +0 -1
  300. package/assets/esri/core/workers/chunks/538537f9bc866d9caa75.js +0 -1
  301. package/assets/esri/core/workers/chunks/5437a1c05c1bd2175981.js +0 -1
  302. package/assets/esri/core/workers/chunks/58ac245ff7fb57c1004f.js +0 -1
  303. package/assets/esri/core/workers/chunks/5c7aff9604b4576a0e1d.js +0 -1
  304. package/assets/esri/core/workers/chunks/5d3ddbf94539cb4f493e.js +0 -1
  305. package/assets/esri/core/workers/chunks/5eb9fdb076488de9cd83.js +0 -1
  306. package/assets/esri/core/workers/chunks/603177137eb680afe371.js +0 -1
  307. package/assets/esri/core/workers/chunks/629099f05ca5c9ca1973.js +0 -1
  308. package/assets/esri/core/workers/chunks/62f78fa455d556008f6a.js +0 -1
  309. package/assets/esri/core/workers/chunks/686c51fd2144e132783e.js +0 -1
  310. package/assets/esri/core/workers/chunks/6f0341cfa4c68e6e60b3.js +0 -1
  311. package/assets/esri/core/workers/chunks/70229007d594536ba6a3.js +0 -1
  312. package/assets/esri/core/workers/chunks/7e89cb9ff615742e0894.js +0 -1
  313. package/assets/esri/core/workers/chunks/890b7a1153b7f65eba9a.js +0 -1
  314. package/assets/esri/core/workers/chunks/9660ae52fb3951a19e9c.js +0 -1
  315. package/assets/esri/core/workers/chunks/a4245bd4e67a428fd835.js +0 -1
  316. package/assets/esri/core/workers/chunks/ac33b10fe65f9e9e824f.js +0 -1
  317. package/assets/esri/core/workers/chunks/b5937ce657c1fff3864f.js +0 -1
  318. package/assets/esri/core/workers/chunks/b895674c0550826ecb28.js +0 -262
  319. package/assets/esri/core/workers/chunks/c3cf9e6e91f71c9cc5f3.js +0 -1
  320. package/assets/esri/core/workers/chunks/c80fc1b3048e8d58a1f8.js +0 -1
  321. package/assets/esri/core/workers/chunks/cc3e895cff019e811c07.js +0 -1
  322. package/assets/esri/core/workers/chunks/d122431f3b0b88dcb488.js +0 -1
  323. package/assets/esri/core/workers/chunks/d24e027bb8b2c09f25c8.js +0 -1
  324. package/assets/esri/core/workers/chunks/d2df8c328054dc6cb7b7.js +0 -1
  325. package/assets/esri/core/workers/chunks/d41caf20c26f80385265.js +0 -1
  326. package/assets/esri/core/workers/chunks/d468994822f9bc3d6279.js +0 -1
  327. package/assets/esri/core/workers/chunks/d63f532dd7d60ee8ef2c.js +0 -1
  328. package/assets/esri/core/workers/chunks/d64613209a9eb1eafb11.js +0 -1
  329. package/assets/esri/core/workers/chunks/d7be278aed1fb37ad5ec.js +0 -1
  330. package/assets/esri/core/workers/chunks/d8ec0afb2b91ccf32e55.js +0 -1
  331. package/assets/esri/core/workers/chunks/da1e8b338ab9fe9e0a8e.js +0 -1
  332. package/assets/esri/core/workers/chunks/dd920a6f6422fa213eba.js +0 -1
  333. package/assets/esri/core/workers/chunks/e279bcbe4f10e87bde6c.js +0 -1
  334. package/assets/esri/core/workers/chunks/e2de13810dce01b98520.js +0 -1
  335. package/assets/esri/core/workers/chunks/e5837e5ac6ef761f26a2.js +0 -1
  336. package/assets/esri/core/workers/chunks/e82488b9b3bb0c1dedb4.js +0 -1
  337. package/assets/esri/core/workers/chunks/f274a8e8c7ca4294e876.js +0 -1
  338. package/assets/esri/core/workers/chunks/f292c2c22a3822343118.js +0 -1
  339. package/assets/esri/core/workers/chunks/f4f642ddd4d5db7cbbb4.js +0 -1
  340. package/assets/esri/core/workers/chunks/f6d047358d14328f3622.js +0 -1
  341. package/assets/esri/core/workers/chunks/fb6605be0c5e36785543.js +0 -1
  342. package/assets/esri/core/workers/chunks/fd70a25ffdf2cc6c5be2.js +0 -1
  343. package/layers/AnnotationLayer.js +0 -2
  344. package/views/2d/layers/AnnotationLayerView2D.js +0 -2
  345. /package/assets/esri/core/workers/chunks/{9fee0110dc7fee4c95e2.js.LICENSE.txt → 854c320af09b6afc4b80.js.LICENSE.txt} +0 -0
  346. /package/assets/esri/core/workers/chunks/{40b3cdf81c79bbc44527.js.LICENSE.txt → df54e741db40b308c2dd.js.LICENSE.txt} +0 -0
  347. /package/views/layers/{AnnotationLayerView.js → AnnotationFeatureLayerView.js} +0 -0
@@ -4,27 +4,49 @@ import type { JSONSupport } from "../../core/JSONSupport.js";
4
4
  export interface MeshGeoreferencedVertexSpaceProperties extends Partial<Pick<MeshGeoreferencedVertexSpace, "origin">> {}
5
5
 
6
6
  /**
7
- * A mesh vertex space indicating that mesh vertices are either absolute georeferenced map coordinates or relative
8
- * offsets in map space to a fully georeferenced
9
- * origin. The map space is identified by the [spatial reference](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/#spatialReference) of
10
- * the mesh.
7
+ * Represents a [vertex space](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/#vertexSpace) that interprets
8
+ * [Mesh vertex positions](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/MeshVertexAttributes/#position) in relation to
9
+ * [Mesh.spatialReference](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/#spatialReference).
11
10
  *
12
- * The vertex space of a mesh allows users to specify how the coordinates of the mesh vertices are interpreted. Use the
13
- * georeferenced vertex space if the coordinates are already in the spatial reference of the mesh. The coordinates can
14
- * be relative to the [origin](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/MeshGeoreferencedVertexSpace/#origin) or absolute
15
- * coordinates if the origin is not defined.
11
+ * A vertex space is the [Mesh.vertexSpace](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/#vertexSpace) object that tells the SDK how to read the
12
+ * x, y, z positions stored in [Mesh.vertexAttributes.position](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/MeshVertexAttributes/#position).
13
+ * Use MeshGeoreferencedVertexSpace when those source numbers should be interpreted in map space, either as offsets
14
+ * from a placement point or as absolute coordinates in [Mesh.spatialReference](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/#spatialReference).
16
15
  *
17
- * See [mesh API](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/#mesh-api) for more details.
16
+ * This vertex space has two common workflows:
17
+ *
18
+ * - In a local [SceneView](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/) with a projected coordinate system, use a
19
+ * [vertex space origin](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/MeshGeoreferencedVertexSpace/#origin) for models from 3D modeling or CAD
20
+ * tools, whose positions are measured from the source model's own [0,0,0], or for data measured from an insertion
21
+ * point. The vertex space origin places that local [0,0,0] or insertion point in
22
+ * [Mesh.spatialReference](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/#spatialReference). Each source position is then an offset from the
23
+ * vertex space origin, using the units and directions of
24
+ * [Mesh.spatialReference](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/#spatialReference).
25
+ * - For source data already exported with absolute coordinates, use no vertex space origin. Each source position is
26
+ * already an absolute x, y, z location in [Mesh.spatialReference](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/#spatialReference).
27
+ *
28
+ * Use the same projected coordinate system for [Mesh.spatialReference](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/#spatialReference) and
29
+ * [SceneView.spatialReference](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/#spatialReference) when displaying or editing mesh graphics in a
30
+ * local scene. Do not use this vertex space with a
31
+ * [vertex space origin](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/MeshGeoreferencedVertexSpace/#origin) in WGS84 or CGCS2000 for
32
+ * meter-based model coordinates: longitude and latitude are angular units, so [10, 0, 0] is not ten meters east.
18
33
  *
19
34
  * @since 4.27
20
- * @see [Mesh](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/)
35
+ * @see [Mesh.vertexSpace](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/#vertexSpace)
36
+ * @see [MeshLocalVertexSpace](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/MeshLocalVertexSpace/)
21
37
  */
22
38
  export default class MeshGeoreferencedVertexSpace extends MeshGeoreferencedVertexSpaceSuperclass {
23
39
  constructor(properties?: MeshGeoreferencedVertexSpaceProperties);
24
40
  /**
25
- * Origin of the vertex space. These coordinates are interpreted in the spatial reference of the mesh using the vertex space.
26
- * If this is null, the coordinates are expected to be absolute. If not, the coordinates are expected to be deltas relative
27
- * to the origin.
41
+ * Optional coordinate used to place source position values that are offsets.
42
+ *
43
+ * With a vertex space origin, this [x, y, z] coordinate is interpreted in
44
+ * [Mesh.spatialReference](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/#spatialReference). Each source position in
45
+ * [Mesh.vertexAttributes.position](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/MeshVertexAttributes/#position) is then an offset from the
46
+ * vertex space's origin.
47
+ *
48
+ * Without a vertex space origin, each source position is already an absolute x, y, z location in
49
+ * [Mesh.spatialReference](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/#spatialReference).
28
50
  */
29
51
  accessor origin: readonly [
30
52
  number,
@@ -4,20 +4,44 @@ import type { JSONSupport } from "../../core/JSONSupport.js";
4
4
  export interface MeshLocalVertexSpaceProperties extends Partial<Pick<MeshLocalVertexSpace, "origin">> {}
5
5
 
6
6
  /**
7
- * A mesh vertex space that indicates mesh vertices exist in a plain cartesian space as often encountered in 3D
8
- * modeling and CAD applications. Georeferencing is done by using the coordinates in the
9
- * [local tangent plane](https://en.wikipedia.org/wiki/Local_tangent_plane_coordinates)
10
- * reference frame at the fully georeferenced [origin](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/MeshLocalVertexSpace/#origin)
11
- * of the vertex space.
7
+ * Represents a [vertex space](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/#vertexSpace) that interprets
8
+ * [Mesh vertex positions](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/MeshVertexAttributes/#position) as x, y, z values measured in meters
9
+ * from the source model's own [0,0,0].
12
10
  *
13
- * See [mesh API](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/#mesh-api) for details.
11
+ * A vertex space is the [Mesh.vertexSpace](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/#vertexSpace) object that tells the SDK how to read the
12
+ * x, y, z positions stored in [Mesh.vertexAttributes.position](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/MeshVertexAttributes/#position).
13
+ * Use MeshLocalVertexSpace when those positions describe the shape of a source model relative to the model's own
14
+ * [0,0,0], and you want to place that model in a global [SceneView](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/).
15
+ *
16
+ * The [vertex space's origin](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/MeshLocalVertexSpace/#origin) is the [x, y, z] coordinate where the
17
+ * source model's [0,0,0] lands. The origin values use the coordinate system identified by
18
+ * [Mesh.spatialReference](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/#spatialReference). For example, with WGS84 the origin contains longitude,
19
+ * latitude, and elevation values; with Web Mercator it contains Web Mercator x, y, and z values.
20
+ *
21
+ * In a global scene with WGS84, CGCS2000, or Web Mercator, the SDK places the model on a
22
+ * [local tangent plane](https://en.wikipedia.org/wiki/Local_tangent_plane_coordinates) at the origin. The x-axis points
23
+ * east, the y-axis points north, and the z-axis points up.
24
+ *
25
+ * The word local refers to local coordinates from the source model. It does not mean this vertex space is used for
26
+ * a [local](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/#viewingMode) SceneView. For local scenes, use
27
+ * [MeshGeoreferencedVertexSpace](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/MeshGeoreferencedVertexSpace/) and a
28
+ * [Mesh.spatialReference](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/#spatialReference) that matches
29
+ * [SceneView.spatialReference](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/#spatialReference).
14
30
  *
15
31
  * @since 4.27
16
- * @see [Mesh](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/)
32
+ * @see [Mesh.vertexSpace](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/#vertexSpace)
33
+ * @see [MeshGeoreferencedVertexSpace](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/MeshGeoreferencedVertexSpace/)
17
34
  */
18
35
  export default class MeshLocalVertexSpace extends MeshLocalVertexSpaceSuperclass {
19
36
  constructor(properties?: MeshLocalVertexSpaceProperties);
20
- /** Origin of the vertex space. These coordinates are interpreted in the spatial reference of the mesh using the vertex space. */
37
+ /**
38
+ * Coordinates of the place where the source model's local [0,0,0] is anchored.
39
+ *
40
+ * The array is [x, y, z] in the coordinate system identified by the
41
+ * [Mesh.spatialReference](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/#spatialReference) property of the Mesh geometry that uses this vertex
42
+ * space. The vertex position [0,0,0] coincides with the vertex space's origin before any
43
+ * [Mesh.transform](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/#transform) is applied.
44
+ */
21
45
  accessor origin: readonly [
22
46
  number,
23
47
  number,
@@ -19,8 +19,12 @@ export default class MeshVertexAttributes extends MeshVertexAttributesSuperclass
19
19
  */
20
20
  accessor normal: MeshVertexNormal | null | undefined;
21
21
  /**
22
- * A flat array of vertex positions. Vertex positions have x, y and z coordinates and they should be in the spatial
23
- * reference system of the geometry.
22
+ * A flat array of vertex position values.
23
+ *
24
+ * Every three numbers define one x, y, z position. The [Mesh.vertexSpace](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/#vertexSpace) property
25
+ * of the `Mesh` geometry that owns these attributes defines how the SDK interprets those numbers: as local model
26
+ * coordinates, as offsets from an origin, or as absolute coordinates in the coordinate system identified by
27
+ * [Mesh.spatialReference](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/#spatialReference).
24
28
  *
25
29
  * @since 5.0
26
30
  */
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import e from"../../core/Error.js";import t from"../HeightModelInfo.js";import{parse as n}from"../../layers/support/arcgisLayerUrl.js";function i(n,i){if(!n)return null;if(!o(n))return new e("webscene:unsupported-height-model-info","The vertical coordinate system of the scene is not supported",{heightModelInfo:n});const a=n.heightUnit,r=t.deriveUnitFromSR(n,i).heightUnit;return a!==r?new e("webscene:incompatible-height-unit",`The vertical units of the scene (${a}) must match the horizontal units of the scene (${r})`,{verticalUnit:a,horizontalUnit:r}):null}function a(n,i,a){const o=c(n),l=i,h=r(o,l,a);if(o){const i=t.deriveUnitFromSR(o,n.spatialReference).heightUnit;if(!a&&i!==o.heightUnit){const t=new e("layerview:unmatched-height-unit",`The vertical units of the layer must match the horizontal units (${i})`,{horizontalUnit:i});return new e("layerview:unsupported-height-model-info","The vertical coordinate system of the layer is not supported",{heightModelInfo:o,error:t})}}if(!s(n)||4===h)return new e("layerview:unsupported-height-model-info","The vertical coordinate system of the layer is not supported",{heightModelInfo:o});switch(h){case 1:{const t=o?.heightUnit||"unknown",n=l?.heightUnit||"unknown",i=new e("layerview:incompatible-height-unit",`The vertical units of the layer (${t}) must match the vertical units of the scene (${n})`,{layerUnit:t,sceneUnit:n});return new e("layerview:incompatible-height-model-info","The vertical coordinate system of the layer is incompatible with the scene",{layerHeightModelInfo:o,sceneHeightModelInfo:l,error:i})}case 2:{const t=o?.heightModel||"unknown",n=l?.heightModel||"unknown",i=new e("layerview:incompatible-height-model",`The height model of the layer (${t}) must match the height model of the scene (${n})`,{layerHeightModel:t,sceneHeightModel:n});return new e("layerview:incompatible-height-model-info","The vertical coordinate system of the layer is incompatible with the scene",{layerHeightModelInfo:o,sceneHeightModelInfo:l,error:i})}case 3:{const t=o?.vertCRS||"unknown",n=l?.vertCRS||"unknown",i=new e("layerview:incompatible-vertical-datum",`The vertical datum of the layer (${t}) must match the vertical datum of the scene (${n})`,{layerDatum:t,sceneDatum:n});return new e("layerview:incompatible-height-model-info","The vertical coordinate system of the layer is incompatible with the scene",{layerHeightModelInfo:o,sceneHeightModelInfo:l,error:i})}}return null}function r(e,t,n){if(!o(e)||!o(t))return 4;if(null==e||null==t)return 0;if(!n&&e.heightUnit!==t.heightUnit)return 1;if(e.heightModel!==t.heightModel)return 2;switch(e.heightModel){case"gravity-related-height":return 0;case"ellipsoidal":return e.vertCRS===t.vertCRS?0:3;default:return 4}}function o(e){return null==e||null!=e.heightModel&&null!=e.heightUnit}function s(e){return"heightModelInfo"in e&&null!=e.heightModelInfo||null!=e.spatialReference||!u(e)}function c(e){if("integrated-mesh-3dtiles"===e.type||"gaussian-splat"===e.type)return null;const i=e.url?n(e.url):void 0,a=e.spatialReference?.vcsWkid;return!(null==a&&null!=i&&"ImageServer"===i.serverType)&&l(e)&&e.heightModelInfo?e.heightModelInfo:u(e)?t.deriveUnitFromSR(f,e.spatialReference):null}function l(e){return"heightModelInfo"in e}function h(e){if("unknown"===e.type||!("capabilities"in e))return!1;switch(e.type){case"annotation":case"catalog":case"catalog-footprint":case"csv":case"feature":case"dimension-feature":case"geojson":case"subtype-group":case"ogc-feature":case"oriented-imagery":case"wfs":case"knowledge-graph-sublayer":return!0;default:return!1}}function u(e){return h(e)?!!(e.capabilities&&e.capabilities.data&&e.capabilities.data.supportsZ):d(e)}function g(e){return null!=e.layers||d(e)||h(e)||l(e)}function d(e){switch(e.type){case"annotation":case"building-scene":case"elevation":case"gaussian-splat":case"integrated-mesh":case"integrated-mesh-3dtiles":case"point-cloud":case"scene":case"voxel":return!0;case"base-dynamic":case"base-elevation":case"base-tile":case"bing-maps":case"catalog":case"catalog-footprint":case"catalog-dynamic-group":case"csv":case"dimension":case"dimension-feature":case"geojson":case"feature":case"subtype-group":case"geo-rss":case"graphics":case"group":case"imagery":case"imagery-tile":case"kml":case"knowledge-graph":case"link-chart":case"knowledge-graph-sublayer":case"line-of-sight":case"map-image":case"map-notes":case"media":case"ogc-feature":case"open-street-map":case"oriented-imagery":case"parquet":case"route":case"stream":case"tile":case"unknown":case"unsupported":case"vector-tile":case"video":case"viewshed":case"wcs":case"web-tile":case"wfs":case"wms":case"wmts":case null:return!1}return!1}const f=new t({heightModel:"gravity-related-height"});export{c as deriveHeightModelInfoFromLayer,r as isCompatible,a as rejectLayerError,g as supportsHeightModelInfo,i as validateWebSceneError};
2
+ import e from"../../core/Error.js";import t from"../HeightModelInfo.js";import{parse as n}from"../../layers/support/arcgisLayerUrl.js";function i(n,i){if(!n)return null;if(!o(n))return new e("webscene:unsupported-height-model-info","The vertical coordinate system of the scene is not supported",{heightModelInfo:n});const a=n.heightUnit,r=t.deriveUnitFromSR(n,i).heightUnit;return a!==r?new e("webscene:incompatible-height-unit",`The vertical units of the scene (${a}) must match the horizontal units of the scene (${r})`,{verticalUnit:a,horizontalUnit:r}):null}function a(n,i,a){const o=c(n),l=i,h=r(o,l,a);if(o){const i=t.deriveUnitFromSR(o,n.spatialReference).heightUnit;if(!a&&i!==o.heightUnit){const t=new e("layerview:unmatched-height-unit",`The vertical units of the layer must match the horizontal units (${i})`,{horizontalUnit:i});return new e("layerview:unsupported-height-model-info","The vertical coordinate system of the layer is not supported",{heightModelInfo:o,error:t})}}if(!s(n)||4===h)return new e("layerview:unsupported-height-model-info","The vertical coordinate system of the layer is not supported",{heightModelInfo:o});switch(h){case 1:{const t=o?.heightUnit||"unknown",n=l?.heightUnit||"unknown",i=new e("layerview:incompatible-height-unit",`The vertical units of the layer (${t}) must match the vertical units of the scene (${n})`,{layerUnit:t,sceneUnit:n});return new e("layerview:incompatible-height-model-info","The vertical coordinate system of the layer is incompatible with the scene",{layerHeightModelInfo:o,sceneHeightModelInfo:l,error:i})}case 2:{const t=o?.heightModel||"unknown",n=l?.heightModel||"unknown",i=new e("layerview:incompatible-height-model",`The height model of the layer (${t}) must match the height model of the scene (${n})`,{layerHeightModel:t,sceneHeightModel:n});return new e("layerview:incompatible-height-model-info","The vertical coordinate system of the layer is incompatible with the scene",{layerHeightModelInfo:o,sceneHeightModelInfo:l,error:i})}case 3:{const t=o?.vertCRS||"unknown",n=l?.vertCRS||"unknown",i=new e("layerview:incompatible-vertical-datum",`The vertical datum of the layer (${t}) must match the vertical datum of the scene (${n})`,{layerDatum:t,sceneDatum:n});return new e("layerview:incompatible-height-model-info","The vertical coordinate system of the layer is incompatible with the scene",{layerHeightModelInfo:o,sceneHeightModelInfo:l,error:i})}}return null}function r(e,t,n){if(!o(e)||!o(t))return 4;if(null==e||null==t)return 0;if(!n&&e.heightUnit!==t.heightUnit)return 1;if(e.heightModel!==t.heightModel)return 2;switch(e.heightModel){case"gravity-related-height":return 0;case"ellipsoidal":return e.vertCRS===t.vertCRS?0:3;default:return 4}}function o(e){return null==e||null!=e.heightModel&&null!=e.heightUnit}function s(e){return"heightModelInfo"in e&&null!=e.heightModelInfo||null!=e.spatialReference||!u(e)}function c(e){if("integrated-mesh-3dtiles"===e.type||"gaussian-splat"===e.type)return null;const i=e.url?n(e.url):void 0,a=e.spatialReference?.vcsWkid;return!(null==a&&null!=i&&"ImageServer"===i.serverType)&&l(e)&&e.heightModelInfo?e.heightModelInfo:u(e)?t.deriveUnitFromSR(f,e.spatialReference):null}function l(e){return"heightModelInfo"in e}function h(e){if("unknown"===e.type||!("capabilities"in e))return!1;switch(e.type){case"annotation-feature":case"catalog":case"catalog-footprint":case"csv":case"feature":case"dimension-feature":case"geojson":case"subtype-group":case"ogc-feature":case"oriented-imagery":case"wfs":case"knowledge-graph-sublayer":return!0;default:return!1}}function u(e){return h(e)?!!(e.capabilities&&e.capabilities.data&&e.capabilities.data.supportsZ):d(e)}function g(e){return null!=e.layers||d(e)||h(e)||l(e)}function d(e){switch(e.type){case"annotation-feature":case"building-scene":case"elevation":case"gaussian-splat":case"integrated-mesh":case"integrated-mesh-3dtiles":case"point-cloud":case"scene":case"voxel":return!0;case"base-dynamic":case"base-elevation":case"base-tile":case"bing-maps":case"catalog":case"catalog-footprint":case"catalog-dynamic-group":case"csv":case"dimension":case"dimension-feature":case"geojson":case"feature":case"subtype-group":case"geo-rss":case"graphics":case"group":case"imagery":case"imagery-tile":case"kml":case"knowledge-graph":case"link-chart":case"knowledge-graph-sublayer":case"line-of-sight":case"map-image":case"map-notes":case"media":case"ogc-feature":case"open-street-map":case"oriented-imagery":case"parquet":case"route":case"stream":case"tile":case"unknown":case"unsupported":case"vector-tile":case"video":case"viewshed":case"wcs":case"web-tile":case"wfs":case"wms":case"wmts":case null:return!1}return!1}const f=new t({heightModel:"gravity-related-height"});export{c as deriveHeightModelInfoFromLayer,r as isCompatible,a as rejectLayerError,g as supportsHeightModelInfo,i as validateWebSceneError};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{getMetersPerVerticalUnitForSR as o}from"../../core/units.js";import{isSphericalPCPF as n}from"../ellipsoidUtils.js";import{equals as t}from"./spatialReferenceUtils.js";import{getEndpoint as e}from"./curves/curveUtils.js";function r(o,n,t){const e=i(n,t);if(1!==e)switch(o){case"point":case"esriGeometryPoint":return o=>s(o,e);case"polyline":case"esriGeometryPolyline":return o=>c(o,e);case"polygon":case"esriGeometryPolygon":return o=>f(o,e);case"multipoint":case"esriGeometryMultipoint":return o=>l(o,e);case"extent":case"esriGeometryEnvelope":return o=>u(o,e);default:return}}function i(e,r){if(null==e||null==r||r.vcsWkid||t(e,r)||n(e)||n(r))return 1;return o(e)/o(r)}function s(o,n){null!=o?.z&&(o.z*=n)}function f(o,n){if(o){if(o.curveRings)for(const t of o.curveRings)for(const o of t){const t=e(o);t.length>2&&(t[2]*=n)}if(o.rings)for(const t of o.rings)for(const o of t)o.length>2&&(o[2]*=n)}}function c(o,n){if(o){if(o.curvePaths)for(const t of o.curvePaths)for(const o of t){const t=e(o);t.length>2&&(t[2]*=n)}if(o.paths)for(const t of o.paths)for(const o of t)o.length>2&&(o[2]*=n)}}function l(o,n){if(o)for(const t of o.points)t.length>2&&(t[2]*=n)}function u(o,n){o&&null!=o.zmin&&null!=o.zmax&&(o.zmin*=n,o.zmax*=n)}export{r as getGeometryZScaler,i as zScale};
2
+ import{getMetersPerVerticalUnitForSR as o}from"../../core/units.js";import{isSphericalPCPF as n}from"../ellipsoidUtils.js";import{equals as t}from"./spatialReferenceUtils.js";import{getEndpoint as e}from"./curves/curveUtils.js";function r(o,n,t){const e=i(n,t);if(1!==e)switch(o){case"point":case"esriGeometryPoint":return o=>s(o,e);case"polyline":case"esriGeometryPolyline":return o=>c(o,e);case"polygon":case"esriGeometryPolygon":return o=>f(o,e);case"multipoint":case"esriGeometryMultipoint":return o=>l(o,e);case"extent":case"esriGeometryEnvelope":return o=>u(o,e);default:return}}function i(e,r){if(null==e||null==r||t(e,r)||n(e)||n(r))return 1;return o(e)/o(r)}function s(o,n){null!=o?.z&&(o.z*=n)}function f(o,n){if(o){if(o.curveRings)for(const t of o.curveRings)for(const o of t){const t=e(o);t.length>2&&(t[2]*=n)}if(o.rings)for(const t of o.rings)for(const o of t)o.length>2&&(o[2]*=n)}}function c(o,n){if(o){if(o.curvePaths)for(const t of o.curvePaths)for(const o of t){const t=e(o);t.length>2&&(t[2]*=n)}if(o.paths)for(const t of o.paths)for(const o of t)o.length>2&&(o[2]*=n)}}function l(o,n){if(o)for(const t of o.points)t.length>2&&(t[2]*=n)}function u(o,n){o&&null!=o.zmin&&null!=o.zmax&&(o.zmin*=n,o.zmax*=n)}export{r as getGeometryZScaler,i as zScale};
@@ -1,15 +1,15 @@
1
1
  import type GraphicOrigin from "./GraphicOrigin.js";
2
- import type AnnotationLayer from "../layers/AnnotationLayer.js";
2
+ import type AnnotationFeatureLayer from "../layers/AnnotationFeatureLayer.js";
3
3
 
4
4
  /**
5
- * Provides information about the [AnnotationLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/AnnotationLayer/) from which a graphic originates.
5
+ * Provides information about the [AnnotationFeatureLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/AnnotationFeatureLayer/) from which a graphic originates.
6
6
  * The [origin](https://developers.arcgis.com/javascript/latest/references/core/Graphic/#origin) information may be available when a graphic is returned from methods such as
7
- * [hitTest()](https://developers.arcgis.com/javascript/latest/references/core/views/MapView/#hitTest) or [queryFeatures()](https://developers.arcgis.com/javascript/latest/references/core/layers/AnnotationLayer/#queryFeatures).
7
+ * [hitTest()](https://developers.arcgis.com/javascript/latest/references/core/views/MapView/#hitTest) or [queryFeatures()](https://developers.arcgis.com/javascript/latest/references/core/layers/AnnotationFeatureLayer/#queryFeatures).
8
8
  *
9
9
  * @since 5.1
10
10
  * @see [MapView.hitTest()](https://developers.arcgis.com/javascript/latest/references/core/views/MapView/#hitTest)
11
11
  * @see [SceneView.hitTest()](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/#hitTest)
12
- * @see [AnnotationLayer.queryFeatures()](https://developers.arcgis.com/javascript/latest/references/core/layers/AnnotationLayer/#queryFeatures)
12
+ * @see [AnnotationFeatureLayer.queryFeatures()](https://developers.arcgis.com/javascript/latest/references/core/layers/AnnotationFeatureLayer/#queryFeatures)
13
13
  * @example
14
14
  * // get a point from view's click event
15
15
  * view.on("click", async (event) => {
@@ -21,14 +21,14 @@ import type AnnotationLayer from "../layers/AnnotationLayer.js";
21
21
  * }
22
22
  * });
23
23
  */
24
- export default class AnnotationGraphicOrigin extends GraphicOrigin {
25
- constructor(layer: AnnotationLayer);
24
+ export default class AnnotationFeatureGraphicOrigin extends GraphicOrigin {
25
+ constructor(layer: AnnotationFeatureLayer);
26
26
  /** A layer from which a graphic originates. */
27
- readonly layer: AnnotationLayer;
27
+ readonly layer: AnnotationFeatureLayer;
28
28
  /**
29
29
  * Indicates the type of layer the graphic originated from.
30
30
  *
31
- * @default "annotation"
31
+ * @default "annotation-feature"
32
32
  */
33
- readonly type: AnnotationLayer["type"];
33
+ readonly type: AnnotationFeatureLayer["type"];
34
34
  }
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{idFieldsProviderSymbol as r}from"./getIdFieldsProvider.js";import{popupProviderSymbol as t}from"./getPopupProvider.js";import{getSliceableContainerSymbol as e}from"./getSliceableContainer.js";import i from"./GraphicOrigin.js";class o extends i{get[t](){return this.layer}get[r](){return this.layer}get[e](){return this.layer}constructor(r){super(),this.type="annotation",this.layer=r}get id(){return this.layer.id}}export{o as default};
2
+ import{idFieldsProviderSymbol as r}from"./getIdFieldsProvider.js";import{popupProviderSymbol as t}from"./getPopupProvider.js";import{getSliceableContainerSymbol as e}from"./getSliceableContainer.js";import i from"./GraphicOrigin.js";class o extends i{get[t](){return this.layer}get[r](){return this.layer}get[e](){return this.layer}constructor(r){super(),this.type="annotation-feature",this.layer=r}get id(){return this.layer.id}}export{o as default};
package/interfaces.d.ts CHANGED
@@ -3375,7 +3375,7 @@ declare namespace __esri {
3375
3375
  export type LocationFunction = import("./intl/t9n.js").LocationFunction;
3376
3376
 
3377
3377
  /** @deprecated since 5.0. Refactor using \@arcgis/codemod */
3378
- export type AnnotationLayerProperties = import("./layers/AnnotationLayer.js").AnnotationLayerProperties;
3378
+ export type AnnotationLayerProperties = import("./layers/AnnotationFeatureLayer.js").AnnotationFeatureLayerProperties;
3379
3379
 
3380
3380
  /** @deprecated since 5.0. Refactor using \@arcgis/codemod */
3381
3381
  export type BaseDynamicLayerProperties = import("./layers/BaseDynamicLayer.js").BaseDynamicLayerProperties;
@@ -12251,8 +12251,8 @@ declare namespace __esri {
12251
12251
  export const SnappingOptions: typeof import("./views/interactive/snapping/SnappingOptions.js").default;
12252
12252
 
12253
12253
  /** @deprecated since 5.0. Refactor using \@arcgis/codemod */
12254
- export type AnnotationLayerView = import("./views/layers/AnnotationLayerView.js").default;
12255
- export const AnnotationLayerView: typeof import("./views/layers/AnnotationLayerView.js").default;
12254
+ export type AnnotationFeatureLayerView = import("./views/layers/AnnotationFeatureLayerView.js").default;
12255
+ export const AnnotationFeatureLayerView: typeof import("./views/layers/AnnotationFeatureLayerView.js").default;
12256
12256
 
12257
12257
  /** @deprecated since 5.0. Refactor using \@arcgis/codemod */
12258
12258
  export type BuildingComponentSublayerViewProperties = import("./views/layers/BuildingComponentSublayerView.js").BuildingComponentSublayerViewProperties;
package/kernel.js CHANGED
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import has from"./core/has.js";import{addQueryParameter as o}from"./core/urlUtils.js";export{buildDate,commitHash as revision}from"./support/revision.js";Symbol.dispose??=Symbol("Symbol.dispose"),Symbol.asyncDispose??=Symbol("Symbol.asyncDispose");const e="5.2";let s,r=e;function i(o){s=o}function t(e){const r=s?.findCredential(e);return r?.token?o(e,"token",r.token):e}r="5.2.0-next.12",has("host-webworker")||globalThis.$arcgis||Object.defineProperty(globalThis,"$arcgis",{configurable:!1,enumerable:!0,writable:!1,value:{}}),has("host-webworker");export{t as addTokenParameter,r as fullVersion,s as id,i as setId,e as version};
2
+ import has from"./core/has.js";import{addQueryParameter as o}from"./core/urlUtils.js";export{buildDate,commitHash as revision}from"./support/revision.js";Symbol.dispose??=Symbol("Symbol.dispose"),Symbol.asyncDispose??=Symbol("Symbol.asyncDispose");const e="5.2";let s,r=e;function i(o){s=o}function t(e){const r=s?.findCredential(e);return r?.token?o(e,"token",r.token):e}r="5.2.0-next.14",has("host-webworker")||globalThis.$arcgis||Object.defineProperty(globalThis,"$arcgis",{configurable:!1,enumerable:!0,writable:!1,value:{}}),has("host-webworker");export{t as addTokenParameter,r as fullVersion,s as id,i as setId,e as version};
@@ -23,77 +23,77 @@ import type { CreatePopupTemplateOptions } from "../support/popupUtils.js";
23
23
  import type { ObjectId } from "../views/types.js";
24
24
  import type { PopupTemplateProperties } from "../PopupTemplate.js";
25
25
 
26
- export interface AnnotationLayerProperties extends LayerProperties, APIKeyMixinProperties, CustomParametersMixinProperties, PortalLayerProperties, OperationalLayerProperties, RefreshableLayerProperties, ScaleRangeLayerProperties, TemporalLayerProperties, BlendLayerProperties, FeatureLayerBaseProperties, Partial<Pick<AnnotationLayer, "outFields" | "popupEnabled">> {
26
+ export interface AnnotationFeatureLayerProperties extends LayerProperties, APIKeyMixinProperties, CustomParametersMixinProperties, PortalLayerProperties, OperationalLayerProperties, RefreshableLayerProperties, ScaleRangeLayerProperties, TemporalLayerProperties, BlendLayerProperties, FeatureLayerBaseProperties, Partial<Pick<AnnotationFeatureLayer, "outFields" | "popupEnabled">> {
27
27
  /**
28
28
  * The popup template for the layer. When set on the layer, the `popupTemplate`
29
29
  * allows users to access attributes and display their values in the
30
30
  * view's Popup when a feature is selected
31
31
  * using text and/or charts. See the [PopupTemplate sample](https://developers.arcgis.com/javascript/latest/sample-code/intro-popuptemplate/)
32
32
  * for an example of how [PopupTemplate](https://developers.arcgis.com/javascript/latest/references/core/PopupTemplate/) interacts with an
33
- * [AnnotationLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/AnnotationLayer/).
33
+ * [AnnotationFeatureLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/AnnotationFeatureLayer/).
34
34
  *
35
35
  * A default popup template is automatically used if no `popupTemplate` has been defined when
36
36
  * [Popup.defaultPopupTemplateEnabled](https://developers.arcgis.com/javascript/latest/references/core/widgets/Popup/#defaultPopupTemplateEnabled)
37
37
  * is set to `true`.
38
38
  *
39
- * @see [createPopupTemplate()](https://developers.arcgis.com/javascript/latest/references/core/layers/AnnotationLayer/#createPopupTemplate)
39
+ * @see [createPopupTemplate()](https://developers.arcgis.com/javascript/latest/references/core/layers/AnnotationFeatureLayer/#createPopupTemplate)
40
40
  * @see [SceneView.popup](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/#popup)
41
41
  * @see [View2D.popup](https://developers.arcgis.com/javascript/latest/references/core/views/View2D/#popup)
42
42
  */
43
43
  popupTemplate?: PopupTemplateProperties | null;
44
44
  }
45
45
 
46
- export interface AnnotationLayerEvents extends EditBusLayerEvents, RefreshableLayerEvents, LayerEvents {}
46
+ export interface AnnotationFeatureLayerEvents extends EditBusLayerEvents, RefreshableLayerEvents, LayerEvents {}
47
47
 
48
- export default class AnnotationLayer extends AnnotationLayerSuperclass {
48
+ export default class AnnotationFeatureLayer extends AnnotationFeatureLayerSuperclass {
49
49
  /**
50
50
  * @deprecated
51
51
  * Do not directly reference this property.
52
52
  * Use EventNames and EventTypes helpers from \@arcgis/core/Evented
53
53
  */
54
- "@eventTypes": AnnotationLayerEvents;
54
+ "@eventTypes": AnnotationFeatureLayerEvents;
55
55
  /**
56
56
  * @example
57
57
  * // Create an annotation layer from a feature service layer URL.
58
58
  * ```js
59
- * const layer = new AnnotationLayer({
59
+ * const layer = new AnnotationFeatureLayer({
60
60
  * url: "https://sampleserver6.arcgisonline.com/arcgis/rest/services/RiversAnnotation/FeatureServer/0"
61
61
  * });
62
62
  * ```
63
63
  */
64
- constructor(properties?: AnnotationLayerProperties);
64
+ constructor(properties?: AnnotationFeatureLayerProperties);
65
65
  /**
66
66
  * An array of fields in the layer.
67
67
  *
68
- * @see [objectIdField](https://developers.arcgis.com/javascript/latest/references/core/layers/AnnotationLayer/#objectIdField)
68
+ * @see [objectIdField](https://developers.arcgis.com/javascript/latest/references/core/layers/AnnotationFeatureLayer/#objectIdField)
69
69
  */
70
70
  get fields(): Field[];
71
71
  /**
72
72
  * An array of field names from the service to include with each feature.
73
73
  * To fetch the values from all fields in the layer, use `["*"]`.
74
74
  * Set this property to include the fields that will be used for client-side
75
- * [queries](https://developers.arcgis.com/javascript/latest/references/core/views/layers/AnnotationLayerView/#queryFeatures)
75
+ * [queries](https://developers.arcgis.com/javascript/latest/references/core/views/layers/AnnotationFeatureLayerView/#queryFeatures)
76
76
  * if the fields are not part of required fields.
77
77
  *
78
- * @see [AnnotationLayerView.availableFields](https://developers.arcgis.com/javascript/latest/references/core/views/layers/AnnotationLayerView/#availableFields)
78
+ * @see [AnnotationFeatureLayerView.availableFields](https://developers.arcgis.com/javascript/latest/references/core/views/layers/AnnotationFeatureLayerView/#availableFields)
79
79
  * @see [fieldUtils](https://developers.arcgis.com/javascript/latest/references/core/layers/support/fieldUtils/)
80
80
  * @example
81
81
  * // Includes all fields from the service in the layer
82
82
  * layer.outFields = ["*"];
83
83
  * @example
84
84
  * // Get the specified fields from the service in the layer.
85
- * // These fields will be added to AnnotationLayerView.availableFields.
85
+ * // These fields will be added to AnnotationFeatureLayerView.availableFields.
86
86
  * // Use these fields for client-side filtering and querying.
87
87
  * layer.outFields = ["NAME", "POP_2010", "FIPS", "AREA"];
88
88
  */
89
89
  accessor outFields: string[] | null | undefined;
90
90
  /**
91
- * Indicates whether to display popups when features in the layer are clicked. The layer needs to have a [popupTemplate](https://developers.arcgis.com/javascript/latest/references/core/layers/AnnotationLayer/#popupTemplate) to define what
91
+ * Indicates whether to display popups when features in the layer are clicked. The layer needs to have a [popupTemplate](https://developers.arcgis.com/javascript/latest/references/core/layers/AnnotationFeatureLayer/#popupTemplate) to define what
92
92
  * information should be displayed in the popup. Alternatively, a default popup template may be automatically used if
93
93
  * [Popup.defaultPopupTemplateEnabled](https://developers.arcgis.com/javascript/latest/references/core/widgets/Popup/#defaultPopupTemplateEnabled) is set to `true`.
94
94
  *
95
95
  * @default true
96
- * @see [createPopupTemplate()](https://developers.arcgis.com/javascript/latest/references/core/layers/AnnotationLayer/#createPopupTemplate)
96
+ * @see [createPopupTemplate()](https://developers.arcgis.com/javascript/latest/references/core/layers/AnnotationFeatureLayer/#createPopupTemplate)
97
97
  * @see [SceneView.popup](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/#popup)
98
98
  * @see [View2D.popup](https://developers.arcgis.com/javascript/latest/references/core/views/View2D/#popup)
99
99
  */
@@ -104,20 +104,20 @@ export default class AnnotationLayer extends AnnotationLayerSuperclass {
104
104
  * view's Popup when a feature is selected
105
105
  * using text and/or charts. See the [PopupTemplate sample](https://developers.arcgis.com/javascript/latest/sample-code/intro-popuptemplate/)
106
106
  * for an example of how [PopupTemplate](https://developers.arcgis.com/javascript/latest/references/core/PopupTemplate/) interacts with an
107
- * [AnnotationLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/AnnotationLayer/).
107
+ * [AnnotationFeatureLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/AnnotationFeatureLayer/).
108
108
  *
109
109
  * A default popup template is automatically used if no `popupTemplate` has been defined when
110
110
  * [Popup.defaultPopupTemplateEnabled](https://developers.arcgis.com/javascript/latest/references/core/widgets/Popup/#defaultPopupTemplateEnabled)
111
111
  * is set to `true`.
112
112
  *
113
- * @see [createPopupTemplate()](https://developers.arcgis.com/javascript/latest/references/core/layers/AnnotationLayer/#createPopupTemplate)
113
+ * @see [createPopupTemplate()](https://developers.arcgis.com/javascript/latest/references/core/layers/AnnotationFeatureLayer/#createPopupTemplate)
114
114
  * @see [SceneView.popup](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/#popup)
115
115
  * @see [View2D.popup](https://developers.arcgis.com/javascript/latest/references/core/views/View2D/#popup)
116
116
  */
117
117
  get popupTemplate(): PopupTemplate | null | undefined;
118
118
  set popupTemplate(value: PopupTemplateProperties | null | undefined);
119
119
  /** The layer type provides a convenient way to check the type of the layer without the need to import specific layer modules. */
120
- get type(): "annotation";
120
+ get type(): "annotation-feature";
121
121
  /**
122
122
  * Creates a popup template for the layer, populated with all the fields of the layer.
123
123
  *
@@ -142,7 +142,7 @@ export default class AnnotationLayer extends AnnotationLayerSuperclass {
142
142
  * >
143
143
  * > To query for the extent of features/graphics available to or visible in the
144
144
  * > [View](https://developers.arcgis.com/javascript/latest/references/core/views/View/) on the client rather than making a server-side query, you must use the
145
- * > [AnnotationLayerView.queryExtent()](https://developers.arcgis.com/javascript/latest/references/core/views/layers/AnnotationLayerView/#queryExtent) method.
145
+ * > [AnnotationFeatureLayerView.queryExtent()](https://developers.arcgis.com/javascript/latest/references/core/views/layers/AnnotationFeatureLayerView/#queryExtent) method.
146
146
  *
147
147
  * @param query - Specifies the attributes and spatial
148
148
  * filter of the query. If no parameters are specified, then the extent and count of all features
@@ -176,7 +176,7 @@ export default class AnnotationLayer extends AnnotationLayerSuperclass {
176
176
  * >
177
177
  * > To query for the count of features/graphics available to or visible in the [View](https://developers.arcgis.com/javascript/latest/references/core/views/View/)
178
178
  * > on the client rather than making a server-side query, you must use the
179
- * > [AnnotationLayerView.queryFeatureCount()](https://developers.arcgis.com/javascript/latest/references/core/views/layers/AnnotationLayerView/#queryFeatureCount) method.
179
+ * > [AnnotationFeatureLayerView.queryFeatureCount()](https://developers.arcgis.com/javascript/latest/references/core/views/layers/AnnotationFeatureLayerView/#queryFeatureCount) method.
180
180
  *
181
181
  * @param query - Specifies the attributes and
182
182
  * spatial filter of the query. If no parameters are specified, the total number of features
@@ -205,12 +205,12 @@ export default class AnnotationLayer extends AnnotationLayerSuperclass {
205
205
  * > **Notes**
206
206
  * >
207
207
  * > To query features available to or visible in the [View](https://developers.arcgis.com/javascript/latest/references/core/views/View/) on the client rather than making a server-side query, you must
208
- * > use the [AnnotationLayerView.queryFeatures()](https://developers.arcgis.com/javascript/latest/references/core/views/layers/AnnotationLayerView/#queryFeatures) method.
208
+ * > use the [AnnotationFeatureLayerView.queryFeatures()](https://developers.arcgis.com/javascript/latest/references/core/views/layers/AnnotationFeatureLayerView/#queryFeatures) method.
209
209
  * >
210
210
  * > When querying a service with z-values and no [vertical coordinate system](https://doc.esri.com/en/arcgis-pro/latest/help/mapping/properties/vertical-coordinate-systems.html) information,
211
211
  * > the z-values will automatically be converted to match the [Query.outSpatialReference](https://developers.arcgis.com/javascript/latest/references/core/rest/support/Query/#outSpatialReference) units.
212
212
  * > Example: The service has a horizontal spatial reference using `feet` units and the query is made with `outSpatialReference`
213
- * > based on `meter` units, then [queryFeatures()](https://developers.arcgis.com/javascript/latest/references/core/layers/AnnotationLayer/#queryFeatures) automatically converts the values from `feet` to `meter` units.
213
+ * > based on `meter` units, then [queryFeatures()](https://developers.arcgis.com/javascript/latest/references/core/layers/AnnotationFeatureLayer/#queryFeatures) automatically converts the values from `feet` to `meter` units.
214
214
  *
215
215
  * @param query - Specifies the attributes and spatial
216
216
  * filter of the query. If no parameters are specified, then all features satisfying the layer's
@@ -228,7 +228,7 @@ export default class AnnotationLayer extends AnnotationLayerSuperclass {
228
228
  * console.log(results.features);
229
229
  * });
230
230
  * @example
231
- * const layer = new AnnotationLayer({
231
+ * const layer = new AnnotationFeatureLayer({
232
232
  * url: fsUrl // points to a Feature Service layer url
233
233
  * });
234
234
  *
@@ -252,7 +252,7 @@ export default class AnnotationLayer extends AnnotationLayerSuperclass {
252
252
  * >
253
253
  * > To query for ObjectIDs of features available to or visible in the [View](https://developers.arcgis.com/javascript/latest/references/core/views/View/) on the client rather
254
254
  * > than making a server-side query, you must use the
255
- * > [AnnotationLayerView.queryObjectIds()](https://developers.arcgis.com/javascript/latest/references/core/views/layers/AnnotationLayerView/#queryObjectIds) method.
255
+ * > [AnnotationFeatureLayerView.queryObjectIds()](https://developers.arcgis.com/javascript/latest/references/core/views/layers/AnnotationFeatureLayerView/#queryObjectIds) method.
256
256
  *
257
257
  * @param query - Specifies the attributes and spatial
258
258
  * filter of the query. If no parameters are specified, then the Object IDs of all features
@@ -270,4 +270,4 @@ export default class AnnotationLayer extends AnnotationLayerSuperclass {
270
270
  */
271
271
  queryObjectIds(query?: QueryProperties | null | undefined, options?: RequestOptions): Promise<ObjectId[]>;
272
272
  }
273
- declare const AnnotationLayerSuperclass: typeof Layer & typeof ClonableMixin & typeof APIKeyMixin & typeof CustomParametersMixin & typeof MultiOriginJSONSupportMixin & typeof PortalLayer & typeof OperationalLayer & typeof RefreshableLayer & typeof ScaleRangeLayer & typeof TemporalLayer & typeof BlendLayer & typeof FeatureLayerBase
273
+ declare const AnnotationFeatureLayerSuperclass: typeof Layer & typeof ClonableMixin & typeof APIKeyMixin & typeof CustomParametersMixin & typeof MultiOriginJSONSupportMixin & typeof PortalLayer & typeof OperationalLayer & typeof RefreshableLayer & typeof ScaleRangeLayer & typeof TemporalLayer & typeof BlendLayer & typeof FeatureLayerBase
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
+ import{__addDisposableResource as e,__disposeResources as r,__decorate as t}from"tslib";import s from"../PopupTemplate.js";import i from"../request.js";import{ClonableMixin as o}from"../core/Clonable.js";import a from"../core/Collection.js";import n from"../core/Error.js";import{disposable as l,makeHandle as p}from"../core/handleUtils.js";import{MultiOriginJSONSupportMixin as u}from"../core/MultiOriginJSONSupport.js";import{throwIfAbortError as d,whenOrAbort as m,onAbort as y}from"../core/promiseUtils.js";import{watch as h,sync as c}from"../core/reactiveUtils.js";import{join as f}from"../core/urlUtils.js";import{property as b,subclass as g}from"../core/accessorSupport/decorators.js";import v from"../graphic/AnnotationFeatureGraphicOrigin.js";import j from"./Layer.js";import{APIKeyMixin as E}from"./mixins/APIKeyMixin.js";import{ArcGISService as S}from"./mixins/ArcGISService.js";import{BlendLayer as L}from"./mixins/BlendLayer.js";import{CustomParametersMixin as w}from"./mixins/CustomParametersMixin.js";import{FeatureLayerBase as I}from"./mixins/FeatureLayerBase.js";import{OperationalLayer as P}from"./mixins/OperationalLayer.js";import{PortalLayer as x}from"./mixins/PortalLayer.js";import{RefreshableLayer as O}from"./mixins/RefreshableLayer.js";import{ScaleRangeLayer as F}from"./mixins/ScaleRangeLayer.js";import{TemporalLayer as T}from"./mixins/TemporalLayer.js";import A from"./support/AnnotationSublayer.js";import{barrierWeight as _,popupEnabled as q}from"./support/commonProperties.js";import{ensureLayerCredential as C,createQuery as U,getFieldDomain as D,hasDataChanged as G}from"./support/featureLayerUtils.js";import{defineFieldProperties as N}from"./support/fieldProperties.js";import{fixTimeInfoFields as Q}from"./support/fieldUtils.js";import{serviceSupportsSpatialReference as H}from"./support/versionUtils.js";import J from"../rest/support/Query.js";import{createPopupTemplate as R}from"../support/popupUtils.js";import{reader as M}from"../core/accessorSupport/decorators/reader.js";const k="annotation-feature-layer",B=N(),K=a.ofType(A);let V=class extends(I(L(T(F(O(S(P(x(u(w(E(o(j))))))))))))){constructor(e){super(e),this.barrierWeight="high",this.fields=null,this.fieldsIndex=null,this.graphicOrigin=new v(this),this.operationalLayerType="ArcGISAnnotationLayer",this.outFields=null,this.popupEnabled=!0,this.popupTemplate=null,this.source=null,this.supportedSourceTypes=new Set(["Annotation Layer"]),this.type="annotation-feature",this._dataElementPromise=null,this.addHandles(h(()=>this.sublayers,(e,r)=>this._handleSublayersChange(e,r),c))}destroy(){this.source?.destroy()}load(e){const r=e?.signal,t=this.loadFromPortal({supportedTypes:["Feature Service"]},e).catch(d).then(async()=>{if(this.url&&null==this.layerId&&/FeatureServer|MapServer\/*$/i.test(this.url)){const e=await this._fetchFirstValidLayerId(r);null!=e&&(this.layerId=e)}if(!this.url)throw new n(`${k}:missing-url`,"AnnotationFeatureLayer must be created with a url");return this.initLayerProperties(await this.createGraphicsSource(r))}).then(()=>C(this,"load",e));return this.addResolvingPromise(t),Promise.resolve(this)}get editingEnabled(){return this._isOverridden("editingEnabled")?this._get("editingEnabled"):this.loaded&&null!=this.capabilities&&this.capabilities.operations.supportsEditing&&this.userHasEditingPrivileges}set editingEnabled(e){this._overrideIfSome("editingEnabled",e)}get effectiveEditingEnabled(){return!1}get defaultPopupTemplate(){return this.createPopupTemplate()}readSublayers(e,r){const t=new K(r.subtypes.map(({code:e,name:r})=>new A({subtypeCode:e,title:r})).reverse());if(this.visibleLayers){const e=new Set(this.visibleLayers);t.forEach(r=>{r.visible=e.has(r.subtypeCode)})}return t}get visibleLayers(){return this.sublayers?Array.from(new Set(this.sublayers?.toArray().filter(e=>e.visible).map(e=>e.subtypeCode).sort((e,r)=>e-r)??null)):this._get("visibleLayers")??null}set visibleLayers(e){this._set("visibleLayers",e)}createPopupTemplate(e){return R(this,e)}async createGraphicsSource(t){const s={stack:[],error:void 0,hasError:!1};try{const{default:r}=await m(import("./graphics/sources/FeatureLayerSource.js"),t),i=new r({layer:this,supportedSourceTypes:this.supportedSourceTypes});e(s,l(y(t,()=>i.cancelLoad())??p()),!1);return await i.load({signal:t}),i}catch(i){s.error=i,s.hasError=!0}finally{r(s)}}createQuery(){const e=U(this);return e.where=this.definitionExpression||"1=1",e}async fetchDataElement(e){if(this._dataElementPromise)return this._dataElementPromise;if(!this.url)throw new Error("InternalError: A URL is required to retrieve the data element for this layer.");const r=f(this.url,"queryDataElements"),t={f:"json",layers:this.layerId};return this._dataElementPromise=i(r,{...e,responseType:"json",query:t}).then(e=>{const r=e.data.layerDataElements,t=this.layerId,s=r.find(e=>e.layerId===t);if(!s)throw new n("fetchDataElement:not-available","A data element for this layer could not be retrieved.");return s.dataElement}),this._dataElementPromise}getFieldDomain(e,r){return D(this,e,r,this.getField(e)?.domain??null)}async queryFeatures(e,r){const t=await this.load(),s=await t.source.queryFeatures(J.from(e)??t.createQuery(),r),i=this.graphicOrigin;if(s?.features)for(const o of s.features)o.layer=o.sourceLayer=t,o.origin=i;return s}async queryObjectIds(e,r){const t=await this.load();return t.source.queryObjectIds(J.from(e)??t.createQuery(),r)}async queryFeatureCount(e,r){const t=await this.load();return t.source.queryFeatureCount(J.from(e)??t.createQuery(),r)}async queryExtent(e,r){const t=await this.load();return t.source.queryExtent(J.from(e)??t.createQuery(),r)}serviceSupportsSpatialReference(e){return this.loaded&&H(this,e)}async initLayerProperties(e){this._set("source",e),e.sourceJSON&&(this.sourceJSON=e.sourceJSON,this.read(e.sourceJSON,{origin:"service",portalItem:this.portalItem,portal:this.portalItem?.portal,url:this.parsedUrl})),Q(this.timeInfo,this.fieldsIndex)}async hasDataChanged(){return G(this)}_fetchFirstValidLayerId(e){return i(this.url??"",{query:{f:"json",...this.customParameters,token:this.apiKey},responseType:"json",signal:e}).then(e=>{const r=e.data;if(!r)return;this.applyPreferredHost(r);const t=[...r.layers||[],...r.tables||[]];return t.find(({type:e})=>!e||this.supportedSourceTypes.has(e))?.id})}_handleSublayersChange(e,r){r&&(r.forEach(e=>{e.parent=null}),this.removeHandles("sublayers-owner")),e&&(e.forEach(e=>{e.parent=this}),this.addHandles([e.on("after-add",({item:e})=>{e.parent=this}),e.on("after-remove",({item:e})=>{e.parent=null})],"sublayers-owner"))}};t([b(_)],V.prototype,"barrierWeight",void 0),t([b({json:{write:!0}})],V.prototype,"editingEnabled",null),t([b({readOnly:!0})],V.prototype,"effectiveEditingEnabled",null),t([b({...B.fields,readOnly:!0,json:{read:!1,origins:{service:{read:!0}}}})],V.prototype,"fields",void 0),t([b(B.fieldsIndex)],V.prototype,"fieldsIndex",void 0),t([b({readOnly:!0,clonable:!1})],V.prototype,"graphicOrigin",void 0),t([b({type:["ArcGISAnnotationLayer"]})],V.prototype,"operationalLayerType",void 0),t([b(B.outFields)],V.prototype,"outFields",void 0),t([b(q)],V.prototype,"popupEnabled",void 0),t([b({type:s,json:{name:"popupInfo",write:!0}})],V.prototype,"popupTemplate",void 0),t([b({readOnly:!0})],V.prototype,"defaultPopupTemplate",null),t([b({clonable:!1,readOnly:!0})],V.prototype,"source",void 0),t([b({type:K})],V.prototype,"sublayers",void 0),t([M("service","sublayers",["subtypes"])],V.prototype,"readSublayers",null),t([b({json:{read:!1},value:"annotation-feature",readOnly:!0})],V.prototype,"type",void 0),t([b({type:[Number],json:{write:{ignoreOrigin:!0}}})],V.prototype,"visibleLayers",null),V=t([g("esri.layers.AnnotationFeatureLayer")],V);const W=V;export{W as default};
@@ -63,11 +63,14 @@ export interface GaussianSplatLayerProperties extends LayerProperties, APIKeyMix
63
63
  * Gaussian splats are optimized during a training process. When rendered together, Gaussian splats blend to form a smooth,
64
64
  * photorealistic 3D representation.
65
65
  *
66
+ * Unlike mesh-based representations, Gaussian Splat layers represent surfaces using a large set of semi-transparent 3D Gaussians. Depending on the source data and reconstruction, the resulting surface may contain minor outliers or holes. These artifacts are often not visually prominent, but can affect analytical tools.
67
+ *
66
68
  * > [!WARNING]
67
69
  * >
68
70
  * > **Known Limitations**
69
71
  * >
70
- * > * Currently, Elevation Profile, Viewshed, Line of Sight, Slice and Volume Measurement are not supported.
72
+ * > * Currently, Elevation Profile, Viewshed, Line of Sight and Volume Measurement are not supported.
73
+ * > * When using the [Slice component](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-slice/), the slice plane will, contrary to the behavior described in [`tiltEnabled`](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-slice/#tiltEnabled), not automatically align to the underlying surface of a Gaussian Splat layer due to the absence of surface normals.
71
74
  * > * Gaussian splat layers do not cast or receive shadows.
72
75
  * > * Gaussian splat layers are not guaranteed to always draw correctly in a local scene using WGS84 as spatial reference
73
76
  * > (WKID 4326).
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{indexOf as e,PositionHint as t}from"../../../core/arrayUtils.js";import{toConst as i}from"../../../core/compilerUtils.js";import r from"../../../core/Error.js";import"../../../core/has.js";import{clone as s}from"../../../core/lang.js";import{removeMaybe as a,destroyMaybe as n}from"../../../core/maybe.js";import{signalFromSignalOrOptions as l,throwIfAborted as o}from"../../../core/promiseUtils.js";import{getMetersPerUnitForSR as u}from"../../../core/units.js";import{isSerializable as c}from"../../../core/support/jsonUtils.js";import{isLoaded as y}from"../../../geometry/projectionUtils.js";import{set as h,create as d,expandWithAABB as m,negativeInfinity as f}from"../../../geometry/support/aaBoundingBox.js";import{fromValues as p,create as x}from"../../../geometry/support/aaBoundingRect.js";import{getBoundsXY as g}from"../../../geometry/support/boundsUtils.js";import{isExtent as _,isPolygon as F}from"../../../geometry/support/jsonTypeUtils.js";import{fromJSON as w}from"../../../geometry/support/jsonUtils.js";import{normalizeCentralMeridian as Q}from"../../../geometry/support/normalizeUtils.js";import{equals as S,isValid as R}from"../../../geometry/support/spatialReferenceUtils.js";import{convertFromGeometry as I}from"../featureConversionUtils.js";import{getWhereClause as j}from"./attributeSupport.js";import{getGeometry as E,cleanFromGeometryEngine as b}from"./geometryUtils.js";import{checkProjectionSupport as T,project as A,projectMany as v}from"./projectionSupport.js";import{QueryEngineCache as G}from"./QueryEngineCache.js";import{queryCapabilities as k}from"./QueryEngineCapabilities.js";import{QueryEngineResult as C}from"./QueryEngineResult.js";import{queryEngineEmptyResult as O,normalizeAttributeBinsQuery as P,normalizeQueryLike as q,normalizeQuery as z}from"./queryUtils.js";import{validateAttributeBinsQuery as U,validateQuery as B,validateStatisticsQuery as M}from"./queryValidationUtils.js";import{getSpatialQueryOperator as H,canQueryWithRBush as Z}from"./spatialQuerySupport.js";import{getTimeExtent as J,getTimeOperator as L}from"./timeSupport.js";import N from"../../support/FieldsIndex.js";import{ImmediateTask as V}from"../../../views/support/Scheduler.js";const D="unsupported-query";class K{constructor(e,t=null,i,r,s){this.attributes=e,this.geometry=i,this.centroid=r,this.filterFlags=s,this.groupId=-1,this.displayId=t}}class W{constructor(e){this._changeHandle=null,this.capabilities={query:k},this.geometryType=e.geometryType,this.hasM=!!e.hasM,this.hasZ=!!e.hasZ,this.spatialReference=e.spatialReference,this.definitionExpression=e.definitionExpression,this.featureStore=e.featureStore,this.aggregateAdapter=e.aggregateAdapter,this._cache=e.cache??new G,this.timeInfo=e.timeInfo,this.featureIdInfo=e.featureIdInfo,this._changeHandle=this.featureStore.events.on("changed",()=>this._clearCache()),this.fieldsIndex=c(e.fieldsIndex)?e.fieldsIndex:N.fromJSON(e.fieldsIndex),!e.availableFields||1===e.availableFields.length&&"*"===e.availableFields[0]?this.availableFields=new Set(this.fieldsIndex.fields.map(e=>e.name)):this.availableFields=new Set(e.availableFields.map(e=>this.fieldsIndex.get(e)?.name).filter(e=>null!=e)),e.scheduler&&e.priority?this._frameTask=e.scheduler.registerTask(e.priority):this._frameTask=V}destroy(){this._changeHandle=a(this._changeHandle),this._frameTask=a(this._frameTask),this._clearCache(),n(this._cache)}get featureAdapter(){return this.featureStore.featureAdapter}async executeQuery(e,t){const i=l(t);return await this._frameTask.scheduleGenerator(()=>this._executeQueryFeatureSet(e),i)}async executeQueryForCount(e={},t){const i=l(t);return await this._frameTask.scheduleGenerator(()=>this._executeQueryForCount(e),i)}async executeQueryForExtent(e,t){const i=l(t);return await this._frameTask.scheduleGenerator(()=>this._executeQueryForExtent(e),i)}async executeQueryForIds(e,t){return Array.from(await this.executeQueryForIdSet(e,t))}async executeQueryForIdSet(e,t){const i=l(t);return await this._frameTask.scheduleGenerator(()=>this._executeQueryForIdSet(e),i)}async executeQueryForLatestObservations(e,t){const i=l(t);if(!this.timeInfo?.trackIdField)throw new r(D,"Missing timeInfo or timeInfo.trackIdField",{query:e,timeInfo:this.timeInfo});return await this._frameTask.scheduleGenerator(()=>this._executeQueryForLatestObservations(e),i)}async executeQueryForOpaqueFeatures(e,t){const i=l(t);return(await this._frameTask.scheduleGenerator(()=>this._executeQuery(e,{}),i)).items}async executeAttributeBinsQuery(e,t){const i=l(t);return e=s(e),await this._frameTask.scheduleGenerator(()=>this._executeAttributeBinsQuery(e),i)}async executeQueryForSummaryStatistics(e={},t,i){const r=l(i);return await this._frameTask.scheduleGenerator(()=>this._executeQueryForSummaryStatistics(e,t),r)}async executeQueryForUniqueValues(e={},t,i){const r=l(i);return await this._frameTask.scheduleGenerator(()=>this._executeQueryForUniqueValues(e,t),r)}async executeQueryForClassBreaks(e={},t,i){const r=l(i);return await this._frameTask.scheduleGenerator(()=>this._executeQueryForClassBreaks(e,t),r)}async executeQueryForHistogram(e={},t,i){const r=l(i);return await this._frameTask.scheduleGenerator(()=>this._executeQueryForHistogram(e,t),r)}async executeQueryForSnapping(e,t){const i=l(t);return await this._frameTask.scheduleGenerator(()=>this._executeQueryForSnapping(e,i),i)}async fetchRecomputedExtents(e){const t=l(e);this._timeExtentPromise||=J(this.timeInfo,this.featureStore);const[i,r]=await Promise.all([this._getFullExtent(),this._timeExtentPromise]);return o(t),{fullExtent:i,timeExtent:r}}_clearCache(){this._cache.clear(),this._allFeaturesPromise=null,this._timeExtentPromise=null,this._fullExtentPromise=null}async*_executeQueryFeatureSet(e){try{const t=yield*this._executeQuery(e,{});return yield,await t.createQueryResponse()}catch(t){if(t!==O)throw t;return await new C([],e,this).createQueryResponse()}}async*_executeQueryForCount(e){try{const t=yield*this._executeQuery(e,{returnGeometry:!1,returnCentroid:!1,outSR:null});return yield,t.createQueryResponseForCount()}catch(t){if(t!==O)throw t;return 0}}async*_executeQueryForExtent(e){const t=e.outSR;try{const i=yield*this._executeQuery(e,{returnGeometry:!0,returnCentroid:!1,outSR:null});yield;const r=i.size;if(!r)return{count:0,extent:null};const s=await this._getBounds(i.items,i.spatialReference,t??this.spatialReference);return yield,{count:r,extent:s}}catch(i){if(i===O)return{count:0,extent:null};throw i}}async*_executeQueryForIdSet(e){try{const t=yield*this._executeQuery(e,{returnGeometry:!0,returnCentroid:!1,outSR:null});yield;const i=t.items,r=new Set;for(const e of i)r.add(t.featureAdapter.getObjectId(e));return r}catch(t){if(t===O)return new Set;throw t}}async*_executeQueryForLatestObservations(e){try{const t=yield*this._executeQuery(e,{});return yield,this._filterLatest(t),yield,await t.createQueryResponse()}catch(t){if(t!==O)throw t;return await new C([],e,this).createQueryResponse()}}async*_executeAttributeBinsQuery(e){let t;try{e=await P(e,this.definitionExpression,this.spatialReference),yield,e=await U(e,{availableFields:this.availableFields,fieldsIndex:this.fieldsIndex,geometryType:this.geometryType,spatialReference:this.spatialReference}),yield;const i=yield*this._executeSceneFilterQuery(e);yield,t=yield*this._executeGeometryQuery(e,i),yield,this._executeAggregateIdsQuery(t),yield,this._executeObjectIdsQuery(t),yield,this._executeTimeQuery(t),yield,this._executeAttributesQuery(t),yield}catch(i){if(i!==O)throw i;t=new C([],e,this)}return await t.createQueryBinsResponse(e)}async*_executeQueryForSummaryStatistics(e={},t){const{field:i,normalizationField:r,valueExpression:s}=t,a=yield*this._executeQueryForStatistics(e,{field:i,normalizationField:r,valueExpression:s});return yield,await a.createSummaryStatisticsResponse(t)}async*_executeQueryForUniqueValues(e={},t){const{field:i,field2:r,field3:s,valueExpression:a}=t,n=yield*this._executeQueryForStatistics(e,{field:i,field2:r,field3:s,valueExpression:a});return yield,await n.createUniqueValuesResponse(t)}async*_executeQueryForClassBreaks(e,t){const{field:i,normalizationField:r,valueExpression:s}=t,a=yield*this._executeQueryForStatistics(e,{field:i,normalizationField:r,valueExpression:s});return yield,await a.createClassBreaksResponse(t)}async*_executeQueryForHistogram(e,t){const{field:i,normalizationField:r,valueExpression:s}=t,a=yield*this._executeQueryForStatistics(e,{field:i,normalizationField:r,valueExpression:s});return yield,await a.createHistogramResponse(t)}async*_executeQueryForSnapping(e,t){const{point:i,distance:r,returnEdge:a,vertexMode:n}=e;if(!a&&"none"===n)return{candidates:[]};let l=s(e.query);l=await q(l,this.definitionExpression,this.spatialReference),yield,l=await B(l,{availableFields:this.availableFields,fieldsIndex:this.fieldsIndex,geometryType:this.geometryType,spatialReference:this.spatialReference}),yield;const o=!S(i.spatialReference,this.spatialReference);o&&(await T(i.spatialReference,this.spatialReference),yield);const u="number"==typeof r?r:r.x,c="number"==typeof r?r:r.y,y={xmin:i.x-u,xmax:i.x+u,ymin:i.y-c,ymax:i.y+c,spatialReference:i.spatialReference},h=o?A(y,this.spatialReference):y;if(!h)return{candidates:[]};const d=(await Q(w(i),null,{signal:t}))[0];yield;const m=(await Q(w(h),null,{signal:t}))[0];if(yield,null==d||null==m)return{candidates:[]};const f=await this._searchFeatures(X(m.toJSON()));yield;const p=new C(f,l,this);this._executeObjectIdsQuery(p),yield,this._executeTimeQuery(p),yield,this._executeAttributesQuery(p),yield,yield*this._executeGeometryQueryForSnapping(p),yield;const x=d.toJSON(),g=o?A(x,this.spatialReference):x,_=o?Math.max(h.xmax-h.xmin,h.ymax-h.ymin)/2:r;return p.createSnappingResponse({...e,point:g,distance:_},l.returnZ,i.spatialReference)}async _getBounds(e,t,i){const r=h(d(),f);return await this.featureStore.forEachBounds(e,e=>m(r,e)),Y(r,t,i,this.spatialReference,this.hasZ)}_getFullExtent(){return this._fullExtentPromise||="getFullExtent"in this.featureStore&&this.featureStore.getFullExtent?Promise.resolve(this.featureStore.getFullExtent(this.spatialReference)):this._getAllFeatures().then(e=>this._getBounds(e,this.spatialReference,this.spatialReference)),this._fullExtentPromise}async _getAllFeaturesQueryEngineResult(e){return new C(await this._getAllFeatures(),e,this)}async _getAllFeatures(){if(null==this._allFeaturesPromise){const e=[];this._allFeaturesPromise=(async()=>await this.featureStore.forEach(t=>e.push(t)))().then(()=>i(e))}const e=this._allFeaturesPromise,t=await e;return e===this._allFeaturesPromise?t.slice():this._getAllFeatures()}async*_executeQuery(e,t){e=s(e),e=await z(e,this.definitionExpression,this.spatialReference),yield,e=await B(e,{availableFields:this.availableFields,fieldsIndex:this.fieldsIndex,geometryType:this.geometryType,spatialReference:this.spatialReference}),yield,e={...e,...t};const i=yield*this._executeSceneFilterQuery(e);yield;const r=yield*this._executeGeometryQuery(e,i);return yield,this._executeAggregateIdsQuery(r),yield,this._executeObjectIdsQuery(r),yield,this._executeTimeQuery(r),yield,this._executeAttributesQuery(r),r}async*_executeSceneFilterQuery(e){if(null==e.sceneFilter)return null;const{outSR:t,returnGeometry:i,returnCentroid:r}=e,s=this.featureStore.featureSpatialReference,a=e.sceneFilter.geometry,n=null==s||S(s,a.spatialReference)?a:A(a,s);if(!n)return null;const l=i||r,o=R(t)&&!S(this.spatialReference,t)&&l?async e=>this._project(e,t):e=>e;yield;const u=this.featureAdapter,c=await this._searchFeatures(X(n));yield;if("disjoint"===e.sceneFilter.spatialRelationship){if(!c.length)return null;const t=new Set;for(const e of c)t.add(u.getObjectId(e));const i=await this._getAllFeatures();yield;const r=await H("esriSpatialRelDisjoint",n,this.geometryType);yield;const s=e=>!t.has(u.getObjectId(e))||r(u.getGeometry(e)),a=yield*this._runSpatialFilter(i,s);yield;const l=new C(a,e,this);return await o(l)}if(!c.length)return new C([],e,this);if(this._canExecuteSinglePass(n,e))return await o(new C(c,e,this));const y=await H("esriSpatialRelContains",n,this.geometryType);yield;const h=yield*this._runSpatialFilter(c,e=>y(u.getGeometry(e)));return yield,await o(new C(h,e,this))}async*_executeGeometryQuery(i,r){if(null!=r&&0===r.items.length)return r;const{geometry:s,outSR:a,returnGeometry:n,returnCentroid:l}=i,o=r?null:this._getCacheKey(i),u=o?this._cache.get(o):null;if(u)return new C(u,i,this);const c=R(a)&&!S(this.spatialReference,a),y=n||l,h=async e=>(c&&y&&await this._project(e,a),o&&this._cache.put(o,e.items),e),d=this.featureStore.featureSpatialReference,m=!s||null==d||S(d,s.spatialReference)?s:A(s,d);if(!m)return await h(null!=r?r:await this._getAllFeaturesQueryEngineResult(i));yield;const f=this.featureAdapter;let p=await this._searchFeatures(X(s));yield;const x=i.spatialRel??"esriSpatialRelIntersects";if("esriSpatialRelDisjoint"===x){if(!p.length)return await h(null!=r?r:await this._getAllFeaturesQueryEngineResult(i));const e=new Set;for(const i of p)e.add(f.getObjectId(i));let t;null!=r?t=r.items:(yield,t=await this._getAllFeatures(),yield);const s=await H(x,m,this.geometryType);yield;const a=t=>!e.has(f.getObjectId(t))||s(f.getGeometry(t)),n=yield*this._runSpatialFilter(t,a);yield;const l=new C(n,i,this);return await h(l)}if(null!=r){const i=new t;p=p.filter(t=>e(r.items,t,r.items.length,i)>=0)}if(!p.length){const e=new C([],i,this);return o&&this._cache.put(o,e.items),e}if(this._canExecuteSinglePass(m,i))return await h(new C(p,i,this));const g=await H(x,m,this.geometryType);yield;const _=yield*this._runSpatialFilter(p,e=>g(f.getGeometry(e)));return yield,await h(new C(_,i,this))}_executeAggregateIdsQuery(e){if(0===e.items.length||!e.query.aggregateIds?.length||null==this.aggregateAdapter)return;const t=new Set;for(const r of e.query.aggregateIds){this.aggregateAdapter.getFeatureObjectIds(r).forEach(e=>t.add(e))}const i=this.featureAdapter.getObjectId;e.items=e.items.filter(e=>t.has(i(e)))}_executeObjectIdsQuery(e){if(0===e.items.length||!e.query.objectIds?.length)return;const t=new Set(e.query.objectIds),i=this.featureAdapter.getObjectId;e.items=e.items.filter(e=>t.has(i(e)))}_executeTimeQuery(e){if(0===e.items.length)return;const t=L(this.timeInfo,e.query.timeExtent,this.featureAdapter);null!=t&&(e.items=e.items.filter(t))}_executeAttributesQuery(e){if(0===e.items.length)return;const t=j(e.query.where,this.fieldsIndex);if(t){if(!t.isStandardized)throw new TypeError("Where clause is not standardized");e.items=e.items.filter(e=>t.testFeature(e,this.featureAdapter))}}async*_executeGeometryQueryForSnapping(e){const{query:t}=e,{spatialRel:i}=t;if(!e?.items?.length||!t.geometry||!i)return;const r=await H(i,t.geometry,this.geometryType);yield;const s=this.featureAdapter,a=e=>r(s.getGeometry(e)),n=yield*this._runSpatialFilter(e.items,a);e.items=n}*_runSpatialFilter(e,t){if(!t)return e;if(null==this._frameTask)return e.filter(e=>t(e));let i=yield;const r=new Array;for(const s of e)t(s)&&r.push(s),i.madeProgress(),i.done&&(i=yield);return r}_filterLatest(e){const{trackIdField:t,startTimeField:i,endTimeField:r}=this.timeInfo,s=r||i,a=new Map,n=this.featureAdapter.getAttribute;for(const l of e.items){const e=n(l,t),i=n(l,s),r=a.get(e);(!r||i>n(r,s))&&a.set(e,l)}e.items=Array.from(a.values())}_getCacheKey(e){const{geometry:t,spatialRel:i,returnGeometry:r,returnCentroid:s,outSR:a,resultType:n,cacheHint:l}=e;if("tile"!==n&&!l)return null;const o=r||s;return R(a)&&!S(this.spatialReference,a)&&o?JSON.stringify([t,i,a]):JSON.stringify([t,i])}_canExecuteSinglePass(e,t){const{spatialRel:i}=t;return Z(e)&&("esriSpatialRelEnvelopeIntersects"===i||"esriGeometryPoint"===this.geometryType&&("esriSpatialRelIntersects"===i||"esriSpatialRelContains"===i))}async _project(e,t){if(!t||S(this.spatialReference,t))return e;const r=this.featureAdapter,s=y()?await this._getFullExtent():void 0,a=await v(e.items.map(e=>E(this.geometryType,r.getGeometry(e))),this.spatialReference,t,{areaOfInterestExtent:s});return e.items=i(a.map((t,i)=>r.cloneWithGeometry(e.items[i],I(t,this.hasZ,this.hasM),this.geometryType))),e}async _searchFeatures(e){const t=new Set;await Promise.all(e.map(e=>this.featureStore.forEachInBounds(e,e=>t.add(e))));const i=Array.from(t.values());return t.clear(),i}async*_executeQueryForStatistics(e,t){e=s(e);try{e=await z(e,this.definitionExpression,this.spatialReference),yield,e=await M(e,t,{availableFields:this.availableFields,fieldsIndex:this.fieldsIndex,geometryType:this.geometryType,spatialReference:this.spatialReference}),yield;const i=yield*this._executeSceneFilterQuery(e);yield;const r=yield*this._executeGeometryQuery(e,i);return yield,this._executeAggregateIdsQuery(r),yield,this._executeObjectIdsQuery(r),yield,this._executeTimeQuery(r),yield,this._executeAttributesQuery(r),yield,r}catch(i){if(i!==O)throw i;return new C([],e,this)}}get test(){}}function X(e){if(Z(e)){if(_(e))return[p(Math.min(e.xmin,e.xmax),Math.min(e.ymin,e.ymax),Math.max(e.xmin,e.xmax),Math.max(e.ymin,e.ymax))];if(F(e))return e.rings.map(e=>p(Math.min(e[0][0],e[2][0]),Math.min(e[0][1],e[2][1]),Math.max(e[0][0],e[2][0]),Math.max(e[0][1],e[2][1])))}return[g(x(),e)]}function Y(e,t,i,r,s){const a={xmin:e[0],ymin:e[1],xmax:e[3],ymax:e[4],spatialReference:b(r)};s&&isFinite(e[2])&&isFinite(e[5])&&(a.zmin=e[2],a.zmax=e[5],a.hasZ=!0);const n=A(a,t,i);if(n.spatialReference=b(i),n.xmax-n.xmin===0){const e=u(n.spatialReference);n.xmin-=e,n.xmax+=e}if(n.ymax-n.ymin===0){const e=u(n.spatialReference);n.ymin-=e,n.ymax+=e}if(s&&null!=n.zmin&&null!=n.zmax&&n.zmax-n.zmin===0){const e=u(n.spatialReference);n.zmin-=e,n.zmax+=e}return n}export{K as Feature,W as QueryEngine,Y as getQueryResultExtent};
2
+ import{indexOf as e,PositionHint as t}from"../../../core/arrayUtils.js";import{toConst as i}from"../../../core/compilerUtils.js";import r from"../../../core/Error.js";import"../../../core/has.js";import{clone as s}from"../../../core/lang.js";import{removeMaybe as a,destroyMaybe as n}from"../../../core/maybe.js";import{signalFromSignalOrOptions as l,throwIfAborted as o}from"../../../core/promiseUtils.js";import{getMetersPerUnitForSR as u}from"../../../core/units.js";import{isSerializable as c}from"../../../core/support/jsonUtils.js";import{isLoaded as y}from"../../../geometry/projectionUtils.js";import{set as h,create as d,expandWithAABB as m,negativeInfinity as f}from"../../../geometry/support/aaBoundingBox.js";import{fromValues as p,create as x}from"../../../geometry/support/aaBoundingRect.js";import{getBoundsXY as g}from"../../../geometry/support/boundsUtils.js";import{isExtent as _,isPolygon as F}from"../../../geometry/support/jsonTypeUtils.js";import{fromJSON as w}from"../../../geometry/support/jsonUtils.js";import{normalizeCentralMeridian as Q}from"../../../geometry/support/normalizeUtils.js";import{equals as S,isValid as R}from"../../../geometry/support/spatialReferenceUtils.js";import{convertFromGeometry as I}from"../featureConversionUtils.js";import{getWhereClause as j}from"./attributeSupport.js";import{getGeometry as E,cleanFromGeometryEngine as b}from"./geometryUtils.js";import{checkProjectionSupport as T,project as A,projectMany as v}from"./projectionSupport.js";import{QueryEngineCache as G}from"./QueryEngineCache.js";import{queryCapabilities as k}from"./QueryEngineCapabilities.js";import{QueryEngineResult as C}from"./QueryEngineResult.js";import{queryEngineEmptyResult as O,normalizeAttributeBinsQuery as P,normalizeQueryLike as q,normalizeQuery as z}from"./queryUtils.js";import{validateAttributeBinsQuery as U,validateQuery as B,validateStatisticsQuery as M}from"./queryValidationUtils.js";import{getSpatialQueryOperator as H,canQueryWithRBush as Z}from"./spatialQuerySupport.js";import{getTimeExtent as J,getTimeOperator as L}from"./timeSupport.js";import N from"../../support/FieldsIndex.js";import{ImmediateTask as V}from"../../../views/support/Scheduler.js";const D="unsupported-query";class K{constructor(e,t=null,i,r,s){this.attributes=e,this.geometry=i,this.centroid=r,this.filterFlags=s,this.groupId=-1,this.displayId=t}}class W{constructor(e){this._changeHandle=null,this.capabilities={query:k},this.geometryType=e.geometryType,this.hasM=!!e.hasM,this.hasZ=!!e.hasZ,this.spatialReference=e.spatialReference,this.definitionExpression=e.definitionExpression,this.featureStore=e.featureStore,this.aggregateAdapter=e.aggregateAdapter,this._cache=e.cache??new G,this.timeInfo=e.timeInfo,this.featureIdInfo=e.featureIdInfo,this._changeHandle=this.featureStore.events.on("changed",()=>this._clearCache()),this.fieldsIndex=c(e.fieldsIndex)?e.fieldsIndex:N.fromJSON(e.fieldsIndex),!e.availableFields||1===e.availableFields.length&&"*"===e.availableFields[0]?this.availableFields=new Set(this.fieldsIndex.fields.map(e=>e.name)):this.availableFields=new Set(e.availableFields.map(e=>this.fieldsIndex.get(e)?.name).filter(e=>null!=e)),e.scheduler&&e.priority?this._frameTask=e.scheduler.registerTask(e.priority):this._frameTask=V}destroy(){this._changeHandle=a(this._changeHandle),this._frameTask=a(this._frameTask),this._clearCache(),n(this._cache)}get featureAdapter(){return this.featureStore.featureAdapter}async executeQuery(e,t){const i=l(t);return await this._frameTask.scheduleGenerator(()=>this._executeQueryFeatureSet(e),i)}async executeQueryForCount(e={},t){const i=l(t);return await this._frameTask.scheduleGenerator(()=>this._executeQueryForCount(e),i)}async executeQueryForExtent(e,t){const i=l(t);return await this._frameTask.scheduleGenerator(()=>this._executeQueryForExtent(e),i)}async executeQueryForIds(e,t){return Array.from(await this.executeQueryForIdSet(e,t))}async executeQueryForIdSet(e,t){const i=l(t);return await this._frameTask.scheduleGenerator(()=>this._executeQueryForIdSet(e),i)}async executeQueryForLatestObservations(e,t){const i=l(t);if(!this.timeInfo?.trackIdField)throw new r(D,"Missing timeInfo or timeInfo.trackIdField",{query:e,timeInfo:this.timeInfo});return await this._frameTask.scheduleGenerator(()=>this._executeQueryForLatestObservations(e),i)}async executeQueryForOpaqueFeatures(e,t){const i=l(t);return(await this._frameTask.scheduleGenerator(()=>this._executeQuery(e,{}),i)).items}async executeAttributeBinsQuery(e,t){const i=l(t);return e=s(e),await this._frameTask.scheduleGenerator(()=>this._executeAttributeBinsQuery(e),i)}async executeQueryForSummaryStatistics(e={},t,i){const r=l(i);return await this._frameTask.scheduleGenerator(()=>this._executeQueryForSummaryStatistics(e,t),r)}async executeQueryForUniqueValues(e={},t,i){const r=l(i);return await this._frameTask.scheduleGenerator(()=>this._executeQueryForUniqueValues(e,t),r)}async executeQueryForClassBreaks(e={},t,i){const r=l(i);return await this._frameTask.scheduleGenerator(()=>this._executeQueryForClassBreaks(e,t),r)}async executeQueryForHistogram(e={},t,i){const r=l(i);return await this._frameTask.scheduleGenerator(()=>this._executeQueryForHistogram(e,t),r)}async executeQueryForSnapping(e,t){const i=l(t);return await this._frameTask.scheduleGenerator(()=>this._executeQueryForSnapping(e,i),i)}async fetchRecomputedExtents(e){const t=l(e);this._timeExtentPromise||=J(this.timeInfo,this.featureStore);const[i,r]=await Promise.all([this._getFullExtent(),this._timeExtentPromise]);return o(t),{fullExtent:i,timeExtent:r}}_clearCache(){this._cache.clear(),this._allFeaturesPromise=null,this._timeExtentPromise=null,this._fullExtentPromise=null}async*_executeQueryFeatureSet(e){try{const t=yield*this._executeQuery(e,{});return yield,await t.createQueryResponse()}catch(t){if(t!==O)throw t;return await new C([],e,this).createQueryResponse()}}async*_executeQueryForCount(e){try{const t=yield*this._executeQuery(e,{returnGeometry:!1,returnCentroid:!1,outSR:null});return yield,t.createQueryResponseForCount()}catch(t){if(t!==O)throw t;return 0}}async*_executeQueryForExtent(e){const t=e.outSR;try{const i=yield*this._executeQuery(e,{returnGeometry:!0,returnCentroid:!1,outSR:null});yield;const r=i.size;if(!r)return{count:0,extent:null};const s=await this._getBounds(i.items,i.spatialReference,t??this.spatialReference);return yield,{count:r,extent:s}}catch(i){if(i===O)return{count:0,extent:null};throw i}}async*_executeQueryForIdSet(e){try{const t=yield*this._executeQuery(e,{returnGeometry:!0,returnCentroid:!1,outSR:null});yield;const i=t.items,r=new Set;for(const e of i)r.add(t.featureAdapter.getObjectId(e));return r}catch(t){if(t===O)return new Set;throw t}}async*_executeQueryForLatestObservations(e){try{const t=yield*this._executeQuery(e,{});return yield,this._filterLatest(t),yield,await t.createQueryResponse()}catch(t){if(t!==O)throw t;return await new C([],e,this).createQueryResponse()}}async*_executeAttributeBinsQuery(e){let t;try{e=await P(e,this.definitionExpression,this.spatialReference),yield,e=await U(e,{availableFields:this.availableFields,fieldsIndex:this.fieldsIndex,geometryType:this.geometryType,spatialReference:this.spatialReference}),yield;const i=yield*this._executeSceneFilterQuery(e);yield,t=yield*this._executeGeometryQuery(e,i),yield,this._executeAggregateIdsQuery(t),yield,this._executeObjectIdsQuery(t),yield,this._executeTimeQuery(t),yield,this._executeAttributesQuery(t),yield}catch(i){if(i!==O)throw i;t=new C([],e,this)}return await t.createQueryBinsResponse(e)}async*_executeQueryForSummaryStatistics(e={},t){const{field:i,normalizationField:r,valueExpression:s}=t,a=yield*this._executeQueryForStatistics(e,{field:i,normalizationField:r,valueExpression:s});return yield,await a.createSummaryStatisticsResponse(t)}async*_executeQueryForUniqueValues(e={},t){const{field:i,field2:r,field3:s,valueExpression:a}=t,n=yield*this._executeQueryForStatistics(e,{field:i,field2:r,field3:s,valueExpression:a});return yield,await n.createUniqueValuesResponse(t)}async*_executeQueryForClassBreaks(e,t){const{field:i,normalizationField:r,valueExpression:s}=t,a=yield*this._executeQueryForStatistics(e,{field:i,normalizationField:r,valueExpression:s});return yield,await a.createClassBreaksResponse(t)}async*_executeQueryForHistogram(e,t){const{field:i,normalizationField:r,valueExpression:s}=t,a=yield*this._executeQueryForStatistics(e,{field:i,normalizationField:r,valueExpression:s});return yield,await a.createHistogramResponse(t)}async*_executeQueryForSnapping(e,t){const{point:i,distance:r,returnEdge:a,vertexMode:n}=e;if(!a&&"none"===n)return{candidates:[]};let l=s(e.query);l=await q(l,this.definitionExpression,this.spatialReference),yield,l=await B(l,{availableFields:this.availableFields,fieldsIndex:this.fieldsIndex,geometryType:this.geometryType,spatialReference:this.spatialReference}),yield;const o=!S(i.spatialReference,this.spatialReference);o&&(await T(i.spatialReference,this.spatialReference),yield);const u="number"==typeof r?r:r.x,c="number"==typeof r?r:r.y,y={xmin:i.x-u,xmax:i.x+u,ymin:i.y-c,ymax:i.y+c,spatialReference:i.spatialReference},h=o?A(y,this.spatialReference):y;if(!h)return{candidates:[]};const d=(await Q(w(i),null,{signal:t}))[0];yield;const m=(await Q(w(h),null,{signal:t}))[0];if(yield,null==d||null==m)return{candidates:[]};const f=await this._searchFeatures(X(m.toJSON()));yield;const p=new C(f,l,this);this._executeObjectIdsQuery(p),yield,this._executeTimeQuery(p),yield,this._executeAttributesQuery(p),yield,yield*this._executeGeometryQueryForSnapping(p),yield;const x=d.toJSON(),g=o?A(x,this.spatialReference):x,_=o?Math.max(h.xmax-h.xmin,h.ymax-h.ymin)/2:r;return p.createSnappingResponse({...e,point:g,distance:_},l.returnZ,i.spatialReference)}async _getBounds(e,t,i){const r=h(d(),f);return await this.featureStore.forEachBounds(e,e=>m(r,e)),Y(r,t,i,this.spatialReference,this.hasZ)}_getFullExtent(){return this._fullExtentPromise||="getFullExtent"in this.featureStore&&this.featureStore.getFullExtent?Promise.resolve(this.featureStore.getFullExtent(this.spatialReference)):this._getAllFeatures().then(e=>this._getBounds(e,this.spatialReference,this.spatialReference)),this._fullExtentPromise}async _getAllFeaturesQueryEngineResult(e){return new C(await this._getAllFeatures(),e,this)}async _getAllFeatures(){if(null==this._allFeaturesPromise){const e=[];this._allFeaturesPromise=(async()=>await this.featureStore.forEach(t=>e.push(t)))().then(()=>i(e))}const e=this._allFeaturesPromise,t=await e;return e===this._allFeaturesPromise?t.slice():this._getAllFeatures()}async*_executeQuery(e,t){e=s(e),e=await z(e,this.definitionExpression,this.spatialReference),yield,e=await B(e,{availableFields:this.availableFields,fieldsIndex:this.fieldsIndex,geometryType:this.geometryType,spatialReference:this.spatialReference}),yield,e={...e,...t};const i=yield*this._executeSceneFilterQuery(e);yield;const r=yield*this._executeGeometryQuery(e,i);return yield,this._executeAggregateIdsQuery(r),yield,this._executeObjectIdsQuery(r),yield,this._executeTimeQuery(r),yield,this._executeAttributesQuery(r),r}async*_executeSceneFilterQuery(e){if(null==e.sceneFilter)return null;const{outSR:t,returnGeometry:i,returnCentroid:r}=e,s=this.featureStore.featureSpatialReference,a=e.sceneFilter.geometry,n=null==s||S(s,a.spatialReference)?a:A(a,s);if(!n)return null;const l=i||r,o=R(t)&&!S(this.spatialReference,t)&&l?async e=>this._project(e,t):e=>e;yield;const u=this.featureAdapter,c=await this._searchFeatures(X(n));yield;if("disjoint"===e.sceneFilter.spatialRelationship){if(!c.length)return null;const t=new Set;for(const e of c)t.add(u.getObjectId(e));const i=await this._getAllFeatures();yield;const r=await H("esriSpatialRelDisjoint",n,this.geometryType);yield;const s=e=>!t.has(u.getObjectId(e))||r(u.getGeometry(e)),a=yield*this._runSpatialFilter(i,s);yield;const l=new C(a,e,this);return await o(l)}if(!c.length)return new C([],e,this);if(this._canExecuteSinglePass(n,e))return await o(new C(c,e,this));const y=await H("esriSpatialRelContains",n,this.geometryType);yield;const h=yield*this._runSpatialFilter(c,e=>y(u.getGeometry(e)));return yield,await o(new C(h,e,this))}async*_executeGeometryQuery(i,r){if(null!=r&&0===r.items.length)return r;const{geometry:s,outSR:a,returnGeometry:n,returnCentroid:l}=i,o=r?null:this._getCacheKey(i),u=o?this._cache.get(o):null;if(u)return new C(u,i,this);const c=R(a)&&!S(this.spatialReference,a),y=n||l,h=async e=>(c&&y&&await this._project(e,a),o&&this._cache.put(o,e.items),e),d=this.featureStore.featureSpatialReference,m=!s||null==d||S(d,s.spatialReference)?s:A(s,d);if(!m)return await h(null!=r?r:await this._getAllFeaturesQueryEngineResult(i));yield;const f=this.featureAdapter;let p=await this._searchFeatures(X(s));yield;const x=i.spatialRel??"esriSpatialRelIntersects";if("esriSpatialRelDisjoint"===x){if(!p.length)return await h(null!=r?r:await this._getAllFeaturesQueryEngineResult(i));const e=new Set;for(const i of p)e.add(f.getObjectId(i));let t;null!=r?t=r.items:(yield,t=await this._getAllFeatures(),yield);const s=await H(x,m,this.geometryType);yield;const a=t=>!e.has(f.getObjectId(t))||s(f.getGeometry(t)),n=yield*this._runSpatialFilter(t,a);yield;const l=new C(n,i,this);return await h(l)}if(null!=r){const i=new t;p=p.filter(t=>e(r.items,t,r.items.length,i)>=0)}if(!p.length){const e=new C([],i,this);return o&&this._cache.put(o,e.items),e}if(this._canExecuteSinglePass(m,i))return await h(new C(p,i,this));const g=await H(x,m,this.geometryType);yield;const _=yield*this._runSpatialFilter(p,e=>g(f.getGeometry(e)));return yield,await h(new C(_,i,this))}_executeAggregateIdsQuery(e){if(0===e.items.length||!e.query.aggregateIds?.length||null==this.aggregateAdapter)return;const t=new Set;for(const r of e.query.aggregateIds){this.aggregateAdapter.getFeatureObjectIds(r).forEach(e=>t.add(e))}const i=this.featureAdapter.getObjectId;e.items=e.items.filter(e=>t.has(i(e)))}_executeObjectIdsQuery(e){if(0===e.items.length||!e.query.objectIds?.length)return;const t=new Set(e.query.objectIds),i=this.featureAdapter.getObjectId;e.items=e.items.filter(e=>t.has(i(e)))}_executeTimeQuery(e){if(0===e.items.length)return;const t=L(this.timeInfo,e.query.timeExtent,this.featureAdapter);null!=t&&(e.items=e.items.filter(t))}_executeAttributesQuery(e){if(0===e.items.length)return;const t=j(e.query.where,this.fieldsIndex);if(t){if(!t.isStandardized)throw new TypeError("Where clause is not standardized");e.items=e.items.filter(e=>t.testFeature(e,this.featureAdapter))}}async*_executeGeometryQueryForSnapping(e){const{query:t}=e,{spatialRel:i}=t;if(!e?.items?.length||!t.geometry||!i)return;const r=await H(i,t.geometry,this.geometryType);yield;const s=this.featureAdapter,a=e=>r(s.getGeometry(e)),n=yield*this._runSpatialFilter(e.items,a);e.items=n}*_runSpatialFilter(e,t){if(!t)return e;if(null==this._frameTask)return e.filter(e=>t(e));let i=yield;const r=new Array;for(const s of e)t(s)&&r.push(s),i.madeProgress(),i.done&&(i=yield);return r}_filterLatest(e){const{trackIdField:t,startTimeField:i,endTimeField:r}=this.timeInfo,s=r||i,a=new Map,n=this.featureAdapter.getAttribute;for(const l of e.items){const e=n(l,t),i=n(l,s),r=a.get(e);(!r||i>n(r,s))&&a.set(e,l)}e.items=Array.from(a.values())}_getCacheKey(e){const{geometry:t,spatialRel:i,returnGeometry:r,returnCentroid:s,outSR:a,resultType:n,cacheHint:l}=e;if("tile"!==n&&!l)return null;const o=r||s;return R(a)&&!S(this.spatialReference,a)&&o?JSON.stringify([t,i,a]):JSON.stringify([t,i])}_canExecuteSinglePass(e,t){const{spatialRel:i}=t;return Z(e)&&("esriSpatialRelEnvelopeIntersects"===i||"esriGeometryPoint"===this.geometryType&&("esriSpatialRelIntersects"===i||"esriSpatialRelContains"===i))}async _project(e,t){if(!t||S(this.spatialReference,t))return e;const r=this.featureAdapter,s=y()?await this._getFullExtent():void 0,a=await v(e.items.map(e=>E(this.geometryType,r.getGeometry(e))),this.spatialReference,t,{areaOfInterestExtent:s});return e.items=i(a.map((t,i)=>r.cloneWithGeometry(e.items[i],I(t,this.hasZ,this.hasM),this.geometryType))),e}async _searchFeatures(e){const t=new Set;await Promise.all(e.map(e=>this.featureStore.forEachInBounds(e,e=>t.add(e))));const i=Array.from(t.values());return t.clear(),i}async*_executeQueryForStatistics(e,t){e=s(e);try{e=await z(e,this.definitionExpression,this.spatialReference),yield,e=await M(e,t,{availableFields:this.availableFields,fieldsIndex:this.fieldsIndex,geometryType:this.geometryType,spatialReference:this.spatialReference}),yield;const i=yield*this._executeSceneFilterQuery(e);yield;const r=yield*this._executeGeometryQuery(e,i);return yield,this._executeAggregateIdsQuery(r),yield,this._executeObjectIdsQuery(r),yield,this._executeTimeQuery(r),yield,this._executeAttributesQuery(r),yield,r}catch(i){if(i!==O)throw i;return new C([],e,this)}}get test(){}}function X(e){if(Z(e)){if(_(e))return[p(Math.min(e.xmin,e.xmax),Math.min(e.ymin,e.ymax),Math.max(e.xmin,e.xmax),Math.max(e.ymin,e.ymax))];if(F(e))return e.rings.map(e=>p(Math.min(e[0][0],e[2][0]),Math.min(e[0][1],e[2][1]),Math.max(e[0][0],e[2][0]),Math.max(e[0][1],e[2][1])))}return[g(x(),e)]}function Y(e,t,i,r,s){const a={xmin:e[0],ymin:e[1],xmax:e[3],ymax:e[4],spatialReference:b(r)};s&&isFinite(e[2])&&isFinite(e[5])&&(a.zmin=e[2],a.zmax=e[5],a.hasZ=!0);const n=A(a,t,i);if(n.spatialReference=b(i),n.xmax-n.xmin===0){const e=u(n.spatialReference);n.xmin-=e,n.xmax+=e}if(n.ymax-n.ymin===0){const e=u(n.spatialReference);n.ymin-=e,n.ymax+=e}if(s&&null!=n.zmin&&null!=n.zmax&&n.zmax-n.zmin===0){const e=u(n.spatialReference);n.zmin-=e,n.zmax+=e}return n}export{K as Feature,W as QueryEngine,X as getQueryBBoxes,Y as getQueryResultExtent};