@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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[8247],{78247(e,t,i){i.d(t,{A:()=>pe});var n,o=i(32198),s=i(69540),r=i(25482),p=i(3483),l=i(91429),a=i(36005);let u=n=class extends r.o{constructor(e){super(e),this.expression=null,this.name=null,this.returnType="boolean",this.title=null}clone(){return new n({name:this.name,title:this.title,expression:this.expression,returnType:this.returnType})}};(0,o.Cg)([(0,l.MZ)({type:String,json:{write:!0}})],u.prototype,"expression",void 0),(0,o.Cg)([(0,l.MZ)({type:String,json:{write:!0}})],u.prototype,"name",void 0),(0,o.Cg)([(0,l.MZ)({type:["boolean","date","dictionary","number","string"],json:{write:!0}})],u.prototype,"returnType",void 0),(0,o.Cg)([(0,l.MZ)({type:String,json:{write:!0}})],u.prototype,"title",void 0),u=n=(0,o.Cg)([(0,l.$K)("esri.form.ExpressionInfo")],u);const y=u;var m=i(4718),d=i(79901),c=i(43937),h=i(28787),g=i(78888);let w=class extends((0,s.OU)(r.o)){constructor(){super(...arguments),this.type=null}};(0,o.Cg)([(0,l.MZ)()],w.prototype,"type",void 0),w=(0,o.Cg)([(0,l.$K)("esri.form.elements.inputs.attachments.Input")],w);const C=w,x=["any","capture","upload"];let M=class extends C{constructor(e){super(e),this.type="audio",this.inputMethod="any",this.maxDuration=null}};(0,o.Cg)([(0,l.MZ)({type:["audio"],readOnly:!0,json:{write:!0}})],M.prototype,"type",void 0),(0,o.Cg)([(0,l.MZ)({type:x,json:{write:!0}})],M.prototype,"inputMethod",void 0),(0,o.Cg)([(0,l.MZ)({type:Number,json:{write:!0}})],M.prototype,"maxDuration",void 0),M=(0,o.Cg)([(0,l.$K)("esri.form.elements.inputs.attachments.AudioInput")],M);const v=M;let f=class extends C{constructor(e){super(e),this.type="document",this.maxFileSize=null}};(0,o.Cg)([(0,l.MZ)({type:["document"],readOnly:!0,json:{write:!0}})],f.prototype,"type",void 0),(0,o.Cg)([(0,l.MZ)({type:Number,json:{write:!0}})],f.prototype,"maxFileSize",void 0),f=(0,o.Cg)([(0,l.$K)("esri.form.elements.inputs.attachments.DocumentInput")],f);const b=f;let Z=class extends C{constructor(e){super(e),this.type="image",this.inputMethod="any",this.maxImageSize=null}};(0,o.Cg)([(0,l.MZ)({type:["image"],readOnly:!0,json:{write:!0}})],Z.prototype,"type",void 0),(0,o.Cg)([(0,l.MZ)({type:x,json:{write:!0}})],Z.prototype,"inputMethod",void 0),(0,o.Cg)([(0,l.MZ)({type:Number,json:{write:!0}})],Z.prototype,"maxImageSize",void 0),Z=(0,o.Cg)([(0,l.$K)("esri.form.elements.inputs.attachments.ImageInput")],Z);const j=Z;let E=class extends C{constructor(e){super(e),this.type="video",this.inputMethod="any",this.maxDuration=null}};(0,o.Cg)([(0,l.MZ)({type:["video"],readOnly:!0,json:{write:!0}})],E.prototype,"type",void 0),(0,o.Cg)([(0,l.MZ)({type:x,json:{write:!0}})],E.prototype,"inputMethod",void 0),(0,o.Cg)([(0,l.MZ)({type:Number,json:{write:!0}})],E.prototype,"maxDuration",void 0),E=(0,o.Cg)([(0,l.$K)("esri.form.elements.inputs.attachments.VideoInput")],E);const S=E;let T=class extends C{constructor(e){super(e),this.type="signature",this.inputMethod="any"}};(0,o.Cg)([(0,l.MZ)({type:["signature"],readOnly:!0,json:{write:!0}})],T.prototype,"type",void 0),(0,o.Cg)([(0,l.MZ)({type:x,json:{write:!0}})],T.prototype,"inputMethod",void 0),T=(0,o.Cg)([(0,l.$K)("esri.form.elements.inputs.attachments.SignatureInput")],T);const K=T;function A(e){return{nestableTypes:{base:C,key:"type",typeMap:{audio:v,document:b,image:j,signature:K,video:S}},allTypes:{base:C,key:"type",typeMap:{attachment:e,audio:v,document:b,image:j,signature:K,video:S}}}}let N=class extends C{constructor(e){super(e),this.type="attachment",this.attachmentAssociationType="exact"}get inputTypes(){return this._get("inputTypes")??null}set inputTypes(e){this._set("inputTypes",e)}castInputs(e){return i=I,(t=e)?t.map(e=>(0,g.aq)(i.nestableTypes,e)):null;var t,i}readInputs(e,t){let i=function(e,t){if(!e)return null;let i=t.nestableTypes.typeMap;return e.filter(e=>i[e.type]).map(e=>i[e.type].fromJSON(e))}(t.inputTypes,I);return null==i||Array.isArray(i)&&i.length<1?[new j,new b,new S,new v]:i}writeInputs(e,t){(null==e||Array.isArray(e)&&e.length<1)&&(e=[new j,new b,new S,new v]),t.inputTypes=function(e,t){if(!e)return null;let i=t.nestableTypes.typeMap;return e.filter(e=>i[e.type]).map(e=>e.toJSON())}(e,I)}};(0,o.Cg)([(0,l.MZ)({type:["attachment"],readOnly:!0,json:{write:!0}})],N.prototype,"type",void 0),(0,o.Cg)([(0,l.MZ)({type:["any","exact","exactOrNone"],json:{write:!0}})],N.prototype,"attachmentAssociationType",void 0),(0,o.Cg)([(0,l.MZ)({json:{write:{isRequired:!0,writerEnsuresNonNull:!0}}})],N.prototype,"inputTypes",null),(0,o.Cg)([(0,l.wg)("inputTypes")],N.prototype,"castInputs",null),(0,o.Cg)([(0,a.w)("inputTypes")],N.prototype,"readInputs",null),(0,o.Cg)([(0,c.K)("inputTypes")],N.prototype,"writeInputs",null),N=(0,o.Cg)([(0,l.$K)("esri.form.elements.inputs.attachments.AttachmentInput")],N);const I=A(N);var O;const k=A(N);let R=O=class extends h.A{constructor(e){super(e),this.allowUserRename=!0,this.attachmentKeyword=null,this.displayFilename=!1,this.editableExpression=null,this.filenameExpression='StandardizeFilename(`${$formElement.attachmentKeyword}_${Text(Now(), "YMMDDHHmmss")}`)',this.input=null,this.maxAttachmentCount=null,this.minAttachmentCount=null,this.type="attachment",this.useOriginalFilename=!0}clone(){return new O({allowUserRename:this.allowUserRename,attachmentKeyword:this.attachmentKeyword,description:this.description,displayFilename:this.displayFilename,editableExpression:this.editableExpression,filenameExpression:this.filenameExpression,input:this.input?.clone(),label:this.label,maxAttachmentCount:this.maxAttachmentCount,minAttachmentCount:this.minAttachmentCount,useOriginalFilename:this.useOriginalFilename,visibilityExpression:this.visibilityExpression})}};(0,o.Cg)([(0,l.MZ)({type:Boolean,json:{write:!0}})],R.prototype,"allowUserRename",void 0),(0,o.Cg)([(0,l.MZ)({type:String,json:{write:{isRequired:!0}}})],R.prototype,"attachmentKeyword",void 0),(0,o.Cg)([(0,l.MZ)({type:Boolean,json:{write:!0}})],R.prototype,"displayFilename",void 0),(0,o.Cg)([(0,l.MZ)({type:String,json:{write:!0}})],R.prototype,"editableExpression",void 0),(0,o.Cg)([(0,l.MZ)({type:String,json:{write:!0}})],R.prototype,"filenameExpression",void 0),(0,o.Cg)([(0,l.MZ)({types:k.allTypes,json:{read:{source:"inputType"},write:{target:"inputType",isRequired:!0}}})],R.prototype,"input",void 0),(0,o.Cg)([(0,l.MZ)({type:Number,json:{write:!0}})],R.prototype,"maxAttachmentCount",void 0),(0,o.Cg)([(0,l.MZ)({type:Number,json:{write:!0}})],R.prototype,"minAttachmentCount",void 0),(0,o.Cg)([(0,l.MZ)({type:["attachment"],readOnly:!0,json:{read:!1,write:!0}})],R.prototype,"type",void 0),(0,o.Cg)([(0,l.MZ)({type:Boolean,json:{write:!0}})],R.prototype,"useOriginalFilename",void 0),R=O=(0,o.Cg)([(0,l.$K)("esri.form.elements.AttachmentElement")],R);const $=R;var F,V=i(89909),L=i(49852);let B=F=class extends h.A{constructor(e){super(e),this.displayCount=null,this.displayType="list",this.editableExpression=null,this.orderByFields=null,this.relationshipId=null,this.type="relationship"}clone(){return new F({description:this.description,displayCount:this.displayCount,displayType:this.displayType,editableExpression:this.editableExpression,label:this.label,orderByFields:(0,m.o8)(this.orderByFields),relationshipId:this.relationshipId,visibilityExpression:this.visibilityExpression})}};(0,o.Cg)([(0,l.MZ)({type:Number,json:{write:!0}})],B.prototype,"displayCount",void 0),(0,o.Cg)([(0,l.MZ)({type:["list"],json:{write:!0}})],B.prototype,"displayType",void 0),(0,o.Cg)([(0,l.MZ)({type:String,json:{write:!0}})],B.prototype,"editableExpression",void 0),(0,o.Cg)([(0,l.MZ)({type:[L.A],json:{write:!0}})],B.prototype,"orderByFields",void 0),(0,o.Cg)([(0,l.MZ)({type:Number,json:{write:!0}})],B.prototype,"relationshipId",void 0),(0,o.Cg)([(0,l.MZ)({type:["relationship"],json:{read:!1,write:!0}})],B.prototype,"type",void 0),B=F=(0,o.Cg)([(0,l.$K)("esri.form.elements.RelationshipElement")],B);const D=B;var q;let W=q=class extends h.A{constructor(e){super(e),this.text=null,this.textFormat="plain-text",this.type="text"}clone(){return new q({text:this.text,textFormat:this.textFormat,visibilityExpression:this.visibilityExpression})}};(0,o.Cg)([(0,l.MZ)({type:String,json:{write:!0}})],W.prototype,"text",void 0),(0,o.Cg)([(0,l.MZ)({type:String,json:{write:!0}})],W.prototype,"textFormat",void 0),(0,o.Cg)([(0,l.MZ)({type:["text"],readOnly:!0,json:{read:!1,write:!0}})],W.prototype,"type",void 0),W=q=(0,o.Cg)([(0,l.$K)("esri.form.elements.TextElement")],W);const G=W;var U=i(83342);let _=class extends((0,s.OU)(h.A)){constructor(e){super(e),this.associationTypes=null,this.editableExpression=null,this.type="utilityNetworkAssociations"}};(0,o.Cg)([(0,l.MZ)({type:[U.A],json:{write:{isRequired:!0}}})],_.prototype,"associationTypes",void 0),(0,o.Cg)([(0,l.MZ)({type:String,json:{write:!0}})],_.prototype,"editableExpression",void 0),(0,o.Cg)([(0,l.MZ)({type:["utilityNetworkAssociations"],json:{read:!1,write:!0}})],_.prototype,"type",void 0),_=(0,o.Cg)([(0,l.$K)("esri.form.elements.UtilityNetworkAssociationsElement")],_);const z=_,P=e=>"field"===e.type,H=e=>"group"===e.type,J=e=>"text"===e.type;function Y(e){return{typesWithGroup:{base:h.A,key:"type",typeMap:{attachment:$,field:V.A,group:e,relationship:D,text:G,utilityNetworkAssociations:z}},typesWithoutGroup:{base:h.A,key:"type",typeMap:{attachment:$,field:V.A,relationship:D,text:G,utilityNetworkAssociations:z}}}}function Q(e,t,i=!0){if(!e)return null;let n=i?t.typesWithGroup.typeMap:t.typesWithoutGroup.typeMap;return e.filter(e=>n[e.type]).map(e=>n[e.type].fromJSON(e))}function X(e,t,i=!0){if(!e)return null;let n=i?t.typesWithGroup.typeMap:t.typesWithoutGroup.typeMap;return e.filter(e=>n[e.type]).map(e=>e.toJSON())}function ee(e,t,i=!0){return e?e.map(e=>(0,g.aq)(i?t.typesWithGroup:t.typesWithoutGroup,e)):null}var te;let ie=te=class extends h.A{constructor(e){super(e),this.initialState="expanded",this.type="group"}get elements(){return this._get("elements")??null}set elements(e){this._set("elements",e)}castElements(e){return ee(e,ne,!1)}readElements(e,t){return Q(t.formElements,ne,!1)}writeElements(e,t){t.formElements=X(e,ne,!1)}clone(){return new te({description:this.description,elements:(0,m.o8)(this.elements),initialState:this.initialState,label:this.label,visibilityExpression:this.visibilityExpression})}};(0,o.Cg)([(0,l.MZ)({json:{write:!0}})],ie.prototype,"elements",null),(0,o.Cg)([(0,d.w)("elements")],ie.prototype,"castElements",null),(0,o.Cg)([(0,a.w)("elements",["formElements"])],ie.prototype,"readElements",null),(0,o.Cg)([(0,c.K)("elements")],ie.prototype,"writeElements",null),(0,o.Cg)([(0,l.MZ)({type:["collapsed","expanded"],json:{write:!0}})],ie.prototype,"initialState",void 0),(0,o.Cg)([(0,l.MZ)({type:String,json:{read:!1,write:!0}})],ie.prototype,"type",void 0),ie=te=(0,o.Cg)([(0,l.$K)("esri.form.elements.GroupElement")],ie);const ne=Y(ie),oe=ie;var se=i(30524);const re=Y(oe);let pe=class extends((0,s.OU)(r.o)){constructor(e){super(e),this.description=null,this.expressionInfos=null,this.preserveFieldValuesWhenHidden=!1,this.supportsAttachmentElements=!1,this.title=null}get elements(){return this._get("elements")??null}set elements(e){this._set("elements",e)}castElements(e){return ee(e,re)}readElements(e,t){return Q(t.formElements,re)}writeElements(e,t){t.formElements=X(e,re)}async getFieldsUsed(e,t){let i=new Set,{description:n,elements:o,expressionInfos:s,title:r}=this;if(ue(i,e,n),ue(i,e,r),!o)return[];let p=function(e,t){if(!t||0===t.length)return[];let i=ae(e),n=[];for(let e of t)i.has(e.name)&&n.push(e.expression);return n}(o,s).map(t=>(0,se.Dx)(i,e,null,t));await Promise.all(p);for(let n of o)le(i,{fieldsIndex:e,relationships:t},n);return Array.from(i).sort()}};function le(e,t,i){let{fieldsIndex:n}=t;if(n?.fields.length!==e.size)switch(ue(e,n,i.label),ue(e,n,i.description),i.type){case"field":(0,se.rq)(e,n,i.fieldName);break;case"group":i.elements.forEach(i=>le(e,t,i));break;case"relationship":if(t.relationships){let o=t.relationships.find(e=>e.id===i.relationshipId);o&&(0,se.rq)(e,n,o.keyField)}(0,se._w)(e,n,i.orderByFields?.map(e=>e.field));break;case"text":ue(e,n,i.text)}}function ae(e){let t=new Set;for(let i of e)if((0,p.kb)(t,i.visibilityExpression),!J(i))if(H(i))(0,p.FB)(t,ae(i.elements));else if((0,p.kb)(t,i.editableExpression),P(i)){let{requiredExpression:e,valueExpression:n}=i;(0,p.FB)(t,[e,n])}return t}function ue(e,t,i){(0,se._w)(e,t,(0,se.nw)(i))}(0,o.Cg)([(0,l.MZ)({type:String,json:{write:!0}})],pe.prototype,"description",void 0),(0,o.Cg)([(0,l.MZ)({json:{write:!0}})],pe.prototype,"elements",null),(0,o.Cg)([(0,l.wg)("elements")],pe.prototype,"castElements",null),(0,o.Cg)([(0,a.w)("elements",["formElements"])],pe.prototype,"readElements",null),(0,o.Cg)([(0,c.K)("elements")],pe.prototype,"writeElements",null),(0,o.Cg)([(0,l.MZ)({type:[y],json:{write:!0}})],pe.prototype,"expressionInfos",void 0),(0,o.Cg)([(0,l.MZ)({type:Boolean,json:{default:!1,write:!0}})],pe.prototype,"preserveFieldValuesWhenHidden",void 0),(0,o.Cg)([(0,l.MZ)({type:Boolean,json:{default:!1,write:!0}})],pe.prototype,"supportsAttachmentElements",void 0),(0,o.Cg)([(0,l.MZ)({type:String,json:{write:!0}})],pe.prototype,"title",void 0),pe=(0,o.Cg)([(0,l.$K)("esri.form.FormTemplate")],pe)},28787(e,t,i){i.d(t,{A:()=>p});var n=i(32198),o=i(25482),s=i(10107),r=i(64108);let p=class extends o.o{constructor(e){super(e),this.description=null,this.label=null,this.type=null,this.visibilityExpression=null}};(0,n.Cg)([(0,s.MZ)({type:String,json:{write:!0}})],p.prototype,"description",void 0),(0,n.Cg)([(0,s.MZ)({type:String,json:{write:!0}})],p.prototype,"label",void 0),(0,n.Cg)([(0,s.MZ)()],p.prototype,"type",void 0),(0,n.Cg)([(0,s.MZ)({type:String,json:{write:!0}})],p.prototype,"visibilityExpression",void 0),p=(0,n.Cg)([(0,r.$)("esri.form.elements.Element")],p)},89909(e,t,i){i.d(t,{A:()=>ge});var n=i(32198),o=i(91429),s=i(28787),r=i(51447),p=i(53966),l=i(25482);let a=class extends l.o{constructor(e){super(e),this.type=null}};(0,n.Cg)([(0,o.MZ)()],a.prototype,"type",void 0),a=(0,n.Cg)([(0,o.$K)("esri.form.elements.inputs.Input")],a);const u=a;let y=class extends u{constructor(e){super(e),this.maxLength=null,this.minLength=0}};(0,n.Cg)([(0,o.MZ)({type:Number,json:{write:!0}})],y.prototype,"maxLength",void 0),(0,n.Cg)([(0,o.MZ)({type:Number,json:{write:!0}})],y.prototype,"minLength",void 0),y=(0,n.Cg)([(0,o.$K)("esri.form.elements.inputs.TextInput")],y);const m=y;var d;let c=d=class extends m{constructor(e){super(e),this.type="barcode-scanner"}clone(){return new d({maxLength:this.maxLength,minLength:this.minLength})}};(0,n.Cg)([(0,o.MZ)({type:["barcode-scanner"],json:{read:!1,write:!0}})],c.prototype,"type",void 0),c=d=(0,n.Cg)([(0,o.$K)("esri.form.elements.inputs.BarcodeScannerInput")],c);const h=c;let g=class extends u{constructor(){super(...arguments),this.noValueOptionLabel=null,this.showNoValueOption=!0}};(0,n.Cg)([(0,o.MZ)({type:String,json:{write:!0}})],g.prototype,"noValueOptionLabel",void 0),(0,n.Cg)([(0,o.MZ)({type:Boolean,json:{write:!0}})],g.prototype,"showNoValueOption",void 0),g=(0,n.Cg)([(0,o.$K)("esri.form.elements.inputs.SingleChoiceInput")],g);const w=g;var C;let x=C=class extends w{constructor(e){super(e),this.type="combo-box"}clone(){return new C({showNoValueOption:this.showNoValueOption,noValueOptionLabel:this.noValueOptionLabel})}};(0,n.Cg)([(0,o.MZ)({type:["combo-box"],json:{read:!1,write:!0}})],x.prototype,"type",void 0),x=C=(0,n.Cg)([(0,o.$K)("esri.form.elements.inputs.ComboBoxInput")],x);const M=x;var v,f=i(36005),b=i(43937);function Z(e){return e??null}function j(e){return e??null}let E=v=class extends u{constructor(e){super(e),this.max=null,this.min=null,this.type="date-picker"}readMax(e,t){return Z(t.max)}writeMax(e,t){t.max=j(e)}readMin(e,t){return Z(t.min)}writeMin(e,t){t.min=j(e)}clone(){return new v({max:this.max,min:this.min})}};(0,n.Cg)([(0,o.MZ)({type:String,json:{type:String,write:!0}})],E.prototype,"max",void 0),(0,n.Cg)([(0,f.w)("max")],E.prototype,"readMax",null),(0,n.Cg)([(0,b.K)("max")],E.prototype,"writeMax",null),(0,n.Cg)([(0,o.MZ)({type:String,json:{type:String,write:!0}})],E.prototype,"min",void 0),(0,n.Cg)([(0,f.w)("min")],E.prototype,"readMin",null),(0,n.Cg)([(0,b.K)("min")],E.prototype,"writeMin",null),(0,n.Cg)([(0,o.MZ)({type:["date-picker"],json:{read:!1,write:!0}})],E.prototype,"type",void 0),E=v=(0,n.Cg)([(0,o.$K)("esri.form.elements.inputs.DatePickerInput")],E);const S=E;var T;function K(e){return e??null}function A(e){return e??null}let N=T=class extends u{constructor(e){super(e),this.includeTimeOffset=!0,this.max=null,this.min=null,this.timeResolution="minutes",this.type="timestampoffset-picker"}readMax(e,t){return K(t.max)}writeMax(e,t){t.max=A(e)}readMin(e,t){return K(t.min)}writeMin(e,t){t.min=A(e)}readTimeResolution(e,t){return K(t.timeResolution)}writeTimeResolution(e,t){t.timeResolution=A(e)}clone(){return new T({includeTimeOffset:this.includeTimeOffset,max:this.max,min:this.min,timeResolution:this.timeResolution})}};(0,n.Cg)([(0,o.MZ)({type:Boolean,json:{write:!0}})],N.prototype,"includeTimeOffset",void 0),(0,n.Cg)([(0,o.MZ)({type:String,json:{type:String,write:!0}})],N.prototype,"max",void 0),(0,n.Cg)([(0,f.w)("max")],N.prototype,"readMax",null),(0,n.Cg)([(0,b.K)("max")],N.prototype,"writeMax",null),(0,n.Cg)([(0,o.MZ)({type:String,json:{type:String,write:!0}})],N.prototype,"min",void 0),(0,n.Cg)([(0,f.w)("min")],N.prototype,"readMin",null),(0,n.Cg)([(0,b.K)("min")],N.prototype,"writeMin",null),(0,n.Cg)([(0,o.MZ)({type:String,json:{type:String,write:!0}})],N.prototype,"timeResolution",void 0),(0,n.Cg)([(0,f.w)("timeResolution")],N.prototype,"readTimeResolution",null),(0,n.Cg)([(0,b.K)("timeResolution")],N.prototype,"writeTimeResolution",null),(0,n.Cg)([(0,o.MZ)({type:["timestampoffset-picker"],json:{read:!1,write:!0}})],N.prototype,"type",void 0),N=T=(0,n.Cg)([(0,o.$K)("esri.form.elements.inputs.DateTimeOffsetPickerInput")],N);const I=N;var O;function k(e){return null==e?null:new Date(e)}function R(e){return e?e.getTime():null}let $=O=class extends u{constructor(e){super(e),this.includeTime=!1,this.max=null,this.min=null,this.type="datetime-picker"}readMax(e,t){return k(t.max)}writeMax(e,t){t.max=R(e)}readMin(e,t){return k(t.min)}writeMin(e,t){t.min=R(e)}clone(){return new O({includeTime:this.includeTime,max:this.max,min:this.min})}};(0,n.Cg)([(0,o.MZ)({type:Boolean,json:{write:!0}})],$.prototype,"includeTime",void 0),(0,n.Cg)([(0,o.MZ)({type:Date,json:{type:Number,write:!0}})],$.prototype,"max",void 0),(0,n.Cg)([(0,f.w)("max")],$.prototype,"readMax",null),(0,n.Cg)([(0,b.K)("max")],$.prototype,"writeMax",null),(0,n.Cg)([(0,o.MZ)({type:Date,json:{type:Number,write:!0}})],$.prototype,"min",void 0),(0,n.Cg)([(0,f.w)("min")],$.prototype,"readMin",null),(0,n.Cg)([(0,b.K)("min")],$.prototype,"writeMin",null),(0,n.Cg)([(0,o.MZ)({type:["datetime-picker"],json:{read:!1,write:!0}})],$.prototype,"type",void 0),$=O=(0,n.Cg)([(0,o.$K)("esri.form.elements.inputs.DateTimePickerInput")],$);const F=$;var V;let L=V=class extends w{constructor(e){super(e),this.choiceExpression=null,this.type="dynamic-choice"}clone(){return new V({choiceExpression:this.choiceExpression,showNoValueOption:this.showNoValueOption,noValueOptionLabel:this.noValueOptionLabel})}};(0,n.Cg)([(0,o.MZ)({type:String,json:{write:{isRequired:!0}}})],L.prototype,"choiceExpression",void 0),(0,n.Cg)([(0,o.MZ)({type:["dynamic-choice"],json:{read:!1,write:!0}})],L.prototype,"type",void 0),L=V=(0,n.Cg)([(0,o.$K)("esri.form.elements.inputs.DynamicChoiceInput")],L);const B=L;var D;let q=D=class extends l.o{constructor(e){super(e),this.label="",this.value=""}clone(){return new D({label:this.label,value:this.value})}};(0,n.Cg)([(0,o.MZ)({type:String,json:{write:!0}})],q.prototype,"label",void 0),(0,n.Cg)([(0,o.MZ)({type:String,json:{write:!0}})],q.prototype,"value",void 0),q=D=(0,n.Cg)([(0,o.$K)("esri.form.elements.inputs.multipleChoice.Choice")],q);const W=q;var G;let U=G=class extends l.o{constructor(e){super(e),this.fieldName="",this.hint=null,this.label=null}clone(){return new G({fieldName:this.fieldName,hint:this.hint,label:this.label})}};(0,n.Cg)([(0,o.MZ)({type:String,json:{write:!0}})],U.prototype,"fieldName",void 0),(0,n.Cg)([(0,o.MZ)({type:String,json:{write:!0}})],U.prototype,"hint",void 0),(0,n.Cg)([(0,o.MZ)({type:String,json:{write:!0}})],U.prototype,"label",void 0),U=G=(0,n.Cg)([(0,o.$K)("esri.form.elements.inputs.multipleChoice.OtherChoice")],U);const _=U;var z;let P=z=class extends u{constructor(e){super(e),this.choiceDelimiter=",",this.choices=[],this.includeSelectAllChoices=null,this.maximumChoices=null,this.minimumChoices=null,this.otherChoice=null,this.type="multiple-choice"}clone(){return new z({choiceDelimiter:this.choiceDelimiter,choices:this.choices.map(e=>e.clone()),includeSelectAllChoices:this.includeSelectAllChoices,maximumChoices:this.maximumChoices,minimumChoices:this.minimumChoices,otherChoice:this.otherChoice?.clone()??null})}};(0,n.Cg)([(0,o.MZ)({type:String,json:{write:!0}})],P.prototype,"choiceDelimiter",void 0),(0,n.Cg)([(0,o.MZ)({type:[W],json:{write:!0}})],P.prototype,"choices",void 0),(0,n.Cg)([(0,o.MZ)({type:Boolean,json:{write:!0}})],P.prototype,"includeSelectAllChoices",void 0),(0,n.Cg)([(0,o.MZ)({type:Number,json:{write:!0}})],P.prototype,"maximumChoices",void 0),(0,n.Cg)([(0,o.MZ)({type:Number,json:{write:!0}})],P.prototype,"minimumChoices",void 0),(0,n.Cg)([(0,o.MZ)({type:_,json:{write:!0}})],P.prototype,"otherChoice",void 0),(0,n.Cg)([(0,o.MZ)({type:["multiple-choice"],json:{read:!1,write:!0}})],P.prototype,"type",void 0),P=z=(0,n.Cg)([(0,o.$K)("esri.form.elements.inputs.MultipleChoiceInput")],P);const H=P;var J;let Y=J=class extends w{constructor(e){super(e),this.type="radio-buttons"}clone(){return new J({noValueOptionLabel:this.noValueOptionLabel,showNoValueOption:this.showNoValueOption})}};(0,n.Cg)([(0,o.MZ)({type:["radio-buttons"],json:{read:!1,write:!0}})],Y.prototype,"type",void 0),Y=J=(0,n.Cg)([(0,o.$K)("esri.form.elements.inputs.RadioButtonsInput")],Y);const Q=Y;var X;let ee=X=class extends u{constructor(e){super(e),this.offValue=null,this.onValue=null,this.type="switch"}clone(){return new X({offValue:this.offValue,onValue:this.onValue})}};(0,n.Cg)([(0,o.MZ)({type:[String,Number],json:{write:!0}})],ee.prototype,"offValue",void 0),(0,n.Cg)([(0,o.MZ)({type:[String,Number],json:{write:!0}})],ee.prototype,"onValue",void 0),(0,n.Cg)([(0,o.MZ)({type:["switch"],json:{read:!1,write:!0}})],ee.prototype,"type",void 0),ee=X=(0,n.Cg)([(0,o.$K)("esri.form.elements.inputs.SwitchInput")],ee);const te=ee;var ie;let ne=ie=class extends m{constructor(e){super(e),this.type="text-area"}clone(){return new ie({maxLength:this.maxLength,minLength:this.minLength})}};(0,n.Cg)([(0,o.MZ)({type:["text-area"],json:{read:!1,write:!0}})],ne.prototype,"type",void 0),ne=ie=(0,n.Cg)([(0,o.$K)("esri.form.elements.inputs.TextAreaInput")],ne);const oe=ne;var se;let re=se=class extends m{constructor(e){super(e),this.type="text-box"}clone(){return new se({maxLength:this.maxLength,minLength:this.minLength})}};(0,n.Cg)([(0,o.MZ)({type:["text-box"],json:{read:!1,write:!0}})],re.prototype,"type",void 0),re=se=(0,n.Cg)([(0,o.$K)("esri.form.elements.inputs.TextBoxInput")],re);const pe=re;var le;function ae(e){return e??null}function ue(e){return e??null}let ye=le=class extends u{constructor(e){super(e),this.max=null,this.min=null,this.timeResolution="minutes",this.type="time-picker"}readMax(e,t){return ae(t.max)}writeMax(e,t){t.max=ue(e)}readMin(e,t){return ae(t.min)}writeMin(e,t){t.min=ue(e)}readTimeResolution(e,t){return ae(t.timeResolution)}writeTimeResolution(e,t){t.timeResolution=ue(e)}clone(){return new le({max:this.max,min:this.min,timeResolution:this.timeResolution})}};(0,n.Cg)([(0,o.MZ)({type:String,json:{type:String,write:!0}})],ye.prototype,"max",void 0),(0,n.Cg)([(0,f.w)("max")],ye.prototype,"readMax",null),(0,n.Cg)([(0,b.K)("max")],ye.prototype,"writeMax",null),(0,n.Cg)([(0,o.MZ)({type:String,json:{type:String,write:!0}})],ye.prototype,"min",void 0),(0,n.Cg)([(0,f.w)("min")],ye.prototype,"readMin",null),(0,n.Cg)([(0,b.K)("min")],ye.prototype,"writeMin",null),(0,n.Cg)([(0,o.MZ)({type:String,json:{type:String,write:!0}})],ye.prototype,"timeResolution",void 0),(0,n.Cg)([(0,f.w)("timeResolution")],ye.prototype,"readTimeResolution",null),(0,n.Cg)([(0,b.K)("timeResolution")],ye.prototype,"writeTimeResolution",null),(0,n.Cg)([(0,o.MZ)({type:["time-picker"],json:{read:!1,write:!0}})],ye.prototype,"type",void 0),ye=le=(0,n.Cg)([(0,o.$K)("esri.form.elements.inputs.TimePickerInput")],ye);const me=ye;(0,r.uW)(p.A.getLogger("esri.form.elements.inputs"),"esri.form.elements.inputs",{replacement:"Individual input module imports",version:"5.2",warnOnce:!0});const de={base:u,key:"type",typeMap:{"barcode-scanner":h,"combo-box":M,"date-picker":S,"datetime-picker":F,"dynamic-choice":B,"multiple-choice":H,"timestampoffset-picker":I,"datetimeoffset-picker":I,"radio-buttons":Q,switch:te,"text-area":oe,"text-box":pe,"time-picker":me}};var ce,he=i(8631);let ge=ce=class extends s.A{constructor(e){super(e),this.domain=null,this.editable=null,this.editableExpression=null,this.fieldName=null,this.hint=null,this.input=null,this.requiredExpression=null,this.type="field",this.valueExpression=null}clone(){return new ce({description:this.description,domain:this.domain?.clone()??null,editable:this.editable,editableExpression:this.editableExpression,fieldName:this.fieldName,hint:this.hint,input:this.input?.clone(),label:this.label,requiredExpression:this.requiredExpression,valueExpression:this.valueExpression,visibilityExpression:this.visibilityExpression})}};(0,n.Cg)([(0,o.MZ)({types:he.g,json:{read:{reader:he.r},write:!0}})],ge.prototype,"domain",void 0),(0,n.Cg)([(0,o.MZ)({type:Boolean,json:{write:!0}})],ge.prototype,"editable",void 0),(0,n.Cg)([(0,o.MZ)({type:String,json:{write:!0}})],ge.prototype,"editableExpression",void 0),(0,n.Cg)([(0,o.MZ)({type:String,json:{write:!0}})],ge.prototype,"fieldName",void 0),(0,n.Cg)([(0,o.MZ)({type:String,json:{write:!0}})],ge.prototype,"hint",void 0),(0,n.Cg)([(0,o.MZ)({types:de,json:{read:{source:"inputType"},write:{target:"inputType"}}})],ge.prototype,"input",void 0),(0,n.Cg)([(0,o.MZ)({type:String,json:{write:!0}})],ge.prototype,"requiredExpression",void 0),(0,n.Cg)([(0,o.MZ)({type:String,json:{read:!1,write:!0}})],ge.prototype,"type",void 0),(0,n.Cg)([(0,o.MZ)({type:String,json:{write:!0}})],ge.prototype,"valueExpression",void 0),ge=ce=(0,n.Cg)([(0,o.$K)("esri.form.elements.FieldElement")],ge)}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[31,506,1132,1550,1666,1948,7992,8125],{61691(e,t,r){r.d(t,{G:()=>s});class s{*[Symbol.iterator](){let e=this.next();for(;e;)yield e,e=this.next()}}},70031(e,t,r){r.d(t,{OperatorIntersects:()=>n});var s=r(39117);class n extends s.Z{getOperatorType(){return 4}execute(e,t,r,n){return!(0,s._)(e,t,r,4,n)}}},76061(e,t,r){r.d(t,{S:()=>n});var s=r(61691);class n extends s.G{m_aGeoms;m_iGeom=-1;constructor(e){super(),this.m_aGeoms=e?e.slice():[]}next(){if(this.m_iGeom<this.m_aGeoms.length-1){let e=this.m_aGeoms[++this.m_iGeom];return this.m_aGeoms[this.m_iGeom]=null,e}return null}tock(){return!1}getGeometryID(){return this.m_iGeom}getRank(){return 1}}},69397(e,t,r){r.d(t,{Qf:()=>l,Qh:()=>i,lM:()=>a,ro:()=>h,rq:()=>u});var s=r(44208),n=r(34275);function a(e){if(!e)return 0;let t=f;for(let r in e)e.hasOwnProperty(r)&&(t+=o(e[r],!1));return t}function i(e){if(!e)return 0;if("number"==typeof e[0])return l(e);if(Array.isArray(e))return function(e){let t=e.length;if(0===t||"number"==typeof e[0])return u(e,8);let r=g;for(let s=0;s<t;s++)r+=o(e[s]);return r}(e);let t=f;for(let r in e)e.hasOwnProperty(r)&&(t+=o(e[r]));return t}function o(e,t=!0){switch(typeof e){case"object":return t?i(e):f;case"string":return function(e){return 32+e.length}(e);case"number":return 16;case"boolean":return 4;default:return 8}}function l(...e){return e.reduce((e,t)=>e+h(t),0)}function h(e,t=16){return e?(0,n.iu)(e)?e.byteLength+c:Array.isArray(e)?u(e,t):0:0}function u(e,t){return g+e.length*t}const f=32,g=16,m=(0,s.A)("ios")||!(0,s.A)("chrome")&&!(0,s.A)("opr")?8:4,c=145;r.d(t,["JY",0,m])},87992(e,t,r){r.d(t,{JR:()=>Z,ME:()=>M,MY:()=>O,NO:()=>C,Nh:()=>P,V2:()=>_,_s:()=>I,e6:()=>F,gh:()=>E,jm:()=>V,tr:()=>X,uX:()=>p});var s=r(32198),n=(r(69397),r(16930)),a=r(19419),i=r(60408),o=r(21325),l=r(513),h=r(50954),u=r(79567),f=r(52006),g=r(49663),m=r(46068),c=r(92722);class p{constructor({type:e,spatialReference:t,vertexCount:r,vertexXY:s,vertexZ:n,vertexM:a,partCount:i,partOffsets:o,partFlags:l,segmentFlags:h,segmentIndices:u,segmentParams:f,segmentCountArc:g,segmentCountBezier:m}){this.segmentCountArc=0,this.segmentCountBezier=0,this.type=e,this.spatialReference=t,this.vertexCount=r,this.vertexXY=s,this.vertexZ=n,this.vertexM=a,this.partCount=i,this.partOffsets=o,this.partFlags=l,this.segmentFlags=h,this.segmentIndices=u,this.segmentParams=f,this.segmentCountArc=g,this.segmentCountBezier=m}get segmentParamCount(){return 10*this.segmentCountArc+4*this.segmentCountBezier}get segmentCountLine(){let{segmentCount:e,segmentCountArc:t,segmentCountBezier:r}=this;return e&&e-t-r}get segmentCount(){return"polyline"===this.type?this.vertexCount-this.partCount:"polygon"===this.type?this.vertexCount:0}get hasZ(){return null!=this.vertexZ}get hasM(){return null!=this.vertexM}hasCurves(){return this.segmentCountArc+this.segmentCountBezier>0}isMultipart(){return"polyline"===this.type||"polygon"===this.type}get usedMemory(){function e(e){return e?64+e.byteLength:0}return e(this.vertexXY)+e(this.vertexZ)+e(this.vertexM)+e(this.partOffsets)+e(this.partFlags)+e(this.segmentFlags)+e(this.segmentIndices)+e(this.segmentParams)}clone(){let{type:e,vertexCount:t,partCount:r,hasZ:s,hasM:n,segmentCountArc:a,segmentCountBezier:i}=this,o=_(e,t,r,s,n,this.hasCurves(),a,i);o.spatialReference=this.spatialReference;let{vertexXY:l,vertexZ:h,vertexM:u}=this;if(o.vertexXY.set(l.subarray(0,2*t),0),o.vertexZ?.set(h.subarray(0,t),0),o.vertexM?.set(u.subarray(0,t),0),this.isMultipart()){let{partOffsets:e,partFlags:t}=this;o.partFlags.set(t.subarray(0,r+1)),o.partOffsets.set(e.subarray(0,r+1))}if(this.hasCurves()){let{segmentFlags:e,segmentIndices:r,segmentParams:s,segmentParamCount:n}=this;o.segmentFlags.set(e.subarray(0,t),0),o.segmentIndices.set(r.subarray(0,t),0),o.segmentParams.set(s.subarray(0,n),0)}return o}equals(e){return this.equalsWithinTolerance(e,0)}equalsWithinTolerance(e,t){if(null==e)return!1;if(this===e)return!0;if(!(0,o.aI)(this.spatialReference,e.spatialReference)||this.vertexCount!==e.vertexCount||this.partCount!==e.partCount||this.hasZ!==e.hasZ||this.hasM!==e.hasM||this.hasCurves()!==e.hasCurves()||this.segmentCountArc!==e.segmentCountArc||this.segmentCountBezier!==e.segmentCountBezier)return!1;let r=0===t?(e,t)=>e!==t||isNaN(e)!==isNaN(t):(e,r)=>Math.abs(e-r)>t||isNaN(e)!==isNaN(r);for(let t=0;t<this.vertexCount;++t)if(r(this.vertexXY[2*t],e.vertexXY[2*t])||r(this.vertexXY[2*t+1],e.vertexXY[2*t+1]))return!1;if(this.hasZ)for(let t=0;t<this.vertexCount;++t)if(r(this.vertexZ[t],e.vertexZ[t]))return!1;if(this.hasM)for(let t=0;t<this.vertexCount;++t)if(r(this.vertexM[t],e.vertexM[t]))return!1;for(let t=0;t<this.partCount;++t)if(this.partFlags[t]!==e.partFlags[t]||this.partOffsets[t]!==e.partOffsets[t])return!1;if(this.hasCurves()){for(let t=0;t<this.vertexCount;++t)if(this.segmentFlags[t]!==e.segmentFlags[t]||this.segmentIndices[t]!==e.segmentIndices[t])return!1;for(let t=0;t<this.segmentParamCount;++t)if(r(this.segmentParams[t],e.segmentParams[t]))return!1}return!0}get parts(){return this.isMultipart()?new x(this):[][Symbol.iterator]()}}class x{constructor(e){this.geometry=e,this.value=new d(e)}get done(){return this.value.index>=this.geometry.partCount}next(){return++this.value.index,this}[Symbol.iterator](){return this}}class d{constructor(e){this.geometry=e,this.index=-1,this._readVertex=w(e),this._segments=new y(this)}get segments(){return this._segments.reset(),this._segments}get startVertex(){return this._readVertex(this.geometry.partOffsets[this.index])}get vertexCount(){let e=this.geometry.partOffsets;return e[this.index+1]-e[this.index]}}class y{constructor(e){this._part=e,this._partStart=0,this._partEnd=0,this.value=new v(e.geometry)}get _partIsClosed(){return!!(1&this._part.geometry.partFlags?.[this._part.index])}get done(){return this.value.indexOfStartVertex>this._partEnd}next(){++this.value.indexOfStartVertex;let e=this.value.indexOfStartVertex>=this._partEnd;return this.value.indexOfEndVertex=e&&this._partIsClosed?this._partStart:this.value.indexOfStartVertex+1,this}[Symbol.iterator](){return this}reset(){let{index:e}=this._part,t=this._part.geometry.partOffsets;this._partStart=t[e],this._partEnd=t[e+1]-(this._partIsClosed?1:2),this.value.indexOfStartVertex=this._partStart-1}}class v{constructor(e){this.geometry=e,this.indexOfStartVertex=-1,this.indexOfEndVertex=-1,this._readVertex=w(e)}get xStart(){return this.geometry.vertexXY[2*this.indexOfStartVertex]}get yStart(){return this.geometry.vertexXY[2*this.indexOfStartVertex+1]}get zStart(){return this.geometry.vertexZ[this.indexOfStartVertex]}get mStart(){return this.geometry.vertexM[this.indexOfStartVertex]}get xEnd(){return this.geometry.vertexXY[2*this.indexOfEndVertex]}get yEnd(){return this.geometry.vertexXY[2*this.indexOfEndVertex+1]}get zEnd(){return this.geometry.vertexZ[this.indexOfEndVertex]}get mEnd(){return this.geometry.vertexM[this.indexOfEndVertex]}get start(){return this._readVertex(this.indexOfStartVertex)}get end(){return this._readVertex(this.indexOfEndVertex)}get curve(){let e=this.geometry.segmentFlags?.[this.indexOfStartVertex]??1;if(1===e)return this.end;let t=this.geometry.segmentParams,r=this.geometry.segmentIndices[this.indexOfStartVertex];if(2===e){let e=t[r++],s=t[r++],n=t[r++],a=t[r++];return{b:[this.end,[e,s],[n,a]]}}let s=t[r++],n=t[r++],a=t[r++],i=t[r++],o=t[r++],l=t[r++];r++,r++;let h=t[r++],u=t[r++];if(!(4&s)&&1===a)return{c:[this.end,[h,u]]};let f=2&s?0:1,g=1&s?0:1;return{a:[this.end,[o,l],f,g,i,n,a]}}}function C(e,t){let r={stack:[],error:void 0,hasError:!1};try{return t??=(0,a.Ie)(),(0,s.mS)(r,new A(e,["vertexZ","vertexM","spatialReference"]),!1),(0,a.bx)(t,function(e){let t,{vertexCount:r,vertexXY:n,vertexZ:i,vertexM:o}=e,l=R(e);if(e.hasCurves()){let r={stack:[],error:void 0,hasError:!1};try{(0,s.mS)(r,new A(e,["vertexZ","vertexM"]),!1);let n=(0,a.Ie)();for(let t of e.parts){let e=t.startVertex;for(let{curve:r}of t.segments)(0,u.e)(n,e,r),e=(0,f.yP)(r)}let[i,o,h,g]=n;t={xmin:i,ymin:o,xmax:h,ymax:g,spatialReference:l}}catch(e){r.error=e,r.hasError=!0}finally{(0,s.hk)(r)}}else{let e,s,a,i;e=s=1/0,a=i=-1/0;for(let t=0;t<r;++t){let r=n[2*t],o=n[2*t+1];e=Math.min(e,r),a=Math.max(a,r),s=Math.min(s,o),i=Math.max(i,o)}t={xmin:e,ymin:s,xmax:a,ymax:i,spatialReference:l}}if(i){let e=1/0,r=-1/0;for(let t of i)e=Math.min(e,t),r=Math.max(r,t);t.zmin=e,t.zmax=r}if(o){let e=1/0,r=-1/0;for(let t of o)e=Math.min(e,t),r=Math.max(r,t);t.mmin=e,t.mmax=r}return t}(e)),t}catch(e){r.error=e,r.hasError=!0}finally{(0,s.hk)(r)}}function M(e){let t,r,s;if((0,i.fT)(e)){s="point";let{x:n,y:a,z:i,m:o}=e,l=[n,a];null!=i&&l.push(i),null!=o&&l.push(o),r=[[l]],t=1}else(0,i.U9)(e)?(s="multipoint",r=[e.points],t=e.points.length):(0,i.Rg)(e)?(s="polyline",r=e.curvePaths??e.paths,t=r.reduce((e,t)=>e+t.length,0)):(s="polygon",r=e.curveRings??e.rings,t=r.reduce((e,t)=>(0===t.length||(e+=t.length,S(t[0],(0,f.yP)(t.at(-1)))&&--e),e),0));let n=_(s,t,s.includes("point")?0:r.length,(0,i.Pv)(e),(0,i.W0)(e),(0,f.Ed)(e)),{hasZ:a,hasM:o,vertexXY:l,vertexZ:h,vertexM:u}=n;function g(e){l[2*c]=e[0],l[2*c+1]=e[1],a&&(h[c]=e[2]),o&&(u[c]=e[m]),++c}n.spatialReference=e.spatialReference??void 0;let m=n.hasZ?3:2,c=0;if(!n.isMultipart()){if(!a&&!o){for(let[e,t]of r[0])l[2*c]=e,l[2*c+1]=t,++c;return n}for(let e of r[0])g(e);return n}let p="polygon"===s,{partOffsets:x}=n,d=0;if(!(0,f.Ed)(e)){for(let e of r){if(x[d++]=c,0===e.length)continue;let t=e.length;if(p&&S(e[0],e.at(-1))&&--t,a||o)for(let r=0;r<t;++r)g(e[r]);else for(let r=0;r<t;++r){let[t,s]=e[r];l[2*c]=t,l[2*c+1]=s,++c}}return x[d]=c,n}function y(e){let t=v+e;if(t<=(n.segmentParams?.length??0))return;let r=t*G;r=20*Math.ceil(r/20);let s=n.segmentParams;n.segmentParams=new Float64Array(r),null!=s&&n.segmentParams.set(s)}let v=0;for(let e of r){if(n.partOffsets[d++]=c,0===e.length)continue;let t=e[0],r=t;for(let t=1;t<e.length;++t){let s=e[t];g(r);let a=c-1;(0,f.wY)(s)?(y(10),++n.segmentCountArc,v=I(r,s,n,a,v),r=s.a[0]):(0,f.DA)(s)?(y(10),++n.segmentCountArc,v=Y(r,s,n,a,v),r=s.a[0]):(0,f.aO)(s)?(y(10),++n.segmentCountArc,v=F(r,s,n,a,v),r=s.c[0]):(0,f.n1)(s)?(y(4),++n.segmentCountBezier,v=X(0,s,n,a,v),r=s.b[0]):r=s}p&&S(t,r)||g(r)}return n.partOffsets[d]=c,n}function E(e){let t=w(e),{vertexCount:r,partCount:s,hasZ:n,hasM:a}=e,i=R(e),o=0;if(!e.isMultipart()){if("point"===e.type){let[t,r]=e.vertexXY;return{x:t,y:r,z:e.vertexZ?.[0],m:e.vertexM?.[0],spatialReference:i}}let s=[];for(;o<r;)s.push(t(o++));return{points:s,spatialReference:i,hasZ:n,hasM:a}}if(!e.hasCurves()){let r=[];for(let n=0;n<s;++n){let s=!!(1&e.partFlags[n]),a=e.partOffsets[n+1],i=[];for(;o<a;)i.push(t(o++));s&&i.length>0&&i.push([...i[0]]),r.push(i)}return"polygon"===e.type?{rings:r,hasZ:n,hasM:a,spatialReference:i}:{paths:r,hasZ:n,hasM:a,spatialReference:i}}let l=[];for(let{segments:t,startVertex:r}of e.parts){let e=[r];for(let{curve:r}of t)e.push(r);l.push(e)}return"polygon"===e.type?{rings:[],curveRings:l,hasZ:n,hasM:a,spatialReference:i}:{paths:[],curvePaths:l,hasZ:n,hasM:a,spatialReference:i}}function P(e,{lengths:t,coords:r,hasZ:s,hasM:n},a){let i=e.includes("point")?0:t.length,o="polygon"===e,l="point"===e?1:t.reduce((e,t)=>e+t,0)-(o?i:0);s??=!1,n??=!1;let h=_(e,l,i,s,n,!1,0,0);if(h.spatialReference=a??void 0,!h.isMultipart()){for(let e=0,t=0;e<l;++e)h.vertexXY[2*e]=r[t++],h.vertexXY[2*e+1]=r[t++],s&&(h.vertexZ[e]=r[t++]),n&&(h.vertexM[e]=r[t++]);return h}let u=2+Number(s)+Number(n),f=0,g=0;h.partOffsets[0]=0;for(let e of t){let t=h.partOffsets[g],a=t+e-Number(o);h.partOffsets[++g]=a;for(let e=t;e<a;++e)h.vertexXY[2*e]=r[f++],h.vertexXY[2*e+1]=r[f++],s&&(h.vertexZ[e]=r[f++]),n&&(h.vertexM[e]=r[f++]);o&&(f+=u)}return h}function Z({type:e,vertexCount:t,vertexXY:r,vertexZ:s,vertexM:n,partCount:a,partOffsets:i,partFlags:o,hasZ:l,hasM:h}){let u=new c.A([],[],l,h);a=Math.max(a,1);let f=0;for(let e=0;e<a;++e){let a=i?.[e+1]??t,g=u.coords.length;for(let e=f;e<a;++e)u.coords.push(r[2*e],r[2*e+1]),l&&u.coords.push(s[e]),h&&u.coords.push(n[e]);if(o&&1&o[e]){let e=f;u.coords.push(r[2*e],r[2*e+1]),l&&u.coords.push(s[e]),h&&u.coords.push(n[e])}u.lengths.push((u.coords.length-g)/u.stride),f=a}return"point"===e&&(u.lengths.length=0),u}function V(...e){let t=new Set;for(let r of e){if(!r)continue;let e=[r.vertexXY,r.vertexZ,r.vertexM,r.partOffsets,r.partFlags,r.segmentFlags,r.segmentIndices,r.segmentParams];for(let r of e){let e=r?.buffer;e&&t.add(e)}}return Array.from(t)}function O(e,t){return"getSpatialReference"in e&&(t=function(e){if(null==e)return;let t=e.getText()||void 0,r=e.isCustomWkid()?0:e.getOldID();if(r<=0)return{wkt:t};let s=e.getLatestID();(s<=0||s===r)&&(s=void 0);let n=e.getVCS();if(null==n)return{wkid:r,latestWkid:s,wkt:t};let a=n.isCustomWkid()?0:n.getOldID();if(a<=0)return{wkt:t};let i=e.getLatestVerticalID();return(i<=0||i===a)&&(i=void 0),{wkid:r,wkt:t,latestWkid:s,vcsWkid:a,latestVcsWkid:i}}(e.getSpatialReference()),e=e.getGeometry()),new p({...e.toFlatGeometry(),spatialReference:t})}class A{constructor(e,t){this.target=e,this.keys=t,this.oldValues=t.map(t=>e[t]);for(let r of t)e[r]=void 0}[Symbol.dispose](){this.keys.map((e,t)=>{this.target[e]=this.oldValues[t]})}}function R({spatialReference:e}){return e instanceof n.A?e.toJSON():e}function w({vertexXY:e,vertexZ:t,vertexM:r}){return t?r?s=>[e[2*s],e[2*s+1],t[s],r[s]]:r=>[e[2*r],e[2*r+1],t[r]]:r?t=>[e[2*t],e[2*t+1],r[t]]:t=>[e[2*t],e[2*t+1]]}function S(e,t){return e.every((e,r)=>e===t[r])}function _(e,t,r,s,n,a,i,o){i??=0,o??=0;let l=new p({type:e,vertexCount:t,vertexXY:null,vertexZ:void 0,vertexM:void 0,partCount:r,partOffsets:void 0,partFlags:void 0,segmentFlags:void 0,segmentIndices:void 0,segmentParams:void 0,segmentCountArc:i,segmentCountBezier:o}),h=2*Float64Array.BYTES_PER_ELEMENT*t;s&&(h+=Float64Array.BYTES_PER_ELEMENT*t),n&&(h+=Float64Array.BYTES_PER_ELEMENT*t),l.isMultipart()&&(h+=(r+1)*Int32Array.BYTES_PER_ELEMENT,h+=(r+1)*Int8Array.BYTES_PER_ELEMENT),a&&(h+=t*Int8Array.BYTES_PER_ELEMENT,h+=t*Int32Array.BYTES_PER_ELEMENT,h+=l.segmentParamCount*Float64Array.BYTES_PER_ELEMENT);let u=new ArrayBuffer(h),f=0;return l.vertexXY=new Float64Array(u,f,2*t),f+=l.vertexXY.byteLength,s&&(l.vertexZ=new Float64Array(u,f,t),f+=l.vertexZ.byteLength),n&&(l.vertexM=new Float64Array(u,f,t),f+=l.vertexM.byteLength),a&&(l.segmentParams=new Float64Array(u,f,l.segmentParamCount),f+=l.segmentParams.byteLength,l.segmentIndices=new Int32Array(u,f,t),l.segmentIndices.fill(z),f+=l.segmentIndices.byteLength),l.isMultipart()&&(l.partOffsets=new Int32Array(u,f,r+1),f+=l.partOffsets.byteLength,l.partFlags=new Int8Array(u,f,r+1),f+=l.partFlags.byteLength,"polygon"===l.type&&l.partFlags.subarray(0,r).fill(1)),a&&(l.segmentFlags=new Int8Array(u,f,t),l.segmentFlags.fill(1),f+=l.segmentFlags.byteLength),l}function I(e,t,{segmentFlags:r,segmentIndices:s,segmentParams:n},a,i){r[a]=4,s[a]=i;let[o,[l,h],u,f,g,c,p]=t.a,x=4;f||(x|=1),u||(x|=2);let d=(0,m.SW)(e,t),[y,v]=(0,m.Uk)(d,.5);return n[i++]=x,n[i++]=c,n[i++]=p,n[i++]=g,n[i++]=l,n[i++]=h,n[i++]=d.u2-d.u1,n[i++]=d.u1,n[i++]=y,n[i++]=v,i}function Y(e,t,{segmentFlags:r,segmentIndices:s,segmentParams:n},a,i){r[a]=4,s[a]=i;let o=(0,g.io)(e,t);return b(o,4,...(0,l.mq)(o,.5),n,i)}function F(e,t,{segmentFlags:r,segmentIndices:s,segmentParams:n},a,i){return r[a]=4,s[a]=i,b((0,h.pM)(e,t),0,...t.c[1],n,i)}function b(e,t,r,s,n,a){let{cx:i,cy:o,thetaStart:l,thetaEnd:h,radius:u}=e;return l>h||(t|=1),Math.abs(h-l)<=Math.PI||(t|=2),n[a++]=t,n[a++]=u,n[a++]=1,n[a++]=0,n[a++]=i,n[a++]=o,n[a++]=h-l,n[a++]=l,n[a++]=r,n[a++]=s,a}function X(e,{b:[t,[r,s],[n,a]]},{segmentFlags:i,segmentIndices:o,segmentParams:l},h,u){return i[h]=2,o[h]=u,l[u++]=r,l[u++]=s,l[u++]=n,l[u++]=a,u}const G=1.61803,z=-1},97479(e,t,r){r.d(t,{fz:()=>a,g7:()=>n});const s=new(r(70031).OperatorIntersects);function n(e,t,r){return s.execute(e,t,r,null)}function a(){return s.supportsCurves()}},25275(e,t,r){r.d(t,{intersectsExecute:()=>a});var s=r(97479),n=r(78125);function a(e,t){let r=(0,n.getSpatialReference)(e);return(0,s.g7)((0,n.fromGeometry)(e),(0,n.fromGeometry)(t),(0,n.fromSpatialReference)(r))}r(85036),(0,s.fz)()},78125(e,t,r){r.r(t),r.d(t,{fromExtent:()=>x,fromGeometry:()=>p,fromMultipoint:()=>d,fromPoint:()=>y,fromPolygon:()=>v,fromPolyline:()=>C,fromPolylineUsingImportOperator:()=>M,fromSpatialReference:()=>E,getSpatialReference:()=>c,toExtent:()=>Z,toGeometry:()=>P,toMultipoint:()=>V,toPoint:()=>O,toPolygon:()=>A,toPolyline:()=>R});var s=r(83661),n=r(55537),a=r(95213),i=r(88885),o=r(5443),l=r(48526),h=r(86738),u=r(39829),f=r(82799),g=(r(90293),r(83299));const m="_gxVersion";function c(e){return Array.isArray(e)?e[0].spatialReference:e.spatialReference}function p(e){switch(e.type){case"point":return y(e);case"multipoint":return d(e);case"polyline":return C(e);case"polygon":return v(e);case"extent":return x(e);default:throw Error(`Unsupported geometry type: ${e.type}`)}}function x(e){if(!e.getCacheValue(m)){let t=new a.E;t.setCoords(e.xmin,e.ymin,e.xmax,e.ymax),e.hasM&&t.setInterval(2,0,e.mmin,e.mmax),e.hasZ&&t.setInterval(1,0,e.zmin,e.zmax),e.setCacheValue(m,t)}return e.getCacheValue(m)}function d(e){if(!e.getCacheValue(m)){let t=new i.M,r=new a.P,s=e.points,n=e.hasM,o=e.hasZ,l=o?3:2;for(let e=0,a=s.length;e<a;e++){let a=s[e];r.setXYCoords(a[0],a[1]),o&&r.setZ(a[2]??0),n&&r.setM(a[l]??NaN),t.add(r)}e.setCacheValue(m,t)}return e.getCacheValue(m)}function y(e){if(!e.getCacheValue(m)){let t=new a.P;t.setXYCoords(e.x,e.y),e.hasM&&t.setM(e.m),e.hasZ&&t.setZ(e.z),e.setCacheValue(m,t)}return e.getCacheValue(m)}function v(e){if(!e.getCacheValue(m)){let{curveRings:t,hasM:r,hasZ:s,rings:n}=e,a=(0,g.fromGeometryToGXGeometry)({curveRings:t,hasM:r,hasZ:s,rings:n});e.setCacheValue(m,a)}return e.getCacheValue(m)}function C(e){if(!e.getCacheValue(m)){let{curvePaths:t,hasM:r,hasZ:s,paths:n}=e,a=(0,g.fromGeometryToGXGeometry)({curvePaths:t,hasM:r,hasZ:s,paths:n});e.setCacheValue(m,a)}return e.getCacheValue(m)}function M(e){if(!e.getCacheValue(m)){let{curvePaths:t,hasM:r,hasZ:s,paths:n}=e,a=(0,g.fromGeometryToGXGeometryUsingImportOperator)({curvePaths:t,hasM:r,hasZ:s,paths:n});e.setCacheValue(m,a)}return e.getCacheValue(m)}function E(e){return e.cache?(e.cache[m]??=(0,g.fromSpatialReference)(e),e.cache[m]):(0,g.fromSpatialReference)(e)}function P(e,t){if(e)switch(e.getGeometryType()){case n.G.enumPoint:return O(e,t);case n.G.enumEnvelope:return Z(e,t);case n.G.enumMultiPoint:return V(e,t);case n.G.enumPolyline:return R(e,t);case n.G.enumPolygon:return A(e,t)}return null}function Z(e,t){if(e.isEmpty())return null;let r=new o.A({xmin:e.getXMin(),ymin:e.getYMin(),xmax:e.getXMax(),ymax:e.getYMax(),spatialReference:t}),s=e.getDescription();if(s.hasM()){let t=e.queryInterval(2,0);r.mmin=t.vmin,r.mmax=t.vmax}if(s.hasZ()){let t=e.queryInterval(1,0);r.zmin=t.vmin,r.zmax=t.vmax}return r.setCacheValue(m,e),r}function V(e,t){if(e.isEmpty())return null;let r=e.getDescription(),s=r.hasM(),n=r.hasZ(),i=[],o=new a.P;for(let t=0,r=e.getPointCount();t<r;t++){e.getPointByVal(t,o);let r=[o.getX(),o.getY()];n&&r.push(o.getZ()),s&&r.push(o.getM()),i.push(r)}let h=new l.A({hasM:s,hasZ:n,points:i,spatialReference:t});return h.setCacheValue(m,e),h}function O(e,t){if(e instanceof s.P)return new h.A({x:e.x,y:e.y,spatialReference:t});if(e.isEmpty())return null;let r=new h.A({x:e.getX(),y:e.getY(),spatialReference:t}),n=e.getDescription();return n.hasM()&&(r.m=e.getM()),n.hasZ()&&(r.z=e.getZ()),r.setCacheValue(m,e),r}function A(e,t){if(e.isEmpty())return null;let r=u.A.fromJSON({...(0,g.toGeometry)(e,null),spatialReference:t});return r.setCacheValue(m,e),r}function R(e,t){if(e.isEmpty())return null;let r=f.A.fromJSON({...(0,g.toGeometry)(e,null),spatialReference:t});return r.setCacheValue(m,e),r}},85036(e,t,r){r.d(t,{Q:()=>a});var s=r(51447),n=r(53966);function a(e,t,r){(0,s.io)(n.A.getLogger(`esri.geometry.operators.${e}`),`${t} is deprecated. Refactor using @arcgis/codemod or manually replace usages with ${r} instead.`,{replacement:r,warnOnce:!0})}},92722(e,t,r){r.d(t,{A:()=>n});var s=r(69397);class n{constructor(e=[],t=[],r=!1,s=!1){this.lengths=e??[],this.coords=t??[],this.hasZ=r,this.hasM=s}static fromJSON({lengths:e,coords:t,hasZ:r,hasM:s}){return new n(e,t,r||!1,s||!1)}static fromRect([e,t,r,s]){let a=r-e,i=s-t;return new n([5],[e,t,a,0,0,i,-a,0,0,-i])}get isPoint(){return 0===this.lengths.length&&this.coords.length>=2}get maxLength(){return Math.max(...this.lengths)}get size(){return this.isPoint?1:this.lengths.reduce((e,t)=>e+t,0)}get usedMemory(){return 64+(0,s.Qf)(this.lengths,this.coords)}get stride(){return+!!this.hasZ+2+ +!!this.hasM}area(){if(this.isPoint)return 0;let e=0,t=0;for(let r of this.lengths){if(r<3)continue;let{stride:s}=this,n=this.coords[s*t],a=this.coords[s*t+1];for(let i=1;i<r;i+=1){let r=s*(t+i),o=this.coords[r],l=this.coords[r+1];e+=-.5*(o-n)*(l+a),n=o,a=l}t+=r}return e}forEachVertex(e){let t=0;if(this.isPoint)return e(this.coords[0],this.coords[1]);let{stride:r}=this;for(let s of this.lengths){for(let n=0;n<s;n++){let s=r*(t+n);e(this.coords[s],this.coords[s+1])}t+=s}}deltaDecode(){let e=this.clone(),{coords:t,lengths:r}=e,s=0,{stride:n}=this;for(let e of r){for(let r=1;r<e;r++){let e=n*(s+r);t[e]+=t[e-n],t[e+1]+=t[e+1-n]}s+=e}return e}clone(e){if(this.isPoint)return new n([],Array.from(this.coords.slice(0,this.stride)),this.hasZ,this.hasM);let t=Array.from(this.lengths),{stride:r,size:s}=this,a=this.coords.slice(0,s*r);return e?(e.set(a),new n(t,e,this.hasZ,this.hasM)):new n(t,Array.from(a),this.hasZ,this.hasM)}justXY(){let{stride:e,size:t}=this;if(2===e)return this;let r=Array(t*e);for(let t=0,s=0;t<r.length;t+=e)r[s++]=this.coords[t],r[s++]=this.coords[t+1];return new n(this.lengths,r,!1,!1)}}}}]);
|
|
Binary file
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{BackgroundGrid as e}from"../views/3d/webgl-engine/core/shaderLibrary/terrain/BackgroundGrid.glsl.js";import{
|
|
2
|
+
import{BackgroundGrid as e}from"../views/3d/webgl-engine/core/shaderLibrary/terrain/BackgroundGrid.glsl.js";import{blendLayers as t}from"../views/3d/webgl-engine/core/shaderLibrary/terrain/blendLayers.glsl.js";import{TileComposite as n}from"../views/3d/webgl-engine/core/shaderLibrary/terrain/TileComposite.glsl.js";import{Float3PassUniform as r}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{FloatPassUniform as i}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{Texture2DPassUniform as a}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{ShaderBuilder as o}from"../views/webgl/ShaderBuilder.js";function s(s){let c=new o,l=c.fragment;return c.include(n),s.background===1?(s.output===2?l.uniforms.add(new r(`backgroundColor`,e=>e.backgroundColor)).main.add(`fragColor = vec4(backgroundColor, 1.0);`):(l.include(e),l.main.add(`fragColor = vec4(gridColor(uv), 1.0);`)),c):(c.include(t,s),l.uniforms.add(new a(`tex`,e=>e.texture),new i(`opacity`,e=>e.opacity)).main.add(`fragColor = blendLayers(uv, texture(tex, uv), opacity);`),c)}const c=Object.freeze(Object.defineProperty({__proto__:null,build:s},Symbol.toStringTag,{value:`Module`}));export{c as B,s as b};
|
package/chunks/Component.glsl.js
CHANGED
|
@@ -49,7 +49,7 @@ import{ComponentData as e}from"../views/3d/webgl-engine/collections/Component/Ma
|
|
|
49
49
|
? selectLocalOverlayUVs(projectOverlay(vPositionForDraping))
|
|
50
50
|
: selectMapOverlayUVs(overlayMapUVFromWorldPosition());
|
|
51
51
|
}
|
|
52
|
-
`)):O.code.add(`vec2 projectOverlay(vec3 pos) { return pos.xy; }`));let Q=R&&H&&j===4;Q&&(D.varyings.add(`tbnTangent`,`vec3`),D.varyings.add(`tbnBiTangent`,`vec3`)
|
|
52
|
+
`)):O.code.add(`vec2 projectOverlay(vec3 pos) { return pos.xy; }`));let Q=R&&H&&j===4;Q&&I&&(D.varyings.add(`tbnTangent`,`vec3`),D.varyings.add(`tbnBiTangent`,`vec3`));let ge=z===0,_e=z===2;if(D.include(_,E),D.include(ee,E),O.include(C),O.main.add(S`
|
|
53
53
|
bool castShadows;
|
|
54
54
|
vec4 externalColor = forwardExternalColor(castShadows);
|
|
55
55
|
${x(he,`if(!castShadows) { gl_Position = vec4(vec3(1e38), 1.0); return; }`)}
|
|
@@ -66,13 +66,10 @@ import{ComponentData as e}from"../views/3d/webgl-engine/collections/Component/Ma
|
|
|
66
66
|
forwardLinearDepthToWriteShadow();
|
|
67
67
|
forwardEmissiveStrength();
|
|
68
68
|
forwardObjectAndLayerIdColor();
|
|
69
|
-
${x(Q,
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
upNormal = vec3(0.0, 0.0, 1.0);
|
|
74
|
-
tbnTangent = vec3(1.0, 0.0, 0.0);
|
|
75
|
-
tbnBiTangent = vec3(0.0, 1.0, 0.0);`)}
|
|
69
|
+
${x(Q&&I,S`
|
|
70
|
+
vec3 upNormal = normalize(positionWorld());
|
|
71
|
+
tbnTangent = normalize(cross(vec3(0.0, 0.0, 1.0), upNormal));
|
|
72
|
+
tbnBiTangent = normalize(cross(upNormal, tbnTangent));`)}
|
|
76
73
|
${x(R||G,x(I,`vPositionForDraping = positionForDraping();
|
|
77
74
|
vtcOverlay = vec4(0.0);`,`setOverlayVTC(projectOverlay(positionForDraping()));`))}
|
|
78
75
|
|
|
@@ -121,7 +118,7 @@ import{ComponentData as e}from"../views/3d/webgl-engine/collections/Component/Ma
|
|
|
121
118
|
vec3 shadingNormal = ${M?`computeTextureNormal(tangentSpace, vuv0)`:`fragmentShadingNormal`};
|
|
122
119
|
|
|
123
120
|
float ssao = occlusion * evaluateAmbientOcclusionInverse();
|
|
124
|
-
${x(N,S`float snow = applySnow(fragmentFaceNormal,
|
|
121
|
+
${x(N,S`float snow = applySnow(fragmentFaceNormal, upNormal, materialColor.rgb, ssao);
|
|
125
122
|
shadingNormal = mix(shadingNormal, fragmentFaceNormal, snow);`)}
|
|
126
123
|
${x(R,`materialColor = compositeOverlayUnpremultiplied(materialColor, overlayColor);`)}
|
|
127
124
|
|
|
@@ -138,10 +135,10 @@ import{ComponentData as e}from"../views/3d/webgl-engine/collections/Component/Ma
|
|
|
138
135
|
float dotFL = dot(fragmentFaceNormal, mainLightDirection);
|
|
139
136
|
if( dotFL <= 0.0) shadow = 1.0;
|
|
140
137
|
`)}
|
|
141
|
-
|
|
138
|
+
vec3 upNormal = getLocalUp(positionWorld());
|
|
139
|
+
${x(N,`float snow = applySnow(fragmentFaceNormal, upNormal, materialColor.rgb, ssao);`)}
|
|
142
140
|
|
|
143
141
|
vec3 viewDirection = normalize(vPositionWorldCameraRelative);
|
|
144
|
-
vec3 upNormal = getLocalUp(positionWorld());
|
|
145
142
|
|
|
146
143
|
// At global scale we create some additional ambient light based on the main light to simulate global illumination
|
|
147
144
|
vec3 additionalLight = evaluateAdditionalLighting(1.0 - ssao, positionWorld());
|
|
@@ -152,7 +149,7 @@ import{ComponentData as e}from"../views/3d/webgl-engine/collections/Component/Ma
|
|
|
152
149
|
${x(Q,S`vec4 overlayWaterMask = getOverlayColor(waterNormals, overlayUVs);
|
|
153
150
|
float waterNormalLength = length(overlayWaterMask);
|
|
154
151
|
if (waterNormalLength > 0.95) {
|
|
155
|
-
mat3 tbnMatrix = mat3(tbnTangent, tbnBiTangent, upNormal);
|
|
152
|
+
mat3 tbnMatrix = ${I?`mat3(tbnTangent, tbnBiTangent, upNormal)`:`mat3(1.0)`};
|
|
156
153
|
vec4 waterColorLinear = getOverlayWaterColor(overlayWaterMask, overlayColor, -normalize(vPositionWorldCameraRelative), shadow, upNormal, tbnMatrix, vPosition_view, positionWorld());
|
|
157
154
|
vec4 waterColorNonLinear = delinearizeGamma(vec4(waterColorLinear.xyz, 1.0));
|
|
158
155
|
// un-gamma the ground color to mix in linear space
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{calculateUVZShadowPass as e}from"../views/3d/webgl-engine/core/shaderLibrary/shading/calculateUVZShadow.glsl.js";import{EvaluateSceneLighting as t,addAmbientBoostFactor as n}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{lightingGlobalFactor as r}from"../views/3d/webgl-engine/core/shaderLibrary/shading/lightingUniforms.js";import{NormalUtils as i}from"../views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js";import{readShadowPass as
|
|
2
|
+
import{calculateUVZShadowPass as e}from"../views/3d/webgl-engine/core/shaderLibrary/shading/calculateUVZShadow.glsl.js";import{EvaluateSceneLighting as t,addAmbientBoostFactor as n}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{lightingGlobalFactor as r}from"../views/3d/webgl-engine/core/shaderLibrary/shading/lightingUniforms.js";import{NormalUtils as i}from"../views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js";import{positionOutsideClipSpace as a}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PositionOutsideClipSpace.js";import{readShadowPass as o,readShadowMaps as s}from"../views/3d/webgl-engine/core/shaderLibrary/shading/readShadow.glsl.js";import{cameraPosition as c}from"../views/3d/webgl-engine/core/shaderLibrary/util/cameraUniforms.js";import{RgbNormalizedDepthEncoding as l}from"../views/3d/webgl-engine/core/shaderLibrary/util/RgbNormalizedDepthEncoding.glsl.js";import{glsl as u,If as d}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{gaussianSplatFirstHitAlpha as f}from"../views/3d/webgl-engine/shaders/GaussianSplatDepthPolicy.js";import{gaussianSplatPerspective as p,gaussianSplatFading as m}from"../views/3d/webgl-engine/shaders/GaussianSplatPass.glsl.js";import{getGaussianSplatAlphaCutoffValue as h}from"../views/3d/webgl-engine/shaders/GaussianSplatTechniqueConfiguration.js";import{ShaderBuilder as g}from"../views/webgl/ShaderBuilder.js";function _(_){let{receiveShadows:v,spherical:y}=_,b=v&&_.fragmentShading,x=b&&_.preciseDepth,S=new g,{varyings:C,vertex:w,fragment:T,outputs:E}=S;C.add(`vColor`,`vec4`),C.add(`gaussianCoordinates`,`vec2`),C.add(`gaussianLogFalloffCutoff`,`float`),C.add(`fragmentPositionCameraRelative`,`vec3`),_.preciseDepth&&C.add(`rayGaussianFactor`,`vec4`),x&&C.add(`shadowReceiverRay`,`vec3`),S.include(p,_),_.fadingEnabled&&w.include(m),w.uniforms.add(c);let D=b?T:w;D.uniforms.add(c),D.include(t,_),D.include(i,_),n(D),D.uniforms.add(r),b?S.include(o,_):v&&(w.include(e),_.hasShadowHighlights&&w.code.add(u`ivec2 getShadowHighlightCoordinates() {
|
|
3
3
|
vec2 screenUV = gl_Position.xy / gl_Position.w * 0.5 + 0.5;
|
|
4
4
|
ivec2 screenPixel = ivec2(screenUV / inverseScreenSize);
|
|
5
5
|
return clamp(screenPixel, ivec2(0), textureSize(shadowHighlight, 0) - 1);
|
|
6
|
-
}`),
|
|
6
|
+
}`),s(w,_.hasShadowHighlights,`getShadowHighlightCoordinates()`)),E.add(`fragColor`,`vec4`,0),E.add(`fragDepthColor`,`vec4`,1);let O=h(_.alphaCutoff),k=u`float groundLightAlignment = dot(upNormal, mainLightDirection);
|
|
7
7
|
float additionalAmbientScale = additionalDirectedAmbientLight(groundLightAlignment);
|
|
8
|
-
vec3 additionalLight = mainLightIntensity * additionalAmbientScale * ambientBoostFactor * lightingGlobalFactor;`,A=
|
|
8
|
+
vec3 additionalLight = mainLightIntensity * additionalAmbientScale * ambientBoostFactor * lightingGlobalFactor;`,A=u`
|
|
9
9
|
vec3 viewDirection = normalize(fragmentPositionCameraRelative - cameraPosition);
|
|
10
10
|
vec3 upNormal = getLocalUp(fragmentPositionCameraRelative, cameraPosition);
|
|
11
11
|
${k}
|
|
12
|
-
float shadow = ${y?
|
|
13
|
-
${
|
|
14
|
-
${_.preciseDepth?
|
|
15
|
-
float receiverDepth =
|
|
12
|
+
float shadow = ${y?u`lightingGlobalFactor * (1.0 - additionalAmbientScale)`:u`0.0`};
|
|
13
|
+
${d(v,u`
|
|
14
|
+
${_.preciseDepth?u`
|
|
15
|
+
float receiverDepth = computeGaussianRayDepth(rayGaussianFactor);
|
|
16
16
|
vec3 receiverPosition = transpose(mat3(view)) * rayView * receiverDepth;
|
|
17
|
-
`:
|
|
17
|
+
`:u`
|
|
18
18
|
float receiverDepth = -viewPos.z;
|
|
19
19
|
vec3 receiverPosition = fragmentPositionCameraRelative;
|
|
20
20
|
`}
|
|
@@ -22,18 +22,19 @@ vec3 additionalLight = mainLightIntensity * additionalAmbientScale * ambientBoos
|
|
|
22
22
|
shadow = max(shadow, readShadowMaps(uvzShadow));
|
|
23
23
|
`)}
|
|
24
24
|
vColor.rgb = evaluateSceneLighting(upNormal, vColor.rgb, shadow, 0.0, additionalLight, viewDirection, upNormal);
|
|
25
|
-
`,j=
|
|
25
|
+
`,j=u`
|
|
26
26
|
vec3 viewDirection = normalize(fragmentPositionCameraRelative - cameraPosition);
|
|
27
27
|
vec3 upNormal = getLocalUp(fragmentPositionCameraRelative, cameraPosition);
|
|
28
28
|
${k}
|
|
29
|
-
${x?
|
|
29
|
+
${x?u`
|
|
30
30
|
float shadow = max(
|
|
31
31
|
lightingGlobalFactor * (1.0 - additionalAmbientScale),
|
|
32
32
|
readShadowMap(shadowReceiverRay * receiverDepth, receiverDepth)
|
|
33
33
|
);
|
|
34
34
|
`:`float shadow = readShadow(additionalAmbientScale, fragmentPositionCameraRelative);`}
|
|
35
35
|
shadedColor = evaluateSceneLighting(upNormal, vColor.rgb, shadow, 0.0, additionalLight, viewDirection, upNormal);
|
|
36
|
-
`;return w.main.add(`
|
|
36
|
+
`;return w.main.add(u`
|
|
37
|
+
gl_Position = ${a};
|
|
37
38
|
uint gaussianIndex = fetchOrderedGaussianIndex(uint(gl_InstanceID));
|
|
38
39
|
uvec4 packedGaussian = fetchPackedGaussian(gaussianIndex);
|
|
39
40
|
|
|
@@ -42,34 +43,77 @@ vec3 additionalLight = mainLightIntensity * additionalAmbientScale * ambientBoos
|
|
|
42
43
|
float opacity = vColor.a;
|
|
43
44
|
|
|
44
45
|
// Apply per-page fading before the early alpha rejection.
|
|
45
|
-
${
|
|
46
|
-
|
|
46
|
+
${d(_.fadingEnabled,u`
|
|
47
|
+
opacity = applyGaussianSplatFading(opacity, gaussianIndex);
|
|
48
|
+
vColor.a = opacity;
|
|
49
|
+
`)}
|
|
50
|
+
|
|
51
|
+
if (opacity < ${u.float(O)}) {
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
vec3 cameraRelativePosition = fetchGaussianCameraRelativePosition(gaussianIndex, packedGaussian);
|
|
56
|
+
if (rejectGaussianPosition(cameraRelativePosition)) {
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
vec4 viewPos = vec4(mat3(view) * cameraRelativePosition, 1.0);
|
|
61
|
+
if (viewPos.z > -nearFar.x || viewPos.z < -nearFar.y) {
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
47
64
|
|
|
48
|
-
|
|
65
|
+
vec3 gaussianScale = unpackScale(packedGaussian);
|
|
66
|
+
mat3 gaussianRotation = quaternionToRotationMatrix(unpackQuaternion(packedGaussian));
|
|
67
|
+
GaussianSplatProjection projection;
|
|
68
|
+
if (!projectGaussianSplat(
|
|
69
|
+
viewPos.xyz, gaussianScale, gaussianRotation,
|
|
70
|
+
${u.float(O)}, ${u.float(Math.log(O))}, opacity, projection
|
|
71
|
+
)) {
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
gaussianCoordinates = projection.coordinates;
|
|
76
|
+
gaussianLogFalloffCutoff = projection.logFalloffCutoff;
|
|
77
|
+
fragmentPositionCameraRelative = cameraRelativePosition + transpose(mat3(view)) * projection.viewOffset;
|
|
78
|
+
|
|
79
|
+
${d(_.preciseDepth,u`
|
|
80
|
+
vec3 rayView = reconstructViewRay(projection.clipPosition.xy, inverseProjectionMatrix);
|
|
81
|
+
rayGaussianFactor = computeGaussianRayFactor(
|
|
82
|
+
rayView, cameraRelativePosition, gaussianScale, gaussianRotation, mat3(view)
|
|
83
|
+
);
|
|
84
|
+
`)}
|
|
85
|
+
gl_Position = projection.clipPosition;
|
|
49
86
|
vColor.a = opacity;
|
|
50
|
-
${
|
|
87
|
+
${d(x,`shadowReceiverRay = transpose(mat3(view)) * rayView;`)}
|
|
51
88
|
|
|
52
89
|
// Per-fragment lighting preserves crisp shadow borders; vertex lighting reduces overdraw cost.
|
|
53
|
-
${
|
|
54
|
-
`),T.include(
|
|
90
|
+
${d(b,`forwardLinearDepth(-viewPos.z);`,A)}
|
|
91
|
+
`),T.include(l),T.main.add(u`
|
|
92
|
+
if (rejectGaussianPosition(fragmentPositionCameraRelative)) {
|
|
93
|
+
discard;
|
|
94
|
+
}
|
|
95
|
+
float gaussianExponent = evaluateGaussianExponent(gaussianCoordinates);
|
|
96
|
+
if (gaussianExponent > 0.0 || gaussianExponent < gaussianLogFalloffCutoff) {
|
|
97
|
+
discard;
|
|
98
|
+
}
|
|
55
99
|
float gaussianFalloff = exp(gaussianExponent);
|
|
56
100
|
|
|
57
101
|
// Cap at 0.99 to avoid blending issues, such as seams between overlapping Gaussians.
|
|
58
102
|
float alpha = min(.99f, vColor.a * gaussianFalloff);
|
|
59
103
|
|
|
60
|
-
${
|
|
104
|
+
${d(_.preciseDepth,u`float receiverDepth = computeGaussianRayDepth(rayGaussianFactor);`)}
|
|
61
105
|
vec3 shadedColor = vColor.rgb;
|
|
62
|
-
${
|
|
106
|
+
${d(b,j)}
|
|
63
107
|
fragColor = vec4(shadedColor * alpha, alpha);
|
|
64
108
|
|
|
65
109
|
// We simulate first hit based depth using the shared opacity threshold.
|
|
66
110
|
// This works because we render in front-to-back order,
|
|
67
111
|
// i.e. the first hit that counts completely saturates the alpha channel
|
|
68
112
|
// and further splats do not contribute.
|
|
69
|
-
float depthHit = step(${
|
|
113
|
+
float depthHit = step(${u.float(f)}, alpha);
|
|
70
114
|
vec3 encodedDepth = vec3(0.0);
|
|
71
115
|
if (depthHit > 0.0) {
|
|
72
|
-
encodedDepth = encodeNormalizedDepthToRGB(${
|
|
116
|
+
encodedDepth = encodeNormalizedDepthToRGB(${_.preciseDepth?`delinearizeDepth(-receiverDepth)`:`gl_FragCoord.z`});
|
|
73
117
|
}
|
|
74
118
|
fragDepthColor = vec4(encodedDepth, depthHit);
|
|
75
119
|
`),S}const v=Object.freeze(Object.defineProperty({__proto__:null,build:_},Symbol.toStringTag,{value:`Module`}));export{v as G,_ as b};
|
|
@@ -1,11 +1,52 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{If as
|
|
2
|
+
import{positionOutsideClipSpace as e}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PositionOutsideClipSpace.js";import{If as t,glsl as n}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{gaussianSplatFirstHitAlpha as r}from"../views/3d/webgl-engine/shaders/GaussianSplatDepthPolicy.js";import{gaussianSplatPerspective as i,gaussianSplatFading as a}from"../views/3d/webgl-engine/shaders/GaussianSplatPass.glsl.js";import{ShaderBuilder as o}from"../views/webgl/ShaderBuilder.js";function s(s){let{fadingEnabled:c}=s,l=new o,{fragment:u,vertex:d,varyings:f}=l;return l.include(i,s),f.add(`gaussianCoordinates`,`vec2`),f.add(`gaussianLogFalloffCutoff`,`float`),f.add(`fragmentPositionCameraRelative`,`vec3`),s.preciseDepth&&f.add(`rayGaussianFactor`,`vec4`),s.fadingEnabled&&l.vertex.include(a),s.writeNormals&&l.outputs.add(`fragNormal`,`vec4`,0),d.main.add(n`
|
|
3
|
+
gl_Position = ${e};
|
|
3
4
|
uint gaussianIndex = fetchOrderedGaussianIndex(uint(gl_InstanceID));
|
|
4
5
|
uvec4 packedGaussian = fetchPackedGaussian(gaussianIndex);
|
|
5
6
|
|
|
6
7
|
float opacity = unpackOpacity(packedGaussian);
|
|
7
8
|
|
|
8
|
-
${
|
|
9
|
+
${t(c,n`opacity = applyGaussianSplatFading(opacity, gaussianIndex);`)}
|
|
9
10
|
|
|
10
|
-
${
|
|
11
|
-
|
|
11
|
+
if (opacity < ${n.float(r)}) {
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
vec3 cameraRelativePosition = fetchGaussianCameraRelativePosition(gaussianIndex, packedGaussian);
|
|
16
|
+
if (rejectGaussianPosition(cameraRelativePosition)) {
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
vec4 viewPos = vec4(mat3(view) * cameraRelativePosition, 1.0);
|
|
21
|
+
if (viewPos.z > -nearFar.x || viewPos.z < -nearFar.y) {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
vec3 gaussianScale = unpackScale(packedGaussian);
|
|
26
|
+
mat3 gaussianRotation = quaternionToRotationMatrix(unpackQuaternion(packedGaussian));
|
|
27
|
+
GaussianSplatProjection projection;
|
|
28
|
+
if (!projectGaussianSplat(
|
|
29
|
+
viewPos.xyz, gaussianScale, gaussianRotation,
|
|
30
|
+
${n.float(r)}, ${n.float(Math.log(r))}, opacity, projection
|
|
31
|
+
)) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
gaussianCoordinates = projection.coordinates;
|
|
36
|
+
gaussianLogFalloffCutoff = projection.logFalloffCutoff;
|
|
37
|
+
fragmentPositionCameraRelative = cameraRelativePosition + transpose(mat3(view)) * projection.viewOffset;
|
|
38
|
+
|
|
39
|
+
${t(s.preciseDepth,n`
|
|
40
|
+
vec3 rayView = reconstructViewRay(projection.clipPosition.xy, inverseProjectionMatrix);
|
|
41
|
+
rayGaussianFactor = computeGaussianRayFactor(
|
|
42
|
+
rayView, cameraRelativePosition, gaussianScale, gaussianRotation, mat3(view)
|
|
43
|
+
);
|
|
44
|
+
`)}
|
|
45
|
+
gl_Position = projection.clipPosition;
|
|
46
|
+
`),u.main.add(n`if (rejectGaussianPosition(fragmentPositionCameraRelative)) {
|
|
47
|
+
discard;
|
|
48
|
+
}
|
|
49
|
+
float gaussianExponent = evaluateGaussianExponent(gaussianCoordinates);
|
|
50
|
+
if (gaussianExponent > 0.0 || gaussianExponent < gaussianLogFalloffCutoff) {
|
|
51
|
+
discard;
|
|
52
|
+
}`),s.preciseDepth&&u.main.add(n`gl_FragDepth = delinearizeDepth(-computeGaussianRayDepth(rayGaussianFactor));`),s.writeNormals&&u.main.add(`fragNormal = vec4(0.0);`),l}const c=Object.freeze(Object.defineProperty({__proto__:null,build:s},Symbol.toStringTag,{value:`Module`}));export{c as G,s as b};
|
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{create as e}from"../core/libs/gl-matrix-2/factories/mat4f64.js";import{
|
|
2
|
+
import{create as e}from"../core/libs/gl-matrix-2/factories/mat4f64.js";import{positionOutsideClipSpace as t}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PositionOutsideClipSpace.js";import{nearFar as n}from"../views/3d/webgl-engine/core/shaderLibrary/util/cameraUniforms.js";import{glsl as r,If as i}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Matrix4PassUniform as a}from"../views/3d/webgl-engine/core/shaderModules/Matrix4PassUniform.js";import{shadowDepthBias as o,gaussianSplatFirstHitAlpha as s}from"../views/3d/webgl-engine/shaders/GaussianSplatDepthPolicy.js";import{gaussianSplatCommon as c,gaussianSplatRayDepth as l}from"../views/3d/webgl-engine/shaders/GaussianSplatPass.glsl.js";import{GaussianSplatRenderParameters as u}from"../views/3d/webgl-engine/shaders/GaussianSplatPassParameters.js";import{ShaderBuilder as d}from"../views/webgl/ShaderBuilder.js";class f extends u{constructor(){super(...arguments),this.inverseProjectionMatrix=e()}}function p(e){let u=new d,{vertex:f,fragment:p,varyings:m}=u,h=e.output===8,g=e.clippingEnabled||e.hasSlicePlane;return u.include(c,e),m.add(`gaussianCoordinates`,`vec2`),m.add(`gaussianLogFalloffCutoff`,`float`),(e.preciseDepth||g)&&f.uniforms.add(new a(`inverseProjectionMatrix`,e=>e.inverseProjectionMatrix)),g&&(m.add(`homogeneousPositionCameraRelative`,`vec4`),f.code.add(r`vec4 reconstructHomogeneousViewPosition(vec2 clipPosition, float viewZ, mat4 inverseProjection) {
|
|
3
|
+
vec4 origin = inverseProjection * vec4(clipPosition, 0.0, 1.0);
|
|
4
|
+
vec4 depthAxis = inverseProjection[2];
|
|
5
|
+
float denominator = depthAxis.z - viewZ * depthAxis.w;
|
|
6
|
+
float numerator = viewZ * origin.w - origin.z;
|
|
7
|
+
return origin * denominator + depthAxis * numerator;
|
|
8
|
+
}`)),e.preciseDepth&&(h?(u.include(l),m.add(`rayGaussianFactor`,`vec4`)):(u.varyings.add(`shadowRayDepth`,`vec2`),f.code.add(r`vec2 gaussianSplatPrepareParallelRayDepth(
|
|
3
9
|
vec2 clipPosition,
|
|
4
10
|
vec3 viewPosition,
|
|
5
11
|
vec3 gaussianScale,
|
|
@@ -14,18 +20,27 @@ vec3 homogeneousCenterOffset = vec3(viewPosition.xy * homogeneousOrigin.w - homo
|
|
|
14
20
|
vec3 factorSpaceOffset = (viewToGaussian * homogeneousCenterOffset) / gaussianScale;
|
|
15
21
|
float homogeneousPeakOffset = dot(factorSpaceDirection, factorSpaceOffset) / dot(factorSpaceDirection, factorSpaceDirection);
|
|
16
22
|
return vec2(-viewPosition.z * homogeneousOrigin.w + homogeneousPeakOffset, homogeneousOrigin.w);
|
|
17
|
-
}`)),
|
|
18
|
-
float rayDepth = ${
|
|
23
|
+
}`)),p.uniforms.add(n),p.constants.add(`depthBias`,`float`,o),p.main.add(r`
|
|
24
|
+
float rayDepth = ${h?`computeGaussianRayDepth(rayGaussianFactor)`:`shadowRayDepth.x / (shadowRayDepth.y == 0.0 ? 1.0 : shadowRayDepth.y)`};
|
|
19
25
|
float linearDepth = (rayDepth - nearFar.x) / (nearFar.y - nearFar.x);
|
|
20
26
|
float slopeBias = 2.0 * max(abs(dFdx(linearDepth)), abs(dFdy(linearDepth)));
|
|
21
|
-
${
|
|
27
|
+
${i(!h,r`if (shadowRayDepth.y == 0.0) { discard; }`)}
|
|
22
28
|
if (rayDepth < nearFar.x || rayDepth > nearFar.y) {
|
|
23
29
|
discard;
|
|
24
30
|
}
|
|
25
31
|
gl_FragDepth = min(linearDepth + depthBias + slopeBias, 1.0);
|
|
26
|
-
`)),p.
|
|
32
|
+
`)),g&&p.main.add(r`if (homogeneousPositionCameraRelative.w == 0.0) {
|
|
33
|
+
discard;
|
|
34
|
+
}
|
|
35
|
+
vec3 positionCameraRelative = homogeneousPositionCameraRelative.xyz / homogeneousPositionCameraRelative.w;
|
|
36
|
+
if (rejectGaussianPosition(positionCameraRelative)) {
|
|
37
|
+
discard;
|
|
38
|
+
}`),p.main.add(r`float gaussianExponent = evaluateGaussianExponent(gaussianCoordinates);
|
|
39
|
+
if (gaussianExponent > 0.0 || gaussianExponent < gaussianLogFalloffCutoff) {
|
|
40
|
+
discard;
|
|
41
|
+
}`),f.constants.add(`alphaCutoff`,`float`,s),f.constants.add(`depthBias`,`float`,o),f.code.add(r`float safeClipW(float clipW) {
|
|
27
42
|
return abs(clipW) < 1e-7 ? (clipW < 0.0 ? -1e-7 : 1e-7) : clipW;
|
|
28
|
-
}`),
|
|
43
|
+
}`),f.code.add(r`vec3 computeProjectivePixelGradient(
|
|
29
44
|
vec3 clipGradient,
|
|
30
45
|
vec3 clipWGradient,
|
|
31
46
|
float clipValue,
|
|
@@ -34,17 +49,31 @@ float invWSquared,
|
|
|
34
49
|
float halfScreenSize
|
|
35
50
|
) {
|
|
36
51
|
return (clipGradient * safeW - clipValue * clipWGradient) * invWSquared * halfScreenSize;
|
|
37
|
-
}`),
|
|
52
|
+
}`),f.code.add(r`float biasDepth(float linearDepth) {
|
|
38
53
|
return min(linearDepth + depthBias, 1.0);
|
|
39
|
-
}`),
|
|
54
|
+
}`),f.main.add(r`
|
|
55
|
+
gl_Position = ${t};
|
|
40
56
|
uint gaussianIndex = fetchOrderedGaussianIndex(uint(gl_InstanceID));
|
|
41
57
|
uvec4 packedGaussian = fetchPackedGaussian(gaussianIndex);
|
|
42
58
|
|
|
43
59
|
float opacity = unpackOpacity(packedGaussian);
|
|
44
60
|
|
|
45
|
-
|
|
61
|
+
if (opacity < alphaCutoff) {
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
vec3 cameraRelativePosition = fetchGaussianCameraRelativePosition(gaussianIndex, packedGaussian);
|
|
66
|
+
if (rejectGaussianPosition(cameraRelativePosition)) {
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
vec4 viewPos = vec4(mat3(view) * cameraRelativePosition, 1.0);
|
|
71
|
+
if (viewPos.z > -nearFar.x || viewPos.z < -nearFar.y) {
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
46
74
|
|
|
47
|
-
|
|
75
|
+
vec3 gaussianScale = unpackScale(packedGaussian);
|
|
76
|
+
mat3 gaussianRotation = quaternionToRotationMatrix(unpackQuaternion(packedGaussian));
|
|
48
77
|
|
|
49
78
|
vec4 projPos = proj * viewPos;
|
|
50
79
|
float safeW = safeClipW(projPos.w);
|
|
@@ -78,7 +107,19 @@ return min(linearDepth + depthBias, 1.0);
|
|
|
78
107
|
return;
|
|
79
108
|
}
|
|
80
109
|
|
|
81
|
-
|
|
110
|
+
float determinant = computeGaussianCovarianceDeterminant(covariance2D);
|
|
111
|
+
if (determinant <= 0.0) {
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
vec2 eigenvalues = computeGaussianCovarianceEigenvalues(covariance2D);
|
|
116
|
+
gaussianLogFalloffCutoff = log(alphaCutoff) - log(opacity);
|
|
117
|
+
float gaussianEllipseThreshold = computeGaussianEllipseThreshold(gaussianLogFalloffCutoff);
|
|
118
|
+
vec2 screenRadii = computeGaussianScreenRadii(covariance2D, gaussianEllipseThreshold);
|
|
119
|
+
float maxRadius = ceil(sqrt(eigenvalues.x * gaussianEllipseThreshold));
|
|
120
|
+
if (rejectGaussianByMinimumRadius(maxRadius, minimumRadiusOpacity, minSplatRadius)) {
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
82
123
|
|
|
83
124
|
// Avoid invalid/extremely large footprints.
|
|
84
125
|
if (maxRadius < 0.0 || maxRadius > maxShadowSplatRadius) {
|
|
@@ -86,16 +127,29 @@ return min(linearDepth + depthBias, 1.0);
|
|
|
86
127
|
}
|
|
87
128
|
|
|
88
129
|
vec3 ndcPos = projPos.xyz / safeW;
|
|
89
|
-
|
|
130
|
+
vec2 clipSpacePixelScale = 2.0 * inverseScreenSize;
|
|
131
|
+
if (rejectGaussianByScreenBounds(ndcPos.xy, screenRadii, clipSpacePixelScale)) {
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
134
|
+
gaussianCoordinates = computeGaussianUnitQuadCorner(gl_VertexID) * sqrt(gaussianEllipseThreshold);
|
|
135
|
+
vec2 offsetFromCenter = computeGaussianQuadOffset(covariance2D, determinant, gaussianCoordinates);
|
|
90
136
|
float linearDepth = (-viewPos.z - nearFar.x) / (nearFar.y - nearFar.x);
|
|
91
137
|
float biasedDepth = biasDepth(linearDepth);
|
|
92
138
|
|
|
93
139
|
vec2 clipPos = ndcPos.xy + offsetFromCenter * clipSpacePixelScale - inverseScreenSize;
|
|
94
|
-
${
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
)
|
|
98
|
-
|
|
99
|
-
)
|
|
140
|
+
${i(g,r`
|
|
141
|
+
vec4 homogeneousViewPosition = reconstructHomogeneousViewPosition(clipPos, viewPos.z, inverseProjectionMatrix);
|
|
142
|
+
homogeneousPositionCameraRelative = vec4(transpose(mat3(view)) * homogeneousViewPosition.xyz, homogeneousViewPosition.w);
|
|
143
|
+
`)}
|
|
144
|
+
${i(e.preciseDepth,h?r`
|
|
145
|
+
vec3 rayView = reconstructViewRay(clipPos, inverseProjectionMatrix);
|
|
146
|
+
rayGaussianFactor = computeGaussianRayFactor(
|
|
147
|
+
rayView, cameraRelativePosition, gaussianScale, gaussianRotation, mat3(view)
|
|
148
|
+
);
|
|
149
|
+
`:r`
|
|
150
|
+
shadowRayDepth = gaussianSplatPrepareParallelRayDepth(
|
|
151
|
+
clipPos, viewPos.xyz, gaussianScale, gaussianRotation, inverseProjectionMatrix, mat3(view)
|
|
152
|
+
);
|
|
153
|
+
`)}
|
|
100
154
|
gl_Position = vec4(clipPos, biasedDepth * 2.0 - 1.0, 1.0);
|
|
101
|
-
`),
|
|
155
|
+
`),u}const m=Object.freeze(Object.defineProperty({__proto__:null,GaussianSplatShadowPassParameters:f,build:p},Symbol.toStringTag,{value:`Module`}));export{f as G,m as a,p as b};
|