@arcgis/core 5.1.0-next.71 → 5.1.0-next.72

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 (365) hide show
  1. package/PopupTemplate.js +1 -1
  2. package/assets/esri/core/workers/RemoteClient.js +1 -1
  3. package/assets/esri/core/workers/chunks/003fd7745966fe03510c.js +1 -0
  4. package/assets/esri/core/workers/chunks/00bae4b7e179336e0362.js +1 -0
  5. package/assets/esri/core/workers/chunks/{36031cb53c486630f3c9.js → 026d3fa331caec1ea3d2.js} +1 -1
  6. package/assets/esri/core/workers/chunks/027c3ea756db68e51f0a.js +1 -0
  7. package/assets/esri/core/workers/chunks/{c06d021180418f2014de.js → 02876e434dc91c42b2f4.js} +1 -1
  8. package/assets/esri/core/workers/chunks/041c372e98a6fba90b36.js +1 -0
  9. package/assets/esri/core/workers/chunks/{a5a46d0a0831497cf1b4.js → 0783890816bac45277b9.js} +1 -1
  10. package/assets/esri/core/workers/chunks/07aac6245a0d1adbb2d4.js +1 -0
  11. package/assets/esri/core/workers/chunks/0839da55707f7c4cf780.js +1 -0
  12. package/assets/esri/core/workers/chunks/0c00e5e4bd18467bcecd.js +1 -0
  13. package/assets/esri/core/workers/chunks/{d69110ec4078c583a05e.js → 0d96e39380fd84cea9ba.js} +1 -1
  14. package/assets/esri/core/workers/chunks/0dad0bca8d58b2c63d22.js +1 -0
  15. package/assets/esri/core/workers/chunks/0ef93722524620023f69.js +1 -0
  16. package/assets/esri/core/workers/chunks/127cd8fee3717a473fc5.js +1 -0
  17. package/assets/esri/core/workers/chunks/1286f41f245ef22b3a26.js +1 -0
  18. package/assets/esri/core/workers/chunks/161d60fdac2013c15543.js +1 -0
  19. package/assets/esri/core/workers/chunks/1661684357912726a72a.js +1 -0
  20. package/assets/esri/core/workers/chunks/168de44a789d1cecc1f8.js +1 -0
  21. package/assets/esri/core/workers/chunks/1961b59756933e0a82f2.js +1 -0
  22. package/assets/esri/core/workers/chunks/1d9d7915cf7449e5d468.js +1 -0
  23. package/assets/esri/core/workers/chunks/1f85646936200a399c15.js +1 -0
  24. package/assets/esri/core/workers/chunks/{deb8a0b306d7b9c86b97.js → 2171aaa147aa4d9fc5b5.js} +1 -1
  25. package/assets/esri/core/workers/chunks/235cb82952a18ff8d206.js +1 -0
  26. package/assets/esri/core/workers/chunks/260d4571722cb1ff1366.js +1 -0
  27. package/assets/esri/core/workers/chunks/{3e972ae291df1844017d.js → 266ba61b72a278d93a26.js} +1 -1
  28. package/assets/esri/core/workers/chunks/27b80c386cebadcaca3c.js +1 -0
  29. package/assets/esri/core/workers/chunks/29d3890a5a43d934067a.js +1 -0
  30. package/assets/esri/core/workers/chunks/{333a0038d782d8a34d58.js → 2abf124e2956e4f76688.js} +1 -1
  31. package/assets/esri/core/workers/chunks/2f17438d215bea3ce70f.js +1 -0
  32. package/assets/esri/core/workers/chunks/{f6d5dd2eef0d9918096e.js → 30e710ec4d22c43d4e7e.js} +1 -1
  33. package/assets/esri/core/workers/chunks/356cb86606b8c674f947.js +1 -0
  34. package/assets/esri/core/workers/chunks/398e0dd2bc7e1ab84831.js +1 -0
  35. package/assets/esri/core/workers/chunks/3b1052aa30af3f6186cc.js +1 -0
  36. package/assets/esri/core/workers/chunks/3bbf684ee2484eb44c9f.js +1 -0
  37. package/assets/esri/core/workers/chunks/3cd9bd20e75ba4d5b294.js +1 -0
  38. package/assets/esri/core/workers/chunks/3e87e3ad857d72f6ecbb.js +1 -0
  39. package/assets/esri/core/workers/chunks/{7cb6d8f7eaf762279632.js → 3ea5a18b264628dc37f0.js} +1 -1
  40. package/assets/esri/core/workers/chunks/41809c16544ec25120fa.js +1 -0
  41. package/assets/esri/core/workers/chunks/41913575dd45c65d645e.js +1 -0
  42. package/assets/esri/core/workers/chunks/42e483fde18f12da32a6.js +1 -0
  43. package/assets/esri/core/workers/chunks/43ab44d37bc0ea97ef98.js +1 -0
  44. package/assets/esri/core/workers/chunks/46e622857ba92a72a317.js +1 -0
  45. package/assets/esri/core/workers/chunks/47f2113357b2aa4f4f37.js +1 -0
  46. package/assets/esri/core/workers/chunks/488ed9584b527ec47be3.js +1 -0
  47. package/assets/esri/core/workers/chunks/4ad32580e0c0699fde1f.js +1 -0
  48. package/assets/esri/core/workers/chunks/4d0f793dee4ad919221b.js +1 -0
  49. package/assets/esri/core/workers/chunks/4eed175277eb0df3c821.js +1 -0
  50. package/assets/esri/core/workers/chunks/{916a8f3eed1fafdc7242.js → 54d07eadf113f0e4e506.js} +1 -1
  51. package/assets/esri/core/workers/chunks/54ed37ec9682ea739deb.js +1 -0
  52. package/assets/esri/core/workers/chunks/{9187d1caca1fd2d713e0.js → 55369c5bd65bcaf78da1.js} +1 -1
  53. package/assets/esri/core/workers/chunks/56fd3da911c2c4511e5d.js +1 -0
  54. package/assets/esri/core/workers/chunks/59592bb25f226865e88a.js +1 -0
  55. package/assets/esri/core/workers/chunks/{e77d958cb62536b8eebc.js → 5a4d7ba6dc1d4b41d80d.js} +1 -1
  56. package/assets/esri/core/workers/chunks/5d55b4449bcb24cd72b6.js +1 -0
  57. package/assets/esri/core/workers/chunks/5d8fe41a3c06ddb4094b.js +1 -0
  58. package/assets/esri/core/workers/chunks/{fe68c28d3c61f116ff23.js → 5ef37f37e405b3bb5450.js} +1 -1
  59. package/assets/esri/core/workers/chunks/608d707fd9d9f9088473.js +1 -0
  60. package/assets/esri/core/workers/chunks/{c92352b0e39576ca317a.js → 61ef14e42bc09b787d89.js} +1 -1
  61. package/assets/esri/core/workers/chunks/656d6963e8f837fbf28f.js +1 -0
  62. package/assets/esri/core/workers/chunks/68b47a5a50e0b5fffca2.js +1 -0
  63. package/assets/esri/core/workers/chunks/{a5afcd633b32e6ee31a7.js → 6a0352d20596ca3f4b64.js} +1 -1
  64. package/assets/esri/core/workers/chunks/6c7ff968bd4fc816442d.js +1 -0
  65. package/assets/esri/core/workers/chunks/6e526c06825ecc6c99c0.js +1 -0
  66. package/assets/esri/core/workers/chunks/6ea8b0d68881d16a2432.js +1 -0
  67. package/assets/esri/core/workers/chunks/6f9ea461c268c421f9c9.js +1 -0
  68. package/assets/esri/core/workers/chunks/7027d93dc5a4595d70c6.js +1 -0
  69. package/assets/esri/core/workers/chunks/70b35b2446558d5280e3.js +1 -0
  70. package/assets/esri/core/workers/chunks/7349cb45a93e6916f115.js +1 -0
  71. package/assets/esri/core/workers/chunks/751609831b283903ba48.js +1 -0
  72. package/assets/esri/core/workers/chunks/76edaeaf8fe344bb77a8.js +1 -0
  73. package/assets/esri/core/workers/chunks/76fe5b821d6b54db5721.js +1 -0
  74. package/assets/esri/core/workers/chunks/81d30c9062ad0120a863.js +1 -0
  75. package/assets/esri/core/workers/chunks/84772b023d04e415f17f.js +1 -0
  76. package/assets/esri/core/workers/chunks/{123e920e4460124ec3bb.js → 88b480a1d1fb01778798.js} +9 -30
  77. package/assets/esri/core/workers/chunks/88c5f7c712c6b89b5109.js +1 -0
  78. package/assets/esri/core/workers/chunks/88e469b82d2594f23649.js +1 -0
  79. package/assets/esri/core/workers/chunks/8a14e3db28c403b046cf.js +1 -0
  80. package/assets/esri/core/workers/chunks/8a664451845a47048859.js +1 -0
  81. package/assets/esri/core/workers/chunks/8a8242e7cc7e6a9e7876.js +1 -0
  82. package/assets/esri/core/workers/chunks/{4d51261d6131c07402cd.js → 8acee3fba488f202f82f.js} +1 -1
  83. package/assets/esri/core/workers/chunks/91a0227a64a944af3286.js +596 -0
  84. package/assets/esri/core/workers/chunks/9444ed8ea117861ae89b.js +1 -0
  85. package/assets/esri/core/workers/chunks/96bba4d93a32ad34a1c8.js +1 -0
  86. package/assets/esri/core/workers/chunks/9a38fd68b02b617c45d3.js +1 -0
  87. package/assets/esri/core/workers/chunks/9d434360dfce1e49b7b9.js +1 -0
  88. package/assets/esri/core/workers/chunks/9f4b97204def91567e3c.js +1 -0
  89. package/assets/esri/core/workers/chunks/a37c28e3c4a2be9fd1d5.js +1 -0
  90. package/assets/esri/core/workers/chunks/{58b3c888c8bfedbe6443.js → a37fc886227365f7ecd5.js} +1 -1
  91. package/assets/esri/core/workers/chunks/a8d7f59927bdad564141.js +1 -0
  92. package/assets/esri/core/workers/chunks/{f89976ec97938bf86996.js → abc06d10c7ac8ba5b0e4.js} +1 -1
  93. package/assets/esri/core/workers/chunks/abe22ae8ee0dcc9efbb7.js +1 -0
  94. package/assets/esri/core/workers/chunks/{fef5dc19736f12dfa99a.js → af5db0372d526e592fcc.js} +1 -1
  95. package/assets/esri/core/workers/chunks/{eb3cdc4ff45243fc3cc5.js → b475f5492c6e3fd4cca8.js} +1 -1
  96. package/assets/esri/core/workers/chunks/b495f14d90abe8d1a558.js +1 -0
  97. package/assets/esri/core/workers/chunks/{6ac5ec3ecbca8860338b.js → b54b7cc6b23a70fed700.js} +1 -1
  98. package/assets/esri/core/workers/chunks/b702279c48f3009f6dd8.js +1 -0
  99. package/assets/esri/core/workers/chunks/b79058f5bda6fcac22f8.js +1 -0
  100. package/assets/esri/core/workers/chunks/b801631b58e6fc6cec8a.js +1 -0
  101. package/assets/esri/core/workers/chunks/{31071a43e2c03984d619.js → b92794def31592a6a25f.js} +1 -1
  102. package/assets/esri/core/workers/chunks/be1d6a571f76933dfbb0.js +1 -0
  103. package/assets/esri/core/workers/chunks/bea70be8e38b8c83ccd2.js +1 -0
  104. package/assets/esri/core/workers/chunks/bfcdc5c315131aae34d8.js +1 -0
  105. package/assets/esri/core/workers/chunks/c0f624a2ca0d07ef8f8c.js +1 -0
  106. package/assets/esri/core/workers/chunks/c1838822b096d5f36a8b.js +1 -0
  107. package/assets/esri/core/workers/chunks/c3381b9a36299210ee47.js +1 -0
  108. package/assets/esri/core/workers/chunks/{c2882a9e67124b7c18be.js → c503c79ba5761f7abbeb.js} +1 -1
  109. package/assets/esri/core/workers/chunks/cb5e4b9b4a59c2622eb5.js +1 -0
  110. package/assets/esri/core/workers/chunks/d201a5dff18a5bb467ab.js +1 -0
  111. package/assets/esri/core/workers/chunks/{3b7cda16e656db450f11.js → d2aa75816e84b1e7fd25.js} +1 -1
  112. package/assets/esri/core/workers/chunks/{4d8670f6fa8952b7bab6.js → d950d5c2844206502ff0.js} +1 -1
  113. package/assets/esri/core/workers/chunks/db3c484bfa607dec6050.js +1 -0
  114. package/assets/esri/core/workers/chunks/db588bf3256e95c977b7.js +1 -0
  115. package/assets/esri/core/workers/chunks/{967758a05170545cd371.js → dcc719e15b2e0cce1f3b.js} +1 -1
  116. package/assets/esri/core/workers/chunks/{6bb090f3e5c18604cb39.js → dd5b362bded458afa2d6.js} +1 -1
  117. package/assets/esri/core/workers/chunks/{e957d52cb9643961a843.js → de583214195eff13cb00.js} +58 -45
  118. package/assets/esri/core/workers/chunks/dec6d41d614105e6fd93.js +1 -0
  119. package/assets/esri/core/workers/chunks/dfdd474fddcd1d6091ce.js +1 -0
  120. package/assets/esri/core/workers/chunks/e235ea4293d5d463acfb.js +1 -0
  121. package/assets/esri/core/workers/chunks/e43486113aaf72ac4dc1.js +1 -0
  122. package/assets/esri/core/workers/chunks/ea4c3393c5757e309a71.js +1 -0
  123. package/assets/esri/core/workers/chunks/ed216ddeb7f59f510bd0.js +1 -0
  124. package/assets/esri/core/workers/chunks/ef8886dff54063928bcb.js +1 -0
  125. package/assets/esri/core/workers/chunks/{231f502cd15f30d12be2.js → f1673e723b336204ad77.js} +1 -1
  126. package/assets/esri/core/workers/chunks/f5223ffb3be548c9b0a1.js +1 -0
  127. package/assets/esri/core/workers/chunks/fae147d03ed723ab234d.js +1 -0
  128. package/chunks/CheckerBoard.glsl.js +3 -5
  129. package/chunks/ColorMaterial.glsl.js +4 -6
  130. package/chunks/ComponentShader.glsl.js +42 -44
  131. package/chunks/DefaultMaterial.glsl.js +21 -23
  132. package/chunks/EdgeShader.glsl.js +9 -11
  133. package/chunks/GaussianSplat.glsl.js +8 -8
  134. package/chunks/ImageMaterial.glsl.js +5 -7
  135. package/chunks/LineCallout.glsl.js +9 -12
  136. package/chunks/LineMarker.glsl.js +24 -26
  137. package/chunks/Path.glsl.js +15 -17
  138. package/chunks/Pattern.glsl.js +25 -27
  139. package/chunks/RealisticTree.glsl.js +11 -13
  140. package/chunks/RibbonLine.glsl.js +42 -45
  141. package/chunks/ShadedColorMaterial.glsl.js +8 -9
  142. package/chunks/Water.glsl.js +18 -20
  143. package/config.js +1 -1
  144. package/kernel.js +1 -1
  145. package/layers/VoxelWasmPerSceneView.js +1 -1
  146. package/layers/graphics/FlatFeature.js +1 -1
  147. package/layers/graphics/FlatFeatureSet.js +1 -1
  148. package/layers/graphics/OptimizedFeature.js +1 -1
  149. package/layers/graphics/data/AttributesBuilder.js +1 -1
  150. package/layers/graphics/data/QueryEngineResult.js +1 -1
  151. package/layers/graphics/data/flatFeatureQueryEngineAdapter.js +1 -1
  152. package/layers/graphics/data/optimizedFeatureQueryEngineAdapter.js +1 -1
  153. package/layers/graphics/featureConversionUtils.js +1 -1
  154. package/layers/support/LabelClass.js +1 -1
  155. package/layers/support/featureLayerUtils.js +1 -1
  156. package/layers/support/labelUtils.js +1 -1
  157. package/layers/video/videoUtils.js +1 -1
  158. package/package.json +1 -1
  159. package/popupTemplateUtils.js +2 -0
  160. package/renderers/visualVariables/SizeVariable.js +1 -1
  161. package/renderers/visualVariables/support/sizeVariableUtils.js +1 -1
  162. package/rest/query/operations/pbfFeatureServiceParser.js +1 -1
  163. package/rest/support/OutDistance.js +2 -0
  164. package/rest/support/Query.js +1 -1
  165. package/smartMapping/statistics/support/utils.js +1 -1
  166. package/smartMapping/support/adapters/InMemoryLayerAdapter.js +1 -1
  167. package/support/arcadeUtils.js +1 -1
  168. package/support/revision.js +1 -1
  169. package/views/2d/engine/webgl/shaderGraph/techniques/mesh/MeshWriter.js +1 -1
  170. package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
  171. package/views/2d/layers/FeatureLikeLayerView2D.js +1 -1
  172. package/views/2d/layers/features/layerAdapters/CatalogFootprintLayerAdapter.js +1 -1
  173. package/views/2d/layers/features/layerAdapters/FeatureLayerAdapter.js +1 -1
  174. package/views/2d/layers/features/layerAdapters/InMemoryLayerAdapter.js +1 -1
  175. package/views/2d/layers/features/layerAdapters/KnowledgeGraphSublayerAdapter.js +1 -1
  176. package/views/2d/layers/features/layerAdapters/OGCFeatureLayerAdapter.js +1 -1
  177. package/views/2d/layers/features/layerAdapters/OrientedImageryLayerAdapter.js +1 -1
  178. package/views/2d/layers/features/layerAdapters/SubtypeGroupLayerAdapter.js +1 -1
  179. package/views/2d/layers/features/support/FeatureSetReader.js +1 -1
  180. package/views/2d/layers/features/support/FeatureSetReaderPBF.js +1 -1
  181. package/views/3d/layers/FeatureLikeLayerView3D.js +1 -1
  182. package/views/3d/layers/IntegratedMeshNormals.js +1 -1
  183. package/views/3d/layers/StreamLayerView3D.js +1 -1
  184. package/views/3d/layers/graphics/featureExpressionInfoUtils.js +1 -1
  185. package/views/3d/state/ViewStateManager.js +1 -1
  186. package/views/3d/terrain/OverlayRenderer.js +1 -1
  187. package/views/3d/terrain/TerrainRenderer.js +1 -1
  188. package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
  189. package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterialGlobalParameters.js +1 -1
  190. package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterialRepository.js +1 -1
  191. package/views/3d/webgl-engine/collections/Component/Material/ComponentShader.glsl.js +1 -1
  192. package/views/3d/webgl-engine/core/renderPasses/RenderPassManager.js +1 -1
  193. package/views/3d/webgl-engine/core/shaderLibrary/hud/HUD.glsl.js +20 -32
  194. package/views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js +5 -3
  195. package/views/3d/webgl-engine/core/shaderLibrary/terrain/Overlay.glsl.js +1 -1
  196. package/views/3d/webgl-engine/effects/RenderPluginManager.js +1 -1
  197. package/views/3d/webgl-engine/effects/geometry/RenderOccludedRenderNode.js +1 -1
  198. package/views/3d/webgl-engine/lib/BindParameters.js +1 -1
  199. package/views/3d/webgl-engine/lib/Compositor.js +1 -1
  200. package/views/3d/webgl-engine/lib/GaussianSplatRenderNode.js +1 -1
  201. package/views/3d/webgl-engine/lib/RenderFeature.js +1 -1
  202. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  203. package/views/3d/webgl-engine/lib/SortedRenderGeometryRenderer.js +1 -1
  204. package/views/3d/webgl-engine/lib/Viewshed.js +1 -1
  205. package/views/3d/webgl-engine/lib/edgeRendering/EdgeRenderer.js +1 -1
  206. package/views/3d/webgl-engine/lib/edgeRendering/EdgeShader.glsl.js +1 -1
  207. package/views/3d/webgl-engine/lib/edgeRendering/EdgeShaderTechniqueConfiguration.js +1 -1
  208. package/views/3d/webgl-engine/materials/CheckerBoardMaterial.js +1 -1
  209. package/views/3d/webgl-engine/materials/ColorMaterial.js +1 -1
  210. package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
  211. package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
  212. package/views/3d/webgl-engine/materials/HeatmapDensityMaterial.js +1 -1
  213. package/views/3d/webgl-engine/materials/ImageMaterial.js +1 -1
  214. package/views/3d/webgl-engine/materials/LineCalloutMaterial.js +1 -1
  215. package/views/3d/webgl-engine/materials/LineMarkerMaterial.js +1 -1
  216. package/views/3d/webgl-engine/materials/MeasurementArrowMaterial.js +1 -1
  217. package/views/3d/webgl-engine/materials/Path.glsl.js +1 -1
  218. package/views/3d/webgl-engine/materials/PathMaterial.js +1 -1
  219. package/views/3d/webgl-engine/materials/PathTechniqueConfiguration.js +1 -1
  220. package/views/3d/webgl-engine/materials/PatternMaterial.js +1 -1
  221. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  222. package/views/3d/webgl-engine/materials/ShadedColorMaterial.js +1 -1
  223. package/views/3d/webgl-engine/materials/SlicePlaneMaterial.js +1 -1
  224. package/views/3d/webgl-engine/materials/Water.glsl.js +1 -1
  225. package/views/3d/webgl-engine/materials/WaterMaterial.js +1 -1
  226. package/views/3d/webgl-engine/materials/WaterTechniqueConfiguration.js +1 -1
  227. package/views/3d/webgl-engine/shaders/CheckerBoard.glsl.js +1 -1
  228. package/views/3d/webgl-engine/shaders/CheckerBoardTechniqueConfiguration.js +1 -1
  229. package/views/3d/webgl-engine/shaders/ColorMaterial.glsl.js +1 -1
  230. package/views/3d/webgl-engine/shaders/ColorMaterialTechniqueConfiguration.js +1 -1
  231. package/views/3d/webgl-engine/shaders/DefaultMaterial.glsl.js +1 -1
  232. package/views/3d/webgl-engine/shaders/DefaultMaterialTechniqueConfiguration.js +1 -1
  233. package/views/3d/webgl-engine/shaders/GaussianSplat.glsl.js +1 -1
  234. package/views/3d/webgl-engine/shaders/GaussianSplatTechniqueConfiguration.js +1 -1
  235. package/views/3d/webgl-engine/shaders/HUDMaterialTechniqueConfiguration.js +1 -1
  236. package/views/3d/webgl-engine/shaders/ImageMaterial.glsl.js +1 -1
  237. package/views/3d/webgl-engine/shaders/ImageMaterialTechniqueConfiguration.js +1 -1
  238. package/views/3d/webgl-engine/shaders/LineCallout.glsl.js +1 -1
  239. package/views/3d/webgl-engine/shaders/LineCalloutTechnique.js +1 -1
  240. package/views/3d/webgl-engine/shaders/LineCalloutTechniqueConfiguration.js +1 -1
  241. package/views/3d/webgl-engine/shaders/LineMarker.glsl.js +1 -1
  242. package/views/3d/webgl-engine/shaders/LineMarkerTechnique.js +1 -1
  243. package/views/3d/webgl-engine/shaders/LineMarkerTechniqueConfiguration.js +1 -1
  244. package/views/3d/webgl-engine/shaders/Pattern.glsl.js +1 -1
  245. package/views/3d/webgl-engine/shaders/PatternTechniqueConfiguration.js +1 -1
  246. package/views/3d/webgl-engine/shaders/RealisticTree.glsl.js +1 -1
  247. package/views/3d/webgl-engine/shaders/RibbonLine.glsl.js +1 -1
  248. package/views/3d/webgl-engine/shaders/RibbonLineTechnique.js +1 -1
  249. package/views/3d/webgl-engine/shaders/RibbonLineTechniqueConfiguration.js +1 -1
  250. package/views/3d/webgl-engine/shaders/ShadedColorMaterial.glsl.js +1 -1
  251. package/views/3d/webgl-engine/shaders/ShadedColorMaterialTechniqueConfiguration.js +1 -1
  252. package/views/3d/webgl-engine/statistics/RendererPerformanceInfo.js +1 -1
  253. package/views/VideoView.js +1 -1
  254. package/views/layers/FeatureLikeLayerView.js +1 -1
  255. package/views/video/VideoOperationalDataView.js +1 -1
  256. package/views/webgl/ShaderBuilder.js +1 -1
  257. package/widgets/FeatureTable/FeatureTableViewModel.d.ts +19 -3
  258. package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
  259. package/widgets/FeatureTable/Grid/GridViewModel.js +1 -1
  260. package/widgets/FeatureTable/VisibleElements.d.ts +15 -1
  261. package/widgets/FeatureTable/VisibleElements.js +1 -1
  262. package/widgets/FeatureTable/support/FeatureStore.js +1 -1
  263. package/widgets/FeatureTable.d.ts +15 -1
  264. package/widgets/FeatureTable.js +1 -1
  265. package/widgets/Search/SearchViewModel.js +1 -1
  266. package/assets/esri/core/workers/chunks/09ecb36e44096e577af8.js +0 -1
  267. package/assets/esri/core/workers/chunks/0ca06ea649bbdb93ff49.js +0 -1
  268. package/assets/esri/core/workers/chunks/10308c9f3f0d709d96bc.js +0 -1
  269. package/assets/esri/core/workers/chunks/141edf5ed890105a079b.js +0 -1
  270. package/assets/esri/core/workers/chunks/160b9a76b75875507c86.js +0 -1
  271. package/assets/esri/core/workers/chunks/16dfdee05704df249e95.js +0 -1
  272. package/assets/esri/core/workers/chunks/17ef955dc48e329aa184.js +0 -1
  273. package/assets/esri/core/workers/chunks/18001536ed345955121a.js +0 -1
  274. package/assets/esri/core/workers/chunks/20e715e3aeb1c3265901.js +0 -1
  275. package/assets/esri/core/workers/chunks/238f51d0b36f998017b8.js +0 -1
  276. package/assets/esri/core/workers/chunks/2cee6d751c5e73fe09d4.js +0 -1
  277. package/assets/esri/core/workers/chunks/314140e2e9b813191907.js +0 -1
  278. package/assets/esri/core/workers/chunks/3158a3487d3e8a61b680.js +0 -1
  279. package/assets/esri/core/workers/chunks/3b1446286a9b87f34761.js +0 -1
  280. package/assets/esri/core/workers/chunks/3f7fd58ee7d71989fc83.js +0 -1
  281. package/assets/esri/core/workers/chunks/41396724040180d2537f.js +0 -1
  282. package/assets/esri/core/workers/chunks/416e031bafc0189544fa.js +0 -1
  283. package/assets/esri/core/workers/chunks/55ee78923987ed17ea8c.js +0 -1
  284. package/assets/esri/core/workers/chunks/56c7d7c7217557375fb6.js +0 -1
  285. package/assets/esri/core/workers/chunks/5a1d975b3e9e6b7eff67.js +0 -1
  286. package/assets/esri/core/workers/chunks/5f6942ac94acd7842926.js +0 -1
  287. package/assets/esri/core/workers/chunks/6118706b9a038e9a06b8.js +0 -1
  288. package/assets/esri/core/workers/chunks/6d15229b3fa84a7acf4d.js +0 -599
  289. package/assets/esri/core/workers/chunks/7314c0131403cac84ad7.js +0 -1
  290. package/assets/esri/core/workers/chunks/73545bb13c70f6a347a4.js +0 -1
  291. package/assets/esri/core/workers/chunks/73a045061e69a22b6869.js +0 -1
  292. package/assets/esri/core/workers/chunks/75669912cddcb5db52c8.js +0 -1
  293. package/assets/esri/core/workers/chunks/7ca32806e47be15109a4.js +0 -1
  294. package/assets/esri/core/workers/chunks/7d6ed65bbcd279448191.js +0 -1
  295. package/assets/esri/core/workers/chunks/81f149e45c79b9b086fb.js +0 -1
  296. package/assets/esri/core/workers/chunks/84fa25f66a6949290221.js +0 -1
  297. package/assets/esri/core/workers/chunks/852aabbf671d2ca9cd33.js +0 -1
  298. package/assets/esri/core/workers/chunks/854fe80272b59fafc2e9.js +0 -1
  299. package/assets/esri/core/workers/chunks/861817be5e050e9522ab.js +0 -1
  300. package/assets/esri/core/workers/chunks/89345a682dea60ef1643.js +0 -1
  301. package/assets/esri/core/workers/chunks/8985402c328b90af5724.js +0 -1
  302. package/assets/esri/core/workers/chunks/89fdf9ad10ca8fbb08a5.js +0 -1
  303. package/assets/esri/core/workers/chunks/8b094330323d9b16fb5d.js +0 -1
  304. package/assets/esri/core/workers/chunks/90aed8c4b266832f84ca.js +0 -1
  305. package/assets/esri/core/workers/chunks/9776c2db337222ceceef.js +0 -1
  306. package/assets/esri/core/workers/chunks/990853e9df38fdfc58b5.js +0 -1
  307. package/assets/esri/core/workers/chunks/9a21ba0c45a96b94c05e.js +0 -1
  308. package/assets/esri/core/workers/chunks/9a235c92f21df2c17aa8.js +0 -1
  309. package/assets/esri/core/workers/chunks/9b56162ac67c992193ce.js +0 -1
  310. package/assets/esri/core/workers/chunks/9f1f5fb648302c43ad12.js +0 -1
  311. package/assets/esri/core/workers/chunks/a1e6187c239fdc7553ed.js +0 -1
  312. package/assets/esri/core/workers/chunks/a4b6fdbc995be03d2afb.js +0 -1
  313. package/assets/esri/core/workers/chunks/a760be8fa6c6ea6b745c.js +0 -1
  314. package/assets/esri/core/workers/chunks/a8782286ce3c0d6c20e6.js +0 -1
  315. package/assets/esri/core/workers/chunks/a96692514dcaa50340dd.js +0 -1
  316. package/assets/esri/core/workers/chunks/a994a3c912a33b2f4100.js +0 -1
  317. package/assets/esri/core/workers/chunks/aa7aaeae31ddb259e55e.js +0 -1
  318. package/assets/esri/core/workers/chunks/abcc5fb71be2bd94878c.js +0 -1
  319. package/assets/esri/core/workers/chunks/aecb05df4ad1454f5435.js +0 -1
  320. package/assets/esri/core/workers/chunks/aecb105db7cec2c9c4c5.js +0 -1
  321. package/assets/esri/core/workers/chunks/b19f33e026a2a43b17c4.js +0 -1
  322. package/assets/esri/core/workers/chunks/b3950d5f1f3352521504.js +0 -1
  323. package/assets/esri/core/workers/chunks/b3f0600729227b458a75.js +0 -1
  324. package/assets/esri/core/workers/chunks/b5922991d2f450e6a9d9.js +0 -1
  325. package/assets/esri/core/workers/chunks/b8643976a7f984552d94.js +0 -1
  326. package/assets/esri/core/workers/chunks/b8a11d32a4847513619b.js +0 -1
  327. package/assets/esri/core/workers/chunks/b8acb6c2538053c01cc6.js +0 -1
  328. package/assets/esri/core/workers/chunks/ba4259aa050169c1d523.js +0 -1
  329. package/assets/esri/core/workers/chunks/bbaf1d9835671c0165ca.js +0 -1
  330. package/assets/esri/core/workers/chunks/bcefdf9753d9d2f6f1be.js +0 -1
  331. package/assets/esri/core/workers/chunks/c178e2cfc34603661b1d.js +0 -1
  332. package/assets/esri/core/workers/chunks/c3e80c0e29ac6a7a6f80.js +0 -1
  333. package/assets/esri/core/workers/chunks/c79827f879d1d58d3f1b.js +0 -1
  334. package/assets/esri/core/workers/chunks/c92b40a532e708e506cc.js +0 -1
  335. package/assets/esri/core/workers/chunks/cb903ccbce87172a0757.js +0 -1
  336. package/assets/esri/core/workers/chunks/cda2e445eb2ac269abdf.js +0 -1
  337. package/assets/esri/core/workers/chunks/ce44e172e2847fd8df14.js +0 -1
  338. package/assets/esri/core/workers/chunks/cff7e921649aef715c78.js +0 -1
  339. package/assets/esri/core/workers/chunks/d315098b038a96084ff5.js +0 -1
  340. package/assets/esri/core/workers/chunks/d8c0d18f0132872decd3.js +0 -1
  341. package/assets/esri/core/workers/chunks/db0061a6d5bf454cc509.js +0 -1
  342. package/assets/esri/core/workers/chunks/dcfafcf4386f2940d000.js +0 -1
  343. package/assets/esri/core/workers/chunks/e2b034c391c603f7f825.js +0 -1
  344. package/assets/esri/core/workers/chunks/e3a73d9acebccd3ba49b.js +0 -1
  345. package/assets/esri/core/workers/chunks/e67bdd8bf38ebe89a344.js +0 -1
  346. package/assets/esri/core/workers/chunks/e797d45eba0884dc7e6f.js +0 -1
  347. package/assets/esri/core/workers/chunks/e81a3da05fcff97b4752.js +0 -1
  348. package/assets/esri/core/workers/chunks/e9dd60d0220036545ebb.js +0 -1
  349. package/assets/esri/core/workers/chunks/ea6d3b7c7d720aa7bc94.js +0 -1
  350. package/assets/esri/core/workers/chunks/eb9982bc866976fef960.js +0 -1
  351. package/assets/esri/core/workers/chunks/ec4669a0edeca94710e0.js +0 -1
  352. package/assets/esri/core/workers/chunks/ef9d74f8d5a502fda809.js +0 -1
  353. package/assets/esri/core/workers/chunks/f09446b9ff937a84d6d3.js +0 -1
  354. package/assets/esri/core/workers/chunks/f0bc5e8e44d53b73d431.js +0 -1
  355. package/assets/esri/core/workers/chunks/f653970d983f17fb764b.js +0 -1
  356. package/assets/esri/core/workers/chunks/f9edc685099f51363f41.js +0 -1
  357. package/assets/esri/core/workers/chunks/fa687ba2d66fcc2501da.js +0 -1
  358. package/assets/esri/core/workers/chunks/fb9a889ec9fd23739a14.js +0 -1
  359. package/assets/esri/core/workers/chunks/fe1b67ab7748a3aef231.js +0 -1
  360. package/chunks/HUDCompositing.glsl.js +0 -2
  361. package/views/3d/webgl-engine/core/shaderLibrary/shading/MultipassGeometryTest.glsl.js +0 -5
  362. package/views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js +0 -8
  363. package/views/3d/webgl-engine/effects/fboFormatUtils.js +0 -2
  364. package/views/3d/webgl-engine/shaders/HUDCompositing.glsl.js +0 -2
  365. package/views/3d/webgl-engine/shaders/HUDCompositingTechnique.js +0 -2
@@ -1,25 +1,25 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{SliceDraw as e}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Transform as o}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{ObjectAndLayerIdColor as r}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/ObjectAndLayerIdColor.glsl.js";import{VertexColor as t}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js";import{terrainDepthTest as a}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import{VisualVariables as i}from"../views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js";import{ColorConversion as l}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{addProjViewLocalOrigin as n,addCameraPosition as c}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float4PassUniform as d}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{FloatBindUniform as s}from"../views/3d/webgl-engine/core/shaderModules/FloatBindUniform.js";import{glsl as v,If as p}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{outputColorHighlightOLID as u}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js";import{getTextureBackedBufferModule as m}from"../views/3d/webgl-engine/shaders/PatternTextureBuffer.glsl.js";import{ShaderBuilder as f}from"../views/webgl/ShaderBuilder.js";const g=.70710678118,w=g,h=.08715574274,b=10,x=1;function y(y){const j=m(y),C=null!=j,T=new f;C&&T.include(j.TextureBackedBufferModule,y);const{vertex:V,fragment:P,attributes:$,varyings:R}=T,A=10===y.output;n(V,y),T.include(o);let L="";C?(y.hasVVColor&&(L=j.getTextureAttribute("colorFeatureAttribute")),y.hasVertexColors?(T.varyings.add("vColor","vec4"),T.vertex.code.add(v`void forwardVertexColor() { vColor = ${j.getTextureAttribute("color")}; }`)):T.vertex.code.add(v`void forwardVertexColor() {}`),$.add("textureElementIndex","uint")):(T.include(t,y),y.hasVVColor&&($.add("colorFeatureAttribute","float"),L="colorFeatureAttribute")),T.include(i,y),T.include(r,y),T.fragment.include(e,y),T.include(u,y),T.include(a,y),y.draped&&V.uniforms.add(new s("worldToScreenRatio",e=>1/e.screenToPCSRatio)),$.add("position","vec3"),$.add("uvMapSpace","vec4"),y.hasVertexColors||R.add("vColor","vec4"),R.add("vpos","vec3",{invariant:!0}),R.add("vuv","vec2"),V.uniforms.add(new d("uColor",e=>e.color));const D=3===y.style||4===y.style||5===y.style;return D&&V.code.add(v`
3
- const mat2 rotate45 = mat2(${v.float(g)}, ${v.float(-w)},
4
- ${v.float(w)}, ${v.float(g)});
5
- `),!y.draped&&C&&(c(V,y),V.uniforms.add(new s("worldToScreenPerDistanceRatio",e=>1/e.camera.perScreenPixelRatio)),V.code.add(v`vec3 projectPointToLineSegment(vec3 center, vec3 halfVector, vec3 point) {
2
+ import{SliceDraw as e}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Transform as o}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{ObjectAndLayerIdColor as t}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/ObjectAndLayerIdColor.glsl.js";import{VertexColor as r}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js";import{VisualVariables as a}from"../views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js";import{ColorConversion as i}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{addProjViewLocalOrigin as l,addCameraPosition as n}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float4PassUniform as c}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{FloatBindUniform as d}from"../views/3d/webgl-engine/core/shaderModules/FloatBindUniform.js";import{glsl as s,If as v}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{outputColorHighlightOLID as u}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js";import{getTextureBackedBufferModule as p}from"../views/3d/webgl-engine/shaders/PatternTextureBuffer.glsl.js";import{ShaderBuilder as m}from"../views/webgl/ShaderBuilder.js";const f=.70710678118,g=f,w=.08715574274,b=10,h=1;function x(x){const S=p(x),j=null!=S,C=new m;j&&C.include(S.TextureBackedBufferModule,x);const{vertex:V,fragment:T,attributes:P,varyings:$}=C,R=10===x.output;l(V,x),C.include(o);let A="";j?(x.hasVVColor&&(A=S.getTextureAttribute("colorFeatureAttribute")),x.hasVertexColors?(C.varyings.add("vColor","vec4"),C.vertex.code.add(s`void forwardVertexColor() { vColor = ${S.getTextureAttribute("color")}; }`)):C.vertex.code.add(s`void forwardVertexColor() {}`),P.add("textureElementIndex","uint")):(C.include(r,x),x.hasVVColor&&(P.add("colorFeatureAttribute","float"),A="colorFeatureAttribute")),P.add("position","vec3"),V.inputs.add("position",()=>"position"),C.include(a,x),C.include(t,x),T.include(e,x),C.include(u,x),x.draped&&V.uniforms.add(new d("worldToScreenRatio",e=>1/e.screenToPCSRatio)),P.add("uvMapSpace","vec4"),x.hasVertexColors||$.add("vColor","vec4"),$.add("vpos","vec3",{invariant:!0}),$.add("vuv","vec2"),V.uniforms.add(new c("uColor",e=>e.color));const L=3===x.style||4===x.style||5===x.style;return L&&V.code.add(s`
3
+ const mat2 rotate45 = mat2(${s.float(f)}, ${s.float(-g)},
4
+ ${s.float(g)}, ${s.float(f)});
5
+ `),!x.draped&&j&&(n(V,x),V.uniforms.add(new d("worldToScreenPerDistanceRatio",e=>1/e.camera.perScreenPixelRatio)),V.code.add(s`vec3 projectPointToLineSegment(vec3 center, vec3 halfVector, vec3 point) {
6
6
  float projectedLength = dot(halfVector, point - center) / dot(halfVector, halfVector);
7
7
  return center + halfVector * clamp(projectedLength, -1.0, 1.0);
8
- }`),V.code.add(v`vec3 intersectRayPlane(vec3 rayDir, vec3 rayOrigin, vec3 planeNormal, vec3 planePoint) {
8
+ }`),V.code.add(s`vec3 intersectRayPlane(vec3 rayDir, vec3 rayOrigin, vec3 planeNormal, vec3 planePoint) {
9
9
  float d = dot(planeNormal, planePoint);
10
10
  float t = (d - dot(planeNormal, rayOrigin)) / dot(planeNormal, rayDir);
11
11
  return rayOrigin + t * rayDir;
12
- }`),V.code.add(v`
12
+ }`),V.code.add(s`
13
13
  float boundingRectDistanceToCamera() {
14
- vec3 center = ${j.getTextureAttribute("boundingRect")}[0];
15
- vec3 halfU = ${j.getTextureAttribute("boundingRect")}[1];
16
- vec3 halfV = ${j.getTextureAttribute("boundingRect")}[2];
14
+ vec3 center = ${S.getTextureAttribute("boundingRect")}[0];
15
+ vec3 halfU = ${S.getTextureAttribute("boundingRect")}[1];
16
+ vec3 halfV = ${S.getTextureAttribute("boundingRect")}[2];
17
17
  vec3 n = normalize(cross(halfU, halfV));
18
18
 
19
19
  vec3 viewDir = - vec3(view[0][2], view[1][2], view[2][2]);
20
20
 
21
21
  float viewAngle = dot(viewDir, n);
22
- float minViewAngle = ${v.float(h)};
22
+ float minViewAngle = ${s.float(w)};
23
23
 
24
24
  if (abs(viewAngle) < minViewAngle) {
25
25
  // view direction is (almost) parallel to plane -> clamp it to min angle
@@ -39,12 +39,12 @@ return rayOrigin + t * rayDir;
39
39
 
40
40
  return length(closestPoint - cameraPosition);
41
41
  }
42
- `)),V.code.add(v`
42
+ `)),V.code.add(s`
43
43
  vec2 scaledUV() {
44
- vec2 uv = uvMapSpace.xy ${p(D," * rotate45")};
45
- vec2 uvCellOrigin = uvMapSpace.zw ${p(D," * rotate45")};
44
+ vec2 uv = uvMapSpace.xy ${v(L," * rotate45")};
45
+ vec2 uvCellOrigin = uvMapSpace.zw ${v(L," * rotate45")};
46
46
 
47
- ${p(!y.draped,v`float distanceToCamera = boundingRectDistanceToCamera();
47
+ ${v(!x.draped,s`float distanceToCamera = boundingRectDistanceToCamera();
48
48
  float worldToScreenRatio = worldToScreenPerDistanceRatio / distanceToCamera;`)}
49
49
 
50
50
  // Logarithmically discretize ratio to avoid jittering
@@ -53,21 +53,20 @@ return rayOrigin + t * rayDir;
53
53
  discreteWorldToScreenRatio = ceil(discreteWorldToScreenRatio / step) * step;
54
54
  discreteWorldToScreenRatio = exp(discreteWorldToScreenRatio);
55
55
 
56
- vec2 uvOffset = mod(uvCellOrigin * discreteWorldToScreenRatio, ${v.float(b)});
56
+ vec2 uvOffset = mod(uvCellOrigin * discreteWorldToScreenRatio, ${s.float(b)});
57
57
  return uvOffset + (uv * discreteWorldToScreenRatio);
58
58
  }
59
- `),V.main.add(v`
59
+ `),V.main.add(s`
60
60
  vuv = scaledUV();
61
61
  vpos = position;
62
- forwardViewPosDepth((view * vec4(vpos, 1.0)).xyz);
63
62
  forwardVertexColor();
64
63
  forwardObjectAndLayerIdColor();
65
- ${y.hasVertexColors?"vColor *= uColor;":y.hasVVColor?v`vColor = uColor * interpolateVVColor(${L});`:"vColor = uColor;"}
64
+ ${x.hasVertexColors?"vColor *= uColor;":x.hasVVColor?s`vColor = uColor * interpolateVVColor(${A});`:"vColor = uColor;"}
66
65
  gl_Position = transformPosition(proj, view, vpos);
67
- `),P.include(l),y.draped&&P.uniforms.add(new s("texelSize",e=>1/e.camera.pixelRatio)),A||(P.code.add(v`
68
- const float lineWidth = ${v.float(x)};
69
- const float spacing = ${v.float(b)};
70
- const float spacingINV = ${v.float(1/b)};
66
+ `),T.include(i),x.draped&&T.uniforms.add(new d("texelSize",e=>1/e.camera.pixelRatio)),R||(T.code.add(s`
67
+ const float lineWidth = ${s.float(h)};
68
+ const float spacing = ${s.float(b)};
69
+ const float spacingINV = ${s.float(1/b)};
71
70
 
72
71
  float coverage(float p, float txlSize) {
73
72
  p = mod(p, spacing);
@@ -83,7 +82,7 @@ return rayOrigin + t * rayDir;
83
82
 
84
83
  return coverage / txlSize;
85
84
  }
86
- `),y.draped||P.code.add(v`const int maxSamples = 5;
85
+ `),x.draped||T.code.add(s`const int maxSamples = 5;
87
86
  float sampleAA(float p) {
88
87
  vec2 dxdy = abs(vec2(dFdx(p), dFdy(p)));
89
88
  float fwidth = dxdy.x + dxdy.y;
@@ -104,10 +103,9 @@ accumulator += coverage(p + step.x * dxdy.x + step.y * dxdy.y, fwidth);
104
103
  }
105
104
  accumulator /= float(samples.x * samples.y);
106
105
  return accumulator;
107
- }`)),P.main.add(v`
106
+ }`)),T.main.add(s`
108
107
  discardBySlice(vpos);
109
- discardByTerrainDepth();
110
108
  vec4 color = vColor;
111
- ${p(!A,v`color.a *= ${S(y)};`)}
109
+ ${v(!R,s`color.a *= ${y(x)};`)}
112
110
  outputColorHighlightOLID(applySlice(color, vpos), color.rgb);
113
- `),T}function S(e){function o(o){return e.draped?v`coverage(vuv.${o}, texelSize)`:v`sampleAA(vuv.${o})`}switch(e.style){case 3:case 0:return o("y");case 4:case 1:return o("x");case 5:case 2:return v`1.0 - (1.0 - ${o("x")}) * (1.0 - ${o("y")})`;default:return"0.0"}}const j=Object.freeze(Object.defineProperty({__proto__:null,build:y},Symbol.toStringTag,{value:"Module"}));export{j as P,y as b};
111
+ `),C}function y(e){function o(o){return e.draped?s`coverage(vuv.${o}, texelSize)`:s`sampleAA(vuv.${o})`}switch(e.style){case 3:case 0:return o("y");case 4:case 1:return o("x");case 5:case 2:return s`1.0 - (1.0 - ${o("x")}) * (1.0 - ${o("y")})`;default:return"0.0"}}const S=Object.freeze(Object.defineProperty({__proto__:null,build:x},Symbol.toStringTag,{value:"Module"}));export{S as P,x as b};
@@ -1,5 +1,5 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{Offset as e}from"../views/3d/webgl-engine/core/shaderLibrary/Offset.glsl.js";import{isColor as o}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SliceDraw as r}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Transform as i}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{InstanceColor as a}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/InstanceColor.glsl.js";import{InstancedDoublePrecision as l}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/InstancedDoublePrecision.glsl.js";import{MaskedColorDefinition as t,CreateMaskedFromNaNColor as s}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/MaskedColor.glsl.js";import{NormalAttribute as n}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/NormalAttribute.glsl.js";import{SymbolColor as d}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/SymbolColor.glsl.js";import{TextureCoordinateAttribute as c}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js";import{VertexColor as g}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js";import{VerticalOffset as m}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VerticalOffset.glsl.js";import{DefaultMaterialAuxiliaryPasses as v}from"../views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js";import{EvaluateAmbientOcclusion as b}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientOcclusion.glsl.js";import{EvaluateSceneLighting as w,addAmbientBoostFactor as p,addLightingGlobalFactor as u}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{addMainLightDirection as f,addMainLightIntensity as h}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{PhysicallyBasedRendering as y}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRendering.glsl.js";import{PhysicallyBasedRenderingParameters as x}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{ReadShadowMapPassFragment as C,ReadShadowMapDrawFragment as L}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js";import{terrainDepthTest as j}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import{VisualVariables as M}from"../views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js";import{DiscardOrAdjustAlphaPass as O}from"../views/3d/webgl-engine/core/shaderLibrary/util/DiscardOrAdjustAlpha.glsl.js";import{MixExternalColor as P}from"../views/3d/webgl-engine/core/shaderLibrary/util/MixExternalColor.glsl.js";import{addProjViewLocalOrigin as N,addCameraPosition as S}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float3PassUniform as A}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{Float4PassUniform as E}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{FloatPassUniform as D}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as F,If as V}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DPassUniform as T}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{SnowCover as I}from"../views/3d/webgl-engine/effects/snowcover/SnowCover.glsl.js";import{colorMixModes as $}from"../views/3d/webgl-engine/materials/internal/MaterialUtil.js";import{alphaCutoff as k}from"../views/3d/webgl-engine/shaders/alphaCutoff.glsl.js";import{outputColorHighlightOLID as R}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js";import{ShaderBuilder as B}from"../views/webgl/ShaderBuilder.js";function _(_){const z=new B,{attributes:U,vertex:W,fragment:H,varyings:G}=z,{output:q,offsetBackfaces:J,pbrMode:K,snowCover:Q,spherical:X}=_,Y=1===K||2===K;if(N(W,_),U.add("position","vec3"),G.add("vpos","vec3",{invariant:!0}),z.include(M,_),z.include(l,_),z.include(m,_),z.include(j,_),!o(q))return z.include(v,_),z;S(z.vertex,_),z.include(n,_),z.include(i),J&&z.include(e),G.add("vNormalWorld","vec3"),G.add("localvpos","vec3",{invariant:!0}),z.include(c,_),z.include(d,_),z.include(a,_),z.include(g,_),W.include(t),W.include(s),W.uniforms.add(new E("externalColor",e=>e.externalColor,{supportsNaN:!0})),G.add("vcolorExt","vec4"),z.include(_.instancedDoublePrecision?C:L,_),W.include(k),W.main.add(F`
2
+ import{Offset as e}from"../views/3d/webgl-engine/core/shaderLibrary/Offset.glsl.js";import{isColor as o}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SliceDraw as r}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Transform as i}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{InstanceColor as a}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/InstanceColor.glsl.js";import{InstancedDoublePrecision as l}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/InstancedDoublePrecision.glsl.js";import{MaskedColorDefinition as t,CreateMaskedFromNaNColor as s}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/MaskedColor.glsl.js";import{NormalAttribute as n}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/NormalAttribute.glsl.js";import{SymbolColor as d}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/SymbolColor.glsl.js";import{TextureCoordinateAttribute as c}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js";import{VertexColor as g}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js";import{VerticalOffset as m}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VerticalOffset.glsl.js";import{DefaultMaterialAuxiliaryPasses as v}from"../views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js";import{EvaluateAmbientOcclusion as b}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientOcclusion.glsl.js";import{EvaluateSceneLighting as p,addAmbientBoostFactor as w,addLightingGlobalFactor as u}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{addMainLightDirection as f,addMainLightIntensity as h}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{PhysicallyBasedRendering as y}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRendering.glsl.js";import{PhysicallyBasedRenderingParameters as x}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{ReadShadowMapPassFragment as C,ReadShadowMapDrawFragment as L}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js";import{VisualVariables as j}from"../views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js";import{DiscardOrAdjustAlphaPass as M}from"../views/3d/webgl-engine/core/shaderLibrary/util/DiscardOrAdjustAlpha.glsl.js";import{MixExternalColor as O}from"../views/3d/webgl-engine/core/shaderLibrary/util/MixExternalColor.glsl.js";import{addProjViewLocalOrigin as N,addCameraPosition as P}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float3PassUniform as S}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{Float4PassUniform as A}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{FloatPassUniform as E}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as F,If as V}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DPassUniform as D}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{SnowCover as I}from"../views/3d/webgl-engine/effects/snowcover/SnowCover.glsl.js";import{colorMixModes as $}from"../views/3d/webgl-engine/materials/internal/MaterialUtil.js";import{alphaCutoff as k}from"../views/3d/webgl-engine/shaders/alphaCutoff.glsl.js";import{outputColorHighlightOLID as R}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js";import{ShaderBuilder as T}from"../views/webgl/ShaderBuilder.js";function B(B){const _=new T,{attributes:U,vertex:z,fragment:W,varyings:H}=_,{output:G,offsetBackfaces:q,pbrMode:J,snowCover:K,spherical:Q}=B,X=1===J||2===J;if(N(z,B),U.add("position","vec3"),z.inputs.add("position",()=>"position"),H.add("vpos","vec3",{invariant:!0}),_.include(j,B),_.include(l,B),_.include(m,B),!o(G))return _.include(v,B),_;P(_.vertex,B),_.include(n,B),_.include(i),q&&_.include(e),H.add("vNormalWorld","vec3"),H.add("localvpos","vec3",{invariant:!0}),_.include(c,B),_.include(d,B),_.include(a,B),_.include(g,B),z.include(t),z.include(s),z.uniforms.add(new A("externalColor",e=>e.externalColor,{supportsNaN:!0})),H.add("vcolorExt","vec4"),_.include(B.instancedDoublePrecision?C:L,B),z.include(k),z.main.add(F`
3
3
  forwardVertexColor();
4
4
 
5
5
  MaskedColor maskedColorExt =
@@ -17,16 +17,14 @@ import{Offset as e}from"../views/3d/webgl-engine/core/shaderLibrary/Offset.glsl.
17
17
  vpos = addVerticalOffset(vpos, localOrigin);
18
18
  vec4 basePosition = transformPosition(proj, view, vpos);
19
19
 
20
- forwardViewPosDepth((view * vec4(vpos, 1.0)).xyz);
21
20
  forwardTextureCoordinates();
22
21
  forwardLinearDepthToReadShadowMap();
23
22
  gl_Position = alphaCut ? vec4(1e38, 1e38, 1e38, 1.0) :
24
- ${V(J,"offsetBackfacingClipPosition(basePosition, vpos, vNormalWorld, cameraPosition);","basePosition;")}
25
- `);const{hasColorTexture:Z,hasColorTextureTransform:ee}=_;return H.include(w,_),H.include(b,_),z.include(O,_),H.include(r,_),z.include(R,_),S(H,_),f(H),p(H),u(H),H.uniforms.add(W.uniforms.get("localOrigin"),W.uniforms.get("view"),new A("ambient",e=>e.ambient),new A("diffuse",e=>e.diffuse),new D("opacity",e=>e.opacity),new D("layerOpacity",e=>e.layerOpacity)),Z&&H.uniforms.add(new T("tex",e=>e.texture)),z.include(x,_),H.include(y,_),H.include(P),H.include(I,_),h(H),H.main.add(F`
23
+ ${V(q,"offsetBackfacingClipPosition(basePosition, vpos, vNormalWorld, cameraPosition);","basePosition;")}
24
+ `);const{hasColorTexture:Y,hasColorTextureTransform:Z}=B;return W.include(p,B),W.include(b,B),_.include(M,B),W.include(r,B),_.include(R,B),P(W,B),f(W),w(W),u(W),W.uniforms.add(z.uniforms.get("localOrigin"),z.uniforms.get("view"),new S("ambient",e=>e.ambient),new S("diffuse",e=>e.diffuse),new E("opacity",e=>e.opacity),new E("layerOpacity",e=>e.layerOpacity)),Y&&W.uniforms.add(new D("tex",e=>e.texture)),_.include(x,B),W.include(y,B),W.include(O),W.include(I,B),h(W),W.main.add(F`
26
25
  discardBySlice(vpos);
27
- discardByTerrainDepth();
28
- vec4 texColor = ${Z?`texture(tex, ${ee?"colorUV":"vuv0"})`:" vec4(1.0)"};
29
- ${V(Z,`${V(_.textureAlphaPremultiplied,"texColor.rgb /= texColor.a;")}\n discardOrAdjustAlpha(texColor);`)}
26
+ vec4 texColor = ${Y?`texture(tex, ${Z?"colorUV":"vuv0"})`:" vec4(1.0)"};
27
+ ${V(Y,`${V(B.textureAlphaPremultiplied,"texColor.rgb /= texColor.a;")}\n discardOrAdjustAlpha(texColor);`)}
30
28
  vec3 viewDirection = normalize(vpos - cameraPosition);
31
29
  applyPBRFactors();
32
30
  float ssao = evaluateAmbientOcclusionInverse();
@@ -36,14 +34,14 @@ import{Offset as e}from"../views/3d/webgl-engine/core/shaderLibrary/Offset.glsl.
36
34
  vec3 additionalLight = ssao * mainLightIntensity * additionalAmbientScale * ambientBoostFactor * lightingGlobalFactor;
37
35
  float shadow = readShadow(additionalAmbientScale, vpos);
38
36
  vec3 matColor = max(ambient, diffuse);
39
- ${_.hasVertexColors?F`vec3 albedo = mixExternalColor(vColor.rgb * matColor, texColor.rgb, vcolorExt.rgb, colorMixMode);
37
+ ${B.hasVertexColors?F`vec3 albedo = mixExternalColor(vColor.rgb * matColor, texColor.rgb, vcolorExt.rgb, colorMixMode);
40
38
  float opacity_ = layerOpacity * mixExternalOpacity(vColor.a * opacity, texColor.a, vcolorExt.a, opacityMixMode);`:F`vec3 albedo = mixExternalColor(matColor, texColor.rgb, vcolorExt.rgb, colorMixMode);
41
39
  float opacity_ = layerOpacity * mixExternalOpacity(opacity, texColor.a, vcolorExt.a, opacityMixMode);`}
42
40
 
43
41
  vec3 shadingNormal = normalize(vNormalWorld);
44
- vec3 groundNormal = ${X?"normalize(vpos + localOrigin)":"vec3(0.0, 0.0, 1.0)"};
42
+ vec3 groundNormal = ${Q?"normalize(vpos + localOrigin)":"vec3(0.0, 0.0, 1.0)"};
45
43
 
46
- ${V(Q,"vec3 faceNormal = screenDerivativeNormal(vpos);\n float snow = getRealisticTreeSnow(faceNormal, shadingNormal, groundNormal);\n albedo = mix(albedo, vec3(1), snow);")}
44
+ ${V(K,"vec3 faceNormal = screenDerivativeNormal(vpos);\n float snow = getRealisticTreeSnow(faceNormal, shadingNormal, groundNormal);\n albedo = mix(albedo, vec3(1), snow);")}
47
45
 
48
46
  ${F`albedo *= 1.2;
49
47
  vec3 viewForward = vec3(view[0][2], view[1][2], view[2][2]);
@@ -53,8 +51,8 @@ import{Offset as e}from"../views/3d/webgl-engine/core/shaderLibrary/Offset.glsl.
53
51
  float backLightFactor = 0.5 * treeRadialFalloff * alignmentLightView * transmittance * (1.0 - shadow);
54
52
  additionalLight += backLightFactor * mainLightIntensity;`}
55
53
 
56
- ${Y?F`float additionalAmbientIrradiance = additionalAmbientIrradianceFactor * mainLightIntensity[2];
57
- ${V(Q,"mrr = applySnowToMRR(mrr, snow);")}
54
+ ${X?F`float additionalAmbientIrradiance = additionalAmbientIrradianceFactor * mainLightIntensity[2];
55
+ ${V(K,"mrr = applySnowToMRR(mrr, snow);")}
58
56
  vec3 shadedColor = evaluateSceneLightingPBR(shadingNormal, albedo, shadow, 1.0 - ssao, additionalLight, viewDirection, groundNormal, mrr, additionalAmbientIrradiance);`:F`vec3 shadedColor = evaluateSceneLighting(shadingNormal, albedo, shadow, 1.0 - ssao, additionalLight);`}
59
57
  vec4 finalColor = vec4(shadedColor, opacity_);
60
- outputColorHighlightOLID(applySlice(finalColor, vpos), albedo ${V(Q,", 1.0")});`),z}const z=Object.freeze(Object.defineProperty({__proto__:null,build:_},Symbol.toStringTag,{value:"Module"}));export{z as R,_ as b};
58
+ outputColorHighlightOLID(applySlice(finalColor, vpos), albedo ${V(K,", 1.0")});`),_}const _=Object.freeze(Object.defineProperty({__proto__:null,build:B},Symbol.toStringTag,{value:"Module"}));export{_ as R,B as b};
@@ -1,5 +1,5 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{SliceDraw as e}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{ObjectAndLayerIdColor as i}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/ObjectAndLayerIdColor.glsl.js";import{RibbonVertexPosition as t}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/RibbonVertexPosition.glsl.js";import{LineStipple as n,computePixelSize as o}from"../views/3d/webgl-engine/core/shaderLibrary/shading/LineStipple.glsl.js";import{MarkerSizing as r}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MarkerSizing.glsl.js";import{PiUtils as a}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PiUtils.glsl.js";import{positionOutsideClipSpace as s}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PositionOutsideClipSpace.js";import{terrainDepthTest as l}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import{ColorConversion as d}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{NoPerspectiveWrite as p,NoPerspectiveRead as c}from"../views/3d/webgl-engine/core/shaderLibrary/util/NoPerspective.glsl.js";import{addProjViewLocalOrigin as m,addPixelRatio as v}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float2BindUniform as f}from"../views/3d/webgl-engine/core/shaderModules/Float2BindUniform.js";import{Float4BindUniform as g}from"../views/3d/webgl-engine/core/shaderModules/Float4BindUniform.js";import{Float4PassUniform as h}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{FloatBindUniform as x}from"../views/3d/webgl-engine/core/shaderModules/FloatBindUniform.js";import{FloatPassUniform as u}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as S,If as D}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Matrix4BindUniform as w}from"../views/3d/webgl-engine/core/shaderModules/Matrix4BindUniform.js";import{alphaCutoff as L}from"../views/3d/webgl-engine/shaders/alphaCutoff.glsl.js";import{AnimatedLine as b}from"../views/3d/webgl-engine/shaders/AnimatedLine.glsl.js";import{outputColorHighlightOLID as y}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js";import{ShaderBuilder as z}from"../views/webgl/ShaderBuilder.js";const P=1;function j(j){const C=new z,{attributes:W,varyings:R,vertex:F,fragment:A}=C,{applyMarkerOffset:V,draped:T,output:E,capType:N,stippleEnabled:O,falloffEnabled:M,roundJoins:$,wireframe:_,innerColorEnabled:k,hasAnimation:I,hasScreenSizePerspective:B,worldSizedImagePattern:H}=j;A.include(a),C.include(t,j),C.include(n,j),C.include(i,j),C.include(l,j),C.include(b,j);const J=V&&!T;J&&(F.uniforms.add(new u("markerScale",e=>e.markerScale)),C.include(r,{space:2,hasScreenSizePerspective:B})),m(F,j),F.uniforms.add(new w("inverseProjectionMatrix",e=>e.camera.inverseProjectionMatrix),new f("nearFar",e=>e.camera.nearFar),new u("miterLimit",e=>"miter"!==e.join?0:e.miterLimit),new g("viewport",e=>e.camera.fullViewport)),F.constants.add("LARGE_HALF_FLOAT","float",65500),W.add("position","vec3"),W.add("previousDelta","vec4"),W.add("nextDelta","vec4"),W.add("lineParameters","vec2"),W.add("u0","float"),R.add("vColor","vec4"),R.add("vpos","vec3",{invariant:!0}),R.add("vLineDistance","float"),R.add("vLineWidth","float");const U=O;U&&R.add("vLineSizeInv","float");const Z=2===N,G=O&&Z,X=M||G;X&&R.add("vLineDistanceNorm","float"),Z&&(R.add("vSegmentSDF","float"),R.add("vReverseSegmentSDF","float")),F.code.add(S`vec3 perpendicular(vec3 v) {
2
+ import{SliceDraw as e}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{ObjectAndLayerIdColor as i}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/ObjectAndLayerIdColor.glsl.js";import{RibbonVertexPosition as t}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/RibbonVertexPosition.glsl.js";import{LineStipple as n,computePixelSize as o}from"../views/3d/webgl-engine/core/shaderLibrary/shading/LineStipple.glsl.js";import{MarkerSizing as r}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MarkerSizing.glsl.js";import{PiUtils as a}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PiUtils.glsl.js";import{positionOutsideClipSpace as s}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PositionOutsideClipSpace.js";import{ColorConversion as l}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{NoPerspectiveWrite as d,NoPerspectiveRead as p}from"../views/3d/webgl-engine/core/shaderLibrary/util/NoPerspective.glsl.js";import{addProjViewLocalOrigin as c,addPixelRatio as m}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float2BindUniform as v}from"../views/3d/webgl-engine/core/shaderModules/Float2BindUniform.js";import{Float4BindUniform as f}from"../views/3d/webgl-engine/core/shaderModules/Float4BindUniform.js";import{Float4PassUniform as g}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{FloatBindUniform as h}from"../views/3d/webgl-engine/core/shaderModules/FloatBindUniform.js";import{FloatPassUniform as u}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as x,If as S}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Matrix4BindUniform as D}from"../views/3d/webgl-engine/core/shaderModules/Matrix4BindUniform.js";import{alphaCutoff as w}from"../views/3d/webgl-engine/shaders/alphaCutoff.glsl.js";import{AnimatedLine as L}from"../views/3d/webgl-engine/shaders/AnimatedLine.glsl.js";import{outputColorHighlightOLID as b}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js";import{ShaderBuilder as y}from"../views/webgl/ShaderBuilder.js";const z=1;function P(P){const j=new y,{attributes:C,varyings:W,vertex:R,fragment:F}=j,{applyMarkerOffset:A,draped:V,output:T,capType:E,stippleEnabled:N,falloffEnabled:O,roundJoins:M,wireframe:$,innerColorEnabled:_,hasAnimation:k,hasScreenSizePerspective:I,worldSizedImagePattern:B}=P;R.inputs.add("position",()=>"position"),F.include(a),j.include(t,P),j.include(n,P),j.include(i,P),j.include(L,P);const H=A&&!V;H&&(R.uniforms.add(new u("markerScale",e=>e.markerScale)),j.include(r,{space:2,hasScreenSizePerspective:I})),c(R,P),R.uniforms.add(new D("inverseProjectionMatrix",e=>e.camera.inverseProjectionMatrix),new v("nearFar",e=>e.camera.nearFar),new u("miterLimit",e=>"miter"!==e.join?0:e.miterLimit),new f("viewport",e=>e.camera.fullViewport)),R.constants.add("LARGE_HALF_FLOAT","float",65500),C.add("position","vec3"),C.add("previousDelta","vec4"),C.add("nextDelta","vec4"),C.add("lineParameters","vec2"),C.add("u0","float"),W.add("vColor","vec4"),W.add("vpos","vec3",{invariant:!0}),W.add("vLineDistance","float"),W.add("vLineWidth","float");const J=N;J&&W.add("vLineSizeInv","float");const U=2===E,Z=N&&U,G=O||Z;G&&W.add("vLineDistanceNorm","float"),U&&(W.add("vSegmentSDF","float"),W.add("vReverseSegmentSDF","float")),R.code.add(x`vec3 perpendicular(vec3 v) {
3
3
  return vec3(v.y, -v.x, 0.0);
4
4
  }
5
5
  float interp(float ncp, vec4 a, vec4 b) {
@@ -10,12 +10,12 @@ float s = sin(a);
10
10
  float c = cos(a);
11
11
  mat2 m = mat2(c, -s, s, c);
12
12
  return vec3(m * v.xy, v.z);
13
- }`),F.code.add(S`vec4 projectAndScale(vec4 pos) {
13
+ }`),R.code.add(x`vec4 projectAndScale(vec4 pos) {
14
14
  vec4 posNdc = proj * pos;
15
15
  posNdc.xy *= viewport.zw / posNdc.w;
16
16
  posNdc.z /= posNdc.w;
17
17
  return posNdc;
18
- }`),F.code.add(S`void clip(
18
+ }`),R.code.add(x`void clip(
19
19
  inout vec4 pos,
20
20
  inout vec4 prev,
21
21
  inout vec4 next,
@@ -46,7 +46,7 @@ if (next.z > -nearFar[0]) {
46
46
  next = mix(next, pos, interp(vnp, next, pos));
47
47
  }
48
48
  }
49
- }`),v(F),F.constants.add("aaWidth","float",O?0:1).main.add(S`
49
+ }`),m(R),R.constants.add("aaWidth","float",N?0:1).main.add(x`
50
50
  // unpack values from vertex type
51
51
  bool isStartVertex = abs(abs(lineParameters.y) - 3.0) == 1.0;
52
52
  vec3 prevPosition = position + previousDelta.xyz * previousDelta.w;
@@ -65,18 +65,16 @@ next = mix(next, pos, interp(vnp, next, pos));
65
65
  vec4 next = view * vec4(nextPosition, 1.0);
66
66
 
67
67
  bool isJoin = abs(lineParameters.y) < 3.0;
68
- `),J&&F.main.add(S`vec4 other = isStartVertex ? next : prev;
68
+ `),H&&R.main.add(x`vec4 other = isStartVertex ? next : prev;
69
69
  bool markersHidden = areWorldMarkersHidden(pos.xyz, other.xyz);
70
70
  if (!isJoin && !markersHidden) {
71
71
  pos.xyz += normalize(other.xyz - pos.xyz) * getWorldMarkerSize(pos.xyz) * 0.5;
72
- }`),C.include(p),F.main.add(S`
72
+ }`),j.include(d),R.main.add(x`
73
73
  clip(pos, prev, next, isStartVertex);
74
74
 
75
75
  vec3 clippedPos = pos.xyz;
76
76
  vec3 clippedCenter = mix(pos.xyz, isStartVertex ? next.xyz : prev.xyz, 0.5);
77
77
 
78
- forwardViewPosDepth(pos.xyz);
79
-
80
78
  pos = projectAndScale(pos);
81
79
  next = projectAndScale(next);
82
80
  prev = projectAndScale(prev);
@@ -87,18 +85,18 @@ pos.xyz += normalize(other.xyz - pos.xyz) * getWorldMarkerSize(pos.xyz) * 0.5;
87
85
  float leftLen = length(left);
88
86
  float rightLen = length(right);
89
87
 
90
- float lineSize = getSize(${D(B,"clippedPos")});
91
- ${D(O&&B,"float patternLineSize = getSize(clippedCenter);")}
92
- ${D(O&&!B,"float patternLineSize = lineSize;")}
88
+ float lineSize = getSize(${S(I,"clippedPos")});
89
+ ${S(N&&I,"float patternLineSize = getSize(clippedCenter);")}
90
+ ${S(N&&!I,"float patternLineSize = lineSize;")}
93
91
 
94
- ${D(H,S`
92
+ ${S(B,x`
95
93
  lineSize += aaWidth;
96
94
  float lineWidth = lineSize * pixelRatio * worldToScreenRatio;
97
95
  if (lineWidth < 1.0) {
98
96
  coverage = lineWidth;
99
97
  lineWidth = 1.0;
100
98
  }
101
- `,S`
99
+ `,x`
102
100
  if (lineSize < 1.0) {
103
101
  coverage = lineSize; // convert sub-pixel coverage to alpha
104
102
  lineSize = 1.0;
@@ -109,13 +107,13 @@ pos.xyz += normalize(other.xyz - pos.xyz) * getWorldMarkerSize(pos.xyz) * 0.5;
109
107
  `)}
110
108
 
111
109
  vLineWidth = noPerspectiveWrite(lineWidth, pos.w);
112
- ${U?S`vLineSizeInv = noPerspectiveWrite(1.0 / lineSize, pos.w);`:""}
113
- `);(O||Z)&&F.main.add(S`
110
+ ${J?x`vLineSizeInv = noPerspectiveWrite(1.0 / lineSize, pos.w);`:""}
111
+ `);(N||U)&&R.main.add(x`
114
112
  float isEndVertex = float(!isStartVertex);
115
113
  vec3 segmentOrigin = mix(pos.xyz, prev.xyz, isEndVertex);
116
114
  vec3 segment = mix(right, left, isEndVertex);
117
- ${Z?S`vec3 segmentEnd = mix(next.xyz, pos.xyz, isEndVertex);`:""}
118
- `),F.main.add(S`left = (leftLen > 0.001) ? left/leftLen : vec3(0.0, 0.0, 0.0);
115
+ ${U?x`vec3 segmentEnd = mix(next.xyz, pos.xyz, isEndVertex);`:""}
116
+ `),R.main.add(x`left = (leftLen > 0.001) ? left/leftLen : vec3(0.0, 0.0, 0.0);
119
117
  right = (rightLen > 0.001) ? right/rightLen : vec3(0.0, 0.0, 0.0);
120
118
  vec3 segmentDirection = isStartVertex ? right : left;
121
119
  vec3 capDisplacementDir = vec3(0.0, 0.0, 0.0);
@@ -133,18 +131,18 @@ displacementLen = min(displacementLen, min(leftLen, rightLen)/abs(nDotSeg));
133
131
  }
134
132
  }
135
133
  float subdivisionFactor = lineParameters.x;
136
- if (isOutside && (displacementLen > miterLimit * lineWidth)) {`),$?F.main.add(S`
134
+ if (isOutside && (displacementLen > miterLimit * lineWidth)) {`),M?R.main.add(x`
137
135
  vec3 startDir = leftLen < 0.001 ? right : left;
138
136
  startDir = perpendicular(startDir);
139
137
 
140
138
  vec3 endDir = rightLen < 0.001 ? left : right;
141
139
  endDir = perpendicular(endDir);
142
140
 
143
- float factor = ${O?S`min(1.0, subdivisionFactor * ${S.float((P+2)/(P+1))})`:S`subdivisionFactor`};
141
+ float factor = ${N?x`min(1.0, subdivisionFactor * ${x.float((z+2)/(z+1))})`:x`subdivisionFactor`};
144
142
 
145
143
  float rotationAngle = acos(clamp(dot(startDir.xy, endDir.xy), -1.0, 1.0));
146
144
  joinDisplacementDir = rotateZ(startDir, -sign(lineParameters.y) * factor * rotationAngle);
147
- `):F.main.add(S`if (leftLen < 0.001) {
145
+ `):R.main.add(x`if (leftLen < 0.001) {
148
146
  joinDisplacementDir = right;
149
147
  }
150
148
  else if (rightLen < 0.001) {
@@ -153,7 +151,7 @@ joinDisplacementDir = left;
153
151
  else {
154
152
  joinDisplacementDir = (isStartVertex || subdivisionFactor > 0.0) ? right : left;
155
153
  }
156
- joinDisplacementDir = perpendicular(joinDisplacementDir);`);const Y=0!==N;return F.main.add(S`
154
+ joinDisplacementDir = perpendicular(joinDisplacementDir);`);const X=0!==E;return R.main.add(x`
157
155
  displacementLen = lineWidth;
158
156
  }
159
157
  } else {
@@ -161,9 +159,9 @@ joinDisplacementDir = perpendicular(joinDisplacementDir);`);const Y=0!==N;return
161
159
  joinDisplacementDir = isStartVertex ? right : left;
162
160
  joinDisplacementDir = perpendicular(joinDisplacementDir);
163
161
 
164
- ${Y?S`capDisplacementDir = vec3((isStartVertex ? -right : left).xy, 0.0);`:""}
162
+ ${X?x`capDisplacementDir = vec3((isStartVertex ? -right : left).xy, 0.0);`:""}
165
163
  }
166
- `),F.main.add(S`
164
+ `),R.main.add(x`
167
165
  // Displacement (in pixels) caused by join/or cap
168
166
  vec2 dposXY = (joinDisplacementDir.xy * sign(lineParameters.y) + capDisplacementDir.xy) * displacementLen;
169
167
 
@@ -178,22 +176,22 @@ joinDisplacementDir = perpendicular(joinDisplacementDir);`);const Y=0!==N;return
178
176
  float lineDistNorm = noPerspectiveWrite(sign(lineParameters.y), pos.w);
179
177
 
180
178
  vLineDistance = lineWidth * lineDistNorm;
181
- ${X?S`vLineDistanceNorm = lineDistNorm;`:""}
179
+ ${G?x`vLineDistanceNorm = lineDistNorm;`:""}
182
180
 
183
181
  pos.xyz += dpos;
184
- `),Z&&F.main.add(S`vec2 segmentDir = normalize(segment.xy);
182
+ `),U&&R.main.add(x`vec2 segmentDir = normalize(segment.xy);
185
183
  vSegmentSDF = noPerspectiveWrite((isJoin && isStartVertex) ? LARGE_HALF_FLOAT : (dot(pos.xy - segmentOrigin.xy, segmentDir)), pos.w);
186
- vReverseSegmentSDF = noPerspectiveWrite((isJoin && !isStartVertex) ? LARGE_HALF_FLOAT : (dot(pos.xy - segmentEnd.xy, -segmentDir)), pos.w);`),O&&(T?F.uniforms.add(new x("worldToScreenRatio",e=>1/e.screenToPCSRatio)):F.main.add(S`vec3 segmentCenter = mix((nextPosition + position) * 0.5, (position + prevPosition) * 0.5, isEndVertex);
187
- float worldToScreenRatio = computeWorldToScreenRatio(segmentCenter);`),F.main.add(S`float segmentLengthScreenDouble = length(segment.xy);
184
+ vReverseSegmentSDF = noPerspectiveWrite((isJoin && !isStartVertex) ? LARGE_HALF_FLOAT : (dot(pos.xy - segmentEnd.xy, -segmentDir)), pos.w);`),N&&(V?R.uniforms.add(new h("worldToScreenRatio",e=>1/e.screenToPCSRatio)):R.main.add(x`vec3 segmentCenter = mix((nextPosition + position) * 0.5, (position + prevPosition) * 0.5, isEndVertex);
185
+ float worldToScreenRatio = computeWorldToScreenRatio(segmentCenter);`),R.main.add(x`float segmentLengthScreenDouble = length(segment.xy);
188
186
  float segmentLengthScreen = segmentLengthScreenDouble * 0.5;
189
187
  float discreteWorldToScreenRatio = discretizeWorldToScreenRatio(worldToScreenRatio);
190
188
  float segmentLengthRender = length(mix(nextPosition - position, position - prevPosition, isEndVertex));
191
- vStipplePatternStretch = worldToScreenRatio / discreteWorldToScreenRatio;`),T?F.main.add(S`float segmentLengthPseudoScreen = segmentLengthScreen / pixelRatio * discreteWorldToScreenRatio / worldToScreenRatio;
192
- float startPseudoScreen = u0 * discreteWorldToScreenRatio - mix(0.0, segmentLengthPseudoScreen, isEndVertex);`):F.main.add(S`float startPseudoScreen = mix(u0, u0 - segmentLengthRender, isEndVertex) * discreteWorldToScreenRatio;
193
- float segmentLengthPseudoScreen = segmentLengthRender * discreteWorldToScreenRatio;`),F.uniforms.add(new u("stipplePatternPixelSize",e=>o(e))),F.main.add(S`
189
+ vStipplePatternStretch = worldToScreenRatio / discreteWorldToScreenRatio;`),V?R.main.add(x`float segmentLengthPseudoScreen = segmentLengthScreen / pixelRatio * discreteWorldToScreenRatio / worldToScreenRatio;
190
+ float startPseudoScreen = u0 * discreteWorldToScreenRatio - mix(0.0, segmentLengthPseudoScreen, isEndVertex);`):R.main.add(x`float startPseudoScreen = mix(u0, u0 - segmentLengthRender, isEndVertex) * discreteWorldToScreenRatio;
191
+ float segmentLengthPseudoScreen = segmentLengthRender * discreteWorldToScreenRatio;`),R.uniforms.add(new u("stipplePatternPixelSize",e=>o(e))),R.main.add(x`
194
192
  float patternLength = patternLineSize * stipplePatternPixelSize;
195
193
 
196
- ${D(H,S`
194
+ ${S(B,x`
197
195
  float uu = mix(u0, u0 - segmentLengthRender, isEndVertex);
198
196
  vStippleDistanceLimits = vec2(uu, uu + segmentLengthRender);
199
197
  vStipplePatternStretch = 1.0;
@@ -201,7 +199,7 @@ float segmentLengthPseudoScreen = segmentLengthRender * discreteWorldToScreenRat
201
199
  // The v-coordinate used in case of an image pattern.
202
200
  bool isLeft = sign(lineParameters.y) < 0.0;
203
201
  vStippleV = isLeft ? 0.0 : 1.0;
204
- `,S`
202
+ `,x`
205
203
  // Compute the coordinates at both start and end of the line segment, because we need both to clamp to in the
206
204
  // fragment shader
207
205
  vStippleDistanceLimits = computeStippleDistanceLimits(startPseudoScreen, segmentLengthPseudoScreen, segmentLengthScreen, patternLength);
@@ -232,7 +230,7 @@ float segmentLengthPseudoScreen = segmentLengthRender * discreteWorldToScreenRat
232
230
  isStartVertex ?
233
231
  vec2(-1e34, vStippleDistanceLimits.y) :
234
232
  vec2(vStippleDistanceLimits.x, 1e34);
235
- `)),F.main.add(S`
233
+ `)),R.main.add(x`
236
234
  // Convert back into NDC
237
235
  pos.xy = (pos.xy / viewport.zw) * pos.w;
238
236
  pos.z = pos.z * pos.w;
@@ -240,43 +238,42 @@ float segmentLengthPseudoScreen = segmentLengthRender * discreteWorldToScreenRat
240
238
  vColor = getColor();
241
239
  vColor.a = noPerspectiveWrite(vColor.a * coverage, pos.w);
242
240
 
243
- ${_&&!T?"pos.z -= 0.001 * pos.w;":""}
241
+ ${$&&!V?"pos.z -= 0.001 * pos.w;":""}
244
242
 
245
243
  // transform final position to camera space for slicing
246
244
  vpos = (inverseProjectionMatrix * pos).xyz;
247
245
  gl_Position = pos;
248
246
  forwardObjectAndLayerIdColor();
249
- }`),C.fragment.include(e,j),C.include(y,j),A.include(d),A.main.add(S`discardBySlice(vpos);
250
- discardByTerrainDepth();`),C.include(c),A.include(L),A.main.add(S`
247
+ }`),j.fragment.include(e,P),j.include(b,P),F.include(l),F.main.add(x`discardBySlice(vpos);`),j.include(p),F.include(w),F.main.add(x`
251
248
  float lineWidth = noPerspectiveRead(vLineWidth);
252
249
  float lineDistance = noPerspectiveRead(vLineDistance);
253
- ${D(X,S`float lineDistanceNorm = noPerspectiveRead(vLineDistanceNorm);`)}
254
- `),_?A.main.add(S`vec4 finalColor = vec4(1.0, 0.0, 1.0, 1.0);`):(Z&&A.main.add(S`float sdf = noPerspectiveRead(min(vSegmentSDF, vReverseSegmentSDF));
250
+ ${S(G,x`float lineDistanceNorm = noPerspectiveRead(vLineDistanceNorm);`)}
251
+ `),$?F.main.add(x`vec4 finalColor = vec4(1.0, 0.0, 1.0, 1.0);`):(U&&F.main.add(x`float sdf = noPerspectiveRead(min(vSegmentSDF, vReverseSegmentSDF));
255
252
  vec2 fragmentPosition = vec2(min(sdf, 0.0), lineDistance);
256
253
  float fragmentRadius = length(fragmentPosition);
257
254
  float fragmentCapSDF = (fragmentRadius - lineWidth) * 0.5;
258
255
  float capCoverage = clamp(0.5 - fragmentCapSDF, 0.0, 1.0);
259
256
  if (capCoverage < alphaCutoff) {
260
257
  discard;
261
- }`),G?A.main.add(S`vec2 stipplePosition = vec2(
258
+ }`),Z?F.main.add(x`vec2 stipplePosition = vec2(
262
259
  min(getStippleSDF() * 2.0 - 1.0, 0.0),
263
260
  lineDistanceNorm
264
261
  );
265
262
  float stippleRadius = length(stipplePosition * lineWidth);
266
263
  float stippleCapSDF = (stippleRadius - lineWidth) * 0.5;
267
264
  float stippleCoverage = clamp(0.5 - stippleCapSDF, 0.0, 1.0);
268
- float stippleAlpha = step(alphaCutoff, stippleCoverage);`):A.main.add(S`float stippleAlpha = getStippleAlpha(lineWidth);`),11!==E&&A.main.add(S`discardByStippleAlpha(stippleAlpha, alphaCutoff);`),C.include(c),A.uniforms.add(new h("intrinsicColor",e=>e.color)).main.add(S`vec4 color = intrinsicColor * vColor;
269
- color.a = noPerspectiveRead(color.a);`),k&&A.uniforms.add(new h("innerColor",e=>e.innerColor??e.color),new u("innerWidth",(e,i)=>e.innerWidth*i.camera.pixelRatio)).main.add(S`float distToInner = abs(lineDistance) - innerWidth;
265
+ float stippleAlpha = step(alphaCutoff, stippleCoverage);`):F.main.add(x`float stippleAlpha = getStippleAlpha(lineWidth);`),11!==T&&F.main.add(x`discardByStippleAlpha(stippleAlpha, alphaCutoff);`),j.include(p),F.uniforms.add(new g("intrinsicColor",e=>e.color)).main.add(x`vec4 color = intrinsicColor * vColor;
266
+ color.a = noPerspectiveRead(color.a);`),_&&F.uniforms.add(new g("innerColor",e=>e.innerColor??e.color),new u("innerWidth",(e,i)=>e.innerWidth*i.camera.pixelRatio)).main.add(x`float distToInner = abs(lineDistance) - innerWidth;
270
267
  float innerAA = clamp(0.5 - distToInner, 0.0, 1.0);
271
268
  float innerAlpha = innerColor.a + color.a * (1.0 - innerColor.a);
272
- color = mix(color, vec4(innerColor.rgb, innerAlpha), innerAA);`),A.main.add(S`vec4 finalColor = blendStipple(color, stippleAlpha);`),M&&(A.uniforms.add(new u("falloff",e=>e.falloff)),A.main.add(S`finalColor.a *= pow(max(0.0, 1.0 - abs(lineDistanceNorm)), falloff);`)),O||A.main.add(S`float featherStartDistance = max(lineWidth - 2.0, 0.0);
269
+ color = mix(color, vec4(innerColor.rgb, innerAlpha), innerAA);`),F.main.add(x`vec4 finalColor = blendStipple(color, stippleAlpha);`),O&&(F.uniforms.add(new u("falloff",e=>e.falloff)),F.main.add(x`finalColor.a *= pow(max(0.0, 1.0 - abs(lineDistanceNorm)), falloff);`)),N||F.main.add(x`float featherStartDistance = max(lineWidth - 2.0, 0.0);
273
270
  float value = abs(lineDistance);
274
271
  float feather = (value - featherStartDistance) / (lineWidth - featherStartDistance);
275
- finalColor.a *= 1.0 - clamp(feather, 0.0, 1.0);`),I&&A.main.add(S`
272
+ finalColor.a *= 1.0 - clamp(feather, 0.0, 1.0);`),k&&F.main.add(x`
276
273
  finalColor = animate(finalColor);
277
274
 
278
- ${D(11!==E,S`
275
+ ${S(11!==T,x`
279
276
  if (finalColor.a <= alphaCutoff) {
280
277
  discard;
281
278
  }`)}
282
- `)),A.main.add(S`outputColorHighlightOLID(applySlice(finalColor, vpos), finalColor.rgb);`),C}const C=Object.freeze(Object.defineProperty({__proto__:null,build:j,ribbonlineNumRoundJoinSubdivisions:P},Symbol.toStringTag,{value:"Module"}));export{C as R,j as b,P as r};
279
+ `)),F.main.add(x`outputColorHighlightOLID(applySlice(finalColor, vpos), finalColor.rgb);`),j}const j=Object.freeze(Object.defineProperty({__proto__:null,build:P,ribbonlineNumRoundJoinSubdivisions:z},Symbol.toStringTag,{value:"Module"}));export{j as R,P as b,z as r};
@@ -1,14 +1,13 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{create as e}from"../core/libs/gl-matrix-2/factories/vec4f64.js";import{ScreenSizeScaling as o}from"../views/3d/webgl-engine/core/shaderLibrary/ScreenSizeScaling.glsl.js";import{SliceDraw as r}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Transform as i}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{terrainDepthTest as n}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import{ColorConversion as l}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{addProjViewLocalOrigin as s,addViewNormal as a}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float3PassUniform as d}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{Float4PassUniform as t}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{glsl as c,If as g}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{outputColorHighlightOLID as m}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js";import{ShaderBuilder as v}from"../views/webgl/ShaderBuilder.js";function w(e){const w=new v;w.include(i),w.include(o,e),w.fragment.include(r,e),w.include(m,e),w.include(n,e);const{vertex:u,fragment:b}=w;return b.include(l),s(u,e),b.uniforms.add(new t("uColor",e=>e.color)),w.attributes.add("position","vec3"),w.varyings.add("vWorldPosition","vec3"),e.screenSizeEnabled&&w.attributes.add("offset","vec3"),e.shadingEnabled&&(a(u),w.attributes.add("normal","vec3"),w.varyings.add("vViewNormal","vec3"),b.uniforms.add(new d("shadingDirection",e=>e.shadingDirection)),b.uniforms.add(new t("shadedColor",e=>f(e.shadingTint,e.color)))),u.main.add(c`
3
- vWorldPosition = ${e.screenSizeEnabled?c`screenSizeScaling(offset, position)`:c`position`};
4
- ${g(e.shadingEnabled,c`vec3 worldNormal = normal;
2
+ import{create as e}from"../core/libs/gl-matrix-2/factories/vec4f64.js";import{ScreenSizeScaling as o}from"../views/3d/webgl-engine/core/shaderLibrary/ScreenSizeScaling.glsl.js";import{SliceDraw as i}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Transform as r}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{ColorConversion as l}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{addProjViewLocalOrigin as n,addViewNormal as s}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float3PassUniform as a}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{Float4PassUniform as d}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{glsl as t,If as c}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{outputColorHighlightOLID as g}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js";import{ShaderBuilder as m}from"../views/webgl/ShaderBuilder.js";function v(e){const v=new m;v.include(r),v.include(o,e),v.fragment.include(i,e),v.include(g,e);const{vertex:w,fragment:u}=v;return u.include(l),n(w,e),u.uniforms.add(new d("uColor",e=>e.color)),v.attributes.add("position","vec3"),v.varyings.add("vWorldPosition","vec3"),e.screenSizeEnabled&&v.attributes.add("offset","vec3"),e.shadingEnabled&&(s(w),v.attributes.add("normal","vec3"),v.varyings.add("vViewNormal","vec3"),u.uniforms.add(new a("shadingDirection",e=>e.shadingDirection)),u.uniforms.add(new d("shadedColor",e=>f(e.shadingTint,e.color)))),w.main.add(t`
3
+ vWorldPosition = ${e.screenSizeEnabled?t`screenSizeScaling(offset, position)`:t`position`};
4
+ ${c(e.shadingEnabled,t`vec3 worldNormal = normal;
5
5
  vViewNormal = (viewNormal * vec4(worldNormal, 1)).xyz;`)}
6
- forwardViewPosDepth((view * vec4(vWorldPosition, 1.0)).xyz);
7
6
  gl_Position = transformPosition(proj, view, vWorldPosition);
8
- `),b.main.add(c`
7
+ `),u.main.add(t`
9
8
  discardBySlice(vWorldPosition);
10
- discardByTerrainDepth();
11
- ${e.shadingEnabled?c`vec3 viewNormalNorm = normalize(vViewNormal);
9
+
10
+ ${e.shadingEnabled?t`vec3 viewNormalNorm = normalize(vViewNormal);
12
11
  float shadingFactor = 1.0 - clamp(-dot(viewNormalNorm, shadingDirection), 0.0, 1.0);
13
- vec4 finalColor = mix(uColor, shadedColor, shadingFactor);`:c`vec4 finalColor = uColor;`}
14
- outputColorHighlightOLID(applySlice(finalColor, vWorldPosition), finalColor.rgb);`),w}function f(e,o){const r=1-e[3],i=e[3]+o[3]*r;return 0===i?(u[3]=i,u):(u[0]=(e[0]*e[3]+o[0]*o[3]*r)/i,u[1]=(e[1]*e[3]+o[1]*o[3]*r)/i,u[2]=(e[2]*e[3]+o[2]*o[3]*r)/i,u[3]=o[3],u)}const u=e(),b=Object.freeze(Object.defineProperty({__proto__:null,build:w},Symbol.toStringTag,{value:"Module"}));export{b as S,w as b};
12
+ vec4 finalColor = mix(uColor, shadedColor, shadingFactor);`:t`vec4 finalColor = uColor;`}
13
+ outputColorHighlightOLID(applySlice(finalColor, vWorldPosition), finalColor.rgb);`),v}function f(e,o){const i=1-e[3],r=e[3]+o[3]*i;return 0===r?(w[3]=r,w):(w[0]=(e[0]*e[3]+o[0]*o[3]*i)/r,w[1]=(e[1]*e[3]+o[1]*o[3]*i)/r,w[2]=(e[2]*e[3]+o[2]*o[3]*i)/r,w[3]=o[3],w)}const w=e(),u=Object.freeze(Object.defineProperty({__proto__:null,build:v},Symbol.toStringTag,{value:"Module"}));export{u as S,v as b};