@arcgis/core 4.24.0-next.20220430 → 4.24.0-next.20220503
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/Color.js +1 -1
- package/Ground.js +1 -1
- package/Map.js +1 -1
- package/PopupTemplate.js +1 -1
- package/WebMap.js +1 -1
- package/WebScene.js +1 -1
- package/analysis/LinearDimension.js +1 -1
- package/analysis/SliceAnalysis.js +1 -1
- package/applications/SceneViewer/sceneViewerUtils.js +1 -1
- package/arcade/Dictionary.js +1 -1
- package/arcade/Feature.js +1 -1
- package/arcade/featureset/sources/FeatureLayerDynamic.js +1 -1
- package/arcade/featureset/support/FeatureSet.js +1 -1
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/{e06461703e6f1acfcfdc.js → 076d1b1101b59af0d389.js} +1 -1
- package/assets/esri/core/workers/chunks/0b72d123386dc4ec7538.js +1 -0
- package/assets/esri/core/workers/chunks/0d53e575f11198867619.js +1 -0
- package/assets/esri/core/workers/chunks/0e6e3cf07c84d9f040c0.js +1 -0
- package/assets/esri/core/workers/chunks/105728404ddd9e73d5c9.js +1 -0
- package/assets/esri/core/workers/chunks/11106873b009b98e4286.js +1 -0
- package/assets/esri/core/workers/chunks/11a7b156591d1feca952.js +1 -0
- package/assets/esri/core/workers/chunks/{94325f920a125610e1f5.js → 12feeace7215248be23f.js} +1 -1
- package/assets/esri/core/workers/chunks/17be5bd0d1c233d73d7a.js +1 -0
- package/assets/esri/core/workers/chunks/1b53bd65407ba5c479d7.js +1 -0
- package/assets/esri/core/workers/chunks/1d91aa745b49b2ab36cf.js +1 -0
- package/assets/esri/core/workers/chunks/{fd35b69872ac9393924f.js → 1db8bfb1731be3ae320c.js} +1 -1
- package/assets/esri/core/workers/chunks/{3433361f09c84b31aec4.js → 2290bd6dc2e6bb136e14.js} +1 -1
- package/assets/esri/core/workers/chunks/24217129d492e170f0f0.js +1 -0
- package/assets/esri/core/workers/chunks/24e194107e0e5090125b.js +1 -0
- package/assets/esri/core/workers/chunks/2a1301a1d0cd4c0c17cf.js +1 -0
- package/assets/esri/core/workers/chunks/{178831b0d0bdabcc45e7.js → 2a676221ca1fc8e0cf34.js} +1 -1
- package/assets/esri/core/workers/chunks/2aede0d1dcac8592436b.js +1 -0
- package/assets/esri/core/workers/chunks/2b93ad626f5e75b97692.js +1 -0
- package/assets/esri/core/workers/chunks/2d03210fc6b5884c6bf9.js +1 -0
- package/assets/esri/core/workers/chunks/{b10c333abe4f4e52841c.js → 2dfd3def105005fc72c7.js} +1 -1
- package/assets/esri/core/workers/chunks/2f8ff35b8ab15c0e39c2.js +1 -0
- package/assets/esri/core/workers/chunks/36272141b3c33cb19026.js +1 -0
- package/assets/esri/core/workers/chunks/36c8e8de9c3f67d32572.js +1 -0
- package/assets/esri/core/workers/chunks/3ab8c6ae2f2713f637b0.js +1 -0
- package/assets/esri/core/workers/chunks/3c058381adcfdc407aa1.js +1 -0
- package/assets/esri/core/workers/chunks/3f39df1dfc0a685e5f9d.js +1 -0
- package/assets/esri/core/workers/chunks/3fd52a03b3126556aee6.js +1 -0
- package/assets/esri/core/workers/chunks/4082d8573f41f952c72e.js +1 -0
- package/assets/esri/core/workers/chunks/40b11eea270f6688ff9c.js +1 -0
- package/assets/esri/core/workers/chunks/4281b4b27f4767cdd3ae.js +1 -0
- package/assets/esri/core/workers/chunks/43fcaaeb6fd179e9199b.js +1 -0
- package/assets/esri/core/workers/chunks/4c65b27d80b23c0c3101.js +1 -0
- package/assets/esri/core/workers/chunks/{a6406a248b7b2ed65f35.js → 4ec7d59b0c814dbaa7a4.js} +1 -1
- package/assets/esri/core/workers/chunks/4f378ad6f4299183df85.js +1 -0
- package/assets/esri/core/workers/chunks/505b0aa5ee3e5a26c351.js +1 -0
- package/assets/esri/core/workers/chunks/509a9cdd0228a730bcea.js +1 -0
- package/assets/esri/core/workers/chunks/52255ad573cec0a34720.js +1 -0
- package/assets/esri/core/workers/chunks/52d4fdc451a58a858af1.js +1 -0
- package/assets/esri/core/workers/chunks/5405f478af3563580926.js +1 -0
- package/assets/esri/core/workers/chunks/54577c2522ca3ff08f7e.js +1 -0
- package/assets/esri/core/workers/chunks/54d67e450da6ce2641b4.js +1 -0
- package/assets/esri/core/workers/chunks/56d3cb0ae0069a8eadde.js +1 -0
- package/assets/esri/core/workers/chunks/5b4efe0014162f777534.js +1 -0
- package/assets/esri/core/workers/chunks/5baa162351551817838b.js +1 -0
- package/assets/esri/core/workers/chunks/5cf2064bfd9d0847d9ec.js +1 -0
- package/assets/esri/core/workers/chunks/620dc3c13c345d5aa9f6.js +1 -0
- package/assets/esri/core/workers/chunks/7c290763920f52a1f504.js +1 -0
- package/assets/esri/core/workers/chunks/7dc266be958e34e81007.js +972 -0
- package/assets/esri/core/workers/chunks/7dfd70f4fa1096e56641.js +1 -0
- package/assets/esri/core/workers/chunks/7f097de06972a68cd08a.js +1 -0
- package/assets/esri/core/workers/chunks/8033531b0cc706b40d86.js +1 -0
- package/assets/esri/core/workers/chunks/814234844a056d9f1ddc.js +1 -0
- package/assets/esri/core/workers/chunks/83700cdd60ceecc639cd.js +1 -0
- package/assets/esri/core/workers/chunks/857df84cea67079a91e5.js +1 -0
- package/assets/esri/core/workers/chunks/8793070d288878d6f49b.js +1 -0
- package/assets/esri/core/workers/chunks/8865c5cc28df60364e60.js +1 -0
- package/assets/esri/core/workers/chunks/{e9f786d4ba3143ed9644.js → 8cc85d1d46dda16ad041.js} +1 -1
- package/assets/esri/core/workers/chunks/958a7ef2cbf048819988.js +1 -0
- package/assets/esri/core/workers/chunks/967af0aa4dc4da032fdc.js +1 -0
- package/assets/esri/core/workers/chunks/9722880bd7f455b2bd07.js +1 -0
- package/assets/esri/core/workers/chunks/9d738aab0d907cd09a9d.js +1 -0
- package/assets/esri/core/workers/chunks/{86b31ae136f931d7884a.js → 9e6df034d7949880471f.js} +1 -1
- package/assets/esri/core/workers/chunks/a056a79f31cddb066f15.js +1 -0
- package/assets/esri/core/workers/chunks/a2c9fd78d42df7314a3e.js +1 -0
- package/assets/esri/core/workers/chunks/a4dcb50f6622cb1444c8.js +1 -0
- package/assets/esri/core/workers/chunks/a6bfbe449b8c2fa5334c.js +1 -0
- package/assets/esri/core/workers/chunks/a8ed1a938dc164b401d9.js +1 -0
- package/assets/esri/core/workers/chunks/a9a73bc4875a5aeaf1b9.js +1 -0
- package/assets/esri/core/workers/chunks/ac0df52b2f2a4874e4ea.js +1 -0
- package/assets/esri/core/workers/chunks/{431efa172901ab8e4d53.js → acfa8eb19225f7862b1d.js} +1 -1
- package/assets/esri/core/workers/chunks/adae54f116f311d72d97.js +1 -0
- package/assets/esri/core/workers/chunks/{718073d13d3de67b629b.js → aeeb364b7c1876f6e7db.js} +1 -1
- package/assets/esri/core/workers/chunks/afddfe620e6539991e6b.js +1 -0
- package/assets/esri/core/workers/chunks/b02a83845d3da4caee9d.js +1 -0
- package/assets/esri/core/workers/chunks/{0d21506b7d4f9afdbb09.js → b3847a6bbd45d813f03c.js} +1 -1
- package/assets/esri/core/workers/chunks/b4c23630d6c85f7b59c0.js +1 -0
- package/assets/esri/core/workers/chunks/{c318b229911b60fc3cbf.js → b50ae3dc7e43ff452568.js} +1 -1
- package/assets/esri/core/workers/chunks/b5ede4df4620097c6528.js +1 -0
- package/assets/esri/core/workers/chunks/b7d7ad127f8939cbdec2.js +1 -0
- package/assets/esri/core/workers/chunks/bf1d1c02d12b526b0750.js +1 -0
- package/assets/esri/core/workers/chunks/c0e6dbecdbd30066a82c.js +1 -0
- package/assets/esri/core/workers/chunks/c2a36243eb105d570bff.js +1 -0
- package/assets/esri/core/workers/chunks/c8a3a28809542396c6fd.js +1 -0
- package/assets/esri/core/workers/chunks/cf1047ad176a25dcd2d6.js +1 -0
- package/assets/esri/core/workers/chunks/d03de043d43691665a93.js +1 -0
- package/assets/esri/core/workers/chunks/d3fecbaca51ef8844026.js +1 -0
- package/assets/esri/core/workers/chunks/dafe120243db6648a4ab.js +1 -0
- package/assets/esri/core/workers/chunks/dccc33d87cb7d902f5c7.js +1 -0
- package/assets/esri/core/workers/chunks/dd43f5647900ee27af22.js +1 -0
- package/assets/esri/core/workers/chunks/{52489e2f7748dc610263.js → dfdd853dd6c023089963.js} +1 -1
- package/assets/esri/core/workers/chunks/e6f76f62cf58fb1e67c6.js +1 -0
- package/assets/esri/core/workers/chunks/ea73a1d9cad5e1a5d861.js +1 -0
- package/assets/esri/core/workers/chunks/{4130ea1f5a9f197168d7.js → ed4519ac9533a4d340f1.js} +1 -1
- package/assets/esri/core/workers/chunks/f0e462f5a16852f33225.js +1 -0
- package/assets/esri/core/workers/chunks/f13c29bcc71aed8f3a2e.js +1 -0
- package/assets/esri/core/workers/chunks/f356e505c36397fda3cf.js +1 -0
- package/assets/esri/core/workers/chunks/f55cbaf5a1d6ee6ac171.js +1 -0
- package/assets/esri/core/workers/chunks/f6e613ae6812a347a26c.js +1 -0
- package/assets/esri/core/workers/chunks/fb3279408bd5323ec612.js +1 -0
- package/assets/esri/core/workers/chunks/fdf80a371b7b2a45f1ff.js +1 -0
- package/assets/esri/libs/vxl/vxlLayer.wasm +0 -0
- package/chunks/ChapmanAtmosphere.glsl.js +15 -15
- package/chunks/CheckerBoard.glsl.js +3 -3
- package/chunks/Clouds.glsl.js +2 -3
- package/chunks/CloudsComposition.glsl.js +3 -3
- package/chunks/ColorMaterial.glsl.js +11 -11
- package/chunks/DefaultMaterial.glsl.js +26 -26
- package/chunks/EdgeShader.glsl.js +3 -3
- package/chunks/Fog.glsl.js +6 -6
- package/chunks/HUDMaterial.glsl.js +48 -48
- package/chunks/HeatmapDensity.glsl.js +7 -7
- package/chunks/HighlightApply.glsl.js +3 -3
- package/chunks/LineCallout.glsl.js +3 -3
- package/chunks/LineMarker.glsl.js +22 -22
- package/chunks/MeasurementArrow.glsl.js +4 -4
- package/chunks/NativeLine.glsl.js +11 -11
- package/chunks/Path.glsl.js +16 -16
- package/chunks/Pattern.glsl.js +30 -30
- package/chunks/RasterColorizer.glsl.js +4 -4
- package/chunks/RealisticTree.glsl.js +20 -20
- package/chunks/RibbonLine.glsl.js +39 -39
- package/chunks/ShadedColorMaterial.glsl.js +10 -10
- package/chunks/ShadowCastVisualize.glsl.js +5 -5
- package/chunks/ShadowHighlight.glsl.js +2 -2
- package/chunks/SlicePlaneMaterial.glsl.js +3 -3
- package/chunks/Stars.glsl.js +2 -2
- package/chunks/WaterSurface.glsl.js +20 -20
- package/chunks/languageUtils.js +1 -1
- package/chunks/persistableUrlUtils.js +1 -1
- package/chunks/vec22.js +1 -1
- package/chunks/vec2f64.js +1 -1
- package/chunks/vec3.js +1 -1
- package/chunks/vec33.js +1 -1
- package/chunks/vec43.js +1 -1
- package/colorUtils.js +1 -1
- package/config.js +1 -1
- package/core/Accessor.js +1 -1
- package/core/AsyncUpdate.js +1 -1
- package/core/Clonable.js +1 -1
- package/core/Collection.js +1 -1
- package/core/HandleOwner.js +1 -1
- package/core/Loadable.js +1 -1
- package/core/NestedMap.js +1 -1
- package/core/accessorSupport/DefaultsStore.js +1 -1
- package/core/accessorSupport/Properties.js +1 -1
- package/core/accessorSupport/decorators/enumeration.js +1 -1
- package/core/accessorSupport/extensions/serializableProperty/reader.js +1 -1
- package/core/accessorSupport/extensions/serializableProperty/writePolicyUtils.js +1 -1
- package/core/accessorSupport/extensions/serializableProperty/writer.js +1 -1
- package/core/accessorSupport/read.js +1 -1
- package/core/accessorSupport/tracking.js +1 -1
- package/core/accessorSupport/write.js +1 -1
- package/core/devEnvironmentUtils.js +1 -1
- package/core/has.js +1 -1
- package/core/libs/gl-matrix-2/factories/vec2f64.js +1 -1
- package/core/libs/gl-matrix-2/math/vec3.js +1 -1
- package/core/libs/rbush/PooledRBush.js +1 -1
- package/core/promiseUtils.js +1 -1
- package/core/reactiveUtils.js +1 -1
- package/core/scheduling.js +1 -1
- package/core/throttle.js +1 -1
- package/core/urlUtils.js +1 -1
- package/core/watchUtils.js +1 -1
- package/core/workers/RemoteClient.js +1 -1
- package/core/workers/WorkerOwner.js +1 -1
- package/core/workers/loaderConfig.js +1 -1
- package/core/workers/workerFactory.js +1 -1
- package/geometry/Mesh.js +1 -1
- package/geometry/geometryEngine.js +1 -1
- package/geometry/geometryEngineAsync.js +1 -1
- package/geometry/projection.js +1 -1
- package/geometry/support/axisAngleDegrees.js +1 -1
- package/geometry/support/meshUtils/centerAt.js +1 -1
- package/geometry/support/meshUtils/deduplicate.js +1 -1
- package/geometry/support/meshUtils/elevation.js +1 -1
- package/geometry/support/meshUtils/geographicUtils.js +1 -1
- package/geometry/support/meshUtils/georeference.js +1 -1
- package/geometry/support/meshUtils/loadExternal.js +1 -1
- package/geometry/support/meshUtils/loadGLTFMesh.js +1 -1
- package/geometry/support/meshUtils/offset.js +1 -1
- package/geometry/support/meshUtils/rotate.js +1 -1
- package/geometry/support/meshUtils/scale.js +1 -1
- package/geometry/support/normalizeUtils.js +1 -1
- package/geometry/support/normalizeUtilsCommon.js +1 -1
- package/geometry/support/offset.js +1 -1
- package/geometry/support/rotate.js +1 -1
- package/identity/IdentityManagerBase.js +1 -1
- package/identity/IdentityModal.js +1 -1
- package/interfaces.d.ts +109 -2
- package/intl/locale.js +1 -1
- package/intl/messages.js +1 -1
- package/kernel.js +1 -1
- package/layers/AnalysisLayer.js +1 -1
- package/layers/CSVLayer.js +1 -1
- package/layers/FeatureLayer.js +1 -1
- package/layers/GeoJSONLayer.js +1 -1
- package/layers/GeoRSSLayer.js +1 -1
- package/layers/ImageryLayer.js +1 -1
- package/layers/ImageryTileLayer.js +1 -1
- package/layers/Layer.js +1 -1
- package/layers/MapImageLayer.js +1 -1
- package/layers/MapNotesLayer.js +1 -1
- package/layers/OGCFeatureLayer.js +1 -1
- package/layers/RouteLayer.js +1 -1
- package/layers/SceneLayer.js +1 -1
- package/layers/StreamLayer.js +1 -1
- package/layers/SubtypeGroupLayer.js +1 -1
- package/layers/TileLayer.js +1 -1
- package/layers/VectorTileLayer.js +1 -1
- package/layers/VoxelLayer.js +1 -1
- package/layers/VoxelWasmPerScene.js +1 -1
- package/layers/WCSLayer.js +1 -1
- package/layers/WFSLayer.js +1 -1
- package/layers/WMSLayer.js +1 -1
- package/layers/WMTSLayer.js +1 -1
- package/layers/buildingSublayers/BuildingComponentSublayer.js +1 -1
- package/layers/effects/EffectView.js +1 -1
- package/layers/effects/FeatureEffectView.js +1 -1
- package/layers/effects/jsonUtils.js +1 -1
- package/layers/graphics/OptimizedGeometry.js +1 -1
- package/layers/graphics/centroid.js +1 -1
- package/layers/graphics/controllers/FeatureTileController3D.js +1 -1
- package/layers/graphics/controllers/I3SOnDemandController.js +1 -1
- package/layers/graphics/data/QueryEngineResult.js +1 -1
- package/layers/graphics/data/StreamFeatureManager.js +1 -1
- package/layers/graphics/editingSupport.js +1 -1
- package/layers/graphics/objectIdUtils.js +1 -1
- package/layers/graphics/sources/CSVSource.js +1 -1
- package/layers/graphics/sources/FeatureLayerSource.js +1 -1
- package/layers/graphics/sources/GeoJSONSource.js +1 -1
- package/layers/graphics/sources/MemorySource.js +1 -1
- package/layers/graphics/sources/OGCFeatureSource.js +1 -1
- package/layers/graphics/sources/WFSSource.js +1 -1
- package/layers/graphics/sources/WFSSourceWorker.js +1 -1
- package/layers/graphics/sources/connections/WebSocketConnection.js +1 -1
- package/layers/graphics/sources/geojson/GeoJSONSourceWorker.js +1 -1
- package/layers/graphics/sources/geojson/geojson.js +1 -1
- package/layers/graphics/sources/support/CSVSourceWorker.js +1 -1
- package/layers/graphics/sources/support/QueryTask.js +1 -1
- package/layers/mixins/APIKeyMixin.js +1 -1
- package/layers/mixins/ArcGISImageService.js +1 -1
- package/layers/mixins/ArcGISMapService.js +1 -1
- package/layers/mixins/ImageryTileMixin.js +1 -1
- package/layers/mixins/OperationalLayer.js +1 -1
- package/layers/mixins/PortalLayer.js +1 -1
- package/layers/mixins/SceneService.js +1 -1
- package/layers/mixins/refresh.js +1 -1
- package/layers/ogc/dateUtils.js +1 -1
- package/layers/ogc/ogcFeatureUtils.js +1 -1
- package/layers/ogc/wfsUtils.js +1 -1
- package/layers/save/featureLayerUtils.js +1 -1
- package/layers/support/ExportImageParameters.js +1 -1
- package/layers/support/ExportImageServiceParameters.js +1 -1
- package/layers/support/ExportWMSImageParameters.js +1 -1
- package/layers/support/FeatureEffect.js +1 -1
- package/layers/support/FeatureType.js +1 -1
- package/layers/support/FetchAssociatedFeatureLayer.js +1 -1
- package/layers/support/LabelClass.js +1 -1
- package/layers/support/LayerContingentValuesCache.js +1 -1
- package/layers/support/RasterFunction.js +1 -1
- package/layers/support/RasterInfo.js +1 -1
- package/layers/support/RasterJobHandler.js +1 -1
- package/layers/support/RasterWorker.js +1 -1
- package/layers/support/Sublayer.js +1 -1
- package/layers/support/SubtypeSublayer.js +1 -1
- package/layers/support/TilemapCache.js +1 -1
- package/layers/support/TimeReference.d.ts +4 -0
- package/layers/support/WMTSSublayer.js +1 -1
- package/layers/support/arcgisLayers.js +1 -1
- package/layers/support/commonProperties.js +1 -1
- package/layers/support/editableLayers.js +1 -1
- package/layers/support/fieldUtils.js +1 -1
- package/layers/support/floorFilterUtils.js +1 -1
- package/layers/support/imageryRendererUtils.js +1 -1
- package/layers/support/layerUtils.js +1 -1
- package/layers/support/layersCreator.js +1 -1
- package/layers/support/rasterDatasets/BaseRaster.js +1 -1
- package/layers/support/rasterDatasets/CloudRaster.js +1 -1
- package/layers/support/rasterDatasets/ImageAuxRaster.js +1 -1
- package/layers/support/rasterDatasets/ImageServerRaster.js +1 -1
- package/layers/support/rasterDatasets/InMemoryRaster.js +1 -1
- package/layers/support/rasterDatasets/MRFRaster.js +1 -1
- package/layers/support/rasterDatasets/TIFFRaster.js +1 -1
- package/layers/support/rasterDatasets/WCSRaster.js +1 -1
- package/layers/support/rasterDatasets/multipartParser.js +1 -1
- package/layers/support/rasterDatasets/pamParser.js +1 -1
- package/layers/support/rasterDatasets/wcsCapabilitiesParser.js +1 -1
- package/layers/support/rasterDatasets/wcsCoverageParser.js +1 -1
- package/layers/support/rasterDatasets/xmlUtilities.js +1 -1
- package/layers/support/rasterFormats/Lerc.js +1 -1
- package/layers/support/rasterFormats/RasterCodec.js +1 -1
- package/layers/support/rasterFormats/TiffDecoder.js +1 -1
- package/layers/support/rasterFunctions/pixelUtils.js +1 -1
- package/layers/support/rasterFunctions/rasterProjectionHelper.js +1 -1
- package/layers/support/rasterFunctions/stretchUtils.js +1 -1
- package/layers/support/rasterFunctions/vectorFieldUtils.js +1 -1
- package/layers/support/rasterTransforms/PolynomialTransform.js +1 -1
- package/layers/support/rasterTransforms/utils.js +1 -1
- package/layers/support/source/DataLayerSource.js +1 -1
- package/layers/support/source/QueryTableDataSource.js +1 -1
- package/layers/support/vectorTileLayerLoader.js +1 -1
- package/layers/support/wmsUtils.js +1 -1
- package/layers/support/wmtsUtils.js +1 -1
- package/libs/maquette-advanced-projector/projector.js +1 -1
- package/networks/Network.js +1 -1
- package/networks/UtilityNetwork.js +1 -1
- package/networks/support/utils.js +1 -1
- package/package.json +1 -1
- package/popup/content/ExpressionContent.js +1 -1
- package/portal/Portal.js +1 -1
- package/portal/PortalItem.js +1 -1
- package/portal/support/geometryServiceUtils.js +1 -1
- package/portal/support/layersLoader.js +1 -1
- package/portal/support/portalItemUtils.js +1 -1
- package/portal/support/portalLayers.js +1 -1
- package/renderers/DictionaryRenderer.js +1 -1
- package/renderers/FlowRenderer.js +1 -1
- package/renderers/RasterColormapRenderer.js +1 -1
- package/renderers/RasterStretchRenderer.js +1 -1
- package/renderers/VectorFieldRenderer.js +1 -1
- package/renderers/support/RasterSymbolizer.js +1 -1
- package/renderers/support/UniqueValueInfo.js +1 -1
- package/renderers/support/colorRampUtils.js +1 -1
- package/renderers/support/heatmapUtils.js +1 -1
- package/renderers/support/rasterRendererHelper.js +1 -1
- package/request.js +1 -1
- package/rest/identify.js +1 -1
- package/rest/imageService.js +1 -1
- package/rest/networkService.js +1 -1
- package/rest/networks/support/SynthesizeAssociationGeometriesParameters.js +1 -1
- package/rest/operations/identify.js +1 -1
- package/rest/print.js +1 -1
- package/rest/query/executeQuery.js +1 -1
- package/rest/query/operations/query.js +1 -1
- package/rest/query/operations/queryRelatedRecords.js +1 -1
- package/rest/query/operations/queryTopFeatures.js +1 -1
- package/rest/route.js +1 -1
- package/rest/support/DirectionLine.js +1 -1
- package/rest/support/DirectionPoint.js +1 -1
- package/rest/support/DirectionsFeatureSet.js +1 -1
- package/rest/support/FeatureSet.js +1 -1
- package/rest/support/ImageSampleParameters.js +1 -1
- package/rest/support/PointBarrier.js +1 -1
- package/rest/support/PolygonBarrier.js +1 -1
- package/rest/support/PolylineBarrier.js +1 -1
- package/rest/support/RouteInfo.js +1 -1
- package/rest/support/Stop.js +1 -1
- package/rest/support/meshFeatureSet.js +1 -1
- package/rest/support/printTaskUtils.js +1 -1
- package/smartMapping/labels/clusters.js +1 -1
- package/smartMapping/raster/renderers/rgb.js +1 -1
- package/smartMapping/raster/renderers/uniqueValue.js +1 -1
- package/smartMapping/raster/support/adapters/ImageryLayerAdapter.js +1 -1
- package/smartMapping/raster/support/adapters/RasterLayerAdapter.js +1 -1
- package/smartMapping/raster/support/utils.js +1 -1
- package/smartMapping/renderers/color.js +1 -1
- package/smartMapping/renderers/size.js +1 -1
- package/smartMapping/renderers/support/utils.js +1 -1
- package/smartMapping/renderers/univariateColorSize.js +1 -1
- package/smartMapping/statistics/support/WorkerClient.js +1 -1
- package/smartMapping/support/adapters/CSVLayerAdapter.js +1 -1
- package/smartMapping/support/adapters/FeatureLayerAdapter.js +1 -1
- package/smartMapping/support/adapters/OGCFeatureLayerAdapter.js +1 -1
- package/smartMapping/support/adapters/SceneLayerAdapter.js +1 -1
- package/smartMapping/support/adapters/support/utils.js +1 -1
- package/statistics/utils.js +1 -1
- package/support/LayersMixin.js +1 -1
- package/support/TablesMixin.js +1 -1
- package/support/arcadeUtils.js +1 -1
- package/support/basemapUtils.js +1 -1
- package/support/popupUtils.js +1 -1
- package/support/revision.js +1 -1
- package/support/timeUtils.js +1 -1
- package/symbols/FillSymbol3DLayer.js +1 -1
- package/symbols/LineSymbol3DLayer.js +1 -1
- package/symbols/LineSymbolMarker.js +1 -1
- package/symbols/PictureFillSymbol.js +1 -1
- package/symbols/PointSymbol3D.js +1 -1
- package/symbols/SimpleLineSymbol.js +1 -1
- package/symbols/SimpleMarkerSymbol.js +1 -1
- package/symbols/cim/CIMResourceManager.js +1 -1
- package/symbols/cim/CIMSymbolDrawHelper.js +1 -1
- package/symbols/cim/CIMSymbolHelper.js +1 -1
- package/symbols/cim/ExpandedCIM.js +1 -1
- package/symbols/cim/SDFHelper.js +1 -1
- package/symbols/cim/cimAnalyzer.js +1 -1
- package/symbols/cim/effects/EffectControlMeasureLine.js +1 -1
- package/symbols/cim/effects/EffectDashes.js +1 -1
- package/symbols/cim/effects/EffectOffset.js +1 -1
- package/symbols/cim/placements/PlacementAlongLineSameSize.js +1 -1
- package/symbols/cim/utils.js +1 -1
- package/symbols/support/cimSymbolUtils.js +1 -1
- package/symbols/support/jsonUtils.js +1 -1
- package/symbols/support/previewCIMSymbol.js +1 -1
- package/symbols/support/previewSymbol2D.js +1 -1
- package/symbols/support/previewSymbol3D.js +1 -1
- package/symbols/support/previewWebStyleSymbol.js +1 -1
- package/symbols/support/svgUtils.js +1 -1
- package/symbols/support/symbolConversion.js +1 -1
- package/symbols/support/symbolUtils.js +1 -1
- package/tasks/GenerateRendererTask.js +1 -1
- package/views/2d/MapViewConstraints.js +1 -1
- package/views/2d/constraints/GeometryConstraint.js +1 -1
- package/views/2d/engine/Bitmap.js +1 -1
- package/views/2d/engine/Container.js +1 -1
- package/views/2d/engine/DisplayObject.js +1 -1
- package/views/2d/engine/Stage.js +1 -1
- package/views/2d/engine/imagery/BrushRasterBitmap.js +1 -1
- package/views/2d/engine/imagery/RasterBitmap.js +1 -1
- package/views/2d/engine/imagery/RasterVFDisplayObject.js +1 -1
- package/views/2d/engine/vectorTiles/TilemapRequest.js +1 -1
- package/views/2d/engine/vectorTiles/WorkerTileHandler.js +1 -1
- package/views/2d/engine/vectorTiles/buckets/FillBucket.js +1 -1
- package/views/2d/engine/vectorTiles/buckets/LineBucket.js +1 -1
- package/views/2d/engine/vectorTiles/expression/expression.js +1 -1
- package/views/2d/engine/vectorTiles/shaders/VTLMaterial.js +1 -1
- package/views/2d/engine/vectorTiles/style/StyleLayer.js +1 -1
- package/views/2d/engine/vectorTiles/style/StyleRepository.js +1 -1
- package/views/2d/engine/vectorTiles/style/VectorTileSource.js +1 -1
- package/views/2d/engine/webgl/FeatureTile.js +1 -1
- package/views/2d/engine/webgl/GraphicTile.js +1 -1
- package/views/2d/engine/webgl/TextureManager.js +1 -1
- package/views/2d/engine/webgl/brushes/WGLBrushHeatmap.js +1 -1
- package/views/2d/engine/webgl/brushes/WGLBrushVTLCircle.js +1 -1
- package/views/2d/engine/webgl/brushes/WGLBrushVTLFill.js +1 -1
- package/views/2d/engine/webgl/brushes/WGLBrushVTLLine.js +1 -1
- package/views/2d/engine/webgl/collisions/CollisionEngine.js +1 -1
- package/views/2d/engine/webgl/collisions/MetricReader.js +1 -1
- package/views/2d/engine/webgl/cpuMapped/DisplayRecordReader.js +1 -1
- package/views/2d/engine/webgl/cpuMapped/FreeList.js +1 -1
- package/views/2d/engine/webgl/mesh/MeshData.js +1 -1
- package/views/2d/engine/webgl/mesh/templates/WGLBaseLineTemplate.js +1 -1
- package/views/2d/engine/webgl/mesh/templates/WGLBaseMarkerTemplate.js +1 -1
- package/views/2d/engine/webgl/mesh/templates/WGLBaseTextTemplate.js +1 -1
- package/views/2d/engine/webgl/mesh/templates/WGLDynamicFillTemplate.js +1 -1
- package/views/2d/engine/webgl/mesh/templates/WGLLabelTemplate.js +1 -1
- package/views/2d/engine/webgl/mesh/templates/WGLLineTemplate.js +1 -1
- package/views/2d/engine/webgl/mesh/templates/WGLMeshTemplate.js +1 -1
- package/views/2d/engine/webgl/painter/RenderPass.js +1 -1
- package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
- package/views/2d/engine/webgl/techniques/dotDensity/TechniqueDotDensity.js +1 -1
- package/views/2d/input/MapViewInputManager.js +1 -1
- package/views/2d/input/handlers/GamepadNavigation.js +1 -1
- package/views/2d/interactive/editingTools/draw/DrawGraphicTool2D.js +1 -1
- package/views/2d/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTiles2D.js +1 -1
- package/views/2d/layers/BaseLayerView2D.js +1 -1
- package/views/2d/layers/BaseLayerViewGL2D.js +1 -1
- package/views/2d/layers/BitmapTileLayerView2D.js +1 -1
- package/views/2d/layers/FeatureLayerView2D.js +1 -1
- package/views/2d/layers/GeoRSSLayerView2D.js +1 -1
- package/views/2d/layers/GraphicsLayerView2D.js +1 -1
- package/views/2d/layers/ImageryLayerView2D.js +1 -1
- package/views/2d/layers/ImageryTileLayerView2D.js +1 -1
- package/views/2d/layers/KMLLayerView2D.js +1 -1
- package/views/2d/layers/LayerView2D.js +1 -1
- package/views/2d/layers/SubtypeGroupLayerView2D.js +1 -1
- package/views/2d/layers/TileLayerView2D.js +1 -1
- package/views/2d/layers/VectorTileLayerView2D.js +1 -1
- package/views/2d/layers/WMTSLayerView2D.js +1 -1
- package/views/2d/layers/features/FeatureStore2D.js +1 -1
- package/views/2d/layers/features/Pipeline.js +1 -1
- package/views/2d/layers/features/batchUtils.js +1 -1
- package/views/2d/layers/features/controllers/FeatureController2D.js +1 -1
- package/views/2d/layers/features/controllers/support/sourceAdapters.js +1 -1
- package/views/2d/layers/features/createSymbolSchema.js +1 -1
- package/views/2d/layers/features/processors/SymbolProcessor.js +1 -1
- package/views/2d/layers/features/schemaUtils.js +1 -1
- package/views/2d/layers/features/sources/BaseFeatureSource.js +1 -1
- package/views/2d/layers/features/sources/DataTileSource.js +1 -1
- package/views/2d/layers/features/sources/DataTileSubscription.js +1 -1
- package/views/2d/layers/features/sources/SnapshotFeatureSource.js +1 -1
- package/views/2d/layers/features/support/ClusterStore.js +1 -1
- package/views/2d/layers/features/support/FeatureSetReader.js +1 -1
- package/views/2d/layers/features/support/FeatureSetReaderJSON.js +1 -1
- package/views/2d/layers/features/support/FeatureSetReaderPBF.js +1 -1
- package/views/2d/layers/features/support/FeatureSetReaderPBFHeader.js +1 -1
- package/views/2d/layers/features/support/ResourceManagerProxy.js +1 -1
- package/views/2d/layers/features/tileRenderers/SymbolTileRenderer.js +1 -1
- package/views/2d/layers/features/tileRenderers/support/WGLFeatureView.js +1 -1
- package/views/2d/layers/graphics/graphicsUtils.js +1 -1
- package/views/2d/layers/imagery/BaseImageryTileSubView2D.js +1 -1
- package/views/2d/layers/imagery/ImageryTileView2D.js +1 -1
- package/views/2d/layers/imagery/VectorFieldTileView2D.js +1 -1
- package/views/2d/layers/support/ExportStrategy.js +1 -1
- package/views/2d/layers/support/FeatureCommandQueue.js +1 -1
- package/views/2d/magnifier/MagnifierView2D.js +1 -1
- package/views/2d/support/engineHelpers.js +1 -1
- package/views/2d/tiling/TileManager.js +1 -1
- package/views/3d/analysis/AreaMeasurement/support/AreaMeasurementVisualization.js +1 -1
- package/views/3d/analysis/AreaMeasurementAnalysisView3D.js +1 -1
- package/views/3d/analysis/Dimensioning/DimensioningVisualization.js +5 -0
- package/views/3d/analysis/Dimensioning/LinearDimensionVisualization.js +5 -0
- package/views/3d/analysis/DimensioningAnalysisView3D.js +1 -1
- package/views/3d/analysis/DirectLineMeasurement/DirectLineMeasurementController.js +1 -1
- package/views/3d/analysis/DirectLineMeasurement/DirectLineMeasurementVisualization.js +1 -1
- package/views/3d/analysis/DirectLineMeasurementAnalysisView3D.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightController.js +1 -1
- package/views/3d/analysis/LineOfSightAnalysisView3D.js +1 -1
- package/views/3d/analysis/Slice/SliceTool.js +1 -1
- package/views/3d/analysis/SliceAnalysisView3D.js +1 -1
- package/views/3d/environment/ChapmanAtmosphere.glsl.js +1 -1
- package/views/3d/environment/ChapmanAtmosphere.js +1 -1
- package/views/3d/environment/Clouds.glsl.js +1 -1
- package/views/3d/environment/CloudsComposition.glsl.js +1 -1
- package/views/3d/environment/CloudsComposition.js +1 -1
- package/views/3d/environment/CloudsCompositionParameters.js +5 -0
- package/views/3d/environment/EnvironmentRenderer.js +1 -1
- package/views/3d/environment/Fog.glsl.js +1 -1
- package/views/3d/environment/Fog.js +1 -1
- package/views/3d/environment/Precipitation.js +1 -1
- package/views/3d/environment/SceneViewEnvironment.js +1 -1
- package/views/3d/environment/SceneViewEnvironmentManager.js +1 -1
- package/views/3d/environment/SimpleAtmosphere.js +1 -1
- package/views/3d/environment/Stars.glsl.js +1 -1
- package/views/3d/environment/Stars.js +1 -1
- package/views/3d/externalRenderers/ExternalRendererStore.js +1 -1
- package/views/3d/glTF/internal/Resource.js +1 -1
- package/views/3d/glTF/loader.js +1 -1
- package/views/3d/input/SceneInputManager.js +1 -1
- package/views/3d/input/handlers/TwoFingerTilt.js +1 -1
- package/views/3d/interactive/Manipulator3D.js +1 -1
- package/views/3d/interactive/editingTools/draw/DrawGraphicTool3D.js +1 -1
- package/views/3d/interactive/editingTools/manipulations/MoveManipulation.js +1 -1
- package/views/3d/interactive/editingTools/moveGraphic/isSupportedGraphic.js +1 -1
- package/views/3d/interactive/editingTools/reshapeGraphic/GraphicReshapeTool.js +1 -1
- package/views/3d/interactive/editingTools/reshapeGraphic/ReshapeOperation.js +1 -1
- package/views/3d/interactive/editingTools/reshapeGraphic/isSupportedGraphic.js +1 -1
- package/views/3d/interactive/editingTools/transformGraphic/GraphicScaleRotateTransform.js +1 -1
- package/views/3d/interactive/editingTools/transformGraphic/isSupportedGraphic.js +1 -1
- package/views/3d/interactive/measurementTools/areaMeasurement3D/AreaMeasurement3DView.js +1 -1
- package/views/3d/interactive/measurementTools/directLineMeasurement3D/DirectLineMeasurement3DView.js +1 -1
- package/views/3d/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTiles3D.js +1 -1
- package/views/3d/interactive/visualElements/DrapedVisualElementResources.js +1 -1
- package/views/3d/interactive/visualElements/LineVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/OutlineVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/VisualElementResources.js +1 -1
- package/views/3d/layers/BuildingComponentSublayerView3D.js +1 -1
- package/views/3d/layers/ElevationLayerView3D.js +1 -1
- package/views/3d/layers/FeatureLayerView3D.js +1 -1
- package/views/3d/layers/FeatureLayerViewBase3D.js +1 -1
- package/views/3d/layers/FeatureLikeLayerView3D.js +1 -1
- package/views/3d/layers/GraphicsLayerView3D.js +1 -1
- package/views/3d/layers/GraphicsView3D.js +1 -1
- package/views/3d/layers/I3SMeshView3D.js +1 -1
- package/views/3d/layers/ImageryLayerView3D.js +1 -1
- package/views/3d/layers/ImageryTileLayerView3D.js +1 -1
- package/views/3d/layers/LayerView3D.js +1 -1
- package/views/3d/layers/RouteLayerView3D.js +1 -1
- package/views/3d/layers/SceneLayerGraphicsView3D.js +1 -1
- package/views/3d/layers/SceneLayerView3D.js +1 -1
- package/views/3d/layers/SceneLayerWorker.js +1 -1
- package/views/3d/layers/StreamLayerView3D.js +1 -1
- package/views/3d/layers/TiledLayerView3D.js +1 -1
- package/views/3d/layers/VectorTileLayerView3D.js +1 -1
- package/views/3d/layers/VoxelLayerView3D.js +1 -1
- package/views/3d/layers/WMSLayerView3D.js +1 -1
- package/views/3d/layers/WMTSLayerView3D.js +1 -1
- package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
- package/views/3d/layers/graphics/Graphics3DExtrudeSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DFeatureProcessor.js +1 -1
- package/views/3d/layers/graphics/Graphics3DFilterVisibility.js +1 -1
- package/views/3d/layers/graphics/Graphics3DFrustumVisibility.js +1 -1
- package/views/3d/layers/graphics/Graphics3DLineSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DMeshFillSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DObject3DGraphicLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DPathSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DPointSymbol.js +1 -1
- package/views/3d/layers/graphics/Graphics3DSymbol.js +1 -1
- package/views/3d/layers/graphics/Graphics3DSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/GraphicsDeconflictor.js +1 -1
- package/views/3d/layers/graphics/GraphicsProcessor.js +1 -1
- package/views/3d/layers/graphics/Labeler.js +1 -1
- package/views/3d/layers/i3s/I3SAttributeOverrides.js +1 -1
- package/views/3d/layers/i3s/I3SMeshViewFilter.js +1 -1
- package/views/3d/layers/i3s/I3SStreamDataController.js +1 -1
- package/views/3d/layers/i3s/I3SUtil.js +1 -1
- package/views/3d/layers/support/FeatureTileTree3D.js +1 -1
- package/views/3d/layers/support/FeatureTileTree3DDebugger.js +1 -1
- package/views/3d/layers/support/HeatmapFeatureProcessor.js +1 -1
- package/views/3d/layers/support/StageLayerElevationProvider.js +1 -1
- package/views/3d/layers/support/featureTileQuery3D.js +1 -1
- package/views/3d/state/ConstraintsManager.js +1 -1
- package/views/3d/state/helpers/SceneIntersectionHelper.js +1 -1
- package/views/3d/support/ResourceController.js +1 -1
- package/views/3d/support/SharedSymbolResources.js +1 -1
- package/views/3d/support/TextureCollection.js +1 -1
- package/views/3d/support/cameraUtils.js +1 -1
- package/views/3d/support/pointsOfInterest/CameraOnSurface.js +1 -1
- package/views/3d/support/pointsOfInterest/Focus.js +1 -1
- package/views/3d/support/pointsOfInterest/PointsOfInterest.js +1 -1
- package/views/3d/support/pointsOfInterest/StableSurfaceCenter.js +1 -1
- package/views/3d/terrain/OverlayFramebufferObject.js +1 -1
- package/views/3d/terrain/OverlayManager.js +1 -1
- package/views/3d/terrain/OverlayRenderer.js +1 -1
- package/views/3d/terrain/PatchGeometry.js +1 -1
- package/views/3d/terrain/PatchGeometryFactory.js +1 -1
- package/views/3d/terrain/PatchRenderData.js +1 -1
- package/views/3d/terrain/PlanarPatch.js +1 -1
- package/views/3d/terrain/RasterColorizerTechnique.js +1 -1
- package/views/3d/terrain/RasterTile.js +1 -1
- package/views/3d/terrain/SphericalPatch.js +1 -1
- package/views/3d/terrain/TerrainRenderer.js +1 -1
- package/views/3d/terrain/TerrainSurface.js +1 -1
- package/views/3d/terrain/Tile.js +1 -1
- package/views/3d/terrain/TileCompositor.js +1 -1
- package/views/3d/terrain/TileRenderer.js +1 -1
- package/views/3d/terrain/TilingSchemeLogic.js +1 -1
- package/views/3d/terrain/terrainUtils.js +1 -1
- package/views/3d/webgl-engine/collections/Component/ComponentIntersectionData.js +1 -1
- package/views/3d/webgl-engine/collections/Component/ComponentObjectCollection.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/ComponentTechnique.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/shader/ComponentData.glsl.js +2 -2
- package/views/3d/webgl-engine/core/material/MaterialBase.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/ScreenSizeScaling.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js +5 -5
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/PathVertexPosition.glsl.js +8 -8
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/RibbonVertexPosition.glsl.js +6 -6
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexNormal.glsl.js +4 -4
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexPosition.glsl.js +2 -2
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/VerticalOffset.glsl.js +5 -5
- package/views/3d/webgl-engine/core/shaderLibrary/hud/HUD.glsl.js +13 -13
- package/views/3d/webgl-engine/core/shaderLibrary/raster/BasicGrid.glsl.js +2 -2
- package/views/3d/webgl-engine/core/shaderLibrary/raster/Colormap.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/raster/Common.glsl.js +2 -2
- package/views/3d/webgl-engine/core/shaderLibrary/raster/Projection.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/raster/RasterColorizer.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/ComputeMaterialColor.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientLighting.glsl.js +5 -5
- package/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientOcclusion.glsl.js +3 -3
- package/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js +13 -13
- package/views/3d/webgl-engine/core/shaderLibrary/shading/LineStipple.glsl.js +17 -17
- package/views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js +7 -7
- package/views/3d/webgl-engine/core/shaderLibrary/shading/WaterDistortion.glsl.js +2 -2
- package/views/3d/webgl-engine/core/shaderLibrary/terrain/Overlay.glsl.js +5 -5
- package/views/3d/webgl-engine/core/shaderLibrary/util/CameraSpace.glsl.js +2 -2
- package/views/3d/webgl-engine/core/shaderLibrary/util/CloudsParallaxShading.glsl.js +15 -15
- package/views/3d/webgl-engine/core/shaderLibrary/util/ScreenSizePerspective.glsl.js +2 -2
- package/views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderModules/BooleanPassUniform.js +5 -0
- package/views/3d/webgl-engine/core/shaderModules/Float4DrawUniform.js +5 -0
- package/views/3d/webgl-engine/core/shaderModules/{Matrix3Uniform.js → Float4PassUniform.js} +1 -1
- package/views/3d/webgl-engine/core/shaderModules/Float4Uniform.js +1 -1
- package/views/3d/webgl-engine/core/shaderModules/Matrix3DrawUniform.js +5 -0
- package/views/3d/webgl-engine/core/shaderModules/Matrix3PassUniform.js +5 -0
- package/views/3d/webgl-engine/core/shaderModules/{TextureCubeUniform.js → TextureCubePassUniform.js} +1 -1
- package/views/3d/webgl-engine/core/shaderTechnique/ShaderTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/lib/AutoDisposable.js +1 -1
- package/views/3d/webgl-engine/lib/BindParameters.js +1 -1
- package/views/3d/webgl-engine/lib/GLTextureMaterial.js +1 -1
- package/views/3d/webgl-engine/lib/RenderPluginManager.js +1 -1
- package/views/3d/webgl-engine/lib/Renderer.js +1 -1
- package/views/3d/webgl-engine/lib/ShadowAccumulator.js +1 -1
- package/views/3d/webgl-engine/lib/ShadowHighlight.js +1 -1
- package/views/3d/webgl-engine/lib/ShadowMap.js +1 -1
- package/views/3d/webgl-engine/lib/Texture.js +1 -1
- package/views/3d/webgl-engine/lib/WebGLLayer.js +1 -1
- package/views/3d/webgl-engine/lib/edgeRendering/EdgeView.js +1 -1
- package/views/3d/webgl-engine/lib/intersectorUtilsConversions.js +1 -1
- package/views/3d/webgl-engine/lib/pathGeometryUtils.js +1 -1
- package/views/3d/webgl-engine/materials/CheckerBoardMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/ColorMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/HeatmapDensityMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/ImageMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/LineCalloutMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/LineMarkerMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/MeasurementArrowMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/NativeLineMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/PathMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/PathTechnique.js +1 -1
- package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/ShadedColorMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/{VisualVariableMaterialParameters.js → VisualVariablePassParameters.js} +1 -1
- package/views/3d/webgl-engine/materials/WaterGLMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/WaterTechnique.js +1 -1
- package/views/3d/webgl-engine/parts/RenderView.js +1 -1
- package/views/3d/webgl-engine/parts/requireUtils.js +1 -1
- package/views/3d/webgl-engine/shaders/CheckerBoard.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/CheckerBoardTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/ColorMaterial.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/DefaultMaterial.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/DefaultMaterialTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/HUDMaterial.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/HUDMaterialTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/HeatmapDensity.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/HeatmapDensityTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/HeatmapTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/HighlightApply.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/LineCallout.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/LineMarker.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/Magnifier.glsl.js +3 -3
- package/views/3d/webgl-engine/shaders/MeasurementArrow.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/NativeLine.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/Path.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/Pattern.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/RealisticTree.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/RibbonLine.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/ShadedColorMaterial.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/ShadowCastVisualize.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/ShadowHighlight.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/SlicePlaneMaterial.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/WaterSurface.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/sources/edgeRenderer/AdjustProjectedPosition.glsl.js +3 -3
- package/views/3d/webgl-engine/shaders/sources/edgeRenderer/EdgeShader.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/sources/edgeRenderer/EdgeUtil.glsl.js +5 -5
- package/views/BasemapView.js +1 -1
- package/views/GroundView.js +1 -1
- package/views/LayerViewManager.js +1 -1
- package/views/MapView.js +1 -1
- package/views/SceneView.js +1 -1
- package/views/ToolViewManager.js +1 -1
- package/views/View.js +1 -1
- package/views/draw/DrawAction.js +1 -1
- package/views/draw/DrawGraphicTool.js +1 -1
- package/views/draw/DrawOperation.js +1 -1
- package/views/draw/DrawTool.js +1 -1
- package/views/draw/support/Box.js +1 -1
- package/views/draw/support/GraphicMover.js +1 -1
- package/views/draw/support/Reshape.js +1 -1
- package/views/interactive/coordinateHelper.js +1 -1
- package/views/interactive/editGeometry/operations/OffsetEdgeVertex.js +1 -1
- package/views/interactive/snapping/FeatureSnappingEngine.js +1 -1
- package/views/interactive/snapping/SnappingManager.js +1 -1
- package/views/interactive/snapping/featureSources/WorkerTileTreeDebugger.js +1 -1
- package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceSnappingSourceWorkerHandle.js +1 -1
- package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTileStore.js +1 -1
- package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTiledFetcher.js +1 -1
- package/views/layers/FeatureLayerView.js +1 -1
- package/views/layers/GroupLayerView.js +1 -1
- package/views/layers/ImageryLayerView.js +1 -1
- package/views/layers/ImageryTileLayerView.js +1 -1
- package/views/layers/LayerView.js +1 -1
- package/views/layers/MapImageLayerView.js +1 -1
- package/views/layers/WMSLayerView.js +1 -1
- package/views/support/AllocationTracer.js +1 -1
- package/views/support/DefaultsFromMap.js +1 -1
- package/views/support/geometry2dUtils.js +1 -1
- package/views/support/layerViewUtils.js +1 -1
- package/views/support/waitForResources.js +1 -1
- package/views/ui/UI.js +1 -1
- package/views/webgl/BufferObject.js +1 -1
- package/views/webgl/FramebufferObject.js +1 -1
- package/views/webgl/RenderingContext.js +1 -1
- package/views/webgl/Texture.js +1 -1
- package/views/webgl/UniformBufferLayout.js +1 -1
- package/views/webgl/VertexArrayObject.js +1 -1
- package/views/webgl/capabilities.js +1 -1
- package/views/webgl/rasterUtils.js +1 -1
- package/views/webgl/testFloatBufferBlend.js +1 -1
- package/webdoc/widgets/TimeSlider.js +1 -1
- package/webmap/Bookmark.js +1 -1
- package/webscene/Slide.js +1 -1
- package/widgets/AreaMeasurement2D/AreaMeasurement2DTool.js +1 -1
- package/widgets/AreaMeasurement2D/AreaMeasurement2DViewModel.js +1 -1
- package/widgets/AreaMeasurement2D.js +1 -1
- package/widgets/AreaMeasurement3D.js +1 -1
- package/widgets/Attribution.js +1 -1
- package/widgets/BasemapGallery/BasemapGalleryViewModel.js +1 -1
- package/widgets/BasemapGallery/support/BasemapGalleryItem.js +1 -1
- package/widgets/BasemapGallery/support/basemapCompatibilityUtils.js +1 -1
- package/widgets/BasemapLayerList.js +1 -1
- package/widgets/BasemapToggle/BasemapToggleViewModel.js +1 -1
- package/widgets/Bookmarks/BookmarksViewModel.js +1 -1
- package/widgets/Bookmarks.js +1 -1
- package/widgets/BuildingExplorer/BuildingDisciplinesTree/BuildingDisciplinesNode.js +1 -1
- package/widgets/BuildingExplorer/BuildingExplorerViewModel.js +1 -1
- package/widgets/BuildingExplorer/BuildingLevel.js +1 -1
- package/widgets/BuildingExplorer/BuildingLevelPicker/BuildingLevelPicker.js +1 -1
- package/widgets/BuildingExplorer/BuildingNumericFilterViewModel.js +1 -1
- package/widgets/BuildingExplorer/BuildingPhase.js +1 -1
- package/widgets/BuildingExplorer/support/buildingLayerUtils.js +1 -1
- package/widgets/BuildingExplorer.js +1 -1
- package/widgets/CoordinateConversion/CoordinateConversionViewModel.js +1 -1
- package/widgets/CoordinateConversion/support/Format.js +1 -1
- package/widgets/Daylight/DaylightViewModel.js +1 -1
- package/widgets/Daylight/support/SliderWithDropdown.js +1 -1
- package/widgets/Daylight.js +1 -1
- package/widgets/DirectLineMeasurement3D.js +1 -1
- package/widgets/Directions/DirectionsViewModel.js +1 -1
- package/widgets/Directions.js +1 -1
- package/widgets/DistanceMeasurement2D/DistanceMeasurement2DViewModel.js +1 -1
- package/widgets/DistanceMeasurement2D.js +1 -1
- package/widgets/Editor/CreateFeaturesWorkflow.js +1 -1
- package/widgets/Editor/CreateWorkflow.js +1 -1
- package/widgets/Editor/EditorViewModel.js +1 -1
- package/widgets/Editor/UpdateWorkflow.js +1 -1
- package/widgets/Editor/workflowUtils.js +1 -1
- package/widgets/Editor.js +1 -1
- package/widgets/ElevationProfile/ElevationProfileLineGround.js +1 -1
- package/widgets/ElevationProfile/ElevationProfileLineInput.js +1 -1
- package/widgets/ElevationProfile/ElevationProfileLineView.js +1 -1
- package/widgets/ElevationProfile/ElevationProfileTool.js +1 -1
- package/widgets/ElevationProfile/ElevationProfileViewModel.js +1 -1
- package/widgets/ElevationProfile/components/Statistics.js +1 -1
- package/widgets/ElevationProfile/support/elevationQuerySourceUtils.js +1 -1
- package/widgets/ElevationProfile/support/profileUtils.js +1 -1
- package/widgets/ElevationProfile.js +1 -1
- package/widgets/Expand.js +1 -1
- package/widgets/Feature/FeatureAttachments.js +1 -1
- package/widgets/Feature/FeatureContent.js +1 -1
- package/widgets/Feature/FeatureExpression/FeatureExpressionViewModel.js +1 -1
- package/widgets/Feature/FeatureExpression.js +1 -1
- package/widgets/Feature/FeatureFields/FeatureFieldsViewModel.js +1 -1
- package/widgets/Feature/FeatureFields.js +1 -1
- package/widgets/Feature/FeatureMedia/FeatureMediaViewModel.js +1 -1
- package/widgets/Feature/FeatureMedia.js +1 -1
- package/widgets/Feature/FeatureViewModel.js +1 -1
- package/widgets/Feature/support/arcadeFeatureUtils.js +1 -1
- package/widgets/Feature/support/featureUtils.js +1 -1
- package/widgets/Feature/support/relatedFeatureUtils.js +1 -1
- package/widgets/FeatureForm/FeatureFormViewModel.js +1 -1
- package/widgets/FeatureForm/InputField.js +1 -1
- package/widgets/FeatureForm/support/formTemplateUtils.js +1 -1
- package/widgets/FeatureForm.js +1 -1
- package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
- package/widgets/FeatureTable/FieldColumn.js +1 -1
- package/widgets/FeatureTable/Grid/Column.js +1 -1
- package/widgets/FeatureTable/Grid/EditorColumn.js +1 -1
- package/widgets/FeatureTable/Grid/Grid.js +1 -1
- package/widgets/FeatureTable/Grid/GridViewModel.js +1 -1
- package/widgets/FeatureTable/Grid/support/ButtonMenu.js +1 -1
- package/widgets/FeatureTable/Grid/support/LocalStore.js +1 -1
- package/widgets/FeatureTable/support/FeatureStore.js +1 -1
- package/widgets/FeatureTable.js +1 -1
- package/widgets/FeatureTemplates/FeatureTemplatesViewModel.js +1 -1
- package/widgets/FeatureTemplates/ItemList.js +1 -1
- package/widgets/FeatureTemplates/TemplateItem.js +1 -1
- package/widgets/FeatureTemplates.js +1 -1
- package/widgets/FloorFilter/FloorFilterViewModel.js +1 -1
- package/widgets/FloorFilter.js +1 -1
- package/widgets/Fullscreen.js +1 -1
- package/widgets/Home.js +1 -1
- package/widgets/LayerList/LayerListViewModel.js +1 -1
- package/widgets/LayerList/support/layerListUtils.js +1 -1
- package/widgets/LayerList.js +1 -1
- package/widgets/Legend/LegendViewModel.js +1 -1
- package/widgets/Legend/styles/Card.js +1 -1
- package/widgets/Legend/styles/support/univariateUtils.js +1 -1
- package/widgets/Legend/support/ActiveLayerInfo.js +1 -1
- package/widgets/Legend/support/clusterUtils.js +1 -1
- package/widgets/Legend/support/sizeRampUtils.js +1 -1
- package/widgets/Locate/LocateViewModel.js +1 -1
- package/widgets/Popup/PopupViewModel.js +1 -1
- package/widgets/Popup/actionUtils.js +1 -1
- package/widgets/Popup.js +1 -1
- package/widgets/Print/PrintViewModel.js +1 -1
- package/widgets/Print.js +1 -1
- package/widgets/ScaleRangeSlider/ScaleRangeSliderViewModel.js +1 -1
- package/widgets/Search/LayerSearchSource.js +1 -1
- package/widgets/Search/SearchResultRenderer.js +1 -1
- package/widgets/Search/SearchViewModel.js +1 -1
- package/widgets/Search/support/geometryUtils.js +1 -1
- package/widgets/Search/support/layerSearchUtils.js +1 -1
- package/widgets/Search/support/locatorUtils.js +1 -1
- package/widgets/Search.js +1 -1
- package/widgets/ShadowCast/components/DiscreteConfigurator.js +1 -1
- package/widgets/ShadowCast/components/Label.js +1 -1
- package/widgets/ShadowCast/components/TimezonePicker.js +1 -1
- package/widgets/ShadowCast.js +1 -1
- package/widgets/Sketch/SketchViewModel.js +1 -1
- package/widgets/Sketch.js +1 -1
- package/widgets/Slider.js +1 -1
- package/widgets/Swipe/SwipeViewModel.js +1 -1
- package/widgets/TableList/TableListViewModel.js +1 -1
- package/widgets/TableList/support/tableListUtils.js +1 -1
- package/widgets/TableList.js +1 -1
- package/widgets/TimeSlider/TimeSliderViewModel.js +1 -1
- package/widgets/TimeSlider/utils.js +1 -1
- package/widgets/TimeSlider.js +1 -1
- package/widgets/UtilityNetworkTrace/UtilityNetworkTraceViewModel.js +1 -1
- package/widgets/Weather.js +1 -1
- package/widgets/Widget.js +1 -1
- package/widgets/smartMapping/BinaryColorSizeSlider/BinaryColorSizeSliderViewModel.js +1 -1
- package/widgets/smartMapping/BinaryColorSizeSlider.js +1 -1
- package/widgets/smartMapping/ClassedColorSlider.js +1 -1
- package/widgets/smartMapping/ClassedSizeSlider.js +1 -1
- package/widgets/smartMapping/ColorSizeSlider.js +1 -1
- package/widgets/smartMapping/SizeSlider/SizeSliderViewModel.js +1 -1
- package/widgets/smartMapping/SmartMappingSliderBase.js +1 -1
- package/widgets/smartMapping/SmartMappingSliderViewModel.js +1 -1
- package/widgets/support/AnalysisViewModel.js +1 -1
- package/widgets/support/ColorPicker.js +1 -1
- package/widgets/support/DatePicker.js +1 -1
- package/widgets/support/InteractiveAnalysisViewModel.js +1 -1
- package/widgets/support/Popover.js +1 -1
- package/widgets/support/SelectionToolbar/SelectionToolbarViewModel.js +1 -1
- package/widgets/support/SelectionToolbar.js +1 -1
- package/widgets/support/Selector2D/SelectionOperation2D.js +1 -1
- package/widgets/support/Selector2D.js +1 -1
- package/widgets/support/SnappingControls/SnappingControlsViewModel.js +1 -1
- package/widgets/support/SnappingControls.js +1 -1
- package/widgets/support/jsxWidgetSupport.js +1 -1
- package/widgets/support/widgetUtils.js +1 -1
- package/assets/esri/core/workers/chunks/049c5c30bd37693dddb7.js +0 -1
- package/assets/esri/core/workers/chunks/055a0ebf22a82f859474.js +0 -1
- package/assets/esri/core/workers/chunks/0b12ff7b2ed2838afbb8.js +0 -1
- package/assets/esri/core/workers/chunks/0e25548573baf855e394.js +0 -1
- package/assets/esri/core/workers/chunks/0edd4c3ca6e7d749d0e5.js +0 -1
- package/assets/esri/core/workers/chunks/0fcbf7e2db58e38ee6d1.js +0 -1
- package/assets/esri/core/workers/chunks/133f971e72a1a6277ac4.js +0 -1
- package/assets/esri/core/workers/chunks/135a90ae61f3b3cae91b.js +0 -1
- package/assets/esri/core/workers/chunks/13fde7fd56c39fa3f2d5.js +0 -1
- package/assets/esri/core/workers/chunks/1c90855c3b0e5dcff908.js +0 -1
- package/assets/esri/core/workers/chunks/1dbef1919c7ac10a6bcc.js +0 -1
- package/assets/esri/core/workers/chunks/1facbda248863cf72cbd.js +0 -1
- package/assets/esri/core/workers/chunks/1fb2d7abe6c8efa84695.js +0 -1
- package/assets/esri/core/workers/chunks/2068377c2a796d5f2245.js +0 -1
- package/assets/esri/core/workers/chunks/28a5878cbe5880476855.js +0 -1
- package/assets/esri/core/workers/chunks/2cf3934b3ecabdf207c8.js +0 -1
- package/assets/esri/core/workers/chunks/2d42711a629384144625.js +0 -1
- package/assets/esri/core/workers/chunks/3021fda52083fc67d18c.js +0 -1
- package/assets/esri/core/workers/chunks/30333a95dc0a44e23fb5.js +0 -1
- package/assets/esri/core/workers/chunks/30837d93116f0337972f.js +0 -1
- package/assets/esri/core/workers/chunks/320543485c8e22485075.js +0 -1
- package/assets/esri/core/workers/chunks/3f0f7da92a6e4493686e.js +0 -1
- package/assets/esri/core/workers/chunks/42057f252ba4e82a8b45.js +0 -1
- package/assets/esri/core/workers/chunks/45a3f6033cdf4bc74a4c.js +0 -1
- package/assets/esri/core/workers/chunks/492b65fe99641f5740f0.js +0 -1
- package/assets/esri/core/workers/chunks/4d1cd7df617273c489f4.js +0 -1
- package/assets/esri/core/workers/chunks/4df9dfa80dbbae9b743d.js +0 -1
- package/assets/esri/core/workers/chunks/515c1c055666ff4740f3.js +0 -1
- package/assets/esri/core/workers/chunks/541e644fc77dbe527124.js +0 -1
- package/assets/esri/core/workers/chunks/59e341b2db44351bf557.js +0 -1
- package/assets/esri/core/workers/chunks/5a10b58533b4116115ac.js +0 -1
- package/assets/esri/core/workers/chunks/5f940853341d7e2bc852.js +0 -1
- package/assets/esri/core/workers/chunks/5ff2cdecf95e0136dd52.js +0 -1
- package/assets/esri/core/workers/chunks/6147bfbe2bd7292d6ad0.js +0 -1
- package/assets/esri/core/workers/chunks/6467f996fe9f136c370b.js +0 -1
- package/assets/esri/core/workers/chunks/682a8f15f352de76df69.js +0 -1
- package/assets/esri/core/workers/chunks/6a06635089761ee3e6d4.js +0 -972
- package/assets/esri/core/workers/chunks/725828a41917d3d56f2d.js +0 -1
- package/assets/esri/core/workers/chunks/794b47764ebb0257ed41.js +0 -1
- package/assets/esri/core/workers/chunks/7fd03a75eb07a09cda35.js +0 -1
- package/assets/esri/core/workers/chunks/86ad6b020c01850d9095.js +0 -1
- package/assets/esri/core/workers/chunks/86f9d1ce36661781d962.js +0 -1
- package/assets/esri/core/workers/chunks/8dcf6c836b53b40dfbf1.js +0 -1
- package/assets/esri/core/workers/chunks/8e98ff9404a802352037.js +0 -1
- package/assets/esri/core/workers/chunks/94e51fe1c539df6257c2.js +0 -1
- package/assets/esri/core/workers/chunks/9519a02b9b8db88a3150.js +0 -1
- package/assets/esri/core/workers/chunks/9a8b50ed75219b4a42e1.js +0 -1
- package/assets/esri/core/workers/chunks/9f3a094aa4b47e4eb046.js +0 -1
- package/assets/esri/core/workers/chunks/a0ebf25c9c9a7f839b93.js +0 -1
- package/assets/esri/core/workers/chunks/a25f0a195f9217665530.js +0 -1
- package/assets/esri/core/workers/chunks/a2be1e0b632cef87f6a4.js +0 -1
- package/assets/esri/core/workers/chunks/a4d8cf9829da9cfc5f36.js +0 -1
- package/assets/esri/core/workers/chunks/a562059dbdd1bf1fab66.js +0 -1
- package/assets/esri/core/workers/chunks/a59ee7d2b98c85f27dd2.js +0 -1
- package/assets/esri/core/workers/chunks/a5dbab94697757c87c49.js +0 -1
- package/assets/esri/core/workers/chunks/a5e65d5a7a536759d1cc.js +0 -1
- package/assets/esri/core/workers/chunks/a8ac0b6a3eba35e3a5b6.js +0 -1
- package/assets/esri/core/workers/chunks/acbd0f4d72d1f5d8e4e8.js +0 -1
- package/assets/esri/core/workers/chunks/acc97a210f36bff2d1b0.js +0 -1
- package/assets/esri/core/workers/chunks/ad68fe924456d6d7d4f0.js +0 -1
- package/assets/esri/core/workers/chunks/b06c949fc7d08e376a5f.js +0 -1
- package/assets/esri/core/workers/chunks/b26bd8fde2fc65bb67fb.js +0 -1
- package/assets/esri/core/workers/chunks/b4405e9fe6c0cf7250d3.js +0 -1
- package/assets/esri/core/workers/chunks/bc08fe3b03767bd694c5.js +0 -1
- package/assets/esri/core/workers/chunks/c11501e96ffd81bf39a0.js +0 -1
- package/assets/esri/core/workers/chunks/c44116378cc1bc627044.js +0 -1
- package/assets/esri/core/workers/chunks/c9b09099488d0e719dfb.js +0 -1
- package/assets/esri/core/workers/chunks/cbea4f1eb814115748db.js +0 -1
- package/assets/esri/core/workers/chunks/ce262a2accd982988ef1.js +0 -1
- package/assets/esri/core/workers/chunks/d15e6662d90718411d62.js +0 -1
- package/assets/esri/core/workers/chunks/d16aac3461af9cee0c29.js +0 -1
- package/assets/esri/core/workers/chunks/d60dd3e1028f714f2258.js +0 -1
- package/assets/esri/core/workers/chunks/d6c150c243ca1f6108f9.js +0 -1
- package/assets/esri/core/workers/chunks/d85748b57a71999caf3a.js +0 -1
- package/assets/esri/core/workers/chunks/d8c59b1d73650c060dfb.js +0 -1
- package/assets/esri/core/workers/chunks/dcb6e1b33402d7fa455b.js +0 -1
- package/assets/esri/core/workers/chunks/df653bca2b14dffc82d1.js +0 -1
- package/assets/esri/core/workers/chunks/e2a12142439d3037a3a7.js +0 -1
- package/assets/esri/core/workers/chunks/e3e1d87b8532bf84a18d.js +0 -1
- package/assets/esri/core/workers/chunks/e7744b7e0c16bba93151.js +0 -1
- package/assets/esri/core/workers/chunks/ea50effc5c39870dc871.js +0 -1
- package/assets/esri/core/workers/chunks/f1665a64564593f2a438.js +0 -1
- package/assets/esri/core/workers/chunks/f4c12f3a5e7f89106ae0.js +0 -1
- package/assets/esri/core/workers/chunks/fbefdc74b3aab716187f.js +0 -1
- package/assets/esri/core/workers/chunks/fc4fd9db056579e09bfe.js +0 -1
- package/assets/esri/core/workers/chunks/fd4907fa96f55128764d.js +0 -1
- package/views/3d/webgl-engine/core/shaderModules/BooleanUniform.js +0 -5
|
@@ -1,972 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[4431],{32078:(e,t,r)=>{r.d(t,{D:()=>k,b:()=>q});var i=r(70586),n=r(13598),o=r(1391),a=r(62707),s=r(18361),l=r(51546),c=r(77171),u=r(47624),d=r(64267),h=r(37099),f=r(76056),p=r(135),m=r(11317),g=r(15719),_=r(92555),v=r(22019),T=r(15817),x=r(66242),b=r(47990),A=r(83603),E=r(19419),S=r(26322),M=r(85504),R=r(51103),w=r(71838),C=r(96310),y=r(85787),P=r(93396),O=r(90692),N=r(93669),I=r(172),D=r(18465),L=r(21437),F=r(74709),B=r(8319),H=r(33680),U=r(98069),z=r(67498),G=r(47026),V=r(35065),W=r(9749);function q(e){const t=new H.kG,r=t.vertex.code,q=t.fragment.code;t.include(P.a,{name:"Default Material Shader",output:e.output});const k=(0,N.S)(t,e);return t.include(h.f),t.varyings.add("vpos","vec3"),t.include(w.kl,e),t.include(u.f,e),t.include(_.L,e),e.output!==s.H.Color&&e.output!==s.H.Alpha||((0,N.h)(t.vertex.uniforms,e),t.include(d.O,e),t.include(c.w,{linearDepth:!1,hasModelTransformation:e.hasModelTransformation}),e.normalType===d.h.Attribute&&e.offsetBackfaces&&t.include(a.w),t.include(T.Q,e),t.include(g.Bb,e),e.instancedColor&&t.attributes.add(V.T.INSTANCECOLOR,"vec4"),t.varyings.add("localvpos","vec3"),t.include(p.D,e),t.include(o.q,e),t.include(f.R,e),t.include(m.c,e),t.vertex.uniforms.add(new D.y("externalColor",z.P.Pass,(e=>e.externalColor))),t.varyings.add("vcolorExt","vec4"),e.hasMultipassTerrain&&t.varyings.add("depth","float"),e.hasModelTransformation&&t.vertex.uniforms.add(new B.g("model",(e=>(0,i.pC)(e.modelTransformation)?e.modelTransformation:n.I))),r.add(F.H`
|
|
2
|
-
void main(void) {
|
|
3
|
-
forwardNormalizedVertexColor();
|
|
4
|
-
vcolorExt = externalColor;
|
|
5
|
-
${e.instancedColor?"vcolorExt *= instanceColor;":""}
|
|
6
|
-
vcolorExt *= vvColor();
|
|
7
|
-
vcolorExt *= getSymbolColor();
|
|
8
|
-
forwardColorMixMode();
|
|
9
|
-
|
|
10
|
-
if (vcolorExt.a < ${F.H.float(C.b)}) {
|
|
11
|
-
gl_Position = vec4(1e38, 1e38, 1e38, 1.0);
|
|
12
|
-
}
|
|
13
|
-
else {
|
|
14
|
-
vpos = calculateVPos();
|
|
15
|
-
localvpos = vpos - view[3].xyz;
|
|
16
|
-
vpos = subtractOrigin(vpos);
|
|
17
|
-
${e.normalType===d.h.Attribute?F.H`
|
|
18
|
-
vNormalWorld = dpNormal(vvLocalNormal(normalModel()));`:""}
|
|
19
|
-
vpos = addVerticalOffset(vpos, localOrigin);
|
|
20
|
-
${e.hasVertexTangents?"vTangent = dpTransformVertexTangent(tangent);":""}
|
|
21
|
-
gl_Position = transformPosition(proj, view, ${e.hasModelTransformation?"model,":""} vpos);
|
|
22
|
-
${e.normalType===d.h.Attribute&&e.offsetBackfaces?"gl_Position = offsetBackfacingClipPosition(gl_Position, vpos, vNormalWorld, cameraPosition);":""}
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
${e.hasMultipassTerrain?"depth = (view * vec4(vpos, 1.0)).z;":""}
|
|
26
|
-
forwardLinearDepth();
|
|
27
|
-
forwardTextureCoordinates();
|
|
28
|
-
}
|
|
29
|
-
`)),e.output===s.H.Alpha&&(t.include(l.f5,e),t.include(y.z,e),t.include(A.l,e),t.fragment.uniforms.add([new L.p("opacity",(e=>e.opacity)),new L.p("layerOpacity",(e=>e.layerOpacity))]),e.hasColorTexture&&t.fragment.uniforms.add(new U.A("tex",(e=>e.texture))),t.fragment.include(O.y),q.add(F.H`
|
|
30
|
-
void main() {
|
|
31
|
-
discardBySlice(vpos);
|
|
32
|
-
${e.hasMultipassTerrain?"terrainDepthTest(gl_FragCoord, depth);":""}
|
|
33
|
-
${e.hasColorTexture?F.H`
|
|
34
|
-
vec4 texColor = texture2D(tex, vuv0);
|
|
35
|
-
${e.textureAlphaPremultiplied?"texColor.rgb /= texColor.a;":""}
|
|
36
|
-
discardOrAdjustAlpha(texColor);`:F.H`vec4 texColor = vec4(1.0);`}
|
|
37
|
-
${e.hasVertexColors?F.H`
|
|
38
|
-
float opacity_ = layerOpacity * mixExternalOpacity(vColor.a * opacity, texColor.a, vcolorExt.a, int(colorMixMode));`:F.H`
|
|
39
|
-
float opacity_ = layerOpacity * mixExternalOpacity(opacity, texColor.a, vcolorExt.a, int(colorMixMode));
|
|
40
|
-
`}
|
|
41
|
-
gl_FragColor = vec4(opacity_);
|
|
42
|
-
}
|
|
43
|
-
`)),e.output===s.H.Color&&(t.include(l.f5,e),t.include(b.X,e),t.include(x.K,e),t.include(y.z,e),t.include(e.instancedDoublePrecision?R.hb:R.XE,e),t.include(A.l,e),(0,N.h)(t.fragment.uniforms,e),t.fragment.uniforms.add([k,new I.J("ambient",(e=>e.ambient)),new I.J("diffuse",(e=>e.diffuse)),new L.p("opacity",(e=>e.opacity)),new L.p("layerOpacity",(e=>e.layerOpacity)),new L.p("lightingGlobalFactor",((e,t)=>t.lighting.globalFactor)),new I.J("lightingMainIntensity",((e,t)=>t.lighting.mainLight.intensity))]),t.fragment.constants.add("ambientBoostFactor","float",W.V),e.hasColorTexture&&t.fragment.uniforms.add(new U.A("tex",(e=>e.texture))),t.include(M.jV,e),t.include(S.T,e),t.fragment.include(O.y),t.include(E.k,e),q.add(F.H`
|
|
44
|
-
void main() {
|
|
45
|
-
discardBySlice(vpos);
|
|
46
|
-
${e.hasMultipassTerrain?"terrainDepthTest(gl_FragCoord, depth);":""}
|
|
47
|
-
${e.hasColorTexture?F.H`
|
|
48
|
-
vec4 texColor = texture2D(tex, vuv0);
|
|
49
|
-
${e.textureAlphaPremultiplied?"texColor.rgb /= texColor.a;":""}
|
|
50
|
-
discardOrAdjustAlpha(texColor);`:F.H`vec4 texColor = vec4(1.0);`}
|
|
51
|
-
shadingParams.viewDirection = normalize(vpos - cameraPosition);
|
|
52
|
-
${e.normalType===d.h.ScreenDerivative?F.H`
|
|
53
|
-
vec3 normal = screenDerivativeNormal(localvpos);`:F.H`
|
|
54
|
-
shadingParams.normalView = vNormalWorld;
|
|
55
|
-
vec3 normal = shadingNormal(shadingParams);`}
|
|
56
|
-
${e.pbrMode===M.f7.Normal?"applyPBRFactors();":""}
|
|
57
|
-
float ssao = evaluateAmbientOcclusionInverse();
|
|
58
|
-
ssao *= getBakedOcclusion();
|
|
59
|
-
|
|
60
|
-
float additionalAmbientScale = additionalDirectedAmbientLight(vpos + localOrigin);
|
|
61
|
-
vec3 additionalLight = ssao * lightingMainIntensity * additionalAmbientScale * ambientBoostFactor * lightingGlobalFactor;
|
|
62
|
-
${e.receiveShadows?"float shadow = readShadowMap(vpos, linearDepth);":e.spherical?"float shadow = lightingGlobalFactor * (1.0 - additionalAmbientScale);":"float shadow = 0.0;"}
|
|
63
|
-
vec3 matColor = max(ambient, diffuse);
|
|
64
|
-
${e.hasVertexColors?F.H`
|
|
65
|
-
vec3 albedo_ = mixExternalColor(vColor.rgb * matColor, texColor.rgb, vcolorExt.rgb, int(colorMixMode));
|
|
66
|
-
float opacity_ = layerOpacity * mixExternalOpacity(vColor.a * opacity, texColor.a, vcolorExt.a, int(colorMixMode));`:F.H`
|
|
67
|
-
vec3 albedo_ = mixExternalColor(matColor, texColor.rgb, vcolorExt.rgb, int(colorMixMode));
|
|
68
|
-
float opacity_ = layerOpacity * mixExternalOpacity(opacity, texColor.a, vcolorExt.a, int(colorMixMode));
|
|
69
|
-
`}
|
|
70
|
-
${e.hasNormalTexture?F.H`
|
|
71
|
-
mat3 tangentSpace = ${e.hasVertexTangents?"computeTangentSpace(normal);":"computeTangentSpace(normal, vpos, vuv0);"}
|
|
72
|
-
vec3 shadedNormal = computeTextureNormal(tangentSpace, vuv0);`:"vec3 shadedNormal = normal;"}
|
|
73
|
-
${e.pbrMode===M.f7.Normal||e.pbrMode===M.f7.Schematic?e.spherical?F.H`vec3 normalGround = normalize(vpos + localOrigin);`:F.H`vec3 normalGround = vec3(0.0, 0.0, 1.0);`:F.H``}
|
|
74
|
-
${e.pbrMode===M.f7.Normal||e.pbrMode===M.f7.Schematic?F.H`
|
|
75
|
-
float additionalAmbientIrradiance = additionalAmbientIrradianceFactor * lightingMainIntensity[2];
|
|
76
|
-
vec3 shadedColor = evaluateSceneLightingPBR(shadedNormal, albedo_, shadow, 1.0 - ssao, additionalLight, shadingParams.viewDirection, normalGround, mrr, emission, additionalAmbientIrradiance);`:"vec3 shadedColor = evaluateSceneLighting(shadedNormal, albedo_, shadow, 1.0 - ssao, additionalLight);"}
|
|
77
|
-
gl_FragColor = highlightSlice(vec4(shadedColor, opacity_), vpos);
|
|
78
|
-
${e.transparencyPassType===G.Am.Color?"gl_FragColor = premultiplyAlpha(gl_FragColor);":""}
|
|
79
|
-
}
|
|
80
|
-
`)),t.include(v.s,e),t}const k=Object.freeze(Object.defineProperty({__proto__:null,build:q},Symbol.toStringTag,{value:"Module"}))},41846:(e,t,r)=>{r.d(t,{R:()=>U,b:()=>H});var i=r(1391),n=r(62707),o=r(18361),a=r(51546),s=r(77171),l=r(47624),c=r(64267),u=r(37099),d=r(76056),h=r(135),f=r(11317),p=r(92555),m=r(22019),g=r(66242),_=r(47990),v=r(83603),T=r(26322),x=r(85504),b=r(51103),A=r(71838),E=r(96310),S=r(85787),M=r(90692),R=r(93669),w=r(172),C=r(18465),y=r(21437),P=r(74709),O=r(85594),N=r(33680),I=r(98069),D=r(67498),L=r(47026),F=r(35065),B=r(9749);function H(e){const t=new N.kG,r=t.vertex.code,H=t.fragment.code,U=(0,R.S)(t,e);return t.include(u.f),t.varyings.add("vpos","vec3"),t.include(A.kl,e),t.include(l.f,e),t.include(p.L,e),e.output!==o.H.Color&&e.output!==o.H.Alpha||((0,R.h)(t.vertex.uniforms,e),t.include(c.O,e),t.include(s.w),e.offsetBackfaces&&t.include(n.w),e.instancedColor&&t.attributes.add(F.T.INSTANCECOLOR,"vec4"),t.varyings.add("vNormalWorld","vec3"),t.varyings.add("localvpos","vec3"),e.hasMultipassTerrain&&t.varyings.add("depth","float"),t.include(h.D,e),t.include(i.q,e),t.include(d.R,e),t.include(f.c,e),t.vertex.uniforms.add(new C.y("externalColor",D.P.Pass,(e=>e.externalColor))),t.varyings.add("vcolorExt","vec4"),r.add(P.H`
|
|
81
|
-
void main(void) {
|
|
82
|
-
forwardNormalizedVertexColor();
|
|
83
|
-
vcolorExt = externalColor;
|
|
84
|
-
${e.instancedColor?"vcolorExt *= instanceColor;":""}
|
|
85
|
-
vcolorExt *= vvColor();
|
|
86
|
-
vcolorExt *= getSymbolColor();
|
|
87
|
-
forwardColorMixMode();
|
|
88
|
-
|
|
89
|
-
if (vcolorExt.a < ${P.H.float(E.b)}) {
|
|
90
|
-
gl_Position = vec4(1e38, 1e38, 1e38, 1.0);
|
|
91
|
-
}
|
|
92
|
-
else {
|
|
93
|
-
vpos = calculateVPos();
|
|
94
|
-
localvpos = vpos - view[3].xyz;
|
|
95
|
-
vpos = subtractOrigin(vpos);
|
|
96
|
-
vNormalWorld = dpNormal(vvLocalNormal(normalModel()));
|
|
97
|
-
vpos = addVerticalOffset(vpos, localOrigin);
|
|
98
|
-
gl_Position = transformPosition(proj, view, vpos);
|
|
99
|
-
${e.offsetBackfaces?"gl_Position = offsetBackfacingClipPosition(gl_Position, vpos, vNormalWorld, cameraPosition);":""}
|
|
100
|
-
}
|
|
101
|
-
${e.hasMultipassTerrain?P.H`depth = (view * vec4(vpos, 1.0)).z;`:""}
|
|
102
|
-
forwardLinearDepth();
|
|
103
|
-
forwardTextureCoordinates();
|
|
104
|
-
}
|
|
105
|
-
`)),e.output===o.H.Alpha&&(t.include(a.f5,e),t.include(S.z,e),t.include(v.l,e),t.fragment.uniforms.add([new y.p("opacity",(e=>e.opacity)),new y.p("layerOpacity",(e=>e.layerOpacity)),new O.B("view")]),e.hasColorTexture&&t.fragment.uniforms.add(new I.A("tex",(e=>e.texture))),t.fragment.include(M.y),H.add(P.H`
|
|
106
|
-
void main() {
|
|
107
|
-
discardBySlice(vpos);
|
|
108
|
-
${e.hasMultipassTerrain?P.H`terrainDepthTest(gl_FragCoord, depth);`:""}
|
|
109
|
-
${e.hasColorTexture?P.H`
|
|
110
|
-
vec4 texColor = texture2D(tex, vuv0);
|
|
111
|
-
${e.textureAlphaPremultiplied?"texColor.rgb /= texColor.a;":""}
|
|
112
|
-
discardOrAdjustAlpha(texColor);`:P.H`vec4 texColor = vec4(1.0);`}
|
|
113
|
-
${e.hasVertexColors?P.H`
|
|
114
|
-
float opacity_ = layerOpacity * mixExternalOpacity(vColor.a * opacity, texColor.a, vcolorExt.a, int(colorMixMode));`:P.H`
|
|
115
|
-
float opacity_ = layerOpacity * mixExternalOpacity(opacity, texColor.a, vcolorExt.a, int(colorMixMode));
|
|
116
|
-
`}
|
|
117
|
-
|
|
118
|
-
gl_FragColor = vec4(opacity_);
|
|
119
|
-
}
|
|
120
|
-
`)),e.output===o.H.Color&&(t.include(a.f5,e),t.include(_.X,e),t.include(g.K,e),t.include(S.z,e),t.include(e.instancedDoublePrecision?b.hb:b.XE,e),t.include(v.l,e),(0,R.h)(t.fragment.uniforms,e),t.fragment.uniforms.add([U,new w.J("ambient",(e=>e.ambient)),new w.J("diffuse",(e=>e.diffuse)),new y.p("opacity",(e=>e.opacity)),new y.p("layerOpacity",(e=>e.layerOpacity)),new O.B("view"),new y.p("lightingGlobalFactor",((e,t)=>t.lighting.globalFactor)),new w.J("lightingMainIntensity",((e,t)=>t.lighting.mainLight.intensity))]),t.fragment.constants.add("ambientBoostFactor","float",B.V),e.hasColorTexture&&t.fragment.uniforms.add(new I.A("tex",(e=>e.texture))),t.include(x.jV,e),t.include(T.T,e),t.fragment.include(M.y),H.add(P.H`
|
|
121
|
-
void main() {
|
|
122
|
-
discardBySlice(vpos);
|
|
123
|
-
${e.hasMultipassTerrain?P.H`terrainDepthTest(gl_FragCoord, depth);`:""}
|
|
124
|
-
${e.hasColorTexture?P.H`
|
|
125
|
-
vec4 texColor = texture2D(tex, vuv0);
|
|
126
|
-
${e.textureAlphaPremultiplied?"texColor.rgb /= texColor.a;":""}
|
|
127
|
-
discardOrAdjustAlpha(texColor);`:P.H`vec4 texColor = vec4(1.0);`}
|
|
128
|
-
vec3 viewDirection = normalize(vpos - cameraPosition);
|
|
129
|
-
${e.pbrMode===x.f7.Normal?"applyPBRFactors();":""}
|
|
130
|
-
float ssao = evaluateAmbientOcclusionInverse();
|
|
131
|
-
ssao *= getBakedOcclusion();
|
|
132
|
-
|
|
133
|
-
float additionalAmbientScale = additionalDirectedAmbientLight(vpos + localOrigin);
|
|
134
|
-
vec3 additionalLight = ssao * lightingMainIntensity * additionalAmbientScale * ambientBoostFactor * lightingGlobalFactor;
|
|
135
|
-
${e.receiveShadows?"float shadow = readShadowMap(vpos, linearDepth);":e.spherical?"float shadow = lightingGlobalFactor * (1.0 - additionalAmbientScale);":"float shadow = 0.0;"}
|
|
136
|
-
vec3 matColor = max(ambient, diffuse);
|
|
137
|
-
${e.hasVertexColors?P.H`
|
|
138
|
-
vec3 albedo_ = mixExternalColor(vColor.rgb * matColor, texColor.rgb, vcolorExt.rgb, int(colorMixMode));
|
|
139
|
-
float opacity_ = layerOpacity * mixExternalOpacity(vColor.a * opacity, texColor.a, vcolorExt.a, int(colorMixMode));`:P.H`
|
|
140
|
-
vec3 albedo_ = mixExternalColor(matColor, texColor.rgb, vcolorExt.rgb, int(colorMixMode));
|
|
141
|
-
float opacity_ = layerOpacity * mixExternalOpacity(opacity, texColor.a, vcolorExt.a, int(colorMixMode));
|
|
142
|
-
`}
|
|
143
|
-
${P.H`
|
|
144
|
-
vec3 shadedNormal = normalize(vNormalWorld);
|
|
145
|
-
albedo_ *= 1.2;
|
|
146
|
-
vec3 viewForward = vec3(view[0][2], view[1][2], view[2][2]);
|
|
147
|
-
float alignmentLightView = clamp(dot(viewForward, -lightingMainDirection), 0.0, 1.0);
|
|
148
|
-
float transmittance = 1.0 - clamp(dot(viewForward, shadedNormal), 0.0, 1.0);
|
|
149
|
-
float treeRadialFalloff = vColor.r;
|
|
150
|
-
float backLightFactor = 0.5 * treeRadialFalloff * alignmentLightView * transmittance * (1.0 - shadow);
|
|
151
|
-
additionalLight += backLightFactor * lightingMainIntensity;`}
|
|
152
|
-
${e.pbrMode===x.f7.Normal||e.pbrMode===x.f7.Schematic?e.spherical?P.H`vec3 normalGround = normalize(vpos + localOrigin);`:P.H`vec3 normalGround = vec3(0.0, 0.0, 1.0);`:P.H``}
|
|
153
|
-
${e.pbrMode===x.f7.Normal||e.pbrMode===x.f7.Schematic?P.H`
|
|
154
|
-
float additionalAmbientIrradiance = additionalAmbientIrradianceFactor * lightingMainIntensity[2];
|
|
155
|
-
vec3 shadedColor = evaluateSceneLightingPBR(shadedNormal, albedo_, shadow, 1.0 - ssao, additionalLight, viewDirection, normalGround, mrr, emission, additionalAmbientIrradiance);`:"vec3 shadedColor = evaluateSceneLighting(shadedNormal, albedo_, shadow, 1.0 - ssao, additionalLight);"}
|
|
156
|
-
gl_FragColor = highlightSlice(vec4(shadedColor, opacity_), vpos);
|
|
157
|
-
${e.transparencyPassType===L.Am.Color?"gl_FragColor = premultiplyAlpha(gl_FragColor);":""}
|
|
158
|
-
}
|
|
159
|
-
`)),t.include(m.s,e),t}const U=Object.freeze(Object.defineProperty({__proto__:null,build:H},Symbol.toStringTag,{value:"Module"}))},21787:(e,t,r)=>{r.d(t,{a:()=>s,f:()=>n,i:()=>c,t:()=>o});var i=r(46851);function n(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[4],e[4]=t[5],e[5]=t[6],e[6]=t[8],e[7]=t[9],e[8]=t[10],e}function o(e,t){if(e===t){const r=t[1],i=t[2],n=t[5];e[1]=t[3],e[2]=t[6],e[3]=r,e[5]=t[7],e[6]=i,e[7]=n}else e[0]=t[0],e[1]=t[3],e[2]=t[6],e[3]=t[1],e[4]=t[4],e[5]=t[7],e[6]=t[2],e[7]=t[5],e[8]=t[8];return e}function a(e,t,r){const i=t[0],n=t[1],o=t[2],a=t[3],s=t[4],l=t[5],c=t[6],u=t[7],d=t[8],h=r[0],f=r[1],p=r[2],m=r[3],g=r[4],_=r[5],v=r[6],T=r[7],x=r[8];return e[0]=h*i+f*a+p*c,e[1]=h*n+f*s+p*u,e[2]=h*o+f*l+p*d,e[3]=m*i+g*a+_*c,e[4]=m*n+g*s+_*u,e[5]=m*o+g*l+_*d,e[6]=v*i+T*a+x*c,e[7]=v*n+T*s+x*u,e[8]=v*o+T*l+x*d,e}function s(e,t){const r=t[0],i=t[1],n=t[2],o=t[3],a=t[4],s=t[5],l=t[6],c=t[7],u=t[8],d=t[9],h=t[10],f=t[11],p=t[12],m=t[13],g=t[14],_=t[15],v=r*s-i*a,T=r*l-n*a,x=r*c-o*a,b=i*l-n*s,A=i*c-o*s,E=n*c-o*l,S=u*m-d*p,M=u*g-h*p,R=u*_-f*p,w=d*g-h*m,C=d*_-f*m,y=h*_-f*g;let P=v*y-T*C+x*w+b*R-A*M+E*S;return P?(P=1/P,e[0]=(s*y-l*C+c*w)*P,e[1]=(l*R-a*y-c*M)*P,e[2]=(a*C-s*R+c*S)*P,e[3]=(n*C-i*y-o*w)*P,e[4]=(r*y-n*R+o*M)*P,e[5]=(i*R-r*C-o*S)*P,e[6]=(m*E-g*A+_*b)*P,e[7]=(g*x-p*E-_*T)*P,e[8]=(p*A-m*x+_*v)*P,e):null}function l(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e[3]=t[3]-r[3],e[4]=t[4]-r[4],e[5]=t[5]-r[5],e[6]=t[6]-r[6],e[7]=t[7]-r[7],e[8]=t[8]-r[8],e}function c(e){const t=i.E,r=e[0],n=e[1],o=e[2],a=e[3],s=e[4],l=e[5],c=e[6],u=e[7],d=e[8];return Math.abs(1-(r*r+a*a+c*c))<=t&&Math.abs(1-(n*n+s*s+u*u))<=t&&Math.abs(1-(o*o+l*l+d*d))<=t}const u=a,d=l;Object.freeze(Object.defineProperty({__proto__:null,fromMat4:n,copy:function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e},set:function(e,t,r,i,n,o,a,s,l,c){return e[0]=t,e[1]=r,e[2]=i,e[3]=n,e[4]=o,e[5]=a,e[6]=s,e[7]=l,e[8]=c,e},identity:function(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=1,e[5]=0,e[6]=0,e[7]=0,e[8]=1,e},transpose:o,invert:function(e,t){const r=t[0],i=t[1],n=t[2],o=t[3],a=t[4],s=t[5],l=t[6],c=t[7],u=t[8],d=u*a-s*c,h=-u*o+s*l,f=c*o-a*l;let p=r*d+i*h+n*f;return p?(p=1/p,e[0]=d*p,e[1]=(-u*i+n*c)*p,e[2]=(s*i-n*a)*p,e[3]=h*p,e[4]=(u*r-n*l)*p,e[5]=(-s*r+n*o)*p,e[6]=f*p,e[7]=(-c*r+i*l)*p,e[8]=(a*r-i*o)*p,e):null},adjoint:function(e,t){const r=t[0],i=t[1],n=t[2],o=t[3],a=t[4],s=t[5],l=t[6],c=t[7],u=t[8];return e[0]=a*u-s*c,e[1]=n*c-i*u,e[2]=i*s-n*a,e[3]=s*l-o*u,e[4]=r*u-n*l,e[5]=n*o-r*s,e[6]=o*c-a*l,e[7]=i*l-r*c,e[8]=r*a-i*o,e},determinant:function(e){const t=e[0],r=e[1],i=e[2],n=e[3],o=e[4],a=e[5],s=e[6],l=e[7],c=e[8];return t*(c*o-a*l)+r*(-c*n+a*s)+i*(l*n-o*s)},multiply:a,translate:function(e,t,r){const i=t[0],n=t[1],o=t[2],a=t[3],s=t[4],l=t[5],c=t[6],u=t[7],d=t[8],h=r[0],f=r[1];return e[0]=i,e[1]=n,e[2]=o,e[3]=a,e[4]=s,e[5]=l,e[6]=h*i+f*a+c,e[7]=h*n+f*s+u,e[8]=h*o+f*l+d,e},rotate:function(e,t,r){const i=t[0],n=t[1],o=t[2],a=t[3],s=t[4],l=t[5],c=t[6],u=t[7],d=t[8],h=Math.sin(r),f=Math.cos(r);return e[0]=f*i+h*a,e[1]=f*n+h*s,e[2]=f*o+h*l,e[3]=f*a-h*i,e[4]=f*s-h*n,e[5]=f*l-h*o,e[6]=c,e[7]=u,e[8]=d,e},scale:function(e,t,r){const i=r[0],n=r[1],o=r[2];return e[0]=i*t[0],e[1]=i*t[1],e[2]=i*t[2],e[3]=n*t[3],e[4]=n*t[4],e[5]=n*t[5],e[6]=o*t[6],e[7]=o*t[7],e[8]=o*t[8],e},scaleByVec2:function(e,t,r){const i=r[0],n=r[1];return e[0]=i*t[0],e[1]=i*t[1],e[2]=i*t[2],e[3]=n*t[3],e[4]=n*t[4],e[5]=n*t[5],e},fromTranslation:function(e,t){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=1,e[5]=0,e[6]=t[0],e[7]=t[1],e[8]=1,e},fromRotation:function(e,t){const r=Math.sin(t),i=Math.cos(t);return e[0]=i,e[1]=r,e[2]=0,e[3]=-r,e[4]=i,e[5]=0,e[6]=0,e[7]=0,e[8]=1,e},fromScaling:function(e,t){return e[0]=t[0],e[1]=0,e[2]=0,e[3]=0,e[4]=t[1],e[5]=0,e[6]=0,e[7]=0,e[8]=1,e},fromMat2d:function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=0,e[3]=t[2],e[4]=t[3],e[5]=0,e[6]=t[4],e[7]=t[5],e[8]=1,e},fromQuat:function(e,t){const r=t[0],i=t[1],n=t[2],o=t[3],a=r+r,s=i+i,l=n+n,c=r*a,u=i*a,d=i*s,h=n*a,f=n*s,p=n*l,m=o*a,g=o*s,_=o*l;return e[0]=1-d-p,e[3]=u-_,e[6]=h+g,e[1]=u+_,e[4]=1-c-p,e[7]=f-m,e[2]=h-g,e[5]=f+m,e[8]=1-c-d,e},normalFromMat4Legacy:function(e,t){const r=t[0],i=t[1],n=t[2],o=t[4],a=t[5],s=t[6],l=t[8],c=t[9],u=t[10],d=u*a-s*c,h=-u*o+s*l,f=c*o-a*l,p=r*d+i*h+n*f;if(!p)return null;const m=1/p;return e[0]=d*m,e[1]=(-u*i+n*c)*m,e[2]=(s*i-n*a)*m,e[3]=h*m,e[4]=(u*r-n*l)*m,e[5]=(-s*r+n*o)*m,e[6]=f*m,e[7]=(-c*r+i*l)*m,e[8]=(a*r-i*o)*m,e},normalFromMat4:s,projection:function(e,t,r){return e[0]=2/t,e[1]=0,e[2]=0,e[3]=0,e[4]=-2/r,e[5]=0,e[6]=-1,e[7]=1,e[8]=1,e},str:function(e){return"mat3("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+", "+e[4]+", "+e[5]+", "+e[6]+", "+e[7]+", "+e[8]+")"},frob:function(e){return Math.sqrt(e[0]**2+e[1]**2+e[2]**2+e[3]**2+e[4]**2+e[5]**2+e[6]**2+e[7]**2+e[8]**2)},add:function(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e[3]=t[3]+r[3],e[4]=t[4]+r[4],e[5]=t[5]+r[5],e[6]=t[6]+r[6],e[7]=t[7]+r[7],e[8]=t[8]+r[8],e},subtract:l,multiplyScalar:function(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e[4]=t[4]*r,e[5]=t[5]*r,e[6]=t[6]*r,e[7]=t[7]*r,e[8]=t[8]*r,e},multiplyScalarAndAdd:function(e,t,r,i){return e[0]=t[0]+r[0]*i,e[1]=t[1]+r[1]*i,e[2]=t[2]+r[2]*i,e[3]=t[3]+r[3]*i,e[4]=t[4]+r[4]*i,e[5]=t[5]+r[5]*i,e[6]=t[6]+r[6]*i,e[7]=t[7]+r[7]*i,e[8]=t[8]+r[8]*i,e},exactEquals:function(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]},equals:function(e,t){const r=e[0],n=e[1],o=e[2],a=e[3],s=e[4],l=e[5],c=e[6],u=e[7],d=e[8],h=t[0],f=t[1],p=t[2],m=t[3],g=t[4],_=t[5],v=t[6],T=t[7],x=t[8];return Math.abs(r-h)<=i.E*Math.max(1,Math.abs(r),Math.abs(h))&&Math.abs(n-f)<=i.E*Math.max(1,Math.abs(n),Math.abs(f))&&Math.abs(o-p)<=i.E*Math.max(1,Math.abs(o),Math.abs(p))&&Math.abs(a-m)<=i.E*Math.max(1,Math.abs(a),Math.abs(m))&&Math.abs(s-g)<=i.E*Math.max(1,Math.abs(s),Math.abs(g))&&Math.abs(l-_)<=i.E*Math.max(1,Math.abs(l),Math.abs(_))&&Math.abs(c-v)<=i.E*Math.max(1,Math.abs(c),Math.abs(v))&&Math.abs(u-T)<=i.E*Math.max(1,Math.abs(u),Math.abs(T))&&Math.abs(d-x)<=i.E*Math.max(1,Math.abs(d),Math.abs(x))},isOrthoNormal:c,mul:u,sub:d},Symbol.toStringTag,{value:"Module"}))},46521:(e,t,r)=>{function i(){return[1,0,0,0,1,0,0,0,1]}function n(e,t){return new Float64Array(e,t,9)}r.d(t,{a:()=>n,c:()=>i}),Object.freeze(Object.defineProperty({__proto__:null,create:i,clone:function(e){return[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8]]},fromValues:function(e,t,r,i,n,o,a,s,l){return[e,t,r,i,n,o,a,s,l]},createView:n},Symbol.toStringTag,{value:"Module"}))},13598:(e,t,r)=>{function i(){return[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]}function n(e){return[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]]}function o(e,t){return new Float64Array(e,t,16)}r.d(t,{I:()=>a,a:()=>o,b:()=>n,c:()=>i});const a=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];Object.freeze(Object.defineProperty({__proto__:null,create:i,clone:n,fromValues:function(e,t,r,i,n,o,a,s,l,c,u,d,h,f,p,m){return[e,t,r,i,n,o,a,s,l,c,u,d,h,f,p,m]},createView:o,IDENTITY:a},Symbol.toStringTag,{value:"Module"}))},51305:(e,t,r)=>{r.d(t,{c:()=>f,g:()=>u,j:()=>C,k:()=>m,m:()=>d,s:()=>c});var i=r(46521),n=r(94961),o=r(65617),a=r(46851),s=r(17896),l=r(98766);function c(e,t,r){r*=.5;const i=Math.sin(r);return e[0]=i*t[0],e[1]=i*t[1],e[2]=i*t[2],e[3]=Math.cos(r),e}function u(e,t){const r=2*Math.acos(t[3]),i=Math.sin(r/2);return i>a.E?(e[0]=t[0]/i,e[1]=t[1]/i,e[2]=t[2]/i):(e[0]=1,e[1]=0,e[2]=0),r}function d(e,t,r){const i=t[0],n=t[1],o=t[2],a=t[3],s=r[0],l=r[1],c=r[2],u=r[3];return e[0]=i*u+a*s+n*c-o*l,e[1]=n*u+a*l+o*s-i*c,e[2]=o*u+a*c+i*l-n*s,e[3]=a*u-i*s-n*l-o*c,e}function h(e,t,r,i){const n=t[0],o=t[1],s=t[2],l=t[3];let c,u,d,h,f,p=r[0],m=r[1],g=r[2],_=r[3];return u=n*p+o*m+s*g+l*_,u<0&&(u=-u,p=-p,m=-m,g=-g,_=-_),1-u>a.E?(c=Math.acos(u),d=Math.sin(c),h=Math.sin((1-i)*c)/d,f=Math.sin(i*c)/d):(h=1-i,f=i),e[0]=h*n+f*p,e[1]=h*o+f*m,e[2]=h*s+f*g,e[3]=h*l+f*_,e}function f(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=t[3],e}function p(e,t){const r=t[0]+t[4]+t[8];let i;if(r>0)i=Math.sqrt(r+1),e[3]=.5*i,i=.5/i,e[0]=(t[5]-t[7])*i,e[1]=(t[6]-t[2])*i,e[2]=(t[1]-t[3])*i;else{let r=0;t[4]>t[0]&&(r=1),t[8]>t[3*r+r]&&(r=2);const n=(r+1)%3,o=(r+2)%3;i=Math.sqrt(t[3*r+r]-t[3*n+n]-t[3*o+o]+1),e[r]=.5*i,i=.5/i,e[3]=(t[3*n+o]-t[3*o+n])*i,e[n]=(t[3*n+r]+t[3*r+n])*i,e[o]=(t[3*o+r]+t[3*r+o])*i}return e}function m(e,t,r,i){const n=.5*Math.PI/180;t*=n,r*=n,i*=n;const o=Math.sin(t),a=Math.cos(t),s=Math.sin(r),l=Math.cos(r),c=Math.sin(i),u=Math.cos(i);return e[0]=o*l*u-a*s*c,e[1]=a*s*u+o*l*c,e[2]=a*l*c-o*s*u,e[3]=a*l*u+o*s*c,e}const g=l.c,_=l.s,v=l.a,T=d,x=l.b,b=l.d,A=l.l,E=l.e,S=E,M=l.f,R=M,w=l.n,C=l.g,y=l.h,P=(0,o.c)(),O=(0,o.f)(1,0,0),N=(0,o.f)(0,1,0),I=(0,n.a)(),D=(0,n.a)(),L=(0,i.c)();Object.freeze(Object.defineProperty({__proto__:null,identity:function(e){return e[0]=0,e[1]=0,e[2]=0,e[3]=1,e},setAxisAngle:c,getAxisAngle:u,multiply:d,rotateX:function(e,t,r){r*=.5;const i=t[0],n=t[1],o=t[2],a=t[3],s=Math.sin(r),l=Math.cos(r);return e[0]=i*l+a*s,e[1]=n*l+o*s,e[2]=o*l-n*s,e[3]=a*l-i*s,e},rotateY:function(e,t,r){r*=.5;const i=t[0],n=t[1],o=t[2],a=t[3],s=Math.sin(r),l=Math.cos(r);return e[0]=i*l-o*s,e[1]=n*l+a*s,e[2]=o*l+i*s,e[3]=a*l-n*s,e},rotateZ:function(e,t,r){r*=.5;const i=t[0],n=t[1],o=t[2],a=t[3],s=Math.sin(r),l=Math.cos(r);return e[0]=i*l+n*s,e[1]=n*l-i*s,e[2]=o*l+a*s,e[3]=a*l-o*s,e},calculateW:function(e,t){const r=t[0],i=t[1],n=t[2];return e[0]=r,e[1]=i,e[2]=n,e[3]=Math.sqrt(Math.abs(1-r*r-i*i-n*n)),e},slerp:h,random:function(e){const t=(0,a.R)(),r=(0,a.R)(),i=(0,a.R)(),n=Math.sqrt(1-t),o=Math.sqrt(t);return e[0]=n*Math.sin(2*Math.PI*r),e[1]=n*Math.cos(2*Math.PI*r),e[2]=o*Math.sin(2*Math.PI*i),e[3]=o*Math.cos(2*Math.PI*i),e},invert:function(e,t){const r=t[0],i=t[1],n=t[2],o=t[3],a=r*r+i*i+n*n+o*o,s=a?1/a:0;return e[0]=-r*s,e[1]=-i*s,e[2]=-n*s,e[3]=o*s,e},conjugate:f,fromMat3:p,fromEuler:m,str:function(e){return"quat("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+")"},copy:g,set:_,add:v,mul:T,scale:x,dot:b,lerp:A,length:E,len:S,squaredLength:M,sqrLen:R,normalize:w,exactEquals:C,equals:y,rotationTo:function(e,t,r){const i=(0,s.e)(t,r);return i<-.999999?((0,s.f)(P,O,t),(0,s.u)(P)<1e-6&&(0,s.f)(P,N,t),(0,s.n)(P,P),c(e,P,Math.PI),e):i>.999999?(e[0]=0,e[1]=0,e[2]=0,e[3]=1,e):((0,s.f)(P,t,r),e[0]=P[0],e[1]=P[1],e[2]=P[2],e[3]=1+i,w(e,e))},sqlerp:function(e,t,r,i,n,o){return h(I,t,n,o),h(D,r,i,o),h(e,I,D,2*o*(1-o)),e},setAxes:function(e,t,r,i){const n=L;return n[0]=r[0],n[3]=r[1],n[6]=r[2],n[1]=i[0],n[4]=i[1],n[7]=i[2],n[2]=-t[0],n[5]=-t[1],n[8]=-t[2],w(e,p(e,n))}},Symbol.toStringTag,{value:"Module"}))},94961:(e,t,r)=>{function i(){return[0,0,0,1]}function n(e){return[e[0],e[1],e[2],e[3]]}function o(e,t){return new Float64Array(e,t,4)}r.d(t,{I:()=>a,a:()=>i,b:()=>n,c:()=>o});const a=[0,0,0,1];Object.freeze(Object.defineProperty({__proto__:null,create:i,clone:n,fromValues:function(e,t,r,i){return[e,t,r,i]},createView:o,IDENTITY:a},Symbol.toStringTag,{value:"Module"}))},2643:(e,t,r)=>{r.d(t,{b:()=>_,c:()=>g,d:()=>v,g:()=>T,i:()=>A,m:()=>y}),r(80442);var i,n,o=r(92604),a=r(22021),s=r(70586),l=r(52138),c=r(17896),u=r(65617),d=r(98766),h=r(88669);(n=i||(i={}))[n.X=0]="X",n[n.Y=1]="Y",n[n.Z=2]="Z";var f=r(78341);(0,u.c)(),(0,u.c)();var p=r(12981);const m=o.Z.getLogger("esri.geometry.support.sphere");function g(){return(0,h.c)()}function _(e,t=g()){return(0,d.c)(t,e)}function v(e){return e[3]}function T(e){return e}function x(e,t,r){if((0,s.Wi)(t))return!1;const{origin:i,direction:n}=t,o=b;o[0]=i[0]-e[0],o[1]=i[1]-e[1],o[2]=i[2]-e[2];const a=n[0]*n[0]+n[1]*n[1]+n[2]*n[2],l=2*(n[0]*o[0]+n[1]*o[1]+n[2]*o[2]),c=l*l-4*a*(o[0]*o[0]+o[1]*o[1]+o[2]*o[2]-e[3]*e[3]);if(c<0)return!1;const u=Math.sqrt(c);let d=(-l-u)/(2*a);const h=(-l+u)/(2*a);return(d<0||h<d&&h>0)&&(d=h),!(d<0||(r&&(r[0]=i[0]+n[0]*d,r[1]=i[1]+n[1]*d,r[2]=i[2]+n[2]*d),0))}const b=(0,u.c)();function A(e,t){return x(e,t,null)}function E(e,t,r){const i=p.WM.get(),n=p.MP.get();(0,c.f)(i,t.origin,t.direction);const o=v(e);(0,c.f)(r,i,t.origin),(0,c.g)(r,r,1/(0,c.l)(r)*o);const s=M(e,t.origin),u=function(e,t){const r=(0,c.e)(e,t)/((0,c.l)(e)*(0,c.l)(t));return-(0,a.ZF)(r)}(t.origin,r);return(0,l.d)(n,u+s,i),(0,c.m)(r,r,n),r}function S(e,t,r){const i=(0,c.b)(p.WM.get(),t,e),n=(0,c.g)(p.WM.get(),i,e[3]/(0,c.l)(i));return(0,c.a)(r,n,e)}function M(e,t){const r=(0,c.b)(p.WM.get(),t,e),i=(0,c.l)(r),n=v(e),o=n+Math.abs(n-i);return(0,a.ZF)(n/o)}const R=(0,u.c)();function w(e,t,r,n){const o=(0,c.b)(R,t,e);switch(r){case i.X:{const e=(0,a.jE)(o,R)[2];return(0,c.s)(n,-Math.sin(e),Math.cos(e),0)}case i.Y:{const e=(0,a.jE)(o,R),t=e[1],r=e[2],i=Math.sin(t);return(0,c.s)(n,-i*Math.cos(r),-i*Math.sin(r),Math.cos(t))}case i.Z:return(0,c.n)(n,o);default:return}}function C(e,t){const r=(0,c.b)(P,t,e);return(0,c.l)(r)-e[3]}function y(e,t){const r=(0,c.d)(e,t),i=v(e);return r<=i*i}const P=(0,u.c)(),O=g();Object.freeze(Object.defineProperty({__proto__:null,create:g,copy:_,fromCenterAndRadius:function(e,t){return(0,h.f)(e[0],e[1],e[2],t)},wrap:function(e){return e},clear:function(e){e[0]=e[1]=e[2]=e[3]=0},fromRadius:function(e,t){return e[0]=e[1]=e[2]=0,e[3]=t,e},getRadius:v,getCenter:T,fromValues:function(e,t,r,i){return(0,h.f)(e,t,r,i)},elevate:function(e,t,r){return e!==r&&(0,c.c)(r,e),r[3]=e[3]+t,r},setExtent:function(e,t,r){return m.error("sphere.setExtent is not yet supported"),e===r?r:_(e,r)},intersectRay:x,intersectsRay:A,intersectRayClosestSilhouette:function(e,t,r){if(x(e,t,r))return r;const i=E(e,t,p.WM.get());return(0,c.a)(r,t.origin,(0,c.g)(p.WM.get(),t.direction,(0,c.i)(t.origin,i)/(0,c.l)(t.direction))),r},closestPointOnSilhouette:E,closestPoint:function(e,t,r){return x(e,t,r)?r:((0,f.JI)(t,e,r),S(e,r,r))},projectPoint:S,distanceToSilhouette:function(e,t){const r=(0,c.b)(p.WM.get(),t,e),i=(0,c.p)(r),n=e[3]*e[3];return Math.sqrt(Math.abs(i-n))},angleToSilhouette:M,axisAt:w,altitudeAt:C,setAltitudeAt:function(e,t,r,n){const o=C(e,t),a=w(e,t,i.Z,P),s=(0,c.g)(P,a,r-o);return(0,c.a)(n,t,s)},containsPoint:y,tmpSphere:O},Symbol.toStringTag,{value:"Module"}))},20773:(e,t,r)=>{r.d(t,{a:()=>o,b:()=>l,n:()=>s,s:()=>a,t:()=>n});var i=r(72220);function n(e,t,r){if(e.count!==t.count)return void i.c.error("source and destination buffers need to have the same number of elements");const n=e.count,o=r[0],a=r[1],s=r[2],l=r[4],c=r[5],u=r[6],d=r[8],h=r[9],f=r[10],p=r[12],m=r[13],g=r[14],_=e.typedBuffer,v=e.typedBufferStride,T=t.typedBuffer,x=t.typedBufferStride;for(let e=0;e<n;e++){const t=e*v,r=e*x,i=T[r],n=T[r+1],b=T[r+2];_[t]=o*i+l*n+d*b+p,_[t+1]=a*i+c*n+h*b+m,_[t+2]=s*i+u*n+f*b+g}}function o(e,t,r){if(e.count!==t.count)return void i.c.error("source and destination buffers need to have the same number of elements");const n=e.count,o=r[0],a=r[1],s=r[2],l=r[3],c=r[4],u=r[5],d=r[6],h=r[7],f=r[8],p=e.typedBuffer,m=e.typedBufferStride,g=t.typedBuffer,_=t.typedBufferStride;for(let e=0;e<n;e++){const t=e*m,r=e*_,i=g[r],n=g[r+1],v=g[r+2];p[t]=o*i+l*n+d*v,p[t+1]=a*i+c*n+h*v,p[t+2]=s*i+u*n+f*v}}function a(e,t,r){const i=Math.min(e.count,t.count),n=e.typedBuffer,o=e.typedBufferStride,a=t.typedBuffer,s=t.typedBufferStride;for(let e=0;e<i;e++){const t=e*o,i=e*s;n[t]=r*a[i],n[t+1]=r*a[i+1],n[t+2]=r*a[i+2]}}function s(e,t){const r=Math.min(e.count,t.count),i=e.typedBuffer,n=e.typedBufferStride,o=t.typedBuffer,a=t.typedBufferStride;for(let e=0;e<r;e++){const t=e*n,r=e*a,s=o[r],l=o[r+1],c=o[r+2],u=s*s+l*l+c*c;if(u>0){const e=1/Math.sqrt(u);i[t]=e*s,i[t+1]=e*l,i[t+2]=e*c}}}function l(e,t,r){const i=Math.min(e.count,t.count),n=e.typedBuffer,o=e.typedBufferStride,a=t.typedBuffer,s=t.typedBufferStride;for(let e=0;e<i;e++){const t=e*o,i=e*s;n[t]=a[i]>>r,n[t+1]=a[i+1]>>r,n[t+2]=a[i+2]>>r}}Object.freeze(Object.defineProperty({__proto__:null,transformMat4:n,transformMat3:o,scale:a,normalize:s,shiftRight:l},Symbol.toStringTag,{value:"Module"}))},56067:(e,t,r)=>{function i(e,t,r){const i=e.typedBuffer,n=e.typedBufferStride,o=t.typedBuffer,a=t.typedBufferStride,s=r?r.count:t.count;let l=(r&&r.dstIndex?r.dstIndex:0)*n,c=(r&&r.srcIndex?r.srcIndex:0)*a;for(let e=0;e<s;++e)i[l]=o[c],i[l+1]=o[c+1],i[l+2]=o[c+2],l+=n,c+=a}function n(e,t,r,i,n){var o,a;const s=e.typedBuffer,l=e.typedBufferStride,c=null!=(o=null==n?void 0:n.count)?o:e.count;let u=(null!=(a=null==n?void 0:n.dstIndex)?a:0)*l;for(let e=0;e<c;++e)s[u]=t,s[u+1]=r,s[u+2]=i,u+=l}r.d(t,{c:()=>i,f:()=>n}),Object.freeze(Object.defineProperty({__proto__:null,copy:i,fill:n},Symbol.toStringTag,{value:"Module"}))},72119:(e,t,r)=>{function i(){return new Float32Array(3)}function n(e,t,r){const i=new Float32Array(3);return i[0]=e,i[1]=t,i[2]=r,i}function o(){return i()}function a(){return n(1,1,1)}function s(){return n(1,0,0)}function l(){return n(0,1,0)}function c(){return n(0,0,1)}r.d(t,{c:()=>i,f:()=>n});const u=o(),d=a(),h=s(),f=l(),p=c();Object.freeze(Object.defineProperty({__proto__:null,create:i,clone:function(e){const t=new Float32Array(3);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t},fromValues:n,createView:function(e,t){return new Float32Array(e,t,3)},zeros:o,ones:a,unitX:s,unitY:l,unitZ:c,ZEROS:u,ONES:d,UNIT_X:h,UNIT_Y:f,UNIT_Z:p},Symbol.toStringTag,{value:"Module"}))},32243:(e,t,r)=>{function i(e){return e=e||globalThis.location.hostname,c.some((t=>{var r;return null!=(null==(r=e)?void 0:r.match(t))}))}function n(e,t){return e&&(t=t||globalThis.location.hostname)?null!=t.match(o)||null!=t.match(s)?e.replace("static.arcgis.com","staticdev.arcgis.com"):null!=t.match(a)||null!=t.match(l)?e.replace("static.arcgis.com","staticqa.arcgis.com"):e:e}r.d(t,{XO:()=>i,pJ:()=>n});const o=/^devext.arcgis.com$/,a=/^qaext.arcgis.com$/,s=/^[\w-]*\.mapsdevext.arcgis.com$/,l=/^[\w-]*\.mapsqa.arcgis.com$/,c=[/^([\w-]*\.)?[\w-]*\.zrh-dev-local.esri.com$/,o,a,/^jsapps.esri.com$/,s,l]},72220:(e,t,r)=>{r.d(t,{c:()=>i});const i=r(92604).Z.getLogger("esri.views.3d.support.buffer.math")},78341:(e,t,r)=>{r.d(t,{JI:()=>l,Ue:()=>a,re:()=>s}),r(67676);var i=r(22807),n=r(17896),o=r(65617);function a(e){return e?{origin:(0,o.a)(e.origin),direction:(0,o.a)(e.direction)}:{origin:(0,o.c)(),direction:(0,o.c)()}}function s(e,t){const r=c.get();return r.origin=e,r.direction=t,r}function l(e,t,r){const i=(0,n.e)(e.direction,(0,n.b)(r,t,e.origin));return(0,n.a)(r,e.origin,(0,n.g)(r,e.direction,i)),r}r(12981);const c=new i.x((function(){return{origin:null,direction:null}}))},74431:(e,t,r)=>{r.r(t),r.d(t,{fetch:()=>Hr,gltfToEngineResources:()=>zr,parseUrl:()=>Ur});var i=r(32243),n=r(70586),o=r(21787),a=r(46521),s=r(52138),l=r(13598),c=r(17896),u=r(65617),d=r(60437),h=r(56481),f=r(20773),p=r(11077),m=r(8323),g=r(40270),_=r(88246),v=r(91911),T=r(3172),x=r(66643),b=r(20102),A=r(92604),E=r(95330),S=r(23670);async function M(e,t){const{data:r}=await(0,T.default)(e,{responseType:"image",...t});return r}var R=r(47026),w=r(44553),C=r(11726);class y{constructor(e,t,r,i){this.primitiveIndices=e,this._numIndexPerPrimitive=t,this.indices=r,this.position=i,this.center=(0,u.c)(),(0,C.hu)(e.length>=1),(0,C.hu)(r.length%this._numIndexPerPrimitive==0),(0,C.hu)(r.length>=e.length*this._numIndexPerPrimitive),(0,C.hu)(3===i.size||4===i.size);const{data:n,size:o}=i,a=e.length;let s=o*r[this._numIndexPerPrimitive*e[0]];P.clear(),P.push(s),this.bbMin=(0,u.f)(n[s],n[s+1],n[s+2]),this.bbMax=(0,u.a)(this.bbMin);for(let t=0;t<a;++t){const i=this._numIndexPerPrimitive*e[t];for(let e=0;e<this._numIndexPerPrimitive;++e){s=o*r[i+e],P.push(s);let t=n[s];this.bbMin[0]=Math.min(t,this.bbMin[0]),this.bbMax[0]=Math.max(t,this.bbMax[0]),t=n[s+1],this.bbMin[1]=Math.min(t,this.bbMin[1]),this.bbMax[1]=Math.max(t,this.bbMax[1]),t=n[s+2],this.bbMin[2]=Math.min(t,this.bbMin[2]),this.bbMax[2]=Math.max(t,this.bbMax[2])}}(0,c.h)(this.center,this.bbMin,this.bbMax,.5),this.radius=.5*Math.max(Math.max(this.bbMax[0]-this.bbMin[0],this.bbMax[1]-this.bbMin[1]),this.bbMax[2]-this.bbMin[2]);let l=this.radius*this.radius;for(let e=0;e<P.length;++e){s=P.getItemAt(e);const t=n[s]-this.center[0],r=n[s+1]-this.center[1],i=n[s+2]-this.center[2],o=t*t+r*r+i*i;if(o<=l)continue;const a=Math.sqrt(o),c=.5*(a-this.radius);this.radius=this.radius+c,l=this.radius*this.radius;const u=c/a;this.center[0]+=t*u,this.center[1]+=r*u,this.center[2]+=i*u}P.clear()}getCenter(){return this.center}getBSRadius(){return this.radius}getBBMin(){return this.bbMin}getBBMax(){return this.bbMax}getChildren(){if(this._children)return this._children;if((0,c.d)(this.bbMin,this.bbMax)>1){const e=(0,c.h)((0,u.c)(),this.bbMin,this.bbMax,.5),t=this.primitiveIndices.length,r=new Uint8Array(t),i=new Array(8);for(let e=0;e<8;++e)i[e]=0;const{data:n,size:o}=this.position;for(let a=0;a<t;++a){let t=0;const s=this._numIndexPerPrimitive*this.primitiveIndices[a];let l=o*this.indices[s],c=n[l],u=n[l+1],d=n[l+2];for(let e=1;e<this._numIndexPerPrimitive;++e){l=o*this.indices[s+e];const t=n[l],r=n[l+1],i=n[l+2];t<c&&(c=t),r<u&&(u=r),i<d&&(d=i)}c<e[0]&&(t|=1),u<e[1]&&(t|=2),d<e[2]&&(t|=4),r[a]=t,++i[t]}let a=0;for(let e=0;e<8;++e)i[e]>0&&++a;if(a<2)return;const s=new Array(8);for(let e=0;e<8;++e)s[e]=i[e]>0?new Uint32Array(i[e]):void 0;for(let e=0;e<8;++e)i[e]=0;for(let e=0;e<t;++e){const t=r[e];s[t][i[t]++]=this.primitiveIndices[e]}this._children=new Array(8);for(let e=0;e<8;++e)void 0!==s[e]&&(this._children[e]=new y(s[e],this._numIndexPerPrimitive,this.indices,this.position))}return this._children}static prune(){P.prune()}}const P=new w.Z({deallocator:null});var O,N,I=r(99001);class D{constructor(){this.id=(0,I.D)()}unload(){}}(N=O||(O={}))[N.Layer=0]="Layer",N[N.Object=1]="Object",N[N.Geometry=2]="Geometry",N[N.Material=3]="Material",N[N.Texture=4]="Texture",N[N.COUNT=5]="COUNT";var L=r(17753),F=r(35065);class B extends D{constructor(e,t=[],r=R.MX.Triangle,i=-1){super(),this._primitiveType=r,this.edgeIndicesLength=i,this.type=O.Geometry,this._vertexAttributes=new Map,this._indices=new Map,this._boundingInfo=null;for(const[t,r]of e)r&&this._vertexAttributes.set(t,{...r});if(null==t||0===t.length){const e=function(e){const t=e.values().next().value;return null==t?0:t.data.length/t.size}(this._vertexAttributes),t=(0,L.p)(e);this.edgeIndicesLength=this.edgeIndicesLength<0?e:this.edgeIndicesLength;for(const e of this._vertexAttributes.keys())this._indices.set(e,t)}else for(const[e,r]of t)r&&(this._indices.set(e,H(r)),e===F.T.POSITION&&(this.edgeIndicesLength=this.edgeIndicesLength<0?this._indices.get(e).length:this.edgeIndicesLength))}cloneShallow(){const e=new B([],void 0,this._primitiveType,void 0),{_vertexAttributes:t,_indices:r}=e;return this._vertexAttributes.forEach(((e,r)=>{t.set(r,e)})),this._indices.forEach(((e,t)=>{r.set(t,e)})),e.screenToWorldRatio=this.screenToWorldRatio,e._boundingInfo=this._boundingInfo,e}get vertexAttributes(){return this._vertexAttributes}getMutableAttribute(e){const t=this._vertexAttributes.get(e);return t&&!t.exclusive&&(t.data=Array.from(t.data),t.exclusive=!0),t}get indices(){return this._indices}get indexCount(){const e=this._indices.values().next().value;return e?e.length:0}get primitiveType(){return this._primitiveType}get faceCount(){return this.indexCount/3}get boundingInfo(){return(0,n.Wi)(this._boundingInfo)&&(this._boundingInfo=this._calculateBoundingInfo()),this._boundingInfo}computeAttachmentOrigin(e){return this.primitiveType===R.MX.Triangle?this._computeAttachmentOriginTriangles(e):this._computeAttachmentOriginPoints(e)}_computeAttachmentOriginTriangles(e){const t=this.indices.get(F.T.POSITION),r=this.vertexAttributes.get(F.T.POSITION);return(0,L.cM)(r,t,e)}_computeAttachmentOriginPoints(e){const t=this.indices.get(F.T.POSITION),r=this.vertexAttributes.get(F.T.POSITION);return(0,L.NO)(r,t,e)}invalidateBoundingInfo(){this._boundingInfo=null}_calculateBoundingInfo(){const e=this.indices.get(F.T.POSITION);if(0===e.length)return null;const t=this.primitiveType===R.MX.Triangle?3:1;(0,C.hu)(e.length%t==0,"Indexing error: "+e.length+" not divisible by "+t);const r=(0,L.p)(e.length/t),i=this.vertexAttributes.get(F.T.POSITION);return new y(r,t,e,i)}}function H(e){if(e.BYTES_PER_ELEMENT===Uint16Array.BYTES_PER_ELEMENT)return e;for(const t of e)if(t>=65536)return e;return new Uint16Array(e)}var U=r(74085),z=r(32448),G=r(22021),V=r(1533),W=r(17452),q=r(85958),k=r(99880);let $;var X;!function(e){e[e.ETC1_RGB=0]="ETC1_RGB",e[e.ETC2_RGBA=1]="ETC2_RGBA",e[e.BC1_RGB=2]="BC1_RGB",e[e.BC3_RGBA=3]="BC3_RGBA",e[e.BC4_R=4]="BC4_R",e[e.BC5_RG=5]="BC5_RG",e[e.BC7_M6_RGB=6]="BC7_M6_RGB",e[e.BC7_M5_RGBA=7]="BC7_M5_RGBA",e[e.PVRTC1_4_RGB=8]="PVRTC1_4_RGB",e[e.PVRTC1_4_RGBA=9]="PVRTC1_4_RGBA",e[e.ASTC_4x4_RGBA=10]="ASTC_4x4_RGBA",e[e.ATC_RGB=11]="ATC_RGB",e[e.ATC_RGBA=12]="ATC_RGBA",e[e.FXT1_RGB=17]="FXT1_RGB",e[e.PVRTC2_4_RGB=18]="PVRTC2_4_RGB",e[e.PVRTC2_4_RGBA=19]="PVRTC2_4_RGBA",e[e.ETC2_EAC_R11=20]="ETC2_EAC_R11",e[e.ETC2_EAC_RG11=21]="ETC2_EAC_RG11",e[e.RGBA32=13]="RGBA32",e[e.RGB565=14]="RGB565",e[e.BGR565=15]="BGR565",e[e.RGBA4444=16]="RGBA4444"}(X||(X={}));var j=r(35371),J=r(75656);function Y(e,t,r,i,n=0){const o=e.gl,a=e.capabilities.instancing;e.bindBuffer(r);for(const e of i){const r=t.get(e.name);void 0===r&&console.error(`There is no location for vertex attribute '${e.name}' defined.`);const i=n*e.stride;if(e.count<=4)o.vertexAttribPointer(r,e.count,e.type,e.normalized,e.stride,e.offset+i),o.enableVertexAttribArray(r),e.divisor>0&&a&&a.vertexAttribDivisor(r,e.divisor);else if(9===e.count)for(let t=0;t<3;t++)o.vertexAttribPointer(r+t,3,e.type,e.normalized,e.stride,e.offset+12*t+i),o.enableVertexAttribArray(r+t),e.divisor>0&&a&&a.vertexAttribDivisor(r+t,e.divisor);else if(16===e.count)for(let t=0;t<4;t++)o.vertexAttribPointer(r+t,4,e.type,e.normalized,e.stride,e.offset+16*t+i),o.enableVertexAttribArray(r+t),e.divisor>0&&a&&a.vertexAttribDivisor(r+t,e.divisor);else console.error("Unsupported vertex attribute element count: "+e.count)}}function Z(e,t,r,i){const n=e.gl,o=e.capabilities.instancing;e.bindBuffer(r);for(const e of i){const r=t.get(e.name);if(e.count<=4)n.disableVertexAttribArray(r),e.divisor&&e.divisor>0&&o&&o.vertexAttribDivisor(r,0);else if(9===e.count)for(let t=0;t<3;t++)n.disableVertexAttribArray(r+t),e.divisor&&e.divisor>0&&o&&o.vertexAttribDivisor(r+t,0);else if(16===e.count)for(let t=0;t<4;t++)n.disableVertexAttribArray(r+t),e.divisor&&e.divisor>0&&o&&o.vertexAttribDivisor(r+t,0);else console.error("Unsupported vertex attribute element count: "+e.count)}e.unbindBuffer(j.w0.ARRAY_BUFFER)}function K(e){switch(e){case j.VI.ALPHA:case j.VI.LUMINANCE:case j.VI.RED:case j.VI.RED_INTEGER:case j.lP.R8:case j.lP.R8I:case j.lP.R8UI:case j.lP.R8_SNORM:case j.Tg.STENCIL_INDEX8:return 1;case j.VI.LUMINANCE_ALPHA:case j.VI.RG:case j.VI.RG_INTEGER:case j.lP.RGBA4:case j.lP.R16F:case j.lP.R16I:case j.lP.R16UI:case j.lP.RG8:case j.lP.RG8I:case j.lP.RG8UI:case j.lP.RG8_SNORM:case j.lP.RGB565:case j.lP.RGB5_A1:case j.Tg.DEPTH_COMPONENT16:return 2;case j.VI.DEPTH_COMPONENT:case j.VI.RGB:case j.VI.RGB_INTEGER:case j.lP.RGB8:case j.lP.RGB8I:case j.lP.RGB8UI:case j.lP.RGB8_SNORM:case j.lP.SRGB8:case j.Tg.DEPTH_COMPONENT24:return 3;case j.VI.DEPTH_STENCIL:case j.VI.RGBA:case j.VI.RGBA_INTEGER:case j.lP.RGBA8:case j.lP.R32F:case j.lP.R11F_G11F_B10F:case j.lP.RG16F:case j.lP.R32I:case j.lP.R32UI:case j.lP.RG16I:case j.lP.RG16UI:case j.lP.RGBA8I:case j.lP.RGBA8UI:case j.lP.RGBA8_SNORM:case j.lP.SRGB8_ALPHA8:case j.lP.RGB9_E5:case j.lP.RGB10_A2UI:case j.lP.RGB10_A2:case j.Tg.DEPTH_STENCIL:case j.Tg.DEPTH_COMPONENT32F:case j.Tg.DEPTH24_STENCIL8:return 4;case j.Tg.DEPTH32F_STENCIL8:return 5;case j.lP.RGB16F:case j.lP.RGB16I:case j.lP.RGB16UI:return 6;case j.lP.RG32F:case j.lP.RG32I:case j.lP.RG32UI:case j.lP.RGBA16F:case j.lP.RGBA16I:case j.lP.RGBA16UI:return 8;case j.lP.RGB32F:case j.lP.RGB32I:case j.lP.RGB32UI:return 12;case j.lP.RGBA32F:case j.lP.RGBA32I:case j.lP.RGBA32UI:return 16;case j.q_.COMPRESSED_RGB_S3TC_DXT1_EXT:case j.q_.COMPRESSED_RGBA_S3TC_DXT1_EXT:return.5;case j.q_.COMPRESSED_RGBA_S3TC_DXT3_EXT:case j.q_.COMPRESSED_RGBA_S3TC_DXT5_EXT:return 1;case j.q_.COMPRESSED_R11_EAC:case j.q_.COMPRESSED_SIGNED_R11_EAC:case j.q_.COMPRESSED_RGB8_ETC2:case j.q_.COMPRESSED_SRGB8_ETC2:case j.q_.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2:case j.q_.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2:return.5;case j.q_.COMPRESSED_RG11_EAC:case j.q_.COMPRESSED_SIGNED_RG11_EAC:case j.q_.COMPRESSED_RGBA8_ETC2_EAC:case j.q_.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:return 1}return 0}function Q(e){if((0,n.Wi)(e))return 0;if("descriptor"in e)return e.glName?Q(e.descriptor):0;const t=e.internalFormat||"pixelFormat"in e&&e.pixelFormat;if(!t)return 0;const r="hasMipmap"in e&&e.hasMipmap?1.3:1,i=e.width*e.height;return K(t)*i*r}r(80442);let ee=null,te=null;async function re(){return(0,n.Wi)(te)&&(te=function(){if((0,n.Wi)($)){const e=e=>(0,k.V)(`esri/libs/basisu/${e}`);$=r.e(1421).then(r.bind(r,21421)).then((e=>e.b)).then((({default:t})=>t({locateFile:e}).then((e=>(e.initializeBasis(),delete e.then,e)))))}return $}(),ee=await te),te}function ie(e,t,r,i,n){const o=K(t?j.q_.COMPRESSED_RGBA8_ETC2_EAC:j.q_.COMPRESSED_RGB8_ETC2),a=n&&e>1?(4**e-1)/(3*4**(e-1)):1;return Math.ceil(r*i*o*a)}function ne(e){return e.getNumImages()>=1&&!e.isUASTC()}function oe(e){return e.getFaces()>=1&&e.isETC1S()}function ae(e,t,r,i,n,o,a,s){const{compressedTextureETC:l,compressedTextureS3TC:c}=e.capabilities,[u,d]=l?i?[X.ETC2_RGBA,j.q_.COMPRESSED_RGBA8_ETC2_EAC]:[X.ETC1_RGB,j.q_.COMPRESSED_RGB8_ETC2]:c?i?[X.BC3_RGBA,j.q_.COMPRESSED_RGBA_S3TC_DXT5_EXT]:[X.BC1_RGB,j.q_.COMPRESSED_RGB_S3TC_DXT1_EXT]:[X.RGBA32,j.VI.RGBA],h=t.hasMipmap?r:Math.min(1,r),f=[];for(let e=0;e<h;e++)f.push(new Uint8Array(a(e,u))),s(e,u,f[e]);const p=f.length>1,m=p?j.cw.LINEAR_MIPMAP_LINEAR:j.cw.LINEAR,g={...t,samplingMode:m,hasMipmap:p,internalFormat:d,width:n,height:o};return new J.x(e,g,{type:"compressed",levels:f})}const se=A.Z.getLogger("esri.views.3d.webgl-engine.lib.DDSUtil");function le(e){return e.charCodeAt(0)+(e.charCodeAt(1)<<8)+(e.charCodeAt(2)<<16)+(e.charCodeAt(3)<<24)}const ce=le("DXT1"),ue=le("DXT3"),de=le("DXT5");const he=new Map([[F.T.POSITION,0],[F.T.NORMAL,1],[F.T.UV0,2],[F.T.COLOR,3],[F.T.SIZE,4],[F.T.TANGENT,4],[F.T.AUXPOS1,5],[F.T.SYMBOLCOLOR,5],[F.T.AUXPOS2,6],[F.T.FEATUREATTRIBUTE,6],[F.T.INSTANCEFEATUREATTRIBUTE,6],[F.T.INSTANCECOLOR,7],[F.T.MODEL,8],[F.T.MODELNORMAL,12],[F.T.MODELORIGINHI,11],[F.T.MODELORIGINLO,15]]);var fe=r(21968);new fe.G(F.T.POSITION,3,j.g.FLOAT,0,12),new fe.G(F.T.POSITION,3,j.g.FLOAT,0,20),new fe.G(F.T.UV0,2,j.g.FLOAT,12,20),new fe.G(F.T.POSITION,3,j.g.FLOAT,0,32),new fe.G(F.T.NORMAL,3,j.g.FLOAT,12,32),new fe.G(F.T.UV0,2,j.g.FLOAT,24,32),new fe.G(F.T.POSITION,3,j.g.FLOAT,0,16),new fe.G(F.T.COLOR,4,j.g.UNSIGNED_BYTE,12,16);const pe=[new fe.G(F.T.POSITION,2,j.g.FLOAT,0,8)],me=[new fe.G(F.T.POSITION,2,j.g.FLOAT,0,16),new fe.G(F.T.UV0,2,j.g.FLOAT,8,16)];var ge=r(67676),_e=r(49300),ve=r(54738);const Te=A.Z.getLogger("esri.views.webgl.BufferObject");class xe{constructor(e,t,r,i){this._context=e,this.bufferType=t,this.usage=r,this._glName=null,this._size=-1,this._indexType=void 0,e.instanceCounter.increment(j._g.BufferObject,this),this._glName=this._context.gl.createBuffer(),(0,_e.zu)(this._context.gl),i&&this.setData(i)}static createIndex(e,t,r){return new xe(e,j.w0.ELEMENT_ARRAY_BUFFER,t,r)}static createVertex(e,t,r){return new xe(e,j.w0.ARRAY_BUFFER,t,r)}static createUniform(e,t,r){if(e.type!==ve.zO.WEBGL2)throw new Error("Uniform buffers are supported in WebGL2 only!");return new xe(e,j.w0.UNIFORM_BUFFER,t,r)}static createPixelPack(e,t=j.l1.STREAM_READ,r){if(e.type!==ve.zO.WEBGL2)throw new Error("Pixel pack buffers are supported in WebGL2 only!");const i=new xe(e,j.w0.PIXEL_PACK_BUFFER,t);return r&&i.setSize(r),i}static createPixelUnpack(e,t=j.l1.STREAM_DRAW,r){if(e.type!==ve.zO.WEBGL2)throw new Error("Pixel unpack buffers are supported in WebGL2 only!");return new xe(e,j.w0.PIXEL_UNPACK_BUFFER,t,r)}get glName(){return this._glName}get size(){return this._size}get indexType(){return this._indexType}get byteSize(){return this.bufferType===j.w0.ELEMENT_ARRAY_BUFFER?this._indexType===j.g.UNSIGNED_INT?4*this._size:2*this._size:this._size}get _isVAOAware(){return this.bufferType===j.w0.ELEMENT_ARRAY_BUFFER||this.bufferType===j.w0.ARRAY_BUFFER}dispose(){var e;null!=(e=this._context)&&e.gl?(this._glName&&(this._context.gl.deleteBuffer(this._glName),this._glName=null),this._context.instanceCounter.decrement(j._g.BufferObject,this),this._context=null):this._glName&&Te.warn("Leaked WebGL buffer object")}setSize(e,t=null){if(e<=0&&Te.error("Buffer size needs to be positive!"),this.bufferType===j.w0.ELEMENT_ARRAY_BUFFER&&(0,n.pC)(t))switch(this._indexType=t,t){case j.g.UNSIGNED_SHORT:e*=2;break;case j.g.UNSIGNED_INT:e*=4}this._setBufferData(e)}setData(e){if(!e)return;let t=e.byteLength;this.bufferType===j.w0.ELEMENT_ARRAY_BUFFER&&((0,V.Uc)(e)&&(t/=2,this._indexType=j.g.UNSIGNED_SHORT),(0,V.ZY)(e)&&(t/=4,this._indexType=j.g.UNSIGNED_INT)),this._setBufferData(t,e)}_setBufferData(e,t=null){this._size=e;const r=this._context.getBoundVAO();this._isVAOAware&&this._context.bindVAO(null),this._context.bindBuffer(this);const i=this._context.gl;(0,n.pC)(t)?i.bufferData(this.bufferType,t,this.usage):i.bufferData(this.bufferType,e,this.usage),(0,_e.zu)(i),this._isVAOAware&&this._context.bindVAO(r)}setSubData(e,t=0,r=0,i=e.byteLength){if(!e)return;(t<0||t>=this._size)&&Te.error("offset is out of range!");let n=t,o=r,a=i,s=e.byteLength;this.bufferType===j.w0.ELEMENT_ARRAY_BUFFER&&((0,V.Uc)(e)?(s/=2,n*=2,o*=2,a*=2):(0,V.ZY)(e)&&(s/=4,n*=4,o*=4,a*=4)),void 0===i&&(i=s-1),r>=i&&Te.error("end must be bigger than start!"),t+r-i>this._size&&Te.error("An attempt to write beyond the end of the buffer!");const l=this._context.getBoundVAO();this._isVAOAware&&this._context.bindVAO(null),this._context.bindBuffer(this);const c=this._context.gl,u=ArrayBuffer.isView(e)?e.buffer:e,d=0===o&&a===e.byteLength?u:u.slice(o,a);c.bufferSubData(this.bufferType,n,d),(0,_e.zu)(c),this._isVAOAware&&this._context.bindVAO(l)}setSubDataFromView(e,t,r,i){if(!e)return;(t<0||t>=this._size)&&Te.error("offset is out of range!"),r>=i&&Te.error("end must be bigger than start!"),t+r-i>this._size&&Te.error("An attempt to write beyond the end of the buffer!");const n=this._context.getBoundVAO();this._isVAOAware&&this._context.bindVAO(null),this._context.bindBuffer(this);const o=this._context.gl;if(this._context.type===ve.zO.WEBGL2)o.bufferSubData(this.bufferType,t*e.BYTES_PER_ELEMENT,e,r,i-r);else{const n=0===r&&i===e.length?e:e.subarray(r,i);o.bufferSubData(this.bufferType,t*e.BYTES_PER_ELEMENT,n)}(0,_e.zu)(o),this._isVAOAware&&this._context.bindVAO(n)}getSubData(e,t=0,r,i){if(this._context.type!==ve.zO.WEBGL2)return void Te.error("Get buffer subdata is supported in WebGL2 only!");if(r<0||i<0)return void Te.error("Problem getting subdata: offset and length were less than zero!");const n=function(e){return(0,ge.zG)(e)}(e)?e.BYTES_PER_ELEMENT:1;if(n*((null!=r?r:0)+(null!=i?i:0))>e.byteLength)return void Te.error("Problem getting subdata: offset and length exceeded destination size!");t+n*(null!=i?i:0)>this.byteSize&&Te.warn("Potential problem getting subdata: requested data exceeds buffer size!");const o=this._context.gl;this._context.bindBuffer(this,j.w0.COPY_READ_BUFFER),o.getBufferSubData(j.w0.COPY_READ_BUFFER,t,e,r,i),this._context.unbindBuffer(j.w0.COPY_READ_BUFFER)}async getSubDataAsync(e,t=0,r,i){this._context.type===ve.zO.WEBGL2?(await this._context.clientWaitAsync(),this.getSubData(e,t,r,i)):Te.error("Get buffer subdata is supported in WebGL2 only!")}}const be=A.Z.getLogger("esri.views.webgl.VertexArrayObject");class Ae{constructor(e,t,r,i,n=null){this._context=e,this._locations=t,this._layout=r,this._buffers=i,this._indexBuffer=n,this._glName=null,this._initialized=!1,e.instanceCounter.increment(j._g.VertexArrayObject,this)}get glName(){return this._glName}get context(){return this._context}get vertexBuffers(){return this._buffers}get indexBuffer(){return this._indexBuffer}get size(){return Object.keys(this._buffers).reduce(((e,t)=>e+this._buffers[t].size),(0,n.pC)(this._indexBuffer)?this._indexBuffer.size:0)}get layout(){return this._layout}get locations(){return this._locations}dispose(e=!0){if(this._context){if(this._glName){var t,r;const e=null==(t=this._context)||null==(r=t.capabilities)?void 0:r.vao;e?(e.deleteVertexArray(this._glName),this._glName=null):be.warn("Leaked WebGL VAO")}if(this._context.getBoundVAO()===this&&this._context.bindVAO(null),e){for(const e in this._buffers)this._buffers[e].dispose(),delete this._buffers[e];this._indexBuffer=(0,n.O3)(this._indexBuffer)}this._context.instanceCounter.decrement(j._g.VertexArrayObject,this),this._context=null}else(this._glName||e&&Object.getOwnPropertyNames(this._buffers).length>0)&&be.warn("Leaked WebGL VAO")}initialize(){if(this._initialized)return;const e=this._context.capabilities.vao;if(e){const t=e.createVertexArray();e.bindVertexArray(t),this._bindLayout(),e.bindVertexArray(null),this._glName=t}this._initialized=!0}bind(){this.initialize();const e=this._context.capabilities.vao;e?e.bindVertexArray(this.glName):(this._context.bindVAO(null),this._bindLayout())}_bindLayout(){const{_buffers:e,_layout:t,_indexBuffer:r}=this;e||be.error("Vertex buffer dictionary is empty!");const i=this._context.gl;for(const r in e){const i=e[r];i||be.error("Vertex buffer is uninitialized!");const n=t[r];n||be.error("Vertex element descriptor is empty!"),Y(this._context,this._locations,i,n)}(0,n.pC)(r)&&(this._context.capabilities.vao?i.bindBuffer(i.ELEMENT_ARRAY_BUFFER,r.glName):this._context.bindBuffer(r))}unbind(){this.initialize();const e=this._context.capabilities.vao;e?e.bindVertexArray(null):this._unbindLayout()}_unbindLayout(){const{_buffers:e,_layout:t}=this;e||be.error("Vertex buffer dictionary is empty!");for(const r in e){const i=e[r];i||be.error("Vertex buffer is uninitialized!");const n=t[r];Z(this._context,this._locations,i,n)}(0,n.pC)(this._indexBuffer)&&this._context.unbindBuffer(this._indexBuffer.bufferType)}}class Ee{constructor(e,t){this._context=e,this._desc=t,this.type="renderbuffer",this._context.instanceCounter.increment(j._g.Renderbuffer,this);const r=this._context.gl;this.glName=r.createRenderbuffer(),this._context.bindRenderbuffer(this);const{width:i,height:n,internalFormat:o,multisampled:a}=t;if(a){if(this._context.type!==ve.zO.WEBGL2)throw new Error("Multisampled renderbuffers are not supported in WebGL1!");r.renderbufferStorageMultisample(r.RENDERBUFFER,this.samples,o,i,n)}else r.renderbufferStorage(r.RENDERBUFFER,o,i,n)}get descriptor(){return this._desc}get samples(){const e=this._desc.samples,t=this._context.parameters.maxSamples;return e?Math.min(e,t):t}resize(e,t){const r=this._desc;if(r.width===e&&r.height===t)return;r.width=e,r.height=t;const i=this._context.gl;this._context.bindRenderbuffer(this),r.multisampled?i.renderbufferStorageMultisample(i.RENDERBUFFER,this.samples,r.internalFormat,r.width,r.height):i.renderbufferStorage(i.RENDERBUFFER,r.internalFormat,r.width,r.height)}dispose(){this._context&&(this._context.gl.deleteRenderbuffer(this.glName),this._context.instanceCounter.decrement(j._g.Renderbuffer,this),this._context=null)}}const Se=A.Z.getLogger("esri.views.webgl.FrameBufferObject");class Me{constructor(e,t,r=null,i=null){if(this._context=e,this._glName=null,this._depthAttachment=null,this._stencilAttachment=null,this._colorAttachments=new Map,this._initialized=!1,this._desc={...t},e.instanceCounter.increment(j._g.FramebufferObject,this),(0,n.pC)(r)){Array.isArray(r)||(r=[r]);for(let e=0;e<r.length;++e){const t=r[e],i=j.VY.COLOR_ATTACHMENT0+e;let n;Ce(t)?(Re(t)?(n=t.descriptor,this._colorAttachments.set(i,t)):(n=t,this._colorAttachments.set(i,new J.x(this._context,n))),ye(n,this._desc)):(we(t)?(n=t.descriptor,this._colorAttachments.set(i,t)):(n=t,this._colorAttachments.set(i,new Ee(this._context,n))),Pe(n,this._desc)),this._validateColorAttachmentPoint(i)}}if((0,n.pC)(i)){let e,t;if(Ce(i))this._context.capabilities.depthTexture||console.error("Setting the depth/stencil texture as an attachment requires WEBGL_depth_texture or WebGL2"),Re(i)?(t=i.descriptor,this._depthStencilTexture=i):(t=i,this._depthStencilTexture=new J.x(this._context,t)),ye(t,this._desc);else{var o;we(i)?(t=i.descriptor,e=i):(t=i,e=new Ee(this._context,t));const r=null!=(o=this._desc.depthStencilTarget)?o:j.OU.DEPTH_STENCIL_RENDER_BUFFER;r===j.OU.STENCIL_RENDER_BUFFER?this._stencilAttachment=e:r===j.OU.DEPTH_RENDER_BUFFER||r===j.OU.DEPTH_STENCIL_RENDER_BUFFER?this._depthAttachment=e:console.error('If a Renderbuffer is provided, "depthStencilTarget" must be one of STENCIL_RENDER_BUFFER, DEPTH_RENDER_BUFFER or DEPTH_STENCIL_RENDER_BUFFER'),Pe(t,this._desc)}}}dispose(){if(!this._desc)return;const e=this._context.getBoundFramebufferObject();this._disposeColorAttachments(),this._disposeDepthStencilAttachments(),this._glName&&(this._context.gl.deleteFramebuffer(this._glName),this._glName=null),this._context.bindFramebuffer(e),this._context.instanceCounter.decrement(j._g.FramebufferObject,this),this._desc=null}get glName(){return this._glName}get descriptor(){return this._desc}get colorTexture(){const e=this._colorAttachments.get(j.VY.COLOR_ATTACHMENT0);return e&&Re(e)?e:null}get colorAttachment(){return this._colorAttachments.get(j.VY.COLOR_ATTACHMENT0)}get depthStencilAttachment(){return this._depthStencilTexture||this._depthAttachment||this._stencilAttachment}get depthStencilTexture(){return this._depthStencilTexture}get width(){return this._desc.width}get height(){return this._desc.height}get gpuMemoryUsage(){return[...this._colorAttachments].reduce(((e,[t,r])=>e+Q(r)),0)+Q(this.depthStencilAttachment)}getColorTexture(e){const t=this._colorAttachments.get(e);return t&&Re(t)?t:null}attachColorTexture(e,t=j.VY.COLOR_ATTACHMENT0){e&&(this._validateColorAttachmentPoint(t),ye(e.descriptor,this._desc),this._disposeColorAttachments(),this._initialized&&(this._context.bindFramebuffer(this),this._framebufferTexture2D(e.glName,t)),this._colorAttachments.set(t,e))}detachColorTexture(e=j.VY.COLOR_ATTACHMENT0){const t=this._colorAttachments.get(e);if(Re(t)){const r=t;return this._initialized&&(this._context.bindFramebuffer(this),this._framebufferTexture2D(null,e)),this._colorAttachments.delete(e),r}}setColorTextureTarget(e,t=j.VY.COLOR_ATTACHMENT0){const r=this._colorAttachments.get(t);Re(r)&&this._framebufferTexture2D(r.glName,t,e)}attachDepthStencilTexture(e){if((0,n.Wi)(e))return;const t=e.descriptor;t.pixelFormat!==j.VI.DEPTH_STENCIL&&console.error("Depth/Stencil texture must have a pixel type of DEPTH_STENCIL!"),t.dataType!==j.Br.UNSIGNED_INT_24_8&&console.error("Depth/Stencil texture must have data type of UNSIGNED_INT_24_8!"),this._context.capabilities.depthTexture||console.error("Extension WEBGL_depth_texture isn't supported therefore it is no possible to set the depth/stencil texture!"),ye(t,this._desc),this._desc.depthStencilTarget&&this._desc.depthStencilTarget!==j.OU.DEPTH_STENCIL_TEXTURE&&(this._desc.depthStencilTarget=j.OU.DEPTH_STENCIL_TEXTURE),this._disposeDepthStencilAttachments(),this._initialized&&(this._context.bindFramebuffer(this),this._framebufferTexture2D(e.glName,j.Lu)),this._depthStencilTexture=e}detachDepthStencilTexture(){const e=this._depthStencilTexture;return e&&this._initialized&&(this._context.bindFramebuffer(this),this._framebufferTexture2D(null,j.Lu)),this._depthStencilTexture=null,e}attachDepthStencilBuffer(e){if((0,n.Wi)(e))return;const t=e.descriptor;if(t.internalFormat!==j.Tg.DEPTH_STENCIL&&t.internalFormat!==j.Tg.DEPTH_COMPONENT16&&console.error("Depth/Stencil buffer must have correct internalFormat"),Pe(t,this._desc),this._disposeDepthStencilAttachments(),this._desc.depthStencilTarget=t.internalFormat===j.Tg.DEPTH_STENCIL?j.OU.DEPTH_STENCIL_RENDER_BUFFER:j.OU.DEPTH_RENDER_BUFFER,this._initialized){this._context.bindFramebuffer(this);const t=this._context.gl,r=this._desc.depthStencilTarget===j.OU.DEPTH_RENDER_BUFFER?t.DEPTH_ATTACHMENT:t.DEPTH_STENCIL_ATTACHMENT;t.framebufferRenderbuffer(j.qi.FRAMEBUFFER,r,t.RENDERBUFFER,e.glName)}this._depthAttachment=e}detachDepthStencilBuffer(){const e=this._context.gl,t=this._depthAttachment;if(t&&this._initialized){this._context.bindFramebuffer(this);const t=this._desc.depthStencilTarget===j.OU.DEPTH_RENDER_BUFFER?e.DEPTH_ATTACHMENT:e.DEPTH_STENCIL_ATTACHMENT;e.framebufferRenderbuffer(j.qi.FRAMEBUFFER,t,e.RENDERBUFFER,null)}return this._depthAttachment=null,t}detachAll(){this._colorAttachments.forEach(((e,t)=>this._detachColorAttachment(t))),this.detachDepthStencilBuffer(),this.detachDepthStencilTexture()}copyToTexture(e,t,r,i,n,o,a){(e<0||t<0||n<0||o<0)&&console.error("Offsets cannot be negative!"),(r<=0||i<=0)&&console.error("Copy width and height must be greater than zero!");const s=this._desc,l=a.descriptor;a.descriptor.target!==j.No.TEXTURE_2D&&console.error("Texture target must be TEXTURE_2D!"),(e+r>s.width||t+i>s.height||n+r>l.width||o+i>l.height)&&console.error("Bad dimensions, the current input values will attempt to read or copy out of bounds!");const c=this._context,u=c.bindTexture(a,J.x.TEXTURE_UNIT_FOR_UPDATES);c.setActiveTexture(J.x.TEXTURE_UNIT_FOR_UPDATES),c.bindFramebuffer(this),c.gl.copyTexSubImage2D(j.No.TEXTURE_2D,0,n,o,e,t,r,i),c.bindTexture(u,J.x.TEXTURE_UNIT_FOR_UPDATES)}readPixels(e,t,r,i,n,o,a){(r<=0||i<=0)&&console.error("Copy width and height must be greater than zero!"),a||console.error("Target memory is not initialized!"),this._context.bindFramebuffer(this),this._context.gl.readPixels(e,t,r,i,n,o,a)}async readPixelsAsync(e,t,r,i,n,o,a){if(this._context.type!==ve.zO.WEBGL2)return(0,_e.hZ)()&&console.warn("Attempting to read pixels using pixel buffer object without WebGL2"),void this.readPixels(e,t,r,i,n,o,a);const s=this._context.gl,l=xe.createPixelPack(this._context,j.l1.STREAM_READ,a.byteLength);this._context.bindBuffer(l),this._context.bindFramebuffer(this),s.readPixels(e,t,r,i,n,o,0),this._context.unbindBuffer(j.w0.PIXEL_PACK_BUFFER),await l.getSubDataAsync(a),l.dispose()}resize(e,t){const r=this._desc;if(r.width!==e||r.height!==t){if(!this._initialized)return r.width=e,r.height=t,this._colorAttachments.forEach((r=>{r&&r.resize(e,t)})),void(this._depthStencilTexture&&this._depthStencilTexture.resize(e,t));r.width=e,r.height=t,this._colorAttachments.forEach((r=>{r&&r.resize(e,t)})),null!=this._depthStencilTexture?this._depthStencilTexture.resize(e,t):(this._depthAttachment||this._stencilAttachment)&&(this._depthAttachment&&this._depthAttachment.resize(e,t),this._stencilAttachment&&this._stencilAttachment.resize(e,t)),this._context.getBoundFramebufferObject()===this&&this._context.bindFramebuffer(null),this._initialized=!1}}initializeAndBind(e=j.qi.FRAMEBUFFER){var t,r,i,n;const o=this._context.gl;if(this._initialized)return void o.bindFramebuffer(e,this.glName);this._glName&&o.deleteFramebuffer(this._glName);const a=this._context,s=o.createFramebuffer(),l=this._desc,c=null!=(t=l.colorTarget)?t:j.Lm.RENDER_BUFFER,u=null!=(r=l.width)?r:1,d=null!=(i=l.height)?i:1;if(o.bindFramebuffer(e,s),0===this._colorAttachments.size)if(c===j.Lm.TEXTURE||c===j.Lm.CUBEMAP)this._colorAttachments.set(j.VY.COLOR_ATTACHMENT0,function(e,t,r){return new J.x(e,{target:r,pixelFormat:j.VI.RGBA,dataType:j.Br.UNSIGNED_BYTE,samplingMode:j.cw.NEAREST,wrapMode:j.e8.CLAMP_TO_EDGE,width:t.width,height:t.height})}(a,l,this.descriptor.colorTarget===j.Lm.CUBEMAP?j.No.TEXTURE_CUBE_MAP:j.No.TEXTURE_2D));else{const e=new Ee(a,{internalFormat:j.lP.RGBA4,width:u,height:d});this._colorAttachments.set(j.VY.COLOR_ATTACHMENT0,e)}this._colorAttachments.forEach(((t,r)=>{t&&(Re(t)?this._framebufferTexture2D(t.glName,r,Oe(t),e):o.framebufferRenderbuffer(e,r,o.RENDERBUFFER,t.glName))}));const h=null!=(n=l.depthStencilTarget)?n:j.OU.NONE;switch(h){case j.OU.DEPTH_RENDER_BUFFER:case j.OU.DEPTH_STENCIL_RENDER_BUFFER:{this._depthAttachment||(this._depthAttachment=new Ee(a,{internalFormat:l.depthStencilTarget===j.OU.DEPTH_RENDER_BUFFER?j.Tg.DEPTH_COMPONENT16:j.Tg.DEPTH_STENCIL,width:u,height:d}));const t=h===j.OU.DEPTH_RENDER_BUFFER?o.DEPTH_ATTACHMENT:o.DEPTH_STENCIL_ATTACHMENT;o.framebufferRenderbuffer(e,t,o.RENDERBUFFER,this._depthAttachment.glName);break}case j.OU.STENCIL_RENDER_BUFFER:this._stencilAttachment||(this._stencilAttachment=new Ee(a,{internalFormat:j.Tg.STENCIL_INDEX8,width:u,height:d})),o.framebufferRenderbuffer(e,o.STENCIL_ATTACHMENT,o.RENDERBUFFER,this._stencilAttachment.glName);break;case j.OU.DEPTH_STENCIL_TEXTURE:if(!this._depthStencilTexture){a.capabilities.depthTexture||console.error("Extension WEBGL_depth_texture isn't supported therefore it is no possible to set the depth/stencil texture as an attachment!");const e={target:j.No.TEXTURE_2D,pixelFormat:j.VI.DEPTH_STENCIL,dataType:j.Br.UNSIGNED_INT_24_8,samplingMode:j.cw.NEAREST,wrapMode:j.e8.CLAMP_TO_EDGE,width:u,height:d};this._depthStencilTexture=new J.x(a,e)}this._framebufferTexture2D(this._depthStencilTexture.glName,o.DEPTH_STENCIL_ATTACHMENT,Oe(this._depthStencilTexture),e)}(0,_e.CG)()&&o.checkFramebufferStatus(e)!==o.FRAMEBUFFER_COMPLETE&&console.error("Framebuffer is incomplete!"),this._glName=s,this._initialized=!0}_framebufferTexture2D(e,t=j.VY.COLOR_ATTACHMENT0,r=j.No.TEXTURE_2D,i=j.qi.FRAMEBUFFER,n=0){this._context.gl.framebufferTexture2D(i,t,r,e,n)}_detachColorAttachment(e){(0,_e.hZ)()&&console.warn("Detaching an FBO attachment can be a slow due to invalidating framebuffer completeness!");const t=this._context.gl,r=this._colorAttachments.get(e);return Re(r)?this._initialized&&(this._context.bindFramebuffer(this),this._framebufferTexture2D(null,e)):this._initialized&&(this._context.bindFramebuffer(this),t.framebufferRenderbuffer(j.qi.FRAMEBUFFER,e,t.RENDERBUFFER,null)),this._colorAttachments.delete(e),r}_disposeColorAttachments(){this._colorAttachments.forEach(((e,t)=>{this._detachColorAttachment(t),e.dispose()})),this._colorAttachments.clear()}_disposeDepthStencilAttachments(){const e=this._context.gl;if(this._depthAttachment){if(this._initialized){this._context.bindFramebuffer(this);const t=this._desc.depthStencilTarget===j.OU.DEPTH_RENDER_BUFFER?e.DEPTH_ATTACHMENT:e.DEPTH_STENCIL_ATTACHMENT;e.framebufferRenderbuffer(j.qi.FRAMEBUFFER,t,e.RENDERBUFFER,null)}this._depthAttachment.dispose(),this._depthAttachment=null}this._stencilAttachment&&(this._initialized&&(this._context.bindFramebuffer(this),e.framebufferRenderbuffer(j.qi.FRAMEBUFFER,e.STENCIL_ATTACHMENT,e.RENDERBUFFER,null)),this._stencilAttachment.dispose(),this._stencilAttachment=null),this._depthStencilTexture&&(this._initialized&&(this._context.bindFramebuffer(this),this._framebufferTexture2D(null,e.DEPTH_STENCIL_ATTACHMENT)),this._depthStencilTexture.dispose(),this._depthStencilTexture=null)}_validateColorAttachmentPoint(e){if(-1===Me._MAX_COLOR_ATTACHMENTS){const e=this._context.capabilities.drawBuffers;if(e){const t=this._context.gl;Me._MAX_COLOR_ATTACHMENTS=t.getParameter(e.MAX_COLOR_ATTACHMENTS)}else Me._MAX_COLOR_ATTACHMENTS=1}const t=e-j.VY.COLOR_ATTACHMENT0;t+1>Me._MAX_COLOR_ATTACHMENTS&&Se.error("esri.FrameBufferObject",`illegal attachment point for color attachment: ${t+1}. Implementation supports up to ${Me._MAX_COLOR_ATTACHMENTS} color attachments`)}}function Re(e){return"type"in e&&"texture"===e.type}function we(e){return"type"in e&&"renderbuffer"===e.type}function Ce(e){return Re(e)||"pixelFormat"in e}function ye(e,t){e.target!==j.No.TEXTURE_2D&&e.target!==j.No.TEXTURE_CUBE_MAP&&console.error("Texture type must be TEXTURE_2D or TEXTURE_CUBE_MAP!"),void 0!==t.width&&t.width>=0&&void 0!==t.height&&t.height>=0?t.width===e.width&&t.height===e.height||console.error("Color attachment texture must match the framebuffer's!"):(t.width=e.width,t.height=e.height)}function Pe(e,t){void 0!==t.width&&t.width>=0&&void 0!==t.height&&t.height>=0?t.width===e.width&&t.height===e.height||console.error("Renderbuffer dimensions must match the framebuffer's!"):(t.width=e.width,t.height=e.height)}function Oe(e){return e.descriptor.target===j.No.TEXTURE_CUBE_MAP?j.No.TEXTURE_CUBE_MAP_POSITIVE_X:j.No.TEXTURE_2D}Me._MAX_COLOR_ATTACHMENTS=-1;var Ne,Ie,De=r(46314);class Le extends D{constructor(e,t){super(),this.data=e,this.type=O.Texture,this._glTexture=null,this._powerOfTwoStretchInfo=null,this._loadingPromise=null,this._loadingController=null,this.events=new z.Z,this.params=t||{},this.params.mipmap=!1!==this.params.mipmap,this.params.noUnpackFlip=this.params.noUnpackFlip||!1,this.params.preMultiplyAlpha=this.params.preMultiplyAlpha||!1,this.params.wrap=this.params.wrap||{s:j.e8.REPEAT,t:j.e8.REPEAT},this.params.powerOfTwoResizeMode=this.params.powerOfTwoResizeMode||R.CE.STRETCH,this.estimatedTexMemRequired=Le._estimateTexMemRequired(this.data,this.params),this._startPreload()}_startPreload(){const e=this.data;(0,n.Wi)(e)||(e instanceof HTMLVideoElement?this._startPreloadVideoElement(e):e instanceof HTMLImageElement&&this._startPreloadImageElement(e))}_startPreloadVideoElement(e){(0,W.jc)(e.src)||"auto"===e.preload&&e.crossOrigin||(e.preload="auto",e.crossOrigin="anonymous",e.src=e.src)}_startPreloadImageElement(e){(0,W.HK)(e.src)||(0,W.jc)(e.src)||e.crossOrigin||(e.crossOrigin="anonymous",e.src=e.src)}static _getDataDimensions(e){return e instanceof HTMLVideoElement?{width:e.videoWidth,height:e.videoHeight}:e}static _estimateTexMemRequired(e,t){if((0,n.Wi)(e))return 0;if((0,V.eP)(e)||(0,V.lq)(e))return t.encoding===Le.KTX2_ENCODING?function(e,t){if((0,n.Wi)(ee))return e.byteLength;const r=new ee.KTX2File(new Uint8Array(e)),i=oe(r)?ie(r.getLevels(),r.getHasAlpha(),r.getWidth(),r.getHeight(),t):0;return r.close(),r.delete(),i}(e,t.mipmap):t.encoding===Le.BASIS_ENCODING?function(e,t){if((0,n.Wi)(ee))return e.byteLength;const r=new ee.BasisFile(new Uint8Array(e)),i=ne(r)?ie(r.getNumLevels(0),r.getHasAlpha(),r.getImageWidth(0,0),r.getImageHeight(0,0),t):0;return r.close(),r.delete(),i}(e,t.mipmap):e.byteLength;const{width:r,height:i}=e instanceof Image||e instanceof ImageData||e instanceof HTMLCanvasElement||e instanceof HTMLVideoElement?Le._getDataDimensions(e):t;return(t.mipmap?4/3:1)*r*i*(t.components||4)||0}dispose(){this.data=void 0}get width(){return this.params.width}get height(){return this.params.height}_createDescriptor(e){var t;return{target:j.No.TEXTURE_2D,pixelFormat:j.VI.RGBA,dataType:j.Br.UNSIGNED_BYTE,wrapMode:this.params.wrap,flipped:!this.params.noUnpackFlip,samplingMode:this.params.mipmap?j.cw.LINEAR_MIPMAP_LINEAR:j.cw.LINEAR,hasMipmap:this.params.mipmap,preMultiplyAlpha:this.params.preMultiplyAlpha,maxAnisotropy:null!=(t=this.params.maxAnisotropy)?t:this.params.mipmap?e.parameters.maxMaxAnisotropy:1}}get glTexture(){return this._glTexture}load(e,t){if((0,n.pC)(this._glTexture))return this._glTexture;if((0,n.pC)(this._loadingPromise))return this._loadingPromise;const r=this.data;return(0,n.Wi)(r)?(this._glTexture=new J.x(e,this._createDescriptor(e),null),this._glTexture):"string"==typeof r?this._loadFromURL(e,t,r):r instanceof Image?this._loadFromImageElement(e,t,r):r instanceof HTMLVideoElement?this._loadFromVideoElement(e,t,r):r instanceof ImageData||r instanceof HTMLCanvasElement?this._loadFromImage(e,r,t):((0,V.eP)(r)||(0,V.lq)(r))&&this.params.encoding===Le.DDS_ENCODING?(this.data=void 0,this._loadFromDDSData(e,r)):((0,V.eP)(r)||(0,V.lq)(r))&&this.params.encoding===Le.KTX2_ENCODING?(this.data=void 0,this._loadFromKTX2(e,r)):((0,V.eP)(r)||(0,V.lq)(r))&&this.params.encoding===Le.BASIS_ENCODING?(this.data=void 0,this._loadFromBasis(e,r)):(0,V.lq)(r)?this._loadFromPixelData(e,r):(0,V.eP)(r)?this._loadFromPixelData(e,new Uint8Array(r)):null}get requiresFrameUpdates(){return this.data instanceof HTMLVideoElement}frameUpdate(e,t,r){if(!(this.data instanceof HTMLVideoElement)||(0,n.Wi)(this._glTexture))return r;if(this.data.readyState<Ne.HAVE_CURRENT_DATA||r===this.data.currentTime)return r;if((0,n.pC)(this._powerOfTwoStretchInfo)){const{framebuffer:r,vao:i,sourceTexture:n}=this._powerOfTwoStretchInfo;n.setData(this.data),this._drawStretchedTexture(e,t,r,i,n,this._glTexture)}else{const{width:e,height:t}=this.data,{width:r,height:i}=this._glTexture.descriptor;e!==r||t!==i?this._glTexture.updateData(0,0,0,Math.min(e,r),Math.min(t,i),this.data):this._glTexture.setData(this.data)}return this._glTexture.descriptor.hasMipmap&&this._glTexture.generateMipmap(),this.data.currentTime}_loadFromDDSData(e,t){return this._glTexture=function(e,t,r){const{textureData:i,internalFormat:n,width:o,height:a}=function(e,t){const r=new Int32Array(e,0,31);if(542327876!==r[0])return se.error("Invalid magic number in DDS header"),null;if(!(4&r[20]))return se.error("Unsupported format, must contain a FourCC code"),null;const i=r[21];let n,o;switch(i){case ce:n=8,o=j.q_.COMPRESSED_RGB_S3TC_DXT1_EXT;break;case ue:n=16,o=j.q_.COMPRESSED_RGBA_S3TC_DXT3_EXT;break;case de:n=16,o=j.q_.COMPRESSED_RGBA_S3TC_DXT5_EXT;break;default:return se.error("Unsupported FourCC code:",function(e){return String.fromCharCode(255&e,e>>8&255,e>>16&255,e>>24&255)}(i)),null}let a=1,s=r[4],l=r[3];0==(3&s)&&0==(3&l)||(se.warn("Rounding up compressed texture size to nearest multiple of 4."),s=s+3&-4,l=l+3&-4);const c=s,u=l;let d,h;131072&r[2]&&!1!==t&&(a=Math.max(1,r[7])),1===a||(0,G.wt)(s)&&(0,G.wt)(l)||(se.warn("Ignoring mipmaps of non power of two sized compressed texture."),a=1);let f=r[1]+4;const p=[];for(let t=0;t<a;++t)h=(s+3>>2)*(l+3>>2)*n,d=new Uint8Array(e,f,h),p.push(d),f+=h,s=Math.max(1,s>>1),l=Math.max(1,l>>1);return{textureData:{type:"compressed",levels:p},internalFormat:o,width:c,height:u}}(r,t.hasMipmap);return t.samplingMode=i.levels.length>1?j.cw.LINEAR_MIPMAP_LINEAR:j.cw.LINEAR,t.hasMipmap=i.levels.length>1,t.internalFormat=n,t.width=o,t.height=a,new J.x(e,t,i)}(e,this._createDescriptor(e),t),this._glTexture}_loadFromKTX2(e,t){return this._loadAsync((()=>async function(e,t,r){(0,n.Wi)(ee)&&(ee=await re());const i=new ee.KTX2File(new Uint8Array(r));if(!oe(i))return null;i.startTranscoding();const o=ae(e,t,i.getLevels(),i.getHasAlpha(),i.getWidth(),i.getHeight(),((e,t)=>i.getImageTranscodedSizeInBytes(e,0,0,t)),((e,t,r)=>i.transcodeImage(r,e,0,0,t,0,-1,-1)));return i.close(),i.delete(),o}(e,this._createDescriptor(e),t).then((e=>(this._glTexture=e,e)))))}_loadFromBasis(e,t){return this._loadAsync((()=>async function(e,t,r){(0,n.Wi)(ee)&&(ee=await re());const i=new ee.BasisFile(new Uint8Array(r));if(!ne(i))return null;i.startTranscoding();const o=ae(e,t,i.getNumLevels(0),i.getHasAlpha(),i.getImageWidth(0,0),i.getImageHeight(0,0),((e,t)=>i.getImageTranscodedSizeInBytes(0,e,t)),((e,t,r)=>i.transcodeImage(r,0,e,t,0,0)));return i.close(),i.delete(),o}(e,this._createDescriptor(e),t).then((e=>(this._glTexture=e,e)))))}_loadFromPixelData(e,t){(0,C.hu)(this.params.width>0&&this.params.height>0);const r=this._createDescriptor(e);return r.pixelFormat=1===this.params.components?j.VI.LUMINANCE:3===this.params.components?j.VI.RGB:j.VI.RGBA,r.width=this.params.width,r.height=this.params.height,this._glTexture=new J.x(e,r,t),this._glTexture}_loadFromURL(e,t,r){return this._loadAsync((async i=>{const n=await M(r,{signal:i});return(0,E.k_)(i),this._loadFromImage(e,n,t)}))}_loadFromImageElement(e,t,r){return r.complete?this._loadFromImage(e,r,t):this._loadAsync((async i=>{const n=await(0,q.f)(r,r.src,!1,i);return(0,E.k_)(i),this._loadFromImage(e,n,t)}))}_loadFromVideoElement(e,t,r){return r.readyState>=Ne.HAVE_CURRENT_DATA?this._loadFromImage(e,r,t):this._loadFromVideoElementAsync(e,t,r)}_loadFromVideoElementAsync(e,t,r){return this._loadAsync((i=>new Promise(((o,a)=>{const s=()=>{r.removeEventListener("loadeddata",l),r.removeEventListener("error",c),(0,n.hw)(u)},l=()=>{r.readyState>=Ne.HAVE_CURRENT_DATA&&(s(),o(this._loadFromImage(e,r,t)))},c=e=>{s(),a(e||new b.Z("Failed to load video"))};r.addEventListener("loadeddata",l),r.addEventListener("error",c);const u=(0,E.fu)(i,(()=>c((0,E.zE)())))}))))}_loadFromImage(e,t,r){const i=Le._getDataDimensions(t);this.params.width=i.width,this.params.height=i.height;const n=this._createDescriptor(e);return n.pixelFormat=3===this.params.components?j.VI.RGB:j.VI.RGBA,!this._requiresPowerOfTwo(e,n)||(0,G.wt)(i.width)&&(0,G.wt)(i.height)?(n.width=i.width,n.height=i.height,this._glTexture=new J.x(e,n,t),this._glTexture):(this._glTexture=this._makePowerOfTwoTexture(e,t,i,n,r),this._glTexture)}_loadAsync(e){const t=new AbortController;this._loadingController=t;const r=e(t.signal);this._loadingPromise=r;const i=()=>{this._loadingController===t&&(this._loadingController=null),this._loadingPromise===r&&(this._loadingPromise=null)};return r.then(i,i),r}_requiresPowerOfTwo(e,t){const r=j.e8.CLAMP_TO_EDGE,i="number"==typeof t.wrapMode?t.wrapMode===r:t.wrapMode.s===r&&t.wrapMode.t===r;return!(0,De.Z)(e.gl)&&(t.hasMipmap||!i)}_makePowerOfTwoTexture(e,t,r,i,n){const{width:o,height:a}=r,s=(0,G.Sf)(o),l=(0,G.Sf)(a);let c;switch(i.width=s,i.height=l,this.params.powerOfTwoResizeMode){case R.CE.PAD:i.textureCoordinateScaleFactor=[o/s,a/l],c=new J.x(e,i),c.updateData(0,0,0,o,a,t);break;case R.CE.STRETCH:case null:case void 0:c=this._stretchToPowerOfTwo(e,t,i,n());break;default:(0,U.Bg)(this.params.powerOfTwoResizeMode)}return i.hasMipmap&&c.generateMipmap(),c}_stretchToPowerOfTwo(e,t,r,i){const n=new J.x(e,r),o=new Me(e,{colorTarget:j.Lm.TEXTURE,depthStencilTarget:j.OU.NONE},n),a=new J.x(e,{target:j.No.TEXTURE_2D,pixelFormat:r.pixelFormat,dataType:j.Br.UNSIGNED_BYTE,wrapMode:j.e8.CLAMP_TO_EDGE,samplingMode:j.cw.LINEAR,flipped:!!r.flipped,maxAnisotropy:8,preMultiplyAlpha:r.preMultiplyAlpha},t),s=function(e,t=pe,r=he,i=-1,n=1){let o=null;return o=t===me?new Float32Array([i,i,0,0,n,i,1,0,i,n,0,1,n,n,1,1]):new Float32Array([i,i,n,i,i,n,n,n]),new Ae(e,r,{geometry:t},{geometry:xe.createVertex(e,j.l1.STATIC_DRAW,o)})}(e),l=e.getBoundFramebufferObject();return this._drawStretchedTexture(e,i,o,s,a,n),this.requiresFrameUpdates?this._powerOfTwoStretchInfo={vao:s,sourceTexture:a,framebuffer:o}:(s.dispose(!0),a.dispose(),o.detachColorTexture(),o.dispose()),e.bindFramebuffer(l),n}_drawStretchedTexture(e,t,r,i,n,o){e.bindFramebuffer(r);const a=e.getViewport();e.setViewport(0,0,o.descriptor.width,o.descriptor.height);const s=e.bindTechnique(t);s.setUniform4f("uColor",1,1,1,1),s.bindTexture("tex",n),e.bindVAO(i),e.drawArrays(j.MX.TRIANGLE_STRIP,0,function(e,t){return e.vertexBuffers[t].size/function(e){return e[0].stride}(e.layout[t])}(i,"geometry")),e.bindFramebuffer(null),e.setViewport(a.x,a.y,a.width,a.height)}unload(){if((0,n.pC)(this._powerOfTwoStretchInfo)){const{framebuffer:e,vao:t,sourceTexture:r}=this._powerOfTwoStretchInfo;t.dispose(!0),r.dispose(),e.dispose(),this._glTexture=null,this._powerOfTwoStretchInfo=null}if((0,n.pC)(this._glTexture)&&(this._glTexture.dispose(),this._glTexture=null),(0,n.pC)(this._loadingController)){const e=this._loadingController;this._loadingController=null,this._loadingPromise=null,e.abort()}this.events.emit("unloaded")}}Le.DDS_ENCODING="image/vnd-ms.dds",Le.KTX2_ENCODING="image/ktx2",Le.BASIS_ENCODING="image/x.basis",(Ie=Ne||(Ne={}))[Ie.HAVE_NOTHING=0]="HAVE_NOTHING",Ie[Ie.HAVE_METADATA=1]="HAVE_METADATA",Ie[Ie.HAVE_CURRENT_DATA=2]="HAVE_CURRENT_DATA",Ie[Ie.HAVE_FUTURE_DATA=3]="HAVE_FUTURE_DATA",Ie[Ie.HAVE_ENOUGH_DATA=4]="HAVE_ENOUGH_DATA";var Fe,Be=r(64822),He=r(65576),Ue=r(18361),ze=r(64267),Ge=r(19419),Ve=r(85504),We=r(60537),qe=(r(74709),r(37782));class ke extends D{constructor(e,t){super(),this.type=O.Material,this.supportsEdges=!1,this._visible=!0,this._renderPriority=0,this._insertOrder=0,this._vertexAttributeLocations=he,this._parameters=(0,qe.Uf)(e,t),this.validateParameters(this._parameters)}dispose(){}get parameters(){return this._parameters}update(e){return!1}setParameters(e,t=!0){(0,qe.LO)(this._parameters,e)&&(this.validateParameters(this._parameters),t&&this.parametersChanged())}validateParameters(e){}get visible(){return this._visible}set visible(e){e!==this._visible&&(this._visible=e,this.parametersChanged())}shouldRender(e){return this.isVisible()&&this.isVisibleInPass(e.pass)&&0!=(this.renderOccluded&e.renderOccludedMask)}isVisibleInPass(e){return!0}get renderOccluded(){return this.parameters.renderOccluded}get renderPriority(){return this._renderPriority}set renderPriority(e){e!==this._renderPriority&&(this._renderPriority=e,this.parametersChanged())}get insertOrder(){return this._insertOrder}set insertOrder(e){e!==this._insertOrder&&(this._insertOrder=e,this.parametersChanged())}get vertexAttributeLocations(){return this._vertexAttributeLocations}isVisible(){return this._visible}parametersChanged(){(0,n.pC)(this.repository)&&this.repository.materialChanged(this)}}function $e(e,t,r=j.db.ADD,i=[0,0,0,0]){return{srcRgb:e,srcAlpha:e,dstRgb:t,dstAlpha:t,opRgb:r,opAlpha:r,color:{r:i[0],g:i[1],b:i[2],a:i[3]}}}!function(e){e[e.Occlude=1]="Occlude",e[e.Transparent=2]="Transparent",e[e.OccludeAndTransparent=4]="OccludeAndTransparent",e[e.OccludeAndTransparentStencil=8]="OccludeAndTransparentStencil",e[e.Opaque=16]="Opaque"}(Fe||(Fe={}));const Xe={face:j.LR.BACK,mode:j.Wf.CCW},je={face:j.LR.FRONT,mode:j.Wf.CCW},Je=e=>e===R.Vr.Back?Xe:e===R.Vr.Front?je:null,Ye={zNear:0,zFar:1},Ze={r:!0,g:!0,b:!0,a:!0};function Ke(e){return lt.intern(e)}function Qe(e){return ut.intern(e)}function et(e){return ht.intern(e)}function tt(e){return pt.intern(e)}function rt(e){return gt.intern(e)}function it(e){return vt.intern(e)}function nt(e){return xt.intern(e)}function ot(e){return At.intern(e)}class at{constructor(e,t){this.makeKey=e,this.makeRef=t,this.interns=new Map}intern(e){if(!e)return null;const t=this.makeKey(e),r=this.interns;return r.has(t)||r.set(t,this.makeRef(e)),r.get(t)}}function st(e){return"["+e.join(",")+"]"}const lt=new at(ct,(e=>({__tag:"Blending",...e})));function ct(e){return e?st([e.srcRgb,e.srcAlpha,e.dstRgb,e.dstAlpha,e.opRgb,e.opAlpha,e.color.r,e.color.g,e.color.b,e.color.a]):null}const ut=new at(dt,(e=>({__tag:"Culling",...e})));function dt(e){return e?st([e.face,e.mode]):null}const ht=new at(ft,(e=>({__tag:"PolygonOffset",...e})));function ft(e){return e?st([e.factor,e.units]):null}const pt=new at(mt,(e=>({__tag:"DepthTest",...e})));function mt(e){return e?st([e.func]):null}const gt=new at(_t,(e=>({__tag:"StencilTest",...e})));function _t(e){return e?st([e.function.func,e.function.ref,e.function.mask,e.operation.fail,e.operation.zFail,e.operation.zPass]):null}const vt=new at(Tt,(e=>({__tag:"DepthWrite",...e})));function Tt(e){return e?st([e.zNear,e.zFar]):null}const xt=new at(bt,(e=>({__tag:"ColorWrite",...e})));function bt(e){return e?st([e.r,e.g,e.b,e.a]):null}const At=new at(Et,(e=>({__tag:"StencilWrite",...e})));function Et(e){return e?st([e.mask]):null}const St=new at((function(e){return e?st([ct(e.blending),dt(e.culling),ft(e.polygonOffset),mt(e.depthTest),_t(e.stencilTest),Tt(e.depthWrite),bt(e.colorWrite),Et(e.stencilWrite)]):null}),(e=>({blending:Ke(e.blending),culling:Qe(e.culling),polygonOffset:et(e.polygonOffset),depthTest:tt(e.depthTest),stencilTest:rt(e.stencilTest),depthWrite:it(e.depthWrite),colorWrite:nt(e.colorWrite),stencilWrite:ot(e.stencilWrite)}))),Mt=function(e,t,r,i,n=j.db.ADD,o=j.db.ADD,a=[0,0,0,0]){return{srcRgb:e,srcAlpha:t,dstRgb:r,dstAlpha:i,opRgb:n,opAlpha:o,color:{r:a[0],g:a[1],b:a[2],a:a[3]}}}(j.zi.SRC_ALPHA,j.zi.ONE,j.zi.ONE_MINUS_SRC_ALPHA,j.zi.ONE_MINUS_SRC_ALPHA),Rt=$e(j.zi.ONE,j.zi.ONE),wt=$e(j.zi.ZERO,j.zi.ONE_MINUS_SRC_ALPHA);function Ct(e){return e===R.Am.FrontFace?null:e===R.Am.Alpha?wt:Rt}const yt={factor:-1,units:-2};function Pt(e,t=j.wb.LESS){return e===R.Am.NONE||e===R.Am.FrontFace?t:j.wb.LEQUAL}var Ot=r(50173),Nt=r(97995),It=r(51305),Dt=r(94961),Lt=r(72119),Ft=r(2643);const Bt=(0,u.c)(),Ht=(0,u.c)(),Ut=(0,u.c)(),zt=new class{constructor(e=0){this.offset=e,this.sphere=(0,Ft.c)(),this.tmpVertex=(0,u.c)()}applyToVertex(e,t,r){const i=this.objectTransform.transform;let n=i[0]*e+i[4]*t+i[8]*r+i[12],o=i[1]*e+i[5]*t+i[9]*r+i[13],a=i[2]*e+i[6]*t+i[10]*r+i[14];const s=this.offset/Math.sqrt(n*n+o*o+a*a);n+=n*s,o+=o*s,a+=a*s;const l=this.objectTransform.inverse;return this.tmpVertex[0]=l[0]*n+l[4]*o+l[8]*a+l[12],this.tmpVertex[1]=l[1]*n+l[5]*o+l[9]*a+l[13],this.tmpVertex[2]=l[2]*n+l[6]*o+l[10]*a+l[14],this.tmpVertex}applyToMinMax(e,t){const r=this.offset/Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]);e[0]+=e[0]*r,e[1]+=e[1]*r,e[2]+=e[2]*r;const i=this.offset/Math.sqrt(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]+=t[0]*i,t[1]+=t[1]*i,t[2]+=t[2]*i}applyToAabb(e){const t=this.offset/Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]);e[0]+=e[0]*t,e[1]+=e[1]*t,e[2]+=e[2]*t;const r=this.offset/Math.sqrt(e[3]*e[3]+e[4]*e[4]+e[5]*e[5]);return e[3]+=e[3]*r,e[4]+=e[4]*r,e[5]+=e[5]*r,e}applyToBoundingSphere(e){const t=Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]),r=this.offset/t;return this.sphere[0]=e[0]+e[0]*r,this.sphere[1]=e[1]+e[1]*r,this.sphere[2]=e[2]+e[2]*r,this.sphere[3]=e[3]+e[3]*this.offset/t,this.sphere}};new class{constructor(e=0){this.offset=e,this.componentLocalOriginLength=0,this.tmpVertex=(0,u.c)(),this.mbs=(0,Ft.c)(),this.obb={center:(0,u.c)(),halfSize:(0,Lt.c)(),quaternion:null}}set localOrigin(e){this.componentLocalOriginLength=Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2])}applyToVertex(e,t,r){const i=e,n=t,o=r+this.componentLocalOriginLength,a=this.offset/Math.sqrt(i*i+n*n+o*o);return this.tmpVertex[0]=e+i*a,this.tmpVertex[1]=t+n*a,this.tmpVertex[2]=r+o*a,this.tmpVertex}applyToAabb(e){const t=e[0],r=e[1],i=e[2]+this.componentLocalOriginLength,n=e[3],o=e[4],a=e[5]+this.componentLocalOriginLength,s=this.offset/Math.sqrt(t*t+r*r+i*i);e[0]+=t*s,e[1]+=r*s,e[2]+=i*s;const l=this.offset/Math.sqrt(n*n+o*o+a*a);return e[3]+=n*l,e[4]+=o*l,e[5]+=a*l,e}applyToMbs(e){const t=Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]),r=this.offset/t;return this.mbs[0]=e[0]+e[0]*r,this.mbs[1]=e[1]+e[1]*r,this.mbs[2]=e[2]+e[2]*r,this.mbs[3]=e[3]+e[3]*this.offset/t,this.mbs}applyToObb(e){const t=e.center,r=this.offset/Math.sqrt(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);this.obb.center[0]=t[0]+t[0]*r,this.obb.center[1]=t[1]+t[1]*r,this.obb.center[2]=t[2]+t[2]*r,(0,c.q)(this.obb.halfSize,e.halfSize,e.quaternion),(0,c.a)(this.obb.halfSize,this.obb.halfSize,e.center);const i=this.offset/Math.sqrt(this.obb.halfSize[0]*this.obb.halfSize[0]+this.obb.halfSize[1]*this.obb.halfSize[1]+this.obb.halfSize[2]*this.obb.halfSize[2]);return this.obb.halfSize[0]+=this.obb.halfSize[0]*i,this.obb.halfSize[1]+=this.obb.halfSize[1]*i,this.obb.halfSize[2]+=this.obb.halfSize[2]*i,(0,c.b)(this.obb.halfSize,this.obb.halfSize,e.center),(0,It.c)(Gt,e.quaternion),(0,c.q)(this.obb.halfSize,this.obb.halfSize,Gt),this.obb.halfSize[0]*=this.obb.halfSize[0]<0?-1:1,this.obb.halfSize[1]*=this.obb.halfSize[1]<0?-1:1,this.obb.halfSize[2]*=this.obb.halfSize[2]<0?-1:1,this.obb.quaternion=e.quaternion,this.obb}},new class{constructor(e=0){this.offset=e,this.tmpVertex=(0,u.c)()}applyToVertex(e,t,r){const i=e+this.localOrigin[0],n=t+this.localOrigin[1],o=r+this.localOrigin[2],a=this.offset/Math.sqrt(i*i+n*n+o*o);return this.tmpVertex[0]=e+i*a,this.tmpVertex[1]=t+n*a,this.tmpVertex[2]=r+o*a,this.tmpVertex}applyToAabb(e){for(let t=0;t<3;++t)Bt[t]=e[0+t]+this.localOrigin[t],Ht[t]=e[3+t]+this.localOrigin[t],Ut[t]=Bt[t];const t=this.applyToVertex(Bt[0],Bt[1],Bt[2]);for(let r=0;r<3;++r)e[r]=t[r],e[r+3]=t[r];const r=t=>{const r=this.applyToVertex(t[0],t[1],t[2]);for(let t=0;t<3;++t)e[t+0]=Math.min(e[t+0],r[t]),e[t+3]=Math.max(e[t+3],r[t])};for(let e=1;e<8;++e){for(let t=0;t<3;++t)Ut[t]=0==(e&1<<t)?Bt[t]:Ht[t];r(Ut)}let i=0;for(let e=0;e<3;++e)Bt[e]*Ht[e]<0&&(i|=1<<e);if(0!==i&&7!==i)for(let e=0;e<8;++e)if(0==(i&e)){for(let t=0;t<3;++t)i[t]?Ut[t]=0:Ut[t]=0!=(e&1<<t)?Bt[t]:Ht[t];r(Ut)}for(let t=0;t<3;++t)e[t+0]-=this.localOrigin[t],e[t+3]-=this.localOrigin[t];return e}};const Gt=(0,Dt.a)();function Vt(e,t,r,i){const n=r.typedBuffer,o=r.typedBufferStride,a=e.length;i*=o;for(let r=0;r<a;++r){const a=2*e[r];n[i]=t[a],n[i+1]=t[a+1],i+=o}}function Wt(e,t,r,i,n){const o=r.typedBuffer,a=r.typedBufferStride,s=e.length;if(i*=a,null==n||1===n)for(let r=0;r<s;++r){const n=3*e[r];o[i]=t[n],o[i+1]=t[n+1],o[i+2]=t[n+2],i+=a}else for(let r=0;r<s;++r){const s=3*e[r];for(let e=0;e<n;++e)o[i]=t[s],o[i+1]=t[s+1],o[i+2]=t[s+2],i+=a}}function qt(e,t,r,i,n,o=1){if(!r)return void Wt(e,t,i,n,o);const a=i.typedBuffer,s=i.typedBufferStride,l=e.length,c=r[0],u=r[1],d=r[2],h=r[4],f=r[5],p=r[6],m=r[8],g=r[9],_=r[10],v=r[12],T=r[13],x=r[14];if(n*=s,1===o)for(let r=0;r<l;++r){const i=3*e[r],o=t[i],l=t[i+1],b=t[i+2];a[n]=c*o+h*l+m*b+v,a[n+1]=u*o+f*l+g*b+T,a[n+2]=d*o+p*l+_*b+x,n+=s}else for(let r=0;r<l;++r){const i=3*e[r],l=t[i],b=t[i+1],A=t[i+2],E=c*l+h*b+m*A+v,S=u*l+f*b+g*A+T,M=d*l+p*b+_*A+x;for(let e=0;e<o;++e)a[n]=E,a[n+1]=S,a[n+2]=M,n+=s}}function kt(e,t,r,i,n,o=1){if(!r)return void Wt(e,t,i,n,o);const a=r,l=i.typedBuffer,c=i.typedBufferStride,u=e.length,d=a[0],h=a[1],f=a[2],p=a[4],m=a[5],g=a[6],_=a[8],v=a[9],T=a[10],x=!(0,s.p)(a),b=1e-6,A=1-b;if(n*=c,1===o)for(let r=0;r<u;++r){const i=3*e[r],o=t[i],a=t[i+1],s=t[i+2];let u=d*o+p*a+_*s,E=h*o+m*a+v*s,S=f*o+g*a+T*s;if(x){const e=u*u+E*E+S*S;if(e<A&&e>b){const t=1/Math.sqrt(e);u*=t,E*=t,S*=t}}l[n+0]=u,l[n+1]=E,l[n+2]=S,n+=c}else for(let r=0;r<u;++r){const i=3*e[r],a=t[i],s=t[i+1],u=t[i+2];let E=d*a+p*s+_*u,S=h*a+m*s+v*u,M=f*a+g*s+T*u;if(x){const e=E*E+S*S+M*M;if(e<A&&e>b){const t=1/Math.sqrt(e);E*=t,S*=t,M*=t}}for(let e=0;e<o;++e)l[n+0]=E,l[n+1]=S,l[n+2]=M,n+=c}}function $t(e,t,r,i,n,o=1){if(!r)return void function(e,t,r,i,n=1){const o=r.typedBuffer,a=r.typedBufferStride,s=e.length;if(i*=a,1===n)for(let r=0;r<s;++r){const n=4*e[r];o[i]=t[n],o[i+1]=t[n+1],o[i+2]=t[n+2],o[i+3]=t[n+3],i+=a}else for(let r=0;r<s;++r){const s=4*e[r];for(let e=0;e<n;++e)o[i]=t[s],o[i+1]=t[s+1],o[i+2]=t[s+2],o[i+3]=t[s+3],i+=a}}(e,t,i,n,o);const a=r,l=i.typedBuffer,c=i.typedBufferStride,u=e.length,d=a[0],h=a[1],f=a[2],p=a[4],m=a[5],g=a[6],_=a[8],v=a[9],T=a[10],x=!(0,s.p)(a),b=1e-6,A=1-b;if(n*=c,1===o)for(let r=0;r<u;++r){const i=4*e[r],o=t[i],a=t[i+1],s=t[i+2],u=t[i+3];let E=d*o+p*a+_*s,S=h*o+m*a+v*s,M=f*o+g*a+T*s;if(x){const e=E*E+S*S+M*M;if(e<A&&e>b){const t=1/Math.sqrt(e);E*=t,S*=t,M*=t}}l[n+0]=E,l[n+1]=S,l[n+2]=M,l[n+3]=u,n+=c}else for(let r=0;r<u;++r){const i=4*e[r],a=t[i],s=t[i+1],u=t[i+2],E=t[i+3];let S=d*a+p*s+_*u,M=h*a+m*s+v*u,R=f*a+g*s+T*u;if(x){const e=S*S+M*M+R*R;if(e<A&&e>b){const t=1/Math.sqrt(e);S*=t,M*=t,R*=t}}for(let e=0;e<o;++e)l[n+0]=S,l[n+1]=M,l[n+2]=R,l[n+3]=E,n+=c}}function Xt(e,t,r,i,n,o=1){const a=i.typedBuffer,s=i.typedBufferStride,l=e.length;if(n*=s,1===o){if(4===r)for(let r=0;r<l;++r){const i=4*e[r];a[n]=t[i],a[n+1]=t[i+1],a[n+2]=t[i+2],a[n+3]=t[i+3],n+=s}else if(3===r)for(let r=0;r<l;++r){const i=3*e[r];a[n]=t[i],a[n+1]=t[i+1],a[n+2]=t[i+2],a[n+3]=255,n+=s}}else if(4===r)for(let r=0;r<l;++r){const i=4*e[r];for(let e=0;e<o;++e)a[n]=t[i],a[n+1]=t[i+1],a[n+2]=t[i+2],a[n+3]=t[i+3],n+=s}else if(3===r)for(let r=0;r<l;++r){const i=3*e[r];for(let e=0;e<o;++e)a[n]=t[i],a[n+1]=t[i+1],a[n+2]=t[i+2],a[n+3]=255,n+=s}}var jt=r(88669),Jt=r(135),Yt=r(15719),Zt=r(96310),Kt=r(89243);class Qt{constructor(e,t){this._module=e,this._loadModule=t}get(){return this._module}async reload(){return this._module=await this._loadModule(),this._module}}var er=r(67498);class tr{constructor(e,t,r){this._context=e,this._locations=r,this._textures=new Map,this._freeTextureUnits=new w.Z({deallocator:null}),this._glProgram=e.programCache.acquire(t.generate("vertex"),t.generate("fragment"),r),this._glProgram.stop=()=>{throw new Error("Wrapped _glProgram used directly")},this.bindPass=t.generateBind(er.P.Pass,this),this.bindDraw=t.generateBind(er.P.Draw,this),this._fragmentUniforms=(0,_e.hZ)()?t.fragmentUniforms:null}dispose(){this._glProgram.dispose()}get glName(){return this._glProgram.glName}get isCompiled(){return this._glProgram.isCompiled}setUniform1b(e,t){this._glProgram.setUniform1i(e,t?1:0)}setUniform1i(e,t){this._glProgram.setUniform1i(e,t)}setUniform1f(e,t){this._glProgram.setUniform1f(e,t)}setUniform2f(e,t,r){this._glProgram.setUniform2f(e,t,r)}setUniform2fv(e,t){this._glProgram.setUniform2fv(e,t)}setUniform3f(e,t,r,i){this._glProgram.setUniform3f(e,t,r,i)}setUniform3fv(e,t){this._glProgram.setUniform3fv(e,t)}setUniform4f(e,t,r,i,n){this._glProgram.setUniform4f(e,t,r,i,n)}setUniform4fv(e,t){this._glProgram.setUniform4fv(e,t)}setUniformMatrix3fv(e,t){this._glProgram.setUniformMatrix3fv(e,t)}setUniformMatrix4fv(e,t){this._glProgram.setUniformMatrix4fv(e,t)}setUniform1fv(e,t){this._glProgram.setUniform1fv(e,t)}setUniform1iv(e,t){this._glProgram.setUniform1iv(e,t)}setUniform2iv(e,t){this._glProgram.setUniform3iv(e,t)}setUniform3iv(e,t){this._glProgram.setUniform3iv(e,t)}setUniform4iv(e,t){this._glProgram.setUniform4iv(e,t)}assertCompatibleVertexAttributeLocations(e){e.locations!==this._locations&&console.error("VertexAttributeLocations are incompatible")}stop(){this._textures.clear(),this._freeTextureUnits.clear()}bindTexture(e,t){if((0,n.Wi)(t)||null==t.glName){const t=this._textures.get(e);return t&&(this._context.bindTexture(null,t.unit),this._freeTextureUnit(t),this._textures.delete(e)),null}let r=this._textures.get(e);return null==r?(r=this._allocTextureUnit(t),this._textures.set(e,r)):r.texture=t,this._context.useProgram(this),this.setUniform1i(e,r.unit),this._context.bindTexture(t,r.unit),r.unit}rebindTextures(){this._context.useProgram(this),this._textures.forEach(((e,t)=>{this._context.bindTexture(e.texture,e.unit),this.setUniform1i(t,e.unit)})),(0,n.pC)(this._fragmentUniforms)&&this._fragmentUniforms.forEach((e=>{"sampler2D"!==e.type&&"samplerCube"!==e.type||this._textures.has(e.name)||console.error(`Texture sampler ${e.name} has no bound texture`)}))}_allocTextureUnit(e){return{texture:e,unit:0===this._freeTextureUnits.length?this._textures.size:this._freeTextureUnits.pop()}}_freeTextureUnit(e){this._freeTextureUnits.push(e.unit)}}j.wb.LESS,j.wb.ALWAYS;const rr={mask:255},ir={function:{func:j.wb.ALWAYS,ref:R.hU.OutlineVisualElementMask,mask:R.hU.OutlineVisualElementMask},operation:{fail:j.xS.KEEP,zFail:j.xS.KEEP,zPass:j.xS.ZERO}},nr={function:{func:j.wb.ALWAYS,ref:R.hU.OutlineVisualElementMask,mask:R.hU.OutlineVisualElementMask},operation:{fail:j.xS.KEEP,zFail:j.xS.KEEP,zPass:j.xS.REPLACE}};j.wb.EQUAL,R.hU.OutlineVisualElementMask,R.hU.OutlineVisualElementMask,j.xS.KEEP,j.xS.KEEP,j.xS.KEEP,j.wb.NOTEQUAL,R.hU.OutlineVisualElementMask,R.hU.OutlineVisualElementMask,j.xS.KEEP,j.xS.KEEP,j.xS.KEEP;var or=r(32078);class ar extends Yt.d4{constructor(){super(...arguments),this.isSchematic=!1,this.usePBR=!1,this.mrrFactors=(0,u.f)(0,1,.5),this.hasVertexColors=!1,this.hasSymbolColors=!1,this.doubleSided=!1,this.doubleSidedType="normal",this.cullFace=R.Vr.Back,this.emissiveFactor=(0,u.f)(0,0,0),this.instancedDoublePrecision=!1,this.normals="default",this.receiveSSAO=!0,this.receiveShadows=!0,this.castShadows=!0,this.shadowMappingEnabled=!1,this.ambient=(0,u.f)(.2,.2,.2),this.diffuse=(0,u.f)(.8,.8,.8),this.externalColor=(0,jt.f)(1,1,1,1),this.colorMixMode="multiply",this.opacity=1,this.layerOpacity=1,this.origin=(0,u.c)(),this.hasSlicePlane=!1,this.hasSliceHighlight=!0,this.offsetTransparentBackfaces=!1,this.vvSizeEnabled=!1,this.vvSizeMinSize=[1,1,1],this.vvSizeMaxSize=[100,100,100],this.vvSizeOffset=[0,0,0],this.vvSizeFactor=[1,1,1],this.vvSizeValue=[1,1,1],this.vvColorEnabled=!1,this.vvColorValues=[0,0,0,0,0,0,0,0],this.vvColorColors=[1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0],this.vvSymbolAnchor=[0,0,0],this.vvSymbolRotationMatrix=(0,a.c)(),this.transparent=!1,this.writeDepth=!0,this.customDepthTest=R.Gv.Less,this.textureAlphaMode=R.JJ.Blend,this.textureAlphaCutoff=Zt.F,this.textureAlphaPremultiplied=!1,this.hasOccludees=!1}}class sr extends class{constructor(e,t,r){this.release=r,t&&(this.initializeConfiguration(e,t),this._configuration=t.snapshot()),this._program=this.initializeProgram(e),this._pipeline=this.initializePipeline(e.rctx.capabilities)}destroy(){this._program=(0,n.O3)(this._program),this._pipeline=this._configuration=null}reload(e){(0,n.O3)(this._program),this._program=this.initializeProgram(e),this._pipeline=this.initializePipeline(e.rctx.capabilities)}get program(){return this._program}get compiled(){return this.program.isCompiled}get key(){return this._configuration.key}get configuration(){return this._configuration}bindPass(e,t){this.program.bindPass(e,t)}bindDraw(e,t){this.program.bindDraw(e,t),this.program.rebindTextures()}bindPipelineState(e,t=null,r){e.setPipelineState(this.getPipelineState(t,r))}ensureAttributeLocations(e){this.program.assertCompatibleVertexAttributeLocations(e)}get primitiveType(){return j.MX.TRIANGLES}getPipelineState(e,t){return this._pipeline}initializeConfiguration(e,t){}}{initializeConfiguration(e,t){t.spherical=e.viewingMode===Be.JY.Global,t.doublePrecisionRequiresObfuscation=(0,Kt.I)(e.rctx),t.textureCoordinateType=t.hasColorTexture||t.hasMetalnessAndRoughnessTexture||t.hasEmissionTexture||t.hasOcclusionTexture||t.hasNormalTexture?Jt.N.Default:Jt.N.None}initializeProgram(e){return this._initializeProgram(e,sr.shader)}_initializeProgram(e,t){const r=t.get().build(this.configuration);return new tr(e.rctx,r,he)}_convertDepthTestFunction(e){return e===R.Gv.Lequal?j.wb.LEQUAL:j.wb.LESS}_setPipeline(e,t){const r=this.configuration,i=e===R.Am.NONE,n=e===R.Am.FrontFace;return function(e){return St.intern(e)}({blending:r.output!==Ue.H.Color&&r.output!==Ue.H.Alpha||!r.transparent?null:i?Mt:Ct(e),culling:lr(r)&&Je(r.cullFace),depthTest:{func:Pt(e,this._convertDepthTestFunction(r.customDepthTest))},depthWrite:i||n?r.writeDepth&&Ye:null,colorWrite:Ze,stencilWrite:r.hasOccludees?rr:null,stencilTest:r.hasOccludees?t?nr:ir:null,polygonOffset:i||n?null:(o=r.enableOffset,o?yt:null)});var o}initializePipeline(){return this._occludeePipelineState=this._setPipeline(this.configuration.transparencyPassType,!0),this._setPipeline(this.configuration.transparencyPassType,!1)}getPipelineState(e,t){return t?this._occludeePipelineState:super.getPipelineState(e,t)}}function lr(e){return e.cullFace!==R.Vr.None||!e.hasSlicePlane&&!e.transparent&&!e.doubleSidedMode}sr.shader=new Qt(or.D,(()=>r.e(9291).then(r.bind(r,79291))));var cr=r(43697);function ur(e={}){return(t,r)=>{var i;if(t._parameterNames=null!=(i=t._parameterNames)?i:[],t._parameterNames.push(r),null!=e.constValue)Object.defineProperty(t,r,{get:()=>e.constValue});else{var n;const i=t._parameterNames.length-1,o=e.count||2,a=Math.ceil(Math.log2(o)),s=null!=(n=t._parameterBits)?n:[0];let l=0;for(;s[l]+a>16;)l++,l>=s.length&&s.push(0);t._parameterBits=s;const c=s[l],u=(1<<a)-1<<c;s[l]+=a,Object.defineProperty(t,r,{get(){return this[i]},set(e){if(this[i]!==e&&(this[i]=e,this._keyDirty=!0,this._parameterBits[l]=this._parameterBits[l]&~u|+e<<c&u,"number"!=typeof e&&"boolean"!=typeof e))throw"Configuration value for "+r+" must be boolean or number, got "+typeof e}})}}}class dr extends class{constructor(){this._key="",this._keyDirty=!1,this._parameterBits=this._parameterBits?this._parameterBits.map((()=>0)):[],this._parameterNames||(this._parameterNames=[])}get key(){return this._keyDirty&&(this._keyDirty=!1,this._key=String.fromCharCode.apply(String,this._parameterBits)),this._key}snapshot(){const e=this._parameterNames,t={key:this.key};for(const r of e)t[r]=this[r];return t}}{}(0,cr._)([ur({constValue:!0})],dr.prototype,"hasSliceHighlight",void 0),(0,cr._)([ur({constValue:!1})],dr.prototype,"hasSliceInVertexProgram",void 0),(0,cr._)([ur({constValue:!1})],dr.prototype,"instancedDoublePrecision",void 0),(0,cr._)([ur({constValue:!1})],dr.prototype,"isGround",void 0),(0,cr._)([ur({constValue:er.P.Pass})],dr.prototype,"pbrTextureBindType",void 0);class hr extends dr{constructor(){super(...arguments),this.output=Ue.H.Color,this.alphaDiscardMode=R.JJ.Opaque,this.doubleSidedMode=Ge.q.None,this.pbrMode=Ve.f7.Disabled,this.cullFace=R.Vr.None,this.transparencyPassType=R.Am.NONE,this.normalType=ze.h.Attribute,this.textureCoordinateType=Jt.N.None,this.customDepthTest=R.Gv.Less,this.spherical=!1,this.hasVertexColors=!1,this.hasSymbolColors=!1,this.hasVerticalOffset=!1,this.hasSlicePlane=!1,this.hasSliceHighlight=!0,this.hasColorTexture=!1,this.hasMetalnessAndRoughnessTexture=!1,this.hasEmissionTexture=!1,this.hasOcclusionTexture=!1,this.hasNormalTexture=!1,this.hasScreenSizePerspective=!1,this.hasVertexTangents=!1,this.hasOccludees=!1,this.hasMultipassTerrain=!1,this.hasModelTransformation=!1,this.offsetBackfaces=!1,this.vvSize=!1,this.vvColor=!1,this.receiveShadows=!1,this.receiveAmbientOcclusion=!1,this.textureAlphaPremultiplied=!1,this.instanced=!1,this.instancedColor=!1,this.instancedDoublePrecision=!1,this.doublePrecisionRequiresObfuscation=!1,this.writeDepth=!0,this.transparent=!1,this.enableOffset=!0,this.cullAboveGround=!1}}(0,cr._)([ur({count:Ue.H.COUNT})],hr.prototype,"output",void 0),(0,cr._)([ur({count:R.JJ.COUNT})],hr.prototype,"alphaDiscardMode",void 0),(0,cr._)([ur({count:Ge.q.COUNT})],hr.prototype,"doubleSidedMode",void 0),(0,cr._)([ur({count:Ve.f7.COUNT})],hr.prototype,"pbrMode",void 0),(0,cr._)([ur({count:R.Vr.COUNT})],hr.prototype,"cullFace",void 0),(0,cr._)([ur({count:R.Am.COUNT})],hr.prototype,"transparencyPassType",void 0),(0,cr._)([ur({count:ze.h.COUNT})],hr.prototype,"normalType",void 0),(0,cr._)([ur({count:Jt.N.COUNT})],hr.prototype,"textureCoordinateType",void 0),(0,cr._)([ur({count:R.Gv.COUNT})],hr.prototype,"customDepthTest",void 0),(0,cr._)([ur()],hr.prototype,"spherical",void 0),(0,cr._)([ur()],hr.prototype,"hasVertexColors",void 0),(0,cr._)([ur()],hr.prototype,"hasSymbolColors",void 0),(0,cr._)([ur()],hr.prototype,"hasVerticalOffset",void 0),(0,cr._)([ur()],hr.prototype,"hasSlicePlane",void 0),(0,cr._)([ur()],hr.prototype,"hasSliceHighlight",void 0),(0,cr._)([ur()],hr.prototype,"hasColorTexture",void 0),(0,cr._)([ur()],hr.prototype,"hasMetalnessAndRoughnessTexture",void 0),(0,cr._)([ur()],hr.prototype,"hasEmissionTexture",void 0),(0,cr._)([ur()],hr.prototype,"hasOcclusionTexture",void 0),(0,cr._)([ur()],hr.prototype,"hasNormalTexture",void 0),(0,cr._)([ur()],hr.prototype,"hasScreenSizePerspective",void 0),(0,cr._)([ur()],hr.prototype,"hasVertexTangents",void 0),(0,cr._)([ur()],hr.prototype,"hasOccludees",void 0),(0,cr._)([ur()],hr.prototype,"hasMultipassTerrain",void 0),(0,cr._)([ur()],hr.prototype,"hasModelTransformation",void 0),(0,cr._)([ur()],hr.prototype,"offsetBackfaces",void 0),(0,cr._)([ur()],hr.prototype,"vvSize",void 0),(0,cr._)([ur()],hr.prototype,"vvColor",void 0),(0,cr._)([ur()],hr.prototype,"receiveShadows",void 0),(0,cr._)([ur()],hr.prototype,"receiveAmbientOcclusion",void 0),(0,cr._)([ur()],hr.prototype,"textureAlphaPremultiplied",void 0),(0,cr._)([ur()],hr.prototype,"instanced",void 0),(0,cr._)([ur()],hr.prototype,"instancedColor",void 0),(0,cr._)([ur()],hr.prototype,"instancedDoublePrecision",void 0),(0,cr._)([ur()],hr.prototype,"doublePrecisionRequiresObfuscation",void 0),(0,cr._)([ur()],hr.prototype,"writeDepth",void 0),(0,cr._)([ur()],hr.prototype,"transparent",void 0),(0,cr._)([ur()],hr.prototype,"enableOffset",void 0),(0,cr._)([ur()],hr.prototype,"cullAboveGround",void 0),(0,cr._)([ur({constValue:!0})],hr.prototype,"hasVvInstancing",void 0),(0,cr._)([ur({constValue:!1})],hr.prototype,"useCustomDTRExponentForWater",void 0),(0,cr._)([ur({constValue:!1})],hr.prototype,"supportsTextureAtlas",void 0),(0,cr._)([ur({constValue:!0})],hr.prototype,"useFillLights",void 0);var fr=r(41846);class pr extends sr{initializeConfiguration(e,t){super.initializeConfiguration(e,t),t.hasMetalnessAndRoughnessTexture=!1,t.hasEmissionTexture=!1,t.hasOcclusionTexture=!1,t.hasNormalTexture=!1,t.hasModelTransformation=!1,t.normalType=ze.h.Attribute,t.doubleSidedMode=Ge.q.WindingOrder,t.hasVertexTangents=!1}initializeProgram(e){return this._initializeProgram(e,pr.shader)}}pr.shader=new Qt(fr.R,(()=>r.e(8096).then(r.bind(r,38096))));class mr extends ke{constructor(e){super(e,_r),this.supportsEdges=!0,this.techniqueConfig=new hr,this.vertexBufferLayout=function(e){const t=e.textureId||e.normalTextureId||e.metallicRoughnessTextureId||e.emissiveTextureId||e.occlusionTextureId,r=(0,He.U$)().vec3f(F.T.POSITION).vec3f(F.T.NORMAL);return e.hasVertexTangents&&r.vec4f(F.T.TANGENT),t&&r.vec2f(F.T.UV0),e.hasVertexColors&&r.vec4u8(F.T.COLOR),e.hasSymbolColors&&r.vec4u8(F.T.SYMBOLCOLOR),r}(this.parameters),this.instanceBufferLayout=e.instanced?function(e){let t=(0,He.U$)();return t=e.instancedDoublePrecision?t.vec3f(F.T.MODELORIGINHI).vec3f(F.T.MODELORIGINLO).mat3f(F.T.MODEL).mat3f(F.T.MODELNORMAL):t.mat4f(F.T.MODEL).mat4f(F.T.MODELNORMAL),(0,n.pC)(e.instanced)&&e.instanced.includes("color")&&(t=t.vec4f(F.T.INSTANCECOLOR)),(0,n.pC)(e.instanced)&&e.instanced.includes("featureAttribute")&&(t=t.vec4f(F.T.INSTANCEFEATUREATTRIBUTE)),t}(this.parameters):null}isVisibleInPass(e){return e!==Ot.C.MATERIAL_DEPTH_SHADOWMAP_ALL&&e!==Ot.C.MATERIAL_DEPTH_SHADOWMAP_DEFAULT&&e!==Ot.C.MATERIAL_DEPTH_SHADOWMAP_HIGHLIGHT||this.parameters.castShadows}isVisible(){const e=this.parameters;if(!super.isVisible()||0===e.layerOpacity)return!1;const{instanced:t,hasVertexColors:r,hasSymbolColors:i,vvColorEnabled:o}=e,a=(0,n.pC)(t)&&t.includes("color"),s="replace"===e.colorMixMode,l=e.opacity>0,c=e.externalColor&&e.externalColor[3]>0;return r&&(a||o||i)?!!s||l:r?s?c:l:a||o||i?!!s||l:s?c:l}getConfiguration(e,t){return this.techniqueConfig.output=e,this.techniqueConfig.hasNormalTexture=!!this.parameters.normalTextureId,this.techniqueConfig.hasColorTexture=!!this.parameters.textureId,this.techniqueConfig.hasVertexTangents=this.parameters.hasVertexTangents,this.techniqueConfig.instanced=!!this.parameters.instanced,this.techniqueConfig.instancedDoublePrecision=this.parameters.instancedDoublePrecision,this.techniqueConfig.vvSize=this.parameters.vvSizeEnabled,this.techniqueConfig.hasVerticalOffset=(0,n.pC)(this.parameters.verticalOffset),this.techniqueConfig.hasScreenSizePerspective=(0,n.pC)(this.parameters.screenSizePerspective),this.techniqueConfig.hasSlicePlane=this.parameters.hasSlicePlane,this.techniqueConfig.hasSliceHighlight=this.parameters.hasSliceHighlight,this.techniqueConfig.alphaDiscardMode=this.parameters.textureAlphaMode,this.techniqueConfig.normalType="screenDerivative"===this.parameters.normals?ze.h.ScreenDerivative:ze.h.Attribute,this.techniqueConfig.transparent=this.parameters.transparent,this.techniqueConfig.writeDepth=this.parameters.writeDepth,(0,n.pC)(this.parameters.customDepthTest)&&(this.techniqueConfig.customDepthTest=this.parameters.customDepthTest),this.techniqueConfig.hasOccludees=this.parameters.hasOccludees,this.techniqueConfig.cullFace=this.parameters.hasSlicePlane?R.Vr.None:this.parameters.cullFace,this.techniqueConfig.hasMultipassTerrain=t.multipassTerrain.enabled,this.techniqueConfig.cullAboveGround=t.multipassTerrain.cullAboveGround,this.techniqueConfig.hasModelTransformation=(0,n.pC)(this.parameters.modelTransformation),e!==Ue.H.Color&&e!==Ue.H.Alpha||(this.techniqueConfig.hasVertexColors=this.parameters.hasVertexColors,this.techniqueConfig.hasSymbolColors=this.parameters.hasSymbolColors,this.parameters.treeRendering?this.techniqueConfig.doubleSidedMode=Ge.q.WindingOrder:this.techniqueConfig.doubleSidedMode=this.parameters.doubleSided&&"normal"===this.parameters.doubleSidedType?Ge.q.View:this.parameters.doubleSided&&"winding-order"===this.parameters.doubleSidedType?Ge.q.WindingOrder:Ge.q.None,this.techniqueConfig.instancedColor=(0,n.pC)(this.parameters.instanced)&&this.parameters.instanced.includes("color"),this.techniqueConfig.receiveShadows=this.parameters.receiveShadows&&this.parameters.shadowMappingEnabled,this.techniqueConfig.receiveAmbientOcclusion=!!t.ssaoHelper.ready&&this.parameters.receiveSSAO,this.techniqueConfig.vvColor=this.parameters.vvColorEnabled,this.techniqueConfig.textureAlphaPremultiplied=!!this.parameters.textureAlphaPremultiplied,this.techniqueConfig.pbrMode=this.parameters.usePBR?this.parameters.isSchematic?Ve.f7.Schematic:Ve.f7.Normal:Ve.f7.Disabled,this.techniqueConfig.hasMetalnessAndRoughnessTexture=!!this.parameters.metallicRoughnessTextureId,this.techniqueConfig.hasEmissionTexture=!!this.parameters.emissiveTextureId,this.techniqueConfig.hasOcclusionTexture=!!this.parameters.occlusionTextureId,this.techniqueConfig.offsetBackfaces=!(!this.parameters.transparent||!this.parameters.offsetTransparentBackfaces),this.techniqueConfig.transparencyPassType=t.transparencyPassType,this.techniqueConfig.enableOffset=t.camera.relativeElevation<5e5),this.techniqueConfig}intersect(e,t,r,i,o,a,s){if((0,n.pC)(this.parameters.verticalOffset)){const e=i.camera;(0,c.s)(Sr,r[12],r[13],r[14]);let t=null;switch(i.viewingMode){case Be.JY.Global:t=(0,c.n)(Ar,Sr);break;case Be.JY.Local:t=(0,c.c)(Ar,br)}let n=0;const s=(0,c.b)(Mr,Sr,e.eye),l=(0,c.l)(s),u=(0,c.g)(s,s,1/l);let d=null;this.parameters.screenSizePerspective&&(d=(0,c.e)(t,u)),n+=(0,qe.Hx)(e,l,this.parameters.verticalOffset,d,this.parameters.screenSizePerspective),(0,c.g)(t,t,n),(0,c.t)(Er,t,i.transform.inverseRotation),o=(0,c.b)(Tr,o,Er),a=(0,c.b)(xr,a,Er)}var l;(0,qe.Bw)(e,t,i,o,a,(l=i.verticalOffset,(0,n.pC)(l)?(zt.offset=l,zt):null),s)}requiresSlot(e){return e===(this.parameters.transparent?this.parameters.writeDepth?Nt.r.TRANSPARENT_MATERIAL:Nt.r.TRANSPARENT_DEPTH_WRITE_DISABLED_MATERIAL:Nt.r.OPAQUE_MATERIAL)||e===Nt.r.DRAPED_MATERIAL}createGLMaterial(e){return e.output===Ue.H.Color||e.output===Ue.H.Alpha||e.output===Ue.H.Depth||e.output===Ue.H.Normal||e.output===Ue.H.Shadow||e.output===Ue.H.Highlight?new gr(e):null}createBufferWriter(){return new vr(this.vertexBufferLayout,this.instanceBufferLayout)}}class gr extends We.F{constructor(e){super({...e,...e.material.parameters})}_updateParameters(e){const t=this._material.parameters;this.updateTexture(t.textureId);const r=e.camera.viewInverseTransposeMatrix;return(0,c.s)(t.origin,r[3],r[7],r[11]),this._material.setParameters(this.passParameters),this.ensureTechnique(t.treeRendering?pr:sr,e)}_updateShadowState(e){e.shadowMap.enabled!==this._material.parameters.shadowMappingEnabled&&this._material.setParameters({shadowMappingEnabled:e.shadowMap.enabled})}_updateOccludeeState(e){e.hasOccludees!==this._material.parameters.hasOccludees&&this._material.setParameters({hasOccludees:e.hasOccludees})}beginSlot(e){return this._output!==Ue.H.Color&&this._output!==Ue.H.Alpha||(this._updateShadowState(e),this._updateOccludeeState(e)),this._updateParameters(e)}}const _r=new class extends ar{constructor(){super(...arguments),this.initTextureTransparent=!1,this.treeRendering=!1,this.hasVertexTangents=!1,this.renderOccluded=Fe.Occlude}};class vr{constructor(e,t){this.vertexBufferLayout=e,this.instanceBufferLayout=t}allocate(e){return this.vertexBufferLayout.createBuffer(e)}elementCount(e){return e.indices.get(F.T.POSITION).length}write(e,t,r,i){!function(e,t,r,i,n,o){for(const a of t.fieldNames){const t=e.vertexAttributes.get(a),s=e.indices.get(a);if(t&&s)switch(a){case F.T.POSITION:{(0,C.hu)(3===t.size);const e=n.getField(a,h.ct);e&&qt(s,t.data,r,e,o);break}case F.T.NORMAL:{(0,C.hu)(3===t.size);const e=n.getField(a,h.ct);e&&kt(s,t.data,i,e,o);break}case F.T.UV0:{(0,C.hu)(2===t.size);const e=n.getField(a,h.Eu);e&&Vt(s,t.data,e,o);break}case F.T.COLOR:{(0,C.hu)(3===t.size||4===t.size);const e=n.getField(a,h.mc);e&&Xt(s,t.data,t.size,e,o);break}case F.T.SYMBOLCOLOR:{(0,C.hu)(3===t.size||4===t.size);const e=n.getField(a,h.mc);e&&Xt(s,t.data,t.size,e,o);break}case F.T.TANGENT:{(0,C.hu)(4===t.size);const e=n.getField(a,h.ek);e&&$t(s,t.data,i,e,o);break}}}}(t,this.vertexBufferLayout,e.transformation,e.invTranspTransformation,r,i)}}const Tr=(0,u.c)(),xr=(0,u.c)(),br=(0,u.f)(0,0,1),Ar=(0,u.c)(),Er=(0,u.c)(),Sr=(0,u.c)(),Mr=(0,u.c)(),Rr=A.Z.getLogger("esri.views.3d.layers.graphics.objectResourceUtils");function wr(e){throw new b.Z("",`Request for object resource failed: ${e}`)}function Cr(e){const t=e.params,r=t.topology;let i=!0;switch(t.vertexAttributes||(Rr.warn("Geometry must specify vertex attributes"),i=!1),t.topology){case"PerAttributeArray":break;case"Indexed":case null:case void 0:{const e=t.faces;if(e){if(t.vertexAttributes)for(const r in t.vertexAttributes){const t=e[r];t&&t.values?(null!=t.valueType&&"UInt32"!==t.valueType&&(Rr.warn(`Unsupported indexed geometry indices type '${t.valueType}', only UInt32 is currently supported`),i=!1),null!=t.valuesPerElement&&1!==t.valuesPerElement&&(Rr.warn(`Unsupported indexed geometry values per element '${t.valuesPerElement}', only 1 is currently supported`),i=!1)):(Rr.warn(`Indexed geometry does not specify face indices for '${r}' attribute`),i=!1)}}else Rr.warn("Indexed geometries must specify faces"),i=!1;break}default:Rr.warn(`Unsupported topology '${r}'`),i=!1}e.params.material||(Rr.warn("Geometry requires material"),i=!1);const n=e.params.vertexAttributes;for(const e in n)n[e].values||(Rr.warn("Geometries with externally defined attributes are not yet supported"),i=!1);return i}function yr(e){const t=(0,d.cS)();return e.forEach((e=>{const r=e.boundingInfo;(0,n.pC)(r)&&((0,d.pp)(t,r.getBBMin()),(0,d.pp)(t,r.getBBMax()))})),t}async function Pr(e,t){const r=[];for(const i in e){const o=e[i],a=o.images[0].data;if(!a){Rr.warn("Externally referenced texture data is not yet supported");continue}const s=o.encoding+";base64,"+a,l="/textureDefinitions/"+i,c="rgba"===o.channels?o.alphaChannelUsage||"transparency":"none",u={noUnpackFlip:!0,wrap:{s:j.e8.REPEAT,t:j.e8.REPEAT},preMultiplyAlpha:Or(c)!==R.JJ.Opaque},d=(0,n.pC)(t)&&t.disableTextures?Promise.resolve(null):M(s,t);r.push(d.then((e=>({refId:l,image:e,params:u,alphaChannelUsage:c}))))}const i=await Promise.all(r),o={};for(const e of i)o[e.refId]=e;return o}function Or(e){switch(e){case"mask":return R.JJ.Mask;case"maskAndTransparency":return R.JJ.MaskBlend;case"none":return R.JJ.Opaque;default:return R.JJ.Blend}}function Nr(e){const t=e.params;return{id:1,material:t.material,texture:t.texture,region:t.texture}}const Ir=new S.G(1,2,"wosr");var Dr=r(57758),Lr=r(10816),Fr=r(75488),Br=r(56067);async function Hr(e,t){const r=Ur((0,i.pJ)(e));if("wosr"===r.fileType){const e=await(t.cache?t.cache.loadWOSR(r.url,t):async function(e,t){const r=await async function(e,t){const r=(0,n.pC)(t)&&t.streamDataRequester;if(r)return async function(e,t,r){const i=await(0,x.q6)(t.request(e,"json",r));if(!0===i.ok)return i.value;(0,E.r9)(i.error),wr(i.error.details.url)}(e,r,t);const i=await(0,x.q6)((0,T.default)(e,(0,n.Wg)(t)));if(!0===i.ok)return i.value.data;(0,E.r9)(i.error),wr(i.error)}(e,t);return{resource:r,textures:await Pr(r.textureDefinitions,t)}}(r.url,t)),i=function(e,t){const r=[],i=[],o=[],a=[],s=e.resource,l=S.G.parse(s.version||"1.0","wosr");Ir.validate(l);const c=s.model.name,d=s.model.geometries,h=s.materialDefinitions,f=e.textures;let p=0;const m=new Map;for(let e=0;e<d.length;e++){const s=d[e];if(!Cr(s))continue;const l=Nr(s),c=s.params.vertexAttributes,g=[];for(const e in c){const t=c[e],r=t.values;g.push([e,{data:r,size:t.valuesPerElement,exclusive:!0}])}const _=[];if("PerAttributeArray"!==s.params.topology){const e=s.params.faces;for(const t in e)_.push([t,new Uint32Array(e[t].values)])}const v=f&&f[l.texture];if(v&&!m.has(l.texture)){const{image:e,params:t}=v,r=new Le(e,t);a.push(r),m.set(l.texture,r)}const T=m.get(l.texture),x=T?T.id:void 0;let b=o[l.material]?o[l.material][l.texture]:null;if(!b){const e=h[l.material.substring(l.material.lastIndexOf("/")+1)].params;1===e.transparency&&(e.transparency=0);const r=v&&v.alphaChannelUsage,i=e.transparency>0||"transparency"===r||"maskAndTransparency"===r,a=v?Or(v.alphaChannelUsage):void 0,s={ambient:(0,u.d)(e.diffuse),diffuse:(0,u.d)(e.diffuse),opacity:1-(e.transparency||0),transparent:i,textureAlphaMode:a,textureAlphaCutoff:.33,textureId:x,initTextureTransparent:!0,doubleSided:!0,cullFace:R.Vr.None,colorMixMode:e.externalColorMixMode||"tint",textureAlphaPremultiplied:!!v&&!!v.params.preMultiplyAlpha};(0,n.pC)(t)&&t.materialParamsMixin&&Object.assign(s,t.materialParamsMixin),b=new mr(s),o[l.material]||(o[l.material]={}),o[l.material][l.texture]=b}i.push(b);const A=new B(g,_);p+=_.position?_.position.length:0,r.push(A)}return{name:c,stageResources:{textures:a,materials:i,geometries:r},pivotOffset:s.model.pivotOffset,boundingBox:yr(r),numberOfVertices:p,lodThreshold:null}}(e,t);return{lods:[i],referenceBoundingBox:i.boundingBox,isEsriSymbolResource:!1,isWosr:!0,remove:e.remove}}const o=await(t.cache?t.cache.loadGLTF(r.url,t,t.usePBR):(0,_.z)(new g.C(t.streamDataRequester),r.url,t,t.usePBR)),a=(0,n.U2)(o.model.meta,"ESRI_proxyEllipsoid");o.meta.isEsriSymbolResource&&(0,n.pC)(a)&&o.meta.uri.includes("/RealisticTrees/")&&function(e,t){for(let r=0;r<e.model.lods.length;++r){const i=e.model.lods[r];e.customMeta.esriTreeRendering=!0;for(const o of i.parts){const i=o.attributes.normal;if((0,n.Wi)(i))return;const a=o.attributes.position,d=a.count,f=(0,u.c)(),p=(0,u.c)(),g=(0,u.c)(),_=(0,m.gS)(h.mc,d),v=(0,m.gS)(h.ct,d),T=(0,s.a)((0,l.c)(),o.transform);for(let n=0;n<d;n++){a.getVec(n,p),i.getVec(n,f),(0,c.m)(p,p,o.transform),(0,c.b)(g,p,t.center),(0,c.E)(g,g,t.radius);const s=g[2],l=(0,c.l)(g),u=Math.min(.45+.55*l*l,1);(0,c.E)(g,g,t.radius),(0,c.m)(g,g,T),(0,c.n)(g,g),r+1!==e.model.lods.length&&e.model.lods.length>1&&(0,c.h)(g,g,f,s>-1?.2:Math.min(-4*s-3.8,1)),v.setVec(n,g),_.set(n,0,255*u),_.set(n,1,255*u),_.set(n,2,255*u),_.set(n,3,255)}o.attributes.normal=v,o.attributes.color=_}}}(o,a);const d=o.meta.isEsriSymbolResource?{usePBR:t.usePBR,isSchematic:!1,treeRendering:!!o.customMeta.esriTreeRendering,mrrFactors:[0,1,.2]}:{usePBR:t.usePBR,isSchematic:!1,treeRendering:!1,mrrFactors:[0,1,.5]},f={...t.materialParamsMixin,treeRendering:!!o.customMeta.esriTreeRendering};if(null!=r.specifiedLodIndex){const e=zr(o,d,f,r.specifiedLodIndex);let t=e[0].boundingBox;return 0!==r.specifiedLodIndex&&(t=zr(o,d,f,0)[0].boundingBox),{lods:e,referenceBoundingBox:t,isEsriSymbolResource:o.meta.isEsriSymbolResource,isWosr:!1,remove:o.remove}}const p=zr(o,d,f);return{lods:p,referenceBoundingBox:p[0].boundingBox,isEsriSymbolResource:o.meta.isEsriSymbolResource,isWosr:!1,remove:o.remove}}function Ur(e){const t=e.match(/(.*\.(gltf|glb))(\?lod=([0-9]+))?$/);return t?{fileType:"gltf",url:t[1],specifiedLodIndex:null!=t[4]?Number(t[4]):null}:e.match(/(.*\.(json|json\.gz))$/)?{fileType:"wosr",url:e,specifiedLodIndex:null}:{fileType:"unknown",url:e,specifiedLodIndex:null}}function zr(e,t,r,i){const s=e.model,l=(0,a.c)(),c=new Array,u=new Map,g=new Map;return s.lods.forEach(((e,a)=>{if(void 0!==i&&a!==i)return;const _={name:e.name,stageResources:{textures:new Array,materials:new Array,geometries:new Array},lodThreshold:(0,n.pC)(e.lodThreshold)?e.lodThreshold:null,pivotOffset:[0,0,0],numberOfVertices:0,boundingBox:(0,d.cS)()};c.push(_),e.parts.forEach((e=>{const i=e.material+(e.attributes.normal?"_normal":"")+(e.attributes.color?"_color":"")+(e.attributes.texCoord0?"_texCoord0":"")+(e.attributes.tangent?"_tangent":""),a=s.materials.get(e.material),c=(0,n.pC)(e.attributes.texCoord0),T=(0,n.pC)(e.attributes.normal),x=function(e){switch(e){case"BLEND":return R.JJ.Blend;case"MASK":return R.JJ.Mask;case"OPAQUE":case null:case void 0:return R.JJ.Opaque}}(a.alphaMode);if(!u.has(i)){if(c){if((0,n.pC)(a.textureColor)&&!g.has(a.textureColor)){const e=s.textures.get(a.textureColor),t={...e.parameters,preMultiplyAlpha:x!==R.JJ.Opaque};g.set(a.textureColor,new Le(e.data,t))}if((0,n.pC)(a.textureNormal)&&!g.has(a.textureNormal)){const e=s.textures.get(a.textureNormal);g.set(a.textureNormal,new Le(e.data,e.parameters))}if((0,n.pC)(a.textureOcclusion)&&!g.has(a.textureOcclusion)){const e=s.textures.get(a.textureOcclusion);g.set(a.textureOcclusion,new Le(e.data,e.parameters))}if((0,n.pC)(a.textureEmissive)&&!g.has(a.textureEmissive)){const e=s.textures.get(a.textureEmissive);g.set(a.textureEmissive,new Le(e.data,e.parameters))}if((0,n.pC)(a.textureMetallicRoughness)&&!g.has(a.textureMetallicRoughness)){const e=s.textures.get(a.textureMetallicRoughness);g.set(a.textureMetallicRoughness,new Le(e.data,e.parameters))}}const o=a.color[0]**(1/Dr.K),l=a.color[1]**(1/Dr.K),d=a.color[2]**(1/Dr.K),h=a.emissiveFactor[0]**(1/Dr.K),f=a.emissiveFactor[1]**(1/Dr.K),p=a.emissiveFactor[2]**(1/Dr.K),m=(0,n.pC)(a.textureColor)&&c?g.get(a.textureColor):null;u.set(i,new mr({...t,transparent:x===R.JJ.Blend,customDepthTest:R.Gv.Lequal,textureAlphaMode:x,textureAlphaCutoff:a.alphaCutoff,diffuse:[o,l,d],ambient:[o,l,d],opacity:a.opacity,doubleSided:a.doubleSided,doubleSidedType:"winding-order",cullFace:a.doubleSided?R.Vr.None:R.Vr.Back,hasVertexColors:!!e.attributes.color,hasVertexTangents:!!e.attributes.tangent,normals:T?"default":"screenDerivative",castShadows:!0,receiveSSAO:!0,textureId:(0,n.pC)(m)?m.id:void 0,colorMixMode:a.colorMixMode,normalTextureId:(0,n.pC)(a.textureNormal)&&c?g.get(a.textureNormal).id:void 0,textureAlphaPremultiplied:(0,n.pC)(m)&&!!m.params.preMultiplyAlpha,occlusionTextureId:(0,n.pC)(a.textureOcclusion)&&c?g.get(a.textureOcclusion).id:void 0,emissiveTextureId:(0,n.pC)(a.textureEmissive)&&c?g.get(a.textureEmissive).id:void 0,metallicRoughnessTextureId:(0,n.pC)(a.textureMetallicRoughness)&&c?g.get(a.textureMetallicRoughness).id:void 0,emissiveFactor:[h,f,p],mrrFactors:[a.metallicFactor,a.roughnessFactor,t.mrrFactors[2]],isSchematic:!1,...r}))}const b=function(e,t){switch(t){case j.MX.TRIANGLES:return(0,v.nh)(e);case j.MX.TRIANGLE_STRIP:return(0,v.DA)(e);case j.MX.TRIANGLE_FAN:return(0,v.jX)(e)}}(e.indices||e.attributes.position.count,e.primitiveType),A=e.attributes.position.count,E=(0,m.gS)(h.ct,A);(0,f.t)(E,e.attributes.position,e.transform);const S=[[F.T.POSITION,{data:E.typedBuffer,size:E.elementCount,exclusive:!0}]],M=[[F.T.POSITION,b]];if((0,n.pC)(e.attributes.normal)){const t=(0,m.gS)(h.ct,A);(0,o.a)(l,e.transform),(0,f.a)(t,e.attributes.normal,l),S.push([F.T.NORMAL,{data:t.typedBuffer,size:t.elementCount,exclusive:!0}]),M.push([F.T.NORMAL,b])}if((0,n.pC)(e.attributes.tangent)){const t=(0,m.gS)(h.ek,A);(0,o.a)(l,e.transform),(0,p.t)(t,e.attributes.tangent,l),S.push([F.T.TANGENT,{data:t.typedBuffer,size:t.elementCount,exclusive:!0}]),M.push([F.T.TANGENT,b])}if((0,n.pC)(e.attributes.texCoord0)){const t=(0,m.gS)(h.Eu,A);(0,Lr.n)(t,e.attributes.texCoord0),S.push([F.T.UV0,{data:t.typedBuffer,size:t.elementCount,exclusive:!0}]),M.push([F.T.UV0,b])}if((0,n.pC)(e.attributes.color)){const t=(0,m.gS)(h.mc,A);if(4===e.attributes.color.elementCount)e.attributes.color instanceof h.ek?(0,p.s)(t,e.attributes.color,255):e.attributes.color instanceof h.mc?(0,Fr.c)(t,e.attributes.color):e.attributes.color instanceof h.v6&&(0,p.s)(t,e.attributes.color,1/256);else{(0,Fr.f)(t,255,255,255,255);const r=new h.ne(t.buffer,0,4);e.attributes.color instanceof h.ct?(0,f.s)(r,e.attributes.color,255):e.attributes.color instanceof h.ne?(0,Br.c)(r,e.attributes.color):e.attributes.color instanceof h.mw&&(0,f.s)(r,e.attributes.color,1/256)}S.push([F.T.COLOR,{data:t.typedBuffer,size:t.elementCount,exclusive:!0}]),M.push([F.T.COLOR,b])}const w=new B(S,M);_.stageResources.geometries.push(w),_.stageResources.materials.push(u.get(i)),c&&((0,n.pC)(a.textureColor)&&_.stageResources.textures.push(g.get(a.textureColor)),(0,n.pC)(a.textureNormal)&&_.stageResources.textures.push(g.get(a.textureNormal)),(0,n.pC)(a.textureOcclusion)&&_.stageResources.textures.push(g.get(a.textureOcclusion)),(0,n.pC)(a.textureEmissive)&&_.stageResources.textures.push(g.get(a.textureEmissive)),(0,n.pC)(a.textureMetallicRoughness)&&_.stageResources.textures.push(g.get(a.textureMetallicRoughness))),_.numberOfVertices+=A;const C=w.boundingInfo;(0,n.pC)(C)&&((0,d.pp)(_.boundingBox,C.getBBMin()),(0,d.pp)(_.boundingBox,C.getBBMax()))}))})),c}},6206:(e,t,r)=>{var i,n;r.d(t,{a9:()=>i}),r(22021),(n=i||(i={}))[n.Multiply=1]="Multiply",n[n.Ignore=2]="Ignore",n[n.Replace=3]="Replace",n[n.Tint=4]="Tint"},65576:(e,t,r)=>{r.d(t,{U$:()=>s});var i=r(56481),n=r(79583);class o{constructor(e,t){this.layout=e,this.buffer="number"==typeof t?new ArrayBuffer(t*e.stride):t;for(const t of e.fieldNames){const r=e.fields.get(t);this[t]=new r.constructor(this.buffer,r.offset,this.stride)}}get stride(){return this.layout.stride}get count(){return this.buffer.byteLength/this.stride}get byteLength(){return this.buffer.byteLength}getField(e,t){const r=this[e];return r&&r.elementCount===t.ElementCount&&r.elementType===t.ElementType?r:null}slice(e,t){return new o(this.layout,this.buffer.slice(e*this.stride,t*this.stride))}copyFrom(e,t,r,i){const n=this.stride;if(n%4==0){const o=new Uint32Array(e.buffer,t*n,i*n/4);new Uint32Array(this.buffer,r*n,i*n/4).set(o)}else{const o=new Uint8Array(e.buffer,t*n,i*n);new Uint8Array(this.buffer,r*n,i*n).set(o)}}}class a{constructor(){this.stride=0,this.fields=new Map,this.fieldNames=[]}vec2f(e,t){return this._appendField(e,i.Eu,t),this}vec2f64(e,t){return this._appendField(e,i.q6,t),this}vec3f(e,t){return this._appendField(e,i.ct,t),this}vec3f64(e,t){return this._appendField(e,i.fP,t),this}vec4f(e,t){return this._appendField(e,i.ek,t),this}vec4f64(e,t){return this._appendField(e,i.Cd,t),this}mat3f(e,t){return this._appendField(e,i.gK,t),this}mat3f64(e,t){return this._appendField(e,i.ey,t),this}mat4f(e,t){return this._appendField(e,i.bj,t),this}mat4f64(e,t){return this._appendField(e,i.O1,t),this}vec4u8(e,t){return this._appendField(e,i.mc,t),this}f32(e,t){return this._appendField(e,i.ly,t),this}f64(e,t){return this._appendField(e,i.oS,t),this}u8(e,t){return this._appendField(e,i.D_,t),this}u16(e,t){return this._appendField(e,i.av,t),this}i8(e,t){return this._appendField(e,i.Hz,t),this}vec2i8(e,t){return this._appendField(e,i.Vs,t),this}vec2i16(e,t){return this._appendField(e,i.or,t),this}vec2u8(e,t){return this._appendField(e,i.xA,t),this}vec4u16(e,t){return this._appendField(e,i.v6,t),this}u32(e,t){return this._appendField(e,i.Nu,t),this}_appendField(e,t,r){const i=t.ElementCount*(0,n.n1)(t.ElementType),o=this.stride;this.fields.set(e,{size:i,constructor:t,offset:o,optional:r}),this.stride+=i,this.fieldNames.push(e)}alignTo(e){return this.stride=Math.floor((this.stride+e-1)/e)*e,this}hasField(e){return this.fieldNames.includes(e)}createBuffer(e){return new o(this,e)}createView(e){return new o(this,e)}clone(){const e=new a;return e.stride=this.stride,e.fields=new Map,this.fields.forEach(((t,r)=>e.fields.set(r,t))),e.fieldNames=this.fieldNames.slice(),e.BufferType=this.BufferType,e}}function s(){return new a}},1391:(e,t,r)=>{r.d(t,{q:()=>s});var i=r(18361),n=r(2095),o=r(19693),a=r(74709);function s(e,t){t.output===i.H.Color&&t.receiveShadows?(e.varyings.add("linearDepth","float"),e.vertex.code.add(a.H`void forwardLinearDepth() { linearDepth = gl_Position.w; }`)):t.output===i.H.Depth||t.output===i.H.Shadow?(e.include(n.up,t),e.varyings.add("linearDepth","float"),e.vertex.uniforms.add(new o.A("nearFar",((e,t)=>t.camera.nearFar))),e.vertex.code.add(a.H`void forwardLinearDepth() {
|
|
160
|
-
linearDepth = (-positionView().z - nearFar[0]) / (nearFar[1] - nearFar[0]);
|
|
161
|
-
}`)):e.vertex.code.add(a.H`void forwardLinearDepth() {}`)}},62707:(e,t,r)=>{r.d(t,{w:()=>n});var i=r(74709);function n(e){e.vertex.code.add(i.H`vec4 offsetBackfacingClipPosition(vec4 posClip, vec3 posWorld, vec3 normalWorld, vec3 camPosWorld) {
|
|
162
|
-
vec3 camToVert = posWorld - camPosWorld;
|
|
163
|
-
bool isBackface = dot(camToVert, normalWorld) > 0.0;
|
|
164
|
-
if (isBackface) {
|
|
165
|
-
posClip.z += 0.0000003 * posClip.w;
|
|
166
|
-
}
|
|
167
|
-
return posClip;
|
|
168
|
-
}`)}},18361:(e,t,r)=>{var i;r.d(t,{H:()=>i}),function(e){e[e.Color=0]="Color",e[e.Depth=1]="Depth",e[e.Normal=2]="Normal",e[e.Shadow=3]="Shadow",e[e.Highlight=4]="Highlight",e[e.Draped=5]="Draped",e[e.Occlusion=6]="Occlusion",e[e.Alpha=7]="Alpha",e[e.COUNT=8]="COUNT"}(i||(i={}))},51546:(e,t,r)=>{r.d(t,{f5:()=>u});var i=r(70586),n=r(52138),o=r(13598),a=r(17896),s=r(65617),l=r(70582),c=(r(172),r(74709));function u(e,t){!function(e,t,r){if(!t.hasSlicePlane){const r=c.H`#define rejectBySlice(_pos_) false
|
|
169
|
-
#define discardBySlice(_pos_) {}
|
|
170
|
-
#define highlightSlice(_color_, _pos_) (_color_)`;return t.hasSliceInVertexProgram&&e.vertex.code.add(r),void e.fragment.code.add(r)}e.extensions.add("GL_OES_standard_derivatives"),t.hasSliceInVertexProgram&&e.vertex.uniforms.add(r),e.fragment.uniforms.add(r);const i=c.H`struct SliceFactors {
|
|
171
|
-
float front;
|
|
172
|
-
float side0;
|
|
173
|
-
float side1;
|
|
174
|
-
float side2;
|
|
175
|
-
float side3;
|
|
176
|
-
};
|
|
177
|
-
SliceFactors calculateSliceFactors(vec3 pos) {
|
|
178
|
-
vec3 rel = pos - slicePlaneOrigin;
|
|
179
|
-
vec3 slicePlaneNormal = -cross(slicePlaneBasis1, slicePlaneBasis2);
|
|
180
|
-
float slicePlaneW = -dot(slicePlaneNormal, slicePlaneOrigin);
|
|
181
|
-
float basis1Len2 = dot(slicePlaneBasis1, slicePlaneBasis1);
|
|
182
|
-
float basis2Len2 = dot(slicePlaneBasis2, slicePlaneBasis2);
|
|
183
|
-
float basis1Dot = dot(slicePlaneBasis1, rel);
|
|
184
|
-
float basis2Dot = dot(slicePlaneBasis2, rel);
|
|
185
|
-
return SliceFactors(
|
|
186
|
-
dot(slicePlaneNormal, pos) + slicePlaneW,
|
|
187
|
-
-basis1Dot - basis1Len2,
|
|
188
|
-
basis1Dot - basis1Len2,
|
|
189
|
-
-basis2Dot - basis2Len2,
|
|
190
|
-
basis2Dot - basis2Len2
|
|
191
|
-
);
|
|
192
|
-
}
|
|
193
|
-
bool sliceByFactors(SliceFactors factors) {
|
|
194
|
-
return factors.front < 0.0
|
|
195
|
-
&& factors.side0 < 0.0
|
|
196
|
-
&& factors.side1 < 0.0
|
|
197
|
-
&& factors.side2 < 0.0
|
|
198
|
-
&& factors.side3 < 0.0;
|
|
199
|
-
}
|
|
200
|
-
bool sliceEnabled() {
|
|
201
|
-
return dot(slicePlaneBasis1, slicePlaneBasis1) != 0.0;
|
|
202
|
-
}
|
|
203
|
-
bool sliceByPlane(vec3 pos) {
|
|
204
|
-
return sliceEnabled() && sliceByFactors(calculateSliceFactors(pos));
|
|
205
|
-
}
|
|
206
|
-
#define rejectBySlice(_pos_) sliceByPlane(_pos_)
|
|
207
|
-
#define discardBySlice(_pos_) { if (sliceByPlane(_pos_)) discard; }`,n=c.H`vec4 applySliceHighlight(vec4 color, vec3 pos) {
|
|
208
|
-
SliceFactors factors = calculateSliceFactors(pos);
|
|
209
|
-
const float HIGHLIGHT_WIDTH = 1.0;
|
|
210
|
-
const vec4 HIGHLIGHT_COLOR = vec4(0.0, 0.0, 0.0, 0.3);
|
|
211
|
-
factors.front /= (2.0 * HIGHLIGHT_WIDTH) * fwidth(factors.front);
|
|
212
|
-
factors.side0 /= (2.0 * HIGHLIGHT_WIDTH) * fwidth(factors.side0);
|
|
213
|
-
factors.side1 /= (2.0 * HIGHLIGHT_WIDTH) * fwidth(factors.side1);
|
|
214
|
-
factors.side2 /= (2.0 * HIGHLIGHT_WIDTH) * fwidth(factors.side2);
|
|
215
|
-
factors.side3 /= (2.0 * HIGHLIGHT_WIDTH) * fwidth(factors.side3);
|
|
216
|
-
if (sliceByFactors(factors)) {
|
|
217
|
-
return color;
|
|
218
|
-
}
|
|
219
|
-
float highlightFactor = (1.0 - step(0.5, factors.front))
|
|
220
|
-
* (1.0 - step(0.5, factors.side0))
|
|
221
|
-
* (1.0 - step(0.5, factors.side1))
|
|
222
|
-
* (1.0 - step(0.5, factors.side2))
|
|
223
|
-
* (1.0 - step(0.5, factors.side3));
|
|
224
|
-
return mix(color, vec4(HIGHLIGHT_COLOR.rgb, color.a), highlightFactor * HIGHLIGHT_COLOR.a);
|
|
225
|
-
}`,o=t.hasSliceHighlight?c.H`
|
|
226
|
-
${n}
|
|
227
|
-
#define highlightSlice(_color_, _pos_) (sliceEnabled() ? applySliceHighlight(_color_, _pos_) : (_color_))
|
|
228
|
-
`:c.H`#define highlightSlice(_color_, _pos_) (_color_)`;t.hasSliceInVertexProgram&&e.vertex.code.add(i),e.fragment.code.add(i),e.fragment.code.add(o)}(e,t,[new l.B("slicePlaneOrigin",((e,r)=>function(e,t,r){if((0,i.Wi)(r.slicePlane))return s.Z;const n=d(e,t,r),o=h(n,r.slicePlane),l=f(e,n,r);return(0,i.pC)(l)?(0,a.m)(g,o,l):o}(t,e,r))),new l.B("slicePlaneBasis1",((e,r)=>{var n;return p(t,e,r,null==(n=(0,i.Wg)(r.slicePlane))?void 0:n.basis1)})),new l.B("slicePlaneBasis2",((e,r)=>{var n;return p(t,e,r,null==(n=(0,i.Wg)(r.slicePlane))?void 0:n.basis2)}))])}function d(e,t,r){return e.instancedDoublePrecision?(0,a.s)(m,r.camera.viewInverseTransposeMatrix[3],r.camera.viewInverseTransposeMatrix[7],r.camera.viewInverseTransposeMatrix[11]):t.slicePlaneLocalOrigin}function h(e,t){return(0,i.pC)(e)?(0,a.b)(g,t.origin,e):t.origin}function f(e,t,r){return e.hasSliceTranslatedView?(0,i.pC)(t)?(0,n.j)(v,r.camera.viewMatrix,t):r.camera.viewMatrix:null}function p(e,t,r,n){if((0,i.Wi)(n)||(0,i.Wi)(r.slicePlane))return s.Z;const o=d(e,t,r),l=h(o,r.slicePlane),c=f(e,o,r);return(0,i.pC)(c)?((0,a.a)(_,n,l),(0,a.m)(g,l,c),(0,a.m)(_,_,c),(0,a.b)(_,_,g)):n}const m=(0,s.c)(),g=(0,s.c)(),_=(0,s.c)(),v=(0,o.c)()},77171:(e,t,r)=>{r.d(t,{w:()=>n});var i=r(74709);function n(e,t={hasModelTransformation:!1,linearDepth:!1}){if(t.hasModelTransformation)return t.linearDepth?void e.vertex.code.add(i.H`vec4 transformPositionWithDepth(mat4 proj, mat4 view, mat4 model, vec3 pos, vec2 nearFar, out float depth) {
|
|
229
|
-
vec4 eye = view * (model * vec4(pos, 1.0));
|
|
230
|
-
depth = (-eye.z - nearFar[0]) / (nearFar[1] - nearFar[0]) ;
|
|
231
|
-
return proj * eye;
|
|
232
|
-
}`):void e.vertex.code.add(i.H`vec4 transformPosition(mat4 proj, mat4 view, mat4 model, vec3 pos) {
|
|
233
|
-
return proj * (view * (model * vec4(pos, 1.0)));
|
|
234
|
-
}`);t.linearDepth?e.vertex.code.add(i.H`vec4 transformPositionWithDepth(mat4 proj, mat4 view, vec3 pos, vec2 nearFar, out float depth) {
|
|
235
|
-
vec4 eye = view * vec4(pos, 1.0);
|
|
236
|
-
depth = (-eye.z - nearFar[0]) / (nearFar[1] - nearFar[0]) ;
|
|
237
|
-
return proj * eye;
|
|
238
|
-
}`):e.vertex.code.add(i.H`vec4 transformPosition(mat4 proj, mat4 view, vec3 pos) {
|
|
239
|
-
return proj * (view * vec4(pos, 1.0));
|
|
240
|
-
}`)}},47624:(e,t,r)=>{r.d(t,{f:()=>h});var i=r(17896),n=r(65617),o=r(18361),a=r(89243),s=r(70582),l=r(74709),c=r(8319),u=r(35065),d=r(9820);function h(e,t){t.instanced&&t.instancedDoublePrecision&&(e.attributes.add(u.T.MODELORIGINHI,"vec3"),e.attributes.add(u.T.MODELORIGINLO,"vec3"),e.attributes.add(u.T.MODEL,"mat3"),e.attributes.add(u.T.MODELNORMAL,"mat3"));const r=e.vertex;t.instancedDoublePrecision&&(r.include(a.$,t),r.uniforms.add(new s.B("viewOriginHi",((e,t)=>(0,d.U8)((0,i.s)(f,t.camera.viewInverseTransposeMatrix[3],t.camera.viewInverseTransposeMatrix[7],t.camera.viewInverseTransposeMatrix[11]),f)))),r.uniforms.add(new s.B("viewOriginLo",((e,t)=>(0,d.GB)((0,i.s)(f,t.camera.viewInverseTransposeMatrix[3],t.camera.viewInverseTransposeMatrix[7],t.camera.viewInverseTransposeMatrix[11]),f))))),r.code.add(l.H`
|
|
241
|
-
vec3 calculateVPos() {
|
|
242
|
-
${t.instancedDoublePrecision?"return model * localPosition().xyz;":"return localPosition().xyz;"}
|
|
243
|
-
}
|
|
244
|
-
`),r.code.add(l.H`
|
|
245
|
-
vec3 subtractOrigin(vec3 _pos) {
|
|
246
|
-
${t.instancedDoublePrecision?l.H`
|
|
247
|
-
vec3 originDelta = dpAdd(viewOriginHi, viewOriginLo, -modelOriginHi, -modelOriginLo);
|
|
248
|
-
return _pos - originDelta;`:"return vpos;"}
|
|
249
|
-
}
|
|
250
|
-
`),r.code.add(l.H`
|
|
251
|
-
vec3 dpNormal(vec4 _normal) {
|
|
252
|
-
${t.instancedDoublePrecision?"return normalize(modelNormal * _normal.xyz);":"return normalize(_normal.xyz);"}
|
|
253
|
-
}
|
|
254
|
-
`),t.output===o.H.Normal&&(r.uniforms.add(new c.g("viewNormal",((e,t)=>t.camera.viewInverseTransposeMatrix))),r.code.add(l.H`
|
|
255
|
-
vec3 dpNormalView(vec4 _normal) {
|
|
256
|
-
${t.instancedDoublePrecision?"return normalize((viewNormal * vec4(modelNormal * _normal.xyz, 1.0)).xyz);":"return normalize((viewNormal * _normal).xyz);"}
|
|
257
|
-
}
|
|
258
|
-
`)),t.hasVertexTangents&&r.code.add(l.H`
|
|
259
|
-
vec4 dpTransformVertexTangent(vec4 _tangent) {
|
|
260
|
-
${t.instancedDoublePrecision?"return vec4(modelNormal * _tangent.xyz, _tangent.w);":"return _tangent;"}
|
|
261
|
-
|
|
262
|
-
}
|
|
263
|
-
`)}const f=(0,n.c)()},64267:(e,t,r)=>{r.d(t,{O:()=>l,h:()=>o});var i=r(74709);function n(e){const t=i.H`vec3 decodeNormal(vec2 f) {
|
|
264
|
-
float z = 1.0 - abs(f.x) - abs(f.y);
|
|
265
|
-
return vec3(f + sign(f) * min(z, 0.0), z);
|
|
266
|
-
}`;e.fragment.code.add(t),e.vertex.code.add(t)}var o,a,s=r(35065);function l(e,t){t.normalType===o.Attribute&&(e.attributes.add(s.T.NORMAL,"vec3"),e.vertex.code.add(i.H`vec3 normalModel() {
|
|
267
|
-
return normal;
|
|
268
|
-
}`)),t.normalType===o.CompressedAttribute&&(e.include(n),e.attributes.add(s.T.NORMALCOMPRESSED,"vec2"),e.vertex.code.add(i.H`vec3 normalModel() {
|
|
269
|
-
return decodeNormal(normalCompressed);
|
|
270
|
-
}`)),t.normalType===o.ScreenDerivative&&(e.extensions.add("GL_OES_standard_derivatives"),e.fragment.code.add(i.H`vec3 screenDerivativeNormal(vec3 positionView) {
|
|
271
|
-
return normalize(cross(dFdx(positionView), dFdy(positionView)));
|
|
272
|
-
}`))}(a=o||(o={}))[a.Attribute=0]="Attribute",a[a.CompressedAttribute=1]="CompressedAttribute",a[a.Ground=2]="Ground",a[a.ScreenDerivative=3]="ScreenDerivative",a[a.COUNT=4]="COUNT"},37099:(e,t,r)=>{r.d(t,{f:()=>o});var i=r(74709),n=r(35065);function o(e){e.attributes.add(n.T.POSITION,"vec3"),e.vertex.code.add(i.H`vec3 positionModel() { return position; }`)}},76056:(e,t,r)=>{r.d(t,{R:()=>u});var i=r(6206),n=r(74709);function o(e){e.vertex.code.add(n.H`
|
|
273
|
-
vec4 decodeSymbolColor(vec4 symbolColor, out int colorMixMode) {
|
|
274
|
-
float symbolAlpha = 0.0;
|
|
275
|
-
|
|
276
|
-
const float maxTint = 85.0;
|
|
277
|
-
const float maxReplace = 170.0;
|
|
278
|
-
const float scaleAlpha = 3.0;
|
|
279
|
-
|
|
280
|
-
if (symbolColor.a > maxReplace) {
|
|
281
|
-
colorMixMode = ${n.H.int(i.a9.Multiply)};
|
|
282
|
-
symbolAlpha = scaleAlpha * (symbolColor.a - maxReplace);
|
|
283
|
-
} else if (symbolColor.a > maxTint) {
|
|
284
|
-
colorMixMode = ${n.H.int(i.a9.Replace)};
|
|
285
|
-
symbolAlpha = scaleAlpha * (symbolColor.a - maxTint);
|
|
286
|
-
} else if (symbolColor.a > 0.0) {
|
|
287
|
-
colorMixMode = ${n.H.int(i.a9.Tint)};
|
|
288
|
-
symbolAlpha = scaleAlpha * symbolColor.a;
|
|
289
|
-
} else {
|
|
290
|
-
colorMixMode = ${n.H.int(i.a9.Multiply)};
|
|
291
|
-
symbolAlpha = 0.0;
|
|
292
|
-
}
|
|
293
|
-
|
|
294
|
-
return vec4(symbolColor.r, symbolColor.g, symbolColor.b, symbolAlpha);
|
|
295
|
-
}
|
|
296
|
-
`)}var a=r(68174),s=r(67498),l=r(35065),c=r(37782);function u(e,t){t.hasSymbolColors?(e.include(o),e.attributes.add(l.T.SYMBOLCOLOR,"vec4"),e.varyings.add("colorMixMode","mediump float"),e.vertex.code.add(n.H`int symbolColorMixMode;
|
|
297
|
-
vec4 getSymbolColor() {
|
|
298
|
-
return decodeSymbolColor(symbolColor, symbolColorMixMode) * 0.003921568627451;
|
|
299
|
-
}
|
|
300
|
-
void forwardColorMixMode() {
|
|
301
|
-
colorMixMode = float(symbolColorMixMode) + 0.5;
|
|
302
|
-
}`)):(e.fragment.uniforms.add(new a.S("colorMixMode",s.P.Pass,(e=>c.FZ[e.colorMixMode]))),e.vertex.code.add(n.H`vec4 getSymbolColor() { return vec4(1.0); }
|
|
303
|
-
void forwardColorMixMode() {}`))}},135:(e,t,r)=>{r.d(t,{D:()=>l,N:()=>i});var i,n,o=r(74085),a=r(74709),s=r(35065);function l(e,t){switch(t.textureCoordinateType){case i.Default:return e.attributes.add(s.T.UV0,"vec2"),e.varyings.add("vuv0","vec2"),void e.vertex.code.add(a.H`void forwardTextureCoordinates() {
|
|
304
|
-
vuv0 = uv0;
|
|
305
|
-
}`);case i.Atlas:return e.attributes.add(s.T.UV0,"vec2"),e.varyings.add("vuv0","vec2"),e.attributes.add(s.T.UVREGION,"vec4"),e.varyings.add("vuvRegion","vec4"),void e.vertex.code.add(a.H`void forwardTextureCoordinates() {
|
|
306
|
-
vuv0 = uv0;
|
|
307
|
-
vuvRegion = uvRegion;
|
|
308
|
-
}`);case i.None:return void e.vertex.code.add(a.H`void forwardTextureCoordinates() {}`);default:(0,o.Bg)(t.textureCoordinateType);case i.COUNT:return}}(n=i||(i={}))[n.None=0]="None",n[n.Default=1]="Default",n[n.Atlas=2]="Atlas",n[n.COUNT=3]="COUNT"},11317:(e,t,r)=>{r.d(t,{c:()=>o});var i=r(74709),n=r(35065);function o(e,t){t.hasVertexColors?(e.attributes.add(n.T.COLOR,"vec4"),e.varyings.add("vColor","vec4"),e.vertex.code.add(i.H`void forwardVertexColor() { vColor = color; }`),e.vertex.code.add(i.H`void forwardNormalizedVertexColor() { vColor = color * 0.003921568627451; }`)):e.vertex.code.add(i.H`void forwardVertexColor() {}
|
|
309
|
-
void forwardNormalizedVertexColor() {}`)}},15719:(e,t,r)=>{r.d(t,{Bb:()=>c,d4:()=>u});var i=r(46521),n=(r(88669),r(64267)),o=r(2095),a=r(74709),s=r(21471),l=r(67498);function c(e,t){if(t.normalType===n.h.Attribute||t.normalType===n.h.CompressedAttribute){e.include(n.O,t),e.varyings.add("vNormalWorld","vec3"),e.varyings.add("vNormalView","vec3");const r=e.vertex.uniforms;r.add(new s.c("transformNormalGlobalFromModel",l.P.Draw,(e=>e.transformNormalGlobalFromModel))),r.add(new s.c("transformNormalViewFromGlobal",l.P.Pass,(e=>e.transformNormalViewFromGlobal))),e.vertex.code.add(a.H`void forwardNormal() {
|
|
310
|
-
vNormalWorld = transformNormalGlobalFromModel * normalModel();
|
|
311
|
-
vNormalView = transformNormalViewFromGlobal * vNormalWorld;
|
|
312
|
-
}`)}else t.normalType===n.h.Ground?(e.include(o.up,t),e.varyings.add("vNormalWorld","vec3"),e.vertex.code.add(a.H`
|
|
313
|
-
void forwardNormal() {
|
|
314
|
-
vNormalWorld = ${t.spherical?a.H`normalize(vPositionWorldCameraRelative);`:a.H`vec3(0.0, 0.0, 1.0);`}
|
|
315
|
-
}
|
|
316
|
-
`)):e.vertex.code.add(a.H`void forwardNormal() {}`)}class u extends o.su{constructor(){super(...arguments),this.transformNormalViewFromGlobal=(0,i.c)()}}},2095:(e,t,r)=>{r.d(t,{su:()=>m,up:()=>p});var i=r(46521),n=r(13598),o=(r(72119),r(65617)),a=r(37099),s=r(89243),l=r(70582),c=r(172),u=r(74709),d=r(21471),h=r(8319),f=r(67498);function p(e,t){e.include(a.f);const r=e.vertex;r.include(s.$,t),e.varyings.add("vPositionWorldCameraRelative","vec3"),e.varyings.add("vPosition_view","vec3"),r.uniforms.add(new c.J("transformWorldFromViewTH",(e=>e.transformWorldFromViewTH))),r.uniforms.add(new c.J("transformWorldFromViewTL",(e=>e.transformWorldFromViewTL))),r.uniforms.add(new d.c("transformViewFromCameraRelativeRS",f.P.Pass,(e=>e.transformViewFromCameraRelativeRS))),r.uniforms.add(new h.g("transformProjFromView",(e=>e.transformProjFromView))),r.uniforms.add([new d.c("transformWorldFromModelRS",f.P.Draw,(e=>e.transformWorldFromModelRS)),new l.B("transformWorldFromModelTH",(e=>e.transformWorldFromModelTH)),new l.B("transformWorldFromModelTL",(e=>e.transformWorldFromModelTL))]),r.code.add(u.H`vec3 positionWorldCameraRelative() {
|
|
317
|
-
vec3 rotatedModelPosition = transformWorldFromModelRS * positionModel();
|
|
318
|
-
vec3 transform_CameraRelativeFromModel = dpAdd(
|
|
319
|
-
transformWorldFromModelTL,
|
|
320
|
-
transformWorldFromModelTH,
|
|
321
|
-
-transformWorldFromViewTL,
|
|
322
|
-
-transformWorldFromViewTH
|
|
323
|
-
);
|
|
324
|
-
return transform_CameraRelativeFromModel + rotatedModelPosition;
|
|
325
|
-
}
|
|
326
|
-
vec3 positionView() {
|
|
327
|
-
return transformViewFromCameraRelativeRS * positionWorldCameraRelative();
|
|
328
|
-
}
|
|
329
|
-
void forwardPosition() {
|
|
330
|
-
vPositionWorldCameraRelative = positionWorldCameraRelative();
|
|
331
|
-
vPosition_view = positionView();
|
|
332
|
-
gl_Position = transformProjFromView * vec4(vPosition_view, 1.0);
|
|
333
|
-
}
|
|
334
|
-
vec3 positionWorld() {
|
|
335
|
-
return transformWorldFromViewTL + vPositionWorldCameraRelative;
|
|
336
|
-
}`),e.fragment.uniforms.add(new c.J("transformWorldFromViewTL",(e=>e.transformWorldFromViewTL))),e.fragment.code.add(u.H`vec3 positionWorld() {
|
|
337
|
-
return transformWorldFromViewTL + vPositionWorldCameraRelative;
|
|
338
|
-
}`)}class m{constructor(){this.transformWorldFromViewTH=(0,o.c)(),this.transformWorldFromViewTL=(0,o.c)(),this.transformViewFromCameraRelativeRS=(0,i.c)(),this.transformProjFromView=(0,n.c)()}}},91982:(e,t,r)=>{r.d(t,{i:()=>s});var i=r(74085),n=r(135),o=r(74709);function a(e){e.extensions.add("GL_EXT_shader_texture_lod"),e.extensions.add("GL_OES_standard_derivatives"),e.fragment.code.add(o.H`#ifndef GL_EXT_shader_texture_lod
|
|
339
|
-
float calcMipMapLevel(const vec2 ddx, const vec2 ddy) {
|
|
340
|
-
float deltaMaxSqr = max(dot(ddx, ddx), dot(ddy, ddy));
|
|
341
|
-
return max(0.0, 0.5 * log2(deltaMaxSqr));
|
|
342
|
-
}
|
|
343
|
-
#endif
|
|
344
|
-
vec4 textureAtlasLookup(sampler2D texture, vec2 textureSize, vec2 textureCoordinates, vec4 atlasRegion) {
|
|
345
|
-
vec2 atlasScale = atlasRegion.zw - atlasRegion.xy;
|
|
346
|
-
vec2 uvAtlas = fract(textureCoordinates) * atlasScale + atlasRegion.xy;
|
|
347
|
-
float maxdUV = 0.125;
|
|
348
|
-
vec2 dUVdx = clamp(dFdx(textureCoordinates), -maxdUV, maxdUV) * atlasScale;
|
|
349
|
-
vec2 dUVdy = clamp(dFdy(textureCoordinates), -maxdUV, maxdUV) * atlasScale;
|
|
350
|
-
#ifdef GL_EXT_shader_texture_lod
|
|
351
|
-
return texture2DGradEXT(texture, uvAtlas, dUVdx, dUVdy);
|
|
352
|
-
#else
|
|
353
|
-
vec2 dUVdxAuto = dFdx(uvAtlas);
|
|
354
|
-
vec2 dUVdyAuto = dFdy(uvAtlas);
|
|
355
|
-
float mipMapLevel = calcMipMapLevel(dUVdx * textureSize, dUVdy * textureSize);
|
|
356
|
-
float autoMipMapLevel = calcMipMapLevel(dUVdxAuto * textureSize, dUVdyAuto * textureSize);
|
|
357
|
-
return texture2D(texture, uvAtlas, mipMapLevel - autoMipMapLevel);
|
|
358
|
-
#endif
|
|
359
|
-
}`)}function s(e,t){switch(e.include(n.D,t),e.fragment.code.add(o.H`
|
|
360
|
-
struct TextureLookupParameter {
|
|
361
|
-
vec2 uv;
|
|
362
|
-
${t.supportsTextureAtlas?"vec2 size;":""}
|
|
363
|
-
} vtc;
|
|
364
|
-
`),t.textureCoordinateType){case n.N.Default:return void e.fragment.code.add(o.H`vec4 textureLookup(sampler2D texture, TextureLookupParameter params) {
|
|
365
|
-
return texture2D(texture, params.uv);
|
|
366
|
-
}`);case n.N.Atlas:return e.include(a),void e.fragment.code.add(o.H`vec4 textureLookup(sampler2D texture, TextureLookupParameter params) {
|
|
367
|
-
return textureAtlasLookup(texture, params.size, params.uv, vuvRegion);
|
|
368
|
-
}`);default:(0,i.Bg)(t.textureCoordinateType);case n.N.None:case n.N.COUNT:return}}},92555:(e,t,r)=>{r.d(t,{L:()=>d});var i=r(98766),n=r(88669),o=r(18465),a=r(74709),s=r(67498);function l(e){e.vertex.code.add(a.H`float screenSizePerspectiveMinSize(float size, vec4 factor) {
|
|
369
|
-
float nonZeroSize = 1.0 - step(size, 0.0);
|
|
370
|
-
return (
|
|
371
|
-
factor.z * (
|
|
372
|
-
1.0 +
|
|
373
|
-
nonZeroSize *
|
|
374
|
-
2.0 * factor.w / (
|
|
375
|
-
size + (1.0 - nonZeroSize)
|
|
376
|
-
)
|
|
377
|
-
)
|
|
378
|
-
);
|
|
379
|
-
}`),e.vertex.code.add(a.H`float screenSizePerspectiveViewAngleDependentFactor(float absCosAngle) {
|
|
380
|
-
return absCosAngle * absCosAngle * absCosAngle;
|
|
381
|
-
}`),e.vertex.code.add(a.H`vec4 screenSizePerspectiveScaleFactor(float absCosAngle, float distanceToCamera, vec4 params) {
|
|
382
|
-
return vec4(
|
|
383
|
-
min(params.x / (distanceToCamera - params.y), 1.0),
|
|
384
|
-
screenSizePerspectiveViewAngleDependentFactor(absCosAngle),
|
|
385
|
-
params.z,
|
|
386
|
-
params.w
|
|
387
|
-
);
|
|
388
|
-
}`),e.vertex.code.add(a.H`float applyScreenSizePerspectiveScaleFactorFloat(float size, vec4 factor) {
|
|
389
|
-
return max(mix(size * factor.x, size, factor.y), screenSizePerspectiveMinSize(size, factor));
|
|
390
|
-
}`),e.vertex.code.add(a.H`float screenSizePerspectiveScaleFloat(float size, float absCosAngle, float distanceToCamera, vec4 params) {
|
|
391
|
-
return applyScreenSizePerspectiveScaleFactorFloat(
|
|
392
|
-
size,
|
|
393
|
-
screenSizePerspectiveScaleFactor(absCosAngle, distanceToCamera, params)
|
|
394
|
-
);
|
|
395
|
-
}`),e.vertex.code.add(a.H`vec2 applyScreenSizePerspectiveScaleFactorVec2(vec2 size, vec4 factor) {
|
|
396
|
-
return mix(size * clamp(factor.x, screenSizePerspectiveMinSize(size.y, factor) / max(1e-5, size.y), 1.0), size, factor.y);
|
|
397
|
-
}`),e.vertex.code.add(a.H`vec2 screenSizePerspectiveScaleVec2(vec2 size, float absCosAngle, float distanceToCamera, vec4 params) {
|
|
398
|
-
return applyScreenSizePerspectiveScaleFactorVec2(size, screenSizePerspectiveScaleFactor(absCosAngle, distanceToCamera, params));
|
|
399
|
-
}`)}const c=(0,n.c)();var u=r(93669);function d(e,t){const r=e.vertex;t.hasVerticalOffset?(function(e){e.uniforms.add(new o.y("verticalOffset",s.P.Pass,((e,t)=>{const{minWorldLength:r,maxWorldLength:n,screenLength:o}=e.verticalOffset,a=Math.tan(.5*t.camera.fovY)/(.5*t.camera.fullViewport[3]),s=t.camera.pixelRatio||1;return(0,i.s)(h,o*s,a,r,n)})))}(r),t.hasScreenSizePerspective&&(e.include(l),function(e){e.uniforms.add(new o.y("screenSizePerspectiveAlignment",s.P.Pass,(e=>function(e){return(0,i.s)(c,e.parameters.divisor,e.parameters.offset,e.parameters.minPixelSize,e.paddingPixelsOverride)}(e.screenSizePerspectiveAlignment||e.screenSizePerspective))))}(r),(0,u.h)(e.vertex.uniforms,t)),r.code.add(a.H`
|
|
400
|
-
vec3 calculateVerticalOffset(vec3 worldPos, vec3 localOrigin) {
|
|
401
|
-
float viewDistance = length((view * vec4(worldPos, 1.0)).xyz);
|
|
402
|
-
${t.spherical?a.H`vec3 worldNormal = normalize(worldPos + localOrigin);`:a.H`vec3 worldNormal = vec3(0.0, 0.0, 1.0);`}
|
|
403
|
-
${t.hasScreenSizePerspective?a.H`
|
|
404
|
-
float cosAngle = dot(worldNormal, normalize(worldPos - cameraPosition));
|
|
405
|
-
float verticalOffsetScreenHeight = screenSizePerspectiveScaleFloat(verticalOffset.x, abs(cosAngle), viewDistance, screenSizePerspectiveAlignment);`:a.H`
|
|
406
|
-
float verticalOffsetScreenHeight = verticalOffset.x;`}
|
|
407
|
-
// Screen sized offset in world space, used for example for line callouts
|
|
408
|
-
float worldOffset = clamp(verticalOffsetScreenHeight * verticalOffset.y * viewDistance, verticalOffset.z, verticalOffset.w);
|
|
409
|
-
return worldNormal * worldOffset;
|
|
410
|
-
}
|
|
411
|
-
|
|
412
|
-
vec3 addVerticalOffset(vec3 worldPos, vec3 localOrigin) {
|
|
413
|
-
return worldPos + calculateVerticalOffset(worldPos, localOrigin);
|
|
414
|
-
}
|
|
415
|
-
`)):r.code.add(a.H`vec3 addVerticalOffset(vec3 worldPos, vec3 localOrigin) { return worldPos; }`)}const h=(0,n.c)()},22019:(e,t,r)=>{r.d(t,{s:()=>b});var i=r(18361),n=r(51546),o=r(77171),a=r(64267),s=r(135),l=r(15719),c=r(20285),u=r(74709);function d(e,t){e.fragment.include(c.n),t.output===i.H.Shadow?(e.extensions.add("GL_OES_standard_derivatives"),e.fragment.code.add(u.H`float _calculateFragDepth(const in float depth) {
|
|
416
|
-
const float SLOPE_SCALE = 2.0;
|
|
417
|
-
const float BIAS = 2.0 * .000015259;
|
|
418
|
-
float m = max(abs(dFdx(depth)), abs(dFdy(depth)));
|
|
419
|
-
float result = depth + SLOPE_SCALE * m + BIAS;
|
|
420
|
-
return clamp(result, .0, .999999);
|
|
421
|
-
}
|
|
422
|
-
void outputDepth(float _linearDepth) {
|
|
423
|
-
gl_FragColor = float2rgba(_calculateFragDepth(_linearDepth));
|
|
424
|
-
}`)):t.output===i.H.Depth&&e.fragment.code.add(u.H`void outputDepth(float _linearDepth) {
|
|
425
|
-
gl_FragColor = float2rgba(_linearDepth);
|
|
426
|
-
}`)}r(97323);var h=r(88669),f=r(19693),p=r(98069);const m=(0,h.f)(1,1,0,1),g=(0,h.f)(1,0,1,1);function _(e){e.fragment.uniforms.add(new p.A("depthTex",((e,t)=>t.highlightDepthTexture))),e.fragment.uniforms.add(new f.A("highlightViewportPixelSz",((e,t)=>t.inverseViewport))),e.fragment.constants.add("occludedHighlightFlag","vec4",m).add("unoccludedHighlightFlag","vec4",g),e.fragment.code.add(u.H`void outputHighlight() {
|
|
427
|
-
vec4 fragCoord = gl_FragCoord;
|
|
428
|
-
float sceneDepth = texture2D(depthTex, fragCoord.xy * highlightViewportPixelSz.xy).r;
|
|
429
|
-
if (fragCoord.z > sceneDepth + 5e-7) {
|
|
430
|
-
gl_FragColor = occludedHighlightFlag;
|
|
431
|
-
}
|
|
432
|
-
else {
|
|
433
|
-
gl_FragColor = unoccludedHighlightFlag;
|
|
434
|
-
}
|
|
435
|
-
}`)}var v=r(71838),T=r(85787),x=r(93669);function b(e,t){const r=e.vertex.code,c=e.fragment.code,h=t.hasModelTransformation;t.output!==i.H.Depth&&t.output!==i.H.Shadow||((0,x.S)(e,t),e.include(o.w,{linearDepth:!0,hasModelTransformation:h}),e.include(s.D,t),e.include(v.kl,t),e.include(d,t),e.include(n.f5,t),e.vertex.uniforms.add(new f.A("nearFar",((e,t)=>t.camera.nearFar))),e.varyings.add("depth","float"),t.hasColorTexture&&e.fragment.uniforms.add(new p.A("tex",(e=>e.texture))),r.add(u.H`
|
|
436
|
-
void main(void) {
|
|
437
|
-
vpos = calculateVPos();
|
|
438
|
-
vpos = subtractOrigin(vpos);
|
|
439
|
-
vpos = addVerticalOffset(vpos, localOrigin);
|
|
440
|
-
gl_Position = transformPositionWithDepth(proj, view, ${h?"model,":""} vpos, nearFar, depth);
|
|
441
|
-
forwardTextureCoordinates();
|
|
442
|
-
}
|
|
443
|
-
`),e.include(T.z,t),c.add(u.H`
|
|
444
|
-
void main(void) {
|
|
445
|
-
discardBySlice(vpos);
|
|
446
|
-
${t.hasColorTexture?u.H`
|
|
447
|
-
vec4 texColor = texture2D(tex, vuv0);
|
|
448
|
-
discardOrAdjustAlpha(texColor);`:""}
|
|
449
|
-
outputDepth(depth);
|
|
450
|
-
}
|
|
451
|
-
`)),t.output===i.H.Normal&&((0,x.S)(e,t),e.include(o.w,{linearDepth:!1,hasModelTransformation:h}),e.include(a.O,t),e.include(l.Bb,t),e.include(s.D,t),e.include(v.kl,t),t.hasColorTexture&&e.fragment.uniforms.add(new p.A("tex",(e=>e.texture))),e.varyings.add("vPositionView","vec3"),r.add(u.H`
|
|
452
|
-
void main(void) {
|
|
453
|
-
vpos = calculateVPos();
|
|
454
|
-
vpos = subtractOrigin(vpos);
|
|
455
|
-
${t.normalType===a.h.Attribute?u.H`
|
|
456
|
-
vNormalWorld = dpNormalView(vvLocalNormal(normalModel()));`:""}
|
|
457
|
-
vpos = addVerticalOffset(vpos, localOrigin);
|
|
458
|
-
gl_Position = transformPosition(proj, view, ${h?"model,":""} vpos);
|
|
459
|
-
forwardTextureCoordinates();
|
|
460
|
-
}
|
|
461
|
-
`),e.include(n.f5,t),e.include(T.z,t),c.add(u.H`
|
|
462
|
-
void main() {
|
|
463
|
-
discardBySlice(vpos);
|
|
464
|
-
${t.hasColorTexture?u.H`
|
|
465
|
-
vec4 texColor = texture2D(tex, vuv0);
|
|
466
|
-
discardOrAdjustAlpha(texColor);`:""}
|
|
467
|
-
|
|
468
|
-
${t.normalType===a.h.ScreenDerivative?u.H`
|
|
469
|
-
vec3 normal = screenDerivativeNormal(vPositionView);`:u.H`
|
|
470
|
-
vec3 normal = normalize(vNormalWorld);
|
|
471
|
-
if (gl_FrontFacing == false) normal = -normal;`}
|
|
472
|
-
gl_FragColor = vec4(vec3(0.5) + 0.5 * normal, 1.0);
|
|
473
|
-
}
|
|
474
|
-
`)),t.output===i.H.Highlight&&((0,x.S)(e,t),e.include(o.w,{linearDepth:!1,hasModelTransformation:h}),e.include(s.D,t),e.include(v.kl,t),t.hasColorTexture&&e.fragment.uniforms.add(new p.A("tex",(e=>e.texture))),r.add(u.H`
|
|
475
|
-
void main(void) {
|
|
476
|
-
vpos = calculateVPos();
|
|
477
|
-
vpos = subtractOrigin(vpos);
|
|
478
|
-
vpos = addVerticalOffset(vpos, localOrigin);
|
|
479
|
-
gl_Position = transformPosition(proj, view, ${h?"model,":""} vpos);
|
|
480
|
-
forwardTextureCoordinates();
|
|
481
|
-
}
|
|
482
|
-
`),e.include(n.f5,t),e.include(T.z,t),e.include(_),c.add(u.H`
|
|
483
|
-
void main() {
|
|
484
|
-
discardBySlice(vpos);
|
|
485
|
-
${t.hasColorTexture?u.H`
|
|
486
|
-
vec4 texColor = texture2D(tex, vuv0);
|
|
487
|
-
discardOrAdjustAlpha(texColor);`:""}
|
|
488
|
-
outputHighlight();
|
|
489
|
-
}
|
|
490
|
-
`))}},15817:(e,t,r)=>{r.d(t,{Q:()=>d});var i=r(135),n=r(91982),o=r(19419),a=r(74709),s=r(46826),l=r(98069),c=r(67498),u=r(35065);function d(e,t){const r=e.fragment;if(t.hasVertexTangents?(e.attributes.add(u.T.TANGENT,"vec4"),e.varyings.add("vTangent","vec4"),t.doubleSidedMode===o.q.WindingOrder?r.code.add(a.H`mat3 computeTangentSpace(vec3 normal) {
|
|
491
|
-
float tangentHeadedness = gl_FrontFacing ? vTangent.w : -vTangent.w;
|
|
492
|
-
vec3 tangent = normalize(gl_FrontFacing ? vTangent.xyz : -vTangent.xyz);
|
|
493
|
-
vec3 bitangent = cross(normal, tangent) * tangentHeadedness;
|
|
494
|
-
return mat3(tangent, bitangent, normal);
|
|
495
|
-
}`):r.code.add(a.H`mat3 computeTangentSpace(vec3 normal) {
|
|
496
|
-
float tangentHeadedness = vTangent.w;
|
|
497
|
-
vec3 tangent = normalize(vTangent.xyz);
|
|
498
|
-
vec3 bitangent = cross(normal, tangent) * tangentHeadedness;
|
|
499
|
-
return mat3(tangent, bitangent, normal);
|
|
500
|
-
}`)):(e.extensions.add("GL_OES_standard_derivatives"),r.code.add(a.H`mat3 computeTangentSpace(vec3 normal, vec3 pos, vec2 st) {
|
|
501
|
-
vec3 Q1 = dFdx(pos);
|
|
502
|
-
vec3 Q2 = dFdy(pos);
|
|
503
|
-
vec2 stx = dFdx(st);
|
|
504
|
-
vec2 sty = dFdy(st);
|
|
505
|
-
float det = stx.t * sty.s - sty.t * stx.s;
|
|
506
|
-
vec3 T = stx.t * Q2 - sty.t * Q1;
|
|
507
|
-
T = T - normal * dot(normal, T);
|
|
508
|
-
T *= inversesqrt(max(dot(T,T), 1.e-10));
|
|
509
|
-
vec3 B = sign(det) * cross(normal, T);
|
|
510
|
-
return mat3(T, B, normal);
|
|
511
|
-
}`)),t.textureCoordinateType!==i.N.None){e.include(n.i,t);const i=t.supportsTextureAtlas;r.uniforms.add(t.pbrTextureBindType===c.P.Pass?(0,l.J)("normalTexture",(e=>e.textureNormal),i):(0,s.F)("normalTexture",(e=>e.textureNormal),i)),r.code.add(a.H`
|
|
512
|
-
vec3 computeTextureNormal(mat3 tangentSpace, vec2 uv) {
|
|
513
|
-
vtc.uv = uv;
|
|
514
|
-
${t.supportsTextureAtlas?"vtc.size = normalTextureSize;":""}
|
|
515
|
-
vec3 rawNormal = textureLookup(normalTexture, vtc).rgb * 2.0 - 1.0;
|
|
516
|
-
return tangentSpace * rawNormal;
|
|
517
|
-
}
|
|
518
|
-
`)}}},66242:(e,t,r)=>{r.d(t,{K:()=>c});var i=r(98766),n=r(88669),o=r(18465),a=r(74709),s=r(98069),l=r(67498);function c(e,t){const r=e.fragment;t.receiveAmbientOcclusion?(r.uniforms.add([new s.A("ssaoTex",((e,t)=>t.ssaoHelper.colorTexture)),new o.y("viewportPixelSz",l.P.Pass,((e,t)=>(0,i.s)(u,t.camera.fullViewport[0],t.camera.fullViewport[1],1/t.ssaoHelper.width,1/t.ssaoHelper.height)))]),r.code.add(a.H`float evaluateAmbientOcclusion() {
|
|
519
|
-
return 1.0 - texture2D(ssaoTex, (gl_FragCoord.xy - viewportPixelSz.xy) * viewportPixelSz.zw).a;
|
|
520
|
-
}
|
|
521
|
-
float evaluateAmbientOcclusionInverse() {
|
|
522
|
-
return texture2D(ssaoTex, (gl_FragCoord.xy - viewportPixelSz.xy) * viewportPixelSz.zw).a;
|
|
523
|
-
}`)):r.code.add(a.H`float evaluateAmbientOcclusion() { return 0.0; }
|
|
524
|
-
float evaluateAmbientOcclusionInverse() { return 1.0; }`)}const u=(0,n.c)()},47990:(e,t,r)=>{r.d(t,{X:()=>E});var i=r(17896),n=r(65617),o=r(98766),a=r(88669),s=r(85504),l=r(172),c=r(18465),u=r(74709),d=r(67498);function h(e,t){const r=e.fragment,n=void 0!==t.lightingSphericalHarmonicsOrder?t.lightingSphericalHarmonicsOrder:2;0===n?(r.uniforms.add(new l.J("lightingAmbientSH0",((e,t)=>(0,i.s)(f,t.lighting.sh.r[0],t.lighting.sh.g[0],t.lighting.sh.b[0])))),r.code.add(u.H`vec3 calculateAmbientIrradiance(vec3 normal, float ambientOcclusion) {
|
|
525
|
-
vec3 ambientLight = 0.282095 * lightingAmbientSH0;
|
|
526
|
-
return ambientLight * (1.0 - ambientOcclusion);
|
|
527
|
-
}`)):1===n?(r.uniforms.add([new c.y("lightingAmbientSH_R",d.P.Pass,((e,t)=>(0,o.s)(p,t.lighting.sh.r[0],t.lighting.sh.r[1],t.lighting.sh.r[2],t.lighting.sh.r[3]))),new c.y("lightingAmbientSH_G",d.P.Pass,((e,t)=>(0,o.s)(p,t.lighting.sh.g[0],t.lighting.sh.g[1],t.lighting.sh.g[2],t.lighting.sh.g[3]))),new c.y("lightingAmbientSH_B",d.P.Pass,((e,t)=>(0,o.s)(p,t.lighting.sh.b[0],t.lighting.sh.b[1],t.lighting.sh.b[2],t.lighting.sh.b[3])))]),r.code.add(u.H`vec3 calculateAmbientIrradiance(vec3 normal, float ambientOcclusion) {
|
|
528
|
-
vec4 sh0 = vec4(
|
|
529
|
-
0.282095,
|
|
530
|
-
0.488603 * normal.x,
|
|
531
|
-
0.488603 * normal.z,
|
|
532
|
-
0.488603 * normal.y
|
|
533
|
-
);
|
|
534
|
-
vec3 ambientLight = vec3(
|
|
535
|
-
dot(lightingAmbientSH_R, sh0),
|
|
536
|
-
dot(lightingAmbientSH_G, sh0),
|
|
537
|
-
dot(lightingAmbientSH_B, sh0)
|
|
538
|
-
);
|
|
539
|
-
return ambientLight * (1.0 - ambientOcclusion);
|
|
540
|
-
}`)):2===n&&(r.uniforms.add([new l.J("lightingAmbientSH0",((e,t)=>(0,i.s)(f,t.lighting.sh.r[0],t.lighting.sh.g[0],t.lighting.sh.b[0]))),new c.y("lightingAmbientSH_R1",d.P.Pass,((e,t)=>(0,o.s)(p,t.lighting.sh.r[1],t.lighting.sh.r[2],t.lighting.sh.r[3],t.lighting.sh.r[4]))),new c.y("lightingAmbientSH_G1",d.P.Pass,((e,t)=>(0,o.s)(p,t.lighting.sh.g[1],t.lighting.sh.g[2],t.lighting.sh.g[3],t.lighting.sh.g[4]))),new c.y("lightingAmbientSH_B1",d.P.Pass,((e,t)=>(0,o.s)(p,t.lighting.sh.b[1],t.lighting.sh.b[2],t.lighting.sh.b[3],t.lighting.sh.b[4]))),new c.y("lightingAmbientSH_R2",d.P.Pass,((e,t)=>(0,o.s)(p,t.lighting.sh.r[5],t.lighting.sh.r[6],t.lighting.sh.r[7],t.lighting.sh.r[8]))),new c.y("lightingAmbientSH_G2",d.P.Pass,((e,t)=>(0,o.s)(p,t.lighting.sh.g[5],t.lighting.sh.g[6],t.lighting.sh.g[7],t.lighting.sh.g[8]))),new c.y("lightingAmbientSH_B2",d.P.Pass,((e,t)=>(0,o.s)(p,t.lighting.sh.b[5],t.lighting.sh.b[6],t.lighting.sh.b[7],t.lighting.sh.b[8])))]),r.code.add(u.H`vec3 calculateAmbientIrradiance(vec3 normal, float ambientOcclusion) {
|
|
541
|
-
vec3 ambientLight = 0.282095 * lightingAmbientSH0;
|
|
542
|
-
vec4 sh1 = vec4(
|
|
543
|
-
0.488603 * normal.x,
|
|
544
|
-
0.488603 * normal.z,
|
|
545
|
-
0.488603 * normal.y,
|
|
546
|
-
1.092548 * normal.x * normal.y
|
|
547
|
-
);
|
|
548
|
-
vec4 sh2 = vec4(
|
|
549
|
-
1.092548 * normal.y * normal.z,
|
|
550
|
-
0.315392 * (3.0 * normal.z * normal.z - 1.0),
|
|
551
|
-
1.092548 * normal.x * normal.z,
|
|
552
|
-
0.546274 * (normal.x * normal.x - normal.y * normal.y)
|
|
553
|
-
);
|
|
554
|
-
ambientLight += vec3(
|
|
555
|
-
dot(lightingAmbientSH_R1, sh1),
|
|
556
|
-
dot(lightingAmbientSH_G1, sh1),
|
|
557
|
-
dot(lightingAmbientSH_B1, sh1)
|
|
558
|
-
);
|
|
559
|
-
ambientLight += vec3(
|
|
560
|
-
dot(lightingAmbientSH_R2, sh2),
|
|
561
|
-
dot(lightingAmbientSH_G2, sh2),
|
|
562
|
-
dot(lightingAmbientSH_B2, sh2)
|
|
563
|
-
);
|
|
564
|
-
return ambientLight * (1.0 - ambientOcclusion);
|
|
565
|
-
}`),t.pbrMode!==s.f7.Normal&&t.pbrMode!==s.f7.Schematic||r.code.add(u.H`const vec3 skyTransmittance = vec3(0.9, 0.9, 1.0);
|
|
566
|
-
vec3 calculateAmbientRadiance(float ambientOcclusion)
|
|
567
|
-
{
|
|
568
|
-
vec3 ambientLight = 1.2 * (0.282095 * lightingAmbientSH0) - 0.2;
|
|
569
|
-
return ambientLight *= (1.0 - ambientOcclusion) * skyTransmittance;
|
|
570
|
-
}`))}const f=(0,n.c)(),p=(0,a.c)();var m=r(66242),g=r(21437);function _(e,t){const r=e.fragment;t.isGround?r.uniforms.add(new g.p("lightingFixedFactor",((e,t)=>(1-t.lighting.groundLightingFactor)*(1-t.lighting.globalFactor)))):r.constants.add("lightingFixedFactor","float",0),r.uniforms.add([new l.J("lightingMainDirection",((e,t)=>t.lighting.lightingMainDirection)),new l.J("lightingMainIntensity",((e,t)=>t.lighting.mainLight.intensity))]),r.code.add(u.H`vec3 evaluateMainLighting(vec3 normal_global, float shadowing) {
|
|
571
|
-
float dotVal = clamp(dot(normal_global, lightingMainDirection), 0.0, 1.0);
|
|
572
|
-
dotVal = mix(dotVal, 1.0, lightingFixedFactor);
|
|
573
|
-
return lightingMainIntensity * ((1.0 - shadowing) * dotVal);
|
|
574
|
-
}`)}var v=r(26322),T=r(27754),x=r(79884);class b extends x.x{constructor(e,t,r){switch(t){case d.P.Pass:case d.P.Draw:return void super(e,"bool",t,((t,i,n)=>t.setUniform1b(e,r(i,n))))}}}var A=r(9749);function E(e,t){const r=e.fragment;e.include(m.K,t),t.pbrMode!==s.f7.Disabled&&e.include(v.T,t),e.include(h,t),r.constants.add("ambientBoostFactor","float",A.V),e.include(T.e),r.code.add(u.H`
|
|
575
|
-
const float GAMMA_SRGB = 2.1;
|
|
576
|
-
const float INV_GAMMA_SRGB = 0.4761904;
|
|
577
|
-
${t.pbrMode===s.f7.Disabled?"":"const vec3 GROUND_REFLECTANCE = vec3(0.2);"}
|
|
578
|
-
`),r.uniforms.add(new l.J("lightingMainDirection",((e,t)=>t.lighting.lightingMainDirection))),r.code.add(u.H`
|
|
579
|
-
float additionalDirectedAmbientLight(vec3 vPosWorld) {
|
|
580
|
-
float vndl = dot(${t.spherical?u.H`normalize(vPosWorld)`:u.H`vec3(0.0, 0.0, 1.0)`}, lightingMainDirection);
|
|
581
|
-
return smoothstep(0.0, 1.0, clamp(vndl * 2.5, 0.0, 1.0));
|
|
582
|
-
}
|
|
583
|
-
`),r.uniforms.add([new g.p("lightingGlobalFactor",((e,t)=>t.lighting.globalFactor)),new l.J("lightingMainIntensity",((e,t)=>t.lighting.mainLight.intensity))]),r.code.add(u.H`vec3 evaluateAdditionalLighting(float ambientOcclusion, vec3 vPosWorld) {
|
|
584
|
-
float additionalAmbientScale = additionalDirectedAmbientLight(vPosWorld);
|
|
585
|
-
return (1.0 - ambientOcclusion) * additionalAmbientScale * ambientBoostFactor * lightingGlobalFactor * lightingMainIntensity;
|
|
586
|
-
}`),t.pbrMode===s.f7.Disabled||t.pbrMode===s.f7.WaterOnIntegratedMesh?(e.include(_,t),r.code.add(u.H`vec3 evaluateSceneLighting(vec3 normalWorld, vec3 albedo, float shadow, float ssao, vec3 additionalLight)
|
|
587
|
-
{
|
|
588
|
-
vec3 mainLighting = evaluateMainLighting(normalWorld, shadow);
|
|
589
|
-
vec3 ambientLighting = calculateAmbientIrradiance(normalWorld, ssao);
|
|
590
|
-
vec3 albedoLinear = pow(albedo, vec3(GAMMA_SRGB));
|
|
591
|
-
vec3 totalLight = mainLighting + ambientLighting + additionalLight;
|
|
592
|
-
totalLight = min(totalLight, vec3(PI));
|
|
593
|
-
vec3 outColor = vec3((albedoLinear / PI) * totalLight);
|
|
594
|
-
return pow(outColor, vec3(INV_GAMMA_SRGB));
|
|
595
|
-
}`)):t.pbrMode!==s.f7.Normal&&t.pbrMode!==s.f7.Schematic||(r.code.add(u.H`const float fillLightIntensity = 0.25;
|
|
596
|
-
const float horizonLightDiffusion = 0.4;
|
|
597
|
-
const float additionalAmbientIrradianceFactor = 0.02;
|
|
598
|
-
vec3 evaluateSceneLightingPBR(vec3 normal, vec3 albedo, float shadow, float ssao, vec3 additionalLight, vec3 viewDir, vec3 normalGround, vec3 mrr, vec3 _emission, float additionalAmbientIrradiance)
|
|
599
|
-
{
|
|
600
|
-
vec3 viewDirection = -viewDir;
|
|
601
|
-
vec3 mainLightDirection = lightingMainDirection;
|
|
602
|
-
vec3 h = normalize(viewDirection + mainLightDirection);
|
|
603
|
-
PBRShadingInfo inputs;
|
|
604
|
-
inputs.NdotL = clamp(dot(normal, mainLightDirection), 0.001, 1.0);
|
|
605
|
-
inputs.NdotV = clamp(abs(dot(normal, viewDirection)), 0.001, 1.0);
|
|
606
|
-
inputs.NdotH = clamp(dot(normal, h), 0.0, 1.0);
|
|
607
|
-
inputs.VdotH = clamp(dot(viewDirection, h), 0.0, 1.0);
|
|
608
|
-
inputs.NdotNG = clamp(dot(normal, normalGround), -1.0, 1.0);
|
|
609
|
-
vec3 reflectedView = normalize(reflect(viewDirection, normal));
|
|
610
|
-
inputs.RdotNG = clamp(dot(reflectedView, normalGround), -1.0, 1.0);
|
|
611
|
-
inputs.albedoLinear = pow(albedo, vec3(GAMMA_SRGB));
|
|
612
|
-
inputs.ssao = ssao;
|
|
613
|
-
inputs.metalness = mrr[0];
|
|
614
|
-
inputs.roughness = clamp(mrr[1] * mrr[1], 0.001, 0.99);`),r.code.add(u.H`inputs.f0 = (0.16 * mrr[2] * mrr[2]) * (1.0 - inputs.metalness) + inputs.albedoLinear * inputs.metalness;
|
|
615
|
-
inputs.f90 = vec3(clamp(dot(inputs.f0, vec3(50.0 * 0.33)), 0.0, 1.0));
|
|
616
|
-
inputs.diffuseColor = inputs.albedoLinear * (vec3(1.0) - inputs.f0) * (1.0 - inputs.metalness);`),t.useFillLights?r.uniforms.add(new b("hasFillLights",d.P.Pass,((e,t)=>t.enableFillLights))):r.constants.add("hasFillLights","bool",!1),r.code.add(u.H`vec3 ambientDir = vec3(5.0 * normalGround[1] - normalGround[0] * normalGround[2], - 5.0 * normalGround[0] - normalGround[2] * normalGround[1], normalGround[1] * normalGround[1] + normalGround[0] * normalGround[0]);
|
|
617
|
-
ambientDir = ambientDir != vec3(0.0)? normalize(ambientDir) : normalize(vec3(5.0, -1.0, 0.0));
|
|
618
|
-
inputs.NdotAmbDir = hasFillLights ? abs(dot(normal, ambientDir)) : 1.0;
|
|
619
|
-
vec3 mainLightIrradianceComponent = inputs.NdotL * (1.0 - shadow) * lightingMainIntensity;
|
|
620
|
-
vec3 fillLightsIrradianceComponent = inputs.NdotAmbDir * lightingMainIntensity * fillLightIntensity;
|
|
621
|
-
vec3 ambientLightIrradianceComponent = calculateAmbientIrradiance(normal, ssao) + additionalLight;
|
|
622
|
-
inputs.skyIrradianceToSurface = ambientLightIrradianceComponent + mainLightIrradianceComponent + fillLightsIrradianceComponent ;
|
|
623
|
-
inputs.groundIrradianceToSurface = GROUND_REFLECTANCE * ambientLightIrradianceComponent + mainLightIrradianceComponent + fillLightsIrradianceComponent ;`),r.uniforms.add([new g.p("lightingSpecularStrength",((e,t)=>t.lighting.mainLight.specularStrength)),new g.p("lightingEnvironmentStrength",((e,t)=>t.lighting.mainLight.environmentStrength))]),r.code.add(u.H`vec3 horizonRingDir = inputs.RdotNG * normalGround - reflectedView;
|
|
624
|
-
vec3 horizonRingH = normalize(viewDirection + horizonRingDir);
|
|
625
|
-
inputs.NdotH_Horizon = dot(normal, horizonRingH);
|
|
626
|
-
vec3 mainLightRadianceComponent = lightingSpecularStrength * normalDistribution(inputs.NdotH, inputs.roughness) * lightingMainIntensity * (1.0 - shadow);
|
|
627
|
-
vec3 horizonLightRadianceComponent = lightingEnvironmentStrength * normalDistribution(inputs.NdotH_Horizon, min(inputs.roughness + horizonLightDiffusion, 1.0)) * lightingMainIntensity * fillLightIntensity;
|
|
628
|
-
vec3 ambientLightRadianceComponent = lightingEnvironmentStrength * calculateAmbientRadiance(ssao) + additionalLight;
|
|
629
|
-
inputs.skyRadianceToSurface = ambientLightRadianceComponent + mainLightRadianceComponent + horizonLightRadianceComponent;
|
|
630
|
-
inputs.groundRadianceToSurface = GROUND_REFLECTANCE * (ambientLightRadianceComponent + horizonLightRadianceComponent) + mainLightRadianceComponent;
|
|
631
|
-
inputs.averageAmbientRadiance = ambientLightIrradianceComponent[1] * (1.0 + GROUND_REFLECTANCE[1]);`),r.code.add(u.H`
|
|
632
|
-
vec3 reflectedColorComponent = evaluateEnvironmentIllumination(inputs);
|
|
633
|
-
vec3 additionalMaterialReflectanceComponent = inputs.albedoLinear * additionalAmbientIrradiance;
|
|
634
|
-
vec3 emissionComponent = pow(_emission, vec3(GAMMA_SRGB));
|
|
635
|
-
vec3 outColorLinear = reflectedColorComponent + additionalMaterialReflectanceComponent + emissionComponent;
|
|
636
|
-
${t.pbrMode===s.f7.Schematic?u.H`vec3 outColor = pow(max(vec3(0.0), outColorLinear - 0.005 * inputs.averageAmbientRadiance), vec3(INV_GAMMA_SRGB));`:u.H`vec3 outColor = pow(blackLevelSoftCompression(outColorLinear, inputs), vec3(INV_GAMMA_SRGB));`}
|
|
637
|
-
return outColor;
|
|
638
|
-
}
|
|
639
|
-
`))}},83603:(e,t,r)=>{r.d(t,{l:()=>l});var i=r(20285),n=r(74709);function o(e){e.include(i.n),e.code.add(n.H`float linearDepthFromFloat(float depth, vec2 nearFar) {
|
|
640
|
-
return -(depth * (nearFar[1] - nearFar[0]) + nearFar[0]);
|
|
641
|
-
}
|
|
642
|
-
float linearDepthFromTexture(sampler2D depthTex, vec2 uv, vec2 nearFar) {
|
|
643
|
-
return linearDepthFromFloat(rgba2float(texture2D(depthTex, uv)), nearFar);
|
|
644
|
-
}`)}var a=r(19693),s=r(98069);function l(e,t){t.hasMultipassTerrain&&(e.fragment.include(o),e.fragment.uniforms.add(new s.A("terrainDepthTexture",((e,t)=>t.multipassTerrain.linearDepthTexture))),e.fragment.uniforms.add(new a.A("nearFar",((e,t)=>t.camera.nearFar))),e.fragment.uniforms.add(new a.A("inverseViewport",((e,t)=>t.inverseViewport))),e.fragment.code.add(n.H`
|
|
645
|
-
void terrainDepthTest(vec4 fragCoord, float fragmentDepth){
|
|
646
|
-
float terrainDepth = linearDepthFromTexture(terrainDepthTexture, fragCoord.xy * inverseViewport, nearFar);
|
|
647
|
-
if(fragmentDepth ${t.cullAboveGround?">":"<="} terrainDepth){
|
|
648
|
-
discard;
|
|
649
|
-
}
|
|
650
|
-
}
|
|
651
|
-
`))}},19419:(e,t,r)=>{r.d(t,{k:()=>s,q:()=>i});var i,n,o=r(74085),a=r(74709);function s(e,t){const r=e.fragment;switch(r.code.add(a.H`struct ShadingNormalParameters {
|
|
652
|
-
vec3 normalView;
|
|
653
|
-
vec3 viewDirection;
|
|
654
|
-
} shadingParams;`),t.doubleSidedMode){case i.None:r.code.add(a.H`vec3 shadingNormal(ShadingNormalParameters params) {
|
|
655
|
-
return normalize(params.normalView);
|
|
656
|
-
}`);break;case i.View:r.code.add(a.H`vec3 shadingNormal(ShadingNormalParameters params) {
|
|
657
|
-
return dot(params.normalView, params.viewDirection) > 0.0 ? normalize(-params.normalView) : normalize(params.normalView);
|
|
658
|
-
}`);break;case i.WindingOrder:r.code.add(a.H`vec3 shadingNormal(ShadingNormalParameters params) {
|
|
659
|
-
return gl_FrontFacing ? normalize(params.normalView) : normalize(-params.normalView);
|
|
660
|
-
}`);break;default:(0,o.Bg)(t.doubleSidedMode);case i.COUNT:}}(n=i||(i={}))[n.None=0]="None",n[n.View=1]="View",n[n.WindingOrder=2]="WindingOrder",n[n.COUNT=3]="COUNT"},26322:(e,t,r)=>{r.d(t,{T:()=>s});var i=r(74709);function n(e){const t=e.fragment.code;t.add(i.H`vec3 evaluateDiffuseIlluminationHemisphere(vec3 ambientGround, vec3 ambientSky, float NdotNG)
|
|
661
|
-
{
|
|
662
|
-
return ((1.0 - NdotNG) * ambientGround + (1.0 + NdotNG) * ambientSky) * 0.5;
|
|
663
|
-
}`),t.add(i.H`float integratedRadiance(float cosTheta2, float roughness)
|
|
664
|
-
{
|
|
665
|
-
return (cosTheta2 - 1.0) / (cosTheta2 * (1.0 - roughness * roughness) - 1.0);
|
|
666
|
-
}`),t.add(i.H`vec3 evaluateSpecularIlluminationHemisphere(vec3 ambientGround, vec3 ambientSky, float RdotNG, float roughness)
|
|
667
|
-
{
|
|
668
|
-
float cosTheta2 = 1.0 - RdotNG * RdotNG;
|
|
669
|
-
float intRadTheta = integratedRadiance(cosTheta2, roughness);
|
|
670
|
-
float ground = RdotNG < 0.0 ? 1.0 - intRadTheta : 1.0 + intRadTheta;
|
|
671
|
-
float sky = 2.0 - ground;
|
|
672
|
-
return (ground * ambientGround + sky * ambientSky) * 0.5;
|
|
673
|
-
}`)}var o=r(85504),a=r(27754);function s(e,t){const r=e.fragment.code;e.include(a.e),t.pbrMode===o.f7.Water||t.pbrMode===o.f7.WaterOnIntegratedMesh?(r.add(i.H`
|
|
674
|
-
struct PBRShadingWater
|
|
675
|
-
{
|
|
676
|
-
float NdotL; // cos angle between normal and light direction
|
|
677
|
-
float NdotV; // cos angle between normal and view direction
|
|
678
|
-
float NdotH; // cos angle between normal and half vector
|
|
679
|
-
float VdotH; // cos angle between view direction and half vector
|
|
680
|
-
float LdotH; // cos angle between light direction and half vector
|
|
681
|
-
float VdotN; // cos angle between view direction and normal vector
|
|
682
|
-
};
|
|
683
|
-
|
|
684
|
-
float dtrExponent = ${t.useCustomDTRExponentForWater?"2.2":"2.0"};
|
|
685
|
-
`),r.add(i.H`vec3 fresnelReflection(float angle, vec3 f0, float f90) {
|
|
686
|
-
return f0 + (f90 - f0) * pow(1.0 - angle, 5.0);
|
|
687
|
-
}`),r.add(i.H`float normalDistributionWater(float NdotH, float roughness)
|
|
688
|
-
{
|
|
689
|
-
float r2 = roughness * roughness;
|
|
690
|
-
float NdotH2 = NdotH * NdotH;
|
|
691
|
-
float denom = pow((NdotH2 * (r2 - 1.0) + 1.0), dtrExponent) * PI;
|
|
692
|
-
return r2 / denom;
|
|
693
|
-
}`),r.add(i.H`float geometricOcclusionKelemen(float LoH)
|
|
694
|
-
{
|
|
695
|
-
return 0.25 / (LoH * LoH);
|
|
696
|
-
}`),r.add(i.H`vec3 brdfSpecularWater(in PBRShadingWater props, float roughness, vec3 F0, float F0Max)
|
|
697
|
-
{
|
|
698
|
-
vec3 F = fresnelReflection(props.VdotH, F0, F0Max);
|
|
699
|
-
float dSun = normalDistributionWater(props.NdotH, roughness);
|
|
700
|
-
float V = geometricOcclusionKelemen(props.LdotH);
|
|
701
|
-
float diffusionSunHaze = mix(roughness + 0.045, roughness + 0.385, 1.0 - props.VdotH);
|
|
702
|
-
float strengthSunHaze = 1.2;
|
|
703
|
-
float dSunHaze = normalDistributionWater(props.NdotH, diffusionSunHaze)*strengthSunHaze;
|
|
704
|
-
return ((dSun + dSunHaze) * V) * F;
|
|
705
|
-
}
|
|
706
|
-
vec3 tonemapACES(const vec3 x) {
|
|
707
|
-
return (x * (2.51 * x + 0.03)) / (x * (2.43 * x + 0.59) + 0.14);
|
|
708
|
-
}`)):t.pbrMode!==o.f7.Normal&&t.pbrMode!==o.f7.Schematic||(e.include(n),r.add(i.H`struct PBRShadingInfo
|
|
709
|
-
{
|
|
710
|
-
float NdotL;
|
|
711
|
-
float NdotV;
|
|
712
|
-
float NdotH;
|
|
713
|
-
float VdotH;
|
|
714
|
-
float LdotH;
|
|
715
|
-
float NdotNG;
|
|
716
|
-
float RdotNG;
|
|
717
|
-
float NdotAmbDir;
|
|
718
|
-
float NdotH_Horizon;
|
|
719
|
-
vec3 skyRadianceToSurface;
|
|
720
|
-
vec3 groundRadianceToSurface;
|
|
721
|
-
vec3 skyIrradianceToSurface;
|
|
722
|
-
vec3 groundIrradianceToSurface;
|
|
723
|
-
float averageAmbientRadiance;
|
|
724
|
-
float ssao;
|
|
725
|
-
vec3 albedoLinear;
|
|
726
|
-
vec3 f0;
|
|
727
|
-
vec3 f90;
|
|
728
|
-
vec3 diffuseColor;
|
|
729
|
-
float metalness;
|
|
730
|
-
float roughness;
|
|
731
|
-
};`),r.add(i.H`float normalDistribution(float NdotH, float roughness)
|
|
732
|
-
{
|
|
733
|
-
float a = NdotH * roughness;
|
|
734
|
-
float b = roughness / (1.0 - NdotH * NdotH + a * a);
|
|
735
|
-
return b * b * INV_PI;
|
|
736
|
-
}`),r.add(i.H`const vec4 c0 = vec4(-1.0, -0.0275, -0.572, 0.022);
|
|
737
|
-
const vec4 c1 = vec4( 1.0, 0.0425, 1.040, -0.040);
|
|
738
|
-
const vec2 c2 = vec2(-1.04, 1.04);
|
|
739
|
-
vec2 prefilteredDFGAnalytical(float roughness, float NdotV) {
|
|
740
|
-
vec4 r = roughness * c0 + c1;
|
|
741
|
-
float a004 = min(r.x * r.x, exp2(-9.28 * NdotV)) * r.x + r.y;
|
|
742
|
-
return c2 * a004 + r.zw;
|
|
743
|
-
}`),r.add(i.H`vec3 evaluateEnvironmentIllumination(PBRShadingInfo inputs) {
|
|
744
|
-
vec3 indirectDiffuse = evaluateDiffuseIlluminationHemisphere(inputs.groundIrradianceToSurface, inputs.skyIrradianceToSurface, inputs.NdotNG);
|
|
745
|
-
vec3 indirectSpecular = evaluateSpecularIlluminationHemisphere(inputs.groundRadianceToSurface, inputs.skyRadianceToSurface, inputs.RdotNG, inputs.roughness);
|
|
746
|
-
vec3 diffuseComponent = inputs.diffuseColor * indirectDiffuse * INV_PI;
|
|
747
|
-
vec2 dfg = prefilteredDFGAnalytical(inputs.roughness, inputs.NdotV);
|
|
748
|
-
vec3 specularColor = inputs.f0 * dfg.x + inputs.f90 * dfg.y;
|
|
749
|
-
vec3 specularComponent = specularColor * indirectSpecular;
|
|
750
|
-
return (diffuseComponent + specularComponent);
|
|
751
|
-
}`),r.add(i.H`float gamutMapChanel(float x, vec2 p){
|
|
752
|
-
return (x < p.x) ? mix(0.0, p.y, x/p.x) : mix(p.y, 1.0, (x - p.x) / (1.0 - p.x) );
|
|
753
|
-
}`),r.add(i.H`vec3 blackLevelSoftCompression(vec3 inColor, PBRShadingInfo inputs){
|
|
754
|
-
vec3 outColor;
|
|
755
|
-
vec2 p = vec2(0.02 * (inputs.averageAmbientRadiance), 0.0075 * (inputs.averageAmbientRadiance));
|
|
756
|
-
outColor.x = gamutMapChanel(inColor.x, p) ;
|
|
757
|
-
outColor.y = gamutMapChanel(inColor.y, p) ;
|
|
758
|
-
outColor.z = gamutMapChanel(inColor.z, p) ;
|
|
759
|
-
return outColor;
|
|
760
|
-
}`))}},85504:(e,t,r)=>{r.d(t,{f7:()=>i,jV:()=>f});var i,n,o=r(72119),a=r(91982),s=r(70582),l=r(172),c=r(74709),u=r(46826),d=r(98069),h=r(67498);function f(e,t){const r=e.fragment,n=t.hasMetalnessAndRoughnessTexture||t.hasEmissionTexture||t.hasOcclusionTexture;if(t.pbrMode===i.Normal&&n&&e.include(a.i,t),t.pbrMode!==i.Schematic)if(t.pbrMode!==i.Disabled){if(t.pbrMode===i.Normal){r.code.add(c.H`vec3 mrr;
|
|
761
|
-
vec3 emission;
|
|
762
|
-
float occlusion;`);const e=t.supportsTextureAtlas,i=t.pbrTextureBindType;t.hasMetalnessAndRoughnessTexture&&(r.uniforms.add(i===h.P.Pass?(0,d.J)("texMetallicRoughness",(e=>e.textureMetallicRoughness),e):(0,u.F)("texMetallicRoughness",(e=>e.textureMetallicRoughness),e)),r.code.add(c.H`void applyMetallnessAndRoughness(TextureLookupParameter params) {
|
|
763
|
-
vec3 metallicRoughness = textureLookup(texMetallicRoughness, params).rgb;
|
|
764
|
-
mrr[0] *= metallicRoughness.b;
|
|
765
|
-
mrr[1] *= metallicRoughness.g;
|
|
766
|
-
}`)),t.hasEmissionTexture&&(r.uniforms.add(i===h.P.Pass?(0,d.J)("texEmission",(e=>e.textureEmissive),e):(0,u.F)("texEmission",(e=>e.textureEmissive),e)),r.code.add(c.H`void applyEmission(TextureLookupParameter params) {
|
|
767
|
-
emission *= textureLookup(texEmission, params).rgb;
|
|
768
|
-
}`)),t.hasOcclusionTexture?(r.uniforms.add(i===h.P.Pass?(0,d.J)("texOcclusion",(e=>e.textureOcclusion),e):(0,u.F)("texOcclusion",(e=>e.textureOcclusion),e)),r.code.add(c.H`void applyOcclusion(TextureLookupParameter params) {
|
|
769
|
-
occlusion *= textureLookup(texOcclusion, params).r;
|
|
770
|
-
}
|
|
771
|
-
float getBakedOcclusion() {
|
|
772
|
-
return occlusion;
|
|
773
|
-
}`)):r.code.add(c.H`float getBakedOcclusion() { return 1.0; }`),r.uniforms.add(i===h.P.Pass?[new l.J("emissionFactor",(e=>e.emissiveFactor)),new l.J("mrrFactors",(e=>e.mrrFactors))]:[new s.B("emissionFactor",(e=>e.emissiveFactor)),new s.B("mrrFactors",(e=>e.mrrFactors))]),r.code.add(c.H`
|
|
774
|
-
void applyPBRFactors() {
|
|
775
|
-
mrr = mrrFactors;
|
|
776
|
-
emission = emissionFactor;
|
|
777
|
-
occlusion = 1.0;
|
|
778
|
-
${n?"vtc.uv = vuv0;":""}
|
|
779
|
-
${t.hasMetalnessAndRoughnessTexture?t.supportsTextureAtlas?"vtc.size = texMetallicRoughnessSize; applyMetallnessAndRoughness(vtc);":"applyMetallnessAndRoughness(vtc);":""}
|
|
780
|
-
${t.hasEmissionTexture?t.supportsTextureAtlas?"vtc.size = texEmissionSize; applyEmission(vtc);":"applyEmission(vtc);":""}
|
|
781
|
-
${t.hasOcclusionTexture?t.supportsTextureAtlas?"vtc.size = texOcclusionSize; applyOcclusion(vtc);":"applyOcclusion(vtc);":""}
|
|
782
|
-
}
|
|
783
|
-
`)}}else r.code.add(c.H`float getBakedOcclusion() { return 1.0; }`);else r.code.add(c.H`const vec3 mrr = vec3(0.0, 0.6, 0.2);
|
|
784
|
-
const vec3 emission = vec3(0.0);
|
|
785
|
-
float occlusion = 1.0;
|
|
786
|
-
void applyPBRFactors() {}
|
|
787
|
-
float getBakedOcclusion() { return 1.0; }`)}r(60537),(0,o.f)(0,.6,.2),(n=i||(i={}))[n.Disabled=0]="Disabled",n[n.Normal=1]="Normal",n[n.Schematic=2]="Schematic",n[n.Water=3]="Water",n[n.WaterOnIntegratedMesh=4]="WaterOnIntegratedMesh",n[n.COUNT=5]="COUNT"},27754:(e,t,r)=>{r.d(t,{e:()=>n});var i=r(74709);function n(e){e.vertex.code.add(i.H`const float PI = 3.141592653589793;`),e.fragment.code.add(i.H`const float PI = 3.141592653589793;
|
|
788
|
-
const float LIGHT_NORMALIZATION = 1.0 / PI;
|
|
789
|
-
const float INV_PI = 0.3183098861837907;
|
|
790
|
-
const float HALF_PI = 1.570796326794897;`)}},51103:(e,t,r)=>{r.d(t,{XE:()=>f,hb:()=>h}),r(65617);var i=r(20285),n=r(18465),o=r(21437),a=r(68174),s=r(74709),l=r(79884),c=r(67498);class u extends l.x{constructor(e,t,r,i){switch(t){case c.P.Pass:case c.P.Draw:return void super(e,"mat4",t,((t,i,n)=>t.setUniformMatrix4fv(e,r(i,n))),i)}}}var d=r(98069);function h(e,t){t.receiveShadows&&(e.fragment.uniforms.add(new u("shadowMapMatrix",c.P.Pass,((e,t)=>t.shadowMap.getShadowMapMatrices(e.origin)),4)),p(e))}function f(e,t){t.receiveShadows&&(e.fragment.uniforms.add(new u("shadowMapMatrix",c.P.Draw,((e,t)=>t.shadowMap.getShadowMapMatrices(e.origin)),4)),p(e))}function p(e){const t=e.fragment;t.include(i.n),t.uniforms.add([new d.A("shadowMapTex",((e,t)=>t.shadowMap.depthTexture)),new a.S("numCascades",c.P.Pass,((e,t)=>t.shadowMap.numCascades)),new n.y("cascadeDistances",c.P.Pass,((e,t)=>t.shadowMap.cascadeDistances)),new o.p("depthHalfPixelSz",((e,t)=>.5/t.shadowMap.textureSize))]),t.code.add(s.H`int chooseCascade(float depth, out mat4 mat) {
|
|
791
|
-
vec4 distance = cascadeDistances;
|
|
792
|
-
int i = depth < distance[1] ? 0 : depth < distance[2] ? 1 : depth < distance[3] ? 2 : 3;
|
|
793
|
-
mat = i == 0 ? shadowMapMatrix[0] : i == 1 ? shadowMapMatrix[1] : i == 2 ? shadowMapMatrix[2] : shadowMapMatrix[3];
|
|
794
|
-
return i;
|
|
795
|
-
}
|
|
796
|
-
vec3 lightSpacePosition(vec3 _vpos, mat4 mat) {
|
|
797
|
-
vec4 lv = mat * vec4(_vpos, 1.0);
|
|
798
|
-
lv.xy /= lv.w;
|
|
799
|
-
return 0.5 * lv.xyz + vec3(0.5);
|
|
800
|
-
}
|
|
801
|
-
vec2 cascadeCoordinates(int i, vec3 lvpos) {
|
|
802
|
-
return vec2(float(i - 2 * (i / 2)) * 0.5, float(i / 2) * 0.5) + 0.5 * lvpos.xy;
|
|
803
|
-
}
|
|
804
|
-
float readShadowMapDepth(vec2 uv, sampler2D _depthTex) {
|
|
805
|
-
return rgba2float(texture2D(_depthTex, uv));
|
|
806
|
-
}
|
|
807
|
-
float posIsInShadow(vec2 uv, vec3 lvpos, sampler2D _depthTex) {
|
|
808
|
-
return readShadowMapDepth(uv, _depthTex) < lvpos.z ? 1.0 : 0.0;
|
|
809
|
-
}
|
|
810
|
-
float filterShadow(vec2 uv, vec3 lvpos, float halfPixelSize, sampler2D _depthTex) {
|
|
811
|
-
float texSize = 0.5 / halfPixelSize;
|
|
812
|
-
vec2 st = fract((vec2(halfPixelSize) + uv) * texSize);
|
|
813
|
-
float s00 = posIsInShadow(uv + vec2(-halfPixelSize, -halfPixelSize), lvpos, _depthTex);
|
|
814
|
-
float s10 = posIsInShadow(uv + vec2(halfPixelSize, -halfPixelSize), lvpos, _depthTex);
|
|
815
|
-
float s11 = posIsInShadow(uv + vec2(halfPixelSize, halfPixelSize), lvpos, _depthTex);
|
|
816
|
-
float s01 = posIsInShadow(uv + vec2(-halfPixelSize, halfPixelSize), lvpos, _depthTex);
|
|
817
|
-
return mix(mix(s00, s10, st.x), mix(s01, s11, st.x), st.y);
|
|
818
|
-
}
|
|
819
|
-
float readShadowMap(const in vec3 _vpos, float _linearDepth) {
|
|
820
|
-
mat4 mat;
|
|
821
|
-
int i = chooseCascade(_linearDepth, mat);
|
|
822
|
-
if (i >= numCascades) { return 0.0; }
|
|
823
|
-
vec3 lvpos = lightSpacePosition(_vpos, mat);
|
|
824
|
-
if (lvpos.z >= 1.0) { return 0.0; }
|
|
825
|
-
if (lvpos.x < 0.0 || lvpos.x > 1.0 || lvpos.y < 0.0 || lvpos.y > 1.0) { return 0.0; }
|
|
826
|
-
vec2 uv = cascadeCoordinates(i, lvpos);
|
|
827
|
-
return filterShadow(uv, lvpos, depthHalfPixelSz, shadowMapTex);
|
|
828
|
-
}`)}},71838:(e,t,r)=>{r.d(t,{kl:()=>d});var i=r(172),n=r(79884),o=r(67498);class a extends n.x{constructor(e,t,r,i){switch(t){case o.P.Pass:case o.P.Draw:return void super(e,"vec4",t,((t,i,n)=>t.setUniform4fv(e,r(i,n))),i)}}}class s extends n.x{constructor(e,t,r,i){switch(t){case o.P.Pass:case o.P.Draw:return void super(e,"float",t,((t,i,n)=>t.setUniform1fv(e,r(i,n))),i)}}}var l=r(74709),c=r(21471),u=r(35065);function d(e,t){t.hasVvInstancing&&(t.vvSize||t.vvColor)&&e.attributes.add(u.T.INSTANCEFEATUREATTRIBUTE,"vec4");const r=e.vertex;t.vvSize?(r.uniforms.add(new i.J("vvSizeMinSize",(e=>e.vvSizeMinSize))),r.uniforms.add(new i.J("vvSizeMaxSize",(e=>e.vvSizeMaxSize))),r.uniforms.add(new i.J("vvSizeOffset",(e=>e.vvSizeOffset))),r.uniforms.add(new i.J("vvSizeFactor",(e=>e.vvSizeFactor))),r.uniforms.add(new c.c("vvSymbolRotationMatrix",o.P.Pass,(e=>e.vvSymbolRotationMatrix))),r.uniforms.add(new i.J("vvSymbolAnchor",(e=>e.vvSymbolAnchor))),r.code.add(l.H`vec3 vvScale(vec4 _featureAttribute) {
|
|
829
|
-
return clamp(vvSizeOffset + _featureAttribute.x * vvSizeFactor, vvSizeMinSize, vvSizeMaxSize);
|
|
830
|
-
}
|
|
831
|
-
vec4 vvTransformPosition(vec3 position, vec4 _featureAttribute) {
|
|
832
|
-
return vec4(vvSymbolRotationMatrix * ( vvScale(_featureAttribute) * (position + vvSymbolAnchor)), 1.0);
|
|
833
|
-
}`),r.code.add(l.H`
|
|
834
|
-
const float eps = 1.192092896e-07;
|
|
835
|
-
vec4 vvTransformNormal(vec3 _normal, vec4 _featureAttribute) {
|
|
836
|
-
vec3 vvScale = clamp(vvSizeOffset + _featureAttribute.x * vvSizeFactor, vvSizeMinSize + eps, vvSizeMaxSize);
|
|
837
|
-
return vec4(vvSymbolRotationMatrix * _normal / vvScale, 1.0);
|
|
838
|
-
}
|
|
839
|
-
|
|
840
|
-
${t.hasVvInstancing?l.H`
|
|
841
|
-
vec4 vvLocalNormal(vec3 _normal) {
|
|
842
|
-
return vvTransformNormal(_normal, instanceFeatureAttribute);
|
|
843
|
-
}
|
|
844
|
-
|
|
845
|
-
vec4 localPosition() {
|
|
846
|
-
return vvTransformPosition(position, instanceFeatureAttribute);
|
|
847
|
-
}`:""}
|
|
848
|
-
`)):r.code.add(l.H`vec4 localPosition() { return vec4(position, 1.0); }
|
|
849
|
-
vec4 vvLocalNormal(vec3 _normal) { return vec4(_normal, 1.0); }`),t.vvColor?(r.constants.add("vvColorNumber","int",h),t.hasVvInstancing&&(r.uniforms.add(new s("vvColorValues",o.P.Pass,(e=>e.vvColorValues),h)),r.uniforms.add(new a("vvColorColors",o.P.Pass,(e=>e.vvColorColors),h))),r.code.add(l.H`
|
|
850
|
-
vec4 vvGetColor(vec4 featureAttribute, float values[vvColorNumber], vec4 colors[vvColorNumber]) {
|
|
851
|
-
float value = featureAttribute.y;
|
|
852
|
-
if (value <= values[0]) {
|
|
853
|
-
return colors[0];
|
|
854
|
-
}
|
|
855
|
-
|
|
856
|
-
for (int i = 1; i < vvColorNumber; ++i) {
|
|
857
|
-
if (values[i] >= value) {
|
|
858
|
-
float f = (value - values[i-1]) / (values[i] - values[i-1]);
|
|
859
|
-
return mix(colors[i-1], colors[i], f);
|
|
860
|
-
}
|
|
861
|
-
}
|
|
862
|
-
return colors[vvColorNumber - 1];
|
|
863
|
-
}
|
|
864
|
-
|
|
865
|
-
${t.hasVvInstancing?l.H`
|
|
866
|
-
vec4 vvColor() {
|
|
867
|
-
return vvGetColor(instanceFeatureAttribute, vvColorValues, vvColorColors);
|
|
868
|
-
}`:""}
|
|
869
|
-
`)):r.code.add(l.H`vec4 vvColor() { return vec4(1.0); }`)}const h=8},96310:(e,t,r)=>{r.d(t,{F:()=>i,b:()=>n});const i=.1,n=.001},85787:(e,t,r)=>{r.d(t,{z:()=>l});var i=r(96310),n=r(74709);function o(e){e.fragment.code.add(n.H`
|
|
870
|
-
#define discardOrAdjustAlpha(color) { if (color.a < ${n.H.float(i.b)}) { discard; } }
|
|
871
|
-
`)}r(79884),r(67498);var a=r(21437),s=r(47026);function l(e,t){!function(e,t,r){const i=e.fragment;switch(t.alphaDiscardMode!==s.JJ.Mask&&t.alphaDiscardMode!==s.JJ.MaskBlend||i.uniforms.add(r),t.alphaDiscardMode){case s.JJ.Blend:return e.include(o);case s.JJ.Opaque:i.code.add(n.H`void discardOrAdjustAlpha(inout vec4 color) {
|
|
872
|
-
color.a = 1.0;
|
|
873
|
-
}`);break;case s.JJ.Mask:i.code.add(n.H`#define discardOrAdjustAlpha(color) { if (color.a < textureAlphaCutoff) { discard; } else { color.a = 1.0; } }`);break;case s.JJ.MaskBlend:e.fragment.code.add(n.H`#define discardOrAdjustAlpha(color) { if (color.a < textureAlphaCutoff) { discard; } }`)}}(e,t,new a.p("textureAlphaCutoff",(e=>e.textureAlphaCutoff)))}},89243:(e,t,r)=>{r.d(t,{$:()=>o,I:()=>a});var i=r(80442),n=r(74709);function o({code:e},t){t.doublePrecisionRequiresObfuscation?e.add(n.H`vec3 dpPlusFrc(vec3 a, vec3 b) {
|
|
874
|
-
return mix(a, a + b, vec3(notEqual(b, vec3(0))));
|
|
875
|
-
}
|
|
876
|
-
vec3 dpMinusFrc(vec3 a, vec3 b) {
|
|
877
|
-
return mix(vec3(0), a - b, vec3(notEqual(a, b)));
|
|
878
|
-
}
|
|
879
|
-
vec3 dpAdd(vec3 hiA, vec3 loA, vec3 hiB, vec3 loB) {
|
|
880
|
-
vec3 t1 = dpPlusFrc(hiA, hiB);
|
|
881
|
-
vec3 e = dpMinusFrc(t1, hiA);
|
|
882
|
-
vec3 t2 = dpMinusFrc(hiB, e) + dpMinusFrc(hiA, dpMinusFrc(t1, e)) + loA + loB;
|
|
883
|
-
return t1 + t2;
|
|
884
|
-
}`):e.add(n.H`vec3 dpAdd(vec3 hiA, vec3 loA, vec3 hiB, vec3 loB) {
|
|
885
|
-
vec3 t1 = hiA + hiB;
|
|
886
|
-
vec3 e = t1 - hiA;
|
|
887
|
-
vec3 t2 = ((hiB - e) + (hiA - (t1 - e))) + loA + loB;
|
|
888
|
-
return t1 + t2;
|
|
889
|
-
}`)}function a(e){return!!(0,i.Z)("force-double-precision-obfuscation")||e.driverTest.doublePrecisionRequiresObfuscation}},93396:(e,t,r)=>{r.d(t,{a:()=>a});var i=r(18361),n=r(74709),o=r(49300);function a(e,t){const r=n.H`
|
|
890
|
-
/*
|
|
891
|
-
* ${t.name}
|
|
892
|
-
* ${t.output===i.H.Color?"RenderOutput: Color":t.output===i.H.Depth?"RenderOutput: Depth":t.output===i.H.Shadow?"RenderOutput: Shadow":t.output===i.H.Normal?"RenderOutput: Normal":t.output===i.H.Highlight?"RenderOutput: Highlight":""}
|
|
893
|
-
*/
|
|
894
|
-
`;(0,o.CG)()&&(e.fragment.code.add(r),e.vertex.code.add(r))}},90692:(e,t,r)=>{r.d(t,{y:()=>a});var i=r(6206),n=r(74709);function o(e){e.code.add(n.H`vec4 premultiplyAlpha(vec4 v) {
|
|
895
|
-
return vec4(v.rgb * v.a, v.a);
|
|
896
|
-
}
|
|
897
|
-
vec3 rgb2hsv(vec3 c) {
|
|
898
|
-
vec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0);
|
|
899
|
-
vec4 p = c.g < c.b ? vec4(c.bg, K.wz) : vec4(c.gb, K.xy);
|
|
900
|
-
vec4 q = c.r < p.x ? vec4(p.xyw, c.r) : vec4(c.r, p.yzx);
|
|
901
|
-
float d = q.x - min(q.w, q.y);
|
|
902
|
-
float e = 1.0e-10;
|
|
903
|
-
return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), min(d / (q.x + e), 1.0), q.x);
|
|
904
|
-
}
|
|
905
|
-
vec3 hsv2rgb(vec3 c) {
|
|
906
|
-
vec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);
|
|
907
|
-
vec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www);
|
|
908
|
-
return c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y);
|
|
909
|
-
}
|
|
910
|
-
float rgb2v(vec3 c) {
|
|
911
|
-
return max(c.x, max(c.y, c.z));
|
|
912
|
-
}`)}function a(e){e.include(o),e.code.add(n.H`
|
|
913
|
-
vec3 mixExternalColor(vec3 internalColor, vec3 textureColor, vec3 externalColor, int mode) {
|
|
914
|
-
// workaround for artifacts in OSX using Intel Iris Pro
|
|
915
|
-
// see: https://devtopia.esri.com/WebGIS/arcgis-js-api/issues/10475
|
|
916
|
-
vec3 internalMixed = internalColor * textureColor;
|
|
917
|
-
vec3 allMixed = internalMixed * externalColor;
|
|
918
|
-
|
|
919
|
-
if (mode == ${n.H.int(i.a9.Multiply)}) {
|
|
920
|
-
return allMixed;
|
|
921
|
-
}
|
|
922
|
-
if (mode == ${n.H.int(i.a9.Ignore)}) {
|
|
923
|
-
return internalMixed;
|
|
924
|
-
}
|
|
925
|
-
if (mode == ${n.H.int(i.a9.Replace)}) {
|
|
926
|
-
return externalColor;
|
|
927
|
-
}
|
|
928
|
-
|
|
929
|
-
// tint (or something invalid)
|
|
930
|
-
float vIn = rgb2v(internalMixed);
|
|
931
|
-
vec3 hsvTint = rgb2hsv(externalColor);
|
|
932
|
-
vec3 hsvOut = vec3(hsvTint.x, hsvTint.y, vIn * hsvTint.z);
|
|
933
|
-
return hsv2rgb(hsvOut);
|
|
934
|
-
}
|
|
935
|
-
|
|
936
|
-
float mixExternalOpacity(float internalOpacity, float textureOpacity, float externalOpacity, int mode) {
|
|
937
|
-
// workaround for artifacts in OSX using Intel Iris Pro
|
|
938
|
-
// see: https://devtopia.esri.com/WebGIS/arcgis-js-api/issues/10475
|
|
939
|
-
float internalMixed = internalOpacity * textureOpacity;
|
|
940
|
-
float allMixed = internalMixed * externalOpacity;
|
|
941
|
-
|
|
942
|
-
if (mode == ${n.H.int(i.a9.Ignore)}) {
|
|
943
|
-
return internalMixed;
|
|
944
|
-
}
|
|
945
|
-
if (mode == ${n.H.int(i.a9.Replace)}) {
|
|
946
|
-
return externalOpacity;
|
|
947
|
-
}
|
|
948
|
-
|
|
949
|
-
// multiply or tint (or something invalid)
|
|
950
|
-
return allMixed;
|
|
951
|
-
}
|
|
952
|
-
`)}},20285:(e,t,r)=>{r.d(t,{n:()=>n});var i=r(74709);function n(e){e.code.add(i.H`const float MAX_RGBA_FLOAT =
|
|
953
|
-
255.0 / 256.0 +
|
|
954
|
-
255.0 / 256.0 / 256.0 +
|
|
955
|
-
255.0 / 256.0 / 256.0 / 256.0 +
|
|
956
|
-
255.0 / 256.0 / 256.0 / 256.0 / 256.0;
|
|
957
|
-
const vec4 FIXED_POINT_FACTORS = vec4(1.0, 256.0, 256.0 * 256.0, 256.0 * 256.0 * 256.0);
|
|
958
|
-
vec4 float2rgba(const float value) {
|
|
959
|
-
float valueInValidDomain = clamp(value, 0.0, MAX_RGBA_FLOAT);
|
|
960
|
-
vec4 fixedPointU8 = floor(fract(valueInValidDomain * FIXED_POINT_FACTORS) * 256.0);
|
|
961
|
-
const float toU8AsFloat = 1.0 / 255.0;
|
|
962
|
-
return fixedPointU8 * toU8AsFloat;
|
|
963
|
-
}
|
|
964
|
-
const vec4 RGBA_2_FLOAT_FACTORS = vec4(
|
|
965
|
-
255.0 / (256.0),
|
|
966
|
-
255.0 / (256.0 * 256.0),
|
|
967
|
-
255.0 / (256.0 * 256.0 * 256.0),
|
|
968
|
-
255.0 / (256.0 * 256.0 * 256.0 * 256.0)
|
|
969
|
-
);
|
|
970
|
-
float rgba2float(vec4 rgba) {
|
|
971
|
-
return dot(rgba, RGBA_2_FLOAT_FACTORS);
|
|
972
|
-
}`)}},93669:(e,t,r)=>{r.d(t,{h:()=>f,S:()=>p});var i=r(52138),n=r(10937),o=r(17896),a=r(65617),s=r(70582),l=r(172),c=r(79884),u=r(67498);class d extends c.x{constructor(e,t){super(e,"mat4",u.P.Draw,((r,i,n)=>r.setUniformMatrix4fv(e,t(i,n))))}}var h=r(8319);function f(e,t){e.add(new s.B("cameraPosition",((e,r)=>t.instancedDoublePrecision?a.Z:(0,o.s)(g,r.camera.viewInverseTransposeMatrix[3]-e.origin[0],r.camera.viewInverseTransposeMatrix[7]-e.origin[1],r.camera.viewInverseTransposeMatrix[11]-e.origin[2]))))}function p(e,t){if(e.vertex.uniforms.add(new h.g("proj",((e,t)=>t.camera.projectionMatrix))),t.instancedDoublePrecision){const t=(e,t)=>(0,o.s)(g,t.camera.viewInverseTransposeMatrix[3],t.camera.viewInverseTransposeMatrix[7],t.camera.viewInverseTransposeMatrix[11]);e.vertex.uniforms.add(new h.g("view",((e,r)=>(0,i.j)(m,r.camera.viewMatrix,t(e,r)))));const r=new l.J("localOrigin",t);return e.vertex.uniforms.add(r),r}e.vertex.uniforms.add(new d("view",((e,t)=>(0,i.j)(m,t.camera.viewMatrix,e.origin))));const r=new s.B("localOrigin",(e=>e.origin));return e.vertex.uniforms.add(r),r}const m=(0,n.c)(),g=(0,a.c)()},19693:(e,t,r)=>{r.d(t,{A:()=>o});var i=r(79884),n=r(67498);class o extends i.x{constructor(e,t){super(e,"vec2",n.P.Pass,((r,i,n)=>r.setUniform2fv(e,t(i,n))))}}},70582:(e,t,r)=>{r.d(t,{B:()=>o});var i=r(79884),n=r(67498);class o extends i.x{constructor(e,t){super(e,"vec3",n.P.Draw,((r,i,n)=>r.setUniform3fv(e,t(i,n))))}}},172:(e,t,r)=>{r.d(t,{J:()=>o});var i=r(79884),n=r(67498);class o extends i.x{constructor(e,t){super(e,"vec3",n.P.Pass,((r,i,n)=>r.setUniform3fv(e,t(i,n))))}}},18465:(e,t,r)=>{r.d(t,{y:()=>o});var i=r(79884),n=r(67498);class o extends i.x{constructor(e,t,r){switch(t){case n.P.Pass:case n.P.Draw:return void super(e,"vec4",t,((t,i,n)=>t.setUniform4fv(e,r(i,n))));default:super(e,"vec4")}}}},21437:(e,t,r)=>{r.d(t,{p:()=>o});var i=r(79884),n=r(67498);class o extends i.x{constructor(e,t){super(e,"float",n.P.Pass,((r,i,n)=>r.setUniform1f(e,t(i,n))))}}},68174:(e,t,r)=>{r.d(t,{S:()=>o});var i=r(79884),n=r(67498);class o extends i.x{constructor(e,t,r){switch(t){case n.P.Pass:case n.P.Draw:return void super(e,"int",t,((t,i,n)=>t.setUniform1i(e,r(i,n))));default:super(e,"int")}}}},21471:(e,t,r)=>{r.d(t,{c:()=>o});var i=r(79884),n=r(67498);class o extends i.x{constructor(e,t,r){switch(t){case n.P.Pass:case n.P.Draw:return void super(e,"mat3",t,((t,i,n)=>t.setUniformMatrix3fv(e,r(i,n))))}}}},8319:(e,t,r)=>{r.d(t,{g:()=>o});var i=r(79884),n=r(67498);class o extends i.x{constructor(e,t){super(e,"mat4",n.P.Pass,((r,i,n)=>r.setUniformMatrix4fv(e,t(i,n))))}}},85594:(e,t,r)=>{r.d(t,{B:()=>n});var i=r(79884);class n extends i.x{constructor(e){super(e,"mat4")}}},33680:(e,t,r)=>{r.d(t,{kG:()=>l});var i=r(20102),n=r(92604),o=r(70586);const a=n.Z.getLogger("esri.views.3d.webgl-engine.core.shaderModules.shaderBuilder");class s{constructor(){this.includedModules=new Map}include(e,t){if(this.includedModules.has(e)){const r=this.includedModules.get(e);if(r!==t){a.error("Trying to include shader module multiple times with different sets of options.");const t=new Set;for(const i of Object.keys(r))r[i]!==e[i]&&t.add(i);for(const i of Object.keys(e))r[i]!==e[i]&&t.add(i);t.forEach((t=>console.error(` ${t}: current ${r[t]} new ${e[t]}`)))}}else this.includedModules.set(e,t),e(this.builder,t)}}class l extends s{constructor(){super(...arguments),this.vertex=new d,this.fragment=new d,this.attributes=new h,this.varyings=new f,this.extensions=new p,this.constants=new m}get fragmentUniforms(){return this.fragment.uniforms.entries}get builder(){return this}generate(e){const t=this.extensions.generateSource(e),r=this.attributes.generateSource(e),i=this.varyings.generateSource(),n="vertex"===e?this.vertex:this.fragment,o=n.uniforms.generateSource(),a=n.code.generateSource(),s="vertex"===e?_:g,l=this.constants.generateSource().concat(n.constants.generateSource());return`\n${t.join("\n")}\n\n${s}\n\n${l.join("\n")}\n\n${o.join("\n")}\n\n${r.join("\n")}\n\n${i.join("\n")}\n\n${a.join("\n")}`}generateBind(e,t){const r=new Map;this.vertex.uniforms.entries.forEach((t=>{const i=t.bind[e];(0,o.pC)(i)&&r.set(t.name,i)})),this.fragment.uniforms.entries.forEach((t=>{const i=t.bind[e];(0,o.pC)(i)&&r.set(t.name,i)}));const i=Array.from(r.values()),n=i.length;return(e,r)=>{for(let o=0;o<n;++o)i[o](t,e,r)}}}class c{constructor(){this._entries=new Map}add(e){if(!Array.isArray(e))return this._add(e);for(const t of e)this._add(t)}_add(e){if(this._entries.has(e.name)&&!this._entries.get(e.name).equals(e))throw new i.Z(`Duplicate uniform name ${e.name} for different uniform type`);this._entries.set(e.name,e)}generateSource(){return Array.from(this._entries.values()).map((e=>(0,o.pC)(e.arraySize)?`uniform ${e.type} ${e.name}[${e.arraySize}];`:`uniform ${e.type} ${e.name};`))}get entries(){return Array.from(this._entries.values())}}class u{constructor(){this._entries=new Array}add(e){this._entries.push(e)}generateSource(){return this._entries}}class d extends s{constructor(){super(...arguments),this.uniforms=new c,this.code=new u,this.constants=new m}get builder(){return this}}class h{constructor(){this._entries=new Array}add(e,t){this._entries.push([e,t])}generateSource(e){return"fragment"===e?[]:this._entries.map((e=>`attribute ${e[1]} ${e[0]};`))}}class f{constructor(){this._entries=new Array}add(e,t){this._entries.push([e,t])}generateSource(){return this._entries.map((e=>`varying ${e[1]} ${e[0]};`))}}class p{constructor(){this._entries=new Set}add(e){this._entries.add(e)}generateSource(e){const t="vertex"===e?p.ALLOWLIST_VERTEX:p.ALLOWLIST_FRAGMENT;return Array.from(this._entries).filter((e=>t.includes(e))).map((e=>`#extension ${e} : enable`))}}p.ALLOWLIST_FRAGMENT=["GL_EXT_shader_texture_lod","GL_OES_standard_derivatives"],p.ALLOWLIST_VERTEX=[];class m{constructor(){this._entries=new Set}add(e,t,r){let i="ERROR_CONSTRUCTOR_STRING";switch(t){case"float":i=m._numberToFloatStr(r);break;case"int":i=m._numberToIntStr(r);break;case"bool":i=r.toString();break;case"vec2":i=`vec2(${m._numberToFloatStr(r[0])}, ${m._numberToFloatStr(r[1])})`;break;case"vec3":i=`vec3(${m._numberToFloatStr(r[0])}, ${m._numberToFloatStr(r[1])}, ${m._numberToFloatStr(r[2])})`;break;case"vec4":i=`vec4(${m._numberToFloatStr(r[0])}, ${m._numberToFloatStr(r[1])}, ${m._numberToFloatStr(r[2])}, ${m._numberToFloatStr(r[3])})`;break;case"ivec2":i=`ivec2(${m._numberToIntStr(r[0])}, ${m._numberToIntStr(r[1])})`;break;case"ivec3":i=`ivec3(${m._numberToIntStr(r[0])}, ${m._numberToIntStr(r[1])}, ${m._numberToIntStr(r[2])})`;break;case"ivec4":i=`ivec4(${m._numberToIntStr(r[0])}, ${m._numberToIntStr(r[1])}, ${m._numberToIntStr(r[2])}, ${m._numberToIntStr(r[3])})`;break;case"mat2":case"mat3":case"mat4":i=`${t}(${Array.prototype.map.call(r,(e=>m._numberToFloatStr(e))).join(", ")})`}return this._entries.add(`const ${t} ${e} = ${i};`),this}static _numberToIntStr(e){return e.toFixed(0)}static _numberToFloatStr(e){return Number.isInteger(e)?e.toFixed(1):e.toString()}generateSource(){return Array.from(this._entries)}}const g="#ifdef GL_FRAGMENT_PRECISION_HIGH\n precision highp float;\n precision highp sampler2D;\n#else\n precision mediump float;\n precision mediump sampler2D;\n#endif",_="precision highp float;\nprecision highp sampler2D;"},46826:(e,t,r)=>{r.d(t,{F:()=>u});var i=r(70586),n=r(4307),o=r(97323),a=r(79884),s=r(67498);class l extends a.x{constructor(e,t){super(e,"vec2",s.P.Draw,((r,i,n)=>r.setUniform2fv(e,t(i,n))))}}class c extends a.x{constructor(e,t){super(e,"sampler2D",s.P.Draw,((r,i,n)=>r.bindTexture(e,t(i,n))))}}function u(e,t,r){const a=[new c(e,t)];if(r){const r=e+"Size";a.push(new l(r,((e,r)=>{const a=t(e,r);return(0,i.pC)(a)?(0,n.b)(d,a.descriptor.width,a.descriptor.height):o.Z})))}return a}const d=(0,o.a)()},98069:(e,t,r)=>{r.d(t,{A:()=>c,J:()=>u});var i=r(70586),n=r(4307),o=r(97323),a=r(19693),s=r(79884),l=r(67498);class c extends s.x{constructor(e,t){super(e,"sampler2D",l.P.Pass,((r,i,n)=>r.bindTexture(e,t(i,n))))}}function u(e,t,r){const s=[new c(e,t)];if(r){const r=e+"Size";s.push(new a.A(r,((e,r)=>{const a=t(e,r);return(0,i.pC)(a)?(0,n.b)(d,a.descriptor.width,a.descriptor.height):o.Z})))}return s}const d=(0,o.a)()},79884:(e,t,r)=>{r.d(t,{x:()=>o});var i=r(70586),n=r(67498);class o{constructor(e,t,r,o,a=null){this.name=e,this.type=t,this.arraySize=a,this.bind={[n.P.Pass]:null,[n.P.Draw]:null},(0,i.pC)(r)&&(0,i.pC)(o)&&(this.bind[r]=o)}equals(e){return this.type===e.type&&this.name===e.name&&this.arraySize===e.arraySize}}},74709:(e,t,r)=>{r.d(t,{H:()=>n,K:()=>i});class i{}function n(e,...t){let r="";for(let i=0;i<t.length;i++)r+=e[i]+t[i];return r+=e[e.length-1],r}!function(e){e.int=function(e){return Math.round(e).toString()},e.float=function(e){return e.toPrecision(8)}}(n||(n={}))},67498:(e,t,r)=>{var i;r.d(t,{P:()=>i}),function(e){e[e.Pass=0]="Pass",e[e.Draw=1]="Draw"}(i||(i={}))},60537:(e,t,r)=>{r.d(t,{F:()=>s});var i=r(70586),n=r(95330),o=r(74709),a=r(47026);class s extends class{constructor(e){this._material=e.material,this._techniqueRepository=e.techniqueRep,this._output=e.output}dispose(){this._techniqueRepository.release(this._technique)}get technique(){return this._technique}ensureTechnique(e,t,r=this._output){return this._technique=this._techniqueRepository.releaseAndAcquire(e,this._material.getConfiguration(r,t),this._technique),this._technique}ensureResources(e){return a.Rw.LOADED}}{constructor(e){super(e),this._numLoading=0,this._disposed=!1,this._textureRepository=e.textureRep,this._textureId=e.textureId,this._acquire(e.textureId,(e=>this._texture=e)),this._acquire(e.normalTextureId,(e=>this._textureNormal=e)),this._acquire(e.emissiveTextureId,(e=>this._textureEmissive=e)),this._acquire(e.occlusionTextureId,(e=>this._textureOcclusion=e)),this._acquire(e.metallicRoughnessTextureId,(e=>this._textureMetallicRoughness=e))}dispose(){this._texture=(0,i.RY)(this._texture),this._textureNormal=(0,i.RY)(this._textureNormal),this._textureEmissive=(0,i.RY)(this._textureEmissive),this._textureOcclusion=(0,i.RY)(this._textureOcclusion),this._textureMetallicRoughness=(0,i.RY)(this._textureMetallicRoughness),this._disposed=!0}ensureResources(e){return 0===this._numLoading?a.Rw.LOADED:a.Rw.LOADING}get passParameters(){return new l((0,i.pC)(this._texture)?this._texture.glTexture:null,(0,i.pC)(this._textureNormal)?this._textureNormal.glTexture:null,(0,i.pC)(this._textureEmissive)?this._textureEmissive.glTexture:null,(0,i.pC)(this._textureOcclusion)?this._textureOcclusion.glTexture:null,(0,i.pC)(this._textureMetallicRoughness)?this._textureMetallicRoughness.glTexture:null)}updateTexture(e){((0,i.Wi)(this._texture)||e!==this._texture.id)&&(this._texture=(0,i.RY)(this._texture),this._textureId=e,this._acquire(this._textureId,(e=>this._texture=e)))}_acquire(e,t){if((0,i.Wi)(e))return void t(null);const r=this._textureRepository.acquire(e);if((0,n.y8)(r))return++this._numLoading,void r.then((e=>{if(this._disposed)return(0,i.RY)(e),void t(null);t(e)})).finally((()=>--this._numLoading));t(r)}}class l extends o.K{constructor(e=null,t=null,r=null,i=null,n=null){super(),this.texture=e,this.textureNormal=t,this.textureEmissive=r,this.textureOcclusion=i,this.textureMetallicRoughness=n}}},50173:(e,t,r)=>{var i;r.d(t,{C:()=>i}),function(e){e[e.MATERIAL=0]="MATERIAL",e[e.MATERIAL_ALPHA=1]="MATERIAL_ALPHA",e[e.MATERIAL_DEPTH=2]="MATERIAL_DEPTH",e[e.MATERIAL_NORMAL=3]="MATERIAL_NORMAL",e[e.MATERIAL_DEPTH_SHADOWMAP_ALL=4]="MATERIAL_DEPTH_SHADOWMAP_ALL",e[e.MATERIAL_HIGHLIGHT=5]="MATERIAL_HIGHLIGHT",e[e.MATERIAL_DEPTH_SHADOWMAP_DEFAULT=6]="MATERIAL_DEPTH_SHADOWMAP_DEFAULT",e[e.MATERIAL_DEPTH_SHADOWMAP_HIGHLIGHT=7]="MATERIAL_DEPTH_SHADOWMAP_HIGHLIGHT"}(i||(i={}))},97995:(e,t,r)=>{var i;r.d(t,{r:()=>i}),function(e){e[e.INTEGRATED_MESH=0]="INTEGRATED_MESH",e[e.OPAQUE_TERRAIN=1]="OPAQUE_TERRAIN",e[e.OPAQUE_MATERIAL=2]="OPAQUE_MATERIAL",e[e.TRANSPARENT_MATERIAL=3]="TRANSPARENT_MATERIAL",e[e.TRANSPARENT_TERRAIN=4]="TRANSPARENT_TERRAIN",e[e.TRANSPARENT_DEPTH_WRITE_DISABLED_MATERIAL=5]="TRANSPARENT_DEPTH_WRITE_DISABLED_MATERIAL",e[e.OCCLUDED_TERRAIN=6]="OCCLUDED_TERRAIN",e[e.OCCLUDER_MATERIAL=7]="OCCLUDER_MATERIAL",e[e.TRANSPARENT_OCCLUDER_MATERIAL=8]="TRANSPARENT_OCCLUDER_MATERIAL",e[e.OCCLUSION_PIXELS=9]="OCCLUSION_PIXELS",e[e.POSTPROCESSING_ENVIRONMENT_OPAQUE=10]="POSTPROCESSING_ENVIRONMENT_OPAQUE",e[e.POSTPROCESSING_ENVIRONMENT_TRANSPARENT=11]="POSTPROCESSING_ENVIRONMENT_TRANSPARENT",e[e.LASERLINES=12]="LASERLINES",e[e.LASERLINES_CONTRAST_CONTROL=13]="LASERLINES_CONTRAST_CONTROL",e[e.HUD_MATERIAL=14]="HUD_MATERIAL",e[e.LABEL_MATERIAL=15]="LABEL_MATERIAL",e[e.LINE_CALLOUTS=16]="LINE_CALLOUTS",e[e.LINE_CALLOUTS_HUD_DEPTH=17]="LINE_CALLOUTS_HUD_DEPTH",e[e.DRAPED_MATERIAL=18]="DRAPED_MATERIAL",e[e.DRAPED_WATER=19]="DRAPED_WATER",e[e.VOXEL=20]="VOXEL",e[e.MAX_SLOTS=21]="MAX_SLOTS"}(i||(i={}))},11726:(e,t,r)=>{r.d(t,{hu:()=>n,yK:()=>o}),r(97323),r(98766),(0,r(88669).c)();class i{constructor(e){this.message=e}toString(){return`AssertException: ${this.message}`}}function n(e,t){if(!e)throw t=t||"assert",console.log(new Error(t).stack),new i(t)}function o(e,t,r,i){let n,o=(r[0]-e[0])/t[0],a=(i[0]-e[0])/t[0];o>a&&(n=o,o=a,a=n);let s=(r[1]-e[1])/t[1],l=(i[1]-e[1])/t[1];if(s>l&&(n=s,s=l,l=n),o>l||s>a)return!1;s>o&&(o=s),l<a&&(a=l);let c=(r[2]-e[2])/t[2],u=(i[2]-e[2])/t[2];return c>u&&(n=c,c=u,u=n),!(o>u||c>a||(u<a&&(a=u),a<0))}},35065:(e,t,r)=>{var i;r.d(t,{T:()=>i}),function(e){e.POSITION="position",e.NORMAL="normal",e.UV0="uv0",e.AUXPOS1="auxpos1",e.AUXPOS2="auxpos2",e.MAPPOS="mapPos",e.COLOR="color",e.SYMBOLCOLOR="symbolColor",e.SIZE="size",e.TANGENT="tangent",e.OFFSET="offset",e.SUBDIVISIONFACTOR="subdivisionFactor",e.COLORFEATUREATTRIBUTE="colorFeatureAttribute",e.SIZEFEATUREATTRIBUTE="sizeFeatureAttribute",e.OPACITYFEATUREATTRIBUTE="opacityFeatureAttribute",e.DISTANCETOSTART="distanceToStart",e.UVMAPSPACE="uvMapSpace",e.BOUNDINGRECT="boundingRect",e.UVREGION="uvRegion",e.NORMALCOMPRESSED="normalCompressed",e.PROFILERIGHT="profileRight",e.PROFILEUP="profileUp",e.PROFILEVERTEXANDNORMAL="profileVertexAndNormal",e.FEATUREVALUE="featureValue",e.MODELORIGINHI="modelOriginHi",e.MODELORIGINLO="modelOriginLo",e.MODEL="model",e.MODELNORMAL="modelNormal",e.INSTANCECOLOR="instanceColor",e.INSTANCEFEATUREATTRIBUTE="instanceFeatureAttribute",e.LOCALTRANSFORM="localTransform",e.GLOBALTRANSFORM="globalTransform",e.BOUNDINGSPHERE="boundingSphere",e.MODELORIGIN="modelOrigin",e.MODELSCALEFACTORS="modelScaleFactors",e.FEATUREATTRIBUTE="featureAttribute",e.STATE="state",e.LODLEVEL="lodLevel",e.POSITION0="position0",e.POSITION1="position1",e.NORMALA="normalA",e.NORMALB="normalB",e.COMPONENTINDEX="componentIndex",e.VARIANTOFFSET="variantOffset",e.VARIANTSTROKE="variantStroke",e.VARIANTEXTENSION="variantExtension",e.U8PADDING="u8padding",e.U16PADDING="u16padding",e.SIDENESS="sideness",e.START="start",e.END="end",e.UP="up",e.EXTRUDE="extrude"}(i||(i={}))},47026:(e,t,r)=>{var i,n,o,a,s,l,c,u,d,h,f,p,m,g;r.d(t,{Am:()=>a,CE:()=>f,Gv:()=>n,JJ:()=>m,MX:()=>h,Rw:()=>l,Vr:()=>i,hU:()=>c}),function(e){e[e.None=0]="None",e[e.Front=1]="Front",e[e.Back=2]="Back",e[e.COUNT=3]="COUNT"}(i||(i={})),function(e){e[e.Less=0]="Less",e[e.Lequal=1]="Lequal",e[e.COUNT=2]="COUNT"}(n||(n={})),function(e){e[e.NONE=0]="NONE",e[e.SMAA=1]="SMAA"}(o||(o={})),function(e){e[e.Color=0]="Color",e[e.Alpha=1]="Alpha",e[e.FrontFace=2]="FrontFace",e[e.NONE=3]="NONE",e[e.COUNT=4]="COUNT"}(a||(a={})),function(e){e[e.BACKGROUND=0]="BACKGROUND",e[e.UPDATE=1]="UPDATE"}(s||(s={})),function(e){e[e.NOT_LOADED=0]="NOT_LOADED",e[e.LOADING=1]="LOADING",e[e.LOADED=2]="LOADED"}(l||(l={})),function(e){e[e.IntegratedMeshMaskExcluded=1]="IntegratedMeshMaskExcluded",e[e.OutlineVisualElementMask=2]="OutlineVisualElementMask"}(c||(c={})),function(e){e[e.ASYNC=0]="ASYNC",e[e.SYNC=1]="SYNC"}(u||(u={})),function(e){e[e.Highlight=0]="Highlight",e[e.MaskOccludee=1]="MaskOccludee",e[e.COUNT=2]="COUNT"}(d||(d={})),function(e){e[e.Triangle=0]="Triangle",e[e.Point=1]="Point",e[e.Line=2]="Line"}(h||(h={})),function(e){e[e.STRETCH=1]="STRETCH",e[e.PAD=2]="PAD"}(f||(f={})),function(e){e[e.CHANGED=0]="CHANGED",e[e.UNCHANGED=1]="UNCHANGED"}(p||(p={})),function(e){e[e.Blend=0]="Blend",e[e.Opaque=1]="Opaque",e[e.Mask=2]="Mask",e[e.MaskBlend=3]="MaskBlend",e[e.COUNT=4]="COUNT"}(m||(m={})),function(e){e[e.OFF=0]="OFF",e[e.ON=1]="ON"}(g||(g={}))},9749:(e,t,r)=>{r.d(t,{V:()=>n}),r(17896);var i=r(65617);r(22021),(0,i.c)();const n=.4;(0,i.c)()},37782:(e,t,r)=>{r.d(t,{FZ:()=>C,Uf:()=>M,Bw:()=>g,LO:()=>R,Hx:()=>S});var i=r(67676),n=r(22021),o=r(70586),a=r(17896),s=r(65617),l=r(60437),c=r(47026);function u(e,t){return Math.max((0,n.t7)(e*t.scale,e,t.factor),function(e,t){return 0===e?t.minPixelSize:t.minPixelSize*(1+2*t.paddingPixels/e)}(e,t))}r(64822),(0,n.Vl)(10),(0,n.Vl)(12),(0,n.Vl)(70),(0,n.Vl)(40);const d={scale:0,factor:0,minPixelSize:0,paddingPixels:0};var h=r(11726),f=r(35065),p=(r(52138),r(13598));r(9820),new Float64Array(3),new Float32Array(6),(0,p.c)();const m=(0,l.Ue)();function g(e,t,r,i,n,a,s){if(!function(e){return!!(0,o.pC)(e)&&!e.visible}(t))if(e.boundingInfo){(0,h.hu)(e.primitiveType===c.MX.Triangle);const t=r.tolerance;v(e.boundingInfo,i,n,t,a,s)}else{const t=e.indices.get(f.T.POSITION),r=e.vertexAttributes.get(f.T.POSITION);x(i,n,0,t.length/3,t,r,void 0,a,s)}}const _=(0,s.c)();function v(e,t,r,i,n,s){if((0,o.Wi)(e))return;const c=function(e,t,r){return(0,a.s)(r,1/(t[0]-e[0]),1/(t[1]-e[1]),1/(t[2]-e[2]))}(t,r,_);if((0,l.op)(m,e.getBBMin()),(0,l.Tn)(m,e.getBBMax()),(0,o.pC)(n)&&n.applyToAabb(m),function(e,t,r,i){return function(e,t,r,i,n){const o=(e[0]-i-t[0])*r[0],a=(e[3]+i-t[0])*r[0];let s=Math.min(o,a),l=Math.max(o,a);const c=(e[1]-i-t[1])*r[1],u=(e[4]+i-t[1])*r[1];if(l=Math.min(l,Math.max(c,u)),l<0)return!1;if(s=Math.max(s,Math.min(c,u)),s>l)return!1;const d=(e[2]-i-t[2])*r[2],h=(e[5]+i-t[2])*r[2];return l=Math.min(l,Math.max(d,h)),!(l<0)&&(s=Math.max(s,Math.min(d,h)),!(s>l)&&s<1/0)}(e,t,r,i)}(m,t,c,i)){const{primitiveIndices:o,indices:a,position:l}=e,c=o?o.length:a.length/3;if(c>y){const o=e.getChildren();if(void 0!==o){for(let e=0;e<8;++e)void 0!==o[e]&&v(o[e],t,r,i,n,s);return}}x(t,r,0,c,a,l,o,n,s)}}const T=(0,s.c)();function x(e,t,r,i,n,a,s,l,c){if(s)return function(e,t,r,i,n,a,s,l,c){const u=a.data,d=a.stride||a.size,h=e[0],f=e[1],p=e[2],m=t[0]-h,g=t[1]-f,_=t[2]-p;for(let e=r;e<i;++e){const t=s[e];let r=3*t,i=d*n[r++],a=u[i++],v=u[i++],x=u[i];i=d*n[r++];let b=u[i++],A=u[i++],S=u[i];i=d*n[r];let M=u[i++],R=u[i++],w=u[i];(0,o.pC)(l)&&([a,v,x]=l.applyToVertex(a,v,x,e),[b,A,S]=l.applyToVertex(b,A,S,e),[M,R,w]=l.applyToVertex(M,R,w,e));const C=b-a,y=A-v,P=S-x,O=M-a,N=R-v,I=w-x,D=g*I-N*_,L=_*O-I*m,F=m*N-O*g,B=C*D+y*L+P*F;if(Math.abs(B)<=Number.EPSILON)continue;const H=h-a,U=f-v,z=p-x,G=H*D+U*L+z*F;if(B>0){if(G<0||G>B)continue}else if(G>0||G<B)continue;const V=U*P-y*z,W=z*C-P*H,q=H*y-C*U,k=m*V+g*W+_*q;if(B>0){if(k<0||G+k>B)continue}else if(k>0||G+k<B)continue;const $=(O*V+N*W+I*q)/B;$>=0&&c($,E(C,y,P,O,N,I,T),t,!1)}}(e,t,r,i,n,a,s,l,c);const u=a.data,d=a.stride||a.size,h=e[0],f=e[1],p=e[2],m=t[0]-h,g=t[1]-f,_=t[2]-p;for(let e=r,t=3*r;e<i;++e){let r=d*n[t++],i=u[r++],a=u[r++],s=u[r];r=d*n[t++];let v=u[r++],x=u[r++],b=u[r];r=d*n[t++];let A=u[r++],S=u[r++],M=u[r];(0,o.pC)(l)&&([i,a,s]=l.applyToVertex(i,a,s,e),[v,x,b]=l.applyToVertex(v,x,b,e),[A,S,M]=l.applyToVertex(A,S,M,e));const R=v-i,w=x-a,C=b-s,y=A-i,P=S-a,O=M-s,N=g*O-P*_,I=_*y-O*m,D=m*P-y*g,L=R*N+w*I+C*D;if(Math.abs(L)<=Number.EPSILON)continue;const F=h-i,B=f-a,H=p-s,U=F*N+B*I+H*D;if(L>0){if(U<0||U>L)continue}else if(U>0||U<L)continue;const z=B*C-w*H,G=H*R-C*F,V=F*w-R*B,W=m*z+g*G+_*V;if(L>0){if(W<0||U+W>L)continue}else if(W>0||U+W<L)continue;const q=(y*z+P*G+O*V)/L;q>=0&&c(q,E(R,w,C,y,P,O,T),e,!1)}}const b=(0,s.c)(),A=(0,s.c)();function E(e,t,r,i,n,o,s){return(0,a.s)(b,e,t,r),(0,a.s)(A,i,n,o),(0,a.f)(s,b,A),(0,a.n)(s,s),s}function S(e,t,r,i,a){let s=(r.screenLength||0)*e.pixelRatio;(0,o.pC)(a)&&(s=function(e,t,r,i){return u(e,function(e,t,r){const i=r.parameters,n=r.paddingPixelsOverride;return d.scale=Math.min(i.divisor/(t-i.offset),1),d.factor=function(e){return Math.abs(e*e*e)}(e),d.minPixelSize=i.minPixelSize,d.paddingPixels=n,d}(t,r,i))}(s,i,t,a));const l=s*Math.tan(.5*e.fovY)/(.5*e.fullHeight);return(0,n.uZ)(l*t,r.minWorldLength||0,null!=r.maxWorldLength?r.maxWorldLength:1/0)}function M(e,t){const r=t?M(t):{};for(const t in e){let i=e[t];i&&i.forEach&&(i=w(i)),null==i&&t in r||(r[t]=i)}return r}function R(e,t){let r=!1;for(const n in t){const o=t[n];void 0!==o&&(Array.isArray(o)?null===e[n]?(e[n]=o.slice(),r=!0):(0,i.Vx)(e[n],o)&&(r=!0):e[n]!==o&&(r=!0,e[n]=o))}return r}function w(e){const t=[];return e.forEach((e=>t.push(e))),t}const C={multiply:1,ignore:2,replace:3,tint:4},y=1e3},64822:(e,t,r)=>{var i;r.d(t,{JY:()=>i}),function(e){e[e.Global=1]="Global",e[e.Local=2]="Local"}(i||(i={}))},75656:(e,t,r)=>{r.d(t,{x:()=>c}),r(80442);var i=r(22021),n=r(70586),o=r(49300),a=r(54738),s=r(35371),l=r(46314);class c{constructor(e,t,r=null){if(this._context=e,this.type="texture",this._glName=null,this._descriptor=void 0,this._samplingModeDirty=!1,this._wrapModeDirty=!1,this._wasImmutablyAllocated=!1,e.instanceCounter.increment(s._g.Texture,this),this._descriptor={target:s.No.TEXTURE_2D,samplingMode:s.cw.LINEAR,wrapMode:s.e8.REPEAT,flipped:!1,hasMipmap:!1,isOpaque:!1,unpackAlignment:4,preMultiplyAlpha:!1,isImmutable:!1,...t},e.type!==a.zO.WEBGL2&&(this._descriptor.isImmutable&&(this._descriptor.isImmutable=!1),h(this._descriptor.target)))throw new Error("3D and array textures are not supported in WebGL1");this._descriptor.target===s.No.TEXTURE_CUBE_MAP?this._setDataCubeMap(r):this.setData(r)}get glName(){return this._glName}get descriptor(){return this._descriptor}get isDirty(){return this._samplingModeDirty||this._wrapModeDirty}dispose(){this._context.gl&&this._glName&&(this._context.unbindTexture(this),this._context.gl.deleteTexture(this._glName),this._glName=null,this._context.instanceCounter.decrement(s._g.Texture,this))}release(){this.dispose()}resize(e,t){const r=this._descriptor;if(r.width!==e||r.height!==t){if(this._wasImmutablyAllocated)throw new Error("Immutable textures can't be resized!");r.width=e,r.height=t,this._descriptor.target===s.No.TEXTURE_CUBE_MAP?this._setDataCubeMap(null):this.setData(null)}}_setDataCubeMap(e=null){for(let t=s.No.TEXTURE_CUBE_MAP_POSITIVE_X;t<=s.No.TEXTURE_CUBE_MAP_NEGATIVE_Z;t++)this._setData(e,t)}setData(e){this._setData(e)}_setData(e,t){if(!this._context||!this._context.gl)return;const r=this._context.gl;this._glName||(this._glName=r.createTexture()),void 0===e&&(e=null);const i=this._descriptor;null!=t||(t=i.target);const a=h(t);var p;null===e&&(i.width=i.width||4,i.height=i.height||4,a&&(i.depth=null!=(p=i.depth)?p:1));const m=this._context.bindTexture(this,c.TEXTURE_UNIT_FOR_UPDATES);this._context.setActiveTexture(c.TEXTURE_UNIT_FOR_UPDATES),c._validateTexture(this._context,i),this._configurePixelStorage();const g=i.pixelFormat;let _=i.internalFormat?i.internalFormat:this._deriveInternalFormat(g,i.dataType);if(d(e)){let n=e.width,s=e.height;const l=1;e instanceof HTMLVideoElement&&(n=e.videoWidth,s=e.videoHeight),i.width&&i.height,a&&i.depth,i.isImmutable&&!this._wasImmutablyAllocated&&this._texStorage(t,_,i.hasMipmap,n,s,l),this._texImage(t,0,_,n,s,l,e),(0,o.zu)(r),i.hasMipmap&&this.generateMipmap(),void 0===i.width&&(i.width=n),void 0===i.height&&(i.height=s),a&&void 0===i.depth&&(i.depth=l)}else{const{width:c,height:d,depth:h}=i;if(null!=c&&null!=d||console.error("Width and height must be specified!"),a&&null==h&&console.error("Depth must be specified!"),i.isImmutable&&!this._wasImmutablyAllocated&&this._texStorage(t,_,i.hasMipmap,c,d,h),r.DEPTH24_STENCIL8&&_===r.DEPTH_STENCIL&&(_=r.DEPTH24_STENCIL8),u(e)){const n=e.levels,o=f(t,c,d,h),a=Math.min(o-1,n.length-1);(0,l.Z)(r)?r.texParameteri(i.target,r.TEXTURE_MAX_LEVEL,a):i.hasMipmap=i.hasMipmap&&o===n.length;const u=_;if(!function(e){return e in s.q_}(u))throw new Error("Attempting to use compressed data with an umcompressed format!");this._forEachMipmapLevel(((e,r,i,o)=>{const a=n[Math.min(e,n.length-1)];this._compressedTexImage(t,e,u,r,i,o,a)}),a)}else(0,n.pC)(e)?(this._texImage(t,0,_,c,d,h,e),(0,o.zu)(r),i.hasMipmap&&this.generateMipmap()):this._forEachMipmapLevel(((e,i,n,a)=>{this._texImage(t,e,_,i,n,a,null),(0,o.zu)(r)}))}c._applySamplingMode(r,this._descriptor),c._applyWrapMode(r,this._descriptor),c._applyAnisotropicFilteringParameters(this._context,this._descriptor),(0,o.zu)(r),this._context.bindTexture(m,c.TEXTURE_UNIT_FOR_UPDATES)}updateData(e,t,r,i,n,o){o||console.error("An attempt to use uninitialized data!"),this._glName||console.error("An attempt to update uninitialized texture!");const a=this._context.gl,s=this._descriptor,{pixelFormat:l,internalFormat:h,dataType:f,isImmutable:p,target:m}=s;if(p&&!this._wasImmutablyAllocated)throw new Error("Cannot update immutable texture before allocation!");const g=this._context.bindTexture(this,c.TEXTURE_UNIT_FOR_UPDATES);(t<0||r<0||i>s.width||n>s.height||t+i>s.width||r+n>s.height)&&console.error("An attempt to update out of bounds of the texture!"),this._configurePixelStorage(),d(o)?a.texSubImage2D(m,e,t,r,l,f,o):u(o)?a.compressedTexSubImage2D(m,e,t,r,i,n,h,o.levels[e]):a.texSubImage2D(m,e,t,r,i,n,l,f,o),this._context.bindTexture(g,c.TEXTURE_UNIT_FOR_UPDATES)}updateData3D(e,t,r,i,n,o,a,s){s||console.error("An attempt to use uninitialized data!"),this._glName||console.error("An attempt to update uninitialized texture!");const d=this._context.gl;if(!(0,l.Z)(d))throw new Error("3D textures are not supported in WebGL1");const f=this._descriptor,{pixelFormat:p,dataType:m,isImmutable:g,target:_,internalFormat:v}=f;if(g&&!this._wasImmutablyAllocated)throw new Error("Cannot update immutable texture before allocation!");h(_)||console.warn("Attempting to set 3D texture data on a non-3D texture");const T=this._context.bindTexture(this,c.TEXTURE_UNIT_FOR_UPDATES);if(this._context.setActiveTexture(c.TEXTURE_UNIT_FOR_UPDATES),(t<0||r<0||i<0||n>f.width||o>f.height||a>f.depth||t+n>f.width||r+o>f.height||i+a>f.depth)&&console.error("An attempt to update out of bounds of the texture!"),this._configurePixelStorage(),u(s))s=s.levels[e],d.compressedTexSubImage3D(_,e,t,r,i,n,o,a,v,s);else{const l=s;d.texSubImage3D(_,e,t,r,i,n,o,a,p,m,l)}this._context.bindTexture(T,c.TEXTURE_UNIT_FOR_UPDATES)}generateMipmap(){const e=this._descriptor;if(!e.hasMipmap){if(this._wasImmutablyAllocated)throw new Error("Cannot add mipmaps to immutable texture after allocation");e.hasMipmap=!0,this._samplingModeDirty=!0,c._validateTexture(this._context,e)}e.samplingMode===s.cw.LINEAR?(this._samplingModeDirty=!0,e.samplingMode=s.cw.LINEAR_MIPMAP_NEAREST):e.samplingMode===s.cw.NEAREST&&(this._samplingModeDirty=!0,e.samplingMode=s.cw.NEAREST_MIPMAP_NEAREST);const t=this._context.bindTexture(this,c.TEXTURE_UNIT_FOR_UPDATES);this._context.setActiveTexture(c.TEXTURE_UNIT_FOR_UPDATES),this._context.gl.generateMipmap(e.target),this._context.bindTexture(t,c.TEXTURE_UNIT_FOR_UPDATES)}setSamplingMode(e){e!==this._descriptor.samplingMode&&(this._descriptor.samplingMode=e,this._samplingModeDirty=!0)}setWrapMode(e){e!==this._descriptor.wrapMode&&(this._descriptor.wrapMode=e,c._validateTexture(this._context,this._descriptor),this._wrapModeDirty=!0)}applyChanges(){const e=this._context.gl,t=this._descriptor;this._samplingModeDirty&&(c._applySamplingMode(e,t),this._samplingModeDirty=!1),this._wrapModeDirty&&(c._applyWrapMode(e,t),this._wrapModeDirty=!1)}_deriveInternalFormat(e,t){if(this._context.type===a.zO.WEBGL1)return e;switch(t){case s.Br.FLOAT:switch(e){case s.VI.RGBA:return s.lP.RGBA32F;case s.VI.RGB:return s.lP.RGB32F;default:throw new Error("Unable to derive format")}case s.Br.UNSIGNED_BYTE:switch(e){case s.VI.RGBA:return s.lP.RGBA8;case s.VI.RGB:return s.lP.RGB8}default:return e}}_configurePixelStorage(){const e=this._context.gl,{unpackAlignment:t,flipped:r,preMultiplyAlpha:i}=this._descriptor;e.pixelStorei(e.UNPACK_ALIGNMENT,t),e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,r?1:0),e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,i?1:0)}_texStorage(e,t,r,i,n,o){const a=this._context.gl;if(!(0,l.Z)(a))throw new Error("Immutable textures are not supported in WebGL1");if(!function(e){return e in s.lP}(t))throw new Error("Immutable textures must have a sized internal format");if(!this._descriptor.isImmutable)return;const c=r?f(e,i,n,o):1;h(e)?a.texStorage3D(e,c,t,i,n,o):a.texStorage2D(e,c,t,i,n),this._wasImmutablyAllocated=!0}_texImage(e,t,r,i,o,s,l){const c=this._context.gl;let u=null;const f=this._context.type===a.zO.WEBGL2,p=h(e),{isImmutable:m,pixelFormat:g,dataType:_}=this._descriptor;if(f&&(u=c),f||!d(l))if(m){if((0,n.pC)(l)){const r=l;p?u.texSubImage3D(e,t,0,0,0,i,o,s,g,_,r):c.texSubImage2D(e,t,0,0,i,o,g,_,r)}}else{const a=(0,n.Wg)(l);p?u.texImage3D(e,t,r,i,o,s,0,g,_,a):c.texImage2D(e,t,r,i,o,0,g,_,a)}else c.texImage2D(e,0,r,g,_,l)}_compressedTexImage(e,t,r,i,o,s,l){const c=this._context.gl;let u=null;const d=h(e),f=this._descriptor.isImmutable;if(d){if(this._context.type!==a.zO.WEBGL2)throw new Error("3D textures are not supported in WebGL1");u=c}f?(0,n.pC)(l)&&(d?u.compressedTexSubImage3D(e,t,0,0,0,i,o,s,r,l):c.compressedTexSubImage2D(e,t,0,0,i,o,r,l)):d?u.compressedTexImage3D(e,t,r,i,o,s,0,l):c.compressedTexImage2D(e,t,r,i,o,0,l)}_forEachMipmapLevel(e,t=1/0){let{width:r,height:i,depth:n,hasMipmap:o,target:a}=this._descriptor;const l=a===s.No.TEXTURE_3D;for(let a=0;e(a,r,i,n),o&&(1!==r||1!==i||l&&1!==n)&&!(a>=t);++a)r=Math.max(1,r>>1),i=Math.max(1,i>>1),l&&(n=Math.max(1,n>>1))}static _validateTexture(e,t){(t.width<0||t.height<0||t.depth<0)&&console.error("Negative dimension parameters are not allowed!");const r=(0,l.Z)(e.gl),n=(0,i.wt)(t.width)&&(0,i.wt)(t.height);r||!t.isImmutable&&!h(t.target)||console.error("Immutable and 3D-like textures are not supported in WebGL1!"),r||n||("number"==typeof t.wrapMode?t.wrapMode!==s.e8.CLAMP_TO_EDGE&&console.error("Non-power-of-two textures must have a wrap mode of CLAMP_TO_EDGE!"):t.wrapMode.s===s.e8.CLAMP_TO_EDGE&&t.wrapMode.t===s.e8.CLAMP_TO_EDGE||console.error("Non-power-of-two textures must have a wrap mode of CLAMP_TO_EDGE!"),t.hasMipmap&&console.error("Mipmapping requires power-of-two textures!"))}static _applySamplingMode(e,t){let r=t.samplingMode,i=t.samplingMode;r===s.cw.LINEAR_MIPMAP_NEAREST||r===s.cw.LINEAR_MIPMAP_LINEAR?(r=s.cw.LINEAR,t.hasMipmap||(i=s.cw.LINEAR)):r!==s.cw.NEAREST_MIPMAP_NEAREST&&r!==s.cw.NEAREST_MIPMAP_LINEAR||(r=s.cw.NEAREST,t.hasMipmap||(i=s.cw.NEAREST)),e.texParameteri(t.target,e.TEXTURE_MAG_FILTER,r),e.texParameteri(t.target,e.TEXTURE_MIN_FILTER,i)}static _applyWrapMode(e,t){"number"==typeof t.wrapMode?(e.texParameteri(t.target,e.TEXTURE_WRAP_S,t.wrapMode),e.texParameteri(t.target,e.TEXTURE_WRAP_T,t.wrapMode)):(e.texParameteri(t.target,e.TEXTURE_WRAP_S,t.wrapMode.s),e.texParameteri(t.target,e.TEXTURE_WRAP_T,t.wrapMode.t))}static _applyAnisotropicFilteringParameters(e,t){var r;const i=e.capabilities.textureFilterAnisotropic;i&&e.gl.texParameterf(t.target,i.TEXTURE_MAX_ANISOTROPY,null!=(r=t.maxAnisotropy)?r:1)}}function u(e){return(0,n.pC)(e)&&"type"in e&&"compressed"===e.type}function d(e){return(0,n.pC)(e)&&!u(e)&&!function(e){return(0,n.pC)(e)&&"byteLength"in e}(e)}function h(e){return e===s.No.TEXTURE_3D||e===s.No.TEXTURE_2D_ARRAY}function f(e,t,r,i=1){let n=Math.max(t,r);return e===s.No.TEXTURE_3D&&(n=Math.max(n,i)),Math.round(Math.log(n)/Math.LN2)+1}c.TEXTURE_UNIT_FOR_UPDATES=0},21968:(e,t,r)=>{r.d(t,{G:()=>i});class i{constructor(e,t,r,i,n,o=!1,a=0){this.name=e,this.count=t,this.type=r,this.offset=i,this.stride=n,this.normalized=o,this.divisor=a}}},46314:(e,t,r)=>{function i(e){return window.WebGL2RenderingContext&&e instanceof window.WebGL2RenderingContext}r.d(t,{Z:()=>i})},49300:(e,t,r)=>{r.d(t,{CG:()=>l,hZ:()=>s,zu:()=>c});var i=r(20102),n=r(80442);const o=r(92604).Z.getLogger("esri/views/webgl"),a=!!(0,n.Z)("enable-feature:webgl-debug");function s(){return a}function l(){return a}function c(e){if(s()){const t=e.getError();if(t){const r=function(e,t){switch(t){case e.INVALID_ENUM:return"Invalid Enum. An unacceptable value has been specified for an enumerated argument.";case e.INVALID_VALUE:return"Invalid Value. A numeric argument is out of range.";case e.INVALID_OPERATION:return"Invalid Operation. The specified command is not allowed for the current state.";case e.INVALID_FRAMEBUFFER_OPERATION:return"Invalid Framebuffer operation. The currently bound framebuffer is not framebuffer complete when trying to render to or to read from it.";case e.OUT_OF_MEMORY:return"Out of memory. Not enough memory is left to execute the command.";case e.CONTEXT_LOST_WEBGL:return"WebGL context has been lost";default:return"Unknown error"}}(e,t),n=(new Error).stack;o.error(new i.Z("webgl-error","WebGL error occured",{message:r,stack:n}))}}}},54738:(e,t,r)=>{r.d(t,{Sh:()=>a,kr:()=>s,zO:()=>i});var i,n,o=r(80442);function a(e){const t=(0,o.Z)("esri-force-webgl");if(t===i.WEBGL1||t===i.WEBGL2)return[t];switch(e){case"2d":case"3d":return[i.WEBGL2,i.WEBGL1]}}function s(e,t,r={}){const n=t===i.WEBGL1?["webgl","experimental-webgl","webkit-3d","moz-webgl"]:["webgl2"];let o=null;for(const t of n){try{o=e.getContext(t,r)}catch(e){}if(o)break}return o}(n=i||(i={}))[n.WEBGL1=1]="WEBGL1",n[n.WEBGL2=2]="WEBGL2"},9820:(e,t,r)=>{function i(e,t){const r=e.length;for(let i=0;i<r;++i)o[0]=e[i],t[i]=o[0];return t}function n(e,t){const r=e.length;for(let i=0;i<r;++i)o[0]=e[i],o[1]=e[i]-o[0],t[i]=o[1];return t}r.d(t,{GB:()=>n,U8:()=>i});const o=new Float32Array(2)}}]);
|