@arcgis/core 6.0.0-next.26 → 6.0.0-next.28
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.
- package/Map.d.ts +6 -0
- package/analysis/AreaMeasurementAnalysis.d.ts +4 -2
- package/analysis/DirectLineMeasurementAnalysis.d.ts +8 -4
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/0363d29fc665d169ebc4.js +1 -0
- package/assets/esri/core/workers/chunks/037c67ef5c4398d5954d.js +1 -0
- package/assets/esri/core/workers/chunks/03f33cb78b5405ab7e23.js +1 -0
- package/assets/esri/core/workers/chunks/07b726a46864501b90a0.js +1 -0
- package/assets/esri/core/workers/chunks/0864da8f8f147016cf1c.js +1 -0
- package/assets/esri/core/workers/chunks/{768389f7f8dba6080df7.js → 0cc7fba402a93e6d2455.js} +2 -2
- package/assets/esri/core/workers/chunks/0cfdeb53fb7d5532cf01.js +1 -0
- package/assets/esri/core/workers/chunks/112ed86f812e4400a7e0.js +1 -0
- package/assets/esri/core/workers/chunks/177f353ce72133e2eeed.js +1 -0
- package/assets/esri/core/workers/chunks/1dc6f093028530a492e6.js +1 -0
- package/assets/esri/core/workers/chunks/2294254af2c6afb560ee.js +1 -0
- package/assets/esri/core/workers/chunks/23a4806b4cdf7cc32e4d.js +1 -0
- package/assets/esri/core/workers/chunks/2447d2e2a4a3ab8fcf94.js +1 -0
- package/assets/esri/core/workers/chunks/271ae7deccb94112c2df.js +1 -0
- package/assets/esri/core/workers/chunks/2df37a9a95ceebb87a5f.js +1 -0
- package/assets/esri/core/workers/chunks/2e00c155e447e4930442.js +1 -0
- package/assets/esri/core/workers/chunks/2e9a1673b1d51aa082b6.js +1 -0
- package/assets/esri/core/workers/chunks/344f5334ad95c7974349.js +1 -0
- package/assets/esri/core/workers/chunks/348f1def9cd2ddf92e87.js +1 -0
- package/assets/esri/core/workers/chunks/{8e4206068c6953bb7df2.js → 3a47fc97c400fca2c736.js} +1 -1
- package/assets/esri/core/workers/chunks/47c97640ec525676918b.js +1 -0
- package/assets/esri/core/workers/chunks/50763ea061d5fb3f2e49.js +1 -0
- package/assets/esri/core/workers/chunks/518ab22f80c3300bcfff.js +1 -0
- package/assets/esri/core/workers/chunks/58609bf94f72bc4f1952.js +1 -0
- package/assets/esri/core/workers/chunks/586a929bc037e23857af.js +1 -0
- package/assets/esri/core/workers/chunks/58d10e0b35968680fd9f.js +1 -0
- package/assets/esri/core/workers/chunks/59bc55880e6fd8ce20c0.js +1 -0
- package/assets/esri/core/workers/chunks/{7c75a8ee266c36baa902.js → 5eec1c1162779574f46e.js} +1 -1
- package/assets/esri/core/workers/chunks/62a0abcf45a2bd14ecbe.js +1 -0
- package/assets/esri/core/workers/chunks/63c4412c16d8a44a5668.js +1 -0
- package/assets/esri/core/workers/chunks/6b4c3411f63a9ad9354c.js +1 -0
- package/assets/esri/core/workers/chunks/{f528ac5c648ca6a98582.js → 711cfb84659cb4437679.js} +1 -1
- package/assets/esri/core/workers/chunks/{9dd1fc56eb1ea6eb705e.js → 76e27e36050a3dd9d249.js} +1 -1
- package/assets/esri/core/workers/chunks/76f877e2d2493d56afab.js +1 -0
- package/assets/esri/core/workers/chunks/77463141652bf1ca6fb2.js +1 -0
- package/assets/esri/core/workers/chunks/7d3f7940815fa5dc244e.js +1 -0
- package/assets/esri/core/workers/chunks/914a0b5d9fef683cdf9c.js +1 -0
- package/assets/esri/core/workers/chunks/96f87c8efd4b11b37686.js +1 -0
- package/assets/esri/core/workers/chunks/97ec46605f16333144b7.js +1 -0
- package/assets/esri/core/workers/chunks/{7b482afb9fd1229f5707.js → 9934e8e19f94e9169eea.js} +1 -1
- package/assets/esri/core/workers/chunks/99f51d5d9da6e9bfc430.js +1 -0
- package/assets/esri/core/workers/chunks/9aebe876b1a2fb075f9c.js +1 -0
- package/assets/esri/core/workers/chunks/9c3db7a7c05fa0e81f0a.js +1 -0
- package/assets/esri/core/workers/chunks/{6f1d6453184e0a1530ad.js → 9c4961213ac6ec283dd9.js} +25 -25
- package/assets/esri/core/workers/chunks/a2cc53ad1a514167e4b8.js +1 -0
- package/assets/esri/core/workers/chunks/a33ba23aee3f8f40200f.js +1 -0
- package/assets/esri/core/workers/chunks/{45ba4aa87a4732198596.js → b13d8f4e4e80ef00b1bd.js} +1 -1
- package/assets/esri/core/workers/chunks/b3801d58c024224917df.js +1 -0
- package/assets/esri/core/workers/chunks/b3aa29589dcfb5b93106.js +1 -0
- package/assets/esri/core/workers/chunks/b3dbcf43f136ba2dadc5.js +1 -0
- package/assets/esri/core/workers/chunks/b9596d862da1ec342cd3.js +1 -0
- package/assets/esri/core/workers/chunks/bc1fcc9c897461e68e29.js +1 -0
- package/assets/esri/core/workers/chunks/{8b4e9fd88c0c313416d4.js → be04f40f8b403befd0ef.js} +1 -1
- package/assets/esri/core/workers/chunks/{150e7a7bd5df25693da7.js → c90388932a7825d9d933.js} +1 -1
- package/assets/esri/core/workers/chunks/ca21786e519c914fc9e1.js +1 -0
- package/assets/esri/core/workers/chunks/cdb5c26fed7d9a97db49.js +1 -0
- package/assets/esri/core/workers/chunks/cdf0c7706d3e1221f49b.js +1 -0
- package/assets/esri/core/workers/chunks/d63e181f0e48bde73395.js +1 -0
- package/assets/esri/core/workers/chunks/d77888c84a8b49478807.js +1 -0
- package/assets/esri/core/workers/chunks/d7f2f1708d2a2668676c.js +1 -0
- package/assets/esri/core/workers/chunks/{13c64087be3b2985a21b.js → dbda982485d3fe26c729.js} +1 -1
- package/assets/esri/core/workers/chunks/dc7aa0a1eb6c6e361f9f.js +1 -0
- package/assets/esri/core/workers/chunks/ec1c4d66142b6efb0e8b.js +1 -0
- package/assets/esri/core/workers/chunks/ef2c3febcceedc44b3ac.js +1 -0
- package/assets/esri/core/workers/chunks/f08a2a262a3b55149396.js +1 -0
- package/assets/esri/core/workers/chunks/f2d56f5c15d5977e1d19.js +1 -0
- package/assets/esri/core/workers/chunks/ffe2077a9df7c838ea27.js +1 -0
- package/assets/esri/layers/raster/formats/lerc-wasm.wasm +0 -0
- package/chunks/BlendLayers.glsl.js +1 -1
- package/chunks/Component.glsl.js +9 -12
- package/chunks/GaussianSplat.glsl.js +65 -21
- package/chunks/GaussianSplatDepth.glsl.js +45 -4
- package/chunks/GaussianSplatShadow.glsl.js +73 -19
- package/chunks/GlobalIllumination.glsl.js +17 -47
- package/chunks/LineMarker.glsl.js +32 -31
- package/chunks/OITAddEmission.glsl.js +1 -1
- package/chunks/RasterColorizer.glsl.js +1 -1
- package/chunks/RibbonLine.glsl.js +36 -36
- package/chunks/Terrain.glsl.js +3 -4
- package/chunks/Water.glsl.js +22 -23
- package/config.js +1 -1
- package/core/ReentrantObjectPool.js +1 -1
- package/core/memoryEstimations.js +1 -1
- package/core/workers/workers.js +2 -2
- package/core/workers.d.ts +1 -1
- package/form/elements/inputs/DynamicChoiceInput.d.ts +2 -2
- package/form/elements/inputs.d.ts +126 -25
- package/form/elements/inputs.js +1 -1
- package/form/elements.d.ts +1 -0
- package/geometry/operators/containsOperator.d.ts +1 -1
- package/geometry/operators/densifyOperator.d.ts +1 -1
- package/geometry/operators/differenceOperator.d.ts +6 -4
- package/geometry/operators/distanceOperator.d.ts +1 -1
- package/geometry/operators/geodesicProximityOperator.d.ts +8 -8
- package/geometry/operators/graphicBufferOperator.d.ts +6 -6
- package/geometry/operators/integrateOperator.d.ts +2 -2
- package/geometry/operators/intersectsOperator.d.ts +3 -3
- package/geometry/operators/linesToPolygonsOperator.d.ts +2 -2
- package/geometry/operators/locateBetweenOperator.d.ts +2 -2
- package/geometry/operators/minimumBoundingCircleOperator.d.ts +1 -1
- package/geometry/operators/multiPartToSinglePartOperator.d.ts +2 -2
- package/geometry/operators/polygonSlicerOperator.d.ts +2 -2
- package/geometry/operators/projectOperator.d.ts +2 -2
- package/geometry/operators/proximityOperator.d.ts +15 -15
- package/geometry/operators/shapePreservingProjectOperator.d.ts +2 -2
- package/geometry/operators/simplifyOperator.d.ts +2 -2
- package/geometry/operators/support/GeographicTransformationStep.d.ts +3 -3
- package/geometry/operators/support/Transformation.d.ts +8 -8
- package/geometry/operators/support/geographicTransformationUtils.d.ts +3 -3
- package/geometry/operators/symmetricDifferenceOperator.d.ts +2 -2
- package/geometry/operators/withinOperator.d.ts +3 -3
- package/geometry/support/Indices.js +1 -1
- package/graphic/MapNotesGraphicOrigin.d.ts +1 -0
- package/kernel.js +1 -1
- package/layers/GeospatialPDFLayer.d.ts +2 -2
- package/layers/GeospatialPDFLayer.js +1 -1
- package/layers/MapNotesLayer.d.ts +3 -2
- package/layers/ParquetLayer.d.ts +1 -1
- package/layers/VectorTileLayer.d.ts +10 -1
- package/layers/buildingSublayers/BuildingGroupSublayer.d.ts +2 -1
- package/layers/geospatialPDF/CIM2DLayerview.js +2 -0
- package/layers/geospatialPDF/GeospatialPDFFrame.js +1 -1
- package/layers/graphics/sources/support/ParquetSourceWorker.js +1 -1
- package/layers/mixins/SublayersOwner.js +1 -1
- package/layers/orientedImagery/transformations/imageToWorld.js +1 -1
- package/layers/orientedImagery/transformations/rectifyMapPoint.js +1 -1
- package/layers/support/Sublayer.d.ts +2 -2
- package/layers/support/Sublayer.js +1 -1
- package/layers/support/SubtypeSublayer.js +1 -1
- package/layers/support/layerUtils.js +1 -1
- package/package.json +3 -3
- package/popup/FeaturesModel.js +1 -1
- package/popup/support/featureUtils.js +1 -1
- package/rest/featureService/FeatureService.d.ts +0 -5
- package/rest/networks/support/TraceLocation.d.ts +2 -1
- package/rest/networks/support/TraceResult.d.ts +0 -4
- package/rest/support/AttributeBinsQuery.d.ts +3 -2
- package/rest/support/ImageGPSInfoParameters.d.ts +2 -1
- package/rest/support/OutDistance.d.ts +2 -2
- package/rest/support/Query.d.ts +3 -2
- package/rest/support/TopFeaturesQuery.d.ts +2 -1
- package/rest/support/types.d.ts +10 -1
- package/smartMapping/raster/renderers/flow.d.ts +2 -1
- package/smartMapping/renderers/color.d.ts +11 -8
- package/smartMapping/renderers/location.d.ts +7 -4
- package/smartMapping/renderers/predominance.d.ts +7 -4
- package/smartMapping/renderers/relationship.d.ts +7 -4
- package/smartMapping/renderers/size.d.ts +6 -4
- package/smartMapping/renderers/type.d.ts +7 -4
- package/smartMapping/renderers/types.d.ts +15 -0
- package/smartMapping/renderers/univariateColorSize.d.ts +4 -2
- package/smartMapping/statistics/histogramForTimeSeries.js +1 -1
- package/smartMapping/statistics/summaryStatisticsForTimeSeries.js +1 -1
- package/smartMapping/symbology/flow.d.ts +2 -1
- package/smartMapping/symbology/types.d.ts +2 -1
- package/support/BasemapStyle.d.ts +2 -2
- package/symbols/cim/CIMCursor.js +1 -1
- package/symbols/cim/types.d.ts +7 -9
- package/tables/elements.d.ts +1 -0
- package/views/2d/engine/vectorTiles/TileHandler3D.js +1 -1
- package/views/2d/engine/webgl/animations/instructions.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedMarkerMeshWriter.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/mesh/MeshWriterVertexPack.js +1 -1
- package/views/2d/engine/webgl/textureUtils.js +1 -1
- package/views/2d/layers/GeospatialPDFLayerView2D.js +1 -1
- package/views/2d/layers/MediaLayerView2D.js +1 -1
- package/views/2d/layers/TileLayerView2D.js +1 -1
- package/views/2d/layers/features/schema/processor/symbols/ComplexSymbolSchema.js +1 -1
- package/views/3d/analysis/AreaMeasurement/support/AreaMeasurementPathHelper.js +1 -1
- package/views/3d/analysis/AreaMeasurement/support/MeasurementData.js +1 -1
- package/views/3d/analysis/DirectLineMeasurement/DirectLineMeasurementController.js +1 -1
- package/views/3d/analysis/support/projectionUtils.js +1 -1
- package/views/3d/environment/SunLighting.d.ts +15 -2
- package/views/3d/environment/VirtualLighting.d.ts +15 -2
- package/views/3d/input/SceneInputManager.js +1 -1
- package/views/3d/input/handlers/ground/GroundMouseWheelMove.js +2 -0
- package/views/3d/interactive/editingTools/reshape/ReshapeOperation.js +1 -1
- package/views/3d/interactive/measurementTools/directLineMeasurement3D/DirectLineMeasurement3DTool.js +1 -1
- package/views/3d/interactive/measurementTools/directLineMeasurement3D/DirectLineMeasurement3DView.js +1 -1
- package/views/3d/layers/GeospatialPDFLayerView3D.js +1 -1
- package/views/3d/layers/ImageryTileLayerView3D.js +1 -1
- package/views/3d/layers/graphics/Graphics3DBufferGraphicLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
- package/views/3d/layers/graphics/Graphics3DDrapedGraphicLayerBase.js +1 -1
- package/views/3d/layers/graphics/Graphics3DExtrudeSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DFeatureStore.js +1 -1
- package/views/3d/layers/graphics/Graphics3DGraphic.js +1 -1
- package/views/3d/layers/graphics/Graphics3DGraphicCreationContext.js +1 -1
- package/views/3d/layers/graphics/Graphics3DLodInstanceGraphicLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DMeshObject3DGraphicLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DObject3DGraphicLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DStageObjectGraphicLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DSymbol.js +1 -1
- package/views/3d/layers/graphics/Labeler.js +1 -1
- package/views/3d/layers/graphics/defaultSymbolComplexity.js +1 -1
- package/views/3d/layers/support/FeatureTileFetcher3D.js +1 -1
- package/views/3d/layers/support/StageLayerElevationProvider.js +1 -1
- package/views/3d/layers/support/featureReference.js +1 -1
- package/views/3d/navigation/Navigation3D.js +1 -1
- package/views/3d/state/controllers/GroundMouseWheelController.js +2 -0
- package/views/3d/state/utils/OffsetCorrectionController.js +1 -1
- package/views/3d/state/utils/groundNavigationUtils.js +1 -1
- package/views/3d/terrain/BlendLayers.glsl.js +1 -1
- package/views/3d/terrain/PatchRenderData.js +1 -1
- package/views/3d/terrain/RasterColorizer.glsl.js +1 -1
- package/views/3d/terrain/TerrainData.js +1 -1
- package/views/3d/terrain/TerrainRenderer.js +1 -1
- package/views/3d/terrain/TerrainSurface.js +1 -1
- package/views/3d/terrain/TextureFader.js +1 -1
- package/views/3d/terrain/TextureReference.js +1 -1
- package/views/3d/terrain/TileCompositor.js +1 -1
- package/views/3d/terrain/TileRenderInfo.js +1 -1
- package/views/3d/terrain/TileRenderer.js +1 -1
- package/views/3d/terrain/terrainUtils.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexTangent.glsl.js +7 -8
- package/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js +25 -25
- package/views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js +3 -5
- package/views/3d/webgl-engine/core/shaderLibrary/shading/forwardLocalUp.glsl.js +6 -0
- package/views/3d/webgl-engine/core/shaderLibrary/shading/getLocalUp.glsl.js +4 -0
- package/views/3d/webgl-engine/core/shaderLibrary/terrain/TerrainTexture.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/terrain/{TileBackground.glsl.js → blendLayers.glsl.js} +10 -11
- package/views/3d/webgl-engine/core/shaderLibrary/util/GaussianSplatEvaluation.glsl.js +8 -2
- package/views/3d/webgl-engine/core/shaderLibrary/util/cameraUniforms.js +1 -1
- package/views/3d/webgl-engine/effects/globalIllumination/GlobalIllumination.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/globalIllumination/GlobalIllumination.js +1 -1
- package/views/3d/webgl-engine/effects/globalIllumination/GlobalIlluminationTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/lib/BindParameters.js +1 -1
- package/views/3d/webgl-engine/lib/BoundingInfo.js +1 -1
- package/views/3d/webgl-engine/lib/BufferGeometry.js +1 -1
- package/views/3d/webgl-engine/lib/BufferObject3D.js +1 -1
- package/views/3d/webgl-engine/lib/DirtyEvents.js +1 -1
- package/views/3d/webgl-engine/lib/Geometry.js +1 -1
- package/views/3d/webgl-engine/lib/ManagedTexture.js +1 -1
- package/views/3d/webgl-engine/lib/ModelDirtySet.js +1 -1
- package/views/3d/webgl-engine/lib/Object3D.js +1 -1
- package/views/3d/webgl-engine/lib/PathGeometry.js +1 -1
- package/views/3d/webgl-engine/lib/Renderer.js +1 -1
- package/views/3d/webgl-engine/lib/TextureBackedBuffer/TextureBuffer.js +1 -1
- package/views/3d/webgl-engine/lib/edgeRendering/EdgeView.js +1 -1
- package/views/3d/webgl-engine/lib/geometryMemoryUtils.js +2 -0
- package/views/3d/webgl-engine/materials/Water.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/GaussianSplat.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/GaussianSplatDepth.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/GaussianSplatPass.glsl.js +61 -108
- package/views/3d/webgl-engine/shaders/GaussianSplatShadow.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/LineMarker.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/RibbonLine.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/Terrain.glsl.js +1 -1
- package/views/VideoView.js +1 -1
- package/views/draw/DrawOperation.js +1 -1
- package/views/draw/DrawScreenTool.js +1 -1
- package/views/input/types.d.ts +2 -4
- package/views/interactive/options/LabelOptions.d.ts +5 -5
- package/views/interactive/options/SnappingOptions.d.ts +2 -2
- package/views/selection/SelectionOperation.js +1 -1
- package/views/selection/types.d.ts +43 -3
- package/views/support/layerViewUtils.js +1 -1
- package/views/support/selectionUtils.js +1 -1
- package/widgets/BatchAttributeForm/inputs/FieldInput.d.ts +0 -1
- package/widgets/Editor/VisibleElements.d.ts +4 -0
- package/widgets/Editor.d.ts +2 -0
- package/widgets/FeatureTable.js +1 -1
- package/widgets/Features/FeaturesViewModel.js +1 -1
- package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
- package/widgets/OrientedImageryViewer/adapters/view/SceneViewAdapter.js +1 -1
- package/widgets/OrientedImageryViewer/services/SuperimposeService.js +1 -1
- package/widgets/OrientedImageryViewer/support/NonPanoramicMedia.js +1 -1
- package/widgets/OrientedImageryViewer/support/dataCaptureUtils.js +1 -1
- package/widgets/OrientedImageryViewer.js +2 -2
- package/widgets/PanoramicViewer/utils.js +1 -1
- package/widgets/Print.js +1 -1
- package/widgets/Search/LayerSearchSource.d.ts +1 -1
- package/widgets/Sketch/VisibleElements.d.ts +4 -0
- package/widgets/Sketch.d.ts +2 -0
- package/widgets/support/SelectionList/GroupLayerItem.d.ts +6 -0
- package/widgets/support/SelectionList/GroupLayerItem.js +1 -1
- package/widgets/support/SelectionList/ItemBase.js +1 -1
- package/widgets/support/SelectionToolbar/SelectionToolbarViewModel.d.ts +6 -1
- package/widgets/support/SelectionToolbar/SelectionToolbarViewModel.js +1 -1
- package/widgets/support/SelectionToolbar.d.ts +8 -1
- package/widgets/support/SelectionToolbar.js +1 -1
- package/widgets/support/Selector2D/selectorUtils.js +1 -1
- package/assets/esri/core/workers/chunks/0320cbd825f9a4222042.js +0 -1
- package/assets/esri/core/workers/chunks/067de1910190da228291.js +0 -1
- package/assets/esri/core/workers/chunks/09bd5df07eab80ae7b15.js +0 -1
- package/assets/esri/core/workers/chunks/164e74d586297946a717.js +0 -1
- package/assets/esri/core/workers/chunks/1c0c5cb13c2590aae906.js +0 -1
- package/assets/esri/core/workers/chunks/1c77de1e79860f8d2228.js +0 -1
- package/assets/esri/core/workers/chunks/24dac4970526a4e0ae63.js +0 -1
- package/assets/esri/core/workers/chunks/2acf2952cef69e382a35.js +0 -1
- package/assets/esri/core/workers/chunks/30dcf2cfb31cb70de7df.js +0 -1
- package/assets/esri/core/workers/chunks/371e2ddb88cc6b9a41e8.js +0 -1
- package/assets/esri/core/workers/chunks/42f6194633c2d879c8da.js +0 -1
- package/assets/esri/core/workers/chunks/44f90e75c1dc3d726a95.js +0 -1
- package/assets/esri/core/workers/chunks/4abd3753cd9b80e4d937.js +0 -1
- package/assets/esri/core/workers/chunks/4bb9a5f4ca944d3fc206.js +0 -1
- package/assets/esri/core/workers/chunks/4c389472b8cdb0c55154.js +0 -1
- package/assets/esri/core/workers/chunks/4d93bed14945e3d34d5c.js +0 -1
- package/assets/esri/core/workers/chunks/4e3f651ac76fcd53df2b.js +0 -1
- package/assets/esri/core/workers/chunks/505227797bcf2a1d908d.js +0 -1
- package/assets/esri/core/workers/chunks/58da3f8cf0f7f6a7e4fa.js +0 -1
- package/assets/esri/core/workers/chunks/5a19a9c3e01d3d415188.js +0 -1
- package/assets/esri/core/workers/chunks/5a830bc35adbedd33783.js +0 -1
- package/assets/esri/core/workers/chunks/6db0f8fe1402643fbe1a.js +0 -1
- package/assets/esri/core/workers/chunks/7124ad8dc5ad40dc66f3.js +0 -1
- package/assets/esri/core/workers/chunks/7446d0dfebf93e86c098.js +0 -1
- package/assets/esri/core/workers/chunks/7c631e2947243e2c9bde.js +0 -1
- package/assets/esri/core/workers/chunks/7f0f9dddc44b1f1600f0.js +0 -1
- package/assets/esri/core/workers/chunks/7fb7493f483cd9878bfa.js +0 -1
- package/assets/esri/core/workers/chunks/8e310e9cb9d84ac3ca2f.js +0 -1
- package/assets/esri/core/workers/chunks/950d4578dc450467404c.js +0 -1
- package/assets/esri/core/workers/chunks/99a0a434ea2162166754.js +0 -1
- package/assets/esri/core/workers/chunks/9afc87474cef1fc4fe4a.js +0 -1
- package/assets/esri/core/workers/chunks/9cbde13e536676767900.js +0 -1
- package/assets/esri/core/workers/chunks/9cd3fcb5fca6f9dbbcd8.js +0 -1
- package/assets/esri/core/workers/chunks/a025ee38d402504193df.js +0 -1
- package/assets/esri/core/workers/chunks/a4b822ee45810c4c292a.js +0 -1
- package/assets/esri/core/workers/chunks/a51576d84edca88e41dd.js +0 -1
- package/assets/esri/core/workers/chunks/ac24b4370dc7194a3107.js +0 -1
- package/assets/esri/core/workers/chunks/ace41659a5ca0e5abfc3.js +0 -1
- package/assets/esri/core/workers/chunks/b01804aa6c47a220a603.js +0 -1
- package/assets/esri/core/workers/chunks/b3273f847405799e3362.js +0 -1
- package/assets/esri/core/workers/chunks/ba3d5abff65aefcb8dee.js +0 -1
- package/assets/esri/core/workers/chunks/bca6b469940b7b954123.js +0 -1
- package/assets/esri/core/workers/chunks/c0d7ae314ebfad1e3791.js +0 -1
- package/assets/esri/core/workers/chunks/c337fc0e6dc69c233e6d.js +0 -1
- package/assets/esri/core/workers/chunks/c8eae00b0ec87d8b2ff3.js +0 -1
- package/assets/esri/core/workers/chunks/cd9aa950cb74b09008fe.js +0 -1
- package/assets/esri/core/workers/chunks/e0d9dc97985561320bd4.js +0 -1
- package/assets/esri/core/workers/chunks/e2775b4b753306dc8477.js +0 -1
- package/assets/esri/core/workers/chunks/eaddffcc7004101fc230.js +0 -1
- package/assets/esri/core/workers/chunks/ebbf425af348e6ede814.js +0 -1
- package/assets/esri/core/workers/chunks/efc53007cd2e4991d7d4.js +0 -1
- package/assets/esri/core/workers/chunks/f46e92c67986c8c09bdd.js +0 -1
- package/assets/esri/core/workers/chunks/f8bc474434fd365ab174.js +0 -1
- package/assets/esri/core/workers/chunks/f8d2225f333524ce1d88.js +0 -1
- package/assets/esri/core/workers/chunks/f95a1f878c9c1146180e.js +0 -1
- package/assets/esri/core/workers/chunks/fb37f0848196c28b7fd7.js +0 -1
- /package/assets/esri/core/workers/chunks/{768389f7f8dba6080df7.js.LICENSE.txt → 0cc7fba402a93e6d2455.js.LICENSE.txt} +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{sliceDraw as e}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{EvaluateAmbientOcclusion as n}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientOcclusion.glsl.js";import{EvaluateSceneLighting as r}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{
|
|
2
|
+
import{sliceDraw as e}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{EvaluateAmbientOcclusion as n}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientOcclusion.glsl.js";import{EvaluateSceneLighting as r}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{forwardLocalUp as i}from"../views/3d/webgl-engine/core/shaderLibrary/shading/forwardLocalUp.glsl.js";import{mainLightIntensity as a}from"../views/3d/webgl-engine/core/shaderLibrary/shading/lightingUniforms.js";import{LineStipple as o,computePixelSize as s}from"../views/3d/webgl-engine/core/shaderLibrary/shading/LineStipple.glsl.js";import{MarkerSizing as c}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MarkerSizing.glsl.js";import{PiUtils as l}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PiUtils.glsl.js";import{positionOutsideClipSpace as u}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PositionOutsideClipSpace.js";import{readFragmentShadow as d}from"../views/3d/webgl-engine/core/shaderLibrary/shading/readFragmentShadow.glsl.js";import{metersPerRenderUnit as f,screenPixelSizePerDistance as p,inverseProjectionMatrix as m,nearFar as h,viewport as ee,pixelRatio as te}from"../views/3d/webgl-engine/core/shaderLibrary/util/cameraUniforms.js";import{ColorConversion as ne}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{NoPerspectiveWrite as g,NoPerspectiveRead as _}from"../views/3d/webgl-engine/core/shaderLibrary/util/NoPerspective.glsl.js";import{addProjViewLocalOrigin as v}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float4PassUniform as y}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{FloatPassUniform as b}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as x,If as S}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{alphaCutoff as C}from"../views/3d/webgl-engine/shaders/alphaCutoff.glsl.js";import{animatedAlpha as re}from"../views/3d/webgl-engine/shaders/animatedAlpha.glsl.js";import{groundMetersToScreenRatio as ie,planarDistanceToScreenRatio as w}from"../views/3d/webgl-engine/shaders/lineUniforms.js";import{outputColorHighlightOLID as T}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js";import{getTextureBackedBufferModule as E}from"../views/3d/webgl-engine/shaders/RibbonLineTextureBuffer.glsl.js";import{ShaderBuilder as D}from"../views/webgl/ShaderBuilder.js";const O=1;function k(O){let k=new D,{attributes:A,varyings:j,vertex:M,fragment:N}=k,{applyMarkerOffset:P,draped:F,shadingEnabled:I,output:L,capType:R,stippleEnabled:z,falloffEnabled:B,wireframe:V,innerColorEnabled:H,hasAnimation:U,hasScreenSizePerspective:W,worldSized:G,imagePattern:K,useFlatJoinVarying:q}=O,J=R===2,Y=z&&J,X=B||Y,ae=z||J,Z=O.usePerspectiveCorrectStipple,Q=E(O).createBuilder(k,O);M.inputs.add(`position`,()=>Q.getTextureAttribute(`position`)),O.hasVVSize?M.inputs.add(`sizeFeatureAttribute`,()=>Q.getTextureAttribute(`sizeFeatureAttribute`)):M.inputs.add(`size`,()=>Q.getTextureAttribute(`size`)),O.hasVVOpacity&&M.inputs.add(`opacityFeatureAttribute`,()=>Q.getTextureAttribute(`opacityFeatureAttribute`)),O.hasVVColor?M.inputs.add(`colorFeatureAttribute`,()=>Q.getTextureAttribute(`colorFeatureAttribute`)):M.inputs.add(`color`,()=>Q.getTextureAttribute(`color`)),N.include(l),k.include(t,O),k.include(o,O),L===11?(k.varyings.add(`objectAndLayerIdColorVarying`,`vec4`),M.code.add(x`
|
|
3
3
|
vec4 getOlidColor() {
|
|
4
4
|
return ${Q.getTextureAttribute(`olidColor`)};
|
|
5
5
|
}
|
|
@@ -7,9 +7,9 @@ import{sliceDraw as e}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.gls
|
|
|
7
7
|
void forwardObjectAndLayerIdColor() {
|
|
8
8
|
objectAndLayerIdColorVarying = getOlidColor();
|
|
9
9
|
}
|
|
10
|
-
`),
|
|
10
|
+
`),N.code.add(x`void outputObjectAndLayerIdColor() {
|
|
11
11
|
fragColor = objectAndLayerIdColorVarying;
|
|
12
|
-
}`)):(
|
|
12
|
+
}`)):(M.code.add(x`void forwardObjectAndLayerIdColor() {}`),N.code.add(x`void outputObjectAndLayerIdColor() {}`));let $=P&&!F;return $&&k.include(c,O),v(M,O),F&&(G||z)&&M.uniforms.add(G?ie:w),G&&!F&&M.uniforms.add(f,p),M.uniforms.add(m,h,ee,new b(`miterLimit`,e=>e.join===`miter`?e.miterLimit:0)),M.constants.add(`LARGE_HALF_FLOAT`,`float`,65500),M.constants.add(`EPS`,`float`,.001),M.constants.add(`NUM_JOIN_SUBDIVISIONS`,`float`,O.numJoinSubdivisions),A.add(`textureElementIndex`,`uint`),A.add(`lineParameters`,`vec2`),j.add(`vColor`,`vec4`),j.add(`vpos`,`vec3`,{invariant:!0}),j.add(`vLineDistance`,`float`),j.add(`vLineWidth`,`float`),q?j.add(`vIsInsideJoin`,`int`,{flat:!0}):j.add(`vIsInsideJoin`,`float`),j.add(`vStretchFactor`,`float`),j.add(`vJoinCenterLineSDFs`,`vec2`),j.add(`vSubdivisionFactor`,`float`),z&&j.add(`vLineSizeInv`,`float`),X&&j.add(`vLineDistanceNorm`,`float`),J&&(j.add(`vSegmentSDF`,`float`),j.add(`vReverseSegmentSDF`,`float`)),M.code.add(x`vec3 perpendicular(vec3 v) {
|
|
13
13
|
return vec3(v.y, -v.x, 0.0);
|
|
14
14
|
}
|
|
15
15
|
float nearPlaneInterpolationFactor(float nearPlaneDistance, vec4 start, vec4 end) {
|
|
@@ -20,12 +20,12 @@ float s = sin(a);
|
|
|
20
20
|
float c = cos(a);
|
|
21
21
|
mat2 m = mat2(c, -s, s, c);
|
|
22
22
|
return vec3(m * v.xy, v.z);
|
|
23
|
-
}`),
|
|
23
|
+
}`),M.code.add(x`vec4 projectAndScale(vec4 pos) {
|
|
24
24
|
vec4 posNdc = proj * pos;
|
|
25
25
|
posNdc.xy *= viewport.zw / posNdc.w;
|
|
26
26
|
posNdc.z /= posNdc.w;
|
|
27
27
|
return posNdc;
|
|
28
|
-
}`),
|
|
28
|
+
}`),M.code.add(x`
|
|
29
29
|
void clip(
|
|
30
30
|
inout vec4 pos,
|
|
31
31
|
inout vec4 prev,
|
|
@@ -75,13 +75,13 @@ return posNdc;
|
|
|
75
75
|
}
|
|
76
76
|
}
|
|
77
77
|
}
|
|
78
|
-
`),
|
|
78
|
+
`),M.uniforms.add(te),M.constants.add(`aaWidth`,`float`,1),N.constants.add(`aaWidth`,`float`,1),M.main.add(x`
|
|
79
79
|
vec3 position = ${Q.getTextureAttribute(`position`)};
|
|
80
80
|
float u0 = ${Q.getTextureAttribute(`u0`)};
|
|
81
81
|
${S(G,x`
|
|
82
82
|
float prevU0 = ${Q.getTextureAttribute(`u0`,-1)};
|
|
83
83
|
float nextU0 = ${Q.getTextureAttribute(`u0`,1)};
|
|
84
|
-
${S(!
|
|
84
|
+
${S(!F,x`
|
|
85
85
|
u0 *= metersPerRenderUnit;
|
|
86
86
|
prevU0 *= metersPerRenderUnit;
|
|
87
87
|
nextU0 *= metersPerRenderUnit;
|
|
@@ -102,7 +102,7 @@ return posNdc;
|
|
|
102
102
|
// Check for special value of lineParameters.y which is used by the Renderer when graphics are removed before the
|
|
103
103
|
// VBO is recompacted. If this is the case, then we just project outside of clip space.
|
|
104
104
|
if (lineParameters.y == 0.0) {
|
|
105
|
-
gl_Position = ${
|
|
105
|
+
gl_Position = ${u};
|
|
106
106
|
}
|
|
107
107
|
else {
|
|
108
108
|
vec4 pos = view * vec4(position, 1.0);
|
|
@@ -110,11 +110,11 @@ return posNdc;
|
|
|
110
110
|
vec4 next = view * vec4(nextPosition, 1.0);
|
|
111
111
|
|
|
112
112
|
bool isJoin = vertexType < 3.0;
|
|
113
|
-
`),$&&
|
|
113
|
+
`),$&&M.main.add(x`vec4 other = isStartVertex ? next : prev;
|
|
114
114
|
bool markersHidden = areWorldMarkersHidden(pos.xyz, other.xyz);
|
|
115
115
|
if (!isJoin && !markersHidden) {
|
|
116
116
|
pos.xyz += normalize(other.xyz - pos.xyz) * getWorldMarkerSize(pos.xyz) * 0.5;
|
|
117
|
-
}`),
|
|
117
|
+
}`),k.include(g),M.code.add(x`
|
|
118
118
|
vec2 computeJoinAndCapDisplacement(
|
|
119
119
|
bool isJoin,
|
|
120
120
|
bool isStartVertex,
|
|
@@ -194,7 +194,7 @@ pos.xyz += normalize(other.xyz - pos.xyz) * getWorldMarkerSize(pos.xyz) * 0.5;
|
|
|
194
194
|
}
|
|
195
195
|
|
|
196
196
|
if (isOutside && displacementLen > miterLimit * lineWidth) {
|
|
197
|
-
${S(
|
|
197
|
+
${S(O.roundJoins,x`
|
|
198
198
|
vec3 startDir = perpendicular(leftLen < EPS ? right : left);
|
|
199
199
|
vec3 endDir = perpendicular(rightLen < EPS ? left : right);
|
|
200
200
|
float factor = ${z?x`min(1.0, subdivisionFactor * ((NUM_JOIN_SUBDIVISIONS + 1.0) / NUM_JOIN_SUBDIVISIONS))`:x`subdivisionFactor`};
|
|
@@ -224,7 +224,7 @@ pos.xyz += normalize(other.xyz - pos.xyz) * getWorldMarkerSize(pos.xyz) * 0.5;
|
|
|
224
224
|
|
|
225
225
|
return (joinDisplacementDir.xy * lineSide + capDisplacementDir.xy) * displacementLen;
|
|
226
226
|
}
|
|
227
|
-
`),
|
|
227
|
+
`),M.main.add(x`
|
|
228
228
|
clip(pos, prev, next, ${S(Z,x`u0, prevU0, nextU0,`)} isStartVertex);
|
|
229
229
|
|
|
230
230
|
vec3 clippedPos = pos.xyz;
|
|
@@ -242,7 +242,7 @@ pos.xyz += normalize(other.xyz - pos.xyz) * getWorldMarkerSize(pos.xyz) * 0.5;
|
|
|
242
242
|
${S(z&&!W,`float patternLineSize = lineSize;`)}
|
|
243
243
|
|
|
244
244
|
${S(G,x`
|
|
245
|
-
${S(
|
|
245
|
+
${S(F,x`float lineSizeScreen = lineSize * groundMetersToScreenRatio;`,x`
|
|
246
246
|
float metersPerScreenPixel = max(-clippedPos.z, nearFar[0]) * metersPerRenderUnit * screenPixelSizePerDistance;
|
|
247
247
|
float lineSizeScreen = lineSize / metersPerScreenPixel;
|
|
248
248
|
`)}
|
|
@@ -252,13 +252,13 @@ pos.xyz += normalize(other.xyz - pos.xyz) * getWorldMarkerSize(pos.xyz) * 0.5;
|
|
|
252
252
|
`)}
|
|
253
253
|
|
|
254
254
|
vLineWidth = noPerspectiveWrite(lineWidth, pos.w);
|
|
255
|
-
${z
|
|
256
|
-
`),
|
|
255
|
+
${z?`vLineSizeInv = noPerspectiveWrite(1.0 / ${G?`lineSize`:`max(lineSize, 1.0)`}, pos.w);`:``}
|
|
256
|
+
`),ae&&M.main.add(x`
|
|
257
257
|
float isEndVertex = float(!isStartVertex);
|
|
258
258
|
vec3 segmentOrigin = mix(pos.xyz, prev.xyz, isEndVertex);
|
|
259
259
|
vec3 segment = mix(right, left, isEndVertex);
|
|
260
|
-
${J
|
|
261
|
-
`),
|
|
260
|
+
${J?`vec3 segmentEnd = mix(next.xyz, pos.xyz, isEndVertex);`:``}
|
|
261
|
+
`),M.main.add(x`
|
|
262
262
|
vIsInsideJoin = ${q?x`0`:x`float(isInsideJoin)`};
|
|
263
263
|
vStretchFactor = 1.0;
|
|
264
264
|
vSubdivisionFactor = 0.0;
|
|
@@ -291,7 +291,7 @@ pos.xyz += normalize(other.xyz - pos.xyz) * getWorldMarkerSize(pos.xyz) * 0.5;
|
|
|
291
291
|
${X?x`vLineDistanceNorm = lineDistNorm;`:``}
|
|
292
292
|
|
|
293
293
|
pos.xyz += displacement;
|
|
294
|
-
`),
|
|
294
|
+
`),M.main.add(x`if (isJoin) {
|
|
295
295
|
vec2 joinCenterToVertex = displacementXY;
|
|
296
296
|
vec2 leftCenterlineDir = left.xy;
|
|
297
297
|
vec2 rightCenterlineDir = right.xy;
|
|
@@ -306,23 +306,23 @@ dot(vec2(leftCenterlineDir.y, -leftCenterlineDir.x), joinCenterToVertex)
|
|
|
306
306
|
),
|
|
307
307
|
pos.w
|
|
308
308
|
);
|
|
309
|
-
}`),J&&
|
|
309
|
+
}`),J&&M.main.add(x`vec2 segmentDir = normalize(segment.xy);
|
|
310
310
|
vSegmentSDF = noPerspectiveWrite((isJoin && isStartVertex) ? LARGE_HALF_FLOAT : (dot(pos.xy - segmentOrigin.xy, segmentDir)), pos.w);
|
|
311
|
-
vReverseSegmentSDF = noPerspectiveWrite((isJoin && !isStartVertex) ? LARGE_HALF_FLOAT : (dot(pos.xy - segmentEnd.xy, -segmentDir)), pos.w);`),z&&(
|
|
312
|
-
float stippleDistanceToScreenRatio = computeWorldToScreenRatio(segmentCenter);`),
|
|
311
|
+
vReverseSegmentSDF = noPerspectiveWrite((isJoin && !isStartVertex) ? LARGE_HALF_FLOAT : (dot(pos.xy - segmentEnd.xy, -segmentDir)), pos.w);`),z&&(F?M.main.add(`float stippleDistanceToScreenRatio = ${G?`groundMetersToScreenRatio`:`planarDistanceToScreenRatio`};`):M.main.add(x`vec3 segmentCenter = mix((nextPosition + position) * 0.5, (position + prevPosition) * 0.5, isEndVertex);
|
|
312
|
+
float stippleDistanceToScreenRatio = computeWorldToScreenRatio(segmentCenter);`),M.main.add(x`
|
|
313
313
|
float segmentLengthScreenDouble = length(segment.xy);
|
|
314
314
|
float segmentLengthScreen = segmentLengthScreenDouble * 0.5;
|
|
315
315
|
float discreteStippleDistanceToScreenRatio = discretizeStippleDistanceToScreenRatio(stippleDistanceToScreenRatio);
|
|
316
316
|
float segmentLengthRender = ${S(G,x`abs(mix(nextU0 - u0, u0 - prevU0, isEndVertex))`,x`length(mix(nextPosition - position, position - prevPosition, isEndVertex))`)};
|
|
317
317
|
|
|
318
|
-
${S(!
|
|
318
|
+
${S(!F||G,x`
|
|
319
319
|
float segmentStartRender = ${S(G,x`mix(u0, prevU0, isEndVertex)`,x`mix(u0, u0 - segmentLengthRender, isEndVertex)`)};
|
|
320
320
|
`)}
|
|
321
321
|
|
|
322
322
|
vStipplePatternStretch = stippleDistanceToScreenRatio / discreteStippleDistanceToScreenRatio;
|
|
323
|
-
`),
|
|
324
|
-
float startPseudoScreen = u0 * discreteStippleDistanceToScreenRatio - mix(0.0, segmentLengthPseudoScreen, isEndVertex);`):
|
|
325
|
-
float segmentLengthPseudoScreen = segmentLengthRender * discreteStippleDistanceToScreenRatio;`),
|
|
323
|
+
`),F?M.main.add(x`float segmentLengthPseudoScreen = segmentLengthScreen / pixelRatio * discreteStippleDistanceToScreenRatio / stippleDistanceToScreenRatio;
|
|
324
|
+
float startPseudoScreen = u0 * discreteStippleDistanceToScreenRatio - mix(0.0, segmentLengthPseudoScreen, isEndVertex);`):M.main.add(x`float startPseudoScreen = segmentStartRender * discreteStippleDistanceToScreenRatio;
|
|
325
|
+
float segmentLengthPseudoScreen = segmentLengthRender * discreteStippleDistanceToScreenRatio;`),M.uniforms.add(new b(`stipplePatternPixelSize`,e=>s(e))),M.main.add(x`
|
|
326
326
|
float patternLength = patternLineSize * stipplePatternPixelSize;
|
|
327
327
|
vec2 stippleDistanceLimits;
|
|
328
328
|
|
|
@@ -371,7 +371,7 @@ float segmentLengthPseudoScreen = segmentLengthRender * discreteStippleDistanceT
|
|
|
371
371
|
// Disable stipple distance limits on caps
|
|
372
372
|
vStippleLimitsAndCaps.zw = isJoin ? vec2(0.0) :
|
|
373
373
|
isStartVertex ? vec2(1.0, 0.0) : vec2(0.0, 1.0);
|
|
374
|
-
`)),
|
|
374
|
+
`)),M.main.add(x`
|
|
375
375
|
// Convert back into NDC
|
|
376
376
|
pos.xy = (pos.xy / viewport.zw) * pos.w;
|
|
377
377
|
pos.z = pos.z * pos.w;
|
|
@@ -379,13 +379,13 @@ float segmentLengthPseudoScreen = segmentLengthRender * discreteStippleDistanceT
|
|
|
379
379
|
vColor = getColor();
|
|
380
380
|
vColor.a = noPerspectiveWrite(vColor.a, pos.w);
|
|
381
381
|
|
|
382
|
-
${V&&!
|
|
382
|
+
${V&&!F?`pos.z -= EPS * pos.w;`:``}
|
|
383
383
|
|
|
384
384
|
// transform final position to camera space for slicing
|
|
385
385
|
vpos = (inverseProjectionMatrix * pos).xyz;
|
|
386
386
|
gl_Position = pos;
|
|
387
387
|
forwardObjectAndLayerIdColor();
|
|
388
|
-
}`),
|
|
388
|
+
}`),k.include(T,O),k.include(_),N.include(ne),N.include(C),N.include(e,O),N.main.add(`discardBySlice(vpos);`),N.code.add(x`float lineFeatheringFactor(float lineWidth, float lineDistance) {
|
|
389
389
|
float stretchFactor = float(vIsInsideJoin) > 0.5 ? noPerspectiveRead(vStretchFactor) : 1.0;
|
|
390
390
|
float featherWidth = 2.0;
|
|
391
391
|
float featherStartDistance = lineWidth - featherWidth / stretchFactor;
|
|
@@ -398,12 +398,12 @@ float straightFeather = (joinCenterDistance - straightFeatherStartDistance) / (l
|
|
|
398
398
|
feather = float(vIsInsideJoin) > 0.5 ? max(feather, straightFeather) : feather;
|
|
399
399
|
float coverage = min(lineWidth - aaWidth, 1.0);
|
|
400
400
|
return clamp(1.0 - feather, 0.0, coverage);
|
|
401
|
-
}`),
|
|
401
|
+
}`),N.main.add(x`
|
|
402
402
|
float lineWidth = noPerspectiveRead(vLineWidth);
|
|
403
403
|
float lineDistance = noPerspectiveRead(vLineDistance);
|
|
404
404
|
${S(X,x`float lineDistanceNorm = noPerspectiveRead(vLineDistanceNorm);`)}
|
|
405
|
-
`),Y&&
|
|
406
|
-
vec4 finalColor = albedo;`):(J&&
|
|
405
|
+
`),Y&&N.main.add(x`float nominalLineWidth = lineWidth - aaWidth;`),V?N.main.add(x`vec4 albedo = vec4(1.0, 0.0, 1.0, 1.0);
|
|
406
|
+
vec4 finalColor = albedo;`):(J&&N.main.add(x`
|
|
407
407
|
float sdf = noPerspectiveRead(min(vSegmentSDF, vReverseSegmentSDF));
|
|
408
408
|
vec2 fragmentPosition = vec2(min(sdf, 0.0), lineDistance);
|
|
409
409
|
|
|
@@ -414,7 +414,7 @@ vec4 finalColor = albedo;`):(J&&M.main.add(x`
|
|
|
414
414
|
if (capCoverage < alphaCutoff) {
|
|
415
415
|
discard;
|
|
416
416
|
}
|
|
417
|
-
`),Y?
|
|
417
|
+
`),Y?N.main.add(x`vec2 stipplePosition = vec2(
|
|
418
418
|
min(getStippleCapDistance(), 0.0) * nominalLineWidth,
|
|
419
419
|
lineDistance
|
|
420
420
|
);
|
|
@@ -422,11 +422,11 @@ float stippleRadius = length(stipplePosition);
|
|
|
422
422
|
float stippleCapSDF = (stippleRadius - nominalLineWidth) * 0.5;
|
|
423
423
|
float stippleCoverage = clamp(0.5 - stippleCapSDF, 0.0, 1.0);
|
|
424
424
|
float lineCoverage = min(lineFeatheringFactor(lineWidth, lineDistance), capCoverage);
|
|
425
|
-
float stippleAlpha = lineCoverage > 0.0 ? min(stippleCoverage, lineCoverage) / lineCoverage : 0.0;`):
|
|
426
|
-
color.a = noPerspectiveRead(color.a);`),H&&
|
|
425
|
+
float stippleAlpha = lineCoverage > 0.0 ? min(stippleCoverage, lineCoverage) / lineCoverage : 0.0;`):N.main.add(x`float stippleAlpha = getStippleAlpha(lineWidth);`),L!==11&&N.main.add(x`discardByStippleAlpha(stippleAlpha, alphaCutoff);`),N.uniforms.add(new y(`intrinsicColor`,e=>e.color)).main.add(x`vec4 color = intrinsicColor * vColor;
|
|
426
|
+
color.a = noPerspectiveRead(color.a);`),H&&N.uniforms.add(new y(`innerColor`,e=>e.innerColor??e.color),new b(`innerWidth`,(e,t)=>e.innerWidth*t.camera.pixelRatio)).main.add(x`float distToInner = abs(lineDistance) - innerWidth;
|
|
427
427
|
float innerAA = clamp(0.5 - distToInner, 0.0, 1.0);
|
|
428
428
|
float innerAlpha = innerColor.a + color.a * (1.0 - innerColor.a);
|
|
429
|
-
color = mix(color, vec4(innerColor.rgb, innerAlpha), innerAA);`),
|
|
429
|
+
color = mix(color, vec4(innerColor.rgb, innerAlpha), innerAA);`),N.main.add(`vec4 albedo = blendStipple(color, stippleAlpha);`),B&&(N.uniforms.add(new b(`falloff`,e=>e.falloff)),N.main.add(x`albedo.a *= pow(max(0.0, 1.0 - abs(lineDistanceNorm)), falloff);`)),N.main.add(x`albedo.a *= ${Y?`lineCoverage`:`lineFeatheringFactor(lineWidth, lineDistance)`};`),U&&(M.main.add(`vec4 animatedAlphaTimeStamps = ${Q.getTextureAttribute(`timeStamps`)};`),k.include(re,O),N.main.add(`albedo.a *= animatedAlpha();`)),I?(k.include(i,O),M.main.add(x`forwardLocalUp(position, localOrigin);`),M.main.add(`forwardLinearDepthToReadShadow();`),k.include(d,O),N.include(r,O),N.include(n,O),N.uniforms.add(a).main.add(x`vec3 normal = normalize(upNormal);
|
|
430
430
|
float additionalAmbientScale = additionalDirectedAmbientLight(normal);
|
|
431
431
|
float shadow = readFragmentShadow(additionalAmbientScale);
|
|
432
432
|
float ssao = evaluateAmbientOcclusionInverse();
|
|
@@ -435,4 +435,4 @@ vec3 viewDirection = normalize((inverseViewMatrix * vec4(vpos, 0.0)).xyz);
|
|
|
435
435
|
vec4 finalColor = vec4(
|
|
436
436
|
evaluateSceneLighting(normal, albedo.rgb, shadow, 1.0 - ssao, additionalLight,viewDirection, normal),
|
|
437
437
|
albedo.a
|
|
438
|
-
);`)):
|
|
438
|
+
);`)):N.main.add(`vec4 finalColor = albedo;`)),N.main.add(x`outputColorHighlightOLID(applySlice(finalColor, vpos), albedo.rgb);`),k}const A=Object.freeze(Object.defineProperty({__proto__:null,build:k,numRoundJoinSubdivisions:1},Symbol.toStringTag,{value:`Module`}));export{A as R,k as b,O as n};
|
package/chunks/Terrain.glsl.js
CHANGED
|
@@ -1,22 +1,21 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{translate as e}from"../core/libs/gl-matrix-2/math/mat4.js";import{create as t}from"../core/libs/gl-matrix-2/factories/mat4f64.js";import{normalize as n,set as r}from"../core/libs/gl-matrix-2/math/vec3.js";import{create as i}from"../core/libs/gl-matrix-2/factories/vec3f64.js";import{waterNormals as a}from"../views/3d/webgl-engine/core/shaderLibrary/bindUniforms.js";import{addLinearDepth as o}from"../views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepth.glsl.js";import{sliceDraw as s}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Transform as c}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{NormalAttribute as l}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/NormalAttribute.glsl.js";import{TextureCoordinateAttribute as u}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js";import{VertexTangent as d}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexTangent.glsl.js";import{outputDepth as f}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js";import{OutputHighlight as p}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{OutputHighlightOverlay as m}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlightOverlay.js";import{EvaluateAmbientOcclusion as h}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientOcclusion.glsl.js";import{EvaluateSceneLighting as g,addAmbientBoostFactor as _}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{
|
|
2
|
+
import{translate as e}from"../core/libs/gl-matrix-2/math/mat4.js";import{create as t}from"../core/libs/gl-matrix-2/factories/mat4f64.js";import{normalize as n,set as r}from"../core/libs/gl-matrix-2/math/vec3.js";import{create as i}from"../core/libs/gl-matrix-2/factories/vec3f64.js";import{waterNormals as a}from"../views/3d/webgl-engine/core/shaderLibrary/bindUniforms.js";import{addLinearDepth as o}from"../views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepth.glsl.js";import{sliceDraw as s}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Transform as c}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{NormalAttribute as l}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/NormalAttribute.glsl.js";import{TextureCoordinateAttribute as u}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js";import{VertexTangent as d}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexTangent.glsl.js";import{outputDepth as f}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js";import{OutputHighlight as p}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{OutputHighlightOverlay as m}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlightOverlay.js";import{EvaluateAmbientOcclusion as h}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientOcclusion.glsl.js";import{EvaluateSceneLighting as g,addAmbientBoostFactor as _}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{forwardLocalUp as v}from"../views/3d/webgl-engine/core/shaderLibrary/shading/forwardLocalUp.glsl.js";import{lightingGlobalFactor as y,mainLightDirection as b,mainLightIntensity as x}from"../views/3d/webgl-engine/core/shaderLibrary/shading/lightingUniforms.js";import{readShadowDraw as S}from"../views/3d/webgl-engine/core/shaderLibrary/shading/readShadow.glsl.js";import{OverlayTerrain as C}from"../views/3d/webgl-engine/core/shaderLibrary/terrain/Overlay.glsl.js";import{OverlayTerrainPassParameters as w,TerrainTexture as T}from"../views/3d/webgl-engine/core/shaderLibrary/terrain/TerrainTexture.glsl.js";import{viewNormal as E,nearFar as D}from"../views/3d/webgl-engine/core/shaderLibrary/util/cameraUniforms.js";import{addProjViewLocalOrigin as O,addCameraPosition as k}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float3BindUniform as A}from"../views/3d/webgl-engine/core/shaderModules/Float3BindUniform.js";import{glsl as j,If as M}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Matrix4DrawUniform as N}from"../views/3d/webgl-engine/core/shaderModules/Matrix4DrawUniform.js";import{alphaCutoff as P}from"../views/3d/webgl-engine/shaders/alphaCutoff.glsl.js";import{outputColorHighlightOLID as F}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js";import{ShaderBuilder as I}from"../views/webgl/ShaderBuilder.js";class L extends w{constructor(){super(...arguments),this.useStencil=!1}}function R(t){let i=new I,{attributes:w,vertex:L,fragment:R,varyings:V}=i;w.add(`position`,`vec3`),i.include(l,t),i.include(u,t);function H(){L.code.add(j`vec3 getNormal() {
|
|
3
3
|
float z = 1.0 - abs(normalCompressed.x) - abs(normalCompressed.y);
|
|
4
4
|
vec3 n = vec3(normalCompressed + vec2(normalCompressed.x >= 0.0 ? 1.0 : -1.0,
|
|
5
5
|
normalCompressed.y >= 0.0 ? 1.0 : -1.0) * min(z, 0.0), z);
|
|
6
6
|
return normalize(n);
|
|
7
|
-
}`)}O(L,t),i.include(c),R.include(P);let{output:U,overlayMode:W,tileBorders:G,transparencyMode:K,overlayEnabled:q,renderOccluded:J}=t,Y=K===2||K===3,X=q&&Y;switch(U){case 0:case 1:case 2:{i.include(T,t),R.include(g,t),q&&i.include(C,t);let o=W===2;o&&i.include(d,t),V.add(`vnormal`,`vec3`),V.add(`vpos`,`vec3`,{invariant:!0}),
|
|
7
|
+
}`)}O(L,t),i.include(c),R.include(P);let{output:U,overlayMode:W,tileBorders:G,transparencyMode:K,overlayEnabled:q,renderOccluded:J}=t,Y=K===2||K===3,X=q&&Y;switch(U){case 0:case 1:case 2:{i.include(T,t),R.include(g,t),q&&i.include(C,t);let o=W===2;o&&i.include(d,t),V.add(`vnormal`,`vec3`),V.add(`vpos`,`vec3`,{invariant:!0}),H(),L.main.add(j`
|
|
8
8
|
vpos = position;
|
|
9
9
|
vec3 positionWorld = position + localOrigin;
|
|
10
10
|
gl_Position = transformPosition(proj, view, vpos);
|
|
11
11
|
vnormal = getNormal();
|
|
12
|
-
upNormal = getLocalUp(position, localOrigin);
|
|
13
12
|
${M(o,j`forwardVertexTangent(vnormal);`)}
|
|
14
13
|
|
|
15
14
|
forwardTextureCoordinatesWithTransform(uv0);
|
|
16
15
|
${M(q,`setOverlayVTC(uv0);`)}
|
|
17
16
|
${M(G,`forwardTextureCoordinates();`)}
|
|
18
17
|
forwardLinearDepthToReadShadow();
|
|
19
|
-
`);let c=U===0&&!J?``:`discard`;i.include(S,t),R.include(s,t),R.include(g,t),R.include(h,t),i.include(F,t),k(R,t),_(R),R.uniforms.add(
|
|
18
|
+
`),i.include(v,t),L.main.add(j`forwardLocalUp(position, localOrigin);`);let c=U===0&&!J?``:`discard`;i.include(S,t),R.include(s,t),R.include(g,t),R.include(h,t),i.include(F,t),k(R,t),_(R),R.uniforms.add(y),R.uniforms.add(L.uniforms.get(`localOrigin`),new A(`viewDirection`,({camera:e})=>n(B,r(B,e.viewMatrix[12],e.viewMatrix[13],e.viewMatrix[14])))),o&&R.uniforms.add(a,new N(`view`,({origin:t},{camera:n})=>e(z,n.viewMatrix,t))),R.uniforms.add(b,x).main.add(j`
|
|
20
19
|
vec3 normal = normalize(vnormal);
|
|
21
20
|
float lightAlignment = dot(normal, mainLightDirection);
|
|
22
21
|
|
package/chunks/Water.glsl.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import e from"../core/Error.js";import{
|
|
3
|
-
if (waterColor.a < ${
|
|
2
|
+
import e from"../core/Error.js";import{UNIT_Z as t}from"../core/libs/gl-matrix-2/factories/vec3f64.js";import{sliceDraw as n}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 i}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/ObjectAndLayerIdColor.glsl.js";import{OutputHighlight as a}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{getLocalUp as o}from"../views/3d/webgl-engine/core/shaderLibrary/shading/getLocalUp.glsl.js";import{mainLightDirection as s,mainLightIntensity as c}from"../views/3d/webgl-engine/core/shaderLibrary/shading/lightingUniforms.js";import{NormalUtils as l}from"../views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js";import{readShadowDraw as u}from"../views/3d/webgl-engine/core/shaderLibrary/shading/readShadow.glsl.js";import{WaterColor as d}from"../views/3d/webgl-engine/core/shaderLibrary/shading/WaterColor.glsl.js";import{WaterDistortion as f}from"../views/3d/webgl-engine/core/shaderLibrary/shading/WaterDistortion.glsl.js";import{viewNormal as p,localUpView as m}from"../views/3d/webgl-engine/core/shaderLibrary/util/cameraUniforms.js";import{ColorConversion as h}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{addProjViewLocalOrigin as g,addCameraPosition as _}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float4PassUniform as v}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 b}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{outputColorHighlightOLID as x}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js";import{ShaderBuilder as S}from"../views/webgl/ShaderBuilder.js";import{alphaCutoff as C}from"../webscene/support/AlphaCutoff.js";function w(w){let T=new S,{vertex:E,fragment:D,varyings:O}=T,{output:k,draped:A,receiveShadows:j,spherical:M}=w;g(E,w),T.include(r),T.attributes.add(`position`,`vec3`),T.attributes.add(`uv0`,`vec2`);let N=new v(`waterColor`,e=>e.color);switch(O.add(`vpos`,`vec3`,{invariant:!0}),E.uniforms.add(N),T.include(u,w),k){case 0:case 1:case 2:if(T.include(f),T.include(d,w),T.include(x,w),A)return E.main.add(b`
|
|
3
|
+
if (waterColor.a < ${b.float(C)}) {
|
|
4
4
|
// Discard this vertex
|
|
5
5
|
gl_Position = vec4(1e38, 1e38, 1e38, 1.0);
|
|
6
6
|
return;
|
|
@@ -8,8 +8,8 @@ import e from"../core/Error.js";import{sliceDraw as t}from"../views/3d/webgl-eng
|
|
|
8
8
|
|
|
9
9
|
vpos = position;
|
|
10
10
|
gl_Position = transformPosition(proj, view, vpos);
|
|
11
|
-
`),
|
|
12
|
-
if (waterColor.a < ${
|
|
11
|
+
`),D.uniforms.add(N),D.main.add(b`fragColor = waterColor;`),T;O.add(`vuv`,`vec2`),E.main.add(b`
|
|
12
|
+
if (waterColor.a < ${b.float(C)}) {
|
|
13
13
|
// Discard this vertex
|
|
14
14
|
gl_Position = vec4(1e38, 1e38, 1e38, 1.0);
|
|
15
15
|
return;
|
|
@@ -17,26 +17,24 @@ import e from"../core/Error.js";import{sliceDraw as t}from"../views/3d/webgl-eng
|
|
|
17
17
|
|
|
18
18
|
vuv = uv0;
|
|
19
19
|
vpos = position;
|
|
20
|
-
vnormal = getLocalUp(vpos, localOrigin);
|
|
21
|
-
vtbnMatrix = getTBNMatrix(vnormal);
|
|
22
|
-
|
|
23
20
|
gl_Position = transformPosition(proj, view, vpos);
|
|
24
21
|
forwardLinearDepthToReadShadow();
|
|
25
|
-
`),
|
|
22
|
+
`),M?(E.include(l,w),O.add(`upWorld`,`vec3`),O.add(`tbnMatrix`,`mat3`),E.main.add(b`upWorld = getLocalUp(vpos, localOrigin);
|
|
23
|
+
tbnMatrix = getTBNMatrix(upWorld);`)):(D.constants.add(`upWorld`,`vec3`,t),D.main.add(b`mat3 tbnMatrix = mat3(1.0);`)),D.include(n,w),D.include(h),_(D,w),D.uniforms.add(s,c,N,new y(`timeElapsed`,({timeElapsed:e})=>e),E.uniforms.get(`view`),E.uniforms.get(`localOrigin`)).main.add(b`
|
|
26
24
|
discardBySlice(vpos);
|
|
27
25
|
// the created normal is in tangent space
|
|
28
26
|
vec4 tangentNormalFoam = getSurfaceNormalAndFoam(vuv, timeElapsed);
|
|
29
27
|
|
|
30
28
|
// we rotate the normal according to the tangent-bitangent-normal-Matrix
|
|
31
|
-
vec3 n = normalize(
|
|
29
|
+
vec3 n = normalize(tbnMatrix * tangentNormalFoam.xyz);
|
|
32
30
|
vec3 v = -normalize(vpos - cameraPosition);
|
|
33
|
-
float shadow = ${
|
|
31
|
+
float shadow = ${j?b`1.0 - readShadowMap(vpos)`:`1.0`};
|
|
34
32
|
vec4 vPosView = view * vec4(vpos, 1.0);
|
|
35
|
-
vec4 final = vec4(getWaterColor(n, v, mainLightDirection, waterColor.rgb, mainLightIntensity,
|
|
33
|
+
vec4 final = vec4(getWaterColor(n, v, mainLightDirection, waterColor.rgb, mainLightIntensity, upWorld, shadow, tangentNormalFoam.w, vPosView.xyz, vpos + localOrigin), waterColor.w);
|
|
36
34
|
|
|
37
35
|
fragColor = delinearizeGamma(final);
|
|
38
|
-
outputColorHighlightOLID(applySlice(fragColor, vpos), final.rgb);`);break;case 4:
|
|
39
|
-
if (waterColor.a < ${
|
|
36
|
+
outputColorHighlightOLID(applySlice(fragColor, vpos), final.rgb);`);break;case 4:T.include(f,w),E.main.add(b`
|
|
37
|
+
if (waterColor.a < ${b.float(C)}) {
|
|
40
38
|
// Discard this vertex
|
|
41
39
|
gl_Position = vec4(1e38, 1e38, 1e38, 1.0);
|
|
42
40
|
return;
|
|
@@ -44,10 +42,11 @@ import e from"../core/Error.js";import{sliceDraw as t}from"../views/3d/webgl-eng
|
|
|
44
42
|
|
|
45
43
|
vpos = position;
|
|
46
44
|
gl_Position = transformPosition(proj, view, vpos);
|
|
47
|
-
`),
|
|
45
|
+
`),D.include(n,w),D.main.add(b`discardBySlice(vpos);`),w.drapedNormals?(O.add(`vuv`,`vec2`),E.main.add(`vuv = uv0;`),D.uniforms.add(new y(`timeElapsed`,({timeElapsed:e})=>e)).main.add(b`vec4 tangentNormalFoam = getSurfaceNormalAndFoam(vuv, timeElapsed);
|
|
48
46
|
tangentNormalFoam.xyz = normalize(tangentNormalFoam.xyz);
|
|
49
|
-
fragColor = vec4((tangentNormalFoam.xyz + vec3(1.0)) * 0.5, tangentNormalFoam.a);`)):(
|
|
50
|
-
|
|
47
|
+
fragColor = vec4((tangentNormalFoam.xyz + vec3(1.0)) * 0.5, tangentNormalFoam.a);`)):M?(E.include(o,w),O.add(`normalView`,`vec3`),E.uniforms.add(p).main.add(b`vec3 upWorld = getLocalUp(vpos, localOrigin);
|
|
48
|
+
normalView = normalize((viewNormal * vec4(upWorld, 1.0)).xyz);`),D.main.add(b`fragColor = vec4(vec3(0.5) + 0.5 * normalView, 1.0);`)):D.uniforms.add(m).main.add(b`fragColor = vec4(vec3(0.5) + 0.5 * localUpView, 1.0);`);break;case 3:E.main.add(b`
|
|
49
|
+
if (waterColor.a < ${b.float(C)}) {
|
|
51
50
|
// Discard this vertex
|
|
52
51
|
gl_Position = vec4(1e38, 1e38, 1e38, 1.0);
|
|
53
52
|
return;
|
|
@@ -55,17 +54,17 @@ fragColor = vec4((tangentNormalFoam.xyz + vec3(1.0)) * 0.5, tangentNormalFoam.a)
|
|
|
55
54
|
|
|
56
55
|
vpos = position;
|
|
57
56
|
gl_Position = transformPosition(proj, view, vpos);
|
|
58
|
-
`),
|
|
59
|
-
if (waterColor.a < ${
|
|
57
|
+
`),D.include(n,w),D.main.add(`discardBySlice(vpos);`);break;case 10:T.include(a,w),E.main.add(b`
|
|
58
|
+
if (waterColor.a < ${b.float(C)}) {
|
|
60
59
|
// Discard this vertex
|
|
61
60
|
gl_Position = vec4(1e38, 1e38, 1e38, 1.0);
|
|
62
61
|
return;
|
|
63
62
|
}
|
|
64
63
|
|
|
65
64
|
vpos = position;
|
|
66
|
-
gl_Position = transformPosition(proj, view, vpos);`),
|
|
67
|
-
calculateOcclusionAndOutputHighlight();`);break;case 11:
|
|
68
|
-
if (waterColor.a < ${
|
|
65
|
+
gl_Position = transformPosition(proj, view, vpos);`),D.include(n,w),D.main.add(b`discardBySlice(vpos);
|
|
66
|
+
calculateOcclusionAndOutputHighlight();`);break;case 11:T.include(i,w),E.main.add(b`
|
|
67
|
+
if (waterColor.a < ${b.float(C)}) {
|
|
69
68
|
// Discard this vertex
|
|
70
69
|
gl_Position = vec4(1e38, 1e38, 1e38, 1.0);
|
|
71
70
|
return;
|
|
@@ -73,5 +72,5 @@ calculateOcclusionAndOutputHighlight();`);break;case 11:S.include(r,x),C.main.ad
|
|
|
73
72
|
|
|
74
73
|
vpos = position;
|
|
75
74
|
gl_Position = transformPosition(proj, view, vpos);
|
|
76
|
-
forwardObjectAndLayerIdColor();`),
|
|
77
|
-
outputObjectAndLayerIdColor();`);break;default:throw new e(`shaderbuilder:missing-output`,`Unimplemented shader output ${
|
|
75
|
+
forwardObjectAndLayerIdColor();`),D.include(n,w),D.main.add(b`discardBySlice(vpos);
|
|
76
|
+
outputObjectAndLayerIdColor();`);break;default:throw new e(`shaderbuilder:missing-output`,`Unimplemented shader output ${k} for WaterTechnique`)}return T}const T=Object.freeze(Object.defineProperty({__proto__:null,build:w},Symbol.toStringTag,{value:`Module`}));export{T as W,w as b};
|
package/config.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import"./core/has.js";import{deepMerge as e}from"./core/object.js";const t={apiKey:void 0,apiKeys:{scopes:[]},applicationName:``,applicationUrl:globalThis.location?.href,assetsPath:``,fontsUrl:`https://static.arcgis.com/fonts`,geometryServiceUrl:`https://utility.arcgisonline.com/arcgis/rest/services/Geometry/GeometryServer`,geoRSSServiceUrl:`https://utility.arcgis.com/sharing/rss`,kmlServiceUrl:`https://utility.arcgis.com/sharing/kml`,userPrivilegesApplied:!0,portalUrl:`https://www.arcgis.com`,respectPrefersReducedMotion:!0,routeServiceUrl:`https://route-api.arcgis.com/arcgis/rest/services/World/Route/NAServer/Route_World`,workers:{loaderConfig:{has:{},paths:{},map:{},packages:[]}},request:{crossOriginNoCorsDomains:null,httpsDomains:[`arcgis.com`,`arcgisonline.com`,`esrikr.com`,`premiumservices.blackbridge.com`,`esripremium.accuweather.com`,`gbm.digitalglobe.com`,`firstlook.digitalglobe.com`,`msi.digitalglobe.com`],interceptors:[],internalInterceptors:[],maxUrlLength:2e3,priority:`high`,proxyRules:[],proxyUrl:null,timeout:62e3,trustedServers:[],useIdentity:!0},log:{interceptors:[],level:null}};globalThis.esriConfig&&(e(t,globalThis.esriConfig,!0),delete t.has),t.assetsPath||(t.assetsPath=`https://cdn.jsdelivr.net/npm/@arcgis/core@6.0.0-next.
|
|
2
|
+
import"./core/has.js";import{deepMerge as e}from"./core/object.js";const t={apiKey:void 0,apiKeys:{scopes:[]},applicationName:``,applicationUrl:globalThis.location?.href,assetsPath:``,fontsUrl:`https://static.arcgis.com/fonts`,geometryServiceUrl:`https://utility.arcgisonline.com/arcgis/rest/services/Geometry/GeometryServer`,geoRSSServiceUrl:`https://utility.arcgis.com/sharing/rss`,kmlServiceUrl:`https://utility.arcgis.com/sharing/kml`,userPrivilegesApplied:!0,portalUrl:`https://www.arcgis.com`,respectPrefersReducedMotion:!0,routeServiceUrl:`https://route-api.arcgis.com/arcgis/rest/services/World/Route/NAServer/Route_World`,workers:{loaderConfig:{has:{},paths:{},map:{},packages:[]}},request:{crossOriginNoCorsDomains:null,httpsDomains:[`arcgis.com`,`arcgisonline.com`,`esrikr.com`,`premiumservices.blackbridge.com`,`esripremium.accuweather.com`,`gbm.digitalglobe.com`,`firstlook.digitalglobe.com`,`msi.digitalglobe.com`],interceptors:[],internalInterceptors:[],maxUrlLength:2e3,priority:`high`,proxyRules:[],proxyUrl:null,timeout:62e3,trustedServers:[],useIdentity:!0},log:{interceptors:[],level:null}};globalThis.esriConfig&&(e(t,globalThis.esriConfig,!0),delete t.has),t.assetsPath||(t.assetsPath=`https://cdn.jsdelivr.net/npm/@arcgis/core@6.0.0-next.28/assets`,t.defaultAssetsPath=t.assetsPath);export{t as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import e from"./ObjectPool.js";
|
|
2
|
+
import has from"./has.js";import e from"./ObjectPool.js";const t=()=>!!has(`esri-tests-disable-memory-pools`);class n extends e{constructor(){super(...arguments),this._set=new Set}destroy(){super.destroy(),this._set=null}acquire(...e){let t=super.acquire(...e);return this._set.delete(t),t}release(e){!e||t()||this._set.has(e)||(super.release(e),this._set.add(e))}_dispose(e){this._set.delete(e),super._dispose(e)}}export{n as ReentrantObjectPool};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{isTypedArray as e}from"./typedArrayUtil.js";function t(e){return 32+e.length}const n=16;function r(e){if(!e)return 0;let t=
|
|
2
|
+
import has from"./has.js";import{isTypedArray as e}from"./typedArrayUtil.js";function t(e){return 32+e.length}const n=16;function r(e){if(!e)return 0;let t=u;for(let n in e)e.hasOwnProperty(n)&&(t+=o(e[n],!1));return t}function i(e){if(!e)return 0;if(typeof e[0]==`number`)return s(e);if(Array.isArray(e))return a(e);let t=u;for(let n in e)e.hasOwnProperty(n)&&(t+=o(e[n]));return t}function a(e){let t=e.length;if(t===0||typeof e[0]==`number`)return l(e,8);let n=d;for(let r=0;r<t;r++)n+=o(e[r]);return n}function o(e,n=!0){switch(typeof e){case`object`:return n?i(e):u;case`string`:return t(e);case`number`:return 16;case`boolean`:return 4;default:return 8}}function s(...e){return e.reduce((e,t)=>e+c(t),0)}function c(t,n=16){return t?e(t)?t.byteLength+p:Array.isArray(t)?l(t,n):0:0}function l(e,t){return d+e.length*t}const u=32,d=16,f=!has(`ios`)&&(has(`chrome`)||has(`opr`))?4:8,p=145,m=64;export{d as baseArrayMemory,u as baseObjectMemory,p as baseTypedArrayMemory,m as baseTypedSubArrayMemory,c as estimateArrayMemory,r as estimateAttributesMemory,l as estimateFixedArrayMemory,i as estimateNestedObjectMemory,s as estimateNumberArrayMemory,n as estimateNumberMemory,t as estimateStringMemory,f as integerArrayElementBytes};
|
package/core/workers/workers.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{deprecatedPropertyValue as
|
|
2
|
+
import{deprecated as e,deprecatedPropertyValue as t}from"../deprecate.js";import n from"../Error.js";import{handlesGroup as r}from"../handleUtils.js";import has from"../has.js";import i from"../Logger.js";import{getOrCreateMapValue as a}from"../MapUtils.js";import{throwIfAborted as o}from"../promiseUtils.js";import s from"./Connection.js";import{register as c}from"./connectionRegistry.js";import{registry as l}from"./registry.js";import u from"./RemoteClient.js";import d from"./WorkerOwner.js";function f(){let e=has(`min-workers-pool-size`)??2,t=has(`max-workers-pool-size`)??8,n=has(`host-browser`)&&navigator.hardwareConcurrency!==void 0?navigator.hardwareConcurrency-1:t;return Math.min(Math.max(e,n),t)}const p=[],m=new Map;let h=f(),g=0;function _(){h=f();g=0;m.clear()}function v(){D()}async function y(e,t={},n){let r=new s,{registryTarget:i,...a}=t;await r.open(e,a,n);i&&c(i,r);return r}async function b(r,o={}){if(typeof r!=`string`)throw new n(`workers:undefined-module`,`modulePath is missing`);let s=o.strategy||`distributed`;s===`local`&&e(i.getLogger(`esri.core.workers`),'The `open()` strategy "local" is deprecated.',{version:`5.2`,warnOnce:!0});let c=o.isESM??!1;!c&&!Object.hasOwn(l,r)&&t(i.getLogger(`esri.core.workers`),`isESM`,`false`,{replacement:"Call `open` using the `isESM` option value `true`, and author the worker as an ES module.",see:`https://developers.arcgis.com/javascript/latest/references/core/core/workers/#open`,version:`5.2`,warnOnce:!0});let u=a(m,r,()=>new O(r,c));switch(s){case`local`:return x(u,o);default:return S(u,o)}}async function x({modulePath:e},t){let n=await u.loadWorker(e);n||=(t.isESM,await import(
|
|
3
3
|
/* @vite-ignore */
|
|
4
4
|
/* webpackIgnore: true */
|
|
5
5
|
e))/* @vite-ignore */
|
|
6
6
|
/* webpackIgnore: true */
|
|
7
|
-
;
|
|
7
|
+
;o(t.signal);let r=t.client||n;return await y([u.connect(n,t.schedule)],{...t,client:r})}async function S(e,t){await D();o(t.signal);let n=[];return y(C(e,t.strategy===`dedicated`?1:t.maxNumWorkers&&t.maxNumWorkers>0?Math.min(t.maxNumWorkers,h):h,t.signal,n),t,()=>r(n).remove())}function*C(e,t,n,r){let i=new Set;for(let a=0;a<t;a++){let t=e.getNextProxyId(e=>!i.has(e));if(t==null)break;i.add(t);r.push(e.useProxy(t));yield p[t].open(e.modulePath,e.isESM,{signal:n})}}function w(){if(T){E.abort();T=null}for(let e=0;e<p.length;e++)p[e]&&p[e].terminate();p.length=0;_()}let T=null,E;async function D(){if(T)return T;E=new AbortController;let e=[];for(let t=0;t<h;t++){let n=d.create(t).then(e=>{p[t]=e;return e});e.push(n)}T=Promise.all(e);return T}class O{constructor(e,t){this.modulePath=e;this.isESM=t;this._proxyUseCount=new Map}useProxy(e){this._proxyUseCount.set(e,this._getProxyUseCount(e)+1);return{remove:()=>this._unuseProxy(e)}}getNextProxyId(e){let t=Array.from(this._proxyUseCount.keys()),n,r=g;g=(g+1)%h;for(let i=0;i<t.length;i++){let a=t[(r+i)%t.length];if(!e(a))continue;t.length===h&&(n??=a);if(this._getProxyUseCount(a)===0)return a}if(n!=null)return n;for(let t=0;t<h;t++){let n=(t+r)%h;if(e(n)&&!this._proxyUseCount.has(n))return n}}_unuseProxy(e){this._proxyUseCount.set(e,Math.max(0,this._getProxyUseCount(e)-1))}_getProxyUseCount(e){return this._proxyUseCount.get(e)??0}}export{s as Connection,u as RemoteClient,v as initialize,b as open,y as openWithPorts,w as terminate};
|
package/core/workers.d.ts
CHANGED
|
@@ -34,7 +34,7 @@ import type { AbortOptions } from "./promiseUtils.js";
|
|
|
34
34
|
* ---------------|------------
|
|
35
35
|
* distributed | The module is loaded in each available worker. Each invocation is handled by an available worker. Use this strategy when the module is stateless and does not need to retain data between invocations.
|
|
36
36
|
* dedicated | The module is loaded in a single worker, and all invocations are handled by that worker. Use this strategy when the module needs to retain state between invocations or maintain stateful communication with the main thread.
|
|
37
|
-
* local | The module runs on the main thread instead of in a worker. Use this strategy when worker execution is unavailable or not desired. This can affect UI responsiveness.
|
|
37
|
+
* local | Deprecated since 5.2. The module runs on the main thread instead of in a worker. Use this strategy when worker execution is unavailable or not desired. This can affect UI responsiveness. To migrate, call the module’s functions directly on the main thread instead of using `workers.open()`.
|
|
38
38
|
*/
|
|
39
39
|
export type OpenStrategy = "distributed" | "dedicated" | "local";
|
|
40
40
|
|
|
@@ -12,13 +12,13 @@ export interface DynamicChoiceInputProperties extends SingleChoiceInputPropertie
|
|
|
12
12
|
*
|
|
13
13
|
* @since 5.2
|
|
14
14
|
* @see [FieldElement](https://developers.arcgis.com/javascript/latest/references/core/form/elements/FieldElement/)
|
|
15
|
-
* @see [Sample - Edit features with dynamic choices
|
|
15
|
+
* @see [Sample - Edit features with dynamic choices](https://developers.arcgis.com/javascript/latest/sample-code/editor-dynamic-choices/)
|
|
16
16
|
* @example
|
|
17
17
|
* // Creates a new dynamic choice input for a field element within a form
|
|
18
18
|
* const dynamicChoiceInput = new DynamicChoiceInput({
|
|
19
19
|
* choiceExpression: dynamicChoiceExpression.name, // reference to the defined expression
|
|
20
20
|
* noValueOptionLabel: "No Value (null)", // label for the option representing a null value
|
|
21
|
-
* showNoValueOption: false, // whether to display the choice representing a null value (
|
|
21
|
+
* showNoValueOption: false, // whether to display the choice representing a null value (i.e., "No Value")
|
|
22
22
|
* });
|
|
23
23
|
*/
|
|
24
24
|
export default class DynamicChoiceInput extends SingleChoiceInput {
|