@arcgis/core 4.33.0-next.20250326 → 4.33.0-next.20250328

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 (319) hide show
  1. package/applications/Components/viewUtils.d.ts +3 -0
  2. package/applications/Components/viewUtils.js +5 -0
  3. package/applications/KnowledgeStudio/layerInternalAccessUtils.d.ts +1 -0
  4. package/applications/KnowledgeStudio/layerInternalAccessUtils.js +1 -1
  5. package/arcade/arcadeAsyncRuntime.js +1 -1
  6. package/arcade/arcadeCompiler.js +1 -1
  7. package/arcade/arcadeRuntime.js +1 -1
  8. package/arcade/functions/date.js +1 -1
  9. package/arcade/functions/feature.js +1 -1
  10. package/arcade/functions/featuresetbase.js +1 -1
  11. package/arcade/functions/featuresetgeom.js +1 -1
  12. package/arcade/functions/featuresetstats.js +1 -1
  13. package/arcade/functions/featuresetstring.js +1 -1
  14. package/arcade/functions/geomasync.js +1 -1
  15. package/arcade/functions/geometry.js +1 -1
  16. package/arcade/functions/geomsync.js +1 -1
  17. package/arcade/functions/knowledgegraph.js +1 -1
  18. package/arcade/functions/maths.js +1 -1
  19. package/arcade/functions/stats.js +1 -1
  20. package/arcade/functions/string.js +1 -1
  21. package/arcade/geometry/functions.js +1 -1
  22. package/arcade/languageUtils.js +1 -1
  23. package/assets/esri/core/workers/RemoteClient.js +1 -1
  24. package/assets/esri/core/workers/chunks/08ea652b7896c1da022d.js +1 -0
  25. package/assets/esri/core/workers/chunks/{66cae76da0582cfa8656.js → 0943695a1dcd21c45e83.js} +1 -1
  26. package/assets/esri/core/workers/chunks/09ca64184bed6abafcd9.js +1 -0
  27. package/assets/esri/core/workers/chunks/{c6bcfa99fb222894fa0e.js → 0a0e5d699ddb7052c5c0.js} +1 -1
  28. package/assets/esri/core/workers/chunks/0a675f9f69b8b13b7443.js +1 -0
  29. package/assets/esri/core/workers/chunks/0eed612e82a279ac8d1e.js +1 -0
  30. package/assets/esri/core/workers/chunks/{cbe22c58b3230b12b31a.js → 13ad4ee2e064d13ca34d.js} +1 -1
  31. package/assets/esri/core/workers/chunks/176e7c7c2a871bcb512e.js +1 -0
  32. package/assets/esri/core/workers/chunks/18d0fe269531b951e309.js +1 -0
  33. package/assets/esri/core/workers/chunks/201db423e3c6f947b77c.js +1 -0
  34. package/assets/esri/core/workers/chunks/213e82a7e3fa5b253ec1.js +1 -0
  35. package/assets/esri/core/workers/chunks/{22618753349eb9d8b3df.js → 222446da9cb58c3c3b7e.js} +1 -1
  36. package/assets/esri/core/workers/chunks/277b61af8982092a4c81.js +1 -0
  37. package/assets/esri/core/workers/chunks/2b07bdb6c4c4a5b2f968.js +1 -0
  38. package/assets/esri/core/workers/chunks/2bda2cfc6e81818d7d33.js +1 -0
  39. package/assets/esri/core/workers/chunks/2cbab0c078d0b844934c.js +1 -0
  40. package/assets/esri/core/workers/chunks/{a68b48fd1a529f69705e.js → 2fcfc21ba38d9919730a.js} +1 -1
  41. package/assets/esri/core/workers/chunks/{193b4fecdfee927d6200.js → 37e4f588a6896f98bce3.js} +1 -1
  42. package/assets/esri/core/workers/chunks/392e64a573f67817db02.js +1 -0
  43. package/assets/esri/core/workers/chunks/3a743653b786b010a57f.js +1 -0
  44. package/assets/esri/core/workers/chunks/3be007f32ea1e18b8b3b.js +1 -0
  45. package/assets/esri/core/workers/chunks/451555af283b32a10fef.js +1 -0
  46. package/assets/esri/core/workers/chunks/{835fa4484c58d9b31c78.js → 460afde071df9f35182d.js} +1 -1
  47. package/assets/esri/core/workers/chunks/{26bedec014488e1fc5e4.js → 4816cf647eca2f4cecc2.js} +1 -1
  48. package/assets/esri/core/workers/chunks/{09c9e4e94f09ba9f4c22.js → 4aa0a58ded4465ea28bd.js} +1 -1
  49. package/assets/esri/core/workers/chunks/4d02e211967384994e5e.js +1 -0
  50. package/assets/esri/core/workers/chunks/4d798da25a726f179089.js +319 -0
  51. package/assets/esri/core/workers/chunks/51339193abddfe37745d.js +1 -0
  52. package/assets/esri/core/workers/chunks/{0a98dc3ea67ce97a6e7b.js → 5269793822e41dd07fe1.js} +1 -1
  53. package/assets/esri/core/workers/chunks/52d160cb7921ae7a4f57.js +1 -0
  54. package/assets/esri/core/workers/chunks/{630a9afdf0523c27ddb6.js → 555c95b149e3a82a4460.js} +1 -1
  55. package/assets/esri/core/workers/chunks/{eab1e3c101158675abba.js → 5660f479c005149bce8d.js} +1 -1
  56. package/assets/esri/core/workers/chunks/5a51c75a2932d9da001a.js +1 -0
  57. package/assets/esri/core/workers/chunks/{37a3533f004bf2e888da.js → 5d01f0b86566d08ba29d.js} +1 -1
  58. package/assets/esri/core/workers/chunks/{0576b035c1654a43ad5c.js → 5de3aee547113bfd59df.js} +1 -1
  59. package/assets/esri/core/workers/chunks/{45eee326f7a649c5a15b.js → 626db8488f9d931cf55c.js} +2 -2
  60. package/assets/esri/core/workers/chunks/{5a6f7360183693f8490d.js → 6339a24874c698594101.js} +1 -1
  61. package/assets/esri/core/workers/chunks/63dade3e1cc7f5b76846.js +1 -0
  62. package/assets/esri/core/workers/chunks/6c378e7a6ca29d530880.js +1 -0
  63. package/assets/esri/core/workers/chunks/71e46e866c23372b0b58.js +1 -0
  64. package/assets/esri/core/workers/chunks/{c591527543fd75a917d4.js → 72c7126dbd27fa48fcdb.js} +1 -1
  65. package/assets/esri/core/workers/chunks/{d459c790a3b89ac53d2d.js → 759c12b0715279e3c0f6.js} +1 -1
  66. package/assets/esri/core/workers/chunks/75a04b073231da70c18d.js +1 -0
  67. package/assets/esri/core/workers/chunks/75fa861b5757551f8fdc.js +1 -0
  68. package/assets/esri/core/workers/chunks/7655be1470ce39f0e494.js +1 -0
  69. package/assets/esri/core/workers/chunks/796cf1c2ca9955595836.js +1 -0
  70. package/assets/esri/core/workers/chunks/79c4f10da8360ee60cd2.js +1 -0
  71. package/assets/esri/core/workers/chunks/{49c346d2fb8538990f45.js → 7d1c39c2a80e20a0595f.js} +1 -1
  72. package/assets/esri/core/workers/chunks/7f36cffc6ed984b7e467.js +1 -0
  73. package/assets/esri/core/workers/chunks/{fa3eeb40e2d732c184d8.js → 7f8c7e3e41e51ab4d612.js} +1 -1
  74. package/assets/esri/core/workers/chunks/80aaf31c8eec3cff2add.js +1 -0
  75. package/assets/esri/core/workers/chunks/82353e59ac6d909dcf41.js +1 -0
  76. package/assets/esri/core/workers/chunks/84d301e1b6b0d0b48f51.js +1 -0
  77. package/assets/esri/core/workers/chunks/86931186095c23e47c0c.js +1 -0
  78. package/assets/esri/core/workers/chunks/86ee278919038260696e.js +39 -0
  79. package/assets/esri/core/workers/chunks/{4496ef270c700078df0c.js → 8752f807c05d1ec215e8.js} +1 -1
  80. package/assets/esri/core/workers/chunks/{59e4e780dcdfed555ca5.js → 8ef5e6f1c606e5e41002.js} +1 -1
  81. package/assets/esri/core/workers/chunks/{55c7c51e56d72f507c22.js → 90afead317186b31b2f9.js} +1 -1
  82. package/assets/esri/core/workers/chunks/90c893959145827961ac.js +1 -0
  83. package/assets/esri/core/workers/chunks/931275cfa2c55eb0f504.js +1 -0
  84. package/assets/esri/core/workers/chunks/{7e0e9ca84490a0c67197.js → 98da74243df03e0cc70d.js} +1 -1
  85. package/assets/esri/core/workers/chunks/{354117429b3a0a0794c9.js → 999e8dbe6f4d0665b3ab.js} +1 -1
  86. package/assets/esri/core/workers/chunks/9c59fc2df8081e65a128.js +1 -0
  87. package/assets/esri/core/workers/chunks/a348ff2dd936c6bf9399.js +1 -0
  88. package/assets/esri/core/workers/chunks/a53e9f5092de715da025.js +1 -0
  89. package/assets/esri/core/workers/chunks/a9b6377f1fef5826f28d.js +1 -0
  90. package/assets/esri/core/workers/chunks/{8063e35dacf8f99471d8.js → aa404aaec843a4f46ab6.js} +1 -1
  91. package/assets/esri/core/workers/chunks/{21016d58428b15f7427c.js → aa712f850fd129ca5ed8.js} +1 -1
  92. package/assets/esri/core/workers/chunks/ab0113d1269675dcd520.js +1 -0
  93. package/assets/esri/core/workers/chunks/aff7c4477e1f0c31fffa.js +1 -0
  94. package/assets/esri/core/workers/chunks/{726e3f413824f02fe689.js → bd2dcc55ac3418421ee5.js} +1 -1
  95. package/assets/esri/core/workers/chunks/bf453744067267e84d1b.js +1 -0
  96. package/assets/esri/core/workers/chunks/c2f38c66fae2cdb57445.js +1 -0
  97. package/assets/esri/core/workers/chunks/c7aa4a8263e21f631004.js +1 -0
  98. package/assets/esri/core/workers/chunks/{b8a4352f83502449ff95.js → cbbbaccc0d3683e1c0fe.js} +1 -1
  99. package/assets/esri/core/workers/chunks/{e4290719c8afc2a4ee8c.js → cc441051a52bfbda9caf.js} +1 -1
  100. package/assets/esri/core/workers/chunks/{3be465c653236d6d8c1f.js → d2c7067bb6654c0e2793.js} +1 -1
  101. package/assets/esri/core/workers/chunks/{bc3f42401131a12fce9b.js → d2eb3802fa003c2d497e.js} +1 -1
  102. package/assets/esri/core/workers/chunks/d3912886ac2910290f43.js +1 -0
  103. package/assets/esri/core/workers/chunks/da7c14ae1a25fc7163ce.js +1 -0
  104. package/assets/esri/core/workers/chunks/daa54c8a317c27881763.js +1 -0
  105. package/assets/esri/core/workers/chunks/e08bff9f8247909776a4.js +1 -0
  106. package/assets/esri/core/workers/chunks/e15c612caadf7bac4ab9.js +1 -0
  107. package/assets/esri/core/workers/chunks/{d5d2a4e8e19898d86c6d.js → e2029267cddb8e2effab.js} +1 -1
  108. package/assets/esri/core/workers/chunks/e3ef0451dcdc2e966628.js +1 -0
  109. package/assets/esri/core/workers/chunks/e7e987558cf017c62458.js +1 -0
  110. package/assets/esri/core/workers/chunks/{042771b4e56355924140.js → e9993d4f2bfdc434fbcc.js} +1 -1
  111. package/assets/esri/core/workers/chunks/eabfab23246d4a052ea3.js +1 -0
  112. package/assets/esri/core/workers/chunks/ed3d1d0465f4a4d8df4a.js +1 -0
  113. package/assets/esri/core/workers/chunks/{4dc1e7d7ac2a4b0144c4.js → f128d3431da86e484117.js} +28 -29
  114. package/assets/esri/core/workers/chunks/{ed4afafbcb31491c2049.js → f452ca61842dbe8de9af.js} +1 -1
  115. package/assets/esri/core/workers/chunks/f54546c155fba2fd3a7e.js +1 -0
  116. package/assets/esri/core/workers/chunks/{4c8164955f8d844c09ee.js → f8d1c7df671733c3325c.js} +1 -1
  117. package/assets/esri/core/workers/chunks/{e45404a982e173459990.js → f92d521ed3df3c9f737b.js} +1 -1
  118. package/assets/esri/core/workers/chunks/{b2289c18c02c868a2939.js → f9bedb421d4e115a888f.js} +1 -1
  119. package/assets/esri/core/workers/chunks/{55f7b1de8882569861c0.js → faed301a25252c619cff.js} +1 -1
  120. package/assets/esri/core/workers/chunks/fb22b2e4988ecf4d6376.js +1 -0
  121. package/assets/esri/core/workers/chunks/fb455fd89b74b70a6a2b.js +1 -0
  122. package/assets/esri/core/workers/chunks/{6d77c7e9dec323fc4145.js → fb603edd374e24f366ff.js} +1 -1
  123. package/chunks/ComponentShader.glsl.js +25 -25
  124. package/chunks/HUDMaterial.glsl.js +2 -2
  125. package/chunks/LineMarker.glsl.js +26 -26
  126. package/chunks/Point2D.js +1 -1
  127. package/chunks/ProjectionTransformation.js +1 -1
  128. package/chunks/QuadraticBezier.js +1 -1
  129. package/chunks/RibbonLine.glsl.js +35 -33
  130. package/chunks/Terrain.glsl.js +33 -33
  131. package/chunks/aiServices.js +1 -1
  132. package/chunks/array.js +1 -1
  133. package/chunks/languageUtils.js +1 -1
  134. package/core/Accessor.js +1 -1
  135. package/core/accessorSupport/utils.js +1 -1
  136. package/core/workers/registry.js +1 -1
  137. package/geometry/operators/projectOperator.js +1 -1
  138. package/geometry/operators/shapePreservingProjectOperator.js +1 -1
  139. package/geometry/support/meshUtils/elevation.js +1 -1
  140. package/geometry/support/meshUtils.js +1 -1
  141. package/interfaces.d.ts +284 -10
  142. package/intl/locale.js +1 -1
  143. package/layers/LinkChartLayer.js +1 -1
  144. package/layers/MapImageLayer.js +1 -1
  145. package/layers/TileLayer.js +1 -1
  146. package/layers/support/RasterWorker.js +1 -1
  147. package/layers/support/VideoElement.js +1 -1
  148. package/layers/support/rasterDatasets/FunctionRaster.js +1 -1
  149. package/layers/support/rasterFunctions/clipUtils.js +1 -1
  150. package/layers/support/rasterFunctions/rasterProjectionHelper.js +1 -1
  151. package/package.json +2 -2
  152. package/rest/networks/queryAssociations.js +1 -1
  153. package/support/revision.js +1 -1
  154. package/symbols/WebStyleSymbol.js +1 -1
  155. package/symbols/support/symbolUtils.js +1 -1
  156. package/views/2d/LabelManager.js +1 -1
  157. package/views/2d/engine/webgl/Overlay.js +1 -1
  158. package/views/2d/layers/MapImageLayerView2D.js +1 -1
  159. package/views/2d/layers/TileLayerView2D.js +1 -1
  160. package/views/2d/layers/features/layerAdapters/OGCFeatureLayerAdapter.js +1 -1
  161. package/views/2d/layers/features/schema/processor/symbols/SymbolSchema.js +1 -1
  162. package/views/2d/layers/graphics/GraphicsView2D.js +1 -1
  163. package/views/2d/layers/support/util.js +1 -1
  164. package/views/3d/analysis/Dimension/LengthDimensionSubTool.js +1 -1
  165. package/views/3d/analysis/Slice/RotateManipulator.js +1 -1
  166. package/views/3d/layers/DrapedSubView3D.js +1 -1
  167. package/views/3d/layers/GraphicsView3D.js +1 -1
  168. package/views/3d/layers/ImageryLayerView3D.js +1 -1
  169. package/views/3d/layers/MapImageLayerView3D.js +1 -1
  170. package/views/3d/layers/MediaLayerView3D.js +1 -1
  171. package/views/3d/layers/TileLayerView3D.js +1 -1
  172. package/views/3d/layers/graphics/Graphics3DWebStyleSymbol.js +1 -1
  173. package/views/3d/layers/graphics/GraphicsProcessor.js +1 -1
  174. package/views/3d/layers/i3s/PointCloudRenderer.js +1 -1
  175. package/views/3d/layers/support/ImageHighlightHelper3D.js +5 -0
  176. package/views/3d/layers/support/SublayerPopupHighlightHelper3D.js +5 -0
  177. package/views/3d/terrain/Overlay.js +1 -1
  178. package/views/3d/terrain/OverlayRenderer.js +1 -1
  179. package/views/3d/terrain/RasterTile.js +1 -1
  180. package/views/3d/terrain/TerrainRenderer.js +1 -1
  181. package/views/3d/terrain/TerrainSurface.js +1 -1
  182. package/views/3d/terrain/TileCompositor.js +1 -1
  183. package/views/3d/terrain/TileRenderer.js +1 -1
  184. package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
  185. package/views/3d/webgl-engine/collections/Component/Material/ComponentTechniqueConfiguration.js +1 -1
  186. package/views/3d/webgl-engine/collections/Component/Material/shader/ComponentShader.glsl.js +1 -1
  187. package/views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js +9 -10
  188. package/views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlightOverlay.js +11 -0
  189. package/views/3d/webgl-engine/core/shaderLibrary/shading/ComputeNormalTexture.glsl.js +3 -3
  190. package/views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRendering.glsl.js +3 -6
  191. package/views/3d/webgl-engine/core/shaderLibrary/terrain/BlendLayersOutput.js +1 -1
  192. package/views/3d/webgl-engine/core/shaderLibrary/terrain/TileBackground.glsl.js +1 -1
  193. package/views/3d/webgl-engine/lib/Material.js +1 -1
  194. package/views/3d/webgl-engine/lib/Program.js +1 -1
  195. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  196. package/views/3d/webgl-engine/lib/Texture.js +1 -1
  197. package/views/3d/webgl-engine/lib/VertexAttribute.js +1 -1
  198. package/views/3d/webgl-engine/materials/CheckerBoardMaterial.js +1 -1
  199. package/views/3d/webgl-engine/materials/ColorMaterial.js +1 -1
  200. package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
  201. package/views/3d/webgl-engine/materials/DefaultTechniqueConfiguration.js +1 -1
  202. package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
  203. package/views/3d/webgl-engine/materials/HeatmapDensityMaterial.js +1 -1
  204. package/views/3d/webgl-engine/materials/ImageMaterial.js +1 -1
  205. package/views/3d/webgl-engine/materials/LineCalloutMaterial.js +1 -1
  206. package/views/3d/webgl-engine/materials/LineMarkerMaterial.js +1 -1
  207. package/views/3d/webgl-engine/materials/MeasurementArrowMaterial.js +1 -1
  208. package/views/3d/webgl-engine/materials/NativeLineMaterial.js +1 -1
  209. package/views/3d/webgl-engine/materials/PathMaterial.js +1 -1
  210. package/views/3d/webgl-engine/materials/PathTechniqueConfiguration.js +1 -1
  211. package/views/3d/webgl-engine/materials/PatternMaterial.js +1 -1
  212. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  213. package/views/3d/webgl-engine/materials/ShadedColorMaterial.js +1 -1
  214. package/views/3d/webgl-engine/materials/WaterMaterial.js +1 -1
  215. package/views/3d/webgl-engine/materials/WaterTechniqueConfiguration.js +1 -1
  216. package/views/3d/webgl-engine/materials/internal/bufferWriterUtils.js +1 -1
  217. package/views/3d/webgl-engine/parts/RenderView.js +1 -1
  218. package/views/3d/webgl-engine/shaders/CheckerBoardTechniqueConfiguration.js +1 -1
  219. package/views/3d/webgl-engine/shaders/DefaultMaterialTechniqueConfiguration.js +1 -1
  220. package/views/3d/webgl-engine/shaders/ImageMaterialTechniqueConfiguration.js +1 -1
  221. package/views/3d/webgl-engine/shaders/LineMarkerTechnique.js +1 -1
  222. package/views/3d/webgl-engine/shaders/LineMarkerTechniqueConfiguration.js +1 -1
  223. package/views/3d/webgl-engine/shaders/NativeLineTechniqueConfiguration.js +1 -1
  224. package/views/3d/webgl-engine/shaders/PatternTechniqueConfiguration.js +1 -1
  225. package/views/3d/webgl-engine/shaders/PointRendererTechniqueConfiguration.js +1 -1
  226. package/views/3d/webgl-engine/shaders/RibbonLineTechnique.js +1 -1
  227. package/views/3d/webgl-engine/shaders/RibbonLineTechniqueConfiguration.js +1 -1
  228. package/views/3d/webgl-engine/shaders/ShadedColorMaterialTechniqueConfiguration.js +1 -1
  229. package/views/3d/webgl-engine/shaders/Terrain.glsl.js +1 -1
  230. package/views/3d/webgl-engine/shaders/TerrainTechniqueConfiguration.js +1 -1
  231. package/views/DOMContainer.js +1 -1
  232. package/views/FocusArea.js +1 -1
  233. package/views/GroundView.js +1 -1
  234. package/views/PopupView.js +1 -1
  235. package/views/SceneView.js +1 -1
  236. package/views/VideoView.d.ts +4 -0
  237. package/views/VideoView.js +1 -1
  238. package/views/layers/support/MapServiceLayerViewHelper.js +1 -1
  239. package/views/layers/support/highlightUtils.js +5 -0
  240. package/views/support/GroundViewElevationSampler.js +1 -1
  241. package/views/support/TextureCompressionHandle.js +5 -0
  242. package/views/support/TextureCompressionHelper.js +1 -1
  243. package/views/support/TextureCompressionWorker.js +5 -0
  244. package/views/support/TextureCompressionWorkerHandle.js +5 -0
  245. package/views/support/imageReprojection.js +1 -1
  246. package/views/webgl/ShaderBuilder.js +1 -1
  247. package/views/webgl/Texture.js +1 -1
  248. package/views/webgl/TextureDescriptor.js +1 -1
  249. package/webscene/Slide.js +1 -1
  250. package/widgets/CatalogLayerList/CatalogLayerListViewModel.js +1 -1
  251. package/widgets/CatalogLayerList.js +1 -1
  252. package/widgets/Directions.js +1 -1
  253. package/widgets/FeatureForm/FeatureFormUtilityNetworkAssociations/UtilityNetworkAssociationItemList.js +1 -1
  254. package/widgets/Features/FeaturesViewModel.js +1 -1
  255. package/widgets/LayerList/ListItem.js +1 -1
  256. package/widgets/Legend/support/ActiveLayerInfo.js +1 -1
  257. package/widgets/Legend.js +1 -1
  258. package/widgets/TableList/ListItem.js +1 -1
  259. package/widgets/UtilityNetworkTrace/UtilityNetworkTraceViewModel.js +1 -1
  260. package/widgets/UtilityNetworkTrace.js +1 -1
  261. package/widgets/ValuePicker.js +1 -1
  262. package/widgets/support/uriUtils.js +1 -1
  263. package/assets/esri/core/workers/chunks/0059295780fa4a090f30.js +0 -319
  264. package/assets/esri/core/workers/chunks/07910d16d1efae41d4bc.js +0 -1
  265. package/assets/esri/core/workers/chunks/0a3c1642cfabf9acd5c5.js +0 -1
  266. package/assets/esri/core/workers/chunks/0b7331613f91a3258352.js +0 -1
  267. package/assets/esri/core/workers/chunks/1a09dfb2c9fd7cd84cd4.js +0 -1
  268. package/assets/esri/core/workers/chunks/1dd6d68d23ba07587ae4.js +0 -1
  269. package/assets/esri/core/workers/chunks/2079f9d28e4199714f22.js +0 -1
  270. package/assets/esri/core/workers/chunks/29ba2022c2978e9bd53e.js +0 -1
  271. package/assets/esri/core/workers/chunks/29fe3e9a0ecab74bb729.js +0 -1
  272. package/assets/esri/core/workers/chunks/35f3eef81fac7924a487.js +0 -1
  273. package/assets/esri/core/workers/chunks/3fc18638f8799b85001d.js +0 -1
  274. package/assets/esri/core/workers/chunks/4539a802cba77a7a7cc7.js +0 -1
  275. package/assets/esri/core/workers/chunks/4d7bd2bbe9045a2fee7a.js +0 -1
  276. package/assets/esri/core/workers/chunks/50b6be13c270d7ac80d3.js +0 -1
  277. package/assets/esri/core/workers/chunks/54ace3e4802934f3f9f2.js +0 -1
  278. package/assets/esri/core/workers/chunks/5656cc44e3d4547668db.js +0 -1
  279. package/assets/esri/core/workers/chunks/597f450a57750637cb4d.js +0 -1
  280. package/assets/esri/core/workers/chunks/6e7577cb6378ff34e722.js +0 -1
  281. package/assets/esri/core/workers/chunks/6eb8d7edafeafeb10cae.js +0 -1
  282. package/assets/esri/core/workers/chunks/6ff981ec0c725efe5525.js +0 -1
  283. package/assets/esri/core/workers/chunks/71bd94cc789a55910f92.js +0 -1
  284. package/assets/esri/core/workers/chunks/762567124623f6d11e67.js +0 -1
  285. package/assets/esri/core/workers/chunks/77845cd5d824c1004bfa.js +0 -1
  286. package/assets/esri/core/workers/chunks/78683f1aadc1377be5fd.js +0 -1
  287. package/assets/esri/core/workers/chunks/7a4413a188a8f1affb2f.js +0 -1
  288. package/assets/esri/core/workers/chunks/7d3b2bdc75525d47389c.js +0 -1
  289. package/assets/esri/core/workers/chunks/81bf362ec0d23ffdc90c.js +0 -39
  290. package/assets/esri/core/workers/chunks/81f2f1614ea27f4c2e65.js +0 -1
  291. package/assets/esri/core/workers/chunks/901c957c049f53318e87.js +0 -1
  292. package/assets/esri/core/workers/chunks/94f41ef15f6c61562e5e.js +0 -1
  293. package/assets/esri/core/workers/chunks/95f23bd17ce9e07fc8ef.js +0 -1
  294. package/assets/esri/core/workers/chunks/96d7f47ea8fbf345101c.js +0 -1
  295. package/assets/esri/core/workers/chunks/9f312f7284e506a84ed7.js +0 -1
  296. package/assets/esri/core/workers/chunks/a59ad50d932da1e28c8f.js +0 -1
  297. package/assets/esri/core/workers/chunks/ac86d0b31f6368bd1fb1.js +0 -1
  298. package/assets/esri/core/workers/chunks/ad9b3b83aa96db7b79ea.js +0 -1
  299. package/assets/esri/core/workers/chunks/afe94e351b4a50d7bc53.js +0 -1
  300. package/assets/esri/core/workers/chunks/b02ac03503bfff1ff922.js +0 -1
  301. package/assets/esri/core/workers/chunks/b8416f2560710258c239.js +0 -1
  302. package/assets/esri/core/workers/chunks/b948fe33b4d650eea796.js +0 -1
  303. package/assets/esri/core/workers/chunks/ba47e43ef039fe4b8c5c.js +0 -1
  304. package/assets/esri/core/workers/chunks/be002f24beb832a369ce.js +0 -1
  305. package/assets/esri/core/workers/chunks/bf3c4c1bff8b71bc0b13.js +0 -1
  306. package/assets/esri/core/workers/chunks/d45ff061bf71b73e9f26.js +0 -1
  307. package/assets/esri/core/workers/chunks/d8ddff920725acb99200.js +0 -1
  308. package/assets/esri/core/workers/chunks/db4c110ab4c26c4b768c.js +0 -1
  309. package/assets/esri/core/workers/chunks/dfa4be2e07cc4c0938b0.js +0 -1
  310. package/assets/esri/core/workers/chunks/e088edb9ffbaa1ed12eb.js +0 -1
  311. package/assets/esri/core/workers/chunks/e0ac90b4ad8c36fb7d70.js +0 -1
  312. package/assets/esri/core/workers/chunks/e491daf73ab1264aa1b9.js +0 -1
  313. package/assets/esri/core/workers/chunks/f2a6287c8d28be24f71e.js +0 -1
  314. package/assets/esri/core/workers/chunks/f454e773505c0eef2f9d.js +0 -1
  315. package/assets/esri/core/workers/chunks/f4861d73c62096f73e48.js +0 -1
  316. package/assets/esri/core/workers/chunks/f70dd16f14279bb7e60d.js +0 -1
  317. package/assets/esri/core/workers/chunks/fa011ad649c05201e92a.js +0 -1
  318. package/views/3d/webgl-engine/lib/TextureCompressionWorker.js +0 -5
  319. package/views/3d/webgl-engine/lib/TextureCompressionWorkerHandle.js +0 -5
@@ -1 +1 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[8846],{1193:(t,n,e)=>{e.d(n,{H:()=>p});var r,o=e(90237),a=e(25482),i=e(4718),l=e(53966),u=e(10107),s=e(79901),c=e(40608),f=e(31199);let p=r=class extends a.A{constructor(t){super(t),this.color=null,this.position=new Float64Array(0),this.uv=null,this.normal=null,this.tangent=null}castColor(t){return(0,f.b)(t,Uint8Array,[Uint8ClampedArray],{loggerTag:".color=",stride:4},l.A.getLogger(this))}castPosition(t){return t&&t instanceof Float32Array&&l.A.getLogger(this).warn(".position=","Setting position attribute from a Float32Array may cause precision problems. Consider storing data in a Float64Array or a regular number array"),(0,f.b)(t,Float64Array,[Float32Array],{loggerTag:".position=",stride:3},l.A.getLogger(this))}castUv(t){return(0,f.b)(t,Float32Array,[Float64Array],{loggerTag:".uv=",stride:2},l.A.getLogger(this))}castNormal(t){return(0,f.b)(t,Float32Array,[Float64Array],{loggerTag:".normal=",stride:3},l.A.getLogger(this))}castTangent(t){return(0,f.b)(t,Float32Array,[Float64Array],{loggerTag:".tangent=",stride:4},l.A.getLogger(this))}clone(){const t={position:(0,i.o8)(this.position),uv:(0,i.o8)(this.uv),normal:(0,i.o8)(this.normal),tangent:(0,i.o8)(this.tangent),color:(0,i.o8)(this.color)};return new r(t)}clonePositional(){const t={position:(0,i.o8)(this.position),normal:(0,i.o8)(this.normal),tangent:(0,i.o8)(this.tangent),uv:this.uv,color:this.color};return new r(t)}get usedMemory(){return this.position.byteLength+(this.uv?.byteLength??0)+(this.normal?.byteLength??0)+(this.tangent?.byteLength??0)+(this.color?.byteLength??0)}};(0,o._)([(0,u.MZ)({json:{write:f.B}})],p.prototype,"color",void 0),(0,o._)([(0,s.w)("color")],p.prototype,"castColor",null),(0,o._)([(0,u.MZ)({nonNullable:!0,json:{write:f.B}})],p.prototype,"position",void 0),(0,o._)([(0,s.w)("position")],p.prototype,"castPosition",null),(0,o._)([(0,u.MZ)({json:{write:f.B}})],p.prototype,"uv",void 0),(0,o._)([(0,s.w)("uv")],p.prototype,"castUv",null),(0,o._)([(0,u.MZ)({json:{write:f.B}})],p.prototype,"normal",void 0),(0,o._)([(0,s.w)("normal")],p.prototype,"castNormal",null),(0,o._)([(0,u.MZ)({json:{write:f.B}})],p.prototype,"tangent",void 0),(0,o._)([(0,s.w)("tangent")],p.prototype,"castTangent",null),p=r=(0,o._)([(0,c.$)("esri.geometry.support.MeshVertexAttributes")],p)},22141:(t,n,e)=>{e.d(n,{$5:()=>b,CN:()=>A,JP:()=>m,KM:()=>B,Mv:()=>R,X4:()=>M,gr:()=>v,qs:()=>w,si:()=>T,xA:()=>S});var r=e(34727),o=e(77690),a=e(29242),i=e(58083),l=e(9093),u=e(38954),s=e(51850),c=e(48353),f=e(9762),p=(e(79258),e(21325)),g=e(28735),d=e(13030),h=e(73354),y=e(65686);const m="Projection may be possible after calling projection.load().";function A(t,n,e,r){t.error(`Failed to project from (wkid:${n.wkid}) to (wkid:${e.wkid}).${r?" ":""}${r}`)}function M(t,n,e,r,o,a){return N(C.TO_PCPF,d.xs.fromTypedArray(t),_.NORMAL,d.Xm.fromTypedArray(n),e,d.Xm.fromTypedArray(r),o,d.xs.fromTypedArray(a))?a:null}function T(t,n,e,r,o,a){return N(C.FROM_PCPF,d.xs.fromTypedArray(t),_.NORMAL,d.Xm.fromTypedArray(n),e,d.Xm.fromTypedArray(r),o,d.xs.fromTypedArray(a))?a:null}function v(t,n,e,r){return(0,f.projectBuffer)(t,n,0,e,r,0)?e:null}function b(t,n,e,r){return(0,f.projectBuffer)(t,n,0,e,r,0)?e:null}function w(t,n,e){return(0,o.Ge)(L,e),(0,h.b)(n,t,L),(0,r.or)(L)&&(0,h.n)(n,n),n}function B(t,n,e){return(0,o.z0)(L,e),(0,y.t)(n,t,L),(0,r.or)(L)&&(0,h.n)(n,n,4),n}function S(t,n,e,r,o,a){if(!N(C.TO_PCPF,d.xs.fromTypedArray(t,4*Float32Array.BYTES_PER_ELEMENT),_.TANGENT,d.Xm.fromTypedArray(n),e,d.Xm.fromTypedArray(r),o,d.xs.fromTypedArray(a,4*Float32Array.BYTES_PER_ELEMENT)))return null;for(let n=3;n<t.length;n+=4)a[n]=t[n];return a}function R(t,n,e,r,o,a){if(!N(C.FROM_PCPF,d.xs.fromTypedArray(t,16),_.TANGENT,d.Xm.fromTypedArray(n),e,d.Xm.fromTypedArray(r),o,d.xs.fromTypedArray(a,16)))return null;for(let n=3;n<t.length;n+=4)a[n]=t[n];return a}var _,C,E;function F(t,n,e,r,a){switch((0,c.l)(r,e,P,r),t===C.FROM_PCPF&&(0,i.B8)(P,P),n){case _.NORMAL:return(0,o.Ge)(a,P);case _.TANGENT:return(0,o.z0)(a,P)}}function N(t,n,e,r,o,a,i,l){if(!n)return;const s=r.count;if(function(t){return t.isWGS84||(0,p.x1)(t)||(0,p.q8)(t)||(0,p.KQ)(t)}(o))for(let r=0;r<s;r++)a.getVec(r,x),n.getVec(r,O),(0,u.q)(O,O,F(t,e,x,i,L)),l.setVec(r,O);else for(let o=0;o<s;o++){a.getVec(o,x),n.getVec(o,O);const s=(0,g.jg)(r.get(o,1));let c=Math.cos(s);e===_.TANGENT!=(t===C.TO_PCPF)&&(c=1/c),F(t,e,x,i,L),t===C.TO_PCPF?(L[0]*=c,L[1]*=c,L[2]*=c,L[3]*=c,L[4]*=c,L[5]*=c):(L[0]*=c,L[3]*=c,L[6]*=c,L[1]*=c,L[4]*=c,L[7]*=c),(0,u.q)(O,O,L),(0,u.n)(O,O),l.setVec(o,O)}return l}(E=_||(_={}))[E.NORMAL=0]="NORMAL",E[E.TANGENT=1]="TANGENT",function(t){t[t.TO_PCPF=0]="TO_PCPF",t[t.FROM_PCPF=1]="FROM_PCPF"}(C||(C={}));const x=(0,s.vt)(),O=(0,s.vt)(),P=(0,l.vt)(),L=(0,a.vt)()},28846:(t,n,e)=>{e.d(n,{convertMeshVertexSpace:()=>u});var r=e(49186),o=e(4718),a=e(74887),i=e(1193),l=e(72258);async function u(t,n,e){await Promise.resolve(),(0,a.Te)(e);const u=(0,l.UR)(t,n,{useEllipsoid:e?.useEllipsoid});if(!u)throw new r.A("meshUtils:convertVertexSpace()","Failed to convert to provided vertex space due to projection errors");const s=t.cloneAndModifyVertexAttributes(new i.H({...u,uv:(0,o.o8)(t.vertexAttributes.uv),color:(0,o.o8)(t.vertexAttributes.color)}),n);return s.transform=null,s}},31199:(t,n,e)=>{function r(t,n,e,r){const{loggerTag:o,stride:a}=n;return t.length%a!=0?(r.error(o,`Invalid array length, expected a multiple of ${a}`),new e([])):t}function o(t,n,e,o,a){if(!t)return t;if(t instanceof n)return r(t,o,n,a);for(const i of e)if(t instanceof i)return r(new n(t),o,n,a);if(Array.isArray(t))return r(new n(t),o,n,a);{const r=e.map((t=>`'${t.name}'`));return a.error(`Failed to set property, expected one of ${r}, but got ${t.constructor.name}`),new n([])}}function a(t,n,e){n[e]=function(t){const n=new Array(t.length);for(let e=0;e<t.length;e++)n[e]=t[e];return n}(t)}e.d(n,{B:()=>a,b:()=>o})},48353:(t,n,e)=>{e.d(n,{l:()=>s});var r=e(34727),o=e(58083),a=e(51850);function i(t,n,e){const r=Math.sin(t),o=Math.cos(t),a=Math.sin(n),i=Math.cos(n),l=e;return l[0]=-r,l[4]=-a*o,l[8]=i*o,l[12]=0,l[1]=o,l[5]=-a*r,l[9]=i*r,l[13]=0,l[2]=0,l[6]=i,l[10]=a,l[14]=0,l[3]=0,l[7]=0,l[11]=0,l[15]=1,l}var l=e(37539),u=e(21325);function s(t,n,e,r){const a=(0,l.Tp)(t,r);if(null==a)return!1;const s=a.source.spatialReferenceId,d=a.dest.spatialReferenceId;if(s===d&&!c(d)&&(s!==l.rz.UNKNOWN||(0,u.aI)(t,r)))return(0,o.kN)(e,n),!0;if(c(d)){const t=l.w5[s][l.rz.LON_LAT],r=l.w5[l.rz.LON_LAT][d];return null!=t&&null!=r&&(t(n,0,p,0),r(p,0,g,0),i(f*p[0],f*p[1],e),e[12]=g[0],e[13]=g[1],e[14]=g[2],!0)}const h=c(s);if((d===l.rz.WEB_MERCATOR||d===l.rz.PLATE_CARREE||d===l.rz.WGS84||d===l.rz.CGCS2000)&&(s===l.rz.WGS84||h||s===l.rz.WEB_MERCATOR||s===l.rz.CGCS2000)){const t=l.w5[s][l.rz.LON_LAT],r=l.w5[l.rz.LON_LAT][d];return null!=t&&null!=r&&(t(n,0,p,0),r(p,0,g,0),h?function(t,n,e){i(t,n,e),(0,o.mg)(e,e)}(f*p[0],f*p[1],e):(0,o.D_)(e),e[12]=g[0],e[13]=g[1],e[14]=g[2],!0)}return!1}function c(t){return t===l.rz.SPHERICAL_ECEF||t===l.rz.SPHERICAL_MARS_PCPF||t===l.rz.SPHERICAL_MOON_PCPF||t===l.rz.WGS84_ECEF}const f=(0,r.kU)(1),p=(0,a.vt)(),g=(0,a.vt)()},65686:(t,n,e)=>{e.d(n,{a:()=>a,b:()=>c,l:()=>s,n:()=>l,t:()=>i});var r=e(40876),o=(e(44208),e(53966));function a(t,n,e){i(t.typedBuffer,n.typedBuffer,e,t.typedBufferStride,n.typedBufferStride)}function i(t,n,e,r=4,o=r){if(t.length/r!=n.length/o)return;const a=t.length/r,i=e[0],l=e[1],u=e[2],s=e[3],c=e[4],f=e[5],p=e[6],g=e[7],d=e[8];let h=0,y=0;for(let e=0;e<a;e++){const e=n[h],a=n[h+1],m=n[h+2],A=n[h+3];t[y]=i*e+s*a+p*m,t[y+1]=l*e+c*a+g*m,t[y+2]=u*e+f*a+d*m,t[y+3]=A,h+=o,y+=r}}function l(t,n){const e=Math.min(t.count,n.count),r=t.typedBuffer,o=t.typedBufferStride,a=n.typedBuffer,i=n.typedBufferStride;for(let t=0;t<e;t++){const n=t*o,e=t*i,l=a[e],u=a[e+1],s=a[e+2],c=l*l+u*u+s*s;if(c>0){const t=1/Math.sqrt(c);r[n]=t*l,r[n+1]=t*u,r[n+2]=t*s}}}function u(t,n,e,r=4){const o=Math.min(t.length/r,n.count),a=n.typedBuffer,i=n.typedBufferStride;let l=0,u=0;for(let n=0;n<o;n++)t[u]=e*a[l],t[u+1]=e*a[l+1],t[u+2]=e*a[l+2],t[u+3]=e*a[l+3],l+=i,u+=r}function s(t,n,e,r){c(t.typedBuffer,n,e,r,t.typedBufferStride)}function c(t,n,e,o,a=4){const i=Math.min(t.length/a,n.count),l=n.typedBuffer,u=n.typedBufferStride;let s=0,c=0;const f=1/r.Tf;for(let n=0;n<i;n++)t[c]=o*(e*l[s])**f,t[c+1]=o*(e*l[s+1])**f,t[c+2]=o*(e*l[s+2])**f,t[c+3]=o*e*l[s+3],s+=u,c+=a}Object.freeze(Object.defineProperty({__proto__:null,linearToSRGB:c,linearToSRGBView:s,normalize:l,scale:u,scaleView:function(t,n,e){u(t.typedBuffer,n,e,t.typedBufferStride)},transformMat3:i,transformMat3View:a,transformMat4:function(t,n,e,r=4,a=r){if(t.length/r!=n.length/a)return void o.A.getLogger("esri.views.3d.support.buffer.math").error("source and destination buffers need to have the same number of elements");const i=t.length/r,l=e[0],u=e[1],s=e[2],c=e[3],f=e[4],p=e[5],g=e[6],d=e[7],h=e[8],y=e[9],m=e[10],A=e[11],M=e[12],T=e[13],v=e[14],b=e[15];let w=0,B=0;for(let e=0;e<i;e++){const e=n[w],o=n[w+1],i=n[w+2],S=n[w+3];t[B]=l*e+f*o+h*i+M*S,t[B+1]=u*e+p*o+y*i+T*S,t[B+2]=s*e+g*o+m*i+v*S,t[B+3]=c*e+d*o+A*i+b*S,w+=a,B+=r}},transformMat4View:function(t,n,e){if(t.count!==n.count)return;const r=t.count,o=e[0],a=e[1],i=e[2],l=e[3],u=e[4],s=e[5],c=e[6],f=e[7],p=e[8],g=e[9],d=e[10],h=e[11],y=e[12],m=e[13],A=e[14],M=e[15],T=t.typedBuffer,v=t.typedBufferStride,b=n.typedBuffer,w=n.typedBufferStride;for(let t=0;t<r;t++){const n=t*v,e=t*w,r=b[e],B=b[e+1],S=b[e+2],R=b[e+3];T[n]=o*r+u*B+p*S+y*R,T[n+1]=a*r+s*B+g*S+m*R,T[n+2]=i*r+c*B+d*S+A*R,T[n+3]=l*r+f*B+h*S+M*R}}},Symbol.toStringTag,{value:"Module"}))},65806:(t,n,e)=>{e.d(n,{g:()=>i});var r=e(51850),o=e(57251),a=e(9762);function i(t,n,e,r){if((0,o.canProjectWithoutEngine)(t.spatialReference,e)){l[0]=t.x,l[1]=t.y;const o=t.z;return l[2]=o??r??0,(0,a.projectBuffer)(l,t.spatialReference,0,n,e,0)}const i=(0,o.tryProjectWithZConversion)(t,e);return!!i&&(n[0]=i?.x,n[1]=i?.y,n[2]=i?.z??r??0,!0)}const l=(0,r.vt)()},72258:(t,n,e)=>{e.d(n,{UR:()=>v,p5:()=>T,xK:()=>_});var r=e(53966),o=e(34727),a=e(83047),i=e(77690),l=e(29242),u=e(58083),s=e(9093),c=e(38954),f=e(51850),p=e(98764),g=e(48353),d=e(65806),h=e(27615),y=e(21325),m=e(73354),A=e(22141);const M=()=>r.A.getLogger("esri.geometry.support.meshUtils.vertexSpaceConversion");function T(t,n,{vertexSpace:e,spatialReference:r}){if("georeferenced"===e.type){const o=t;if(!(0,d.g)(n,o,r))return!1;const{origin:a}=e;return(0,c.d)(t,o,a),!0}const o=(0,p.lO)(r),a=t;if(!(0,d.g)(n,a,o))return!1;const{origin:i}=e,l=x;if(!(0,g.l)(r,i,l,o))return!1;const s=(0,u.B8)(x,l);return null!=s&&((0,c.t)(t,a,s),!0)}function v(t,n,e){const{vertexSpace:r,transform:o,vertexAttributes:a}=t,l=(0,h.Hq)(r)?o:null,f=S(t.spatialReference,e,O.SOURCE_AND_TARGET);if((0,h.yJ)(r,n)&&(!l||(0,u.t2)(l.localMatrix,s.zK))&&R(f)){const{position:t,normal:n,tangent:r}=a,o=e?.allowBufferReuse;return{position:o?t:t.slice(),normal:o?n:n?.slice(),tangent:o?r:r?.slice()}}switch(t.vertexSpace.type){case"local":return"local"===n.type?function({vertexAttributes:t,spatialReference:n,transform:e},{origin:r},o,a){const i=b(n,a);if(!(0,g.l)(n,r,C,i))return(0,A.CN)(M(),n,i),null;if(e&&(0,u.lw)(C,C,e.localMatrix),!(0,g.l)(n,o,E,i))return(0,A.CN)(M(),i,n),null;(0,u.B8)(E,E);const l=(0,u.lw)(C,E,C);return B(l,n,a,O.SOURCE_AND_TARGET),w(t,l)}(t,t.vertexSpace,n.origin,e):function({spatialReference:t,vertexAttributes:n,transform:e},{origin:r},o,a){const i=b(t,a);if(!(0,g.l)(t,r,C,i))return(0,A.CN)(M(),t,i),null;e&&(0,u.lw)(C,C,e.localMatrix),B(C,t,a,O.SOURCE);const l=new Float64Array(n.position.length),s=function(t,n,e,r,o){(0,m.t)(r,t,n);const a=new Float64Array(t.length);return(0,A.$5)(r,o,a,e)?a:((0,A.CN)(M(),o,e),null)}(n.position,C,t,l,i);if(!s)return null;const f=function(t,n,e,r,o,a){if(null==o)return null;const i=new Float32Array(o.length);return(0,A.qs)(o,i,a),(0,A.si)(i,t,n,e,r,i)?i:((0,A.CN)(M(),r,n),null)}(s,t,l,i,n.normal,C);if(n.normal&&!f)return null;const p=function(t,n,e,r,o,a){if(null==o)return null;const i=new Float32Array(o.length);return(0,A.KM)(o,i,a),(0,A.Mv)(i,t,n,e,r,i)?i:((0,A.CN)(M(),r,n),null)}(s,t,l,i,n.tangent,C);if(n.tangent&&!p)return null;if(o){const t=(0,c.v)(N,o);(0,m.a)(s,s,t)}return{position:s,normal:f,tangent:p}}(t,t.vertexSpace,n.origin,e);case"georeferenced":return"local"===n.type?function({vertexAttributes:t,spatialReference:n,transform:e},{origin:r},o,a){const l=b(n,a);if(!(0,g.l)(n,o,C,l))return(0,A.CN)(M(),n,l),null;const s=1/S(n,a,O.TARGET);(0,u.hs)(C,C,[s,s,s]);const c=(0,u.B8)(E,C),{position:f,normal:p,tangent:d}=function(t,n,e){if(!n)return t;if(!e){const{position:e,normal:r,tangent:o}=t;return{position:(0,m.a)(new Float64Array(e.length),e,n),tangent:o,normal:r}}const r=w(t,e.localMatrix);return(0,m.a)(r.position,r.position,n),r}(t,r,e),h=new Float64Array(f.length),y=function(t,n,e,r,o){const a=(0,A.gr)(t,n,r,o);if(!a)return(0,A.CN)(M(),n,o),null;const i=new Float64Array(a.length);return(0,m.t)(i,a,e),i}(f,n,c,h,l);if(!y)return null;const T=(0,i.Ge)(F,c),v=function(t,n,e,r,o,a,i){if(null==t)return null;const l=i??new Float32Array(t.length);return(0,A.X4)(t,n,e,r,o,l)?((0,m.b)(l,l,a),l):((0,A.CN)(M(),e,o),null)}(p,f,n,h,l,T,p!==t.normal?p:void 0);if(!v&&p)return null;const B=function(t,n,e,r,o,a,i){if(null==t)return null;const l=i??new Float32Array(t.length);return(0,A.xA)(t,n,e,r,o,l)?((0,m.b)(l,l,a,4),l):((0,A.CN)(M(),e,o),null)}(d,f,n,h,l,T,d!==t.tangent?d:void 0);return!B&&d?null:{position:y,normal:v,tangent:B}}(t,t.vertexSpace,n.origin,e):function({vertexAttributes:t,transform:n,spatialReference:e},{origin:r},o,a){const i=S(e,a,O.SOURCE_AND_TARGET),l=r||!R(i)?(0,u.C)(C,n?.localMatrix??s.zK):null;l&&B(l,e,a,O.SOURCE_AND_TARGET);const{position:f,normal:p,tangent:g}=l?w(t,l):t,d=a?.allowBufferReuse,h=d?f:new Float64Array(f.length);let y=f;if(r&&(y=(0,m.a)(h,y,r)),o){const t=(0,c.v)(N,o);y=(0,m.a)(h,y,t)}return{position:y!==t.position||d?y:y.slice(),normal:p!==t.normal||d?p:p?.slice(),tangent:g!==t.tangent||d?g:g?.slice()}}(t,t.vertexSpace,n.origin,e)}}function b(t,n){return n?.useEllipsoid&&(0,y.B3)(t)?p.Y0:(0,p.lO)(t)}function w(t,n){const e=new Float64Array(t.position.length);(0,m.t)(e,t.position,n);const r=t.normal?new Float32Array(t.normal.length):null,o=t.tangent?new Float32Array(t.tangent.length):null;return r&&t.normal&&(0,A.qs)(t.normal,r,n),o&&t.tangent&&(0,A.KM)(t.tangent,o,n),{position:e,normal:r,tangent:o}}function B(t,n,e,r){const o=S(n,e,r);R(o)||(0,u.hs)(t,t,[o,o,o])}function S(t,n,e){const r=!!(e&O.SOURCE),o=!!(e&O.TARGET),a=n?.sourceUnit,i=n?.targetUnit;if(!a&&!i)return 1;let l=_(a,t);r||!a||R(l)||(M().warn("source unit conversion not supported"),l=1);let u=1/_(i,t);return o||!i||R(u)||(M().warn("target unit conversion not supported"),u=1),l*u}function R(t){return(0,o.Io)(t,1)}function _(t,n){if(null==t)return 1;const e=(0,a.KX)(n);return 1/(0,a.oU)(e,"meters",t)}const C=(0,s.vt)(),E=(0,s.vt)(),F=(0,l.vt)(),N=(0,f.vt)(),x=(0,s.vt)();var O,P;(P=O||(O={}))[P.NONE=0]="NONE",P[P.SOURCE=1]="SOURCE",P[P.TARGET=2]="TARGET",P[P.SOURCE_AND_TARGET=3]="SOURCE_AND_TARGET"},73354:(t,n,e)=>{e.d(n,{a:()=>f,b:()=>l,c:()=>i,d:()=>o,e:()=>p,f:()=>c,l:()=>s,n:()=>g,t:()=>a});var r=e(40876);function o(t,n,e){a(t.typedBuffer,n.typedBuffer,e,t.typedBufferStride,n.typedBufferStride)}function a(t,n,e,r=3,o=r){if(t.length/r!==Math.ceil(n.length/o))return t;const a=t.length/r,i=e[0],l=e[1],u=e[2],s=e[4],c=e[5],f=e[6],p=e[8],g=e[9],d=e[10],h=e[12],y=e[13],m=e[14];let A=0,M=0;for(let e=0;e<a;e++){const e=n[A],a=n[A+1],T=n[A+2];t[M]=i*e+s*a+p*T+h,t[M+1]=l*e+c*a+g*T+y,t[M+2]=u*e+f*a+d*T+m,A+=o,M+=r}return t}function i(t,n,e){l(t.typedBuffer,n.typedBuffer,e,t.typedBufferStride,n.typedBufferStride)}function l(t,n,e,r=3,o=r){if(t.length/r!==Math.ceil(n.length/o))return;const a=t.length/r,i=e[0],l=e[1],u=e[2],s=e[3],c=e[4],f=e[5],p=e[6],g=e[7],d=e[8];let h=0,y=0;for(let e=0;e<a;e++){const e=n[h],a=n[h+1],m=n[h+2];t[y]=i*e+s*a+p*m,t[y+1]=l*e+c*a+g*m,t[y+2]=u*e+f*a+d*m,h+=o,y+=r}}function u(t,n,e,r=3,o=r){const a=Math.min(t.length/r,n.length/o);let i=0,l=0;for(let u=0;u<a;u++)t[l]=e*n[i],t[l+1]=e*n[i+1],t[l+2]=e*n[i+2],i+=o,l+=r;return t}function s(t,n,e,r){c(t.typedBuffer,n.typedBuffer,e,r,t.typedBufferStride,n.typedBufferStride)}function c(t,n,e,o,a=3,i=a){const l=Math.min(t.length/a,n.length/i);let u=0,s=0;const c=1/r.Tf;for(let r=0;r<l;r++)t[s]=o*(e*n[u])**c,t[s+1]=o*(e*n[u+1])**c,t[s+2]=o*(e*n[u+2])**c,u+=i,s+=a}function f(t,n,e,r=3,o=r){const a=t.length/r;if(a!==Math.ceil(n.length/o))return t;let i=0,l=0;for(let u=0;u<a;u++)t[l]=n[i]+e[0],t[l+1]=n[i+1]+e[1],t[l+2]=n[i+2]+e[2],i+=o,l+=r;return t}function p(t,n){g(t.typedBuffer,n.typedBuffer,t.typedBufferStride,n.typedBufferStride)}function g(t,n,e=3,r=e){const o=Math.min(t.length/e,n.length/r);let a=0,i=0;for(let l=0;l<o;l++){const o=n[a],l=n[a+1],u=n[a+2],s=o*o+l*l+u*u;if(s>0){const n=1/Math.sqrt(s);t[i]=n*o,t[i+1]=n*l,t[i+2]=n*u}a+=r,i+=e}}e(44208),e(53966),Object.freeze(Object.defineProperty({__proto__:null,linearToSRGB:c,linearToSRGBView:s,normalize:g,normalizeView:p,scale:u,scaleView:function(t,n,e){u(t.typedBuffer,n.typedBuffer,e,t.typedBufferStride,n.typedBufferStride)},shiftRight:function(t,n,e){const r=Math.min(t.count,n.count),o=t.typedBuffer,a=t.typedBufferStride,i=n.typedBuffer,l=n.typedBufferStride;let u=0,s=0;for(let t=0;t<r;t++)o[s]=i[u]>>e,o[s+1]=i[u+1]>>e,o[s+2]=i[u+2]>>e,u+=l,s+=a},transformMat3:l,transformMat3View:i,transformMat4:a,transformMat4View:o,translate:f},Symbol.toStringTag,{value:"Module"}))},77690:(t,n,e)=>{e.d(n,{B8:()=>l,Ge:()=>p,I0:()=>f,KC:()=>u,hZ:()=>a,hs:()=>c,lw:()=>s,mg:()=>i,z0:()=>o});var r=e(34304);function o(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[4],t[4]=n[5],t[5]=n[6],t[6]=n[8],t[7]=n[9],t[8]=n[10],t}function a(t,n,e,r,o,a,i,l,u,s){return t[0]=n,t[1]=e,t[2]=r,t[3]=o,t[4]=a,t[5]=i,t[6]=l,t[7]=u,t[8]=s,t}function i(t,n){if(t===n){const e=n[1],r=n[2],o=n[5];t[1]=n[3],t[2]=n[6],t[3]=e,t[5]=n[7],t[6]=r,t[7]=o}else t[0]=n[0],t[1]=n[3],t[2]=n[6],t[3]=n[1],t[4]=n[4],t[5]=n[7],t[6]=n[2],t[7]=n[5],t[8]=n[8];return t}function l(t,n){const e=n[0],r=n[1],o=n[2],a=n[3],i=n[4],l=n[5],u=n[6],s=n[7],c=n[8],f=c*i-l*s,p=-c*a+l*u,g=s*a-i*u;let d=e*f+r*p+o*g;return d?(d=1/d,t[0]=f*d,t[1]=(-c*r+o*s)*d,t[2]=(l*r-o*i)*d,t[3]=p*d,t[4]=(c*e-o*u)*d,t[5]=(-l*e+o*a)*d,t[6]=g*d,t[7]=(-s*e+r*u)*d,t[8]=(i*e-r*a)*d,t):null}function u(t,n){const e=n[0],r=n[1],o=n[2],a=n[3],i=n[4],l=n[5],u=n[6],s=n[7],c=n[8];return t[0]=i*c-l*s,t[1]=o*s-r*c,t[2]=r*l-o*i,t[3]=l*u-a*c,t[4]=e*c-o*u,t[5]=o*a-e*l,t[6]=a*s-i*u,t[7]=r*u-e*s,t[8]=e*i-r*a,t}function s(t,n,e){const r=n[0],o=n[1],a=n[2],i=n[3],l=n[4],u=n[5],s=n[6],c=n[7],f=n[8],p=e[0],g=e[1],d=e[2],h=e[3],y=e[4],m=e[5],A=e[6],M=e[7],T=e[8];return t[0]=p*r+g*i+d*s,t[1]=p*o+g*l+d*c,t[2]=p*a+g*u+d*f,t[3]=h*r+y*i+m*s,t[4]=h*o+y*l+m*c,t[5]=h*a+y*u+m*f,t[6]=A*r+M*i+T*s,t[7]=A*o+M*l+T*c,t[8]=A*a+M*u+T*f,t}function c(t,n,e){const r=e[0],o=e[1],a=e[2];return t[0]=r*n[0],t[1]=r*n[1],t[2]=r*n[2],t[3]=o*n[3],t[4]=o*n[4],t[5]=o*n[5],t[6]=a*n[6],t[7]=a*n[7],t[8]=a*n[8],t}function f(t,n){const e=n[0],r=n[1],o=n[2],a=n[3],i=e+e,l=r+r,u=o+o,s=e*i,c=r*i,f=r*l,p=o*i,g=o*l,d=o*u,h=a*i,y=a*l,m=a*u;return t[0]=1-f-d,t[3]=c-m,t[6]=p+y,t[1]=c+m,t[4]=1-s-d,t[7]=g-h,t[2]=p-y,t[5]=g+h,t[8]=1-s-f,t}function p(t,n){const e=n[0],r=n[1],o=n[2],a=n[3],i=n[4],l=n[5],u=n[6],s=n[7],c=n[8],f=n[9],p=n[10],g=n[11],d=n[12],h=n[13],y=n[14],m=n[15],A=e*l-r*i,M=e*u-o*i,T=e*s-a*i,v=r*u-o*l,b=r*s-a*l,w=o*s-a*u,B=c*h-f*d,S=c*y-p*d,R=c*m-g*d,_=f*y-p*h,C=f*m-g*h,E=p*m-g*y;let F=A*E-M*C+T*_+v*R-b*S+w*B;return F?(F=1/F,t[0]=(l*E-u*C+s*_)*F,t[1]=(u*R-i*E-s*S)*F,t[2]=(i*C-l*R+s*B)*F,t[3]=(o*C-r*E-a*_)*F,t[4]=(e*E-o*R+a*S)*F,t[5]=(r*R-e*C-a*B)*F,t[6]=(h*w-y*b+m*v)*F,t[7]=(y*T-d*w-m*M)*F,t[8]=(d*b-h*T+m*A)*F,t):null}function g(t,n,e){return t[0]=n[0]-e[0],t[1]=n[1]-e[1],t[2]=n[2]-e[2],t[3]=n[3]-e[3],t[4]=n[4]-e[4],t[5]=n[5]-e[5],t[6]=n[6]-e[6],t[7]=n[7]-e[7],t[8]=n[8]-e[8],t}const d=s,h=g;Object.freeze(Object.defineProperty({__proto__:null,add:function(t,n,e){return t[0]=n[0]+e[0],t[1]=n[1]+e[1],t[2]=n[2]+e[2],t[3]=n[3]+e[3],t[4]=n[4]+e[4],t[5]=n[5]+e[5],t[6]=n[6]+e[6],t[7]=n[7]+e[7],t[8]=n[8]+e[8],t},adjoint:u,copy:function(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],t},determinant:function(t){const n=t[0],e=t[1],r=t[2],o=t[3],a=t[4],i=t[5],l=t[6],u=t[7],s=t[8];return n*(s*a-i*u)+e*(-s*o+i*l)+r*(u*o-a*l)},equals:function(t,n){const e=t[0],o=t[1],a=t[2],i=t[3],l=t[4],u=t[5],s=t[6],c=t[7],f=t[8],p=n[0],g=n[1],d=n[2],h=n[3],y=n[4],m=n[5],A=n[6],M=n[7],T=n[8],v=(0,r.FD)();return Math.abs(e-p)<=v*Math.max(1,Math.abs(e),Math.abs(p))&&Math.abs(o-g)<=v*Math.max(1,Math.abs(o),Math.abs(g))&&Math.abs(a-d)<=v*Math.max(1,Math.abs(a),Math.abs(d))&&Math.abs(i-h)<=v*Math.max(1,Math.abs(i),Math.abs(h))&&Math.abs(l-y)<=v*Math.max(1,Math.abs(l),Math.abs(y))&&Math.abs(u-m)<=v*Math.max(1,Math.abs(u),Math.abs(m))&&Math.abs(s-A)<=v*Math.max(1,Math.abs(s),Math.abs(A))&&Math.abs(c-M)<=v*Math.max(1,Math.abs(c),Math.abs(M))&&Math.abs(f-T)<=v*Math.max(1,Math.abs(f),Math.abs(T))},exactEquals:function(t,n){return t[0]===n[0]&&t[1]===n[1]&&t[2]===n[2]&&t[3]===n[3]&&t[4]===n[4]&&t[5]===n[5]&&t[6]===n[6]&&t[7]===n[7]&&t[8]===n[8]},frob:function(t){return Math.sqrt(t[0]**2+t[1]**2+t[2]**2+t[3]**2+t[4]**2+t[5]**2+t[6]**2+t[7]**2+t[8]**2)},fromMat2d:function(t,n){return t[0]=n[0],t[1]=n[1],t[2]=0,t[3]=n[2],t[4]=n[3],t[5]=0,t[6]=n[4],t[7]=n[5],t[8]=1,t},fromMat4:o,fromQuat:f,fromRotation:function(t,n){const e=Math.sin(n),r=Math.cos(n);return t[0]=r,t[1]=e,t[2]=0,t[3]=-e,t[4]=r,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},fromScaling:function(t,n){return t[0]=n[0],t[1]=0,t[2]=0,t[3]=0,t[4]=n[1],t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},fromTranslation:function(t,n){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=n[0],t[7]=n[1],t[8]=1,t},identity:function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},invert:l,isOrthoNormal:function(t){const n=(0,r.FD)(),e=t[0],o=t[1],a=t[2],i=t[3],l=t[4],u=t[5],s=t[6],c=t[7],f=t[8];return Math.abs(1-(e*e+i*i+s*s))<=n&&Math.abs(1-(o*o+l*l+c*c))<=n&&Math.abs(1-(a*a+u*u+f*f))<=n},mul:d,multiply:s,multiplyScalar:function(t,n,e){return t[0]=n[0]*e,t[1]=n[1]*e,t[2]=n[2]*e,t[3]=n[3]*e,t[4]=n[4]*e,t[5]=n[5]*e,t[6]=n[6]*e,t[7]=n[7]*e,t[8]=n[8]*e,t},multiplyScalarAndAdd:function(t,n,e,r){return t[0]=n[0]+e[0]*r,t[1]=n[1]+e[1]*r,t[2]=n[2]+e[2]*r,t[3]=n[3]+e[3]*r,t[4]=n[4]+e[4]*r,t[5]=n[5]+e[5]*r,t[6]=n[6]+e[6]*r,t[7]=n[7]+e[7]*r,t[8]=n[8]+e[8]*r,t},normalFromMat4:p,normalFromMat4Legacy:function(t,n){const e=n[0],r=n[1],o=n[2],a=n[4],i=n[5],l=n[6],u=n[8],s=n[9],c=n[10],f=c*i-l*s,p=-c*a+l*u,g=s*a-i*u,d=e*f+r*p+o*g;if(!d)return null;const h=1/d;return t[0]=f*h,t[1]=(-c*r+o*s)*h,t[2]=(l*r-o*i)*h,t[3]=p*h,t[4]=(c*e-o*u)*h,t[5]=(-l*e+o*a)*h,t[6]=g*h,t[7]=(-s*e+r*u)*h,t[8]=(i*e-r*a)*h,t},projection:function(t,n,e){return t[0]=2/n,t[1]=0,t[2]=0,t[3]=0,t[4]=-2/e,t[5]=0,t[6]=-1,t[7]=1,t[8]=1,t},rotate:function(t,n,e){const r=n[0],o=n[1],a=n[2],i=n[3],l=n[4],u=n[5],s=n[6],c=n[7],f=n[8],p=Math.sin(e),g=Math.cos(e);return t[0]=g*r+p*i,t[1]=g*o+p*l,t[2]=g*a+p*u,t[3]=g*i-p*r,t[4]=g*l-p*o,t[5]=g*u-p*a,t[6]=s,t[7]=c,t[8]=f,t},scale:c,scaleByVec2:function(t,n,e){const r=e[0],o=e[1];return t[0]=r*n[0],t[1]=r*n[1],t[2]=r*n[2],t[3]=o*n[3],t[4]=o*n[4],t[5]=o*n[5],t},set:a,str:function(t){return"mat3("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+", "+t[8]+")"},sub:h,subtract:g,translate:function(t,n,e){const r=n[0],o=n[1],a=n[2],i=n[3],l=n[4],u=n[5],s=n[6],c=n[7],f=n[8],p=e[0],g=e[1];return t[0]=r,t[1]=o,t[2]=a,t[3]=i,t[4]=l,t[5]=u,t[6]=p*r+g*i+s,t[7]=p*o+g*l+c,t[8]=p*a+g*u+f,t},transpose:i},Symbol.toStringTag,{value:"Module"}))},98764:(t,n,e)=>{e.d(n,{Y0:()=>s,lO:()=>c});var r=e(73941),o=e(16930),a=e(21325);const i=new o.A(r.fv),l=new o.A(r.FY),u=new o.A(r.LJ),s=new o.A(r.Ro);function c(t){const n=f.get(t);if(n)return n;let e=i;if(t)if(t===l)e=l;else if(t===u)e=u;else{const n=t.wkid,r=t.latestWkid;if(null!=n||null!=r)(0,a.tl)(n)||(0,a.tl)(r)?e=l:((0,a.ZL)(n)||(0,a.ZL)(r))&&(e=u);else{const n=t.wkt2??t.wkt;if(n){const t=n.toUpperCase();t===p?e=l:t===g&&(e=u)}}}return f.set(t,e),e}const f=new Map,p=l.wkt.toUpperCase(),g=u.wkt.toUpperCase()}}]);
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[8846],{1193:(t,n,e)=>{e.d(n,{H:()=>p});var r,o=e(90237),a=e(25482),i=e(4718),l=e(53966),u=e(10107),s=e(79901),c=e(40608),f=e(31199);let p=r=class extends a.A{constructor(t){super(t),this.color=null,this.position=new Float64Array(0),this.uv=null,this.normal=null,this.tangent=null}castColor(t){return(0,f.b)(t,Uint8Array,[Uint8ClampedArray],{loggerTag:".color=",stride:4},l.A.getLogger(this))}castPosition(t){return t&&t instanceof Float32Array&&l.A.getLogger(this).warn(".position=","Setting position attribute from a Float32Array may cause precision problems. Consider storing data in a Float64Array or a regular number array"),(0,f.b)(t,Float64Array,[Float32Array],{loggerTag:".position=",stride:3},l.A.getLogger(this))}castUv(t){return(0,f.b)(t,Float32Array,[Float64Array],{loggerTag:".uv=",stride:2},l.A.getLogger(this))}castNormal(t){return(0,f.b)(t,Float32Array,[Float64Array],{loggerTag:".normal=",stride:3},l.A.getLogger(this))}castTangent(t){return(0,f.b)(t,Float32Array,[Float64Array],{loggerTag:".tangent=",stride:4},l.A.getLogger(this))}clone(){const t={position:(0,i.o8)(this.position),uv:(0,i.o8)(this.uv),normal:(0,i.o8)(this.normal),tangent:(0,i.o8)(this.tangent),color:(0,i.o8)(this.color)};return new r(t)}clonePositional(){const t={position:(0,i.o8)(this.position),normal:(0,i.o8)(this.normal),tangent:(0,i.o8)(this.tangent),uv:this.uv,color:this.color};return new r(t)}get usedMemory(){return this.position.byteLength+(this.uv?.byteLength??0)+(this.normal?.byteLength??0)+(this.tangent?.byteLength??0)+(this.color?.byteLength??0)}};(0,o._)([(0,u.MZ)({json:{write:f.B}})],p.prototype,"color",void 0),(0,o._)([(0,s.w)("color")],p.prototype,"castColor",null),(0,o._)([(0,u.MZ)({nonNullable:!0,json:{write:f.B}})],p.prototype,"position",void 0),(0,o._)([(0,s.w)("position")],p.prototype,"castPosition",null),(0,o._)([(0,u.MZ)({json:{write:f.B}})],p.prototype,"uv",void 0),(0,o._)([(0,s.w)("uv")],p.prototype,"castUv",null),(0,o._)([(0,u.MZ)({json:{write:f.B}})],p.prototype,"normal",void 0),(0,o._)([(0,s.w)("normal")],p.prototype,"castNormal",null),(0,o._)([(0,u.MZ)({json:{write:f.B}})],p.prototype,"tangent",void 0),(0,o._)([(0,s.w)("tangent")],p.prototype,"castTangent",null),p=r=(0,o._)([(0,c.$)("esri.geometry.support.MeshVertexAttributes")],p)},22141:(t,n,e)=>{e.d(n,{$5:()=>b,CN:()=>A,JP:()=>m,KM:()=>B,Mv:()=>R,X4:()=>M,gr:()=>v,qs:()=>w,si:()=>T,xA:()=>S});var r=e(34727),o=e(77690),a=e(29242),i=e(58083),l=e(9093),u=e(38954),s=e(51850),c=e(48353),f=e(9762),p=(e(79258),e(21325)),g=e(28735),d=e(13030),h=e(73354),y=e(65686);const m="Projection may be possible after calling projection.load().";function A(t,n,e,r){t.error(`Failed to project from (wkid:${n.wkid}) to (wkid:${e.wkid}).${r?" ":""}${r}`)}function M(t,n,e,r,o,a){return N(C.TO_PCPF,d.xs.fromTypedArray(t),_.NORMAL,d.Xm.fromTypedArray(n),e,d.Xm.fromTypedArray(r),o,d.xs.fromTypedArray(a))?a:null}function T(t,n,e,r,o,a){return N(C.FROM_PCPF,d.xs.fromTypedArray(t),_.NORMAL,d.Xm.fromTypedArray(n),e,d.Xm.fromTypedArray(r),o,d.xs.fromTypedArray(a))?a:null}function v(t,n,e,r){return(0,f.projectBuffer)(t,n,0,e,r,0)?e:null}function b(t,n,e,r){return(0,f.projectBuffer)(t,n,0,e,r,0)?e:null}function w(t,n,e){return(0,o.Ge)(L,e),(0,h.b)(n,t,L),(0,r.or)(L)&&(0,h.n)(n,n),n}function B(t,n,e){return(0,o.z0)(L,e),(0,y.t)(n,t,L),(0,r.or)(L)&&(0,h.n)(n,n,4),n}function S(t,n,e,r,o,a){if(!N(C.TO_PCPF,d.xs.fromTypedArray(t,4*Float32Array.BYTES_PER_ELEMENT),_.TANGENT,d.Xm.fromTypedArray(n),e,d.Xm.fromTypedArray(r),o,d.xs.fromTypedArray(a,4*Float32Array.BYTES_PER_ELEMENT)))return null;for(let n=3;n<t.length;n+=4)a[n]=t[n];return a}function R(t,n,e,r,o,a){if(!N(C.FROM_PCPF,d.xs.fromTypedArray(t,16),_.TANGENT,d.Xm.fromTypedArray(n),e,d.Xm.fromTypedArray(r),o,d.xs.fromTypedArray(a,16)))return null;for(let n=3;n<t.length;n+=4)a[n]=t[n];return a}var _,C,E;function F(t,n,e,r,a){switch((0,c.l)(r,e,P,r),t===C.FROM_PCPF&&(0,i.B8)(P,P),n){case _.NORMAL:return(0,o.Ge)(a,P);case _.TANGENT:return(0,o.z0)(a,P)}}function N(t,n,e,r,o,a,i,l){if(!n)return;const s=r.count;if(function(t){return t.isWGS84||(0,p.x1)(t)||(0,p.q8)(t)||(0,p.KQ)(t)}(o))for(let r=0;r<s;r++)a.getVec(r,x),n.getVec(r,O),(0,u.q)(O,O,F(t,e,x,i,L)),l.setVec(r,O);else for(let o=0;o<s;o++){a.getVec(o,x),n.getVec(o,O);const s=(0,g.jg)(r.get(o,1));let c=Math.cos(s);e===_.TANGENT!=(t===C.TO_PCPF)&&(c=1/c),F(t,e,x,i,L),t===C.TO_PCPF?(L[0]*=c,L[1]*=c,L[2]*=c,L[3]*=c,L[4]*=c,L[5]*=c):(L[0]*=c,L[3]*=c,L[6]*=c,L[1]*=c,L[4]*=c,L[7]*=c),(0,u.q)(O,O,L),(0,u.n)(O,O),l.setVec(o,O)}return l}(E=_||(_={}))[E.NORMAL=0]="NORMAL",E[E.TANGENT=1]="TANGENT",function(t){t[t.TO_PCPF=0]="TO_PCPF",t[t.FROM_PCPF=1]="FROM_PCPF"}(C||(C={}));const x=(0,s.vt)(),O=(0,s.vt)(),P=(0,l.vt)(),L=(0,a.vt)()},28846:(t,n,e)=>{e.d(n,{convertMeshVertexSpace:()=>u});var r=e(49186),o=e(4718),a=e(74887),i=e(1193),l=e(72258);async function u(t,n,e){await Promise.resolve(),(0,a.Te)(e);const u=(0,l.UR)(t,n,{useEllipsoid:e?.useEllipsoid});if(!u)throw new r.A("meshUtils:convertVertexSpace()","Failed to convert to provided vertex space due to projection errors");const s=t.cloneAndModifyVertexAttributes(new i.H({...u,uv:(0,o.o8)(t.vertexAttributes.uv),color:(0,o.o8)(t.vertexAttributes.color)}),n);return s.transform=null,s}},31199:(t,n,e)=>{function r(t,n,e,r){const{loggerTag:o,stride:a}=n;return t.length%a!=0?(r.error(o,`Invalid array length, expected a multiple of ${a}`),new e([])):t}function o(t,n,e,o,a){if(!t)return t;if(t instanceof n)return r(t,o,n,a);for(const i of e)if(t instanceof i)return r(new n(t),o,n,a);if(Array.isArray(t))return r(new n(t),o,n,a);{const r=e.map((t=>`'${t.name}'`));return a.error(`Failed to set property, expected one of ${r}, but got ${t.constructor.name}`),new n([])}}function a(t,n,e){n[e]=function(t){const n=new Array(t.length);for(let e=0;e<t.length;e++)n[e]=t[e];return n}(t)}e.d(n,{B:()=>a,b:()=>o})},48353:(t,n,e)=>{e.d(n,{l:()=>s});var r=e(34727),o=e(58083),a=e(51850);function i(t,n,e){const r=Math.sin(t),o=Math.cos(t),a=Math.sin(n),i=Math.cos(n),l=e;return l[0]=-r,l[4]=-a*o,l[8]=i*o,l[12]=0,l[1]=o,l[5]=-a*r,l[9]=i*r,l[13]=0,l[2]=0,l[6]=i,l[10]=a,l[14]=0,l[3]=0,l[7]=0,l[11]=0,l[15]=1,l}var l=e(37539),u=e(21325);function s(t,n,e,r){const a=(0,l.Tp)(t,r);if(null==a)return!1;const s=a.source.spatialReferenceId,d=a.dest.spatialReferenceId;if(s===d&&!c(d)&&(s!==l.rz.UNKNOWN||(0,u.aI)(t,r)))return(0,o.kN)(e,n),!0;if(c(d)){const t=l.w5[s][l.rz.LON_LAT],r=l.w5[l.rz.LON_LAT][d];return null!=t&&null!=r&&(t(n,0,p,0),r(p,0,g,0),i(f*p[0],f*p[1],e),e[12]=g[0],e[13]=g[1],e[14]=g[2],!0)}const h=c(s);if((d===l.rz.WEB_MERCATOR||d===l.rz.PLATE_CARREE||d===l.rz.WGS84||d===l.rz.CGCS2000)&&(s===l.rz.WGS84||h||s===l.rz.WEB_MERCATOR||s===l.rz.CGCS2000)){const t=l.w5[s][l.rz.LON_LAT],r=l.w5[l.rz.LON_LAT][d];return null!=t&&null!=r&&(t(n,0,p,0),r(p,0,g,0),h?function(t,n,e){i(t,n,e),(0,o.mg)(e,e)}(f*p[0],f*p[1],e):(0,o.D_)(e),e[12]=g[0],e[13]=g[1],e[14]=g[2],!0)}return!1}function c(t){return t===l.rz.SPHERICAL_ECEF||t===l.rz.SPHERICAL_MARS_PCPF||t===l.rz.SPHERICAL_MOON_PCPF||t===l.rz.WGS84_ECEF}const f=(0,r.kU)(1),p=(0,a.vt)(),g=(0,a.vt)()},65686:(t,n,e)=>{e.d(n,{a:()=>a,b:()=>c,l:()=>s,n:()=>l,t:()=>i});var r=e(40876),o=(e(44208),e(53966));function a(t,n,e){i(t.typedBuffer,n.typedBuffer,e,t.typedBufferStride,n.typedBufferStride)}function i(t,n,e,r=4,o=r){if(t.length/r!=n.length/o)return;const a=t.length/r,i=e[0],l=e[1],u=e[2],s=e[3],c=e[4],f=e[5],p=e[6],g=e[7],d=e[8];let h=0,y=0;for(let e=0;e<a;e++){const e=n[h],a=n[h+1],m=n[h+2],A=n[h+3];t[y]=i*e+s*a+p*m,t[y+1]=l*e+c*a+g*m,t[y+2]=u*e+f*a+d*m,t[y+3]=A,h+=o,y+=r}}function l(t,n){const e=Math.min(t.count,n.count),r=t.typedBuffer,o=t.typedBufferStride,a=n.typedBuffer,i=n.typedBufferStride;for(let t=0;t<e;t++){const n=t*o,e=t*i,l=a[e],u=a[e+1],s=a[e+2],c=l*l+u*u+s*s;if(c>0){const t=1/Math.sqrt(c);r[n]=t*l,r[n+1]=t*u,r[n+2]=t*s}}}function u(t,n,e,r=4){const o=Math.min(t.length/r,n.count),a=n.typedBuffer,i=n.typedBufferStride;let l=0,u=0;for(let n=0;n<o;n++)t[u]=e*a[l],t[u+1]=e*a[l+1],t[u+2]=e*a[l+2],t[u+3]=e*a[l+3],l+=i,u+=r}function s(t,n,e,r){c(t.typedBuffer,n,e,r,t.typedBufferStride)}function c(t,n,e,o,a=4){const i=Math.min(t.length/a,n.count),l=n.typedBuffer,u=n.typedBufferStride;let s=0,c=0;const f=1/r.Tf;for(let n=0;n<i;n++)t[c]=o*(e*l[s])**f,t[c+1]=o*(e*l[s+1])**f,t[c+2]=o*(e*l[s+2])**f,t[c+3]=o*e*l[s+3],s+=u,c+=a}Object.freeze(Object.defineProperty({__proto__:null,linearToSRGB:c,linearToSRGBView:s,normalize:l,scale:u,scaleView:function(t,n,e){u(t.typedBuffer,n,e,t.typedBufferStride)},transformMat3:i,transformMat3View:a,transformMat4:function(t,n,e,r=4,a=r){if(t.length/r!=n.length/a)return void o.A.getLogger("esri.views.3d.support.buffer.math").error("source and destination buffers need to have the same number of elements");const i=t.length/r,l=e[0],u=e[1],s=e[2],c=e[3],f=e[4],p=e[5],g=e[6],d=e[7],h=e[8],y=e[9],m=e[10],A=e[11],M=e[12],T=e[13],v=e[14],b=e[15];let w=0,B=0;for(let e=0;e<i;e++){const e=n[w],o=n[w+1],i=n[w+2],S=n[w+3];t[B]=l*e+f*o+h*i+M*S,t[B+1]=u*e+p*o+y*i+T*S,t[B+2]=s*e+g*o+m*i+v*S,t[B+3]=c*e+d*o+A*i+b*S,w+=a,B+=r}},transformMat4View:function(t,n,e){if(t.count!==n.count)return;const r=t.count,o=e[0],a=e[1],i=e[2],l=e[3],u=e[4],s=e[5],c=e[6],f=e[7],p=e[8],g=e[9],d=e[10],h=e[11],y=e[12],m=e[13],A=e[14],M=e[15],T=t.typedBuffer,v=t.typedBufferStride,b=n.typedBuffer,w=n.typedBufferStride;for(let t=0;t<r;t++){const n=t*v,e=t*w,r=b[e],B=b[e+1],S=b[e+2],R=b[e+3];T[n]=o*r+u*B+p*S+y*R,T[n+1]=a*r+s*B+g*S+m*R,T[n+2]=i*r+c*B+d*S+A*R,T[n+3]=l*r+f*B+h*S+M*R}}},Symbol.toStringTag,{value:"Module"}))},65806:(t,n,e)=>{e.d(n,{g:()=>i});var r=e(51850),o=e(80586),a=e(9762);function i(t,n,e,r){if((0,o.canProjectWithoutEngine)(t.spatialReference,e)){l[0]=t.x,l[1]=t.y;const o=t.z;return l[2]=o??r??0,(0,a.projectBuffer)(l,t.spatialReference,0,n,e,0)}const i=(0,o.tryProjectWithZConversion)(t,e);return!!i&&(n[0]=i?.x,n[1]=i?.y,n[2]=i?.z??r??0,!0)}const l=(0,r.vt)()},72258:(t,n,e)=>{e.d(n,{UR:()=>v,p5:()=>T,xK:()=>_});var r=e(53966),o=e(34727),a=e(83047),i=e(77690),l=e(29242),u=e(58083),s=e(9093),c=e(38954),f=e(51850),p=e(98764),g=e(48353),d=e(65806),h=e(27615),y=e(21325),m=e(73354),A=e(22141);const M=()=>r.A.getLogger("esri.geometry.support.meshUtils.vertexSpaceConversion");function T(t,n,{vertexSpace:e,spatialReference:r}){if("georeferenced"===e.type){const o=t;if(!(0,d.g)(n,o,r))return!1;const{origin:a}=e;return(0,c.d)(t,o,a),!0}const o=(0,p.lO)(r),a=t;if(!(0,d.g)(n,a,o))return!1;const{origin:i}=e,l=x;if(!(0,g.l)(r,i,l,o))return!1;const s=(0,u.B8)(x,l);return null!=s&&((0,c.t)(t,a,s),!0)}function v(t,n,e){const{vertexSpace:r,transform:o,vertexAttributes:a}=t,l=(0,h.Hq)(r)?o:null,f=S(t.spatialReference,e,O.SOURCE_AND_TARGET);if((0,h.yJ)(r,n)&&(!l||(0,u.t2)(l.localMatrix,s.zK))&&R(f)){const{position:t,normal:n,tangent:r}=a,o=e?.allowBufferReuse;return{position:o?t:t.slice(),normal:o?n:n?.slice(),tangent:o?r:r?.slice()}}switch(t.vertexSpace.type){case"local":return"local"===n.type?function({vertexAttributes:t,spatialReference:n,transform:e},{origin:r},o,a){const i=b(n,a);if(!(0,g.l)(n,r,C,i))return(0,A.CN)(M(),n,i),null;if(e&&(0,u.lw)(C,C,e.localMatrix),!(0,g.l)(n,o,E,i))return(0,A.CN)(M(),i,n),null;(0,u.B8)(E,E);const l=(0,u.lw)(C,E,C);return B(l,n,a,O.SOURCE_AND_TARGET),w(t,l)}(t,t.vertexSpace,n.origin,e):function({spatialReference:t,vertexAttributes:n,transform:e},{origin:r},o,a){const i=b(t,a);if(!(0,g.l)(t,r,C,i))return(0,A.CN)(M(),t,i),null;e&&(0,u.lw)(C,C,e.localMatrix),B(C,t,a,O.SOURCE);const l=new Float64Array(n.position.length),s=function(t,n,e,r,o){(0,m.t)(r,t,n);const a=new Float64Array(t.length);return(0,A.$5)(r,o,a,e)?a:((0,A.CN)(M(),o,e),null)}(n.position,C,t,l,i);if(!s)return null;const f=function(t,n,e,r,o,a){if(null==o)return null;const i=new Float32Array(o.length);return(0,A.qs)(o,i,a),(0,A.si)(i,t,n,e,r,i)?i:((0,A.CN)(M(),r,n),null)}(s,t,l,i,n.normal,C);if(n.normal&&!f)return null;const p=function(t,n,e,r,o,a){if(null==o)return null;const i=new Float32Array(o.length);return(0,A.KM)(o,i,a),(0,A.Mv)(i,t,n,e,r,i)?i:((0,A.CN)(M(),r,n),null)}(s,t,l,i,n.tangent,C);if(n.tangent&&!p)return null;if(o){const t=(0,c.v)(N,o);(0,m.a)(s,s,t)}return{position:s,normal:f,tangent:p}}(t,t.vertexSpace,n.origin,e);case"georeferenced":return"local"===n.type?function({vertexAttributes:t,spatialReference:n,transform:e},{origin:r},o,a){const l=b(n,a);if(!(0,g.l)(n,o,C,l))return(0,A.CN)(M(),n,l),null;const s=1/S(n,a,O.TARGET);(0,u.hs)(C,C,[s,s,s]);const c=(0,u.B8)(E,C),{position:f,normal:p,tangent:d}=function(t,n,e){if(!n)return t;if(!e){const{position:e,normal:r,tangent:o}=t;return{position:(0,m.a)(new Float64Array(e.length),e,n),tangent:o,normal:r}}const r=w(t,e.localMatrix);return(0,m.a)(r.position,r.position,n),r}(t,r,e),h=new Float64Array(f.length),y=function(t,n,e,r,o){const a=(0,A.gr)(t,n,r,o);if(!a)return(0,A.CN)(M(),n,o),null;const i=new Float64Array(a.length);return(0,m.t)(i,a,e),i}(f,n,c,h,l);if(!y)return null;const T=(0,i.Ge)(F,c),v=function(t,n,e,r,o,a,i){if(null==t)return null;const l=i??new Float32Array(t.length);return(0,A.X4)(t,n,e,r,o,l)?((0,m.b)(l,l,a),l):((0,A.CN)(M(),e,o),null)}(p,f,n,h,l,T,p!==t.normal?p:void 0);if(!v&&p)return null;const B=function(t,n,e,r,o,a,i){if(null==t)return null;const l=i??new Float32Array(t.length);return(0,A.xA)(t,n,e,r,o,l)?((0,m.b)(l,l,a,4),l):((0,A.CN)(M(),e,o),null)}(d,f,n,h,l,T,d!==t.tangent?d:void 0);return!B&&d?null:{position:y,normal:v,tangent:B}}(t,t.vertexSpace,n.origin,e):function({vertexAttributes:t,transform:n,spatialReference:e},{origin:r},o,a){const i=S(e,a,O.SOURCE_AND_TARGET),l=r||!R(i)?(0,u.C)(C,n?.localMatrix??s.zK):null;l&&B(l,e,a,O.SOURCE_AND_TARGET);const{position:f,normal:p,tangent:g}=l?w(t,l):t,d=a?.allowBufferReuse,h=d?f:new Float64Array(f.length);let y=f;if(r&&(y=(0,m.a)(h,y,r)),o){const t=(0,c.v)(N,o);y=(0,m.a)(h,y,t)}return{position:y!==t.position||d?y:y.slice(),normal:p!==t.normal||d?p:p?.slice(),tangent:g!==t.tangent||d?g:g?.slice()}}(t,t.vertexSpace,n.origin,e)}}function b(t,n){return n?.useEllipsoid&&(0,y.B3)(t)?p.Y0:(0,p.lO)(t)}function w(t,n){const e=new Float64Array(t.position.length);(0,m.t)(e,t.position,n);const r=t.normal?new Float32Array(t.normal.length):null,o=t.tangent?new Float32Array(t.tangent.length):null;return r&&t.normal&&(0,A.qs)(t.normal,r,n),o&&t.tangent&&(0,A.KM)(t.tangent,o,n),{position:e,normal:r,tangent:o}}function B(t,n,e,r){const o=S(n,e,r);R(o)||(0,u.hs)(t,t,[o,o,o])}function S(t,n,e){const r=!!(e&O.SOURCE),o=!!(e&O.TARGET),a=n?.sourceUnit,i=n?.targetUnit;if(!a&&!i)return 1;let l=_(a,t);r||!a||R(l)||(M().warn("source unit conversion not supported"),l=1);let u=1/_(i,t);return o||!i||R(u)||(M().warn("target unit conversion not supported"),u=1),l*u}function R(t){return(0,o.Io)(t,1)}function _(t,n){if(null==t)return 1;const e=(0,a.KX)(n);return 1/(0,a.oU)(e,"meters",t)}const C=(0,s.vt)(),E=(0,s.vt)(),F=(0,l.vt)(),N=(0,f.vt)(),x=(0,s.vt)();var O,P;(P=O||(O={}))[P.NONE=0]="NONE",P[P.SOURCE=1]="SOURCE",P[P.TARGET=2]="TARGET",P[P.SOURCE_AND_TARGET=3]="SOURCE_AND_TARGET"},73354:(t,n,e)=>{e.d(n,{a:()=>f,b:()=>l,c:()=>i,d:()=>o,e:()=>p,f:()=>c,l:()=>s,n:()=>g,t:()=>a});var r=e(40876);function o(t,n,e){a(t.typedBuffer,n.typedBuffer,e,t.typedBufferStride,n.typedBufferStride)}function a(t,n,e,r=3,o=r){if(t.length/r!==Math.ceil(n.length/o))return t;const a=t.length/r,i=e[0],l=e[1],u=e[2],s=e[4],c=e[5],f=e[6],p=e[8],g=e[9],d=e[10],h=e[12],y=e[13],m=e[14];let A=0,M=0;for(let e=0;e<a;e++){const e=n[A],a=n[A+1],T=n[A+2];t[M]=i*e+s*a+p*T+h,t[M+1]=l*e+c*a+g*T+y,t[M+2]=u*e+f*a+d*T+m,A+=o,M+=r}return t}function i(t,n,e){l(t.typedBuffer,n.typedBuffer,e,t.typedBufferStride,n.typedBufferStride)}function l(t,n,e,r=3,o=r){if(t.length/r!==Math.ceil(n.length/o))return;const a=t.length/r,i=e[0],l=e[1],u=e[2],s=e[3],c=e[4],f=e[5],p=e[6],g=e[7],d=e[8];let h=0,y=0;for(let e=0;e<a;e++){const e=n[h],a=n[h+1],m=n[h+2];t[y]=i*e+s*a+p*m,t[y+1]=l*e+c*a+g*m,t[y+2]=u*e+f*a+d*m,h+=o,y+=r}}function u(t,n,e,r=3,o=r){const a=Math.min(t.length/r,n.length/o);let i=0,l=0;for(let u=0;u<a;u++)t[l]=e*n[i],t[l+1]=e*n[i+1],t[l+2]=e*n[i+2],i+=o,l+=r;return t}function s(t,n,e,r){c(t.typedBuffer,n.typedBuffer,e,r,t.typedBufferStride,n.typedBufferStride)}function c(t,n,e,o,a=3,i=a){const l=Math.min(t.length/a,n.length/i);let u=0,s=0;const c=1/r.Tf;for(let r=0;r<l;r++)t[s]=o*(e*n[u])**c,t[s+1]=o*(e*n[u+1])**c,t[s+2]=o*(e*n[u+2])**c,u+=i,s+=a}function f(t,n,e,r=3,o=r){const a=t.length/r;if(a!==Math.ceil(n.length/o))return t;let i=0,l=0;for(let u=0;u<a;u++)t[l]=n[i]+e[0],t[l+1]=n[i+1]+e[1],t[l+2]=n[i+2]+e[2],i+=o,l+=r;return t}function p(t,n){g(t.typedBuffer,n.typedBuffer,t.typedBufferStride,n.typedBufferStride)}function g(t,n,e=3,r=e){const o=Math.min(t.length/e,n.length/r);let a=0,i=0;for(let l=0;l<o;l++){const o=n[a],l=n[a+1],u=n[a+2],s=o*o+l*l+u*u;if(s>0){const n=1/Math.sqrt(s);t[i]=n*o,t[i+1]=n*l,t[i+2]=n*u}a+=r,i+=e}}e(44208),e(53966),Object.freeze(Object.defineProperty({__proto__:null,linearToSRGB:c,linearToSRGBView:s,normalize:g,normalizeView:p,scale:u,scaleView:function(t,n,e){u(t.typedBuffer,n.typedBuffer,e,t.typedBufferStride,n.typedBufferStride)},shiftRight:function(t,n,e){const r=Math.min(t.count,n.count),o=t.typedBuffer,a=t.typedBufferStride,i=n.typedBuffer,l=n.typedBufferStride;let u=0,s=0;for(let t=0;t<r;t++)o[s]=i[u]>>e,o[s+1]=i[u+1]>>e,o[s+2]=i[u+2]>>e,u+=l,s+=a},transformMat3:l,transformMat3View:i,transformMat4:a,transformMat4View:o,translate:f},Symbol.toStringTag,{value:"Module"}))},77690:(t,n,e)=>{e.d(n,{B8:()=>l,Ge:()=>p,I0:()=>f,KC:()=>u,hZ:()=>a,hs:()=>c,lw:()=>s,mg:()=>i,z0:()=>o});var r=e(34304);function o(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[4],t[4]=n[5],t[5]=n[6],t[6]=n[8],t[7]=n[9],t[8]=n[10],t}function a(t,n,e,r,o,a,i,l,u,s){return t[0]=n,t[1]=e,t[2]=r,t[3]=o,t[4]=a,t[5]=i,t[6]=l,t[7]=u,t[8]=s,t}function i(t,n){if(t===n){const e=n[1],r=n[2],o=n[5];t[1]=n[3],t[2]=n[6],t[3]=e,t[5]=n[7],t[6]=r,t[7]=o}else t[0]=n[0],t[1]=n[3],t[2]=n[6],t[3]=n[1],t[4]=n[4],t[5]=n[7],t[6]=n[2],t[7]=n[5],t[8]=n[8];return t}function l(t,n){const e=n[0],r=n[1],o=n[2],a=n[3],i=n[4],l=n[5],u=n[6],s=n[7],c=n[8],f=c*i-l*s,p=-c*a+l*u,g=s*a-i*u;let d=e*f+r*p+o*g;return d?(d=1/d,t[0]=f*d,t[1]=(-c*r+o*s)*d,t[2]=(l*r-o*i)*d,t[3]=p*d,t[4]=(c*e-o*u)*d,t[5]=(-l*e+o*a)*d,t[6]=g*d,t[7]=(-s*e+r*u)*d,t[8]=(i*e-r*a)*d,t):null}function u(t,n){const e=n[0],r=n[1],o=n[2],a=n[3],i=n[4],l=n[5],u=n[6],s=n[7],c=n[8];return t[0]=i*c-l*s,t[1]=o*s-r*c,t[2]=r*l-o*i,t[3]=l*u-a*c,t[4]=e*c-o*u,t[5]=o*a-e*l,t[6]=a*s-i*u,t[7]=r*u-e*s,t[8]=e*i-r*a,t}function s(t,n,e){const r=n[0],o=n[1],a=n[2],i=n[3],l=n[4],u=n[5],s=n[6],c=n[7],f=n[8],p=e[0],g=e[1],d=e[2],h=e[3],y=e[4],m=e[5],A=e[6],M=e[7],T=e[8];return t[0]=p*r+g*i+d*s,t[1]=p*o+g*l+d*c,t[2]=p*a+g*u+d*f,t[3]=h*r+y*i+m*s,t[4]=h*o+y*l+m*c,t[5]=h*a+y*u+m*f,t[6]=A*r+M*i+T*s,t[7]=A*o+M*l+T*c,t[8]=A*a+M*u+T*f,t}function c(t,n,e){const r=e[0],o=e[1],a=e[2];return t[0]=r*n[0],t[1]=r*n[1],t[2]=r*n[2],t[3]=o*n[3],t[4]=o*n[4],t[5]=o*n[5],t[6]=a*n[6],t[7]=a*n[7],t[8]=a*n[8],t}function f(t,n){const e=n[0],r=n[1],o=n[2],a=n[3],i=e+e,l=r+r,u=o+o,s=e*i,c=r*i,f=r*l,p=o*i,g=o*l,d=o*u,h=a*i,y=a*l,m=a*u;return t[0]=1-f-d,t[3]=c-m,t[6]=p+y,t[1]=c+m,t[4]=1-s-d,t[7]=g-h,t[2]=p-y,t[5]=g+h,t[8]=1-s-f,t}function p(t,n){const e=n[0],r=n[1],o=n[2],a=n[3],i=n[4],l=n[5],u=n[6],s=n[7],c=n[8],f=n[9],p=n[10],g=n[11],d=n[12],h=n[13],y=n[14],m=n[15],A=e*l-r*i,M=e*u-o*i,T=e*s-a*i,v=r*u-o*l,b=r*s-a*l,w=o*s-a*u,B=c*h-f*d,S=c*y-p*d,R=c*m-g*d,_=f*y-p*h,C=f*m-g*h,E=p*m-g*y;let F=A*E-M*C+T*_+v*R-b*S+w*B;return F?(F=1/F,t[0]=(l*E-u*C+s*_)*F,t[1]=(u*R-i*E-s*S)*F,t[2]=(i*C-l*R+s*B)*F,t[3]=(o*C-r*E-a*_)*F,t[4]=(e*E-o*R+a*S)*F,t[5]=(r*R-e*C-a*B)*F,t[6]=(h*w-y*b+m*v)*F,t[7]=(y*T-d*w-m*M)*F,t[8]=(d*b-h*T+m*A)*F,t):null}function g(t,n,e){return t[0]=n[0]-e[0],t[1]=n[1]-e[1],t[2]=n[2]-e[2],t[3]=n[3]-e[3],t[4]=n[4]-e[4],t[5]=n[5]-e[5],t[6]=n[6]-e[6],t[7]=n[7]-e[7],t[8]=n[8]-e[8],t}const d=s,h=g;Object.freeze(Object.defineProperty({__proto__:null,add:function(t,n,e){return t[0]=n[0]+e[0],t[1]=n[1]+e[1],t[2]=n[2]+e[2],t[3]=n[3]+e[3],t[4]=n[4]+e[4],t[5]=n[5]+e[5],t[6]=n[6]+e[6],t[7]=n[7]+e[7],t[8]=n[8]+e[8],t},adjoint:u,copy:function(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],t},determinant:function(t){const n=t[0],e=t[1],r=t[2],o=t[3],a=t[4],i=t[5],l=t[6],u=t[7],s=t[8];return n*(s*a-i*u)+e*(-s*o+i*l)+r*(u*o-a*l)},equals:function(t,n){const e=t[0],o=t[1],a=t[2],i=t[3],l=t[4],u=t[5],s=t[6],c=t[7],f=t[8],p=n[0],g=n[1],d=n[2],h=n[3],y=n[4],m=n[5],A=n[6],M=n[7],T=n[8],v=(0,r.FD)();return Math.abs(e-p)<=v*Math.max(1,Math.abs(e),Math.abs(p))&&Math.abs(o-g)<=v*Math.max(1,Math.abs(o),Math.abs(g))&&Math.abs(a-d)<=v*Math.max(1,Math.abs(a),Math.abs(d))&&Math.abs(i-h)<=v*Math.max(1,Math.abs(i),Math.abs(h))&&Math.abs(l-y)<=v*Math.max(1,Math.abs(l),Math.abs(y))&&Math.abs(u-m)<=v*Math.max(1,Math.abs(u),Math.abs(m))&&Math.abs(s-A)<=v*Math.max(1,Math.abs(s),Math.abs(A))&&Math.abs(c-M)<=v*Math.max(1,Math.abs(c),Math.abs(M))&&Math.abs(f-T)<=v*Math.max(1,Math.abs(f),Math.abs(T))},exactEquals:function(t,n){return t[0]===n[0]&&t[1]===n[1]&&t[2]===n[2]&&t[3]===n[3]&&t[4]===n[4]&&t[5]===n[5]&&t[6]===n[6]&&t[7]===n[7]&&t[8]===n[8]},frob:function(t){return Math.sqrt(t[0]**2+t[1]**2+t[2]**2+t[3]**2+t[4]**2+t[5]**2+t[6]**2+t[7]**2+t[8]**2)},fromMat2d:function(t,n){return t[0]=n[0],t[1]=n[1],t[2]=0,t[3]=n[2],t[4]=n[3],t[5]=0,t[6]=n[4],t[7]=n[5],t[8]=1,t},fromMat4:o,fromQuat:f,fromRotation:function(t,n){const e=Math.sin(n),r=Math.cos(n);return t[0]=r,t[1]=e,t[2]=0,t[3]=-e,t[4]=r,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},fromScaling:function(t,n){return t[0]=n[0],t[1]=0,t[2]=0,t[3]=0,t[4]=n[1],t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},fromTranslation:function(t,n){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=n[0],t[7]=n[1],t[8]=1,t},identity:function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},invert:l,isOrthoNormal:function(t){const n=(0,r.FD)(),e=t[0],o=t[1],a=t[2],i=t[3],l=t[4],u=t[5],s=t[6],c=t[7],f=t[8];return Math.abs(1-(e*e+i*i+s*s))<=n&&Math.abs(1-(o*o+l*l+c*c))<=n&&Math.abs(1-(a*a+u*u+f*f))<=n},mul:d,multiply:s,multiplyScalar:function(t,n,e){return t[0]=n[0]*e,t[1]=n[1]*e,t[2]=n[2]*e,t[3]=n[3]*e,t[4]=n[4]*e,t[5]=n[5]*e,t[6]=n[6]*e,t[7]=n[7]*e,t[8]=n[8]*e,t},multiplyScalarAndAdd:function(t,n,e,r){return t[0]=n[0]+e[0]*r,t[1]=n[1]+e[1]*r,t[2]=n[2]+e[2]*r,t[3]=n[3]+e[3]*r,t[4]=n[4]+e[4]*r,t[5]=n[5]+e[5]*r,t[6]=n[6]+e[6]*r,t[7]=n[7]+e[7]*r,t[8]=n[8]+e[8]*r,t},normalFromMat4:p,normalFromMat4Legacy:function(t,n){const e=n[0],r=n[1],o=n[2],a=n[4],i=n[5],l=n[6],u=n[8],s=n[9],c=n[10],f=c*i-l*s,p=-c*a+l*u,g=s*a-i*u,d=e*f+r*p+o*g;if(!d)return null;const h=1/d;return t[0]=f*h,t[1]=(-c*r+o*s)*h,t[2]=(l*r-o*i)*h,t[3]=p*h,t[4]=(c*e-o*u)*h,t[5]=(-l*e+o*a)*h,t[6]=g*h,t[7]=(-s*e+r*u)*h,t[8]=(i*e-r*a)*h,t},projection:function(t,n,e){return t[0]=2/n,t[1]=0,t[2]=0,t[3]=0,t[4]=-2/e,t[5]=0,t[6]=-1,t[7]=1,t[8]=1,t},rotate:function(t,n,e){const r=n[0],o=n[1],a=n[2],i=n[3],l=n[4],u=n[5],s=n[6],c=n[7],f=n[8],p=Math.sin(e),g=Math.cos(e);return t[0]=g*r+p*i,t[1]=g*o+p*l,t[2]=g*a+p*u,t[3]=g*i-p*r,t[4]=g*l-p*o,t[5]=g*u-p*a,t[6]=s,t[7]=c,t[8]=f,t},scale:c,scaleByVec2:function(t,n,e){const r=e[0],o=e[1];return t[0]=r*n[0],t[1]=r*n[1],t[2]=r*n[2],t[3]=o*n[3],t[4]=o*n[4],t[5]=o*n[5],t},set:a,str:function(t){return"mat3("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+", "+t[8]+")"},sub:h,subtract:g,translate:function(t,n,e){const r=n[0],o=n[1],a=n[2],i=n[3],l=n[4],u=n[5],s=n[6],c=n[7],f=n[8],p=e[0],g=e[1];return t[0]=r,t[1]=o,t[2]=a,t[3]=i,t[4]=l,t[5]=u,t[6]=p*r+g*i+s,t[7]=p*o+g*l+c,t[8]=p*a+g*u+f,t},transpose:i},Symbol.toStringTag,{value:"Module"}))},98764:(t,n,e)=>{e.d(n,{Y0:()=>s,lO:()=>c});var r=e(73941),o=e(16930),a=e(21325);const i=new o.A(r.fv),l=new o.A(r.FY),u=new o.A(r.LJ),s=new o.A(r.Ro);function c(t){const n=f.get(t);if(n)return n;let e=i;if(t)if(t===l)e=l;else if(t===u)e=u;else{const n=t.wkid,r=t.latestWkid;if(null!=n||null!=r)(0,a.tl)(n)||(0,a.tl)(r)?e=l:((0,a.ZL)(n)||(0,a.ZL)(r))&&(e=u);else{const n=t.wkt2??t.wkt;if(n){const t=n.toUpperCase();t===p?e=l:t===g&&(e=u)}}}return f.set(t,e),e}const f=new Map,p=l.wkt.toUpperCase(),g=u.wkt.toUpperCase()}}]);
@@ -2,14 +2,14 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{earth as e,mars as o,moon as r}from"../geometry/support/Ellipsoid.js";import{OverlayContent as a}from"../views/3d/terrain/OverlayContent.js";import{IntegratedMeshMode as i}from"../views/3d/webgl-engine/collections/Component/Material/ComponentTechniqueConfiguration.js";import{ComponentData as t,ComponentDataType as l}from"../views/3d/webgl-engine/collections/Component/Material/shader/ComponentData.glsl.js";import{VertexDiscardMode as n}from"../views/3d/webgl-engine/collections/Component/Material/shader/VertexDiscardMode.js";import{ForwardLinearDepth as d}from"../views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepth.glsl.js";import{ShaderOutput as s,isColorOrColorEmission as g}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SlicePass as m}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{TextureCoordinateAttribute as c}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js";import{VertexColor as v}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js";import{VertexNormal as u}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexNormal.glsl.js";import{VertexPosition as h}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexPosition.glsl.js";import{OutputDepth as w}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js";import{OutputHighlight as p}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{computeFragmentNormals as b}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeFragmentNormals.glsl.js";import{ComputeMaterialColor as C}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeMaterialColor.glsl.js";import{ComputeNormalTexture as f}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeNormalTexture.glsl.js";import{EvaluateSceneLighting as y,addLightingGlobalFactor as x}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{addMainLightIntensity as L}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{PBRMode as j,PhysicallyBasedRenderingParameters as O}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{ReadBaseColorTexture as S}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadBaseColorTexture.glsl.js";import{ReadShadowMapPass as M}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js";import{terrainDepthTest as N}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import{OverlayIM as T,getIMColorTexture as $}from"../views/3d/webgl-engine/core/shaderLibrary/terrain/Overlay.glsl.js";import{DiscardOrAdjustAlphaDraw as A}from"../views/3d/webgl-engine/core/shaderLibrary/util/DiscardOrAdjustAlpha.glsl.js";import{EllipsoidMode as W}from"../views/3d/webgl-engine/core/shaderLibrary/util/EllipsoidMode.js";import{If as D,glsl as P}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DBindUniform as B}from"../views/3d/webgl-engine/core/shaderModules/Texture2DBindUniform.js";import{Texture2DPassUniform as R}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{outputColorHighlightOID as z}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOID.glsl.js";import{ShaderBuilder as E}from"../views/webgl/ShaderBuilder.js";import{alphaCutoff as I}from"../webscene/support/AlphaCutoff.js";function V(V){const F=new E,{vertex:H,fragment:_}=F;F.include(h,V),F.include(u,V),F.include(v,V),F.include(c,V),F.include(d,V),F.include(t,V),F.include(A,V),_.include(m,V),F.include(S,V),F.include(N,V);const{output:G,pbrMode:k,hasNormalTexture:q,snowCover:U,receiveShadows:J,spherical:K,ellipsoidMode:Q,componentData:X,vertexDiscardMode:Y}=V,Z=k===j.Normal||k===j.Schematic;Z&&(F.include(O,V),q&&F.include(f,V));const ee=G===s.Shadow||G===s.ShadowHighlight||G===s.ShadowExcludeHighlight,oe=ee&&X===l.Varying,re=V.integratedMeshMode===i.ColorOverlay||V.integratedMeshMode===i.ColorOverlayWithWater;if(re){F.include(y,V),F.include(T,V);const a=Q===W.Earth,i=Q===W.Earth,t=a?e.radius:i?o.radius:r.radius;H.code.add(`\n ${D(K,`const float invRadius = ${P.float(1/t)};`)}\n vec2 projectOverlay(vec3 pos) { return pos.xy ${D(K,"/ (1.0 + invRadius * pos.z);")}; }`)}const ae=re&&g(G)&&k===j.WaterOnIntegratedMesh;ae&&(F.varyings.add("tbnTangent","vec3"),F.varyings.add("tbnBiTangent","vec3"),F.varyings.add("groundNormal","vec3"));const ie=Y===n.None,te=Y===n.Opaque,le=1-1/255;if(H.main.add(P`
5
+ import{earth as e,mars as o,moon as r}from"../geometry/support/Ellipsoid.js";import{OverlayContent as a}from"../views/3d/terrain/OverlayContent.js";import{ComponentData as i,ComponentDataType as l}from"../views/3d/webgl-engine/collections/Component/Material/shader/ComponentData.glsl.js";import{VertexDiscardMode as t}from"../views/3d/webgl-engine/collections/Component/Material/shader/VertexDiscardMode.js";import{ForwardLinearDepth as n}from"../views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepth.glsl.js";import{ShaderOutput as d,isColorOrColorEmission as s}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SlicePass as g}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{TextureCoordinateAttribute as m}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js";import{VertexColor as c}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js";import{VertexNormal as v}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexNormal.glsl.js";import{VertexPosition as u}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexPosition.glsl.js";import{OutputDepth as h}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js";import{OutputHighlight as w}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{OutputHighlightOverlay as p}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlightOverlay.js";import{computeFragmentNormals as b}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeFragmentNormals.glsl.js";import{ComputeMaterialColor as C}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeMaterialColor.glsl.js";import{ComputeNormalTexture as f}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeNormalTexture.glsl.js";import{EvaluateSceneLighting as y,addLightingGlobalFactor as x}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{addMainLightIntensity as L}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{PBRMode as j,PhysicallyBasedRenderingParameters as O}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{ReadBaseColorTexture as S}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadBaseColorTexture.glsl.js";import{ReadShadowMapPass as N}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js";import{terrainDepthTest as T}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import{OverlayIM as M,getIMColorTexture as $}from"../views/3d/webgl-engine/core/shaderLibrary/terrain/Overlay.glsl.js";import{DiscardOrAdjustAlphaDraw as A}from"../views/3d/webgl-engine/core/shaderLibrary/util/DiscardOrAdjustAlpha.glsl.js";import{EllipsoidMode as D}from"../views/3d/webgl-engine/core/shaderLibrary/util/EllipsoidMode.js";import{If as W,glsl as P}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DBindUniform as B}from"../views/3d/webgl-engine/core/shaderModules/Texture2DBindUniform.js";import{Texture2DPassUniform as R}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{outputColorHighlightOID as z}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOID.glsl.js";import{ShaderBuilder as E}from"../views/webgl/ShaderBuilder.js";import{alphaCutoff as I}from"../webscene/support/AlphaCutoff.js";function V(V){const F=new E,{vertex:H,fragment:_}=F;F.include(u,V),F.include(v,V),F.include(c,V),F.include(m,V),F.include(n,V),F.include(i,V),F.include(A,V),_.include(g,V),F.include(S,V),F.include(T,V);const{output:G,pbrMode:k,hasNormalTexture:U,snowCover:q,receiveShadows:J,spherical:K,ellipsoidMode:Q,overlayEnabled:X,componentData:Y,vertexDiscardMode:Z}=V,ee=k===j.Normal||k===j.Schematic;ee&&(F.include(O,V),U&&F.include(f,V));const oe=G===d.Shadow||G===d.ShadowHighlight||G===d.ShadowExcludeHighlight,re=oe&&Y===l.Varying;if(X){F.include(y,V),F.include(M,V);const a=Q===D.Earth,i=Q===D.Earth,l=a?e.radius:i?o.radius:r.radius;H.code.add(`\n ${W(K,`const float invRadius = ${P.float(1/l)};`)}\n vec2 projectOverlay(vec3 pos) { return pos.xy ${W(K,"/ (1.0 + invRadius * pos.z);")}; }`)}const ae=X&&s(G)&&k===j.WaterOnIntegratedMesh;ae&&(F.varyings.add("tbnTangent","vec3"),F.varyings.add("tbnBiTangent","vec3"),F.varyings.add("groundNormal","vec3"));const ie=Z===t.None,le=Z===t.Opaque,te=1-1/255;if(H.main.add(P`
6
6
  bool castShadows;
7
7
  vec4 externalColor = forwardExternalColor(castShadows);
8
- ${D(oe,"if(!castShadows) { gl_Position = vec4(vec3(1e38), 1.0); return; }")}
8
+ ${W(re,"if(!castShadows) { gl_Position = vec4(vec3(1e38), 1.0); return; }")}
9
9
 
10
- ${D(!ie,`{ if (externalColor.a ${te?">":"<="} ${P.float(le)}) { gl_Position = vec4(vec3(1e38), 1.0); return; } }`)}
10
+ ${W(!ie,`{ if (externalColor.a ${le?">":"<="} ${P.float(te)}) { gl_Position = vec4(vec3(1e38), 1.0); return; } }`)}
11
11
 
12
- ${D(G===s.ObjectAndLayerIdColor,"externalColor.a = 1.0;")}
12
+ ${W(G===d.ObjectAndLayerIdColor,"externalColor.a = 1.0;")}
13
13
 
14
14
  forwardPosition(readElevationOffset());
15
15
  forwardViewPosDepth(vPosition_view);
@@ -18,24 +18,24 @@ import{earth as e,mars as o,moon as r}from"../geometry/support/Ellipsoid.js";imp
18
18
  forwardVertexColor();
19
19
  forwardLinearDepth();
20
20
  forwardObjectAndLayerIdColor();
21
- ${D(ae,K?P`
21
+ ${W(ae,K?P`
22
22
  groundNormal = normalize(positionWorld());
23
23
  tbnTangent = normalize(cross(vec3(0.0, 0.0, 1.0), groundNormal));
24
24
  tbnBiTangent = normalize(cross(groundNormal, tbnTangent));`:P`
25
25
  groundNormal = vec3(0.0, 0.0, 1.0);
26
26
  tbnTangent = vec3(1.0, 0.0, 0.0);
27
27
  tbnBiTangent = vec3(0.0, 1.0, 0.0);`)}
28
- ${D(re,"setOverlayVTC(projectOverlay(position));")}
28
+ ${W(X,"setOverlayVTC(projectOverlay(position));")}
29
29
 
30
30
  if (externalColor.a < ${P.float(I)}) {
31
31
  // Discard this vertex
32
32
  gl_Position = vec4(1e38, 1e38, 1e38, 1.0);
33
33
  return;
34
34
  }
35
- `),g(G))return F.include(C,V),F.include(b,V),F.include(y,V),F.include(z,V),J&&F.include(M,V),_.code.add(P`
35
+ `),s(G))return F.include(C,V),F.include(b,V),F.include(y,V),F.include(z,V),J&&F.include(N,V),_.code.add(P`
36
36
  float evaluateShadow() {
37
37
  return ${J?"readShadowMap(vPositionWorldCameraRelative, linearDepth)":"0.0"};
38
- }`),re&&_.uniforms.add(new R("ovColorTex",((e,o)=>$(e,o)))),_.main.add(P`
38
+ }`),X&&_.uniforms.add(new R("ovColorTex",((e,o)=>$(e,o)))),_.main.add(P`
39
39
  discardBySlice(vPositionWorldCameraRelative);
40
40
  discardByTerrainDepth();
41
41
 
@@ -47,45 +47,45 @@ import{earth as e,mars as o,moon as r}from"../geometry/support/Ellipsoid.js";imp
47
47
  readExternalColor(externalColor, externalColorMixMode);
48
48
 
49
49
  vec4 materialColor = computeMaterialColor(textureColor, externalColor, externalColorMixMode);
50
- ${D(re,P`vec4 overlayColor = getOverlayColor(ovColorTex, vtcOverlay);`)}
51
- `),Z?(L(_),K&&x(_),_.main.add(P`
50
+ ${W(X,P`vec4 overlayColor = getOverlayColor(ovColorTex, vtcOverlay);`)}
51
+ `),ee?(L(_),K&&x(_),_.main.add(P`
52
52
  applyPBRFactors();
53
- ${D(k===j.Normal,P`if (externalColorMixMode == 3) {
53
+ ${W(k===j.Normal,P`if (externalColorMixMode == 3) {
54
54
  mrr = vec3(0.0, 0.6, 0.2);
55
55
  }`)}
56
56
  float additionalIrradiance = 0.02 * mainLightIntensity[2];
57
- ${D(q,"mat3 tangentSpace = computeTangentSpace(fragmentShadingNormal, vPositionWorldCameraRelative, vuv0);")}
58
- vec3 shadingNormal = ${q?"computeTextureNormal(tangentSpace, vuv0)":"fragmentShadingNormal"};
57
+ ${W(U,"mat3 tangentSpace = computeTangentSpace(fragmentShadingNormal, vPositionWorldCameraRelative, vuv0);")}
58
+ vec3 shadingNormal = ${U?"computeTextureNormal(tangentSpace, vuv0)":"fragmentShadingNormal"};
59
59
  vec3 normalGround = ${K?P`normalize(positionWorld())`:P`vec3(0.0, 0.0, 1.0)`};
60
60
 
61
61
  vec3 viewDir = normalize(vPositionWorldCameraRelative);
62
62
  float ssao = 1.0 - occlusion * evaluateAmbientOcclusionInverse();
63
- ${D(U,P`float snow = smoothstep(0.5, 0.55, dot(fragmentFaceNormal, normalize(positionWorld())));
63
+ ${W(q,P`float snow = smoothstep(0.5, 0.55, dot(fragmentFaceNormal, normalize(positionWorld())));
64
64
  materialColor.rgb = mix(materialColor.rgb, vec3(1.1), snow);
65
65
  ssao = mix(ssao, 0.5 * ssao, snow);
66
66
  shadingNormal = mix(shadingNormal, fragmentFaceNormal, snow);`)}
67
- ${D(re,"materialColor = materialColor * (1.0 - overlayColor.a) + overlayColor;")}
67
+ ${W(X,"materialColor = materialColor * (1.0 - overlayColor.a) + overlayColor;")}
68
68
 
69
69
  vec3 additionalLight = evaluateAdditionalLighting(ssao, positionWorld());
70
70
  vec4 emission = getEmissions();
71
- ${D(K,"float additionalAmbientScale = additionalDirectedAmbientLight(positionWorld());")}
71
+ ${W(K,"float additionalAmbientScale = additionalDirectedAmbientLight(positionWorld());")}
72
72
  ${K?P`float shadow = max(lightingGlobalFactor * (1.0 - additionalAmbientScale), evaluateShadow());`:"float shadow = evaluateShadow();"}
73
73
  vec4 shadedColor = vec4(evaluateSceneLightingPBR(shadingNormal, materialColor.rgb, shadow, ssao, additionalLight, viewDir, normalGround, mrr, emission, additionalIrradiance), materialColor.a);
74
74
  `)):(K&&x(_),ae&&_.uniforms.add(new B("ovNormalTex",(e=>e.overlay?.getTexture(a.WaterNormal)))),_.main.add(P`
75
- ${D(K,"float additionalAmbientScale = additionalDirectedAmbientLight(positionWorld());")}
75
+ ${W(K,"float additionalAmbientScale = additionalDirectedAmbientLight(positionWorld());")}
76
76
  float shadow = ${J?K?"max(lightingGlobalFactor * (1.0 - additionalAmbientScale), evaluateShadow())":"evaluateShadow()":K?"lightingGlobalFactor * (1.0 - additionalAmbientScale)":"0.0"};
77
77
 
78
- ${D(U,P`float snow = smoothstep(0.5, 0.55, dot(fragmentFaceNormal, normalize(positionWorld())));
78
+ ${W(q,P`float snow = smoothstep(0.5, 0.55, dot(fragmentFaceNormal, normalize(positionWorld())));
79
79
  materialColor.rgb = mix(materialColor.rgb, vec3(1), snow);`)}
80
80
 
81
81
  // At global scale we create some additional ambient light based on the main light to simulate global illumination
82
82
  float ssao = evaluateAmbientOcclusion();
83
83
  vec3 additionalLight = evaluateAdditionalLighting(ssao, positionWorld());
84
84
 
85
- ${D(re,"materialColor = materialColor * (1.0 - overlayColor.a) + overlayColor;")}
85
+ ${W(X,"materialColor = materialColor * (1.0 - overlayColor.a) + overlayColor;")}
86
86
 
87
87
  vec4 shadedColor = vec4(evaluateSceneLighting(fragmentShadingNormal, materialColor.rgb, shadow, ssao, additionalLight), materialColor.a);
88
- ${D(ae,P`vec4 overlayWaterMask = getOverlayColor(ovNormalTex, vtcOverlay);
88
+ ${W(ae,P`vec4 overlayWaterMask = getOverlayColor(ovNormalTex, vtcOverlay);
89
89
  float waterNormalLength = length(overlayWaterMask);
90
90
  if (waterNormalLength > 0.95) {
91
91
  mat3 tbnMatrix = mat3(tbnTangent, tbnBiTangent, groundNormal);
@@ -94,13 +94,13 @@ import{earth as e,mars as o,moon as r}from"../geometry/support/Ellipsoid.js";imp
94
94
  // un-gamma the ground color to mix in linear space
95
95
  shadedColor = mix(shadedColor, waterColorNonLinear, waterColorLinear.w);
96
96
  }`)}
97
- `)),_.main.add("outputColorHighlightOID(shadedColor, vPositionWorldCameraRelative);"),F;const ne=G===s.Normal,de=G===s.ObjectAndLayerIdColor,se=G===s.Highlight,ge=ee||G===s.ViewshedShadow;return ge&&F.include(w,V),ne&&F.include(b,V),F.include(p,V),_.main.add(P`
97
+ `)),_.main.add("outputColorHighlightOID(shadedColor, vPositionWorldCameraRelative);"),F;const ne=G===d.Normal,de=G===d.ObjectAndLayerIdColor,se=G===d.Highlight,ge=oe||G===d.ViewshedShadow;return ge&&F.include(h,V),ne&&F.include(b,V),X&&F.include(p,V),F.include(w,V),_.main.add(P`
98
98
  discardBySlice(vPositionWorldCameraRelative);
99
99
 
100
100
  vec4 textureColor = readBaseColorTexture();
101
101
  discardOrAdjustAlpha(textureColor);
102
102
 
103
- ${D(ge,"outputDepth(linearDepth);")}
104
- ${D(ne,P`fragColor = vec4(vec3(0.5) + 0.5 * fragmentFaceNormalView, 1.0);`)}
105
- ${D(de,re?"fragColor = getOverlayColorTexel();":"outputObjectAndLayerIdColor();")}
106
- ${D(se,D(re,P`calculateOcclusionAndOutputHighlightOverlay(getAllOverlayHighlightValuesEncoded());`,P`calculateOcclusionAndOutputHighlight();`))}`),F}const F=Object.freeze(Object.defineProperty({__proto__:null,build:V},Symbol.toStringTag,{value:"Module"}));export{F as C,V as b};
103
+ ${W(ge,"outputDepth(linearDepth);")}
104
+ ${W(ne,P`fragColor = vec4(vec3(0.5) + 0.5 * fragmentFaceNormalView, 1.0);`)}
105
+ ${W(de,X?"fragColor = getOverlayColorTexel();":"outputObjectAndLayerIdColor();")}
106
+ ${W(se,W(X,P`calculateOcclusionAndOutputHighlight(getAllOverlayHighlightValuesEncoded());`,P`calculateOcclusionAndOutputHighlight();`))}`),F}const F=Object.freeze(Object.defineProperty({__proto__:null,build:V},Symbol.toStringTag,{value:"Module"}));export{F as C,V as b};
@@ -2,7 +2,7 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{set as e,copy as o}from"../core/libs/gl-matrix-2/math/vec2.js";import{create as i}from"../core/libs/gl-matrix-2/factories/vec2f64.js";import{ZEROS as r,fromValues as t}from"../core/libs/gl-matrix-2/factories/vec4f64.js";import{earth as l}from"../geometry/support/Ellipsoid.js";import{ShaderOutput as a}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{RejectBySlice as s}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{ObjectAndLayerIdColor as n}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/ObjectAndLayerIdColor.glsl.js";import{AlignPixel as c}from"../views/3d/webgl-engine/core/shaderLibrary/hud/AlignPixel.glsl.js";import{HUD as d}from"../views/3d/webgl-engine/core/shaderLibrary/hud/HUD.glsl.js";import{HUDOcclusionPass as u}from"../views/3d/webgl-engine/core/shaderLibrary/hud/HUDOcclusionPass.glsl.js";import{HUDVisibility as f}from"../views/3d/webgl-engine/core/shaderLibrary/hud/HUDVisibility.glsl.js";import{OutputHighlight as p}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{VisualVariables as m}from"../views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js";import{ColorConversion as g}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{RgbaFloatEncoding as v}from"../views/3d/webgl-engine/core/shaderLibrary/util/RgbaFloatEncoding.glsl.js";import{ScreenSizePerspective as b,addScreenSizePerspective as h,addScreenSizePerspectiveAlignment as x}from"../views/3d/webgl-engine/core/shaderLibrary/util/ScreenSizePerspective.glsl.js";import{addPixelRatio as w}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float2PassUniform as C}from"../views/3d/webgl-engine/core/shaderModules/Float2PassUniform.js";import{Float4BindUniform as P}from"../views/3d/webgl-engine/core/shaderModules/Float4BindUniform.js";import{Float4DrawUniform as z}from"../views/3d/webgl-engine/core/shaderModules/Float4DrawUniform.js";import{Float4PassUniform as S}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{FloatBindUniform as j}from"../views/3d/webgl-engine/core/shaderModules/FloatBindUniform.js";import{FloatPassUniform as y}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as A,If as O}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DBindUniform as $}from"../views/3d/webgl-engine/core/shaderModules/Texture2DBindUniform.js";import{Texture2DPassUniform as F}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{OITPass as T}from"../views/3d/webgl-engine/lib/OITPass.js";import{VertexAttribute as D}from"../views/3d/webgl-engine/lib/VertexAttribute.js";import{ShaderBuilder as E}from"../views/webgl/ShaderBuilder.js";import{alphaCutoff as L}from"../webscene/support/AlphaCutoff.js";const B={occludedFadeFactor:1};function U(o){const i=new E,{signedDistanceFieldEnabled:B,occlusionTestEnabled:U,horizonCullingEnabled:R,pixelSnappingEnabled:I,hasScreenSizePerspective:q,debugDrawLabelBorder:k,vvSize:G,vvColor:N,hasRotation:Z,occludedFragmentFade:J,sampleSignedDistanceFieldTexelCenter:K}=o;i.include(d,o),i.vertex.include(s,o);const{occlusionPass:Q,output:W,oitPass:X}=o;if(Q)return i.include(u,o),i;const{vertex:Y,fragment:ee}=i;i.include(b),i.include(m,o),i.include(n,o),i.include(f),ee.include(v),ee.include(g),i.varyings.add("vcolor","vec4"),i.varyings.add("vtc","vec2"),i.varyings.add("vsize","vec2");const oe=W===a.Highlight,ie=oe&&U;ie&&i.varyings.add("voccluded","float"),Y.uniforms.add(new P("viewport",(e=>e.camera.fullViewport)),new C("screenOffset",((o,i)=>e(V,2*o.screenOffset[0]*i.camera.pixelRatio,2*o.screenOffset[1]*i.camera.pixelRatio))),new C("anchorPosition",(e=>H(e))),new S("materialColor",(e=>e.color)),new y("materialRotation",(e=>e.rotation)),new F("tex",(e=>e.texture))),w(Y),B&&(Y.uniforms.add(new S("outlineColor",(e=>e.outlineColor))),ee.uniforms.add(new S("outlineColor",(e=>M(e)?e.outlineColor:r)),new y("outlineSize",(e=>M(e)?e.outlineSize:0)))),R&&Y.uniforms.add(new z("pointDistanceSphere",((e,o)=>{const i=o.camera.eye,r=e.origin;return t(r[0]-i[0],r[1]-i[1],r[2]-i[2],l.radius)}))),I&&Y.include(c),q&&(h(Y),x(Y)),k&&i.varyings.add("debugBorderCoords","vec4"),i.attributes.add(D.UVI,"vec2"),i.attributes.add(D.COLOR,"vec4"),i.attributes.add(D.SIZE,"vec2"),i.attributes.add(D.ROTATION,"float"),i.attributes.add(D.FEATUREATTRIBUTE,"vec4"),Y.code.add(R?A`bool behindHorizon(vec3 posModel) {
5
+ import{set as e,copy as o}from"../core/libs/gl-matrix-2/math/vec2.js";import{create as i}from"../core/libs/gl-matrix-2/factories/vec2f64.js";import{ZEROS as r,fromValues as t}from"../core/libs/gl-matrix-2/factories/vec4f64.js";import{earth as l}from"../geometry/support/Ellipsoid.js";import{ShaderOutput as a}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{RejectBySlice as s}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{ObjectAndLayerIdColor as n}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/ObjectAndLayerIdColor.glsl.js";import{AlignPixel as c}from"../views/3d/webgl-engine/core/shaderLibrary/hud/AlignPixel.glsl.js";import{HUD as d}from"../views/3d/webgl-engine/core/shaderLibrary/hud/HUD.glsl.js";import{HUDOcclusionPass as u}from"../views/3d/webgl-engine/core/shaderLibrary/hud/HUDOcclusionPass.glsl.js";import{HUDVisibility as f}from"../views/3d/webgl-engine/core/shaderLibrary/hud/HUDVisibility.glsl.js";import{OutputHighlight as p}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{VisualVariables as m}from"../views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js";import{ColorConversion as g}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{RgbaFloatEncoding as v}from"../views/3d/webgl-engine/core/shaderLibrary/util/RgbaFloatEncoding.glsl.js";import{ScreenSizePerspective as b,addScreenSizePerspective as h,addScreenSizePerspectiveAlignment as x}from"../views/3d/webgl-engine/core/shaderLibrary/util/ScreenSizePerspective.glsl.js";import{addPixelRatio as w}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float2PassUniform as C}from"../views/3d/webgl-engine/core/shaderModules/Float2PassUniform.js";import{Float4BindUniform as P}from"../views/3d/webgl-engine/core/shaderModules/Float4BindUniform.js";import{Float4DrawUniform as z}from"../views/3d/webgl-engine/core/shaderModules/Float4DrawUniform.js";import{Float4PassUniform as S}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{FloatBindUniform as j}from"../views/3d/webgl-engine/core/shaderModules/FloatBindUniform.js";import{FloatPassUniform as y}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as A,If as O}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DBindUniform as $}from"../views/3d/webgl-engine/core/shaderModules/Texture2DBindUniform.js";import{Texture2DPassUniform as F}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{OITPass as T}from"../views/3d/webgl-engine/lib/OITPass.js";import{VertexAttribute as D}from"../views/3d/webgl-engine/lib/VertexAttribute.js";import{ShaderBuilder as E}from"../views/webgl/ShaderBuilder.js";import{alphaCutoff as L}from"../webscene/support/AlphaCutoff.js";const B={occludedFadeFactor:1};function U(o){const i=new E,{signedDistanceFieldEnabled:B,occlusionTestEnabled:U,horizonCullingEnabled:R,pixelSnappingEnabled:I,hasScreenSizePerspective:q,debugDrawLabelBorder:k,vvSize:G,vvColor:N,hasRotation:Z,occludedFragmentFade:J,sampleSignedDistanceFieldTexelCenter:K}=o;i.include(d,o),i.vertex.include(s,o);const{occlusionPass:Q,output:W,oitPass:X}=o;if(Q)return i.include(u,o),i;const{vertex:Y,fragment:ee}=i;i.include(b),i.include(m,o),i.include(n,o),U&&i.include(f),ee.include(v),ee.include(g),i.varyings.add("vcolor","vec4"),i.varyings.add("vtc","vec2"),i.varyings.add("vsize","vec2");const oe=W===a.Highlight,ie=oe&&U;ie&&i.varyings.add("voccluded","float"),Y.uniforms.add(new P("viewport",(e=>e.camera.fullViewport)),new C("screenOffset",((o,i)=>e(V,2*o.screenOffset[0]*i.camera.pixelRatio,2*o.screenOffset[1]*i.camera.pixelRatio))),new C("anchorPosition",(e=>H(e))),new S("materialColor",(e=>e.color)),new y("materialRotation",(e=>e.rotation)),new F("tex",(e=>e.texture))),w(Y),B&&(Y.uniforms.add(new S("outlineColor",(e=>e.outlineColor))),ee.uniforms.add(new S("outlineColor",(e=>M(e)?e.outlineColor:r)),new y("outlineSize",(e=>M(e)?e.outlineSize:0)))),R&&Y.uniforms.add(new z("pointDistanceSphere",((e,o)=>{const i=o.camera.eye,r=e.origin;return t(r[0]-i[0],r[1]-i[1],r[2]-i[2],l.radius)}))),I&&Y.include(c),q&&(h(Y),x(Y)),k&&i.varyings.add("debugBorderCoords","vec4"),i.attributes.add(D.UVI,"vec2"),i.attributes.add(D.COLOR,"vec4"),i.attributes.add(D.SIZE,"vec2"),i.attributes.add(D.ROTATION,"float"),i.attributes.add(D.FEATUREATTRIBUTE,"vec4"),Y.code.add(R?A`bool behindHorizon(vec3 posModel) {
6
6
  vec3 camToEarthCenter = pointDistanceSphere.xyz - localOrigin;
7
7
  vec3 camToPos = pointDistanceSphere.xyz + posModel;
8
8
  float earthRadius = pointDistanceSphere.w;
@@ -88,7 +88,7 @@ posProj = alignToPixelOrigin(posProj, viewport.zw);
88
88
 
89
89
  ${O(k,A`debugBorderCoords = vec4(uv01, 1.5 / combinedSize);`)}
90
90
  vsize = inputSize;
91
- `),ee.uniforms.add(new F("tex",(e=>e.texture))),J&&(ee.uniforms.add(new $("depthMap",(e=>e.mainDepth))),ee.uniforms.add(new j("occludedOpacity",(e=>e.hudOccludedFragmentOpacity))));const le=k?A`(isBorder > 0.0 ? 0.0 : ${A.float(L)})`:A.float(L),ae=A`
91
+ `),ee.uniforms.add(new F("tex",(e=>e.texture))),J&&!oe&&ee.uniforms.add(new $("depthMap",(e=>e.mainDepth)),new j("occludedOpacity",(e=>e.hudOccludedFragmentOpacity)));const le=k?A`(isBorder > 0.0 ? 0.0 : ${A.float(L)})`:A.float(L),ae=A`
92
92
  ${O(k,A`float isBorder = float(any(lessThan(debugBorderCoords.xy, debugBorderCoords.zw)) || any(greaterThan(debugBorderCoords.xy, 1.0 - debugBorderCoords.zw)));`)}
93
93
 
94
94
  vec2 samplePos = vtc;
@@ -2,52 +2,52 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{markerTextureSize as e,markerSymbolSize as r,markerTipThicknessFactor as i}from"../views/3d/support/engineContent/marker.js";import{SliceDraw as o}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{RibbonVertexPosition as t}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/RibbonVertexPosition.glsl.js";import{OutputHighlight as a}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{MarkerSizing as n}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MarkerSizing.glsl.js";import{terrainDepthTest as s}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import{ColorConversion as c}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{RgbaFloatEncoding as l}from"../views/3d/webgl-engine/core/shaderLibrary/util/RgbaFloatEncoding.glsl.js";import{addProjViewLocalOrigin as p,addViewNormal as d,addPixelRatio as v}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 h}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{glsl as u,If as w}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Matrix4BindUniform as S}from"../views/3d/webgl-engine/core/shaderModules/Matrix4BindUniform.js";import{Texture2DPassUniform as b}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{VertexAttribute as y}from"../views/3d/webgl-engine/lib/VertexAttribute.js";import{LineMarkerSpace as x,LineMarkerAnchor as P}from"../views/3d/webgl-engine/shaders/LineMarkerTechniqueConfiguration.js";import{outputColorHighlightOID as z}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOID.glsl.js";import{ShaderBuilder as j}from"../views/webgl/ShaderBuilder.js";function L(L){const k=new j,{space:M,anchor:C,hasTip:D}=L,O=M===x.World;k.include(t,L),k.include(n,L),k.include(s,L);const{vertex:$,fragment:T,varyings:W}=k;T.include(l),p($,L),k.attributes.add(y.POSITION,"vec3"),k.attributes.add(y.PREVPOSITION,"vec3"),k.attributes.add(y.UV0,"vec2"),W.add("vColor","vec4"),W.add("vpos","vec3",{invariant:!0}),W.add("vUV","vec2"),W.add("vSize","float"),D&&W.add("vLineWidth","float"),$.uniforms.add(new m("nearFar",(({camera:e})=>e.nearFar)),new h("viewport",(({camera:e})=>e.fullViewport))).code.add(u`vec4 projectAndScale(vec4 pos) {
5
+ import{markerTextureSize as e,markerSymbolSize as r,markerTipThicknessFactor as i}from"../views/3d/support/engineContent/marker.js";import{SliceDraw as o}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{RibbonVertexPosition as t}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/RibbonVertexPosition.glsl.js";import{OutputHighlight as a}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{MarkerSizing as n}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MarkerSizing.glsl.js";import{terrainDepthTest as s}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import{ColorConversion as l}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{RgbaFloatEncoding as c}from"../views/3d/webgl-engine/core/shaderLibrary/util/RgbaFloatEncoding.glsl.js";import{addProjViewLocalOrigin as p,addViewNormal as d,addPixelRatio as v}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 h}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{glsl as u,If as w}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Matrix4BindUniform as S}from"../views/3d/webgl-engine/core/shaderModules/Matrix4BindUniform.js";import{Texture2DPassUniform as y}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{VertexAttribute as b}from"../views/3d/webgl-engine/lib/VertexAttribute.js";import{LineMarkerSpace as x,LineMarkerAnchor as P}from"../views/3d/webgl-engine/shaders/LineMarkerTechniqueConfiguration.js";import{outputColorHighlightOID as z}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOID.glsl.js";import{ShaderBuilder as j}from"../views/webgl/ShaderBuilder.js";function L(L){const k=new j,{space:M,anchor:D,hasTip:C}=L,$=M===x.World;k.include(t,L),k.include(n,L),k.include(s,L);const{vertex:O,fragment:T,varyings:W}=k;T.include(c),p(O,L),k.attributes.add(b.POSITION,"vec3"),k.attributes.add(b.PREVIOUSDELTA,"vec4"),k.attributes.add(b.UV0,"vec2"),W.add("vColor","vec4"),W.add("vpos","vec3",{invariant:!0}),W.add("vUV","vec2"),W.add("vSize","float"),C&&W.add("vLineWidth","float"),O.uniforms.add(new m("nearFar",(({camera:e})=>e.nearFar)),new h("viewport",(({camera:e})=>e.fullViewport))).code.add(u`vec4 projectAndScale(vec4 pos) {
6
6
  vec4 posNdc = proj * pos;
7
7
  posNdc.xy *= viewport.zw / posNdc.w;
8
8
  return posNdc;
9
- }`),$.code.add(u`void clip(vec4 pos, inout vec4 prev) {
9
+ }`),O.code.add(u`void clip(vec4 pos, inout vec4 prev) {
10
10
  float vnp = nearFar[0] * 0.99;
11
11
  if (prev.z > -nearFar[0]) {
12
12
  float interpolation = (-vnp - pos.z) / (prev.z - pos.z);
13
13
  prev = mix(pos, prev, interpolation);
14
14
  }
15
- }`),O?(k.attributes.add(y.NORMAL,"vec3"),d($),$.constants.add("tiltThreshold","float",.7),$.code.add(u`vec3 perpendicular(vec3 v) {
15
+ }`),$?(k.attributes.add(b.NORMAL,"vec3"),d(O),O.constants.add("tiltThreshold","float",.7),O.code.add(u`vec3 perpendicular(vec3 v) {
16
16
  vec3 n = (viewNormal * vec4(normal.xyz, 1.0)).xyz;
17
17
  vec3 n2 = cross(v, n);
18
18
  vec3 forward = vec3(0.0, 0.0, 1.0);
19
19
  float tiltDot = dot(forward, n);
20
20
  return abs(tiltDot) < tiltThreshold ? n : n2;
21
- }`)):$.code.add(u`vec2 perpendicular(vec2 v) {
21
+ }`)):O.code.add(u`vec2 perpendicular(vec2 v) {
22
22
  return vec2(v.y, -v.x);
23
- }`);const N=O?"vec3":"vec2";return $.code.add(u`
24
- ${N} normalizedSegment(${N} pos, ${N} prev) {
25
- ${N} segment = pos - prev;
23
+ }`);const U=$?"vec3":"vec2";return O.code.add(u`
24
+ ${U} normalizedSegment(${U} pos, ${U} prev) {
25
+ ${U} segment = pos - prev;
26
26
  float segmentLen = length(segment);
27
27
 
28
28
  // normalize or zero if too short
29
- return (segmentLen > 0.001) ? segment / segmentLen : ${O?"vec3(0.0, 0.0, 0.0)":"vec2(0.0, 0.0)"};
29
+ return (segmentLen > 0.001) ? segment / segmentLen : ${$?"vec3(0.0, 0.0, 0.0)":"vec2(0.0, 0.0)"};
30
30
  }
31
31
 
32
- ${N} displace(${N} pos, ${N} prev, float displacementLen) {
33
- ${N} segment = normalizedSegment(pos, prev);
32
+ ${U} displace(${U} pos, ${U} prev, float displacementLen) {
33
+ ${U} segment = normalizedSegment(pos, prev);
34
34
 
35
- ${N} displacementDirU = perpendicular(segment);
36
- ${N} displacementDirV = segment;
35
+ ${U} displacementDirU = perpendicular(segment);
36
+ ${U} displacementDirV = segment;
37
37
 
38
- ${C===P.Tip?"pos -= 0.5 * displacementLen * displacementDirV;":""}
38
+ ${D===P.Tip?"pos -= 0.5 * displacementLen * displacementDirV;":""}
39
39
 
40
40
  return pos + displacementLen * (uv0.x * displacementDirU + uv0.y * displacementDirV);
41
41
  }
42
- `),M===x.Screen&&($.uniforms.add(new S("inverseProjectionMatrix",(({camera:e})=>e.inverseProjectionMatrix))),$.code.add(u`vec3 inverseProject(vec4 posScreen) {
42
+ `),M===x.Screen&&(O.uniforms.add(new S("inverseProjectionMatrix",(({camera:e})=>e.inverseProjectionMatrix))),O.code.add(u`vec3 inverseProject(vec4 posScreen) {
43
43
  posScreen.xy = (posScreen.xy / viewport.zw) * posScreen.w;
44
44
  return (inverseProjectionMatrix * posScreen).xyz;
45
- }`),$.code.add(u`bool rayIntersectPlane(vec3 rayDir, vec3 planeOrigin, vec3 planeNormal, out vec3 intersection) {
45
+ }`),O.code.add(u`bool rayIntersectPlane(vec3 rayDir, vec3 planeOrigin, vec3 planeNormal, out vec3 intersection) {
46
46
  float cos = dot(rayDir, planeNormal);
47
47
  float t = dot(planeOrigin, planeNormal) / cos;
48
48
  intersection = t * rayDir;
49
49
  return abs(cos) > 0.001 && t > 0.0;
50
- }`),$.uniforms.add(new g("perScreenPixelRatio",(({camera:e})=>e.perScreenPixelRatio))),$.code.add(u`
50
+ }`),O.uniforms.add(new g("perScreenPixelRatio",(({camera:e})=>e.perScreenPixelRatio))),O.code.add(u`
51
51
  vec4 toFront(vec4 displacedPosScreen, vec3 posLeft, vec3 posRight, vec3 prev, float lineWidth) {
52
52
  // Project displaced position back to camera space
53
53
  vec3 displacedPos = inverseProject(displacedPosScreen);
@@ -76,7 +76,7 @@ return abs(cos) > 0.001 && t > 0.0;
76
76
  displacedPos *= minDepth / length(displacedPos);
77
77
  return vec4(displacedPos.xyz, 1.0);
78
78
  }
79
- `)),v($),$.main.add(u`
79
+ `)),v(O),O.main.add(u`
80
80
  // Check for special value of uv0.y which is used by the Renderer when graphics
81
81
  // are removed before the VBO is recompacted. If this is the case, then we just
82
82
  // project outside of clip space.
@@ -89,10 +89,10 @@ return abs(cos) > 0.001 && t > 0.0;
89
89
  float screenMarkerSize = getScreenMarkerSize();
90
90
 
91
91
  vec4 pos = view * vec4(position, 1.0);
92
- vec4 prev = view * vec4(prevPosition, 1.0);
92
+ vec4 prev = view * vec4(position + previousDelta.xyz * previousDelta.w, 1.0);
93
93
  clip(pos, prev);
94
94
 
95
- ${O?u`${w(L.hideOnShortSegments,u`
95
+ ${$?u`${w(L.hideOnShortSegments,u`
96
96
  if (areWorldMarkersHidden(pos, prev)) {
97
97
  // Project out of clip space
98
98
  gl_Position = vec4(1e038, 1e038, 1e038, 1.0);
@@ -121,8 +121,8 @@ return abs(cos) > 0.001 && t > 0.0;
121
121
 
122
122
  // Convert texture coordinate into [0,1]
123
123
  vUV = (uv0 + 1.0) / 2.0;
124
- ${w(!O,"vUV *= displacedPosScreen.w;")}
125
- ${w(D,"vLineWidth = lineWidth;")}
124
+ ${w(!$,"vUV *= displacedPosScreen.w;")}
125
+ ${w(C,"vLineWidth = lineWidth;")}
126
126
 
127
127
  vSize = screenMarkerSize;
128
128
  vColor = getColor();
@@ -131,13 +131,13 @@ return abs(cos) > 0.001 && t > 0.0;
131
131
  vpos = pos.xyz;
132
132
 
133
133
  gl_Position = displacedPosScreen;
134
- }`),T.include(o,L),k.include(z,L),T.include(c),T.uniforms.add(new f("intrinsicColor",(({color:e})=>e)),new b("tex",(({markerTexture:e})=>e))).constants.add("texelSize","float",1/e).code.add(u`float markerAlpha(vec2 samplePos) {
134
+ }`),T.include(o,L),k.include(z,L),T.include(l),T.uniforms.add(new f("intrinsicColor",(({color:e})=>e)),new y("tex",(({markerTexture:e})=>e))).constants.add("texelSize","float",1/e).code.add(u`float markerAlpha(vec2 samplePos) {
135
135
  samplePos += vec2(0.5, -0.5) * texelSize;
136
136
  float sdf = rgbaTofloat(texture(tex, samplePos)) - 0.5;
137
137
  float distance = sdf * vSize;
138
138
  distance -= 0.5;
139
139
  return clamp(0.5 - distance, 0.0, 1.0);
140
- }`),D&&T.constants.add("relativeMarkerSize","float",r/e).constants.add("relativeTipLineWidth","float",i).code.add(u`
140
+ }`),C&&T.constants.add("relativeMarkerSize","float",r/e).constants.add("relativeTipLineWidth","float",i).code.add(u`
141
141
  float tipAlpha(vec2 samplePos) {
142
142
  // Convert coordinates s.t. they are in pixels and relative to the tip of an arrow marker
143
143
  samplePos -= vec2(0.5, 0.5 + 0.5 * relativeMarkerSize);
@@ -146,7 +146,7 @@ return clamp(0.5 - distance, 0.0, 1.0);
146
146
  float halfMarkerSize = 0.5 * relativeMarkerSize * vSize;
147
147
  float halfTipLineWidth = 0.5 * max(1.0, relativeTipLineWidth * vLineWidth);
148
148
 
149
- ${w(O,"halfTipLineWidth *= fwidth(samplePos.y);")}
149
+ ${w($,"halfTipLineWidth *= fwidth(samplePos.y);")}
150
150
 
151
151
  float distance = max(abs(samplePos.x) - halfMarkerSize, abs(samplePos.y) - halfTipLineWidth);
152
152
  return clamp(0.5 - distance, 0.0, 1.0);
@@ -158,6 +158,6 @@ return clamp(0.5 - distance, 0.0, 1.0);
158
158
  vec4 finalColor = intrinsicColor * vColor;
159
159
 
160
160
  // Cancel out perspective correct interpolation if in screen space or draped
161
- vec2 samplePos = vUV ${w(!O,"* gl_FragCoord.w")};
162
- finalColor.a *= ${D?"max(markerAlpha(samplePos), tipAlpha(samplePos))":"markerAlpha(samplePos)"};
161
+ vec2 samplePos = vUV ${w(!$,"* gl_FragCoord.w")};
162
+ finalColor.a *= ${C?"max(markerAlpha(samplePos), tipAlpha(samplePos))":"markerAlpha(samplePos)"};
163
163
  outputColorHighlightOID(finalColor, vpos);`),k}const k=Object.freeze(Object.defineProperty({__proto__:null,build:L},Symbol.toStringTag,{value:"Module"}));export{k as L,L as b};