@arcgis/core 4.34.0-next.85 → 4.34.0-next.87
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/Basemap.js +1 -1
- package/Ground.js +1 -1
- package/Map.js +1 -1
- package/analysis/ElevationProfile/ElevationProfileLineGround.d.ts +4 -0
- package/analysis/ElevationProfile/{ElevationProfileGroundLine.js → ElevationProfileLineGround.js} +1 -1
- package/analysis/ElevationProfile/ElevationProfileLineInput.d.ts +4 -0
- package/analysis/ElevationProfile/{ElevationProfileInputLine.js → ElevationProfileLineInput.js} +1 -1
- package/analysis/ElevationProfile/ElevationProfileLineQuery.d.ts +4 -0
- package/analysis/ElevationProfile/{ElevationProfileQueryLine.js → ElevationProfileLineQuery.js} +1 -1
- package/analysis/ElevationProfile/ElevationProfileLineScene.d.ts +4 -0
- package/analysis/ElevationProfile/{ElevationProfileSceneLine.js → ElevationProfileLineScene.js} +1 -1
- package/analysis/ElevationProfile/elevationProfileLineTypes.js +1 -1
- package/analysis/ElevationProfileAnalysis.js +1 -1
- package/arcade/functions/measures.js +1 -1
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/0074f1836d7ff69ff6ec.js +1 -0
- package/assets/esri/core/workers/chunks/03ef19f0753d68770444.js +1 -0
- package/assets/esri/core/workers/chunks/06c389283ee5b60573f2.js +1 -0
- package/assets/esri/core/workers/chunks/09c2004126f4a5242b85.js +1 -0
- package/assets/esri/core/workers/chunks/0b679d5a1bfdbd006d6e.js +1 -0
- package/assets/esri/core/workers/chunks/0f05425954578ac796ec.js +1 -0
- package/assets/esri/core/workers/chunks/109149c378aa4c5f8526.js +1 -0
- package/assets/esri/core/workers/chunks/143503f6eb270c4683f8.js +1 -0
- package/assets/esri/core/workers/chunks/177840d5f0076c0de46b.js +316 -0
- package/assets/esri/core/workers/chunks/1c1b0cc91fe9cb3fec61.js +1 -0
- package/assets/esri/core/workers/chunks/{9eb1bfcb9b05f2a36748.js → 1f2d13466c60a6b57717.js} +1 -1
- package/assets/esri/core/workers/chunks/1fc6311d4f0d27e88737.js +1 -0
- package/assets/esri/core/workers/chunks/257fd65786feb5951b90.js +1 -0
- package/assets/esri/core/workers/chunks/{7a23b127f551bf13ef54.js → 268f5b233640a9dbbf89.js} +2 -2
- package/assets/esri/core/workers/chunks/2896ada406074f754b00.js +1 -0
- package/assets/esri/core/workers/chunks/28d30be414e59eabd963.js +1 -0
- package/assets/esri/core/workers/chunks/29471e0b3f7296dee096.js +1 -0
- package/assets/esri/core/workers/chunks/{3192b68675ff2afcb1d6.js → 2d3ae187f8aa3495d4ae.js} +1 -1
- package/assets/esri/core/workers/chunks/2dc88379ee94fabdaf52.js +1 -0
- package/assets/esri/core/workers/chunks/336b54144afec0c7d396.js +2 -0
- package/assets/esri/core/workers/chunks/366db86914a63e6d0c68.js +1 -0
- package/assets/esri/core/workers/chunks/{d66cdb9bb494da19696b.js → 47e4f66c33bb697fbe6b.js} +2 -2
- package/assets/esri/core/workers/chunks/481c2b01e2fe92249698.js +1 -0
- package/assets/esri/core/workers/chunks/4840bd93d8fe15c7aefd.js +1 -0
- package/assets/esri/core/workers/chunks/4d4db6854aff7656f6e1.js +1 -0
- package/assets/esri/core/workers/chunks/5c585b338a9e9aa0e205.js +1 -0
- package/assets/esri/core/workers/chunks/639d856cd217914dfe1f.js +1 -0
- package/assets/esri/core/workers/chunks/68f5a2d2666636c3f807.js +1 -0
- package/assets/esri/core/workers/chunks/7540b34e743a23e67729.js +1 -0
- package/assets/esri/core/workers/chunks/7be11a3ef1f49245089f.js +1 -0
- package/assets/esri/core/workers/chunks/819a8bc1f0a694017ee6.js +1 -0
- package/assets/esri/core/workers/chunks/{afb76f9d6abedef771df.js → 8380a092ffc8e92ede7a.js} +1 -1
- package/assets/esri/core/workers/chunks/8d63b42aea32ce2e5d09.js +1 -0
- package/assets/esri/core/workers/chunks/8de11aab65d91e7f1a4d.js +1 -0
- package/assets/esri/core/workers/chunks/9386a0ebff78b6303ed2.js +1 -0
- package/assets/esri/core/workers/chunks/{4d47187bc0821413492d.js → 95bae3c275f1483eb7ed.js} +1 -1
- package/assets/esri/core/workers/chunks/{f8f85207b382c1ea038c.js → 97489bf16a1d327992b2.js} +3 -3
- package/assets/esri/core/workers/chunks/a2652d10bb0bc41c9a8d.js +1 -0
- package/assets/esri/core/workers/chunks/a845c68e76382a73da5e.js +1 -0
- package/assets/esri/core/workers/chunks/{9c64b78c5c9b35b31d98.js → aa78b69219d9a0ef1c54.js} +2 -2
- package/assets/esri/core/workers/chunks/b09b34f64a6bc2b49e0a.js +1 -0
- package/assets/esri/core/workers/chunks/b0a03b6edbcf6e933431.js +1 -0
- package/assets/esri/core/workers/chunks/{1859a11df9f579b993d7.js → b2fbb44e219232e61cbd.js} +1 -1
- package/assets/esri/core/workers/chunks/b4349db7155673329432.js +1 -0
- package/assets/esri/core/workers/chunks/b8997ae5893afa0298d1.js +1 -0
- package/assets/esri/core/workers/chunks/c0ae186620b68d43b338.js +1 -0
- package/assets/esri/core/workers/chunks/{d153b29c542c37ae1636.js → c50e8d5f554cf151865c.js} +2 -2
- package/assets/esri/core/workers/chunks/c5cc0fc652432a9264cc.js +1 -0
- package/assets/esri/core/workers/chunks/c6cae8471c5d4ae40c65.js +1 -0
- package/assets/esri/core/workers/chunks/cab2a1382bdd32bb34d8.js +1 -0
- package/assets/esri/core/workers/chunks/ce937ff0dd1147ea297e.js +1 -0
- package/assets/esri/core/workers/chunks/d142a42755a78bb157ed.js +1 -0
- package/assets/esri/core/workers/chunks/{280af3640f8e93c1024e.js → d6e0528eacee7ea4c1ce.js} +2 -2
- package/assets/esri/core/workers/chunks/d9d86cf0500fa29d1d43.js +1 -0
- package/assets/esri/core/workers/chunks/db5a985ccc6b7d0ad855.js +1 -0
- package/assets/esri/core/workers/chunks/f3ee035fa7bf638c8e60.js +1 -0
- package/assets/esri/core/workers/chunks/{b15ff6c9ef2de8a49853.js → f651c05604eab83aef5f.js} +2 -2
- package/assets/esri/core/workers/chunks/{ed773dab5965e42a2879.js → f6e18668f728dfd8ba5e.js} +2 -2
- package/assets/esri/core/workers/chunks/fc5ac54aab66562c8463.js +1 -0
- package/assets/esri/core/workers/chunks/ff8e2f998169ca3a7a68.js +1 -0
- package/assets/esri/libs/dracoMeshDecoder/draco_mesh_decoder.wasm +0 -0
- package/assets/esri/libs/i3s/i3s.wasm +0 -0
- package/assets/esri/themes/dark/main.css +1 -1
- package/assets/esri/themes/light/main.css +1 -1
- package/assets/esri/themes/light/view.css +1 -1
- package/assets/esri/views/3d/analysis/VolumeMeasurement/t9n/VolumeMeasurementAnalysis.json +1 -0
- package/assets/esri/widgets/Editor/t9n/Editor.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_en.json +1 -1
- package/chunks/CloudsComposition.glsl.js +2 -2
- package/chunks/HUDMaterial.glsl.js +49 -50
- package/chunks/LineMarker.glsl.js +34 -34
- package/chunks/PointRenderer.glsl.js +4 -4
- package/chunks/ShadowHighlight.glsl.js +3 -3
- package/chunks/draco_mesh_decoder.js +1 -1
- package/config.js +1 -1
- package/core/NestedMap.js +1 -1
- package/core/iteratorUtils.js +1 -1
- package/editing/geometry/lineUtils.js +1 -1
- package/identity/IdentityManagerBase.js +1 -1
- package/interfaces.d.ts +188 -134
- package/kernel.js +1 -1
- package/layers/GaussianSplatLayer.js +1 -1
- package/layers/IntegratedMesh3DTilesLayer.js +1 -1
- package/layers/IntegratedMeshLayer.js +1 -1
- package/layers/ParquetLayer.js +1 -1
- package/layers/SceneLayer.js +1 -1
- package/layers/VectorTileLayer.js +1 -1
- package/layers/graphics/sources/ParquetSource.js +1 -1
- package/layers/graphics/sources/support/ParquetSourceWorker.js +1 -1
- package/layers/knowledgeGraph/KnowledgeGraphLayerDataManager.js +1 -1
- package/layers/knowledgeGraph/cypherUtils.js +1 -1
- package/layers/support/FieldConfiguration.js +1 -1
- package/layers/support/fieldConfigUtils.js +1 -1
- package/layers/support/layerUtils.js +1 -1
- package/layers/support/vectorTileLayerLoader.js +1 -1
- package/package.json +5 -5
- package/portal/schemas/definitions.js +1 -1
- package/support/basemapEnsureType.js +1 -1
- package/support/revision.js +1 -1
- package/support/userTypeGuards/isBasemap.js +5 -0
- package/symbols/support/previewSymbol2D.js +1 -1
- package/views/2d/analysis/ElevationProfileAnalysisView2D.js +1 -1
- package/views/2d/layers/FeatureLayerView2D.js +1 -1
- package/views/2d/layers/features/FeaturePipelineWorker.js +1 -1
- package/views/2d/layers/features/Processor.js +1 -1
- package/views/2d/layers/features/layerAdapters/CatalogFootprintLayerAdapter.js +1 -1
- package/views/2d/layers/features/layerAdapters/FeatureLayerAdapter.js +1 -1
- package/views/2d/layers/features/layerAdapters/InMemoryLayerAdapter.js +1 -1
- package/views/2d/layers/features/layerAdapters/KnowledgeGraphSublayerAdapter.js +1 -1
- package/views/2d/layers/features/layerAdapters/OGCFeatureLayerAdapter.js +1 -1
- package/views/2d/layers/features/layerAdapters/OrientedImageryLayerAdapter.js +1 -1
- package/views/2d/layers/features/layerAdapters/ParquetLayerAdapter.js +1 -1
- package/views/2d/layers/features/layerAdapters/StreamLayerAdapter.js +1 -1
- package/views/2d/layers/features/layerAdapters/SubtypeGroupLayerAdapter.js +1 -1
- package/views/2d/layers/features/layerAdapters/featureServiceUtils.js +1 -1
- package/views/2d/layers/features/schema/SourceSchema.js +1 -1
- package/views/2d/layers/features/sources/FeatureSource.js +1 -1
- package/views/2d/layers/features/sources/FeatureSourceQueryInfo.js +1 -1
- package/views/2d/layers/features/sources/strategies/AFeatureLoadStrategy.js +5 -0
- package/views/2d/layers/features/sources/strategies/AFeatureTileLoadStrategy.js +5 -0
- package/views/2d/layers/features/sources/strategies/ALoadStrategy.js +1 -1
- package/views/2d/layers/features/sources/strategies/FeatureDrillDownTileLoadStrategy.js +5 -0
- package/views/2d/layers/features/sources/strategies/FeaturePagedTileLoadStrategy.js +5 -0
- package/views/2d/layers/features/sources/strategies/FeatureSnapshotLoadStrategy.js +5 -0
- package/views/2d/layers/features/sources/strategies/ParquetSnapshotLoadStrategy.js +1 -1
- package/views/2d/layers/features/sources/strategies/ParquetTileLoadStrategy.js +1 -1
- package/views/2d/layers/features/sources/strategies/StreamLoadStrategy.js +1 -1
- package/views/2d/layers/features/sources/strategies/chunks/FeatureSnapshotSourceChunk.js +1 -1
- package/views/2d/layers/features/sources/strategies/chunks/SourceChunkStore.js +1 -1
- package/views/2d/layers/features/sources/strategies/support/queryAdapters.js +1 -1
- package/views/2d/layers/features/support/FeatureSetReaderParquet.js +1 -1
- package/views/3d/FocusAreasView.js +1 -1
- package/views/3d/GroundView3D.js +5 -0
- package/views/3d/analysis/ElevationProfile/{ElevationProfileSceneLineComputation.js → ElevationProfileLineSceneComputation.js} +1 -1
- package/views/3d/analysis/ElevationProfileAnalysisView3D.js +1 -1
- package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementConfiguration.js +1 -1
- package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementCutFillVisualization.js +1 -1
- package/views/3d/analysis/VolumeMeasurementAnalysisView3D.js +1 -1
- package/views/3d/environment/CloudsComposition.glsl.js +1 -1
- package/views/3d/glTF/internal/Resource.js +1 -1
- package/views/3d/interactive/SnappingVisualizer3D.js +1 -1
- package/views/3d/interactive/visualElements/DrapedVisualElementResources.js +1 -1
- package/views/3d/interactive/visualElements/LabelVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/ParallelLineVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/RightAngleQuadVisualElement.js +1 -1
- package/views/3d/layers/DrapedSubView3D.js +1 -1
- package/views/3d/layers/FlowSubView3D.js +1 -1
- package/views/3d/layers/GaussianSplatLayerView3D.js +1 -1
- package/views/3d/layers/I3SMeshView3D.js +1 -1
- package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
- package/views/3d/layers/IntegratedMeshLayerView3D.js +1 -1
- package/views/3d/layers/MediaLayerView3D.js +1 -1
- package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
- package/views/3d/layers/i3s/I3SMaterialUtil.js +1 -1
- package/views/3d/layers/support/HeatmapFeatureProcessor.js +1 -1
- package/views/3d/state/helpers/SceneIntersectionHelper.js +1 -1
- package/views/3d/support/MemoryController.js +1 -1
- package/views/3d/support/engineContent/marker.js +1 -1
- package/views/3d/support/engineContent/sdfPrimitives.js +1 -1
- package/views/3d/support/pointsOfInterest/CenterOnSurface.js +1 -1
- package/views/3d/support/pointsOfInterest/PointsOfInterest.js +1 -1
- package/views/3d/support/popupHitTest.js +1 -1
- package/views/3d/terrain/OverlayManager.js +1 -1
- package/views/3d/terrain/OverlayRenderer.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/LineStipple.glsl.js +11 -11
- package/views/3d/webgl-engine/lib/BasisUtil.js +1 -1
- package/views/3d/webgl-engine/lib/Texture.js +1 -1
- package/views/3d/webgl-engine/materials/renderers/InstancedCommandVAO.js +5 -0
- package/views/3d/webgl-engine/materials/renderers/InstancedCommandVAOs.js +5 -0
- package/views/3d/webgl-engine/materials/renderers/PerBufferData.js +1 -1
- package/views/3d/webgl-engine/materials/renderers/PerOriginData.js +1 -1
- package/views/3d/webgl-engine/materials/renderers/VaoRenderer.js +1 -1
- package/views/3d/webgl-engine/materials/renderers/VaoWriter.js +1 -1
- package/views/3d/webgl-engine/parts/RenderView.js +1 -1
- package/views/3d/webgl-engine/shaders/AnimatedLine.glsl.js +14 -9
- package/views/3d/webgl-engine/shaders/HUDMaterial.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/LineMarker.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/PointRenderer.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/ShadowHighlight.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/sources/edgeRenderer/LineOffset.glsl.js +8 -8
- package/views/BasemapView.js +1 -1
- package/views/GroundView.js +1 -1
- package/views/SceneView.js +1 -1
- package/views/View.js +1 -1
- package/views/View2D.js +1 -1
- package/views/analysis/ElevationProfile/ElevationProfileChart.js +1 -1
- package/views/analysis/ElevationProfile/{ElevationProfileGroundLineComputation.js → ElevationProfileLineGroundComputation.js} +1 -1
- package/views/analysis/ElevationProfile/{ElevationProfileInputLineComputation.js → ElevationProfileLineInputComputation.js} +1 -1
- package/views/analysis/ElevationProfile/{ElevationProfileQueryLineComputation.js → ElevationProfileLineQueryComputation.js} +1 -1
- package/views/analysis/ElevationProfile/ElevationProfileTool.js +1 -1
- package/views/support/LayerViewManager.js +1 -1
- package/views/webgl/RenderbufferDescriptor.js +1 -1
- package/views/webgl/TextureDescriptor.js +1 -1
- package/views/webgl/Util.js +1 -1
- package/views/webgl/VertexArrayObject.js +1 -1
- package/webscene/Slide.js +1 -1
- package/widgets/Editor/CreateFeaturesWorkflow.js +1 -1
- package/widgets/Editor/SplitFeatureWorkflow.js +1 -1
- package/widgets/Editor/UpdateFeatureWorkflow.js +1 -1
- package/widgets/Editor/Upload.js +1 -1
- package/widgets/Editor/components/Notices.js +1 -1
- package/widgets/Editor/modelUploadUtils.js +1 -1
- package/widgets/Editor/support/SketchController.js +1 -1
- package/widgets/Editor/support/splitFeatureUtils.js +1 -1
- package/widgets/Editor/workflowUtils.js +1 -1
- package/widgets/ElevationProfile/ElevationProfileLineGround.d.ts +2 -2
- package/widgets/ElevationProfile/ElevationProfileLineInput.d.ts +2 -2
- package/widgets/ElevationProfile/ElevationProfileLineQuery.d.ts +2 -2
- package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
- package/widgets/Sketch/SketchViewModel.js +1 -1
- package/widgets/Sketch/adapters/layer/GraphicsLayerAdapter.js +5 -0
- package/widgets/Sketch/adapters/layer/MapNotesLayerAdapter.js +5 -0
- package/analysis/ElevationProfile/ElevationProfileGroundLine.d.ts +0 -4
- package/analysis/ElevationProfile/ElevationProfileInputLine.d.ts +0 -4
- package/analysis/ElevationProfile/ElevationProfileQueryLine.d.ts +0 -4
- package/analysis/ElevationProfile/ElevationProfileSceneLine.d.ts +0 -4
- package/assets/esri/core/workers/chunks/03e5d1a00d85e4d16bff.js +0 -1
- package/assets/esri/core/workers/chunks/0914a52fb33af5d77fab.js +0 -1
- package/assets/esri/core/workers/chunks/1d491447b13f2f2b4399.js +0 -1
- package/assets/esri/core/workers/chunks/20850b0fdb55fb17bc90.js +0 -1
- package/assets/esri/core/workers/chunks/25ea02dd7d45a90cbb3b.js +0 -1
- package/assets/esri/core/workers/chunks/264a9a916e1e972b69d7.js +0 -1
- package/assets/esri/core/workers/chunks/30c85a1a4f118cc45a25.js +0 -1
- package/assets/esri/core/workers/chunks/3ef8a7468d7e3b2f0b69.js +0 -351
- package/assets/esri/core/workers/chunks/486ea51306c619238e41.js +0 -1
- package/assets/esri/core/workers/chunks/49cb78c85de0102e5f02.js +0 -1
- package/assets/esri/core/workers/chunks/5610dfde4e636e2333a9.js +0 -1
- package/assets/esri/core/workers/chunks/5c1cdc2ec06c4c6bd0b3.js +0 -1
- package/assets/esri/core/workers/chunks/609abf071c4ea24955c2.js +0 -1
- package/assets/esri/core/workers/chunks/71c2a8e5a17803d3e949.js +0 -1
- package/assets/esri/core/workers/chunks/7402c2853f6aed8d1bc7.js +0 -1
- package/assets/esri/core/workers/chunks/7889a909394c61a9d3e0.js +0 -1
- package/assets/esri/core/workers/chunks/79a9f47dfa9ebabb5dbd.js +0 -1
- package/assets/esri/core/workers/chunks/86378d4f4d7f9a370c22.js +0 -1
- package/assets/esri/core/workers/chunks/99ac292a858bbedc6a89.js +0 -1
- package/assets/esri/core/workers/chunks/9a6fa91dd204f64d2590.js +0 -1
- package/assets/esri/core/workers/chunks/9cdeead9d444e8d95477.js +0 -1
- package/assets/esri/core/workers/chunks/aa1eb7b4d9ccda725da5.js +0 -1
- package/assets/esri/core/workers/chunks/b19d723d09f5bea9ca27.js +0 -1
- package/assets/esri/core/workers/chunks/b4a053063e6022080d31.js +0 -1
- package/assets/esri/core/workers/chunks/b4b26cc2ba3ff30e1d03.js +0 -1
- package/assets/esri/core/workers/chunks/b78ea9cc4d5f2fd3d871.js +0 -1
- package/assets/esri/core/workers/chunks/bbb585f0b484ab5eabb3.js +0 -1
- package/assets/esri/core/workers/chunks/bd4125d163f372a7e978.js +0 -1
- package/assets/esri/core/workers/chunks/c2bc70b65f5c2a2c9671.js +0 -1
- package/assets/esri/core/workers/chunks/cd1869e183001266c4c1.js +0 -2
- package/assets/esri/core/workers/chunks/d0a149050f7f1c1ada09.js +0 -1
- package/assets/esri/core/workers/chunks/d2fe403d6ab237bc89c2.js +0 -1
- package/assets/esri/core/workers/chunks/d51e8eeb1e1eb0605cc9.js +0 -1
- package/assets/esri/core/workers/chunks/da42cc4f6142846cb745.js +0 -1
- package/assets/esri/core/workers/chunks/dd84f630466a26722d57.js +0 -1
- package/assets/esri/core/workers/chunks/e080628ac6e1cf25dc72.js +0 -1
- package/assets/esri/core/workers/chunks/e17df11c98dbd869302b.js +0 -1
- package/assets/esri/core/workers/chunks/e1b3ae6426886e2fab07.js +0 -1
- package/assets/esri/core/workers/chunks/e8e0f73fb94e63e2abc3.js +0 -1
- package/assets/esri/core/workers/chunks/f45c343527709f6f91c2.js +0 -1
- package/assets/esri/core/workers/chunks/f6513ec888a7d927d948.js +0 -1
- package/assets/esri/core/workers/chunks/fcac475e4e82911b3126.js +0 -1
- package/views/2d/layers/features/sources/strategies/AFetchLoadStrategy.js +0 -5
- package/views/2d/layers/features/sources/strategies/ATileLoadStrategy.js +0 -5
- package/views/2d/layers/features/sources/strategies/DrillDownTileLoadStrategy.js +0 -5
- package/views/2d/layers/features/sources/strategies/PagedTileLoadStrategy.js +0 -5
- package/views/2d/layers/features/sources/strategies/SnapshotLoadStrategy.js +0 -5
- /package/assets/esri/core/workers/chunks/{7a23b127f551bf13ef54.js.LICENSE.txt → 268f5b233640a9dbbf89.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{cd1869e183001266c4c1.js.LICENSE.txt → 336b54144afec0c7d396.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{280af3640f8e93c1024e.js.LICENSE.txt → 47e4f66c33bb697fbe6b.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{9c64b78c5c9b35b31d98.js.LICENSE.txt → aa78b69219d9a0ef1c54.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{d153b29c542c37ae1636.js.LICENSE.txt → c50e8d5f554cf151865c.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{b15ff6c9ef2de8a49853.js.LICENSE.txt → d6e0528eacee7ea4c1ce.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{d66cdb9bb494da19696b.js.LICENSE.txt → f651c05604eab83aef5f.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{ed773dab5965e42a2879.js.LICENSE.txt → f6e18668f728dfd8ba5e.js.LICENSE.txt} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"labels":{"cut":"Cut: {volume}","fill":"Fill: {volume}"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"addAttachment":"Add attachment","associations":{"addContent":"Add Content","addAttachment":"Add Attachment","addStructure":"Add Structure","addContainer":"Add Container","addConnectivity":"Add Connection"},"attachments":"Attachments","cancelEditTitle":"Discard edits","cancelEditWarningMessage":"Unsaved changes will be lost.","cancelRequestTitle":"Cancel workflow","cancelRequestWarningMessage":"A request has been made to cancel this workflow.","clearAreaOfInterest":"Clear area of interest","clickToFinishTemplate":"Click {button} to finish.","continueEditing":"Continue editing","createAllFeaturesTemplate":"Create all","createFeatures":"Create features","createFeaturesTimeCompleteWarning":"An operation is taking long than expected.","createFeaturesSelectionList":{"featureNotReadyToSubmit":"Needs attention","featureReadyToSubmit":"Ready to create","discard":"Discard feature","heading":"Unsaved features"},"createFeaturesSubTemplate":"1 of {numFeatures}","curveEditingWarning":"One or more layers is set to allow true curve updates by true curve clients. Editor is not a true curve client.","deleteAttachmentWarningMessage":"This attachment will be permanently removed.","deleteAttachmentWarningTitle":"Delete attachment","deleteAssociationTitle":"Delete association","deleteAssociationMessage":"The association with this feature will be deleted. The feature will remain.","discardEdits":"Discard edits","editAttachment":"Manage attachment","editFeatures":"Edit features","editFeaturesList":"Features","errorWarningEditsNotApplied":"An error occurred during editing. The edits have not been applied.","errorWarningMessageTemplate":"Edits could not be saved: {errorMessage}","errorWarningTitle":"Something went wrong","formFieldCreateError":"Features cannot be created. There is an issue with the form.","formFieldUnsupportedCreateError":"Features cannot be created. Layer contains unsupported fields.","formFieldUnsupportedUpdateError":"Feature cannot be updated. Layer contains unsupported fields.","helpMessages2d":{"select":"Click on the map to select a feature.","mesh":"","meshReprojected":"","meshTooClose":"","meshTooFar":"","meshUnderground":"","multipoint":"Click on the map to add points. Double-click to complete.","point":"Click on the map to add a point.","polygonOneVertex":"Click on the map to continue drawing.","polygonClickOneVertex":"Click on the map to finish drawing.","polygonTwoVertices":"Double-click on the map to complete.","polygonZeroVertices":"Click on the map to start drawing.","polygonZeroVerticesHybrid":"Click or drag on the map to start drawing.","polylineOneVertex":"Double-click on the map to complete.","polylineZeroVertices":"Click on the map to start drawing.","freehandStart":"Click and drag to draw.","freehandEnd":"Release to finish.","noTool":"Select a tool to start drawing.","shapeStartHybrid":"Click to place or click and drag to draw.","shapeEndHybrid":"Release to finish.","shapeStartClick":"Click to start drawing.","shapeEndClick":"Click again to finish."},"helpMessages3d":{"select":"Click in the scene to select a feature.","mesh":"Click in the scene to place the model.","meshReprojected":"The model
|
|
1
|
+
{"addAttachment":"Add attachment","associations":{"addContent":"Add Content","addAttachment":"Add Attachment","addStructure":"Add Structure","addContainer":"Add Container","addConnectivity":"Add Connection"},"attachments":"Attachments","cancelEditTitle":"Discard edits","cancelEditWarningMessage":"Unsaved changes will be lost.","cancelRequestTitle":"Cancel workflow","cancelRequestWarningMessage":"A request has been made to cancel this workflow.","clearAreaOfInterest":"Clear area of interest","clickToFinishTemplate":"Click {button} to finish.","continueEditing":"Continue editing","createAllFeaturesTemplate":"Create all","createFeatures":"Create features","createFeaturesTimeCompleteWarning":"An operation is taking long than expected.","createFeaturesSelectionList":{"featureNotReadyToSubmit":"Needs attention","featureReadyToSubmit":"Ready to create","discard":"Discard feature","heading":"Unsaved features"},"createFeaturesSubTemplate":"1 of {numFeatures}","curveEditingWarning":"One or more layers is set to allow true curve updates by true curve clients. Editor is not a true curve client.","deleteAttachmentWarningMessage":"This attachment will be permanently removed.","deleteAttachmentWarningTitle":"Delete attachment","deleteAssociationTitle":"Delete association","deleteAssociationMessage":"The association with this feature will be deleted. The feature will remain.","discardEdits":"Discard edits","editAttachment":"Manage attachment","editFeatures":"Edit features","editFeaturesList":"Features","errorWarningEditsNotApplied":"An error occurred during editing. The edits have not been applied.","errorWarningMessageTemplate":"Edits could not be saved: {errorMessage}","errorWarningTitle":"Something went wrong","formFieldCreateError":"Features cannot be created. There is an issue with the form.","formFieldUnsupportedCreateError":"Features cannot be created. Layer contains unsupported fields.","formFieldUnsupportedUpdateError":"Feature cannot be updated. Layer contains unsupported fields.","helpMessages2d":{"select":"Click on the map to select a feature.","mesh":"","meshGeoreferenced":"","meshReprojected":"","meshTooClose":"","meshTooFar":"","meshUnderground":"","multipoint":"Click on the map to add points. Double-click to complete.","point":"Click on the map to add a point.","polygonOneVertex":"Click on the map to continue drawing.","polygonClickOneVertex":"Click on the map to finish drawing.","polygonTwoVertices":"Double-click on the map to complete.","polygonZeroVertices":"Click on the map to start drawing.","polygonZeroVerticesHybrid":"Click or drag on the map to start drawing.","polylineOneVertex":"Double-click on the map to complete.","polylineZeroVertices":"Click on the map to start drawing.","freehandStart":"Click and drag to draw.","freehandEnd":"Release to finish.","noTool":"Select a tool to start drawing.","shapeStartHybrid":"Click to place or click and drag to draw.","shapeEndHybrid":"Release to finish.","shapeStartClick":"Click to start drawing.","shapeEndClick":"Click again to finish."},"helpMessages3d":{"select":"Click in the scene to select a feature.","mesh":"Click in the scene to place the model.","meshGeoreferenced":"The model contained georeferencing information and has been automatically placed in the scene.","meshReprojected":"The model contained georeferencing information, but the spatial reference did not match the layer. The model was only approximately placed, which may result in some loss of precision.","meshTooClose":"Zoom out to view the full model.","meshTooFar":"Zoom in to view the model.","meshUnderground":"The model is underground.","multipoint":"","point":"Click in the scene to add a point.","polygonOneVertex":"Click in the scene to continue drawing.","polygonClickOneVertex":"Click in the scene to complete.","polygonTwoVertices":"Double-click in the scene to complete.","polygonZeroVertices":"Click in the scene to start drawing.","polygonZeroVerticesHybrid":"Click or drag in the scene to start drawing.","polylineOneVertex":"Double-click in the scene to complete.","polylineZeroVertices":"Click in the scene to start drawing.","freehandStart":"Click and drag to draw.","freehandEnd":"Release to finish.","noTool":"Select a tool to start drawing.","shapeStartHybrid":"Click to place or click and drag to draw.","shapeEndHybrid":"Release to finish.","shapeStartClick":"Click to start drawing.","shapeEndClick":"Click again to finish."},"ignore":"Ignore","keepAttachment":"Keep attachment","keepAssociation":"Keep association","cancelAssociationEditWarning":"Unsaved changes to this associated feature will be lost.","modelUploads":{"pending":{"title":"Uploading...","description":"The model is being uploaded and prepared for display in the scene."},"success":{"title":"Upload successful"},"error":{"title":"Upload failed","uploadNew":"Upload new file","messages":{"conversionFailed":"An error occurred while converting the model.","default":"An error occurred while uploading the model.","multipleModels":"Upload only one model at a time.","noModel":"No supported model found.","loadFailed":"An error occurred while loading the uploaded model.","resourceRequestFailed":"An error occurred while fetching a linked resource.","unsupportedFeature":"The model uses unsupported glTF features or extensions."}},"cancelUploadPrompt":{"title":"Cancel upload","message":"The current upload and conversion will be canceled and the model will be discarded.","noLabel":"Continue upload","yesLabel":"Cancel upload"},"cancelPlacementPrompt":{"title":"Discard model","message":"The uploaded model will be discarded.","noLabel":"Keep model","yesLabel":"Discard model"}},"multipleFeaturesTemplate":"Multiple features ({total})","noCompatibleFeatures":"No features on this layer are compatible with network rules.","noEditableLayers":"No editable layers found.","ownerAdminNotice":"Editing is restricted but you have privileges to edit this layer.","retry":"Retry","selectFeature":"Select feature","selectTemplate":"Select feature type","sharedTemplateRelationshipNotFoundError":"Could not create features. Related record could not be created.","widgetLabel":"Editor","zoomTo":"Zoom to","batchEditing":{"editCount":"Edit ({count})","editThisFeature":"Edit this feature","editTheseFeatures":"Edit these features","featuresCount":"Features ({count})","reduceNumberOfFeatures":"Reduce the number of features to {number} or less to enable batch editing.","selectOneLayer":"Select features from a single layer to enable batch editing."},"singleFeature":{"create":"Create","delete":"Delete","deleteWarningMessage":"This feature will be permanently removed.","deleteWarningTitle":"Delete feature","editPanelTitle":"Edit feature","formFieldUpdateError":"Feature cannot be updated. There is an issue with the form.","keep":"Keep feature","update":"Update"},"multiFeature":{"create":"Create ({count})","delete":"Delete ({count})","deleteWarningMessage":"These features will be permanently removed.","deleteWarningTitle":"Delete features","editPanelTitle":"Edit features","formFieldUpdateError":"Features cannot be updated. There is an issue with the form.","keep":"Keep features","update":"Update ({count})"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"addAttachment":"Add attachment","associations":{"addContent":"Add Content","addAttachment":"Add Attachment","addStructure":"Add Structure","addContainer":"Add Container","addConnectivity":"Add Connection"},"attachments":"Attachments","cancelEditTitle":"Discard edits","cancelEditWarningMessage":"Unsaved changes will be lost.","cancelRequestTitle":"Cancel workflow","cancelRequestWarningMessage":"A request has been made to cancel this workflow.","clearAreaOfInterest":"Clear area of interest","clickToFinishTemplate":"Click {button} to finish.","continueEditing":"Continue editing","createAllFeaturesTemplate":"Create all","createFeatures":"Create features","createFeaturesTimeCompleteWarning":"An operation is taking long than expected.","createFeaturesSelectionList":{"featureNotReadyToSubmit":"Needs attention","featureReadyToSubmit":"Ready to create","discard":"Discard feature","heading":"Unsaved features"},"createFeaturesSubTemplate":"1 of {numFeatures}","curveEditingWarning":"One or more layers is set to allow true curve updates by true curve clients. Editor is not a true curve client.","deleteAttachmentWarningMessage":"This attachment will be permanently removed.","deleteAttachmentWarningTitle":"Delete attachment","deleteAssociationTitle":"Delete association","deleteAssociationMessage":"The association with this feature will be deleted. The feature will remain.","discardEdits":"Discard edits","editAttachment":"Manage attachment","editFeatures":"Edit features","editFeaturesList":"Features","errorWarningEditsNotApplied":"An error occurred during editing. The edits have not been applied.","errorWarningMessageTemplate":"Edits could not be saved: {errorMessage}","errorWarningTitle":"Something went wrong","formFieldCreateError":"Features cannot be created. There is an issue with the form.","formFieldUnsupportedCreateError":"Features cannot be created. Layer contains unsupported fields.","formFieldUnsupportedUpdateError":"Feature cannot be updated. Layer contains unsupported fields.","helpMessages2d":{"select":"Click on the map to select a feature.","mesh":"","meshReprojected":"","meshTooClose":"","meshTooFar":"","meshUnderground":"","multipoint":"Click on the map to add points. Double-click to complete.","point":"Click on the map to add a point.","polygonOneVertex":"Click on the map to continue drawing.","polygonClickOneVertex":"Click on the map to finish drawing.","polygonTwoVertices":"Double-click on the map to complete.","polygonZeroVertices":"Click on the map to start drawing.","polygonZeroVerticesHybrid":"Click or drag on the map to start drawing.","polylineOneVertex":"Double-click on the map to complete.","polylineZeroVertices":"Click on the map to start drawing.","freehandStart":"Click and drag to draw.","freehandEnd":"Release to finish.","noTool":"Select a tool to start drawing.","shapeStartHybrid":"Click to place or click and drag to draw.","shapeEndHybrid":"Release to finish.","shapeStartClick":"Click to start drawing.","shapeEndClick":"Click again to finish."},"helpMessages3d":{"select":"Click in the scene to select a feature.","mesh":"Click in the scene to place the model.","meshReprojected":"The model's spatial reference differs from the layer's. The model's position was approximately adjusted, which may result in some loss of precision.","meshTooClose":"Zoom out to view the full model.","meshTooFar":"Zoom in to view the model.","meshUnderground":"The model is underground.","multipoint":"","point":"Click in the scene to add a point.","polygonOneVertex":"Click in the scene to continue drawing.","polygonClickOneVertex":"Click in the scene to complete.","polygonTwoVertices":"Double-click in the scene to complete.","polygonZeroVertices":"Click in the scene to start drawing.","polygonZeroVerticesHybrid":"Click or drag in the scene to start drawing.","polylineOneVertex":"Double-click in the scene to complete.","polylineZeroVertices":"Click in the scene to start drawing.","freehandStart":"Click and drag to draw.","freehandEnd":"Release to finish.","noTool":"Select a tool to start drawing.","shapeStartHybrid":"Click to place or click and drag to draw.","shapeEndHybrid":"Release to finish.","shapeStartClick":"Click to start drawing.","shapeEndClick":"Click again to finish."},"ignore":"Ignore","keepAttachment":"Keep attachment","keepAssociation":"Keep association","cancelAssociationEditWarning":"Unsaved changes to this associated feature will be lost.","modelUploads":{"pending":{"title":"Uploading...","description":"The model is being uploaded and prepared for display in the scene."},"success":{"title":"Upload successful"},"error":{"title":"Upload failed","uploadNew":"Upload new file","messages":{"conversionFailed":"An error occurred while converting the model.","default":"An error occurred while uploading the model.","multipleModels":"Upload only one model at a time.","noModel":"No supported model found.","loadFailed":"An error occurred while loading the uploaded model.","resourceRequestFailed":"An error occurred while fetching a linked resource.","unsupportedFeature":"The model uses unsupported glTF features or extensions."}},"cancelUploadPrompt":{"title":"Cancel upload","message":"The current upload and conversion will be canceled and the model will be discarded.","noLabel":"Continue upload","yesLabel":"Cancel upload"},"cancelPlacementPrompt":{"title":"Discard model","message":"The uploaded model will be discarded.","noLabel":"Keep model","yesLabel":"Discard model"}},"multipleFeaturesTemplate":"Multiple features ({total})","noCompatibleFeatures":"No features on this layer are compatible with network rules.","noEditableLayers":"No editable layers found.","ownerAdminNotice":"Editing is restricted but you have privileges to edit this layer.","retry":"Retry","selectFeature":"Select feature","selectTemplate":"Select feature type","sharedTemplateRelationshipNotFoundError":"Could not create features. Related record could not be created.","widgetLabel":"Editor","zoomTo":"Zoom to","batchEditing":{"editCount":"Edit ({count})","editThisFeature":"Edit this feature","editTheseFeatures":"Edit these features","featuresCount":"Features ({count})","reduceNumberOfFeatures":"Reduce the number of features to {number} or less to enable batch editing.","selectOneLayer":"Select features from a single layer to enable batch editing."},"singleFeature":{"create":"Create","delete":"Delete","deleteWarningMessage":"This feature will be permanently removed.","deleteWarningTitle":"Delete feature","editPanelTitle":"Edit feature","formFieldUpdateError":"Feature cannot be updated. There is an issue with the form.","keep":"Keep feature","update":"Update"},"multiFeature":{"create":"Create ({count})","delete":"Delete ({count})","deleteWarningMessage":"These features will be permanently removed.","deleteWarningTitle":"Delete features","editPanelTitle":"Edit features","formFieldUpdateError":"Features cannot be updated. There is an issue with the form.","keep":"Keep features","update":"Update ({count})"}}
|
|
1
|
+
{"addAttachment":"Add attachment","associations":{"addContent":"Add Content","addAttachment":"Add Attachment","addStructure":"Add Structure","addContainer":"Add Container","addConnectivity":"Add Connection"},"attachments":"Attachments","cancelEditTitle":"Discard edits","cancelEditWarningMessage":"Unsaved changes will be lost.","cancelRequestTitle":"Cancel workflow","cancelRequestWarningMessage":"A request has been made to cancel this workflow.","clearAreaOfInterest":"Clear area of interest","clickToFinishTemplate":"Click {button} to finish.","continueEditing":"Continue editing","createAllFeaturesTemplate":"Create all","createFeatures":"Create features","createFeaturesTimeCompleteWarning":"An operation is taking long than expected.","createFeaturesSelectionList":{"featureNotReadyToSubmit":"Needs attention","featureReadyToSubmit":"Ready to create","discard":"Discard feature","heading":"Unsaved features"},"createFeaturesSubTemplate":"1 of {numFeatures}","curveEditingWarning":"One or more layers is set to allow true curve updates by true curve clients. Editor is not a true curve client.","deleteAttachmentWarningMessage":"This attachment will be permanently removed.","deleteAttachmentWarningTitle":"Delete attachment","deleteAssociationTitle":"Delete association","deleteAssociationMessage":"The association with this feature will be deleted. The feature will remain.","discardEdits":"Discard edits","editAttachment":"Manage attachment","editFeatures":"Edit features","editFeaturesList":"Features","errorWarningEditsNotApplied":"An error occurred during editing. The edits have not been applied.","errorWarningMessageTemplate":"Edits could not be saved: {errorMessage}","errorWarningTitle":"Something went wrong","formFieldCreateError":"Features cannot be created. There is an issue with the form.","formFieldUnsupportedCreateError":"Features cannot be created. Layer contains unsupported fields.","formFieldUnsupportedUpdateError":"Feature cannot be updated. Layer contains unsupported fields.","helpMessages2d":{"select":"Click on the map to select a feature.","mesh":"","meshGeoreferenced":"","meshReprojected":"","meshTooClose":"","meshTooFar":"","meshUnderground":"","multipoint":"Click on the map to add points. Double-click to complete.","point":"Click on the map to add a point.","polygonOneVertex":"Click on the map to continue drawing.","polygonClickOneVertex":"Click on the map to finish drawing.","polygonTwoVertices":"Double-click on the map to complete.","polygonZeroVertices":"Click on the map to start drawing.","polygonZeroVerticesHybrid":"Click or drag on the map to start drawing.","polylineOneVertex":"Double-click on the map to complete.","polylineZeroVertices":"Click on the map to start drawing.","freehandStart":"Click and drag to draw.","freehandEnd":"Release to finish.","noTool":"Select a tool to start drawing.","shapeStartHybrid":"Click to place or click and drag to draw.","shapeEndHybrid":"Release to finish.","shapeStartClick":"Click to start drawing.","shapeEndClick":"Click again to finish."},"helpMessages3d":{"select":"Click in the scene to select a feature.","mesh":"Click in the scene to place the model.","meshGeoreferenced":"The model contained georeferencing information and has been automatically placed in the scene.","meshReprojected":"The model's spatial reference differs from the layer's. The model's position was approximately adjusted, which may result in some loss of precision.","meshTooClose":"Zoom out to view the full model.","meshTooFar":"Zoom in to view the model.","meshUnderground":"The model is underground.","multipoint":"","point":"Click in the scene to add a point.","polygonOneVertex":"Click in the scene to continue drawing.","polygonClickOneVertex":"Click in the scene to complete.","polygonTwoVertices":"Double-click in the scene to complete.","polygonZeroVertices":"Click in the scene to start drawing.","polygonZeroVerticesHybrid":"Click or drag in the scene to start drawing.","polylineOneVertex":"Double-click in the scene to complete.","polylineZeroVertices":"Click in the scene to start drawing.","freehandStart":"Click and drag to draw.","freehandEnd":"Release to finish.","noTool":"Select a tool to start drawing.","shapeStartHybrid":"Click to place or click and drag to draw.","shapeEndHybrid":"Release to finish.","shapeStartClick":"Click to start drawing.","shapeEndClick":"Click again to finish."},"ignore":"Ignore","keepAttachment":"Keep attachment","keepAssociation":"Keep association","cancelAssociationEditWarning":"Unsaved changes to this associated feature will be lost.","modelUploads":{"pending":{"title":"Uploading...","description":"The model is being uploaded and prepared for display in the scene."},"success":{"title":"Upload successful"},"error":{"title":"Upload failed","uploadNew":"Upload new file","messages":{"conversionFailed":"An error occurred while converting the model.","default":"An error occurred while uploading the model.","multipleModels":"Upload only one model at a time.","noModel":"No supported model found.","loadFailed":"An error occurred while loading the uploaded model.","resourceRequestFailed":"An error occurred while fetching a linked resource.","unsupportedFeature":"The model uses unsupported glTF features or extensions."}},"cancelUploadPrompt":{"title":"Cancel upload","message":"The current upload and conversion will be canceled and the model will be discarded.","noLabel":"Continue upload","yesLabel":"Cancel upload"},"cancelPlacementPrompt":{"title":"Discard model","message":"The uploaded model will be discarded.","noLabel":"Keep model","yesLabel":"Discard model"}},"multipleFeaturesTemplate":"Multiple features ({total})","noCompatibleFeatures":"No features on this layer are compatible with network rules.","noEditableLayers":"No editable layers found.","ownerAdminNotice":"Editing is restricted but you have privileges to edit this layer.","retry":"Retry","selectFeature":"Select feature","selectTemplate":"Select feature type","sharedTemplateRelationshipNotFoundError":"Could not create features. Related record could not be created.","widgetLabel":"Editor","zoomTo":"Zoom to","batchEditing":{"editCount":"Edit ({count})","editThisFeature":"Edit this feature","editTheseFeatures":"Edit these features","featuresCount":"Features ({count})","reduceNumberOfFeatures":"Reduce the number of features to {number} or less to enable batch editing.","selectOneLayer":"Select features from a single layer to enable batch editing."},"singleFeature":{"create":"Create","delete":"Delete","deleteWarningMessage":"This feature will be permanently removed.","deleteWarningTitle":"Delete feature","editPanelTitle":"Edit feature","formFieldUpdateError":"Feature cannot be updated. There is an issue with the form.","keep":"Keep feature","update":"Update"},"multiFeature":{"create":"Create ({count})","delete":"Delete ({count})","deleteWarningMessage":"These features will be permanently removed.","deleteWarningTitle":"Delete features","editPanelTitle":"Edit features","formFieldUpdateError":"Features cannot be updated. There is an issue with the form.","keep":"Keep features","update":"Update ({count})"}}
|
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.34/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{EvaluateAmbientLighting as e}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientLighting.glsl.js";import{Gamma as r}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js";import{PiUtils as i}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PiUtils.glsl.js";import{CloudsParallaxShading as o}from"../views/3d/webgl-engine/core/shaderLibrary/util/CloudsParallaxShading.glsl.js";import{ColorConversion as l}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{
|
|
6
|
-
fragColor = vec4(cloudsOpacity * cloudsColor.rgb, cloudsColor.a);`),
|
|
5
|
+
import{EvaluateAmbientLighting as e}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientLighting.glsl.js";import{Gamma as r}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js";import{PiUtils as i}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PiUtils.glsl.js";import{CloudsParallaxShading as o}from"../views/3d/webgl-engine/core/shaderLibrary/util/CloudsParallaxShading.glsl.js";import{ColorConversion as l}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{Float3BindUniform as s}from"../views/3d/webgl-engine/core/shaderModules/Float3BindUniform.js";import{FloatBindUniform as n}from"../views/3d/webgl-engine/core/shaderModules/FloatBindUniform.js";import{glsl as d}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{ScreenSpacePassAtmosphere as a}from"../views/3d/webgl-engine/shaders/ScreenSpacePassAtmosphere.glsl.js";import{ShaderBuilder as g}from"../views/webgl/ShaderBuilder.js";function c(){const c=new g,{fragment:t}=c;return c.include(a,{needUVs:!1,needEyeDirection:!1}),t.include(l),c.include(e,{pbrMode:0,lightingSphericalHarmonicsOrder:2}),t.include(i),t.include(r),c.include(o),t.uniforms.add(new s("cameraPosition",e=>e.camera.eye),new n("cloudsOpacity",e=>e.clouds.opacity)).main.add(d`vec4 cloudsColor = renderClouds(normalize(worldRay), cameraPosition);
|
|
6
|
+
fragColor = vec4(cloudsOpacity * cloudsColor.rgb, cloudsColor.a);`),c}const t=Object.freeze(Object.defineProperty({__proto__:null,build:c},Symbol.toStringTag,{value:"Module"}));export{t as C,c as b};
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.34/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{copy as e,set as o}from"../core/libs/gl-matrix-2/math/vec2.js";import{create as i}from"../core/libs/gl-matrix-2/factories/vec2f64.js";import{ZEROS as r,fromValues as t}from"../core/libs/gl-matrix-2/factories/vec4f64.js";import{earth as l}from"../geometry/support/Ellipsoid.js";import{RejectBySlice as a}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{ObjectAndLayerIdColor as s}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/ObjectAndLayerIdColor.glsl.js";import{AlignPixel as n}from"../views/3d/webgl-engine/core/shaderLibrary/hud/AlignPixel.glsl.js";import{HUD as c}from"../views/3d/webgl-engine/core/shaderLibrary/hud/HUD.glsl.js";import{HUDOcclusionPass as d}from"../views/3d/webgl-engine/core/shaderLibrary/hud/HUDOcclusionPass.glsl.js";import{HUDVisibility as u}from"../views/3d/webgl-engine/core/shaderLibrary/hud/HUDVisibility.glsl.js";import{OutputHighlight as f}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{VisualVariables as p}from"../views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js";import{ColorConversion as m}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{
|
|
5
|
+
import{copy as e,set as o}from"../core/libs/gl-matrix-2/math/vec2.js";import{create as i}from"../core/libs/gl-matrix-2/factories/vec2f64.js";import{ZEROS as r,fromValues as t}from"../core/libs/gl-matrix-2/factories/vec4f64.js";import{earth as l}from"../geometry/support/Ellipsoid.js";import{RejectBySlice as a}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{ObjectAndLayerIdColor as s}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/ObjectAndLayerIdColor.glsl.js";import{AlignPixel as n}from"../views/3d/webgl-engine/core/shaderLibrary/hud/AlignPixel.glsl.js";import{HUD as c}from"../views/3d/webgl-engine/core/shaderLibrary/hud/HUD.glsl.js";import{HUDOcclusionPass as d}from"../views/3d/webgl-engine/core/shaderLibrary/hud/HUDOcclusionPass.glsl.js";import{HUDVisibility as u}from"../views/3d/webgl-engine/core/shaderLibrary/hud/HUDVisibility.glsl.js";import{OutputHighlight as f}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{VisualVariables as p}from"../views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js";import{ColorConversion as m}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{ScreenSizePerspective as g,addScreenSizePerspective as v,addScreenSizePerspectiveAlignment as b}from"../views/3d/webgl-engine/core/shaderLibrary/util/ScreenSizePerspective.glsl.js";import{addPixelRatio as x}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float2PassUniform as h}from"../views/3d/webgl-engine/core/shaderModules/Float2PassUniform.js";import{Float4BindUniform as w}from"../views/3d/webgl-engine/core/shaderModules/Float4BindUniform.js";import{Float4DrawUniform as C}from"../views/3d/webgl-engine/core/shaderModules/Float4DrawUniform.js";import{Float4PassUniform as z}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{FloatBindUniform as P}from"../views/3d/webgl-engine/core/shaderModules/FloatBindUniform.js";import{FloatPassUniform as S}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as j,If as y}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DBindUniform as A}from"../views/3d/webgl-engine/core/shaderModules/Texture2DBindUniform.js";import{Texture2DPassUniform as $}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{ShaderBuilder as O}from"../views/webgl/ShaderBuilder.js";import{alphaCutoff as D}from"../webscene/support/AlphaCutoff.js";function F(e){const i=new O,{signedDistanceFieldEnabled:F,occlusionTestEnabled:M,horizonCullingEnabled:U,pixelSnappingEnabled:H,hasScreenSizePerspective:E,debugDrawLabelBorder:_,hasVVSize:q,hasVVColor:R,hasRotation:k,occludedFragmentFade:I,sampleSignedDistanceFieldTexelCenter:G}=e;i.include(c,e),i.vertex.include(a,e);const{occlusionPass:J,output:K,oitPass:N}=e;if(J)return i.include(d,e),i;const{vertex:Q,fragment:W}=i;i.include(g),i.include(p,e),i.include(s,e),M&&i.include(u),W.include(m),i.varyings.add("vcolor","vec4"),i.varyings.add("vtc","vec2"),i.varyings.add("vsize","vec2");const X=9===K,Y=X&&M;Y&&i.varyings.add("voccluded","float"),Q.uniforms.add(new w("viewport",e=>e.camera.fullViewport),new h("screenOffset",(e,i)=>o(L,2*e.screenOffset[0]*i.camera.pixelRatio,2*e.screenOffset[1]*i.camera.pixelRatio)),new h("anchorPosition",e=>B(e)),new z("materialColor",e=>e.color),new S("materialRotation",e=>e.rotation),new $("tex",e=>e.texture)),x(Q),F&&(Q.uniforms.add(new z("outlineColor",e=>e.outlineColor)),W.uniforms.add(new z("outlineColor",e=>T(e)?e.outlineColor:r),new S("outlineSize",e=>T(e)?e.outlineSize:0))),U&&Q.uniforms.add(new C("pointDistanceSphere",(e,o)=>{const i=o.camera.eye,r=e.origin;return t(r[0]-i[0],r[1]-i[1],r[2]-i[2],l.radius)})),H&&Q.include(n),E&&(v(Q),b(Q)),_&&i.varyings.add("debugBorderCoords","vec4"),i.attributes.add("uv0","vec2"),i.attributes.add("uvi","vec4"),i.attributes.add("color","vec4"),i.attributes.add("size","vec2"),i.attributes.add("rotation","float"),(q||R)&&i.attributes.add("featureAttribute","vec4"),Q.code.add(U?j`bool behindHorizon(vec3 posModel) {
|
|
6
6
|
vec3 camToEarthCenter = pointDistanceSphere.xyz - localOrigin;
|
|
7
7
|
vec3 camToPos = pointDistanceSphere.xyz + posModel;
|
|
8
8
|
float earthRadius = pointDistanceSphere.w;
|
|
@@ -10,7 +10,7 @@ float a = dot(camToPos, camToPos);
|
|
|
10
10
|
float b = dot(camToPos, camToEarthCenter);
|
|
11
11
|
float c = dot(camToEarthCenter, camToEarthCenter) - earthRadius * earthRadius;
|
|
12
12
|
return b > 0.0 && b < a && b * b > a * c;
|
|
13
|
-
}`:
|
|
13
|
+
}`:j`bool behindHorizon(vec3 posModel) { return false; }`),Q.main.add(j`
|
|
14
14
|
ProjectHUDAux projectAux;
|
|
15
15
|
vec4 posProj = projectPositionHUD(projectAux);
|
|
16
16
|
forwardObjectAndLayerIdColor();
|
|
@@ -28,31 +28,31 @@ return b > 0.0 && b < a && b * b > a * c;
|
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
vec2 inputSize;
|
|
31
|
-
${
|
|
31
|
+
${y(E,j`
|
|
32
32
|
inputSize = screenSizePerspectiveScaleVec2(size, projectAux.absCosAngle, projectAux.distanceToCamera, screenSizePerspective);
|
|
33
|
-
vec2 screenOffsetScaled = screenSizePerspectiveScaleVec2(screenOffset, projectAux.absCosAngle, projectAux.distanceToCamera, screenSizePerspectiveAlignment);`,
|
|
33
|
+
vec2 screenOffsetScaled = screenSizePerspectiveScaleVec2(screenOffset, projectAux.absCosAngle, projectAux.distanceToCamera, screenSizePerspectiveAlignment);`,j`
|
|
34
34
|
inputSize = size;
|
|
35
35
|
vec2 screenOffsetScaled = screenOffset;`)}
|
|
36
|
-
${
|
|
36
|
+
${y(q,j`inputSize *= vvScale(featureAttribute).xx;`)}
|
|
37
37
|
|
|
38
38
|
vec2 combinedSize = inputSize * pixelRatio;
|
|
39
39
|
vec4 quadOffset = vec4(0.0);
|
|
40
40
|
|
|
41
|
-
${
|
|
41
|
+
${y(M,j`
|
|
42
42
|
bool visible = testHUDVisibility(posProj);
|
|
43
43
|
if (!visible) {
|
|
44
44
|
vtc = vec2(0.0);
|
|
45
|
-
${
|
|
45
|
+
${y(_,"debugBorderCoords = vec4(0.5, 0.5, 1.5 / combinedSize);")}
|
|
46
46
|
return;
|
|
47
47
|
}`)}
|
|
48
|
-
${
|
|
49
|
-
`);const
|
|
48
|
+
${y(Y,j`voccluded = visible ? 0.0 : 1.0;`)}
|
|
49
|
+
`);const Z=j`
|
|
50
50
|
vec2 uv = mix(uvi.xy, uvi.zw, bvec2(uv0));
|
|
51
51
|
vec2 texSize = vec2(textureSize(tex, 0));
|
|
52
|
-
uv = mix(vec2(1.0), uv / texSize, lessThan(uv, vec2(${
|
|
52
|
+
uv = mix(vec2(1.0), uv / texSize, lessThan(uv, vec2(${V})));
|
|
53
53
|
quadOffset.xy = (uv0 - anchorPosition) * 2.0 * combinedSize;
|
|
54
54
|
|
|
55
|
-
${
|
|
55
|
+
${y(k,j`
|
|
56
56
|
float angle = radians(materialRotation + rotation);
|
|
57
57
|
float cosAngle = cos(angle);
|
|
58
58
|
float sinAngle = sin(angle);
|
|
@@ -62,36 +62,36 @@ return b > 0.0 && b < a && b * b > a * c;
|
|
|
62
62
|
`)}
|
|
63
63
|
|
|
64
64
|
quadOffset.xy = (quadOffset.xy + screenOffsetScaled) / viewport.zw * posProj.w;
|
|
65
|
-
`,
|
|
65
|
+
`,ee=H?F?j`posProj = alignToPixelOrigin(posProj, viewport.zw) + quadOffset;`:j`posProj += quadOffset;
|
|
66
66
|
if (inputSize.x == size.x) {
|
|
67
67
|
posProj = alignToPixelOrigin(posProj, viewport.zw);
|
|
68
|
-
}`:
|
|
69
|
-
${
|
|
70
|
-
${
|
|
68
|
+
}`:j`posProj += quadOffset;`;Q.main.add(j`
|
|
69
|
+
${Z}
|
|
70
|
+
${R?"vcolor = interpolateVVColor(featureAttribute.y) * materialColor;":"vcolor = color / 255.0 * materialColor;"}
|
|
71
71
|
|
|
72
|
-
${
|
|
72
|
+
${y(10===K,j`vcolor.a = 1.0;`)}
|
|
73
73
|
|
|
74
|
-
bool alphaDiscard = vcolor.a < ${
|
|
75
|
-
${
|
|
74
|
+
bool alphaDiscard = vcolor.a < ${j.float(D)};
|
|
75
|
+
${y(F,`alphaDiscard = alphaDiscard && outlineColor.a < ${j.float(D)};`)}
|
|
76
76
|
if (alphaDiscard) {
|
|
77
77
|
// "early discard" if both symbol color (= fill) and outline color (if applicable) are transparent
|
|
78
78
|
gl_Position = vec4(1e38, 1e38, 1e38, 1.0);
|
|
79
79
|
return;
|
|
80
80
|
} else {
|
|
81
|
-
${
|
|
81
|
+
${ee}
|
|
82
82
|
gl_Position = posProj;
|
|
83
83
|
}
|
|
84
84
|
|
|
85
85
|
vtc = uv;
|
|
86
86
|
|
|
87
|
-
${
|
|
87
|
+
${y(_,j`debugBorderCoords = vec4(uv01, 1.5 / combinedSize);`)}
|
|
88
88
|
vsize = inputSize;
|
|
89
|
-
`),
|
|
90
|
-
${
|
|
89
|
+
`),W.uniforms.add(new $("tex",e=>e.texture)),I&&!X&&W.uniforms.add(new A("depthMap",e=>e.mainDepth),new P("occludedOpacity",e=>e.hudOccludedFragmentOpacity));const oe=_?j`(isBorder > 0.0 ? 0.0 : ${j.float(D)})`:j.float(D),ie=j`
|
|
90
|
+
${y(_,j`float isBorder = float(any(lessThan(debugBorderCoords.xy, debugBorderCoords.zw)) || any(greaterThan(debugBorderCoords.xy, 1.0 - debugBorderCoords.zw)));`)}
|
|
91
91
|
|
|
92
92
|
vec2 samplePos = vtc;
|
|
93
93
|
|
|
94
|
-
${
|
|
94
|
+
${y(G,j`
|
|
95
95
|
float txSize = float(textureSize(tex, 0).x);
|
|
96
96
|
float texelSize = 1.0 / txSize;
|
|
97
97
|
|
|
@@ -99,17 +99,16 @@ posProj = alignToPixelOrigin(posProj, viewport.zw);
|
|
|
99
99
|
vec2 scaleFactor = (vsize - txSize) * texelSize;
|
|
100
100
|
samplePos += (vec2(1.0, -1.0) * texelSize) * scaleFactor;`)}
|
|
101
101
|
|
|
102
|
-
${
|
|
102
|
+
${F?j`
|
|
103
103
|
vec4 fillPixelColor = vcolor;
|
|
104
104
|
|
|
105
|
-
// Get distance
|
|
106
|
-
float d = rgbaTofloat(texture(tex, samplePos)) - 0.5;
|
|
105
|
+
// Get distance in output units (i.e. pixels)
|
|
107
106
|
|
|
108
|
-
|
|
109
|
-
float
|
|
107
|
+
float sdf = texture(tex, samplePos).r;
|
|
108
|
+
float pixelDistance = sdf * vsize.x;
|
|
110
109
|
|
|
111
110
|
// Create smooth transition from the icon into its outline
|
|
112
|
-
float fillAlphaFactor = clamp(0.5 -
|
|
111
|
+
float fillAlphaFactor = clamp(0.5 - pixelDistance, 0.0, 1.0);
|
|
113
112
|
fillPixelColor.a *= fillAlphaFactor;
|
|
114
113
|
|
|
115
114
|
if (outlineSize > 0.25) {
|
|
@@ -117,12 +116,12 @@ posProj = alignToPixelOrigin(posProj, viewport.zw);
|
|
|
117
116
|
float clampedOutlineSize = min(outlineSize, 0.5*vsize.x);
|
|
118
117
|
|
|
119
118
|
// Create smooth transition around outline
|
|
120
|
-
float outlineAlphaFactor = clamp(0.5 - (abs(
|
|
119
|
+
float outlineAlphaFactor = clamp(0.5 - (abs(pixelDistance) - 0.5*clampedOutlineSize), 0.0, 1.0);
|
|
121
120
|
outlinePixelColor.a *= outlineAlphaFactor;
|
|
122
121
|
|
|
123
122
|
if (
|
|
124
|
-
outlineAlphaFactor + fillAlphaFactor < ${
|
|
125
|
-
fillPixelColor.a + outlinePixelColor.a < ${
|
|
123
|
+
outlineAlphaFactor + fillAlphaFactor < ${oe} ||
|
|
124
|
+
fillPixelColor.a + outlinePixelColor.a < ${j.float(D)}
|
|
126
125
|
) {
|
|
127
126
|
discard;
|
|
128
127
|
}
|
|
@@ -132,39 +131,39 @@ posProj = alignToPixelOrigin(posProj, viewport.zw);
|
|
|
132
131
|
vec3 compositeColor = vec3(outlinePixelColor) * outlinePixelColor.a +
|
|
133
132
|
vec3(fillPixelColor) * fillPixelColor.a * (1.0 - outlinePixelColor.a);
|
|
134
133
|
|
|
135
|
-
${
|
|
134
|
+
${y(!X,j`fragColor = vec4(compositeColor, compositeAlpha);`)}
|
|
136
135
|
} else {
|
|
137
|
-
if (fillAlphaFactor < ${
|
|
136
|
+
if (fillAlphaFactor < ${oe}) {
|
|
138
137
|
discard;
|
|
139
138
|
}
|
|
140
139
|
|
|
141
|
-
${
|
|
140
|
+
${y(!X,j`fragColor = premultiplyAlpha(fillPixelColor);`)}
|
|
142
141
|
}
|
|
143
142
|
|
|
144
143
|
// visualize SDF:
|
|
145
|
-
// fragColor = vec4(clamp(-
|
|
146
|
-
`:
|
|
144
|
+
// fragColor = vec4(clamp(-pixelDistance/vsize.x*2.0, 0.0, 1.0), clamp(pixelDistance/vsize.x*2.0, 0.0, 1.0), 0.0, 1.0);
|
|
145
|
+
`:j`
|
|
147
146
|
vec4 texColor = texture(tex, samplePos, -0.5);
|
|
148
|
-
if (texColor.a < ${
|
|
147
|
+
if (texColor.a < ${oe}) {
|
|
149
148
|
discard;
|
|
150
149
|
}
|
|
151
|
-
${
|
|
150
|
+
${y(!X,j`fragColor = texColor * premultiplyAlpha(vcolor);`)}
|
|
152
151
|
`}
|
|
153
152
|
|
|
154
|
-
${
|
|
153
|
+
${y(I&&!X,j`
|
|
155
154
|
float zSample = texelFetch(depthMap, ivec2(gl_FragCoord.xy), 0).x;
|
|
156
155
|
if (zSample < gl_FragCoord.z) {
|
|
157
156
|
fragColor *= occludedOpacity;
|
|
158
157
|
}
|
|
159
158
|
`)}
|
|
160
159
|
|
|
161
|
-
${
|
|
162
|
-
`;switch(
|
|
163
|
-
${
|
|
164
|
-
${
|
|
165
|
-
${
|
|
166
|
-
${
|
|
167
|
-
${
|
|
168
|
-
outputObjectAndLayerIdColor();`);break;case 9:i.include(f,e),
|
|
169
|
-
${
|
|
170
|
-
outputHighlight(${
|
|
160
|
+
${y(!X&&_,j`fragColor = mix(fragColor, vec4(1.0, 0.0, 1.0, 1.0), isBorder * 0.5);`)}
|
|
161
|
+
`;switch(K){case 0:case 1:i.outputs.add("fragColor","vec4",0),1===K&&i.outputs.add("fragEmission","vec4",1),1===N&&i.outputs.add("fragAlpha","float",1===K?2:1),W.main.add(j`
|
|
162
|
+
${ie}
|
|
163
|
+
${y(2===N,j`fragColor.rgb /= fragColor.a;`)}
|
|
164
|
+
${y(1===K,j`fragEmission = vec4(0.0);`)}
|
|
165
|
+
${y(1===N,j`fragAlpha = fragColor.a;`)}`);break;case 10:W.main.add(j`
|
|
166
|
+
${ie}
|
|
167
|
+
outputObjectAndLayerIdColor();`);break;case 9:i.include(f,e),W.main.add(j`
|
|
168
|
+
${ie}
|
|
169
|
+
outputHighlight(${y(Y,j`voccluded == 1.0`,j`false`)});`)}return i}function T(e){return e.outlineColor[3]>0&&e.outlineSize>0}function B(o){return o.textureIsSignedDistanceField?M(o.anchorPosition,o.distanceFieldBoundingBox,L):e(L,o.anchorPosition),L}function M(e,i,r){o(r,e[0]*(i[2]-i[0])+i[0],e[1]*(i[3]-i[1])+i[1])}const L=i(),U=32e3,V=j.float(U),H=Object.freeze(Object.defineProperty({__proto__:null,build:F,calculateAnchorPosition:B,fullUV:U},Symbol.toStringTag,{value:"Module"}));export{H,F as b,B as c,U as f};
|
|
@@ -2,52 +2,52 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.34/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{markerTextureSize as e,markerSymbolSize as r,markerTipThicknessFactor as i}from"../views/3d/support/engineContent/marker.js";import{SliceDraw as o}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{RibbonVertexPosition as t}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/RibbonVertexPosition.glsl.js";import{OutputHighlight as a}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{MarkerSizing as n}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MarkerSizing.glsl.js";import{terrainDepthTest as s}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import{ColorConversion as c}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{NoPerspectiveWrite as l,NoPerspectiveRead as p}from"../views/3d/webgl-engine/core/shaderLibrary/util/NoPerspective.glsl.js";import{
|
|
5
|
+
import{markerTextureSize as e,markerSymbolSize as r,markerTipThicknessFactor as i}from"../views/3d/support/engineContent/marker.js";import{SliceDraw as o}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{RibbonVertexPosition as t}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/RibbonVertexPosition.glsl.js";import{OutputHighlight as a}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{MarkerSizing as n}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MarkerSizing.glsl.js";import{terrainDepthTest as s}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import{ColorConversion as c}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{NoPerspectiveWrite as l,NoPerspectiveRead as p}from"../views/3d/webgl-engine/core/shaderLibrary/util/NoPerspective.glsl.js";import{addProjViewLocalOrigin as d,addViewNormal as v,addPixelRatio as m}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float2BindUniform as h}from"../views/3d/webgl-engine/core/shaderModules/Float2BindUniform.js";import{Float4BindUniform as f}from"../views/3d/webgl-engine/core/shaderModules/Float4BindUniform.js";import{Float4PassUniform as g}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{FloatBindUniform as u}from"../views/3d/webgl-engine/core/shaderModules/FloatBindUniform.js";import{glsl as w,If as y}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Matrix4BindUniform as S}from"../views/3d/webgl-engine/core/shaderModules/Matrix4BindUniform.js";import{Texture2DPassUniform as x}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{outputColorHighlightOID as P}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOID.glsl.js";import{ShaderBuilder as z}from"../views/webgl/ShaderBuilder.js";function b(b){const j=new z,{space:L,anchor:D,hasTip:k,hasScreenSizePerspective:M}=b,C=2===L,$=1===L;j.include(t,b),j.include(n,b),j.include(s,b);const{vertex:W,fragment:U,varyings:O}=j;d(W,b),j.attributes.add("position","vec3"),j.attributes.add("previousDelta","vec4"),j.attributes.add("uv0","vec2"),O.add("vColor","vec4"),O.add("vpos","vec3",{invariant:!0}),O.add("vUV","vec2"),O.add("vSize","float"),k&&O.add("vLineWidth","float"),W.uniforms.add(new h("nearFar",({camera:e})=>e.nearFar),new f("viewport",({camera:e})=>e.fullViewport)).code.add(w`vec4 projectAndScale(vec4 pos) {
|
|
6
6
|
vec4 posNdc = proj * pos;
|
|
7
7
|
posNdc.xy *= viewport.zw / posNdc.w;
|
|
8
8
|
return posNdc;
|
|
9
|
-
}`),
|
|
9
|
+
}`),W.code.add(w`void clip(vec4 pos, inout vec4 prev) {
|
|
10
10
|
float vnp = nearFar[0] * 0.99;
|
|
11
11
|
if (prev.z > -nearFar[0]) {
|
|
12
12
|
float interpolation = (-vnp - pos.z) / (prev.z - pos.z);
|
|
13
13
|
prev = mix(pos, prev, interpolation);
|
|
14
14
|
}
|
|
15
|
-
}`)
|
|
15
|
+
}`),C?(j.attributes.add("normal","vec3"),v(W),W.constants.add("tiltThreshold","float",.7),W.code.add(w`vec3 perpendicular(vec3 v) {
|
|
16
16
|
vec3 n = (viewNormal * vec4(normal.xyz, 1.0)).xyz;
|
|
17
17
|
vec3 n2 = cross(v, n);
|
|
18
18
|
vec3 forward = vec3(0.0, 0.0, 1.0);
|
|
19
19
|
float tiltDot = dot(forward, n);
|
|
20
20
|
return abs(tiltDot) < tiltThreshold ? n : n2;
|
|
21
|
-
}`)):
|
|
21
|
+
}`)):W.code.add(w`vec2 perpendicular(vec2 v) {
|
|
22
22
|
return vec2(v.y, -v.x);
|
|
23
|
-
}`);const
|
|
24
|
-
${
|
|
25
|
-
${
|
|
23
|
+
}`);const T=C?"vec3":"vec2";return W.code.add(w`
|
|
24
|
+
${T} normalizedSegment(${T} pos, ${T} prev) {
|
|
25
|
+
${T} segment = pos - prev;
|
|
26
26
|
float segmentLen = length(segment);
|
|
27
27
|
|
|
28
28
|
// normalize or zero if too short
|
|
29
|
-
return (segmentLen > 0.001) ? segment / segmentLen : ${
|
|
29
|
+
return (segmentLen > 0.001) ? segment / segmentLen : ${C?"vec3(0.0, 0.0, 0.0)":"vec2(0.0, 0.0)"};
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
-
${
|
|
33
|
-
${
|
|
32
|
+
${T} displace(${T} pos, ${T} prev, float displacementLen) {
|
|
33
|
+
${T} segment = normalizedSegment(pos, prev);
|
|
34
34
|
|
|
35
|
-
${
|
|
36
|
-
${
|
|
35
|
+
${T} displacementDirU = perpendicular(segment);
|
|
36
|
+
${T} displacementDirV = segment;
|
|
37
37
|
|
|
38
38
|
${1===D?"pos -= 0.5 * displacementLen * displacementDirV;":""}
|
|
39
39
|
|
|
40
40
|
return pos + displacementLen * (uv0.x * displacementDirU + uv0.y * displacementDirV);
|
|
41
41
|
}
|
|
42
|
-
`)
|
|
42
|
+
`),$&&(W.uniforms.add(new S("inverseProjectionMatrix",({camera:e})=>e.inverseProjectionMatrix)),W.code.add(w`vec3 inverseProject(vec4 posScreen) {
|
|
43
43
|
posScreen.xy = (posScreen.xy / viewport.zw) * posScreen.w;
|
|
44
44
|
return (inverseProjectionMatrix * posScreen).xyz;
|
|
45
|
-
}`),
|
|
45
|
+
}`),W.code.add(w`bool rayIntersectPlane(vec3 rayDir, vec3 planeOrigin, vec3 planeNormal, out vec3 intersection) {
|
|
46
46
|
float cos = dot(rayDir, planeNormal);
|
|
47
47
|
float t = dot(planeOrigin, planeNormal) / cos;
|
|
48
48
|
intersection = t * rayDir;
|
|
49
49
|
return abs(cos) > 0.001 && t > 0.0;
|
|
50
|
-
}`),
|
|
50
|
+
}`),W.uniforms.add(new u("perScreenPixelRatio",({camera:e})=>e.perScreenPixelRatio)),W.code.add(w`
|
|
51
51
|
vec4 toFront(vec4 displacedPosScreen, vec3 posLeft, vec3 posRight, vec3 prev, float lineWidth) {
|
|
52
52
|
// Project displaced position back to camera space
|
|
53
53
|
vec3 displacedPos = inverseProject(displacedPosScreen);
|
|
@@ -57,7 +57,7 @@ return abs(cos) > 0.001 && t > 0.0;
|
|
|
57
57
|
vec3 planeNormal = normalize(cross(posLeft - posRight, posLeft - prev));
|
|
58
58
|
vec3 planeOrigin = posLeft;
|
|
59
59
|
|
|
60
|
-
${
|
|
60
|
+
${y(b.hasCap,"if(prev.z > posLeft.z) {\n vec2 diff = posLeft.xy - posRight.xy;\n planeOrigin.xy += perpendicular(diff) / 2.0;\n }")};
|
|
61
61
|
|
|
62
62
|
// Move the plane towards the camera by a margin dependent on the line width (approximated in world space). This tolerance corrects for the
|
|
63
63
|
// non-planarity in most cases, but sharp joins can place the prev vertices at arbitrary positions so markers can still clip.
|
|
@@ -76,7 +76,7 @@ return abs(cos) > 0.001 && t > 0.0;
|
|
|
76
76
|
displacedPos *= minDepth / length(displacedPos);
|
|
77
77
|
return vec4(displacedPos.xyz, 1.0);
|
|
78
78
|
}
|
|
79
|
-
`)),
|
|
79
|
+
`)),m(W),j.include(l),W.main.add(w`
|
|
80
80
|
// Check for special value of uv0.y which is used by the Renderer when graphics
|
|
81
81
|
// are removed before the VBO is recompacted. If this is the case, then we just
|
|
82
82
|
// project outside of clip space.
|
|
@@ -88,25 +88,25 @@ return abs(cos) > 0.001 && t > 0.0;
|
|
|
88
88
|
vec4 pos = view * vec4(position, 1.0);
|
|
89
89
|
vec4 prev = view * vec4(position + previousDelta.xyz * previousDelta.w, 1.0);
|
|
90
90
|
|
|
91
|
-
float lineWidth = getLineWidth(${
|
|
91
|
+
float lineWidth = getLineWidth(${y(M,"pos.xyz")});
|
|
92
92
|
float screenMarkerSize = getScreenMarkerSize(lineWidth);
|
|
93
93
|
|
|
94
94
|
clip(pos, prev);
|
|
95
95
|
|
|
96
|
-
${
|
|
96
|
+
${C?w`${y(b.hideOnShortSegments,w`
|
|
97
97
|
if (areWorldMarkersHidden(pos.xyz, prev.xyz)) {
|
|
98
98
|
// Project out of clip space
|
|
99
99
|
gl_Position = vec4(1e038, 1e038, 1e038, 1.0);
|
|
100
100
|
return;
|
|
101
101
|
}`)}
|
|
102
102
|
pos.xyz = displace(pos.xyz, prev.xyz, getWorldMarkerSize(pos.xyz));
|
|
103
|
-
vec4 displacedPosScreen = projectAndScale(pos);`:
|
|
103
|
+
vec4 displacedPosScreen = projectAndScale(pos);`:w`
|
|
104
104
|
vec4 posScreen = projectAndScale(pos);
|
|
105
105
|
vec4 prevScreen = projectAndScale(prev);
|
|
106
106
|
vec4 displacedPosScreen = posScreen;
|
|
107
107
|
|
|
108
108
|
displacedPosScreen.xy = displace(posScreen.xy, prevScreen.xy, screenMarkerSize);
|
|
109
|
-
${
|
|
109
|
+
${y($,w`
|
|
110
110
|
vec2 displacementDirU = perpendicular(normalizedSegment(posScreen.xy, prevScreen.xy));
|
|
111
111
|
|
|
112
112
|
// We need three points of the ribbon line in camera space to calculate the plane it lies in
|
|
@@ -122,8 +122,8 @@ return abs(cos) > 0.001 && t > 0.0;
|
|
|
122
122
|
|
|
123
123
|
// Convert texture coordinate into [0,1]
|
|
124
124
|
vUV = (uv0 + 1.0) / 2.0;
|
|
125
|
-
${
|
|
126
|
-
${
|
|
125
|
+
${y(!C,"vUV = noPerspectiveWrite(vUV, displacedPosScreen.w);")}
|
|
126
|
+
${y(k,"vLineWidth = noPerspectiveWrite(lineWidth, displacedPosScreen.w);")}
|
|
127
127
|
|
|
128
128
|
vSize = screenMarkerSize;
|
|
129
129
|
vColor = getColor();
|
|
@@ -132,13 +132,13 @@ return abs(cos) > 0.001 && t > 0.0;
|
|
|
132
132
|
vpos = pos.xyz;
|
|
133
133
|
|
|
134
134
|
gl_Position = displacedPosScreen;
|
|
135
|
-
}`),
|
|
135
|
+
}`),U.include(o,b),j.include(P,b),U.include(c),U.uniforms.add(new g("intrinsicColor",({color:e})=>e),new x("tex",({markerTexture:e})=>e)).constants.add("texelSize","float",1/e).code.add(w`float markerAlpha(vec2 samplePos) {
|
|
136
136
|
samplePos += vec2(0.5, -0.5) * texelSize;
|
|
137
|
-
float sdf =
|
|
138
|
-
float
|
|
139
|
-
|
|
140
|
-
return clamp(0.5 -
|
|
141
|
-
}`),
|
|
137
|
+
float sdf = texture(tex, samplePos).r;
|
|
138
|
+
float pixelDistance = sdf * vSize;
|
|
139
|
+
pixelDistance -= 0.5;
|
|
140
|
+
return clamp(0.5 - pixelDistance, 0.0, 1.0);
|
|
141
|
+
}`),k&&(j.include(p),U.constants.add("relativeMarkerSize","float",r/e).constants.add("relativeTipLineWidth","float",i).code.add(w`
|
|
142
142
|
float tipAlpha(vec2 samplePos) {
|
|
143
143
|
// Convert coordinates s.t. they are in pixels and relative to the tip of an arrow marker
|
|
144
144
|
samplePos -= vec2(0.5, 0.5 + 0.5 * relativeMarkerSize);
|
|
@@ -147,18 +147,18 @@ return clamp(0.5 - distance, 0.0, 1.0);
|
|
|
147
147
|
float halfMarkerSize = 0.5 * relativeMarkerSize * vSize;
|
|
148
148
|
float halfTipLineWidth = 0.5 * max(1.0, relativeTipLineWidth * noPerspectiveRead(vLineWidth));
|
|
149
149
|
|
|
150
|
-
${
|
|
150
|
+
${y(C,"halfTipLineWidth *= fwidth(samplePos.y);")}
|
|
151
151
|
|
|
152
152
|
float distance = max(abs(samplePos.x) - halfMarkerSize, abs(samplePos.y) - halfTipLineWidth);
|
|
153
153
|
return clamp(0.5 - distance, 0.0, 1.0);
|
|
154
154
|
}
|
|
155
|
-
`)),
|
|
155
|
+
`)),j.include(a,b),j.include(p),U.main.add(w`
|
|
156
156
|
discardBySlice(vpos);
|
|
157
157
|
discardByTerrainDepth();
|
|
158
158
|
|
|
159
159
|
vec4 finalColor = intrinsicColor * vColor;
|
|
160
160
|
|
|
161
161
|
// Cancel out perspective correct interpolation if in screen space or draped
|
|
162
|
-
vec2 samplePos = ${
|
|
163
|
-
finalColor.a *= ${
|
|
164
|
-
outputColorHighlightOID(finalColor, vpos, finalColor.rgb);`),
|
|
162
|
+
vec2 samplePos = ${y(!C,"noPerspectiveRead(vUV)","vUV")};
|
|
163
|
+
finalColor.a *= ${k?"max(markerAlpha(samplePos), tipAlpha(samplePos))":"markerAlpha(samplePos)"};
|
|
164
|
+
outputColorHighlightOID(finalColor, vpos, finalColor.rgb);`),j}const j=Object.freeze(Object.defineProperty({__proto__:null,build:b},Symbol.toStringTag,{value:"Module"}));export{j as L,b};
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.34/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{numberMaxFloat32 as e}from"../core/mathUtils.js";import{multiply as i,fromTranslation as o}from"../core/libs/gl-matrix-2/math/mat4.js";import{create as r}from"../core/libs/gl-matrix-2/factories/mat4f64.js";import{set as t}from"../core/libs/gl-matrix-2/math/vec2.js";import{create as a}from"../core/libs/gl-matrix-2/factories/vec2f64.js";import{i as s}from"./vec32.js";import{create as n}from"../core/libs/gl-matrix-2/factories/vec3f64.js";import{create as c,positiveInfinity as l}from"../geometry/support/aaBoundingBox.js";import{isColorOrColorEmission as p}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SlicePlaneParameters as m,RejectBySlice as d}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{OutputHighlight as f}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{
|
|
5
|
+
import{numberMaxFloat32 as e}from"../core/mathUtils.js";import{multiply as i,fromTranslation as o}from"../core/libs/gl-matrix-2/math/mat4.js";import{create as r}from"../core/libs/gl-matrix-2/factories/mat4f64.js";import{set as t}from"../core/libs/gl-matrix-2/math/vec2.js";import{create as a}from"../core/libs/gl-matrix-2/factories/vec2f64.js";import{i as s}from"./vec32.js";import{create as n}from"../core/libs/gl-matrix-2/factories/vec3f64.js";import{create as c,positiveInfinity as l}from"../geometry/support/aaBoundingBox.js";import{isColorOrColorEmission as p}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SlicePlaneParameters as m,RejectBySlice as d}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{OutputHighlight as f}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{Float2DrawUniform as g}from"../views/3d/webgl-engine/core/shaderModules/Float2DrawUniform.js";import{Float2PassUniform as u}from"../views/3d/webgl-engine/core/shaderModules/Float2PassUniform.js";import{Float3DrawUniform as x}from"../views/3d/webgl-engine/core/shaderModules/Float3DrawUniform.js";import{glsl as S}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Matrix4BindUniform as v}from"../views/3d/webgl-engine/core/shaderModules/Matrix4BindUniform.js";import{Matrix4DrawUniform as w}from"../views/3d/webgl-engine/core/shaderModules/Matrix4DrawUniform.js";import{NoParameters as h}from"../views/webgl/NoParameters.js";import{ShaderBuilder as z}from"../views/webgl/ShaderBuilder.js";class b extends h{constructor(){super(...arguments),this.clipBox=c(l),this.useFixedSizes=!1,this.useRealWorldSymbolSizes=!1,this.scaleFactor=1,this.minSizePx=0,this.size=0,this.sizePx=0}get fixedSize(){return this.drawScreenSpace?this.sizePx:this.size}get screenMinSize(){return this.useFixedSizes?0:this.minSizePx}get drawScreenSpace(){return this.useFixedSizes&&!this.useRealWorldSymbolSizes}}class M extends m{constructor(e,i,o){super(e),this.origin=e,this.isLeaf=i,this.splatSize=o}}function j(r){const a=new z,n=p(r.output),{vertex:c,fragment:l}=a;return a.vertex.include(d,r),a.attributes.add("position","vec3"),a.attributes.add("color","vec3"),c.uniforms.add(new w("modelView",(e,r)=>i(y,r.camera.viewMatrix,o(y,e.origin))),new v("proj",e=>e.camera.projectionMatrix),new g("screenMinMaxSize",(e,i,o)=>t(B,o.useFixedSizes?0:o.minSizePx*i.camera.pixelRatio,P(e.isLeaf)*i.camera.pixelRatio)),r.useFixedSizes?new u("pointScale",(e,i)=>t(B,e.fixedSize*i.camera.pixelRatio,i.camera.fullHeight)):new g("pointScale",(e,i,o)=>t(B,e.splatSize*o.scaleFactor*i.camera.pixelRatio,i.camera.fullHeight/i.camera.pixelRatio))),r.clippingEnabled?c.uniforms.add(new x("clipMin",(e,i,o)=>s(O,o.clipBox[0]-e.origin[0],o.clipBox[1]-e.origin[1],o.clipBox[2]-e.origin[2])),new x("clipMax",(e,i,o)=>s(O,o.clipBox[3]-e.origin[0],o.clipBox[4]-e.origin[1],o.clipBox[5]-e.origin[2]))):(c.constants.add("clipMin","vec3",[-e,-e,-e]),c.constants.add("clipMax","vec3",[e,e,e])),n&&a.varyings.add("vColor","vec3"),c.main.add(S`
|
|
6
6
|
// Move clipped points outside of clipspace
|
|
7
7
|
if (position.x < clipMin.x || position.y < clipMin.y || position.z < clipMin.z ||
|
|
8
8
|
position.x > clipMax.x || position.y > clipMax.y || position.z > clipMax.z) {
|
|
@@ -22,7 +22,7 @@ import{numberMaxFloat32 as e}from"../core/mathUtils.js";import{multiply as i,fro
|
|
|
22
22
|
|
|
23
23
|
float pointSize = pointScale.x;
|
|
24
24
|
vec4 position = proj * camera;
|
|
25
|
-
${r.drawScreenSize?
|
|
25
|
+
${r.drawScreenSize?S`float clampedScreenSize = pointSize;`:S`float pointRadius = 0.5 * pointSize;
|
|
26
26
|
vec4 cameraOffset = camera + vec4(0.0, pointRadius, 0.0, 0.0);
|
|
27
27
|
vec4 positionOffset = proj * cameraOffset;
|
|
28
28
|
float radius = abs(positionOffset.y - position.y);
|
|
@@ -38,7 +38,7 @@ import{numberMaxFloat32 as e}from"../core/mathUtils.js";import{multiply as i,fro
|
|
|
38
38
|
|
|
39
39
|
gl_PointSize = clampedScreenSize;
|
|
40
40
|
gl_Position = position;
|
|
41
|
-
${n?
|
|
41
|
+
${n?S`vColor = color;`:""}`),a.include(f,r),l.main.add(S`
|
|
42
42
|
vec2 vOffset = gl_PointCoord - vec2(0.5, 0.5);
|
|
43
43
|
float r2 = dot(vOffset, vOffset);
|
|
44
44
|
|
|
@@ -46,4 +46,4 @@ import{numberMaxFloat32 as e}from"../core/mathUtils.js";import{multiply as i,fro
|
|
|
46
46
|
discard;
|
|
47
47
|
}
|
|
48
48
|
calculateOcclusionAndOutputHighlight();
|
|
49
|
-
${n?
|
|
49
|
+
${n?S`fragColor = vec4(vColor, 1.0);`:""}`),a}function P(e){return e?256:64}const y=r(),O=n(),B=a(),R=Object.freeze(Object.defineProperty({__proto__:null,PointRendererDrawParameters:M,PointRendererPassParameters:b,build:j,getMaxPointSizeScreenspace:P},Symbol.toStringTag,{value:"Module"}));export{b as P,M as a,R as b,j as c,P as g};
|