@arcgis/core 4.33.0-next.20250220 → 4.33.0-next.20250221

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 (82) hide show
  1. package/arcade/featureSetUtils.js +1 -1
  2. package/arcade/functions/featuresetbase.js +1 -1
  3. package/assets/esri/core/workers/RemoteClient.js +1 -1
  4. package/assets/esri/core/workers/chunks/4f764b952c6463fc7c88.js +1 -0
  5. package/assets/esri/core/workers/chunks/63d8d507f073a8ed42d2.js +1 -0
  6. package/assets/esri/core/workers/chunks/70574e0e3de729187d98.js +1 -0
  7. package/assets/esri/core/workers/chunks/78c066e8fe167d4ab817.js +1 -0
  8. package/assets/esri/core/workers/chunks/875a200f215e472d147e.js +1 -0
  9. package/assets/esri/core/workers/chunks/{f976233ad5e5b718ba83.js → 8d1f49927738ad3601d2.js} +1 -1
  10. package/assets/esri/core/workers/chunks/9050dad7e4f093568026.js +1 -0
  11. package/assets/esri/core/workers/chunks/930544d3b2c1d9c035c7.js +1 -0
  12. package/assets/esri/core/workers/chunks/{962cad03be1b7aa52ebe.js → 95835a62712fe4f24205.js} +1 -1
  13. package/assets/esri/core/workers/chunks/{030384851fa745908a6e.js → 9dbdb88cdac993104740.js} +2 -2
  14. package/assets/esri/core/workers/chunks/{ac11b2168feee63d2f09.js → b7c6d0ff4c085c8d0596.js} +1 -1
  15. package/assets/esri/core/workers/chunks/e0cd4815149d1ff4d31e.js +1 -0
  16. package/assets/esri/core/workers/chunks/{0a82c13828ffd4780419.js → f51fc2370fb486233499.js} +1 -1
  17. package/assets/esri/core/workers/chunks/fcbe65256a71b34ac9cf.js +1 -0
  18. package/assets/esri/themes/base/widgets/_Editor.scss +4 -0
  19. package/assets/esri/themes/dark/main.css +1 -1
  20. package/assets/esri/themes/light/main.css +1 -1
  21. package/assets/esri/themes/light/view.css +1 -1
  22. package/chunks/ColorMaterial.glsl.js +1 -1
  23. package/chunks/DefaultMaterial.glsl.js +1 -1
  24. package/chunks/ImageMaterial.glsl.js +3 -3
  25. package/chunks/LineMarker.glsl.js +11 -11
  26. package/chunks/NativeLine.glsl.js +1 -1
  27. package/chunks/Path.glsl.js +11 -11
  28. package/chunks/Pattern.glsl.js +2 -2
  29. package/chunks/RealisticTree.glsl.js +1 -1
  30. package/chunks/RibbonLine.glsl.js +1 -1
  31. package/chunks/Terrain.glsl.js +1 -1
  32. package/chunks/WaterSurface.glsl.js +9 -9
  33. package/editing/sharedTemplates/SharedTemplate.js +1 -1
  34. package/editing/sharedTemplates/SharedTemplateMetadata.js +1 -1
  35. package/editing/sharedTemplates/SharedTemplateProvider.js +1 -1
  36. package/editing/sharedTemplates/executor/support/createServiceEdit.js +1 -1
  37. package/editing/sharedTemplates/support/sharedTemplateErrors.js +1 -1
  38. package/editing/sharedTemplates/templateDefinitions/FeatureTemplateDefinition.js +1 -1
  39. package/editing/sharedTemplates/templateDefinitions/GroupTemplateDefinition.js +1 -1
  40. package/editing/sharedTemplates/templateDefinitions/PresetTemplateDefinition.js +1 -1
  41. package/editing/sharedTemplates/templateDefinitions/TemplateDefinitionBase.js +1 -1
  42. package/editing/sharedTemplates/templateDefinitions/parts/FeatureTemplateRelationshipPart.js +1 -1
  43. package/editing/sharedTemplates/templateDefinitions/parts/GroupTemplatePart.js +1 -1
  44. package/editing/sharedTemplates/templateDefinitions/parts/TemplatePartBase.js +1 -1
  45. package/interfaces.d.ts +112 -22
  46. package/layers/ImageryLayer.js +1 -1
  47. package/layers/ImageryTileLayer.js +1 -1
  48. package/layers/WCSLayer.js +1 -1
  49. package/layers/mixins/ArcGISImageService.js +1 -1
  50. package/layers/mixins/ImageryTileMixin.js +1 -1
  51. package/layers/mixins/RasterJobHandlerMixin.js +5 -0
  52. package/layers/orientedImagery/transformations/utils.js +1 -1
  53. package/layers/orientedImagery/transformations/worldToImage.js +1 -1
  54. package/layers/support/Relationship.js +1 -1
  55. package/package.json +1 -1
  56. package/support/revision.js +1 -1
  57. package/undoredo/support/Services.js +1 -1
  58. package/views/2d/AnimationManager.js +1 -1
  59. package/views/2d/layers/imagery/VectorFieldTileView2D.js +1 -1
  60. package/views/2d/layers/imagery/VectorFieldView2D.js +1 -1
  61. package/views/View.js +1 -1
  62. package/views/animation/easing.js +1 -1
  63. package/views/webgl/ShaderBuilder.js +1 -1
  64. package/widgets/Editor/CreateFeaturesWorkflow.js +1 -1
  65. package/widgets/Editor/components/Prompt.js +1 -1
  66. package/widgets/Editor/workflowUtils.js +1 -1
  67. package/widgets/Editor.js +1 -1
  68. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  69. package/widgets/OrientedImageryViewer/symbols.js +1 -1
  70. package/widgets/OrientedImageryViewer.js +1 -1
  71. package/widgets/support/FilterCondition.js +1 -1
  72. package/widgets/support/GoTo.js +1 -1
  73. package/widgets/support/goToUtils.js +1 -1
  74. package/assets/esri/core/workers/chunks/0c85731e9bf3eaeb96a2.js +0 -1
  75. package/assets/esri/core/workers/chunks/1b36d4400ab841c978c8.js +0 -1
  76. package/assets/esri/core/workers/chunks/3c44b4bf7fe407ec1d70.js +0 -1
  77. package/assets/esri/core/workers/chunks/4e3e141b3fd8bb652798.js +0 -1
  78. package/assets/esri/core/workers/chunks/717d7e9912d948e44d8d.js +0 -1
  79. package/assets/esri/core/workers/chunks/7bf9ebff90bb02bec8e7.js +0 -1
  80. package/assets/esri/core/workers/chunks/905cf2bb280479cd4f80.js +0 -1
  81. package/assets/esri/core/workers/chunks/b8fae500c69ca2cff62a.js +0 -1
  82. package/assets/esri/core/workers/chunks/b90b7ffc1e9363ed18e0.js +0 -1
@@ -2,7 +2,7 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{SliceDraw as e}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{ObjectAndLayerIdColor as o}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/ObjectAndLayerIdColor.glsl.js";import{VertexColor as i}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js";import{terrainDepthTest as l}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import{VisualVariables as s}from"../views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js";import{ColorConversion as t}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{addProjViewLocalOrigin as d}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float4PassUniform as n}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{glsl as a}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{VertexAttribute as g}from"../views/3d/webgl-engine/lib/VertexAttribute.js";import{outputColorHighlightOID as v}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOID.glsl.js";import{ShaderBuilder as b}from"../views/webgl/ShaderBuilder.js";function c(c){const m=new b,{vertex:u,fragment:w,attributes:p,varyings:f}=m,{vvColor:h,hasVertexColors:C}=c;return d(u,c),m.include(r,c),m.include(i,c),m.include(s,c),m.include(o,c),w.include(e,c),m.include(v,c),m.include(l,c),p.add(g.POSITION,"vec3"),h&&p.add(g.COLORFEATUREATTRIBUTE,"float"),C||f.add("vColor","vec4"),f.add("vpos","vec3"),u.uniforms.add(new n("uColor",(e=>e.color))),u.main.add(a`
5
+ import{SliceDraw as e}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{ObjectAndLayerIdColor as o}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/ObjectAndLayerIdColor.glsl.js";import{VertexColor as i}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js";import{terrainDepthTest as l}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import{VisualVariables as s}from"../views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js";import{ColorConversion as t}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{addProjViewLocalOrigin as d}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float4PassUniform as n}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{glsl as a}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{VertexAttribute as g}from"../views/3d/webgl-engine/lib/VertexAttribute.js";import{outputColorHighlightOID as v}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOID.glsl.js";import{ShaderBuilder as b}from"../views/webgl/ShaderBuilder.js";function c(c){const m=new b,{vertex:u,fragment:w,attributes:p,varyings:f}=m,{vvColor:h,hasVertexColors:C}=c;return d(u,c),m.include(r,c),m.include(i,c),m.include(s,c),m.include(o,c),w.include(e,c),m.include(v,c),m.include(l,c),p.add(g.POSITION,"vec3"),h&&p.add(g.COLORFEATUREATTRIBUTE,"float"),C||f.add("vColor","vec4"),f.add("vpos","vec3",{invariant:!0}),u.uniforms.add(new n("uColor",(e=>e.color))),u.main.add(a`
6
6
  vpos = position;
7
7
  forwardNormalizedVertexColor();
8
8
  forwardObjectAndLayerIdColor();
@@ -2,7 +2,7 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{ForwardLinearDepth as e}from"../views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepth.glsl.js";import{Offset as r}from"../views/3d/webgl-engine/core/shaderLibrary/Offset.glsl.js";import{isColorOrColorEmission as o}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SliceDraw as i}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Transform as a}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{InstancedDoublePrecision as l}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/InstancedDoublePrecision.glsl.js";import{NormalAttribute as s,NormalType as n}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/NormalAttribute.glsl.js";import{PositionAttribute as t}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/PositionAttribute.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 m}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js";import{VertexNormal as g}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexNormal.glsl.js";import{VerticalOffset as v}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VerticalOffset.glsl.js";import{DefaultMaterialAuxiliaryPasses as u}from"../views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js";import{ComputeNormalTexture as b}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeNormalTexture.glsl.js";import{EvaluateAmbientOcclusion as w}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientOcclusion.glsl.js";import{EvaluateSceneLighting as h,addAmbientBoostFactor as p,addLightingGlobalFactor as f}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{addMainLightIntensity as x}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{Normals as y}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Normals.glsl.js";import{PhysicallyBasedRendering as L}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRendering.glsl.js";import{PhysicallyBasedRenderingParameters as C,PBRMode as j}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{ReadShadowMapPass as P,ReadShadowMapDraw as O}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js";import{terrainDepthTest as N}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import{colorTextureUV as S,normalTextureUV as T,emissiveTextureUV as A,occlusionTextureUV as V,metallicRoughnessTextureUV as M}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TextureTransformUV.glsl.js";import{VisualVariables as $}from"../views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js";import{DiscardOrAdjustAlphaPass as D}from"../views/3d/webgl-engine/core/shaderLibrary/util/DiscardOrAdjustAlpha.glsl.js";import{MixExternalColor as E}from"../views/3d/webgl-engine/core/shaderLibrary/util/MixExternalColor.glsl.js";import{addProjViewLocalOrigin as U,addCameraPosition as B}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float3PassUniform as I}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{Float4PassUniform as F}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{FloatPassUniform as _}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as R,If as z}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DPassUniform as G}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{VertexAttribute as W}from"../views/3d/webgl-engine/lib/VertexAttribute.js";import{outputColorHighlightOID as k}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOID.glsl.js";import{ShaderBuilder as H}from"../views/webgl/ShaderBuilder.js";import{alphaCutoff as q}from"../webscene/support/AlphaCutoff.js";function J(J){const K=new H,{vertex:Q,fragment:X,varyings:Y}=K,{output:Z,normalType:ee,offsetBackfaces:re,instancedColor:oe,spherical:ie,receiveShadows:ae,snowCover:le,pbrMode:se,textureAlphaPremultiplied:ne,instancedDoublePrecision:te,hasVertexColors:de,hasVertexTangents:ce,hasColorTexture:me,hasNormalTexture:ge,hasNormalTextureTransform:ve,hasColorTextureTransform:ue}=J;if(U(Q,J),K.include(t),Y.add("vpos","vec3"),K.include($,J),K.include(l,J),K.include(v,J),K.include(S,J),!o(Z))return K.include(u,J),K;K.include(T,J),K.include(A,J),K.include(V,J),K.include(M,J),B(Q,J),K.include(s,J),K.include(a,J);const be=ee===n.Attribute||ee===n.Compressed;return be&&re&&K.include(r),K.include(b,J),K.include(g,J),oe&&K.attributes.add(W.INSTANCECOLOR,"vec4"),Y.add("vPositionLocal","vec3"),K.include(c,J),K.include(e,J),K.include(d,J),K.include(m,J),Q.uniforms.add(new F("externalColor",(e=>e.externalColor))),Y.add("vcolorExt","vec4"),K.include(N,J),Q.main.add(R`
5
+ import{ForwardLinearDepth as e}from"../views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepth.glsl.js";import{Offset as r}from"../views/3d/webgl-engine/core/shaderLibrary/Offset.glsl.js";import{isColorOrColorEmission as o}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SliceDraw as i}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Transform as a}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{InstancedDoublePrecision as l}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/InstancedDoublePrecision.glsl.js";import{NormalAttribute as s,NormalType as n}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/NormalAttribute.glsl.js";import{PositionAttribute as t}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/PositionAttribute.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 m}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js";import{VertexNormal as g}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexNormal.glsl.js";import{VerticalOffset as v}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VerticalOffset.glsl.js";import{DefaultMaterialAuxiliaryPasses as u}from"../views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js";import{ComputeNormalTexture as b}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeNormalTexture.glsl.js";import{EvaluateAmbientOcclusion as w}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientOcclusion.glsl.js";import{EvaluateSceneLighting as h,addAmbientBoostFactor as p,addLightingGlobalFactor as f}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{addMainLightIntensity as x}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{Normals as y}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Normals.glsl.js";import{PhysicallyBasedRendering as L}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRendering.glsl.js";import{PhysicallyBasedRenderingParameters as C,PBRMode as j}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{ReadShadowMapPass as P,ReadShadowMapDraw as O}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js";import{terrainDepthTest as N}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import{colorTextureUV as S,normalTextureUV as T,emissiveTextureUV as A,occlusionTextureUV as V,metallicRoughnessTextureUV as M}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TextureTransformUV.glsl.js";import{VisualVariables as $}from"../views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js";import{DiscardOrAdjustAlphaPass as D}from"../views/3d/webgl-engine/core/shaderLibrary/util/DiscardOrAdjustAlpha.glsl.js";import{MixExternalColor as E}from"../views/3d/webgl-engine/core/shaderLibrary/util/MixExternalColor.glsl.js";import{addProjViewLocalOrigin as U,addCameraPosition as B}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float3PassUniform as I}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{Float4PassUniform as F}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{FloatPassUniform as _}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as R,If as z}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DPassUniform as G}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{VertexAttribute as W}from"../views/3d/webgl-engine/lib/VertexAttribute.js";import{outputColorHighlightOID as k}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOID.glsl.js";import{ShaderBuilder as H}from"../views/webgl/ShaderBuilder.js";import{alphaCutoff as q}from"../webscene/support/AlphaCutoff.js";function J(J){const K=new H,{vertex:Q,fragment:X,varyings:Y}=K,{output:Z,normalType:ee,offsetBackfaces:re,instancedColor:oe,spherical:ie,receiveShadows:ae,snowCover:le,pbrMode:se,textureAlphaPremultiplied:ne,instancedDoublePrecision:te,hasVertexColors:de,hasVertexTangents:ce,hasColorTexture:me,hasNormalTexture:ge,hasNormalTextureTransform:ve,hasColorTextureTransform:ue}=J;if(U(Q,J),K.include(t),Y.add("vpos","vec3",{invariant:!0}),K.include($,J),K.include(l,J),K.include(v,J),K.include(S,J),!o(Z))return K.include(u,J),K;K.include(T,J),K.include(A,J),K.include(V,J),K.include(M,J),B(Q,J),K.include(s,J),K.include(a,J);const be=ee===n.Attribute||ee===n.Compressed;return be&&re&&K.include(r),K.include(b,J),K.include(g,J),oe&&K.attributes.add(W.INSTANCECOLOR,"vec4"),Y.add("vPositionLocal","vec3"),K.include(c,J),K.include(e,J),K.include(d,J),K.include(m,J),Q.uniforms.add(new F("externalColor",(e=>e.externalColor))),Y.add("vcolorExt","vec4"),K.include(N,J),Q.main.add(R`
6
6
  forwardNormalizedVertexColor();
7
7
  vcolorExt = externalColor;
8
8
  ${z(oe,"vcolorExt *= instanceColor * 0.003921568627451;")}
@@ -2,14 +2,14 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{ShaderOutput as e}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{ObjectAndLayerIdColor as o}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/ObjectAndLayerIdColor.glsl.js";import{terrainDepthTest as s}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import{ColorConversion as t}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{addProjViewLocalOrigin as a}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{FloatPassUniform as l}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as d,If as n}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DPassUniform as g}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{VertexAttribute as m}from"../views/3d/webgl-engine/lib/VertexAttribute.js";import{outputColorHighlightOID as v}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOID.glsl.js";import{NoParameters as c}from"../views/webgl/NoParameters.js";import{ShaderBuilder as p}from"../views/webgl/ShaderBuilder.js";class u extends c{}function w(c){const u=new p,{vertex:w,fragment:b}=u,{output:f,perspectiveInterpolation:h}=c;return a(w,c),u.include(i,c),u.include(s,c),u.fragment.include(r,c),u.include(o,c),u.include(v,c),u.attributes.add(m.POSITION,"vec3"),u.attributes.add(m.UV0,"vec2"),h&&u.attributes.add(m.PERSPECTIVEDIVIDE,"float"),w.main.add(d`
5
+ import{ShaderOutput as e}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{ObjectAndLayerIdColor as o}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/ObjectAndLayerIdColor.glsl.js";import{terrainDepthTest as s}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import{ColorConversion as t}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{addProjViewLocalOrigin as a}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{FloatPassUniform as l}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as n,If as d}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DPassUniform as g}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{VertexAttribute as m}from"../views/3d/webgl-engine/lib/VertexAttribute.js";import{outputColorHighlightOID as v}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOID.glsl.js";import{NoParameters as c}from"../views/webgl/NoParameters.js";import{ShaderBuilder as p}from"../views/webgl/ShaderBuilder.js";class u extends c{}function w(c){const u=new p,{vertex:w,fragment:b,varyings:f}=u,{output:h,perspectiveInterpolation:j}=c;return a(w,c),u.include(i,c),u.include(s,c),u.fragment.include(r,c),u.include(o,c),u.include(v,c),u.attributes.add(m.POSITION,"vec3"),u.attributes.add(m.UV0,"vec2"),j&&u.attributes.add(m.PERSPECTIVEDIVIDE,"float"),w.main.add(n`
6
6
  vpos = position;
7
7
  forwardViewPosDepth((view * vec4(vpos, 1.0)).xyz);
8
8
  vTexCoord = uv0;
9
9
  gl_Position = transformPosition(proj, view, vpos);
10
- ${n(h,"gl_Position *= perspectiveDivide;")}`),u.varyings.add("vpos","vec3"),u.varyings.add("vTexCoord","vec2"),b.include(t),b.uniforms.add(new l("opacity",(e=>e.opacity)),new g("tex",(e=>e.texture))).main.add(d`
10
+ ${d(j,"gl_Position *= perspectiveDivide;")}`),f.add("vpos","vec3",{invariant:!0}),f.add("vTexCoord","vec2"),b.include(t),b.uniforms.add(new l("opacity",(e=>e.opacity)),new g("tex",(e=>e.texture))).main.add(n`
11
11
  discardBySlice(vpos);
12
12
  discardByTerrainDepth();
13
- ${n(f===e.ObjectAndLayerIdColor,"fragColor = vec4(0, 0, 0, 1); return;")}
13
+ ${d(h===e.ObjectAndLayerIdColor,"fragColor = vec4(0, 0, 0, 1); return;")}
14
14
  vec4 finalColor = texture(tex, vTexCoord) * opacity;
15
15
  outputColorHighlightOID(finalColor, vpos);`),u}const b=Object.freeze(Object.defineProperty({__proto__:null,ImageMaterialPassParameters:u,build:w},Symbol.toStringTag,{value:"Module"}));export{b as I,u as a,w as b};
@@ -2,7 +2,7 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{markerTextureSize as e,markerSymbolSize as r,markerTipThicknessFactor as i}from"../views/3d/support/engineContent/marker.js";import{SliceDraw as o}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{RibbonVertexPosition as t}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/RibbonVertexPosition.glsl.js";import{OutputHighlight as a}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{MarkerSizing as n}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MarkerSizing.glsl.js";import{terrainDepthTest as s}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import{ColorConversion as c}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{RgbaFloatEncoding as l}from"../views/3d/webgl-engine/core/shaderLibrary/util/RgbaFloatEncoding.glsl.js";import{addProjViewLocalOrigin as p,addViewNormal as d,addPixelRatio as v}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float2BindUniform as m}from"../views/3d/webgl-engine/core/shaderModules/Float2BindUniform.js";import{Float4BindUniform as h}from"../views/3d/webgl-engine/core/shaderModules/Float4BindUniform.js";import{Float4PassUniform as f}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{FloatBindUniform as g}from"../views/3d/webgl-engine/core/shaderModules/FloatBindUniform.js";import{glsl as u,If as w}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Matrix4BindUniform as y}from"../views/3d/webgl-engine/core/shaderModules/Matrix4BindUniform.js";import{Texture2DPassUniform as S}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{VertexAttribute as b}from"../views/3d/webgl-engine/lib/VertexAttribute.js";import{LineMarkerSpace as x,LineMarkerAnchor as P}from"../views/3d/webgl-engine/shaders/LineMarkerTechniqueConfiguration.js";import{outputColorHighlightOID as z}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOID.glsl.js";import{ShaderBuilder as j}from"../views/webgl/ShaderBuilder.js";function L(L){const k=new j,{space:M,anchor:C,hasTip:D}=L,O=M===x.World;k.include(t,L),k.include(n,L),k.include(s,L);const{vertex:$,fragment:T}=k;T.include(l),p($,L),k.attributes.add(b.POSITION,"vec3"),k.attributes.add(b.PREVPOSITION,"vec3"),k.attributes.add(b.UV0,"vec2"),k.varyings.add("vColor","vec4"),k.varyings.add("vpos","vec3"),k.varyings.add("vUV","vec2"),k.varyings.add("vSize","float"),D&&k.varyings.add("vLineWidth","float"),$.uniforms.add(new m("nearFar",(({camera:e})=>e.nearFar)),new h("viewport",(({camera:e})=>e.fullViewport))),$.code.add(u`vec4 projectAndScale(vec4 pos) {
5
+ import{markerTextureSize as e,markerSymbolSize as r,markerTipThicknessFactor as i}from"../views/3d/support/engineContent/marker.js";import{SliceDraw as o}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{RibbonVertexPosition as t}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/RibbonVertexPosition.glsl.js";import{OutputHighlight as a}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{MarkerSizing as n}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MarkerSizing.glsl.js";import{terrainDepthTest as s}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import{ColorConversion as c}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{RgbaFloatEncoding as l}from"../views/3d/webgl-engine/core/shaderLibrary/util/RgbaFloatEncoding.glsl.js";import{addProjViewLocalOrigin as p,addViewNormal as d,addPixelRatio as v}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float2BindUniform as m}from"../views/3d/webgl-engine/core/shaderModules/Float2BindUniform.js";import{Float4BindUniform as h}from"../views/3d/webgl-engine/core/shaderModules/Float4BindUniform.js";import{Float4PassUniform as f}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{FloatBindUniform as g}from"../views/3d/webgl-engine/core/shaderModules/FloatBindUniform.js";import{glsl as u,If as w}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Matrix4BindUniform as S}from"../views/3d/webgl-engine/core/shaderModules/Matrix4BindUniform.js";import{Texture2DPassUniform as b}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{VertexAttribute as y}from"../views/3d/webgl-engine/lib/VertexAttribute.js";import{LineMarkerSpace as x,LineMarkerAnchor as P}from"../views/3d/webgl-engine/shaders/LineMarkerTechniqueConfiguration.js";import{outputColorHighlightOID as z}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOID.glsl.js";import{ShaderBuilder as j}from"../views/webgl/ShaderBuilder.js";function L(L){const k=new j,{space:M,anchor:C,hasTip:D}=L,O=M===x.World;k.include(t,L),k.include(n,L),k.include(s,L);const{vertex:$,fragment:T,varyings:W}=k;T.include(l),p($,L),k.attributes.add(y.POSITION,"vec3"),k.attributes.add(y.PREVPOSITION,"vec3"),k.attributes.add(y.UV0,"vec2"),W.add("vColor","vec4"),W.add("vpos","vec3",{invariant:!0}),W.add("vUV","vec2"),W.add("vSize","float"),D&&W.add("vLineWidth","float"),$.uniforms.add(new m("nearFar",(({camera:e})=>e.nearFar)),new h("viewport",(({camera:e})=>e.fullViewport))),$.code.add(u`vec4 projectAndScale(vec4 pos) {
6
6
  vec4 posNdc = proj * pos;
7
7
  posNdc.xy *= viewport.zw / posNdc.w;
8
8
  return posNdc;
@@ -12,7 +12,7 @@ if (prev.z > -nearFar[0]) {
12
12
  float interpolation = (-vnp - pos.z) / (prev.z - pos.z);
13
13
  prev = mix(pos, prev, interpolation);
14
14
  }
15
- }`),O?(k.attributes.add(b.NORMAL,"vec3"),d($),$.constants.add("tiltThreshold","float",.7),$.code.add(u`vec3 perpendicular(vec3 v) {
15
+ }`),O?(k.attributes.add(y.NORMAL,"vec3"),d($),$.constants.add("tiltThreshold","float",.7),$.code.add(u`vec3 perpendicular(vec3 v) {
16
16
  vec3 n = (viewNormal * vec4(normal.xyz, 1.0)).xyz;
17
17
  vec3 n2 = cross(v, n);
18
18
  vec3 forward = vec3(0.0, 0.0, 1.0);
@@ -20,26 +20,26 @@ float tiltDot = dot(forward, n);
20
20
  return abs(tiltDot) < tiltThreshold ? n : n2;
21
21
  }`)):$.code.add(u`vec2 perpendicular(vec2 v) {
22
22
  return vec2(v.y, -v.x);
23
- }`);const W=O?"vec3":"vec2";return $.code.add(u`
24
- ${W} normalizedSegment(${W} pos, ${W} prev) {
25
- ${W} segment = pos - prev;
23
+ }`);const N=O?"vec3":"vec2";return $.code.add(u`
24
+ ${N} normalizedSegment(${N} pos, ${N} prev) {
25
+ ${N} segment = pos - prev;
26
26
  float segmentLen = length(segment);
27
27
 
28
28
  // normalize or zero if too short
29
29
  return (segmentLen > 0.001) ? segment / segmentLen : ${O?"vec3(0.0, 0.0, 0.0)":"vec2(0.0, 0.0)"};
30
30
  }
31
31
 
32
- ${W} displace(${W} pos, ${W} prev, float displacementLen) {
33
- ${W} segment = normalizedSegment(pos, prev);
32
+ ${N} displace(${N} pos, ${N} prev, float displacementLen) {
33
+ ${N} segment = normalizedSegment(pos, prev);
34
34
 
35
- ${W} displacementDirU = perpendicular(segment);
36
- ${W} displacementDirV = segment;
35
+ ${N} displacementDirU = perpendicular(segment);
36
+ ${N} displacementDirV = segment;
37
37
 
38
38
  ${C===P.Tip?"pos -= 0.5 * displacementLen * displacementDirV;":""}
39
39
 
40
40
  return pos + displacementLen * (uv0.x * displacementDirU + uv0.y * displacementDirV);
41
41
  }
42
- `),M===x.Screen&&($.uniforms.add(new y("inverseProjectionMatrix",(({camera:e})=>e.inverseProjectionMatrix))),$.code.add(u`vec3 inverseProject(vec4 posScreen) {
42
+ `),M===x.Screen&&($.uniforms.add(new S("inverseProjectionMatrix",(({camera:e})=>e.inverseProjectionMatrix))),$.code.add(u`vec3 inverseProject(vec4 posScreen) {
43
43
  posScreen.xy = (posScreen.xy / viewport.zw) * posScreen.w;
44
44
  return (inverseProjectionMatrix * posScreen).xyz;
45
45
  }`),$.code.add(u`bool rayIntersectPlane(vec3 rayDir, vec3 planeOrigin, vec3 planeNormal, out vec3 intersection) {
@@ -131,7 +131,7 @@ return abs(cos) > 0.001 && t > 0.0;
131
131
  vpos = pos.xyz;
132
132
 
133
133
  gl_Position = displacedPosScreen;
134
- }`),k.fragment.include(o,L),k.include(z,L),T.uniforms.add(new f("intrinsicColor",(e=>e.color)),new S("tex",(e=>e.markerTexture))),T.include(c),T.constants.add("texelSize","float",1/e),T.code.add(u`float markerAlpha(vec2 samplePos) {
134
+ }`),k.fragment.include(o,L),k.include(z,L),T.uniforms.add(new f("intrinsicColor",(e=>e.color)),new b("tex",(e=>e.markerTexture))),T.include(c),T.constants.add("texelSize","float",1/e),T.code.add(u`float markerAlpha(vec2 samplePos) {
135
135
  samplePos += vec2(0.5, -0.5) * texelSize;
136
136
  float sdf = rgbaTofloat(texture(tex, samplePos)) - 0.5;
137
137
  float distance = sdf * vSize;
@@ -2,7 +2,7 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{ShaderOutput as e,isColorOrColorEmission as r}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SliceDraw as o}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Transform as i}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{VertexColor as s}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js";import{OutputHighlight as t}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{addProjViewLocalOrigin as l}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float4PassUniform as a}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{FloatPassUniform as n}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as d}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{VertexAttribute as c}from"../views/3d/webgl-engine/lib/VertexAttribute.js";import{ShaderBuilder as g}from"../views/webgl/ShaderBuilder.js";import{alphaCutoff as m}from"../webscene/support/AlphaCutoff.js";function u(u){const p=new g,{vertex:w,fragment:f}=p;return p.include(i,u),p.include(s,u),l(w,u),p.attributes.add(c.POSITION,"vec3"),p.varyings.add("vpos","vec3"),w.main.add(d`vpos = position;
5
+ import{ShaderOutput as e,isColorOrColorEmission as r}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SliceDraw as o}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Transform as i}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{VertexColor as s}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js";import{OutputHighlight as t}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{addProjViewLocalOrigin as l}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float4PassUniform as a}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{FloatPassUniform as n}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as d}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{VertexAttribute as c}from"../views/3d/webgl-engine/lib/VertexAttribute.js";import{ShaderBuilder as g}from"../views/webgl/ShaderBuilder.js";import{alphaCutoff as m}from"../webscene/support/AlphaCutoff.js";function u(u){const p=new g,{vertex:w,fragment:f,varyings:b}=p;return p.include(i,u),p.include(s,u),l(w,u),p.attributes.add(c.POSITION,"vec3"),b.add("vpos","vec3",{invariant:!0}),w.main.add(d`vpos = position;
6
6
  forwardNormalizedVertexColor();
7
7
  gl_Position = transformPosition(proj, view, vpos);`),p.include(t,u),p.fragment.include(o,u),f.uniforms.add(new n("alphaCoverage",((e,r)=>Math.min(1,e.width*r.camera.pixelRatio)))),u.hasVertexColors||f.uniforms.add(new a("constantColor",(e=>e.color))),f.main.add(d`
8
8
  discardBySlice(vpos);
@@ -2,17 +2,17 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{ForwardLinearDepth as e,addNearFar as i}from"../views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepth.glsl.js";import{isColorOrColorEmission as a,ShaderOutput 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 n}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{ObjectAndLayerIdColor as l}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/ObjectAndLayerIdColor.glsl.js";import{PathVertexPosition as s}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/PathVertexPosition.glsl.js";import{OutputDepth as d}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js";import{OutputHighlight as t}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{EvaluateAmbientOcclusion as c}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientOcclusion.glsl.js";import{EvaluateSceneLighting as g,addAmbientBoostFactor as m,addLightingGlobalFactor as v}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{addMainLightIntensity as h}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{Normals as p}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Normals.glsl.js";import{NormalUtils as u}from"../views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js";import{PhysicallyBasedRenderingParameters as b,PBRMode as w}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{ReadShadowMapDraw as f}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js";import{terrainDepthTest as y}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import{ColorConversion as j}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{addProjViewLocalOrigin as L,addViewNormal as P,addCameraPosition as S}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float3PassUniform as O}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{FloatPassUniform as C}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as A,If as D}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{outputColorHighlightOID as I}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOID.glsl.js";import{ShaderBuilder as B}from"../views/webgl/ShaderBuilder.js";function F(F){const V=new B,{vertex:_,fragment:x}=V;L(_,F),V.varyings.add("vpos","vec3"),V.include(s,F);const{output:z,spherical:M,pbrMode:H,receiveShadows:N}=F,k=a(z);switch((k||z===o.ObjectAndLayerIdColor)&&(V.include(n,F),V.include(f,F),V.include(e,F),V.include(l,F),V.include(y,F),V.varyings.add("vnormal","vec3"),V.varyings.add("vcolor","vec4"),_.main.add(A`
5
+ import{ForwardLinearDepth as e,addNearFar as i}from"../views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepth.glsl.js";import{isColorOrColorEmission as a,ShaderOutput 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 l}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{ObjectAndLayerIdColor as n}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/ObjectAndLayerIdColor.glsl.js";import{PathVertexPosition as s}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/PathVertexPosition.glsl.js";import{OutputDepth as d}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js";import{OutputHighlight as t}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{EvaluateAmbientOcclusion as c}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientOcclusion.glsl.js";import{EvaluateSceneLighting as m,addAmbientBoostFactor as g,addLightingGlobalFactor as h}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{addMainLightIntensity as v}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{Normals as p}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Normals.glsl.js";import{NormalUtils as u}from"../views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js";import{PhysicallyBasedRenderingParameters as b,PBRMode as w}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{ReadShadowMapDraw as f}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js";import{terrainDepthTest as y}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import{ColorConversion as j}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{addProjViewLocalOrigin as L,addViewNormal as P,addCameraPosition as S}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float3PassUniform as O}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{FloatPassUniform as C}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as A,If as D}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{outputColorHighlightOID as I}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOID.glsl.js";import{ShaderBuilder as B}from"../views/webgl/ShaderBuilder.js";function F(F){const V=new B,{vertex:_,fragment:x,varyings:z}=V;L(_,F),z.add("vpos","vec3",{invariant:!0}),V.include(s,F);const{output:M,spherical:H,pbrMode:N,receiveShadows:k}=F,E=a(M);switch((E||M===o.ObjectAndLayerIdColor)&&(V.include(l,F),V.include(f,F),V.include(e,F),V.include(n,F),V.include(y,F),z.add("vnormal","vec3"),z.add("vcolor","vec4"),_.main.add(A`
6
6
  vpos = calculateVPos();
7
7
  vnormal = normalize(localNormal());
8
8
  forwardViewPosDepth((view * vec4(vpos, 1.0)).xyz);
9
9
 
10
10
  gl_Position = transformPosition(proj, view, vpos);
11
11
 
12
- ${k?"forwardLinearDepth();":""}
12
+ ${E?"forwardLinearDepth();":""}
13
13
  forwardObjectAndLayerIdColor();
14
14
 
15
- vcolor = getColor();`)),z){case o.ColorEmission:case o.Color:V.include(b,F),V.include(g,F),V.include(c,F),V.include(f,F),V.include(p,F),V.fragment.include(r,F),V.include(I,F),S(x,F),m(x),v(x),x.uniforms.add(_.uniforms.get("localOrigin"),new O("ambient",(e=>e.ambient)),new O("diffuse",(e=>e.diffuse)),new O("specular",(e=>e.specular)),new C("opacity",(e=>e.opacity))),x.include(j),h(x),x.main.add(A`
15
+ vcolor = getColor();`)),M){case o.ColorEmission:case o.Color:V.include(b,F),V.include(m,F),V.include(c,F),V.include(f,F),V.include(p,F),V.fragment.include(r,F),V.include(I,F),S(x,F),g(x),h(x),x.uniforms.add(_.uniforms.get("localOrigin"),new O("ambient",(e=>e.ambient)),new O("diffuse",(e=>e.diffuse)),new O("specular",(e=>e.specular)),new C("opacity",(e=>e.opacity))),x.include(j),v(x),x.main.add(A`
16
16
  discardBySlice(vpos);
17
17
  discardByTerrainDepth();
18
18
 
@@ -22,28 +22,28 @@ import{ForwardLinearDepth as e,addNearFar as i}from"../views/3d/webgl-engine/cor
22
22
  float ssao = evaluateAmbientOcclusionInverse();
23
23
 
24
24
  vec3 posWorld = vpos + localOrigin;
25
- vec3 normalGround = ${M?"normalize(posWorld);":"vec3(0.0, 0.0, 1.0);"}
25
+ vec3 normalGround = ${H?"normalize(posWorld);":"vec3(0.0, 0.0, 1.0);"}
26
26
 
27
27
  float additionalAmbientScale = additionalDirectedAmbientLight(posWorld);
28
28
  vec3 additionalLight = ssao * mainLightIntensity * additionalAmbientScale * ambientBoostFactor * lightingGlobalFactor;
29
- float shadow = ${N?"max(lightingGlobalFactor * (1.0 - additionalAmbientScale), readShadowMap(vpos, linearDepth));":M?"lightingGlobalFactor * (1.0 - additionalAmbientScale);":"0.0;"}
29
+ float shadow = ${k?"max(lightingGlobalFactor * (1.0 - additionalAmbientScale), readShadowMap(vpos, linearDepth));":H?"lightingGlobalFactor * (1.0 - additionalAmbientScale);":"0.0;"}
30
30
  vec3 albedo = vcolor.rgb * max(ambient, diffuse); // combine the old material parameters into a single one
31
31
  float combinedOpacity = vcolor.a * opacity;
32
32
  albedo += 0.25 * specular; // don't completely ignore specular for now
33
33
 
34
- ${D(H===w.Schematic,"float additionalAmbientIrradiance = additionalAmbientIrradianceFactor * mainLightIntensity[2];\n vec4 emission = getEmissions();")}
34
+ ${D(N===w.Schematic,"float additionalAmbientIrradiance = additionalAmbientIrradianceFactor * mainLightIntensity[2];\n vec4 emission = getEmissions();")}
35
35
 
36
- vec3 shadedColor = ${H===w.Schematic?"evaluateSceneLightingPBR(normal, albedo, shadow, 1.0 - ssao, additionalLight, shadingParams.viewDirection, normalGround, mrr, emission, additionalAmbientIrradiance);":"evaluateSceneLighting(normal, albedo, shadow, 1.0 - ssao, additionalLight);"}
36
+ vec3 shadedColor = ${N===w.Schematic?"evaluateSceneLightingPBR(normal, albedo, shadow, 1.0 - ssao, additionalLight, shadingParams.viewDirection, normalGround, mrr, emission, additionalAmbientIrradiance);":"evaluateSceneLighting(normal, albedo, shadow, 1.0 - ssao, additionalLight);"}
37
37
  vec4 finalColor = vec4(shadedColor, combinedOpacity);
38
- outputColorHighlightOID(finalColor, vpos);`);break;case o.Depth:V.include(n,F),_.main.add(A`vpos = calculateVPos();
39
- gl_Position = transformPosition(proj, view, vpos);`),V.fragment.include(r,F),x.main.add(A`discardBySlice(vpos);`);break;case o.Shadow:case o.ShadowHighlight:case o.ShadowExcludeHighlight:case o.ViewshedShadow:V.include(n,F),i(V),V.varyings.add("depth","float"),_.main.add(A`vpos = calculateVPos();
38
+ outputColorHighlightOID(finalColor, vpos);`);break;case o.Depth:V.include(l,F),_.main.add(A`vpos = calculateVPos();
39
+ gl_Position = transformPosition(proj, view, vpos);`),V.fragment.include(r,F),x.main.add(A`discardBySlice(vpos);`);break;case o.Shadow:case o.ShadowHighlight:case o.ShadowExcludeHighlight:case o.ViewshedShadow:V.include(l,F),i(V),z.add("depth","float"),_.main.add(A`vpos = calculateVPos();
40
40
  gl_Position = transformPositionWithDepth(proj, view, vpos, nearFar, depth);`),V.fragment.include(r,F),V.include(d,F),x.main.add(A`discardBySlice(vpos);
41
41
  outputDepth(depth);`);break;case o.ObjectAndLayerIdColor:V.fragment.include(r,F),x.main.add(A`discardBySlice(vpos);
42
- outputObjectAndLayerIdColor();`);break;case o.Normal:V.include(n,F),V.include(u,F),P(_),V.varyings.add("vnormal","vec3"),_.main.add(A`vpos = calculateVPos();
42
+ outputObjectAndLayerIdColor();`);break;case o.Normal:V.include(l,F),V.include(u,F),P(_),z.add("vnormal","vec3"),_.main.add(A`vpos = calculateVPos();
43
43
  vnormal = normalize((viewNormal * vec4(localNormal(), 1.0)).xyz);
44
44
  gl_Position = transformPosition(proj, view, vpos);`),V.fragment.include(r,F),x.main.add(A`discardBySlice(vpos);
45
45
  vec3 normal = normalize(vnormal);
46
46
  if (gl_FrontFacing == false) normal = -normal;
47
- fragColor = vec4(vec3(0.5) + 0.5 * normal, 1.0);`);break;case o.Highlight:V.include(n,F),V.include(u,F),V.varyings.add("vnormal","vec3"),_.main.add(A`vpos = calculateVPos();
47
+ fragColor = vec4(vec3(0.5) + 0.5 * normal, 1.0);`);break;case o.Highlight:V.include(l,F),V.include(u,F),z.add("vnormal","vec3"),_.main.add(A`vpos = calculateVPos();
48
48
  gl_Position = transformPosition(proj, view, vpos);`),V.fragment.include(r,F),V.include(t,F),x.main.add(A`discardBySlice(vpos);
49
49
  calculateOcclusionAndOutputHighlight();`)}return V}const V=Object.freeze(Object.defineProperty({__proto__:null,build:F},Symbol.toStringTag,{value:"Module"}));export{V as P,F as b};
@@ -2,7 +2,7 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{ShaderOutput as e}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SliceDraw as o}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Transform as r}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 a}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js";import{terrainDepthTest as i}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import{VisualVariables as l}from"../views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js";import{ColorConversion as n}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{addProjViewLocalOrigin as c,addCameraPosition as d}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float4PassUniform as s}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{FloatBindUniform as v}from"../views/3d/webgl-engine/core/shaderModules/FloatBindUniform.js";import{glsl as g}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{VertexAttribute as p}from"../views/3d/webgl-engine/lib/VertexAttribute.js";import{Style as m}from"../views/3d/webgl-engine/materials/PatternStyle.js";import{outputColorHighlightOID as f}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOID.glsl.js";import{ShaderBuilder as u}from"../views/webgl/ShaderBuilder.js";const w=.70710678118,b=w,h=.08715574274,y=10,S=1;function j(j){const C=new u,{vertex:T,fragment:P,attributes:R,varyings:V}=C,D=j.output===e.Highlight;c(T,j),C.include(r,j),C.include(a,j),C.include(l,j),C.include(t,j),C.fragment.include(o,j),C.include(f,j),C.include(i,j),j.draped?T.uniforms.add(new v("worldToScreenRatio",(e=>1/e.screenToPCSRatio))):R.add(p.BOUNDINGRECT,"mat3"),R.add(p.POSITION,"vec3"),R.add(p.UVMAPSPACE,"vec4"),j.vvColor&&R.add(p.COLORFEATUREATTRIBUTE,"float"),j.hasVertexColors||V.add("vColor","vec4"),V.add("vpos","vec3"),V.add("vuv","vec2"),T.uniforms.add(new s("uColor",(e=>e.color)));const O=j.style===m.ForwardDiagonal||j.style===m.BackwardDiagonal||j.style===m.DiagonalCross;return O&&T.code.add(g`
5
+ import{ShaderOutput as e}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SliceDraw as o}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Transform as r}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 a}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js";import{terrainDepthTest as i}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import{VisualVariables as n}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 c,addCameraPosition as d}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float4PassUniform as s}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{FloatBindUniform as v}from"../views/3d/webgl-engine/core/shaderModules/FloatBindUniform.js";import{glsl as g}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{VertexAttribute as p}from"../views/3d/webgl-engine/lib/VertexAttribute.js";import{Style as m}from"../views/3d/webgl-engine/materials/PatternStyle.js";import{outputColorHighlightOID as f}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOID.glsl.js";import{ShaderBuilder as u}from"../views/webgl/ShaderBuilder.js";const w=.70710678118,b=w,h=.08715574274,y=10,S=1;function j(j){const C=new u,{vertex:T,fragment:P,attributes:R,varyings:V}=C,D=j.output===e.Highlight;c(T,j),C.include(r,j),C.include(a,j),C.include(n,j),C.include(t,j),C.fragment.include(o,j),C.include(f,j),C.include(i,j),j.draped?T.uniforms.add(new v("worldToScreenRatio",(e=>1/e.screenToPCSRatio))):R.add(p.BOUNDINGRECT,"mat3"),R.add(p.POSITION,"vec3"),R.add(p.UVMAPSPACE,"vec4"),j.vvColor&&R.add(p.COLORFEATUREATTRIBUTE,"float"),j.hasVertexColors||V.add("vColor","vec4"),V.add("vpos","vec3",{invariant:!0}),V.add("vuv","vec2"),T.uniforms.add(new s("uColor",(e=>e.color)));const O=j.style===m.ForwardDiagonal||j.style===m.BackwardDiagonal||j.style===m.DiagonalCross;return O&&T.code.add(g`
6
6
  const mat2 rotate45 = mat2(${g.float(w)}, ${g.float(-.70710678118)},
7
7
  ${g.float(b)}, ${g.float(w)});
8
8
  `),j.draped||(d(T,j),T.uniforms.add(new v("worldToScreenPerDistanceRatio",(e=>1/e.camera.perScreenPixelRatio))),T.code.add(g`vec3 projectPointToLineSegment(vec3 center, vec3 halfVector, vec3 point) {
@@ -69,7 +69,7 @@ return rayOrigin + t * rayDir;
69
69
  forwardObjectAndLayerIdColor();
70
70
  ${j.hasVertexColors?"vColor *= uColor;":j.vvColor?"vColor = uColor * interpolateVVColor(colorFeatureAttribute);":"vColor = uColor;"}
71
71
  gl_Position = transformPosition(proj, view, vpos);
72
- `),P.include(n),j.draped&&P.uniforms.add(new v("texelSize",(e=>1/e.camera.pixelRatio))),D||(P.code.add(g`
72
+ `),P.include(l),j.draped&&P.uniforms.add(new v("texelSize",(e=>1/e.camera.pixelRatio))),D||(P.code.add(g`
73
73
  const float lineWidth = ${g.float(S)};
74
74
  const float spacing = ${g.float(y)};
75
75
  const float spacingINV = ${g.float(1/y)};
@@ -2,7 +2,7 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{ForwardLinearDepth as e}from"../views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepth.glsl.js";import{Offset as r}from"../views/3d/webgl-engine/core/shaderLibrary/Offset.glsl.js";import{isColorOrColorEmission as o}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SliceDraw as i}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Transform as a}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{InstancedDoublePrecision as l}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/InstancedDoublePrecision.glsl.js";import{NormalAttribute as t}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/NormalAttribute.glsl.js";import{PositionAttribute as s}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/PositionAttribute.glsl.js";import{SymbolColor as n}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/SymbolColor.glsl.js";import{TextureCoordinateAttribute as d}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js";import{VertexColor as c}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js";import{VerticalOffset as g}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VerticalOffset.glsl.js";import{DefaultMaterialAuxiliaryPasses as m}from"../views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js";import{EvaluateAmbientOcclusion as v}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientOcclusion.glsl.js";import{EvaluateSceneLighting as b,addAmbientBoostFactor as w,addLightingGlobalFactor as p}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{addMainLightDirection as u,addMainLightIntensity as h}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{PhysicallyBasedRendering as f}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRendering.glsl.js";import{PBRMode as x,PhysicallyBasedRenderingParameters as y}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{ReadShadowMapPass as C,ReadShadowMapDraw as L}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js";import{terrainDepthTest as j}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import{VisualVariables as O}from"../views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js";import{DiscardOrAdjustAlphaPass as P}from"../views/3d/webgl-engine/core/shaderLibrary/util/DiscardOrAdjustAlpha.glsl.js";import{MixExternalColor as M}from"../views/3d/webgl-engine/core/shaderLibrary/util/MixExternalColor.glsl.js";import{addProjViewLocalOrigin as A,addCameraPosition as S}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float3PassUniform as E}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{Float4PassUniform as D}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{FloatPassUniform as F}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as $,If as N}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DPassUniform as V}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{VertexAttribute as I}from"../views/3d/webgl-engine/lib/VertexAttribute.js";import{outputColorHighlightOID as T}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOID.glsl.js";import{ShaderBuilder as B}from"../views/webgl/ShaderBuilder.js";import{alphaCutoff as R}from"../webscene/support/AlphaCutoff.js";function _(_){const z=new B,{vertex:k,fragment:G,varyings:U}=z,{output:W,offsetBackfaces:H,instancedColor:q,pbrMode:J,snowCover:K,spherical:Q}=_,X=J===x.Normal||J===x.Schematic;if(A(k,_),z.include(s),U.add("vpos","vec3"),z.include(O,_),z.include(l,_),z.include(g,_),z.include(j,_),o(W)&&(S(z.vertex,_),z.include(t,_),z.include(a,_),H&&z.include(r),q&&z.attributes.add(I.INSTANCECOLOR,"vec4"),U.add("vNormalWorld","vec3"),U.add("localvpos","vec3"),z.include(d,_),z.include(e,_),z.include(n,_),z.include(c,_),k.uniforms.add(new D("externalColor",(e=>e.externalColor))),U.add("vcolorExt","vec4"),k.main.add($`
5
+ import{ForwardLinearDepth as e}from"../views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepth.glsl.js";import{Offset as r}from"../views/3d/webgl-engine/core/shaderLibrary/Offset.glsl.js";import{isColorOrColorEmission as o}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SliceDraw as i}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Transform as a}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{InstancedDoublePrecision as l}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/InstancedDoublePrecision.glsl.js";import{NormalAttribute as t}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/NormalAttribute.glsl.js";import{PositionAttribute as s}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/PositionAttribute.glsl.js";import{SymbolColor as n}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/SymbolColor.glsl.js";import{TextureCoordinateAttribute as d}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js";import{VertexColor as c}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js";import{VerticalOffset as g}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VerticalOffset.glsl.js";import{DefaultMaterialAuxiliaryPasses as m}from"../views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js";import{EvaluateAmbientOcclusion as v}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientOcclusion.glsl.js";import{EvaluateSceneLighting as b,addAmbientBoostFactor as w,addLightingGlobalFactor as p}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{addMainLightDirection as u,addMainLightIntensity as h}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{PhysicallyBasedRendering as f}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRendering.glsl.js";import{PBRMode as x,PhysicallyBasedRenderingParameters as y}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{ReadShadowMapPass as C,ReadShadowMapDraw as L}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js";import{terrainDepthTest as j}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import{VisualVariables as O}from"../views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js";import{DiscardOrAdjustAlphaPass as P}from"../views/3d/webgl-engine/core/shaderLibrary/util/DiscardOrAdjustAlpha.glsl.js";import{MixExternalColor as M}from"../views/3d/webgl-engine/core/shaderLibrary/util/MixExternalColor.glsl.js";import{addProjViewLocalOrigin as A,addCameraPosition as S}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float3PassUniform as E}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{Float4PassUniform as D}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{FloatPassUniform as F}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as $,If as N}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DPassUniform as V}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{VertexAttribute as I}from"../views/3d/webgl-engine/lib/VertexAttribute.js";import{outputColorHighlightOID as T}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOID.glsl.js";import{ShaderBuilder as B}from"../views/webgl/ShaderBuilder.js";import{alphaCutoff as R}from"../webscene/support/AlphaCutoff.js";function _(_){const z=new B,{vertex:k,fragment:G,varyings:U}=z,{output:W,offsetBackfaces:H,instancedColor:q,pbrMode:J,snowCover:K,spherical:Q}=_,X=J===x.Normal||J===x.Schematic;if(A(k,_),z.include(s),U.add("vpos","vec3",{invariant:!0}),z.include(O,_),z.include(l,_),z.include(g,_),z.include(j,_),o(W)&&(S(z.vertex,_),z.include(t,_),z.include(a,_),H&&z.include(r),q&&z.attributes.add(I.INSTANCECOLOR,"vec4"),U.add("vNormalWorld","vec3"),U.add("localvpos","vec3"),z.include(d,_),z.include(e,_),z.include(n,_),z.include(c,_),k.uniforms.add(new D("externalColor",(e=>e.externalColor))),U.add("vcolorExt","vec4"),k.main.add($`
6
6
  forwardNormalizedVertexColor();
7
7
  vcolorExt = externalColor;
8
8
  ${N(q,"vcolorExt *= instanceColor * 0.003921568627451;")}
@@ -2,7 +2,7 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{ShaderOutput as e}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SliceDraw as i}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{ObjectAndLayerIdColor as t}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/ObjectAndLayerIdColor.glsl.js";import{RibbonVertexPosition as n}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/RibbonVertexPosition.glsl.js";import{LineStipple as r,computePixelSize as o}from"../views/3d/webgl-engine/core/shaderLibrary/shading/LineStipple.glsl.js";import{MarkerSizing as a}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MarkerSizing.glsl.js";import{PiUtils as s}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PiUtils.glsl.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{addProjViewLocalOrigin as p,addPixelRatio as c}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float2BindUniform as m}from"../views/3d/webgl-engine/core/shaderModules/Float2BindUniform.js";import{Float4BindUniform as v}from"../views/3d/webgl-engine/core/shaderModules/Float4BindUniform.js";import{Float4PassUniform as f}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{FloatBindUniform as g}from"../views/3d/webgl-engine/core/shaderModules/FloatBindUniform.js";import{FloatPassUniform as h}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as S}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Matrix4BindUniform as u}from"../views/3d/webgl-engine/core/shaderModules/Matrix4BindUniform.js";import{VertexAttribute as D}from"../views/3d/webgl-engine/lib/VertexAttribute.js";import{LineMarkerSpace as x}from"../views/3d/webgl-engine/shaders/LineMarkerTechniqueConfiguration.js";import{outputColorHighlightOID as L}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOID.glsl.js";import{CapType as w}from"../views/3d/webgl-engine/shaders/RibbonLineTechniqueConfiguration.js";import{ShaderBuilder as b}from"../views/webgl/ShaderBuilder.js";import{alphaCutoff as y}from"../webscene/support/AlphaCutoff.js";const j=1;function C(C){const F=new b,{attributes:P,varyings:R,vertex:z,fragment:A}=F,{applyMarkerOffset:T,draped:V,output:O,capType:W,stippleEnabled:E,falloffEnabled:I,roundJoins:N,wireframe:M,innerColorEnabled:_}=C;F.include(s),F.include(n,C),F.include(r,C),F.include(t,C),F.include(l,C);const k=T&&!V;k&&(z.uniforms.add(new h("markerScale",(e=>e.markerScale))),F.include(a,{space:x.World})),p(z,C),z.uniforms.add(new u("inverseProjectionMatrix",(e=>e.camera.inverseProjectionMatrix)),new m("nearFar",(e=>e.camera.nearFar)),new h("miterLimit",(e=>"miter"!==e.join?0:e.miterLimit)),new v("viewport",(e=>e.camera.fullViewport))),z.constants.add("LARGE_HALF_FLOAT","float",65500),P.add(D.POSITION,"vec3"),P.add(D.PREVPOSITION,"vec3"),P.add(D.NEXTPOSITION,"vec3"),P.add(D.SUBDIVISIONFACTOR,"float"),P.add(D.UV0,"vec2"),R.add("vColor","vec4"),R.add("vpos","vec3"),R.add("vLineDistance","float"),R.add("vLineWidth","float");const B=E;B&&R.add("vLineSizeInv","float");const U=W===w.ROUND,$=E&&U,H=I||$;H&&R.add("vLineDistanceNorm","float"),U&&(R.add("vSegmentSDF","float"),R.add("vReverseSegmentSDF","float")),z.code.add(S`vec2 perpendicular(vec2 v) {
5
+ import{ShaderOutput as e}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SliceDraw as i}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{ObjectAndLayerIdColor as t}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/ObjectAndLayerIdColor.glsl.js";import{RibbonVertexPosition as n}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/RibbonVertexPosition.glsl.js";import{LineStipple as r,computePixelSize as o}from"../views/3d/webgl-engine/core/shaderLibrary/shading/LineStipple.glsl.js";import{MarkerSizing as a}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MarkerSizing.glsl.js";import{PiUtils as s}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PiUtils.glsl.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{addProjViewLocalOrigin as p,addPixelRatio as c}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float2BindUniform as m}from"../views/3d/webgl-engine/core/shaderModules/Float2BindUniform.js";import{Float4BindUniform as v}from"../views/3d/webgl-engine/core/shaderModules/Float4BindUniform.js";import{Float4PassUniform as f}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{FloatBindUniform as g}from"../views/3d/webgl-engine/core/shaderModules/FloatBindUniform.js";import{FloatPassUniform as h}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as S}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Matrix4BindUniform as u}from"../views/3d/webgl-engine/core/shaderModules/Matrix4BindUniform.js";import{VertexAttribute as D}from"../views/3d/webgl-engine/lib/VertexAttribute.js";import{LineMarkerSpace as x}from"../views/3d/webgl-engine/shaders/LineMarkerTechniqueConfiguration.js";import{outputColorHighlightOID as L}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOID.glsl.js";import{CapType as w}from"../views/3d/webgl-engine/shaders/RibbonLineTechniqueConfiguration.js";import{ShaderBuilder as b}from"../views/webgl/ShaderBuilder.js";import{alphaCutoff as y}from"../webscene/support/AlphaCutoff.js";const j=1;function C(C){const F=new b,{attributes:P,varyings:R,vertex:z,fragment:A}=F,{applyMarkerOffset:T,draped:V,output:O,capType:W,stippleEnabled:E,falloffEnabled:I,roundJoins:N,wireframe:M,innerColorEnabled:_}=C;F.include(s),F.include(n,C),F.include(r,C),F.include(t,C),F.include(l,C);const k=T&&!V;k&&(z.uniforms.add(new h("markerScale",(e=>e.markerScale))),F.include(a,{space:x.World})),p(z,C),z.uniforms.add(new u("inverseProjectionMatrix",(e=>e.camera.inverseProjectionMatrix)),new m("nearFar",(e=>e.camera.nearFar)),new h("miterLimit",(e=>"miter"!==e.join?0:e.miterLimit)),new v("viewport",(e=>e.camera.fullViewport))),z.constants.add("LARGE_HALF_FLOAT","float",65500),P.add(D.POSITION,"vec3"),P.add(D.PREVPOSITION,"vec3"),P.add(D.NEXTPOSITION,"vec3"),P.add(D.SUBDIVISIONFACTOR,"float"),P.add(D.UV0,"vec2"),R.add("vColor","vec4"),R.add("vpos","vec3",{invariant:!0}),R.add("vLineDistance","float"),R.add("vLineWidth","float");const B=E;B&&R.add("vLineSizeInv","float");const U=W===w.ROUND,$=E&&U,H=I||$;H&&R.add("vLineDistanceNorm","float"),U&&(R.add("vSegmentSDF","float"),R.add("vReverseSegmentSDF","float")),z.code.add(S`vec2 perpendicular(vec2 v) {
6
6
  return vec2(v.y, -v.x);
7
7
  }
8
8
  float interp(float ncp, vec4 a, vec4 b) {
@@ -7,7 +7,7 @@ float z = 1.0 - abs(normalCompressed.x) - abs(normalCompressed.y);
7
7
  vec3 n = vec3(normalCompressed + vec2(normalCompressed.x >= 0.0 ? 1.0 : -1.0,
8
8
  normalCompressed.y >= 0.0 ? 1.0 : -1.0) * min(z, 0.0), z);
9
9
  return normalize(n);
10
- }`)};N(M,r),i.include(v,r);const ee=X===t.InvisibleWithDraped||X===t.Invisible,re=J!==z.Disabled,oe=re&&ee;switch(G){case d.ColorEmission:case d.Color:{i.include($,r),i.include(y,r),re&&(r.pbrMode=R===L.Simplified?L.TerrainWithWater:L.Water,i.include(P,r),r.pbrMode=R);const t=J===z.EnabledWithWater;t&&i.include(w,r),E.add("vnormal","vec3"),E.add("vpos","vec3"),E.add("vup","vec3"),Z(),Y&&D(M);const n=r.receiveShadows&&!r.renderOccluded;n&&i.include(c,r),Y&&(E.add("screenSizeDistanceToCamera","float"),E.add("screenSizeCosAngle","float")),M.main.add(V`
10
+ }`)};N(M,r),i.include(v,r);const ee=X===t.InvisibleWithDraped||X===t.Invisible,re=J!==z.Disabled,oe=re&&ee;switch(G){case d.ColorEmission:case d.Color:{i.include($,r),i.include(y,r),re&&(r.pbrMode=R===L.Simplified?L.TerrainWithWater:L.Water,i.include(P,r),r.pbrMode=R);const t=J===z.EnabledWithWater;t&&i.include(w,r),E.add("vnormal","vec3"),E.add("vpos","vec3",{invariant:!0}),E.add("vup","vec3"),Z(),Y&&D(M);const n=r.receiveShadows&&!r.renderOccluded;n&&i.include(c,r),Y&&(E.add("screenSizeDistanceToCamera","float"),E.add("screenSizeCosAngle","float")),M.main.add(V`
11
11
  vpos = position;
12
12
  vec3 positionWorld = position + localOrigin;
13
13
  gl_Position = transformPosition(proj, view, vpos);
@@ -2,7 +2,7 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{ForwardLinearDepth as e}from"../views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepth.glsl.js";import{isColorOrColorEmission as r,ShaderOutput as i}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SliceDraw as o}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Transform as a}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{ObjectAndLayerIdColor as s}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/ObjectAndLayerIdColor.glsl.js";import{OutputHighlight as n}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{EvaluateAmbientLighting as t}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientLighting.glsl.js";import{addMainLightDirection as l,addMainLightIntensity as d}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{NormalUtils as g}from"../views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js";import{PBRMode as m}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{ReadShadowMapDraw as v}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js";import{terrainDepthTest as c}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import{Water as p}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Water.glsl.js";import{WaterDistortion as w}from"../views/3d/webgl-engine/core/shaderLibrary/shading/WaterDistortion.glsl.js";import{ColorConversion as u}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{addProjViewLocalOrigin as f,addCameraPosition as h}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{FloatPassUniform as y}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as j}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{VertexAttribute as L}from"../views/3d/webgl-engine/lib/VertexAttribute.js";import{outputColorHighlightOID as C}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOID.glsl.js";import{ShaderBuilder as P}from"../views/webgl/ShaderBuilder.js";import{alphaCutoff as x}from"../webscene/support/AlphaCutoff.js";function O(O){const S=new P,{vertex:D,fragment:N}=S,{output:_,draped:F,receiveShadows:M}=O;f(D,O),S.include(a,O),S.attributes.add(L.POSITION,"vec3"),S.attributes.add(L.UV0,"vec2");const z=new b("waterColor",(e=>e.color));if(r(_)&&F)return S.varyings.add("vpos","vec3"),D.uniforms.add(z),D.main.add(j`
5
+ import{ForwardLinearDepth as e}from"../views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepth.glsl.js";import{isColorOrColorEmission as r,ShaderOutput as i}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SliceDraw as o}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Transform as a}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{ObjectAndLayerIdColor as t}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/ObjectAndLayerIdColor.glsl.js";import{OutputHighlight as n}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{EvaluateAmbientLighting as s}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientLighting.glsl.js";import{addMainLightDirection as l,addMainLightIntensity as d}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{NormalUtils as g}from"../views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js";import{PBRMode as m}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{ReadShadowMapDraw as c}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js";import{terrainDepthTest as v}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import{Water as p}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Water.glsl.js";import{WaterDistortion as w}from"../views/3d/webgl-engine/core/shaderLibrary/shading/WaterDistortion.glsl.js";import{ColorConversion as u}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{addProjViewLocalOrigin as h,addCameraPosition as f}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{FloatPassUniform as y}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as j}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{VertexAttribute as L}from"../views/3d/webgl-engine/lib/VertexAttribute.js";import{outputColorHighlightOID as C}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOID.glsl.js";import{ShaderBuilder as P}from"../views/webgl/ShaderBuilder.js";import{alphaCutoff as x}from"../webscene/support/AlphaCutoff.js";function O(O){const S=new P,{vertex:D,fragment:N,varyings:_}=S,{output:F,draped:M,receiveShadows:z}=O;h(D,O),S.include(a,O),S.attributes.add(L.POSITION,"vec3"),S.attributes.add(L.UV0,"vec2");const A=new b("waterColor",(e=>e.color));if(_.add("vpos","vec3",{invariant:!0}),D.uniforms.add(A),r(F)){if(M)return D.main.add(j`
6
6
  if (waterColor.a < ${j.float(x)}) {
7
7
  // Discard this vertex
8
8
  gl_Position = vec4(1e38, 1e38, 1e38, 1.0);
@@ -10,7 +10,7 @@ import{ForwardLinearDepth as e}from"../views/3d/webgl-engine/core/shaderLibrary/
10
10
  }
11
11
 
12
12
  vpos = position;
13
- gl_Position = transformPosition(proj, view, vpos);`),N.uniforms.add(z),N.main.add(j`fragColor = waterColor;`),S;switch(r(_)&&(S.include(g,O),S.include(e,O),S.varyings.add("vuv","vec2"),S.varyings.add("vpos","vec3"),S.varyings.add("vnormal","vec3"),S.varyings.add("vtbnMatrix","mat3"),D.uniforms.add(z),D.main.add(j`
13
+ gl_Position = transformPosition(proj, view, vpos);`),N.uniforms.add(A),N.main.add(j`fragColor = waterColor;`),S;S.include(g,O),S.include(e,O),_.add("vuv","vec2"),_.add("vnormal","vec3"),_.add("vtbnMatrix","mat3"),D.main.add(j`
14
14
  if (waterColor.a < ${j.float(x)}) {
15
15
  // Discard this vertex
16
16
  gl_Position = vec4(1e38, 1e38, 1e38, 1.0);
@@ -25,7 +25,7 @@ import{ForwardLinearDepth as e}from"../views/3d/webgl-engine/core/shaderLibrary/
25
25
  forwardViewPosDepth((view * vec4(vpos, 1.0)).xyz);
26
26
 
27
27
  gl_Position = transformPosition(proj, view, vpos);
28
- forwardLinearDepth();`)),S.include(c,O),O.output){case i.Color:case i.ColorEmission:S.include(t,{pbrMode:m.Disabled,lightingSphericalHarmonicsOrder:2}),S.include(w),S.include(v,O),S.include(p,O),S.fragment.include(o,O),S.include(C,O),N.include(u),h(N,O),l(N),d(N),N.uniforms.add(z,new y("timeElapsed",(({timeElapsed:e})=>e)),D.uniforms.get("view"),D.uniforms.get("localOrigin")).main.add(j`
28
+ forwardLinearDepth();`)}switch(S.include(v,O),O.output){case i.Color:case i.ColorEmission:S.include(s,{pbrMode:m.Disabled,lightingSphericalHarmonicsOrder:2}),S.include(w),S.include(c,O),S.include(p,O),N.include(o,O),S.include(C,O),N.include(u),f(N,O),l(N),d(N),N.uniforms.add(A,new y("timeElapsed",(({timeElapsed:e})=>e)),D.uniforms.get("view"),D.uniforms.get("localOrigin")).main.add(j`
29
29
  discardBySlice(vpos);
30
30
  discardByTerrainDepth();
31
31
  vec3 localUp = vnormal;
@@ -35,13 +35,13 @@ import{ForwardLinearDepth as e}from"../views/3d/webgl-engine/core/shaderLibrary/
35
35
  // we rotate the normal according to the tangent-bitangent-normal-Matrix
36
36
  vec3 n = normalize(vtbnMatrix * tangentNormalFoam.xyz);
37
37
  vec3 v = -normalize(vpos - cameraPosition);
38
- float shadow = ${M?j`1.0 - readShadowMap(vpos, linearDepth)`:"1.0"};
38
+ float shadow = ${z?j`1.0 - readShadowMap(vpos, linearDepth)`:"1.0"};
39
39
  vec4 vPosView = view * vec4(vpos, 1.0);
40
40
  vec4 final = vec4(getSeaColor(n, v, mainLightDirection, waterColor.rgb, mainLightIntensity, localUp, shadow, tangentNormalFoam.w, vPosView.xyz, vpos + localOrigin), waterColor.w);
41
41
 
42
42
  // gamma correction
43
43
  fragColor = delinearizeGamma(final);
44
- outputColorHighlightOID(fragColor, vpos);`);break;case i.Normal:S.include(g,O),S.include(w,O),S.fragment.include(o,O),S.varyings.add("vpos","vec3"),S.varyings.add("vuv","vec2"),D.uniforms.add(z),D.main.add(j`
44
+ outputColorHighlightOID(fragColor, vpos);`);break;case i.Normal:S.include(g,O),S.include(w,O),N.include(o,O),_.add("vuv","vec2"),D.main.add(j`
45
45
  if (waterColor.a < ${j.float(x)}) {
46
46
  // Discard this vertex
47
47
  gl_Position = vec4(1e38, 1e38, 1e38, 1.0);
@@ -54,7 +54,7 @@ import{ForwardLinearDepth as e}from"../views/3d/webgl-engine/core/shaderLibrary/
54
54
  gl_Position = transformPosition(proj, view, vpos);`),N.uniforms.add(new y("timeElapsed",(({timeElapsed:e})=>e))).main.add(j`discardBySlice(vpos);
55
55
  vec4 tangentNormalFoam = getSurfaceNormalAndFoam(vuv, timeElapsed);
56
56
  tangentNormalFoam.xyz = normalize(tangentNormalFoam.xyz);
57
- fragColor = vec4((tangentNormalFoam.xyz + vec3(1.0)) * 0.5, tangentNormalFoam.w);`);break;case i.Highlight:S.include(n,O),S.varyings.add("vpos","vec3"),D.uniforms.add(z),D.main.add(j`
57
+ fragColor = vec4((tangentNormalFoam.xyz + vec3(1.0)) * 0.5, tangentNormalFoam.w);`);break;case i.Highlight:S.include(n,O),D.main.add(j`
58
58
  if (waterColor.a < ${j.float(x)}) {
59
59
  // Discard this vertex
60
60
  gl_Position = vec4(1e38, 1e38, 1e38, 1.0);
@@ -62,8 +62,8 @@ fragColor = vec4((tangentNormalFoam.xyz + vec3(1.0)) * 0.5, tangentNormalFoam.w)
62
62
  }
63
63
 
64
64
  vpos = position;
65
- gl_Position = transformPosition(proj, view, vpos);`),S.fragment.include(o,O),N.main.add(j`discardBySlice(vpos);
66
- calculateOcclusionAndOutputHighlight();`);break;case i.ObjectAndLayerIdColor:S.include(s,O),S.varyings.add("vpos","vec3"),D.uniforms.add(z),D.main.add(j`
65
+ gl_Position = transformPosition(proj, view, vpos);`),N.include(o,O),N.main.add(j`discardBySlice(vpos);
66
+ calculateOcclusionAndOutputHighlight();`);break;case i.ObjectAndLayerIdColor:S.include(t,O),D.main.add(j`
67
67
  if (waterColor.a < ${j.float(x)}) {
68
68
  // Discard this vertex
69
69
  gl_Position = vec4(1e38, 1e38, 1e38, 1.0);
@@ -72,5 +72,5 @@ calculateOcclusionAndOutputHighlight();`);break;case i.ObjectAndLayerIdColor:S.i
72
72
 
73
73
  vpos = position;
74
74
  gl_Position = transformPosition(proj, view, vpos);
75
- forwardObjectAndLayerIdColor();`),S.fragment.include(o,O),N.main.add(j`discardBySlice(vpos);
75
+ forwardObjectAndLayerIdColor();`),N.include(o,O),N.main.add(j`discardBySlice(vpos);
76
76
  outputObjectAndLayerIdColor();`)}return S}const S=Object.freeze(Object.defineProperty({__proto__:null,build:O},Symbol.toStringTag,{value:"Module"}));export{S as W,O as b};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../chunks/tslib.es6.js";import{neverReached as o}from"../../core/compilerUtils.js";import r from"../../core/Error.js";import t from"../../core/Loadable.js";import i from"../../core/Promise.js";import{property as s}from"../../core/accessorSupport/decorators/property.js";import"../../core/Logger.js";import"../../core/RandomLCG.js";import{reader as a}from"../../core/accessorSupport/decorators/reader.js";import{subclass as p}from"../../core/accessorSupport/decorators/subclass.js";import m from"./SharedTemplateMetadata.js";import{SharedTemplateRequiredPropsNotSetError as n}from"./support/sharedTemplateErrors.js";import{FeatureTemplateDefinition as d}from"./templateDefinitions/FeatureTemplateDefinition.js";import{GroupTemplateDefinition as f}from"./templateDefinitions/GroupTemplateDefinition.js";import{PresetTemplateDefinition as l}from"./templateDefinitions/PresetTemplateDefinition.js";const c=e=>u.fromJSON(e);let u=class extends(t.LoadableMixin(i.EsriPromiseMixin(m))){constructor(e){super(e),this.definition=null,this.type="feature",this.view=null}readDefinition(e,t){switch(t.type){case"feature":return d.fromJSON(e);case"group":return f.fromJSON(e);case"preset":return l.fromJSON(e);default:throw o(t.type),new r("shared-template:no-definition","No value for 'definition' provided to 'SharedTemplate' constructor")}}load(e){return this.addResolvingPromise(this._load(e)),Promise.resolve(this)}async _load(e){const{definition:o,featureService:r,view:t}=this;if(!o||!r||!t)throw new n;o.featureService=r,o.makeSharedTemplateFromJSON=c,o.view=t,await(this.definition?.load(e))}};e([s()],u.prototype,"definition",void 0),e([a("definition")],u.prototype,"readDefinition",null),e([s()],u.prototype,"layer",void 0),e([s()],u.prototype,"type",void 0),e([s()],u.prototype,"view",void 0),u=e([p("esri.editing.sharedTemplates.SharedTemplate")],u);const h=u;export{h as default};
5
+ import{_ as e}from"../../chunks/tslib.es6.js";import{neverReached as o}from"../../core/compilerUtils.js";import t from"../../core/Error.js";import r from"../../core/Loadable.js";import i from"../../core/Promise.js";import{property as s}from"../../core/accessorSupport/decorators/property.js";import"../../core/Logger.js";import"../../core/RandomLCG.js";import{reader as a}from"../../core/accessorSupport/decorators/reader.js";import{subclass as p}from"../../core/accessorSupport/decorators/subclass.js";import n from"./SharedTemplateMetadata.js";import{SharedTemplateRequiredPropsNotSetError as m}from"./support/sharedTemplateErrors.js";import{FeatureTemplateDefinition as l}from"./templateDefinitions/FeatureTemplateDefinition.js";import{GroupTemplateDefinition as f}from"./templateDefinitions/GroupTemplateDefinition.js";import{PresetTemplateDefinition as d}from"./templateDefinitions/PresetTemplateDefinition.js";import{isFeatureTemplateDefinition as c}from"./templateDefinitions/templateDefinitionUtils.js";const u=e=>h.fromJSON(e);let h=class extends(r.LoadableMixin(i.EsriPromiseMixin(n))){constructor(e){super(e),this.definition=null,this.layer=null,this.type="feature",this.view=null}readDefinition(e,r){switch(r.type){case"feature":return l.fromJSON(e);case"group":return f.fromJSON(e);case"preset":return d.fromJSON(e);default:throw o(r.type),new t("shared-template:no-definition","No value for 'definition' provided to 'SharedTemplate' constructor")}}load(e){return this.addResolvingPromise(this._load(e)),Promise.resolve(this)}async _load(e){const{definition:o,featureService:t,layer:r,view:i}=this;if(!(o&&t&&r&&i))throw new m;o.featureService=t,o.makeSharedTemplateFromJSON=u,o.view=i,await(this.definition?.load(e)),c(o)&&o.initializeRelationshipMetadata(r)}};e([s()],h.prototype,"definition",void 0),e([a("definition")],h.prototype,"readDefinition",null),e([s()],h.prototype,"layer",void 0),e([s()],h.prototype,"type",void 0),e([s()],h.prototype,"view",void 0),h=e([p("esri.editing.sharedTemplates.SharedTemplate")],h);const j=h;export{j as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{_ as t}from"../../chunks/tslib.es6.js";import o from"../../core/JSONSupport.js";import{property as e}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import"../../core/Logger.js";import"../../core/RandomLCG.js";import{reader as r}from"../../core/accessorSupport/decorators/reader.js";import{subclass as s}from"../../core/accessorSupport/decorators/subclass.js";import{namedEditingToolGUIDDict as p}from"./support/toolNames.js";let a=class extends o{constructor(){super(...arguments),this.type="feature",this.templateId=null,this.defaultTool=null,this.description=null,this.globalId="",this.hash="",this.layerIds=[],this.name="",this.subtypeCode=null,this.status=null,this.userIdentity=null,this.tags=[],this.visible=!0}readDefaultTool(t){return null==t?null:p.fromJSON(t.toLowerCase())}readLayerIds(t,o){return null!=o.layerIds?o.layerIds.split(",").map((t=>parseInt(t.trim(),10))):null!=o.layerId?[o.layerId]:[]}readTags(t,o){const e=o.tag;return null==e?[]:e.split(";").map((t=>t.trim()))}};t([e()],a.prototype,"type",void 0),t([e({json:{read:!1,write:!1}})],a.prototype,"featureService",void 0),t([e()],a.prototype,"thumbnail",void 0),t([e()],a.prototype,"templateId",void 0),t([e()],a.prototype,"defaultTool",void 0),t([r("defaultTool",["defaultTool"])],a.prototype,"readDefaultTool",null),t([e()],a.prototype,"description",void 0),t([e()],a.prototype,"globalId",void 0),t([e()],a.prototype,"hash",void 0),t([e()],a.prototype,"layerIds",void 0),t([r("layerIds",["layerIds","layerId"])],a.prototype,"readLayerIds",null),t([e()],a.prototype,"name",void 0),t([e({json:{name:"subtype"}})],a.prototype,"subtypeCode",void 0),t([e()],a.prototype,"status",void 0),t([e()],a.prototype,"userIdentity",void 0),t([e()],a.prototype,"tags",void 0),t([r("tags",["tag"])],a.prototype,"readTags",null),t([e()],a.prototype,"visible",void 0),a=t([s("esri.editing.sharedTemplates.SharedTemplateMetadata")],a);const l=a;export{l as default};
5
+ import{_ as t}from"../../chunks/tslib.es6.js";import o from"../../core/JSONSupport.js";import{property as e}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import"../../core/Logger.js";import"../../core/RandomLCG.js";import{reader as r}from"../../core/accessorSupport/decorators/reader.js";import{subclass as s}from"../../core/accessorSupport/decorators/subclass.js";import{namedEditingToolGUIDDict as p}from"./support/toolNames.js";let a=class extends o{constructor(t){super(t),this.type="feature",this.templateId=null,this.defaultTool=null,this.description=null,this.globalId="",this.hash="",this.layerIds=[],this.name="",this.subtypeCode=null,this.status=null,this.userIdentity=null,this.tags=[],this.visible=!0}readDefaultTool(t){return null==t?null:p.fromJSON(t.toLowerCase())}readLayerIds(t,o){return null!=o.layerIds?o.layerIds.split(",").map((t=>parseInt(t.trim(),10))):null!=o.layerId?[o.layerId]:[]}readTags(t,o){const e=o.tag;return null==e?[]:e.split(";").map((t=>t.trim()))}};t([e()],a.prototype,"type",void 0),t([e({json:{read:!1,write:!1}})],a.prototype,"featureService",void 0),t([e()],a.prototype,"thumbnail",void 0),t([e()],a.prototype,"templateId",void 0),t([e()],a.prototype,"defaultTool",void 0),t([r("defaultTool",["defaultTool"])],a.prototype,"readDefaultTool",null),t([e()],a.prototype,"description",void 0),t([e()],a.prototype,"globalId",void 0),t([e()],a.prototype,"hash",void 0),t([e()],a.prototype,"layerIds",void 0),t([r("layerIds",["layerIds","layerId"])],a.prototype,"readLayerIds",null),t([e()],a.prototype,"name",void 0),t([e({json:{name:"subtype"}})],a.prototype,"subtypeCode",void 0),t([e()],a.prototype,"status",void 0),t([e()],a.prototype,"userIdentity",void 0),t([e()],a.prototype,"tags",void 0),t([r("tags",["tag"])],a.prototype,"readTags",null),t([e()],a.prototype,"visible",void 0),a=t([s("esri.editing.sharedTemplates.SharedTemplateMetadata")],a);const l=a;export{l as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../chunks/tslib.es6.js";import t from"../../request.js";import r from"../../core/Accessor.js";import{makeHandle as o}from"../../core/handleUtils.js";import{getOrCreateMapValue as s}from"../../core/MapUtils.js";import{abortMaybe as a}from"../../core/maybe.js";import{onAbort as i,throwIfAborted as n,createAbortError as l,throwIfAbortError as c,createResolver as p}from"../../core/promiseUtils.js";import{watch as m}from"../../core/reactiveUtils.js";import{property as d}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import"../../core/Logger.js";import"../../core/RandomLCG.js";import{subclass as f}from"../../core/accessorSupport/decorators/subclass.js";import{isSharedPresetTemplate as u,isSharedFeatureTemplate as h}from"../templateUtils.js";import{SharedTemplateMissingTemplatesError as y,SharedTemplateLayerResolverError as v,SharedTemplateRequestError as w,SharedTemplateLayerUnavailableError as S}from"./support/sharedTemplateErrors.js";import{isFeatureLayer as g,isSubtypeGroupLayer as b}from"../../layers/support/layerUtils.js";const _=new Map;function j(e,t){return s(_,e,(()=>{const r=new R({layerResolver:t?.layerResolver??U(e),makeSharedTemplateFromJSON:t.makeSharedTemplateFromJSON,view:e});return e.addHandles(o((()=>{_.delete(e),r.destroy()}))),r}))}let R=class extends r{constructor(e){super(e),this._abortController=null,this._cache=new Map,this._pending=new Map,this.layerResolver=null,this.makeSharedTemplateFromJSON=null,this.view=null}initialize(){this.addHandles(m((()=>this.view.spatialReference),(()=>this._reset())))}destroy(){this._abortController=a(this._abortController)}async getTemplates({templateIds:e,featureService:t,signal:r}){const o=this._cache,s=this._pending,a=[],l=new Set,c=new Set,p=Symbol();for(const i of new Set(e)){const e=k(t,i);if(o.has(e))a.push(o.get(e));else if(s.has(e)){const t=s.get(e);t.subscribers.add(p),c.add(t)}else l.add(i),s.set(e,C())}if(a.length===e.length)return a;const m=()=>{for(const{subscribers:e}of c)e.delete(p)},d=i(r,m);try{const e=await this._loadTemplates({templateIds:Array.from(l),featureService:t,signal:r}),o=await Promise.all(Array.from(c).map((({resolver:e})=>e.promise)));a.push(...e),a.push(...o)}catch(f){m();for(const e of l){const r=k(t,e),o=s.get(r);o?.resolver.reject(f),s.delete(r)}throw f}finally{d?.remove()}return n(r),a}async _loadTemplates({templateIds:e,featureService:t,signal:r}){if(0===e.length)return[];const o=this._cache,s=this._pending,a=this._abortController=new AbortController,n=i(r,(()=>{for(const r of e){if(I(s.get(k(t,r))))return}a.abort()})),c=await T({featureService:t,templateIds:e,signal:a.signal,spatialReference:this.view.spatialReference});if(c.length<e.length)throw new y(e,c);const p=await Promise.all(c.map((e=>this._makeTemplate({json:e,featureService:t}))));for(const i of p){const e=k(t,i.templateId),a=s.get(e);!r?.aborted||I(a)?(o.set(e,i),a?.resolver.resolve(i)):a?.resolver.reject(l()),s.delete(e)}return n?.remove(),p}async _makeTemplate({json:e,featureService:t}){const{view:r}=this,o=this.makeSharedTemplateFromJSON(e);o.featureService=t,o.view=r;const{layerIds:s,subtypeCode:a}=o;try{o.layer=await this.layerResolver({featureService:t,layerIds:s,subtypeCode:a})}catch(i){throw new v(o.templateId,i)}if(u(o)&&o.definition){o.definition.spatialReference=r.spatialReference;for(const e of o.definition.allParts)e.geometry&&(e.geometry.spatialReference=r.spatialReference)}if(h(o)&&o.definition?.defaultValues){const e=o.definition.defaultValues,t={},{fieldsIndex:r}=o.layer;for(const s in o.definition.defaultValues)t[r.get(s)?.name??s]=e[s];o.definition.defaultValues=t}return o}_reset(){this._abortController?.abort(),this._cache.clear(),this._pending.clear()}};async function T({templateIds:e,featureService:r,spatialReference:o,signal:s}){const a=`${r.url}/sharedTemplates/templates`,i=await t(a,{query:{f:"json",outSR:o,ids:e.join(",")},signal:s}).catch((t=>{throw c(t),new w(e,t)}));return i.data?.templates??[]}function I(e){return null!=e&&e.subscribers.size>0}function C(){return{resolver:p(),subscribers:new Set}}function k(e,t){return`${e.url}/${t}`}function O(e){return g(e)||b(e)}function U(e){return async({featureService:t,layerIds:r})=>{const o=new Set(r),s=e.map.allLayers.find((e=>e.url===t.url&&O(e)&&o.has(e.layerId)));if(null==s)throw new S(r);return s}}e([d()],R.prototype,"_abortController",void 0),e([d()],R.prototype,"_cache",void 0),e([d()],R.prototype,"_pending",void 0),e([d({constructOnly:!0})],R.prototype,"layerResolver",void 0),e([d({constructOnly:!0})],R.prototype,"makeSharedTemplateFromJSON",void 0),e([d({constructOnly:!0})],R.prototype,"view",void 0),R=e([f("esri.editing.sharedTemplates.SharedTemplateProvider")],R);export{R as SharedTemplateProvider,j as getSharedTemplateProvider};
5
+ import{_ as e}from"../../chunks/tslib.es6.js";import t from"../../request.js";import r from"../../core/Accessor.js";import{makeHandle as o}from"../../core/handleUtils.js";import{getOrCreateMapValue as s}from"../../core/MapUtils.js";import{abortMaybe as a}from"../../core/maybe.js";import{onAbort as i,throwIfAborted as n,createAbortError as l,throwIfAbortError as c,createResolver as p}from"../../core/promiseUtils.js";import{watch as m}from"../../core/reactiveUtils.js";import{property as d}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import"../../core/Logger.js";import"../../core/RandomLCG.js";import{subclass as f}from"../../core/accessorSupport/decorators/subclass.js";import{isSharedPresetTemplate as u,isSharedFeatureTemplate as h}from"../templateUtils.js";import{SharedTemplateMissingTemplatesError as y,SharedTemplateLayerResolverError as v,SharedTemplateRequestError as w,SharedTemplateLayerUnavailableError as S}from"./support/sharedTemplateErrors.js";import{isFeatureLayer as g,isSubtypeGroupLayer as b}from"../../layers/support/layerUtils.js";const _=new Map;function j(e,t){return s(_,e,(()=>{const r=new R({layerResolver:t?.layerResolver??U(e),makeSharedTemplateFromJSON:t.makeSharedTemplateFromJSON,view:e});return e.addHandles(o((()=>{_.delete(e),r.destroy()}))),r}))}let R=class extends r{constructor(e){super(e),this._abortController=null,this._cache=new Map,this._pending=new Map,this.layerResolver=null,this.makeSharedTemplateFromJSON=null,this.view=null}initialize(){this.addHandles(m((()=>this.view.spatialReference),(()=>this._reset())))}destroy(){this._abortController=a(this._abortController)}async getTemplates({templateIds:e,featureService:t,signal:r}){const o=this._cache,s=this._pending,a=[],l=new Set,c=new Set,p=Symbol();for(const i of new Set(e)){const e=k(t,i);if(o.has(e))a.push(o.get(e));else if(s.has(e)){const t=s.get(e);t.subscribers.add(p),c.add(t)}else l.add(i),s.set(e,C())}if(a.length===e.length)return a;const m=()=>{for(const{subscribers:e}of c)e.delete(p)},d=i(r,m);try{const e=await this._loadTemplates({templateIds:Array.from(l),featureService:t,signal:r}),o=await Promise.all(Array.from(c).map((({resolver:e})=>e.promise)));a.push(...e),a.push(...o)}catch(f){m();for(const e of l){const r=k(t,e),o=s.get(r);o?.resolver.reject(f),s.delete(r)}throw f}finally{d?.remove()}return n(r),a}async _loadTemplates({templateIds:e,featureService:t,signal:r}){if(0===e.length)return[];const o=this._cache,s=this._pending,a=this._abortController=new AbortController,n=i(r,(()=>{for(const r of e){if(I(s.get(k(t,r))))return}a.abort()})),c=await T({featureService:t,templateIds:e,signal:a.signal,spatialReference:this.view.spatialReference});if(c.length<e.length)throw new y(e,c);const p=await Promise.all(c.map((e=>this._makeTemplate({json:e,featureService:t}))));for(const i of p){const e=k(t,i.templateId),a=s.get(e);!r?.aborted||I(a)?(o.set(e,i),a?.resolver.resolve(i)):a?.resolver.reject(l()),s.delete(e)}return n?.remove(),p}async _makeTemplate({json:e,featureService:t}){const{view:r}=this,o=this.makeSharedTemplateFromJSON(e);o.featureService=t,o.view=r;const{layerIds:s,subtypeCode:a}=o;try{o.layer=await this.layerResolver({featureService:t,layerIds:s,subtypeCode:a})}catch(i){throw new v(o.templateId,i)}if(u(o)&&o.definition){o.definition.spatialReference=r.spatialReference;for(const e of o.definition.allParts)e.geometry&&(e.geometry.spatialReference=r.spatialReference)}if(h(o)&&o.definition?.defaultValues){const e=o.definition.defaultValues,t={},{fieldsIndex:r}=o.layer;for(const s in o.definition.defaultValues)t[r.get(s)?.name??s]=e[s];o.definition.defaultValues=t}return o}_reset(){this._abortController?.abort(),this._cache.clear(),this._pending.clear()}};async function T({templateIds:e,featureService:r,spatialReference:o,signal:s}){const a=`${r.url}/sharedTemplates/templates`,i=await t(a,{query:{f:"json",outSR:o,ids:e.join(",")},signal:s}).catch((t=>{throw c(t),new w(e,t)}));return i.data?.templates??[]}function I(e){return null!=e&&e.subscribers.size>0}function C(){return{resolver:p(),subscribers:new Set}}function k(e,t){return`${e.url}/${t}`}function O(e){return g(e)||b(e)}function U(e){return async({featureService:t,layerIds:r})=>{const o=new Set(r),{allLayers:s,allTables:a}=e.map,i=s.concat(a).find((e=>e.url===t.url&&O(e)&&o.has(e.layerId)));if(null==i)throw new S(r);return i}}e([d()],R.prototype,"_abortController",void 0),e([d()],R.prototype,"_cache",void 0),e([d()],R.prototype,"_pending",void 0),e([d({constructOnly:!0})],R.prototype,"layerResolver",void 0),e([d({constructOnly:!0})],R.prototype,"makeSharedTemplateFromJSON",void 0),e([d({constructOnly:!0})],R.prototype,"view",void 0),R=e([f("esri.editing.sharedTemplates.SharedTemplateProvider")],R);export{R as SharedTemplateProvider,j as getSharedTemplateProvider};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import e from"../../../../Graphic.js";import t from"../../../../core/Error.js";import{generateUUID as s}from"../../../../core/uuid.js";import{isLoadedSharedTemplate as a,isSharedFeatureTemplate as i,isSharedPresetTemplate as r}from"../../../templateUtils.js";import{isRadial as o,maxDigitizingDisplayEdits as n}from"./executorUtils.js";import l from"../../../../geometry/Multipoint.js";import h from"../../../../geometry/Point.js";import p from"../../../../geometry/Polygon.js";import f from"../../../../geometry/Polyline.js";import{execute as u}from"../../../../geometry/operators/affineTransformOperator.js";import c from"../../../../geometry/operators/support/Transformation.js";import{isSubtypeGroupLayer as m}from"../../../../layers/support/layerUtils.js";function g({edits:s,geometry:a,relationships:i,tag:r="",template:n}){if(o(a)){const e=a.geometry.clone();for(const t of e.paths){g({geometry:new f({spatialReference:e.spatialReference,paths:[t],hasZ:e.hasZ,hasM:e.hasM}),template:n,edits:s,relationships:i,tag:r})}return}const{definition:l,layer:h}=n;a=y(a,h);const p=new e({attributes:l.defaultValues?{...l.defaultValues}:{},geometry:a,sourceLayer:h});if(x(p,h),h.globalIdField&&(p.attributes[h.globalIdField]=R()),s.push({id:h.layerId,graphic:p,tag:r,layer:h}),0!==l.relationships.length)for(const o of l.relationships||[]){if(null==o.relationshipMetadata||null==o.template?.definition)throw new t("shared-template:missing-relationship-metadata-or-definition","Relationship part must have metadata and a fully loaded template with definition");const{definition:a,layer:r}=o.template,n=new e({attributes:a.defaultValues?{...a.defaultValues}:{},sourceLayer:r});x(n,r),r.globalIdField&&(n.attributes[r.globalIdField]=R()),s.push({graphic:n,id:r.layerId,tag:"",layer:r}),i.push({...o.relationshipMetadata,sourceGraphic:p,destinationGraphic:n})}}function d({edits:e,geometry:s,mode:o,relationships:l,rotation:h,tag:p="",template:f}){const{definition:m}=f,y=s.x-m.origin.x,Z=s.y-m.origin.y,M=m.origin.hasZ&&s.hasZ?s.z-m.origin.z:0,R=j(m.origin.clone(),y,Z,M),w=(new c).rotate(h,R.x,R.y);for(const c of m.parts){if(e.length>n&&"digitizing"===o)break;const h=c.template;if(!a(h))throw new t("shared-template:template-not-loaded","A template part's template must be loaded before use");if(i(h)){let t=j(c.geometry,y,Z,M);w.isIdentity||(t=u(t,w)),g({edits:e,geometry:t,relationships:l,tag:p,template:h})}else if(r(h)){const t=[];if(d({edits:w.isIdentity?t:e,geometry:s,mode:o,relationships:l,rotation:0,tag:p,template:h}),!w.isIdentity)for(const s of t){const{geometry:t}=s.graphic;t&&"mesh"!==t.type&&(s.graphic.geometry=u(t,w),e.push(s))}}}return R}function y(e,t){if(!e)return null;if(e.hasZ===t.hasZ&&e.hasM===t.hasM)return e;switch(e.type){case"point":return new h({spatialReference:e.spatialReference,x:e.x,y:e.y,...t.hasZ?e.hasZ?{z:e.z}:{z:w(t)}:{},...t.hasM?e.hasM?{m:e.m}:{m:b(t)??void 0}:{}});case"polygon":return new p({spatialReference:e.spatialReference,rings:Z(e.rings,t.hasZ,t.hasM,w(t),b(t),e.hasM?e.hasZ?3:2:-1,e.hasZ?2:-1),hasZ:t.hasZ,hasM:t.hasM});case"polyline":return new f({spatialReference:e.spatialReference,paths:Z(e.paths,t.hasZ,t.hasM,w(t),b(t),e.hasM?e.hasZ?3:2:-1,e.hasZ?2:-1),hasZ:t.hasZ,hasM:t.hasM});case"multipoint":return new l({spatialReference:e.spatialReference,hasZ:t.hasZ,hasM:t.hasM,points:M(e.points,t.hasZ,t.hasM,w(t),b(t),e.hasM?e.hasZ?3:2:-1,e.hasZ?2:-1)});default:return e}}function Z(e,t,s,a,i,r,o){const n=[];for(const l of e)n.push(M(l,t,s,a,i,r,o));return n}function M(e,t,s,a,i,r,o){const n=[];for(const l of e){const e=[l[0],l[1]];t&&(e[2]=o>-1?l[2]:a),s&&(e[t?3:2]=r>-1?l[r]:i),n.push(e)}return n}function R(){return`{${s()}}`.toUpperCase()}function w(e){return e.capabilities.editing?.zDefault??0}function b(e){return e.capabilities.editing.supportsUpdateWithoutM?void 0:0}function j(e,t,s,a=0){if(!e)return null;if("point"===e.type)return new h({spatialReference:e.spatialReference,x:e.x+t,y:e.y+s,...e.hasZ?{z:e.z+a}:{},...e.hasM?{m:e.m}:{}});if("multipoint"===e.type){const i=[];if(e.hasZ&&e.hasM)for(let r=0;r<e.points.length;r++){const o=e.points[r];i.push([o[0]+t,o[1]+s,o[2]+a,o[3]])}else if(e.hasZ)for(let r=0;r<e.points.length;r++){const o=e.points[r];i.push([o[0]+t,o[1]+s,o[2]+a])}else if(e.hasM)for(let a=0;a<e.points.length;a++){const r=e.points[a];i.push([r[0]+t,r[1]+s,r[2]])}else for(let a=0;a<e.points.length;a++){const r=e.points[a];i.push([r[0]+t,r[1]+s])}return new l({spatialReference:e.spatialReference,hasZ:e.hasZ,hasM:e.hasM,points:i})}if("polygon"===e.type){const i=new p({spatialReference:e.spatialReference,hasZ:e.hasZ,hasM:e.hasM});for(let r=0;r<e.rings.length;r++){const o=e.rings[r],n=[];if(e.hasZ&&e.hasM)for(let e=0;e<o.length;e++)n.push([o[e][0]+t,o[e][1]+s,o[e][2]+a,o[e][3]]);else if(e.hasM)for(let e=0;e<o.length;e++)n.push([o[e][0]+t,o[e][1]+s,o[e][2]]);else if(e.hasZ)for(let e=0;e<o.length;e++)n.push([o[e][0]+t,o[e][1]+s,o[e][2]+a]);else for(let e=0;e<o.length;e++)n.push([o[e][0]+t,o[e][1]+s]);i.addRing(n)}return i}if("polyline"===e.type){const i=new f({spatialReference:e.spatialReference,hasZ:e.hasZ,hasM:e.hasM});for(let r=0;r<e.paths.length;r++){const o=e.paths[r],n=[];if(e.hasZ&&e.hasM)for(let e=0;e<o.length;e++)n.push([o[e][0]+t,o[e][1]+s,o[e][2]+a,o[e][3]]);else if(e.hasZ)for(let e=0;e<o.length;e++)n.push([o[e][0]+t,o[e][1]+s,o[e][2]+a]);else if(e.hasM)for(let e=0;e<o.length;e++)n.push([o[e][0]+t,o[e][1]+s,o[e][2]]);else for(let e=0;e<o.length;e++)n.push([o[e][0]+t,o[e][1]+s]);i.addPath(n)}return i}return e.clone()}function x(e,t){m(t)&&(e.sourceLayer=t.findSublayerForFeature(e))}export{g as createFeatureServiceEdit,d as createPresetServiceEdit,R as generateGlobalId,j as translate};
5
+ import e from"../../../../Graphic.js";import t from"../../../../core/Error.js";import{generateUUID as s}from"../../../../core/uuid.js";import{isLoadedSharedTemplate as a,isSharedFeatureTemplate as r,isSharedPresetTemplate as o}from"../../../templateUtils.js";import{isRadial as i,maxDigitizingDisplayEdits as n}from"./executorUtils.js";import l from"../../../../geometry/Multipoint.js";import h from"../../../../geometry/Point.js";import p from"../../../../geometry/Polygon.js";import f from"../../../../geometry/Polyline.js";import{execute as u}from"../../../../geometry/operators/affineTransformOperator.js";import c from"../../../../geometry/operators/support/Transformation.js";import{isSubtypeGroupLayer as m}from"../../../../layers/support/layerUtils.js";function g({edits:s,geometry:r,relationships:o,tag:n="",template:l}){if(i(r)){const e=r.geometry.clone();for(const t of e.paths){g({geometry:new f({spatialReference:e.spatialReference,paths:[t],hasZ:e.hasZ,hasM:e.hasM}),template:l,edits:s,relationships:o,tag:n})}return}const{definition:h,layer:p}=l;r=y(r,p);const u=new e({attributes:h.defaultValues?{...h.defaultValues}:{},geometry:r,sourceLayer:p});if(x(u,p),p.globalIdField&&(u.attributes[p.globalIdField]=R()),s.push({id:p.layerId,graphic:u,tag:n,layer:p}),0!==h.relationships.length)for(const i of h.relationships||[]){const r=i.template;if(null==i.relationshipMetadata||!a(r))throw new t("shared-template:missing-relationship-metadata-or-definition","Relationship part must have metadata and a fully loaded template with definition");const{layer:n}=r,l=new e({attributes:{...h.defaultValues},sourceLayer:n});x(l,n),n.globalIdField&&(l.attributes[n.globalIdField]=R()),s.push({graphic:l,id:n.layerId,tag:"",layer:n}),o.push({...i.relationshipMetadata,sourceGraphic:u,destinationGraphic:l})}}function d({edits:e,geometry:s,mode:i,relationships:l,rotation:h,tag:p="",template:f}){const{definition:m}=f,y=s.x-m.origin.x,Z=s.y-m.origin.y,M=m.origin.hasZ&&s.hasZ?s.z-m.origin.z:0,R=j(m.origin.clone(),y,Z,M),w=(new c).rotate(h,R.x,R.y);for(const c of m.parts){if(e.length>n&&"digitizing"===i)break;const h=c.template;if(!a(h))throw new t("shared-template:template-not-loaded","A template part's template must be loaded before use");if(r(h)){let t=j(c.geometry,y,Z,M);w.isIdentity||(t=u(t,w)),g({edits:e,geometry:t,relationships:l,tag:p,template:h})}else if(o(h)){const t=[];if(d({edits:w.isIdentity?t:e,geometry:s,mode:i,relationships:l,rotation:0,tag:p,template:h}),!w.isIdentity)for(const s of t){const{geometry:t}=s.graphic;t&&"mesh"!==t.type&&(s.graphic.geometry=u(t,w),e.push(s))}}}return R}function y(e,t){if(!e)return null;if(e.hasZ===t.hasZ&&e.hasM===t.hasM)return e;switch(e.type){case"point":return new h({spatialReference:e.spatialReference,x:e.x,y:e.y,...t.hasZ?e.hasZ?{z:e.z}:{z:w(t)}:{},...t.hasM?e.hasM?{m:e.m}:{m:b(t)??void 0}:{}});case"polygon":return new p({spatialReference:e.spatialReference,rings:Z(e.rings,t.hasZ,t.hasM,w(t),b(t),e.hasM?e.hasZ?3:2:-1,e.hasZ?2:-1),hasZ:t.hasZ,hasM:t.hasM});case"polyline":return new f({spatialReference:e.spatialReference,paths:Z(e.paths,t.hasZ,t.hasM,w(t),b(t),e.hasM?e.hasZ?3:2:-1,e.hasZ?2:-1),hasZ:t.hasZ,hasM:t.hasM});case"multipoint":return new l({spatialReference:e.spatialReference,hasZ:t.hasZ,hasM:t.hasM,points:M(e.points,t.hasZ,t.hasM,w(t),b(t),e.hasM?e.hasZ?3:2:-1,e.hasZ?2:-1)});default:return e}}function Z(e,t,s,a,r,o,i){const n=[];for(const l of e)n.push(M(l,t,s,a,r,o,i));return n}function M(e,t,s,a,r,o,i){const n=[];for(const l of e){const e=[l[0],l[1]];t&&(e[2]=i>-1?l[2]:a),s&&(e[t?3:2]=o>-1?l[o]:r),n.push(e)}return n}function R(){return`{${s()}}`.toUpperCase()}function w(e){return e.capabilities.editing?.zDefault??0}function b(e){return e.capabilities.editing.supportsUpdateWithoutM?void 0:0}function j(e,t,s,a=0){if(!e)return null;if("point"===e.type)return new h({spatialReference:e.spatialReference,x:e.x+t,y:e.y+s,...e.hasZ?{z:e.z+a}:{},...e.hasM?{m:e.m}:{}});if("multipoint"===e.type){const r=[];if(e.hasZ&&e.hasM)for(let o=0;o<e.points.length;o++){const i=e.points[o];r.push([i[0]+t,i[1]+s,i[2]+a,i[3]])}else if(e.hasZ)for(let o=0;o<e.points.length;o++){const i=e.points[o];r.push([i[0]+t,i[1]+s,i[2]+a])}else if(e.hasM)for(let a=0;a<e.points.length;a++){const o=e.points[a];r.push([o[0]+t,o[1]+s,o[2]])}else for(let a=0;a<e.points.length;a++){const o=e.points[a];r.push([o[0]+t,o[1]+s])}return new l({spatialReference:e.spatialReference,hasZ:e.hasZ,hasM:e.hasM,points:r})}if("polygon"===e.type){const r=new p({spatialReference:e.spatialReference,hasZ:e.hasZ,hasM:e.hasM});for(let o=0;o<e.rings.length;o++){const i=e.rings[o],n=[];if(e.hasZ&&e.hasM)for(let e=0;e<i.length;e++)n.push([i[e][0]+t,i[e][1]+s,i[e][2]+a,i[e][3]]);else if(e.hasM)for(let e=0;e<i.length;e++)n.push([i[e][0]+t,i[e][1]+s,i[e][2]]);else if(e.hasZ)for(let e=0;e<i.length;e++)n.push([i[e][0]+t,i[e][1]+s,i[e][2]+a]);else for(let e=0;e<i.length;e++)n.push([i[e][0]+t,i[e][1]+s]);r.addRing(n)}return r}if("polyline"===e.type){const r=new f({spatialReference:e.spatialReference,hasZ:e.hasZ,hasM:e.hasM});for(let o=0;o<e.paths.length;o++){const i=e.paths[o],n=[];if(e.hasZ&&e.hasM)for(let e=0;e<i.length;e++)n.push([i[e][0]+t,i[e][1]+s,i[e][2]+a,i[e][3]]);else if(e.hasZ)for(let e=0;e<i.length;e++)n.push([i[e][0]+t,i[e][1]+s,i[e][2]+a]);else if(e.hasM)for(let e=0;e<i.length;e++)n.push([i[e][0]+t,i[e][1]+s,i[e][2]]);else for(let e=0;e<i.length;e++)n.push([i[e][0]+t,i[e][1]+s]);r.addPath(n)}return r}return e.clone()}function x(e,t){m(t)&&(e.sourceLayer=t.findSublayerForFeature(e))}export{g as createFeatureServiceEdit,d as createPresetServiceEdit,R as generateGlobalId,j as translate};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import e from"../../../core/Error.js";import{difference as t}from"../../../core/SetUtils.js";class r extends e{constructor(e,t){super("shared-template-query-failed",`Request to fetch templates failed. templateIds: ${e.join(",")}`,{error:t}),this.templateIds=e}}class s extends e{constructor(e,r){const s=new Set(r.map((e=>e.templateId))),a=t(new Set(e),s);super("shared-template-some-templates-missing",`The service failed to return templates for the following 'templateId's: ${Array.from(a).join(",")}`)}}class a extends e{constructor(){super("shared-template-required-properties-not-set","Values must be specified for the `definition`, `featureService`, and `view` properties of a `SharedTemplate` in order to load it")}}class o extends e{constructor(){super("shared-template-definition-required-properties-not-set","The `featureService`, `makeSharedTemplateFromJSON`, and `view` properties must all be set in order to load a template definition")}}class l extends e{constructor(e){super("shared-template-unsupported-builder",`This template uses an unsupported builder type, '${e}'`),this.builderType=e}}class i extends e{constructor(e,t){super("shared-template-layer-resolver-error",`The 'layerResolver' function failed to provide any layers for template with 'templateId: ${e}'`,{error:t}),this.templateId=e}}class d extends e{constructor(e){super("shared-template-layer-unavailable",`None of the layers with which the template is associated are present in the view. Layer IDs: [${e.join(",")}]`),this.layerIds=e}}class p extends e{constructor(e){super("shared-template-utility-network-unavailable","Template '${templateId}' requires a utility network that is not loaded or could not be found"),this.templateId=e}}class n extends e{constructor(e){super("shared-template-no-drawing-tools-allowed",`No drawing tools available for template '${e}. All supported drawing tools are listed in the template's 'excludedTools' list.`),this.templateId=e}}export{o as SharedTemplateDefinitionRequiredPropsNotSetError,i as SharedTemplateLayerResolverError,d as SharedTemplateLayerUnavailableError,s as SharedTemplateMissingTemplatesError,r as SharedTemplateRequestError,a as SharedTemplateRequiredPropsNotSetError,l as SharedTemplateUnsupportedBuilderError,n as SharedTemplateUnsupportedDrawingTool,p as SharedTemplateUtilityNetworkUnavailableError};
5
+ import e from"../../../core/Error.js";import{difference as t}from"../../../core/SetUtils.js";class r extends e{constructor(e,t){super("shared-template-query-failed",`Request to fetch templates failed. templateIds: ${e.join(",")}`,{error:t}),this.templateIds=e}}class s extends e{constructor(e,r){const s=new Set(r.map((e=>e.templateId))),a=t(new Set(e),s);super("shared-template-some-templates-missing",`The service failed to return templates for the following 'templateId's: ${Array.from(a).join(",")}`)}}class a extends e{constructor(){super("shared-template-required-properties-not-set","Values must be specified for the `definition`, `featureService`, `layer`, and `view` properties of a `SharedTemplate` in order to load it")}}class o extends e{constructor(){super("shared-template-definition-required-properties-not-set","The `featureService`, `makeSharedTemplateFromJSON`, and `view` properties must all be set in order to load a template definition")}}class l extends e{constructor(e){super("shared-template-unsupported-builder",`This template uses an unsupported builder type, '${e}'`),this.builderType=e}}class i extends e{constructor(e,t){super("shared-template-layer-resolver-error",`The 'layerResolver' function failed to provide any layers for template with 'templateId: ${e}'`,{error:t}),this.templateId=e}}class d extends e{constructor(e){super("shared-template-layer-unavailable",`None of the layers with which the template is associated are present in the view. Layer IDs: [${e.join(",")}]`),this.layerIds=e}}class n extends e{constructor(e){super("shared-template-relationship-not-found",`Relationship class '${e}' could not be found.`),this.relationshipCatalogId=e}}class p extends e{constructor(e){super("shared-template-utility-network-unavailable","Template '${templateId}' requires a utility network that is not loaded or could not be found"),this.templateId=e}}class u extends e{constructor(e){super("shared-template-no-drawing-tools-allowed",`No drawing tools available for template '${e}. All supported drawing tools are listed in the template's 'excludedTools' list.`),this.templateId=e}}export{o as SharedTemplateDefinitionRequiredPropsNotSetError,i as SharedTemplateLayerResolverError,d as SharedTemplateLayerUnavailableError,s as SharedTemplateMissingTemplatesError,n as SharedTemplateRelationshipNotFound,r as SharedTemplateRequestError,a as SharedTemplateRequiredPropsNotSetError,l as SharedTemplateUnsupportedBuilderError,u as SharedTemplateUnsupportedDrawingTool,p as SharedTemplateUtilityNetworkUnavailableError};