@arcgis/core 4.24.0-next.20220401 → 4.24.0-next.20220404

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 (157) hide show
  1. package/assets/esri/core/workers/RemoteClient.js +1 -1
  2. package/assets/esri/core/workers/chunks/{c665e9b7d09fe516f138.js → 2fe10c5c01056babeae5.js} +1 -1
  3. package/assets/esri/core/workers/chunks/{8771296b537f366596c4.js → 37aa4532e25d54055e40.js} +54 -54
  4. package/assets/esri/core/workers/chunks/528033aa0d663b4d41bf.js +1 -0
  5. package/assets/esri/core/workers/chunks/{0e29250c24a3a7b1ce13.js → 6de5a790c14f04c6c302.js} +1 -1
  6. package/assets/esri/core/workers/chunks/b1188ca77b975c6a7d92.js +1 -0
  7. package/chunks/BlendLayers.glsl.js +1 -1
  8. package/chunks/DefaultMaterial.glsl.js +26 -26
  9. package/chunks/HUDMaterial.glsl.js +37 -37
  10. package/chunks/HighlightDownsample.glsl.js +1 -1
  11. package/chunks/ImageMaterial.glsl.js +10 -10
  12. package/chunks/LineMarker.glsl.js +75 -32
  13. package/chunks/RealisticTree.glsl.js +26 -26
  14. package/chunks/SMAA.glsl.js +2 -2
  15. package/chunks/SSAO.glsl.js +2 -2
  16. package/chunks/SimpleAtmosphere.glsl.js +10 -10
  17. package/chunks/TextureOnly.glsl.js +2 -2
  18. package/core/accessorSupport/Property.js +1 -1
  19. package/interfaces.d.ts +25 -7
  20. package/package.json +1 -1
  21. package/smartMapping/renderers/color.js +1 -1
  22. package/smartMapping/renderers/dotDensity.js +1 -1
  23. package/smartMapping/renderers/heatmap.js +1 -1
  24. package/smartMapping/renderers/location.js +1 -1
  25. package/smartMapping/renderers/predominance.js +1 -1
  26. package/smartMapping/renderers/relationship.js +1 -1
  27. package/smartMapping/renderers/size.js +1 -1
  28. package/smartMapping/renderers/type.js +1 -1
  29. package/smartMapping/symbology/color.js +1 -1
  30. package/smartMapping/symbology/dotDensity.js +1 -1
  31. package/smartMapping/symbology/flow.js +1 -1
  32. package/smartMapping/symbology/heatmap.js +1 -1
  33. package/smartMapping/symbology/location.js +1 -1
  34. package/smartMapping/symbology/predominance.js +1 -1
  35. package/smartMapping/symbology/relationship.js +1 -1
  36. package/smartMapping/symbology/size.js +1 -1
  37. package/smartMapping/symbology/type.js +1 -1
  38. package/support/revision.js +1 -1
  39. package/views/2d/engine/Stage.js +1 -1
  40. package/views/2d/engine/flow/BrushFlow.js +1 -1
  41. package/views/2d/engine/imagery/BrushRasterBitmap.js +1 -1
  42. package/views/2d/engine/imagery/BrushVectorField.js +1 -1
  43. package/views/2d/engine/vectorTiles/VectorTileRendererHelper3D.js +1 -1
  44. package/views/2d/engine/webgl/Painter.js +1 -1
  45. package/views/2d/engine/webgl/brushes/BrushBitmap.js +1 -1
  46. package/views/2d/engine/webgl/brushes/BrushClip.js +1 -1
  47. package/views/2d/engine/webgl/brushes/WGLBrushInfo.js +1 -1
  48. package/views/2d/engine/webgl/brushes/WGLBrushStencil.js +1 -1
  49. package/views/2d/engine/webgl/brushes/WGLBrushVTLBackground.js +1 -1
  50. package/views/2d/engine/webgl/brushes/WGLBrushVTLCircle.js +1 -1
  51. package/views/2d/engine/webgl/brushes/WGLBrushVTLFill.js +1 -1
  52. package/views/2d/engine/webgl/brushes/WGLBrushVTLLine.js +1 -1
  53. package/views/2d/engine/webgl/brushes/WGLBrushVTLSymbol.js +1 -1
  54. package/views/2d/engine/webgl/brushes/WGLGeometryBrushFill.js +1 -1
  55. package/views/2d/engine/webgl/brushes/WGLGeometryBrushLabel.js +1 -1
  56. package/views/2d/engine/webgl/brushes/WGLGeometryBrushLine.js +1 -1
  57. package/views/2d/engine/webgl/brushes/WGLGeometryBrushMarker.js +1 -1
  58. package/views/2d/engine/webgl/brushes/WGLGeometryBrushText.js +1 -1
  59. package/views/2d/engine/webgl/effects/post-processing/EffectManager.js +1 -1
  60. package/views/3d/environment/CloudsComposition.js +1 -1
  61. package/views/3d/environment/PanoramicAtmosphere.js +1 -1
  62. package/views/3d/environment/SimpleAtmosphere.glsl.js +1 -1
  63. package/views/3d/environment/SimpleAtmosphere.js +1 -1
  64. package/views/3d/environment/SimpleAtmosphereTechnique.js +1 -1
  65. package/views/3d/layers/graphics/objectResourceUtils.js +1 -1
  66. package/views/3d/terrain/TerrainRenderer.js +1 -1
  67. package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
  68. package/views/3d/webgl-engine/collections/Component/Material/ComponentTechnique.js +1 -1
  69. package/views/3d/webgl-engine/collections/Component/Material/ComponentTechniqueConfiguration.js +1 -1
  70. package/views/3d/webgl-engine/core/material/MaterialBase.js +1 -1
  71. package/views/3d/webgl-engine/core/material/RenderTexture.js +1 -1
  72. package/views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js +6 -6
  73. package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexTextureCoordinates.glsl.js +6 -6
  74. package/views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js +3 -3
  75. package/views/3d/webgl-engine/core/shaderLibrary/shading/ComputeNormalTexture.glsl.js +5 -5
  76. package/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js +12 -12
  77. package/views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js +7 -7
  78. package/views/3d/webgl-engine/core/shaderLibrary/shading/ReadBaseColorTexture.glsl.js +4 -9
  79. package/views/3d/webgl-engine/core/shaderModules/BooleanUniform.js +1 -1
  80. package/views/3d/webgl-engine/core/shaderModules/Float2Uniform.js +1 -1
  81. package/views/3d/webgl-engine/core/shaderModules/Float4Uniform.js +1 -1
  82. package/views/3d/webgl-engine/core/shaderModules/Float4sUniform.js +1 -1
  83. package/views/3d/webgl-engine/core/shaderModules/FloatUniform.js +1 -1
  84. package/views/3d/webgl-engine/core/shaderModules/FloatsUniform.js +1 -1
  85. package/views/3d/webgl-engine/core/shaderModules/IntegerUniform.js +1 -1
  86. package/views/3d/webgl-engine/core/shaderModules/Matrix3Uniform.js +1 -1
  87. package/views/3d/webgl-engine/core/shaderModules/Texture2DUniform.js +1 -1
  88. package/views/3d/webgl-engine/core/shaderModules/Uniform.js +1 -1
  89. package/views/3d/webgl-engine/core/shaderTechnique/BindType.js +1 -1
  90. package/views/3d/webgl-engine/lib/GLTextureMaterial.js +1 -1
  91. package/views/3d/webgl-engine/lib/Program.js +1 -1
  92. package/views/3d/webgl-engine/lighting/SceneLighting.js +1 -1
  93. package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
  94. package/views/3d/webgl-engine/materials/DefaultTechniqueConfiguration.js +1 -1
  95. package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
  96. package/views/3d/webgl-engine/materials/LineMarkerMaterial.js +1 -1
  97. package/views/3d/webgl-engine/materials/PathTechnique.js +1 -1
  98. package/views/3d/webgl-engine/materials/WaterTechnique.js +1 -1
  99. package/views/3d/webgl-engine/parts/RenderView.js +1 -1
  100. package/views/3d/webgl-engine/parts/ScreenshotManager.js +1 -1
  101. package/views/3d/webgl-engine/shaders/DefaultMaterial.glsl.js +1 -1
  102. package/views/3d/webgl-engine/shaders/DefaultMaterialTechnique.js +1 -1
  103. package/views/3d/webgl-engine/shaders/DefaultMaterialTechniqueConfiguration.js +1 -1
  104. package/views/3d/webgl-engine/shaders/HUDMaterial.glsl.js +1 -1
  105. package/views/3d/webgl-engine/shaders/HUDMaterialTechnique.js +1 -1
  106. package/views/3d/webgl-engine/shaders/ImageMaterial.glsl.js +1 -1
  107. package/views/3d/webgl-engine/shaders/ImageMaterialTechnique.js +1 -1
  108. package/views/3d/webgl-engine/shaders/LineMarkerTechnique.js +1 -1
  109. package/views/3d/webgl-engine/shaders/LineMarkerTechniqueConfiguration.js +1 -1
  110. package/views/3d/webgl-engine/shaders/RealisticTree.glsl.js +1 -1
  111. package/views/3d/webgl-engine/shaders/TerrainTechniqueConfiguration.js +1 -1
  112. package/views/MapView.js +1 -1
  113. package/views/SceneView.js +1 -1
  114. package/views/support/DefaultsFromMap.js +1 -1
  115. package/views/support/screenshotUtils.js +1 -1
  116. package/widgets/Editor.js +1 -1
  117. package/assets/esri/core/workers/chunks/5682039666f874836451.js +0 -1
  118. package/assets/esri/core/workers/chunks/79bdb26244ec7b4472fe.js +0 -1
  119. package/chunks/color.js +0 -5
  120. package/chunks/dotDensity.js +0 -5
  121. package/chunks/heatmap.js +0 -5
  122. package/chunks/location.js +0 -5
  123. package/chunks/predominance.js +0 -5
  124. package/chunks/relationship.js +0 -5
  125. package/chunks/size.js +0 -5
  126. package/chunks/type.js +0 -5
  127. package/renderers/smartMapping/creators/color.js +0 -5
  128. package/renderers/smartMapping/creators/dotDensity.js +0 -5
  129. package/renderers/smartMapping/creators/heatmap.js +0 -5
  130. package/renderers/smartMapping/creators/location.js +0 -5
  131. package/renderers/smartMapping/creators/opacity.js +0 -5
  132. package/renderers/smartMapping/creators/predominance.js +0 -5
  133. package/renderers/smartMapping/creators/relationship.js +0 -5
  134. package/renderers/smartMapping/creators/size.js +0 -5
  135. package/renderers/smartMapping/creators/support/utils.js +0 -5
  136. package/renderers/smartMapping/creators/type.js +0 -5
  137. package/renderers/smartMapping/creators/univariateColorSize.js +0 -5
  138. package/renderers/smartMapping/heuristics/scaleRange.js +0 -5
  139. package/renderers/smartMapping/heuristics/sizeRange.js +0 -5
  140. package/renderers/smartMapping/statistics/classBreaks.js +0 -5
  141. package/renderers/smartMapping/statistics/heatmapStatistics.js +0 -5
  142. package/renderers/smartMapping/statistics/histogram.js +0 -5
  143. package/renderers/smartMapping/statistics/predominantCategories.js +0 -5
  144. package/renderers/smartMapping/statistics/summaryStatistics.js +0 -5
  145. package/renderers/smartMapping/statistics/summaryStatisticsForAge.js +0 -5
  146. package/renderers/smartMapping/statistics/support/ageUtils.js +0 -5
  147. package/renderers/smartMapping/statistics/uniqueValues.js +0 -5
  148. package/renderers/smartMapping/symbology/color.js +0 -5
  149. package/renderers/smartMapping/symbology/dotDensity.js +0 -5
  150. package/renderers/smartMapping/symbology/heatmap.js +0 -5
  151. package/renderers/smartMapping/symbology/location.js +0 -5
  152. package/renderers/smartMapping/symbology/predominance.js +0 -5
  153. package/renderers/smartMapping/symbology/relationship.js +0 -5
  154. package/renderers/smartMapping/symbology/size.js +0 -5
  155. package/renderers/smartMapping/symbology/support/colorRamps.js +0 -5
  156. package/renderers/smartMapping/symbology/support/utils.js +0 -5
  157. package/renderers/smartMapping/symbology/type.js +0 -5
@@ -4,7 +4,7 @@ See https://js.arcgis.com/4.24/esri/copyright.txt for details.
4
4
  */
5
5
  import{a as e}from"./vec2f64.js";import{Float2Uniform as r}from"../views/3d/webgl-engine/core/shaderModules/Float2Uniform.js";import{NoParameters as o,glsl as i}from"../views/3d/webgl-engine/core/shaderModules/interfaces.js";import{ShaderBuilder as t}from"../views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js";import{Texture2DUniform as a}from"../views/3d/webgl-engine/core/shaderModules/Texture2DUniform.js";import{BindType as n}from"../views/3d/webgl-engine/core/shaderTechnique/BindType.js";import{VertexAttribute as s}from"../views/3d/webgl-engine/lib/VertexAttribute.js";class d extends o{constructor(){super(...arguments),this.invFramebufferDim=e()}}function m(){const e=new t,{vertex:o,fragment:d}=e,m=o.code,l=d.code;return e.attributes.add(s.POSITION,"vec2"),m.add(i`void main() {
6
6
  gl_Position = vec4(vec2(1.0) - position * 2.0, 0.0, 1.0);
7
- }`),e.fragment.uniforms.add(new a("tex",n.Draw,(e=>e.inputTexture))),e.fragment.uniforms.add(new r("invFramebufferDim",n.Draw,(e=>e.invFramebufferDim))),l.add(i`void main() {
7
+ }`),d.uniforms.add(new a("tex",n.Draw,(e=>e.inputTexture))),d.uniforms.add(new r("invFramebufferDim",n.Draw,(e=>e.invFramebufferDim))),l.add(i`void main() {
8
8
  vec2 coord = gl_FragCoord.xy * invFramebufferDim;
9
9
  vec4 value = texture2D(tex, coord);
10
10
  float mx = floor(max(value.g, value.b));
@@ -2,36 +2,36 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.24/esri/copyright.txt for details.
4
4
  */
5
- import{ShaderOutput as e}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutputOptions.js";import{Slice as r}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Transform as o}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{multipassTerrainTest as i}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MultipassTerrainTest.glsl.js";import{defaultMaskAlphaCutoff as a}from"../views/3d/webgl-engine/core/shaderLibrary/util/AlphaDiscard.glsl.js";import{ColorConversion as s}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{addProjViewLocalOrigin as t}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float2Uniform as d}from"../views/3d/webgl-engine/core/shaderModules/Float2Uniform.js";import{FloatUniform as l}from"../views/3d/webgl-engine/core/shaderModules/FloatUniform.js";import{glsl as n}from"../views/3d/webgl-engine/core/shaderModules/interfaces.js";import{ShaderBuilder as g}from"../views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js";import{Texture2DUniform as p}from"../views/3d/webgl-engine/core/shaderModules/Texture2DUniform.js";import{BindType as c}from"../views/3d/webgl-engine/core/shaderTechnique/BindType.js";import{TransparencyPassType as m}from"../views/3d/webgl-engine/lib/basicInterfaces.js";import{VertexAttribute as v}from"../views/3d/webgl-engine/lib/VertexAttribute.js";function u(u){const f=new g;return t(f,u),f.include(o),f.attributes.add(v.POSITION,"vec3"),f.attributes.add(v.UV0,"vec2"),f.varyings.add("vpos","vec3"),u.hasMultipassTerrain&&f.varyings.add("depth","float"),f.vertex.uniforms.add(new d("textureCoordinateScaleFactor")),f.vertex.code.add(n`
5
+ import{isSome as e}from"../core/maybe.js";import{O as r}from"./vec2f64.js";import{ShaderOutput as o}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutputOptions.js";import{Slice 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{multipassTerrainTest as s}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MultipassTerrainTest.glsl.js";import{defaultMaskAlphaCutoff as t}from"../views/3d/webgl-engine/core/shaderLibrary/util/AlphaDiscard.glsl.js";import{ColorConversion as d}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{addProjViewLocalOrigin as l}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float2Uniform as n}from"../views/3d/webgl-engine/core/shaderModules/Float2Uniform.js";import{FloatUniform as g}from"../views/3d/webgl-engine/core/shaderModules/FloatUniform.js";import{glsl as c}from"../views/3d/webgl-engine/core/shaderModules/interfaces.js";import{ShaderBuilder as p}from"../views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js";import{Texture2DUniform as m}from"../views/3d/webgl-engine/core/shaderModules/Texture2DUniform.js";import{BindType as u}from"../views/3d/webgl-engine/core/shaderTechnique/BindType.js";import{TransparencyPassType as v}from"../views/3d/webgl-engine/lib/basicInterfaces.js";import{VertexAttribute as f}from"../views/3d/webgl-engine/lib/VertexAttribute.js";function w(w){const h=new p;l(h,w),h.include(a),h.attributes.add(f.POSITION,"vec3"),h.attributes.add(f.UV0,"vec2"),h.varyings.add("vpos","vec3"),w.hasMultipassTerrain&&h.varyings.add("depth","float");const{vertex:b,fragment:y}=h;return b.uniforms.add(new n("textureCoordinateScaleFactor",u.Pass,(o=>e(o.texture)&&e(o.texture.descriptor.textureCoordinateScaleFactor)?o.texture.descriptor.textureCoordinateScaleFactor:r))),b.code.add(c`
6
6
  void main(void) {
7
7
  vpos = position;
8
- ${u.hasMultipassTerrain?"depth = (view * vec4(vpos, 1.0)).z;":""}
8
+ ${w.hasMultipassTerrain?"depth = (view * vec4(vpos, 1.0)).z;":""}
9
9
  vTexCoord = uv0 * textureCoordinateScaleFactor;
10
10
  gl_Position = transformPosition(proj, view, vpos);
11
11
  }
12
- `),f.include(r,u),f.include(i,u),f.fragment.uniforms.add(new p("tex")),f.fragment.uniforms.add(new l("opacity",c.Pass,(e=>e.opacity))),f.varyings.add("vTexCoord","vec2"),u.output===e.Alpha?f.fragment.code.add(n`
12
+ `),h.include(i,w),h.include(s,w),y.uniforms.add([new m("tex",u.Pass,(e=>e.texture)),new g("opacity",u.Pass,(e=>e.opacity))]),h.varyings.add("vTexCoord","vec2"),w.output===o.Alpha?y.code.add(c`
13
13
  void main() {
14
14
  discardBySlice(vpos);
15
- ${u.hasMultipassTerrain?"terrainDepthTest(gl_FragCoord, depth);":""}
15
+ ${w.hasMultipassTerrain?"terrainDepthTest(gl_FragCoord, depth);":""}
16
16
 
17
17
  float alpha = texture2D(tex, vTexCoord).a * opacity;
18
- if (alpha < ${n.float(a)}) {
18
+ if (alpha < ${c.float(t)}) {
19
19
  discard;
20
20
  }
21
21
 
22
22
  gl_FragColor = vec4(alpha);
23
23
  }
24
- `):(f.fragment.include(s),f.fragment.code.add(n`
24
+ `):(y.include(d),y.code.add(c`
25
25
  void main() {
26
26
  discardBySlice(vpos);
27
- ${u.hasMultipassTerrain?"terrainDepthTest(gl_FragCoord, depth);":""}
27
+ ${w.hasMultipassTerrain?"terrainDepthTest(gl_FragCoord, depth);":""}
28
28
  gl_FragColor = texture2D(tex, vTexCoord) * opacity;
29
29
 
30
- if (gl_FragColor.a < ${n.float(a)}) {
30
+ if (gl_FragColor.a < ${c.float(t)}) {
31
31
  discard;
32
32
  }
33
33
 
34
34
  gl_FragColor = highlightSlice(gl_FragColor, vpos);
35
- ${u.transparencyPassType===m.Color?"gl_FragColor = premultiplyAlpha(gl_FragColor);":""}
35
+ ${w.transparencyPassType===v.Color?"gl_FragColor = premultiplyAlpha(gl_FragColor);":""}
36
36
  }
37
- `)),f}const f=Object.freeze(Object.defineProperty({__proto__:null,build:u},Symbol.toStringTag,{value:"Module"}));export{f as I,u as b};
37
+ `)),h}const h=Object.freeze(Object.defineProperty({__proto__:null,build:w},Symbol.toStringTag,{value:"Module"}));export{h as I,w as b};
@@ -2,29 +2,56 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.24/esri/copyright.txt for details.
4
4
  */
5
- import{MARKER_TEXTURE_SIZE as e,MARKER_THICKNESS as r}from"../views/3d/layers/support/markerUtils.js";import{ShaderOutput as o}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutputOptions.js";import{Slice as i}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{RibbonVertexPosition as s}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/RibbonVertexPosition.glsl.js";import{OutputDepth as t}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js";import{multipassTerrainTest as a}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MultipassTerrainTest.glsl.js";import{symbolAlphaCutoff as n}from"../views/3d/webgl-engine/core/shaderLibrary/util/AlphaDiscard.glsl.js";import{ColorConversion as l}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{RgbaFloatEncoding as d}from"../views/3d/webgl-engine/core/shaderLibrary/util/RgbaFloatEncoding.glsl.js";import{addProjViewLocalOrigin as p}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float2Uniform as c}from"../views/3d/webgl-engine/core/shaderModules/Float2Uniform.js";import{Float4Uniform as v}from"../views/3d/webgl-engine/core/shaderModules/Float4Uniform.js";import{FloatUniform as g}from"../views/3d/webgl-engine/core/shaderModules/FloatUniform.js";import{glsl as m}from"../views/3d/webgl-engine/core/shaderModules/interfaces.js";import{Matrix4Uniform as u}from"../views/3d/webgl-engine/core/shaderModules/Matrix4Uniform.js";import{ShaderBuilder as f}from"../views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js";import{Texture2DUniform as h}from"../views/3d/webgl-engine/core/shaderModules/Texture2DUniform.js";import{BindType as w}from"../views/3d/webgl-engine/core/shaderTechnique/BindType.js";import{TransparencyPassType as b}from"../views/3d/webgl-engine/lib/basicInterfaces.js";import{VertexAttribute as y}from"../views/3d/webgl-engine/lib/VertexAttribute.js";function x(x){const j=new f;j.include(s,x),x.output===o.Depth&&j.include(t,x);const{vertex:C,fragment:z}=j;return z.include(d),p(j,x),C.uniforms.add(new u("inverseProjectionMatrix",w.Pass,((e,r)=>r.camera.inverseProjectionMatrix))),C.uniforms.add(new c("nearFar",w.Pass,((e,r)=>r.camera.nearFar))),C.uniforms.add(new v("viewport",w.Pass,((e,r)=>r.camera.fullViewport))),z.uniforms.add(new h("tex")),j.attributes.add(y.POSITION,"vec3"),j.attributes.add(y.UV0,"vec2"),j.attributes.add(y.AUXPOS1,"vec3"),j.varyings.add("vColor","vec4"),j.varyings.add("vpos","vec3"),j.varyings.add("vUV","vec2"),j.varyings.add("vSize","float"),j.varyings.add("linearDepth","float"),x.hasMultipassTerrain&&j.varyings.add("depth","float"),C.code.add(m`#define PERPENDICULAR(v) vec2(v.y, -v.x);
5
+ import{MARKER_TEXTURE_SIZE as e,MARKER_THICKNESS as r}from"../views/3d/layers/support/markerUtils.js";import{ShaderOutput as o}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutputOptions.js";import{Slice as i}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{RibbonVertexPosition as a}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/RibbonVertexPosition.glsl.js";import{OutputDepth as t}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js";import{multipassTerrainTest as s}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MultipassTerrainTest.glsl.js";import{symbolAlphaCutoff as n}from"../views/3d/webgl-engine/core/shaderLibrary/util/AlphaDiscard.glsl.js";import{ColorConversion as l}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{RgbaFloatEncoding as c}from"../views/3d/webgl-engine/core/shaderLibrary/util/RgbaFloatEncoding.glsl.js";import{addProjViewLocalOrigin as p}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float2Uniform as d}from"../views/3d/webgl-engine/core/shaderModules/Float2Uniform.js";import{Float4Uniform as v}from"../views/3d/webgl-engine/core/shaderModules/Float4Uniform.js";import{FloatUniform as g}from"../views/3d/webgl-engine/core/shaderModules/FloatUniform.js";import{glsl as m}from"../views/3d/webgl-engine/core/shaderModules/interfaces.js";import{Matrix4Uniform as f}from"../views/3d/webgl-engine/core/shaderModules/Matrix4Uniform.js";import{ShaderBuilder as h}from"../views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js";import{Texture2DUniform as u}from"../views/3d/webgl-engine/core/shaderModules/Texture2DUniform.js";import{BindType as w}from"../views/3d/webgl-engine/core/shaderTechnique/BindType.js";import{TransparencyPassType as y}from"../views/3d/webgl-engine/lib/basicInterfaces.js";import{VertexAttribute as b}from"../views/3d/webgl-engine/lib/VertexAttribute.js";function x(x){const P=new h;P.include(a,x),x.output===o.Depth&&P.include(t,x);const{vertex:S,fragment:j}=P;return j.include(c),p(P,x),P.attributes.add(b.POSITION,"vec3"),P.attributes.add(b.UV0,"vec2"),P.attributes.add(b.AUXPOS1,"vec3"),P.varyings.add("vColor","vec4"),P.varyings.add("vpos","vec3"),P.varyings.add("vUV","vec2"),P.varyings.add("vSize","float"),P.varyings.add("linearDepth","float"),x.hasMultipassTerrain&&P.varyings.add("depth","float"),S.code.add(m`#define PERPENDICULAR(v) vec2(v.y, -v.x)
6
6
  float interp(float ncp, vec4 a, vec4 b) {
7
7
  return (-ncp - a.z) / (b.z - a.z);
8
- }`),C.code.add(m`vec4 projectAndScale(vec4 pos) {
8
+ }`),S.uniforms.add([new d("nearFar",w.Pass,((e,r)=>r.camera.nearFar)),new v("viewport",w.Pass,((e,r)=>r.camera.fullViewport))]),S.code.add(m`vec4 projectAndScale(vec4 pos) {
9
9
  vec4 posNdc = proj * pos;
10
10
  posNdc.xy *= viewport.zw / posNdc.w;
11
11
  return posNdc;
12
- }`),C.code.add(m`
13
- void clipAndTransform(inout vec4 pos, inout vec4 prev) {
14
- float vnp = nearFar[0] * 0.99;
15
-
16
- if (prev.z > -nearFar[0]) {
17
- //previous behind ncp
18
- prev = mix(pos, prev, interp(vnp, pos, prev));
12
+ }`),S.code.add(m`void clip(vec4 pos, inout vec4 prev) {
13
+ float vnp = nearFar[0] * 0.99;
14
+ if (prev.z > -nearFar[0]) {
15
+ prev = mix(pos, prev, interp(vnp, pos, prev));
16
+ }
17
+ }`),x.draped||(S.uniforms.add(new f("inverseProjectionMatrix",w.Pass,((e,r)=>r.camera.inverseProjectionMatrix))),S.code.add(m`vec3 inverseProject(vec4 posScreen) {
18
+ posScreen.xy = (posScreen.xy / viewport.zw) * posScreen.w;
19
+ return (inverseProjectionMatrix * posScreen).xyz;
20
+ }`),S.code.add(m`bool rayIntersectPlane(vec3 rayDir, vec3 planeOrigin, vec3 planeNormal, out vec3 intersection) {
21
+ float cos = dot(rayDir, planeNormal);
22
+ float t = dot(planeOrigin, planeNormal) / cos;
23
+ intersection = t * rayDir;
24
+ return abs(cos) > 0.001 && t > 0.0;
25
+ }`),S.uniforms.add(new g("perScreenPixelRatio",w.Pass,((e,r)=>r.camera.perScreenPixelRatio))),S.code.add(m`
26
+ vec4 toFront(vec4 displacedPosScreen, vec3 posLeft, vec3 posRight, vec3 prev, float lineWidth) {
27
+ // Project displaced position back to camera space
28
+ vec3 displacedPos = inverseProject(displacedPosScreen);
29
+
30
+ // Calculate the plane that we want the marker to lie in. Note that this will always be an approximation since ribbon lines are generally
31
+ // not planar and we do not know the actual position of the displaced prev vertices (they are offset in screen space, too).
32
+ vec3 planeNormal = normalize(cross(posLeft - posRight, posLeft - prev));
33
+ vec3 planeOrigin = posLeft;
34
+
35
+ ${x.hasCap?"\n if(prev.z > posLeft.z) {\n vec2 diff = posLeft.xy - posRight.xy;\n planeOrigin.xy += PERPENDICULAR(diff) / 2.0;\n }\n ":""};
36
+
37
+ // Move the plane towards the camera by a margin dependent on the line width (approximated in world space). This tolerance corrects for the
38
+ // non-planarity in most cases, but sharp joins can place the prev vertices at arbitrary positions so markers can still clip.
39
+ float offset = lineWidth * perScreenPixelRatio;
40
+ planeOrigin *= (1.0 - offset);
41
+
42
+ // Intersect camera ray with the plane and make sure it is within clip space
43
+ vec3 rayDir = normalize(displacedPos);
44
+ vec3 intersection;
45
+ if (rayIntersectPlane(rayDir, planeOrigin, planeNormal, intersection) && intersection.z < -nearFar[0] && intersection.z > -nearFar[1]) {
46
+ return vec4(intersection.xyz, 1.0);
47
+ }
48
+
49
+ // Fallback: use depth of pos or prev, whichever is closer to the camera
50
+ float minDepth = planeOrigin.z > prev.z ? length(planeOrigin) : length(prev);
51
+ displacedPos *= minDepth / length(displacedPos);
52
+ return vec4(displacedPos.xyz, 1.0);
19
53
  }
20
-
21
- ${x.hasMultipassTerrain?"depth = pos.z;":""}
22
- linearDepth = (-pos.z - nearFar[0]) / (nearFar[1] - nearFar[0]);
23
-
24
- pos = projectAndScale(pos);
25
- prev = projectAndScale(prev);
26
- }
27
- `),C.uniforms.add(new g("pixelRatio",w.Pass,((e,r)=>r.camera.pixelRatio))),C.code.add(m`
54
+ `)),S.uniforms.add(new g("pixelRatio",w.Pass,((e,r)=>r.camera.pixelRatio))),S.code.add(m`
28
55
  void main(void) {
29
56
  float coverage = 1.0;
30
57
 
@@ -41,35 +68,51 @@ return posNdc;
41
68
 
42
69
  vec4 pos = view * vec4(position.xyz, 1.0);
43
70
  vec4 prev = view * vec4(auxpos1.xyz, 1.0);
44
- clipAndTransform(pos, prev);
71
+ clip(pos, prev);
72
+
73
+ vec4 posScreen = projectAndScale(pos);
74
+ vec4 prevScreen = projectAndScale(prev);
75
+
76
+ vec2 segment = posScreen.xy - prevScreen.xy;
45
77
 
46
78
  // normalize vector along line segment
47
- vec2 segment = pos.xy - prev.xy;
48
79
  float segmentLen = length(segment);
49
80
  segment = (segmentLen > 0.001) ? segment / segmentLen : vec2(0.0, 0.0);
50
81
 
51
82
  // displace according to position in the texture
52
- vec2 displacementDirU = uv0.x * PERPENDICULAR(segment);
53
- vec2 displacementDirV = uv0.y * segment;
83
+ vec2 displacementDirU = PERPENDICULAR(segment);
84
+ vec2 displacementDirV = segment;
85
+
86
+ float displacementLen = ${m.float(e/r)} * lineWidth;
54
87
 
55
- vSize = ${m.float(e/r)} * lineWidth;
56
- pos.xy += displacementDirU * vSize + displacementDirV * vSize;
88
+ vec4 displacedPosScreen = posScreen;
89
+ displacedPosScreen.xy += uv0.x * displacementDirU * displacementLen + uv0.y * displacementDirV * displacementLen;
90
+ `),x.draped||S.code.add(m`vec3 posRight = inverseProject(posScreen + vec4(displacementDirU.xy, 0.0, 0.0) * lineWidth);
91
+ vec3 posLeft = pos.xyz + (pos.xyz - posRight);
92
+ pos = toFront(displacedPosScreen, posLeft, posRight, prev.xyz, lineWidth);
93
+ displacedPosScreen = projectAndScale(pos);`),S.code.add(m`
94
+ ${x.hasMultipassTerrain?"depth = pos.z;":""}
95
+ linearDepth = (-pos.z - nearFar[0]) / (nearFar[1] - nearFar[0]);
57
96
 
58
97
  // Convert back into NDC
59
- pos.xy = (pos.xy / viewport.zw) * pos.w;
98
+ displacedPosScreen.xy = (displacedPosScreen.xy / viewport.zw) * displacedPosScreen.w;
60
99
 
61
- // Convert texture coordinate into [0,1]
100
+ // Convert texture coordinate into [0,1] and cancel out perspective correct interpolation
62
101
  vUV = (uv0 + 1.0) / 2.0;
102
+ vUV *= displacedPosScreen.w;
103
+
104
+ vSize = displacementLen;
63
105
 
64
106
  vColor = getColor();
65
107
  vColor.a *= coverage;
66
108
 
67
- // transform final position to camera space for slicing
68
- vpos = (inverseProjectionMatrix * pos).xyz;
69
- gl_Position = pos;
109
+ // Use camera space for slicing
110
+ vpos = pos.xyz;
111
+
112
+ gl_Position = displacedPosScreen;
70
113
  }
71
114
  }
72
- `),j.include(a,x),j.include(i,x),z.uniforms.add(new v("intrinsicColor",w.Pass,(e=>e.color))),z.include(l),z.code.add(m`
115
+ `),P.include(s,x),P.include(i,x),j.uniforms.add([new v("intrinsicColor",w.Pass,(e=>e.color)),new u("tex",w.Pass,(e=>e.texture))]),j.include(l),j.code.add(m`
73
116
  void main() {
74
117
  discardBySlice(vpos);
75
118
  ${x.hasMultipassTerrain?"terrainDepthTest(gl_FragCoord, depth);":""}
@@ -78,7 +121,7 @@ return posNdc;
78
121
 
79
122
  // Offset texture coordinate s.t. we sample texel centers
80
123
  float texelSize = ${m.float(1/e)};
81
- vec2 samplePos = vUV + vec2(0.5, -0.5) * texelSize;
124
+ vec2 samplePos = vUV * gl_FragCoord.w + vec2(0.5, -0.5) * texelSize;
82
125
 
83
126
  // Evaluate sdf
84
127
  float sdf = rgba2float(texture2D(tex, samplePos)) - 0.5;
@@ -96,8 +139,8 @@ return posNdc;
96
139
 
97
140
  ${x.output===o.Alpha?m`gl_FragColor = vec4(finalColor.a);`:""}
98
141
  ${x.output===o.Color?m`gl_FragColor = highlightSlice(finalColor, vpos);`:""}
99
- ${x.output===o.Color&&x.transparencyPassType===b.Color?"gl_FragColor = premultiplyAlpha(gl_FragColor);":""}
142
+ ${x.output===o.Color&&x.transparencyPassType===y.Color?"gl_FragColor = premultiplyAlpha(gl_FragColor);":""}
100
143
  ${x.output===o.Highlight?m`gl_FragColor = vec4(1.0);`:""}
101
144
  ${x.output===o.Depth?m`outputDepth(linearDepth);`:""}
102
145
  }
103
- `),j}const j=Object.freeze(Object.defineProperty({__proto__:null,build:x},Symbol.toStringTag,{value:"Module"}));export{j as L,x as b};
146
+ `),P}const P=Object.freeze(Object.defineProperty({__proto__:null,build:x},Symbol.toStringTag,{value:"Module"}));export{P as L,x as b};
@@ -2,16 +2,16 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.24/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{ShaderOutput as o}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutputOptions.js";import{Slice 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 p}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{multipassTerrainTest as u}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MultipassTerrainTest.glsl.js";import{PhysicallyBasedRendering as f}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRendering.glsl.js";import{PhysicallyBasedRenderingParameters as b,PBRMode as h}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{ReadShadowMap as w}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js";import{VisualVariables as x}from"../views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js";import{symbolAlphaCutoff as y,DiscardOrAdjustAlpha as C}from"../views/3d/webgl-engine/core/shaderLibrary/util/AlphaDiscard.glsl.js";import{MixExternalColor as M}from"../views/3d/webgl-engine/core/shaderLibrary/util/MixExternalColor.glsl.js";import{addProjViewLocalOrigin as L,addCameraPosition as j}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float3Uniform as O}from"../views/3d/webgl-engine/core/shaderModules/Float3Uniform.js";import{Float4Uniform as A}from"../views/3d/webgl-engine/core/shaderModules/Float4Uniform.js";import{FloatUniform as _}from"../views/3d/webgl-engine/core/shaderModules/FloatUniform.js";import{glsl as E}from"../views/3d/webgl-engine/core/shaderModules/interfaces.js";import{Matrix4Uniform as F}from"../views/3d/webgl-engine/core/shaderModules/Matrix4Uniform.js";import{ShaderBuilder as S}from"../views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js";import{Texture2DUniform as P}from"../views/3d/webgl-engine/core/shaderModules/Texture2DUniform.js";import{TransparencyPassType as T}from"../views/3d/webgl-engine/lib/basicInterfaces.js";import{VertexAttribute as $}from"../views/3d/webgl-engine/lib/VertexAttribute.js";function N(N){const D=new S,V=D.vertex.code,B=D.fragment.code,I=L(D,N);return D.include(s),D.varyings.add("vpos","vec3"),D.include(x,N),D.include(l,N),D.include(g,N),N.output!==o.Color&&N.output!==o.Alpha||(j(D.vertex.uniforms,N),D.include(t,N),D.include(a),N.offsetBackfaces&&D.include(r),N.instancedColor&&D.attributes.add($.INSTANCECOLOR,"vec4"),D.varyings.add("vNormalWorld","vec3"),D.varyings.add("localvpos","vec3"),N.hasMultipassTerrain&&D.varyings.add("depth","float"),D.include(d,N),D.include(e,N),D.include(n,N),D.include(c,N),D.vertex.uniforms.add(new A("externalColor")),D.varyings.add("vcolorExt","vec4"),V.add(E`
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{ShaderOutput as o}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutputOptions.js";import{Slice 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 p}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{multipassTerrainTest as u}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MultipassTerrainTest.glsl.js";import{PhysicallyBasedRendering as b}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRendering.glsl.js";import{PhysicallyBasedRenderingParameters as h,PBRMode as w}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{ReadShadowMap as f}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js";import{VisualVariables as x}from"../views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js";import{symbolAlphaCutoff as y,DiscardOrAdjustAlpha as C}from"../views/3d/webgl-engine/core/shaderLibrary/util/AlphaDiscard.glsl.js";import{MixExternalColor as M}from"../views/3d/webgl-engine/core/shaderLibrary/util/MixExternalColor.glsl.js";import{addProjViewLocalOrigin as L,addCameraPosition as j}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float3Uniform as O}from"../views/3d/webgl-engine/core/shaderModules/Float3Uniform.js";import{Float4Uniform as A}from"../views/3d/webgl-engine/core/shaderModules/Float4Uniform.js";import{FloatUniform as _}from"../views/3d/webgl-engine/core/shaderModules/FloatUniform.js";import{glsl as P}from"../views/3d/webgl-engine/core/shaderModules/interfaces.js";import{Matrix4Uniform as E}from"../views/3d/webgl-engine/core/shaderModules/Matrix4Uniform.js";import{ShaderBuilder as F}from"../views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js";import{Texture2DUniform as S}from"../views/3d/webgl-engine/core/shaderModules/Texture2DUniform.js";import{BindType as T}from"../views/3d/webgl-engine/core/shaderTechnique/BindType.js";import{TransparencyPassType as $}from"../views/3d/webgl-engine/lib/basicInterfaces.js";import{VertexAttribute as N}from"../views/3d/webgl-engine/lib/VertexAttribute.js";function D(D){const B=new F,V=B.vertex.code,I=B.fragment.code,R=L(B,D);return B.include(s),B.varyings.add("vpos","vec3"),B.include(x,D),B.include(l,D),B.include(g,D),D.output!==o.Color&&D.output!==o.Alpha||(j(B.vertex.uniforms,D),B.include(t,D),B.include(a),D.offsetBackfaces&&B.include(r),D.instancedColor&&B.attributes.add(N.INSTANCECOLOR,"vec4"),B.varyings.add("vNormalWorld","vec3"),B.varyings.add("localvpos","vec3"),D.hasMultipassTerrain&&B.varyings.add("depth","float"),B.include(d,D),B.include(e,D),B.include(n,D),B.include(c,D),B.vertex.uniforms.add(new A("externalColor")),B.varyings.add("vcolorExt","vec4"),V.add(P`
6
6
  void main(void) {
7
7
  forwardNormalizedVertexColor();
8
8
  vcolorExt = externalColor;
9
- ${N.instancedColor?"vcolorExt *= instanceColor;":""}
9
+ ${D.instancedColor?"vcolorExt *= instanceColor;":""}
10
10
  vcolorExt *= vvColor();
11
11
  vcolorExt *= getSymbolColor();
12
12
  forwardColorMixMode();
13
13
 
14
- if (vcolorExt.a < ${E.float(y)}) {
14
+ if (vcolorExt.a < ${P.float(y)}) {
15
15
  gl_Position = vec4(1e38, 1e38, 1e38, 1.0);
16
16
  }
17
17
  else {
@@ -21,51 +21,51 @@ import{ForwardLinearDepth as e}from"../views/3d/webgl-engine/core/shaderLibrary/
21
21
  vNormalWorld = dpNormal(vvLocalNormal(normalModel()));
22
22
  vpos = addVerticalOffset(vpos, localOrigin);
23
23
  gl_Position = transformPosition(proj, view, vpos);
24
- ${N.offsetBackfaces?"gl_Position = offsetBackfacingClipPosition(gl_Position, vpos, vNormalWorld, cameraPosition);":""}
24
+ ${D.offsetBackfaces?"gl_Position = offsetBackfacingClipPosition(gl_Position, vpos, vNormalWorld, cameraPosition);":""}
25
25
  }
26
- ${N.hasMultipassTerrain?E`depth = (view * vec4(vpos, 1.0)).z;`:""}
26
+ ${D.hasMultipassTerrain?P`depth = (view * vec4(vpos, 1.0)).z;`:""}
27
27
  forwardLinearDepth();
28
28
  forwardTextureCoordinates();
29
29
  }
30
- `)),N.output===o.Alpha&&(D.include(i,N),D.include(C,N),D.include(u,N),D.fragment.uniforms.add(new _("opacity")),D.fragment.uniforms.add(new _("layerOpacity")),D.fragment.uniforms.add(new F("view")),N.hasColorTexture&&D.fragment.uniforms.add(new P("tex")),D.fragment.include(M),B.add(E`
30
+ `)),D.output===o.Alpha&&(B.include(i,D),B.include(C,D),B.include(u,D),B.fragment.uniforms.add(new _("opacity")),B.fragment.uniforms.add(new _("layerOpacity")),B.fragment.uniforms.add(new E("view")),D.hasColorTexture&&B.fragment.uniforms.add(new S("tex",T.Pass,(e=>e.texture))),B.fragment.include(M),I.add(P`
31
31
  void main() {
32
32
  discardBySlice(vpos);
33
- ${N.hasMultipassTerrain?E`terrainDepthTest(gl_FragCoord, depth);`:""}
34
- ${N.hasColorTexture?E`
33
+ ${D.hasMultipassTerrain?P`terrainDepthTest(gl_FragCoord, depth);`:""}
34
+ ${D.hasColorTexture?P`
35
35
  vec4 texColor = texture2D(tex, vuv0);
36
- ${N.textureAlphaPremultiplied?"texColor.rgb /= texColor.a;":""}
37
- discardOrAdjustAlpha(texColor);`:E`vec4 texColor = vec4(1.0);`}
38
- ${N.hasVertexColors?E`
39
- float opacity_ = layerOpacity * mixExternalOpacity(vColor.a * opacity, texColor.a, vcolorExt.a, int(colorMixMode));`:E`
36
+ ${D.textureAlphaPremultiplied?"texColor.rgb /= texColor.a;":""}
37
+ discardOrAdjustAlpha(texColor);`:P`vec4 texColor = vec4(1.0);`}
38
+ ${D.hasVertexColors?P`
39
+ float opacity_ = layerOpacity * mixExternalOpacity(vColor.a * opacity, texColor.a, vcolorExt.a, int(colorMixMode));`:P`
40
40
  float opacity_ = layerOpacity * mixExternalOpacity(opacity, texColor.a, vcolorExt.a, int(colorMixMode));
41
41
  `}
42
42
 
43
43
  gl_FragColor = vec4(opacity_);
44
44
  }
45
- `)),N.output===o.Color&&(D.include(i,N),D.include(p,N),D.include(v,N),D.include(C,N),D.include(w,N),D.include(u,N),j(D.fragment.uniforms,N),D.fragment.uniforms.add(I),D.fragment.uniforms.add(new O("ambient")),D.fragment.uniforms.add(new O("diffuse")),D.fragment.uniforms.add(new _("opacity")),D.fragment.uniforms.add(new _("layerOpacity")),D.fragment.uniforms.add(new F("view")),N.hasColorTexture&&D.fragment.uniforms.add(new P("tex")),D.include(b,N),D.include(f,N),D.fragment.include(M),B.add(E`
45
+ `)),D.output===o.Color&&(B.include(i,D),B.include(p,D),B.include(v,D),B.include(C,D),B.include(f,D),B.include(u,D),j(B.fragment.uniforms,D),B.fragment.uniforms.add([R,new O("ambient"),new O("diffuse"),new _("opacity"),new _("layerOpacity"),new E("view")]),D.hasColorTexture&&B.fragment.uniforms.add(new S("tex",T.Pass,(e=>e.texture))),B.include(h,D),B.include(b,D),B.fragment.include(M),I.add(P`
46
46
  void main() {
47
47
  discardBySlice(vpos);
48
- ${N.hasMultipassTerrain?E`terrainDepthTest(gl_FragCoord, depth);`:""}
49
- ${N.hasColorTexture?E`
48
+ ${D.hasMultipassTerrain?P`terrainDepthTest(gl_FragCoord, depth);`:""}
49
+ ${D.hasColorTexture?P`
50
50
  vec4 texColor = texture2D(tex, vuv0);
51
- ${N.textureAlphaPremultiplied?"texColor.rgb /= texColor.a;":""}
52
- discardOrAdjustAlpha(texColor);`:E`vec4 texColor = vec4(1.0);`}
51
+ ${D.textureAlphaPremultiplied?"texColor.rgb /= texColor.a;":""}
52
+ discardOrAdjustAlpha(texColor);`:P`vec4 texColor = vec4(1.0);`}
53
53
  vec3 viewDirection = normalize(vpos - cameraPosition);
54
- ${N.pbrMode===h.Normal?"applyPBRFactors();":""}
54
+ ${D.pbrMode===w.Normal?"applyPBRFactors();":""}
55
55
  float ssao = evaluateAmbientOcclusionInverse();
56
56
  ssao *= getBakedOcclusion();
57
57
 
58
58
  float additionalAmbientScale = additionalDirectedAmbientLight(vpos + localOrigin);
59
59
  vec3 additionalLight = ssao * lightingMainIntensity * additionalAmbientScale * ambientBoostFactor * lightingGlobalFactor;
60
- ${N.receiveShadows?"float shadow = readShadowMap(vpos, linearDepth);":N.spherical?"float shadow = lightingGlobalFactor * (1.0 - additionalAmbientScale);":"float shadow = 0.0;"}
60
+ ${D.receiveShadows?"float shadow = readShadowMap(vpos, linearDepth);":D.spherical?"float shadow = lightingGlobalFactor * (1.0 - additionalAmbientScale);":"float shadow = 0.0;"}
61
61
  vec3 matColor = max(ambient, diffuse);
62
- ${N.hasVertexColors?E`
62
+ ${D.hasVertexColors?P`
63
63
  vec3 albedo_ = mixExternalColor(vColor.rgb * matColor, texColor.rgb, vcolorExt.rgb, int(colorMixMode));
64
- float opacity_ = layerOpacity * mixExternalOpacity(vColor.a * opacity, texColor.a, vcolorExt.a, int(colorMixMode));`:E`
64
+ float opacity_ = layerOpacity * mixExternalOpacity(vColor.a * opacity, texColor.a, vcolorExt.a, int(colorMixMode));`:P`
65
65
  vec3 albedo_ = mixExternalColor(matColor, texColor.rgb, vcolorExt.rgb, int(colorMixMode));
66
66
  float opacity_ = layerOpacity * mixExternalOpacity(opacity, texColor.a, vcolorExt.a, int(colorMixMode));
67
67
  `}
68
- ${E`
68
+ ${P`
69
69
  vec3 shadedNormal = normalize(vNormalWorld);
70
70
  albedo_ *= 1.2;
71
71
  vec3 viewForward = vec3(view[0][2], view[1][2], view[2][2]);
@@ -74,11 +74,11 @@ import{ForwardLinearDepth as e}from"../views/3d/webgl-engine/core/shaderLibrary/
74
74
  float treeRadialFalloff = vColor.r;
75
75
  float backLightFactor = 0.5 * treeRadialFalloff * alignmentLightView * transmittance * (1.0 - shadow);
76
76
  additionalLight += backLightFactor * lightingMainIntensity;`}
77
- ${N.pbrMode===h.Normal||N.pbrMode===h.Schematic?N.spherical?E`vec3 normalGround = normalize(vpos + localOrigin);`:E`vec3 normalGround = vec3(0.0, 0.0, 1.0);`:E``}
78
- ${N.pbrMode===h.Normal||N.pbrMode===h.Schematic?E`
77
+ ${D.pbrMode===w.Normal||D.pbrMode===w.Schematic?D.spherical?P`vec3 normalGround = normalize(vpos + localOrigin);`:P`vec3 normalGround = vec3(0.0, 0.0, 1.0);`:P``}
78
+ ${D.pbrMode===w.Normal||D.pbrMode===w.Schematic?P`
79
79
  float additionalAmbientIrradiance = additionalAmbientIrradianceFactor * lightingMainIntensity[2];
80
80
  vec3 shadedColor = evaluateSceneLightingPBR(shadedNormal, albedo_, shadow, 1.0 - ssao, additionalLight, viewDirection, normalGround, mrr, emission, additionalAmbientIrradiance);`:"vec3 shadedColor = evaluateSceneLighting(shadedNormal, albedo_, shadow, 1.0 - ssao, additionalLight);"}
81
81
  gl_FragColor = highlightSlice(vec4(shadedColor, opacity_), vpos);
82
- ${N.transparencyPassType===T.Color?"gl_FragColor = premultiplyAlpha(gl_FragColor);":""}
82
+ ${D.transparencyPassType===$.Color?"gl_FragColor = premultiplyAlpha(gl_FragColor);":""}
83
83
  }
84
- `)),D.include(m,N),D}const D=Object.freeze(Object.defineProperty({__proto__:null,build:N},Symbol.toStringTag,{value:"Module"}));export{D as R,N as b};
84
+ `)),B.include(m,D),B}const B=Object.freeze(Object.defineProperty({__proto__:null,build:D},Symbol.toStringTag,{value:"Module"}));export{B as R,D as b};
@@ -84,8 +84,8 @@ SMAAEdgeDetectionVS( fTexCoord );
84
84
  #define SMAA_AREATEX_PIXEL_SIZE ( 1.0 / vec2( 160.0, 560.0 ) )
85
85
  #define SMAA_AREATEX_SUBTEX_SIZE ( 1.0 / 7.0 )
86
86
 
87
- vec4 SMAASampleLevelZeroOffset(sampler2D tex, vec2 coord, vec2 offset) {
88
- return texture2D( tex, coord + offset.x * resolution.xy, 0.0 );
87
+ vec4 SMAASampleLevelZeroOffset(sampler2D texture, vec2 coord, vec2 offset) {
88
+ return texture2D(texture, coord + offset.x * resolution.xy, 0.0);
89
89
  }
90
90
 
91
91
  vec2 round( vec2 x ) {
@@ -2,7 +2,7 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.24/esri/copyright.txt for details.
4
4
  */
5
- import{ScreenSpacePass as e}from"../views/3d/webgl-engine/core/shaderLibrary/ScreenSpacePass.js";import{ReadLinearDepth as r}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadLinearDepth.glsl.js";import{CameraSpace as o}from"../views/3d/webgl-engine/core/shaderLibrary/util/CameraSpace.glsl.js";import{Float2Uniform as a}from"../views/3d/webgl-engine/core/shaderModules/Float2Uniform.js";import{FloatUniform as t}from"../views/3d/webgl-engine/core/shaderModules/FloatUniform.js";import{glsl as n}from"../views/3d/webgl-engine/core/shaderModules/interfaces.js";import{ShaderBuilder as i}from"../views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js";import{Texture2DUniform as s}from"../views/3d/webgl-engine/core/shaderModules/Texture2DUniform.js";import{BindType as l}from"../views/3d/webgl-engine/core/shaderTechnique/BindType.js";import{SSAOOutput as c}from"../views/3d/webgl-engine/lib/SSAOTechniqueConfiguration.js";const d={samples:16,filterRadius:4};function f(f){const u=new i,p=u.fragment;if(u.include(e),f.output===c.Blur){const e=(d.filterRadius+1)/2,o=1/(2*e*e);p.include(r),p.uniforms.add(new s("normalMap")),p.uniforms.add(new s("depthMap")),p.uniforms.add(new s("tex")),p.uniforms.add(new a("blurSize")),p.uniforms.add(new t("projScale")),p.uniforms.add(new a("nearFar",l.Pass,((e,r)=>r.camera.nearFar))),p.code.add(n`
5
+ import{ScreenSpacePass as e}from"../views/3d/webgl-engine/core/shaderLibrary/ScreenSpacePass.js";import{ReadLinearDepth as r}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadLinearDepth.glsl.js";import{CameraSpace as o}from"../views/3d/webgl-engine/core/shaderLibrary/util/CameraSpace.glsl.js";import{Float2Uniform as t}from"../views/3d/webgl-engine/core/shaderModules/Float2Uniform.js";import{FloatUniform as a}from"../views/3d/webgl-engine/core/shaderModules/FloatUniform.js";import{glsl as n}from"../views/3d/webgl-engine/core/shaderModules/interfaces.js";import{ShaderBuilder as i}from"../views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js";import{Texture2DUniform as s}from"../views/3d/webgl-engine/core/shaderModules/Texture2DUniform.js";import{BindType as l}from"../views/3d/webgl-engine/core/shaderTechnique/BindType.js";import{SSAOOutput as c}from"../views/3d/webgl-engine/lib/SSAOTechniqueConfiguration.js";const d={samples:16,filterRadius:4};function f(f){const u=new i,p=u.fragment;if(u.include(e),f.output===c.Blur){const e=(d.filterRadius+1)/2,o=1/(2*e*e);p.include(r),p.uniforms.add([new s("normalMap"),new s("depthMap"),new s("tex"),new t("blurSize"),new a("projScale"),new t("nearFar",l.Pass,((e,r)=>r.camera.nearFar))]),p.code.add(n`
6
6
  void blurFunction(vec2 uv, float r, float center_d, float sharpness, inout float wTotal, inout float bTotal) {
7
7
  float c = texture2D(tex, uv).r;
8
8
  float d = linearDepthFromTexture(depthMap, uv, nearFar);
@@ -29,7 +29,7 @@ import{ScreenSpacePass as e}from"../views/3d/webgl-engine/core/shaderLibrary/Scr
29
29
 
30
30
  gl_FragColor = vec4(b / w_total);
31
31
  }
32
- `)}return f.output===c.SSAO&&(p.include(r),u.include(o),p.uniforms.add(new s("normalMap")),p.uniforms.add(new s("depthMap")),p.uniforms.add(new s("rnm")),p.uniforms.add(new t("intensity")),p.uniforms.add(new t("projScale")),p.uniforms.add(new t("radius")),p.uniforms.add(new a("nearFar",l.Pass,((e,r)=>r.camera.nearFar))),p.uniforms.add(new a("screenSize")),p.uniforms.add(new a("rnmScale")),p.code.add(n`vec3 sphere[16];
32
+ `)}return f.output===c.SSAO&&(p.include(r),u.include(o),p.uniforms.add(new s("normalMap")),p.uniforms.add(new s("depthMap")),p.uniforms.add(new s("rnm")),p.uniforms.add(new a("intensity")),p.uniforms.add(new a("projScale")),p.uniforms.add(new a("radius")),p.uniforms.add(new t("nearFar",l.Pass,((e,r)=>r.camera.nearFar))),p.uniforms.add(new t("screenSize")),p.uniforms.add(new t("rnmScale")),p.code.add(n`vec3 sphere[16];
33
33
  void fillSphere() {
34
34
  sphere[0] = vec3(0.186937, 0.0, 0.0);
35
35
  sphere[1] = vec3(0.700542, 0.0, 0.0);
@@ -2,25 +2,25 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.24/esri/copyright.txt for details.
4
4
  */
5
- import{SimpleAtmosphereGeometry as e}from"../views/3d/environment/SimpleAtmosphereTechniqueConfiguration.js";import{Transform as o}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{Float2Uniform as i}from"../views/3d/webgl-engine/core/shaderModules/Float2Uniform.js";import{Float3Uniform as r}from"../views/3d/webgl-engine/core/shaderModules/Float3Uniform.js";import{FloatUniform as n}from"../views/3d/webgl-engine/core/shaderModules/FloatUniform.js";import{glsl as t}from"../views/3d/webgl-engine/core/shaderModules/interfaces.js";import{Matrix4Uniform as a}from"../views/3d/webgl-engine/core/shaderModules/Matrix4Uniform.js";import{ShaderBuilder as s}from"../views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js";import{Texture2DUniform as d}from"../views/3d/webgl-engine/core/shaderModules/Texture2DUniform.js";import{BindType as l}from"../views/3d/webgl-engine/core/shaderTechnique/BindType.js";import{VertexAttribute as c}from"../views/3d/webgl-engine/lib/VertexAttribute.js";function m(m){const g=new s,{vertex:f,fragment:p}=g;if(m.geometry===e.Underground)g.attributes.add(c.POSITION,"vec2"),g.varyings.add("color","vec4"),f.uniforms.add(new r("lightingMainDirection")),f.uniforms.add(new r("cameraPosition")),f.uniforms.add(new n("undergroundFadeAlpha")),f.code.add(t`void main(void) {
5
+ import{SimpleAtmosphereGeometry as e}from"../views/3d/environment/SimpleAtmosphereTechniqueConfiguration.js";import{Transform as o}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{Float2Uniform as i}from"../views/3d/webgl-engine/core/shaderModules/Float2Uniform.js";import{Float3Uniform as r}from"../views/3d/webgl-engine/core/shaderModules/Float3Uniform.js";import{FloatUniform as n}from"../views/3d/webgl-engine/core/shaderModules/FloatUniform.js";import{NoParameters as t,glsl as s}from"../views/3d/webgl-engine/core/shaderModules/interfaces.js";import{Matrix4Uniform as a}from"../views/3d/webgl-engine/core/shaderModules/Matrix4Uniform.js";import{ShaderBuilder as d}from"../views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js";import{Texture2DUniform as l}from"../views/3d/webgl-engine/core/shaderModules/Texture2DUniform.js";import{BindType as c}from"../views/3d/webgl-engine/core/shaderTechnique/BindType.js";import{VertexAttribute as m}from"../views/3d/webgl-engine/lib/VertexAttribute.js";class g extends t{}function f(t){const g=new d,{vertex:f,fragment:p}=g;if(t.geometry===e.Underground)g.attributes.add(m.POSITION,"vec2"),g.varyings.add("color","vec4"),f.uniforms.add(new r("lightingMainDirection")),f.uniforms.add(new r("cameraPosition")),f.uniforms.add(new n("undergroundFadeAlpha")),f.code.add(s`void main(void) {
6
6
  float ndotl = dot(normalize(cameraPosition), lightingMainDirection);
7
7
  float lighting = max(0.0, smoothstep(-1.0, 0.8, 2.0 * ndotl));
8
8
  color = vec4(vec3(lighting), undergroundFadeAlpha);
9
9
  gl_Position = vec4(position.xy, 1.0, 1.0);
10
- }`),p.code.add(t`void main() {
10
+ }`),p.code.add(s`void main() {
11
11
  gl_FragColor = color;
12
- }`);else{g.include(o),g.attributes.add(c.POSITION,"vec3"),g.varyings.add("vtc","vec2"),g.varyings.add("falloff","float");const s=m.geometry===e.Cylinder;f.uniforms.add(new a("proj",l.Pass,((e,o)=>o.camera.projectionMatrix))),f.uniforms.add(new a("view")),f.uniforms.add(new r("lightingMainDirection")),s||(g.varyings.add("innerFactor","float"),f.uniforms.add(new r("silCircleCenter")),f.uniforms.add(new r("silCircleV1")),f.uniforms.add(new r("silCircleV2")),f.uniforms.add(new i("texV")),f.uniforms.add(new n("innerScale")));const v=6.2831853,u=1/128;f.code.add(t`
12
+ }`);else{g.include(o),g.attributes.add(m.POSITION,"vec3"),g.varyings.add("vtc","vec2"),g.varyings.add("falloff","float");const d=t.geometry===e.Cylinder;f.uniforms.add(new a("proj",c.Pass,((e,o)=>o.camera.projectionMatrix))),f.uniforms.add(new a("view")),f.uniforms.add(new r("lightingMainDirection")),d||(g.varyings.add("innerFactor","float"),f.uniforms.add(new r("silCircleCenter")),f.uniforms.add(new r("silCircleV1")),f.uniforms.add(new r("silCircleV2")),f.uniforms.add(new i("texV")),f.uniforms.add(new n("innerScale")));const u=6.2831853,v=1/128;f.code.add(s`
13
13
  void main(void) {
14
- ${s?t`
14
+ ${d?s`
15
15
  vec3 pos = position;
16
16
  float ndotl = lightingMainDirection.z;
17
- vtc = vec2(0.0, position.z + 0.05);`:t`
17
+ vtc = vec2(0.0, position.z + 0.05);`:s`
18
18
  innerFactor = clamp(-position.z, 0.0, 1.0);
19
19
  float scale = position.y * (1.0 + innerFactor * innerScale);
20
- float phi = position.x * ${t.float(v*u)} + 1.0;
20
+ float phi = position.x * ${s.float(u*v)} + 1.0;
21
21
  vec3 pos = (silCircleCenter + sin(phi) * silCircleV1 + cos(phi) * silCircleV2) * scale;
22
22
  float ndotl = dot(normalize(position.y > 0.0 ? pos: silCircleCenter), lightingMainDirection);
23
- vtc.x = position.x * ${t.float(u)};
23
+ vtc.x = position.x * ${s.float(v)};
24
24
  vtc.y = texV.x * (1.0 - position.z) + texV.y * position.z;
25
25
  `}
26
26
  falloff = max(0.0, smoothstep(-1.0, 0.8, 2.0 * ndotl));
@@ -28,11 +28,11 @@ gl_FragColor = color;
28
28
  gl_Position = transformPosition(proj, view, pos);
29
29
  gl_Position.z = gl_Position.w; // project atmosphere onto the far plane
30
30
  }
31
- `),p.uniforms.add(new d("tex")),s||p.uniforms.add(new n("altitudeFade")),p.code.add(t`
31
+ `),p.uniforms.add(new l("tex",c.Pass,(e=>e.texture))),d||p.uniforms.add(new n("altitudeFade")),p.code.add(s`
32
32
  void main() {
33
33
  vec4 atmosphereColor = texture2D(tex, vtc) * falloff;
34
- ${s?t`gl_FragColor = atmosphereColor;`:t`
34
+ ${d?s`gl_FragColor = atmosphereColor;`:s`
35
35
  vec4 innerColor = vec4(atmosphereColor.rgb, 1.0 - altitudeFade);
36
36
  gl_FragColor = mix(atmosphereColor, innerColor, smoothstep(0.0, 1.0, innerFactor));
37
37
  `}
38
- }`)}return g}const g=Object.freeze(Object.defineProperty({__proto__:null,build:m},Symbol.toStringTag,{value:"Module"}));export{g as S,m as b};
38
+ }`)}return g}const p=Object.freeze(Object.defineProperty({__proto__:null,SimpleAtmospherePassParameters:g,build:f},Symbol.toStringTag,{value:"Module"}));export{g as S,p as a,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.24/esri/copyright.txt for details.
4
4
  */
5
- import{ScreenSpacePass as e}from"../views/3d/webgl-engine/core/shaderLibrary/ScreenSpacePass.js";import{Float4Uniform as r}from"../views/3d/webgl-engine/core/shaderModules/Float4Uniform.js";import{glsl as o}from"../views/3d/webgl-engine/core/shaderModules/interfaces.js";import{ShaderBuilder as n}from"../views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js";import{Texture2DUniform as i}from"../views/3d/webgl-engine/core/shaderModules/Texture2DUniform.js";function d(){const d=new n;return d.include(e),d.fragment.uniforms.add(new i("tex")),d.fragment.uniforms.add(new r("uColor")),d.fragment.code.add(o`void main() {
5
+ import{ScreenSpacePass as e}from"../views/3d/webgl-engine/core/shaderLibrary/ScreenSpacePass.js";import{Float4Uniform as r}from"../views/3d/webgl-engine/core/shaderModules/Float4Uniform.js";import{glsl as o}from"../views/3d/webgl-engine/core/shaderModules/interfaces.js";import{ShaderBuilder as n}from"../views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js";import{Texture2DUniform as i}from"../views/3d/webgl-engine/core/shaderModules/Texture2DUniform.js";function s(){const s=new n;return s.include(e),s.fragment.uniforms.add([new i("tex"),new r("uColor")]),s.fragment.code.add(o`void main() {
6
6
  vec4 texColor = texture2D(tex, uv);
7
7
  gl_FragColor = texColor * uColor;
8
- }`),d}const s=Object.freeze(Object.defineProperty({__proto__:null,build:d},Symbol.toStringTag,{value:"Module"}));export{s as T,d as b};
8
+ }`),s}const t=Object.freeze(Object.defineProperty({__proto__:null,build:s},Symbol.toStringTag,{value:"Module"}));export{t as T,s 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.24/esri/copyright.txt for details.
4
4
  */
5
- import{OriginId as t}from"./PropertyOrigin.js";import{trackAccess as s,runTracked as e,trackExplicitDependencies as i,runUntracked as r}from"./tracking.js";import{Flags as n}from"./tracking/Flags.js";import{ObservationHandle as l}from"./tracking/ObservationHandle.js";class o{constructor(t,s,e){this.properties=t,this.propertyName=s,this.metadata=e,this._observers=null,this._accessed=null,this._handles=null,this.flags=n.Dirty|(e.nonNullable?n.NonNullable:0)|(e.hasOwnProperty("value")?n.HasDefaultValue:0)|(void 0===e.get?n.DepTrackingInitialized:0)|(void 0===e.dependsOn?n.AutoTracked:0)}destroy(){this._accessed=null,this._observers=null,this._clearObservationHandles()}getComputed(){s(this);const l=this.properties.store,o=this.propertyName,a=this.flags,h=l.get(o);if(a&n.Computing)return h;if(~a&n.Dirty&&l.has(o))return h;this.flags|=n.Computing;const d=this.properties.host;let c;a&n.AutoTracked?c=e(this,this.metadata.get,d):(i(d,this),c=this.metadata.get.call(d)),l.set(o,c,t.COMPUTED);const u=l.get(o);return u===h?this.flags&=~n.Dirty:r(this.commit,this),this.flags&=~n.Computing,u}onObservableAccessed(t){t!==this&&(null===this._accessed&&(this._accessed=[]),this._accessed.includes(t)||this._accessed.push(t))}onTrackingEnd(){this._clearObservationHandles(),this.flags|=n.DepTrackingInitialized;const t=this._accessed;if(null===t)return;let s=this._handles;null===s&&(s=this._handles=[]);for(let e=0;e<t.length;++e)s.push(t[e].observe(this));t.length=0}observe(t){return null===this._observers&&(this._observers=[]),this._observers.includes(t)||this._observers.push(t),new l(this._observers,t)}notifyChange(){this.onInvalidated(),this.onCommitted()}invalidate(){this.onInvalidated()}onInvalidated(){~this.flags&n.Overriden&&(this.flags|=n.Dirty);const t=this._observers;if(null!==t)for(let s=0;s<t.length;++s)t[s].onInvalidated()}commit(){this.flags&=~n.Dirty,this.onCommitted()}onCommitted(){if(null===this._observers)return;const t=this._observers.slice();for(let s=0;s<t.length;++s)t[s].onCommitted()}_clearObservationHandles(){const t=this._handles;if(null!==t){for(let s=0;s<t.length;++s)t[s].remove();t.length=0}}}export{o as Property};
5
+ import{OriginId as s}from"./PropertyOrigin.js";import{trackAccess as t,runTracked as e,trackExplicitDependencies as i,runUntracked as r}from"./tracking.js";import{Flags as n}from"./tracking/Flags.js";import{ObservationHandle as o}from"./tracking/ObservationHandle.js";class l{constructor(s,t,e){this.properties=s,this.propertyName=t,this.metadata=e,this._observers=null,this._accessed=null,this._handles=null,this.flags=n.Dirty|(e.nonNullable?n.NonNullable:0)|(e.hasOwnProperty("value")?n.HasDefaultValue:0)|(void 0===e.get?n.DepTrackingInitialized:0)|(void 0===e.dependsOn?n.AutoTracked:0)}destroy(){if(this.flags&n.Dirty&&this._observers){const s=this._observers.slice();for(const t of s)t.onCommitted()}this._accessed=null,this._observers=null,this._clearObservationHandles()}getComputed(){t(this);const o=this.properties.store,l=this.propertyName,a=this.flags,h=o.get(l);if(a&n.Computing)return h;if(~a&n.Dirty&&o.has(l))return h;this.flags|=n.Computing;const d=this.properties.host;let c;a&n.AutoTracked?c=e(this,this.metadata.get,d):(i(d,this),c=this.metadata.get.call(d)),o.set(l,c,s.COMPUTED);const u=o.get(l);return u===h?this.flags&=~n.Dirty:r(this.commit,this),this.flags&=~n.Computing,u}onObservableAccessed(s){s!==this&&(null===this._accessed&&(this._accessed=[]),this._accessed.includes(s)||this._accessed.push(s))}onTrackingEnd(){this._clearObservationHandles(),this.flags|=n.DepTrackingInitialized;const s=this._accessed;if(null===s)return;let t=this._handles;null===t&&(t=this._handles=[]);for(let e=0;e<s.length;++e)t.push(s[e].observe(this));s.length=0}observe(s){return null===this._observers&&(this._observers=[]),this._observers.includes(s)||this._observers.push(s),new o(this._observers,s)}notifyChange(){this.onInvalidated(),this.onCommitted()}invalidate(){this.onInvalidated()}onInvalidated(){~this.flags&n.Overriden&&(this.flags|=n.Dirty);const s=this._observers;if(null!==s)for(let t=0;t<s.length;++t)s[t].onInvalidated()}commit(){this.flags&=~n.Dirty,this.onCommitted()}onCommitted(){if(null===this._observers)return;const s=this._observers.slice();for(let t=0;t<s.length;++t)s[t].onCommitted()}_clearObservationHandles(){const s=this._handles;if(null!==s){for(let t=0;t<s.length;++t)s[t].remove();s.length=0}}}export{l as Property};
package/interfaces.d.ts CHANGED
@@ -29432,7 +29432,7 @@ declare namespace __esri {
29432
29432
  *
29433
29433
  * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-portal-PortalItem.html#fetchResources)
29434
29434
  */
29435
- fetchResources(params?: FetchResourcesParams, options?: PortalItemFetchResourcesOptions): FetchResourcesResult;
29435
+ fetchResources(params?: FetchResourcesParams, options?: PortalItemFetchResourcesOptions): Promise<FetchResourcesResult>;
29436
29436
  /**
29437
29437
  * Get the URL to the thumbnail image for the item.
29438
29438
  *
@@ -34837,6 +34837,12 @@ declare namespace __esri {
34837
34837
  * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-request.html#RequestOptions)
34838
34838
  */
34839
34839
  useProxy?: boolean;
34840
+ /**
34841
+ * Indicates if cross-site `Access-Control` requests should use credentials.
34842
+ *
34843
+ * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-request.html#RequestOptions)
34844
+ */
34845
+ withCredentials?: boolean;
34840
34846
  }
34841
34847
 
34842
34848
  /**
@@ -71639,6 +71645,12 @@ declare namespace __esri {
71639
71645
  * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html#zoom)
71640
71646
  */
71641
71647
  zoom: number;
71648
+ /**
71649
+ * Internal method to take a screenshot.
71650
+ *
71651
+ * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html#_takeScreenshot)
71652
+ */
71653
+ _takeScreenshot(): void;
71642
71654
  /**
71643
71655
  * Sets the view to a given target.
71644
71656
  *
@@ -72424,6 +72436,12 @@ declare namespace __esri {
72424
72436
  * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#zoom)
72425
72437
  */
72426
72438
  zoom: number;
72439
+ /**
72440
+ * Internal method to take a screenshot.
72441
+ *
72442
+ * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#_takeScreenshot)
72443
+ */
72444
+ _takeScreenshot(): void;
72427
72445
  /**
72428
72446
  * Sets the view to a given target.
72429
72447
  *
@@ -84782,6 +84800,12 @@ declare namespace __esri {
84782
84800
  * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable-FeatureTableViewModel.html#clearSelection)
84783
84801
  */
84784
84802
  clearSelection(): void;
84803
+ /**
84804
+ * Clears the current [filterBySelection](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable-FeatureTableViewModel.html#filterBySelection) so that the table displays all of the table rows.
84805
+ *
84806
+ * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable-FeatureTableViewModel.html#clearSelectionFilter)
84807
+ */
84808
+ clearSelectionFilter(): void;
84785
84809
  /**
84786
84810
  * Unselects the specified rows within the table.
84787
84811
  *
@@ -84830,12 +84854,6 @@ declare namespace __esri {
84830
84854
  * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable-FeatureTableViewModel.html#selectRows)
84831
84855
  */
84832
84856
  selectRows(params: number | Graphic | (number | Graphic)[]): void;
84833
- /**
84834
- * Clears the current [filterBySelection](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable-FeatureTableViewModel.html#filterBySelection) so that the table displays all of the table rows.
84835
- *
84836
- * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable-FeatureTableViewModel.html#zoomToSelection)
84837
- */
84838
- zoomToSelection(): void;
84839
84857
  /**
84840
84858
  * Zooms the view to the extent of the current row selection.
84841
84859
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arcgis/core",
3
- "version": "4.24.0-next.20220401",
3
+ "version": "4.24.0-next.20220404",
4
4
  "homepage": "https://js.arcgis.com",
5
5
  "description": "ArcGIS API for JavaScript: A complete 2D and 3D mapping and data visualization API",
6
6
  "keywords": [