@arcgis/core 6.0.0-next.27 → 6.0.0-next.29

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 (421) hide show
  1. package/Map.d.ts +6 -0
  2. package/analysis/AreaMeasurementAnalysis.d.ts +4 -2
  3. package/analysis/DirectLineMeasurementAnalysis.d.ts +8 -4
  4. package/arcgisGlobal.d.ts +0 -2
  5. package/assets/esri/core/workers/RemoteClient.js +1 -1
  6. package/assets/esri/core/workers/chunks/131185d26343a997495e.js +1 -0
  7. package/assets/esri/core/workers/chunks/144bad0c2415c345736a.js +1 -0
  8. package/assets/esri/core/workers/chunks/176d0a06ebff5a29dedf.js +1 -0
  9. package/assets/esri/core/workers/chunks/{b0ca81a07cff25df19d2.js → 176d75e76318bfc25a53.js} +1 -1
  10. package/assets/esri/core/workers/chunks/18776a130d96879a68b1.js +1 -0
  11. package/assets/esri/core/workers/chunks/{e35641a3a4da8cfbcf54.js → 189321d88026bd7e6d3e.js} +1 -1
  12. package/assets/esri/core/workers/chunks/18e7fa4d3e0b1a084cc6.js +1 -0
  13. package/assets/esri/core/workers/chunks/{1168bc5c9f0a7e1f63a2.js → 1989410a618865f02dec.js} +1 -1
  14. package/assets/esri/core/workers/chunks/{2c0cb214fedb29487eef.js → 199a7f97916679e0257c.js} +1 -1
  15. package/assets/esri/core/workers/chunks/1c406ab2bf99ac563316.js +1 -0
  16. package/assets/esri/core/workers/chunks/1d96fbad881a7d14a950.js +1 -0
  17. package/assets/esri/core/workers/chunks/{42d44c7d532df5ee70e9.js → 1deca3de77b1a9a07da4.js} +1 -1
  18. package/assets/esri/core/workers/chunks/{45f826554499c38968c6.js → 1ee4df0fd61440cb5f02.js} +1 -1
  19. package/assets/esri/core/workers/chunks/22e73501e1435a896826.js +1 -0
  20. package/assets/esri/core/workers/chunks/25657f70c5f04a4ed978.js +1 -0
  21. package/assets/esri/core/workers/chunks/276a0b549acf048e8673.js +1 -0
  22. package/assets/esri/core/workers/chunks/{56e903ccef66cbe18f92.js → 2cd60fd062d954322c1f.js} +1 -1
  23. package/assets/esri/core/workers/chunks/{ad96132bc89671e595f3.js → 2d3e0e4442dbc6ec6def.js} +1 -1
  24. package/assets/esri/core/workers/chunks/2de4296590bf9f9e9add.js +1 -0
  25. package/assets/esri/core/workers/chunks/2f5d014d6a72108b0b3a.js +1 -0
  26. package/assets/esri/core/workers/chunks/{0363d29fc665d169ebc4.js → 3105336a05f38a95ebea.js} +1 -1
  27. package/assets/esri/core/workers/chunks/379ef56f6b32494832a6.js +1 -0
  28. package/assets/esri/core/workers/chunks/3aafdb905c697bc9b1ad.js +1 -0
  29. package/assets/esri/core/workers/chunks/40c2674dae73f0942751.js +1 -0
  30. package/assets/esri/core/workers/chunks/418addce122dbb8897b4.js +1 -0
  31. package/assets/esri/core/workers/chunks/4419732baf3459a80e6d.js +1 -0
  32. package/assets/esri/core/workers/chunks/4976f5567fc7f1b63d10.js +1 -0
  33. package/assets/esri/core/workers/chunks/4e17665dd9048c300d87.js +1 -0
  34. package/assets/esri/core/workers/chunks/5396b6e99a0546a25d19.js +1 -0
  35. package/assets/esri/core/workers/chunks/53c7510df09b71ab5646.js +1 -0
  36. package/assets/esri/core/workers/chunks/561c48cb4d49b150765b.js +1 -0
  37. package/assets/esri/core/workers/chunks/{d90a3bfd45b5ed4092e0.js → 590fe0f56bc4c33a50e7.js} +1 -1
  38. package/assets/esri/core/workers/chunks/5bb6c255bdc8aa9ba23e.js +1 -0
  39. package/assets/esri/core/workers/chunks/5f1cb79aec9c4a9b7ddc.js +29 -0
  40. package/assets/esri/core/workers/chunks/{23a4806b4cdf7cc32e4d.js → 5f787809b74eed7b9a91.js} +1 -1
  41. package/assets/esri/core/workers/chunks/636e9c4ac1f9ae98f9d1.js +1 -0
  42. package/assets/esri/core/workers/chunks/654f5441227579d2b6b4.js +1 -0
  43. package/assets/esri/core/workers/chunks/692f0093c444fcc752b5.js +1 -0
  44. package/assets/esri/core/workers/chunks/69627b2634da64dd885f.js +1 -0
  45. package/assets/esri/core/workers/chunks/6a7de221cea4426cb490.js +1 -0
  46. package/assets/esri/core/workers/chunks/7030a4d0714a35995a58.js +1 -0
  47. package/assets/esri/core/workers/chunks/72d20d3957d612f86431.js +1 -0
  48. package/assets/esri/core/workers/chunks/7862abd24fb5c3b12e6b.js +1 -0
  49. package/assets/esri/core/workers/chunks/7a0b4dc0cda190367a39.js +1 -0
  50. package/assets/esri/core/workers/chunks/{ab1660f5f8a5268c2fac.js → 84038dd85005fea413eb.js} +1 -1
  51. package/assets/esri/core/workers/chunks/849f446c718e892f39ce.js +1 -0
  52. package/assets/esri/core/workers/chunks/{8ac2098ecdc40ad41055.js → 8502274806ea52308822.js} +1 -1
  53. package/assets/esri/core/workers/chunks/865cebc5c982c040ab6f.js +1 -0
  54. package/assets/esri/core/workers/chunks/{76196c414e48834f7b92.js → 8f008eedb11685ee2048.js} +1 -1
  55. package/assets/esri/core/workers/chunks/90d797ab82d4a68ba32f.js +1 -0
  56. package/assets/esri/core/workers/chunks/9184c947cdefe06bf551.js +1 -0
  57. package/assets/esri/core/workers/chunks/9976eaa81085c0d17e14.js +1 -0
  58. package/assets/esri/core/workers/chunks/{177f353ce72133e2eeed.js → 9c2436464b7dfd666678.js} +1 -1
  59. package/assets/esri/core/workers/chunks/a125650edbed802e419a.js +1 -0
  60. package/assets/esri/core/workers/chunks/{23fd4de56de352f63e2d.js → a2196a49f89d57a0a1c7.js} +1 -1
  61. package/assets/esri/core/workers/chunks/ad21757d78e372fa2ed6.js +1 -0
  62. package/assets/esri/core/workers/chunks/b01688ccc29d33bfc82d.js +1 -0
  63. package/assets/esri/core/workers/chunks/b5eff28cf482d920b9ea.js +1 -0
  64. package/assets/esri/core/workers/chunks/{04ecf15524ff3838c01c.js → ba4520ddcb6a49988da6.js} +1 -1
  65. package/assets/esri/core/workers/chunks/be55771758e4bcef0976.js +1 -0
  66. package/assets/esri/core/workers/chunks/bead830a677690eeb6fb.js +1 -0
  67. package/assets/esri/core/workers/chunks/c131e0dd180a4c10e12e.js +1 -0
  68. package/assets/esri/core/workers/chunks/c1cf3edce15f09648eb4.js +1 -0
  69. package/assets/esri/core/workers/chunks/c4f78a481f43cfae7b63.js +1 -0
  70. package/assets/esri/core/workers/chunks/c570b90995c65bbb2e14.js +1 -0
  71. package/assets/esri/core/workers/chunks/c576bef77e34920af188.js +1 -0
  72. package/assets/esri/core/workers/chunks/c9feffb9884cfed52c4b.js +1 -0
  73. package/assets/esri/core/workers/chunks/cc97e4fd0dacad970a23.js +1 -0
  74. package/assets/esri/core/workers/chunks/ce324dde6d7daea33638.js +1 -0
  75. package/assets/esri/core/workers/chunks/d1d6154b4af1c9cc497b.js +1 -0
  76. package/assets/esri/core/workers/chunks/d3c3fb079ad97970f834.js +1 -0
  77. package/assets/esri/core/workers/chunks/daae21cf77864f3293ef.js +1 -0
  78. package/assets/esri/core/workers/chunks/dc2f93453dfa40f623ab.js +1 -0
  79. package/assets/esri/core/workers/chunks/dcf6024dc19428ff2b9d.js +1 -0
  80. package/assets/esri/core/workers/chunks/dd30b02c5978c1c5f511.js +1 -0
  81. package/assets/esri/core/workers/chunks/de3f140058aa0b907b65.js +1 -0
  82. package/assets/esri/core/workers/chunks/df375d1b0dab5ecbd1be.js +1 -0
  83. package/assets/esri/core/workers/chunks/{ef2c3febcceedc44b3ac.js → dfd4782b11d6fdca0492.js} +1 -1
  84. package/assets/esri/core/workers/chunks/{48cc58890fddbcf69cef.js → e121d15b883184ee83e7.js} +1 -1
  85. package/assets/esri/core/workers/chunks/{67e06d606c7fd2064adf.js → e2c6cd8dac01e129ccfe.js} +1 -1
  86. package/assets/esri/core/workers/chunks/e3b212f8af448ec29eef.js +1 -0
  87. package/assets/esri/core/workers/chunks/e4042e43f0081fe49f7b.js +1 -0
  88. package/assets/esri/core/workers/chunks/e480e7d5f40049a2053b.js +1 -0
  89. package/assets/esri/core/workers/chunks/eaab787a5f2445be5e5a.js +1 -0
  90. package/assets/esri/core/workers/chunks/edd36a1fc80b1d29907e.js +1 -0
  91. package/assets/esri/core/workers/chunks/ee0dc906cc7979080329.js +1 -0
  92. package/assets/esri/core/workers/chunks/f07fb9b3fa30d7ee1681.js +1 -0
  93. package/assets/esri/core/workers/chunks/f09bc86cd52224febfcb.js +1 -0
  94. package/assets/esri/core/workers/chunks/{037c67ef5c4398d5954d.js → f2dab9fcd90ce38ae3d1.js} +1 -1
  95. package/assets/esri/core/workers/chunks/f39c700f3db7db52b522.js +1 -0
  96. package/assets/esri/core/workers/chunks/f3b4159c0722df8ffe13.js +1 -0
  97. package/assets/esri/core/workers/chunks/f3dc0bc0e00635855a7a.js +1 -0
  98. package/assets/esri/core/workers/chunks/f45064066e1ab041a0b2.js +1 -0
  99. package/assets/esri/core/workers/chunks/f7398cfd8bbd041bd635.js +1 -0
  100. package/assets/esri/core/workers/chunks/f9dc38761b314d33890f.js +1 -0
  101. package/assets/esri/core/workers/chunks/fe6dcb21570395e46ce8.js +1 -0
  102. package/assets/esri/core/workers/chunks/{00580a68835aac653038.js → fefdd10bdd5a4c8d8ed0.js} +45 -48
  103. package/assets/esri/core/workers/chunks/ffe49d9e7df081bef4a5.js +1 -0
  104. package/assets/esri/themes/base/_core.scss +0 -2
  105. package/assets/esri/themes/dark/main.css +1 -1
  106. package/assets/esri/themes/light/main.css +1 -1
  107. package/assets/esri/themes/light/view.css +1 -1
  108. package/chunks/BlendLayers.glsl.js +1 -1
  109. package/chunks/Component.glsl.js +51 -54
  110. package/chunks/EmissionComposite.glsl.js +1 -1
  111. package/chunks/Fog.glsl.js +1 -1
  112. package/chunks/GaussianSplat.glsl.js +65 -21
  113. package/chunks/GaussianSplatDepth.glsl.js +53 -4
  114. package/chunks/GaussianSplatShadow.glsl.js +83 -19
  115. package/chunks/GlobalIllumination.glsl.js +2 -17
  116. package/chunks/LineMarker.glsl.js +32 -31
  117. package/chunks/OITAddEmission.glsl.js +1 -1
  118. package/chunks/RasterColorizer.glsl.js +1 -1
  119. package/chunks/RibbonLine.glsl.js +34 -34
  120. package/chunks/Terrain.glsl.js +3 -4
  121. package/chunks/Water.glsl.js +22 -23
  122. package/config.d.ts +12 -9
  123. package/config.js +1 -1
  124. package/form/FormTemplate.d.ts +1 -1
  125. package/form/elements/AttachmentElement.d.ts +2 -0
  126. package/form/elements/FieldElement.d.ts +2 -2
  127. package/form/elements/FieldElement.js +1 -1
  128. package/form/elements/RelationshipElement.d.ts +1 -1
  129. package/form/elements/TextElement.d.ts +2 -2
  130. package/form/elements/UtilityNetworkAssociationsElement.d.ts +1 -1
  131. package/form/elements/inputs/DynamicChoiceInput.d.ts +2 -2
  132. package/form/elements/inputs/inputUtils.js +1 -1
  133. package/form/elements/inputs/types.d.ts +19 -0
  134. package/form/elements/inputs.d.ts +3 -2
  135. package/form/elements/inputs.js +1 -1
  136. package/geometry/operators/containsOperator.d.ts +1 -1
  137. package/geometry/operators/densifyOperator.d.ts +1 -1
  138. package/geometry/operators/differenceOperator.d.ts +6 -4
  139. package/geometry/operators/distanceOperator.d.ts +1 -1
  140. package/geometry/operators/geodesicProximityOperator.d.ts +8 -8
  141. package/geometry/operators/graphicBufferOperator.d.ts +6 -6
  142. package/geometry/operators/integrateOperator.d.ts +2 -2
  143. package/geometry/operators/intersectsOperator.d.ts +3 -3
  144. package/geometry/operators/linesToPolygonsOperator.d.ts +2 -2
  145. package/geometry/operators/locateBetweenOperator.d.ts +2 -2
  146. package/geometry/operators/minimumBoundingCircleOperator.d.ts +1 -1
  147. package/geometry/operators/multiPartToSinglePartOperator.d.ts +2 -2
  148. package/geometry/operators/polygonSlicerOperator.d.ts +2 -2
  149. package/geometry/operators/projectOperator.d.ts +2 -2
  150. package/geometry/operators/proximityOperator.d.ts +15 -15
  151. package/geometry/operators/shapePreservingProjectOperator.d.ts +2 -2
  152. package/geometry/operators/simplifyOperator.d.ts +2 -2
  153. package/geometry/operators/support/GeographicTransformationStep.d.ts +3 -3
  154. package/geometry/operators/support/Transformation.d.ts +8 -8
  155. package/geometry/operators/support/geographicTransformationUtils.d.ts +3 -3
  156. package/geometry/operators/symmetricDifferenceOperator.d.ts +2 -2
  157. package/geometry/operators/withinOperator.d.ts +3 -3
  158. package/interfaces.d.ts +0 -14
  159. package/kernel.js +1 -1
  160. package/layers/GeospatialPDFLayer.d.ts +2 -2
  161. package/layers/ParquetLayer.d.ts +1 -1
  162. package/layers/VideoLayer.d.ts +5 -5
  163. package/layers/knowledgeGraph/KnowledgeGraphSublayer.js +1 -1
  164. package/layers/orientedImagery/core/coverageUtils.js +1 -1
  165. package/layers/orientedImagery/transformations/rotationUtils.js +2 -0
  166. package/layers/orientedImagery/transformations/utils.js +1 -1
  167. package/layers/save/parquetLayerUtils.js +1 -1
  168. package/layers/support/vectorTileLayerLoader.js +1 -1
  169. package/package.json +2 -2
  170. package/popup/FeaturesModel.js +1 -1
  171. package/popup/support/featureUtils.js +1 -1
  172. package/rest/featureService/FeatureService.d.ts +0 -5
  173. package/rest/networks/support/TraceLocation.d.ts +2 -1
  174. package/rest/networks/support/TraceResult.d.ts +0 -4
  175. package/rest/support/OutDistance.d.ts +0 -1
  176. package/smartMapping/statistics/histogramForTimeSeries.js +1 -1
  177. package/smartMapping/statistics/summaryStatisticsForTimeSeries.js +1 -1
  178. package/smartMapping/support/adapters/support/histogramUtils.js +1 -1
  179. package/support/BasemapStyle.d.ts +2 -2
  180. package/symbols/cim/types.d.ts +7 -9
  181. package/views/2d/engine/vectorTiles/TileHandler.js +1 -1
  182. package/views/2d/engine/vectorTiles/style/GeoJSONVectorTileSource.js +1 -1
  183. package/views/2d/engine/vectorTiles/style/GeoJSONVectorTileSourceWorker.js +1 -1
  184. package/views/2d/engine/vectorTiles/style/geoJSONVectorTileUtils.js +2 -0
  185. package/views/2d/engine/webgl/animations/instructions.js +1 -1
  186. package/views/2d/engine/webgl/collisions/LabelMetric.js +1 -1
  187. package/views/2d/engine/webgl/collisions/LabelStore.js +1 -1
  188. package/views/2d/layers/VectorTileLayerView2D.js +1 -1
  189. package/views/2d/layers/features/FeatureContainer.js +1 -1
  190. package/views/2d/layers/features/schema/processor/symbols/ComplexSymbolSchema.js +1 -1
  191. package/views/2d/layers/support/visualVariableSimpleUtils.js +1 -1
  192. package/views/3d/analysis/AreaMeasurement/support/AreaMeasurementPathHelper.js +1 -1
  193. package/views/3d/analysis/AreaMeasurement/support/MeasurementData.js +1 -1
  194. package/views/3d/analysis/DirectLineMeasurement/DirectLineMeasurementController.js +1 -1
  195. package/views/3d/analysis/support/projectionUtils.js +1 -1
  196. package/views/3d/environment/SunLighting.d.ts +15 -2
  197. package/views/3d/environment/VirtualLighting.d.ts +15 -2
  198. package/views/3d/input/SceneInputManager.js +1 -1
  199. package/views/3d/input/handlers/ground/GroundMouseWheelMove.js +2 -0
  200. package/views/3d/interactive/editingTools/reshape/ReshapeOperation.js +1 -1
  201. package/views/3d/interactive/measurementTools/directLineMeasurement3D/DirectLineMeasurement3DTool.js +1 -1
  202. package/views/3d/interactive/measurementTools/directLineMeasurement3D/DirectLineMeasurement3DView.js +1 -1
  203. package/views/3d/layers/ImageryTileLayerView3D.js +1 -1
  204. package/views/3d/layers/support/FeatureTileFetcher3D.js +1 -1
  205. package/views/3d/navigation/Navigation3D.js +1 -1
  206. package/views/3d/state/controllers/GroundMouseWheelController.js +2 -0
  207. package/views/3d/state/controllers/PointToPointAnimationController.js +1 -1
  208. package/views/3d/state/utils/OffsetCorrectionController.js +1 -1
  209. package/views/3d/state/utils/groundNavigationUtils.js +1 -1
  210. package/views/3d/support/ResourceController.js +1 -1
  211. package/views/3d/terrain/BlendLayers.glsl.js +1 -1
  212. package/views/3d/terrain/RasterColorizer.glsl.js +1 -1
  213. package/views/3d/terrain/TerrainRenderer.js +1 -1
  214. package/views/3d/terrain/TerrainSurface.js +1 -1
  215. package/views/3d/terrain/TileAgent.js +1 -1
  216. package/views/3d/terrain/TileCompositor.js +1 -1
  217. package/views/3d/terrain/TileRenderer.js +1 -1
  218. package/views/3d/webgl-engine/Stage.js +1 -1
  219. package/views/3d/webgl-engine/collections/Component/Material/Component.glsl.js +1 -1
  220. package/views/3d/webgl-engine/core/shaderLibrary/attributes/RibbonVertexPosition.glsl.js +23 -26
  221. package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexPosition.glsl.js +18 -21
  222. package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexTangent.glsl.js +7 -8
  223. package/views/3d/webgl-engine/core/shaderLibrary/attributes/VerticalOffset.glsl.js +5 -5
  224. package/views/3d/webgl-engine/core/shaderLibrary/shading/ComputeFragmentNormals.glsl.js +10 -12
  225. package/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js +22 -25
  226. package/views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js +3 -5
  227. package/views/3d/webgl-engine/core/shaderLibrary/shading/forwardLocalUp.glsl.js +6 -0
  228. package/views/3d/webgl-engine/core/shaderLibrary/shading/getLocalUp.glsl.js +4 -0
  229. package/views/3d/webgl-engine/core/shaderLibrary/terrain/TerrainTexture.glsl.js +1 -1
  230. package/views/3d/webgl-engine/core/shaderLibrary/terrain/{TileBackground.glsl.js → blendLayers.glsl.js} +10 -11
  231. package/views/3d/webgl-engine/core/shaderLibrary/util/GaussianSplatEvaluation.glsl.js +8 -2
  232. package/views/3d/webgl-engine/core/shaderLibrary/util/cameraUniforms.js +1 -1
  233. package/views/3d/webgl-engine/effects/RenderPluginContext.js +2 -0
  234. package/views/3d/webgl-engine/effects/fog/Fog.js +1 -1
  235. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIllumination.js +1 -1
  236. package/views/3d/webgl-engine/effects/glow/applyEmissiveGlow.glsl.js +3 -3
  237. package/views/3d/webgl-engine/effects/highlight/Highlight.js +1 -1
  238. package/views/3d/webgl-engine/lib/GaussianSplatDepthRenderer.js +1 -1
  239. package/views/3d/webgl-engine/lib/GaussianSplatRenderer.js +1 -1
  240. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  241. package/views/3d/webgl-engine/lib/edgeRendering/EdgeUtil.glsl.js +30 -35
  242. package/views/3d/webgl-engine/materials/Water.glsl.js +1 -1
  243. package/views/3d/webgl-engine/parts/RenderView.js +1 -1
  244. package/views/3d/webgl-engine/shaders/EmissiveTechniqueConfiguration.js +1 -1
  245. package/views/3d/webgl-engine/shaders/GaussianSplat.glsl.js +1 -1
  246. package/views/3d/webgl-engine/shaders/GaussianSplatDepth.glsl.js +1 -1
  247. package/views/3d/webgl-engine/shaders/GaussianSplatPass.glsl.js +70 -108
  248. package/views/3d/webgl-engine/shaders/GaussianSplatShadow.glsl.js +1 -1
  249. package/views/3d/webgl-engine/shaders/GaussianSplatTechniqueConfiguration.js +1 -1
  250. package/views/3d/webgl-engine/shaders/LineMarker.glsl.js +1 -1
  251. package/views/3d/webgl-engine/shaders/RibbonLine.glsl.js +1 -1
  252. package/views/3d/webgl-engine/shaders/Terrain.glsl.js +1 -1
  253. package/views/VideoView.d.ts +10 -0
  254. package/views/VideoView.js +1 -1
  255. package/views/draw/DrawOperation.js +1 -1
  256. package/views/draw/DrawScreenTool.js +1 -1
  257. package/views/input/types.d.ts +2 -4
  258. package/views/interactive/options/LabelOptions.d.ts +5 -5
  259. package/views/interactive/options/SnappingOptions.d.ts +2 -2
  260. package/views/layers/LayerView.d.ts +10 -2
  261. package/widgets/BatchAttributeForm/inputs/FieldInput.d.ts +2 -3
  262. package/widgets/Editor/EditorViewModel.d.ts +10 -12
  263. package/widgets/Editor/VisibleElements.d.ts +4 -0
  264. package/widgets/Editor.d.ts +2 -0
  265. package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
  266. package/widgets/FeatureTable/support/EditableColumnTemplateMixin.js +1 -1
  267. package/widgets/FeatureTable.js +1 -1
  268. package/widgets/Features/FeaturesViewModel.js +1 -1
  269. package/widgets/OrientedImageryViewer/ImageMeasurementWorker.js +1 -1
  270. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  271. package/widgets/OrientedImageryViewer/adapters/sketch/MeasurementAdapter.js +1 -1
  272. package/widgets/OrientedImageryViewer/adapters/view/SceneViewAdapter.js +1 -1
  273. package/widgets/OrientedImageryViewer/imageMeasurementUtils.js +1 -1
  274. package/widgets/OrientedImageryViewer/imageMeasurementWorkerUtils.js +2 -0
  275. package/widgets/OrientedImageryViewer/services/ImageMeasurementService.js +1 -1
  276. package/widgets/OrientedImageryViewer/support/NonPanoramicMedia.js +1 -1
  277. package/widgets/OrientedImageryViewer/support/dataCaptureUtils.js +1 -1
  278. package/widgets/OrientedImageryViewer/support/superimposeUtils.js +1 -1
  279. package/widgets/PanoramicViewer/utils.js +1 -1
  280. package/widgets/Search/LayerSearchSource.d.ts +1 -1
  281. package/widgets/Sketch/VisibleElements.d.ts +4 -0
  282. package/widgets/Sketch.d.ts +2 -0
  283. package/widgets/support/iconUtils.js +1 -1
  284. package/assets/esri/core/workers/chunks/010f57ec7fdbedf78d02.js +0 -1
  285. package/assets/esri/core/workers/chunks/0487e1d7a7cecf7c1c25.js +0 -1
  286. package/assets/esri/core/workers/chunks/09300e74e5b014ce6269.js +0 -1
  287. package/assets/esri/core/workers/chunks/0bd04bcd4b2710838d48.js +0 -1
  288. package/assets/esri/core/workers/chunks/0d9c4c6c571ce26d356b.js +0 -1
  289. package/assets/esri/core/workers/chunks/112ed86f812e4400a7e0.js +0 -1
  290. package/assets/esri/core/workers/chunks/151e5799ede763a03ee2.js +0 -1
  291. package/assets/esri/core/workers/chunks/173f89c55a5c79ff065b.js +0 -1
  292. package/assets/esri/core/workers/chunks/2447d2e2a4a3ab8fcf94.js +0 -1
  293. package/assets/esri/core/workers/chunks/2a36fe3f3f257a779a1b.js +0 -1
  294. package/assets/esri/core/workers/chunks/2a97268000c6d03ef720.js +0 -1
  295. package/assets/esri/core/workers/chunks/2cf8172be83b10b11bdc.js +0 -1
  296. package/assets/esri/core/workers/chunks/2df37a9a95ceebb87a5f.js +0 -1
  297. package/assets/esri/core/workers/chunks/2e00c155e447e4930442.js +0 -1
  298. package/assets/esri/core/workers/chunks/2f91fd61019d2a37476d.js +0 -1
  299. package/assets/esri/core/workers/chunks/30af63b3b750142faadb.js +0 -1
  300. package/assets/esri/core/workers/chunks/3a47fc97c400fca2c736.js +0 -1
  301. package/assets/esri/core/workers/chunks/3cd04d23b73beaf79650.js +0 -1
  302. package/assets/esri/core/workers/chunks/426b4eb500fdfe9df325.js +0 -1
  303. package/assets/esri/core/workers/chunks/45367aa8e5c5d574de94.js +0 -1
  304. package/assets/esri/core/workers/chunks/47c97640ec525676918b.js +0 -1
  305. package/assets/esri/core/workers/chunks/47d074136a7f8e551a9a.js +0 -1
  306. package/assets/esri/core/workers/chunks/4a6b92ecbb1f1c55cc43.js +0 -1
  307. package/assets/esri/core/workers/chunks/4cb751dc8d00bdaeb04c.js +0 -1
  308. package/assets/esri/core/workers/chunks/518ab22f80c3300bcfff.js +0 -1
  309. package/assets/esri/core/workers/chunks/53ff68d4f9e365fc15cd.js +0 -1
  310. package/assets/esri/core/workers/chunks/58609bf94f72bc4f1952.js +0 -1
  311. package/assets/esri/core/workers/chunks/586a929bc037e23857af.js +0 -1
  312. package/assets/esri/core/workers/chunks/5c7780f804d789cb37f5.js +0 -1
  313. package/assets/esri/core/workers/chunks/5d76f4d97beee494bbbf.js +0 -1
  314. package/assets/esri/core/workers/chunks/603fdbbe9534c614928f.js +0 -1
  315. package/assets/esri/core/workers/chunks/611e3cdf67283c11576f.js +0 -1
  316. package/assets/esri/core/workers/chunks/6431480ba0fa8c8d487f.js +0 -1
  317. package/assets/esri/core/workers/chunks/652faf4359ac072c5dde.js +0 -1
  318. package/assets/esri/core/workers/chunks/65c98f3449044fa4fd79.js +0 -1
  319. package/assets/esri/core/workers/chunks/6b9961261241fdce0e94.js +0 -1
  320. package/assets/esri/core/workers/chunks/6dfe96b056bec30068df.js +0 -1
  321. package/assets/esri/core/workers/chunks/6f897b4e7ddd1dd1672b.js +0 -1
  322. package/assets/esri/core/workers/chunks/70cc2d79653d66e85b58.js +0 -1
  323. package/assets/esri/core/workers/chunks/7159d9c36869cd82599e.js +0 -29
  324. package/assets/esri/core/workers/chunks/7393f63043a1da3d05a6.js +0 -1
  325. package/assets/esri/core/workers/chunks/7449568eb2305bf2d650.js +0 -1
  326. package/assets/esri/core/workers/chunks/75d551a449bba61ce238.js +0 -1
  327. package/assets/esri/core/workers/chunks/7748c2886d0122b40eeb.js +0 -1
  328. package/assets/esri/core/workers/chunks/78643f116677950ea29a.js +0 -1
  329. package/assets/esri/core/workers/chunks/78fbe330f16bdbdb886e.js +0 -1
  330. package/assets/esri/core/workers/chunks/7e0f04a5038e2a4f6e4b.js +0 -1
  331. package/assets/esri/core/workers/chunks/7f16ae01ccd9b6114d1c.js +0 -1
  332. package/assets/esri/core/workers/chunks/90153b5230b3a4985c14.js +0 -1
  333. package/assets/esri/core/workers/chunks/9189dfe19a2a2ccd5173.js +0 -1
  334. package/assets/esri/core/workers/chunks/943a0f140813ee4ab04a.js +0 -1
  335. package/assets/esri/core/workers/chunks/98be2f621801e230aa01.js +0 -1
  336. package/assets/esri/core/workers/chunks/99f51d5d9da6e9bfc430.js +0 -1
  337. package/assets/esri/core/workers/chunks/9aebe876b1a2fb075f9c.js +0 -1
  338. package/assets/esri/core/workers/chunks/9b6929faf649e81265fb.js +0 -1
  339. package/assets/esri/core/workers/chunks/9dd1fc56eb1ea6eb705e.js +0 -1
  340. package/assets/esri/core/workers/chunks/9dd48e75b4e8d9811d81.js +0 -1
  341. package/assets/esri/core/workers/chunks/a163c6005aba3378edaa.js +0 -1
  342. package/assets/esri/core/workers/chunks/a8286febe371dc186aaa.js +0 -1
  343. package/assets/esri/core/workers/chunks/acb265a22be5e12f38e5.js +0 -1
  344. package/assets/esri/core/workers/chunks/b12acf1f694f82e00df9.js +0 -1
  345. package/assets/esri/core/workers/chunks/b83cef2d3f528726d492.js +0 -1
  346. package/assets/esri/core/workers/chunks/b9596d862da1ec342cd3.js +0 -1
  347. package/assets/esri/core/workers/chunks/bc1fcc9c897461e68e29.js +0 -1
  348. package/assets/esri/core/workers/chunks/bdc221d94300c225665a.js +0 -1
  349. package/assets/esri/core/workers/chunks/be97a629e2ae4d13ceb3.js +0 -1
  350. package/assets/esri/core/workers/chunks/bfb39590c548188f5052.js +0 -1
  351. package/assets/esri/core/workers/chunks/c2318c014e97ba519be8.js +0 -1
  352. package/assets/esri/core/workers/chunks/c29091fe157564cffcf7.js +0 -1
  353. package/assets/esri/core/workers/chunks/c62237c344e341619341.js +0 -1
  354. package/assets/esri/core/workers/chunks/c8eae00b0ec87d8b2ff3.js +0 -1
  355. package/assets/esri/core/workers/chunks/cdb5c26fed7d9a97db49.js +0 -1
  356. package/assets/esri/core/workers/chunks/cdf0c7706d3e1221f49b.js +0 -1
  357. package/assets/esri/core/workers/chunks/cea0db3ee326f60610eb.js +0 -1
  358. package/assets/esri/core/workers/chunks/d7f2f1708d2a2668676c.js +0 -1
  359. package/assets/esri/core/workers/chunks/daf9b691817e83a11f3c.js +0 -1
  360. package/assets/esri/core/workers/chunks/db41490bd39d863305bf.js +0 -1
  361. package/assets/esri/core/workers/chunks/ddc95cdac6c06fc4794c.js +0 -1
  362. package/assets/esri/core/workers/chunks/df26ec0b508cf4716e0a.js +0 -1
  363. package/assets/esri/core/workers/chunks/e11159e3dc3353b27c57.js +0 -1
  364. package/assets/esri/core/workers/chunks/e4a57a0a9629faafd6c6.js +0 -1
  365. package/assets/esri/core/workers/chunks/ebc1a2ef3aed8aa29424.js +0 -1
  366. package/assets/esri/core/workers/chunks/ec1c4d66142b6efb0e8b.js +0 -1
  367. package/assets/esri/core/workers/chunks/ef12fa3574d4cbf8b084.js +0 -1
  368. package/assets/esri/core/workers/chunks/f2d56f5c15d5977e1d19.js +0 -1
  369. package/assets/esri/core/workers/chunks/f7bfa3d33b05b250ce33.js +0 -1
  370. package/assets/esri/core/workers/chunks/f905f1a1aa4c123cbe83.js +0 -1
  371. package/assets/esri/core/workers/chunks/fc139f251dc0523074e7.js +0 -1
  372. package/assets/esri/themes/base/widgets/_VideoPlayer.scss +0 -129
  373. package/assets/esri/widgets/VideoPlayer/t9n/messages.ar.json +0 -1
  374. package/assets/esri/widgets/VideoPlayer/t9n/messages.bg.json +0 -1
  375. package/assets/esri/widgets/VideoPlayer/t9n/messages.bs.json +0 -1
  376. package/assets/esri/widgets/VideoPlayer/t9n/messages.ca.json +0 -1
  377. package/assets/esri/widgets/VideoPlayer/t9n/messages.cs.json +0 -1
  378. package/assets/esri/widgets/VideoPlayer/t9n/messages.da.json +0 -1
  379. package/assets/esri/widgets/VideoPlayer/t9n/messages.de.json +0 -1
  380. package/assets/esri/widgets/VideoPlayer/t9n/messages.el.json +0 -1
  381. package/assets/esri/widgets/VideoPlayer/t9n/messages.en.json +0 -1
  382. package/assets/esri/widgets/VideoPlayer/t9n/messages.es.json +0 -1
  383. package/assets/esri/widgets/VideoPlayer/t9n/messages.et.json +0 -1
  384. package/assets/esri/widgets/VideoPlayer/t9n/messages.fi.json +0 -1
  385. package/assets/esri/widgets/VideoPlayer/t9n/messages.fr.json +0 -1
  386. package/assets/esri/widgets/VideoPlayer/t9n/messages.he.json +0 -1
  387. package/assets/esri/widgets/VideoPlayer/t9n/messages.hr.json +0 -1
  388. package/assets/esri/widgets/VideoPlayer/t9n/messages.hu.json +0 -1
  389. package/assets/esri/widgets/VideoPlayer/t9n/messages.id.json +0 -1
  390. package/assets/esri/widgets/VideoPlayer/t9n/messages.it.json +0 -1
  391. package/assets/esri/widgets/VideoPlayer/t9n/messages.ja.json +0 -1
  392. package/assets/esri/widgets/VideoPlayer/t9n/messages.ko.json +0 -1
  393. package/assets/esri/widgets/VideoPlayer/t9n/messages.lt.json +0 -1
  394. package/assets/esri/widgets/VideoPlayer/t9n/messages.lv.json +0 -1
  395. package/assets/esri/widgets/VideoPlayer/t9n/messages.nl.json +0 -1
  396. package/assets/esri/widgets/VideoPlayer/t9n/messages.no.json +0 -1
  397. package/assets/esri/widgets/VideoPlayer/t9n/messages.pl.json +0 -1
  398. package/assets/esri/widgets/VideoPlayer/t9n/messages.pt-BR.json +0 -1
  399. package/assets/esri/widgets/VideoPlayer/t9n/messages.pt-PT.json +0 -1
  400. package/assets/esri/widgets/VideoPlayer/t9n/messages.ro.json +0 -1
  401. package/assets/esri/widgets/VideoPlayer/t9n/messages.ru.json +0 -1
  402. package/assets/esri/widgets/VideoPlayer/t9n/messages.sk.json +0 -1
  403. package/assets/esri/widgets/VideoPlayer/t9n/messages.sl.json +0 -1
  404. package/assets/esri/widgets/VideoPlayer/t9n/messages.sr.json +0 -1
  405. package/assets/esri/widgets/VideoPlayer/t9n/messages.sv.json +0 -1
  406. package/assets/esri/widgets/VideoPlayer/t9n/messages.th.json +0 -1
  407. package/assets/esri/widgets/VideoPlayer/t9n/messages.tr.json +0 -1
  408. package/assets/esri/widgets/VideoPlayer/t9n/messages.uk.json +0 -1
  409. package/assets/esri/widgets/VideoPlayer/t9n/messages.vi.json +0 -1
  410. package/assets/esri/widgets/VideoPlayer/t9n/messages.zh-CN.json +0 -1
  411. package/assets/esri/widgets/VideoPlayer/t9n/messages.zh-HK.json +0 -1
  412. package/assets/esri/widgets/VideoPlayer/t9n/messages.zh-TW.json +0 -1
  413. package/widgets/VideoPlayer/VideoPlayerViewModel.d.ts +0 -232
  414. package/widgets/VideoPlayer/VideoPlayerViewModel.js +0 -2
  415. package/widgets/VideoPlayer/components/MetadataSection.js +0 -2
  416. package/widgets/VideoPlayer/components/PlayerActionsGroup.js +0 -2
  417. package/widgets/VideoPlayer/components/PlayerControlsGroup.js +0 -2
  418. package/widgets/VideoPlayer/components/SettingsButton.js +0 -2
  419. package/widgets/VideoPlayer/css.js +0 -2
  420. package/widgets/VideoPlayer.d.ts +0 -119
  421. package/widgets/VideoPlayer.js +0 -2
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{BackgroundGrid as e}from"../views/3d/webgl-engine/core/shaderLibrary/terrain/BackgroundGrid.glsl.js";import{TileBackground as t}from"../views/3d/webgl-engine/core/shaderLibrary/terrain/TileBackground.glsl.js";import{TileComposite as n}from"../views/3d/webgl-engine/core/shaderLibrary/terrain/TileComposite.glsl.js";import{Float3PassUniform as r}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{FloatPassUniform as i}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as a}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DPassUniform as o}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{ShaderBuilder as s}from"../views/webgl/ShaderBuilder.js";function c(c){let l=new s,u=l.fragment;if(l.include(n),c.background===1){let t=c.output===2;return t?u.uniforms.add(new r(`backgroundColor`,e=>e.backgroundColor)):u.include(e),u.main.add(a`fragColor = vec4(${t?a`backgroundColor`:a`gridColor(uv)`}, 1.0);`),l}return l.include(t,c),u.uniforms.add(new o(`tex`,e=>e.texture),new i(`opacity`,e=>e.opacity)).main.add(a`fragColor = blendLayers(uv, texture(tex, uv), opacity);`),l}const l=Object.freeze(Object.defineProperty({__proto__:null,build:c},Symbol.toStringTag,{value:`Module`}));export{l as B,c as b};
2
+ import{BackgroundGrid as e}from"../views/3d/webgl-engine/core/shaderLibrary/terrain/BackgroundGrid.glsl.js";import{blendLayers as t}from"../views/3d/webgl-engine/core/shaderLibrary/terrain/blendLayers.glsl.js";import{TileComposite as n}from"../views/3d/webgl-engine/core/shaderLibrary/terrain/TileComposite.glsl.js";import{Float3PassUniform as r}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{FloatPassUniform as i}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{Texture2DPassUniform as a}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{ShaderBuilder as o}from"../views/webgl/ShaderBuilder.js";function s(s){let c=new o,l=c.fragment;return c.include(n),s.background===1?(s.output===2?l.uniforms.add(new r(`backgroundColor`,e=>e.backgroundColor)).main.add(`fragColor = vec4(backgroundColor, 1.0);`):(l.include(e),l.main.add(`fragColor = vec4(gridColor(uv), 1.0);`)),c):(c.include(t,s),l.uniforms.add(new a(`tex`,e=>e.texture),new i(`opacity`,e=>e.opacity)).main.add(`fragColor = blendLayers(uv, texture(tex, uv), opacity);`),c)}const c=Object.freeze(Object.defineProperty({__proto__:null,build:s},Symbol.toStringTag,{value:`Module`}));export{c as B,s as b};
@@ -1,5 +1,5 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{ComponentData as e}from"../views/3d/webgl-engine/collections/Component/Material/ComponentData.glsl.js";import{waterNormals as t}from"../views/3d/webgl-engine/core/shaderLibrary/bindUniforms.js";import{forwardLinearDepthToWriteShadow as ee}from"../views/3d/webgl-engine/core/shaderLibrary/forwardLinearDepthToWriteShadow.glsl.js";import{isColor as te,isShadow as n}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{slicePass as r}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{TextureCoordinateAttribute as i}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js";import{VertexColor as a}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js";import{VertexNormal as o}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexNormal.glsl.js";import{VertexPosition as s}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexPosition.glsl.js";import{DepthConversion as c}from"../views/3d/webgl-engine/core/shaderLibrary/output/DepthConversion.glsl.js";import{outputDepth as l}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js";import{OutputHighlight as u}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{OutputHighlightOverlay as ne}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlightOverlay.js";import{computeFragmentNormals as d}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeFragmentNormals.glsl.js";import{ComputeMaterialColor as re}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeMaterialColor.glsl.js";import{ComputeNormalTextureDraw as ie}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeNormalTexture.glsl.js";import{EvaluateSceneLighting as f}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{lightingGlobalFactor as p,mainLightIntensity as m,mainLightDirection as h}from"../views/3d/webgl-engine/core/shaderLibrary/shading/lightingUniforms.js";import{NormalUtils as ae}from"../views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js";import{pbrGlobals as oe}from"../views/3d/webgl-engine/core/shaderLibrary/shading/pbrGlobals.glsl.js";import{PhysicallyBasedRenderingParameters as se}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{ReadBaseColorTexture as g}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadBaseColorTexture.glsl.js";import{readShadowPass as _}from"../views/3d/webgl-engine/core/shaderLibrary/shading/readShadow.glsl.js";import{OverlayIM as ce}from"../views/3d/webgl-engine/core/shaderLibrary/terrain/Overlay.glsl.js";import{DiscardOrAdjustAlphaDraw as v}from"../views/3d/webgl-engine/core/shaderLibrary/util/DiscardOrAdjustAlpha.glsl.js";import{BooleanDrawUniform as y}from"../views/3d/webgl-engine/core/shaderModules/BooleanDrawUniform.js";import{FloatDrawUniform as b}from"../views/3d/webgl-engine/core/shaderModules/FloatDrawUniform.js";import{If as x,glsl as S}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{applySnow as le}from"../views/3d/webgl-engine/effects/snowcover/applySnow.glsl.js";import{alphaCutoff as C}from"../views/3d/webgl-engine/shaders/alphaCutoff.glsl.js";import{outputColorHighlightOLID as ue}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js";import{getPlanetRadius as de,sphereDepthInterpolate as w}from"../views/3d/webgl-engine/shaders/SphereDepthInterpolate.glsl.js";import{ShaderBuilder as T}from"../views/webgl/ShaderBuilder.js";function E(E){let D=new T,{vertex:O,fragment:k}=D;D.include(s,E),D.include(o,E),D.include(a,E),D.include(i,E),D.include(e,E),D.include(v,E),k.include(r,E),D.include(g,E);let{output:A,pbrMode:j,hasNormalTexture:M,snowCover:N,receiveShadows:P,shadeNormals:F,spherical:I,sphericalSR:L,overlayEnabled:R,componentDataType:fe,vertexDiscardMode:z,renderOccluded:B,isGroundSlice:V,groundTransparencyMode:pe}=E,H=te(A),U=j===1||j===2,W=pe===2,G=W&&(A===3||A===4);U&&(D.include(se,E),M&&D.include(ie,E));let K=n(A),q=A===11,me=A===10,J=A===4,he=K&&fe===1,Y=de(E),X=(R||G)&&I,Z=L===1;(H||J)&&(D.include(re,E),k.include(C)),(R||G)&&(k.include(f,E),D.include(ce,E),X?(D.varyings.add(`vPositionForDraping`,`vec3`),k.uniforms.add(new y(`useENUForGlobalOverlayUV`,e=>e.useENUForGlobalOverlayUV),new b(`overlayMapScaleU`,e=>e.toMapSpace[2]),new b(`overlayReferenceU`,e=>e.toMapSpace[0])),k.constants.add(`overlayWorldWidth`,`float`,Z?2*Math.PI*Y:360),Z?(k.constants.add(`pRadius`,`float`,Y),k.constants.add(`halfSemiMajorAxis`,`float`,.5*Y)):k.constants.add(`rad2deg1`,`float`,180/Math.PI),k.constants.add(`invRadius`,`float`,1/Y).code.add(S`
2
+ import{ComponentData as e}from"../views/3d/webgl-engine/collections/Component/Material/ComponentData.glsl.js";import{waterNormals as t}from"../views/3d/webgl-engine/core/shaderLibrary/bindUniforms.js";import{forwardLinearDepthToWriteShadow as n}from"../views/3d/webgl-engine/core/shaderLibrary/forwardLinearDepthToWriteShadow.glsl.js";import{isColor as r,isShadow as ee}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{slicePass as te}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{TextureCoordinateAttribute as ne}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js";import{VertexColor as re}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js";import{VertexNormal as ie}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexNormal.glsl.js";import{VertexPosition as i}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexPosition.glsl.js";import{DepthConversion as a}from"../views/3d/webgl-engine/core/shaderLibrary/output/DepthConversion.glsl.js";import{outputDepth as o}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js";import{OutputHighlight as s}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{OutputHighlightOverlay as c}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlightOverlay.js";import{computeFragmentNormals as l}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeFragmentNormals.glsl.js";import{ComputeMaterialColor as u}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeMaterialColor.glsl.js";import{ComputeNormalTextureDraw as d}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeNormalTexture.glsl.js";import{EvaluateSceneLighting as f}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{getLocalUp as p}from"../views/3d/webgl-engine/core/shaderLibrary/shading/getLocalUp.glsl.js";import{lightingGlobalFactor as m,mainLightIntensity as h,mainLightDirection as g}from"../views/3d/webgl-engine/core/shaderLibrary/shading/lightingUniforms.js";import{NormalUtils as ae}from"../views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js";import{pbrGlobals as oe}from"../views/3d/webgl-engine/core/shaderLibrary/shading/pbrGlobals.glsl.js";import{PhysicallyBasedRenderingParameters as se}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{ReadBaseColorTexture as ce}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadBaseColorTexture.glsl.js";import{readShadowPass as le}from"../views/3d/webgl-engine/core/shaderLibrary/shading/readShadow.glsl.js";import{OverlayIM as ue}from"../views/3d/webgl-engine/core/shaderLibrary/terrain/Overlay.glsl.js";import{DiscardOrAdjustAlphaDraw as de}from"../views/3d/webgl-engine/core/shaderLibrary/util/DiscardOrAdjustAlpha.glsl.js";import{BooleanDrawUniform as fe}from"../views/3d/webgl-engine/core/shaderModules/BooleanDrawUniform.js";import{FloatDrawUniform as _}from"../views/3d/webgl-engine/core/shaderModules/FloatDrawUniform.js";import{If as v,glsl as y}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{applySnow as pe}from"../views/3d/webgl-engine/effects/snowcover/applySnow.glsl.js";import{alphaCutoff as b}from"../views/3d/webgl-engine/shaders/alphaCutoff.glsl.js";import{outputColorHighlightOLID as me}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js";import{getPlanetRadius as x,sphereDepthInterpolate as S}from"../views/3d/webgl-engine/shaders/SphereDepthInterpolate.glsl.js";import{ShaderBuilder as C}from"../views/webgl/ShaderBuilder.js";function w(w){let T=new C,{vertex:E,fragment:D}=T;T.include(i,w),T.include(ie,w),T.include(re,w),T.include(ne,w),T.include(e,w),T.include(de,w),D.include(te,w),T.include(ce,w);let{output:O,pbrMode:k,hasNormalTexture:A,snowCover:j,receiveShadows:M,shadeNormals:N,spherical:P,sphericalSR:F,overlayEnabled:I,componentDataType:L,vertexDiscardMode:R,renderOccluded:z,isGroundSlice:B,groundTransparencyMode:he}=w,V=r(O),H=k===1||k===2,U=he===2,W=U&&(O===3||O===4);H&&(T.include(se,w),A&&T.include(d,w));let G=ee(O),K=O===11,ge=O===10,q=O===4,_e=G&&L===1,J=x(w),Y=(I||W)&&P,X=F===1;(V||q)&&(T.include(u,w),D.include(b)),(I||W)&&(D.include(f,w),T.include(ue,w),Y?(T.varyings.add(`vPositionForDraping`,`vec3`),D.uniforms.add(new fe(`useENUForGlobalOverlayUV`,e=>e.useENUForGlobalOverlayUV),new _(`overlayMapScaleU`,e=>e.toMapSpace[2]),new _(`overlayReferenceU`,e=>e.toMapSpace[0])),D.constants.add(`overlayWorldWidth`,`float`,X?2*Math.PI*J:360),X?(D.constants.add(`pRadius`,`float`,J),D.constants.add(`halfSemiMajorAxis`,`float`,.5*J)):D.constants.add(`rad2deg1`,`float`,180/Math.PI),D.constants.add(`invRadius`,`float`,1/J).code.add(y`
3
3
  vec2 projectOverlay(vec3 pos) { return pos.xy / (1.0 + invRadius * pos.z); }
4
4
 
5
5
  vec2 selectOverlayUVNorm(vec2 normUV, float offsetUNorm) {
@@ -31,12 +31,12 @@ import{ComponentData as e}from"../views/3d/webgl-engine/collections/Component/Ma
31
31
  float sinLat = wPos.z / oRadius;
32
32
  vec2 posMap;
33
33
 
34
- ${x(Z,S`
34
+ ${v(X,y`
35
35
  posMap = vec2(
36
36
  oLonRad * pRadius,
37
37
  halfSemiMajorAxis * log((1.0 + sinLat) / (1.0 - sinLat))
38
38
  );
39
- `,S`
39
+ `,y`
40
40
  float oLatRad = asin(clamp(sinLat,-1.0,1.0));
41
41
  posMap = vec2(rad2deg1 * oLonRad, rad2deg1 * oLatRad);
42
42
  `)}
@@ -49,14 +49,14 @@ import{ComponentData as e}from"../views/3d/webgl-engine/collections/Component/Ma
49
49
  ? selectLocalOverlayUVs(projectOverlay(vPositionForDraping))
50
50
  : selectMapOverlayUVs(overlayMapUVFromWorldPosition());
51
51
  }
52
- `)):O.code.add(`vec2 projectOverlay(vec3 pos) { return pos.xy; }`));let Q=R&&H&&j===4;Q&&(D.varyings.add(`tbnTangent`,`vec3`),D.varyings.add(`tbnBiTangent`,`vec3`),D.varyings.add(`upNormal`,`vec3`));let ge=z===0,_e=z===2;if(D.include(_,E),D.include(ee,E),O.include(C),O.main.add(S`
52
+ `)):E.code.add(`vec2 projectOverlay(vec3 pos) { return pos.xy; }`));let Z=I&&V&&k===4;Z&&P&&(E.include(p,w),T.varyings.add(`tbnTangent`,`vec3`),T.varyings.add(`tbnBiTangent`,`vec3`));let Q=R===0,ve=R===2;if(T.include(le,w),T.include(n,w),E.include(b),E.main.add(y`
53
53
  bool castShadows;
54
54
  vec4 externalColor = forwardExternalColor(castShadows);
55
- ${x(he,`if(!castShadows) { gl_Position = vec4(vec3(1e38), 1.0); return; }`)}
56
- ${x(!ge,`if (externalColor.a ${_e?`>`:`<=`} opacityCutoff) {
55
+ ${v(_e,`if(!castShadows) { gl_Position = vec4(vec3(1e38), 1.0); return; }`)}
56
+ ${v(!Q,`if (externalColor.a ${ve?`>`:`<=`} opacityCutoff) {
57
57
  gl_Position = vec4(vec3(1e38), 1.0); return;
58
58
  }`)}
59
- ${x(q,`externalColor.a = 1.0;`)}
59
+ ${v(K,`externalColor.a = 1.0;`)}
60
60
 
61
61
  forwardPosition(readElevationOffset());
62
62
  forwardNormal();
@@ -66,14 +66,11 @@ import{ComponentData as e}from"../views/3d/webgl-engine/collections/Component/Ma
66
66
  forwardLinearDepthToWriteShadow();
67
67
  forwardEmissiveStrength();
68
68
  forwardObjectAndLayerIdColor();
69
- ${x(Q,I?S`
70
- upNormal = normalize(positionWorld());
71
- tbnTangent = normalize(cross(vec3(0.0, 0.0, 1.0), upNormal));
72
- tbnBiTangent = normalize(cross(upNormal, tbnTangent));`:S`
73
- upNormal = vec3(0.0, 0.0, 1.0);
74
- tbnTangent = vec3(1.0, 0.0, 0.0);
75
- tbnBiTangent = vec3(0.0, 1.0, 0.0);`)}
76
- ${x(R||G,x(I,`vPositionForDraping = positionForDraping();
69
+ ${v(Z&&P,y`
70
+ vec3 upNormal = getLocalUp(positionWorld());
71
+ tbnTangent = normalize(cross(vec3(0.0, 0.0, 1.0), upNormal));
72
+ tbnBiTangent = normalize(cross(upNormal, tbnTangent));`)}
73
+ ${v(I||W,v(P,`vPositionForDraping = positionForDraping();
77
74
  vtcOverlay = vec4(0.0);`,`setOverlayVTC(projectOverlay(positionForDraping()));`))}
78
75
 
79
76
  if (externalColor.a < alphaCutoff) {
@@ -81,12 +78,12 @@ import{ComponentData as e}from"../views/3d/webgl-engine/collections/Component/Ma
81
78
  gl_Position = vec4(1e38, 1e38, 1e38, 1.0);
82
79
  return;
83
80
  }
84
- `),H)return D.include(d,E),D.include(ue,E),k.include(f,E),k.include(le,E),k.include(ae,E),k.code.add(S`
81
+ `),V)return T.include(l,w),T.include(me,w),D.include(f,w),D.include(pe,w),D.include(ae,w),D.code.add(y`
85
82
  float evaluateShadow() {
86
- return ${P?`readShadowMap(vPositionWorldCameraRelative)`:`0.0`};
83
+ return ${M?`readShadowMap(vPositionWorldCameraRelative)`:`0.0`};
87
84
  }
88
- `).main.add(S`
89
- ${x(!V,`discardBySlice(vPositionWorldCameraRelative);`)}
85
+ `).main.add(y`
86
+ ${v(!B,`discardBySlice(vPositionWorldCameraRelative);`)}
90
87
 
91
88
  vec4 textureColor = readBaseColorTexture();
92
89
  discardOrAdjustAlpha(textureColor);
@@ -94,15 +91,15 @@ import{ComponentData as e}from"../views/3d/webgl-engine/collections/Component/Ma
94
91
  // When rendering the occluded overlay, we still need to read the base color texture because we need to use the
95
92
  // same discard logic. However after that to render only the draped overlay, we simply set the base texture color
96
93
  // to zero.
97
- ${x(B,S`textureColor = vec4(0);`)}
94
+ ${v(z,y`textureColor = vec4(0);`)}
98
95
 
99
- ${x(R,S`
100
- vec4 overlayUVs = ${X?`componentOverlayUVs()`:`vtcOverlay`};
96
+ ${v(I,y`
97
+ vec4 overlayUVs = ${Y?`componentOverlayUVs()`:`vtcOverlay`};
101
98
 
102
99
  vec4 overlayColor = getCombinedOverlayColor(overlayUVs);
103
100
 
104
101
  /* Early discard to only emit when we have overlay */
105
- ${x(B,S`if (overlayColor.a < alphaCutoff) { discard; }`)}
102
+ ${v(z,y`if (overlayColor.a < alphaCutoff) { discard; }`)}
106
103
  `)}
107
104
 
108
105
  vec4 externalColor;
@@ -110,81 +107,81 @@ import{ComponentData as e}from"../views/3d/webgl-engine/collections/Component/Ma
110
107
  readExternalColor(externalColor, externalColorMixMode);
111
108
 
112
109
  vec4 materialColor = computeMaterialColor(textureColor, externalColor, externalColorMixMode);
113
- ${x(W,`materialColor = vec4(0.0);`)}
114
- `),U?(I&&k.uniforms.add(p),k.include(oe),k.uniforms.add(m).main.add(S`
110
+ ${v(U,`materialColor = vec4(0.0);`)}
111
+ `),H?(P&&D.uniforms.add(m),D.include(oe),D.uniforms.add(h).main.add(y`
115
112
  applyPBRFactors();
116
- ${x(j===1,`if (externalColorMixMode == 3) mrr = vec3(0.0, 0.6, 0.2);`)}
117
- ${x(M,`mat3 tangentSpace = computeTangentSpace(fragmentFaceNormal, vPositionWorldCameraRelative, vuv0);`)}
113
+ ${v(k===1,`if (externalColorMixMode == 3) mrr = vec3(0.0, 0.6, 0.2);`)}
114
+ ${v(A,`mat3 tangentSpace = computeTangentSpace(fragmentFaceNormal, vPositionWorldCameraRelative, vuv0);`)}
118
115
 
119
116
  vec3 viewDirection = normalize(vPositionWorldCameraRelative);
120
117
  vec3 upNormal = getLocalUp(positionWorld());
121
- vec3 shadingNormal = ${M?`computeTextureNormal(tangentSpace, vuv0)`:`fragmentShadingNormal`};
118
+ vec3 shadingNormal = ${A?`computeTextureNormal(tangentSpace, vuv0)`:`fragmentShadingNormal`};
122
119
 
123
120
  float ssao = occlusion * evaluateAmbientOcclusionInverse();
124
- ${x(N,S`float snow = applySnow(fragmentFaceNormal, normalize(positionWorld(), materialColor.rgb, ssao));
121
+ ${v(j,y`float snow = applySnow(fragmentFaceNormal, upNormal, materialColor.rgb, ssao);
125
122
  shadingNormal = mix(shadingNormal, fragmentFaceNormal, snow);`)}
126
- ${x(R,`materialColor = compositeOverlayUnpremultiplied(materialColor, overlayColor);`)}
123
+ ${v(I,`materialColor = compositeOverlayUnpremultiplied(materialColor, overlayColor);`)}
127
124
 
128
125
  vec3 additionalLight = evaluateAdditionalLighting(1.0 - ssao, positionWorld());
129
- ${x(I,`float additionalAmbientScale = additionalDirectedAmbientLight(positionWorld());`)}
130
- ${x(I,`float shadow = max(lightingGlobalFactor * (1.0 - additionalAmbientScale), evaluateShadow());`,`float shadow = evaluateShadow();`)}
126
+ ${v(P,`float additionalAmbientScale = additionalDirectedAmbientLight(positionWorld());`)}
127
+ ${v(P,`float shadow = max(lightingGlobalFactor * (1.0 - additionalAmbientScale), evaluateShadow());`,`float shadow = evaluateShadow();`)}
131
128
  vec4 shadedColor = vec4(evaluateSceneLighting(shadingNormal, materialColor.rgb, shadow, 1.0 - ssao, additionalLight, viewDirection, upNormal), materialColor.a);
132
- `)):(I&&k.uniforms.add(p),Q&&k.uniforms.add(t),k.uniforms.add(h).main.add(S`
133
- ${x(I,`float additionalAmbientScale = additionalDirectedAmbientLight(positionWorld());`)}
134
- float shadow = ${P?I?`max(lightingGlobalFactor * (1.0 - additionalAmbientScale), evaluateShadow())`:`evaluateShadow()`:I?`lightingGlobalFactor * (1.0 - additionalAmbientScale)`:`0.0`};
129
+ `)):(P&&D.uniforms.add(m),Z&&D.uniforms.add(t),D.uniforms.add(g).main.add(y`
130
+ ${v(P,`float additionalAmbientScale = additionalDirectedAmbientLight(positionWorld());`)}
131
+ float shadow = ${M?P?`max(lightingGlobalFactor * (1.0 - additionalAmbientScale), evaluateShadow())`:`evaluateShadow()`:P?`lightingGlobalFactor * (1.0 - additionalAmbientScale)`:`0.0`};
135
132
  float ssao = evaluateAmbientOcclusionInverse();
136
133
 
137
- ${x(P&&F!==1,S`
134
+ ${v(M&&N!==1,y`
138
135
  float dotFL = dot(fragmentFaceNormal, mainLightDirection);
139
136
  if( dotFL <= 0.0) shadow = 1.0;
140
137
  `)}
141
- ${x(N,`float snow = applySnow(fragmentFaceNormal, normalize(positionWorld()), materialColor.rgb, ssao);`)}
138
+ vec3 upNormal = getLocalUp(positionWorld());
139
+ ${v(j,`float snow = applySnow(fragmentFaceNormal, upNormal, materialColor.rgb, ssao);`)}
142
140
 
143
141
  vec3 viewDirection = normalize(vPositionWorldCameraRelative);
144
- vec3 upNormal = getLocalUp(positionWorld());
145
142
 
146
143
  // At global scale we create some additional ambient light based on the main light to simulate global illumination
147
144
  vec3 additionalLight = evaluateAdditionalLighting(1.0 - ssao, positionWorld());
148
145
 
149
- ${x(R,`materialColor = compositeOverlayUnpremultiplied(materialColor, overlayColor);`)}
146
+ ${v(I,`materialColor = compositeOverlayUnpremultiplied(materialColor, overlayColor);`)}
150
147
 
151
148
  vec4 shadedColor = vec4(evaluateSceneLighting(fragmentShadingNormal, materialColor.rgb, shadow, 1.0 - ssao, additionalLight, viewDirection, upNormal), materialColor.a);
152
- ${x(Q,S`vec4 overlayWaterMask = getOverlayColor(waterNormals, overlayUVs);
149
+ ${v(Z,y`vec4 overlayWaterMask = getOverlayColor(waterNormals, overlayUVs);
153
150
  float waterNormalLength = length(overlayWaterMask);
154
151
  if (waterNormalLength > 0.95) {
155
- mat3 tbnMatrix = mat3(tbnTangent, tbnBiTangent, upNormal);
152
+ mat3 tbnMatrix = ${P?`mat3(tbnTangent, tbnBiTangent, upNormal)`:`mat3(1.0)`};
156
153
  vec4 waterColorLinear = getOverlayWaterColor(overlayWaterMask, overlayColor, -normalize(vPositionWorldCameraRelative), shadow, upNormal, tbnMatrix, vPosition_view, positionWorld());
157
154
  vec4 waterColorNonLinear = delinearizeGamma(vec4(waterColorLinear.xyz, 1.0));
158
155
  // un-gamma the ground color to mix in linear space
159
156
  shadedColor = mix(shadedColor, waterColorNonLinear, waterColorLinear.w);
160
157
  }`)}
161
- `)),k.main.add(`
162
- ${x(V,`if(rejectBySlice(vPositionWorldCameraRelative)) shadedColor.a *= groundSliceOpacity;`)}
158
+ `)),D.main.add(`
159
+ ${v(B,`if(rejectBySlice(vPositionWorldCameraRelative)) shadedColor.a *= groundSliceOpacity;`)}
163
160
 
164
- outputColorHighlightOLID(applySlice(shadedColor, vPositionWorldCameraRelative), materialColor.rgb ${x(N,`, snow`)});
165
- `),E.sphereDepthInterpolate&&(D.include(w,E),D.fragment.include(c),k.main.add(S`vec3 worldRay = normalize(vPositionWorldCameraRelative);
161
+ outputColorHighlightOLID(applySlice(shadedColor, vPositionWorldCameraRelative), materialColor.rgb ${v(j,`, snow`)});
162
+ `),w.sphereDepthInterpolate&&(T.include(S,w),T.fragment.include(a),D.main.add(y`vec3 worldRay = normalize(vPositionWorldCameraRelative);
166
163
  vec3 viewRay = normalize(vPosition_view);
167
- gl_FragDepth = delinearizeDepth(sphereDepthInterpolate(worldRay, viewRay, linearizeDepth(gl_FragCoord.z)));`)),D;let $=K||A===8;return $&&D.include(l,E),J&&D.include(d,E),R&&D.include(ne,E),D.include(u,E),k.main.add(S`
168
- ${x(!V,`discardBySlice(vPositionWorldCameraRelative);`)}
164
+ gl_FragDepth = delinearizeDepth(sphereDepthInterpolate(worldRay, viewRay, linearizeDepth(gl_FragCoord.z)));`)),T;let $=G||O===8;return $&&T.include(o,w),q&&T.include(l,w),I&&T.include(c,w),T.include(s,w),D.main.add(y`
165
+ ${v(!B,`discardBySlice(vPositionWorldCameraRelative);`)}
169
166
 
170
167
  vec4 textureColor = readBaseColorTexture();
171
168
  discardOrAdjustAlpha(textureColor);
172
169
 
173
- ${x(G,S`
174
- vec4 overlayUVs = ${X?`componentOverlayUVs()`:`vtcOverlay`};
170
+ ${v(W,y`
171
+ vec4 overlayUVs = ${Y?`componentOverlayUVs()`:`vtcOverlay`};
175
172
  if (getCombinedOverlayColor(overlayUVs).a < alphaCutoff) {
176
173
  discard;
177
174
  }
178
175
  `)}
179
176
 
180
- ${x($,`outputDepth(linearDepth);`)}
181
- ${x(J,S`
177
+ ${v($,`outputDepth(linearDepth);`)}
178
+ ${v(q,y`
182
179
  vec4 externalColor;
183
180
  int externalColorMixMode;
184
181
  readExternalColor(externalColor, externalColorMixMode);
185
182
 
186
183
  vec4 materialColor = computeMaterialColor(textureColor, externalColor, externalColorMixMode);
187
- ${x(V,S`
184
+ ${v(B,y`
188
185
  if (rejectBySlice(vPositionWorldCameraRelative)) {
189
186
  materialColor.a *= groundSliceOpacity;
190
187
  }
@@ -192,5 +189,5 @@ gl_FragDepth = delinearizeDepth(sphereDepthInterpolate(worldRay, viewRay, linear
192
189
 
193
190
  fragColor = vec4(vec3(0.5) + 0.5 * fragmentFaceNormalView, materialColor.a);
194
191
  `)}
195
- ${x(q,R?X?`fragColor = getOverlayColorTexel(componentOverlayUVs());`:`fragColor = getOverlayColorTexel();`:`outputObjectAndLayerIdColor();`)}
196
- ${x(me,x(R,X?S`calculateOcclusionAndOutputHighlight(getAllOverlayHighlightValuesEncoded(componentOverlayUVs()));`:S`calculateOcclusionAndOutputHighlight(getAllOverlayHighlightValuesEncoded());`,S`calculateOcclusionAndOutputHighlight();`))}`),D}const D=Object.freeze(Object.defineProperty({__proto__:null,build:E},Symbol.toStringTag,{value:`Module`}));export{D as C,E as b};
192
+ ${v(K,I?Y?`fragColor = getOverlayColorTexel(componentOverlayUVs());`:`fragColor = getOverlayColorTexel();`:`outputObjectAndLayerIdColor();`)}
193
+ ${v(ge,v(I,Y?y`calculateOcclusionAndOutputHighlight(getAllOverlayHighlightValuesEncoded(componentOverlayUVs()));`:y`calculateOcclusionAndOutputHighlight(getAllOverlayHighlightValuesEncoded());`,y`calculateOcclusionAndOutputHighlight();`))}`),T}const T=Object.freeze(Object.defineProperty({__proto__:null,build:w},Symbol.toStringTag,{value:`Module`}));export{T as C,w as b};
@@ -1,5 +1,5 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{Gamma as t}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js";import{FloatBindUniform as n}from"../views/3d/webgl-engine/core/shaderModules/FloatBindUniform.js";import{glsl as r}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DPassUniform as i}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{parameter as a}from"../views/3d/webgl-engine/core/shaderTechnique/ShaderTechniqueConfiguration.js";import{BlurEmissionPassParameters as o,applyEmissiveGlow as s}from"../views/3d/webgl-engine/effects/glow/applyEmissiveGlow.glsl.js";import{FloatBlendScaleConfiguration as c,floatBlendScale as l}from"../views/3d/webgl-engine/shaders/floatBlendScale.glsl.js";import{ScreenSpacePassAtmosphere as u}from"../views/3d/webgl-engine/shaders/ScreenSpacePassAtmosphere.glsl.js";import{ToneMapping as d}from"../views/3d/webgl-engine/shaders/ToneMapping.glsl.js";import{ShaderBuilder as f}from"../views/webgl/ShaderBuilder.js";class p extends c{constructor(){super(...arguments),this.applyBlur=!0}}e([a()],p.prototype,`applyBlur`,void 0);class m extends o{}function h(e){let a=new f,o=a.fragment;return a.include(u,{needUVs:!0,needEyeDirection:!0}),a.outputs.add(`fragColor`,`vec4`,0),o.include(t),o.include(d),e.applyBlur?(o.include(s,e),o.code.add(`vec3 readEmission() { return applyEmissiveGlow(); }`)):(o.include(l,e),o.uniforms.add(new i(`emissionTexture`,({emission:e})=>e?.attachment)).code.add(`vec3 readEmission() { return texture(emissionTexture, uv).rgb * floatBlendInputScale; }`)),o.uniforms.add(new i(`colorTexture`,({color:e})=>e),new n(`inputScale`,({lighting:e})=>1.2-.5*e.noonFactor)).main.add(r`vec4 color = texture(colorTexture, uv);
2
+ import{__decorate as e}from"tslib";import{Gamma as t}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js";import{FloatBindUniform as n}from"../views/3d/webgl-engine/core/shaderModules/FloatBindUniform.js";import{glsl as r}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DPassUniform as i}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{parameter as a}from"../views/3d/webgl-engine/core/shaderTechnique/ShaderTechniqueConfiguration.js";import{EmissiveGlowConfiguration as o,EmissiveGlowPassParameters as s,applyEmissiveGlow as c}from"../views/3d/webgl-engine/effects/glow/applyEmissiveGlow.glsl.js";import{floatBlendScale as l}from"../views/3d/webgl-engine/shaders/floatBlendScale.glsl.js";import{ScreenSpacePassAtmosphere as u}from"../views/3d/webgl-engine/shaders/ScreenSpacePassAtmosphere.glsl.js";import{ToneMapping as d}from"../views/3d/webgl-engine/shaders/ToneMapping.glsl.js";import{ShaderBuilder as f}from"../views/webgl/ShaderBuilder.js";class p extends o{constructor(){super(...arguments),this.applyBlur=!0}}e([a()],p.prototype,`applyBlur`,void 0);class m extends s{}function h(e){let a=new f,o=a.fragment;return a.include(u,{needUVs:!0,needEyeDirection:!0}),a.outputs.add(`fragColor`,`vec4`,0),o.include(t),o.include(d),e.applyBlur?(o.include(c,e),o.code.add(`vec3 readEmission() { return applyEmissiveGlow(); }`)):(o.include(l,e),o.uniforms.add(new i(`emissionTexture`,({emission:e})=>e?.attachment)).code.add(`vec3 readEmission() { return texture(emissionTexture, uv).rgb * floatBlendInputScale; }`)),o.uniforms.add(new i(`colorTexture`,({color:e})=>e),new n(`inputScale`,({lighting:e})=>1.2-.5*e.noonFactor)).main.add(r`vec4 color = texture(colorTexture, uv);
3
3
  color = vec4(linearizeGamma(color.rgb), color.a);
4
4
  vec3 emission = readEmission() * inputScale;
5
5
  vec3 toneMapped = tonemapKhronosNeutral(color.rgb + emission);
@@ -1,5 +1,5 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{create as e}from"../core/libs/gl-matrix-2/factories/vec3f64.js";import{mainDepth as t}from"../views/3d/webgl-engine/core/shaderLibrary/bindUniforms.js";import{ReadDepth as n}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{ColorConversion as i}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{Float3PassUniform as a}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{FloatPassUniform as o}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as s}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DPassUniform as c}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{BlurEmissionPassParameters as l,applyEmissiveGlow as u}from"../views/3d/webgl-engine/effects/glow/applyEmissiveGlow.glsl.js";import{getDistanceFalloff as d}from"../views/3d/webgl-engine/effects/raymarching/DistanceFalloff.glsl.js";import{ScreenSpacePassAtmosphere as f}from"../views/3d/webgl-engine/shaders/ScreenSpacePassAtmosphere.glsl.js";import{ToneMapping as p}from"../views/3d/webgl-engine/shaders/ToneMapping.glsl.js";import{ShaderBuilder as m}from"../views/webgl/ShaderBuilder.js";class h extends l{constructor(){super(...arguments),this.fogColor=e(),this.strength=0,this.amount=0,this.fogColorDistanceWeight=.85,this.inputScale=1}}function g(e){let l=new m,{outputs:h,fragment:g}=l;h.add(`fragColor`,`vec4`,0),l.include(f,{needUVs:!0,needEyeDirection:!0}),g.uniforms.add(t,new o(`fogStrength`,e=>e.strength),new o(`fogAmount`,e=>e.amount),new a(`fogColor`,e=>e.fogColor),new o(`fogColorDistanceWeight`,e=>e.fogColorDistanceWeight)).constants.add(`f16Epsilon`,`float`,6103515625e-14),g.include(d),g.include(r),g.include(p),g.include(n),g.include(i),g.main.add(s`float depth = -1.0;
2
+ import{create as e}from"../core/libs/gl-matrix-2/factories/vec3f64.js";import{mainDepth as t}from"../views/3d/webgl-engine/core/shaderLibrary/bindUniforms.js";import{ReadDepth as n}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{ColorConversion as i}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{Float3PassUniform as a}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{FloatPassUniform as o}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as s}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DPassUniform as c}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{EmissiveGlowPassParameters as l,applyEmissiveGlow as u}from"../views/3d/webgl-engine/effects/glow/applyEmissiveGlow.glsl.js";import{getDistanceFalloff as d}from"../views/3d/webgl-engine/effects/raymarching/DistanceFalloff.glsl.js";import{ScreenSpacePassAtmosphere as f}from"../views/3d/webgl-engine/shaders/ScreenSpacePassAtmosphere.glsl.js";import{ToneMapping as p}from"../views/3d/webgl-engine/shaders/ToneMapping.glsl.js";import{ShaderBuilder as m}from"../views/webgl/ShaderBuilder.js";class h extends l{constructor(){super(...arguments),this.fogColor=e(),this.strength=0,this.amount=0,this.fogColorDistanceWeight=.85,this.inputScale=1}}function g(e){let l=new m,{outputs:h,fragment:g}=l;h.add(`fragColor`,`vec4`,0),l.include(f,{needUVs:!0,needEyeDirection:!0}),g.uniforms.add(t,new o(`fogStrength`,e=>e.strength),new o(`fogAmount`,e=>e.amount),new a(`fogColor`,e=>e.fogColor),new o(`fogColorDistanceWeight`,e=>e.fogColorDistanceWeight)).constants.add(`f16Epsilon`,`float`,6103515625e-14),g.include(d),g.include(r),g.include(p),g.include(n),g.include(i),g.main.add(s`float depth = -1.0;
3
3
  float depthSample = depthFromTexture(mainDepth, uv);
4
4
  if(depthSample < 1.0 && depthSample > 0.0){
5
5
  vec3 cameraSpaceRay = normalize(eyeDir);
@@ -1,20 +1,20 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{calculateUVZShadowPass as e}from"../views/3d/webgl-engine/core/shaderLibrary/shading/calculateUVZShadow.glsl.js";import{EvaluateSceneLighting as t,addAmbientBoostFactor as n}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{lightingGlobalFactor as r}from"../views/3d/webgl-engine/core/shaderLibrary/shading/lightingUniforms.js";import{NormalUtils as i}from"../views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js";import{readShadowPass as a,readShadowMaps as o}from"../views/3d/webgl-engine/core/shaderLibrary/shading/readShadow.glsl.js";import{cameraPosition as s}from"../views/3d/webgl-engine/core/shaderLibrary/util/cameraUniforms.js";import{RgbNormalizedDepthEncoding as c}from"../views/3d/webgl-engine/core/shaderLibrary/util/RgbNormalizedDepthEncoding.glsl.js";import{glsl as l,If as u}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{gaussianSplatFirstHitAlpha as d}from"../views/3d/webgl-engine/shaders/GaussianSplatDepthPolicy.js";import{GaussianSplatPerspectivePass as f,GaussianSplatFading as p,gaussianSplatPerspectiveVertex as m}from"../views/3d/webgl-engine/shaders/GaussianSplatPass.glsl.js";import{getGaussianSplatAlphaCutoffValue as h}from"../views/3d/webgl-engine/shaders/GaussianSplatTechniqueConfiguration.js";import{ShaderBuilder as g}from"../views/webgl/ShaderBuilder.js";function _(_){let{receiveShadows:v,spherical:y}=_,b=v&&_.fragmentShading,x=b&&_.preciseDepth,S=new g,{varyings:C,vertex:w,fragment:T,outputs:E}=S;C.add(`vColor`,`vec4`),x&&C.add(`shadowReceiverRay`,`vec3`),S.include(f,_),_.fadingEnabled&&w.include(p),w.uniforms.add(s);let D=b?T:w;D.uniforms.add(s),D.include(t,_),D.include(i,_),n(D),D.uniforms.add(r),b?S.include(a,_):v&&(w.include(e),_.hasShadowHighlights&&w.code.add(l`ivec2 getShadowHighlightCoordinates() {
2
+ import{calculateUVZShadowPass as e}from"../views/3d/webgl-engine/core/shaderLibrary/shading/calculateUVZShadow.glsl.js";import{EvaluateSceneLighting as t,addAmbientBoostFactor as n}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{lightingGlobalFactor as r}from"../views/3d/webgl-engine/core/shaderLibrary/shading/lightingUniforms.js";import{NormalUtils as i}from"../views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js";import{positionOutsideClipSpace as a}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PositionOutsideClipSpace.js";import{readShadowPass as o,readShadowMaps as s}from"../views/3d/webgl-engine/core/shaderLibrary/shading/readShadow.glsl.js";import{cameraPosition as c}from"../views/3d/webgl-engine/core/shaderLibrary/util/cameraUniforms.js";import{RgbNormalizedDepthEncoding as l}from"../views/3d/webgl-engine/core/shaderLibrary/util/RgbNormalizedDepthEncoding.glsl.js";import{glsl as u,If as d}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{gaussianSplatFirstHitAlpha as f}from"../views/3d/webgl-engine/shaders/GaussianSplatDepthPolicy.js";import{gaussianSplatPerspective as p,gaussianSplatFading as m}from"../views/3d/webgl-engine/shaders/GaussianSplatPass.glsl.js";import{getGaussianSplatAlphaCutoffValue as h}from"../views/3d/webgl-engine/shaders/GaussianSplatTechniqueConfiguration.js";import{ShaderBuilder as g}from"../views/webgl/ShaderBuilder.js";function _(_){let{receiveShadows:v,spherical:y}=_,b=v&&_.fragmentShading,x=b&&_.preciseDepth,S=new g,{varyings:C,vertex:w,fragment:T,outputs:E}=S;C.add(`vColor`,`vec4`),C.add(`gaussianCoordinates`,`vec2`),C.add(`gaussianLogFalloffCutoff`,`float`),C.add(`fragmentPositionCameraRelative`,`vec3`),_.preciseDepth&&C.add(`rayGaussianFactor`,`vec4`),x&&C.add(`shadowReceiverRay`,`vec3`),S.include(p,_),_.fadingEnabled&&w.include(m),w.uniforms.add(c);let D=b?T:w;D.uniforms.add(c),D.include(t,_),D.include(i,_),n(D),D.uniforms.add(r),b?S.include(o,_):v&&(w.include(e),_.hasShadowHighlights&&w.code.add(u`ivec2 getShadowHighlightCoordinates() {
3
3
  vec2 screenUV = gl_Position.xy / gl_Position.w * 0.5 + 0.5;
4
4
  ivec2 screenPixel = ivec2(screenUV / inverseScreenSize);
5
5
  return clamp(screenPixel, ivec2(0), textureSize(shadowHighlight, 0) - 1);
6
- }`),o(w,_.hasShadowHighlights,`getShadowHighlightCoordinates()`)),E.add(`fragColor`,`vec4`,0),E.add(`fragDepthColor`,`vec4`,1);let O=h(_.alphaCutoff),k=l`float groundLightAlignment = dot(upNormal, mainLightDirection);
6
+ }`),s(w,_.hasShadowHighlights,`getShadowHighlightCoordinates()`)),E.add(`fragColor`,`vec4`,0),E.add(`fragDepthColor`,`vec4`,1);let O=h(_.alphaCutoff),k=u`float groundLightAlignment = dot(upNormal, mainLightDirection);
7
7
  float additionalAmbientScale = additionalDirectedAmbientLight(groundLightAlignment);
8
- vec3 additionalLight = mainLightIntensity * additionalAmbientScale * ambientBoostFactor * lightingGlobalFactor;`,A=l`
8
+ vec3 additionalLight = mainLightIntensity * additionalAmbientScale * ambientBoostFactor * lightingGlobalFactor;`,A=u`
9
9
  vec3 viewDirection = normalize(fragmentPositionCameraRelative - cameraPosition);
10
10
  vec3 upNormal = getLocalUp(fragmentPositionCameraRelative, cameraPosition);
11
11
  ${k}
12
- float shadow = ${y?l`lightingGlobalFactor * (1.0 - additionalAmbientScale)`:l`0.0`};
13
- ${u(v,l`
14
- ${_.preciseDepth?l`
15
- float receiverDepth = gaussianSplatRayDepth();
12
+ float shadow = ${y?u`lightingGlobalFactor * (1.0 - additionalAmbientScale)`:u`0.0`};
13
+ ${d(v,u`
14
+ ${_.preciseDepth?u`
15
+ float receiverDepth = computeGaussianRayDepth(rayGaussianFactor);
16
16
  vec3 receiverPosition = transpose(mat3(view)) * rayView * receiverDepth;
17
- `:l`
17
+ `:u`
18
18
  float receiverDepth = -viewPos.z;
19
19
  vec3 receiverPosition = fragmentPositionCameraRelative;
20
20
  `}
@@ -22,18 +22,19 @@ vec3 additionalLight = mainLightIntensity * additionalAmbientScale * ambientBoos
22
22
  shadow = max(shadow, readShadowMaps(uvzShadow));
23
23
  `)}
24
24
  vColor.rgb = evaluateSceneLighting(upNormal, vColor.rgb, shadow, 0.0, additionalLight, viewDirection, upNormal);
25
- `,j=l`
25
+ `,j=u`
26
26
  vec3 viewDirection = normalize(fragmentPositionCameraRelative - cameraPosition);
27
27
  vec3 upNormal = getLocalUp(fragmentPositionCameraRelative, cameraPosition);
28
28
  ${k}
29
- ${x?l`
29
+ ${x?u`
30
30
  float shadow = max(
31
31
  lightingGlobalFactor * (1.0 - additionalAmbientScale),
32
32
  readShadowMap(shadowReceiverRay * receiverDepth, receiverDepth)
33
33
  );
34
34
  `:`float shadow = readShadow(additionalAmbientScale, fragmentPositionCameraRelative);`}
35
35
  shadedColor = evaluateSceneLighting(upNormal, vColor.rgb, shadow, 0.0, additionalLight, viewDirection, upNormal);
36
- `;return w.main.add(`
36
+ `;return w.main.add(u`
37
+ gl_Position = ${a};
37
38
  uint gaussianIndex = fetchOrderedGaussianIndex(uint(gl_InstanceID));
38
39
  uvec4 packedGaussian = fetchPackedGaussian(gaussianIndex);
39
40
 
@@ -42,34 +43,77 @@ vec3 additionalLight = mainLightIntensity * additionalAmbientScale * ambientBoos
42
43
  float opacity = vColor.a;
43
44
 
44
45
  // Apply per-page fading before the early alpha rejection.
45
- ${u(_.fadingEnabled,l`opacity = applyGaussianSplatFading(opacity, gaussianIndex);
46
- vColor.a = opacity;`)}
46
+ ${d(_.fadingEnabled,u`
47
+ opacity = applyGaussianSplatFading(opacity, gaussianIndex);
48
+ vColor.a = opacity;
49
+ `)}
50
+
51
+ if (opacity < ${u.float(O)}) {
52
+ return;
53
+ }
54
+
55
+ vec3 cameraRelativePosition = fetchGaussianCameraRelativePosition(gaussianIndex, packedGaussian);
56
+ if (rejectGaussianPosition(cameraRelativePosition)) {
57
+ return;
58
+ }
59
+
60
+ vec4 viewPos = vec4(mat3(view) * cameraRelativePosition, 1.0);
61
+ if (viewPos.z > -nearFar.x || viewPos.z < -nearFar.y) {
62
+ return;
63
+ }
47
64
 
48
- ${m(_,O)}
65
+ vec3 gaussianScale = unpackScale(packedGaussian);
66
+ mat3 gaussianRotation = quaternionToRotationMatrix(unpackQuaternion(packedGaussian));
67
+ GaussianSplatProjection projection;
68
+ if (!projectGaussianSplat(
69
+ viewPos.xyz, gaussianScale, gaussianRotation,
70
+ ${u.float(O)}, ${u.float(Math.log(O))}, opacity, projection
71
+ )) {
72
+ return;
73
+ }
74
+
75
+ gaussianCoordinates = projection.coordinates;
76
+ gaussianLogFalloffCutoff = projection.logFalloffCutoff;
77
+ fragmentPositionCameraRelative = cameraRelativePosition + transpose(mat3(view)) * projection.viewOffset;
78
+
79
+ ${d(_.preciseDepth,u`
80
+ vec3 rayView = reconstructViewRay(projection.clipPosition.xy, inverseProjectionMatrix);
81
+ rayGaussianFactor = computeGaussianRayFactor(
82
+ rayView, cameraRelativePosition, gaussianScale, gaussianRotation, mat3(view)
83
+ );
84
+ `)}
85
+ gl_Position = projection.clipPosition;
49
86
  vColor.a = opacity;
50
- ${u(x,`shadowReceiverRay = transpose(mat3(view)) * rayView;`)}
87
+ ${d(x,`shadowReceiverRay = transpose(mat3(view)) * rayView;`)}
51
88
 
52
89
  // Per-fragment lighting preserves crisp shadow borders; vertex lighting reduces overdraw cost.
53
- ${u(b,`forwardLinearDepth(-viewPos.z);`,A)}
54
- `),T.include(c),T.main.add(`
90
+ ${d(b,`forwardLinearDepth(-viewPos.z);`,A)}
91
+ `),T.include(l),T.main.add(u`
92
+ if (rejectGaussianPosition(fragmentPositionCameraRelative)) {
93
+ discard;
94
+ }
95
+ float gaussianExponent = evaluateGaussianExponent(gaussianCoordinates);
96
+ if (gaussianExponent > 0.0 || gaussianExponent < gaussianLogFalloffCutoff) {
97
+ discard;
98
+ }
55
99
  float gaussianFalloff = exp(gaussianExponent);
56
100
 
57
101
  // Cap at 0.99 to avoid blending issues, such as seams between overlapping Gaussians.
58
102
  float alpha = min(.99f, vColor.a * gaussianFalloff);
59
103
 
60
- ${u(x,l`float receiverDepth = gaussianSplatRayDepth();`)}
104
+ ${d(_.preciseDepth,u`float receiverDepth = computeGaussianRayDepth(rayGaussianFactor);`)}
61
105
  vec3 shadedColor = vColor.rgb;
62
- ${u(b,j)}
106
+ ${d(b,j)}
63
107
  fragColor = vec4(shadedColor * alpha, alpha);
64
108
 
65
109
  // We simulate first hit based depth using the shared opacity threshold.
66
110
  // This works because we render in front-to-back order,
67
111
  // i.e. the first hit that counts completely saturates the alpha channel
68
112
  // and further splats do not contribute.
69
- float depthHit = step(${l.float(d)}, alpha);
113
+ float depthHit = step(${u.float(f)}, alpha);
70
114
  vec3 encodedDepth = vec3(0.0);
71
115
  if (depthHit > 0.0) {
72
- encodedDepth = encodeNormalizedDepthToRGB(${x?`delinearizeDepth(-receiverDepth)`:`gaussianSplatDepth()`});
116
+ encodedDepth = encodeNormalizedDepthToRGB(${_.preciseDepth?`delinearizeDepth(-receiverDepth)`:`gl_FragCoord.z`});
73
117
  }
74
118
  fragDepthColor = vec4(encodedDepth, depthHit);
75
119
  `),S}const v=Object.freeze(Object.defineProperty({__proto__:null,build:_},Symbol.toStringTag,{value:`Module`}));export{v as G,_ as b};
@@ -1,11 +1,60 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{If as e,glsl as t}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{gaussianSplatFirstHitAlpha as n}from"../views/3d/webgl-engine/shaders/GaussianSplatDepthPolicy.js";import{GaussianSplatPerspectivePass as r,GaussianSplatFading as i,gaussianSplatPerspectiveVertex as a}from"../views/3d/webgl-engine/shaders/GaussianSplatPass.glsl.js";import{ShaderBuilder as o}from"../views/webgl/ShaderBuilder.js";function s(s){let{fadingEnabled:c}=s,l=new o,{fragment:u,vertex:d}=l;return l.include(r,s),s.fadingEnabled&&l.vertex.include(i),s.writeNormals&&l.outputs.add(`fragNormal`,`vec4`,0),d.main.add(t`
2
+ import{positionOutsideClipSpace as e}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PositionOutsideClipSpace.js";import{If as t,glsl as n}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{gaussianSplatFirstHitAlpha as r}from"../views/3d/webgl-engine/shaders/GaussianSplatDepthPolicy.js";import{gaussianSplatPerspective as i,gaussianSplatFading as a}from"../views/3d/webgl-engine/shaders/GaussianSplatPass.glsl.js";import{ShaderBuilder as o}from"../views/webgl/ShaderBuilder.js";function s(s){let{fadingEnabled:c}=s,l=new o,{fragment:u,vertex:d,varyings:f}=l;return l.include(i,s),f.add(`gaussianCoordinates`,`vec2`),f.add(`gaussianLogFalloffCutoff`,`float`),f.add(`fragmentPositionCameraRelative`,`vec3`),s.preciseDepth&&f.add(`rayGaussianFactor`,`vec4`),s.fadingEnabled&&l.vertex.include(a),s.writeNormals&&l.outputs.add(`fragNormal`,`vec4`,0),d.main.add(n`
3
+ gl_Position = ${e};
3
4
  uint gaussianIndex = fetchOrderedGaussianIndex(uint(gl_InstanceID));
4
5
  uvec4 packedGaussian = fetchPackedGaussian(gaussianIndex);
5
6
 
6
7
  float opacity = unpackOpacity(packedGaussian);
7
8
 
8
- ${e(c,t`opacity = applyGaussianSplatFading(opacity, gaussianIndex);`)}
9
+ ${t(c,n`opacity = applyGaussianSplatFading(opacity, gaussianIndex);`)}
9
10
 
10
- ${a(s,n)}
11
- `),s.preciseDepth&&u.main.add(`gl_FragDepth = gaussianSplatDepth();`),s.writeNormals&&u.main.add(`fragNormal = vec4(0.0);`),l}const c=Object.freeze(Object.defineProperty({__proto__:null,build:s},Symbol.toStringTag,{value:`Module`}));export{c as G,s as b};
11
+ if (opacity < ${n.float(r)}) {
12
+ return;
13
+ }
14
+
15
+ vec3 cameraRelativePosition = fetchGaussianCameraRelativePosition(gaussianIndex, packedGaussian);
16
+ if (rejectGaussianPosition(cameraRelativePosition)) {
17
+ return;
18
+ }
19
+
20
+ vec4 viewPos = vec4(mat3(view) * cameraRelativePosition, 1.0);
21
+ if (viewPos.z > -nearFar.x || viewPos.z < -nearFar.y) {
22
+ return;
23
+ }
24
+
25
+ vec3 gaussianScale = unpackScale(packedGaussian);
26
+ mat3 gaussianRotation = quaternionToRotationMatrix(unpackQuaternion(packedGaussian));
27
+ GaussianSplatProjection projection;
28
+ if (!projectGaussianSplat(
29
+ viewPos.xyz, gaussianScale, gaussianRotation,
30
+ ${n.float(r)}, ${n.float(Math.log(r))}, opacity, projection
31
+ )) {
32
+ return;
33
+ }
34
+
35
+ gaussianCoordinates = projection.coordinates;
36
+ gaussianLogFalloffCutoff = projection.logFalloffCutoff;
37
+ fragmentPositionCameraRelative = cameraRelativePosition + transpose(mat3(view)) * projection.viewOffset;
38
+
39
+ ${t(s.preciseDepth,n`
40
+ vec3 rayView = reconstructViewRay(projection.clipPosition.xy, inverseProjectionMatrix);
41
+ rayGaussianFactor = computeGaussianRayFactor(
42
+ rayView, cameraRelativePosition, gaussianScale, gaussianRotation, mat3(view)
43
+ );
44
+ `)}
45
+ gl_Position = projection.clipPosition;
46
+ `),u.main.add(n`
47
+ if (rejectGaussianPosition(fragmentPositionCameraRelative)) {
48
+ discard;
49
+ }
50
+ ${s.normalizedCutoff?n`
51
+ if (dot(gaussianCoordinates, gaussianCoordinates) > 1.0) {
52
+ discard;
53
+ }
54
+ `:n`
55
+ float gaussianExponent = evaluateGaussianExponent(gaussianCoordinates);
56
+ if (gaussianExponent > 0.0 || gaussianExponent < gaussianLogFalloffCutoff) {
57
+ discard;
58
+ }
59
+ `}
60
+ `),s.preciseDepth&&u.main.add(n`gl_FragDepth = delinearizeDepth(-computeGaussianRayDepth(rayGaussianFactor));`),s.writeNormals&&u.main.add(`fragNormal = vec4(0.0);`),l}const c=Object.freeze(Object.defineProperty({__proto__:null,build:s},Symbol.toStringTag,{value:`Module`}));export{c as G,s as b};