@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,5 +1,11 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{create as e}from"../core/libs/gl-matrix-2/factories/mat4f64.js";import{nearFar as t}from"../views/3d/webgl-engine/core/shaderLibrary/util/cameraUniforms.js";import{glsl as n,If as r}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Matrix4PassUniform as i}from"../views/3d/webgl-engine/core/shaderModules/Matrix4PassUniform.js";import{shadowDepthBias as a,gaussianSplatFirstHitAlpha as o}from"../views/3d/webgl-engine/shaders/GaussianSplatDepthPolicy.js";import{gaussianSplatRayDepth as s,GaussianSplatPass as c,gaussianSplatUnpackScaleAndRotation as l,gaussianSplatComputeQuad as u,gaussianSplatCullAndTransformVertex as d,gaussianSplatComputeEllipse as f}from"../views/3d/webgl-engine/shaders/GaussianSplatPass.glsl.js";import{GaussianSplatRenderParameters as p}from"../views/3d/webgl-engine/shaders/GaussianSplatPassParameters.js";import{ShaderBuilder as m}from"../views/webgl/ShaderBuilder.js";class h extends p{constructor(){super(...arguments),this.inverseProjectionMatrix=e()}}function g(e){let p=new m,{vertex:h,fragment:g}=p,_=e.output===8;return e.preciseDepth&&(_?p.include(s):(p.varyings.add(`shadowRayDepth`,`vec2`),h.code.add(n`vec2 gaussianSplatPrepareParallelRayDepth(
2
+ import{create as e}from"../core/libs/gl-matrix-2/factories/mat4f64.js";import{positionOutsideClipSpace as t}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PositionOutsideClipSpace.js";import{nearFar as n}from"../views/3d/webgl-engine/core/shaderLibrary/util/cameraUniforms.js";import{glsl as r,If as i}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Matrix4PassUniform as a}from"../views/3d/webgl-engine/core/shaderModules/Matrix4PassUniform.js";import{shadowDepthBias as o,gaussianSplatFirstHitAlpha as s}from"../views/3d/webgl-engine/shaders/GaussianSplatDepthPolicy.js";import{gaussianSplatCommon as c,gaussianSplatRayDepth as l}from"../views/3d/webgl-engine/shaders/GaussianSplatPass.glsl.js";import{GaussianSplatRenderParameters as u}from"../views/3d/webgl-engine/shaders/GaussianSplatPassParameters.js";import{ShaderBuilder as d}from"../views/webgl/ShaderBuilder.js";class f extends u{constructor(){super(...arguments),this.inverseProjectionMatrix=e()}}function p(e){let u=new d,{vertex:f,fragment:p,varyings:m}=u,h=e.output===8,g=e.clippingEnabled||e.hasSlicePlane;return u.include(c,e),m.add(`gaussianCoordinates`,`vec2`),m.add(`gaussianLogFalloffCutoff`,`float`),(e.preciseDepth||g)&&f.uniforms.add(new a(`inverseProjectionMatrix`,e=>e.inverseProjectionMatrix)),g&&(m.add(`homogeneousPositionCameraRelative`,`vec4`),f.code.add(r`vec4 reconstructHomogeneousViewPosition(vec2 clipPosition, float viewZ, mat4 inverseProjection) {
3
+ vec4 origin = inverseProjection * vec4(clipPosition, 0.0, 1.0);
4
+ vec4 depthAxis = inverseProjection[2];
5
+ float denominator = depthAxis.z - viewZ * depthAxis.w;
6
+ float numerator = viewZ * origin.w - origin.z;
7
+ return origin * denominator + depthAxis * numerator;
8
+ }`)),e.preciseDepth&&(h?(u.include(l),m.add(`rayGaussianFactor`,`vec4`)):(u.varyings.add(`shadowRayDepth`,`vec2`),f.code.add(r`vec2 gaussianSplatPrepareParallelRayDepth(
3
9
  vec2 clipPosition,
4
10
  vec3 viewPosition,
5
11
  vec3 gaussianScale,
@@ -14,18 +20,35 @@ vec3 homogeneousCenterOffset = vec3(viewPosition.xy * homogeneousOrigin.w - homo
14
20
  vec3 factorSpaceOffset = (viewToGaussian * homogeneousCenterOffset) / gaussianScale;
15
21
  float homogeneousPeakOffset = dot(factorSpaceDirection, factorSpaceOffset) / dot(factorSpaceDirection, factorSpaceDirection);
16
22
  return vec2(-viewPosition.z * homogeneousOrigin.w + homogeneousPeakOffset, homogeneousOrigin.w);
17
- }`)),h.uniforms.add(new i(`inverseProjectionMatrix`,e=>e.inverseProjectionMatrix)),g.uniforms.add(t),g.constants.add(`depthBias`,`float`,a),g.main.add(n`
18
- float rayDepth = ${_?`gaussianSplatRayDepth()`:`shadowRayDepth.x / (shadowRayDepth.y == 0.0 ? 1.0 : shadowRayDepth.y)`};
23
+ }`)),p.uniforms.add(n),p.constants.add(`depthBias`,`float`,o),p.main.add(r`
24
+ float rayDepth = ${h?`computeGaussianRayDepth(rayGaussianFactor)`:`shadowRayDepth.x / (shadowRayDepth.y == 0.0 ? 1.0 : shadowRayDepth.y)`};
19
25
  float linearDepth = (rayDepth - nearFar.x) / (nearFar.y - nearFar.x);
20
26
  float slopeBias = 2.0 * max(abs(dFdx(linearDepth)), abs(dFdy(linearDepth)));
21
- ${r(!_,n`if (shadowRayDepth.y == 0.0) { discard; }`)}
27
+ ${i(!h,r`if (shadowRayDepth.y == 0.0) { discard; }`)}
22
28
  if (rayDepth < nearFar.x || rayDepth > nearFar.y) {
23
29
  discard;
24
30
  }
25
31
  gl_FragDepth = min(linearDepth + depthBias + slopeBias, 1.0);
26
- `)),p.include(c,e),h.constants.add(`alphaCutoff`,`float`,o),h.constants.add(`depthBias`,`float`,a),h.code.add(n`float safeClipW(float clipW) {
32
+ `)),g&&p.main.add(r`if (homogeneousPositionCameraRelative.w == 0.0) {
33
+ discard;
34
+ }
35
+ vec3 positionCameraRelative = homogeneousPositionCameraRelative.xyz / homogeneousPositionCameraRelative.w;
36
+ if (rejectGaussianPosition(positionCameraRelative)) {
37
+ discard;
38
+ }`),p.main.add(r`
39
+ ${e.normalizedCutoff?r`
40
+ if (dot(gaussianCoordinates, gaussianCoordinates) > 1.0) {
41
+ discard;
42
+ }
43
+ `:r`
44
+ float gaussianExponent = evaluateGaussianExponent(gaussianCoordinates);
45
+ if (gaussianExponent > 0.0 || gaussianExponent < gaussianLogFalloffCutoff) {
46
+ discard;
47
+ }
48
+ `}
49
+ `),f.constants.add(`alphaCutoff`,`float`,s),f.constants.add(`depthBias`,`float`,o),f.code.add(r`float safeClipW(float clipW) {
27
50
  return abs(clipW) < 1e-7 ? (clipW < 0.0 ? -1e-7 : 1e-7) : clipW;
28
- }`),h.code.add(n`vec3 computeProjectivePixelGradient(
51
+ }`),f.code.add(r`vec3 computeProjectivePixelGradient(
29
52
  vec3 clipGradient,
30
53
  vec3 clipWGradient,
31
54
  float clipValue,
@@ -34,17 +57,31 @@ float invWSquared,
34
57
  float halfScreenSize
35
58
  ) {
36
59
  return (clipGradient * safeW - clipValue * clipWGradient) * invWSquared * halfScreenSize;
37
- }`),h.code.add(n`float biasDepth(float linearDepth) {
60
+ }`),f.code.add(r`float biasDepth(float linearDepth) {
38
61
  return min(linearDepth + depthBias, 1.0);
39
- }`),h.main.add(`
62
+ }`),f.main.add(r`
63
+ gl_Position = ${t};
40
64
  uint gaussianIndex = fetchOrderedGaussianIndex(uint(gl_InstanceID));
41
65
  uvec4 packedGaussian = fetchPackedGaussian(gaussianIndex);
42
66
 
43
67
  float opacity = unpackOpacity(packedGaussian);
44
68
 
45
- ${d(e,`alphaCutoff`)}
69
+ if (opacity < alphaCutoff) {
70
+ return;
71
+ }
72
+
73
+ vec3 cameraRelativePosition = fetchGaussianCameraRelativePosition(gaussianIndex, packedGaussian);
74
+ if (rejectGaussianPosition(cameraRelativePosition)) {
75
+ return;
76
+ }
77
+
78
+ vec4 viewPos = vec4(mat3(view) * cameraRelativePosition, 1.0);
79
+ if (viewPos.z > -nearFar.x || viewPos.z < -nearFar.y) {
80
+ return;
81
+ }
46
82
 
47
- ${l}
83
+ vec3 gaussianScale = unpackScale(packedGaussian);
84
+ mat3 gaussianRotation = quaternionToRotationMatrix(unpackQuaternion(packedGaussian));
48
85
 
49
86
  vec4 projPos = proj * viewPos;
50
87
  float safeW = safeClipW(projPos.w);
@@ -78,7 +115,19 @@ return min(linearDepth + depthBias, 1.0);
78
115
  return;
79
116
  }
80
117
 
81
- ${f(`log(alphaCutoff) - log(opacity)`,`minimumRadiusOpacity`)}
118
+ float determinant = computeGaussianCovarianceDeterminant(covariance2D);
119
+ if (determinant <= 0.0) {
120
+ return;
121
+ }
122
+
123
+ vec2 eigenvalues = computeGaussianCovarianceEigenvalues(covariance2D);
124
+ gaussianLogFalloffCutoff = log(alphaCutoff) - log(opacity);
125
+ float gaussianEllipseThreshold = computeGaussianEllipseThreshold(gaussianLogFalloffCutoff);
126
+ vec2 screenRadii = computeGaussianScreenRadii(covariance2D, gaussianEllipseThreshold);
127
+ float maxRadius = ceil(sqrt(eigenvalues.x * gaussianEllipseThreshold));
128
+ if (rejectGaussianByMinimumRadius(maxRadius, minimumRadiusOpacity, minSplatRadius)) {
129
+ return;
130
+ }
82
131
 
83
132
  // Avoid invalid/extremely large footprints.
84
133
  if (maxRadius < 0.0 || maxRadius > maxShadowSplatRadius) {
@@ -86,16 +135,31 @@ return min(linearDepth + depthBias, 1.0);
86
135
  }
87
136
 
88
137
  vec3 ndcPos = projPos.xyz / safeW;
89
- ${u}
138
+ vec2 clipSpacePixelScale = 2.0 * inverseScreenSize;
139
+ if (rejectGaussianByScreenBounds(ndcPos.xy, screenRadii, clipSpacePixelScale)) {
140
+ return;
141
+ }
142
+ gaussianCoordinates = computeGaussianUnitQuadCorner(gl_VertexID) * sqrt(gaussianEllipseThreshold);
143
+ vec2 offsetFromCenter = computeGaussianQuadOffset(covariance2D, determinant, gaussianCoordinates);
90
144
  float linearDepth = (-viewPos.z - nearFar.x) / (nearFar.y - nearFar.x);
91
145
  float biasedDepth = biasDepth(linearDepth);
92
146
 
93
147
  vec2 clipPos = ndcPos.xy + offsetFromCenter * clipSpacePixelScale - inverseScreenSize;
94
- ${r(e.preciseDepth,_?n`vec3 rayView = reconstructViewRay(clipPos, inverseProjectionMatrix);
95
- rayGaussianFactor = computeGaussianRayFactor(
96
- rayView, cameraRelativePosition, gaussianScale, gaussianRotation, mat3(view)
97
- );`:n`shadowRayDepth = gaussianSplatPrepareParallelRayDepth(
98
- clipPos, viewPos.xyz, gaussianScale, gaussianRotation, inverseProjectionMatrix, mat3(view)
99
- );`)}
148
+ ${i(g,r`
149
+ vec4 homogeneousViewPosition = reconstructHomogeneousViewPosition(clipPos, viewPos.z, inverseProjectionMatrix);
150
+ homogeneousPositionCameraRelative = vec4(transpose(mat3(view)) * homogeneousViewPosition.xyz, homogeneousViewPosition.w);
151
+ `)}
152
+ ${i(e.preciseDepth,h?r`
153
+ vec3 rayView = reconstructViewRay(clipPos, inverseProjectionMatrix);
154
+ rayGaussianFactor = computeGaussianRayFactor(
155
+ rayView, cameraRelativePosition, gaussianScale, gaussianRotation, mat3(view)
156
+ );
157
+ `:r`
158
+ shadowRayDepth = gaussianSplatPrepareParallelRayDepth(
159
+ clipPos, viewPos.xyz, gaussianScale, gaussianRotation, inverseProjectionMatrix, mat3(view)
160
+ );
161
+ `)}
100
162
  gl_Position = vec4(clipPos, biasedDepth * 2.0 - 1.0, 1.0);
101
- `),p}const _=Object.freeze(Object.defineProperty({__proto__:null,GaussianSplatShadowPassParameters:h,build:g},Symbol.toStringTag,{value:`Module`}));export{h as G,_ as a,g as b};
163
+
164
+ ${i(e.normalizedCutoff,r`gaussianCoordinates = computeGaussianUnitQuadCorner(gl_VertexID);`)}
165
+ `),u}const m=Object.freeze(Object.defineProperty({__proto__:null,GaussianSplatShadowPassParameters:f,build:p},Symbol.toStringTag,{value:`Module`}));export{f as G,m as a,p as b};
@@ -29,15 +29,6 @@ float idleOcclusionBlendProgress = clamp(accumulatedFrames / highQualityIdleOccl
29
29
  return mix(highQualityIdleOcclusionBlendStart, highQualityIdleOcclusionBlendEnd,
30
30
  pow(idleOcclusionBlendProgress, highQualityIdleOcclusionBlendExponent));
31
31
  }
32
- bool isEdgeDepth(float centerDepth, vec2 sampleUv) {
33
- vec2 texelSize = 1.0 / vec2(textureSize(depthMap, 0));
34
- float depthLeft = linearizeDepth(depthFromTexture(depthMap, sampleUv + vec2(-texelSize.x, 0.0)));
35
- float depthRight = linearizeDepth(depthFromTexture(depthMap, sampleUv + vec2(texelSize.x, 0.0)));
36
- float depthUp = linearizeDepth(depthFromTexture(depthMap, sampleUv + vec2(0.0, texelSize.y)));
37
- float depthDown = linearizeDepth(depthFromTexture(depthMap, sampleUv + vec2(0.0, -texelSize.y)));
38
- float maxDifference = max(max(abs(centerDepth - depthLeft), abs(centerDepth - depthRight)), max(abs(centerDepth - depthUp), abs(centerDepth - depthDown)));
39
- return abs(maxDifference / centerDepth) > 0.01;
40
- }
41
32
  vec3 sampleCosineHemisphere(vec2 u) {
42
33
  float phi = 6.28318530718 * u.x;
43
34
  float radius = sqrt(u.y);
@@ -117,17 +108,11 @@ return value * 2.0 - 1.0;
117
108
  float reprojectionDepthMismatch = abs((lastFrameDepthViewPos + reprojectedViewPos.z) / max(lastFrameDepthViewPos, reprojectedViewPos.z));
118
109
  bool hasReprojectionMismatch = reprojectionDepthMismatch > reprojectionMismatchThreshold;
119
110
  bool isScaledGlobalIllumination = resolutionScale < 1.0;
120
- bool isLowQualityEdgePixel = isScaledGlobalIllumination && isEdgeDepth(currentPixelDepth, uv);
121
111
 
122
112
  // Heuristic to determine blending weights and number of steps for occlusion and color
123
113
  if (hasReprojectionMismatch) {
124
- if (isLowQualityEdgePixel) {
125
- steps = 1;
126
- occlusionBlendWeight = lowQualityOcclusionBlendWeight;
127
- } else {
128
- steps = 6;
129
- occlusionBlendWeight = 1.0;
130
- }
114
+ steps = 6;
115
+ occlusionBlendWeight = 1.0;
131
116
  } else {
132
117
  steps = 1;
133
118
  if (historyOcclusionBlendWeight > weakHistoryOcclusionThreshold) {
@@ -1,50 +1,50 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{markerTextureSize as e,markerSymbolSize as t,markerTipThicknessFactor as n}from"../views/3d/support/engineContent/marker.js";import{sliceDraw as r}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{RibbonVertexPosition as i}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/RibbonVertexPosition.glsl.js";import{OutputHighlight as a}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{evaluateSceneLightingFragment as o}from"../views/3d/webgl-engine/core/shaderLibrary/shading/evaluateSceneLightingFragment.glsl.js";import{MarkerSizing as s}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MarkerSizing.glsl.js";import{NormalUtils as c}from"../views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js";import{positionOutsideClipSpace as l}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PositionOutsideClipSpace.js";import{nearFar as u,viewport as d,viewNormal as f,inverseProjectionMatrix as p,screenPixelSizePerDistance as m,pixelRatio as h}from"../views/3d/webgl-engine/core/shaderLibrary/util/cameraUniforms.js";import{ColorConversion as g}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{NoPerspectiveWrite as _,NoPerspectiveRead as v}from"../views/3d/webgl-engine/core/shaderLibrary/util/NoPerspective.glsl.js";import{addProjViewLocalOrigin as y}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float4PassUniform as b}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{glsl as x,If 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{alphaCutoff as w}from"../views/3d/webgl-engine/shaders/alphaCutoff.glsl.js";import{outputColorHighlightOLID as T}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js";import{ShaderBuilder as E}from"../views/webgl/ShaderBuilder.js";function D(D){let O=new E,{draped:k,worldSpace:A,anchor:j,hasTip:M,shadingEnabled:N}=D,P=!k&&!A;O.attributes.add(`position`,`vec3`),O.attributes.add(D.hasVVSize?`sizeFeatureAttribute`:`size`,`float`),D.hasVVOpacity&&O.attributes.add(`opacityFeatureAttribute`,`float`),O.attributes.add(D.hasVVColor?`colorFeatureAttribute`:`color`,D.hasVVColor?`float`:`vec4`),O.vertex.inputs.add(`position`,()=>`position`),D.hasVVSize?O.vertex.inputs.add(`sizeFeatureAttribute`,()=>`sizeFeatureAttribute`):O.vertex.inputs.add(`size`,()=>`size`),D.hasVVOpacity&&O.vertex.inputs.add(`opacityFeatureAttribute`,()=>`opacityFeatureAttribute`),D.hasVVColor?O.vertex.inputs.add(`colorFeatureAttribute`,()=>`colorFeatureAttribute`):O.vertex.inputs.add(`color`,()=>`color`),O.include(i,D),O.include(s,D);let{vertex:F,fragment:I,varyings:L}=O;y(F,D),O.attributes.add(`previousDelta`,`vec4`),O.attributes.add(`uv0`,`vec2`),L.add(`vColor`,`vec4`),L.add(`vpos`,`vec3`,{invariant:!0}),L.add(`vUV`,`vec2`),L.add(`vSize`,`float`),M&&L.add(`vLineWidth`,`float`),F.uniforms.add(u,d).code.add(x`vec4 projectAndScale(vec4 pos) {
2
+ import{markerTextureSize as e,markerSymbolSize as t,markerTipThicknessFactor as n}from"../views/3d/support/engineContent/marker.js";import{sliceDraw as r}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{RibbonVertexPosition as i}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/RibbonVertexPosition.glsl.js";import{OutputHighlight as a}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{evaluateSceneLightingFragment as o}from"../views/3d/webgl-engine/core/shaderLibrary/shading/evaluateSceneLightingFragment.glsl.js";import{forwardLocalUp as s}from"../views/3d/webgl-engine/core/shaderLibrary/shading/forwardLocalUp.glsl.js";import{MarkerSizing as c}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MarkerSizing.glsl.js";import{positionOutsideClipSpace as l}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PositionOutsideClipSpace.js";import{nearFar as u,viewport as d,viewNormal as f,inverseProjectionMatrix as p,screenPixelSizePerDistance as m,pixelRatio as h}from"../views/3d/webgl-engine/core/shaderLibrary/util/cameraUniforms.js";import{ColorConversion as g}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{NoPerspectiveWrite as _,NoPerspectiveRead as v}from"../views/3d/webgl-engine/core/shaderLibrary/util/NoPerspective.glsl.js";import{addProjViewLocalOrigin as y,addCameraPosition as b}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float4PassUniform as x}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{glsl as S,If as C}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DPassUniform as w}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{alphaCutoff as T}from"../views/3d/webgl-engine/shaders/alphaCutoff.glsl.js";import{outputColorHighlightOLID as E}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js";import{ShaderBuilder as D}from"../views/webgl/ShaderBuilder.js";function O(O){let k=new D,{draped:A,worldSpace:j,anchor:M,hasTip:N,shadingEnabled:P}=O,F=!A&&!j;k.attributes.add(`position`,`vec3`),k.attributes.add(O.hasVVSize?`sizeFeatureAttribute`:`size`,`float`),O.hasVVOpacity&&k.attributes.add(`opacityFeatureAttribute`,`float`),k.attributes.add(O.hasVVColor?`colorFeatureAttribute`:`color`,O.hasVVColor?`float`:`vec4`),k.vertex.inputs.add(`position`,()=>`position`),O.hasVVSize?k.vertex.inputs.add(`sizeFeatureAttribute`,()=>`sizeFeatureAttribute`):k.vertex.inputs.add(`size`,()=>`size`),O.hasVVOpacity&&k.vertex.inputs.add(`opacityFeatureAttribute`,()=>`opacityFeatureAttribute`),O.hasVVColor?k.vertex.inputs.add(`colorFeatureAttribute`,()=>`colorFeatureAttribute`):k.vertex.inputs.add(`color`,()=>`color`),k.include(i,O),k.include(c,O);let{vertex:I,fragment:L,varyings:R}=k;y(I,O),k.attributes.add(`previousDelta`,`vec4`),k.attributes.add(`uv0`,`vec2`),R.add(`vColor`,`vec4`),R.add(`vpos`,`vec3`,{invariant:!0}),R.add(`vUV`,`vec2`),R.add(`vSize`,`float`),N&&R.add(`vLineWidth`,`float`),I.uniforms.add(u,d).code.add(S`vec4 projectAndScale(vec4 pos) {
3
3
  vec4 posNdc = proj * pos;
4
4
  posNdc.xy *= viewport.zw / posNdc.w;
5
5
  return posNdc;
6
- }`),F.code.add(x`void clip(vec4 pos, inout vec4 prev) {
6
+ }`),I.code.add(S`void clip(vec4 pos, inout vec4 prev) {
7
7
  float vnp = nearFar[0] * 0.99;
8
8
  if (prev.z > -nearFar[0]) {
9
9
  float interpolation = (-vnp - pos.z) / (prev.z - pos.z);
10
10
  prev = mix(pos, prev, interpolation);
11
11
  }
12
- }`),A?(O.attributes.add(`normal`,`vec3`),F.constants.add(`tiltThreshold`,`float`,.7).uniforms.add(f).code.add(x`vec3 perpendicular(vec3 v) {
12
+ }`),j?(k.attributes.add(`normal`,`vec3`),I.constants.add(`tiltThreshold`,`float`,.7).uniforms.add(f).code.add(S`vec3 perpendicular(vec3 v) {
13
13
  vec3 n = (viewNormal * vec4(normal.xyz, 1.0)).xyz;
14
14
  vec3 n2 = cross(v, n);
15
15
  vec3 forward = vec3(0.0, 0.0, 1.0);
16
16
  float tiltDot = dot(forward, n);
17
17
  return abs(tiltDot) < tiltThreshold ? n : n2;
18
- }`)):F.code.add(x`vec2 perpendicular(vec2 v) {
18
+ }`)):I.code.add(S`vec2 perpendicular(vec2 v) {
19
19
  return vec2(v.y, -v.x);
20
- }`);let R=A?`vec3`:`vec2`;return F.code.add(x`
21
- ${R} normalizedSegment(${R} pos, ${R} prev) {
22
- ${R} segment = pos - prev;
20
+ }`);let z=j?`vec3`:`vec2`;return I.code.add(S`
21
+ ${z} normalizedSegment(${z} pos, ${z} prev) {
22
+ ${z} segment = pos - prev;
23
23
  float segmentLen = length(segment);
24
24
 
25
25
  // normalize or zero if too short
26
- return (segmentLen > 0.001) ? segment / segmentLen : ${A?`vec3(0.0, 0.0, 0.0)`:`vec2(0.0, 0.0)`};
26
+ return (segmentLen > 0.001) ? segment / segmentLen : ${j?`vec3(0.0, 0.0, 0.0)`:`vec2(0.0, 0.0)`};
27
27
  }
28
28
 
29
- ${R} displace(${R} pos, ${R} prev, float displacementLen) {
30
- ${R} segment = normalizedSegment(pos, prev);
29
+ ${z} displace(${z} pos, ${z} prev, float displacementLen) {
30
+ ${z} segment = normalizedSegment(pos, prev);
31
31
 
32
- ${R} displacementDirU = perpendicular(segment);
33
- ${R} displacementDirV = segment;
32
+ ${z} displacementDirU = perpendicular(segment);
33
+ ${z} displacementDirV = segment;
34
34
 
35
- ${j===1?`pos -= 0.5 * displacementLen * displacementDirV;`:``}
35
+ ${M===1?`pos -= 0.5 * displacementLen * displacementDirV;`:``}
36
36
 
37
37
  return pos + displacementLen * (uv0.x * displacementDirU + uv0.y * displacementDirV);
38
38
  }
39
- `),P&&(F.uniforms.add(p),F.code.add(x`vec3 inverseProject(vec4 posScreen) {
39
+ `),F&&(I.uniforms.add(p),I.code.add(S`vec3 inverseProject(vec4 posScreen) {
40
40
  posScreen.xy = (posScreen.xy / viewport.zw) * posScreen.w;
41
41
  return (inverseProjectionMatrix * posScreen).xyz;
42
- }`),F.code.add(x`bool rayIntersectPlane(vec3 rayDir, vec3 planeOrigin, vec3 planeNormal, out vec3 intersection) {
42
+ }`),I.code.add(S`bool rayIntersectPlane(vec3 rayDir, vec3 planeOrigin, vec3 planeNormal, out vec3 intersection) {
43
43
  float cos = dot(rayDir, planeNormal);
44
44
  float t = dot(planeOrigin, planeNormal) / cos;
45
45
  intersection = t * rayDir;
46
46
  return abs(cos) > 0.001 && t > 0.0;
47
- }`),F.uniforms.add(m),F.code.add(x`
47
+ }`),I.uniforms.add(m),I.code.add(S`
48
48
  vec4 toFront(vec4 displacedPosScreen, vec3 posLeft, vec3 posRight, vec3 prev, float lineWidth) {
49
49
  // Project displaced position back to camera space
50
50
  vec3 displacedPos = inverseProject(displacedPosScreen);
@@ -54,7 +54,7 @@ return abs(cos) > 0.001 && t > 0.0;
54
54
  vec3 planeNormal = normalize(cross(posLeft - posRight, posLeft - prev));
55
55
  vec3 planeOrigin = posLeft;
56
56
 
57
- ${S(D.hasCap,`if(prev.z > posLeft.z) {
57
+ ${C(O.hasCap,`if(prev.z > posLeft.z) {
58
58
  vec2 diff = posLeft.xy - posRight.xy;
59
59
  planeOrigin.xy += perpendicular(diff) / 2.0;
60
60
  }`)};
@@ -76,7 +76,7 @@ return abs(cos) > 0.001 && t > 0.0;
76
76
  displacedPos *= minDepth / length(displacedPos);
77
77
  return vec4(displacedPos.xyz, 1.0);
78
78
  }
79
- `)),O.include(_),F.uniforms.add(h).main.add(x`
79
+ `)),k.include(_),I.uniforms.add(h).main.add(S`
80
80
  // Check for special value of uv0.y which is used by the Renderer when graphics are removed before the VBO is
81
81
  // recompacted. If this is the case, then we just project outside of clip space.
82
82
  if (uv0.y == 0.0) {
@@ -88,24 +88,24 @@ return abs(cos) > 0.001 && t > 0.0;
88
88
  vec4 pos = view * vec4(position, 1.0);
89
89
  vec4 prev = view * vec4(position + previousDelta.xyz * previousDelta.w, 1.0);
90
90
 
91
- float lineWidth = getLineWidth(${S(D.lineWidthRequiresPosition,`pos.xyz`)});
91
+ float lineWidth = getLineWidth(${C(O.lineWidthRequiresPosition,`pos.xyz`)});
92
92
  float screenMarkerSize = getScreenMarkerSize(lineWidth);
93
93
 
94
94
  clip(pos, prev);
95
95
 
96
- ${A?x`${S(D.hideOnShortSegments,x`
96
+ ${j?S`${C(O.hideOnShortSegments,S`
97
97
  if (areWorldMarkersHidden(pos.xyz, prev.xyz)) {
98
98
  gl_Position = ${l};
99
99
  return;
100
100
  }`)}
101
101
  pos.xyz = displace(pos.xyz, prev.xyz, getWorldMarkerSize(pos.xyz));
102
- vec4 displacedPosScreen = projectAndScale(pos);`:x`
102
+ vec4 displacedPosScreen = projectAndScale(pos);`:S`
103
103
  vec4 posScreen = projectAndScale(pos);
104
104
  vec4 prevScreen = projectAndScale(prev);
105
105
  vec4 displacedPosScreen = posScreen;
106
106
 
107
107
  displacedPosScreen.xy = displace(posScreen.xy, prevScreen.xy, screenMarkerSize);
108
- ${S(P,x`
108
+ ${C(F,S`
109
109
  vec2 displacementDirU = perpendicular(normalizedSegment(posScreen.xy, prevScreen.xy));
110
110
 
111
111
  // We need three points of the ribbon line in camera space to calculate the plane it lies in
@@ -121,8 +121,8 @@ return abs(cos) > 0.001 && t > 0.0;
121
121
 
122
122
  // Convert texture coordinate into [0,1]
123
123
  vUV = (uv0 + 1.0) / 2.0;
124
- ${S(!A,`vUV = noPerspectiveWrite(vUV, displacedPosScreen.w);`)}
125
- ${S(M,`vLineWidth = noPerspectiveWrite(lineWidth, displacedPosScreen.w);`)}
124
+ ${C(!j,`vUV = noPerspectiveWrite(vUV, displacedPosScreen.w);`)}
125
+ ${C(N,`vLineWidth = noPerspectiveWrite(lineWidth, displacedPosScreen.w);`)}
126
126
 
127
127
  vSize = screenMarkerSize;
128
128
  vColor = getColor();
@@ -131,13 +131,13 @@ return abs(cos) > 0.001 && t > 0.0;
131
131
  vpos = pos.xyz;
132
132
 
133
133
  gl_Position = displacedPosScreen;
134
- `),I.include(r,D),O.include(T,D),I.include(g),I.include(w),I.uniforms.add(new b(`intrinsicColor`,({color:e})=>e),new C(`tex`,({markerTexture:e})=>e)).constants.add(`texelSize`,`float`,1/e).code.add(x`float markerAlpha(vec2 samplePos) {
134
+ `),L.include(r,O),k.include(E,O),L.include(g),L.include(T),L.uniforms.add(new x(`intrinsicColor`,({color:e})=>e),new w(`tex`,({markerTexture:e})=>e)).constants.add(`texelSize`,`float`,1/e).code.add(S`float markerAlpha(vec2 samplePos) {
135
135
  samplePos += vec2(0.5, -0.5) * texelSize;
136
136
  float sdf = texture(tex, samplePos).r;
137
137
  float pixelDistance = sdf * vSize;
138
138
  pixelDistance -= 0.5;
139
139
  return clamp(0.5 - pixelDistance, 0.0, 1.0);
140
- }`),M&&(O.include(v),I.constants.add(`relativeMarkerSize`,`float`,t/e).constants.add(`relativeTipLineWidth`,`float`,n).code.add(x`
140
+ }`),N&&(k.include(v),L.constants.add(`relativeMarkerSize`,`float`,t/e).constants.add(`relativeTipLineWidth`,`float`,n).code.add(S`
141
141
  float tipAlpha(vec2 samplePos) {
142
142
  // Convert coordinates s.t. they are in pixels and relative to the tip of an arrow marker
143
143
  samplePos -= vec2(0.5, 0.5 + 0.5 * relativeMarkerSize);
@@ -146,18 +146,19 @@ return clamp(0.5 - pixelDistance, 0.0, 1.0);
146
146
  float halfMarkerSize = 0.5 * relativeMarkerSize * vSize;
147
147
  float halfTipLineWidth = 0.5 * max(1.0, relativeTipLineWidth * noPerspectiveRead(vLineWidth));
148
148
 
149
- ${S(A,`halfTipLineWidth *= fwidth(samplePos.y);`)}
149
+ ${C(j,`halfTipLineWidth *= fwidth(samplePos.y);`)}
150
150
 
151
151
  float distance = max(abs(samplePos.x) - halfMarkerSize, abs(samplePos.y) - halfTipLineWidth);
152
152
  return clamp(0.5 - distance, 0.0, 1.0);
153
153
  }
154
- `)),O.include(a,D),O.include(v),I.main.add(x`
154
+ `)),k.include(a,O),k.include(v),L.main.add(S`
155
155
  discardBySlice(vpos);
156
156
 
157
157
  vec4 albedo = intrinsicColor * vColor;
158
158
 
159
159
  // Cancel out perspective correct interpolation if in screen space or draped
160
- vec2 samplePos = ${S(A,`vUV`,`noPerspectiveRead(vUV)`)};
161
- albedo.a *= ${M?`max(markerAlpha(samplePos), tipAlpha(samplePos))`:`markerAlpha(samplePos)`};
160
+ vec2 samplePos = ${C(j,`vUV`,`noPerspectiveRead(vUV)`)};
161
+ albedo.a *= ${N?`max(markerAlpha(samplePos), tipAlpha(samplePos))`:`markerAlpha(samplePos)`};
162
162
  if(albedo.a < alphaCutoff) discard; // We also want to discard in the opaque color pass
163
- `),N?(L.add(`vnormal`,`vec3`),F.include(c,D),F.main.add(`vnormal = getLocalUp(vpos, localOrigin);`),O.include(o,D),I.main.add(`vec4 finalColor = evaluateSceneLightingFragment(vpos, vnormal, albedo);`)):I.main.add(`vec4 finalColor = albedo;`),I.main.add(`outputColorHighlightOLID(applySlice(finalColor, vpos), albedo.rgb);`),O}const O=Object.freeze(Object.defineProperty({__proto__:null,build:D},Symbol.toStringTag,{value:`Module`}));export{O as L,D as b};
163
+ `),P?(R.add(`vposWorld`,`vec3`),b(I,O),k.include(s,O),I.main.add(S`vposWorld = transpose(mat3(view)) * vpos + cameraPosition;
164
+ forwardLocalUp(vposWorld, localOrigin);`),k.include(o,O),L.main.add(`vec4 finalColor = evaluateSceneLightingFragment(vposWorld, upNormal, albedo);`)):L.main.add(`vec4 finalColor = albedo;`),L.main.add(`outputColorHighlightOLID(applySlice(finalColor, vpos), albedo.rgb);`),k}const k=Object.freeze(Object.defineProperty({__proto__:null,build:O},Symbol.toStringTag,{value:`Module`}));export{k as L,O as b};
@@ -1,5 +1,5 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{ScreenSpacePass as e}from"../views/3d/webgl-engine/core/shaderLibrary/ScreenSpacePass.glsl.js";import{ColorConversion as t}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{emissionFilter as n}from"../views/3d/webgl-engine/core/shaderLibrary/util/emissionFilter.glsl.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{OITBlendFragmentPassParameters as a,oitBlendFragment as o}from"../views/3d/webgl-engine/effects/transparency/oitBlendFragment.glsl.js";import{floatBlendScale as s}from"../views/3d/webgl-engine/shaders/floatBlendScale.glsl.js";import{ToneMapping as c}from"../views/3d/webgl-engine/shaders/ToneMapping.glsl.js";import{ShaderBuilder as l}from"../views/webgl/ShaderBuilder.js";class u extends a{}function d(a){let u=new l;u.include(e);let{fragment:d,outputs:f}=u;return f.add(`fragEmission`,`vec4`,1),d.include(s,a),d.include(o,a),d.include(n,a),d.include(c),d.include(t),d.uniforms.add(new i(`emissionTexture`,e=>e.emissionTexture),new i(`frontFaceEmissionTexture`,e=>e.frontFaceEmissionTexture)),d.main.add(r`vec4 emission = oitBlendFragment(emissionTexture, frontFaceEmissionTexture, floatBlendInputScale);
2
+ import{ScreenSpacePass as e}from"../views/3d/webgl-engine/core/shaderLibrary/ScreenSpacePass.glsl.js";import{ColorConversion as t}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{emissionFilter as n}from"../views/3d/webgl-engine/core/shaderLibrary/util/emissionFilter.glsl.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{OITBlendFragmentPassParameters as a,oitBlendFragment as o}from"../views/3d/webgl-engine/effects/transparency/oitBlendFragment.glsl.js";import{floatBlendScale as s}from"../views/3d/webgl-engine/shaders/floatBlendScale.glsl.js";import{ToneMapping as c}from"../views/3d/webgl-engine/shaders/ToneMapping.glsl.js";import{ShaderBuilder as l}from"../views/webgl/ShaderBuilder.js";class u extends a{}function d(a){let u=new l;u.include(e);let{fragment:d,outputs:f}=u;return f.add(`fragEmission`,`vec4`,1),d.include(s,a),d.include(o,a),d.include(n,a),d.include(c),d.include(t),d.uniforms.add(new i(`emissionTexture`,e=>e.emissionTexture),new i(`frontFaceEmissionTexture`,e=>e.frontFaceEmissionTexture)).main.add(r`vec4 emission = oitBlendFragment(emissionTexture, frontFaceEmissionTexture, floatBlendInputScale);
3
3
  vec4 transparentColor = oitBlendFragment();
4
4
  vec3 dim = emissionFilter(transparentColor.rgb, transparentColor.a);
5
5
  fragEmission.rgb = emission.rgb * dim * pow(emission.a, 0.5) * floatBlendOutputScale;
@@ -1,5 +1,5 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{ZEROS as e}from"../core/libs/gl-matrix-2/factories/vec3f64.js";import{Colormap as t}from"../views/3d/webgl-engine/core/shaderLibrary/raster/Colormap.glsl.js";import{CommonPassParameters as n,Common as r}from"../views/3d/webgl-engine/core/shaderLibrary/raster/Common.glsl.js";import{TileBackground as i}from"../views/3d/webgl-engine/core/shaderLibrary/terrain/TileBackground.glsl.js";import{TileComposite as a}from"../views/3d/webgl-engine/core/shaderLibrary/terrain/TileComposite.glsl.js";import{ColorConversion as o}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{BooleanPassUniform as s}from"../views/3d/webgl-engine/core/shaderModules/BooleanPassUniform.js";import{Float2PassUniform as c}from"../views/3d/webgl-engine/core/shaderModules/Float2PassUniform.js";import{Float3PassUniform as l}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{FloatPassUniform as u}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{FloatsPassUniform as d}from"../views/3d/webgl-engine/core/shaderModules/FloatsPassUniform.js";import{glsl as f}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{IntegerPassUniform as p}from"../views/3d/webgl-engine/core/shaderModules/IntegerPassUniform.js";import{Texture2DPassUniform as m}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{ShaderBuilder as h}from"../views/webgl/ShaderBuilder.js";class g extends n{constructor(t,n,r,i,a,o){super(t,i,a),this.colormap=n,this.symbolizer=r,this.u_colormap=o,this.backgroundColor=e,this.fboTexture=null,this.baseOpacity=1}}class _ extends g{}class v extends g{}function y(e){let n=new h;return n.include(a),n.include(r,e),n.include(t,e),n.include(i,e),n.fragment.code.add(f`vec4 applyBackgroundBlend(vec4 layerColor) {
2
+ import{ZEROS as e}from"../core/libs/gl-matrix-2/factories/vec3f64.js";import{Colormap as t}from"../views/3d/webgl-engine/core/shaderLibrary/raster/Colormap.glsl.js";import{CommonPassParameters as n,Common as r}from"../views/3d/webgl-engine/core/shaderLibrary/raster/Common.glsl.js";import{blendLayers as i}from"../views/3d/webgl-engine/core/shaderLibrary/terrain/blendLayers.glsl.js";import{TileComposite as a}from"../views/3d/webgl-engine/core/shaderLibrary/terrain/TileComposite.glsl.js";import{ColorConversion as o}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{BooleanPassUniform as s}from"../views/3d/webgl-engine/core/shaderModules/BooleanPassUniform.js";import{Float2PassUniform as c}from"../views/3d/webgl-engine/core/shaderModules/Float2PassUniform.js";import{Float3PassUniform as l}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{FloatPassUniform as u}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{FloatsPassUniform as d}from"../views/3d/webgl-engine/core/shaderModules/FloatsPassUniform.js";import{glsl as f}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{IntegerPassUniform as p}from"../views/3d/webgl-engine/core/shaderModules/IntegerPassUniform.js";import{Texture2DPassUniform as m}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{ShaderBuilder as h}from"../views/webgl/ShaderBuilder.js";class g extends n{constructor(t,n,r,i,a,o){super(t,i,a),this.colormap=n,this.symbolizer=r,this.u_colormap=o,this.backgroundColor=e,this.fboTexture=null,this.baseOpacity=1}}class _ extends g{}class v extends g{}function y(e){let n=new h;return n.include(a),n.include(r,e),n.include(t,e),n.include(i,e),n.fragment.code.add(f`vec4 applyBackgroundBlend(vec4 layerColor) {
3
3
  return blendLayers(vuv, layerColor, u_opacity);
4
4
  }`),e.colorizerType===0?x(n,e):e.colorizerType===1?b(n):e.colorizerType===2&&S(n,e),n}function b(e){e.fragment.main.add(f`vec2 pixelLocation = getPixelLocation(uv);
5
5
  if (isOutside(pixelLocation)) {