@arcgis/core 4.34.0-next.24 → 4.34.0-next.26

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 (384) hide show
  1. package/Basemap.js +1 -1
  2. package/analysis/VolumeMeasurement/CutFillOptions.d.ts +4 -0
  3. package/analysis/VolumeMeasurement/CutFillOptions.js +1 -1
  4. package/analysis/VolumeMeasurementAnalysis.js +1 -1
  5. package/applications/Components/imageryUtils.d.ts +7 -0
  6. package/applications/Components/imageryUtils.js +5 -0
  7. package/assets/esri/core/workers/RemoteClient.js +1 -1
  8. package/assets/esri/core/workers/chunks/{0867aa688fa8938906da.js → 03bef3f4b6b09b1e864b.js} +1 -1
  9. package/assets/esri/core/workers/chunks/03ee4d63aa8de44958ab.js +1 -0
  10. package/assets/esri/core/workers/chunks/06cdbccc9f325dcc303d.js +1 -0
  11. package/assets/esri/core/workers/chunks/09618761df5c4fdd52a0.js +1 -0
  12. package/assets/esri/core/workers/chunks/0ae00339991f5387203e.js +1 -0
  13. package/assets/esri/core/workers/chunks/0b4b294f3ce74fde5620.js +1 -0
  14. package/assets/esri/core/workers/chunks/{146520d263b910b5bdc7.js → 0e96a3b7228f1ff8e6c5.js} +1 -1
  15. package/assets/esri/core/workers/chunks/109ef17dd4f9430bb686.js +1 -0
  16. package/assets/esri/core/workers/chunks/1597aca21334cab3b802.js +1 -0
  17. package/assets/esri/core/workers/chunks/196564ad230bef6b59cf.js +1 -0
  18. package/assets/esri/core/workers/chunks/19f8d551cbebc11db1eb.js +1 -0
  19. package/assets/esri/core/workers/chunks/1ceee047e3fa617b0600.js +1 -0
  20. package/assets/esri/core/workers/chunks/1d27701832ea139fcc20.js +1 -0
  21. package/assets/esri/core/workers/chunks/1f296f85becf1ca6714d.js +1 -0
  22. package/assets/esri/core/workers/chunks/1f8d7bd44d53c30df383.js +1 -0
  23. package/assets/esri/core/workers/chunks/1fabb5ec59da698c1618.js +1 -0
  24. package/assets/esri/core/workers/chunks/{919d2fd7ebc0c840a759.js → 219b2911668db120452b.js} +1 -1
  25. package/assets/esri/core/workers/chunks/21a8ae88cfa644a30058.js +1 -0
  26. package/assets/esri/core/workers/chunks/2b4b073254fe8b6a081c.js +1 -0
  27. package/assets/esri/core/workers/chunks/2c2128201c80a1b1aeb6.js +1 -0
  28. package/assets/esri/core/workers/chunks/2d3679289b34b7da6bf4.js +1 -0
  29. package/assets/esri/core/workers/chunks/30293b88501b5d6162fc.js +1 -0
  30. package/assets/esri/core/workers/chunks/31533f5e8b76b307f61c.js +1 -0
  31. package/assets/esri/core/workers/chunks/347117e61e1c6edd074f.js +1 -0
  32. package/assets/esri/core/workers/chunks/3616eb2607843524483f.js +1 -0
  33. package/assets/esri/core/workers/chunks/36648facd56ee91afc7c.js +1 -0
  34. package/assets/esri/core/workers/chunks/394477e88be0c6790f02.js +1 -0
  35. package/assets/esri/core/workers/chunks/3b80b01551d124534a1b.js +1 -0
  36. package/assets/esri/core/workers/chunks/{89d91ce2f566dd3f57f7.js → 3be9ec0503a669bcfce6.js} +1 -1
  37. package/assets/esri/core/workers/chunks/3c9cf06ac6aa1db6c4f6.js +1 -0
  38. package/assets/esri/core/workers/chunks/40fc7c43feaeef8b814d.js +1 -0
  39. package/assets/esri/core/workers/chunks/42cddc8f8c8d73e22ee2.js +1 -0
  40. package/assets/esri/core/workers/chunks/437a4100a837ee16df7c.js +1 -0
  41. package/assets/esri/core/workers/chunks/472c677a74d779ce62d7.js +1 -0
  42. package/assets/esri/core/workers/chunks/4ce671bc4d36387b55fa.js +1 -0
  43. package/assets/esri/core/workers/chunks/4de6c479df609398dee0.js +1 -0
  44. package/assets/esri/core/workers/chunks/51cfa2f70ec222e1582b.js +1 -0
  45. package/assets/esri/core/workers/chunks/5284d46aecd6fe0345b8.js +1 -0
  46. package/assets/esri/core/workers/chunks/567385709e18ace93b1e.js +1 -0
  47. package/assets/esri/core/workers/chunks/{4c2f3e43992a918e4c2d.js → 5ef3256c32c4b622bd11.js} +1 -1
  48. package/assets/esri/core/workers/chunks/{55e9b02d70812f7cdac2.js → 63966066a963e9a1fb14.js} +1 -1
  49. package/assets/esri/core/workers/chunks/63f50ff2ae94f684d56b.js +1 -0
  50. package/assets/esri/core/workers/chunks/6b6ab092f578b20c8e56.js +1 -0
  51. package/assets/esri/core/workers/chunks/6deaa08e3a61a455e564.js +1 -0
  52. package/assets/esri/core/workers/chunks/6e9b4bfe2a1497c96100.js +1 -0
  53. package/assets/esri/core/workers/chunks/6efc3d120c9c2c09cb06.js +1 -0
  54. package/assets/esri/core/workers/chunks/7338ce95bceb2c7fab87.js +1 -0
  55. package/assets/esri/core/workers/chunks/7359652de3d7f969a712.js +1 -0
  56. package/assets/esri/core/workers/chunks/{c64fa94cba71ba2794e2.js → 771012f129890f9a089c.js} +1 -1
  57. package/assets/esri/core/workers/chunks/{d1b363c418a67b087306.js → 780ff9314f26ae62f75f.js} +1 -1
  58. package/assets/esri/core/workers/chunks/{04c17957c15234ca0321.js → 7b736885278af9676f3a.js} +1 -1
  59. package/assets/esri/core/workers/chunks/8161b0a674ef9bf536a2.js +1 -0
  60. package/assets/esri/core/workers/chunks/820cf4337b248a0cb63c.js +1 -0
  61. package/assets/esri/core/workers/chunks/{fedbf639a0788417a70f.js → 86abfce1f2ac93cc4d54.js} +1 -1
  62. package/assets/esri/core/workers/chunks/{c94cc026c4ed330408fb.js → 8894483b91bcda845b6f.js} +1 -1
  63. package/assets/esri/core/workers/chunks/{f050ab9d100012b77bb9.js → 8c5b1114cc2a58305a81.js} +1 -1
  64. package/assets/esri/core/workers/chunks/908ec8165d567f052155.js +1 -0
  65. package/assets/esri/core/workers/chunks/{97324f030738fc0d456b.js → 9182fe69b9863e1de714.js} +1 -1
  66. package/assets/esri/core/workers/chunks/91e6030a2845f5404e82.js +1 -0
  67. package/assets/esri/core/workers/chunks/9511e55e4fabb3235eac.js +1 -0
  68. package/assets/esri/core/workers/chunks/9d85e20a3d6ca1161c26.js +1 -0
  69. package/assets/esri/core/workers/chunks/9f8341caab3b1d02f387.js +1 -0
  70. package/assets/esri/core/workers/chunks/a08d018d8c137fc4ca17.js +1 -0
  71. package/assets/esri/core/workers/chunks/a19689f8d1ef48fd2159.js +1 -0
  72. package/assets/esri/core/workers/chunks/{7051bcc178eb512819f6.js → a55338add265d330124b.js} +1 -1
  73. package/assets/esri/core/workers/chunks/a8f37681f8f6feebbd50.js +1 -0
  74. package/assets/esri/core/workers/chunks/{6ca764b4baadef5c1515.js → aeedc543320ee307d14a.js} +1 -1
  75. package/assets/esri/core/workers/chunks/afe4fd3b1b3521712edd.js +1 -0
  76. package/assets/esri/core/workers/chunks/b3794c513a13facc98d3.js +1 -0
  77. package/assets/esri/core/workers/chunks/{9991bd3c7991bffd8260.js → b37f3c416cefc1a6ea2c.js} +1 -1
  78. package/assets/esri/core/workers/chunks/bb50b4a3af627f91d789.js +1 -0
  79. package/assets/esri/core/workers/chunks/{f42155b7a4e6c5e80757.js → bbc2a4976d044b990193.js} +1 -1
  80. package/assets/esri/core/workers/chunks/bbf2c31d217de1b8ba6e.js +1 -0
  81. package/assets/esri/core/workers/chunks/be3977f7fe0c46a1b493.js +1 -0
  82. package/assets/esri/core/workers/chunks/befba7ceeb26a38732c1.js +1 -0
  83. package/assets/esri/core/workers/chunks/bf3fc71881aa559fc931.js +1 -0
  84. package/assets/esri/core/workers/chunks/c1fb5290e0e259b74389.js +1 -0
  85. package/assets/esri/core/workers/chunks/c361bf4d41a1843d4640.js +1 -0
  86. package/assets/esri/core/workers/chunks/c51099eab5a99c88e5de.js +1 -0
  87. package/assets/esri/core/workers/chunks/{909a6218db87cba2c9ba.js → c6c0263fbcf2ca245c1b.js} +3 -3
  88. package/assets/esri/core/workers/chunks/c6c3e703b18e1bb7113a.js +1 -0
  89. package/assets/esri/core/workers/chunks/c82e78590c2fabc67609.js +1 -0
  90. package/assets/esri/core/workers/chunks/{7d7f8f2936ddee65e3da.js → c9e580867f7ac17be329.js} +1 -1
  91. package/assets/esri/core/workers/chunks/d29ae64703a947bfb83b.js +1 -0
  92. package/assets/esri/core/workers/chunks/de1457b07f4e263f1524.js +1 -0
  93. package/assets/esri/core/workers/chunks/{6bf43bc3714d7b3878fa.js → e547318638c8f496c1a0.js} +1 -1
  94. package/assets/esri/core/workers/chunks/{53781ccca16e53d4a8c3.js → f291ccf9da6aa7d7ae23.js} +1 -1
  95. package/assets/esri/core/workers/chunks/f5ee10a8afb7f70833bb.js +346 -0
  96. package/assets/esri/core/workers/chunks/f61a8cc7e2b198e521ba.js +1 -0
  97. package/assets/esri/core/workers/chunks/f9442a281cb91c64c7cd.js +1 -0
  98. package/assets/esri/core/workers/chunks/{4f14e78d0560050c1a81.js → fa7243f080bcf6444929.js} +1 -1
  99. package/assets/esri/core/workers/chunks/{c3213b487c11076985af.js → fbf3240b36718fa5dc76.js} +1 -1
  100. package/assets/esri/rest/knowledgeGraph/wasmInterface/arcgis-knowledge-client-core-simd.wasm +0 -0
  101. package/assets/esri/rest/knowledgeGraph/wasmInterface/arcgis-knowledge-client-core.wasm +0 -0
  102. package/chunks/ComponentShader.glsl.js +36 -36
  103. package/chunks/RibbonLine.glsl.js +40 -33
  104. package/chunks/persistableUrlUtils.js +1 -1
  105. package/config.js +1 -1
  106. package/core/AsyncUpdate.js +1 -1
  107. package/core/Clonable.js +1 -1
  108. package/core/Evented.js +1 -1
  109. package/core/Identifiable.js +1 -1
  110. package/core/JSONSupport.js +1 -1
  111. package/core/Loadable.js +1 -1
  112. package/core/MapUtils.js +1 -1
  113. package/core/MemCache.js +1 -1
  114. package/core/MultiOriginJSONSupport.js +1 -1
  115. package/core/ObjectPool.js +1 -1
  116. package/core/PooledArray.js +1 -1
  117. package/core/Promise.js +1 -1
  118. package/core/ReadOnlyMultiOriginJSONSupport.js +1 -1
  119. package/core/heapSort.js +5 -0
  120. package/core/mathUtils.js +1 -1
  121. package/core/quantity.d.ts +1 -0
  122. package/geometry/support/buffer/BufferPool.js +1 -1
  123. package/geometry/support/meshUtils/loadGLTFMesh.js +1 -1
  124. package/interfaces.d.ts +202 -12
  125. package/kernel.js +1 -1
  126. package/layers/CatalogLayer.js +1 -1
  127. package/layers/FeatureLayer.js +1 -1
  128. package/layers/GeoJSONLayer.js +1 -1
  129. package/layers/SubtypeGroupLayer.js +1 -1
  130. package/layers/knowledgeGraph/KnowledgeGraphSublayerBase.js +1 -1
  131. package/layers/mixins/APIKeyMixin.js +1 -1
  132. package/layers/mixins/ArcGISCachedService.js +1 -1
  133. package/layers/mixins/ArcGISImageService.js +1 -1
  134. package/layers/mixins/ArcGISMapService.js +1 -1
  135. package/layers/mixins/ArcGISService.js +1 -1
  136. package/layers/mixins/BlendLayer.js +1 -1
  137. package/layers/mixins/CustomParametersMixin.js +1 -1
  138. package/layers/mixins/DisplayFilteredLayer.js +1 -1
  139. package/layers/mixins/EditBusLayer.js +1 -1
  140. package/layers/mixins/FeatureEffectLayer.js +1 -1
  141. package/layers/mixins/FeatureLayerBase.js +1 -1
  142. package/layers/mixins/FeatureReductionLayer.js +1 -1
  143. package/layers/mixins/ImageryTileMixin.js +1 -1
  144. package/layers/mixins/OperationalLayer.js +1 -1
  145. package/layers/mixins/OrderedLayer.js +1 -1
  146. package/layers/mixins/PortalLayer.js +1 -1
  147. package/layers/mixins/PublishableLayer.js +1 -1
  148. package/layers/mixins/RasterJobHandlerMixin.js +1 -1
  149. package/layers/mixins/RasterPresetRendererMixin.js +1 -1
  150. package/layers/mixins/RefreshableLayer.js +1 -1
  151. package/layers/mixins/ScaleRangeLayer.js +1 -1
  152. package/layers/mixins/SceneService.js +1 -1
  153. package/layers/mixins/SublayersOwner.js +1 -1
  154. package/layers/mixins/TemporalLayer.js +1 -1
  155. package/layers/mixins/TemporalSceneLayer.js +1 -1
  156. package/layers/mixins/TrackableLayer.js +1 -1
  157. package/layers/ogc/wfsUtils.js +1 -1
  158. package/layers/support/RasterJobHandler.js +1 -1
  159. package/layers/support/RasterWorker.js +1 -1
  160. package/layers/support/Sublayer.js +1 -1
  161. package/layers/support/arcgisLayerUrl.js +1 -1
  162. package/layers/support/multiLayerServiceUtils.js +1 -1
  163. package/layers/support/rasterDatasets/pixelReader.js +5 -0
  164. package/layers/support/rasterFormats/pixelRangeUtils.js +1 -1
  165. package/layers/support/rasterFunctions/pixelUtils.js +1 -1
  166. package/layers/support/rasterFunctions/stretchUtils.js +1 -1
  167. package/package.json +1 -1
  168. package/renderers/mixins/VisualVariablesMixin.js +1 -1
  169. package/rest/support/CameraInfoMixin.js +1 -1
  170. package/rest/support/NormalizationBinParametersMixin.js +1 -1
  171. package/smartMapping/renderers/color.js +1 -1
  172. package/smartMapping/renderers/heatmap.js +1 -1
  173. package/smartMapping/renderers/pieChart.js +1 -1
  174. package/smartMapping/renderers/size.js +1 -1
  175. package/smartMapping/renderers/support/regenerateUtils.js +1 -1
  176. package/smartMapping/renderers/support/rendererUtils.js +1 -1
  177. package/smartMapping/renderers/support/spikeUtils.js +1 -1
  178. package/smartMapping/renderers/type.js +1 -1
  179. package/smartMapping/symbology/color.js +1 -1
  180. package/smartMapping/symbology/support/utils.js +1 -1
  181. package/support/LayersMixin.js +1 -1
  182. package/support/TablesMixin.js +1 -1
  183. package/support/revision.js +1 -1
  184. package/symbols/support/utils.js +1 -1
  185. package/views/2d/engine/ParentChildStage.js +1 -1
  186. package/views/2d/engine/webgl/FeatureTile.js +1 -1
  187. package/views/2d/engine/webgl/VideoScreenRenderer.js +1 -1
  188. package/views/2d/engine/webgl/meshing/Mesh.js +1 -1
  189. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/processor/MultiRasterMixin.js +1 -1
  190. package/views/2d/engine/webgl/shaderGraph/techniques/videoScreenRenderer/VideoScreenTechnique.js +1 -1
  191. package/views/2d/engine/webgl/shaderGraph/typed/TypedShaderProgram.js +1 -1
  192. package/views/2d/engine/webgl/textureUtils.js +1 -1
  193. package/views/2d/layers/BitmapTileLayerView2D.js +1 -1
  194. package/views/2d/layers/FeatureLayerView2D.js +1 -1
  195. package/views/2d/layers/LayerView2D.js +1 -1
  196. package/views/2d/layers/MediaLayerView2D.js +1 -1
  197. package/views/2d/layers/TileLayerView2D.js +1 -1
  198. package/views/2d/layers/features/support/AttributeStore.js +1 -1
  199. package/views/2d/layers/support/DebugOverlay.js +1 -1
  200. package/views/2d/tiling/FeatureTileSubscriptionManager.js +1 -1
  201. package/views/3d/analysis/AnalysisView3D.js +1 -1
  202. package/views/3d/analysis/VolumeMeasurement/CutFillVolumeMeasurementController.js +5 -0
  203. package/views/3d/analysis/VolumeMeasurementAnalysisView3D.js +1 -1
  204. package/views/3d/glTF/DefaultLoadingContext.js +1 -1
  205. package/views/3d/interactive/measurementTools/areaMeasurement3D/AreaMeasurement3DTool.js +1 -1
  206. package/views/3d/layers/BuildingSublayerView3D.js +1 -1
  207. package/views/3d/layers/ElevationLayerView3D.js +1 -1
  208. package/views/3d/layers/FeatureLikeLayerView3D.js +1 -1
  209. package/views/3d/layers/FlowSubView3D.js +1 -1
  210. package/views/3d/layers/I3SMeshView3D.js +1 -1
  211. package/views/3d/layers/ImageryLayerView3D.js +1 -1
  212. package/views/3d/layers/ImageryTileLayerView3D.js +1 -1
  213. package/views/3d/layers/LayerView3D.js +1 -1
  214. package/views/3d/layers/PointCloudLayerView3D.js +1 -1
  215. package/views/3d/layers/StreamLayerView3D.js +1 -1
  216. package/views/3d/layers/TiledLayerView3D.js +1 -1
  217. package/views/3d/layers/graphics/DeconflictAABR.js +1 -1
  218. package/views/3d/layers/graphics/Graphics3DSymbolLayer.js +1 -1
  219. package/views/3d/layers/graphics/Graphics3DWaterSymbolLayer.js +1 -1
  220. package/views/3d/layers/graphics/Labeler.js +1 -1
  221. package/views/3d/layers/graphics/StreamController.js +5 -0
  222. package/views/3d/layers/graphics/StreamGraphics3DGraphicsPipeline.js +1 -1
  223. package/views/3d/layers/graphics/defaultSymbolComplexity.js +1 -1
  224. package/views/3d/layers/graphics/wosrLoader.js +1 -1
  225. package/views/3d/layers/i3s/I3SIndex.js +1 -1
  226. package/views/3d/layers/i3s/I3SNodeLoader.js +1 -1
  227. package/views/3d/layers/support/DefinitionExpressionSceneLayerView.js +1 -1
  228. package/views/3d/layers/support/PopupSceneLayerView.js +1 -1
  229. package/views/3d/layers/support/TemporalSceneLayerView.js +1 -1
  230. package/views/3d/layers/support/fetchTile.js +1 -1
  231. package/views/3d/support/MemoryController.js +1 -1
  232. package/views/3d/support/ResourceController.js +1 -1
  233. package/views/3d/support/StreamDataLoader.js +1 -1
  234. package/views/3d/support/StreamDataRequester.js +5 -0
  235. package/views/3d/support/StreamTextureCollection.js +1 -1
  236. package/views/3d/support/engineContent/line.js +1 -1
  237. package/views/3d/support/flow/FlowSubViewExtent3D.js +1 -1
  238. package/views/3d/support/flow/FlowSubViewTiles3D.js +1 -1
  239. package/views/3d/support/flow/StreamlinesResources3D.js +1 -1
  240. package/views/3d/support/flow/geometryUtils.js +1 -1
  241. package/views/3d/support/index.js +1 -1
  242. package/views/3d/terrain/OverlayRenderer.js +1 -1
  243. package/views/3d/terrain/TerrainRenderer.js +1 -1
  244. package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
  245. package/views/3d/webgl-engine/collections/Component/Material/shader/ComponentShader.glsl.js +1 -1
  246. package/views/3d/webgl-engine/core/shaderLibrary/terrain/Overlay.glsl.js +3 -3
  247. package/views/3d/webgl-engine/lib/DrapedHeatmapRenderer.js +1 -1
  248. package/views/3d/webgl-engine/lib/GeometryUtil.js +1 -1
  249. package/views/3d/webgl-engine/lib/SortedRenderGeometryRenderer.js +1 -1
  250. package/views/3d/webgl-engine/lib/TextTextureAtlas.js +1 -1
  251. package/views/3d/webgl-engine/lib/VertexAttribute.js +1 -1
  252. package/views/3d/webgl-engine/materials/DefaultLayouts.js +1 -1
  253. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  254. package/views/3d/webgl-engine/materials/WaterMaterial.js +1 -1
  255. package/views/3d/webgl-engine/materials/renderers/MergedRenderer.js +1 -1
  256. package/views/3d/webgl-engine/shaders/AnimatedLine.glsl.js +17 -0
  257. package/views/3d/webgl-engine/shaders/RibbonLine.glsl.js +1 -1
  258. package/views/3d/webgl-engine/shaders/RibbonLineTechnique.js +1 -1
  259. package/views/3d/webgl-engine/shaders/RibbonLineTechniqueConfiguration.js +1 -1
  260. package/views/BreakpointsOwner.js +1 -1
  261. package/views/DOMContainer.js +1 -1
  262. package/views/PopupView.js +1 -1
  263. package/views/VideoView.js +1 -1
  264. package/views/Viewport2DBaseMixin.js +1 -1
  265. package/views/Viewport2DMixin.js +1 -1
  266. package/views/draw/DrawGraphicTool.js +1 -1
  267. package/views/draw/DrawScreenTool.js +1 -1
  268. package/views/draw/DrawTool.js +1 -1
  269. package/views/interactive/tooltip/infos/TooltipInfoWithCoordinates.js +1 -1
  270. package/views/layers/CatalogDynamicGroupLayerView.js +1 -1
  271. package/views/layers/CatalogFootprintLayerView.js +1 -1
  272. package/views/layers/CatalogLayerView.js +1 -1
  273. package/views/layers/DimensionLayerView.js +1 -1
  274. package/views/layers/FeatureLayerView.js +1 -1
  275. package/views/layers/ImageryLayerView.js +1 -1
  276. package/views/layers/ImageryTileLayerView.js +1 -1
  277. package/views/layers/LineOfSightLayerView.js +1 -1
  278. package/views/layers/MapImageLayerView.js +1 -1
  279. package/views/layers/MediaLayerView.js +1 -1
  280. package/views/layers/OGCFeatureLayerView.js +1 -1
  281. package/views/layers/PointCloudLayerView.js +1 -1
  282. package/views/layers/RefreshableLayerView.js +1 -1
  283. package/views/layers/StreamLayerView.js +1 -1
  284. package/views/layers/ViewshedLayerView.js +1 -1
  285. package/views/layers/WMSLayerView.js +1 -1
  286. package/views/support/Scheduler.js +1 -1
  287. package/views/video/VideoOperationalDataView.js +1 -1
  288. package/views/webgl/BufferObject.js +1 -1
  289. package/views/webgl/Program.js +1 -1
  290. package/views/webgl/Renderbuffer.js +1 -1
  291. package/views/webgl/Texture.js +1 -1
  292. package/views/webgl/Util.js +1 -1
  293. package/webscene/SunLighting.js +1 -1
  294. package/webscene/VirtualLighting.js +1 -1
  295. package/widgets/BasemapGallery/support/PortalBasemapsSource.js +1 -1
  296. package/widgets/Directions/DirectionsSearchTool.js +1 -1
  297. package/widgets/Editor/EditorViewModel.js +1 -1
  298. package/widgets/Editor/UpdateFeaturesWorkflow.js +1 -1
  299. package/widgets/Editor/components/UpdateFeaturePanelContent.js +1 -1
  300. package/widgets/Feature/FeatureExpression/FeatureExpressionViewModel.js +1 -1
  301. package/widgets/Feature/support/FeatureContentMixin.js +1 -1
  302. package/widgets/Feature/support/arcadeFeatureUtils.js +1 -1
  303. package/widgets/FeatureTable/support/EditableColumnTemplateMixin.js +1 -1
  304. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  305. package/widgets/OrientedImageryViewer/mixins/ImageMeasurementMixin.js +1 -1
  306. package/widgets/OrientedImageryViewer/mixins/SketchHandlerMixin.js +1 -1
  307. package/widgets/OrientedImageryViewer/mixins/TriangulatedImageMeasurementMixin.js +1 -1
  308. package/widgets/OrientedImageryViewer/mixins/TriangulatedSketchHandlerMixin.js +1 -1
  309. package/widgets/PanoramicViewer/PanoramicViewerViewModel.js +1 -1
  310. package/widgets/PanoramicViewer/PanoramicZoomConditions.js +1 -1
  311. package/widgets/PanoramicViewer.js +1 -1
  312. package/widgets/Sketch/support/ResponsiveToolbar/ToolbarGroupBase.js +1 -1
  313. package/widgets/support/GoTo.js +1 -1
  314. package/assets/esri/core/workers/chunks/0202c2ac73354e3970b2.js +0 -1
  315. package/assets/esri/core/workers/chunks/02dc6e31b1244e5bb785.js +0 -1
  316. package/assets/esri/core/workers/chunks/080c79d6caca3b6a2db2.js +0 -1
  317. package/assets/esri/core/workers/chunks/084236ca316aad980192.js +0 -1
  318. package/assets/esri/core/workers/chunks/0b484224a92b52c34330.js +0 -1
  319. package/assets/esri/core/workers/chunks/0f6203ae32663b2b52db.js +0 -1
  320. package/assets/esri/core/workers/chunks/16a78f5a82f5ca163816.js +0 -1
  321. package/assets/esri/core/workers/chunks/1cc30073f8200b67cff6.js +0 -1
  322. package/assets/esri/core/workers/chunks/1d75cb1747ffb7b8b050.js +0 -1
  323. package/assets/esri/core/workers/chunks/242b216d61940aebe8e1.js +0 -1
  324. package/assets/esri/core/workers/chunks/32756905bcf11699b3f7.js +0 -1
  325. package/assets/esri/core/workers/chunks/35d238a5a6501f89bed7.js +0 -1
  326. package/assets/esri/core/workers/chunks/36a2a8b6547604bad2ab.js +0 -1
  327. package/assets/esri/core/workers/chunks/3fcd73ba832cb53d3a07.js +0 -1
  328. package/assets/esri/core/workers/chunks/40c1d65039c8f1d6afa0.js +0 -1
  329. package/assets/esri/core/workers/chunks/49dce142ad1ea4c01d00.js +0 -1
  330. package/assets/esri/core/workers/chunks/4b89d5b9e35bf79b321e.js +0 -1
  331. package/assets/esri/core/workers/chunks/4c47d327815e281c457e.js +0 -1
  332. package/assets/esri/core/workers/chunks/4ea96aff38bb301dc40d.js +0 -346
  333. package/assets/esri/core/workers/chunks/54a49a25845897a15ab1.js +0 -1
  334. package/assets/esri/core/workers/chunks/576e408fb0834f3948e8.js +0 -1
  335. package/assets/esri/core/workers/chunks/5ce62d9fff80d014d186.js +0 -1
  336. package/assets/esri/core/workers/chunks/5e805c9e9012dd39ec86.js +0 -1
  337. package/assets/esri/core/workers/chunks/6136bf09950adc46bc33.js +0 -1
  338. package/assets/esri/core/workers/chunks/666afe669866c44830bd.js +0 -1
  339. package/assets/esri/core/workers/chunks/6a0fbc54638f7de138c1.js +0 -1
  340. package/assets/esri/core/workers/chunks/7d0c4e1518a6a63a3f87.js +0 -1
  341. package/assets/esri/core/workers/chunks/843b6029d4c13115e1ac.js +0 -1
  342. package/assets/esri/core/workers/chunks/86d6007c45f2aa643ac8.js +0 -1
  343. package/assets/esri/core/workers/chunks/8bf04be4052bf148777a.js +0 -1
  344. package/assets/esri/core/workers/chunks/8ea34878a1ef24b4ded3.js +0 -1
  345. package/assets/esri/core/workers/chunks/8eea6251aa09725e654e.js +0 -1
  346. package/assets/esri/core/workers/chunks/90145d49a0cec902435c.js +0 -1
  347. package/assets/esri/core/workers/chunks/916691122d7fb38497d6.js +0 -1
  348. package/assets/esri/core/workers/chunks/92ad9098006568358550.js +0 -1
  349. package/assets/esri/core/workers/chunks/9ae18a17f62d91167202.js +0 -1
  350. package/assets/esri/core/workers/chunks/9c510df592befb9ff892.js +0 -1
  351. package/assets/esri/core/workers/chunks/a273f80298417edecc07.js +0 -1
  352. package/assets/esri/core/workers/chunks/a2ed7a3cd518dd136ec7.js +0 -1
  353. package/assets/esri/core/workers/chunks/a6a7279b09d7962147ec.js +0 -1
  354. package/assets/esri/core/workers/chunks/aba520714efc01bead36.js +0 -1
  355. package/assets/esri/core/workers/chunks/acb9c166259872828646.js +0 -1
  356. package/assets/esri/core/workers/chunks/accff253af360c34e8a8.js +0 -1
  357. package/assets/esri/core/workers/chunks/ae6eed26fc932bc08356.js +0 -1
  358. package/assets/esri/core/workers/chunks/b32c1b60896a72e0ae90.js +0 -1
  359. package/assets/esri/core/workers/chunks/b4bb461955a4c2bce072.js +0 -1
  360. package/assets/esri/core/workers/chunks/b98279213f45a0c27600.js +0 -1
  361. package/assets/esri/core/workers/chunks/ba5b24beebeb703b5919.js +0 -1
  362. package/assets/esri/core/workers/chunks/bd7d19ba0c7d9143a455.js +0 -1
  363. package/assets/esri/core/workers/chunks/bffaf1f20f18c75fad4e.js +0 -1
  364. package/assets/esri/core/workers/chunks/c4f8da6c238eb5e91f91.js +0 -1
  365. package/assets/esri/core/workers/chunks/cdabea4718a7e7d34cb8.js +0 -1
  366. package/assets/esri/core/workers/chunks/ce7155ae63e7bb74be00.js +0 -1
  367. package/assets/esri/core/workers/chunks/d45383d76ba99718b6d9.js +0 -1
  368. package/assets/esri/core/workers/chunks/d915d0a30d9beb24bd3a.js +0 -1
  369. package/assets/esri/core/workers/chunks/d9a23fb0c6c936d5e8ec.js +0 -1
  370. package/assets/esri/core/workers/chunks/dc6538a2d5a1e60d0209.js +0 -1
  371. package/assets/esri/core/workers/chunks/dca633ae3bfd4a3f9bb3.js +0 -1
  372. package/assets/esri/core/workers/chunks/dfa7976085f7408a366c.js +0 -1
  373. package/assets/esri/core/workers/chunks/e0a5b499b3ae38c21278.js +0 -1
  374. package/assets/esri/core/workers/chunks/e1a20ba7d6279f59adc0.js +0 -1
  375. package/assets/esri/core/workers/chunks/e49a135a2933306a6105.js +0 -1
  376. package/assets/esri/core/workers/chunks/e9a9174c4d1a0a9effb6.js +0 -1
  377. package/assets/esri/core/workers/chunks/edead1a123860cc74b1b.js +0 -1
  378. package/assets/esri/core/workers/chunks/f90573c9dc36e51cd588.js +0 -1
  379. package/assets/esri/core/workers/chunks/fa9658dbfb921f9c13af.js +0 -1
  380. package/assets/esri/core/workers/chunks/fb5e2b1ced03eef28e96.js +0 -1
  381. package/assets/esri/core/workers/chunks/fd8f4eabb8bbc593dd9c.js +0 -1
  382. package/assets/esri/core/workers/chunks/fe1902d63f610cebd947.js +0 -1
  383. package/core/HeapSort.js +0 -5
  384. package/layers/graphics/controllers/StreamController.js +0 -5
@@ -2,7 +2,7 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{ShaderOutput as e}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SliceDraw as i}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{ObjectAndLayerIdColor as t}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/ObjectAndLayerIdColor.glsl.js";import{RibbonVertexPosition as n}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/RibbonVertexPosition.glsl.js";import{LineStipple as r,computePixelSize as o}from"../views/3d/webgl-engine/core/shaderLibrary/shading/LineStipple.glsl.js";import{MarkerSizing as a}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MarkerSizing.glsl.js";import{PiUtils as s}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PiUtils.glsl.js";import{terrainDepthTest as l}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import{ColorConversion as d}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{addProjViewLocalOrigin as p,addPixelRatio as c}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float2BindUniform as m}from"../views/3d/webgl-engine/core/shaderModules/Float2BindUniform.js";import{Float4BindUniform as v}from"../views/3d/webgl-engine/core/shaderModules/Float4BindUniform.js";import{Float4PassUniform as f}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{FloatBindUniform as g}from"../views/3d/webgl-engine/core/shaderModules/FloatBindUniform.js";import{FloatPassUniform as h}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as D}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Matrix4BindUniform as S}from"../views/3d/webgl-engine/core/shaderModules/Matrix4BindUniform.js";import{VertexAttribute as u}from"../views/3d/webgl-engine/lib/VertexAttribute.js";import{LineMarkerSpace as x}from"../views/3d/webgl-engine/shaders/LineMarkerTechniqueConfiguration.js";import{outputColorHighlightOID as L}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOID.glsl.js";import{CapType as w}from"../views/3d/webgl-engine/shaders/RibbonLineTechniqueConfiguration.js";import{ShaderBuilder as b}from"../views/webgl/ShaderBuilder.js";import{alphaCutoff as y}from"../webscene/support/AlphaCutoff.js";const j=1;function P(P){const C=new b,{attributes:F,varyings:A,vertex:R,fragment:z}=C,{applyMarkerOffset:T,draped:V,output:W,capType:E,stippleEnabled:O,falloffEnabled:M,roundJoins:N,wireframe:_,innerColorEnabled:I}=P;z.include(s),C.include(n,P),C.include(r,P),C.include(t,P),C.include(l,P);const k=T&&!V;k&&(R.uniforms.add(new h("markerScale",e=>e.markerScale)),C.include(a,{space:x.World})),p(R,P),R.uniforms.add(new S("inverseProjectionMatrix",e=>e.camera.inverseProjectionMatrix),new m("nearFar",e=>e.camera.nearFar),new h("miterLimit",e=>"miter"!==e.join?0:e.miterLimit),new v("viewport",e=>e.camera.fullViewport)),R.constants.add("LARGE_HALF_FLOAT","float",65500),F.add(u.POSITION,"vec3"),F.add(u.PREVIOUSDELTA,"vec4"),F.add(u.NEXTDELTA,"vec4"),F.add(u.LINEPARAMETERS,"vec2"),F.add(u.U0,"float"),A.add("vColor","vec4"),A.add("vpos","vec3",{invariant:!0}),A.add("vLineDistance","float"),A.add("vLineWidth","float");const U=O;U&&A.add("vLineSizeInv","float");const B=E===w.ROUND,$=O&&B,H=M||$;H&&A.add("vLineDistanceNorm","float"),B&&(A.add("vSegmentSDF","float"),A.add("vReverseSegmentSDF","float")),R.code.add(D`vec2 perpendicular(vec2 v) {
5
+ import{ShaderOutput as e}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SliceDraw as i}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{ObjectAndLayerIdColor as t}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/ObjectAndLayerIdColor.glsl.js";import{RibbonVertexPosition as n}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/RibbonVertexPosition.glsl.js";import{LineStipple as r,computePixelSize as o}from"../views/3d/webgl-engine/core/shaderLibrary/shading/LineStipple.glsl.js";import{MarkerSizing as a}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MarkerSizing.glsl.js";import{PiUtils as s}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PiUtils.glsl.js";import{terrainDepthTest as l}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import{ColorConversion as d}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{addProjViewLocalOrigin as p,addPixelRatio as c}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float2BindUniform as m}from"../views/3d/webgl-engine/core/shaderModules/Float2BindUniform.js";import{Float4BindUniform as f}from"../views/3d/webgl-engine/core/shaderModules/Float4BindUniform.js";import{Float4PassUniform as v}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{FloatBindUniform as g}from"../views/3d/webgl-engine/core/shaderModules/FloatBindUniform.js";import{FloatPassUniform as h}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as D,If as S}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Matrix4BindUniform as u}from"../views/3d/webgl-engine/core/shaderModules/Matrix4BindUniform.js";import{VertexAttribute as x}from"../views/3d/webgl-engine/lib/VertexAttribute.js";import{AnimatedLine as L,Animation as w}from"../views/3d/webgl-engine/shaders/AnimatedLine.glsl.js";import{LineMarkerSpace as b}from"../views/3d/webgl-engine/shaders/LineMarkerTechniqueConfiguration.js";import{outputColorHighlightOID as y}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOID.glsl.js";import{CapType as j}from"../views/3d/webgl-engine/shaders/RibbonLineTechniqueConfiguration.js";import{ShaderBuilder as C}from"../views/webgl/ShaderBuilder.js";import{alphaCutoff as P}from"../webscene/support/AlphaCutoff.js";const A=1;function F(F){const R=new C,{attributes:z,varyings:T,vertex:V,fragment:W}=R,{applyMarkerOffset:E,draped:O,output:M,capType:N,stippleEnabled:_,falloffEnabled:I,roundJoins:k,wireframe:$,innerColorEnabled:U,animation:B}=F;W.include(s),R.include(n,F),R.include(r,F),R.include(t,F),R.include(l,F),R.include(L,F);const H=E&&!O;H&&(V.uniforms.add(new h("markerScale",e=>e.markerScale)),R.include(a,{space:b.World})),p(V,F),V.uniforms.add(new u("inverseProjectionMatrix",e=>e.camera.inverseProjectionMatrix),new m("nearFar",e=>e.camera.nearFar),new h("miterLimit",e=>"miter"!==e.join?0:e.miterLimit),new f("viewport",e=>e.camera.fullViewport)),V.constants.add("LARGE_HALF_FLOAT","float",65500),z.add(x.POSITION,"vec3"),z.add(x.PREVIOUSDELTA,"vec4"),z.add(x.NEXTDELTA,"vec4"),z.add(x.LINEPARAMETERS,"vec2"),z.add(x.U0,"float"),T.add("vColor","vec4"),T.add("vpos","vec3",{invariant:!0}),T.add("vLineDistance","float"),T.add("vLineWidth","float");const J=_;J&&T.add("vLineSizeInv","float");const G=N===j.ROUND,q=_&&G,X=I||q;X&&T.add("vLineDistanceNorm","float"),G&&(T.add("vSegmentSDF","float"),T.add("vReverseSegmentSDF","float")),V.code.add(D`vec2 perpendicular(vec2 v) {
6
6
  return vec2(v.y, -v.x);
7
7
  }
8
8
  float interp(float ncp, vec4 a, vec4 b) {
@@ -13,11 +13,11 @@ float s = sin(a);
13
13
  float c = cos(a);
14
14
  mat2 m = mat2(c, -s, s, c);
15
15
  return m * v;
16
- }`),R.code.add(D`vec4 projectAndScale(vec4 pos) {
16
+ }`),V.code.add(D`vec4 projectAndScale(vec4 pos) {
17
17
  vec4 posNdc = proj * pos;
18
18
  posNdc.xy *= viewport.zw / posNdc.w;
19
19
  return posNdc;
20
- }`),R.code.add(D`void clipAndTransform(inout vec4 pos, inout vec4 prev, inout vec4 next, in bool isStartVertex) {
20
+ }`),V.code.add(D`void clipAndTransform(inout vec4 pos, inout vec4 prev, inout vec4 next, in bool isStartVertex) {
21
21
  float vnp = nearFar[0] * 0.99;
22
22
  if(pos.z > -nearFar[0]) {
23
23
  if (!isStartVertex) {
@@ -47,7 +47,7 @@ forwardViewPosDepth(pos.xyz);
47
47
  pos = projectAndScale(pos);
48
48
  next = projectAndScale(next);
49
49
  prev = projectAndScale(prev);
50
- }`),c(R),R.constants.add("aaWidth","float",O?0:1).main.add(D`
50
+ }`),c(V),V.constants.add("aaWidth","float",_?0:1).main.add(D`
51
51
  // unpack values from vertex type
52
52
  bool isStartVertex = abs(abs(lineParameters.y)-3.0) == 1.0;
53
53
  vec3 prevPosition = position + previousDelta.xyz * previousDelta.w;
@@ -73,25 +73,25 @@ prev = projectAndScale(prev);
73
73
 
74
74
  float lineWidth = lineSize * pixelRatio;
75
75
  vLineWidth = lineWidth;
76
- ${U?D`vLineSizeInv = 1.0 / lineSize;`:""}
76
+ ${J?D`vLineSizeInv = 1.0 / lineSize;`:""}
77
77
 
78
78
  vec4 pos = view * vec4(position, 1.0);
79
79
  vec4 prev = view * vec4(prevPosition, 1.0);
80
80
  vec4 next = view * vec4(nextPosition, 1.0);
81
- `),k&&R.main.add(D`vec4 other = isStartVertex ? next : prev;
81
+ `),H&&V.main.add(D`vec4 other = isStartVertex ? next : prev;
82
82
  bool markersHidden = areWorldMarkersHidden(pos, other);
83
83
  if(!isJoin && !markersHidden) {
84
84
  pos.xyz += normalize(other.xyz - pos.xyz) * getWorldMarkerSize(pos) * 0.5;
85
- }`),R.main.add(D`clipAndTransform(pos, prev, next, isStartVertex);
85
+ }`),V.main.add(D`clipAndTransform(pos, prev, next, isStartVertex);
86
86
  vec2 left = (pos.xy - prev.xy);
87
87
  vec2 right = (next.xy - pos.xy);
88
88
  float leftLen = length(left);
89
- float rightLen = length(right);`);(O||B)&&R.main.add(D`
89
+ float rightLen = length(right);`);(_||G)&&V.main.add(D`
90
90
  float isEndVertex = float(!isStartVertex);
91
91
  vec2 segmentOrigin = mix(pos.xy, prev.xy, isEndVertex);
92
92
  vec2 segment = mix(right, left, isEndVertex);
93
- ${B?D`vec2 segmentEnd = mix(next.xy, pos.xy, isEndVertex);`:""}
94
- `),R.main.add(D`left = (leftLen > 0.001) ? left/leftLen : vec2(0.0, 0.0);
93
+ ${G?D`vec2 segmentEnd = mix(next.xy, pos.xy, isEndVertex);`:""}
94
+ `),V.main.add(D`left = (leftLen > 0.001) ? left/leftLen : vec2(0.0, 0.0);
95
95
  right = (rightLen > 0.001) ? right/rightLen : vec2(0.0, 0.0);
96
96
  vec2 capDisplacementDir = vec2(0, 0);
97
97
  vec2 joinDisplacementDir = vec2(0, 0);
@@ -108,18 +108,18 @@ displacementLen = min(displacementLen, min(leftLen, rightLen)/abs(nDotSeg));
108
108
  }
109
109
  }
110
110
  float subdivisionFactor = lineParameters.x;
111
- if (isOutside && (displacementLen > miterLimit * lineWidth)) {`),N?R.main.add(D`
111
+ if (isOutside && (displacementLen > miterLimit * lineWidth)) {`),k?V.main.add(D`
112
112
  vec2 startDir = leftLen < 0.001 ? right : left;
113
113
  startDir = perpendicular(startDir);
114
114
 
115
115
  vec2 endDir = rightLen < 0.001 ? left : right;
116
116
  endDir = perpendicular(endDir);
117
117
 
118
- float factor = ${O?D`min(1.0, subdivisionFactor * ${D.float((j+2)/(j+1))})`:D`subdivisionFactor`};
118
+ float factor = ${_?D`min(1.0, subdivisionFactor * ${D.float((A+2)/(A+1))})`:D`subdivisionFactor`};
119
119
 
120
120
  float rotationAngle = acos(clamp(dot(startDir, endDir), -1.0, 1.0));
121
121
  joinDisplacementDir = rotate(startDir, -sign(lineParameters.y) * factor * rotationAngle);
122
- `):R.main.add(D`if (leftLen < 0.001) {
122
+ `):V.main.add(D`if (leftLen < 0.001) {
123
123
  joinDisplacementDir = right;
124
124
  }
125
125
  else if (rightLen < 0.001) {
@@ -128,7 +128,7 @@ joinDisplacementDir = left;
128
128
  else {
129
129
  joinDisplacementDir = (isStartVertex || subdivisionFactor > 0.0) ? right : left;
130
130
  }
131
- joinDisplacementDir = perpendicular(joinDisplacementDir);`);const J=E!==w.BUTT;return R.main.add(D`
131
+ joinDisplacementDir = perpendicular(joinDisplacementDir);`);const K=N!==j.BUTT;return V.main.add(D`
132
132
  displacementLen = lineWidth;
133
133
  }
134
134
  } else {
@@ -136,27 +136,27 @@ joinDisplacementDir = perpendicular(joinDisplacementDir);`);const J=E!==w.BUTT;r
136
136
  joinDisplacementDir = isStartVertex ? right : left;
137
137
  joinDisplacementDir = perpendicular(joinDisplacementDir);
138
138
 
139
- ${J?D`capDisplacementDir = isStartVertex ? -right : left;`:""}
139
+ ${K?D`capDisplacementDir = isStartVertex ? -right : left;`:""}
140
140
  }
141
- `),R.main.add(D`
141
+ `),V.main.add(D`
142
142
  // Displacement (in pixels) caused by join/or cap
143
143
  vec2 dpos = joinDisplacementDir * sign(lineParameters.y) * displacementLen + capDisplacementDir * displacementLen;
144
144
  float lineDistNorm = sign(lineParameters.y) * pos.w;
145
145
 
146
146
  vLineDistance = lineWidth * lineDistNorm;
147
- ${H?D`vLineDistanceNorm = lineDistNorm;`:""}
147
+ ${X?D`vLineDistanceNorm = lineDistNorm;`:""}
148
148
 
149
149
  pos.xy += dpos;
150
- `),B&&R.main.add(D`vec2 segmentDir = normalize(segment);
150
+ `),G&&V.main.add(D`vec2 segmentDir = normalize(segment);
151
151
  vSegmentSDF = (isJoin && isStartVertex) ? LARGE_HALF_FLOAT : (dot(pos.xy - segmentOrigin, segmentDir) * pos.w) ;
152
- vReverseSegmentSDF = (isJoin && !isStartVertex) ? LARGE_HALF_FLOAT : (dot(pos.xy - segmentEnd, -segmentDir) * pos.w);`),O&&(V?R.uniforms.add(new g("worldToScreenRatio",e=>1/e.screenToPCSRatio)):R.main.add(D`vec3 segmentCenter = mix((nextPosition + position) * 0.5, (position + prevPosition) * 0.5, isEndVertex);
153
- float worldToScreenRatio = computeWorldToScreenRatio(segmentCenter);`),R.main.add(D`float segmentLengthScreenDouble = length(segment);
152
+ vReverseSegmentSDF = (isJoin && !isStartVertex) ? LARGE_HALF_FLOAT : (dot(pos.xy - segmentEnd, -segmentDir) * pos.w);`),_&&(O?V.uniforms.add(new g("worldToScreenRatio",e=>1/e.screenToPCSRatio)):V.main.add(D`vec3 segmentCenter = mix((nextPosition + position) * 0.5, (position + prevPosition) * 0.5, isEndVertex);
153
+ float worldToScreenRatio = computeWorldToScreenRatio(segmentCenter);`),V.main.add(D`float segmentLengthScreenDouble = length(segment);
154
154
  float segmentLengthScreen = segmentLengthScreenDouble * 0.5;
155
155
  float discreteWorldToScreenRatio = discretizeWorldToScreenRatio(worldToScreenRatio);
156
156
  float segmentLengthRender = length(mix(nextPosition - position, position - prevPosition, isEndVertex));
157
- vStipplePatternStretch = worldToScreenRatio / discreteWorldToScreenRatio;`),V?R.main.add(D`float segmentLengthPseudoScreen = segmentLengthScreen / pixelRatio * discreteWorldToScreenRatio / worldToScreenRatio;
158
- float startPseudoScreen = u0 * discreteWorldToScreenRatio - mix(0.0, segmentLengthPseudoScreen, isEndVertex);`):R.main.add(D`float startPseudoScreen = mix(u0, u0 - segmentLengthRender, isEndVertex) * discreteWorldToScreenRatio;
159
- float segmentLengthPseudoScreen = segmentLengthRender * discreteWorldToScreenRatio;`),R.uniforms.add(new h("stipplePatternPixelSize",e=>o(e))),R.main.add(D`float patternLength = lineSize * stipplePatternPixelSize;
157
+ vStipplePatternStretch = worldToScreenRatio / discreteWorldToScreenRatio;`),O?V.main.add(D`float segmentLengthPseudoScreen = segmentLengthScreen / pixelRatio * discreteWorldToScreenRatio / worldToScreenRatio;
158
+ float startPseudoScreen = u0 * discreteWorldToScreenRatio - mix(0.0, segmentLengthPseudoScreen, isEndVertex);`):V.main.add(D`float startPseudoScreen = mix(u0, u0 - segmentLengthRender, isEndVertex) * discreteWorldToScreenRatio;
159
+ float segmentLengthPseudoScreen = segmentLengthRender * discreteWorldToScreenRatio;`),V.uniforms.add(new h("stipplePatternPixelSize",e=>o(e))),V.main.add(D`float patternLength = lineSize * stipplePatternPixelSize;
160
160
  vStippleDistanceLimits = computeStippleDistanceLimits(startPseudoScreen, segmentLengthPseudoScreen, segmentLengthScreen, patternLength);
161
161
  vStippleDistance = mix(vStippleDistanceLimits.x, vStippleDistanceLimits.y, isEndVertex);
162
162
  if (segmentLengthScreenDouble >= 0.001) {
@@ -170,21 +170,21 @@ vStippleDistanceLimits = isJoin ?
170
170
  vStippleDistanceLimits :
171
171
  isStartVertex ?
172
172
  vec2(-1e34, vStippleDistanceLimits.y) :
173
- vec2(vStippleDistanceLimits.x, 1e34);`)),R.main.add(D`
173
+ vec2(vStippleDistanceLimits.x, 1e34);`)),V.main.add(D`
174
174
  // Convert back into NDC
175
175
  pos.xy = (pos.xy / viewport.zw) * pos.w;
176
176
 
177
177
  vColor = getColor();
178
178
  vColor.a *= coverage;
179
179
 
180
- ${_&&!V?"pos.z -= 0.001 * pos.w;":""}
180
+ ${$&&!O?"pos.z -= 0.001 * pos.w;":""}
181
181
 
182
182
  // transform final position to camera space for slicing
183
183
  vpos = (inverseProjectionMatrix * pos).xyz;
184
184
  gl_Position = pos;
185
185
  forwardObjectAndLayerIdColor();
186
- }`),C.fragment.include(i,P),C.include(L,P),z.include(d),z.main.add(D`discardBySlice(vpos);
187
- discardByTerrainDepth();`),_?z.main.add(D`vec4 finalColor = vec4(1.0, 0.0, 1.0, 1.0);`):(B&&z.main.add(D`
186
+ }`),R.fragment.include(i,F),R.include(y,F),W.include(d),W.main.add(D`discardBySlice(vpos);
187
+ discardByTerrainDepth();`),$?W.main.add(D`vec4 finalColor = vec4(1.0, 0.0, 1.0, 1.0);`):(G&&W.main.add(D`
188
188
  float sdf = min(vSegmentSDF, vReverseSegmentSDF);
189
189
  vec2 fragmentPosition = vec2(
190
190
  min(sdf, 0.0),
@@ -195,10 +195,10 @@ discardByTerrainDepth();`),_?z.main.add(D`vec4 finalColor = vec4(1.0, 0.0, 1.0,
195
195
  float fragmentCapSDF = (fragmentRadius - vLineWidth) * 0.5; // Divide by 2 to transform from double pixel scale
196
196
  float capCoverage = clamp(0.5 - fragmentCapSDF, 0.0, 1.0);
197
197
 
198
- if (capCoverage < ${D.float(y)}) {
198
+ if (capCoverage < ${D.float(P)}) {
199
199
  discard;
200
200
  }
201
- `),$?z.main.add(D`
201
+ `),q?W.main.add(D`
202
202
  vec2 stipplePosition = vec2(
203
203
  min(getStippleSDF() * 2.0 - 1.0, 0.0),
204
204
  vLineDistanceNorm * gl_FragCoord.w
@@ -206,11 +206,18 @@ discardByTerrainDepth();`),_?z.main.add(D`vec4 finalColor = vec4(1.0, 0.0, 1.0,
206
206
  float stippleRadius = length(stipplePosition * vLineWidth);
207
207
  float stippleCapSDF = (stippleRadius - vLineWidth) * 0.5; // Divide by 2 to transform from double pixel scale
208
208
  float stippleCoverage = clamp(0.5 - stippleCapSDF, 0.0, 1.0);
209
- float stippleAlpha = step(${D.float(y)}, stippleCoverage);
210
- `):z.main.add(D`float stippleAlpha = getStippleAlpha();`),W!==e.ObjectAndLayerIdColor&&z.main.add(D`discardByStippleAlpha(stippleAlpha, ${D.float(y)});`),z.uniforms.add(new f("intrinsicColor",e=>e.color)),z.main.add(D`vec4 color = intrinsicColor * vColor;`),I&&(z.uniforms.add(new f("innerColor",e=>e.innerColor??e.color),new h("innerWidth",(e,i)=>e.innerWidth*i.camera.pixelRatio)),z.main.add(D`float distToInner = abs(vLineDistance * gl_FragCoord.w) - innerWidth;
209
+ float stippleAlpha = step(${D.float(P)}, stippleCoverage);
210
+ `):W.main.add(D`float stippleAlpha = getStippleAlpha();`),M!==e.ObjectAndLayerIdColor&&W.main.add(D`discardByStippleAlpha(stippleAlpha, ${D.float(P)});`),W.uniforms.add(new v("intrinsicColor",e=>e.color)),W.main.add(D`vec4 color = intrinsicColor * vColor;`),U&&(W.uniforms.add(new v("innerColor",e=>e.innerColor??e.color),new h("innerWidth",(e,i)=>e.innerWidth*i.camera.pixelRatio)),W.main.add(D`float distToInner = abs(vLineDistance * gl_FragCoord.w) - innerWidth;
211
211
  float innerAA = clamp(0.5 - distToInner, 0.0, 1.0);
212
212
  float innerAlpha = innerColor.a + color.a * (1.0 - innerColor.a);
213
- color = mix(color, vec4(innerColor.rgb, innerAlpha), innerAA);`)),z.main.add(D`vec4 finalColor = blendStipple(color, stippleAlpha);`),M&&(z.uniforms.add(new h("falloff",e=>e.falloff)),z.main.add(D`finalColor.a *= pow(max(0.0, 1.0 - abs(vLineDistanceNorm * gl_FragCoord.w)), falloff);`)),O||z.main.add(D`float featherStartDistance = max(vLineWidth - 2.0, 0.0);
213
+ color = mix(color, vec4(innerColor.rgb, innerAlpha), innerAA);`)),W.main.add(D`vec4 finalColor = blendStipple(color, stippleAlpha);`),I&&(W.uniforms.add(new h("falloff",e=>e.falloff)),W.main.add(D`finalColor.a *= pow(max(0.0, 1.0 - abs(vLineDistanceNorm * gl_FragCoord.w)), falloff);`)),_||W.main.add(D`float featherStartDistance = max(vLineWidth - 2.0, 0.0);
214
214
  float value = abs(vLineDistance) * gl_FragCoord.w;
215
215
  float feather = (value - featherStartDistance) / (vLineWidth - featherStartDistance);
216
- finalColor.a *= 1.0 - clamp(feather, 0.0, 1.0);`)),z.main.add(D`outputColorHighlightOID(finalColor, vpos, finalColor.rgb);`),C}const C=Object.freeze(Object.defineProperty({__proto__:null,build:P,ribbonlineNumRoundJoinSubdivisions:j},Symbol.toStringTag,{value:"Module"}));export{C as R,P as b,j as r};
216
+ finalColor.a *= 1.0 - clamp(feather, 0.0, 1.0);`),B!==w.None&&W.main.add(D`
217
+ finalColor = animate(finalColor);
218
+
219
+ ${S(M!==e.ObjectAndLayerIdColor,D`
220
+ if (finalColor.a <= ${D.float(P)}) {
221
+ discard;
222
+ }`)}
223
+ `)),W.main.add(D`outputColorHighlightOID(finalColor, vpos, finalColor.rgb);`),R}const R=Object.freeze(Object.defineProperty({__proto__:null,build:F,ribbonlineNumRoundJoinSubdivisions:A},Symbol.toStringTag,{value:"Module"}));export{R,F as b,A as r};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{id as e}from"../kernel.js";import{isAbsolute as t,makeAbsolute as r,makeRelative as s,normalize as o,isDataProtocol as n,changeDomain as l,hasSameOrigin as a,getAppUrl as c,splitPathExtension as i}from"../core/urlUtils.js";import{normalizeArcGISOnlineOrgDomain as u}from"../portal/support/urlUtils.js";function p(e,t){const o=t?.url?.path;if(e&&o&&(e=r(e,o,{preserveProtocolRelative:!0}),t.portalItem&&t.readResourcePaths)){const r=s(e,t.portalItem.itemUrl);null!=r&&v.test(r)&&t.readResourcePaths.push(t.portalItem.resourceFromPath(r).path)}return(e=I(e,t?.portal))&&d.test(e)?R(e):e}function m(e,l,a=y.YES){if(null==(e=e&&d.test(e)?w(e):e))return e;!t(e)&&l?.blockedRelativeUrls&&l.blockedRelativeUrls.push(e);let c=r(e);if(l){const t=l.verifyItemRelativeUrls?.rootPath||l.url?.path;if(t){const r=I(t,l.portal),o=I(c,l.portal);c=s(o,r,r);null!=c&&c!==o&&c!==e&&l.verifyItemRelativeUrls&&l.verifyItemRelativeUrls.writtenUrls.push(c)}}return c=x(c,l?.portal),t(c)&&(c=o(c)),l?.resources&&l?.portalItem&&!t(c)&&!n(c)&&a===y.YES&&l.resources.toKeep.push({resource:l.portalItem.resourceFromPath(c),compress:!1}),c}function f(e,t,r){return p(e,r)}function h(e,t,r,s){const o=m(e,s);void 0!==o&&(t[r]=o)}const d=/\/items\/([^/]+)\/resources\/(.*)/,v=/^\.\/resources\//;function U(e){const t=e?.match(d)??null;return t?.[1]??null}function g(e){const t=e?.match(d)??null;if(null==t)return null;const r=t[2],s=r.lastIndexOf("/");if(-1===s){const{path:e,extension:t}=i(r);return{prefix:null,filename:e,extension:t}}const{path:o,extension:n}=i(r.slice(s+1));return{prefix:r.slice(0,s),filename:o,extension:n}}function x(e,t){return t&&!t.isPortal&&t.urlKey&&t.customBaseUrl?l(e,`${t.urlKey}.${t.customBaseUrl}`,t.portalHostname):e}function I(e,t){if(!t||t.isPortal||!t.urlKey||!t.customBaseUrl)return e;const r=`${t.urlKey}.${t.customBaseUrl}`,s=c();return a(s,`${s.scheme}://${r}`)?l(e,t.portalHostname,r):l(e,r,t.portalHostname)}function R(t){if(!t)return t||null;let r=t;return r&&e&&!e.findCredential(r)&&(r=u(r),r=r.replace(/^https?:\/\/www\.arcgis\.com/,"https://cdn.arcgis.com"),r=r.replace(/^https?:\/\/devext\.arcgis\.com/,"https://cdndev.arcgis.com"),r=r.replace(/^https?:\/\/qaext\.arcgis\.com/,"https://cdnqa.arcgis.com")),r}function w(t){if(!t)return t||null;let r=t;return r=r.replace(/^https?:\/\/cdn\.arcgis\.com/,"https://www.arcgis.com"),r=r.replace(/^https?:\/\/cdndev\.arcgis\.com/,"https://devext.arcgis.com"),r=r.replace(/^https?:\/\/cdnqa\.arcgis\.com/,"https://qaext.arcgis.com"),r&&e&&!e.findCredential(r)&&(r=u(r)),r}var y;!function(e){e[e.YES=0]="YES",e[e.NO=1]="NO"}(y||(y={}));const P=Object.freeze(Object.defineProperty({__proto__:null,get MarkKeep(){return y},ensureMainOnlineDomain:x,fromCDNUrl:w,fromJSON:p,itemIdFromResourceUrl:U,prefixAndFilenameFromResourceUrl:g,read:f,toCDNUrl:R,toJSON:m,write:h},Symbol.toStringTag,{value:"Module"}));export{y as M,R as a,P as b,w as c,x as e,p as f,U as i,g as p,f as r,m as t,h as w};
5
+ import{id as e}from"../kernel.js";import{makeAbsolute as t,makeRelative as r,isAbsolute as s,normalize as o,isDataProtocol as n,changeDomain as l,hasSameOrigin as a,getAppUrl as c,splitPathExtension as i}from"../core/urlUtils.js";import{normalizeArcGISOnlineOrgDomain as u}from"../portal/support/urlUtils.js";function p(e,s){const o=s?.url?.path;if(e&&o&&(e=t(e,o,{preserveProtocolRelative:!0}),s.portalItem&&s.readResourcePaths)){const t=r(e,s.portalItem.itemUrl);null!=t&&v.test(t)&&s.readResourcePaths.push(s.portalItem.resourceFromPath(t).path)}return(e=I(e,s?.portal))&&d.test(e)?R(e):e}function m(e,l,a=y.YES){if(null==(e=e&&d.test(e)?w(e):e))return e;!s(e)&&l?.blockedRelativeUrls&&l.blockedRelativeUrls.push(e);let c=t(e);if(l){const t=l.verifyItemRelativeUrls?.rootPath||l.url?.path;if(t){const s=I(t,l.portal),o=I(c,l.portal);c=r(o,s,s);null!=c&&c!==o&&c!==e&&l.verifyItemRelativeUrls&&l.verifyItemRelativeUrls.writtenUrls.push(c)}}return c=x(c,l?.portal),s(c)&&(c=o(c)),l?.resources&&l?.portalItem&&!s(c)&&!n(c)&&a===y.YES&&l.resources.toKeep.push({resource:l.portalItem.resourceFromPath(c),compress:!1}),c}function f(e,t,r){return p(e,r)}function h(e,t,r,s){const o=m(e,s);void 0!==o&&(t[r]=o)}const d=/\/items\/([^/]+)\/resources\/(.*)/,v=/^\.\/resources\//;function U(e){const t=e?.match(d)??null;return t?.[1]??null}function g(e){const t=e?.match(d)??null;if(null==t)return null;const r=t[2],s=r.lastIndexOf("/");if(-1===s){const{path:e,extension:t}=i(r);return{prefix:null,filename:e,extension:t}}const{path:o,extension:n}=i(r.slice(s+1));return{prefix:r.slice(0,s),filename:o,extension:n}}function x(e,t){return t&&!t.isPortal&&t.urlKey&&t.customBaseUrl?l(e,`${t.urlKey}.${t.customBaseUrl}`,t.portalHostname):e}function I(e,t){if(!t||t.isPortal||!t.urlKey||!t.customBaseUrl)return e;const r=`${t.urlKey}.${t.customBaseUrl}`,s=c();return a(s,`${s.scheme}://${r}`)?l(e,t.portalHostname,r):l(e,r,t.portalHostname)}function R(t){if(!t)return t||null;let r=t;return r&&e&&!e.findCredential(r)&&(r=u(r),r=r.replace(/^https?:\/\/www\.arcgis\.com/,"https://cdn.arcgis.com"),r=r.replace(/^https?:\/\/devext\.arcgis\.com/,"https://cdndev.arcgis.com"),r=r.replace(/^https?:\/\/qaext\.arcgis\.com/,"https://cdnqa.arcgis.com")),r}function w(t){if(!t)return t||null;let r=t;return r=r.replace(/^https?:\/\/cdn\.arcgis\.com/,"https://www.arcgis.com"),r=r.replace(/^https?:\/\/cdndev\.arcgis\.com/,"https://devext.arcgis.com"),r=r.replace(/^https?:\/\/cdnqa\.arcgis\.com/,"https://qaext.arcgis.com"),r&&e&&!e.findCredential(r)&&(r=u(r)),r}var y;!function(e){e[e.YES=0]="YES",e[e.NO=1]="NO"}(y||(y={}));const P=Object.freeze(Object.defineProperty({__proto__:null,get MarkKeep(){return y},ensureMainOnlineDomain:x,fromCDNUrl:w,fromJSON:p,itemIdFromResourceUrl:U,prefixAndFilenameFromResourceUrl:g,read:f,toCDNUrl:R,toJSON:m,write:h},Symbol.toStringTag,{value:"Module"}));export{y as M,R as a,P as b,w as c,x as e,p as f,U as i,g as p,f as r,m as t,h as w};
package/config.js CHANGED
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import"./core/has.js";import{deepMerge as e}from"./core/object.js";const s={apiKey:void 0,apiKeys:{scopes:[]},applicationName:"",applicationUrl:globalThis.location?.href,assetsPath:"",fontsUrl:"https://static.arcgis.com/fonts",geometryServiceUrl:"https://utility.arcgisonline.com/arcgis/rest/services/Geometry/GeometryServer",geoRSSServiceUrl:"https://utility.arcgis.com/sharing/rss",kmlServiceUrl:"https://utility.arcgis.com/sharing/kml",userPrivilegesApplied:!0,portalUrl:"https://www.arcgis.com",respectPrefersReducedMotion:!0,routeServiceUrl:"https://route-api.arcgis.com/arcgis/rest/services/World/Route/NAServer/Route_World",workers:{loaderConfig:{has:{},paths:{},map:{},packages:[]}},request:{crossOriginNoCorsDomains:null,httpsDomains:["arcgis.com","arcgisonline.com","esrikr.com","premiumservices.blackbridge.com","esripremium.accuweather.com","gbm.digitalglobe.com","firstlook.digitalglobe.com","msi.digitalglobe.com"],interceptors:[],internalInterceptors:[],maxUrlLength:2e3,priority:"high",proxyRules:[],proxyUrl:null,timeout:62e3,trustedServers:[],useIdentity:!0},log:{interceptors:[],level:null}};if(globalThis.esriConfig&&(e(s,globalThis.esriConfig,!0),delete s.has),!s.assetsPath){{const e="4.34.0-next.24";s.assetsPath=`https://cdn.jsdelivr.net/npm/@arcgis/core@${e}/assets`}s.defaultAssetsPath=s.assetsPath}export{s as default};
5
+ import"./core/has.js";import{deepMerge as e}from"./core/object.js";const s={apiKey:void 0,apiKeys:{scopes:[]},applicationName:"",applicationUrl:globalThis.location?.href,assetsPath:"",fontsUrl:"https://static.arcgis.com/fonts",geometryServiceUrl:"https://utility.arcgisonline.com/arcgis/rest/services/Geometry/GeometryServer",geoRSSServiceUrl:"https://utility.arcgis.com/sharing/rss",kmlServiceUrl:"https://utility.arcgis.com/sharing/kml",userPrivilegesApplied:!0,portalUrl:"https://www.arcgis.com",respectPrefersReducedMotion:!0,routeServiceUrl:"https://route-api.arcgis.com/arcgis/rest/services/World/Route/NAServer/Route_World",workers:{loaderConfig:{has:{},paths:{},map:{},packages:[]}},request:{crossOriginNoCorsDomains:null,httpsDomains:["arcgis.com","arcgisonline.com","esrikr.com","premiumservices.blackbridge.com","esripremium.accuweather.com","gbm.digitalglobe.com","firstlook.digitalglobe.com","msi.digitalglobe.com"],interceptors:[],internalInterceptors:[],maxUrlLength:2e3,priority:"high",proxyRules:[],proxyUrl:null,timeout:62e3,trustedServers:[],useIdentity:!0},log:{interceptors:[],level:null}};if(globalThis.esriConfig&&(e(s,globalThis.esriConfig,!0),delete s.has),!s.assetsPath){{const e="4.34.0-next.26";s.assetsPath=`https://cdn.jsdelivr.net/npm/@arcgis/core@${e}/assets`}s.defaultAssetsPath=s.assetsPath}export{s as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{_ as t}from"../chunks/tslib.es6.js";import s from"./Accessor.js";import r from"./Logger.js";import{debounce as o}from"./promiseUtils.js";import{watch as e,initial as n}from"./reactiveUtils.js";import{property as i}from"./accessorSupport/decorators/property.js";import{subclass as p}from"./accessorSupport/decorators/subclass.js";const c=s=>{let c=class extends s{constructor(){super(...arguments),this._numUpdating=0}get updating(){return this._numUpdating>0}autoUpdateAsync(t,s){const i=o(async s=>{++this._numUpdating;try{const r=await s;this.destroyed||this._set(t,r)}catch(o){r.getLogger(this).warn(`Async update of "${String(t)}" failed. Async update functions should not throw exceptions.`)}--this._numUpdating});return e(s,i,n)}};return t([i({readOnly:!0})],c.prototype,"updating",null),t([i()],c.prototype,"_numUpdating",void 0),c=t([p("esri.core.AsyncUpdate")],c),c};let a=class extends(c(s)){};a=t([p("esri.core.AsyncUpdate")],a);export{a as AsyncUpdate,c as AsyncUpdateMixin};
5
+ import{_ as t}from"../chunks/tslib.es6.js";import s from"./Accessor.js";import r from"./Logger.js";import{debounce as o}from"./promiseUtils.js";import{watch as e,initial as n}from"./reactiveUtils.js";import{property as i}from"./accessorSupport/decorators/property.js";import{subclass as p}from"./accessorSupport/decorators/subclass.js";const c=s=>{const c=s;let a=class extends c{constructor(){super(...arguments),this._numUpdating=0}get updating(){return this._numUpdating>0}autoUpdateAsync(t,s){const i=o(async s=>{++this._numUpdating;try{const r=await s;this.destroyed||this._set(t,r)}catch(o){r.getLogger(this).warn(`Async update of "${String(t)}" failed. Async update functions should not throw exceptions.`)}--this._numUpdating});return e(s,i,n)}};return t([i({readOnly:!0})],a.prototype,"updating",null),t([i()],a.prototype,"_numUpdating",void 0),a=t([p("esri.core.AsyncUpdate")],a),a};let a=class extends(c(s)){};a=t([p("esri.core.AsyncUpdate")],a);export{a as AsyncUpdate,c as AsyncUpdateMixin};
package/core/Clonable.js CHANGED
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{_ as o}from"../chunks/tslib.es6.js";import s from"./Accessor.js";import"./has.js";import{tryClone as t}from"./lang.js";import"./Logger.js";import{assertIsSome as e}from"./maybe.js";import{OriginId as r}from"./accessorSupport/PropertyOrigin.js";import{getProperties as n}from"./accessorSupport/utils.js";import{subclass as c}from"./accessorSupport/decorators/subclass.js";const i=s=>{let i=class extends s{clone(o){const s=n(this);e(s,"unable to clone instance of non-accessor class");const c=s.metadata,i=s.store,l={},a=new Map;for(const e in c){const s=c[e],n=i?.originOf(e),f=s.clonable;if(s.readOnly||!1===f||n!==r.USER&&n!==r.DEFAULTS&&n!==r.WEB_MAP&&n!==r.WEB_SCENE)continue;const p=this[e];let m=null;m="function"==typeof f?f(p,o):"reference"===f?p:t(p,o),null!=p&&null==m||(n===r.DEFAULTS?a.set(e,m):l[e]=m)}const f=new(0,Object.getPrototypeOf(this).constructor)(l);if(a.size){const o=n(f)?.store;if(o)for(const[s,t]of a)o.set(s,t,r.DEFAULTS)}return f}};return i=o([c("esri.core.Clonable")],i),i};let l=class extends(i(s)){};l=o([c("esri.core.Clonable")],l),function(o){o.ClonableMixin=i}(l||(l={}));const a=l;export{a as default};
5
+ import{_ as o}from"../chunks/tslib.es6.js";import s from"./Accessor.js";import"./has.js";import{tryClone as t}from"./lang.js";import"./Logger.js";import{assertIsSome as e}from"./maybe.js";import{OriginId as r}from"./accessorSupport/PropertyOrigin.js";import{getProperties as n}from"./accessorSupport/utils.js";import{subclass as c}from"./accessorSupport/decorators/subclass.js";const i=s=>{const i=s;let l=class extends i{clone(o){const s=n(this);e(s,"unable to clone instance of non-accessor class");const c=s.metadata,i=s.store,l={},a=new Map;for(const e in c){const s=c[e],n=i?.originOf(e),f=s.clonable;if(s.readOnly||!1===f||n!==r.USER&&n!==r.DEFAULTS&&n!==r.WEB_MAP&&n!==r.WEB_SCENE)continue;const p=this[e];let m=null;m="function"==typeof f?f(p,o):"reference"===f?p:t(p,o),null!=p&&null==m||(n===r.DEFAULTS?a.set(e,m):l[e]=m)}const f=new(0,Object.getPrototypeOf(this).constructor)(l);if(a.size){const o=n(f)?.store;if(o)for(const[s,t]of a)o.set(s,t,r.DEFAULTS)}return f}};return l=o([c("esri.core.Clonable")],l),l};let l=class extends(i(s)){};l=o([c("esri.core.Clonable")],l),function(o){o.ClonableMixin=i}(l||(l={}));const a=l;export{a as default};
package/core/Evented.js CHANGED
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../chunks/tslib.es6.js";import t from"./Accessor.js";import{handlesGroup as r,makeHandle as s}from"./handleUtils.js";import{subclass as n}from"./accessorSupport/decorators/subclass.js";class i{constructor(){this._emitter=new i.EventEmitter(this)}emit(e,t){return this._emitter.emit(e,t)}on(e,t){return this._emitter.on(e,t)}once(e,t){return this._emitter.once(e,t)}hasEventListener(e){return this._emitter.hasEventListener(e)}}!function(o){class c{constructor(e=null){this._target=e,this._listenersMap=null}clear(){this._listenersMap?.clear(),this._listenersMap=null}destroy(){this.clear()}emit(e,t){let r=this._listenersMap?.get(e);if(!r)return!1;const s=this._target||this;let n=!1;for(const i of r.slice()){const e="deref"in i?i.deref():i;e?e?.call(s,t):n=!0}return n&&(r=r.filter(e=>!("deref"in e)||null!=e.deref()),this._listenersMap.set(e,r)),r.length>0}on(e,t){if(Array.isArray(e)){const s=e.map(e=>this.on(e,t));return r(s)}if(e.includes(","))throw new TypeError("Evented.on() with a comma delimited string of event types is not supported");this._listenersMap??=new Map;const n=this._listenersMap.get(e)||[];return n.push(t),this._listenersMap.set(e,n),s(()=>{const r=this._listenersMap?.get(e),s=r?.indexOf(t)??-1;s>=0&&r.splice(s,1)})}once(e,t){const r=this.on(e,e=>{r.remove();const s="deref"in t?t.deref():t;s?.call(null,e)});return r}hasEventListener(e){const t=this._listenersMap?.get(e);return null!=t&&t.length>0}}o.EventEmitter=c,o.EventedMixin=t=>{let r=class extends t{constructor(){super(...arguments),this._emitter=new c}destroy(){this._emitter.clear()}emit(e,t){return this._emitter.emit(e,t)}on(e,t){return this._emitter.on(e,t)}once(e,t){return this._emitter.once(e,t)}hasEventListener(e){return this._emitter.hasEventListener(e)}};return r=e([n("esri.core.Evented")],r),r};let l=class extends t{constructor(){super(...arguments),this._emitter=new i.EventEmitter(this)}destroy(){this._emitter.clear()}emit(e,t){return this._emitter.emit(e,t)}on(e,t){return this._emitter.on(e,t)}once(e,t){return this._emitter.once(e,t)}hasEventListener(e){return this._emitter.hasEventListener(e)}};l=e([n("esri.core.Evented.EventedAccessor")],l),o.EventedAccessor=l}(i||(i={}));const o=i;export{o as default};
5
+ import{_ as e}from"../chunks/tslib.es6.js";import t from"./Accessor.js";import{handlesGroup as r,makeHandle as s}from"./handleUtils.js";import{subclass as n}from"./accessorSupport/decorators/subclass.js";class i{constructor(){this._emitter=new i.EventEmitter(this)}emit(e,t){return this._emitter.emit(e,t)}on(e,t){return this._emitter.on(e,t)}once(e,t){return this._emitter.once(e,t)}hasEventListener(e){return this._emitter.hasEventListener(e)}}!function(o){class c{constructor(e=null){this._target=e,this._listenersMap=null}clear(){this._listenersMap?.clear(),this._listenersMap=null}destroy(){this.clear()}emit(e,t){let r=this._listenersMap?.get(e);if(!r)return!1;const s=this._target||this;let n=!1;for(const i of r.slice()){const e="deref"in i?i.deref():i;e?e?.call(s,t):n=!0}return n&&(r=r.filter(e=>!("deref"in e)||null!=e.deref()),this._listenersMap.set(e,r)),r.length>0}on(e,t){if(Array.isArray(e)){const s=e.map(e=>this.on(e,t));return r(s)}if(e.includes(","))throw new TypeError("Evented.on() with a comma delimited string of event types is not supported");this._listenersMap??=new Map;const n=this._listenersMap.get(e)||[];return n.push(t),this._listenersMap.set(e,n),s(()=>{const r=this._listenersMap?.get(e),s=r?.indexOf(t)??-1;s>=0&&r.splice(s,1)})}once(e,t){const r=this.on(e,e=>{r.remove();const s="deref"in t?t.deref():t;s?.call(null,e)});return r}hasEventListener(e){const t=this._listenersMap?.get(e);return null!=t&&t.length>0}}o.EventEmitter=c,o.EventedMixin=t=>{const r=t;let s=class extends r{constructor(){super(...arguments),this._emitter=new c}destroy(){this._emitter.clear()}emit(e,t){return this._emitter.emit(e,t)}on(e,t){return this._emitter.on(e,t)}once(e,t){return this._emitter.once(e,t)}hasEventListener(e){return this._emitter.hasEventListener(e)}};return s=e([n("esri.core.Evented")],s),s};let l=class extends t{constructor(){super(...arguments),this._emitter=new i.EventEmitter(this)}destroy(){this._emitter.clear()}emit(e,t){return this._emitter.emit(e,t)}on(e,t){return this._emitter.on(e,t)}once(e,t){return this._emitter.once(e,t)}hasEventListener(e){return this._emitter.hasEventListener(e)}};l=e([n("esri.core.Evented.EventedAccessor")],l),o.EventedAccessor=l}(i||(i={}));const o=i;export{o as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../chunks/tslib.es6.js";import{subclass as t}from"./accessorSupport/decorators/subclass.js";let i=0;const r=r=>{let s=class extends r{constructor(...e){super(...e),Object.defineProperty(this,"uid",{writable:!1,configurable:!1,value:Date.now().toString(16)+"-object-"+i++})}};return s=e([t("esri.core.Identifiable")],s),s},s=r=>{let s=class extends r{constructor(...e){super(...e),Object.defineProperty(this,"uid",{writable:!1,configurable:!1,value:i++})}};return s=e([t("esri.core.Identifiable.NumericIdentifiable")],s),s};let c=class extends(r(class{})){};c=e([t("esri.core.Identifiable")],c),function(e){e.IdentifiableMixin=r,e.NumericIdentifiableMixin=s}(c||(c={}));const n=c;export{n as default};
5
+ import{_ as e}from"../chunks/tslib.es6.js";import{subclass as t}from"./accessorSupport/decorators/subclass.js";let s=0;const i=i=>{const r=i;let c=class extends r{constructor(...e){super(...e),Object.defineProperty(this,"uid",{writable:!1,configurable:!1,value:Date.now().toString(16)+"-object-"+s++})}};return c=e([t("esri.core.Identifiable")],c),c},r=i=>{const r=i;let c=class extends r{constructor(...e){super(...e),Object.defineProperty(this,"uid",{writable:!1,configurable:!1,value:s++})}};return c=e([t("esri.core.Identifiable.NumericIdentifiable")],c),c};let c=class extends(i(class{})){};c=e([t("esri.core.Identifiable")],c),function(e){e.IdentifiableMixin=i,e.NumericIdentifiableMixin=r}(c||(c={}));const n=c;export{n as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{_ as r}from"../chunks/tslib.es6.js";import t from"./Accessor.js";import{DefaultsStore as s}from"./accessorSupport/DefaultsStore.js";import{setupConstructedDefaults as o}from"./accessorSupport/defaultsStoreUtils.js";import{read as e}from"./accessorSupport/read.js";import{getProperties as c}from"./accessorSupport/utils.js";import{write as i}from"./accessorSupport/write.js";import{subclass as p}from"./accessorSupport/decorators/subclass.js";const u=t=>{let u=class extends t{constructor(...r){super(...r);const t=c(this),e=t.store,i=new s;t.store=i,o(t,e,i)}read(r,t){e(this,r,t)}write(r,t){return i(this,r??{},t)}toJSON(r){return this.write({},r)}static fromJSON(r,t){return a.call(this,r,t)}};return u=r([p("esri.core.JSONSupport")],u),u.prototype.toJSON.isDefaultToJSON=!0,u};function a(r,t){if(!r)return null;if(r.declaredClass)throw new Error("JSON object is already hydrated");const s=new this;return s.read(r,t),s}let n=class extends(u(t)){};n=r([p("esri.core.JSONSupport")],n),function(r){r.JSONSupportMixin=u}(n||(n={}));const l=n;export{l as default};
5
+ import{_ as r}from"../chunks/tslib.es6.js";import t from"./Accessor.js";import{DefaultsStore as s}from"./accessorSupport/DefaultsStore.js";import{setupConstructedDefaults as o}from"./accessorSupport/defaultsStoreUtils.js";import{read as e}from"./accessorSupport/read.js";import{getProperties as c}from"./accessorSupport/utils.js";import{write as i}from"./accessorSupport/write.js";import{subclass as p}from"./accessorSupport/decorators/subclass.js";const u=t=>{const u=t;let n=class extends u{constructor(...r){super(...r);const t=c(this),e=t.store,i=new s;t.store=i,o(t,e,i)}read(r,t){e(this,r,t)}write(r,t){return i(this,r??{},t)}toJSON(r){return this.write({},r)}static fromJSON(r,t){return a.call(this,r,t)}};return n=r([p("esri.core.JSONSupport")],n),n.prototype.toJSON.isDefaultToJSON=!0,n};function a(r,t){if(!r)return null;if(r.declaredClass)throw new Error("JSON object is already hydrated");const s=new this;return s.read(r,t),s}let n=class extends(u(t)){};n=r([p("esri.core.JSONSupport")],n),function(r){r.JSONSupportMixin=u}(n||(n={}));const l=n;export{l as default};
package/core/Loadable.js CHANGED
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{_ as o}from"../chunks/tslib.es6.js";import t from"./Error.js";import{abortMaybe as r}from"./maybe.js";import s from"./Promise.js";import{onAbortOrThrow as l}from"./promiseUtils.js";import e from"./Warning.js";import{property as a}from"./accessorSupport/decorators/property.js";import{subclass as i}from"./accessorSupport/decorators/subclass.js";const n="not-loaded",d="loading",h="failed",c="loaded",u=s=>{let u=class extends s{constructor(...o){super(...o),this._loadController=null,this.loadError=null,this.loadStatus="not-loaded",this._set("loadWarnings",[]),this.addResolvingPromise(new Promise(o=>{const r=this.load.bind(this);this.load=s=>{const e=new Promise((o,r)=>{const e=l(s,r);this.destroyed&&r(new t("load:instance-destroyed",`Instance of '${this.declaredClass||this.constructor.name}' is already destroyed`,{instance:this})),this.when(o,r).finally(()=>{e&&e.remove()})});if(this.loadStatus===n){this._set("loadStatus",d);const o=this._loadController=new AbortController;r({signal:o.signal})}return o(),e}})),this.when(()=>{this._set("loadStatus",c),this._loadController=null},o=>{this._set("loadStatus",h),this._set("loadError",o),this._loadController=null})}destroy(){this._loadController&&(this._loadController=r(this._loadController),this._promiseProps.abort()),this._set("loadError",null),this._set("loadWarnings",[])}get loaded(){return this.loadStatus===c}get loadWarnings(){return this._get("loadWarnings")}load(){return null}cancelLoad(){return this.isFulfilled()||(this._set("loadError",new t("load:cancelled","Cancelled")),this._loadController?.abort(),this._promiseProps.abort()),this}};return o([a({readOnly:!0})],u.prototype,"loaded",null),o([a({readOnly:!0})],u.prototype,"loadError",void 0),o([a({clonable:!1})],u.prototype,"loadStatus",void 0),o([a({type:[e],readOnly:!0})],u.prototype,"loadWarnings",null),u=o([i("esri.core.Loadable")],u),u};let p=class extends(u(s)){};p=o([i("esri.core.Loadable")],p),function(o){function t(o){return!(!o||!o.load)}o.LoadableMixin=u,o.isLoadable=t}(p||(p={}));export{p as default};
5
+ import{_ as o}from"../chunks/tslib.es6.js";import t from"./Error.js";import{abortMaybe as r}from"./maybe.js";import s from"./Promise.js";import{onAbortOrThrow as l}from"./promiseUtils.js";import e from"./Warning.js";import{property as a}from"./accessorSupport/decorators/property.js";import{subclass as n}from"./accessorSupport/decorators/subclass.js";const i="not-loaded",d="loading",h="failed",c="loaded",u=s=>{const u=s;let p=class extends u{constructor(...o){super(...o),this._loadController=null,this.loadError=null,this.loadStatus="not-loaded",this._set("loadWarnings",[]),this.addResolvingPromise(new Promise(o=>{const r=this.load.bind(this);this.load=s=>{const e=new Promise((o,r)=>{const e=l(s,r);this.destroyed&&r(new t("load:instance-destroyed",`Instance of '${this.declaredClass||this.constructor.name}' is already destroyed`,{instance:this})),this.when(o,r).finally(()=>{e&&e.remove()})});if(this.loadStatus===i){this._set("loadStatus",d);const o=this._loadController=new AbortController;r({signal:o.signal})}return o(),e}})),this.when(()=>{this._set("loadStatus",c),this._loadController=null},o=>{this._set("loadStatus",h),this._set("loadError",o),this._loadController=null})}destroy(){this._loadController&&(this._loadController=r(this._loadController),this._promiseProps.abort()),this._set("loadError",null),this._set("loadWarnings",[])}get loaded(){return this.loadStatus===c}get loadWarnings(){return this._get("loadWarnings")}load(o){return null}cancelLoad(){return this.isFulfilled()||(this._set("loadError",new t("load:cancelled","Cancelled")),this._loadController?.abort(),this._promiseProps.abort()),this}};return o([a({readOnly:!0})],p.prototype,"loaded",null),o([a({readOnly:!0})],p.prototype,"loadError",void 0),o([a({clonable:!1})],p.prototype,"loadStatus",void 0),o([a({type:[e],readOnly:!0})],p.prototype,"loadWarnings",null),p=o([n("esri.core.Loadable")],p),p};let p=class extends(u(s)){};p=o([n("esri.core.Loadable")],p),function(o){function t(o){return!(!o||!o.load)}o.LoadableMixin=u,o.isLoadable=t}(p||(p={}));export{p as default};
package/core/MapUtils.js CHANGED
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- function n(n,t){for(const r of n.values())if(t(r))return!0;return!1}function t(n,t){if(null==n&&null==t)return!0;if(null==n||null==t||n.size!==t.size)return!1;for(const[r,u]of n)if(!t.has(r)||u!==t.get(r))return!1;return!0}function r(n,t){for(const r of n.values())if(t(r))return r;return null}function u(n,t,r){const u=n.get(t);if(void 0!==u)return u;const e=r();return n.set(t,e),e}function e(n){const t=new Map;return r=>(t.has(r)||t.set(r,n(r)),t.get(r))}export{t as equals,r as findInMap,u as getOrCreateMapValue,e as memoize,n as someMap};
5
+ function n(n,t){for(const r of n.values())if(t(r))return!0;return!1}function t(n,t){for(const r of n.values())if(!t(r))return!1;return!0}function r(n,t){if(null==n&&null==t)return!0;if(null==n||null==t||n.size!==t.size)return!1;for(const[r,u]of n)if(!t.has(r)||u!==t.get(r))return!1;return!0}function u(n,t){for(const r of n.values())if(t(r))return r;return null}function e(n,t,r){const u=n.get(t);if(void 0!==u)return u;const e=r();return n.set(t,e),e}function o(n){const t=new Map;return r=>(t.has(r)||t.set(r,n(r)),t.get(r))}export{r as equals,t as everyMap,u as findInMap,e as getOrCreateMapValue,o as memoize,n as someMap};
package/core/MemCache.js CHANGED
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- const t=-3,i=t-1;var s;!function(t){t[t.ALL=0]="ALL",t[t.SOME=1]="SOME"}(s||(s={}));class e{constructor(t,i,s,e=0){this.name=t,this._storage=i,this.removeFunc=s,this._defaultPriority=e,this.id=`${r++}${_}`,this.size=0,this._hit=0,this._miss=0,this._storage.register(this)}destroy(){this._storage.deregister(this),this._storage=null}get hitRate(){return this._hit/(this._hit+this._miss)}get storageSize(){return this._storage.size}getSize(t){return this._storage.getSize(this,t)}set maxSize(t){this._storage.setMaxSize(this,t)}resetHitRate(){this._hit=this._miss=0}put(t,i,s=this._defaultPriority){this._storage.put(this,t,i,i.cachedMemory,s)}pop(t){const i=this._storage.pop(this,t);return void 0===i?++this._miss:++this._hit,i}get(t){const i=this._storage.get(this,t);return void 0===i?++this._miss:++this._hit,i}peek(t){return this._storage.peek(this,t)}updateSize(t,i){this._storage.updateSize(this,t,i,i.cachedMemory)}clear(){this._storage.clear(this)}clearAll(){this._storage.clearAll()}*[Symbol.iterator](){yield*this._storage.values(this)}get performanceInfo(){return this._storage.performanceInfo}resetStats(){this._storage.resetStats()}}class h{get size(){return this._size}constructor(t=10485760){this._maxSize=t,this._db=new Map,this._size=0,this._hit=0,this._miss=0,this._users=new Map,this._sizeLimits=new Map}destroy(){this.clearAll(),this._sizeLimits.clear(),this._users.clear(),this._db=null}register(t){this._users.set(t.id.slice(0,-1),t)}deregister(t){this.clear(t),this._sizeLimits.delete(t),this._users.delete(t.id.slice(0,-1))}get maxSize(){return this._maxSize}set maxSize(t){this._maxSize=Math.max(t,-1),this._checkSize()}getSize(t,i){const s=this._db.get(t.id+i);return s?.size??0}put(e,h,r,_,n){h=e.id+h;const a=this._db.get(h);if(a&&(this._size-=a.size,e.size-=a.size,this._db.delete(h),a.entry!==r&&this._notifyRemove(h,a.entry,a.size,s.ALL)),_>this._maxSize)return void this._notifyRemove(h,r,_,s.ALL);if(void 0===r)return void console.warn("Refusing to cache undefined entry ");if(!_||_<0)return console.warn(`Refusing to cache entry with size ${_} for key ${h}`),void this._notifyRemove(h,r,0,s.ALL);const c=1+Math.max(n,i)-t;this._db.set(h,new o(r,_,c)),this._size+=_,e.size+=_,this._checkSize()}updateSize(t,i,e,h){i=t.id+i;const r=this._db.get(i);if(r&&r.entry===e){for(this._size-=r.size,t.size-=r.size;h>this._maxSize;){const t=this._notifyRemove(i,e,h,s.SOME);if(!(null!=t&&t>0))return void this._db.delete(i);h=t}r.size=h,this._size+=h,t.size+=h,this._checkSize()}}pop(t,i){i=t.id+i;const s=this._db.get(i);if(s)return this._size-=s.size,t.size-=s.size,this._db.delete(i),++this._hit,s.entry;++this._miss}get(t,i){i=t.id+i;const s=this._db.get(i);if(void 0!==s)return this._db.delete(i),s.lives=s.lifetime,this._db.set(i,s),++this._hit,s.entry;++this._miss}peek(t,i){const s=this._db.get(t.id+i);return s?++this._hit:++this._miss,s?.entry}get performanceInfo(){const i={Size:Math.round(this._size/1048576)+"/"+Math.round(this._maxSize/1048576)+"MB","Hit rate":Math.round(100*this._getHitRate())+"%",Entries:this._db.size.toString()},s={},e=new Array;this._db.forEach((t,i)=>{const h=t.lifetime;e[h]=(e[h]||0)+t.size,this._users.forEach(e=>{const{id:h,name:r}=e;if(i.startsWith(h)){const i=s[r]||0;s[r]=i+t.size}})});const h={};this._users.forEach(t=>{const i=t.name;if("hitRate"in t&&"number"==typeof t.hitRate&&!isNaN(t.hitRate)&&t.hitRate>0){const e=s[i]||0;s[i]=e,h[i]=Math.round(100*t.hitRate)+"%"}else h[i]="0%"});const r=Object.keys(s);r.sort((t,i)=>s[i]-s[t]),r.forEach(t=>i[t]=Math.round(s[t]/2**20)+"MB / "+h[t]);for(let o=e.length-1;o>=0;--o){const s=e[o];s&&(i["Priority "+(o+t-1)]=Math.round(s/this._size*100)+"%")}return i}resetStats(){this._hit=this._miss=0,this._users.forEach(t=>t.resetHitRate())}clear(t){const i=t.id;this._db.forEach((t,e)=>{e.startsWith(i)&&(this._size-=t.size,this._db.delete(e),this._notifyRemove(e,t.entry,t.size,s.ALL))}),t.size=0}clearAll(){this._db.forEach((t,i)=>this._notifyRemove(i,t.entry,t.size,s.ALL)),this._users.forEach(t=>t.size=0),this._size=0,this._db.clear()}*values(t){for(const[i,s]of this._db)i.startsWith(t.id)&&(yield s.entry)}_getHitRate(){return this._hit/(this._hit+this._miss)}_notifyRemove(t,i,s,e){const h=this._users.get(t.split(_)[0])?.removeFunc,r=h?.(i,e,s);return"number"==typeof r?r:null}_checkSize(){this._sizeLimits.forEach((t,i)=>this._checkSizeLimits(t,i)),this._checkSizeLimits(this.maxSize)}setMaxSize(t,i){null==i||i<=0?this._sizeLimits.delete(t):this._sizeLimits.set(t,i)}_checkSizeLimits(t,i){const s=i??this;if(s.size<=t)return;const e=i?.id;let h=!0;for(;h;){h=!1;for(const[r,o]of this._db)if(0===o.lifetime&&(!e||r.startsWith(e))){const e=i??this._users.get(r.split(_)[0]);if(this._purgeItem(r,o,e),s.size<=.9*t)return;h||=this._db.has(r)}}for(const[r,o]of this._db)if(!e||r.startsWith(e)){const e=i??this._users.get(r.split(_)[0]);if(this._purgeItem(r,o,e),s.size<=.9*t)return}}_purgeItem(t,i,e){if(this._db.delete(t),i.lives<=1){this._size-=i.size,e&&(e.size-=i.size);const h=this._notifyRemove(t,i.entry,i.size,s.SOME);null!=h&&h>0&&(this._size+=h,e&&(e.size+=h),i.lives=i.lifetime,i.size=h,this._db.set(t,i))}else--i.lives,this._db.set(t,i)}}let r=0;class o{constructor(t,i,s){this.entry=t,this.size=i,this.lifetime=s,this.lives=s}}const _=":";export{e as MemCache,h as MemCacheStorage,t as MinPriority,i as NoPriority,s as RemoveMode};
5
+ import has from"./has.js";const t=-3,s=t-1;var i;!function(t){t[t.ALL=0]="ALL",t[t.SOME=1]="SOME"}(i||(i={}));const e=!!has("esri-tests-disable-gpu-memory-measurements");class h{constructor(t,s,i,e=0){this.name=t,this._storage=s,this.removeFunc=i,this._defaultPriority=e,this.id=`${o++}${n}`,this.size=0,this._hit=0,this._miss=0,this._storage.register(this)}destroy(){this._storage.deregister(this),this._storage=null}get hitRate(){return this._hit/(this._hit+this._miss)}get storageSize(){return this._storage.size}getSize(t){return this._storage.getSize(this,t)}set maxSize(t){this._storage.setMaxSize(this,t)}resetHitRate(){this._hit=this._miss=0}put(t,s,i=this._defaultPriority){this._storage.put(this,t,s,s.cachedMemory,i)}pop(t){const s=this._storage.pop(this,t);return void 0===s?++this._miss:++this._hit,s}get(t){const s=this._storage.get(this,t);return void 0===s?++this._miss:++this._hit,s}peek(t){return this._storage.peek(this,t)}updateSize(t,s){this._storage.updateSize(this,t,s,s.cachedMemory)}clear(){this._storage.clear(this)}clearAll(){this._storage.clearAll()}*[Symbol.iterator](){yield*this._storage.values(this)}get performanceInfo(){return this._storage.performanceInfo}resetStats(){this._storage.resetStats()}}class r{get size(){return this._size}constructor(t=10485760){this._maxSize=t,this._db=new Map,this._size=0,this._hit=0,this._miss=0,this._users=new Map,this._sizeLimits=new Map}destroy(){this.clearAll(),this._sizeLimits.clear(),this._users.clear(),this._db=null}register(t){this._users.set(t.id.slice(0,-1),t)}deregister(t){this.clear(t),this._sizeLimits.delete(t),this._users.delete(t.id.slice(0,-1))}get maxSize(){return this._maxSize}set maxSize(t){this._maxSize=Math.max(t,-1),this._checkSize()}getSize(t,s){const i=this._db.get(t.id+s);return i?.size??0}put(h,r,o,n,a){r=h.id+r;const c=this._db.get(r);if(c&&(this._size-=c.size,h.size-=c.size,this._db.delete(r),c.entry!==o&&this._notifyRemove(r,c.entry,c.size,i.ALL)),n>this._maxSize)return void this._notifyRemove(r,o,n,i.ALL);if(void 0===o)return void console.warn("Refusing to cache undefined entry ");if(!n||n<0)return e||console.warn(`Refusing to cache entry with size ${n} for key ${r}`),void this._notifyRemove(r,o,0,i.ALL);const z=1+Math.max(a,s)-t;this._db.set(r,new _(o,n,z)),this._size+=n,h.size+=n,this._checkSize()}updateSize(t,s,e,h){s=t.id+s;const r=this._db.get(s);if(r&&r.entry===e){for(this._size-=r.size,t.size-=r.size;h>this._maxSize;){const t=this._notifyRemove(s,e,h,i.SOME);if(!(null!=t&&t>0))return void this._db.delete(s);h=t}r.size=h,this._size+=h,t.size+=h,this._checkSize()}}pop(t,s){s=t.id+s;const i=this._db.get(s);if(i)return this._size-=i.size,t.size-=i.size,this._db.delete(s),++this._hit,i.entry;++this._miss}get(t,s){s=t.id+s;const i=this._db.get(s);if(void 0!==i)return this._db.delete(s),i.lives=i.lifetime,this._db.set(s,i),++this._hit,i.entry;++this._miss}peek(t,s){const i=this._db.get(t.id+s);return i?++this._hit:++this._miss,i?.entry}get performanceInfo(){const s={Size:Math.round(this._size/1048576)+"/"+Math.round(this._maxSize/1048576)+"MB","Hit rate":Math.round(100*this._getHitRate())+"%",Entries:this._db.size.toString()},i={},e=new Array;this._db.forEach((t,s)=>{const h=t.lifetime;e[h]=(e[h]||0)+t.size,this._users.forEach(e=>{const{id:h,name:r}=e;if(s.startsWith(h)){const s=i[r]||0;i[r]=s+t.size}})});const h={};this._users.forEach(t=>{const s=t.name;if("hitRate"in t&&"number"==typeof t.hitRate&&!isNaN(t.hitRate)&&t.hitRate>0){const e=i[s]||0;i[s]=e,h[s]=Math.round(100*t.hitRate)+"%"}else h[s]="0%"});const r=Object.keys(i);r.sort((t,s)=>i[s]-i[t]),r.forEach(t=>s[t]=Math.round(i[t]/2**20)+"MB / "+h[t]);for(let o=e.length-1;o>=0;--o){const i=e[o];i&&(s["Priority "+(o+t-1)]=Math.round(i/this._size*100)+"%")}return s}resetStats(){this._hit=this._miss=0,this._users.forEach(t=>t.resetHitRate())}clear(t){const s=t.id;this._db.forEach((t,e)=>{e.startsWith(s)&&(this._size-=t.size,this._db.delete(e),this._notifyRemove(e,t.entry,t.size,i.ALL))}),t.size=0}clearAll(){this._db.forEach((t,s)=>this._notifyRemove(s,t.entry,t.size,i.ALL)),this._users.forEach(t=>t.size=0),this._size=0,this._db.clear()}*values(t){for(const[s,i]of this._db)s.startsWith(t.id)&&(yield i.entry)}_getHitRate(){return this._hit/(this._hit+this._miss)}_notifyRemove(t,s,i,e){const h=this._users.get(t.split(n)[0])?.removeFunc,r=h?.(s,e,i);return"number"==typeof r?r:null}_checkSize(){this._sizeLimits.forEach((t,s)=>this._checkSizeLimits(t,s)),this._checkSizeLimits(this.maxSize)}setMaxSize(t,s){null==s||s<=0?this._sizeLimits.delete(t):this._sizeLimits.set(t,s)}_checkSizeLimits(t,s){const i=s??this;if(i.size<=t)return;const e=s?.id;let h=!0;for(;h;){h=!1;for(const[r,o]of this._db)if(0===o.lifetime&&(!e||r.startsWith(e))){const e=s??this._users.get(r.split(n)[0]);if(this._purgeItem(r,o,e),i.size<=.9*t)return;h||=this._db.has(r)}}for(const[r,o]of this._db)if(!e||r.startsWith(e)){const e=s??this._users.get(r.split(n)[0]);if(this._purgeItem(r,o,e),i.size<=.9*t)return}}_purgeItem(t,s,e){if(this._db.delete(t),s.lives<=1){this._size-=s.size,e&&(e.size-=s.size);const h=this._notifyRemove(t,s.entry,s.size,i.SOME);null!=h&&h>0&&(this._size+=h,e&&(e.size+=h),s.lives=s.lifetime,s.size=h,this._db.set(t,s))}else--s.lives,this._db.set(t,s)}}let o=0;class _{constructor(t,s,i){this.entry=t,this.size=s,this.lifetime=i,this.lives=i}}const n=":";export{h as MemCache,r as MemCacheStorage,t as MinPriority,s as NoPriority,i as RemoveMode};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{_ as r}from"../chunks/tslib.es6.js";import t from"./Accessor.js";import{ReadOnlyMultiOriginJSONMixin as s}from"./ReadOnlyMultiOriginJSONSupport.js";import{get as o}from"./accessorSupport/get.js";import{nameToId as e,OriginId as i,originIdNum as p}from"./accessorSupport/PropertyOrigin.js";import{getProperties as c}from"./accessorSupport/utils.js";import{write as n}from"./accessorSupport/write.js";import{subclass as u}from"./accessorSupport/decorators/subclass.js";const l=t=>{let s=class extends t{constructor(...r){super(...r)}clear(r,t="user"){c(this).clearOrigin(r,e(t))}write(r,t){return n(this,r=r||{},t),r}setAtOrigin(r,t,s){c(this).setAtOrigin(r,t,e(s))}removeOrigin(r){const t=O(this),s=e(r),o=t.keys(s);for(const e of o)t.originOf(e)===s&&t.set(e,t.get(e,s),i.USER)}updateOrigin(r,t){const s=O(this),i=e(t),c=o(this,r);for(let o=i+1;o<p;++o)s.delete(r,o);s.set(r,c,i)}toJSON(r){return this.write({},r)}};return s=r([u("esri.core.MultiOriginJSONSupport.WriteableMultiOriginJSONSupport")],s),s.prototype.toJSON.isDefaultToJSON=!0,s};function O(r){return c(r).store}const S=t=>{let o=class extends(l(s(t))){constructor(...r){super(...r)}};return o=r([u("esri.core.MultiOriginJSONSupport")],o),o};let a=class extends(S(t)){};a=r([u("esri.core.MultiOriginJSONSupport")],a);export{S as MultiOriginJSONMixin,a as MultiOriginJSONSupport};
5
+ import{_ as r}from"../chunks/tslib.es6.js";import t from"./Accessor.js";import{ReadOnlyMultiOriginJSONMixin as s}from"./ReadOnlyMultiOriginJSONSupport.js";import{get as o}from"./accessorSupport/get.js";import{nameToId as e,OriginId as i,originIdNum as c}from"./accessorSupport/PropertyOrigin.js";import{getProperties as p}from"./accessorSupport/utils.js";import{write as n}from"./accessorSupport/write.js";import{subclass as u}from"./accessorSupport/decorators/subclass.js";const l=t=>{const s=t;let l=class extends s{constructor(...r){super(...r)}clear(r,t="user"){p(this).clearOrigin(r,e(t))}write(r,t){return n(this,r=r||{},t),r}setAtOrigin(r,t,s){p(this).setAtOrigin(r,t,e(s))}removeOrigin(r){const t=O(this),s=e(r),o=t.keys(s);for(const e of o)t.originOf(e)===s&&t.set(e,t.get(e,s),i.USER)}updateOrigin(r,t){const s=O(this),i=e(t),p=o(this,r);for(let o=i+1;o<c;++o)s.delete(r,o);s.set(r,p,i)}toJSON(r){return this.write({},r)}};return l=r([u("esri.core.MultiOriginJSONSupport.WriteableMultiOriginJSONSupport")],l),l.prototype.toJSON.isDefaultToJSON=!0,l};function O(r){return p(r).store}const S=t=>{const o=l(s(t));let e=class extends o{constructor(...r){super(...r)}};return e=r([u("esri.core.MultiOriginJSONSupport")],e),e};let a=class extends(S(t)){};a=r([u("esri.core.MultiOriginJSONSupport")],a);export{S as MultiOriginJSONMixin,a as MultiOriginJSONSupport};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- function t(t){return t?.release&&"function"==typeof t.release}function i(t){return t?.acquire&&"function"==typeof t.acquire}class e{constructor(t,i,e,s=1,o=0){this._ctor=t,this._acquireFunction=i,this._releaseFunction=e,this.allocationSize=s,this._pool=new Array(o),this._initialSize=o;for(let n=0;n<o;n++)this._pool[n]=new this._ctor;this.allocationSize=Math.max(s,1)}destroy(){this.prune(0)}acquire(...t){let s;if(e.test.disabled)s=new this._ctor;else{if(0===this._pool.length){const t=this.allocationSize;for(let i=0;i<t;i++)this._pool[i]=new this._ctor}s=this._pool.pop()}return this._acquireFunction?this._acquireFunction(s,...t):i(s)&&s.acquire(...t),s}release(i){i&&!e.test.disabled&&(this._releaseFunction?this._releaseFunction(i):t(i)&&i.release(),this._pool.push(i))}prune(t=this._initialSize){if(!(t>=this._pool.length)){for(let i=t;i<this._pool.length;++i){const t=this._pool[i];this._dispose(t)}this._pool.length=t}}_dispose(t){t.dispose&&"function"==typeof t.dispose&&t.dispose()}static{this.test={disabled:!1}}}export{e as default};
5
+ import has from"./has.js";function t(t){return t?.release&&"function"==typeof t.release}function i(t){return t?.acquire&&"function"==typeof t.acquire}class e{constructor(t,i,e,s=1,o=0){this._ctor=t,this._acquireFunction=i,this._releaseFunction=e,this.allocationSize=s,this._pool=new Array(o),this._initialSize=o;for(let n=0;n<o;n++)this._pool[n]=new this._ctor;this.allocationSize=Math.max(s,1)}destroy(){this.prune(0)}acquire(...t){let s;if(e.test.disabled)s=new this._ctor;else{if(0===this._pool.length){const t=this.allocationSize;for(let i=0;i<t;i++)this._pool[i]=new this._ctor}s=this._pool.pop()}return this._acquireFunction?this._acquireFunction(s,...t):i(s)&&s.acquire(...t),s}release(i){i&&!e.test.disabled&&(this._releaseFunction?this._releaseFunction(i):t(i)&&i.release(),this._pool.push(i))}prune(t=this._initialSize){if(!(t>=this._pool.length)){for(let i=t;i<this._pool.length;++i){const t=this._pool[i];this._dispose(t)}this._pool.length=t}}_dispose(t){t.dispose&&"function"==typeof t.dispose&&t.dispose()}static{this.test={disabled:!!has("esri-tests-disable-memory-pools")}}}export{e as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{PositionHint as t,indexOf as h,removeUnorderedMany as i}from"./arrayUtils.js";import{toConst as s}from"./compilerUtils.js";import a from"./HeapSort.js";const e=1.5,l=1.1;class r{constructor(h){this.data=[],this._length=0,this._allocator=void 0,this._deallocator=()=>null,this._shrink=()=>{},this._hint=new t,h&&(h.initialSize&&(this.data=new Array(h.initialSize)),h.allocator&&(this._allocator=h.allocator),void 0!==h.deallocator&&(this._deallocator=h.deallocator),h.shrink&&(this._shrink=()=>n(this)))}toArray(){return this.data.slice(0,this.length)}filter(t){const h=new Array;for(let i=0;i<this._length;i++){const s=this.data[i];t(s)&&h.push(s)}return h}at(t){if((t=Math.trunc(t)||0)<0&&(t+=this._length),!(t<0||t>=this._length))return this.data[t]}includes(t,h){const i=this.data.indexOf(t,h);return-1!==i&&i<this.length}get length(){return this._length}set length(t){if(t>this._length){if(this._allocator){for(;this._length<t;)this.data[this._length++]=this._allocator(this.data[this._length]);return}this._length=t}else{if(this._deallocator)for(let h=t;h<this._length;++h)this.data[h]=this._deallocator(this.data[h]);this._length=t,this._shrink()}}clear(){this.length=0}prune(){this.clear(),this.data=[]}push(t){this.data[this._length++]=t}pushArray(t,h=t.length){for(let i=0;i<h;i++)this.data[this._length++]=t[i]}fill(t,h){for(let i=0;i<h;i++)this.data[this._length++]=t}pushNew(){this._allocator&&(this.data[this.length]=this._allocator(this.data[this.length]));const t=this.data[this._length];return++this._length,t}unshift(t){this.data.unshift(t),this._length++,n(this)}pop(){if(0===this.length)return;const t=this.data[this.length-1];return this.length=this.length-1,this._shrink(),t}remove(t){const i=h(this.data,s(t),this.length,this._hint);if(-1!==i)return this.data.splice(i,1),this.length=this.length-1,t}removeUnordered(t){return this.removeUnorderedIndex(h(this.data,s(t),this.length,this._hint))}removeUnorderedIndex(t){if(!(t>=this.length||t<0))return this.swapElements(t,this.length-1),this.pop()}removeUnorderedMany(t,h=t.length,s){this.length=i(this.data,t,this.length,h,this._hint,s),this._shrink()}front(){if(0!==this.length)return this.data[0]}back(){if(0!==this.length)return this.data[this.length-1]}swapElements(t,h){if(t>=this.length||h>=this.length||t===h)return;const i=this.data[t];this.data[t]=this.data[h],this.data[h]=i}sort(t){a.sort(this.data,0,this.length,t)}iterableSort(t){return a.iterableSort(this.data,0,this.length,t)}some(t,h){for(let i=0;i<this.length;++i)if(t.call(h,this.data[i],i,this.data))return!0;return!1}find(t,h){const{data:i,length:s}=this;for(let a=0;a<s;++a)if(t.call(h,i[a]))return i[a]}filterInPlace(t,h){let i=0;for(let s=0;s<this._length;++s){const a=this.data[s];t.call(h,a,s,this.data)&&(this.data[s]=this.data[i],this.data[i]=a,i++)}if(this._deallocator)for(let s=i;s<this._length;s++)this.data[s]=this._deallocator(this.data[s]);return this._length=i,this._shrink(),this}forAll(t,h){const{data:i,length:s}=this;for(let a=0;a<s;++a)t.call(h,i[a],a,i)}forEach(t,h){this.data.slice(0,this.length).forEach(t,h)}map(t,h){const i=new Array(this.length);for(let s=0;s<this.length;++s)i[s]=t.call(h,this.data[s],s,this.data);return i}reduce(t,h){let i=h;for(let s=0;s<this.length;++s)i=t(i,this.data[s],s,this.data);return i}has(t){const h=this.length,i=this.data;for(let s=0;s<h;++s)if(i[s]===t)return!0;return!1}*[Symbol.iterator](){for(let t=0;t<this.length;t++)yield this.data[t]}}function n(t){t.data.length>e*t.length&&(t.data.length=Math.floor(t.length*l))}export{r as default};
5
+ import{PositionHint as t,indexOf as h,removeUnorderedMany as i}from"./arrayUtils.js";import{toConst as s}from"./compilerUtils.js";import{sort as a,iterableSort as e}from"./heapSort.js";const l=1.5,n=1.1;class r{constructor(h){this.data=[],this._length=0,this._allocator=void 0,this._deallocator=()=>null,this._shrink=()=>{},this._hint=new t,h&&(h.initialSize&&(this.data=new Array(h.initialSize)),h.allocator&&(this._allocator=h.allocator),void 0!==h.deallocator&&(this._deallocator=h.deallocator),h.shrink&&(this._shrink=()=>o(this)))}toArray(){return this.data.slice(0,this.length)}filter(t){const h=new Array;for(let i=0;i<this._length;i++){const s=this.data[i];t(s)&&h.push(s)}return h}at(t){if((t=Math.trunc(t)||0)<0&&(t+=this._length),!(t<0||t>=this._length))return this.data[t]}includes(t,h){const i=this.data.indexOf(t,h);return-1!==i&&i<this.length}get length(){return this._length}set length(t){if(t>this._length){if(this._allocator){for(;this._length<t;)this.data[this._length++]=this._allocator(this.data[this._length]);return}this._length=t}else{if(this._deallocator)for(let h=t;h<this._length;++h)this.data[h]=this._deallocator(this.data[h]);this._length=t,this._shrink()}}clear(){this.length=0}prune(){this.clear(),this.data=[]}push(t){this.data[this._length++]=t}pushArray(t,h=t.length){for(let i=0;i<h;i++)this.data[this._length++]=t[i]}fill(t,h){for(let i=0;i<h;i++)this.data[this._length++]=t}pushNew(){this._allocator&&(this.data[this.length]=this._allocator(this.data[this.length]));const t=this.data[this._length];return++this._length,t}unshift(t){this.data.unshift(t),this._length++,o(this)}pop(){if(0===this.length)return;const t=this.data[this.length-1];return this.length=this.length-1,this._shrink(),t}remove(t){const i=h(this.data,s(t),this.length,this._hint);if(-1!==i)return this.data.splice(i,1),this.length=this.length-1,t}removeUnordered(t){return this.removeUnorderedIndex(h(this.data,s(t),this.length,this._hint))}removeUnorderedIndex(t){if(!(t>=this.length||t<0))return this.swapElements(t,this.length-1),this.pop()}removeUnorderedMany(t,h=t.length,s){this.length=i(this.data,t,this.length,h,this._hint,s),this._shrink()}front(){if(0!==this.length)return this.data[0]}back(){if(0!==this.length)return this.data[this.length-1]}swapElements(t,h){if(t>=this.length||h>=this.length||t===h)return;const i=this.data[t];this.data[t]=this.data[h],this.data[h]=i}sort(t){a(this.data,0,this.length,t)}iterableSort(t){return e(this.data,0,this.length,t)}some(t,h){for(let i=0;i<this.length;++i)if(t.call(h,this.data[i],i,this.data))return!0;return!1}find(t,h){const{data:i,length:s}=this;for(let a=0;a<s;++a)if(t.call(h,i[a]))return i[a]}filterInPlace(t,h){let i=0;for(let s=0;s<this._length;++s){const a=this.data[s];t.call(h,a,s,this.data)&&(this.data[s]=this.data[i],this.data[i]=a,i++)}if(this._deallocator)for(let s=i;s<this._length;s++)this.data[s]=this._deallocator(this.data[s]);return this._length=i,this._shrink(),this}forAll(t,h){const{data:i,length:s}=this;for(let a=0;a<s;++a)t.call(h,i[a],a,i)}forEach(t,h){this.data.slice(0,this.length).forEach(t,h)}map(t,h){const i=new Array(this.length);for(let s=0;s<this.length;++s)i[s]=t.call(h,this.data[s],s,this.data);return i}reduce(t,h){let i=h;for(let s=0;s<this.length;++s)i=t(i,this.data[s],s,this.data);return i}has(t){const h=this.length,i=this.data;for(let s=0;s<h;++s)if(i[s]===t)return!0;return!1}*[Symbol.iterator](){for(let t=0;t<this.length;t++)yield this.data[t]}}function o(t){t.data.length>l*t.length&&(t.data.length=Math.floor(t.length*n))}export{r as default};
package/core/Promise.js CHANGED
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{_ as s}from"../chunks/tslib.es6.js";import e from"./Accessor.js";import{createResolver as i,createAbortError as r,isAbortError as t}from"./promiseUtils.js";import{subclass as o}from"./accessorSupport/decorators/subclass.js";var l;!function(s){s[s.PENDING=0]="PENDING",s[s.RESOLVED=1]="RESOLVED",s[s.REJECTED=2]="REJECTED"}(l||(l={}));class h{constructor(){this._resolver=i(),this._status=l.PENDING,this._resolvingPromises=[],this._resolver.promise.then(()=>{this._status=l.RESOLVED,this._cleanUp()},()=>{this._status=l.REJECTED,this._cleanUp()}),this.promise=this._resolver.promise}destroy(){this._cleanUp()}addResolvingPromise(s){this._resolvingPromises.push(s),this._tryResolve()}isResolved(){return this._status===l.RESOLVED}isRejected(){return this._status===l.REJECTED}isFulfilled(){return this._status!==l.PENDING}abort(){this._resolver.reject(r())}_cleanUp(){this._allPromise=null,this._resolvingPromises=null}_tryResolve(){if(this.isFulfilled())return;const s=i(),e=[...this._resolvingPromises,s.promise],r=this._allPromise=Promise.all(e);r.then(()=>{this.isFulfilled()||this._allPromise!==r||this._resolver.resolve()},s=>{this.isFulfilled()||this._allPromise!==r||t(s)||this._resolver.reject(s)}),s.resolve()}}const n=e=>{let i=class extends e{constructor(...s){super(...s),this._promiseProps=new h,this.addResolvingPromise(Promise.resolve())}destroy(){this._promiseProps.destroy()}isResolved(){return this._promiseProps.isResolved()}isRejected(){return this._promiseProps.isRejected()}isFulfilled(){return this._promiseProps.isFulfilled()}when(s,e){return this._promiseProps.promise.then(()=>this).then(s,e)}catch(s){return this.when(null,s)}addResolvingPromise(s){s&&!this._promiseProps.isFulfilled()&&this._promiseProps.addResolvingPromise("_promiseProps"in s?s.when():s)}};return i=s([o("esri.core.Promise")],i),i};let m=class extends(n(e)){};m=s([o("esri.core.Promise")],m),function(s){s.EsriPromiseMixin=n}(m||(m={}));export{m as default};
5
+ import{_ as s}from"../chunks/tslib.es6.js";import e from"./Accessor.js";import{createResolver as i,createAbortError as r,isAbortError as t}from"./promiseUtils.js";import{subclass as o}from"./accessorSupport/decorators/subclass.js";var l;!function(s){s[s.PENDING=0]="PENDING",s[s.RESOLVED=1]="RESOLVED",s[s.REJECTED=2]="REJECTED"}(l||(l={}));class h{constructor(){this._resolver=i(),this._status=l.PENDING,this._resolvingPromises=[],this._resolver.promise.then(()=>{this._status=l.RESOLVED,this._cleanUp()},()=>{this._status=l.REJECTED,this._cleanUp()}),this.promise=this._resolver.promise}destroy(){this._cleanUp()}addResolvingPromise(s){this._resolvingPromises.push(s),this._tryResolve()}isResolved(){return this._status===l.RESOLVED}isRejected(){return this._status===l.REJECTED}isFulfilled(){return this._status!==l.PENDING}abort(){this._resolver.reject(r())}_cleanUp(){this._allPromise=null,this._resolvingPromises=null}_tryResolve(){if(this.isFulfilled())return;const s=i(),e=[...this._resolvingPromises,s.promise],r=this._allPromise=Promise.all(e);r.then(()=>{this.isFulfilled()||this._allPromise!==r||this._resolver.resolve()},s=>{this.isFulfilled()||this._allPromise!==r||t(s)||this._resolver.reject(s)}),s.resolve()}}const n=e=>{const i=e;let r=class extends i{constructor(...s){super(...s),this._promiseProps=new h,this.addResolvingPromise(Promise.resolve())}destroy(){this._promiseProps.destroy()}isResolved(){return this._promiseProps.isResolved()}isRejected(){return this._promiseProps.isRejected()}isFulfilled(){return this._promiseProps.isFulfilled()}when(s,e){return this._promiseProps.promise.then(()=>this).then(s,e)}catch(s){return this.when(null,s)}addResolvingPromise(s){s&&!this._promiseProps.isFulfilled()&&this._promiseProps.addResolvingPromise("_promiseProps"in s?s.when():s)}};return r=s([o("esri.core.Promise")],r),r};let m=class extends(n(e)){};m=s([o("esri.core.Promise")],m),function(s){s.EsriPromiseMixin=n}(m||(m={}));export{m as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{_ as r}from"../chunks/tslib.es6.js";import t from"./Accessor.js";import{setupConstructedDefaults as s}from"./accessorSupport/defaultsStoreUtils.js";import o from"./accessorSupport/MultiOriginStore.js";import{nameToId as e,idToName as i}from"./accessorSupport/PropertyOrigin.js";import{read as c}from"./accessorSupport/read.js";import{getProperties as n}from"./accessorSupport/utils.js";import{subclass as p}from"./accessorSupport/decorators/subclass.js";const u=t=>{let u=class extends t{constructor(...r){super(...r);const t=n(this),e=t.store,i=new o;t.store=i,s(t,e,i)}read(r,t){c(this,r,t)}getAtOrigin(r,t){const s=a(this),o=e(t);if("string"==typeof r)return s.get(r,o);const i={};return r.forEach(r=>{i[r]=s.get(r,o)}),i}originOf(r){return i(this.originIdOf(r))}originIdOf(r){return a(this).originOf(r)}revert(r,t){const s=a(this),o=e(t),i=n(this);let c;c="string"==typeof r?"*"===r?s.keys(o):[r]:r,c.forEach(r=>{i.invalidate(r),s.revert(r,o),i.commit(r)})}};return u=r([p("esri.core.ReadOnlyMultiOriginJSONSupport")],u),u};function a(r){return n(r).store}let f=class extends(u(t)){};f=r([p("esri.core.ReadOnlyMultiOriginJSONSupport")],f);export{u as ReadOnlyMultiOriginJSONMixin,f as ReadOnlyMultiOriginJSONSupport};
5
+ import{_ as r}from"../chunks/tslib.es6.js";import t from"./Accessor.js";import{setupConstructedDefaults as s}from"./accessorSupport/defaultsStoreUtils.js";import o from"./accessorSupport/MultiOriginStore.js";import{nameToId as e,idToName as i}from"./accessorSupport/PropertyOrigin.js";import{read as c}from"./accessorSupport/read.js";import{getProperties as n}from"./accessorSupport/utils.js";import{subclass as p}from"./accessorSupport/decorators/subclass.js";const u=t=>{const u=t;let f=class extends u{constructor(...r){super(...r);const t=n(this),e=t.store,i=new o;t.store=i,s(t,e,i)}read(r,t){c(this,r,t)}getAtOrigin(r,t){const s=a(this),o=e(t);if("string"==typeof r)return s.get(r,o);const i={};return r.forEach(r=>{i[r]=s.get(r,o)}),i}originOf(r){return i(this.originIdOf(r))}originIdOf(r){return a(this).originOf(r)}revert(r,t){const s=a(this),o=e(t),i=n(this);let c;c="string"==typeof r?"*"===r?s.keys(o):[r]:r,c.forEach(r=>{i.invalidate(r),s.revert(r,o),i.commit(r)})}};return f=r([p("esri.core.ReadOnlyMultiOriginJSONSupport")],f),f};function a(r){return n(r).store}let f=class extends(u(t)){};f=r([p("esri.core.ReadOnlyMultiOriginJSONSupport")],f);export{u as ReadOnlyMultiOriginJSONMixin,f as ReadOnlyMultiOriginJSONSupport};
@@ -0,0 +1,5 @@
1
+ /*
2
+ All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
+ See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
+ */
5
+ const o=(o,t,n,e)=>{let i=t,c=t;const l=n>>>1,d=o[i-1];for(;c<=l;){c=i<<1,c<n&&e(o[c-1],o[c])<0&&++c;const t=o[c-1];if(e(t,d)<=0)break;o[i-1]=t,i=c}o[i-1]=d},t=(o,t)=>o<t?-1:o>t?1:0;function n(n,e,i,c){void 0===e&&(e=0),void 0===i&&(i=n.length),void 0===c&&(c=t);for(let t=i>>>1;t>e;t--)o(n,t,i,c);const l=e+1;for(let t=i-1;t>e;t--){const i=n[e];n[e]=n[t],n[t]=i,o(n,l,t,c)}}function*e(n,e,i,c){void 0===e&&(e=0),void 0===i&&(i=n.length),void 0===c&&(c=t);for(let t=i>>>1;t>e;t--)o(n,t,i,c),yield;const l=e+1;for(let t=i-1;t>e;t--){const i=n[e];n[e]=n[t],n[t]=i,o(n,l,t,c),yield}}export{e as iterableSort,n as sort};
package/core/mathUtils.js CHANGED
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- const t=new Float32Array(1);function n(t){--t;for(let n=1;n<32;n<<=1)t|=t>>n;return t+1}function r(t,n,r){return Math.min(Math.max(t,n),r)}function e(t,n){return 0===n?0:Math.round(t/n)*n}function u(t){return!(t&t-1)}function i(t){return t--,t|=t>>1,t|=t>>2,t|=t>>4,t|=t>>8,t|=t>>16,++t}function a(t){return 10**Math.ceil(Math.LOG10E*Math.log(t))}function o(t,n,r){return t+(n-t)*r}function f(t,n){const r=-t*t/(2*n);return 1/Math.sqrt(2*Math.PI*n)*Math.exp(r)}function c(t,n,r,e,u){return o(e,u,(t-n)/(r-n))}function s(t){return t*Math.PI/180}function M(t){return 180*t/Math.PI}function h(t,n=1e-6){return(t<0?-1:1)/Math.max(Math.abs(t),n)}function b(t){return Math.acos(r(t,-1,1))}function l(t){return Math.asin(r(t,-1,1))}function m(t,n,r=1e-6){if(t===n)return!0;if(!Number.isFinite(t)||!Number.isFinite(n))return!1;return(t>n?t-n:n-t)<=r}function N(t,n,r=1e-6){return!m(t,n,r)&&t>n}function F(t,n,r=1e-6){return!m(t,n,r)&&t<n}function g(t,n,r=1e-6){return m(t,n,r)||t>n}function E(t,n,r=1e-6){return m(t,n,r)||t<n}const I=new DataView(new ArrayBuffer(Float64Array.BYTES_PER_ELEMENT));function p(t){return I.setFloat64(0,t),I.getBigInt64(0)}function x(t){return I.setBigInt64(0,t),I.getFloat64(0)}const B=BigInt("1000000"),w=y(1);function y(t){const n=p(t=Math.abs(t)),r=x(n<=B?B:n-B);return Math.abs(t-r)}function P(t,n,r=w){if(t===n)return!0;if(!Number.isFinite(t)||!Number.isFinite(n))return!1;if(null!=r){if(y(Math.min(Math.abs(t),Math.abs(n)))<r)return Math.abs(t-n)<=r}const e=p(t),u=p(n);if(e<0!=u<0)return!1;return!((e<u?u-e:e-u)>B)}function A(t,n,r=1e-6){if(t===n)return!0;if(!Number.isFinite(t)||!Number.isFinite(n))return!1;const e=Math.abs(t-n),u=Math.abs(t),i=Math.abs(n);if(0===t||0===n||u<1e-12&&i<1e-12){if(e>.01*r)return!1}else if(e/(u+i)>r)return!1;return!0}function S(t){return d(Math.max(-q,Math.min(t,q)))}function d(n){return t[0]=n,t[0]}function L(t,n,e){const u=r((e-t)/(n-t),0,1);return u*u*(3-2*u)}function T(t){const n=t[0]*t[0]+t[1]*t[1]+t[2]*t[2],r=t[3]*t[3]+t[4]*t[4]+t[5]*t[5],e=t[6]*t[6]+t[7]*t[7]+t[8]*t[8];return!(m(n,1)&&m(r,1)&&m(e,1))}function _(t,n){return(t%n+n)%n}const q=d(34028234663852886e22);function v(t,n,r){if(void 0===r||0===+r)return Math[t](n);if(n=+n,r=+r,isNaN(n)||"number"!=typeof r||r%1!=0)return NaN;let e=n.toString().split("e");return e=(n=Math[t](+(e[0]+"e"+(e[1]?+e[1]-r:-r)))).toString().split("e"),+(e[0]+"e"+(e[1]?+e[1]+r:r))}export{b as acosClamped,l as asinClamped,r as clamp,S as clampFloat32,v as decimalAdjust,s as deg2rad,m as floatEqualAbsolute,A as floatEqualRelative,P as floatEqualUlp,N as floatGreaterThan,g as floatGreaterThanOrEqual,F as floatLessThan,E as floatLessThanOrEqual,f as gauss,T as hasScaling,u as isPowerOfTwo,o as lerp,_ as moduloPositive,a as nextHighestPowerOfTen,n as nextHighestPowerOfTwo,i as nextPowerOfTwo,q as numberMaxFloat32,M as rad2deg,h as reciprocalClamped,e as roundToNearest,c as scale,L as smoothstep};
5
+ const t=new Float32Array(1);function n(t){--t;for(let n=1;n<32;n<<=1)t|=t>>n;return t+1}function r(t,n,r){return Math.min(Math.max(t,n),r)}function e(t,n){return 0===n?0:Math.round(t/n)*n}function u(t){return!(t&t-1)}function i(t){return t--,t|=t>>1,t|=t>>2,t|=t>>4,t|=t>>8,t|=t>>16,++t}function a(t){return 10**Math.ceil(Math.LOG10E*Math.log(t))}function o(t,n,r){return t+(n-t)*r}function f(t,n){const r=-t*t/(2*n);return 1/Math.sqrt(2*Math.PI*n)*Math.exp(r)}function c(t,n,r,e,u){return o(e,u,(t-n)/(r-n))}function s(t){return t*Math.PI/180}function M(t){return 180*t/Math.PI}function h(t,n=1e-6){return(t<0?-1:1)/Math.max(Math.abs(t),n)}function b(t){return Math.acos(r(t,-1,1))}function l(t){return Math.asin(r(t,-1,1))}function m(t,n,r=1e-6){if(t===n)return!0;if(!Number.isFinite(t)||!Number.isFinite(n))return!1;return(t>n?t-n:n-t)<=r}function N(t,n,r=1e-6){return!m(t,n,r)&&t>n}function F(t,n,r=1e-6){return!m(t,n,r)&&t<n}function g(t,n,r=1e-6){return m(t,n,r)||t>n}function E(t,n,r=1e-6){return m(t,n,r)||t<n}const p=new DataView(new ArrayBuffer(Float64Array.BYTES_PER_ELEMENT));function x(t){return p.setFloat64(0,t),p.getBigInt64(0)}function I(t){return p.setBigInt64(0,t),p.getFloat64(0)}const w=1000000n,y=B(1);function B(t){const n=x(t=Math.abs(t)),r=I(n<=w?w:n-w);return Math.abs(t-r)}function P(t,n,r=y){if(t===n)return!0;if(!Number.isFinite(t)||!Number.isFinite(n))return!1;if(null!=r){if(B(Math.min(Math.abs(t),Math.abs(n)))<r)return Math.abs(t-n)<=r}const e=x(t),u=x(n);if(e<0!=u<0)return!1;return!((e<u?u-e:e-u)>w)}function A(t,n,r=1e-6){if(t===n)return!0;if(!Number.isFinite(t)||!Number.isFinite(n))return!1;const e=Math.abs(t-n),u=Math.abs(t),i=Math.abs(n);if(0===t||0===n||u<1e-12&&i<1e-12){if(e>.01*r)return!1}else if(e/(u+i)>r)return!1;return!0}function S(t){return d(Math.max(-q,Math.min(t,q)))}function d(n){return t[0]=n,t[0]}function L(t,n,e){const u=r((e-t)/(n-t),0,1);return u*u*(3-2*u)}function T(t){const n=t[0]*t[0]+t[1]*t[1]+t[2]*t[2],r=t[3]*t[3]+t[4]*t[4]+t[5]*t[5],e=t[6]*t[6]+t[7]*t[7]+t[8]*t[8];return!(m(n,1)&&m(r,1)&&m(e,1))}function _(t,n){return(t%n+n)%n}const q=d(34028234663852886e22);function v(t,n,r){if(void 0===r||0===+r)return Math[t](n);if(n=+n,r=+r,isNaN(n)||"number"!=typeof r||r%1!=0)return NaN;let e=n.toString().split("e");return e=(n=Math[t](+(e[0]+"e"+(e[1]?+e[1]-r:-r)))).toString().split("e"),+(e[0]+"e"+(e[1]?+e[1]+r:r))}export{b as acosClamped,l as asinClamped,r as clamp,S as clampFloat32,v as decimalAdjust,s as deg2rad,m as floatEqualAbsolute,A as floatEqualRelative,P as floatEqualUlp,N as floatGreaterThan,g as floatGreaterThanOrEqual,F as floatLessThan,E as floatLessThanOrEqual,f as gauss,T as hasScaling,u as isPowerOfTwo,o as lerp,_ as moduloPositive,a as nextHighestPowerOfTen,n as nextHighestPowerOfTwo,i as nextPowerOfTwo,q as numberMaxFloat32,M as rad2deg,h as reciprocalClamped,e as roundToNearest,c as scale,L as smoothstep};
@@ -2,4 +2,5 @@ import "../interfaces";
2
2
 
3
3
  export type Length = __esri.quantity.Length;
4
4
  export type Area = __esri.quantity.Area;
5
+ export type Volume = __esri.quantity.Volume;
5
6
  export type Angle = __esri.quantity.Angle;
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import"../../../core/has.js";import t from"../../../core/PooledArray.js";class e{constructor(t,e){this._factoryCallback=t,this._lengthCallback=e,this._pool=new Map}acquire(t){if(!e.test.disabled){const e=this._pool.get(t);if(e&&0!==e.length)return e.pop()}try{return this._factoryCallback(t)}catch(s){throw s}}release(s){if(e.test.disabled)return;const o=this._lengthCallback(s);let l=this._pool.get(o);l||(l=new t({shrink:!0}),this._pool.set(o,l)),l.push(s)}clear(){this._pool.clear()}get test(){}static{this.test={disabled:!1}}}export{e as BufferPool};
5
+ import has from"../../../core/has.js";import t from"../../../core/PooledArray.js";class s{constructor(t,s){this._factoryCallback=t,this._lengthCallback=s,this._pool=new Map}acquire(t){if(!s.test.disabled){const s=this._pool.get(t);if(s&&0!==s.length)return s.pop()}try{return this._factoryCallback(t)}catch(e){throw e}}release(e){if(s.test.disabled)return;const o=this._lengthCallback(e);let r=this._pool.get(o);r||(r=new t({shrink:!0}),this._pool.set(o,r)),r.push(e)}clear(){this._pool.clear()}get test(){}static{this.test={disabled:!!has("esri-tests-disable-memory-pools")}}}export{s as BufferPool};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import e from"../../../Color.js";import{colorGamma as t}from"../../../colorUtils.js";import r from"../../../request.js";import o from"../../../core/Error.js";import{getOrCreateMapValue as n}from"../../../core/MapUtils.js";import{rad2deg as s,hasScaling as i}from"../../../core/mathUtils.js";import{normalFromMat4 as a,fromMat4 as l}from"../../../core/libs/gl-matrix-2/math/mat3.js";import{create as c}from"../../../core/libs/gl-matrix-2/factories/mat3f64.js";import{fromValues as u}from"../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{fromValues as f}from"../../../core/libs/gl-matrix-2/factories/vec4f64.js";import m from"../MeshComponent.js";import p from"../MeshMaterialMetallicRoughness.js";import d from"../MeshTexture.js";import x from"../MeshTextureTransform.js";import{MeshVertexAttributes as g}from"../MeshVertexAttributes.js";import{selectVertexSpace as T}from"../meshVertexSpaceUtils.js";import{BufferViewVec4f as h,BufferViewVec4u8 as v,BufferViewVec4u16 as w,BufferViewVec3u8 as j,BufferViewVec3f as b,BufferViewVec3u16 as y,BufferViewVec2f as C,BufferViewVec3f64 as M}from"../buffer/BufferView.js";import{d as R,c as A,e as E,l as B}from"../../../chunks/vec3.js";import{a as F,n as $,l as S}from"../../../chunks/vec4.js";import{createBuffer as U}from"../buffer/utils.js";import{convertVertexSpace as k}from"./vertexSpaceConversion.js";import{DefaultLoadingContext as V}from"../../../views/3d/glTF/DefaultLoadingContext.js";import{loadGLTF as D}from"../../../views/3d/glTF/loader.js";import{convertPrimitiveToTriangles as I}from"../../../views/3d/glTF/internal/indexUtils.js";import{isEncodedMeshTexture as L}from"../../../views/3d/glTF/internal/resourceUtils.js";import{TextureWrapMode as O}from"../../../views/webgl/enums.js";import{f as P}from"../../../chunks/vec33.js";import{f as q}from"../../../chunks/vec43.js";import{n as _,f as z}from"../../../chunks/vec2.js";async function G(e,t,r){const n=new V(N(r)),s=(await D(n,t,r,!0)).model,i=s.lods.shift(),a=new Map,l=new Map;s.textures.forEach((e,t)=>a.set(t,J(e))),s.materials.forEach((e,t)=>l.set(t,W(e,a)));const c=H(i);for(const o of c.parts)X(c,o,l);const{position:u,normal:f,tangent:m,color:p,texCoord0:d}=c.vertexAttributes,x=T(e,r),h=e.spatialReference.isGeographic?T(e):x,v=k({vertexAttributes:{position:u.typedBuffer,normal:f?.typedBuffer,tangent:m?.typedBuffer},vertexSpace:h,spatialReference:e.spatialReference},x,{allowBufferReuse:!0,sourceUnit:r?.unitConversionDisabled?void 0:"meters"});if(!v)throw new o("load-gltf-mesh:vertex-space-projection",`Failed to load mesh from glTF because we could not convert the vertex space from ${h.type} to ${x.type}`);return{transform:null,vertexSpace:x,components:c.components,spatialReference:e.spatialReference,vertexAttributes:new g({...v,color:p?.typedBuffer,uv:d?.typedBuffer})}}function N(e){const t=e?.resolveFile;return t?{busy:!1,request:async(e,o,n)=>{const s=t?.(e)??e,i="image"===o?"image":"binary"===o||"image+type"===o?"array-buffer":"json";return(await r(s,{responseType:i,signal:n?.signal,timeout:0})).data}}:null}function K(e,t){if(null==e)return"-";const r=e.typedBuffer;return`${n(t,r.buffer,()=>t.size)}/${r.byteOffset}/${r.byteLength}`}function Q(e){return null!=e?e.toString():"-"}function H(e){let t=0;const has={color:!1,tangent:!1,normal:!1,texCoord0:!1},r=new Map,o=new Map,s=[];for(const i of e.parts){const{position:e,normal:a,color:l,tangent:c,texCoord0:u}=i.attributes,f=`\n ${K(e,r)}/\n ${K(a,r)}/\n ${K(l,r)}/\n ${K(c,r)}/\n ${K(u,r)}/\n ${Q(i.transform)}\n `;let m=!1;const p=n(o,f,()=>(m=!0,{start:t,length:e.count}));m&&(t+=e.count),a&&(has.normal=!0),l&&(has.color=!0),c&&(has.tangent=!0),u&&(has.texCoord0=!0),s.push({gltf:i,writeVertices:m,region:p})}return{vertexAttributes:{position:U(M,t),normal:has.normal?U(b,t):null,tangent:has.tangent?U(h,t):null,color:has.color?U(v,t):null,texCoord0:has.texCoord0?U(C,t):null},parts:s,components:[]}}function J(e){return new d({data:(L(e.data),e.data),wrap:ee(e.parameters.wrap)})}function W(t,r){const o=new e(oe(t.color,t.opacity)),n=t.emissiveFactor?new e(ne(t.emissiveFactor)):null,i=e=>e?new x({scale:e.scale?[e.scale[0],e.scale[1]]:[1,1],rotation:s(e.rotation??0),offset:e.offset?[e.offset[0],e.offset[1]]:[0,0]}):null;return new p({color:o,colorTexture:r.get(t.colorTexture),normalTexture:r.get(t.normalTexture),emissiveColor:n,emissiveTexture:r.get(t.emissiveTexture),occlusionTexture:r.get(t.occlusionTexture),alphaMode:Z(t.alphaMode),alphaCutoff:t.alphaCutoff,doubleSided:t.doubleSided,metallic:t.metallicFactor,roughness:t.roughnessFactor,metallicRoughnessTexture:r.get(t.metallicRoughnessTexture),colorTextureTransform:i(t.colorTextureTransform),normalTextureTransform:i(t.normalTextureTransform),occlusionTextureTransform:i(t.occlusionTextureTransform),emissiveTextureTransform:i(t.emissiveTextureTransform),metallicRoughnessTextureTransform:i(t.metallicRoughnessTextureTransform)})}function X(e,t,r){t.writeVertices&&Y(e,t);const{indices:o,attributes:n,primitiveType:s,material:i}=t.gltf;let a=I(o||n.position.count,s);const l=t.region.start;if(l){const e=new Uint32Array(a);for(let t=0;t<a.length;t++)e[t]+=l;a=e}e.components.push(new m({name:t.gltf.name,faces:a,material:r.get(i),shading:n.normal?"source":"flat",trustSourceNormals:!0}))}function Y(e,t){const{position:r,normal:o,tangent:n,color:s,texCoord0:u}=e.vertexAttributes,f=t.region.start,{attributes:m,transform:p}=t.gltf,d=m.position.count;if(R(r.slice(f,d),m.position,p),null!=m.normal&&null!=o){const e=a(c(),p),t=o.slice(f,d);A(t,m.normal,e),i(e)&&E(t,t)}else null!=o&&P(o,0,0,1,{dstIndex:f,count:d});if(null!=m.tangent&&null!=n){const e=l(c(),p),t=n.slice(f,d);F(t,m.tangent,e),i(e)&&$(t,t)}else null!=n&&q(n,0,0,1,1,{dstIndex:f,count:d});if(null!=m.texCoord0&&null!=u?_(u.slice(f,d),m.texCoord0):null!=u&&z(u,0,0,{dstIndex:f,count:d}),null!=m.color&&null!=s){const e=m.color,t=s.slice(f,d);if(4===e.elementCount)e instanceof h?S(t,e,1,255):(e instanceof v||e instanceof w)&&S(t,e,1/255,255);else{q(t,255,255,255,255);const r=j.fromTypedArray(t.typedBuffer,t.typedBufferStride);e instanceof b?B(r,e,1,255):(e instanceof j||e instanceof y)&&B(r,e,1/255,255)}}else null!=s&&q(s.slice(f,d),255,255,255,255)}function Z(e){switch(e){case"OPAQUE":return"opaque";case"MASK":return"mask";case"BLEND":return"blend"}}function ee(e){return{horizontal:te(e.s),vertical:te(e.t)}}function te(e){switch(e){case O.CLAMP_TO_EDGE:return"clamp";case O.MIRRORED_REPEAT:return"mirror";case O.REPEAT:return"repeat"}}function re(e){return e**(1/t)*255}function oe(e,t){return f(re(e[0]),re(e[1]),re(e[2]),t)}function ne(e){return u(re(e[0]),re(e[1]),re(e[2]))}export{G as loadGLTFMesh};
5
+ import e from"../../../Color.js";import{colorGamma as t}from"../../../colorUtils.js";import r from"../../../request.js";import o from"../../../core/Error.js";import{getOrCreateMapValue as n}from"../../../core/MapUtils.js";import{rad2deg as s,hasScaling as i}from"../../../core/mathUtils.js";import{normalFromMat4 as a,fromMat4 as l}from"../../../core/libs/gl-matrix-2/math/mat3.js";import{create as c}from"../../../core/libs/gl-matrix-2/factories/mat3f64.js";import{fromValues as u}from"../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{fromValues as f}from"../../../core/libs/gl-matrix-2/factories/vec4f64.js";import m from"../MeshComponent.js";import p from"../MeshMaterialMetallicRoughness.js";import d from"../MeshTexture.js";import x from"../MeshTextureTransform.js";import{MeshVertexAttributes as g}from"../MeshVertexAttributes.js";import{selectVertexSpace as T}from"../meshVertexSpaceUtils.js";import{BufferViewVec4f as h,BufferViewVec4u8 as v,BufferViewVec4u16 as w,BufferViewVec3u8 as j,BufferViewVec3f as b,BufferViewVec3u16 as y,BufferViewVec2f as C,BufferViewVec3f64 as M}from"../buffer/BufferView.js";import{d as A,c as R,e as E,l as B}from"../../../chunks/vec3.js";import{a as F,n as $,l as S}from"../../../chunks/vec4.js";import{createBuffer as U}from"../buffer/utils.js";import{convertVertexSpace as I}from"./vertexSpaceConversion.js";import{DocType as k}from"../../../views/3d/support/index.js";import{DefaultLoadingContext as D}from"../../../views/3d/glTF/DefaultLoadingContext.js";import{loadGLTF as V}from"../../../views/3d/glTF/loader.js";import{convertPrimitiveToTriangles as P}from"../../../views/3d/glTF/internal/indexUtils.js";import{isEncodedMeshTexture as _}from"../../../views/3d/glTF/internal/resourceUtils.js";import{TextureWrapMode as G}from"../../../views/webgl/enums.js";import{f as L}from"../../../chunks/vec33.js";import{f as N}from"../../../chunks/vec43.js";import{n as O,f as q}from"../../../chunks/vec2.js";async function z(e,t,r){const n=new D(Y(r)),s=(await V(n,t,r,!0)).model,i=s.lods.shift(),a=new Map,l=new Map;s.textures.forEach((e,t)=>a.set(t,J(e))),s.materials.forEach((e,t)=>l.set(t,W(e,a)));const c=H(i);for(const o of c.parts)X(c,o,l);const{position:u,normal:f,tangent:m,color:p,texCoord0:d}=c.vertexAttributes,x=T(e,r),h=e.spatialReference.isGeographic?T(e):x,v=I({vertexAttributes:{position:u.typedBuffer,normal:f?.typedBuffer,tangent:m?.typedBuffer},vertexSpace:h,spatialReference:e.spatialReference},x,{allowBufferReuse:!0,sourceUnit:r?.unitConversionDisabled?void 0:"meters"});if(!v)throw new o("load-gltf-mesh:vertex-space-projection",`Failed to load mesh from glTF because we could not convert the vertex space from ${h.type} to ${x.type}`);return{transform:null,vertexSpace:x,components:c.components,spatialReference:e.spatialReference,vertexAttributes:new g({...v,color:p?.typedBuffer,uv:d?.typedBuffer})}}function Y(e){const t=e?.resolveFile;return t?{busy:!1,request:async(e,o,n)=>{const s=t?.(e)??e,i=o===k.IMAGE?"image":o===k.BINARY||o===k.IMAGE_AND_TYPE?"array-buffer":"json";return(await r(s,{responseType:i,signal:n?.signal,timeout:0})).data}}:null}function K(e,t){if(null==e)return"-";const r=e.typedBuffer;return`${n(t,r.buffer,()=>t.size)}/${r.byteOffset}/${r.byteLength}`}function Q(e){return null!=e?e.toString():"-"}function H(e){let t=0;const has={color:!1,tangent:!1,normal:!1,texCoord0:!1},r=new Map,o=new Map,s=[];for(const i of e.parts){const{position:e,normal:a,color:l,tangent:c,texCoord0:u}=i.attributes,f=`\n ${K(e,r)}/\n ${K(a,r)}/\n ${K(l,r)}/\n ${K(c,r)}/\n ${K(u,r)}/\n ${Q(i.transform)}\n `;let m=!1;const p=n(o,f,()=>(m=!0,{start:t,length:e.count}));m&&(t+=e.count),a&&(has.normal=!0),l&&(has.color=!0),c&&(has.tangent=!0),u&&(has.texCoord0=!0),s.push({gltf:i,writeVertices:m,region:p})}return{vertexAttributes:{position:U(M,t),normal:has.normal?U(b,t):null,tangent:has.tangent?U(h,t):null,color:has.color?U(v,t):null,texCoord0:has.texCoord0?U(C,t):null},parts:s,components:[]}}function J(e){return new d({data:(_(e.data),e.data),wrap:te(e.parameters.wrap)})}function W(t,r){const o=new e(ne(t.color,t.opacity)),n=t.emissiveFactor?new e(se(t.emissiveFactor)):null,i=e=>e?new x({scale:e.scale?[e.scale[0],e.scale[1]]:[1,1],rotation:s(e.rotation??0),offset:e.offset?[e.offset[0],e.offset[1]]:[0,0]}):null;return new p({color:o,colorTexture:r.get(t.colorTexture),normalTexture:r.get(t.normalTexture),emissiveColor:n,emissiveTexture:r.get(t.emissiveTexture),occlusionTexture:r.get(t.occlusionTexture),alphaMode:ee(t.alphaMode),alphaCutoff:t.alphaCutoff,doubleSided:t.doubleSided,metallic:t.metallicFactor,roughness:t.roughnessFactor,metallicRoughnessTexture:r.get(t.metallicRoughnessTexture),colorTextureTransform:i(t.colorTextureTransform),normalTextureTransform:i(t.normalTextureTransform),occlusionTextureTransform:i(t.occlusionTextureTransform),emissiveTextureTransform:i(t.emissiveTextureTransform),metallicRoughnessTextureTransform:i(t.metallicRoughnessTextureTransform)})}function X(e,t,r){t.writeVertices&&Z(e,t);const{indices:o,attributes:n,primitiveType:s,material:i}=t.gltf;let a=P(o||n.position.count,s);const l=t.region.start;if(l){const e=new Uint32Array(a);for(let t=0;t<a.length;t++)e[t]+=l;a=e}e.components.push(new m({name:t.gltf.name,faces:a,material:r.get(i),shading:n.normal?"source":"flat",trustSourceNormals:!0}))}function Z(e,t){const{position:r,normal:o,tangent:n,color:s,texCoord0:u}=e.vertexAttributes,f=t.region.start,{attributes:m,transform:p}=t.gltf,d=m.position.count;if(A(r.slice(f,d),m.position,p),null!=m.normal&&null!=o){const e=a(c(),p),t=o.slice(f,d);R(t,m.normal,e),i(e)&&E(t,t)}else null!=o&&L(o,0,0,1,{dstIndex:f,count:d});if(null!=m.tangent&&null!=n){const e=l(c(),p),t=n.slice(f,d);F(t,m.tangent,e),i(e)&&$(t,t)}else null!=n&&N(n,0,0,1,1,{dstIndex:f,count:d});if(null!=m.texCoord0&&null!=u?O(u.slice(f,d),m.texCoord0):null!=u&&q(u,0,0,{dstIndex:f,count:d}),null!=m.color&&null!=s){const e=m.color,t=s.slice(f,d);if(4===e.elementCount)e instanceof h?S(t,e,1,255):(e instanceof v||e instanceof w)&&S(t,e,1/255,255);else{N(t,255,255,255,255);const r=j.fromTypedArray(t.typedBuffer,t.typedBufferStride);e instanceof b?B(r,e,1,255):(e instanceof j||e instanceof y)&&B(r,e,1/255,255)}}else null!=s&&N(s.slice(f,d),255,255,255,255)}function ee(e){switch(e){case"OPAQUE":return"opaque";case"MASK":return"mask";case"BLEND":return"blend"}}function te(e){return{horizontal:re(e.s),vertical:re(e.t)}}function re(e){switch(e){case G.CLAMP_TO_EDGE:return"clamp";case G.MIRRORED_REPEAT:return"mirror";case G.REPEAT:return"repeat"}}function oe(e){return e**(1/t)*255}function ne(e,t){return f(oe(e[0]),oe(e[1]),oe(e[2]),t)}function se(e){return u(oe(e[0]),oe(e[1]),oe(e[2]))}export{z as loadGLTFMesh};