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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (433) 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/{34544c79ce568f30a094.js → 011a4d4201696fa10408.js} +1 -1
  4. package/assets/esri/core/workers/chunks/01ba5319cac3e0f14205.js +1 -0
  5. package/assets/esri/core/workers/chunks/03354e9256b2f77fd4f2.js +1 -0
  6. package/assets/esri/core/workers/chunks/0436fe89adc78696251c.js +1 -0
  7. package/assets/esri/core/workers/chunks/079b412d07d02504f1db.js +1 -0
  8. package/assets/esri/core/workers/chunks/{81808c3aead7dfac3049.js → 07ca020796c57cefda62.js} +1 -1
  9. package/assets/esri/core/workers/chunks/0826d36dfbfa28442b70.js +1 -0
  10. package/assets/esri/core/workers/chunks/0b45d34938fa7862f746.js +1 -0
  11. package/assets/esri/core/workers/chunks/{7ad09ac5793e8d47b4b2.js → 0b55fc5050e718371e05.js} +1 -1
  12. package/assets/esri/core/workers/chunks/0bf72e9d0a6deceeb406.js +1 -0
  13. package/assets/esri/core/workers/chunks/11c3b1e8ca21ad62fdd1.js +1 -0
  14. package/assets/esri/core/workers/chunks/152f1c08197955224ad3.js +1 -0
  15. package/assets/esri/core/workers/chunks/1a0903b1d2d5101977c6.js +1 -0
  16. package/assets/esri/core/workers/chunks/1bd49e8d2657c72bf3f9.js +1 -0
  17. package/assets/esri/core/workers/chunks/1d81e667a580c5cdeda1.js +262 -0
  18. package/assets/esri/core/workers/chunks/1effde6a39ef0d4af525.js +1 -0
  19. package/assets/esri/core/workers/chunks/25c1f5e2561986330b80.js +1 -0
  20. package/assets/esri/core/workers/chunks/2bc4aff77c830061e16e.js +1 -0
  21. package/assets/esri/core/workers/chunks/2c3fc2805f6de0963789.js +1 -0
  22. package/assets/esri/core/workers/chunks/2c4f10eaf02ef090ee8f.js +1 -0
  23. package/assets/esri/core/workers/chunks/314bc1b356d43bfa72a8.js +1 -0
  24. package/assets/esri/core/workers/chunks/3526ab3b1f87c24ae6f8.js +1 -0
  25. package/assets/esri/core/workers/chunks/{8c443c52c846a096a250.js → 36dd3ad3ef2fbfc15cbd.js} +1 -1
  26. package/assets/esri/core/workers/chunks/39a10b2092a98083f4cf.js +1 -0
  27. package/assets/esri/core/workers/chunks/{5075e85e1eafd431a8c0.js → 39c994536ce6c1e5c956.js} +1 -1
  28. package/assets/esri/core/workers/chunks/3b74749db78bcba2bc16.js +1 -0
  29. package/assets/esri/core/workers/chunks/3bd32387af52fa48d747.js +1 -0
  30. package/assets/esri/core/workers/chunks/3d83ac791212b81c9d11.js +1 -0
  31. package/assets/esri/core/workers/chunks/3dc6e9494af16f7b8009.js +1 -0
  32. package/assets/esri/core/workers/chunks/3ecb906322a6a5c8c93b.js +1 -0
  33. package/assets/esri/core/workers/chunks/3f67162456a1f02190fa.js +1 -0
  34. package/assets/esri/core/workers/chunks/{d63f532dd7d60ee8ef2c.js → 42e5e00610f281ca8ffa.js} +1 -1
  35. package/assets/esri/core/workers/chunks/44d0ca9d4c5f1722688c.js +1 -0
  36. package/assets/esri/core/workers/chunks/{73c355b895fd6a34fcb8.js → 45b560ca01fb566ba560.js} +1 -1
  37. package/assets/esri/core/workers/chunks/47d630561f3fce5c63c4.js +1 -0
  38. package/assets/esri/core/workers/chunks/4cc78493805671708a9b.js +1 -0
  39. package/assets/esri/core/workers/chunks/{e25bcfdd8f20f8a08b19.js → 4d57c771af4137f74bfb.js} +1 -1
  40. package/assets/esri/core/workers/chunks/4e4419282c4bf7ee4678.js +1 -0
  41. package/assets/esri/core/workers/chunks/4e59e5a5d0ff887ff899.js +1 -0
  42. package/assets/esri/core/workers/chunks/4e788fc6cb2ea936f676.js +1 -0
  43. package/assets/esri/core/workers/chunks/4efef5fa8bf23aaf34cd.js +1 -0
  44. package/assets/esri/core/workers/chunks/4f51963815b0d53ffbd9.js +1 -0
  45. package/assets/esri/core/workers/chunks/5100b5a6a506c704dfaf.js +1 -0
  46. package/assets/esri/core/workers/chunks/511b9c12a7479d39dac0.js +1 -0
  47. package/assets/esri/core/workers/chunks/52afd43bbe23e358efb5.js +1 -0
  48. package/assets/esri/core/workers/chunks/{2a5176533e78a92d8e5b.js → 57b7e5fde972d3ad7884.js} +1 -1
  49. package/assets/esri/core/workers/chunks/57e04b7ec238f7b24274.js +1 -0
  50. package/assets/esri/core/workers/chunks/5aba23584e0b230c75f5.js +1 -0
  51. package/assets/esri/core/workers/chunks/5d8924fdcdb473d261cd.js +1 -0
  52. package/assets/esri/core/workers/chunks/62de9e83331fb10aac6a.js +2 -0
  53. package/assets/esri/core/workers/chunks/{9fee0110dc7fee4c95e2.js → 641cddee377599916de2.js} +2 -2
  54. package/assets/esri/core/workers/chunks/65cc9a48ac95523f7aa8.js +1 -0
  55. package/assets/esri/core/workers/chunks/66392ff750c28064040a.js +1 -0
  56. package/assets/esri/core/workers/chunks/668d84dc512b3085a960.js +1 -0
  57. package/assets/esri/core/workers/chunks/{d3c760109a70a71448c5.js → 67773a9f031d9f1d672f.js} +1 -1
  58. package/assets/esri/core/workers/chunks/{26dca1d387183282276a.js → 6a1b6f8c868f8edce1d7.js} +1 -1
  59. package/assets/esri/core/workers/chunks/6f5a82388a5eb5fcf1b7.js +1 -0
  60. package/assets/esri/core/workers/chunks/718d2d430c1a5a940b83.js +1 -0
  61. package/assets/esri/core/workers/chunks/71c996e1ae84d9daddf2.js +1 -0
  62. package/assets/esri/core/workers/chunks/73b0edabddbb72fe1104.js +1 -0
  63. package/assets/esri/core/workers/chunks/753e0b21e57c12c742ee.js +1 -0
  64. package/assets/esri/core/workers/chunks/764c8ba14ab74b66b391.js +1 -0
  65. package/assets/esri/core/workers/chunks/{1996f0a930abdd97b855.js → 7a8ed08cd173963b3112.js} +1 -1
  66. package/assets/esri/core/workers/chunks/7ee76504e7fea389a1c9.js +1 -0
  67. package/assets/esri/core/workers/chunks/7f849c8255140be6097f.js +1 -0
  68. package/assets/esri/core/workers/chunks/{cc697c4d9cdc116373dc.js → 81726d997a2d34449bb2.js} +1 -1
  69. package/assets/esri/core/workers/chunks/{74e1826ad9e2c4fd3b42.js → 81883bca8a79ee2ddb00.js} +1 -1
  70. package/assets/esri/core/workers/chunks/85505a8b8b0794656d06.js +1 -0
  71. package/assets/esri/core/workers/chunks/859bc873e7af911a518f.js +1 -0
  72. package/assets/esri/core/workers/chunks/{8407c91cce31e087b41b.js → 886ae23a1d8fa21e531f.js} +1 -1
  73. package/assets/esri/core/workers/chunks/8927fb4aa68f7e541a39.js +30 -0
  74. package/assets/esri/core/workers/chunks/{3ff7aa216cd794d951e8.js → 8e99f937fd36cf2cd05f.js} +1 -1
  75. package/assets/esri/core/workers/chunks/8eda85fc01a71aedd9e4.js +1 -0
  76. package/assets/esri/core/workers/chunks/8f25d91ea7b99597124e.js +1 -0
  77. package/assets/esri/core/workers/chunks/92341f36a8b15f34bcca.js +1 -0
  78. package/assets/esri/core/workers/chunks/{c357c0a08b99c1e7f290.js → 9331969046f2b277d620.js} +1 -1
  79. package/assets/esri/core/workers/chunks/93d08d82ceab19e314f8.js +1 -0
  80. package/assets/esri/core/workers/chunks/97d2bdbea39cbcf8fd0f.js +1 -0
  81. package/assets/esri/core/workers/chunks/9f93c29af2a18f7cb160.js +1 -0
  82. package/assets/esri/core/workers/chunks/a0208e35b217808777c4.js +1 -0
  83. package/assets/esri/core/workers/chunks/{f25bb204cf6727f6fdef.js → a0876a52a3c2ad849370.js} +1 -1
  84. package/assets/esri/core/workers/chunks/a18cb809dd56c5537b3b.js +1 -0
  85. package/assets/esri/core/workers/chunks/a4f3bcfabd4ad127abf2.js +1 -0
  86. package/assets/esri/core/workers/chunks/{5437a1c05c1bd2175981.js → a63bba226de6c5e464b0.js} +1 -1
  87. package/assets/esri/core/workers/chunks/{7dcf804e1918b94fa4e1.js → a98905bf6050ad3b8721.js} +1 -1
  88. package/assets/esri/core/workers/chunks/a9f29ff36a7ae5bae686.js +1 -0
  89. package/assets/esri/core/workers/chunks/aa5f36d7ed59c625ba78.js +1 -0
  90. package/assets/esri/core/workers/chunks/b045bffb4f2eb9203183.js +1 -0
  91. package/assets/esri/core/workers/chunks/{de541ad390a8d258d2e6.js → b102beeeb7a919f68b51.js} +1 -1
  92. package/assets/esri/core/workers/chunks/b590402170ae289290d7.js +1 -0
  93. package/assets/esri/core/workers/chunks/b75a4753cea6544da8bb.js +1 -0
  94. package/assets/esri/core/workers/chunks/{1a527c0740d9f4fa0791.js → bc547cf814d6703cef59.js} +1 -1
  95. package/assets/esri/core/workers/chunks/bcc097271f5cdf0a97a7.js +1 -0
  96. package/assets/esri/core/workers/chunks/bd36c57dd0cd28dee55f.js +30 -0
  97. package/assets/esri/core/workers/chunks/be1d2c3a61e6447fbbc7.js +1 -0
  98. package/assets/esri/core/workers/chunks/bf6ae205fbfbfcd1a0ee.js +1 -0
  99. package/assets/esri/core/workers/chunks/bfd1aef8ac795e1ce227.js +1 -0
  100. package/assets/esri/core/workers/chunks/c148ad0ea9258046ac1f.js +1 -0
  101. package/assets/esri/core/workers/chunks/{0f75c19d8e296a32e329.js → c2cd80b712f29e8cbb8d.js} +1 -1
  102. package/assets/esri/core/workers/chunks/c8460bdf60aca749ed05.js +30 -0
  103. package/assets/esri/core/workers/chunks/c9057b0ad2c2bae4a8ce.js +1 -0
  104. package/assets/esri/core/workers/chunks/cc0efa716b8414a44398.js +1 -0
  105. package/assets/esri/core/workers/chunks/{8f6833671c071b522923.js → cd66bd30f654fe571e57.js} +1 -1
  106. package/assets/esri/core/workers/chunks/cf41a66fb97c1076fb34.js +1 -0
  107. package/assets/esri/core/workers/chunks/cf8ce21dc649021e97f6.js +1 -0
  108. package/assets/esri/core/workers/chunks/d3be4d914fc99a1d686c.js +1 -0
  109. package/assets/esri/core/workers/chunks/{6675d56f49d07a97dc40.js → dd0c1cf921369e2bc48b.js} +1 -1
  110. package/assets/esri/core/workers/chunks/df18b0a653b328d8d052.js +1 -0
  111. package/assets/esri/core/workers/chunks/{89e09276086745aa21fa.js → e4e2f479c0c45ae1b2c3.js} +1 -1
  112. package/assets/esri/core/workers/chunks/e656fd5ecf9ac059a87b.js +1 -0
  113. package/assets/esri/core/workers/chunks/e73bb7c8de7412d9975c.js +1 -0
  114. package/assets/esri/core/workers/chunks/{7a474ce61cf484df87b4.js → e80376832050a4b6d28a.js} +1 -1
  115. package/assets/esri/core/workers/chunks/e8546ab510fc9515bd23.js +1 -0
  116. package/assets/esri/core/workers/chunks/e9acc05b0cf9e05f31a8.js +1 -0
  117. package/assets/esri/core/workers/chunks/{58a7cdebc3d182c15ec6.js → eb91dc957c328674e119.js} +1 -1
  118. package/assets/esri/core/workers/chunks/{87c2d4d58c2487324fb7.js → ed2a1c371dfc5d4a744e.js} +31 -31
  119. package/assets/esri/core/workers/chunks/f0832b413612c77a62ca.js +1 -0
  120. package/assets/esri/core/workers/chunks/f116331c6eca937aac8e.js +1 -0
  121. package/assets/esri/core/workers/chunks/{3b837b512999e6ab24bc.js → f148666308071bdb185a.js} +1 -1
  122. package/assets/esri/core/workers/chunks/f23e995320674b32e142.js +1 -0
  123. package/assets/esri/core/workers/chunks/f334bf192dff5af10a70.js +1 -0
  124. package/assets/esri/core/workers/chunks/f76b1fc36f5606cac2c8.js +1 -0
  125. package/assets/esri/core/workers/chunks/{893c0d28a5bf3f9f29f1.js → f93facf47aba9b128fcc.js} +1 -1
  126. package/assets/esri/core/workers/chunks/f955b35337a08f9f747d.js +1 -0
  127. package/assets/esri/core/workers/chunks/fa1336b60278017d2525.js +1 -0
  128. package/assets/esri/core/workers/chunks/fccc34b86454c56f27ab.js +1 -0
  129. package/assets/esri/core/workers/chunks/fea3b6bef761ef78630e.js +1 -0
  130. package/assets/esri/libs/lyr3d/lyr3DMain.wasm +0 -0
  131. package/assets/esri/libs/parquet/pkg/bundle_bg.wasm +0 -0
  132. package/assets/esri/rest/knowledgeGraph/wasmInterface/arcgis-knowledge-client-core-simd.wasm +0 -0
  133. package/assets/esri/rest/knowledgeGraph/wasmInterface/arcgis-knowledge-client-core.wasm +0 -0
  134. package/assets/esri/themes/base/widgets/_BatchAttributeForm.scss +5 -1
  135. package/assets/esri/themes/dark/main.css +1 -1
  136. package/assets/esri/themes/light/main.css +1 -1
  137. package/assets/esri/themes/light/view.css +1 -1
  138. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis.json +1 -1
  139. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_en.json +1 -1
  140. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_fr.json +1 -1
  141. package/chunks/Component.glsl.js +8 -8
  142. package/chunks/GaussianSplatComposition.glsl.js +1 -1
  143. package/chunks/GlobalIlluminationBlur.glsl.js +12 -12
  144. package/chunks/OITBlend.glsl.js +1 -24
  145. package/chunks/OITBlendEmission.glsl.js +9 -9
  146. package/chunks/OITDimOpaque.glsl.js +3 -9
  147. package/chunks/arcgis-knowledge-client-core-simd.js +1 -1
  148. package/chunks/arcgis-knowledge-client-core.js +1 -1
  149. package/chunks/bundle2.js +1 -1
  150. package/chunks/lyr3DMain.js +1 -1
  151. package/config.js +1 -1
  152. package/core/promiseUtils.d.ts +1 -1
  153. package/core/promiseUtils.js +1 -1
  154. package/core/reactiveUtils.d.ts +410 -109
  155. package/core/units.js +1 -1
  156. package/form/types.d.ts +1 -1
  157. package/geometry/Mesh.d.ts +220 -95
  158. package/geometry/operators/support/projectionZScaling.js +1 -1
  159. package/geometry/support/MeshGeoreferencedVertexSpace.d.ts +35 -13
  160. package/geometry/support/MeshLocalVertexSpace.d.ts +32 -8
  161. package/geometry/support/MeshVertexAttributes.d.ts +6 -2
  162. package/geometry/support/heightModelInfoUtils.js +1 -1
  163. package/geometry/support/zscale.js +1 -1
  164. package/graphic/{AnnotationGraphicOrigin.d.ts → AnnotationFeatureGraphicOrigin.d.ts} +9 -9
  165. package/graphic/{AnnotationGraphicOrigin.js → AnnotationFeatureGraphicOrigin.js} +1 -1
  166. package/interfaces.d.ts +3 -3
  167. package/kernel.js +1 -1
  168. package/layers/{AnnotationLayer.d.ts → AnnotationFeatureLayer.d.ts} +24 -24
  169. package/layers/AnnotationFeatureLayer.js +2 -0
  170. package/layers/GaussianSplatLayer.d.ts +4 -1
  171. package/layers/Lyr3DWasmPerSceneView.js +1 -1
  172. package/layers/graphics/data/QueryEngine.js +1 -1
  173. package/layers/graphics/data/queryUtils.js +1 -1
  174. package/layers/graphics/sources/MemorySource.js +1 -1
  175. package/layers/graphics/sources/parquet/ParquetFileStatistics.js +1 -1
  176. package/layers/graphics/sources/support/ParquetSourceWorker.js +1 -1
  177. package/layers/graphics/sources/support/parquetIdUtils.js +1 -1
  178. package/layers/mixins/OperationalLayer.js +1 -1
  179. package/layers/save/featureLayerUtils.js +1 -1
  180. package/layers/support/AnnotationSublayer.d.ts +7 -7
  181. package/layers/support/ExportImageServiceParameters.js +1 -1
  182. package/layers/support/FeatureEffect.d.ts +3 -2
  183. package/layers/support/arcgisLayers.js +1 -1
  184. package/layers/support/fetchService.js +1 -1
  185. package/layers/support/layerUtils.js +1 -1
  186. package/layers/support/layersLoader.js +1 -1
  187. package/layers/support/layersMapping.js +1 -1
  188. package/layers/support/parquetUtils.js +1 -1
  189. package/layers/support/schemaValidator.js +1 -1
  190. package/layers/types.d.ts +1 -1
  191. package/networks/Network.js +1 -1
  192. package/networks/UtilityNetwork.js +1 -1
  193. package/networks/support/networkFieldUtils.js +1 -1
  194. package/package.json +3 -3
  195. package/portal/schemas/definitions.js +1 -1
  196. package/portal/schemas/gaussianSplatLayerItem.js +2 -0
  197. package/portal/schemas/integratedMesh3DTilesLayerItem.js +1 -1
  198. package/portal/support/loadUtils.js +1 -1
  199. package/renderers/support/types.d.ts +1 -1
  200. package/renderers/visualVariables/RotationVariable.d.ts +1 -16
  201. package/renderers/visualVariables/RotationVariable.js +1 -1
  202. package/rest/knowledgeGraph/ReplicaDefinition.d.ts +0 -2
  203. package/rest/knowledgeGraph/ServiceDefinition.d.ts +1 -1
  204. package/rest/knowledgeGraph/wasmInterface/replicaToWasmEncodedFactories.js +1 -1
  205. package/rest/knowledgeGraph/wasmInterface/wasmToReplicaFactories.js +1 -1
  206. package/rest/knowledgeGraphService.js +1 -1
  207. package/rest/networks/support/QueryAssociationsParameters.d.ts +2 -2
  208. package/rest/networks/support/SynthesizeAssociationGeometriesParameters.d.ts +2 -2
  209. package/rest/networks/support/TraceParameters.d.ts +2 -2
  210. package/rest/print.js +1 -1
  211. package/rest/support/AttributeBinsQuery.js +1 -1
  212. package/rest/support/Query.js +1 -1
  213. package/rest/support/TopFeaturesQuery.js +1 -1
  214. package/support/revision.js +1 -1
  215. package/views/2d/engine/webgl/shaderGraph/techniques/vectorTiles/VTLTechniqueBackground.js +1 -1
  216. package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
  217. package/views/2d/engine/webgl/util/createMatcher.js +1 -1
  218. package/views/2d/layerViewModuleImportUtils.js +1 -1
  219. package/views/2d/layers/AnnotationFeatureLayerView2D.js +2 -0
  220. package/views/2d/layers/FeatureLikeLayerView2D.js +1 -1
  221. package/views/2d/layers/TileLayerView2D.js +1 -1
  222. package/views/2d/layers/features/sources/strategies/support/queryAdapters.js +1 -1
  223. package/views/2d/layers/support/annodime/annotationSchema.js +1 -1
  224. package/views/2d/types.d.ts +2 -2
  225. package/views/3d/analysis/LineOfSight/LineOfSightTool.js +1 -1
  226. package/views/3d/analysis/ShadowCast/ShadowCastTooltip.js +1 -1
  227. package/views/3d/interactive/visualElements/DrapedVisualElementResources.js +1 -1
  228. package/views/3d/layerViewModuleImportUtils.js +1 -1
  229. package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
  230. package/views/3d/layers/graphics/Graphics3DIconSymbolLayer.js +1 -1
  231. package/views/3d/support/GaussianSplatSortWorker.js +1 -1
  232. package/views/3d/support/GaussianSplatWorkerHandle.js +1 -1
  233. package/views/3d/support/gaussianSplatting/GaussianSplatDataStore.js +1 -1
  234. package/views/3d/support/gaussianSplatting/GaussianSplatOrderTexture.js +1 -1
  235. package/views/3d/support/gaussianSplatting/GaussianSplatTextureAtlas.js +1 -1
  236. package/views/3d/terrain/Tile.js +1 -1
  237. package/views/3d/terrain/isTerrainSurfaceLayer.js +1 -1
  238. package/views/3d/types.d.ts +1 -1
  239. package/views/3d/webgl-engine/core/shaderLibrary/TextureBackedBuffer.glsl.js +7 -7
  240. package/views/3d/webgl-engine/core/shaderLibrary/TextureBackedBufferFields.glsl.js +29 -20
  241. package/views/3d/webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js +2 -2
  242. package/views/3d/webgl-engine/core/shaderLibrary/util/EmissionDimming.glsl.js +1 -1
  243. package/views/3d/webgl-engine/core/shaderLibrary/util/GaussianSplatTextureFetch.glsl.js +6 -8
  244. package/views/3d/webgl-engine/core/shaderTechnique/ShaderTechniqueRepository.js +1 -1
  245. package/views/3d/webgl-engine/effects/fog/FogTechniqueConfiguration.js +1 -1
  246. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIlluminationBlur.glsl.js +1 -1
  247. package/views/3d/webgl-engine/effects/glow/Glow.js +1 -1
  248. package/views/3d/webgl-engine/effects/glow/GlowBlurTechniqueConfiguration.js +1 -1
  249. package/views/3d/webgl-engine/effects/glow/GlowCompositionTechniqueConfiguration.js +1 -1
  250. package/views/3d/webgl-engine/effects/smaa/SMAA.js +1 -1
  251. package/views/3d/webgl-engine/effects/transparency/OITBlend.glsl.js +1 -1
  252. package/views/3d/webgl-engine/effects/transparency/OITBlend.js +1 -1
  253. package/views/3d/webgl-engine/effects/transparency/OITBlendEmission.glsl.js +1 -1
  254. package/views/3d/webgl-engine/effects/transparency/OITBlendEmissionTechnique.js +1 -1
  255. package/views/3d/webgl-engine/effects/transparency/OITBlendFragmentTechniqueConfiguration.js +2 -0
  256. package/views/3d/webgl-engine/effects/transparency/OITBlendTechnique.js +1 -1
  257. package/views/3d/webgl-engine/effects/transparency/OITBlendTechniqueConfiguration.js +1 -1
  258. package/views/3d/webgl-engine/effects/transparency/OITDimOpaque.glsl.js +1 -1
  259. package/views/3d/webgl-engine/effects/transparency/OITDimOpaqueTechnique.js +1 -1
  260. package/views/3d/webgl-engine/effects/transparency/oitBlendFragment.glsl.js +2 -0
  261. package/views/3d/webgl-engine/lib/GaussianSplatRenderNode.js +1 -1
  262. package/views/3d/webgl-engine/lib/Material.js +1 -1
  263. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  264. package/views/3d/webgl-engine/lib/TextureBackedBuffer/TexelFormatInfo.js +2 -0
  265. package/views/3d/webgl-engine/lib/TextureBackedBuffer/TextureBackedBufferFieldCreation.js +1 -1
  266. package/views/3d/webgl-engine/lib/TextureBackedBuffer/TextureBackedBufferLayout.js +1 -1
  267. package/views/3d/webgl-engine/lib/TextureBackedBuffer/TextureBuffer.js +1 -1
  268. package/views/3d/webgl-engine/lib/lodRendering/LodComponentData.js +1 -1
  269. package/views/3d/webgl-engine/lib/lodRendering/LodLevel.js +1 -1
  270. package/views/3d/webgl-engine/lib/lodRendering/LodRenderer.js +1 -1
  271. package/views/3d/webgl-engine/materials/ColorMaterial.js +1 -1
  272. package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
  273. package/views/3d/webgl-engine/materials/PathMaterial.js +1 -1
  274. package/views/3d/webgl-engine/materials/PatternMaterial.js +1 -1
  275. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  276. package/views/3d/webgl-engine/materials/renderers/MergedRenderer.js +1 -1
  277. package/views/3d/webgl-engine/shaders/GaussianSplatCompositionTechniqueConfiguration.js +1 -1
  278. package/views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js +1 -1
  279. package/views/3d/webgl-engine/shaders/oitResolution.glsl.js +1 -1
  280. package/views/View2D.d.ts +2 -3
  281. package/views/layers/{AnnotationLayerView.d.ts → AnnotationFeatureLayerView.d.ts} +6 -6
  282. package/views/layers/FeatureLikeLayerView.d.ts +2 -2
  283. package/views/layers/FeatureLikeLayerView.js +1 -1
  284. package/webdoc/support/writeUtils.js +1 -1
  285. package/webdoc/widgets/FloorFilter.d.ts +14 -1
  286. package/webdoc/widgets/FloorFilter.js +1 -1
  287. package/widgets/AreaMeasurement2D/AreaMeasurement2DTool.js +1 -1
  288. package/widgets/BatchAttributeForm/BatchAttributeFormViewModel.d.ts +12 -4
  289. package/widgets/BatchAttributeForm/BatchAttributeFormViewModel.js +1 -1
  290. package/widgets/BatchAttributeForm/ReactiveGraphic.js +1 -1
  291. package/widgets/BatchAttributeForm/ValueChangeTransaction.js +2 -0
  292. package/widgets/BatchAttributeForm/VisibleElements.d.ts +8 -1
  293. package/widgets/BatchAttributeForm/VisibleElements.js +1 -1
  294. package/widgets/BatchAttributeForm/batchAttributeFormUtils.js +1 -1
  295. package/widgets/BatchAttributeForm/css.js +1 -1
  296. package/widgets/BatchAttributeForm/expressions/ExpressionsManager.js +1 -1
  297. package/widgets/BatchAttributeForm/expressions/ExpressionsModel.js +1 -1
  298. package/widgets/BatchAttributeForm/inputs/BatchFormInputs.d.ts +3 -0
  299. package/widgets/BatchAttributeForm/inputs/BatchFormInputs.js +1 -1
  300. package/widgets/BatchAttributeForm/inputs/FieldInput.js +1 -1
  301. package/widgets/BatchAttributeForm/inputs/GroupInput.js +1 -1
  302. package/widgets/BatchAttributeForm/inputs/InputBase.js +1 -1
  303. package/widgets/BatchAttributeForm/inputs/RelationshipElementInput.js +1 -1
  304. package/widgets/BatchAttributeForm/inputs/support/inputUtils.js +1 -1
  305. package/widgets/BatchAttributeForm/interfaceUtils.js +1 -1
  306. package/widgets/BatchAttributeForm/stringUtils.js +2 -0
  307. package/widgets/BatchAttributeForm/templates/support/createBatchFormTemplate.js +1 -1
  308. package/widgets/BatchAttributeForm/types.d.ts +19 -3
  309. package/widgets/BatchAttributeForm.js +1 -1
  310. package/widgets/Editor/AddAssociationWorkflow.js +1 -1
  311. package/widgets/Editor/AddAssociationWorkflowData.js +1 -1
  312. package/widgets/Editor/CreateFeaturesWorkflow.js +1 -1
  313. package/widgets/Editor/EditorViewModel.d.ts +1 -1
  314. package/widgets/Editor/EditorViewModel.js +1 -1
  315. package/widgets/Editor/MergeFeaturesWorkflow.d.ts +3 -3
  316. package/widgets/Editor/MergeFeaturesWorkflow.js +1 -1
  317. package/widgets/Editor/SplitFeatureWorkflow.d.ts +3 -3
  318. package/widgets/Editor/SplitFeatureWorkflow.js +1 -1
  319. package/widgets/Editor/UpdateFeatureWorkflow.js +1 -1
  320. package/widgets/Editor/UpdateFeaturesWorkflow.js +1 -1
  321. package/widgets/Editor/UpdateRecordWorkflow.js +1 -1
  322. package/widgets/Editor/UpdateRecordWorkflowData.js +1 -1
  323. package/widgets/Editor/UpdateWorkflow.js +1 -1
  324. package/widgets/Editor/components/UpdateFeaturePanelContent.js +1 -1
  325. package/widgets/Editor/support/SketchController.js +1 -1
  326. package/widgets/Editor/workflowUtils.js +1 -1
  327. package/widgets/Editor.js +1 -1
  328. package/widgets/FloorFilter/FloorFilterViewModel.d.ts +10 -0
  329. package/widgets/FloorFilter/FloorFilterViewModel.js +1 -1
  330. package/widgets/Print/PrintViewModel.d.ts +11 -1
  331. package/widgets/Print/PrintViewModel.js +1 -1
  332. package/assets/esri/core/workers/chunks/07cc5743cb6a9fd68adb.js +0 -1
  333. package/assets/esri/core/workers/chunks/0bb159ba0226122465cf.js +0 -1
  334. package/assets/esri/core/workers/chunks/0cbd7f5fe24271942abd.js +0 -1
  335. package/assets/esri/core/workers/chunks/160e5b99f1097a473e6b.js +0 -1
  336. package/assets/esri/core/workers/chunks/17e68828ca6ff6912d3e.js +0 -1
  337. package/assets/esri/core/workers/chunks/1a95370ddc22729ab3c6.js +0 -1
  338. package/assets/esri/core/workers/chunks/1e340536d3c5f94920b5.js +0 -1
  339. package/assets/esri/core/workers/chunks/2185e8a52c5e29d46680.js +0 -1
  340. package/assets/esri/core/workers/chunks/24810c36ae09bb4e83dc.js +0 -1
  341. package/assets/esri/core/workers/chunks/26583db2af1a1cc456e5.js +0 -1
  342. package/assets/esri/core/workers/chunks/274b82cb183ddd0042f3.js +0 -1
  343. package/assets/esri/core/workers/chunks/297ae764445e6f73a5ea.js +0 -1
  344. package/assets/esri/core/workers/chunks/29aba121db7f00e0cf81.js +0 -1
  345. package/assets/esri/core/workers/chunks/2a3145a595d19391bb8a.js +0 -1
  346. package/assets/esri/core/workers/chunks/2b00229c238aae70b948.js +0 -1
  347. package/assets/esri/core/workers/chunks/2b814bb51704a5b4fdc2.js +0 -30
  348. package/assets/esri/core/workers/chunks/30f1909c5ef1835b8507.js +0 -1
  349. package/assets/esri/core/workers/chunks/3172d7fc23787a287191.js +0 -1
  350. package/assets/esri/core/workers/chunks/3297658ccd8d4b9ce733.js +0 -1
  351. package/assets/esri/core/workers/chunks/38ca59db0e8f45bd7811.js +0 -1
  352. package/assets/esri/core/workers/chunks/39596715e84d0da2f803.js +0 -30
  353. package/assets/esri/core/workers/chunks/398eb3100a282e4736bb.js +0 -1
  354. package/assets/esri/core/workers/chunks/3c5534c576528c1921d2.js +0 -1
  355. package/assets/esri/core/workers/chunks/40b3cdf81c79bbc44527.js +0 -2
  356. package/assets/esri/core/workers/chunks/41f12eb7c9b7086528d5.js +0 -1
  357. package/assets/esri/core/workers/chunks/426156137f279d979ddd.js +0 -1
  358. package/assets/esri/core/workers/chunks/44e52fe98ffafe6a2807.js +0 -1
  359. package/assets/esri/core/workers/chunks/4714241189c13d0db897.js +0 -1
  360. package/assets/esri/core/workers/chunks/4d09ef7c57ab7f9782fe.js +0 -1
  361. package/assets/esri/core/workers/chunks/5022413f5a41b5d435ea.js +0 -1
  362. package/assets/esri/core/workers/chunks/5201105ca11a2d450460.js +0 -1
  363. package/assets/esri/core/workers/chunks/528ed0bd8dc149ead023.js +0 -1
  364. package/assets/esri/core/workers/chunks/537c5dd4cd0a067199d1.js +0 -1
  365. package/assets/esri/core/workers/chunks/538537f9bc866d9caa75.js +0 -1
  366. package/assets/esri/core/workers/chunks/58ac245ff7fb57c1004f.js +0 -1
  367. package/assets/esri/core/workers/chunks/59dafa1e1340ea4043e6.js +0 -1
  368. package/assets/esri/core/workers/chunks/5c7aff9604b4576a0e1d.js +0 -1
  369. package/assets/esri/core/workers/chunks/5d3ddbf94539cb4f493e.js +0 -1
  370. package/assets/esri/core/workers/chunks/5eb9fdb076488de9cd83.js +0 -1
  371. package/assets/esri/core/workers/chunks/603177137eb680afe371.js +0 -1
  372. package/assets/esri/core/workers/chunks/629099f05ca5c9ca1973.js +0 -1
  373. package/assets/esri/core/workers/chunks/62f78fa455d556008f6a.js +0 -1
  374. package/assets/esri/core/workers/chunks/684d3cb4fb233180b2d0.js +0 -1
  375. package/assets/esri/core/workers/chunks/686c51fd2144e132783e.js +0 -1
  376. package/assets/esri/core/workers/chunks/6d616b66fb32904b55a1.js +0 -1
  377. package/assets/esri/core/workers/chunks/6d696beddcc5fbed5875.js +0 -1
  378. package/assets/esri/core/workers/chunks/6f0341cfa4c68e6e60b3.js +0 -1
  379. package/assets/esri/core/workers/chunks/6f125b4ed06c0022dee6.js +0 -1
  380. package/assets/esri/core/workers/chunks/6f4825c3ef1fe202ab82.js +0 -1
  381. package/assets/esri/core/workers/chunks/70229007d594536ba6a3.js +0 -1
  382. package/assets/esri/core/workers/chunks/72d67cc3a382e83bf1a2.js +0 -1
  383. package/assets/esri/core/workers/chunks/7e89cb9ff615742e0894.js +0 -1
  384. package/assets/esri/core/workers/chunks/851705cf276eae8d4d37.js +0 -1
  385. package/assets/esri/core/workers/chunks/882ee7ed8a3a0215f9b9.js +0 -1
  386. package/assets/esri/core/workers/chunks/890b7a1153b7f65eba9a.js +0 -1
  387. package/assets/esri/core/workers/chunks/9660ae52fb3951a19e9c.js +0 -1
  388. package/assets/esri/core/workers/chunks/9d5f7573bfe3b051daf1.js +0 -1
  389. package/assets/esri/core/workers/chunks/a0c00c6fe60db49b3ab9.js +0 -1
  390. package/assets/esri/core/workers/chunks/a4245bd4e67a428fd835.js +0 -1
  391. package/assets/esri/core/workers/chunks/ac33b10fe65f9e9e824f.js +0 -1
  392. package/assets/esri/core/workers/chunks/af31e62499d45bdab3c3.js +0 -1
  393. package/assets/esri/core/workers/chunks/b5937ce657c1fff3864f.js +0 -1
  394. package/assets/esri/core/workers/chunks/c2a65de34f6a6c89c652.js +0 -1
  395. package/assets/esri/core/workers/chunks/c3cf9e6e91f71c9cc5f3.js +0 -1
  396. package/assets/esri/core/workers/chunks/c424a66f1546275e2bcb.js +0 -30
  397. package/assets/esri/core/workers/chunks/c80fc1b3048e8d58a1f8.js +0 -1
  398. package/assets/esri/core/workers/chunks/c911f0b5bdd43b66b731.js +0 -1
  399. package/assets/esri/core/workers/chunks/cc3e895cff019e811c07.js +0 -1
  400. package/assets/esri/core/workers/chunks/d122431f3b0b88dcb488.js +0 -1
  401. package/assets/esri/core/workers/chunks/d24e027bb8b2c09f25c8.js +0 -1
  402. package/assets/esri/core/workers/chunks/d2df8c328054dc6cb7b7.js +0 -1
  403. package/assets/esri/core/workers/chunks/d2f47f21ce0b0ab4da17.js +0 -262
  404. package/assets/esri/core/workers/chunks/d41caf20c26f80385265.js +0 -1
  405. package/assets/esri/core/workers/chunks/d468994822f9bc3d6279.js +0 -1
  406. package/assets/esri/core/workers/chunks/d5c35a75fd4c41def420.js +0 -1
  407. package/assets/esri/core/workers/chunks/d64613209a9eb1eafb11.js +0 -1
  408. package/assets/esri/core/workers/chunks/d7be278aed1fb37ad5ec.js +0 -1
  409. package/assets/esri/core/workers/chunks/d8ec0afb2b91ccf32e55.js +0 -1
  410. package/assets/esri/core/workers/chunks/da1e8b338ab9fe9e0a8e.js +0 -1
  411. package/assets/esri/core/workers/chunks/dd920a6f6422fa213eba.js +0 -1
  412. package/assets/esri/core/workers/chunks/e279bcbe4f10e87bde6c.js +0 -1
  413. package/assets/esri/core/workers/chunks/e2de13810dce01b98520.js +0 -1
  414. package/assets/esri/core/workers/chunks/e33d2ede6c9f1527d51b.js +0 -1
  415. package/assets/esri/core/workers/chunks/e5837e5ac6ef761f26a2.js +0 -1
  416. package/assets/esri/core/workers/chunks/e82488b9b3bb0c1dedb4.js +0 -1
  417. package/assets/esri/core/workers/chunks/e912b515704e20313e53.js +0 -1
  418. package/assets/esri/core/workers/chunks/eac683a37339aa558455.js +0 -1
  419. package/assets/esri/core/workers/chunks/ef46ef4f0ee9f2aeaa4a.js +0 -1
  420. package/assets/esri/core/workers/chunks/f274a8e8c7ca4294e876.js +0 -1
  421. package/assets/esri/core/workers/chunks/f292c2c22a3822343118.js +0 -1
  422. package/assets/esri/core/workers/chunks/f4f642ddd4d5db7cbbb4.js +0 -1
  423. package/assets/esri/core/workers/chunks/f590db684d88e72bd79b.js +0 -1
  424. package/assets/esri/core/workers/chunks/f6d047358d14328f3622.js +0 -1
  425. package/assets/esri/core/workers/chunks/fb6605be0c5e36785543.js +0 -1
  426. package/assets/esri/core/workers/chunks/fd70a25ffdf2cc6c5be2.js +0 -1
  427. package/layers/AnnotationLayer.js +0 -2
  428. package/views/2d/layers/AnnotationLayerView2D.js +0 -2
  429. package/views/3d/webgl-engine/effects/transparency/OITBlendEmissionTechniqueConfiguration.js +0 -2
  430. package/views/3d/webgl-engine/effects/transparency/OITDimOpaqueTechniqueConfiguration.js +0 -2
  431. /package/assets/esri/core/workers/chunks/{40b3cdf81c79bbc44527.js.LICENSE.txt → 62de9e83331fb10aac6a.js.LICENSE.txt} +0 -0
  432. /package/assets/esri/core/workers/chunks/{9fee0110dc7fee4c95e2.js.LICENSE.txt → 641cddee377599916de2.js.LICENSE.txt} +0 -0
  433. /package/views/layers/{AnnotationLayerView.js → AnnotationFeatureLayerView.js} +0 -0
package/core/units.js CHANGED
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{strict as e}from"./jsonMap.js";import{getReferenceEllipsoid as s,isEarth as i}from"../geometry/ellipsoidUtils.js";import{earth as t,mars as n,moon as r}from"../geometry/support/Ellipsoid.js";import{isGeographic as a,isWKIDFromMars as c,isWKIDFromMoon as u}from"../geometry/support/spatialReferenceUtils.js";import l from"../geometry/support/WKIDUnitConversion.js";const o=39.37,m=t.radius*Math.PI/200,f=/(?:LENGTH)?UNIT\[([^\]]+)]]$/i,d=l,U=/UNIT\[([^\]]+)]/i,b=new Set([4305,4807,4810,4811,4812,4816,4819,4821,4901,4902,37225,104025,104026,104139,104140]),B=e()({millimeter:"millimeters",centimeter:"centimeters",meter:"meters",meter_german:"german-meters",kilometer:"kilometers",decimeter:"decimeters",micrometer:"micrometers",nanometer:"nanometers","50_kilometers":"50-kilometers","150_kilometers":"150-kilometers",foot:"feet",foot_us:"us-feet",foot_clarke:"clarke-feet",fathom:"fathoms",nautical_mile:"nautical-miles",chain_us:"us-chains",link_us:"us-links",mile_us:"us-miles",yard_clarke:"clarke-yards",chain_clarke:"clarke-chains",link_clarke:"clarke-links",yard_sears:"sears-yards",foot_sears:"sears-feet",chain_sears:"sears-chains",link_sears:"sears-links",yard_benoit_1895_a:"benoit-1895-a-yards",foot_benoit_1895_a:"benoit-1895-a-feet",chain_benoit_1895_a:"benoit-1895-a-chains",link_benoit_1895_a:"benoit-1895-a-links",yard_benoit_1895_b:"benoit-1895-b-yards",foot_benoit_1895_b:"benoit-1895-b-feet",chain_benoit_1895_b:"benoit-1895-b-chains",link_benoit_1895_b:"benoit-1895-b-links",foot_1865:"1865-feet",foot_indian:"indian-feet",foot_indian_1937:"indian-1937-feet",foot_indian_1962:"indian-1962-feet",foot_indian_1975:"indian-1975-feet",yard_indian:"indian-yards",yard_indian_1937:"indian-1937-yards",yard_indian_1962:"indian-1962-yards",yard_indian_1975:"indian-1975-yards",statute_mile:"statute-miles",foot_gold_coast:"gold-coast-feet",foot_british_1936:"british-1936-feet",yard:"yards",chain:"chains",link:"links",yard_sears_1922_truncated:"sears-1922-truncated-yards",foot_sears_1922_truncated:"sears-1922-truncated-feet",chain_sears_1922_truncated:"sears-1922-truncated-chains",link_sears_1922_truncated:"sears-1922-truncated-links",yard_us:"us-yards",inch:"inches",inch_us:"us-inches",rod:"rods",rod_us:"us-rods",nautical_mile_us:"us-nautical-miles",nautical_mile_uk:"uk-nautical-miles",smoot:"smoots",vara_tx:"tx-vara",point:"points"}),h=e=>e*e,k=e=>e*e*e,_={length:{baseUnit:"meters",units:{millimeters:{inBaseUnits:.001},centimeters:{inBaseUnits:.01},meters:{inBaseUnits:1},feet:{inBaseUnits:.3048},"us-feet":{inBaseUnits:.3048006096012192},"clarke-feet":{inBaseUnits:.3047972654},fathoms:{inBaseUnits:1.8288},"nautical-miles":{inBaseUnits:1852},"german-meters":{inBaseUnits:1.0000135965},"us-chains":{inBaseUnits:20.11684023368047},"us-links":{inBaseUnits:.2011684023368047},"us-miles":{inBaseUnits:1609.347218694438},kilometers:{inBaseUnits:1e3},"clarke-yards":{inBaseUnits:.9143917962},"clarke-chains":{inBaseUnits:20.1166195164},"clarke-links":{inBaseUnits:.201166195164},"sears-yards":{inBaseUnits:.9143984146160287},"sears-feet":{inBaseUnits:.3047994715386762},"sears-chains":{inBaseUnits:20.11676512155263},"sears-links":{inBaseUnits:.2011676512155263},"benoit-1895-a-yards":{inBaseUnits:.9143992},"benoit-1895-a-feet":{inBaseUnits:.3047997333333333},"benoit-1895-a-chains":{inBaseUnits:20.1167824},"benoit-1895-a-links":{inBaseUnits:.201167824},"benoit-1895-b-yards":{inBaseUnits:.9143992042898124},"benoit-1895-b-feet":{inBaseUnits:.3047997347632708},"benoit-1895-b-chains":{inBaseUnits:20.11678249437587},"benoit-1895-b-links":{inBaseUnits:.2011678249437587},"1865-feet":{inBaseUnits:.3048008333333334},"indian-feet":{inBaseUnits:.3047995102481469},"indian-1937-feet":{inBaseUnits:.30479841},"indian-1962-feet":{inBaseUnits:.3047996},"indian-1975-feet":{inBaseUnits:.3047995},"indian-yards":{inBaseUnits:.9143985307444408},"indian-1937-yards":{inBaseUnits:.91439523},"indian-1962-yards":{inBaseUnits:.9143988},"indian-1975-yards":{inBaseUnits:.9143985},miles:{inBaseUnits:1609.344},"statute-miles":{inBaseUnits:1609.344},"gold-coast-feet":{inBaseUnits:.3047997101815088},"british-1936-feet":{inBaseUnits:.3048007491},yards:{inBaseUnits:.9144},chains:{inBaseUnits:20.1168},links:{inBaseUnits:.201168},"sears-1922-truncated-yards":{inBaseUnits:.914398},"sears-1922-truncated-feet":{inBaseUnits:.3047993333333334},"sears-1922-truncated-chains":{inBaseUnits:20.116756},"sears-1922-truncated-links":{inBaseUnits:.20116756},"us-yards":{inBaseUnits:.9144018288036576},decimeters:{inBaseUnits:.1},inches:{inBaseUnits:.0254},"us-inches":{inBaseUnits:.0254000508001016},rods:{inBaseUnits:5.0292},"us-rods":{inBaseUnits:5.029210058420118},"us-nautical-miles":{inBaseUnits:1853.248},"uk-nautical-miles":{inBaseUnits:1853.184},smoots:{inBaseUnits:1.7018},"tx-vara":{inBaseUnits:.8466683600033867},points:{inBaseUnits:.0003527777777777778},micrometers:{inBaseUnits:1e-6},nanometers:{inBaseUnits:1e-9},"50-kilometers":{inBaseUnits:5e4},"150-kilometers":{inBaseUnits:15e4}}},area:{baseUnit:"square-meters",units:{"square-millimeters":{inBaseUnits:h(.001)},"square-centimeters":{inBaseUnits:h(.01)},"square-decimeters":{inBaseUnits:h(.1)},"square-meters":{inBaseUnits:1},"square-kilometers":{inBaseUnits:h(1e3)},"square-inches":{inBaseUnits:h(.0254)},"square-feet":{inBaseUnits:h(.3048)},"square-yards":{inBaseUnits:h(.9144)},"square-miles":{inBaseUnits:h(1609.344)},"square-nautical-miles":{inBaseUnits:h(1852)},"square-us-feet":{inBaseUnits:h(1200/3937)},acres:{inBaseUnits:.0015625*h(1609.344)},ares:{inBaseUnits:100},hectares:{inBaseUnits:1e4}}},volume:{baseUnit:"liters",units:{liters:{inBaseUnits:1},megaliters:{inBaseUnits:1e6},gigaliters:{inBaseUnits:1e9},"cubic-millimeters":{inBaseUnits:1e3*k(.001)},"cubic-centimeters":{inBaseUnits:1e3*k(.01)},"cubic-decimeters":{inBaseUnits:1e3*k(.1)},"cubic-meters":{inBaseUnits:1e3},"cubic-kilometers":{inBaseUnits:1e3*k(1e3)},"cubic-inches":{inBaseUnits:1e3*k(.0254)},"cubic-feet":{inBaseUnits:1e3*k(.3048)},"cubic-yards":{inBaseUnits:1e3*k(.9144)},"cubic-miles":{inBaseUnits:1e3*k(1609.344)},"cubic-us-feet":{inBaseUnits:1e3*k(1200/3937)}}},angle:{baseUnit:"radians",units:{radians:{inBaseUnits:1},degrees:{inBaseUnits:Math.PI/180}}}},q=(()=>{const e={};for(const s in _)for(const i in _[s].units)e[i]=s;return e})();function y(e,s,i){return e*_[i].units[s].inBaseUnits}function p(e,s,i){return e/_[i].units[s].inBaseUnits}const g=["inches","feet","yards","miles","nautical-miles","us-feet","millimeters","centimeters","decimeters","meters","kilometers"],w=["square-inches","square-feet","square-yards","square-miles","square-nautical-miles","square-us-feet","square-millimeters","square-centimeters","square-decimeters","square-meters","square-kilometers","acres","ares","hectares"],M=["cubic-inches","cubic-feet","cubic-yards","cubic-miles","cubic-us-feet","liters","megaliters","gigaliters","cubic-millimeters","cubic-centimeters","cubic-decimeters","cubic-meters","cubic-kilometers"],S=["metric","imperial"],D=[...S,...w],v=[...S,...g],C=[...S,...M],E=new Map([["meters","square-meters"],["feet","square-feet"],["us-feet","square-us-feet"]]);function P(e){return"imperial"===e||"metric"===e}function x(e){const s=q[e];if(!s)throw new Error("unknown type");return s}function I(e){return _[e].baseUnit}function R(e){return I(x(e))}function j(e,s=null){return s=s||x(e),_[s].baseUnit===e}function N(e,s,i){if(s===i)return e;const t=x(s);if(t!==x(i))throw new Error("incompatible units");const n=j(s,t)?e:y(e,s,t);return j(i,t)?n:p(n,i,t)}function O(e,s,i,t=!1){if(!t&&a(s))throw new Error("Unable to convert from an angular unit to a linear unit.");const n=oe(s);return n!==i&&(e=n?N(e,n,i):N(e*=re(s),"meters",i)),e}function F(e,s,i,t=!1){if(!t&&a(i))throw new Error("Unable to convert from a linear unit to an angular unit.");const n=oe(i);return s!==n&&(e=n?N(e,s,n):N(e,s,"meters")/re(i)),e}function J(e){switch(e){case"metric":return"meters";case"imperial":return"feet";default:return e}}function T(e){return J(e)}function K(e){switch(e){case"metric":return"square-meters";case"imperial":return"square-feet";default:return e}}function A(e){switch(e){case"metric":return"cubic-meters";case"imperial":return"cubic-feet";default:return e}}function G(e,s,i){switch(i){case"metric":return L(e,s);case"imperial":return W(e,s);default:return i}}function H(e,s,i){switch(i){case"metric":return Y(e,s);case"imperial":return $(e,s);default:return i}}function L(e,s){const i=N(e,s,"meters");return Math.abs(i)<3e3?"meters":"kilometers"}function Y(e,s){const i=N(e,s,"meters");return Math.abs(i)<1e5?"meters":"kilometers"}function W(e,s){const i=N(e,s,"feet");return Math.abs(i)<1e3?"feet":"miles"}function $(e,s){const i=N(e,s,"feet");return Math.abs(i)<1e5?"feet":"miles"}function z(e,s){const i=N(e,s,"square-meters");return Math.abs(i)<3e6?"square-meters":"square-kilometers"}function Q(e,s){const i=N(e,s,"square-feet");return Math.abs(i)<1e6?"square-feet":"square-miles"}function V(e,s,i){switch(i){case"metric":return z(e,s);case"imperial":return Q(e,s);default:return i}}function X(e,s){const i=N(e,s,"cubic-meters");return Math.abs(i)<3e8?"cubic-meters":"cubic-kilometers"}function Z(e,s){const i=N(e,s,"cubic-feet");return Math.abs(i)<1e8?"cubic-feet":"cubic-miles"}function ee(e,s,i){switch(i){case"metric":return X(e,s);case"imperial":return Z(e,s);default:return i}}function se(e,s,i){return N(e,s,"meters")/(i*Math.PI/180)}function ie(e){return B.fromJSON(e.toLowerCase())||null}function te(e){return null==e||i(e)?ae(e,!1)??1:1}function ne(e){return re(e)>=s(e).metersPerDegree?"meters":oe(e)}function re(e,s=t.metersPerDegree){return ae(e,!0)??s}function ae(e,s=!1){const i=e?.wkid??null,t=e?.wkt2??e?.wkt??null;let a=null;if(i){if(c(i))return n.metersPerDegree;if(u(i))return r.metersPerDegree;a=d.values[d[i]],!a&&s&&b.has(i)&&(a=m)}else t&&(be(t)?a=ue(f.exec(t),a):Ue(t)&&(a=ue(U.exec(t),a)));return a}function ce(e){return a(e)?1:re(e)}function ue(e,s){return e?.[1]?le(e[1]):s}function le(e){return parseFloat(e.split(",")[1])}function oe(e){const s=e?.wkid??null,i=e?.wkt2??e?.wkt??null;let t=null;if(s)t=d.units[d[s]];else if(i){const e=be(i)?f:Ue(i)?U:null;if(e){const s=e.exec(i);s?.[1]&&(t=he(s[1]))}}return null!=t?ie(t):null}function me(e){const s=oe(e);return null!=s&&v.includes(s)?s:null}function fe(e){const s=ne(e);return null!=s&&v.includes(s)?s:null}function de(e){const s=oe(e);return null==s?null:E.get(s)}function Ue(e){return/^GEOCCS/i.test(e)}function be(e){return/^\s*(?:PROJCS|PROJCRS|PROJECTEDCRS)/i.test(e)}const Be=1e-7;function he(e){const s=/[\\"']([^\\"']+)/.exec(e);let i=s?.[1];if(!i||!ie(i)){const s=le(e);i=null;const t=d.values;for(let e=0;e<t.length;++e)if(Math.abs(s-t[e])<Be){i=d.units[e];break}}return i}function ke(e){const s=oe(e);if(null==s)return null;switch(s){case"feet":case"us-feet":case"clarke-feet":case"fathoms":case"nautical-miles":case"us-chains":case"us-links":case"us-miles":case"clarke-yards":case"clarke-chains":case"clarke-links":case"sears-yards":case"sears-feet":case"sears-chains":case"sears-links":case"benoit-1895-a-yards":case"benoit-1895-a-feet":case"benoit-1895-a-chains":case"benoit-1895-a-links":case"benoit-1895-b-yards":case"benoit-1895-b-feet":case"benoit-1895-b-chains":case"benoit-1895-b-links":case"1865-feet":case"indian-feet":case"indian-1937-feet":case"indian-1962-feet":case"indian-1975-feet":case"indian-yards":case"indian-1937-yards":case"indian-1962-yards":case"indian-1975-yards":case"statute-miles":case"gold-coast-feet":case"british-1936-feet":case"yards":case"chains":case"links":case"sears-1922-truncated-yards":case"sears-1922-truncated-feet":case"sears-1922-truncated-chains":case"sears-1922-truncated-links":case"us-yards":case"inches":case"us-inches":case"rods":case"us-rods":case"us-nautical-miles":case"uk-nautical-miles":case"smoots":case"tx-vara":case"points":return"imperial";case"millimeters":case"centimeters":case"meters":case"german-meters":case"kilometers":case"decimeters":case"micrometers":case"nanometers":case"50-kilometers":case"150-kilometers":return"metric"}return null}const _e={esriAcres:"acres",esriAres:"ares",esriHectares:"hectares",esriSquareCentimeters:"square-centimeters",esriSquareDecimeters:"square-decimeters",esriSquareFeet:"square-feet",esriSquareInches:"square-inches",esriSquareKilometers:"square-kilometers",esriSquareMeters:"square-meters",esriSquareMiles:"square-miles",esriSquareMillimeters:"square-millimeters",esriSquareUsFeet:"square-us-feet",esriSquareYards:"square-yards"},qe={esriCentimeters:"centimeters",esriDecimeters:"decimeters",esriFeet:"feet",esriInches:"inches",esriKilometers:"kilometers",esriMeters:"meters",esriMiles:"miles",esriMillimeters:"millimeters",esriNauticalMiles:"nautical-miles",esriYards:"yards"},ye={esriDUDecimalDegrees:"degrees",esriDURadians:"radians"},pe=e()(_e),ge=e()(qe),we=e()(ye);function Me(e){switch(e){case"metric":case"ares":case"hectares":return"metric";case"imperial":case"acres":return"imperial";case"square-inches":return"inches";case"square-feet":return"feet";case"square-yards":return"yards";case"square-miles":return"miles";case"square-nautical-miles":return"nautical-miles";case"square-us-feet":return"us-feet";case"square-millimeters":return"millimeters";case"square-centimeters":return"centimeters";case"square-decimeters":return"decimeters";case"square-meters":return"meters";case"square-kilometers":return"kilometers"}throw new Error("unhandled area unit")}export{V as adaptiveAreaUnit,Q as adaptiveImperialAreaUnit,W as adaptiveImperialLengthUnit,$ as adaptiveImperialVerticalLengthUnit,Z as adaptiveImperialVolumeUnit,G as adaptiveLengthUnit,z as adaptiveMetricAreaUnit,L as adaptiveMetricLengthUnit,Y as adaptiveMetricVerticalLengthUnit,X as adaptiveMetricVolumeUnit,H as adaptiveVerticalLengthUnit,ee as adaptiveVolumeUnit,we as angleUnitsJSONMap,de as areaUnitFromSpatialReference,pe as areaUnitsJSONMap,R as baseUnitForUnit,I as baseUnitForUnitType,O as convertFromSpatialReferenceUnit,F as convertToSpatialReferenceUnit,N as convertUnit,K as defaultAreaUnit,J as defaultLengthUnit,T as defaultVerticalLengthUnit,A as defaultVolumeUnit,Me as deriveLengthUnitFromAreaUnit,ke as getDefaultUnitSystem,ce as getMetersPerCartesianUnitForSR,ae as getMetersPerUnit,re as getMetersPerUnitForSR,te as getMetersPerVerticalUnitForSR,oe as getUnitString,ne as getVerticalUnitStringForSR,b as gradGcsIds,o as inchesPerMeter,j as isBaseUnit,P as isMeasurementSystem,be as isProjectedWKT,se as lengthToDegrees,me as lengthUnitFromSpatialReference,g as lengthUnits,ge as lengthUnitsJSONMap,D as measurementAreaUnits,v as measurementLengthUnits,C as measurementVolumeUnits,ie as unitFromRESTJSON,x as unitType,fe as verticalLengthUnitFromSpatialReference};
2
+ import{strict as e}from"./jsonMap.js";import{getReferenceEllipsoid as s,isEarth as i}from"../geometry/ellipsoidUtils.js";import{earth as t,mars as n,moon as r}from"../geometry/support/Ellipsoid.js";import{isGeographic as a,isWKIDFromMars as c,isWKIDFromMoon as u}from"../geometry/support/spatialReferenceUtils.js";import{vcsLookup as l}from"../geometry/support/vcsLookup.js";import o from"../geometry/support/WKIDUnitConversion.js";const m=39.37,f=t.radius*Math.PI/200,d=/(?:LENGTH)?UNIT\[([^\]]+)]]$/i,U=o,b=/UNIT\[([^\]]+)]/i,B=new Set([4305,4807,4810,4811,4812,4816,4819,4821,4901,4902,37225,104025,104026,104139,104140]),k=e()({millimeter:"millimeters",centimeter:"centimeters",meter:"meters",meter_german:"german-meters",kilometer:"kilometers",decimeter:"decimeters",micrometer:"micrometers",nanometer:"nanometers","50_kilometers":"50-kilometers","150_kilometers":"150-kilometers",foot:"feet",foot_us:"us-feet",foot_clarke:"clarke-feet",fathom:"fathoms",nautical_mile:"nautical-miles",chain_us:"us-chains",link_us:"us-links",mile_us:"us-miles",yard_clarke:"clarke-yards",chain_clarke:"clarke-chains",link_clarke:"clarke-links",yard_sears:"sears-yards",foot_sears:"sears-feet",chain_sears:"sears-chains",link_sears:"sears-links",yard_benoit_1895_a:"benoit-1895-a-yards",foot_benoit_1895_a:"benoit-1895-a-feet",chain_benoit_1895_a:"benoit-1895-a-chains",link_benoit_1895_a:"benoit-1895-a-links",yard_benoit_1895_b:"benoit-1895-b-yards",foot_benoit_1895_b:"benoit-1895-b-feet",chain_benoit_1895_b:"benoit-1895-b-chains",link_benoit_1895_b:"benoit-1895-b-links",foot_1865:"1865-feet",foot_indian:"indian-feet",foot_indian_1937:"indian-1937-feet",foot_indian_1962:"indian-1962-feet",foot_indian_1975:"indian-1975-feet",yard_indian:"indian-yards",yard_indian_1937:"indian-1937-yards",yard_indian_1962:"indian-1962-yards",yard_indian_1975:"indian-1975-yards",statute_mile:"statute-miles",foot_gold_coast:"gold-coast-feet",foot_british_1936:"british-1936-feet",yard:"yards",chain:"chains",link:"links",yard_sears_1922_truncated:"sears-1922-truncated-yards",foot_sears_1922_truncated:"sears-1922-truncated-feet",chain_sears_1922_truncated:"sears-1922-truncated-chains",link_sears_1922_truncated:"sears-1922-truncated-links",yard_us:"us-yards",inch:"inches",inch_us:"us-inches",rod:"rods",rod_us:"us-rods",nautical_mile_us:"us-nautical-miles",nautical_mile_uk:"uk-nautical-miles",smoot:"smoots",vara_tx:"tx-vara",point:"points"}),h=e=>e*e,_=e=>e*e*e,q={length:{baseUnit:"meters",units:{millimeters:{inBaseUnits:.001},centimeters:{inBaseUnits:.01},meters:{inBaseUnits:1},feet:{inBaseUnits:.3048},"us-feet":{inBaseUnits:.3048006096012192},"clarke-feet":{inBaseUnits:.3047972654},fathoms:{inBaseUnits:1.8288},"nautical-miles":{inBaseUnits:1852},"german-meters":{inBaseUnits:1.0000135965},"us-chains":{inBaseUnits:20.11684023368047},"us-links":{inBaseUnits:.2011684023368047},"us-miles":{inBaseUnits:1609.347218694438},kilometers:{inBaseUnits:1e3},"clarke-yards":{inBaseUnits:.9143917962},"clarke-chains":{inBaseUnits:20.1166195164},"clarke-links":{inBaseUnits:.201166195164},"sears-yards":{inBaseUnits:.9143984146160287},"sears-feet":{inBaseUnits:.3047994715386762},"sears-chains":{inBaseUnits:20.11676512155263},"sears-links":{inBaseUnits:.2011676512155263},"benoit-1895-a-yards":{inBaseUnits:.9143992},"benoit-1895-a-feet":{inBaseUnits:.3047997333333333},"benoit-1895-a-chains":{inBaseUnits:20.1167824},"benoit-1895-a-links":{inBaseUnits:.201167824},"benoit-1895-b-yards":{inBaseUnits:.9143992042898124},"benoit-1895-b-feet":{inBaseUnits:.3047997347632708},"benoit-1895-b-chains":{inBaseUnits:20.11678249437587},"benoit-1895-b-links":{inBaseUnits:.2011678249437587},"1865-feet":{inBaseUnits:.3048008333333334},"indian-feet":{inBaseUnits:.3047995102481469},"indian-1937-feet":{inBaseUnits:.30479841},"indian-1962-feet":{inBaseUnits:.3047996},"indian-1975-feet":{inBaseUnits:.3047995},"indian-yards":{inBaseUnits:.9143985307444408},"indian-1937-yards":{inBaseUnits:.91439523},"indian-1962-yards":{inBaseUnits:.9143988},"indian-1975-yards":{inBaseUnits:.9143985},miles:{inBaseUnits:1609.344},"statute-miles":{inBaseUnits:1609.344},"gold-coast-feet":{inBaseUnits:.3047997101815088},"british-1936-feet":{inBaseUnits:.3048007491},yards:{inBaseUnits:.9144},chains:{inBaseUnits:20.1168},links:{inBaseUnits:.201168},"sears-1922-truncated-yards":{inBaseUnits:.914398},"sears-1922-truncated-feet":{inBaseUnits:.3047993333333334},"sears-1922-truncated-chains":{inBaseUnits:20.116756},"sears-1922-truncated-links":{inBaseUnits:.20116756},"us-yards":{inBaseUnits:.9144018288036576},decimeters:{inBaseUnits:.1},inches:{inBaseUnits:.0254},"us-inches":{inBaseUnits:.0254000508001016},rods:{inBaseUnits:5.0292},"us-rods":{inBaseUnits:5.029210058420118},"us-nautical-miles":{inBaseUnits:1853.248},"uk-nautical-miles":{inBaseUnits:1853.184},smoots:{inBaseUnits:1.7018},"tx-vara":{inBaseUnits:.8466683600033867},points:{inBaseUnits:.0003527777777777778},micrometers:{inBaseUnits:1e-6},nanometers:{inBaseUnits:1e-9},"50-kilometers":{inBaseUnits:5e4},"150-kilometers":{inBaseUnits:15e4}}},area:{baseUnit:"square-meters",units:{"square-millimeters":{inBaseUnits:h(.001)},"square-centimeters":{inBaseUnits:h(.01)},"square-decimeters":{inBaseUnits:h(.1)},"square-meters":{inBaseUnits:1},"square-kilometers":{inBaseUnits:h(1e3)},"square-inches":{inBaseUnits:h(.0254)},"square-feet":{inBaseUnits:h(.3048)},"square-yards":{inBaseUnits:h(.9144)},"square-miles":{inBaseUnits:h(1609.344)},"square-nautical-miles":{inBaseUnits:h(1852)},"square-us-feet":{inBaseUnits:h(1200/3937)},acres:{inBaseUnits:.0015625*h(1609.344)},ares:{inBaseUnits:100},hectares:{inBaseUnits:1e4}}},volume:{baseUnit:"liters",units:{liters:{inBaseUnits:1},megaliters:{inBaseUnits:1e6},gigaliters:{inBaseUnits:1e9},"cubic-millimeters":{inBaseUnits:1e3*_(.001)},"cubic-centimeters":{inBaseUnits:1e3*_(.01)},"cubic-decimeters":{inBaseUnits:1e3*_(.1)},"cubic-meters":{inBaseUnits:1e3},"cubic-kilometers":{inBaseUnits:1e3*_(1e3)},"cubic-inches":{inBaseUnits:1e3*_(.0254)},"cubic-feet":{inBaseUnits:1e3*_(.3048)},"cubic-yards":{inBaseUnits:1e3*_(.9144)},"cubic-miles":{inBaseUnits:1e3*_(1609.344)},"cubic-us-feet":{inBaseUnits:1e3*_(1200/3937)}}},angle:{baseUnit:"radians",units:{radians:{inBaseUnits:1},degrees:{inBaseUnits:Math.PI/180}}}},y=(()=>{const e={};for(const s in q)for(const i in q[s].units)e[i]=s;return e})();function p(e,s,i){return e*q[i].units[s].inBaseUnits}function g(e,s,i){return e/q[i].units[s].inBaseUnits}const w=["inches","feet","yards","miles","nautical-miles","us-feet","millimeters","centimeters","decimeters","meters","kilometers"],M=["square-inches","square-feet","square-yards","square-miles","square-nautical-miles","square-us-feet","square-millimeters","square-centimeters","square-decimeters","square-meters","square-kilometers","acres","ares","hectares"],v=["cubic-inches","cubic-feet","cubic-yards","cubic-miles","cubic-us-feet","liters","megaliters","gigaliters","cubic-millimeters","cubic-centimeters","cubic-decimeters","cubic-meters","cubic-kilometers"],S=["metric","imperial"],D=[...S,...M],C=[...S,...w],E=[...S,...v],P=new Map([["meters","square-meters"],["feet","square-feet"],["us-feet","square-us-feet"]]);function x(e){return"imperial"===e||"metric"===e}function W(e){const s=y[e];if(!s)throw new Error("unknown type");return s}function I(e){return q[e].baseUnit}function j(e){return I(W(e))}function R(e,s=null){return s=s||W(e),q[s].baseUnit===e}function F(e,s,i){if(s===i)return e;const t=W(s);if(t!==W(i))throw new Error("incompatible units");const n=R(s,t)?e:p(e,s,t);return R(i,t)?n:g(n,i,t)}function N(e,s,i,t=!1){if(!t&&a(s))throw new Error("Unable to convert from an angular unit to a linear unit.");const n=me(s);return n!==i&&(e=n?F(e,n,i):F(e*=ae(s),"meters",i)),e}function O(e,s,i,t=!1){if(!t&&a(i))throw new Error("Unable to convert from a linear unit to an angular unit.");const n=me(i);return s!==n&&(e=n?F(e,s,n):F(e,s,"meters")/ae(i)),e}function J(e){switch(e){case"metric":return"meters";case"imperial":return"feet";default:return e}}function T(e){return J(e)}function V(e){switch(e){case"metric":return"square-meters";case"imperial":return"square-feet";default:return e}}function K(e){switch(e){case"metric":return"cubic-meters";case"imperial":return"cubic-feet";default:return e}}function L(e,s,i){switch(i){case"metric":return G(e,s);case"imperial":return Y(e,s);default:return i}}function A(e,s,i){switch(i){case"metric":return H(e,s);case"imperial":return $(e,s);default:return i}}function G(e,s){const i=F(e,s,"meters");return Math.abs(i)<3e3?"meters":"kilometers"}function H(e,s){const i=F(e,s,"meters");return Math.abs(i)<1e5?"meters":"kilometers"}function Y(e,s){const i=F(e,s,"feet");return Math.abs(i)<1e3?"feet":"miles"}function $(e,s){const i=F(e,s,"feet");return Math.abs(i)<1e5?"feet":"miles"}function z(e,s){const i=F(e,s,"square-meters");return Math.abs(i)<3e6?"square-meters":"square-kilometers"}function Q(e,s){const i=F(e,s,"square-feet");return Math.abs(i)<1e6?"square-feet":"square-miles"}function X(e,s,i){switch(i){case"metric":return z(e,s);case"imperial":return Q(e,s);default:return i}}function Z(e,s){const i=F(e,s,"cubic-meters");return Math.abs(i)<3e8?"cubic-meters":"cubic-kilometers"}function ee(e,s){const i=F(e,s,"cubic-feet");return Math.abs(i)<1e8?"cubic-feet":"cubic-miles"}function se(e,s,i){switch(i){case"metric":return Z(e,s);case"imperial":return ee(e,s);default:return i}}function ie(e,s,i){return F(e,s,"meters")/(i*Math.PI/180)}function te(e){return k.fromJSON(e.toLowerCase())||null}function ne(e){const s=(e?.latestVcsWkid?l.get(e.latestVcsWkid):null)??(e?.vcsWkid?l.get(e.vcsWkid):null);return s?s.unit.conversionFactor:null==e||i(e)?ce(e,!1)??1:1}function re(e){const i=(e?.latestVcsWkid?l.get(e.latestVcsWkid):null)??(e?.vcsWkid?l.get(e.vcsWkid):null);if(i)return te(i.unit.name);return ae(e)>=s(e).metersPerDegree?"meters":me(e)}function ae(e,s=t.metersPerDegree){return ce(e,!0)??s}function ce(e,s=!1){const i=e?.wkid??null,t=e?.wkt2??e?.wkt??null;let a=null;if(i){if(c(i))return n.metersPerDegree;if(u(i))return r.metersPerDegree;a=U.values[U[i]],!a&&s&&B.has(i)&&(a=f)}else t&&(Be(t)?a=le(d.exec(t),a):be(t)&&(a=le(b.exec(t),a)));return a}function ue(e){return a(e)?1:ae(e)}function le(e,s){return e?.[1]?oe(e[1]):s}function oe(e){return parseFloat(e.split(",")[1])}function me(e){const s=e?.wkid??null,i=e?.wkt2??e?.wkt??null;let t=null;if(s)t=U.units[U[s]];else if(i){const e=Be(i)?d:be(i)?b:null;if(e){const s=e.exec(i);s?.[1]&&(t=he(s[1]))}}return null!=t?te(t):null}function fe(e){const s=me(e);return null!=s&&C.includes(s)?s:null}function de(e){const s=re(e);return null!=s&&C.includes(s)?s:null}function Ue(e){const s=me(e);return null==s?null:P.get(s)}function be(e){return/^GEOCCS/i.test(e)}function Be(e){return/^\s*(?:PROJCS|PROJCRS|PROJECTEDCRS)/i.test(e)}const ke=1e-7;function he(e){const s=/[\\"']([^\\"']+)/.exec(e);let i=s?.[1];if(!i||!te(i)){const s=oe(e);i=null;const t=U.values;for(let e=0;e<t.length;++e)if(Math.abs(s-t[e])<ke){i=U.units[e];break}}return i}function _e(e){const s=me(e);if(null==s)return null;switch(s){case"feet":case"us-feet":case"clarke-feet":case"fathoms":case"nautical-miles":case"us-chains":case"us-links":case"us-miles":case"clarke-yards":case"clarke-chains":case"clarke-links":case"sears-yards":case"sears-feet":case"sears-chains":case"sears-links":case"benoit-1895-a-yards":case"benoit-1895-a-feet":case"benoit-1895-a-chains":case"benoit-1895-a-links":case"benoit-1895-b-yards":case"benoit-1895-b-feet":case"benoit-1895-b-chains":case"benoit-1895-b-links":case"1865-feet":case"indian-feet":case"indian-1937-feet":case"indian-1962-feet":case"indian-1975-feet":case"indian-yards":case"indian-1937-yards":case"indian-1962-yards":case"indian-1975-yards":case"statute-miles":case"gold-coast-feet":case"british-1936-feet":case"yards":case"chains":case"links":case"sears-1922-truncated-yards":case"sears-1922-truncated-feet":case"sears-1922-truncated-chains":case"sears-1922-truncated-links":case"us-yards":case"inches":case"us-inches":case"rods":case"us-rods":case"us-nautical-miles":case"uk-nautical-miles":case"smoots":case"tx-vara":case"points":return"imperial";case"millimeters":case"centimeters":case"meters":case"german-meters":case"kilometers":case"decimeters":case"micrometers":case"nanometers":case"50-kilometers":case"150-kilometers":return"metric"}return null}const qe={esriAcres:"acres",esriAres:"ares",esriHectares:"hectares",esriSquareCentimeters:"square-centimeters",esriSquareDecimeters:"square-decimeters",esriSquareFeet:"square-feet",esriSquareInches:"square-inches",esriSquareKilometers:"square-kilometers",esriSquareMeters:"square-meters",esriSquareMiles:"square-miles",esriSquareMillimeters:"square-millimeters",esriSquareUsFeet:"square-us-feet",esriSquareYards:"square-yards"},ye={esriCentimeters:"centimeters",esriDecimeters:"decimeters",esriFeet:"feet",esriInches:"inches",esriKilometers:"kilometers",esriMeters:"meters",esriMiles:"miles",esriMillimeters:"millimeters",esriNauticalMiles:"nautical-miles",esriYards:"yards"},pe={esriDUDecimalDegrees:"degrees",esriDURadians:"radians"},ge=e()(qe),we=e()(ye),Me=e()(pe);function ve(e){switch(e){case"metric":case"ares":case"hectares":return"metric";case"imperial":case"acres":return"imperial";case"square-inches":return"inches";case"square-feet":return"feet";case"square-yards":return"yards";case"square-miles":return"miles";case"square-nautical-miles":return"nautical-miles";case"square-us-feet":return"us-feet";case"square-millimeters":return"millimeters";case"square-centimeters":return"centimeters";case"square-decimeters":return"decimeters";case"square-meters":return"meters";case"square-kilometers":return"kilometers"}throw new Error("unhandled area unit")}export{X as adaptiveAreaUnit,Q as adaptiveImperialAreaUnit,Y as adaptiveImperialLengthUnit,$ as adaptiveImperialVerticalLengthUnit,ee as adaptiveImperialVolumeUnit,L as adaptiveLengthUnit,z as adaptiveMetricAreaUnit,G as adaptiveMetricLengthUnit,H as adaptiveMetricVerticalLengthUnit,Z as adaptiveMetricVolumeUnit,A as adaptiveVerticalLengthUnit,se as adaptiveVolumeUnit,Me as angleUnitsJSONMap,Ue as areaUnitFromSpatialReference,ge as areaUnitsJSONMap,j as baseUnitForUnit,I as baseUnitForUnitType,N as convertFromSpatialReferenceUnit,O as convertToSpatialReferenceUnit,F as convertUnit,V as defaultAreaUnit,J as defaultLengthUnit,T as defaultVerticalLengthUnit,K as defaultVolumeUnit,ve as deriveLengthUnitFromAreaUnit,_e as getDefaultUnitSystem,ue as getMetersPerCartesianUnitForSR,ce as getMetersPerUnit,ae as getMetersPerUnitForSR,ne as getMetersPerVerticalUnitForSR,me as getUnitString,re as getVerticalUnitStringForSR,B as gradGcsIds,m as inchesPerMeter,R as isBaseUnit,x as isMeasurementSystem,Be as isProjectedWKT,ie as lengthToDegrees,fe as lengthUnitFromSpatialReference,w as lengthUnits,we as lengthUnitsJSONMap,D as measurementAreaUnits,C as measurementLengthUnits,E as measurementVolumeUnits,te as unitFromRESTJSON,W as unitType,de as verticalLengthUnitFromSpatialReference};
package/form/types.d.ts CHANGED
@@ -22,4 +22,4 @@ export type FormElementUnion = AttachmentElement | FieldElement | GroupElement |
22
22
  *
23
23
  * @since 5.0
24
24
  */
25
- export type NestableFormElementUnion = Exclude<FormElementUnion, GroupElement | AttachmentElement>;
25
+ export type NestableFormElementUnion = Exclude<FormElementUnion, GroupElement>;
@@ -37,7 +37,8 @@ export interface MeshProperties extends BaseGeometryProperties, LoadableMixinPro
37
37
  */
38
38
  components?: MeshComponentProperties[] | null;
39
39
  /**
40
- * Additional local transformation of the mesh vertices. The transform is ignored if the [vertexSpace)(#vertexSpace)
40
+ * Additional local transformation of the mesh vertices. The transform is ignored if the
41
+ * [vertexSpace](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/#vertexSpace)
41
42
  * is of type [georeferenced](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/MeshGeoreferencedVertexSpace/) and does not specify
42
43
  * an [MeshGeoreferencedVertexSpace.origin](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/MeshGeoreferencedVertexSpace/#origin).
43
44
  */
@@ -82,124 +83,228 @@ export interface MeshProperties extends BaseGeometryProperties, LoadableMixinPro
82
83
  * };
83
84
  */
84
85
  vertexAttributes?: MeshVertexAttributesProperties;
85
- /** The vertex space of the mesh. See [mesh API](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/#mesh-api) for details. */
86
+ /**
87
+ * Defines how the SDK interprets the x, y, z position values stored in
88
+ * [Mesh.vertexAttributes.position](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/MeshVertexAttributes/#position).
89
+ *
90
+ * A source 3D model or custom vertex buffer usually stores positions as numbers, but those numbers do not indicate by
91
+ * themselves whether they are local model coordinates, offsets from a placement point, or absolute map coordinates.
92
+ * This property makes that interpretation explicit for the Mesh geometry.
93
+ *
94
+ * Use [MeshLocalVertexSpace](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/MeshLocalVertexSpace/) when the position values are meter-based local model coordinates
95
+ * and should be placed in a global [SceneView](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/). Use
96
+ * [MeshGeoreferencedVertexSpace](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/MeshGeoreferencedVertexSpace/) when the position values should be interpreted as offsets or
97
+ * absolute coordinates in the coordinate system identified by
98
+ * [Mesh.spatialReference](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/#spatialReference), which is the usual choice for local scenes with a
99
+ * projected coordinate system.
100
+ *
101
+ * This property is construct-only because changing it changes the meaning of every vertex position in the mesh.
102
+ * To change the vertex space of an existing mesh, use [convertVertexSpace()](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/meshUtils/#convertVertexSpace).
103
+ */
86
104
  vertexSpace?: ((MeshGeoreferencedVertexSpaceProperties & { type: "georeferenced" }) | (MeshLocalVertexSpaceProperties & { type: "local" }));
87
105
  }
88
106
 
89
107
  /**
90
- * A mesh is a general, client-side 3D [Geometry](https://developers.arcgis.com/javascript/latest/references/core/geometry/Geometry/) type
91
- * composed of [vertices with attributes](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/#vertexAttributes). The vertices include
92
- * geographic position, normals that affect lighting/shading and UV coordinates that
93
- * can be used to map images to the mesh. Vertices are combined into 3D primitives
94
- * to render the mesh in the scene (only triangle primitives are currently supported).
95
- *
96
- * Mesh geometries can have an intrinsic material that determines how it is being
97
- * displayed. Similar to 3D objects in scene layers, mesh geometries are symbolized with a
98
- * [MeshSymbol3D](https://developers.arcgis.com/javascript/latest/references/core/symbols/MeshSymbol3D/) symbol containing a
99
- * [FillSymbol3DLayer](https://developers.arcgis.com/javascript/latest/references/core/symbols/FillSymbol3DLayer/).
100
- *
101
- * To support multiple materials (as is often the case for complex 3D models), meshes
102
- * may define [components](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/#components) that define a material for a specific region
103
- * in the mesh. In addition to supporting multiple materials, components can also
104
- * reuse vertices that would otherwise be duplicated to form triangles.
105
- *
106
- * Meshes are loadable since 4.27. In particular when meshes come from remote services like
107
- * through [SceneLayer.queryFeatures()](https://developers.arcgis.com/javascript/latest/references/core/layers/SceneLayer/#queryFeatures), then
108
- * the contents of the mesh needs to be loaded asynchronously through the
109
- * [load()](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/#load) method before
110
- * [vertexAttributes](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/#vertexAttributes),
111
- * [extent](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/#extent),
112
- * [components](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/#components), etc. are available.
113
- *
114
- * Meshes represent fully georeferenced 3D geometry and care needs to be taken when importing mesh data.
108
+ * ## Overview
109
+ *
110
+ * In general 3D terminology, a mesh is a set of vertices connected into faces that define the shape and surface of a
111
+ * 3D object. In the Maps SDK, a Mesh instance is a [Geometry](https://developers.arcgis.com/javascript/latest/references/core/geometry/Geometry/) that stores those vertices in
112
+ * [vertexAttributes](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/#vertexAttributes).
113
+ *
114
+ * The [position](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/MeshVertexAttributes/#position) values define the shape of the 3D object,
115
+ * [normals](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/MeshVertexAttributes/#normal) affect lighting and shading, and
116
+ * [UV coordinates](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/MeshVertexAttributes/#uv) can be used to map images to the surface.
117
+ * [Mesh components](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/MeshComponent/) define triangle faces and can assign materials to different
118
+ * regions of the Mesh geometry. Because faces index into the vertex attributes, components can reuse the same vertices
119
+ * instead of duplicating them for every triangle.
120
+ *
121
+ * Mesh geometries can define intrinsic materials. Similar to 3D objects in scene layers, they are symbolized with a
122
+ * [MeshSymbol3D](https://developers.arcgis.com/javascript/latest/references/core/symbols/MeshSymbol3D/) symbol containing a [FillSymbol3DLayer](https://developers.arcgis.com/javascript/latest/references/core/symbols/FillSymbol3DLayer/). The fill symbol layer renders
123
+ * the mesh surface and can define visual overrides such as material, color, and edges.
124
+ *
125
+ * Meshes returned from remote services, such as through [SceneLayer.queryFeatures()](https://developers.arcgis.com/javascript/latest/references/core/layers/SceneLayer/#queryFeatures), may need to load
126
+ * their content asynchronously. When a Mesh is added to a view through a [Graphic](https://developers.arcgis.com/javascript/latest/references/core/Graphic/), the API loads it as needed
127
+ * for display. Call [load()](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/#load) before accessing properties such as
128
+ * [vertexAttributes](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/#vertexAttributes), [extent](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/#extent), and [components](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/#components) directly
129
+ * when the mesh is not yet loaded.
130
+ *
131
+ * ## Mesh georeferencing
132
+ *
133
+ * A source 3D model file, imported model, or custom vertex buffer often stores vertex positions as plain x, y, z
134
+ * numbers. Those numbers do not, by themselves, say whether [10, 0, 0] means ten meters east of the source model's
135
+ * own [0, 0, 0], ten map units east of a provided placement point in a projected coordinate system (PCS), or an absolute
136
+ * coordinate on a map. Some formats (e.g., IFC4) and workflows include georeferencing metadata, but a Mesh instance still needs
137
+ * an explicit interpretation of the position values stored in [MeshVertexAttributes.position](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/MeshVertexAttributes/#position).
138
+ *
139
+ * The [vertexSpace](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/#vertexSpace) property provides this interpretation. It specifies whether
140
+ * the position values are coordinates relative to the model's own origin, offsets from an specific origin you provide,
141
+ * or absolute map coordinates.
142
+ *
143
+ * To georeference a Mesh geometry:
144
+ *
145
+ * 1. Note the [SceneView.viewingMode](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/#viewingMode) you are using. A "global" scene and a
146
+ * "local" scene require different Mesh configurations to work correctly and efficiently.
147
+ * 2. Set [Mesh.spatialReference](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/#spatialReference) to a coordinate system compatible with that
148
+ * [viewingMode](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/#viewingMode).
149
+ * 3. Choose [Mesh.vertexSpace](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/#vertexSpace) based on both the
150
+ * [viewingMode](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/#viewingMode) and what the source x, y, z values mean.
151
+ * 4. Provide an origin only when the source x, y, z values are offsets from a placement point, such as the source model's
152
+ * own [0, 0, 0] or an insertion point. The origin is stored on the selected vertex space:
153
+ * [local](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/MeshLocalVertexSpace/#origin) or
154
+ * [georeferenced](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/MeshGeoreferencedVertexSpace/#origin).
155
+ *
156
+ * ### Common georeferencing workflows
157
+ *
158
+ * The common workflows below show how to choose a vertex space for source values that are measured from [0, 0, 0],
159
+ * offsets from a placement point, or absolute map coordinates.
160
+ *
161
+ * - In a [global](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/#viewingMode) view, use [MeshLocalVertexSpace](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/MeshLocalVertexSpace/).
162
+ * This is common for models whose x, y, z positions describe the object relative to the model's own [0, 0, 0],
163
+ * such as models from 3D modeling or CAD tools. Set [Mesh.spatialReference](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/#spatialReference)
164
+ * to a geographic coordinate system, such as WGS84 or CGCS2000, or to Web Mercator, and set
165
+ * [MeshLocalVertexSpace.origin](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/MeshLocalVertexSpace/#origin) to the coordinate where the model's [0, 0, 0] should land.
166
+ * - In a [local](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/#viewingMode) view, use [MeshGeoreferencedVertexSpace](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/MeshGeoreferencedVertexSpace/) with
167
+ * an [MeshGeoreferencedVertexSpace.origin](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/MeshGeoreferencedVertexSpace/#origin). This works for both source data whose x, y, z
168
+ * values are offsets from a placement point, and for models whose x, y, z positions describe the object relative to
169
+ * the model's own [0, 0, 0]. Set [Mesh.spatialReference](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/#spatialReference) to the same projected
170
+ * coordinate system as [SceneView.spatialReference](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/#spatialReference). The SDK then treats each x, y, z position as an
171
+ * offset from the origin in the projected coordinate system used by the view.
172
+ * - To use source data whose x, y, z positions were already exported as coordinates in a projected coordinate system,
173
+ * use [MeshGeoreferencedVertexSpace](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/MeshGeoreferencedVertexSpace/) without an origin. Set
174
+ * [Mesh.spatialReference](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/#spatialReference) to that projected coordinate system. Each x, y, z
175
+ * position is then interpreted as an absolute coordinate in that coordinate system.
176
+ * - When you create primitives or import glTF with [meshUtils](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/meshUtils/) create functions and do not
177
+ * provide a vertex space, the SDK chooses one from the provided location. It chooses
178
+ * [MeshLocalVertexSpace](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/MeshLocalVertexSpace/) when the location's spatial reference is geographic, such as WGS84
179
+ * or CGCS2000, or when it is Web Mercator. It chooses [MeshGeoreferencedVertexSpace](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/MeshGeoreferencedVertexSpace/) for
180
+ * other projected coordinate systems. This is a helper default; choose the vertex space explicitly when your view
181
+ * setup or data workflow requires a different interpretation.
182
+ *
115
183
  * <details>
116
184
  * <summary>Read More</summary>
117
185
  *
118
- * It is typical for modern 3D GIS workflows that 3D geometry data be represented by 3D models, which can be stored in different file formats like glTF, OBJ, FBX, IFC, etc. These models can come from different sources, such as 3D modeling software like SketchUp or Blender, CAD software like Revit, or even custom mesh generation code.
119
- *
120
- * While some of the software may work in a georeferenced space and some of the file formats, such as IFC, may be georeferenced, much of the software and most of the model file formats are not georeferenced. This presents the challenge of expressing different georeferencing scenarios while maintaining a fast and efficient experience when displaying and editing 3D model content. In the Maps SDK we strive to strike a good balance between allowing our users to work with different scenarios while preventing situations in which good display and editing experience cannot be provided.
121
- *
122
186
  * <span id="mesh-api"></span>
123
- * ## Mesh API
124
- *
125
- * The entry point for representing 3D models in the Maps SDK is the [Mesh](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/). We refer to the API reference for details on mesh [components](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/#components), [MeshComponent.material](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/MeshComponent/#material) and how to create meshes. This guide is concerned with georeferencing meshes.
126
- *
127
- * A mesh represents a georeferenced 3D model in the Maps SDK. In order to fully georeference meshes three things are needed:
128
- * 1. Spatial reference
129
- * 2. Location of the mesh in that spatial reference. We call this the origin.
130
- * 3. The coordinate system in which mesh vertices are provided. We call it the vertex space.
131
- *
132
- * Given these three things, meshes can be fully georeferenced. However, for certain configurations of spatial reference, mesh vertex space and viewing mode, costly projection may be required. Because that would greatly affect display and editing performance, we decided to not display or allow editing in those cases. Please see the [limitations](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/#limitations) section for an overview of these restrictions.
133
- *
134
- * The [spatial reference](https://developers.arcgis.com/javascript/latest/references/core/geometry/SpatialReference/) of the mesh is provided with its construction. When using one of the create functions, such as
135
- * [createFromGLTF()](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/#createFromGLTF), the spatial reference will be taken from the provided location.
136
187
  *
137
- * ### Mesh vertex spaces
188
+ * ### Local vertex space
138
189
  *
139
- * The origin and spatial reference of a mesh provide georeferencing, but only for the origin. A mesh is composed of vertices, and they may exist in different coordinate systems depending on the data source. Hence, to fully georeference the mesh, it's crucial to define the coordinate system associated with the mesh vertices. The [mesh vertex space property](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/#vertexSpace) was introduced to address this need. This property specifies the meaning of the mesh vertex coordinates, ensuring that the entire mesh can be correctly georeferenced.
140
- *
141
- * #### Mesh local vertex space
142
- *
143
- * Most popular 3D model formats, such as glTF, are not georeferenced and represent the mesh vertex coordinates in a plain **local cartesian** space with some length unit (e.g. `meters` for glTF). The coordinate (0,0,0) is the origin. We call this coordinate system "local" and represent it using the [MeshLocalVertexSpace](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/MeshLocalVertexSpace/). The units in this vertex space are always "meters".
190
+ * In a [local vertex space](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/MeshLocalVertexSpace/), the
191
+ * [MeshVertexAttributes.position](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/MeshVertexAttributes/#position) values are model coordinates in meters, measured from the
192
+ * source model's local [0, 0, 0]. The [MeshLocalVertexSpace.origin](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/MeshLocalVertexSpace/#origin) places that local origin
193
+ * at an [x, y, z] coordinate in the coordinate system identified by
194
+ * [Mesh.spatialReference](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/#spatialReference).
144
195
  *
145
196
  * <img src="https://developers.arcgis.com/javascript/latest/assets/references/core/geometry/mesh-local-vertex-space.avif" style="width:300px;"/>
146
197
  *
147
198
  * *local vertex space*
148
199
  *
149
- * Georeferencing local coordinates is done by "putting them on the map" using a georeferenced cartesian reference frame. This frame is found by using the [local tangent plane](https://en.wikipedia.org/wiki/Local_tangent_plane_coordinates) at the georeferenced origin of the mesh. When the spatial reference uses a geographic coordinate system (GCS) or Web Mercator, the tangent plane is aligned such that the local Y tangent vector is always pointing to the north pole resulting in the east, north, up (ENU) frame.
150
- *
151
- * Currently we use the tangent plane of the sphere even for ellipsoidal geographic coordinate systems. This is a simplification we use as we render on a perfect sphere in global viewing mode.
200
+ * When a Mesh geometry with [MeshLocalVertexSpace](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/MeshLocalVertexSpace/) is displayed in a global scene and
201
+ * [Mesh.spatialReference](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/#spatialReference) is WGS84, CGCS2000, or Web Mercator, the SDK places the
202
+ * local coordinate frame on the globe at [MeshLocalVertexSpace.origin](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/MeshLocalVertexSpace/#origin). The frame is aligned to
203
+ * the [local tangent plane](https://en.wikipedia.org/wiki/Local_tangent_plane_coordinates): X points east, Y points
204
+ * north, and Z points up. This is commonly called an east, north, up (ENU) frame.
152
205
  *
153
206
  * <img src="https://developers.arcgis.com/javascript/latest/assets/references/core/geometry/mesh-local-vertex-space-on-GCS-or-WM.avif" style="width:300px;"/>
154
207
  *
155
- * *local vertex space on GCS or Web Mercator (ENU)*
156
- *
157
- * A [local vertex space](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/MeshLocalVertexSpace/) with a spatial reference which is a GCS or Web Mercator is efficient to work with as the tangent plane is easy to find and we can simply move the vertices to its georeferenced location using efficient linear transformations. This comes at the cost of an approximation error between the tangent plane and the actual surface. Consequently for larger models, this error increases while it decreases as the models get smaller.
158
- *
159
- * There is an important element to consider when a mesh is created with a [local vertex space](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/MeshLocalVertexSpace/) (e.g. by creating it from a glTF) and displayed in local viewing mode where a projected coordinate system (PCS) is used:
160
- *
161
- * The projection introduces a warping and distortion of the space in order to allow mapping of surface coordinates to a plane. This produces a mismatch between the linear coordinates of the local vertex space and the warped, non-linear coordinates of the underlying spatial reference. While steps along a line in the local vertex space are of same length, steps along a line in the underlying spatial reference are not. This means that measuring the same line in local space and the underlying spatial reference will produce different measurements. This difference further depends on the origin location of the mesh. It is important to realize that this scenario cannot be used when correct georeferencing is required.
162
- *
163
- * #### Mesh georeferenced vertex spaces
164
- *
165
- * The [georeferenced vertex space](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/MeshGeoreferencedVertexSpace/) indicates that mesh vertices are already projected and that their coordinates are in the spatial reference of the mesh. If an [MeshGeoreferencedVertexSpace.origin](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/MeshGeoreferencedVertexSpace/#origin) is provided, those vertex coordinates are interpreted as offsets relative to the origin. Otherwise, the coordinates are interpreted as absolute.
208
+ * *local vertex space aligned to the sphere's tangent plane at the origin point*
209
+ *
210
+ * This reference-frame approach is an approximation: it uses a spherical tangent plane matching how global scenes
211
+ * are rendered. The farther a vertex is from
212
+ * [MeshLocalVertexSpace.origin](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/MeshLocalVertexSpace/#origin), the more the local tangent plane diverges from the curved
213
+ * surface. This is usually acceptable for buildings and other models that occupy a limited area, but it is not
214
+ * appropriate for long objects that must follow the earth's curvature.
215
+ *
216
+ * The word "local" in [MeshLocalVertexSpace](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/MeshLocalVertexSpace/) refers to coordinates from the source model
217
+ * measured from that model's own [0, 0, 0]. It does not mean that this vertex space is the right choice for a
218
+ * [local](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/#viewingMode) view. For mesh graphics in a local view, use
219
+ * [MeshGeoreferencedVertexSpace](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/MeshGeoreferencedVertexSpace/) in the view's projected coordinate system.
220
+ *
221
+ * ### Georeferenced vertex space
222
+ *
223
+ * [Mesh.vertexSpace](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/#vertexSpace) gives meaning to the source x, y, z values stored in
224
+ * [MeshVertexAttributes.position](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/MeshVertexAttributes/#position). A
225
+ * [georeferenced vertex space](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/MeshGeoreferencedVertexSpace/) interprets those numbers in relation
226
+ * to [Mesh.spatialReference](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/#spatialReference), either as offsets from a placement point or as
227
+ * absolute map coordinates.
228
+ *
229
+ * - When the [origin](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/MeshGeoreferencedVertexSpace/#origin) is set, the mesh's vertex coordinates
230
+ * are interpreted as offsets from that origin. This works well for 3D models created by CAD software whose x, y and z
231
+ * values are measured from the source model's own [0, 0, 0], and for those measured from a specific insertion point.
232
+ * The origin is the [x, y, z] coordinate, in the Mesh's
233
+ * [spatialReference](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/#spatialReference), where that local [0, 0, 0] or insertion point lands.
234
+ * The offset directions and units come from [Mesh.spatialReference](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/#spatialReference). In a
235
+ * projected coordinate system, these are usually map units such as meters.
236
+ * - Without an [origin](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/MeshGeoreferencedVertexSpace/#origin), use this vertex space
237
+ * when the source x, y, z values are already absolute map coordinates, for example a mesh produced from a LiDAR scan,
238
+ * photogrammetry reconstruction, or surveyed surface and exported in a projected coordinate system. Each source
239
+ * position is used directly in [Mesh.spatialReference](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/#spatialReference).
166
240
  *
167
241
  * <img src="https://developers.arcgis.com/javascript/latest/assets/references/core/geometry/mesh-georeferenced-vertex-space-on-PCS.avif" style="width:300px;"/>
168
242
  *
169
- * *georeferenced vertex space on PCS*
170
- *
171
- * Display and editing are efficient for meshes with a georeferenced vertex space and when the spatial reference is a projected coordinate system and matches the spatial reference of the view. This is because in those cases, manipulations like moving a mesh can be expressed as linear transformations.
172
- *
173
- * ## The effect of viewing modes
174
- *
175
- * We will not display or allow edits for configurations where efficient display or editing is not possible due to costly reprojections being required. It is important to realize that the [SceneView.viewingMode](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/#viewingMode) defines the spatial reference in which the data is displayed and hence has a direct effect on which vertex space and spatial reference combination of meshes can be done efficiently. This means that, depending on the viewing mode, display and editing of meshes with certain combinations of vertex space and spatial reference are not supported. See [limitations](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/#limitations) for an overview.
176
- *
177
- * We established that for mesh spatial references which use a geographic coordinate system (or Web Mercator) and a local vertex space, display and editing can be done efficiently. That is true for `"global"` viewing mode, where the view uses a geographic coordinate system (or Web Mercator) for display.
178
- *
179
- * Meshes with a georeferenced vertex space and a spatial reference using a projected coordinate system (PCS) can be displayed and edited efficiently in a view using the `"local"` viewing mode and when the view has the same spatial reference as the mesh.
180
- *
181
- * ## Web Mercator
182
- *
183
- * Web Mercator is a spatial reference with a projected coordinate system and the de facto standard for web mapping applications. This is due to its suitability for efficient map tiling. Even though it uses a projected coordinate system, we still support using Web Mercator in global viewing mode. This is because of its importance for web mapping and also because projecting Web Mercator on the globe cancels out the strong distortions near the poles. It is the only PCS based spatial reference we support in global viewing mode.
184
- *
185
- * Web Mercator support for global viewing mode naturally extends to supporting efficient display and editing for meshes with a Web Mercator spatial reference and a local vertex space, even though it is based on a projected coordinate system. Since Web Mercator is a spatial reference based on a PCS, we also support efficient display and editing for Web Mercator with meshes using a georeferenced vertex space. Web Mercator is the only exception to the rule of only meshes with a spatial reference with a geographic coordinate system can be supported in global viewing mode.
243
+ * *georeferenced vertex space on a projected coordinate system*
244
+ *
245
+ * A georeferenced vertex space is the usual choice for mesh graphics in local scenes. Use it when the
246
+ * [view spatial reference](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/#spatialReference) is a projected coordinate system and
247
+ * [Mesh.spatialReference](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/#spatialReference) uses the same projected coordinate system. In that
248
+ * configuration, the position values and the view use the same projected coordinate space, so display and editing can
249
+ * be efficient and predictable.
250
+ *
251
+ * > [!WARNING]
252
+ * > Do not use a georeferenced vertex space with a
253
+ * > [vertex space origin](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/MeshGeoreferencedVertexSpace/#origin) in WGS84 or CGCS2000 for source
254
+ * > models whose x, y, z values are measured in meters. In those geographic coordinate systems, longitude and latitude
255
+ * > are angular coordinates, so an offset such as [10, 0, 0] means ten degrees of longitude, not ten meters east.
256
+ * > A building model can appear at the wrong size or far from the intended location. If the source model is measured in
257
+ * > meters and should be placed on the globe, use [MeshLocalVertexSpace](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/MeshLocalVertexSpace/) instead.
258
+ *
259
+ * ### Web Mercator
260
+ *
261
+ * Web Mercator is a projected coordinate system, but it is treated specially in global scenes because of its central
262
+ * role in web mapping. A Mesh geometry whose [Mesh.spatialReference](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/#spatialReference) is Web
263
+ * Mercator can use
264
+ * [MeshLocalVertexSpace](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/MeshLocalVertexSpace/) in a global [SceneView](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/). Other projected coordinate
265
+ * systems should use a local [SceneView](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/) and [MeshGeoreferencedVertexSpace](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/MeshGeoreferencedVertexSpace/).
266
+ *
267
+ * Web Mercator is not recommended as the spatial reference for local scenes or for publishing 3D object layers that
268
+ * require accurate local dimensions. Web Mercator map units are distorted: one Web Mercator meter equals one ground
269
+ * meter only near the equator, and the scale variation increases with latitude. For local scenes and 3D object layer
270
+ * workflows, prefer a projected coordinate system designed for the area of interest.
271
+ *
272
+ * ### Troubleshooting mesh georeferencing
273
+ *
274
+ * If a mesh graphic is not displayed, or is displayed in the wrong place or at the wrong size, first check the browser
275
+ * console for warnings. Then narrow the problem in this order:
276
+ *
277
+ * 1. Start with [SceneView.viewingMode](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/#viewingMode). In a global SceneView, the usual choice for model files whose
278
+ * positions are measured from the model's own [0, 0, 0] is [MeshLocalVertexSpace](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/MeshLocalVertexSpace/). In a
279
+ * local SceneView, the usual choice is [MeshGeoreferencedVertexSpace](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/MeshGeoreferencedVertexSpace/) with a projected
280
+ * [Mesh.spatialReference](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/#spatialReference) that matches
281
+ * [SceneView.spatialReference](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/#spatialReference).
282
+ * 2. Identify what the source model's x, y, z values mean. They may be local model coordinates measured from
283
+ * [0, 0, 0], offsets from an insertion point, or absolute coordinates exported by a georeferenced workflow.
284
+ * 3. Check the vertex space's origin when it has one. The origin should be the [x, y, z] coordinate where the source
285
+ * model's [0, 0, 0] or insertion point should land, using the coordinate system identified by
286
+ * [Mesh.spatialReference](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/#spatialReference).
287
+ * 4. Check units. [MeshLocalVertexSpace](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/MeshLocalVertexSpace/) interprets position values as meters.
288
+ * [MeshGeoreferencedVertexSpace](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/MeshGeoreferencedVertexSpace/) with a vertex space origin interprets offsets in the units
289
+ * of [Mesh.spatialReference](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/#spatialReference).
186
290
  *
187
291
  * <span id="limitations"></span>
188
- * ## Limitations
189
- *
190
- * - See [Scene Layers](https://developers.arcgis.com/javascript/latest/references/core/layers/SceneLayer/) in regards to limitations on display and editing for mesh features.
191
- *
192
- * ## Troubleshooting mesh georeferencing
193
- *
194
- * If meshes are not being displayed, then chances are that this is due to a configuration which the API does not support for display and editing.
195
- *
196
- * - First check the [SceneView.viewingMode](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/#viewingMode), [spatial reference](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/#spatialReference) and [vertex space](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/#vertexSpace) of the problematic mesh and consult the console of the JavaScript debugger. If the API rejects display of meshes, a warning message is printed.
197
- * - If it is determined that an unsupported configuration is used, consider switching the [SceneView.viewingMode](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/#viewingMode) in your application.
198
- * - If there is no other option, consider changing the data by switching to a supported spatial reference for the required [SceneView.viewingMode](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/#viewingMode) or by converting the mesh vertex data between local and georeferenced vertex space.
199
- * - If meshes are displayed wrongly, then this could also be due to the vertex space not being correct. If applications export geometry with georeferenced coordinates as OBJ file for example, then one would need to use the `"georeferenced"` vertex space.
292
+ * ### Limitations
293
+ *
294
+ * - [MeshLocalVertexSpace](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/MeshLocalVertexSpace/) is not supported for mesh graphics displayed in a local
295
+ * [SceneView](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/).
296
+ * - Displaying or editing a Mesh geometry can be unsupported when
297
+ * [Mesh.spatialReference](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/#spatialReference),
298
+ * [SceneView.spatialReference](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/#spatialReference), and
299
+ * [Mesh.vertexSpace](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/#vertexSpace) would require costly or unavailable per-vertex projection.
300
+ * - For 3D object feature editing workflows that use Mesh geometry, see the
301
+ * [SceneLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/SceneLayer/) editing documentation and
302
+ * [3D object workflows in the SDK](https://developers.arcgis.com/javascript/latest/3d-object-workflows/#essential-aspects-of-the-editing-workflow).
200
303
  *
201
304
  * </details>
202
305
  *
306
+ * ---
307
+ *
203
308
  * ## Create simple mesh geometry primitives
204
309
  *
205
310
  * There are a couple of convenience functions in [meshUtils](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/meshUtils/) to create simple
@@ -231,6 +336,8 @@ export interface MeshProperties extends BaseGeometryProperties, LoadableMixinPro
231
336
  * view.graphics.add(graphic);
232
337
  * ```
233
338
  *
339
+ * ---
340
+ *
234
341
  * ## Create mesh geometries manually
235
342
  *
236
343
  * Mesh geometries can be manually created by specifying [vertexAttributes](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/#vertexAttributes) and
@@ -445,7 +552,8 @@ export default class Mesh extends MeshSuperclass {
445
552
  */
446
553
  get origin(): Point;
447
554
  /**
448
- * Additional local transformation of the mesh vertices. The transform is ignored if the [vertexSpace)(#vertexSpace)
555
+ * Additional local transformation of the mesh vertices. The transform is ignored if the
556
+ * [vertexSpace](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/#vertexSpace)
449
557
  * is of type [georeferenced](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/MeshGeoreferencedVertexSpace/) and does not specify
450
558
  * an [MeshGeoreferencedVertexSpace.origin](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/MeshGeoreferencedVertexSpace/#origin).
451
559
  */
@@ -494,7 +602,24 @@ export default class Mesh extends MeshSuperclass {
494
602
  */
495
603
  get vertexAttributes(): MeshVertexAttributes;
496
604
  set vertexAttributes(value: MeshVertexAttributesProperties);
497
- /** The vertex space of the mesh. See [mesh API](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/#mesh-api) for details. */
605
+ /**
606
+ * Defines how the SDK interprets the x, y, z position values stored in
607
+ * [Mesh.vertexAttributes.position](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/MeshVertexAttributes/#position).
608
+ *
609
+ * A source 3D model or custom vertex buffer usually stores positions as numbers, but those numbers do not indicate by
610
+ * themselves whether they are local model coordinates, offsets from a placement point, or absolute map coordinates.
611
+ * This property makes that interpretation explicit for the Mesh geometry.
612
+ *
613
+ * Use [MeshLocalVertexSpace](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/MeshLocalVertexSpace/) when the position values are meter-based local model coordinates
614
+ * and should be placed in a global [SceneView](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/). Use
615
+ * [MeshGeoreferencedVertexSpace](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/MeshGeoreferencedVertexSpace/) when the position values should be interpreted as offsets or
616
+ * absolute coordinates in the coordinate system identified by
617
+ * [Mesh.spatialReference](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/#spatialReference), which is the usual choice for local scenes with a
618
+ * projected coordinate system.
619
+ *
620
+ * This property is construct-only because changing it changes the meaning of every vertex position in the mesh.
621
+ * To change the vertex space of an existing mesh, use [convertVertexSpace()](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/meshUtils/#convertVertexSpace).
622
+ */
498
623
  get vertexSpace(): MeshVertexSpaceUnion;
499
624
  /**
500
625
  * Adds a component to the mesh.
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import t from"../../../core/Error.js";import{isGeometryWithZ as o,getJsonType as r}from"../../support/jsonTypeUtils.js";import{getGeometryZScaler as e}from"../../support/zscale.js";function s(t,s,n){let p;for(const c of t)if(c&&o(c)&&!("vertexAttributes"in c)){if(!p){null==s.vcsWkid&&null==n.vcsWkid||i(s,n);const t="type"in c?c.type:r(c);if(p=e(t,s,n),!p)return}p(c)}}class n extends t{constructor(){super("projection:z-unsupported","projection of z values is unsupported between different vertical coordinate systems")}}function i({vcsWkid:t},{vcsWkid:o}){if((t??null)!==(o??null))throw new n}export{n as ProjectZUnsupportedError,s as applyZConversionAfterProjection,i as validateVCSForZConversion};
2
+ import{isGeometryWithZ as t,getJsonType as o}from"../../support/jsonTypeUtils.js";import{getGeometryZScaler as r}from"../../support/zscale.js";function e(e,i,p){let s;for(const f of e)if(f&&t(f)&&!("vertexAttributes"in f)){if(!s){const t="type"in f?f.type:o(f);if(s=r(t,i,p),!s)return}s(f)}}export{e as applyZConversionAfterProjection};
@@ -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,