@arcgis/core 4.34.0-next.62 → 4.34.0-next.65

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 (270) hide show
  1. package/AggregateGraphic.js +1 -1
  2. package/Graphic.js +1 -1
  3. package/TrackGraphic.js +1 -1
  4. package/analysis/VolumeMeasurement/VolumeMeasurementCutFillOptions.js +1 -1
  5. package/analysis/VolumeMeasurementAnalysis.js +1 -1
  6. package/assets/esri/core/workers/RemoteClient.js +1 -1
  7. package/assets/esri/core/workers/chunks/{b68b54be3d67595a9446.js → 06ff5f34ad9bdf9705de.js} +77 -67
  8. package/assets/esri/core/workers/chunks/{5de7c2a80bd9c81cefe2.js → 070b29cba896f46537f9.js} +1 -1
  9. package/assets/esri/core/workers/chunks/{8c0e11f781607239749d.js → 0a36df6fdab95785d1ce.js} +1 -1
  10. package/assets/esri/core/workers/chunks/0b01c87db77246632ad9.js +1 -0
  11. package/assets/esri/core/workers/chunks/0b24a6c06d1becbb6815.js +1 -0
  12. package/assets/esri/core/workers/chunks/0cdf6b51f2a63f348530.js +1 -0
  13. package/assets/esri/core/workers/chunks/0d82cc6905b105b3568a.js +1 -0
  14. package/assets/esri/core/workers/chunks/10ec10ca361842efce92.js +1 -0
  15. package/assets/esri/core/workers/chunks/{bdc18ef9cdc8242f014e.js → 1143313f2f6f34deaad7.js} +1 -1
  16. package/assets/esri/core/workers/chunks/2394ac65d64e50399d76.js +1 -0
  17. package/assets/esri/core/workers/chunks/{69fbe363bb130fdd8146.js → 3d6f07e04f77cc0a7506.js} +1 -1
  18. package/assets/esri/core/workers/chunks/{db7678104b18534482e3.js → 426232091caf8608e5f1.js} +1 -1
  19. package/assets/esri/core/workers/chunks/47febd4de836a33b51b1.js +1 -0
  20. package/assets/esri/core/workers/chunks/487afbf352d12c745430.js +1 -0
  21. package/assets/esri/core/workers/chunks/4fda6e90822bc0198b28.js +2 -0
  22. package/assets/esri/core/workers/chunks/{3fd09a7c05583a57a317.js → 5d12862042b6bf9f9d54.js} +1 -1
  23. package/assets/esri/core/workers/chunks/5d65987f2c1b5c56a799.js +1 -0
  24. package/assets/esri/core/workers/chunks/{ba0c7339fa19cc7cbde7.js → 5e1d6704ee0aa41b1d06.js} +1 -1
  25. package/assets/esri/core/workers/chunks/{4ac127cefa3aa5e93e78.js → 657b01a6df8dc46c5209.js} +1 -1
  26. package/assets/esri/core/workers/chunks/{71b222089f5e9dcee474.js → 6a1b652ccbf58ac44658.js} +1 -1
  27. package/assets/esri/core/workers/chunks/{4050ddb580d364d9e205.js → 6ab435423acb0ed0b1c7.js} +1 -1
  28. package/assets/esri/core/workers/chunks/7b7f5028a488bb9c10f4.js +1 -0
  29. package/assets/esri/core/workers/chunks/{d83bdc13c3cad3eee7be.js → 7c3a1958990de095d3a1.js} +1 -1
  30. package/assets/esri/core/workers/chunks/808cfed7022e3846d5b2.js +1 -0
  31. package/assets/esri/core/workers/chunks/88b8f33ce1cbf8a0f855.js +33 -0
  32. package/assets/esri/core/workers/chunks/8bd5a0ff7dcf1067bf53.js +1 -0
  33. package/assets/esri/core/workers/chunks/{f462a138912e5379b6a7.js → 904c116c6b093e0e970c.js} +1 -1
  34. package/assets/esri/core/workers/chunks/99b20eef2893047fac10.js +1 -0
  35. package/assets/esri/core/workers/chunks/a16b471c3706ee37f9b6.js +1 -0
  36. package/assets/esri/core/workers/chunks/{bb2ab663e3e5597f2104.js → a1bd4eecca1e3272bffb.js} +1 -1
  37. package/assets/esri/core/workers/chunks/{8005ae652361f506bc5f.js → a29fb90226bd08157bd1.js} +1 -1
  38. package/assets/esri/core/workers/chunks/a596d6ccb6103e594031.js +1 -0
  39. package/assets/esri/core/workers/chunks/a5e6359fadbd699b1c8e.js +1 -0
  40. package/assets/esri/core/workers/chunks/a7f3cdd9a249ef4572ce.js +1 -0
  41. package/assets/esri/core/workers/chunks/{d2bdd52d2291306a4e47.js → a80d769b0ed025f0df64.js} +1 -1
  42. package/assets/esri/core/workers/chunks/a987731d1b5449d8fb0c.js +1 -0
  43. package/assets/esri/core/workers/chunks/af83dddddbfe25194527.js +1 -0
  44. package/assets/esri/core/workers/chunks/{4d8d942fbd6750bb7567.js → b057e6d593c1607cae61.js} +1 -1
  45. package/assets/esri/core/workers/chunks/{d707538b150d79050336.js → b1f1a26e7a2ef5b783ee.js} +1 -1
  46. package/assets/esri/core/workers/chunks/c337c1a2dbc452780dd7.js +1 -0
  47. package/assets/esri/core/workers/chunks/{a35a439f053d1fe0541b.js → c601bbdafdee5074b04f.js} +1 -1
  48. package/assets/esri/core/workers/chunks/{d7ce68667bb355ef8e5d.js → c7a386ac90e58eb71935.js} +1 -1
  49. package/assets/esri/core/workers/chunks/c8694a27e2cf28b010e8.js +1 -0
  50. package/assets/esri/core/workers/chunks/cf69f6afeaf1229e032c.js +1 -0
  51. package/assets/esri/core/workers/chunks/d1e8220dcae1d01d3c35.js +1 -0
  52. package/assets/esri/core/workers/chunks/e12e8d69c05c182b6a69.js +1 -0
  53. package/assets/esri/core/workers/chunks/{220c8d6338f236298720.js → e6457ac25c0829ee039c.js} +1 -1
  54. package/assets/esri/core/workers/chunks/{c77a97c723b8c17df186.js → e72aee3f857aa473822c.js} +1 -1
  55. package/assets/esri/core/workers/chunks/{8374d87176486c1fc90e.js → eadac757f74470b89a36.js} +1 -1
  56. package/assets/esri/core/workers/chunks/{7c23be93d394f1bee941.js → f6107f844f4feed42828.js} +1 -1
  57. package/assets/esri/core/workers/chunks/f76774781865cb1411b0.js +1 -0
  58. package/assets/esri/core/workers/chunks/fd04df45cdcc6ff52554.js +1 -0
  59. package/assets/esri/layers/support/rasterFormats/qb3-wasm.wasm +0 -0
  60. package/assets/esri/libs/lyr3d/lyr3DMain.wasm +0 -0
  61. package/assets/esri/libs/lyr3d/lyr3DWorker.wasm +0 -0
  62. package/assets/esri/libs/vxl/vxlLayer.wasm +0 -0
  63. package/assets/esri/themes/base/widgets/_Attribution.scss +0 -1
  64. package/assets/esri/themes/dark/main.css +1 -1
  65. package/assets/esri/themes/light/main.css +1 -1
  66. package/assets/esri/themes/light/view.css +1 -1
  67. package/chunks/ComponentShader.glsl.js +1 -1
  68. package/chunks/DefaultMaterial.glsl.js +2 -2
  69. package/chunks/Fog.glsl.js +2 -2
  70. package/chunks/GaussianSplat.glsl.js +7 -0
  71. package/chunks/GaussianSplatComposition.glsl.js +7 -0
  72. package/chunks/GaussianSplatDepthComposition.glsl.js +11 -0
  73. package/chunks/{BloomBlur.glsl.js → GlowBlur.glsl.js} +5 -5
  74. package/chunks/GlowComposition.glsl.js +41 -0
  75. package/chunks/Path.glsl.js +1 -1
  76. package/chunks/RealisticTree.glsl.js +40 -36
  77. package/chunks/lyr3DMain.js +1 -1
  78. package/chunks/lyr3DWorker.js +1 -1
  79. package/chunks/qb3-wasm.js +5 -0
  80. package/chunks/vxlLayer.js +1 -1
  81. package/config.js +1 -1
  82. package/geometry/ellipsoidUtils.js +1 -1
  83. package/geometry/operators/geodeticUtilsOperator.d.ts +6 -0
  84. package/geometry/support/heightModelInfoUtils.js +1 -1
  85. package/graphic/AggregateGraphicOrigin.js +5 -0
  86. package/graphic/CSVGraphicOrigin.js +1 -1
  87. package/graphic/CatalogGraphicOrigin.js +1 -1
  88. package/graphic/FeatureGraphicOrigin.js +1 -1
  89. package/graphic/GeoJSONGraphicOrigin.js +1 -1
  90. package/graphic/KnowledgeGraphGraphicOrigin.js +1 -1
  91. package/graphic/OGCFeatureGraphicOrigin.js +1 -1
  92. package/graphic/OrientedImageryGraphicOrigin.js +1 -1
  93. package/graphic/ParquetGraphicOrigin.js +1 -1
  94. package/graphic/StreamGraphicOrigin.js +1 -1
  95. package/graphic/SubtypeGroupGraphicOrigin.js +1 -1
  96. package/graphic/TrackGraphicOrigin.js +5 -0
  97. package/graphic/WFSGraphicOrigin.js +1 -1
  98. package/graphic/getPopupProvider.js +5 -0
  99. package/interfaces.d.ts +795 -30
  100. package/kernel.js +1 -1
  101. package/layers/GaussianSplatLayer.js +1 -1
  102. package/layers/IntegratedMesh3DTilesLayer.js +1 -1
  103. package/layers/Lyr3DWasmPerSceneView.js +1 -1
  104. package/layers/VoxelWasmPerSceneView.js +1 -1
  105. package/layers/knowledgeGraph/KnowledgeGraphSublayer.js +1 -1
  106. package/layers/knowledgeGraph/nodeMovementUtils.js +1 -1
  107. package/layers/mixins/FeatureReductionLayer.js +1 -1
  108. package/layers/mixins/TrackableLayer.js +1 -1
  109. package/layers/support/GaussianSplatAtlasPageAllocator.js +5 -0
  110. package/layers/support/gaussianSplatUtils.js +5 -0
  111. package/layers/support/rasterDatasets/MRFRaster.js +1 -1
  112. package/layers/support/rasterFormats/Qb3.js +5 -0
  113. package/layers/support/rasterFormats/RasterCodec.js +1 -1
  114. package/layers/support/tiles3DUtils.js +5 -0
  115. package/package.json +1 -1
  116. package/rest/knowledgeGraph/GraphApplyEditsResult.js +1 -1
  117. package/rest/knowledgeGraph/wasmInterface/wasmToUpdateResponseFactories.js +1 -1
  118. package/rest/knowledgeGraphService.js +1 -1
  119. package/rest/lastMileDelivery/enums.js +5 -0
  120. package/rest/lastMileDelivery.d.ts +10 -0
  121. package/rest/lastMileDelivery.js +5 -0
  122. package/rest/route/utils.js +1 -1
  123. package/rest/support/JobInfo.js +1 -1
  124. package/rest/support/LastMileDeliveryParameters.d.ts +4 -0
  125. package/rest/support/LastMileDeliveryParameters.js +5 -0
  126. package/support/revision.js +1 -1
  127. package/symbols/patterns/StylePattern3D.js +1 -1
  128. package/symbols/patterns/styles.js +1 -1
  129. package/unionTypes.d.ts +3 -0
  130. package/views/2d/analysis/AnalysisView2D.js +5 -0
  131. package/views/2d/analysis/ElevationProfileAnalysisView2D.d.ts +4 -0
  132. package/views/2d/analysis/ElevationProfileAnalysisView2D.js +5 -0
  133. package/views/2d/analysis/analysisViewModuleImportUtils.js +5 -0
  134. package/views/2d/engine/webgl/Painter.js +1 -1
  135. package/views/2d/engine/webgl/shaderGraph/GraphShaderModule.js +1 -1
  136. package/views/2d/engine/webgl/shaderGraph/techniques/TextureStatisticsTechnique.js +5 -0
  137. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/TextureStatisticsDiffShader.js +5 -0
  138. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/TextureStatisticsMinMaxSumShader.js +5 -0
  139. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/TextureStatisticsStdDevShader.js +5 -0
  140. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/TextureStatisticsSumOfSquaredDiffShader.js +5 -0
  141. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/utils.js +1 -1
  142. package/views/2d/engine/webgl/shaderGraph/techniques/videoScreenRenderer/VideoScreenTechnique.js +1 -1
  143. package/views/2d/layers/FeatureLayerView2D.js +1 -1
  144. package/views/2d/layers/features/layerAdapters/FeatureLayerAdapter.js +1 -1
  145. package/views/2d/layers/features/layerAdapters/InMemoryLayerAdapter.js +1 -1
  146. package/views/2d/layers/features/layerAdapters/KnowledgeGraphSublayerAdapter.js +1 -1
  147. package/views/2d/layers/features/layerAdapters/OGCFeatureLayerAdapter.js +1 -1
  148. package/views/2d/layers/features/layerAdapters/OrientedImageryLayerAdapter.js +1 -1
  149. package/views/2d/layers/features/layerAdapters/ParquetLayerAdapter.js +1 -1
  150. package/views/2d/layers/features/layerAdapters/StreamLayerAdapter.js +1 -1
  151. package/views/2d/layers/support/visualVariableSimpleUtils.js +1 -1
  152. package/views/3d/analysis/AnalysisView3D.js +1 -1
  153. package/views/3d/analysis/AreaMeasurementAnalysisView3D.js +1 -1
  154. package/views/3d/analysis/DimensionAnalysisView3D.js +1 -1
  155. package/views/3d/analysis/DirectLineMeasurementAnalysisView3D.js +1 -1
  156. package/views/3d/analysis/ElevationProfile/ElevationProfileHoveredPointsVisualization.js +1 -1
  157. package/views/3d/analysis/ElevationProfile/ElevationProfileLineVisualization.js +5 -0
  158. package/views/3d/analysis/ElevationProfile/ElevationProfileSceneLineComputation.js +1 -1
  159. package/views/3d/analysis/ElevationProfile/ElevationProfileVisualization.js +1 -1
  160. package/views/3d/analysis/ElevationProfileAnalysisView3D.js +1 -1
  161. package/views/3d/analysis/LineOfSightAnalysisView3D.js +1 -1
  162. package/views/3d/analysis/SliceAnalysisView3D.js +1 -1
  163. package/views/3d/analysis/ViewshedAnalysisView3D.js +1 -1
  164. package/views/3d/analysis/VolumeMeasurementAnalysisView3D.js +1 -1
  165. package/views/3d/analysis/analysisViewModuleImportUtils.js +5 -0
  166. package/views/3d/environment/EnvironmentRenderer.js +1 -1
  167. package/views/3d/environment/Fog.js +1 -1
  168. package/views/3d/environment/FogTechniqueConfiguration.js +1 -1
  169. package/views/3d/environment/Precipitation.js +1 -1
  170. package/views/3d/layers/GaussianSplatLayerView3D.js +1 -1
  171. package/views/3d/layers/GraphicsView3D.js +1 -1
  172. package/views/3d/layers/I3SMeshView3D.js +1 -1
  173. package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
  174. package/views/3d/layers/{IntegratedMesh3DTilesViewPerformanceInfo.js → Lyr3DViewPerformanceInfo.js} +1 -1
  175. package/views/3d/layers/Lyr3DWasm.js +1 -1
  176. package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
  177. package/views/3d/layers/graphics/Labeler.js +1 -1
  178. package/views/3d/layers/i3s/LayerElevationProvider.js +1 -1
  179. package/views/3d/layers/support/LayerViewAnalysisViewManager.js +1 -1
  180. package/views/3d/layers/support/Tiles3DIntersectionHandler.js +1 -1
  181. package/views/3d/support/GaussianSplatSortWorker.js +1 -1
  182. package/views/3d/support/GaussianSplatWorkerHandle.js +1 -1
  183. package/views/3d/support/QualitySettings.js +1 -1
  184. package/views/3d/support/pointsOfInterest/CameraOnSurface.js +1 -1
  185. package/views/3d/support/pointsOfInterest/ContentGeometryUpdates.js +1 -1
  186. package/views/3d/support/pointsOfInterest/PointsOfInterest.js +1 -1
  187. package/views/3d/webgl-engine/collections/Component/ComponentObject.js +1 -1
  188. package/views/3d/webgl-engine/collections/Component/ComponentObjectCollection.js +1 -1
  189. package/views/3d/webgl-engine/collections/Component/ComponentObjectElevationAgnosticComponentBVH.js +1 -1
  190. package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
  191. package/views/3d/webgl-engine/collections/Component/Material/ComponentTechniqueConfiguration.js +1 -1
  192. package/views/3d/webgl-engine/core/shaderLibrary/attributes/NormalAttribute.glsl.js +4 -4
  193. package/views/3d/webgl-engine/core/shaderLibrary/output/Emissions.glsl.js +5 -5
  194. package/views/3d/webgl-engine/core/shaderLibrary/util/ComputeCovariance.glsl.js +40 -0
  195. package/views/3d/webgl-engine/core/shaderLibrary/util/GaussianSplatUnpacking.glsl.js +59 -0
  196. package/views/3d/webgl-engine/core/shaderLibrary/util/QuaternionToRotationMatrix.glsl.js +23 -0
  197. package/views/3d/webgl-engine/effects/{bloom/BloomBlur.glsl.js → glow/GlowBlur.glsl.js} +1 -1
  198. package/views/3d/webgl-engine/effects/glow/GlowBlurTechnique.js +5 -0
  199. package/views/3d/webgl-engine/effects/{bloom/BloomBlurTechniqueConfiguration.js → glow/GlowBlurTechniqueConfiguration.js} +1 -1
  200. package/views/3d/webgl-engine/effects/{bloom/BloomComposition.glsl.js → glow/GlowComposition.glsl.js} +1 -1
  201. package/views/3d/webgl-engine/effects/glow/GlowCompositionTechnique.js +5 -0
  202. package/views/3d/webgl-engine/effects/{bloom/BloomCompositionTechniqueConfiguration.js → glow/GlowCompositionTechniqueConfiguration.js} +1 -1
  203. package/views/3d/webgl-engine/effects/glow/GlowRenderNode.js +5 -0
  204. package/views/3d/webgl-engine/effects/weather/SnowCover.glsl.js +10 -4
  205. package/views/3d/webgl-engine/lib/BindParameters.js +1 -1
  206. package/views/3d/webgl-engine/lib/GaussianSplatRenderNode.js +5 -0
  207. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  208. package/views/3d/webgl-engine/lib/lodRendering/LodRenderer.js +1 -1
  209. package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
  210. package/views/3d/webgl-engine/materials/PathMaterial.js +1 -1
  211. package/views/3d/webgl-engine/materials/PathTechniqueConfiguration.js +1 -1
  212. package/views/3d/webgl-engine/parts/RenderView.js +1 -1
  213. package/views/3d/webgl-engine/shaders/DefaultMaterialTechniqueConfiguration.js +1 -1
  214. package/views/3d/webgl-engine/shaders/GaussianSplat.glsl.js +5 -0
  215. package/views/3d/webgl-engine/shaders/GaussianSplatComposition.glsl.js +5 -0
  216. package/views/3d/webgl-engine/shaders/GaussianSplatCompositionTechnique.js +5 -0
  217. package/views/3d/webgl-engine/shaders/GaussianSplatCompositionTechniqueConfiguration.js +5 -0
  218. package/views/3d/webgl-engine/shaders/GaussianSplatDepthComposition.glsl.js +5 -0
  219. package/views/3d/webgl-engine/shaders/GaussianSplatDepthCompositionTechnique.js +5 -0
  220. package/views/3d/webgl-engine/shaders/GaussianSplatDepthTechnique.js +5 -0
  221. package/views/3d/webgl-engine/shaders/GaussianSplatTechnique.js +5 -0
  222. package/views/3d/webgl-engine/shaders/GaussianSplatTechniqueConfiguration.js +5 -0
  223. package/views/3d/webgl-engine/shaders/RealisticTree.glsl.js +1 -1
  224. package/views/SceneView.js +1 -1
  225. package/views/VideoView.js +1 -1
  226. package/views/View2D.js +1 -1
  227. package/views/analysis/AnalysisView.js +5 -0
  228. package/views/analysis/ElevationProfile/ElevationProfileResult.js +1 -1
  229. package/views/layers/FeatureLayerView.js +1 -1
  230. package/views/support/AnalysisViewManager.js +1 -1
  231. package/views/webgl/FramebufferObject.js +1 -1
  232. package/widgets/Locate/LocateViewModel.js +1 -1
  233. package/widgets/OrientedImageryViewer/imageMeasurementUtils.js +1 -1
  234. package/assets/esri/core/workers/chunks/08d420cd7cfa19a10fa4.js +0 -1
  235. package/assets/esri/core/workers/chunks/17abab49db1813d3e192.js +0 -1
  236. package/assets/esri/core/workers/chunks/182383fd00008606bfaa.js +0 -1
  237. package/assets/esri/core/workers/chunks/188feb2bcbf8e48e3163.js +0 -1
  238. package/assets/esri/core/workers/chunks/3124a8516e815efec973.js +0 -1
  239. package/assets/esri/core/workers/chunks/3461701a15be46603c56.js +0 -1
  240. package/assets/esri/core/workers/chunks/36acf191a2d48560c796.js +0 -1
  241. package/assets/esri/core/workers/chunks/40e1fbfbf3f3979b3713.js +0 -1
  242. package/assets/esri/core/workers/chunks/4b1daffa97fd90a554a0.js +0 -1
  243. package/assets/esri/core/workers/chunks/4b68783e8d1415d0a171.js +0 -1
  244. package/assets/esri/core/workers/chunks/5915f5ba9064097aee79.js +0 -1
  245. package/assets/esri/core/workers/chunks/5ed7e139c72cd2b3ddba.js +0 -1
  246. package/assets/esri/core/workers/chunks/659f7e99b2d524ef53fb.js +0 -2
  247. package/assets/esri/core/workers/chunks/702d2c668dedf83421ca.js +0 -1
  248. package/assets/esri/core/workers/chunks/7b2ec80dca0fdb0442cf.js +0 -1
  249. package/assets/esri/core/workers/chunks/7b9178c3826f9ef52a00.js +0 -1
  250. package/assets/esri/core/workers/chunks/9a20390602126995f831.js +0 -1
  251. package/assets/esri/core/workers/chunks/a2150baf0661e2f28011.js +0 -1
  252. package/assets/esri/core/workers/chunks/a532614aa65fb52dee7b.js +0 -1
  253. package/assets/esri/core/workers/chunks/abededd48e0ea6cfec01.js +0 -1
  254. package/assets/esri/core/workers/chunks/ae1cb4c65d72217ae4d4.js +0 -1
  255. package/assets/esri/core/workers/chunks/c1c6202f7bef24b5db26.js +0 -1
  256. package/assets/esri/core/workers/chunks/c75b0243e5bb84738419.js +0 -1
  257. package/assets/esri/core/workers/chunks/d47c3431c501d77b1779.js +0 -1
  258. package/assets/esri/core/workers/chunks/eacc7fccdc3fb670ac8f.js +0 -33
  259. package/assets/esri/core/workers/chunks/f6d91256c4e5f8a0d5c0.js +0 -1
  260. package/assets/esri/core/workers/chunks/f711aeba1a2c184ddb43.js +0 -1
  261. package/chunks/BloomComposition.glsl.js +0 -41
  262. package/graphic/isPopupProviderGraphicOrigin.js +0 -5
  263. package/views/2d/analysisViewModuleImportUtils.js +0 -5
  264. package/views/3d/analysis/ElevationProfile/ElevationProfileLinesVisualization.js +0 -5
  265. package/views/3d/analysisViewModuleImportUtils.js +0 -5
  266. package/views/3d/webgl-engine/effects/bloom/BloomBlurTechnique.js +0 -5
  267. package/views/3d/webgl-engine/effects/bloom/BloomCompositionTechnique.js +0 -5
  268. package/views/3d/webgl-engine/effects/bloom/BloomRenderNode.js +0 -5
  269. /package/assets/esri/core/workers/chunks/{659f7e99b2d524ef53fb.js.LICENSE.txt → 4fda6e90822bc0198b28.js.LICENSE.txt} +0 -0
  270. /package/views/3d/webgl-engine/effects/{bloom/BloomPresets.glsl.js → glow/GlowPresets.glsl.js} +0 -0
@@ -2,7 +2,7 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{earth as e,mars as o,moon as r}from"../geometry/support/Ellipsoid.js";import{ComponentData as a}from"../views/3d/webgl-engine/collections/Component/Material/shader/ComponentData.glsl.js";import{ForwardLinearDepthToWriteShadowMap as i}from"../views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepthToWriteShadowMap.glsl.js";import{isColorOrColorEmission as t}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SlicePass as l}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{TextureCoordinateAttribute as n}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js";import{VertexColor as d}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js";import{VertexNormal as s}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexNormal.glsl.js";import{VertexPosition as g}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexPosition.glsl.js";import{OutputDepth as c}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js";import{OutputHighlight as m}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{OutputHighlightOverlay as v}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlightOverlay.js";import{computeFragmentNormals as u}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeFragmentNormals.glsl.js";import{ComputeMaterialColor as h}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeMaterialColor.glsl.js";import{ComputeNormalTexture as w}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeNormalTexture.glsl.js";import{EvaluateSceneLighting as p,addLightingGlobalFactor as b}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{addMainLightIntensity as f,addMainLightDirection as C}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{PhysicallyBasedRenderingParameters as y}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{ReadBaseColorTexture as x}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadBaseColorTexture.glsl.js";import{ReadShadowMapPass as L}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js";import{terrainDepthTest as j}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import{OverlayIM as S}from"../views/3d/webgl-engine/core/shaderLibrary/terrain/Overlay.glsl.js";import{DiscardOrAdjustAlphaDraw as $}from"../views/3d/webgl-engine/core/shaderLibrary/util/DiscardOrAdjustAlpha.glsl.js";import{If as N,glsl as O}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DBindUniform as T}from"../views/3d/webgl-engine/core/shaderModules/Texture2DBindUniform.js";import{SnowCover as M}from"../views/3d/webgl-engine/effects/weather/SnowCover.glsl.js";import{outputColorHighlightOID as A}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOID.glsl.js";import{ShaderBuilder as D}from"../views/webgl/ShaderBuilder.js";import{alphaCutoff as W}from"../webscene/support/AlphaCutoff.js";function P(P){const B=new D,{vertex:R,fragment:F}=B;B.include(g,P),B.include(s,P),B.include(d,P),B.include(n,P),B.include(a,P),B.include($,P),F.include(l,P),B.include(x,P),B.include(j,P);const{output:z,pbrMode:E,hasNormalTexture:_,snowCover:H,receiveShadows:I,shadeNormals:V,spherical:G,ellipsoidMode:k,overlayEnabled:U,componentData:q,vertexDiscardMode:J,hasBloom:K,renderOccluded:Q}=P,X=1===E||2===E;X&&(B.include(y,P),_&&B.include(w,P));const Y=4===z||5===z||6===z,Z=Y&&1===q;if(U){B.include(p,P),B.include(S,P);const a=1===k,i=1===k?e.radius:a?o.radius:r.radius;R.code.add(`\n ${N(G,`const float invRadius = ${O.float(1/i)};`)}\n vec2 projectOverlay(vec3 pos) { return pos.xy ${N(G,"/ (1.0 + invRadius * pos.z);")}; }`)}const ee=U&&t(z)&&4===E;ee&&(B.varyings.add("tbnTangent","vec3"),B.varyings.add("tbnBiTangent","vec3"),B.varyings.add("groundNormal","vec3"));const oe=0===J,re=2===J,ae=1-1/255;if(B.include(L,P),B.include(i,P),R.main.add(O`
5
+ import{earth as e,mars as o,moon as r}from"../geometry/support/Ellipsoid.js";import{ComponentData as a}from"../views/3d/webgl-engine/collections/Component/Material/shader/ComponentData.glsl.js";import{ForwardLinearDepthToWriteShadowMap as i}from"../views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepthToWriteShadowMap.glsl.js";import{isColorOrColorEmission as t}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SlicePass as l}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{TextureCoordinateAttribute as n}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js";import{VertexColor as d}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js";import{VertexNormal as s}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexNormal.glsl.js";import{VertexPosition as g}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexPosition.glsl.js";import{OutputDepth as c}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js";import{OutputHighlight as m}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{OutputHighlightOverlay as v}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlightOverlay.js";import{computeFragmentNormals as u}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeFragmentNormals.glsl.js";import{ComputeMaterialColor as h}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeMaterialColor.glsl.js";import{ComputeNormalTexture as w}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeNormalTexture.glsl.js";import{EvaluateSceneLighting as p,addLightingGlobalFactor as b}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{addMainLightIntensity as f,addMainLightDirection as C}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{PhysicallyBasedRenderingParameters as y}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{ReadBaseColorTexture as x}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadBaseColorTexture.glsl.js";import{ReadShadowMapPass as L}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js";import{terrainDepthTest as j}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import{OverlayIM as S}from"../views/3d/webgl-engine/core/shaderLibrary/terrain/Overlay.glsl.js";import{DiscardOrAdjustAlphaDraw as $}from"../views/3d/webgl-engine/core/shaderLibrary/util/DiscardOrAdjustAlpha.glsl.js";import{If as N,glsl as O}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DBindUniform as T}from"../views/3d/webgl-engine/core/shaderModules/Texture2DBindUniform.js";import{SnowCover as M}from"../views/3d/webgl-engine/effects/weather/SnowCover.glsl.js";import{outputColorHighlightOID as A}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOID.glsl.js";import{ShaderBuilder as D}from"../views/webgl/ShaderBuilder.js";import{alphaCutoff as W}from"../webscene/support/AlphaCutoff.js";function P(P){const B=new D,{vertex:R,fragment:F}=B;B.include(g,P),B.include(s,P),B.include(d,P),B.include(n,P),B.include(a,P),B.include($,P),F.include(l,P),B.include(x,P),B.include(j,P);const{output:z,pbrMode:E,hasNormalTexture:_,snowCover:H,receiveShadows:I,shadeNormals:V,spherical:G,ellipsoidMode:k,overlayEnabled:U,componentData:q,vertexDiscardMode:J,hasGlow:K,renderOccluded:Q}=P,X=1===E||2===E;X&&(B.include(y,P),_&&B.include(w,P));const Y=4===z||5===z||6===z,Z=Y&&1===q;if(U){B.include(p,P),B.include(S,P);const a=1===k,i=1===k?e.radius:a?o.radius:r.radius;R.code.add(`\n ${N(G,`const float invRadius = ${O.float(1/i)};`)}\n vec2 projectOverlay(vec3 pos) { return pos.xy ${N(G,"/ (1.0 + invRadius * pos.z);")}; }`)}const ee=U&&t(z)&&4===E;ee&&(B.varyings.add("tbnTangent","vec3"),B.varyings.add("tbnBiTangent","vec3"),B.varyings.add("groundNormal","vec3"));const oe=0===J,re=2===J,ae=1-1/255;if(B.include(L,P),B.include(i,P),R.main.add(O`
6
6
  bool castShadows;
7
7
  vec4 externalColor = forwardExternalColor(castShadows);
8
8
  ${N(Z,"if(!castShadows) { gl_Position = vec4(vec3(1e38), 1.0); return; }")}
@@ -2,7 +2,7 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{Offset as e}from"../views/3d/webgl-engine/core/shaderLibrary/Offset.glsl.js";import{isColorOrColorEmission as r}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SliceDraw as o}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Transform as i}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{InstanceColor as a}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/InstanceColor.glsl.js";import{InstancedDoublePrecision as s}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/InstancedDoublePrecision.glsl.js";import{MaskedColorDefinition as l,CreateMaskedFromNaNColor as n}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/MaskedColor.glsl.js";import{NormalAttribute as t}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/NormalAttribute.glsl.js";import{SymbolColor as d}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/SymbolColor.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 g}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexNormal.glsl.js";import{VerticalOffset as v}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VerticalOffset.glsl.js";import{DefaultMaterialAuxiliaryPasses as u}from"../views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js";import{ComputeNormalTexture as w}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeNormalTexture.glsl.js";import{EvaluateAmbientOcclusion as b}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientOcclusion.glsl.js";import{EvaluateSceneLighting as p,addAmbientBoostFactor as h,addLightingGlobalFactor as f}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{addMainLightIntensity as y}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{Normals as x}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Normals.glsl.js";import{PhysicallyBasedRendering as C}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRendering.glsl.js";import{PhysicallyBasedRenderingParameters as L}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{ReadShadowMapPass as j,ReadShadowMapDraw as P}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js";import{terrainDepthTest as M}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import{colorTextureUV as N,normalTextureUV as T,emissiveTextureUV as O,occlusionTextureUV as S,metallicRoughnessTextureUV as V}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TextureTransformUV.glsl.js";import{VisualVariables as $}from"../views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js";import{DiscardOrAdjustAlphaPass as A}from"../views/3d/webgl-engine/core/shaderLibrary/util/DiscardOrAdjustAlpha.glsl.js";import{MixExternalColor as D}from"../views/3d/webgl-engine/core/shaderLibrary/util/MixExternalColor.glsl.js";import{addProjViewLocalOrigin as E,addCameraPosition as U}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float3PassUniform as B}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{Float4PassUniform as I}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{FloatPassUniform as k}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{If as _,glsl as F}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DPassUniform as R}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{SnowCover as z}from"../views/3d/webgl-engine/effects/weather/SnowCover.glsl.js";import{colorMixModes as W}from"../views/3d/webgl-engine/materials/internal/MaterialUtil.js";import{outputColorHighlightOID as G}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOID.glsl.js";import{ShaderBuilder as H}from"../views/webgl/ShaderBuilder.js";import{alphaCutoff as q}from"../webscene/support/AlphaCutoff.js";function J(J){const K=new H,{attributes:Q,vertex:X,fragment:Y,varyings:Z}=K,{output:ee,normalType:re,offsetBackfaces:oe,spherical:ie,snowCover:ae,pbrMode:se,textureAlphaPremultiplied:le,instancedDoublePrecision:ne,hasVertexColors:te,hasVertexTangents:de,hasColorTexture:me,hasNormalTexture:ce,hasNormalTextureTransform:ge,hasColorTextureTransform:ve,hasBloom:ue}=J;if(E(X,J),Q.add("position","vec3"),Z.add("vpos","vec3",{invariant:!0}),K.include($,J),K.include(s,J),K.include(v,J),K.include(N,J),!r(ee))return K.include(u,J),K;K.include(T,J),K.include(O,J),K.include(S,J),K.include(V,J),U(X,J),K.include(t,J),K.include(i);const we=0===re||1===re;return we&&oe&&K.include(e),K.include(w,J),K.include(g,J),K.include(a,J),Z.add("vPositionLocal","vec3"),K.include(m,J),K.include(d,J),K.include(c,J),X.uniforms.add(new I("externalColor",e=>e.externalColor,{supportsNaN:!0})),Z.add("vcolorExt","vec4"),K.include(M,J),X.include(l),X.include(n),K.include(ne?j:P,J),X.main.add(F`
5
+ import{Offset as e}from"../views/3d/webgl-engine/core/shaderLibrary/Offset.glsl.js";import{isColorOrColorEmission as r}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SliceDraw as o}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Transform as i}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{InstanceColor as a}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/InstanceColor.glsl.js";import{InstancedDoublePrecision as s}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/InstancedDoublePrecision.glsl.js";import{MaskedColorDefinition as l,CreateMaskedFromNaNColor as n}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/MaskedColor.glsl.js";import{NormalAttribute as t}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/NormalAttribute.glsl.js";import{SymbolColor as d}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/SymbolColor.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 g}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexNormal.glsl.js";import{VerticalOffset as v}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VerticalOffset.glsl.js";import{DefaultMaterialAuxiliaryPasses as u}from"../views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js";import{ComputeNormalTexture as w}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeNormalTexture.glsl.js";import{EvaluateAmbientOcclusion as b}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientOcclusion.glsl.js";import{EvaluateSceneLighting as p,addAmbientBoostFactor as h,addLightingGlobalFactor as f}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{addMainLightIntensity as y}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{Normals as x}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Normals.glsl.js";import{PhysicallyBasedRendering as C}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRendering.glsl.js";import{PhysicallyBasedRenderingParameters as L}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{ReadShadowMapPass as j,ReadShadowMapDraw as P}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js";import{terrainDepthTest as M}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import{colorTextureUV as N,normalTextureUV as T,emissiveTextureUV as O,occlusionTextureUV as S,metallicRoughnessTextureUV as V}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TextureTransformUV.glsl.js";import{VisualVariables as $}from"../views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js";import{DiscardOrAdjustAlphaPass as A}from"../views/3d/webgl-engine/core/shaderLibrary/util/DiscardOrAdjustAlpha.glsl.js";import{MixExternalColor as D}from"../views/3d/webgl-engine/core/shaderLibrary/util/MixExternalColor.glsl.js";import{addProjViewLocalOrigin as E,addCameraPosition as U}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float3PassUniform as I}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{Float4PassUniform as B}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{FloatPassUniform as k}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{If as _,glsl as F}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DPassUniform as R}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{SnowCover as z}from"../views/3d/webgl-engine/effects/weather/SnowCover.glsl.js";import{colorMixModes as W}from"../views/3d/webgl-engine/materials/internal/MaterialUtil.js";import{outputColorHighlightOID as G}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOID.glsl.js";import{ShaderBuilder as H}from"../views/webgl/ShaderBuilder.js";import{alphaCutoff as q}from"../webscene/support/AlphaCutoff.js";function J(J){const K=new H,{attributes:Q,vertex:X,fragment:Y,varyings:Z}=K,{output:ee,normalType:re,offsetBackfaces:oe,spherical:ie,snowCover:ae,pbrMode:se,textureAlphaPremultiplied:le,instancedDoublePrecision:ne,hasVertexColors:te,hasVertexTangents:de,hasColorTexture:me,hasNormalTexture:ce,hasNormalTextureTransform:ge,hasColorTextureTransform:ve,hasGlow:ue}=J;if(E(X,J),Q.add("position","vec3"),Z.add("vpos","vec3",{invariant:!0}),K.include($,J),K.include(s,J),K.include(v,J),K.include(N,J),!r(ee))return K.include(u,J),K;K.include(T,J),K.include(O,J),K.include(S,J),K.include(V,J),U(X,J),K.include(t,J),K.include(i);const we=0===re||1===re;return we&&oe&&K.include(e),K.include(w,J),K.include(g,J),K.include(a,J),Z.add("vPositionLocal","vec3"),K.include(m,J),K.include(d,J),K.include(c,J),X.uniforms.add(new B("externalColor",e=>e.externalColor,{supportsNaN:!0})),Z.add("vcolorExt","vec4"),K.include(M,J),X.include(l),X.include(n),K.include(ne?j:P,J),X.main.add(F`
6
6
  forwardNormalizedVertexColor();
7
7
 
8
8
  MaskedColor maskedColor =
@@ -32,7 +32,7 @@ import{Offset as e}from"../views/3d/webgl-engine/core/shaderLibrary/Offset.glsl.
32
32
  gl_Position = vec4(1e38, 1e38, 1e38, 1.0);
33
33
  }
34
34
  forwardLinearDepthToReadShadowMap();
35
- `),K.include(p,J),Y.include(b,J),K.include(A,J),Y.include(o,J),K.include(G,J),U(Y,J),Y.uniforms.add(X.uniforms.get("localOrigin"),new B("ambient",e=>e.ambient),new B("diffuse",e=>e.diffuse),new k("opacity",e=>e.opacity),new k("layerOpacity",e=>e.layerOpacity)),me&&Y.uniforms.add(new R("tex",e=>e.texture)),K.include(L,J),Y.include(C,J),Y.include(D),K.include(x,J),Y.include(z,J),h(Y),f(Y),y(Y),Y.main.add(F`
35
+ `),K.include(p,J),Y.include(b,J),K.include(A,J),Y.include(o,J),K.include(G,J),U(Y,J),Y.uniforms.add(X.uniforms.get("localOrigin"),new I("ambient",e=>e.ambient),new I("diffuse",e=>e.diffuse),new k("opacity",e=>e.opacity),new k("layerOpacity",e=>e.layerOpacity)),me&&Y.uniforms.add(new R("tex",e=>e.texture)),K.include(L,J),Y.include(C,J),Y.include(D),K.include(x,J),Y.include(z,J),h(Y),f(Y),y(Y),Y.main.add(F`
36
36
  discardBySlice(vpos);
37
37
  discardByTerrainDepth();
38
38
  ${me?F`
@@ -2,7 +2,7 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{create as e}from"../core/libs/gl-matrix-2/factories/vec3f64.js";import{ReadDepth as o}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadDepth.glsl.js";import{Gamma as r}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js";import{Float3BindUniform as i}from"../views/3d/webgl-engine/core/shaderModules/Float3BindUniform.js";import{Float3PassUniform as s}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{FloatPassUniform as t}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as a,If as n}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DBindUniform as m}from"../views/3d/webgl-engine/core/shaderModules/Texture2DBindUniform.js";import{Texture2DPassUniform as d}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{ScreenSpacePassAtmosphere as l}from"../views/3d/webgl-engine/shaders/ScreenSpacePassAtmosphere.glsl.js";import{SphereIntersect as g}from"../views/3d/webgl-engine/shaders/SphereIntersect.glsl.js";import{ToneMapping as c}from"../views/3d/webgl-engine/shaders/ToneMapping.glsl.js";import{NoParameters as f}from"../views/webgl/NoParameters.js";import{ShaderBuilder as p}from"../views/webgl/ShaderBuilder.js";class u extends f{constructor(){super(...arguments),this.color=e(),this.strength=4e-6,this.atmosphereC=1,this.amount=0}}function h(e){const f=new p;f.include(l,{needUVs:!0,needEyeDirection:!0});const u=f.fragment,{modifiedByEmissive:h}=e;return u.uniforms.add(new t("atmosphereC",e=>e.atmosphereC),new i("cameraPosition",e=>e.camera.eye),new m("depthTexture",e=>e.mainDepth),new t("fogStrength",e=>e.strength),new t("fogAmount",e=>e.amount),new s("fogColor",e=>e.color)),h&&u.uniforms.add(new d("emissionTexture",e=>e.emission)),u.include(r),u.include(g),u.include(c),u.include(o),u.code.add(a`float getFogAmount(float dist, vec3 rayDir) {
5
+ import{create as e}from"../core/libs/gl-matrix-2/factories/vec3f64.js";import{ReadDepth as o}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadDepth.glsl.js";import{Gamma as r}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js";import{Float3BindUniform as i}from"../views/3d/webgl-engine/core/shaderModules/Float3BindUniform.js";import{Float3PassUniform as s}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{FloatPassUniform as t}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as a,If as n}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DBindUniform as m}from"../views/3d/webgl-engine/core/shaderModules/Texture2DBindUniform.js";import{Texture2DPassUniform as l}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{ScreenSpacePassAtmosphere as d}from"../views/3d/webgl-engine/shaders/ScreenSpacePassAtmosphere.glsl.js";import{SphereIntersect as g}from"../views/3d/webgl-engine/shaders/SphereIntersect.glsl.js";import{ToneMapping as c}from"../views/3d/webgl-engine/shaders/ToneMapping.glsl.js";import{NoParameters as p}from"../views/webgl/NoParameters.js";import{ShaderBuilder as f}from"../views/webgl/ShaderBuilder.js";class u extends p{constructor(){super(...arguments),this.color=e(),this.strength=4e-6,this.atmosphereC=1,this.amount=0}}function h(e){const p=new f;p.include(d,{needUVs:!0,needEyeDirection:!0});const u=p.fragment,{hasEmissive:h}=e;return u.uniforms.add(new t("atmosphereC",e=>e.atmosphereC),new i("cameraPosition",e=>e.camera.eye),new m("depthTexture",e=>e.mainDepth),new t("fogStrength",e=>e.strength),new t("fogAmount",e=>e.amount),new s("fogColor",e=>e.color)),h&&u.uniforms.add(new l("emissionTexture",e=>e.emission)),u.include(r),u.include(g),u.include(c),u.include(o),u.code.add(a`float getFogAmount(float dist, vec3 rayDir) {
6
6
  if(dist == -1.0){
7
7
  dist = 0.055 * sphereIntersect(cameraPosition, rayDir, atmosphereC).y;
8
8
  }
@@ -25,4 +25,4 @@ return fogAmount * (1.0 - exp(-dist * fogStrength));
25
25
  vec3 emissionContribution = emission.a > 0.0 ? mix(vec3(0.0), emission.rgb * emission.a, 1.0 - fogAmount): vec3(0.0);
26
26
  vec3 modifiedFogColor = fogColor + emissionContribution;
27
27
  vec4 fog = vec4(modifiedFogColor, 1.0) * fogAmount;`,a`vec4 fog = vec4(fogColor, 1.0) * fogAmount;`)}
28
- fragColor = delinearizeGamma(vec4(tonemapACES(fog.rgb), fog.a));`),f}const w=Object.freeze(Object.defineProperty({__proto__:null,FogPassParameters:u,build:h},Symbol.toStringTag,{value:"Module"}));export{u as F,w as a,h as b};
28
+ fragColor = delinearizeGamma(vec4(tonemapACES(fog.rgb), fog.a));`),p}const w=Object.freeze(Object.defineProperty({__proto__:null,FogPassParameters:u,build:h},Symbol.toStringTag,{value:"Module"}));export{u as F,w as a,h as b};
@@ -0,0 +1,7 @@
1
+ /*
2
+ All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
+ See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
+ */
5
+ import{ZEROS as e}from"../core/libs/gl-matrix-2/factories/vec2f64.js";import{ZEROS as n}from"../core/libs/gl-matrix-2/factories/vec3f64.js";import{ComputeCovariance as a}from"../views/3d/webgl-engine/core/shaderLibrary/util/ComputeCovariance.glsl.js";import{GaussianSplatUnpacking as t}from"../views/3d/webgl-engine/core/shaderLibrary/util/GaussianSplatUnpacking.glsl.js";import{QuaternionToRotationMatrix as i}from"../views/3d/webgl-engine/core/shaderLibrary/util/QuaternionToRotationMatrix.glsl.js";import{Float2PassUniform as o}from"../views/3d/webgl-engine/core/shaderModules/Float2PassUniform.js";import{Float3BindUniform as r}from"../views/3d/webgl-engine/core/shaderModules/Float3BindUniform.js";import{Float3PassUniform as s}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{FloatPassUniform as c}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as l,If as d}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{IntegerBindUniform as u}from"../views/3d/webgl-engine/core/shaderModules/IntegerBindUniform.js";import{IntegerPassUniform as v}from"../views/3d/webgl-engine/core/shaderModules/IntegerPassUniform.js";import{Matrix4BindUniform as p}from"../views/3d/webgl-engine/core/shaderModules/Matrix4BindUniform.js";import{Texture2DUintPassUniform as m}from"../views/3d/webgl-engine/core/shaderModules/Texture2DUintPassUniform.js";import{NoParameters as f}from"../views/webgl/NoParameters.js";import{ShaderBuilder as g}from"../views/webgl/ShaderBuilder.js";class h extends f{constructor(){super(...arguments),this.totalGaussians=-1,this.focalLength=-1,this.tanFov=e,this.cameraDelta=n,this.cameraPos8k=n}}function x(e){const n=new g;n.varyings.add("vColor","vec4"),n.varyings.add("conicOpacity","vec4"),n.varyings.add("depth","float"),n.varyings.add("gaussianCenterScreenPos","vec2"),n.varyings.add("fragScreenPos","vec2"),n.outputs.add("fragColor","vec4",0),n.vertex.uniforms.add(new m("splatOrderTexture",e=>e.splatOrder),new m("splatAtlasTexture",e=>e.splatAtlas),new v("numSplats",e=>e.totalGaussians),new c("focalLength",e=>e.focalLength),new o("tanFov",e=>e.tanFov),new s("cameraDelta",e=>e.cameraDelta),new s("cameraPos8k",e=>e.cameraPos8k),new u("fullWidth",({camera:e})=>e.viewport[2]),new u("fullHeight",({camera:e})=>e.viewport[3]),new p("proj",e=>e.camera.projectionMatrix),new p("view",e=>e.camera.viewMatrix),new r("cameraPosition",e=>e.camera.eye)),n.vertex.include(t),n.vertex.include(i),n.vertex.include(a),n.vertex.code.add(l`float ndcToPixel(float ndcCoord, float screenSize) {
6
+ return ((ndcCoord + 1.0) * screenSize - 1.0) * 0.5;
7
+ }`),n.vertex.main.add("\n uint instanceID = uint(gl_InstanceID);\n\n // Transform the instanceID into 2D coordinates\n uint orderTextureWidth = uint(textureSize(splatOrderTexture, 0).x);\n uint x = instanceID % orderTextureWidth;\n uint y = instanceID / orderTextureWidth;\n\n // Fetch the index of the remaining frontmost Gaussian\n uint gaussianIndex = texelFetch(splatOrderTexture, ivec2(x, y), 0).r;\n\n uint splatAtlasSize = uint(textureSize(splatAtlasTexture, 0).x);\n\n // Fetch the packed Gaussian according to the index\n uint gaussianIndexX = gaussianIndex % uint(splatAtlasSize);\n uint gaussianIndexY = gaussianIndex / uint(splatAtlasSize);\n uvec4 packedGaussian = texelFetch(splatAtlasTexture, ivec2(gaussianIndexX, gaussianIndexY), 0);\n\n // Fetch the header associated with the packed Gaussian (contains tile origin and number of fractional bits)\n uint pageNum = gaussianIndex / 1024u;\n uint headerIndex = (pageNum + 1u) * 1024u - 1u;\n uint headerIndexX = headerIndex % uint(splatAtlasSize);\n uint headerIndexY = headerIndex / uint(splatAtlasSize);\n uvec4 packedHeader = texelFetch(splatAtlasTexture, ivec2(headerIndexX, headerIndexY), 0);\n\n // Unpack the Gaussian\n vColor = unpackColor(packedGaussian);\n vec3 scale = unpackScale(packedGaussian); \n vec4 quaternion = unpackQuaternion(packedGaussian);\n mat3 rotation = quaternionToRotationMatrix(quaternion);\n vec3 tileOriginRelativePosition = unpackTileOriginRelativePosition(packedGaussian);\n\n vec3 cameraRelativePosition = unpackCameraRelativeGaussianPosition(packedHeader, tileOriginRelativePosition, cameraPosition, cameraPos8k, cameraDelta);\n\n vec4 viewPos = vec4(mat3(view) * cameraRelativePosition, 1);\n\n if (viewPos.z > 1.0) {\n gl_Position = vec4(1e038, 1e038, 1e038, 1.0);\n return;\n }\n\n vec3 covarianceA;\n vec3 covarianceB;\n computeCovariance3D(rotation, scale.xyz, covarianceA, covarianceB);\n\n float covariance3D[6] = float[6](covarianceA.x, covarianceA.y, covarianceA.z, covarianceB.x, covarianceB.y, covarianceB.z);\n\n vec3 covariance2D = computeCovariance2D(viewPos.xyz, focalLength, tanFov, covariance3D, view);\n \n // Invert covariance (EWA algorithm)\n float determinant = (covariance2D.x * covariance2D.z - covariance2D.y * covariance2D.y);\n if (determinant == 0.) {\n gl_Position = vec4(1e038, 1e038, 1e038, 1.0);\n return;\n }\n float invDeterminant = 1. / determinant;\n \n\n vec4 projPos = proj * viewPos;\n float invW = 1. / (projPos.w + 1e-7);\n vec3 ndcPos = projPos.xyz * invW;\n\n // Compute extent in screen space (by finding the eigenvalues of the 2D covariance matrix). \n // Use the extent to compute the bounding rectangle of the Gaussian in screen space.\n float mid = 0.5 * (covariance2D.x + covariance2D.z);\n float lambda1 = mid + sqrt(max(0.1, mid * mid - determinant));\n float lambda2 = mid - sqrt(max(0.1, mid * mid - determinant));\n float radius = ceil(3. * sqrt(max(lambda1, lambda2)));\n gaussianCenterScreenPos = vec2(ndcToPixel(ndcPos.x, float(fullWidth)), ndcToPixel(ndcPos.y, float(fullHeight)));\n\n // This maps vertex IDs 0, 1, 2, 3 to (-1,-1), (1,-1), (-1,1), (1,1)\n vec2 corner = vec2((gl_VertexID << 1) & 2, gl_VertexID & 2) - 1.0;\n\n // Vertex (corner) position in screen space\n fragScreenPos = gaussianCenterScreenPos + radius * corner;\n\n // We use a conic function to derive the opacity\n vec3 conic = vec3(covariance2D.z, -covariance2D.y, covariance2D.x) * invDeterminant;\n conicOpacity = vec4(conic, vColor.a);\n\n depth = ndcPos.z;\n \n // Convert from screen-space to clip-space\n vec2 clipPos = fragScreenPos / vec2(fullWidth, fullHeight) * 2. - 1.;\n\n gl_Position = vec4(clipPos, depth, 1.0);\n\n ");const f=e.depthPass;return n.fragment.main.add(`\n vec2 offsetFromCenter = gaussianCenterScreenPos - fragScreenPos;\n\n // Evaluate the 2D elliptical Gaussian exponent using the general conic form: Ax^2+2Bxy+Cy^2\n float x = offsetFromCenter.x;\n float y = offsetFromCenter.y;\n float A = conicOpacity.x;\n float B = conicOpacity.y;\n float C = conicOpacity.z;\n float opacityScale = conicOpacity.w;\n float gaussianExponent = -0.5 * (A * x * x + 2.0 * B * x * y + C * y * y);\n\n // A positive exponent indicates alpha > 1, this should not happen\n if (gaussianExponent > 0.0) {\n discard;\n }\n\n float gaussianFalloff = exp(gaussianExponent);\n \n // cap at 0.99 to avoid blending issues, such as seams between overlapping Gaussians\n float alpha = min(.99f, opacityScale * gaussianFalloff);\n\n // discard low alpha fragments since their contribution would not be visible\n if (alpha < 1./255.) {\n discard;\n }\n\n // We cannot write color and depth in the same pass, as they require different blend modes.\n // Regular depth writing based on first hit is not precise enough due to the inherently \n // transparent nature of Gaussian Splats (especially at the borders of the Splat).\n // We thus use a blended depth that computes a non-linear average using \n // the splat order and opacity with geometric decay.\n // This means the depth is averaged based on the order and opacity of the Gaussians,\n // with the frontmost Gaussians contributing the most.\n ${d(f,"fragColor = vec4(depth, 0, 0, alpha);","fragColor = vec4(vColor.rgb * alpha, alpha);")}\n `),n}const w=Object.freeze(Object.defineProperty({__proto__:null,GaussianSplatPassParameters:h,build:x},Symbol.toStringTag,{value:"Module"}));export{h as G,w as a,x as b};
@@ -0,0 +1,7 @@
1
+ /*
2
+ All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
+ See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
+ */
5
+ import{ScreenSpacePass as e}from"../views/3d/webgl-engine/core/shaderLibrary/ScreenSpacePass.glsl.js";import{glsl as o}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DPassUniform as r}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{NoParameters as s}from"../views/webgl/NoParameters.js";import{ShaderBuilder as t}from"../views/webgl/ShaderBuilder.js";class l extends s{}function a(){const s=new t;s.include(e);return s.fragment.uniforms.add(new r("colorTexture",e=>e.color),new r("splatOutputColor",e=>e.splatColor)),s.fragment.main.add(o`vec4 color = texture(colorTexture, uv);
6
+ vec4 splatColor = texture(splatOutputColor, uv);
7
+ fragColor = splatColor + color * (1.0 - splatColor.a);`),s}const n=Object.freeze(Object.defineProperty({__proto__:null,GaussianSplatCompositionPassParameters:l,build:a},Symbol.toStringTag,{value:"Module"}));export{l as G,n as S,a as b};
@@ -0,0 +1,11 @@
1
+ /*
2
+ All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
+ See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
+ */
5
+ import{ScreenSpacePass as e}from"../views/3d/webgl-engine/core/shaderLibrary/ScreenSpacePass.glsl.js";import{glsl as t}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DPassUniform as s}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{NoParameters as r}from"../views/webgl/NoParameters.js";import{ShaderBuilder as a}from"../views/webgl/ShaderBuilder.js";class o extends r{}function p(){const r=new a;r.include(e);return r.fragment.uniforms.add(new s("splatOutputDepth",e=>e.splatDepth)),r.fragment.main.add(t`vec4 splatDepth = texture(splatOutputDepth, uv);
6
+ float ndcDepth = splatDepth.x;
7
+ float depthCutOff = 0.75;
8
+ if(splatDepth.a < depthCutOff) {
9
+ discard;
10
+ }
11
+ gl_FragDepth = (ndcDepth + 1.0) * 0.5;`),r}const l=Object.freeze(Object.defineProperty({__proto__:null,GaussianSplatDepthCompositionPassParameters:o,build:p},Symbol.toStringTag,{value:"Module"}));export{o as G,l as S,p as b};
@@ -2,9 +2,9 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{gauss as e}from"../core/mathUtils.js";import{ScreenSpacePass as o}from"../views/3d/webgl-engine/core/shaderLibrary/ScreenSpacePass.glsl.js";import{Gamma as r}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js";import{FloatPassUniform as s}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as t}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DPassUniform as i}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{blurRadiusPresets as l}from"../views/3d/webgl-engine/effects/bloom/BloomPresets.glsl.js";import{NoParameters as a}from"../views/webgl/NoParameters.js";import{ShaderBuilder as n}from"../views/webgl/ShaderBuilder.js";class c extends a{constructor(){super(...arguments),this.blurRadius=l.sunny}}function u(l){const a=new n,c=a.fragment;a.include(o),c.include(r),c.uniforms.add(new i("colorTexture",e=>e.color),new s("blurRadius",e=>e.blurRadius));let u="";const m=15;for(let e=0;e<m;e++){u+=`locations1D[${e}] = ${(e/(m-1)*2-1).toFixed(3).toString()};`}const d=2;let f="";for(let o=0;o<m;o++){f+=`locations1DWeights[${o}] = ${e(o-Math.floor(m/2),d).toFixed(7).toString()};`}const v=0===l.bloomStage;return c.code.add(t`
6
- float locations1D[${t.int(m)}];
7
- float locations1DWeights[${t.int(m)}];
5
+ import{gauss as e}from"../core/mathUtils.js";import{ScreenSpacePass as r}from"../views/3d/webgl-engine/core/shaderLibrary/ScreenSpacePass.glsl.js";import{Gamma as o}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js";import{FloatPassUniform as s}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as t}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DPassUniform as i}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{blurRadiusPresets as l}from"../views/3d/webgl-engine/effects/glow/GlowPresets.glsl.js";import{NoParameters as a}from"../views/webgl/NoParameters.js";import{ShaderBuilder as n}from"../views/webgl/ShaderBuilder.js";class c extends a{constructor(){super(...arguments),this.blurRadius=l.sunny}}function u(l){const a=new n,c=a.fragment;a.include(r),c.include(o),c.uniforms.add(new i("colorTexture",e=>e.color),new s("blurRadius",e=>e.blurRadius));let u="";const d=15;for(let e=0;e<d;e++){u+=`locations1D[${e}] = ${(e/(d-1)*2-1).toFixed(3).toString()};`}const m=2;let f="";for(let r=0;r<d;r++){f+=`locations1DWeights[${r}] = ${e(r-Math.floor(d/2),m).toFixed(7).toString()};`}const v=0===l.glowStage;return c.code.add(t`
6
+ float locations1D[${t.int(d)}];
7
+ float locations1DWeights[${t.int(d)}];
8
8
 
9
9
  vec4 blurUniformSamples(sampler2D toBlur) {
10
10
  vec4 res = vec4(0.0);
@@ -16,7 +16,7 @@ import{gauss as e}from"../core/mathUtils.js";import{ScreenSpacePass as o}from"..
16
16
  ${f}
17
17
  vec2 pixelCenterShift = 0.5 / size;
18
18
 
19
- for(int i=0;i < ${t.int(m)}; i++) {
19
+ for(int i=0;i < ${t.int(d)}; i++) {
20
20
  float uv1D = locations1D[i] + ${v?"pixelCenterShift.x":"pixelCenterShift.y"};
21
21
  vec2 uvOffset = ${v?"vec2(uv1D, 0.0)":"vec2(0.0, uv1D)"};
22
22
 
@@ -27,4 +27,4 @@ import{gauss as e}from"../core/mathUtils.js";import{ScreenSpacePass as o}from"..
27
27
  res.a = clamp(res.a, 0.0, 1.0);
28
28
  return res;
29
29
  }
30
- `).main.add(t`fragColor = blurUniformSamples(colorTexture);`),a}const m=Object.freeze(Object.defineProperty({__proto__:null,BloomBlurPassParameters:c,build:u},Symbol.toStringTag,{value:"Module"}));export{c as B,m as a,u as b};
30
+ `).main.add(t`fragColor = blurUniformSamples(colorTexture);`),a}const d=Object.freeze(Object.defineProperty({__proto__:null,GlowBlurPassParameters:c,build:u},Symbol.toStringTag,{value:"Module"}));export{c as G,d as a,u as b};
@@ -0,0 +1,41 @@
1
+ /*
2
+ All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
+ See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
+ */
5
+ import{ScreenSpacePass as e}from"../views/3d/webgl-engine/core/shaderLibrary/ScreenSpacePass.glsl.js";import{Gamma as o}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js";import{FloatsPassUniform as r}from"../views/3d/webgl-engine/core/shaderModules/FloatsPassUniform.js";import{If as s,glsl as l}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{IntegerPassUniform as i}from"../views/3d/webgl-engine/core/shaderModules/IntegerPassUniform.js";import{Texture2DPassUniform as t}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{lodFactorsPresets as n}from"../views/3d/webgl-engine/effects/glow/GlowPresets.glsl.js";import{ToneMapping as d}from"../views/3d/webgl-engine/shaders/ToneMapping.glsl.js";import{NoParameters as a}from"../views/webgl/NoParameters.js";import{ShaderBuilder as c}from"../views/webgl/ShaderBuilder.js";class m extends a{constructor(e=n.sunny.far,o=n.sunny.near){super(),this.lodFactors=e,this.lodFactorsFront=o}}const u=new m;class g extends m{constructor(){super(...arguments),this.glowLod=-1}}function w(n){const a=new c,m=a.fragment;return a.include(e),m.include(o),a.outputs.add("fragColor","vec4",0),a.outputs.add("fragEmission","vec4",1),m.include(d),m.uniforms.add(new t("colorTexture",e=>e.color),new t("emissionTexture",e=>e.emission)),n.blurEnabled?(m.uniforms.add(new t("lodTexture0",e=>e.lodTexture0),new t("lodTexture1",e=>e.lodTexture1),new t("lodTexture2",e=>e.lodTexture2),new t("lodTexture3",e=>e.lodTexture3),new t("lodTexture4",e=>e.lodTexture4),new i("glowLod",e=>e.glowLod),new r("lodFactors",e=>e.lodFactors,6),new r("lodFactorsFront",e=>e.lodFactorsFront,6)).main.add(l`
6
+ vec4 color = texture(colorTexture, uv);
7
+ color = vec4(linearizeGamma(color.rgb), color.a);
8
+
9
+ vec4 lod0 = texture(emissionTexture, uv);
10
+ vec4 lod1 = texture(lodTexture0, uv);
11
+ vec4 lod2 = texture(lodTexture1, uv);
12
+ vec4 lod3 = texture(lodTexture2, uv);
13
+ vec4 lod4 = texture(lodTexture3, uv);
14
+ vec4 lod5 = texture(lodTexture4, uv);
15
+
16
+ vec4 emission = lodFactors[0] * lod0;
17
+ emission += lodFactors[1] * lod1;
18
+ emission += lodFactors[2] * lod2;
19
+ emission += lodFactors[3] * lod3;
20
+ emission += lodFactors[4] * lod4;
21
+ emission += lodFactors[5] * lod5;
22
+
23
+ // only for glow editor lod debugging
24
+ emission = glowLod == 0 ? lodFactors[0] * lod0 : glowLod == 1 ? lodFactors[1] * lod1 : glowLod == 2 ? lodFactors[2] * lod2 : glowLod == 3 ? lodFactors[3] * lod3 : glowLod == 4 ? lodFactors[4] * lod4 : glowLod == 5 ? lodFactors[5] * lod5 : emission;
25
+
26
+ fragEmission = emission;
27
+ // tonemapping is only applied to the emissive part since main color values are not in HDR.
28
+ ${s(n.tonemappingEnabled,"emission = vec4(tonemapACES(emission.rgb), emission.a);")}
29
+
30
+ fragColor = emission + color;
31
+ fragColor = delinearizeGamma(fragColor);
32
+ `),a):(m.main.add(l`
33
+ vec4 color = texture(colorTexture, uv);
34
+ color = vec4(linearizeGamma(color.rgb), color.a);
35
+
36
+ // emission is already in linear color space here.
37
+ vec4 emission = texture(emissionTexture, uv);
38
+
39
+ ${s(n.tonemappingEnabled,"emission = vec4(tonemapACES(emission.rgb), emission.a);")}
40
+ fragColor = delinearizeGamma(emission + color);
41
+ `),a)}const v=Object.freeze(Object.defineProperty({__proto__:null,GlowCompositionPassParameters:g,build:w,defaultCompositionParameters:u},Symbol.toStringTag,{value:"Module"}));export{g as G,v as a,w as b,u as d};
@@ -2,7 +2,7 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{addNearFar as e}from"../views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepthToWriteShadowMap.glsl.js";import{isColorOrColorEmission as i}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SliceDraw as o}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Transform as a}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{ObjectAndLayerIdColor as r}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/ObjectAndLayerIdColor.glsl.js";import{PathVertexPosition as n}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/PathVertexPosition.glsl.js";import{OutputDepth as s}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js";import{OutputHighlight as l}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{EvaluateAmbientOcclusion as d}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientOcclusion.glsl.js";import{EvaluateSceneLighting as t,addAmbientBoostFactor as c,addLightingGlobalFactor as m}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{addMainLightIntensity as g}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{Normals as v}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Normals.glsl.js";import{NormalUtils as p}from"../views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js";import{PhysicallyBasedRenderingParameters as w}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{ReadShadowMapDraw as h}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js";import{terrainDepthTest as u}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import{ColorConversion as b}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{addProjViewLocalOrigin as f,addViewNormal as y,addCameraPosition as j}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float3PassUniform as L}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{FloatPassUniform as P}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as S,If as O}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{SnowCover as C}from"../views/3d/webgl-engine/effects/weather/SnowCover.glsl.js";import{outputColorHighlightOID as A}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOID.glsl.js";import{ShaderBuilder as D}from"../views/webgl/ShaderBuilder.js";function B(B){const I=new D,{vertex:F,fragment:M,varyings:_}=I;f(F,B),_.add("vpos","vec3",{invariant:!0}),I.include(n,B);const{output:V,spherical:x,pbrMode:z,hasBloom:T,snowCover:$}=B;switch((i(V)||10===V)&&(I.include(a),I.include(h,B),I.include(r,B),I.include(u,B),_.add("vnormal","vec3"),_.add("vcolor","vec4"),F.main.add(S`vpos = calculateVPos();
5
+ import{addNearFar as e}from"../views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepthToWriteShadowMap.glsl.js";import{isColorOrColorEmission as i}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SliceDraw as o}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Transform as a}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{ObjectAndLayerIdColor as r}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/ObjectAndLayerIdColor.glsl.js";import{PathVertexPosition as n}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/PathVertexPosition.glsl.js";import{OutputDepth as s}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js";import{OutputHighlight as l}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{EvaluateAmbientOcclusion as d}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientOcclusion.glsl.js";import{EvaluateSceneLighting as t,addAmbientBoostFactor as c,addLightingGlobalFactor as m}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{addMainLightIntensity as g}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{Normals as v}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Normals.glsl.js";import{NormalUtils as p}from"../views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js";import{PhysicallyBasedRenderingParameters as w}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{ReadShadowMapDraw as h}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js";import{terrainDepthTest as u}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import{ColorConversion as b}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{addProjViewLocalOrigin as f,addViewNormal as y,addCameraPosition as j}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float3PassUniform as L}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{FloatPassUniform as P}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as S,If as O}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{SnowCover as C}from"../views/3d/webgl-engine/effects/weather/SnowCover.glsl.js";import{outputColorHighlightOID as A}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOID.glsl.js";import{ShaderBuilder as D}from"../views/webgl/ShaderBuilder.js";function B(B){const I=new D,{vertex:F,fragment:M,varyings:_}=I;f(F,B),_.add("vpos","vec3",{invariant:!0}),I.include(n,B);const{output:V,spherical:x,pbrMode:z,hasGlow:T,snowCover:$}=B;switch((i(V)||10===V)&&(I.include(a),I.include(h,B),I.include(r,B),I.include(u,B),_.add("vnormal","vec3"),_.add("vcolor","vec4"),F.main.add(S`vpos = calculateVPos();
6
6
  vnormal = normalize(localNormal());
7
7
  forwardViewPosDepth((view * vec4(vpos, 1.0)).xyz);
8
8
  gl_Position = transformPosition(proj, view, vpos);
@@ -2,33 +2,34 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{Offset as e}from"../views/3d/webgl-engine/core/shaderLibrary/Offset.glsl.js";import{isColorOrColorEmission as o}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SliceDraw as r}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Transform as i}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{InstanceColor as a}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/InstanceColor.glsl.js";import{InstancedDoublePrecision as l}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/InstancedDoublePrecision.glsl.js";import{MaskedColorDefinition as t,CreateMaskedFromNaNColor as s}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/MaskedColor.glsl.js";import{NormalAttribute as n}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/NormalAttribute.glsl.js";import{SymbolColor as d}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/SymbolColor.glsl.js";import{TextureCoordinateAttribute as c}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js";import{VertexColor as g}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js";import{VerticalOffset as m}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VerticalOffset.glsl.js";import{DefaultMaterialAuxiliaryPasses as v}from"../views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js";import{EvaluateAmbientOcclusion as b}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientOcclusion.glsl.js";import{EvaluateSceneLighting as p,addAmbientBoostFactor as w,addLightingGlobalFactor as u}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{addMainLightDirection as f,addMainLightIntensity as h}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{PhysicallyBasedRendering as y}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRendering.glsl.js";import{PhysicallyBasedRenderingParameters as x}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{ReadShadowMapPass as C,ReadShadowMapDraw as L}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js";import{terrainDepthTest as j}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import{VisualVariables as M}from"../views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js";import{DiscardOrAdjustAlphaPass as O}from"../views/3d/webgl-engine/core/shaderLibrary/util/DiscardOrAdjustAlpha.glsl.js";import{MixExternalColor as P}from"../views/3d/webgl-engine/core/shaderLibrary/util/MixExternalColor.glsl.js";import{addProjViewLocalOrigin as S,addCameraPosition as A}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float3PassUniform as E}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{Float4PassUniform as N}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{FloatPassUniform as $}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as D,If as F}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DPassUniform as V}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{colorMixModes as I}from"../views/3d/webgl-engine/materials/internal/MaterialUtil.js";import{outputColorHighlightOID as T}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOID.glsl.js";import{ShaderBuilder as k}from"../views/webgl/ShaderBuilder.js";import{alphaCutoff as B}from"../webscene/support/AlphaCutoff.js";function R(R){const _=new k,{attributes:z,vertex:U,fragment:W,varyings:G}=_,{output:H,offsetBackfaces:q,pbrMode:J,snowCover:K,spherical:Q,hasBloom:X}=R,Y=1===J||2===J;if(S(U,R),z.add("position","vec3"),G.add("vpos","vec3",{invariant:!0}),_.include(M,R),_.include(l,R),_.include(m,R),_.include(j,R),!o(H))return _.include(v,R),_;A(_.vertex,R),_.include(n,R),_.include(i),q&&_.include(e),G.add("vNormalWorld","vec3"),G.add("localvpos","vec3",{invariant:!0}),_.include(c,R),_.include(d,R),_.include(a,R),_.include(g,R),U.include(t),U.include(s),U.uniforms.add(new N("externalColor",e=>e.externalColor,{supportsNaN:!0})),G.add("vcolorExt","vec4"),_.include(R.instancedDoublePrecision?C:L,R),U.main.add(D`
6
- forwardNormalizedVertexColor();
7
-
8
- MaskedColor maskedColorExt =
9
- applySymbolColor(applyVVColor(applyInstanceColor(createMaskedFromNaNColor(externalColor))));
10
-
11
- vcolorExt = maskedColorExt.color;
12
- forwardColorMixMode(maskedColorExt.mask);
13
-
14
- bool alphaCut = opacityMixMode != ${D.int(I.ignore)} && vcolorExt.a < ${D.float(B)};
15
- vpos = getVertexInLocalOriginSpace();
16
- localvpos = vpos - view[3].xyz;
17
- vpos = subtractOrigin(vpos);
18
- vNormalWorld = dpNormal(vvLocalNormal(normalModel()));
19
- vpos = addVerticalOffset(vpos, localOrigin);
20
- vec4 basePosition = transformPosition(proj, view, vpos);
21
-
22
- forwardViewPosDepth((view * vec4(vpos, 1.0)).xyz);
23
- forwardTextureCoordinates();
24
- forwardLinearDepthToReadShadowMap();
25
- gl_Position = alphaCut ? vec4(1e38, 1e38, 1e38, 1.0) :
26
- ${F(q,"offsetBackfacingClipPosition(basePosition, vpos, vNormalWorld, cameraPosition);","basePosition;")}
27
- `);const{hasColorTexture:Z,hasColorTextureTransform:ee}=R;return _.include(p,R),W.include(b,R),_.include(O,R),W.include(r,R),_.include(T,R),A(W,R),f(W),w(W),u(W),W.uniforms.add(U.uniforms.get("localOrigin"),U.uniforms.get("view"),new E("ambient",e=>e.ambient),new E("diffuse",e=>e.diffuse),new $("opacity",e=>e.opacity),new $("layerOpacity",e=>e.layerOpacity)),Z&&W.uniforms.add(new V("tex",e=>e.texture)),_.include(x,R),W.include(y,R),W.include(P),h(W),W.main.add(D`
5
+ import{Offset as e}from"../views/3d/webgl-engine/core/shaderLibrary/Offset.glsl.js";import{isColorOrColorEmission as o}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SliceDraw as r}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Transform as i}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{InstanceColor as a}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/InstanceColor.glsl.js";import{InstancedDoublePrecision as l}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/InstancedDoublePrecision.glsl.js";import{MaskedColorDefinition as t,CreateMaskedFromNaNColor as s}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/MaskedColor.glsl.js";import{NormalAttribute as n}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/NormalAttribute.glsl.js";import{SymbolColor as d}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/SymbolColor.glsl.js";import{TextureCoordinateAttribute as c}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js";import{VertexColor as g}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js";import{VerticalOffset as m}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VerticalOffset.glsl.js";import{DefaultMaterialAuxiliaryPasses as v}from"../views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js";import{EvaluateAmbientOcclusion as b}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientOcclusion.glsl.js";import{EvaluateSceneLighting as w,addAmbientBoostFactor as p,addLightingGlobalFactor as u}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{addMainLightDirection as f,addMainLightIntensity as h}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{PhysicallyBasedRendering as y}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRendering.glsl.js";import{PhysicallyBasedRenderingParameters as x}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{ReadShadowMapPass as C,ReadShadowMapDraw as L}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js";import{terrainDepthTest as j}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import{VisualVariables as M}from"../views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js";import{DiscardOrAdjustAlphaPass as O}from"../views/3d/webgl-engine/core/shaderLibrary/util/DiscardOrAdjustAlpha.glsl.js";import{MixExternalColor as N}from"../views/3d/webgl-engine/core/shaderLibrary/util/MixExternalColor.glsl.js";import{addProjViewLocalOrigin as P,addCameraPosition as S}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float3PassUniform as A}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{Float4PassUniform as E}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{FloatPassUniform as D}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as F,If as V}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DPassUniform as $}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{SnowCover as T}from"../views/3d/webgl-engine/effects/weather/SnowCover.glsl.js";import{colorMixModes as I}from"../views/3d/webgl-engine/materials/internal/MaterialUtil.js";import{outputColorHighlightOID as k}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOID.glsl.js";import{ShaderBuilder as R}from"../views/webgl/ShaderBuilder.js";import{alphaCutoff as B}from"../webscene/support/AlphaCutoff.js";function _(_){const z=new R,{attributes:U,vertex:W,fragment:G,varyings:H}=z,{output:q,offsetBackfaces:J,pbrMode:K,snowCover:Q,spherical:X,hasGlow:Y}=_,Z=1===K||2===K;if(P(W,_),U.add("position","vec3"),H.add("vpos","vec3",{invariant:!0}),z.include(M,_),z.include(l,_),z.include(m,_),z.include(j,_),!o(q))return z.include(v,_),z;S(z.vertex,_),z.include(n,_),z.include(i),J&&z.include(e),H.add("vNormalWorld","vec3"),H.add("localvpos","vec3",{invariant:!0}),z.include(c,_),z.include(d,_),z.include(a,_),z.include(g,_),W.include(t),W.include(s),W.uniforms.add(new E("externalColor",e=>e.externalColor,{supportsNaN:!0})),H.add("vcolorExt","vec4"),z.include(_.instancedDoublePrecision?C:L,_),W.main.add(F`
6
+ forwardNormalizedVertexColor();
7
+
8
+ MaskedColor maskedColorExt =
9
+ applySymbolColor(applyVVColor(applyInstanceColor(createMaskedFromNaNColor(externalColor))));
10
+
11
+ vcolorExt = maskedColorExt.color;
12
+ forwardColorMixMode(maskedColorExt.mask);
13
+
14
+ bool alphaCut = opacityMixMode != ${F.int(I.ignore)} && vcolorExt.a < ${F.float(B)};
15
+ vpos = getVertexInLocalOriginSpace();
16
+
17
+ localvpos = vpos - view[3].xyz;
18
+ vpos = subtractOrigin(vpos);
19
+ vNormalWorld = dpNormal(vvLocalNormal(normalModel()));
20
+ vpos = addVerticalOffset(vpos, localOrigin);
21
+ vec4 basePosition = transformPosition(proj, view, vpos);
22
+
23
+ forwardViewPosDepth((view * vec4(vpos, 1.0)).xyz);
24
+ forwardTextureCoordinates();
25
+ forwardLinearDepthToReadShadowMap();
26
+ gl_Position = alphaCut ? vec4(1e38, 1e38, 1e38, 1.0) :
27
+ ${V(J,"offsetBackfacingClipPosition(basePosition, vpos, vNormalWorld, cameraPosition);","basePosition;")}
28
+ `);const{hasColorTexture:ee,hasColorTextureTransform:oe}=_;return z.include(w,_),G.include(b,_),z.include(O,_),G.include(r,_),z.include(k,_),S(G,_),f(G),p(G),u(G),G.uniforms.add(W.uniforms.get("localOrigin"),W.uniforms.get("view"),new A("ambient",e=>e.ambient),new A("diffuse",e=>e.diffuse),new D("opacity",e=>e.opacity),new D("layerOpacity",e=>e.layerOpacity)),ee&&G.uniforms.add(new $("tex",e=>e.texture)),z.include(x,_),G.include(y,_),G.include(N),G.include(T,_),h(G),G.main.add(F`
28
29
  discardBySlice(vpos);
29
30
  discardByTerrainDepth();
30
- vec4 texColor = ${Z?`texture(tex, ${ee?"colorUV":"vuv0"})`:" vec4(1.0)"};
31
- ${F(Z,`${F(R.textureAlphaPremultiplied,"texColor.rgb /= texColor.a;")}\n discardOrAdjustAlpha(texColor);`)}
31
+ vec4 texColor = ${ee?`texture(tex, ${oe?"colorUV":"vuv0"})`:" vec4(1.0)"};
32
+ ${V(ee,`${V(_.textureAlphaPremultiplied,"texColor.rgb /= texColor.a;")}\n discardOrAdjustAlpha(texColor);`)}
32
33
  vec3 viewDirection = normalize(vpos - cameraPosition);
33
34
  applyPBRFactors();
34
35
  float ssao = evaluateAmbientOcclusionInverse();
@@ -38,23 +39,26 @@ import{Offset as e}from"../views/3d/webgl-engine/core/shaderLibrary/Offset.glsl.
38
39
  vec3 additionalLight = ssao * mainLightIntensity * additionalAmbientScale * ambientBoostFactor * lightingGlobalFactor;
39
40
  float shadow = readShadow(additionalAmbientScale, vpos);
40
41
  vec3 matColor = max(ambient, diffuse);
41
- ${R.hasVertexColors?D`vec3 albedo = mixExternalColor(vColor.rgb * matColor, texColor.rgb, vcolorExt.rgb, colorMixMode);
42
- float opacity_ = layerOpacity * mixExternalOpacity(vColor.a * opacity, texColor.a, vcolorExt.a, opacityMixMode);`:D`vec3 albedo = mixExternalColor(matColor, texColor.rgb, vcolorExt.rgb, colorMixMode);
42
+ ${_.hasVertexColors?F`vec3 albedo = mixExternalColor(vColor.rgb * matColor, texColor.rgb, vcolorExt.rgb, colorMixMode);
43
+ float opacity_ = layerOpacity * mixExternalOpacity(vColor.a * opacity, texColor.a, vcolorExt.a, opacityMixMode);`:F`vec3 albedo = mixExternalColor(matColor, texColor.rgb, vcolorExt.rgb, colorMixMode);
43
44
  float opacity_ = layerOpacity * mixExternalOpacity(opacity, texColor.a, vcolorExt.a, opacityMixMode);`}
44
45
 
45
- ${F(K,"albedo = mix(albedo, vec3(1), 0.9);")}
46
- ${D`vec3 shadingNormal = normalize(vNormalWorld);
47
- albedo *= 1.2;
46
+ vec3 shadingNormal = normalize(vNormalWorld);
47
+ vec3 groundNormal = ${X?"normalize(vpos + localOrigin)":"vec3(0.0, 0.0, 1.0)"};
48
+
49
+ ${V(Q,"vec3 faceNormal = screenDerivativeNormal(vpos);\n float snow = getRealisticTreeSnow(faceNormal, shadingNormal, groundNormal);\n albedo = mix(albedo, vec3(1), snow);")}
50
+
51
+ ${F`albedo *= 1.2;
48
52
  vec3 viewForward = vec3(view[0][2], view[1][2], view[2][2]);
49
53
  float alignmentLightView = clamp(dot(viewForward, -mainLightDirection), 0.0, 1.0);
50
54
  float transmittance = 1.0 - clamp(dot(viewForward, shadingNormal), 0.0, 1.0);
51
55
  float treeRadialFalloff = vColor.r;
52
56
  float backLightFactor = 0.5 * treeRadialFalloff * alignmentLightView * transmittance * (1.0 - shadow);
53
57
  additionalLight += backLightFactor * mainLightIntensity;`}
54
- ${F(Y,`vec3 normalGround = ${Q?"normalize(vpos + localOrigin)":"vec3(0.0, 0.0, 1.0)"};`)}
55
- ${Y?D`float additionalAmbientIrradiance = additionalAmbientIrradianceFactor * mainLightIntensity[2];
56
- ${F(K,D`mrr = applySnowToMRR(mrr, 1.0)`)}
57
- vec4 emission = ${K||X?"vec4(0.0)":"getEmissions(albedo)"};
58
- vec3 shadedColor = evaluateSceneLightingPBR(shadingNormal, albedo, shadow, 1.0 - ssao, additionalLight, viewDirection, normalGround, mrr, additionalAmbientIrradiance);`:D`vec3 shadedColor = evaluateSceneLighting(shadingNormal, albedo, shadow, 1.0 - ssao, additionalLight);`}
58
+
59
+ ${Z?F`float additionalAmbientIrradiance = additionalAmbientIrradianceFactor * mainLightIntensity[2];
60
+ ${V(Q,"mrr = applySnowToMRR(mrr, snow);")}
61
+ vec4 emission = ${Q||Y?"vec4(0.0)":"getEmissions(albedo)"};
62
+ vec3 shadedColor = evaluateSceneLightingPBR(shadingNormal, albedo, shadow, 1.0 - ssao, additionalLight, viewDirection, groundNormal, mrr, additionalAmbientIrradiance);`:F`vec3 shadedColor = evaluateSceneLighting(shadingNormal, albedo, shadow, 1.0 - ssao, additionalLight);`}
59
63
  vec4 finalColor = vec4(shadedColor, opacity_);
60
- outputColorHighlightOID(finalColor, vpos, albedo ${F(K,", 1.0")});`),_}const _=Object.freeze(Object.defineProperty({__proto__:null,build:R},Symbol.toStringTag,{value:"Module"}));export{_ as R,R as b};
64
+ outputColorHighlightOID(finalColor, vpos, albedo ${V(Q,", 1.0")});`),z}const z=Object.freeze(Object.defineProperty({__proto__:null,build:_},Symbol.toStringTag,{value:"Module"}));export{z as R,_ as b};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{g as r}from"./_commonjsHelpers.js";var e,t={exports:{}};function n(){return e||(e=1,r=t,n="undefined"!=typeof document?document.currentScript?.src:void 0,a=async function(r={}){var e,t,a,o=r,i=new Promise((r,n)=>{e=r,t=n}),u="./this.program",s="";function f(r){return o.locateFile?o.locateFile(r,s):s+r}"undefined"!=typeof document&&document.currentScript&&(s=document.currentScript.src),n&&(s=n),s=s.startsWith("blob:")?"":s.slice(0,s.replace(/[?#].*/,"").lastIndexOf("/")+1),a=async r=>{var e=await fetch(r,{credentials:"same-origin"});if(e.ok)return e.arrayBuffer();throw new Error(e.status+" : "+e.url)},console.log.bind(console);var c,l,p,v,d,h,g,m,y,w,T,b,A=console.error.bind(console),C=!1;function W(){var r=l.buffer;p=new Int8Array(r),d=new Int16Array(r),o.HEAPU8=v=new Uint8Array(r),h=new Uint16Array(r),g=new Int32Array(r),o.HEAPU32=m=new Uint32Array(r),y=new Float32Array(r),o.HEAPF64=b=new Float64Array(r),w=new BigInt64Array(r),T=new BigUint64Array(r)}function P(){if(o.preRun)for("function"==typeof o.preRun&&(o.preRun=[o.preRun]);o.preRun.length;)z(o.preRun.shift());j(L)}function E(){Le.E()}function F(){if(o.postRun)for("function"==typeof o.postRun&&(o.postRun=[o.postRun]);o.postRun.length;)N(o.postRun.shift());j(H)}var _,x=0,R=null;function S(r){x++,o.monitorRunDependencies?.(x)}function $(r){if(x--,o.monitorRunDependencies?.(x),0==x&&R){var e=R;R=null,e()}}function k(r){o.onAbort?.(r),A(r="Aborted("+r+")"),C=!0,r+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(r);throw t(e),e}function I(){return f("lyr3DMain.wasm")}function O(r){if(r==_&&c)return new Uint8Array(c);throw"both async and sync fetching of the wasm failed"}async function U(r){if(!c)try{var e=await a(r);return new Uint8Array(e)}catch{}return O(r)}async function D(r,e){try{var t=await U(r);return await WebAssembly.instantiate(t,e)}catch(n){A(`failed to asynchronously prepare wasm: ${n}`),k(n)}}async function V(r,e,t){if(!r&&"function"==typeof WebAssembly.instantiateStreaming)try{var n=fetch(e,{credentials:"same-origin"});return await WebAssembly.instantiateStreaming(n,t)}catch(a){A(`wasm streaming compile failed: ${a}`),A("falling back to ArrayBuffer instantiation")}return D(e,t)}function B(){return{a:Ne}}async function M(){function r(r,e){return Le=r.exports,l=Le.D,W(),$r=Le.G,$(),Le}function e(e){return r(e.instance)}S();var n=B();if(o.instantiateWasm)return new Promise((e,t)=>{o.instantiateWasm(n,(t,n)=>{e(r(t))})});_??=I();try{return e(await V(c,_,n))}catch(a){return t(a),Promise.reject(a)}}var j=r=>{for(;r.length>0;)r.shift()(o)},H=[],N=r=>H.push(r),L=[],z=r=>L.push(r);class G{constructor(r){this.excPtr=r,this.ptr=r-24}set_type(r){m[this.ptr+4>>2]=r}get_type(){return m[this.ptr+4>>2]}set_destructor(r){m[this.ptr+8>>2]=r}get_destructor(){return m[this.ptr+8>>2]}set_caught(r){r=r?1:0,p[this.ptr+12]=r}get_caught(){return 0!=p[this.ptr+12]}set_rethrown(r){r=r?1:0,p[this.ptr+13]=r}get_rethrown(){return 0!=p[this.ptr+13]}init(r,e){this.set_adjusted_ptr(0),this.set_type(r),this.set_destructor(e)}set_adjusted_ptr(r){m[this.ptr+16>>2]=r}get_adjusted_ptr(){return m[this.ptr+16>>2]}}var Y=(r,e,t)=>{throw new G(r).init(e,t),r},q=()=>k(""),J={},K=r=>{for(;r.length;){var e=r.pop();r.pop()(e)}};function Q(r){return this.fromWireType(m[r>>2])}var X,Z={},rr={},er={},tr=o.InternalError=class extends Error{constructor(r){super(r),this.name="InternalError"}},nr=r=>{throw new tr(r)},ar=(r,e,t)=>{function n(e){var n=t(e);n.length!==r.length&&nr("Mismatched type converter count");for(var a=0;a<r.length;++a)dr(r[a],n[a])}r.forEach(r=>er[r]=e);var a=new Array(e.length),o=[],i=0;e.forEach((r,e)=>{rr.hasOwnProperty(r)?a[e]=rr[r]:(o.push(r),Z.hasOwnProperty(r)||(Z[r]=[]),Z[r].push(()=>{a[e]=rr[r],++i===o.length&&n(a)}))}),0===o.length&&n(a)},or=r=>{var e=J[r];delete J[r];var t=e.elements,n=t.length,a=t.map(r=>r.getterReturnType).concat(t.map(r=>r.setterArgumentType)),o=e.rawConstructor,i=e.rawDestructor;ar([r],a,r=>(t.forEach((e,t)=>{var a=r[t],o=e.getter,i=e.getterContext,u=r[t+n],s=e.setter,f=e.setterContext;e.read=r=>a.fromWireType(o(i,r)),e.write=(r,e)=>{var t=[];s(f,r,u.toWireType(t,e)),K(t)}}),[{name:e.name,fromWireType:r=>{for(var e=new Array(n),a=0;a<n;++a)e[a]=t[a].read(r);return i(r),e},toWireType:(r,a)=>{if(n!==a.length)throw new TypeError(`Incorrect number of tuple elements for ${e.name}: expected=${n}, actual=${a.length}`);for(var u=o(),s=0;s<n;++s)t[s].write(u,a[s]);return null!==r&&r.push(i,u),u},argPackAdvance:mr,readValueFromPointer:Q,destructorFunction:i}]))},ir={},ur=r=>{var e=ir[r];delete ir[r];var t=e.rawConstructor,n=e.rawDestructor,a=e.fields,o=a.map(r=>r.getterReturnType).concat(a.map(r=>r.setterArgumentType));ar([r],o,r=>{var o={};return a.forEach((e,t)=>{var n=e.fieldName,i=r[t],u=r[t].optional,s=e.getter,f=e.getterContext,c=r[t+a.length],l=e.setter,p=e.setterContext;o[n]={read:r=>i.fromWireType(s(f,r)),write:(r,e)=>{var t=[];l(p,r,c.toWireType(t,e)),K(t)},optional:u}}),[{name:e.name,fromWireType:r=>{var e={};for(var t in o)e[t]=o[t].read(r);return n(r),e},toWireType:(r,e)=>{for(var a in o)if(!(a in e)&&!o[a].optional)throw new TypeError(`Missing field: "${a}"`);var i=t();for(a in o)o[a].write(i,e[a]);return null!==r&&r.push(n,i),i},argPackAdvance:mr,readValueFromPointer:Q,destructorFunction:n}]})},sr=r=>{if(null===r)return"null";var e=typeof r;return"object"===e||"array"===e||"function"===e?r.toString():""+r},fr=()=>{for(var r=new Array(256),e=0;e<256;++e)r[e]=String.fromCharCode(e);X=r},cr=r=>{for(var e="",t=r;v[t];)e+=X[v[t++]];return e},lr=o.BindingError=class extends Error{constructor(r){super(r),this.name="BindingError"}},pr=r=>{throw new lr(r)};function vr(r,e,t={}){var n=e.name;if(r||pr(`type "${n}" must have a positive integer typeid pointer`),rr.hasOwnProperty(r)){if(t.ignoreDuplicateRegistrations)return;pr(`Cannot register type '${n}' twice`)}if(rr[r]=e,delete er[r],Z.hasOwnProperty(r)){var a=Z[r];delete Z[r],a.forEach(r=>r())}}function dr(r,e,t={}){return vr(r,e,t)}var hr=(r,e,t)=>{switch(e){case 1:return t?r=>p[r]:r=>v[r];case 2:return t?r=>d[r>>1]:r=>h[r>>1];case 4:return t?r=>g[r>>2]:r=>m[r>>2];case 8:return t?r=>w[r>>3]:r=>T[r>>3];default:throw new TypeError(`invalid integer width (${e}): ${r}`)}},gr=(r,e,t,n,a)=>{var o=-1!=(e=cr(e)).indexOf("u");dr(r,{name:e,fromWireType:r=>r,toWireType:function(r,e){if("bigint"!=typeof e&&"number"!=typeof e)throw new TypeError(`Cannot convert "${sr(e)}" to ${this.name}`);return"number"==typeof e&&(e=BigInt(e)),e},argPackAdvance:mr,readValueFromPointer:hr(e,t,!o),destructorFunction:null})},mr=8,yr=(r,e,t,n)=>{dr(r,{name:e=cr(e),fromWireType:function(r){return!!r},toWireType:function(r,e){return e?t:n},argPackAdvance:mr,readValueFromPointer:function(r){return this.fromWireType(v[r])},destructorFunction:null})},wr=[],Tr=[],br=r=>{r>9&&0===--Tr[r+1]&&(Tr[r]=void 0,wr.push(r))},Ar=()=>Tr.length/2-5-wr.length,Cr=()=>{Tr.push(0,1,void 0,1,null,1,!0,1,!1,1),o.count_emval_handles=Ar},Wr={toValue:r=>(r||pr(`Cannot use deleted val. handle = ${r}`),Tr[r]),toHandle:r=>{switch(r){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:{const e=wr.pop()||Tr.length;return Tr[e]=r,Tr[e+1]=1,e}}}},Pr={name:"emscripten::val",fromWireType:r=>{var e=Wr.toValue(r);return br(r),e},toWireType:(r,e)=>Wr.toHandle(e),argPackAdvance:mr,readValueFromPointer:Q,destructorFunction:null},Er=r=>dr(r,Pr),Fr=(r,e)=>{switch(e){case 4:return function(r){return this.fromWireType(y[r>>2])};case 8:return function(r){return this.fromWireType(b[r>>3])};default:throw new TypeError(`invalid float width (${e}): ${r}`)}},_r=(r,e,t)=>{dr(r,{name:e=cr(e),fromWireType:r=>r,toWireType:(r,e)=>e,argPackAdvance:mr,readValueFromPointer:Fr(e,t),destructorFunction:null})},xr=(r,e)=>Object.defineProperty(e,"name",{value:r});function Rr(r){for(var e=1;e<r.length;++e)if(null!==r[e]&&void 0===r[e].destructorFunction)return!0;return!1}function Sr(r,e,t,n,a,o){var i=e.length;i<2&&pr("argTypes array size mismatch! Must at least get return value and 'this' types!"),e[1];var u=Rr(e),s="void"!==e[0].name,f=i-2,c=new Array(f),l=[],p=[];return xr(r,function(...r){var t;p.length=0,l.length=1,l[0]=a;for(var o=0;o<f;++o)c[o]=e[o+2].toWireType(p,r[o]),l.push(c[o]);function i(r){if(u)K(p);else for(var n=2;n<e.length;n++){var a=1===n?t:c[n-2];null!==e[n].destructorFunction&&e[n].destructorFunction(a)}if(s)return e[0].fromWireType(r)}return i(n(...l))})}var $r,kr=(r,e,t)=>{if(void 0===r[e].overloadTable){var n=r[e];r[e]=function(...n){return r[e].overloadTable.hasOwnProperty(n.length)||pr(`Function '${t}' called with an invalid number of arguments (${n.length}) - expects one of (${r[e].overloadTable})!`),r[e].overloadTable[n.length].apply(this,n)},r[e].overloadTable=[],r[e].overloadTable[n.argCount]=n}},Ir=(r,e,t)=>{o.hasOwnProperty(r)?((void 0===t||void 0!==o[r].overloadTable&&void 0!==o[r].overloadTable[t])&&pr(`Cannot register public name '${r}' twice`),kr(o,r,r),o[r].overloadTable.hasOwnProperty(t)&&pr(`Cannot register multiple overloads of a function with the same number of arguments (${t})!`),o[r].overloadTable[t]=e):(o[r]=e,o[r].argCount=t)},Or=(r,e)=>{for(var t=[],n=0;n<r;n++)t.push(m[e+4*n>>2]);return t},Ur=(r,e,t)=>{o.hasOwnProperty(r)||nr("Replacing nonexistent public symbol"),void 0!==o[r].overloadTable&&void 0!==t?o[r].overloadTable[t]=e:(o[r]=e,o[r].argCount=t)},Dr=[],Vr=r=>{var e=Dr[r];return e||(Dr[r]=e=$r.get(r)),e},Br=(r,e,t=!1)=>{function n(){return Vr(e)}r=cr(r);var a=n();return"function"!=typeof a&&pr(`unknown function pointer with signature ${r}: ${e}`),a};class Mr extends Error{}var jr,Hr=r=>{var e=ze(r),t=cr(e);return Ye(e),t},Nr=(r,e)=>{var t=[],n={};function a(r){n[r]||rr[r]||(er[r]?er[r].forEach(a):(t.push(r),n[r]=!0))}throw e.forEach(a),new Mr(`${r}: `+t.map(Hr).join([", "]))},Lr=r=>{const e=(r=r.trim()).indexOf("(");return-1===e?r:r.slice(0,e)},zr=(r,e,t,n,a,o,i,u)=>{var s=Or(e,t);r=cr(r),r=Lr(r),a=Br(n,a,i),Ir(r,function(){Nr(`Cannot call ${r} due to unbound types`,s)},e-1),ar([],s,t=>{var n=[t[0],null].concat(t.slice(1));return Ur(r,Sr(r,n,null,a,o),e-1),[]})},Gr=(r,e,t,n,a)=>{e=cr(e);var o=r=>r;if(0===n){var i=32-8*t;o=r=>r<<i>>>i}var u=e.includes("unsigned"),s=(r,e)=>{};dr(r,{name:e,fromWireType:o,toWireType:u?function(r,e){return s(e,this.name),e>>>0}:function(r,e){return s(e,this.name),e},argPackAdvance:mr,readValueFromPointer:hr(e,t,0!==n),destructorFunction:null})},Yr=(r,e,t)=>{var n=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][e];function a(r){var e=m[r>>2],t=m[r+4>>2];return new n(p.buffer,t,e)}dr(r,{name:t=cr(t),fromWireType:a,argPackAdvance:mr,readValueFromPointer:a},{ignoreDuplicateRegistrations:!0})},qr=(r,e,t,n)=>{if(!(n>0))return 0;for(var a=t,o=t+n-1,i=0;i<r.length;++i){var u=r.charCodeAt(i);if(u>=55296&&u<=57343&&(u=65536+((1023&u)<<10)|1023&r.charCodeAt(++i)),u<=127){if(t>=o)break;e[t++]=u}else if(u<=2047){if(t+1>=o)break;e[t++]=192|u>>6,e[t++]=128|63&u}else if(u<=65535){if(t+2>=o)break;e[t++]=224|u>>12,e[t++]=128|u>>6&63,e[t++]=128|63&u}else{if(t+3>=o)break;e[t++]=240|u>>18,e[t++]=128|u>>12&63,e[t++]=128|u>>6&63,e[t++]=128|63&u}}return e[t]=0,t-a},Jr=(r,e,t)=>qr(r,v,e,t),Kr=r=>{for(var e=0,t=0;t<r.length;++t){var n=r.charCodeAt(t);n<=127?e++:n<=2047?e+=2:n>=55296&&n<=57343?(e+=4,++t):e+=3}return e},Qr="undefined"!=typeof TextDecoder?new TextDecoder:void 0,Xr=(r,e=0,t=NaN)=>{for(var n=e+t,a=e;r[a]&&!(a>=n);)++a;if(a-e>16&&r.buffer&&Qr)return Qr.decode(r.subarray(e,a));for(var o="";e<a;){var i=r[e++];if(128&i){var u=63&r[e++];if(192!=(224&i)){var s=63&r[e++];if((i=224==(240&i)?(15&i)<<12|u<<6|s:(7&i)<<18|u<<12|s<<6|63&r[e++])<65536)o+=String.fromCharCode(i);else{var f=i-65536;o+=String.fromCharCode(55296|f>>10,56320|1023&f)}}else o+=String.fromCharCode((31&i)<<6|u)}else o+=String.fromCharCode(i)}return o},Zr=(r,e)=>r?Xr(v,r,e):"",re=(r,e)=>{dr(r,{name:e=cr(e),fromWireType(r){for(var e,t=m[r>>2],n=r+4,a=n,o=0;o<=t;++o){var i=n+o;if(o==t||0==v[i]){var u=Zr(a,i-a);void 0===e?e=u:(e+=String.fromCharCode(0),e+=u),a=i+1}}return Ye(r),e},toWireType(r,e){var t;e instanceof ArrayBuffer&&(e=new Uint8Array(e));var n="string"==typeof e;n||ArrayBuffer.isView(e)&&1==e.BYTES_PER_ELEMENT||pr("Cannot pass non-string to std::string"),t=n?Kr(e):e.length;var a=Ge(4+t+1),o=a+4;return m[a>>2]=t,n?Jr(e,o,t+1):v.set(e,o),null!==r&&r.push(Ye,a),a},argPackAdvance:mr,readValueFromPointer:Q,destructorFunction(r){Ye(r)}})},ee="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0,te=(r,e)=>{for(var t=r,n=t>>1,a=n+e/2;!(n>=a)&&h[n];)++n;if((t=n<<1)-r>32&&ee)return ee.decode(v.subarray(r,t));for(var o="",i=0;!(i>=e/2);++i){var u=d[r+2*i>>1];if(0==u)break;o+=String.fromCharCode(u)}return o},ne=(r,e,t)=>{if(t??=2147483647,t<2)return 0;for(var n=e,a=(t-=2)<2*r.length?t/2:r.length,o=0;o<a;++o){var i=r.charCodeAt(o);d[e>>1]=i,e+=2}return d[e>>1]=0,e-n},ae=r=>2*r.length,oe=(r,e)=>{for(var t=0,n="";!(t>=e/4);){var a=g[r+4*t>>2];if(0==a)break;if(++t,a>=65536){var o=a-65536;n+=String.fromCharCode(55296|o>>10,56320|1023&o)}else n+=String.fromCharCode(a)}return n},ie=(r,e,t)=>{if(t??=2147483647,t<4)return 0;for(var n=e,a=n+t-4,o=0;o<r.length;++o){var i=r.charCodeAt(o);if(i>=55296&&i<=57343&&(i=65536+((1023&i)<<10)|1023&r.charCodeAt(++o)),g[e>>2]=i,(e+=4)+4>a)break}return g[e>>2]=0,e-n},ue=r=>{for(var e=0,t=0;t<r.length;++t){var n=r.charCodeAt(t);n>=55296&&n<=57343&&++t,e+=4}return e},se=(r,e,t)=>{var n,a,o,i;t=cr(t),2===e?(n=te,a=ne,i=ae,o=r=>h[r>>1]):4===e&&(n=oe,a=ie,i=ue,o=r=>m[r>>2]),dr(r,{name:t,fromWireType:r=>{for(var t,a=m[r>>2],i=r+4,u=0;u<=a;++u){var s=r+4+u*e;if(u==a||0==o(s)){var f=n(i,s-i);void 0===t?t=f:(t+=String.fromCharCode(0),t+=f),i=s+e}}return Ye(r),t},toWireType:(r,n)=>{"string"!=typeof n&&pr(`Cannot pass non-string to C++ string type ${t}`);var o=i(n),u=Ge(4+o+e);return m[u>>2]=o/e,a(n,u+4,o+e),null!==r&&r.push(Ye,u),u},argPackAdvance:mr,readValueFromPointer:Q,destructorFunction(r){Ye(r)}})},fe=(r,e,t,n,a,o)=>{J[r]={name:cr(e),rawConstructor:Br(t,n),rawDestructor:Br(a,o),elements:[]}},ce=(r,e,t,n,a,o,i,u,s)=>{J[r].elements.push({getterReturnType:e,getter:Br(t,n),getterContext:a,setterArgumentType:o,setter:Br(i,u),setterContext:s})},le=(r,e,t,n,a,o)=>{ir[r]={name:cr(e),rawConstructor:Br(t,n),rawDestructor:Br(a,o),fields:[]}},pe=(r,e,t,n,a,o,i,u,s,f)=>{ir[r].fields.push({fieldName:cr(e),getterReturnType:t,getter:Br(n,a),getterContext:o,setterArgumentType:i,setter:Br(u,s),setterContext:f})},ve=(r,e)=>{dr(r,{isVoid:!0,name:e=cr(e),argPackAdvance:0,fromWireType:()=>{},toWireType:(r,e)=>{}})},de=r=>{r>9&&(Tr[r+1]+=1)},he=()=>Wr.toHandle([]),ge={},me=r=>{var e=ge[r];return void 0===e?cr(r):e},ye=r=>Wr.toHandle(me(r)),we=()=>Wr.toHandle({}),Te=(r,e,t)=>{r=Wr.toValue(r),e=Wr.toValue(e),t=Wr.toValue(t),r[e]=t},be=(r,e)=>{var t=rr[r];return void 0===t&&pr(`${e} has unknown type ${Hr(r)}`),t},Ae=(r,e)=>{var t=(r=be(r,"_emval_take_value")).readValueFromPointer(e);return Wr.toHandle(t)},Ce=(r,e,t,n)=>{var a=(new Date).getFullYear(),o=new Date(a,0,1),i=new Date(a,6,1),u=o.getTimezoneOffset(),s=i.getTimezoneOffset(),f=Math.max(u,s);m[r>>2]=60*f,g[e>>2]=Number(u!=s);var c=r=>{var e=r>=0?"-":"+",t=Math.abs(r);return`UTC${e}${String(Math.floor(t/60)).padStart(2,"0")}${String(t%60).padStart(2,"0")}`},l=c(u),p=c(s);s<u?(Jr(l,t,17),Jr(p,n,17)):(Jr(l,n,17),Jr(p,t,17))},We=()=>2147483648,Pe=(r,e)=>Math.ceil(r/e)*e,Ee=r=>{var e=(r-l.buffer.byteLength+65535)/65536|0;try{return l.grow(e),W(),1}catch(t){}},Fe=r=>{var e=v.length;r>>>=0;var t=We();if(r>t)return!1;for(var n=1;n<=4;n*=2){var a=e*(1+.2/n);a=Math.min(a,r+100663296);var o=Math.min(t,Pe(Math.max(r,a),65536));if(Ee(o))return!0}return!1},_e={},xe=()=>u||"./this.program",Re=()=>{if(!Re.strings){var r={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:xe()};for(var e in _e)void 0===_e[e]?delete r[e]:r[e]=_e[e];var t=[];for(var e in r)t.push(`${e}=${r[e]}`);Re.strings=t}return Re.strings},Se=(r,e)=>{var t=0,n=0;for(var a of Re()){var o=e+t;m[r+n>>2]=o,t+=Jr(a,o,1/0)+1,n+=4}return 0},$e=(r,e)=>{var t=Re();m[r>>2]=t.length;var n=0;for(var a of t)n+=Kr(a)+1;return m[e>>2]=n,0},ke=(r,e)=>{r<128?e.push(r):e.push(r%128|128,r>>7)},Ie=r=>{for(var e={i:"i32",j:"i64",f:"f32",d:"f64",e:"externref",p:"i32"},t={parameters:[],results:"v"==r[0]?[]:[e[r[0]]]},n=1;n<r.length;++n)t.parameters.push(e[r[n]]);return t},Oe=(r,e)=>{var t=r.slice(0,1),n=r.slice(1),a={i:127,p:127,j:126,f:125,d:124,e:111};for(var o of(e.push(96),ke(n.length,e),n))e.push(a[o]);"v"==t?e.push(0):e.push(1,a[t])},Ue=(r,e)=>{if("function"==typeof WebAssembly.Function)return new WebAssembly.Function(Ie(e),r);var t=[1];Oe(e,t);var n=[0,97,115,109,1,0,0,0,1];ke(t.length,n),n.push(...t),n.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0);var a=new WebAssembly.Module(new Uint8Array(n));return new WebAssembly.Instance(a,{e:{f:r}}).exports.f},De=(r,e)=>{if(jr)for(var t=r;t<r+e;t++){var n=Vr(t);n&&jr.set(n,t)}},Ve=r=>(jr||(jr=new WeakMap,De(0,$r.length)),jr.get(r)||0),Be=[],Me=()=>{if(Be.length)return Be.pop();try{$r.grow(1)}catch(A){if(!(A instanceof RangeError))throw A;throw"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH."}return $r.length-1},je=(r,e)=>{$r.set(r,e),Dr[r]=$r.get(r)},He=(r,e)=>{var t=Ve(r);if(t)return t;var n=Me();try{je(n,r)}catch(A){if(!(A instanceof TypeError))throw A;var a=Ue(r,e);je(n,a)}return jr.set(r,n),n};fr(),Cr(),o.noExitRuntime&&o.noExitRuntime,o.print&&o.print,o.printErr&&(A=o.printErr),o.wasmBinary&&(c=o.wasmBinary),o.arguments&&o.arguments,o.thisProgram&&(u=o.thisProgram),o.addFunction=He,o.UTF8ToString=Zr;var Ne={k:Y,y:q,l:or,t:ur,q:gr,r:yr,B:Er,p:_r,c:zr,h:Gr,b:Yr,C:re,n:se,m:fe,d:ce,u:le,i:pe,s:ve,a:br,o:de,A:he,g:ye,j:we,e:Te,f:Ae,v:Ce,z:Fe,w:Se,x:$e},Le=await M();Le.E;var ze=Le.F,Ge=o._malloc=Le.H,Ye=o._free=Le.I;function qe(){function r(){o.calledRun=!0,C||(E(),e(o),o.onRuntimeInitialized?.(),F())}x>0?R=qe:(P(),x>0?R=qe:o.setStatus?(o.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>o.setStatus(""),1),r()},1)):r())}function Je(){if(o.preInit)for("function"==typeof o.preInit&&(o.preInit=[o.preInit]);o.preInit.length>0;)o.preInit.shift()()}return Je(),qe(),i},r.exports=a,r.exports.default=a),t.exports;var r,n,a}const a=r(n()),o=Object.freeze(Object.defineProperty({__proto__:null,default:a},Symbol.toStringTag,{value:"Module"}));export{o as l};
5
+ import{g as r}from"./_commonjsHelpers.js";var e,t={exports:{}};function n(){return e||(e=1,r=t,n="undefined"!=typeof document?document.currentScript?.src:void 0,a=async function(r={}){var e,t=r,a="./this.program",o="";function i(r){return t.locateFile?t.locateFile(r,o):o+r}try{o=new URL(".",n).href}catch{}e=async r=>{var e=await fetch(r,{credentials:"same-origin"});if(e.ok)return e.arrayBuffer();throw new Error(e.status+" : "+e.url)},console.log.bind(console);var u,s,f,l,c,p,v,d,h,g,m,y,w,T,A=console.error.bind(console),b=!1,P=!1;function C(){var r=l.buffer;c=new Int8Array(r),v=new Int16Array(r),t.HEAPU8=p=new Uint8Array(r),d=new Uint16Array(r),h=new Int32Array(r),t.HEAPU32=g=new Uint32Array(r),m=new Float32Array(r),t.HEAPF64=y=new Float64Array(r),w=new BigInt64Array(r),T=new BigUint64Array(r)}function W(){if(t.preRun)for("function"==typeof t.preRun&&(t.preRun=[t.preRun]);t.preRun.length;)z(t.preRun.shift());H(L)}function E(){P=!0,Ne.E()}function F(){if(t.postRun)for("function"==typeof t.postRun&&(t.postRun=[t.postRun]);t.postRun.length;)N(t.postRun.shift());H(j)}var _,x=0,R=null;function $(r){x++,t.monitorRunDependencies?.(x)}function S(r){if(x--,t.monitorRunDependencies?.(x),0==x&&R){var e=R;R=null,e()}}function k(r){t.onAbort?.(r),A(r="Aborted("+r+")"),b=!0,r+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(r);throw f?.(e),e}function I(){return i("lyr3DMain.wasm")}function U(r){if(r==_&&u)return new Uint8Array(u);throw"both async and sync fetching of the wasm failed"}async function O(r){if(!u)try{var t=await e(r);return new Uint8Array(t)}catch{}return U(r)}async function D(r,e){try{var t=await O(r);return await WebAssembly.instantiate(t,e)}catch(n){A(`failed to asynchronously prepare wasm: ${n}`),k(n)}}async function V(r,e,t){if(!r&&"function"==typeof WebAssembly.instantiateStreaming)try{var n=fetch(e,{credentials:"same-origin"});return await WebAssembly.instantiateStreaming(n,t)}catch(a){A(`wasm streaming compile failed: ${a}`),A("falling back to ArrayBuffer instantiation")}return D(e,t)}function B(){return{a:je}}async function M(){function r(r,e){return Ne=r.exports,l=Ne.D,C(),Fr=Ne.G,He(Ne),S(),Ne}function e(e){return r(e.instance)}$();var n=B();return t.instantiateWasm?new Promise((e,a)=>{t.instantiateWasm(n,(t,n)=>{e(r(t))})}):(_??=I(),e(await V(u,_,n)))}var H=r=>{for(;r.length>0;)r.shift()(t)},j=[],N=r=>j.push(r),L=[],z=r=>L.push(r);class G{constructor(r){this.excPtr=r,this.ptr=r-24}set_type(r){g[this.ptr+4>>2]=r}get_type(){return g[this.ptr+4>>2]}set_destructor(r){g[this.ptr+8>>2]=r}get_destructor(){return g[this.ptr+8>>2]}set_caught(r){r=r?1:0,c[this.ptr+12]=r}get_caught(){return 0!=c[this.ptr+12]}set_rethrown(r){r=r?1:0,c[this.ptr+13]=r}get_rethrown(){return 0!=c[this.ptr+13]}init(r,e){this.set_adjusted_ptr(0),this.set_type(r),this.set_destructor(e)}set_adjusted_ptr(r){g[this.ptr+16>>2]=r}get_adjusted_ptr(){return g[this.ptr+16>>2]}}var Y=(r,e,t)=>{throw new G(r).init(e,t),r},q=()=>k(""),J={},K=r=>{for(;r.length;){var e=r.pop();r.pop()(e)}};function Q(r){return this.fromWireType(g[r>>2])}var X={},Z={},rr={},er=class extends Error{constructor(r){super(r),this.name="InternalError"}},tr=r=>{throw new er(r)},nr=(r,e,t)=>{function n(e){var n=t(e);n.length!==r.length&&tr("Mismatched type converter count");for(var a=0;a<r.length;++a)cr(r[a],n[a])}r.forEach(r=>rr[r]=e);var a=new Array(e.length),o=[],i=0;e.forEach((r,e)=>{Z.hasOwnProperty(r)?a[e]=Z[r]:(o.push(r),X.hasOwnProperty(r)||(X[r]=[]),X[r].push(()=>{a[e]=Z[r],++i===o.length&&n(a)}))}),0===o.length&&n(a)},ar=r=>{var e=J[r];delete J[r];var t=e.elements,n=t.length,a=t.map(r=>r.getterReturnType).concat(t.map(r=>r.setterArgumentType)),o=e.rawConstructor,i=e.rawDestructor;nr([r],a,r=>(t.forEach((e,t)=>{var a=r[t],o=e.getter,i=e.getterContext,u=r[t+n],s=e.setter,f=e.setterContext;e.read=r=>a.fromWireType(o(i,r)),e.write=(r,e)=>{var t=[];s(f,r,u.toWireType(t,e)),K(t)}}),[{name:e.name,fromWireType:r=>{for(var e=new Array(n),a=0;a<n;++a)e[a]=t[a].read(r);return i(r),e},toWireType:(r,a)=>{if(n!==a.length)throw new TypeError(`Incorrect number of tuple elements for ${e.name}: expected=${n}, actual=${a.length}`);for(var u=o(),s=0;s<n;++s)t[s].write(u,a[s]);return null!==r&&r.push(i,u),u},argPackAdvance:dr,readValueFromPointer:Q,destructorFunction:i}]))},or={},ir=r=>{var e=or[r];delete or[r];var t=e.rawConstructor,n=e.rawDestructor,a=e.fields,o=a.map(r=>r.getterReturnType).concat(a.map(r=>r.setterArgumentType));nr([r],o,r=>{var o={};return a.forEach((e,t)=>{var n=e.fieldName,i=r[t],u=r[t].optional,s=e.getter,f=e.getterContext,l=r[t+a.length],c=e.setter,p=e.setterContext;o[n]={read:r=>i.fromWireType(s(f,r)),write:(r,e)=>{var t=[];c(p,r,l.toWireType(t,e)),K(t)},optional:u}}),[{name:e.name,fromWireType:r=>{var e={};for(var t in o)e[t]=o[t].read(r);return n(r),e},toWireType:(r,e)=>{for(var a in o)if(!(a in e)&&!o[a].optional)throw new TypeError(`Missing field: "${a}"`);var i=t();for(a in o)o[a].write(i,e[a]);return null!==r&&r.push(n,i),i},argPackAdvance:dr,readValueFromPointer:Q,destructorFunction:n}]})},ur=r=>{for(var e="";;){var t=p[r++];if(!t)return e;e+=String.fromCharCode(t)}},sr=class extends Error{constructor(r){super(r),this.name="BindingError"}},fr=r=>{throw new sr(r)};function lr(r,e,t={}){var n=e.name;if(r||fr(`type "${n}" must have a positive integer typeid pointer`),Z.hasOwnProperty(r)){if(t.ignoreDuplicateRegistrations)return;fr(`Cannot register type '${n}' twice`)}if(Z[r]=e,delete rr[r],X.hasOwnProperty(r)){var a=X[r];delete X[r],a.forEach(r=>r())}}function cr(r,e,t={}){return lr(r,e,t)}var pr=(r,e,t)=>{switch(e){case 1:return t?r=>c[r]:r=>p[r];case 2:return t?r=>v[r>>1]:r=>d[r>>1];case 4:return t?r=>h[r>>2]:r=>g[r>>2];case 8:return t?r=>w[r>>3]:r=>T[r>>3];default:throw new TypeError(`invalid integer width (${e}): ${r}`)}},vr=(r,e,t,n,a)=>{e=ur(e);const o=0n===n;let i=r=>r;if(o){const r=8*t;i=e=>BigInt.asUintN(r,e),a=i(a)}cr(r,{name:e,fromWireType:i,toWireType:(r,e)=>("number"==typeof e&&(e=BigInt(e)),e),argPackAdvance:dr,readValueFromPointer:pr(e,t,!o),destructorFunction:null})},dr=8,hr=(r,e,t,n)=>{cr(r,{name:e=ur(e),fromWireType:function(r){return!!r},toWireType:function(r,e){return e?t:n},argPackAdvance:dr,readValueFromPointer:function(r){return this.fromWireType(p[r])},destructorFunction:null})},gr=[],mr=[0,1,,1,null,1,!0,1,!1,1],yr=r=>{r>9&&0===--mr[r+1]&&(mr[r]=void 0,gr.push(r))},wr={toValue:r=>(r||fr(`Cannot use deleted val. handle = ${r}`),mr[r]),toHandle:r=>{switch(r){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:{const e=gr.pop()||mr.length;return mr[e]=r,mr[e+1]=1,e}}}},Tr={name:"emscripten::val",fromWireType:r=>{var e=wr.toValue(r);return yr(r),e},toWireType:(r,e)=>wr.toHandle(e),argPackAdvance:dr,readValueFromPointer:Q,destructorFunction:null},Ar=r=>cr(r,Tr),br=(r,e)=>{switch(e){case 4:return function(r){return this.fromWireType(m[r>>2])};case 8:return function(r){return this.fromWireType(y[r>>3])};default:throw new TypeError(`invalid float width (${e}): ${r}`)}},Pr=(r,e,t)=>{cr(r,{name:e=ur(e),fromWireType:r=>r,toWireType:(r,e)=>e,argPackAdvance:dr,readValueFromPointer:br(e,t),destructorFunction:null})},Cr=(r,e)=>Object.defineProperty(e,"name",{value:r});function Wr(r){for(var e=1;e<r.length;++e)if(null!==r[e]&&void 0===r[e].destructorFunction)return!0;return!1}function Er(r,e,t,n,a,o){var i=e.length;i<2&&fr("argTypes array size mismatch! Must at least get return value and 'this' types!"),e[1];var u=Wr(e),s="void"!==e[0].name,f=i-2,l=new Array(f),c=[],p=[];return Cr(r,function(...r){var t;p.length=0,c.length=1,c[0]=a;for(var o=0;o<f;++o)l[o]=e[o+2].toWireType(p,r[o]),c.push(l[o]);function i(r){if(u)K(p);else for(var n=2;n<e.length;n++){var a=1===n?t:l[n-2];null!==e[n].destructorFunction&&e[n].destructorFunction(a)}if(s)return e[0].fromWireType(r)}return i(n(...c))})}var Fr,_r=(r,e,t)=>{if(void 0===r[e].overloadTable){var n=r[e];r[e]=function(...n){return r[e].overloadTable.hasOwnProperty(n.length)||fr(`Function '${t}' called with an invalid number of arguments (${n.length}) - expects one of (${r[e].overloadTable})!`),r[e].overloadTable[n.length].apply(this,n)},r[e].overloadTable=[],r[e].overloadTable[n.argCount]=n}},xr=(r,e,n)=>{t.hasOwnProperty(r)?((void 0===n||void 0!==t[r].overloadTable&&void 0!==t[r].overloadTable[n])&&fr(`Cannot register public name '${r}' twice`),_r(t,r,r),t[r].overloadTable.hasOwnProperty(n)&&fr(`Cannot register multiple overloads of a function with the same number of arguments (${n})!`),t[r].overloadTable[n]=e):(t[r]=e,t[r].argCount=n)},Rr=(r,e)=>{for(var t=[],n=0;n<r;n++)t.push(g[e+4*n>>2]);return t},$r=(r,e,n)=>{t.hasOwnProperty(r)||tr("Replacing nonexistent public symbol"),void 0!==t[r].overloadTable&&void 0!==n?t[r].overloadTable[n]=e:(t[r]=e,t[r].argCount=n)},Sr=[],kr=r=>{var e=Sr[r];return e||(Sr[r]=e=Fr.get(r)),e},Ir=(r,e,t=!1)=>{function n(){return kr(e)}r=ur(r);var a=n();return"function"!=typeof a&&fr(`unknown function pointer with signature ${r}: ${e}`),a};class Ur extends Error{}var Or,Dr,Vr,Br,Mr=r=>{var e=Dr(r),t=ur(e);return Br(e),t},Hr=(r,e)=>{var t=[],n={};function a(r){n[r]||Z[r]||(rr[r]?rr[r].forEach(a):(t.push(r),n[r]=!0))}throw e.forEach(a),new Ur(`${r}: `+t.map(Mr).join([", "]))},jr=r=>{const e=(r=r.trim()).indexOf("(");return-1===e?r:r.slice(0,e)},Nr=(r,e,t,n,a,o,i,u)=>{var s=Rr(e,t);r=ur(r),r=jr(r),a=Ir(n,a,i),xr(r,function(){Hr(`Cannot call ${r} due to unbound types`,s)},e-1),nr([],s,t=>{var n=[t[0],null].concat(t.slice(1));return $r(r,Er(r,n,null,a,o),e-1),[]})},Lr=(r,e,t,n,a)=>{e=ur(e);let o=r=>r;if(0===n){var i=32-8*t;o=r=>r<<i>>>i,a=o(a)}cr(r,{name:e,fromWireType:o,toWireType:(r,e)=>e,argPackAdvance:dr,readValueFromPointer:pr(e,t,0!==n),destructorFunction:null})},zr=(r,e,t)=>{var n=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][e];function a(r){var e=g[r>>2],t=g[r+4>>2];return new n(c.buffer,t,e)}cr(r,{name:t=ur(t),fromWireType:a,argPackAdvance:dr,readValueFromPointer:a},{ignoreDuplicateRegistrations:!0})},Gr=(r,e,t,n)=>{if(!(n>0))return 0;for(var a=t,o=t+n-1,i=0;i<r.length;++i){var u=r.codePointAt(i);if(u<=127){if(t>=o)break;e[t++]=u}else if(u<=2047){if(t+1>=o)break;e[t++]=192|u>>6,e[t++]=128|63&u}else if(u<=65535){if(t+2>=o)break;e[t++]=224|u>>12,e[t++]=128|u>>6&63,e[t++]=128|63&u}else{if(t+3>=o)break;e[t++]=240|u>>18,e[t++]=128|u>>12&63,e[t++]=128|u>>6&63,e[t++]=128|63&u,i++}}return e[t]=0,t-a},Yr=(r,e,t)=>Gr(r,p,e,t),qr=r=>{for(var e=0,t=0;t<r.length;++t){var n=r.charCodeAt(t);n<=127?e++:n<=2047?e+=2:n>=55296&&n<=57343?(e+=4,++t):e+=3}return e},Jr="undefined"!=typeof TextDecoder?new TextDecoder:void 0,Kr=(r,e=0,t=NaN)=>{for(var n=e+t,a=e;r[a]&&!(a>=n);)++a;if(a-e>16&&r.buffer&&Jr)return Jr.decode(r.subarray(e,a));for(var o="";e<a;){var i=r[e++];if(128&i){var u=63&r[e++];if(192!=(224&i)){var s=63&r[e++];if((i=224==(240&i)?(15&i)<<12|u<<6|s:(7&i)<<18|u<<12|s<<6|63&r[e++])<65536)o+=String.fromCharCode(i);else{var f=i-65536;o+=String.fromCharCode(55296|f>>10,56320|1023&f)}}else o+=String.fromCharCode((31&i)<<6|u)}else o+=String.fromCharCode(i)}return o},Qr=(r,e)=>r?Kr(p,r,e):"",Xr=(r,e)=>{cr(r,{name:e=ur(e),fromWireType(r){for(var e,t=g[r>>2],n=r+4,a=n,o=0;o<=t;++o){var i=n+o;if(o==t||0==p[i]){var u=Qr(a,i-a);void 0===e?e=u:(e+=String.fromCharCode(0),e+=u),a=i+1}}return Br(r),e},toWireType(r,e){var t;e instanceof ArrayBuffer&&(e=new Uint8Array(e));var n="string"==typeof e;n||ArrayBuffer.isView(e)&&1==e.BYTES_PER_ELEMENT||fr("Cannot pass non-string to std::string"),t=n?qr(e):e.length;var a=Vr(4+t+1),o=a+4;return g[a>>2]=t,n?Yr(e,o,t+1):p.set(e,o),null!==r&&r.push(Br,a),a},argPackAdvance:dr,readValueFromPointer:Q,destructorFunction(r){Br(r)}})},Zr="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0,re=(r,e)=>{for(var t=r>>1,n=t+e/2,a=t;!(a>=n)&&d[a];)++a;if(a-t>16&&Zr)return Zr.decode(d.subarray(t,a));for(var o="",i=t;!(i>=n);++i){var u=d[i];if(0==u)break;o+=String.fromCharCode(u)}return o},ee=(r,e,t)=>{if(t??=2147483647,t<2)return 0;for(var n=e,a=(t-=2)<2*r.length?t/2:r.length,o=0;o<a;++o){var i=r.charCodeAt(o);v[e>>1]=i,e+=2}return v[e>>1]=0,e-n},te=r=>2*r.length,ne=(r,e)=>{for(var t="",n=0;!(n>=e/4);n++){var a=h[r+4*n>>2];if(!a)break;t+=String.fromCodePoint(a)}return t},ae=(r,e,t)=>{if(t??=2147483647,t<4)return 0;for(var n=e,a=n+t-4,o=0;o<r.length;++o){var i=r.codePointAt(o);if(i>65535&&o++,h[e>>2]=i,(e+=4)+4>a)break}return h[e>>2]=0,e-n},oe=r=>{for(var e=0,t=0;t<r.length;++t)r.codePointAt(t)>65535&&t++,e+=4;return e},ie=(r,e,t)=>{var n,a,o,i;t=ur(t),2===e?(n=re,a=ee,i=te,o=r=>d[r>>1]):4===e&&(n=ne,a=ae,i=oe,o=r=>g[r>>2]),cr(r,{name:t,fromWireType:r=>{for(var t,a=g[r>>2],i=r+4,u=0;u<=a;++u){var s=r+4+u*e;if(u==a||0==o(s)){var f=n(i,s-i);void 0===t?t=f:(t+=String.fromCharCode(0),t+=f),i=s+e}}return Br(r),t},toWireType:(r,n)=>{"string"!=typeof n&&fr(`Cannot pass non-string to C++ string type ${t}`);var o=i(n),u=Vr(4+o+e);return g[u>>2]=o/e,a(n,u+4,o+e),null!==r&&r.push(Br,u),u},argPackAdvance:dr,readValueFromPointer:Q,destructorFunction(r){Br(r)}})},ue=(r,e,t,n,a,o)=>{J[r]={name:ur(e),rawConstructor:Ir(t,n),rawDestructor:Ir(a,o),elements:[]}},se=(r,e,t,n,a,o,i,u,s)=>{J[r].elements.push({getterReturnType:e,getter:Ir(t,n),getterContext:a,setterArgumentType:o,setter:Ir(i,u),setterContext:s})},fe=(r,e,t,n,a,o)=>{or[r]={name:ur(e),rawConstructor:Ir(t,n),rawDestructor:Ir(a,o),fields:[]}},le=(r,e,t,n,a,o,i,u,s,f)=>{or[r].fields.push({fieldName:ur(e),getterReturnType:t,getter:Ir(n,a),getterContext:o,setterArgumentType:i,setter:Ir(u,s),setterContext:f})},ce=(r,e)=>{cr(r,{isVoid:!0,name:e=ur(e),argPackAdvance:0,fromWireType:()=>{},toWireType:(r,e)=>{}})},pe=r=>{r>9&&(mr[r+1]+=1)},ve=()=>wr.toHandle([]),de={},he=r=>{var e=de[r];return void 0===e?ur(r):e},ge=r=>wr.toHandle(he(r)),me=()=>wr.toHandle({}),ye=(r,e,t)=>{r=wr.toValue(r),e=wr.toValue(e),t=wr.toValue(t),r[e]=t},we=(r,e)=>{var t=Z[r];return void 0===t&&fr(`${e} has unknown type ${Mr(r)}`),t},Te=(r,e)=>{var t=(r=we(r,"_emval_take_value")).readValueFromPointer(e);return wr.toHandle(t)},Ae=(r,e,t,n)=>{var a=(new Date).getFullYear(),o=new Date(a,0,1),i=new Date(a,6,1),u=o.getTimezoneOffset(),s=i.getTimezoneOffset(),f=Math.max(u,s);g[r>>2]=60*f,h[e>>2]=Number(u!=s);var l=r=>{var e=r>=0?"-":"+",t=Math.abs(r);return`UTC${e}${String(Math.floor(t/60)).padStart(2,"0")}${String(t%60).padStart(2,"0")}`},c=l(u),p=l(s);s<u?(Yr(c,t,17),Yr(p,n,17)):(Yr(c,n,17),Yr(p,t,17))},be=()=>2147483648,Pe=(r,e)=>Math.ceil(r/e)*e,Ce=r=>{var e=(r-l.buffer.byteLength+65535)/65536|0;try{return l.grow(e),C(),1}catch(t){}},We=r=>{var e=p.length;r>>>=0;var t=be();if(r>t)return!1;for(var n=1;n<=4;n*=2){var a=e*(1+.2/n);a=Math.min(a,r+100663296);var o=Math.min(t,Pe(Math.max(r,a),65536));if(Ce(o))return!0}return!1},Ee={},Fe=()=>a||"./this.program",_e=()=>{if(!_e.strings){var r={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.language||"C").replace("-","_")+".UTF-8",_:Fe()};for(var e in Ee)void 0===Ee[e]?delete r[e]:r[e]=Ee[e];var t=[];for(var e in r)t.push(`${e}=${r[e]}`);_e.strings=t}return _e.strings},xe=(r,e)=>{var t=0,n=0;for(var a of _e()){var o=e+t;g[r+n>>2]=o,t+=Yr(a,o,1/0)+1,n+=4}return 0},Re=(r,e)=>{var t=_e();g[r>>2]=t.length;var n=0;for(var a of t)n+=qr(a)+1;return g[e>>2]=n,0},$e=(r,e)=>{r<128?e.push(r):e.push(r%128|128,r>>7)},Se=r=>{for(var e={i:"i32",j:"i64",f:"f32",d:"f64",e:"externref",p:"i32"},t={parameters:[],results:"v"==r[0]?[]:[e[r[0]]]},n=1;n<r.length;++n)t.parameters.push(e[r[n]]);return t},ke=(r,e)=>{var t=r.slice(0,1),n=r.slice(1),a={i:127,p:127,j:126,f:125,d:124,e:111};for(var o of(e.push(96),$e(n.length,e),n))e.push(a[o]);"v"==t?e.push(0):e.push(1,a[t])},Ie=(r,e)=>{if("function"==typeof WebAssembly.Function)return new WebAssembly.Function(Se(e),r);var t=[1];ke(e,t);var n=[0,97,115,109,1,0,0,0,1];$e(t.length,n),n.push(...t),n.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0);var a=new WebAssembly.Module(new Uint8Array(n));return new WebAssembly.Instance(a,{e:{f:r}}).exports.f},Ue=(r,e)=>{if(Or)for(var t=r;t<r+e;t++){var n=kr(t);n&&Or.set(n,t)}},Oe=r=>(Or||(Or=new WeakMap,Ue(0,Fr.length)),Or.get(r)||0),De=[],Ve=()=>{if(De.length)return De.pop();try{Fr.grow(1)}catch(A){if(!(A instanceof RangeError))throw A;throw"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH."}return Fr.length-1},Be=(r,e)=>{Fr.set(r,e),Sr[r]=Fr.get(r)},Me=(r,e)=>{var t=Oe(r);if(t)return t;var n=Ve();try{Be(n,r)}catch(A){if(!(A instanceof TypeError))throw A;var a=Ie(r,e);Be(n,a)}return Or.set(r,n),n};function He(r){Dr=r.F,t._malloc=Vr=r.H,t._free=Br=r.I}t.noExitRuntime&&t.noExitRuntime,t.print&&t.print,t.printErr&&(A=t.printErr),t.wasmBinary&&(u=t.wasmBinary),t.arguments&&t.arguments,t.thisProgram&&(a=t.thisProgram),t.addFunction=Me,t.UTF8ToString=Qr;var je={k:Y,x:q,l:ar,s:ir,q:vr,C:hr,A:Ar,p:Pr,c:Nr,h:Lr,b:zr,B:Xr,n:ie,m:ue,d:se,t:fe,i:le,r:ce,a:yr,o:pe,z:ve,g:ge,j:me,e:ye,f:Te,u:Ae,y:We,v:xe,w:Re},Ne=await M();function Le(){function r(){t.calledRun=!0,b||(E(),s?.(t),t.onRuntimeInitialized?.(),F())}x>0?R=Le:(W(),x>0?R=Le:t.setStatus?(t.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>t.setStatus(""),1),r()},1)):r())}function ze(){if(t.preInit)for("function"==typeof t.preInit&&(t.preInit=[t.preInit]);t.preInit.length>0;)t.preInit.shift()()}return ze(),Le(),P?t:new Promise((r,e)=>{s=r,f=e})},r.exports=a,r.exports.default=a),t.exports;var r,n,a}const a=r(n()),o=Object.freeze(Object.defineProperty({__proto__:null,default:a},Symbol.toStringTag,{value:"Module"}));export{o as l};