@arcgis/core 4.22.0-next.20211005 → 4.22.0-next.20211010
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/AggregateGraphic.js +1 -1
- package/Basemap.js +1 -1
- package/Camera.js +1 -1
- package/Graphic.js +1 -1
- package/Ground.js +1 -1
- package/Map.js +1 -1
- package/PopupTemplate.js +1 -1
- package/TimeExtent.js +1 -1
- package/TimeInterval.js +1 -1
- package/Viewpoint.js +1 -1
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/02d4252a0c9a4910e6af.js +1 -0
- package/assets/esri/core/workers/chunks/05569f561610d7c28612.js +1 -0
- package/assets/esri/core/workers/chunks/05a9ec311ecf8a5e683f.js +1 -0
- package/assets/esri/core/workers/chunks/09a20721d541b1b8f29b.js +1 -0
- package/assets/esri/core/workers/chunks/0d68b679ab6d7cc9f937.js +1 -0
- package/assets/esri/core/workers/chunks/0f8869760d6854e591f7.js +1 -0
- package/assets/esri/core/workers/chunks/10dc833961dceae076e7.js +1 -0
- package/assets/esri/core/workers/chunks/11a7d3e7f63ea044d47a.js +1 -0
- package/assets/esri/core/workers/chunks/{f5f6983e8db08af342f4.js → 1248559b9d3b9f0c6249.js} +1 -1
- package/assets/esri/core/workers/chunks/1576727e8174d672555b.js +1 -0
- package/assets/esri/core/workers/chunks/1e833c0b4069f11549bd.js +1 -0
- package/assets/esri/core/workers/chunks/1f9e3d6212f7e3cabd66.js +1 -0
- package/assets/esri/core/workers/chunks/2148625884088f10a314.js +1 -0
- package/assets/esri/core/workers/chunks/{aadc165adf1bf2fc900f.js → 2319aa406b4ee61bdf5c.js} +1 -1
- package/assets/esri/core/workers/chunks/2a6f2e3d639aae491171.js +1 -0
- package/assets/esri/core/workers/chunks/{ae9c28a0f8c980554383.js → 2d5f9a3af2f13a3181bc.js} +1 -1
- package/assets/esri/core/workers/chunks/2d8d5a4ded347d9edb65.js +1 -0
- package/assets/esri/core/workers/chunks/2e17d0f5c79df12bf609.js +1 -0
- package/assets/esri/core/workers/chunks/32a862eedc4cb01ac5fe.js +1 -0
- package/assets/esri/core/workers/chunks/3323f454990f108b32a7.js +1 -0
- package/assets/esri/core/workers/chunks/34bbf084deb7f59389e5.js +1 -0
- package/assets/esri/core/workers/chunks/38143bca63b879464629.js +1 -0
- package/assets/esri/core/workers/chunks/38c0b15b3f8eac792920.js +1 -0
- package/assets/esri/core/workers/chunks/38f7408bc3a27014ddb9.js +1 -0
- package/assets/esri/core/workers/chunks/3dabb070fafc7e656819.js +1 -0
- package/assets/esri/core/workers/chunks/4041ba127f5a71c62868.js +1 -0
- package/assets/esri/core/workers/chunks/4399d3a750df922f5238.js +1 -0
- package/assets/esri/core/workers/chunks/4514adea5ddf409e1d6e.js +1 -0
- package/assets/esri/core/workers/chunks/45d0850a768f7bedd700.js +1 -0
- package/assets/esri/core/workers/chunks/47dd3ecb5746fe12a0ac.js +1 -0
- package/assets/esri/core/workers/chunks/49a64a633dcc861e1ba3.js +1 -0
- package/assets/esri/core/workers/chunks/{db202ae7dc8b584f312f.js → 4b0ffef8ba88b5523930.js} +1 -1
- package/assets/esri/core/workers/chunks/4e649a519ac4a1811a14.js +1 -0
- package/assets/esri/core/workers/chunks/4e6b64c4eeba3c320c3c.js +1 -0
- package/assets/esri/core/workers/chunks/4ec0f4e490ca3e54be5f.js +1 -0
- package/assets/esri/core/workers/chunks/4eeb14431589318c990a.js +1 -0
- package/assets/esri/core/workers/chunks/4ef1b445bbb707ba1d84.js +1 -0
- package/assets/esri/core/workers/chunks/50ec07bbfbf3bda721f5.js +1 -0
- package/assets/esri/core/workers/chunks/51dc080bd436b0bb5778.js +1 -0
- package/assets/esri/core/workers/chunks/{23e7e3e8d3c981c86ed6.js → 54b44c250e72e4f755cc.js} +1 -1
- package/assets/esri/core/workers/chunks/5694363770da722b620a.js +1 -0
- package/assets/esri/core/workers/chunks/5a0fce004d03c3d32de3.js +1 -0
- package/assets/esri/core/workers/chunks/61345dc0135ce5766916.js +1 -0
- package/assets/esri/core/workers/chunks/617bb70a3e676ab8fe2e.js +1 -0
- package/assets/esri/core/workers/chunks/6304f4e53027df04eb8f.js +1 -0
- package/assets/esri/core/workers/chunks/65332c426e71706e4aba.js +1 -0
- package/assets/esri/core/workers/chunks/68de0fdde0ff929b6a2a.js +1 -0
- package/assets/esri/core/workers/chunks/6ab82532d9cf5a503a50.js +1 -0
- package/assets/esri/core/workers/chunks/6ee4db1d82f7b9d49b53.js +1 -0
- package/assets/esri/core/workers/chunks/{b7b79d608909cba46a06.js → 6fc26eb6152dd69b9a26.js} +1 -1
- package/assets/esri/core/workers/chunks/70af79364589fabf027b.js +1 -0
- package/assets/esri/core/workers/chunks/751c1a2838b54a74a9a6.js +971 -0
- package/assets/esri/core/workers/chunks/7c2e5af0b07391e21e52.js +1 -0
- package/assets/esri/core/workers/chunks/7fa7cf2b73f9a413481a.js +1 -0
- package/assets/esri/core/workers/chunks/8b1c3bd4bc84b8c744c1.js +1 -0
- package/assets/esri/core/workers/chunks/8c1094038e522568c3c3.js +1 -0
- package/assets/esri/core/workers/chunks/922f12c26abf956d42b9.js +1 -0
- package/assets/esri/core/workers/chunks/9379aa088a6c2552a860.js +1 -0
- package/assets/esri/core/workers/chunks/{4990e49a5ca46cc33ba7.js → 9505d5894722cbefab80.js} +1 -1
- package/assets/esri/core/workers/chunks/95cfd21db2b819da60fc.js +1 -0
- package/assets/esri/core/workers/chunks/97d8193df091f67490cf.js +1 -0
- package/assets/esri/core/workers/chunks/99fed4ecedf433857d16.js +1 -0
- package/assets/esri/core/workers/chunks/9c2211cd27dddbfe16bb.js +1 -0
- package/assets/esri/core/workers/chunks/9d30c19a25a0a071b576.js +1 -0
- package/assets/esri/core/workers/chunks/a93a383f80ca727c5c73.js +1 -0
- package/assets/esri/core/workers/chunks/{0d6dbcf82012cba81adf.js → aa8e607f908297786675.js} +1 -1
- package/assets/esri/core/workers/chunks/ac3d5f598051971b378b.js +1 -0
- package/assets/esri/core/workers/chunks/ae652a059c827c24c53d.js +1 -0
- package/assets/esri/core/workers/chunks/b2ff017fd59430731478.js +1 -0
- package/assets/esri/core/workers/chunks/{834323ab75384e3973f5.js → b6aafa268d1613a7d6b4.js} +1 -1
- package/assets/esri/core/workers/chunks/bc9495809d077d8cb23d.js +1 -0
- package/assets/esri/core/workers/chunks/be7a1343d605a6f2931f.js +1 -0
- package/assets/esri/core/workers/chunks/c488f20acb2de779e893.js +1 -0
- package/assets/esri/core/workers/chunks/c493409e50269a54bafe.js +1 -0
- package/assets/esri/core/workers/chunks/c5f462e7d7daf8235359.js +1 -0
- package/assets/esri/core/workers/chunks/c625bbb29a9f3530605d.js +1 -0
- package/assets/esri/core/workers/chunks/c82e6cea96dd9341dd05.js +1 -0
- package/assets/esri/core/workers/chunks/cd1d6b13ca08411c6702.js +1 -0
- package/assets/esri/core/workers/chunks/cf12f2850f1412df3835.js +1 -0
- package/assets/esri/core/workers/chunks/d01a283bc23a61b0e616.js +1 -0
- package/assets/esri/core/workers/chunks/{9a5a21b45d5de648eda4.js → d103e4023dff89ea56ef.js} +1 -1
- package/assets/esri/core/workers/chunks/d76ab9f2c78e700b4ce2.js +1 -0
- package/assets/esri/core/workers/chunks/d800aa2a84d7d558fd72.js +1 -0
- package/assets/esri/core/workers/chunks/dc483623b4907ea9aa51.js +1 -0
- package/assets/esri/core/workers/chunks/{b5184e61b2cdd8e48f65.js → ddaac47879a8ac8041f1.js} +1 -1
- package/assets/esri/core/workers/chunks/de12d65ce5be75d96b27.js +1 -0
- package/assets/esri/core/workers/chunks/e03c69c2b4a7ed3d77d8.js +1 -0
- package/assets/esri/core/workers/chunks/e2a783173aa8e027db19.js +1 -0
- package/assets/esri/core/workers/chunks/e61403cd9668906a38c6.js +1 -0
- package/assets/esri/core/workers/chunks/ea803db1951c5a35e9b8.js +1 -0
- package/assets/esri/core/workers/chunks/eb2709ccbc001f42ac1b.js +1 -0
- package/assets/esri/core/workers/chunks/eb3035e49a45ecc82575.js +1 -0
- package/assets/esri/core/workers/chunks/f92bce8a511851aa3a04.js +1 -0
- package/assets/esri/core/workers/chunks/fce76a84c7d25d8d47e8.js +1 -0
- package/assets/esri/core/workers/chunks/ffd15c2821187b010874.js +1 -0
- package/assets/esri/libs/i3s/i3s.wasm +0 -0
- package/assets/esri/libs/vxl/vxlLayer.wasm +0 -0
- package/chunks/LineCallout3DBorder.js +1 -1
- package/chunks/MultipointDrawAction.js +1 -1
- package/chunks/RibbonLine.glsl.js +43 -36
- package/chunks/vxlLayer.js +1 -1
- package/core/CollectionFlattener.js +1 -1
- package/core/accessorSupport/decorators.js +1 -1
- package/core/number.js +1 -1
- package/form/ExpressionInfo.js +1 -1
- package/form/FormTemplate.js +1 -1
- package/form/elements/AttachmentElement.js +1 -1
- package/form/elements/FieldElement.js +1 -1
- package/form/elements/GroupElement.js +1 -1
- package/form/elements/RelationshipElement.js +1 -1
- package/form/elements/inputs/AttachmentInput.js +1 -1
- package/form/elements/inputs/BarcodeScannerInput.js +1 -1
- package/form/elements/inputs/ComboBoxInput.js +1 -1
- package/form/elements/inputs/DateTimePickerInput.js +1 -1
- package/form/elements/inputs/Input.js +1 -1
- package/form/elements/inputs/RadioButtonsInput.js +1 -1
- package/form/elements/inputs/SwitchInput.js +1 -1
- package/form/elements/inputs/TextAreaInput.js +1 -1
- package/form/elements/inputs/TextBoxInput.js +1 -1
- package/form/elements/inputs/TextInput.js +1 -1
- package/geometry/Circle.js +1 -1
- package/geometry/Extent.js +1 -1
- package/geometry/Geometry.js +1 -1
- package/geometry/HeightModelInfo.js +1 -1
- package/geometry/Multipoint.js +1 -1
- package/geometry/Polygon.js +1 -1
- package/geometry/Polyline.js +1 -1
- package/geometry/projection.js +1 -1
- package/geometry/support/MeshComponent.js +1 -1
- package/geometry/support/MeshMaterial.js +1 -1
- package/geometry/support/MeshMaterialMetallicRoughness.js +1 -1
- package/geometry/support/MeshTexture.js +1 -1
- package/geometry/support/MeshTransform.js +1 -1
- package/geometry/support/MeshVertexAttributes.js +1 -1
- package/geometry/support/heightModelInfoUtils.js +1 -1
- package/ground/NavigationConstraint.js +1 -1
- package/identity/IdentityForm.js +1 -1
- package/identity/IdentityManagerBase.js +1 -1
- package/identity/IdentityModal.js +1 -1
- package/identity/OAuthInfo.js +1 -1
- package/identity/ServerInfo.js +1 -1
- package/interfaces.d.ts +87 -66
- package/intl/messages.js +1 -1
- package/intl/moment.js +1 -1
- package/layers/AnalysesLayer.js +1 -1
- package/layers/AreaMeasurementLayer.js +1 -1
- package/layers/BaseDynamicLayer.js +1 -1
- package/layers/BaseElevationLayer.js +1 -1
- package/layers/BaseTileLayer.js +1 -1
- package/layers/BingMapsLayer.js +1 -1
- package/layers/BuildingSceneLayer.js +1 -1
- package/layers/CSVLayer.js +1 -1
- package/layers/DirectLineMeasurementLayer.js +1 -1
- package/layers/GeoJSONLayer.js +1 -1
- package/layers/GeoRSSLayer.js +1 -1
- package/layers/GraphicsLayer.js +1 -1
- package/layers/GroupLayer.js +1 -1
- package/layers/ImageryLayer.js +1 -1
- package/layers/ImageryTileLayer.js +1 -1
- package/layers/IntegratedMeshLayer.js +1 -1
- package/layers/KMLLayer.js +1 -1
- package/layers/LineOfSightLayer.js +1 -1
- package/layers/LineOfSightTarget.js +1 -1
- package/layers/MapImageLayer.js +1 -1
- package/layers/MapNotesLayer.js +1 -1
- package/layers/OGCFeatureLayer.js +1 -1
- package/layers/OpenStreetMapLayer.js +1 -1
- package/layers/PointCloudLayer.js +1 -1
- package/layers/RouteLayer.js +1 -1
- package/layers/SliceLayer.js +1 -1
- package/layers/StreamLayer.js +1 -1
- package/layers/TileLayer.js +1 -1
- package/layers/UnknownLayer.js +1 -1
- package/layers/UnsupportedLayer.js +1 -1
- package/layers/VectorTileLayer.js +1 -1
- package/layers/VoxelLayer.d.ts +4 -0
- package/layers/VoxelLayer.js +1 -1
- package/layers/VoxelWasmManager.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/WebTileLayer.js +1 -1
- package/layers/analyses/AreaMeasurement3D.js +1 -1
- package/layers/analyses/DirectLineMeasurement3D.js +1 -1
- package/layers/analyses/LineOfSight.js +1 -1
- package/layers/analyses/Slice.js +1 -1
- package/layers/buildingSublayers/BuildingGroupSublayer.js +1 -1
- package/layers/buildingSublayers/BuildingSublayer.js +1 -1
- package/layers/graphics/controllers/StreamController.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/OGCFeatureSource.js +1 -1
- package/layers/graphics/sources/WFSSource.js +1 -1
- package/layers/graphics/sources/connections/GeoEventConnection.js +1 -1
- package/layers/graphics/sources/connections/StreamConnection.js +1 -1
- package/layers/graphics/sources/connections/WebSocketConnection.js +1 -1
- package/layers/graphics/sources/connections/createConnection.js +1 -1
- package/layers/graphics/sources/geojson/GeoJSONSourceWorker.js +1 -1
- package/layers/graphics/sources/geojson/geojson.js +1 -1
- package/layers/mixins/APIKeyMixin.js +1 -1
- package/layers/mixins/ArcGISCachedService.js +1 -1
- package/layers/mixins/ArcGISImageService.js +1 -1
- package/layers/mixins/ArcGISMapService.js +1 -1
- package/layers/mixins/BlendLayer.js +1 -1
- package/layers/mixins/CustomParametersMixin.js +1 -1
- package/layers/mixins/OperationalLayer.js +1 -1
- package/layers/mixins/OrderedLayer.js +1 -1
- package/layers/mixins/RefreshableLayer.js +1 -1
- package/layers/mixins/ScaleRangeLayer.js +1 -1
- package/layers/mixins/SceneService.js +1 -1
- package/layers/mixins/TemporalLayer.js +1 -1
- package/layers/pointCloudFilters/PointCloudBitfieldFilter.js +1 -1
- package/layers/pointCloudFilters/PointCloudFilter.js +1 -1
- package/layers/pointCloudFilters/PointCloudReturnFilter.js +1 -1
- package/layers/pointCloudFilters/PointCloudValueFilter.js +1 -1
- package/layers/support/AggregateField.js +1 -1
- package/layers/support/BuildingFilter.js +1 -1
- package/layers/support/BuildingFilterAuthoringInfo.js +1 -1
- package/layers/support/BuildingFilterAuthoringInfoBlock.js +1 -1
- package/layers/support/BuildingFilterAuthoringInfoCheckbox.js +1 -1
- package/layers/support/BuildingFilterAuthoringInfoType.js +1 -1
- package/layers/support/BuildingFilterBlock.js +1 -1
- package/layers/support/BuildingFilterMode.js +1 -1
- package/layers/support/BuildingFilterModeSolid.js +1 -1
- package/layers/support/BuildingFilterModeWireFrame.js +1 -1
- package/layers/support/BuildingFilterModeXRay.js +1 -1
- package/layers/support/CodedValue.js +1 -1
- package/layers/support/CodedValueDomain.js +1 -1
- package/layers/support/DimensionalDefinition.js +1 -1
- package/layers/support/Domain.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/FacilityLayerInfo.js +1 -1
- package/layers/support/FeatureIndex.js +1 -1
- package/layers/support/FeatureReduction.js +1 -1
- package/layers/support/FeatureReductionCluster.js +1 -1
- package/layers/support/FeatureReductionSelection.js +1 -1
- package/layers/support/FeatureTemplate.js +1 -1
- package/layers/support/FeatureType.js +1 -1
- package/layers/support/Field.js +1 -1
- package/layers/support/GeometryFieldsInfo.js +1 -1
- package/layers/support/I3SLayerDefinitions.js +1 -1
- package/layers/support/ImageParameters.js +1 -1
- package/layers/support/InheritedDomain.js +1 -1
- package/layers/support/KMLSublayer.js +1 -1
- package/layers/support/LOD.js +1 -1
- package/layers/support/LabelClass.js +1 -1
- package/layers/support/LabelExpressionInfo.js +1 -1
- package/layers/support/LayerFloorInfo.js +1 -1
- package/layers/support/LayerTimeOptions.js +1 -1
- package/layers/support/LevelLayerInfo.js +1 -1
- package/layers/support/MapImage.js +1 -1
- package/layers/support/MosaicRule.js +1 -1
- package/layers/support/OrderByInfo.js +1 -1
- package/layers/support/OutStatistic.js +1 -1
- package/layers/support/PurgeOptions.js +1 -1
- package/layers/support/RangeDomain.js +1 -1
- package/layers/support/RangeInfo.js +1 -1
- package/layers/support/RasterFunction.js +1 -1
- package/layers/support/RasterInfo.js +1 -1
- package/layers/support/RasterStorageInfo.js +1 -1
- package/layers/support/Relationship.js +1 -1
- package/layers/support/SceneModification.js +1 -1
- package/layers/support/SceneModifications.js +1 -1
- package/layers/support/SiteLayerInfo.js +1 -1
- package/layers/support/Sublayer.js +1 -1
- package/layers/support/Subtype.js +1 -1
- package/layers/support/TileInfo.js +1 -1
- package/layers/support/TileMatrixSet.js +1 -1
- package/layers/support/TimeInfo.js +1 -1
- package/layers/support/TimeReference.js +1 -1
- package/layers/support/VoxelAlphaStop.js +1 -1
- package/layers/support/VoxelColorStop.js +1 -1
- package/layers/support/VoxelDimension.js +1 -1
- package/layers/support/VoxelDynamicSection.js +1 -1
- package/layers/support/VoxelFormat.js +1 -1
- package/layers/support/VoxelIrregularSpacing.js +1 -1
- package/layers/support/VoxelIsosurface.js +1 -1
- package/layers/support/VoxelRangeFilter.js +1 -1
- package/layers/support/VoxelRegularSpacing.js +1 -1
- package/layers/support/VoxelSection.js +1 -1
- package/layers/support/VoxelSimpleShading.js +1 -1
- package/layers/support/VoxelSlice.js +1 -1
- package/layers/support/VoxelStyle.js +1 -1
- package/layers/support/VoxelTransferFunctionStyle.js +1 -1
- package/layers/support/VoxelUniqueValue.js +1 -1
- package/layers/support/VoxelVariable.js +1 -1
- package/layers/support/VoxelVariableStyle.js +1 -1
- package/layers/support/VoxelVolume.js +1 -1
- package/layers/support/VoxelVolumeIndex.js +1 -1
- package/layers/support/VoxelVolumeStyle.js +1 -1
- package/layers/support/WMSSublayer.js +1 -1
- package/layers/support/WMTSLayerInfo.js +1 -1
- package/layers/support/WMTSStyle.js +1 -1
- package/layers/support/WMTSSublayer.js +1 -1
- package/layers/support/commonProperties.js +1 -1
- package/layers/support/layerOriginUtils.js +5 -0
- 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/pamParser.js +1 -1
- package/layers/support/rasterFormats/RasterCodec.js +1 -1
- package/layers/support/rasterTransforms/BaseRasterTransform.js +1 -1
- package/layers/support/rasterTransforms/GCSShiftTransform.js +1 -1
- package/layers/support/rasterTransforms/IdentityTransform.js +1 -1
- package/layers/support/rasterTransforms/PolynomialTransform.js +1 -1
- package/layers/support/source/DataLayerSource.js +1 -1
- package/layers/support/source/MapLayerSource.js +1 -1
- package/layers/support/source/QueryTableDataSource.js +1 -1
- package/layers/support/source/RasterDataSource.js +1 -1
- package/layers/support/source/TableDataSource.js +1 -1
- package/networks/UtilityNetwork.js +1 -1
- package/networks/support/NamedTraceConfiguration.js +1 -1
- package/networks/support/Terminal.js +1 -1
- package/networks/support/TerminalConfiguration.js +1 -1
- package/networks/support/TraceConfiguration.js +1 -1
- package/networks/support/UNTraceConfiguration.js +1 -1
- package/package.json +1 -1
- package/popup/ExpressionInfo.js +1 -1
- package/popup/FieldInfo.js +1 -1
- package/popup/LayerOptions.js +1 -1
- package/popup/RelatedRecordsInfo.js +1 -1
- package/popup/content/AttachmentsContent.js +1 -1
- package/popup/content/BarChartMediaInfo.js +1 -1
- package/popup/content/ColumnChartMediaInfo.js +1 -1
- package/popup/content/Content.js +1 -1
- package/popup/content/CustomContent.js +1 -1
- package/popup/content/FieldsContent.js +1 -1
- package/popup/content/ImageMediaInfo.js +1 -1
- package/popup/content/LineChartMediaInfo.js +1 -1
- package/popup/content/MediaContent.js +1 -1
- package/popup/content/PieChartMediaInfo.js +1 -1
- package/popup/content/TextContent.js +1 -1
- package/popup/content/mixins/ChartMediaInfo.js +1 -1
- package/popup/content/mixins/MediaInfo.js +1 -1
- package/popup/content/support/ChartMediaInfoValue.js +1 -1
- package/popup/content/support/ChartMediaInfoValueSeries.js +1 -1
- package/popup/content/support/ImageMediaInfoValue.js +1 -1
- package/popup/support/FieldInfoFormat.js +1 -1
- package/popup/support/RelatedRecordsInfoFieldOrder.js +1 -1
- package/portal/Portal.js +1 -1
- package/portal/PortalFolder.js +1 -1
- package/portal/PortalGroup.js +1 -1
- package/portal/PortalItem.js +1 -1
- package/portal/PortalQueryParams.js +1 -1
- package/portal/PortalQueryResult.js +1 -1
- package/portal/PortalRating.js +1 -1
- package/portal/PortalUser.js +1 -1
- package/renderers/ClassBreaksRenderer.js +1 -1
- package/renderers/DictionaryRenderer.js +1 -1
- package/renderers/DotDensityRenderer.js +1 -1
- package/renderers/HeatmapRenderer.js +1 -1
- package/renderers/PointCloudClassBreaksRenderer.js +1 -1
- package/renderers/PointCloudRGBRenderer.js +1 -1
- package/renderers/PointCloudRenderer.js +1 -1
- package/renderers/PointCloudStretchRenderer.js +1 -1
- package/renderers/PointCloudUniqueValueRenderer.js +1 -1
- package/renderers/RasterColormapRenderer.js +1 -1
- package/renderers/RasterShadedReliefRenderer.js +1 -1
- package/renderers/RasterStretchRenderer.js +1 -1
- package/renderers/Renderer.js +1 -1
- package/renderers/SimpleRenderer.js +1 -1
- package/renderers/UniqueValueRenderer.js +1 -1
- package/renderers/VectorFieldRenderer.js +1 -1
- package/renderers/mixins/VisualVariablesMixin.js +1 -1
- package/renderers/support/AuthoringInfo.js +1 -1
- package/renderers/support/AuthoringInfoClassBreakInfo.js +1 -1
- package/renderers/support/AuthoringInfoFieldInfo.js +1 -1
- package/renderers/support/AuthoringInfoVisualVariable.js +1 -1
- package/renderers/support/ClassBreakInfo.js +1 -1
- package/renderers/support/ColormapInfo.js +1 -1
- package/renderers/support/DotDensityLegendOptions.js +1 -1
- package/renderers/support/HeatmapColorStop.js +1 -1
- package/renderers/support/LegendOptions.js +1 -1
- package/renderers/support/UniqueValueInfo.js +1 -1
- package/renderers/support/pointCloud/ColorClassBreakInfo.js +1 -1
- package/renderers/support/pointCloud/ColorModulation.js +1 -1
- package/renderers/support/pointCloud/ColorUniqueValueInfo.js +1 -1
- package/renderers/support/pointCloud/PointSizeAlgorithm.js +1 -1
- package/renderers/support/pointCloud/PointSizeFixedSizeAlgorithm.js +1 -1
- package/renderers/support/pointCloud/PointSizeSplatAlgorithm.js +1 -1
- package/renderers/visualVariables/ColorVariable.js +1 -1
- package/renderers/visualVariables/OpacityVariable.js +1 -1
- package/renderers/visualVariables/RotationVariable.js +1 -1
- package/renderers/visualVariables/support/ColorSizeStop.js +1 -1
- package/renderers/visualVariables/support/ColorStop.js +1 -1
- package/renderers/visualVariables/support/OpacityStop.js +1 -1
- package/renderers/visualVariables/support/SizeStop.js +1 -1
- package/renderers/visualVariables/support/SizeVariableLegendOptions.js +1 -1
- package/renderers/visualVariables/support/VisualVariableLegendOptions.js +1 -1
- package/rest/geoprocessor/GPOptions.js +1 -1
- package/rest/networks/support/AggregatedGeometry.js +1 -1
- package/rest/networks/support/Association.js +1 -1
- package/rest/networks/support/AssociationGeometriesResult.js +1 -1
- package/rest/networks/support/FunctionResult.js +1 -1
- package/rest/networks/support/NetworkElement.js +1 -1
- package/rest/networks/support/SynthesizeAssociationGeometriesParameters.js +1 -1
- package/rest/networks/support/TraceLocation.js +1 -1
- package/rest/networks/support/TraceParameters.js +1 -1
- package/rest/networks/support/TraceResult.js +1 -1
- package/rest/query/support/AttachmentInfo.d.ts +2 -2
- package/rest/query/support/AttachmentInfo.js +1 -1
- package/rest/support/AddressCandidate.js +1 -1
- package/rest/support/AddressToLocationsParameters.js +1 -1
- package/rest/support/AddressesToLocationsParameters.js +1 -1
- package/rest/support/AlgorithmicColorRamp.js +1 -1
- package/rest/support/AreasAndLengthsParameters.js +1 -1
- package/rest/support/AttachmentQuery.js +1 -1
- package/rest/support/BufferParameters.js +1 -1
- package/rest/support/ClassBreaksDefinition.js +1 -1
- package/rest/support/ClassificationDefinition.js +1 -1
- package/rest/support/ClosestFacilityParameters.js +1 -1
- package/rest/support/ClosestFacilitySolveResult.js +1 -1
- package/rest/support/ColorRamp.js +1 -1
- package/rest/support/DataFile.js +1 -1
- package/rest/support/DataLayer.js +1 -1
- package/rest/support/DensifyParameters.js +1 -1
- package/rest/support/DirectionsFeature.js +1 -1
- package/rest/support/DirectionsFeatureSet.js +1 -1
- package/rest/support/DistanceParameters.js +1 -1
- package/rest/support/FeatureSet.js +1 -1
- package/rest/support/FindParameters.js +1 -1
- package/rest/support/FindResult.js +1 -1
- package/rest/support/GPMessage.js +1 -1
- package/rest/support/GeneralizeParameters.js +1 -1
- package/rest/support/GenerateRendererParameters.js +1 -1
- package/rest/support/IdentifyParameters.js +1 -1
- package/rest/support/IdentifyResult.js +1 -1
- package/rest/support/ImageHistogramParameters.js +1 -1
- package/rest/support/ImageIdentifyParameters.js +1 -1
- package/rest/support/ImageIdentifyResult.js +1 -1
- package/rest/support/ImageSample.js +1 -1
- package/rest/support/ImageSampleParameters.js +1 -1
- package/rest/support/ImageSampleResult.js +1 -1
- package/rest/support/JobInfo.js +1 -1
- package/rest/support/LegendLayer.js +1 -1
- package/rest/support/LengthsParameters.js +1 -1
- package/rest/support/LinearUnit.js +1 -1
- package/rest/support/LocationToAddressParameters.js +1 -1
- package/rest/support/MultipartColorRamp.js +1 -1
- package/rest/support/NAMessage.js +1 -1
- package/rest/support/NetworkFeatureSet.js +1 -1
- package/rest/support/NetworkServiceDescription.js +1 -1
- package/rest/support/NetworkUrl.js +1 -1
- package/rest/support/OffsetParameters.js +1 -1
- package/rest/support/ParameterValue.js +1 -1
- package/rest/support/PrintParameters.js +1 -1
- package/rest/support/PrintTemplate.js +1 -1
- package/rest/support/ProjectParameters.js +1 -1
- package/rest/support/QuantizationParameters.js +1 -1
- package/rest/support/Query.js +1 -1
- package/rest/support/RasterData.js +1 -1
- package/rest/support/RelationParameters.js +1 -1
- package/rest/support/RelationshipQuery.js +1 -1
- package/rest/support/RouteParameters.js +1 -1
- package/rest/support/RouteResult.js +1 -1
- package/rest/support/RouteResultsContainer.js +1 -1
- package/rest/support/ServiceAreaParameters.js +1 -1
- package/rest/support/ServiceAreaSolveResult.js +1 -1
- package/rest/support/StatisticDefinition.js +1 -1
- package/rest/support/SuggestLocationsParameters.js +1 -1
- package/rest/support/SuggestionCandidate.js +1 -1
- package/rest/support/TopFeaturesQuery.js +1 -1
- package/rest/support/TopFilter.js +1 -1
- package/rest/support/TravelMode.js +1 -1
- package/rest/support/TrimExtendParameters.js +1 -1
- package/rest/support/UniqueValueDefinition.js +1 -1
- package/smartMapping/raster/support/adapters/ImageryLayerAdapter.js +1 -1
- package/smartMapping/raster/support/adapters/ImageryTileLayerAdapter.js +1 -1
- package/smartMapping/raster/support/adapters/RasterLayerAdapter.js +1 -1
- package/smartMapping/support/adapters/CSVLayerAdapter.js +1 -1
- package/smartMapping/support/adapters/LayerAdapter.js +1 -1
- package/smartMapping/support/adapters/OGCFeatureLayerAdapter.js +1 -1
- package/smartMapping/support/adapters/PointCloudLayerAdapter.js +1 -1
- package/smartMapping/support/adapters/SceneLayerAdapter.js +1 -1
- package/support/AnalysesCollection.js +1 -1
- package/support/GraphicsCollection.js +1 -1
- package/support/MapFloorInfo.js +1 -1
- package/support/actions/ActionBase.js +1 -1
- package/support/actions/ActionButton.js +1 -1
- package/support/actions/ActionSlider.js +1 -1
- package/support/actions/ActionToggle.js +1 -1
- package/support/basemapDefinitions.js +1 -1
- package/support/basemapUtils.js +1 -1
- package/support/revision.js +1 -1
- package/symbols/CIMSymbol.js +1 -1
- package/symbols/ExtrudeSymbol3DLayer.js +1 -1
- package/symbols/FillSymbol.js +1 -1
- package/symbols/FillSymbol3DLayer.js +1 -1
- package/symbols/Font.js +1 -1
- package/symbols/LabelSymbol3D.js +1 -1
- package/symbols/LineSymbol.js +1 -1
- package/symbols/LineSymbol3D.js +1 -1
- package/symbols/LineSymbol3DLayer.js +1 -1
- package/symbols/LineSymbolMarker.js +1 -1
- package/symbols/MarkerSymbol.js +1 -1
- package/symbols/MeshSymbol3D.js +1 -1
- package/symbols/ObjectSymbol3DLayer.js +1 -1
- package/symbols/PathSymbol3DLayer.js +1 -1
- package/symbols/PictureFillSymbol.js +1 -1
- package/symbols/PictureMarkerSymbol.js +1 -1
- package/symbols/PointSymbol3D.js +1 -1
- package/symbols/PolygonSymbol3D.js +1 -1
- package/symbols/SimpleFillSymbol.js +1 -1
- package/symbols/SimpleLineSymbol.js +1 -1
- package/symbols/SimpleMarkerSymbol.js +1 -1
- package/symbols/Symbol.js +1 -1
- package/symbols/Symbol3DLayer.js +1 -1
- package/symbols/TextSymbol.js +1 -1
- package/symbols/TextSymbol3DLayer.js +1 -1
- package/symbols/WaterSymbol3DLayer.js +1 -1
- package/symbols/callouts/Callout3D.js +1 -1
- package/symbols/callouts/LineCallout3D.js +1 -1
- package/symbols/callouts/LineCallout3DBorder.js +1 -1
- package/symbols/edges/Edges3D.js +1 -1
- package/symbols/edges/SketchEdges3D.js +1 -1
- package/symbols/edges/SolidEdges3D.js +1 -1
- package/symbols/patterns/Pattern3D.js +1 -1
- package/symbols/patterns/StylePattern3D.js +1 -1
- package/symbols/support/ElevationInfo.js +1 -1
- package/symbols/support/FeatureExpressionInfo.js +1 -1
- package/symbols/support/IconSymbol3DLayerResource.js +1 -1
- package/symbols/support/ObjectSymbol3DLayerResource.js +1 -1
- package/symbols/support/StyleOrigin.js +1 -1
- package/symbols/support/Symbol3DAnchorPosition2D.js +1 -1
- package/symbols/support/Symbol3DAnchorPosition3D.js +1 -1
- package/symbols/support/Symbol3DFillMaterial.js +1 -1
- package/symbols/support/Symbol3DHalo.js +1 -1
- package/symbols/support/Symbol3DMaterial.js +1 -1
- package/symbols/support/Symbol3DOutline.js +1 -1
- package/symbols/support/Symbol3DVerticalOffset.js +1 -1
- package/symbols/support/Thumbnail.js +1 -1
- package/symbols/support/symbolUtils.js +1 -1
- package/tasks/ClosestFacilityTask.js +1 -1
- package/tasks/FindTask.js +1 -1
- package/tasks/GenerateRendererTask.js +1 -1
- package/tasks/GeometryService.js +1 -1
- package/tasks/Geoprocessor.js +1 -1
- package/tasks/IdentifyTask.js +1 -1
- package/tasks/ImageIdentifyTask.js +1 -1
- package/tasks/Locator.js +1 -1
- package/tasks/PrintTask.js +1 -1
- package/tasks/QueryTask.js +1 -1
- package/tasks/RouteTask.js +1 -1
- package/tasks/ServiceAreaTask.js +1 -1
- package/tasks/Task.js +1 -1
- package/views/2d/AnimationManager.js +1 -1
- package/views/2d/MapViewConstraints.js +1 -1
- package/views/2d/PaddedViewState.js +1 -1
- package/views/2d/ViewState.js +1 -1
- package/views/2d/constraints/RotationConstraint.js +1 -1
- package/views/2d/constraints/ZoomConstraint.js +1 -1
- package/views/2d/engine/LevelDependentSizeVariable.js +1 -1
- package/views/2d/input/MapViewInputManager.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/GeoRSSLayerView2D.js +1 -1
- package/views/2d/layers/GraphicsLayerView2D.js +1 -1
- package/views/2d/layers/GroupLayerView2D.js +1 -1
- package/views/2d/layers/ImageryLayerView2D.js +1 -1
- package/views/2d/layers/KMLLayerView2D.js +1 -1
- package/views/2d/layers/LayerView2D.js +1 -1
- package/views/2d/layers/MapNotesLayerView2D.js +1 -1
- package/views/2d/layers/OGCFeatureLayerView2D.js +1 -1
- package/views/2d/layers/RouteLayerView2D.js +1 -1
- package/views/2d/layers/StreamLayerView2D.js +1 -1
- package/views/2d/layers/SubtypeGroupLayerView2D.js +1 -1
- package/views/2d/layers/VectorTileLayerView2D.js +1 -1
- package/views/2d/layers/WMTSLayerView2D.js +1 -1
- package/views/2d/layers/features/Pipeline.js +1 -1
- package/views/2d/layers/features/controllers/EditsQueue.js +1 -1
- package/views/2d/layers/features/controllers/FeatureController2D.js +1 -1
- package/views/2d/layers/features/processors/BaseProcessor.js +1 -1
- package/views/2d/layers/features/processors/HeatmapProcessor.js +1 -1
- package/views/2d/layers/features/sources/GeoEventSource.js +1 -1
- package/views/2d/layers/features/tileRenderers/BaseTileRenderer.js +1 -1
- package/views/2d/layers/features/tileRenderers/HeatmapTileRenderer.js +1 -1
- package/views/2d/layers/features/tileRenderers/SymbolTileRenderer.js +1 -1
- package/views/2d/layers/graphics/GraphicsView2D.js +1 -1
- package/views/2d/layers/graphics/HighlightGraphicContainer.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/layers/support/FeatureLayerProxy.js +1 -1
- package/views/2d/navigation/MapViewNavigation.js +1 -1
- package/views/2d/navigation/ZoomBox.js +1 -1
- package/views/2d/navigation/actions/Pan.js +1 -1
- package/views/2d/navigation/actions/Pinch.js +1 -1
- package/views/2d/navigation/actions/Rotate.js +1 -1
- package/views/2d/support/HighlightOptions.js +1 -1
- package/views/2d/tiling/PagedTileQueue.js +1 -1
- package/views/2d/tiling/TileQueue.js +1 -1
- package/views/3d/constraints/ClipDistanceConstraint.js +1 -1
- package/views/3d/constraints/Constraints.js +1 -1
- package/views/3d/constraints/TiltConstraint.js +1 -1
- package/views/3d/environment/ChapmanAtmosphere.js +1 -1
- package/views/3d/environment/Clouds.js +1 -1
- package/views/3d/environment/CloudsGenerator.js +1 -1
- package/views/3d/environment/EnvironmentRenderer.js +1 -1
- package/views/3d/environment/PanoramicAtmosphere.js +1 -1
- package/views/3d/environment/RealisticAtmosphere.js +1 -1
- package/views/3d/environment/SceneViewAtmosphere.js +1 -1
- package/views/3d/environment/SceneViewEnvironment.js +1 -1
- package/views/3d/environment/SceneViewEnvironmentManager.js +1 -1
- package/views/3d/environment/SceneViewLighting.js +1 -1
- package/views/3d/environment/SimpleAtmosphere.js +1 -1
- package/views/3d/input/SceneInputManager.js +1 -1
- package/views/3d/interactive/analysisTools/lineOfSight/LineOfSightToolConfiguration.js +1 -1
- package/views/3d/interactive/analysisTools/slice/SliceTool.js +1 -1
- package/views/3d/interactive/editingTools/draw/DrawGraphicTool3D.js +1 -1
- package/views/3d/interactive/editingTools/moveGraphic/GraphicMoveTool.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/transformGraphic/ExtentTransformTool.js +1 -1
- package/views/3d/interactive/editingTools/transformGraphic/GraphicTransformTool.js +1 -1
- package/views/3d/interactive/editingTools/transformGraphic/ScaleRotateMeshAdapter.js +1 -1
- package/views/3d/interactive/editingTools/transformGraphic/ScaleRotateObjectSymbol3DAdapter.js +1 -1
- package/views/3d/interactive/graphics/Slice/SliceVisualization.js +1 -1
- package/views/3d/interactive/measurementTools/areaMeasurement3D/AreaMeasurement3DModel.js +1 -1
- package/views/3d/interactive/measurementTools/areaMeasurement3D/AreaMeasurement3DView.js +1 -1
- package/views/3d/interactive/measurementTools/directLineMeasurement3D/DirectLineMeasurement3DModel.js +1 -1
- package/views/3d/interactive/measurementTools/directLineMeasurement3D/DirectLineMeasurement3DTool.js +1 -1
- package/views/3d/interactive/measurementTools/directLineMeasurement3D/DirectLineMeasurement3DView.js +1 -1
- package/views/3d/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTiles3D.js +1 -1
- package/views/3d/interactive/visualElements/DrapedVisualElementResources.js +1 -1
- package/views/3d/layerViewModuleImportUtils.js +1 -1
- package/views/3d/layers/AnalysesLayerView3D.js +1 -1
- package/views/3d/layers/AreaMeasurementLayerView3D.js +1 -1
- package/views/3d/layers/BaseDynamicLayerView3D.js +1 -1
- package/views/3d/layers/BuildingSublayerView3D.js +1 -1
- package/views/3d/layers/CSVLayerView3D.js +1 -1
- package/views/3d/layers/DirectLineMeasurementLayerView3D.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/GeoJSONLayerView3D.js +1 -1
- package/views/3d/layers/GraphicsLayerView3D.js +1 -1
- package/views/3d/layers/GraphicsView3D.js +1 -1
- package/views/3d/layers/I3SMeshViewLabeler.js +1 -1
- package/views/3d/layers/ImageryLayerView3D.js +1 -1
- package/views/3d/layers/ImageryTileLayerView3D.js +1 -1
- package/views/3d/layers/IntegratedMeshLayerView3D.js +1 -1
- package/views/3d/layers/LayerView3D.js +1 -1
- package/views/3d/layers/LineOfSightLayerView3D.js +1 -1
- package/views/3d/layers/MapImageLayerView3D.js +1 -1
- package/views/3d/layers/OGCFeatureLayerView3D.js +1 -1
- package/views/3d/layers/SliceLayerView3D.js +1 -1
- package/views/3d/layers/StreamLayerView3D.js +1 -1
- package/views/3d/layers/TileLayerView3D.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/WFSLayerView3D.js +1 -1
- package/views/3d/layers/WMSLayerView3D.js +1 -1
- package/views/3d/layers/analyses/AreaMeasurement3D/AreaMeasurementView3D.js +1 -1
- package/views/3d/layers/analyses/DirectLineMeasurement3D/DirectLineMeasurementView3D.js +1 -1
- package/views/3d/layers/analyses/LineOfSight/LineOfSightView.js +1 -1
- package/views/3d/layers/analyses/Slice/SliceView.js +1 -1
- package/views/3d/layers/analysis/AreaMeasurement/AreaMeasurementController.js +1 -1
- package/views/3d/layers/analysis/AreaMeasurement/AreaMeasurementLayerViewData.js +1 -1
- package/views/3d/layers/analysis/AreaMeasurement/AreaMeasurementPathHelper.js +1 -1
- package/views/3d/layers/analysis/AreaMeasurement/AreaMeasurementVisualization.js +1 -1
- package/views/3d/layers/analysis/DirectLineMeasurement/DirectLineMeasurementController.js +1 -1
- package/views/3d/layers/analysis/DirectLineMeasurement/DirectLineMeasurementVisualization.js +1 -1
- package/views/3d/layers/analysis/LineOfSight/LineOfSightAnalysis.js +1 -1
- package/views/3d/layers/analysis/LineOfSight/LineOfSightConfiguration.js +1 -1
- package/views/3d/layers/analysis/LineOfSight/LineOfSightController.js +1 -1
- package/views/3d/layers/analysis/LineOfSight/LineOfSightLayerViewData.js +1 -1
- package/views/3d/layers/analysis/LineOfSight/LineOfSightRayIntersector.js +1 -1
- package/views/3d/layers/analysis/LineOfSight/LineOfSightResult.js +1 -1
- package/views/3d/layers/analysis/LineOfSight/LineOfSightVisualization.js +1 -1
- package/views/3d/layers/analysis/Slice/SliceLayerViewData.js +1 -1
- package/views/3d/layers/graphics/Deconflictor.js +1 -1
- package/views/3d/layers/graphics/GraphicState.js +1 -1
- package/views/3d/layers/graphics/Graphics3DElevationAlignment.js +1 -1
- package/views/3d/layers/graphics/Graphics3DFeatureLikeLayerView.js +1 -1
- package/views/3d/layers/graphics/Graphics3DFeatureStore.js +1 -1
- package/views/3d/layers/graphics/Graphics3DFrustumVisibility.js +1 -1
- package/views/3d/layers/graphics/Graphics3DGraphicLikeLayerView.js +1 -1
- package/views/3d/layers/graphics/Graphics3DScaleVisibility.js +1 -1
- package/views/3d/layers/graphics/GraphicsDeconflictor.js +1 -1
- package/views/3d/layers/graphics/LabelDeconflictor.js +1 -1
- package/views/3d/layers/graphics/QueryEngine.js +1 -1
- package/views/3d/layers/graphics/SpatialIndex2D.js +1 -1
- package/views/3d/layers/i3s/I3SQueryEngine.js +1 -1
- package/views/3d/layers/i3s/I3SQueryFeatureStore.js +1 -1
- package/views/3d/layers/i3s/I3SUtil.js +1 -1
- package/views/3d/layers/i3s/PointGraphic.js +1 -1
- package/views/3d/layers/support/FeatureTileTree3DDebugger.js +1 -1
- package/views/3d/layers/support/I3STreeDebugger.js +1 -1
- package/views/3d/layers/support/PopupSceneLayerView.js +1 -1
- package/views/3d/layers/support/TerrainTileTree3DDebugger.js +1 -1
- package/views/3d/layers/support/featureTileQuery3D.js +1 -1
- package/views/3d/state/ConstraintsManager.js +1 -1
- package/views/3d/state/SurfaceCollisionConstraint.js +1 -1
- package/views/3d/state/ViewState.js +1 -1
- package/views/3d/state/controllers/AnimationController.js +1 -1
- package/views/3d/state/controllers/CameraController.js +1 -1
- package/views/3d/state/controllers/GamepadKeyboardController.js +1 -1
- package/views/3d/state/controllers/InteractiveController.js +1 -1
- package/views/3d/state/controllers/PointToPointAnimationController.js +1 -1
- package/views/3d/state/controllers/RotateController.js +1 -1
- package/views/3d/state/controllers/SurfaceCollisionCorrectionController.js +1 -1
- package/views/3d/state/controllers/global/PinchAndPanController.js +1 -1
- package/views/3d/state/controllers/global/ZoomController.js +1 -1
- package/views/3d/state/controllers/global/ZoomStepController.js +1 -1
- package/views/3d/state/controllers/local/PinchAndPanController.js +1 -1
- package/views/3d/state/controllers/local/ZoomController.js +1 -1
- package/views/3d/state/controllers/local/ZoomStepController.js +1 -1
- package/views/3d/state/controllers/momentum/MomentumController.js +1 -1
- package/views/3d/state/controllers/momentum/PanPlanarMomentumController.js +1 -1
- package/views/3d/state/controllers/momentum/PanSphericalMomentumController.js +1 -1
- package/views/3d/state/controllers/momentum/RotationMomentumController.js +1 -1
- package/views/3d/state/controllers/momentum/ZoomPlanarMomentumController.js +1 -1
- package/views/3d/state/controllers/momentum/ZoomSphericalMomentumController.js +1 -1
- package/views/3d/support/CombinedElevationProvider.js +1 -1
- package/views/3d/support/HighlightOptions.js +1 -1
- package/views/3d/support/LaserLineRenderer.js +1 -1
- package/views/3d/support/QualitySettings.js +1 -1
- package/views/3d/support/ResourceController.js +1 -1
- package/views/3d/support/StreamDataLoader.js +1 -1
- package/views/3d/support/debugFlags.js +1 -1
- package/views/3d/support/pointsOfInterest/CameraOnSurface.js +1 -1
- package/views/3d/support/pointsOfInterest/CenterOnSurface.js +1 -1
- package/views/3d/support/pointsOfInterest/Focus.js +1 -1
- package/views/3d/support/pointsOfInterest/PointOfInterest.js +1 -1
- package/views/3d/support/pointsOfInterest/PointsOfInterest.js +1 -1
- package/views/3d/support/pointsOfInterest/StableSurfaceCenter.js +1 -1
- package/views/3d/support/pointsOfInterest/SurfaceGeometryUpdates.js +1 -1
- package/views/3d/terrain/ExtentHelper.js +1 -1
- package/views/3d/terrain/OverlayManager.js +1 -1
- package/views/3d/terrain/OverlayRenderer.js +1 -1
- package/views/3d/terrain/TerrainRenderer.js +1 -1
- package/views/3d/terrain/TilingSchemeLogic.js +1 -1
- package/views/3d/webgl-engine/Stage.js +1 -1
- package/views/3d/webgl-engine/lib/MagnifierHelper.js +1 -1
- package/views/3d/webgl-engine/lib/ModelDirtySet.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/SortedRenderGeometryRenderer.js +1 -1
- package/views/3d/webgl-engine/lib/TextTextureAtlas.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/ImageMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/LineCalloutMaterial.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/PatternMaterial.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/WaterMaterial.js +1 -1
- package/views/3d/webgl-engine/parts/Model.js +1 -1
- package/views/BasemapView.js +1 -1
- package/views/BreakpointsOwner.js +1 -1
- package/views/DOMContainer.js +1 -1
- package/views/GroundView.js +1 -1
- package/views/Magnifier.js +1 -1
- package/views/MapView.js +1 -1
- package/views/PopupView.js +1 -1
- package/views/SceneView.js +1 -1
- package/views/ViewAnimation.js +1 -1
- package/views/draw/Draw.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/MultipointDrawAction.js +1 -1
- package/views/draw/PolygonDrawAction.js +1 -1
- package/views/draw/PolylineDrawAction.js +1 -1
- package/views/draw/SegmentDrawAction.js +1 -1
- package/views/draw/support/Box.js +1 -1
- package/views/draw/support/GraphicMover.js +1 -1
- package/views/input/Input.js +1 -1
- package/views/input/gamepad/GamepadInputDevice.js +1 -1
- package/views/input/gamepad/GamepadSettings.js +1 -1
- package/views/interactive/GraphicManipulator.js +1 -1
- package/views/interactive/snapping/FeatureSnappingEngine.js +1 -1
- package/views/interactive/snapping/FeatureSnappingLayerSource.js +1 -1
- package/views/interactive/snapping/SelfSnappingEngine.js +1 -1
- package/views/interactive/snapping/SnappingManager.js +1 -1
- package/views/interactive/snapping/SnappingOptions.js +1 -1
- package/views/interactive/snapping/featureSources/FeatureCollectionSnappingSource.js +1 -1
- package/views/interactive/snapping/featureSources/FeatureServiceSnappingSource.js +1 -1
- package/views/interactive/snapping/featureSources/GraphicsSnappingSource.js +1 -1
- package/views/interactive/snapping/featureSources/WorkerTileTreeDebugger.js +1 -1
- package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceSnappingSourceWorker.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/FeatureServiceTilesSimple.js +1 -1
- package/views/layers/BuildingComponentSublayerView.js +1 -1
- package/views/layers/BuildingSceneLayerView.js +1 -1
- package/views/layers/GraphicsView.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/MapImageLayerView.js +1 -1
- package/views/layers/OGCFeatureLayerView.js +1 -1
- package/views/layers/SceneLayerView.js +1 -1
- package/views/layers/StreamLayerView.js +1 -1
- package/views/layers/TileLayerView.js +1 -1
- package/views/layers/WMSLayerView.js +1 -1
- package/views/layers/support/ClipArea.js +1 -1
- package/views/layers/support/ClipRect.js +1 -1
- package/views/layers/support/FeatureEffect.js +1 -1
- package/views/layers/support/FeatureFilter.js +1 -1
- package/views/layers/support/Geometry.js +1 -1
- package/views/layers/support/Path.js +1 -1
- package/views/layers/support/Transition.js +1 -1
- package/views/navigation/Navigation.js +1 -1
- package/views/navigation/gamepad/GamepadSettings.js +1 -1
- package/views/overlay/LineOverlayItem.js +1 -1
- package/views/overlay/TextOverlayItem.js +1 -1
- package/views/overlay/ViewOverlay.js +1 -1
- package/views/support/Scheduler.js +1 -1
- package/views/support/TileTreeDebugger.js +1 -1
- package/views/support/debugFlags.js +1 -1
- package/views/ui/2d/DefaultUI2D.js +1 -1
- package/views/ui/3d/DefaultUI3D.js +1 -1
- package/views/ui/Component.js +1 -1
- package/views/ui/UI.js +1 -1
- package/webdoc/RangeInfo.js +1 -1
- package/webdoc/Widgets.js +1 -1
- package/webdoc/applicationProperties/Search.js +1 -1
- package/webdoc/applicationProperties/SearchLayer.js +1 -1
- package/webdoc/applicationProperties/SearchLayerField.js +1 -1
- package/webdoc/applicationProperties/SearchTable.js +1 -1
- package/webdoc/applicationProperties/SearchTableField.js +1 -1
- package/webdoc/applicationProperties/Viewing.js +1 -1
- package/webdoc/support/Thumbnail.js +1 -1
- package/webdoc/widgets/FloorFilter.js +1 -1
- package/webdoc/widgets/Range.js +1 -1
- package/webdoc/widgets/TimeSlider.js +1 -1
- package/webmap/ApplicationProperties.js +1 -1
- package/webmap/Bookmark.js +1 -1
- package/webmap/InitialViewProperties.js +1 -1
- package/webmap/background/ColorBackground.js +1 -1
- package/webscene/ApplicationProperties.js +1 -1
- package/webscene/Environment.js +1 -1
- package/webscene/InitialViewProperties.js +1 -1
- package/webscene/Lighting.js +1 -1
- package/webscene/Presentation.js +1 -1
- package/webscene/Slide.js +1 -1
- package/webscene/TransportationNetwork.js +1 -1
- package/webscene/background/Background.js +1 -1
- package/webscene/background/ColorBackground.js +1 -1
- package/webscene/support/Description.js +1 -1
- package/webscene/support/SlideEnvironment.js +1 -1
- package/webscene/support/SlideGround.js +1 -1
- package/webscene/support/SlideVisibleLayer.js +1 -1
- package/webscene/support/Title.js +1 -1
- package/widgets/AreaMeasurement2D/AreaMeasurement2DTool.js +1 -1
- package/widgets/AreaMeasurement2D.js +1 -1
- package/widgets/AreaMeasurement3D/AreaMeasurement3DViewModel.js +1 -1
- package/widgets/AreaMeasurement3D.js +1 -1
- package/widgets/Attachments/AttachmentsViewModel.js +1 -1
- package/widgets/Attachments.js +1 -1
- package/widgets/Attribution/AttributionViewModel.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/LocalBasemapsSource.js +1 -1
- package/widgets/BasemapGallery.js +1 -1
- package/widgets/BasemapLayerList/BasemapLayerListViewModel.js +1 -1
- package/widgets/BasemapLayerList.js +1 -1
- package/widgets/BasemapToggle/BasemapToggleViewModel.js +1 -1
- package/widgets/BasemapToggle.js +1 -1
- package/widgets/Bookmarks/BookmarksUserState.js +1 -1
- package/widgets/Bookmarks.js +1 -1
- package/widgets/BuildingExplorer/BuildingDisciplinesTree/BuildingDisciplinesNode.js +1 -1
- package/widgets/BuildingExplorer/BuildingDisciplinesTree/BuildingDisciplinesTree.js +1 -1
- package/widgets/BuildingExplorer/BuildingDisciplinesViewModel.js +1 -1
- package/widgets/BuildingExplorer/BuildingLevel.js +1 -1
- package/widgets/BuildingExplorer/BuildingLevelPicker/BuildingLevelPicker.js +1 -1
- package/widgets/BuildingExplorer/BuildingLevelPicker/Label.js +1 -1
- package/widgets/BuildingExplorer/BuildingLevelPicker/LevelItem.js +1 -1
- package/widgets/BuildingExplorer/BuildingNumericFilterViewModel.js +1 -1
- package/widgets/BuildingExplorer/BuildingPhase.js +1 -1
- package/widgets/BuildingExplorer/BuildingPhasePicker/BuildingPhasePicker.js +1 -1
- package/widgets/BuildingExplorer/support/LayerTreeNode.js +1 -1
- package/widgets/BuildingExplorer.js +1 -1
- package/widgets/Compass/CompassViewModel.js +1 -1
- package/widgets/Compass.js +1 -1
- package/widgets/CoordinateConversion/support/Conversion.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/support/SliderWithDropdownViewModel.js +1 -1
- package/widgets/DirectLineMeasurement3D/DirectLineMeasurement3DViewModel.js +1 -1
- package/widgets/DirectLineMeasurement3D.js +1 -1
- package/widgets/Directions/support/CostSummary.js +1 -1
- package/widgets/Directions/support/RouteSection.js +1 -1
- package/widgets/Directions/support/RouteSections.js +1 -1
- package/widgets/Directions.js +1 -1
- package/widgets/DistanceMeasurement2D/DistanceMeasurement2DTool.js +1 -1
- package/widgets/DistanceMeasurement2D.js +1 -1
- package/widgets/Editor/BatchCreateWorkflow.js +1 -1
- package/widgets/Editor/BatchCreateWorkflowData.js +1 -1
- package/widgets/Editor/CreateWorkflow.js +1 -1
- package/widgets/Editor/CreateWorkflowData.js +1 -1
- package/widgets/Editor/Edits.js +1 -1
- package/widgets/Editor/UpdateWorkflow.js +1 -1
- package/widgets/Editor/UpdateWorkflowData.js +1 -1
- package/widgets/Editor/Workflow.js +1 -1
- package/widgets/Editor.js +1 -1
- package/widgets/ElevationProfile/ElevationProfileController.js +1 -1
- package/widgets/ElevationProfile/ElevationProfileInteraction.js +1 -1
- package/widgets/ElevationProfile/ElevationProfileLine.js +1 -1
- package/widgets/ElevationProfile/ElevationProfileLineGround.js +1 -1
- package/widgets/ElevationProfile/ElevationProfileLineInput.js +1 -1
- package/widgets/ElevationProfile/ElevationProfileLineQuery.js +1 -1
- package/widgets/ElevationProfile/ElevationProfileLineView.js +1 -1
- package/widgets/ElevationProfile/ElevationProfileTool.js +1 -1
- package/widgets/ElevationProfile/ElevationProfileVisibleElements.js +1 -1
- package/widgets/ElevationProfile/components/Legend.js +1 -1
- package/widgets/ElevationProfile/components/LegendItem.js +1 -1
- package/widgets/ElevationProfile/components/SettingsButton.js +1 -1
- package/widgets/ElevationProfile/components/Statistics.js +1 -1
- package/widgets/ElevationProfile/support/ElevationProfileView.js +1 -1
- package/widgets/ElevationProfile/support/HoveredPoints.js +1 -1
- package/widgets/ElevationProfile/support/ProfileLines3D.js +1 -1
- package/widgets/ElevationProfile.js +1 -1
- package/widgets/Expand/ExpandViewModel.js +1 -1
- package/widgets/Expand.js +1 -1
- package/widgets/Feature/FeatureAttachments/FeatureAttachmentsViewModel.js +1 -1
- package/widgets/Feature/FeatureAttachments.js +1 -1
- package/widgets/Feature/FeatureContent/FeatureContentViewModel.js +1 -1
- package/widgets/Feature/FeatureContent.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/support/FeatureContentMixin.js +1 -1
- package/widgets/Feature/support/FeatureElementInfo.js +1 -1
- package/widgets/Feature.js +1 -1
- package/widgets/FeatureForm/FieldConfig.js +1 -1
- package/widgets/FeatureForm/FieldGroupConfig.js +1 -1
- package/widgets/FeatureForm/Format.js +1 -1
- package/widgets/FeatureForm/InputField.js +1 -1
- package/widgets/FeatureForm/InputFieldGroup.js +1 -1
- package/widgets/FeatureForm.js +1 -1
- package/widgets/FeatureTable/AttachmentsColumn.js +1 -1
- package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
- package/widgets/FeatureTable/FieldColumn.js +1 -1
- package/widgets/FeatureTable/FieldColumnConfig.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/ButtonMenuItem.js +1 -1
- package/widgets/FeatureTable/Grid/support/ButtonMenuViewModel.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/TemplateItem.js +1 -1
- package/widgets/FeatureTemplates/TemplateItemGroup.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/Histogram/HistogramViewModel.js +1 -1
- package/widgets/Histogram.js +1 -1
- package/widgets/HistogramRangeSlider/HistogramRangeSliderViewModel.js +1 -1
- package/widgets/HistogramRangeSlider.js +1 -1
- package/widgets/Home/HomeViewModel.js +1 -1
- package/widgets/Home.js +1 -1
- package/widgets/LayerList/LayerListViewModel.js +1 -1
- package/widgets/LayerList/ListItem.js +1 -1
- package/widgets/LayerList/ListItemPanel.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/Classic.js +1 -1
- package/widgets/Legend/styles/support/relationshipUtils.js +1 -1
- package/widgets/Legend/support/ActiveLayerInfo.js +1 -1
- package/widgets/Legend.js +1 -1
- package/widgets/LineOfSight/LineOfSightTarget.js +1 -1
- package/widgets/LineOfSight.js +1 -1
- package/widgets/Locate/LocateViewModel.js +1 -1
- package/widgets/Locate.js +1 -1
- package/widgets/Measurement/MeasurementViewModel.js +1 -1
- package/widgets/Measurement.js +1 -1
- package/widgets/NavigationToggle/NavigationToggleViewModel.js +1 -1
- package/widgets/NavigationToggle.js +1 -1
- package/widgets/Print/CustomTemplate.js +1 -1
- package/widgets/Print/FileLink.js +1 -1
- package/widgets/Print/PrintViewModel.js +1 -1
- package/widgets/Print/TemplateOptions.js +1 -1
- package/widgets/ScaleBar/ScaleBarViewModel.js +1 -1
- package/widgets/ScaleBar.js +1 -1
- package/widgets/ScaleRangeSlider/ScaleRangeSliderViewModel.js +1 -1
- package/widgets/ScaleRangeSlider/ScaleRanges.js +1 -1
- package/widgets/ScaleRangeSlider.js +1 -1
- package/widgets/Search/LayerSearchSource.js +1 -1
- package/widgets/Search/LocatorSearchSource.js +1 -1
- package/widgets/Search/SearchResultRenderer.js +1 -1
- package/widgets/Search/SearchSource.js +1 -1
- package/widgets/Search.js +1 -1
- package/widgets/ShadowCast/DiscreteOptions.js +1 -1
- package/widgets/ShadowCast/DurationOptions.js +1 -1
- package/widgets/ShadowCast/ShadowCastViewModel.js +1 -1
- package/widgets/ShadowCast/ShadowCastVisibleElements.js +1 -1
- package/widgets/ShadowCast/ShadowTooltipViewModel.js +1 -1
- package/widgets/ShadowCast/ThresholdOptions.js +1 -1
- package/widgets/ShadowCast/components/DiscreteConfigurator.js +1 -1
- package/widgets/ShadowCast/components/DurationConfigurator.js +1 -1
- package/widgets/ShadowCast/components/ShadowTooltip.js +1 -1
- package/widgets/ShadowCast/components/ShadowTooltipContent.js +1 -1
- package/widgets/ShadowCast/components/ThresholdConfigurator.js +1 -1
- package/widgets/ShadowCast/components/TimezonePicker.js +1 -1
- package/widgets/ShadowCast.js +1 -1
- package/widgets/Sketch/support/OperationHandle.js +1 -1
- package/widgets/Sketch.js +1 -1
- package/widgets/Slice/SlicePlane.js +1 -1
- package/widgets/Slice.js +1 -1
- package/widgets/Spinner/SpinnerViewModel.js +1 -1
- package/widgets/Spinner.js +1 -1
- package/widgets/Swipe/SwipeViewModel.js +1 -1
- package/widgets/Swipe.js +1 -1
- package/widgets/TableList/ListItem.js +1 -1
- package/widgets/TableList/TableListViewModel.js +1 -1
- package/widgets/TableList.js +1 -1
- package/widgets/TimeSlider/TimeSliderViewModel.js +1 -1
- package/widgets/TimeSlider.js +1 -1
- package/widgets/Track/TrackViewModel.js +1 -1
- package/widgets/Track.js +1 -1
- package/widgets/Widget.js +1 -1
- package/widgets/Zoom/IconButton.js +1 -1
- package/widgets/Zoom/ZoomConditions2D.js +1 -1
- package/widgets/Zoom/ZoomConditions3D.js +1 -1
- package/widgets/Zoom/ZoomViewModel.js +1 -1
- package/widgets/Zoom.js +1 -1
- package/widgets/smartMapping/BinaryColorSizeSlider/BinaryColorSizeSliderViewModel.js +1 -1
- package/widgets/smartMapping/BinaryColorSizeSlider.js +1 -1
- package/widgets/smartMapping/ClassedColorSlider/ClassedColorSliderViewModel.js +1 -1
- package/widgets/smartMapping/ClassedColorSlider.js +1 -1
- package/widgets/smartMapping/ClassedSizeSlider/ClassedSizeSliderViewModel.js +1 -1
- package/widgets/smartMapping/ClassedSizeSlider.js +1 -1
- package/widgets/smartMapping/ColorSizeSlider/ColorSizeSliderViewModel.js +1 -1
- package/widgets/smartMapping/ColorSizeSlider.js +1 -1
- package/widgets/smartMapping/ColorSlider/ColorSliderViewModel.js +1 -1
- package/widgets/smartMapping/ColorSlider.js +1 -1
- package/widgets/smartMapping/HeatmapSlider/HeatmapSliderViewModel.js +1 -1
- package/widgets/smartMapping/HeatmapSlider.js +1 -1
- package/widgets/smartMapping/OpacitySlider/OpacitySliderViewModel.js +1 -1
- package/widgets/smartMapping/OpacitySlider.js +1 -1
- package/widgets/smartMapping/SizeSlider/SizeSliderViewModel.js +1 -1
- package/widgets/smartMapping/SizeSlider.js +1 -1
- package/widgets/smartMapping/SmartMappingPrimaryHandleSliderViewModel.js +1 -1
- package/widgets/smartMapping/SmartMappingSliderBase.js +1 -1
- package/widgets/smartMapping/SmartMappingSliderViewModel.js +1 -1
- package/widgets/support/AnchorElementViewModel.js +1 -1
- package/widgets/support/ColorPicker.js +1 -1
- package/widgets/support/DatePickerViewModel.js +1 -1
- package/widgets/support/GeolocationPositioning.js +1 -1
- package/widgets/support/GoTo.js +1 -1
- package/widgets/support/InteractiveToolViewModel.js +1 -1
- package/widgets/support/MomentElementViewModel.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/SnappingLayerListViewModel.js +1 -1
- package/widgets/support/SnappingControls/SnappingListItem.js +1 -1
- package/widgets/support/SnappingControls.js +1 -1
- package/widgets/support/TimePicker.js +1 -1
- package/widgets/support/TimePickerViewModel.js +1 -1
- package/widgets/support/jsxWidgetSupport.js +1 -1
- package/assets/esri/core/workers/chunks/0070bb66ae36bce099f0.js +0 -1
- package/assets/esri/core/workers/chunks/029391285ad66403c9e6.js +0 -1
- package/assets/esri/core/workers/chunks/030494184c0af8bab70e.js +0 -1
- package/assets/esri/core/workers/chunks/037294dc4964fbda2db0.js +0 -1
- package/assets/esri/core/workers/chunks/1266d48ca9de2e4758f1.js +0 -1
- package/assets/esri/core/workers/chunks/152ef0adc594ae234039.js +0 -1
- package/assets/esri/core/workers/chunks/1607aaa711ba0d7ea03e.js +0 -1
- package/assets/esri/core/workers/chunks/1607c79c2d5550cf2068.js +0 -1
- package/assets/esri/core/workers/chunks/183d94ced596ca4e2fef.js +0 -1
- package/assets/esri/core/workers/chunks/21d6d08cec85947fa6f5.js +0 -1
- package/assets/esri/core/workers/chunks/240c3369bec873442c41.js +0 -1
- package/assets/esri/core/workers/chunks/255fab82ab2590624aac.js +0 -1
- package/assets/esri/core/workers/chunks/26d171ebfa03e0cebb14.js +0 -1
- package/assets/esri/core/workers/chunks/29c9ebc28d79846f96c8.js +0 -1
- package/assets/esri/core/workers/chunks/2e2440d7841ea1d2b07d.js +0 -1
- package/assets/esri/core/workers/chunks/365f772485e9e6b18fff.js +0 -1
- package/assets/esri/core/workers/chunks/3fc4576ac750bed0e1c5.js +0 -1
- package/assets/esri/core/workers/chunks/436e430fe53dde77b25f.js +0 -1
- package/assets/esri/core/workers/chunks/46fbc2f580260802862f.js +0 -1
- package/assets/esri/core/workers/chunks/4923f31d3ae4296a6fe6.js +0 -1
- package/assets/esri/core/workers/chunks/4a437ae7ef1e7cf664f6.js +0 -1
- package/assets/esri/core/workers/chunks/51765c0f1d67f3f74fbf.js +0 -1
- package/assets/esri/core/workers/chunks/5790e745c696d802a1d1.js +0 -1
- package/assets/esri/core/workers/chunks/58166c34e4b610d28162.js +0 -1
- package/assets/esri/core/workers/chunks/5938cc3cf9547a701a7b.js +0 -1
- package/assets/esri/core/workers/chunks/5bb12279b85bbed73fb4.js +0 -1
- package/assets/esri/core/workers/chunks/5bd49d7c27169f8a30e8.js +0 -1
- package/assets/esri/core/workers/chunks/5c90df048e7c0bbff719.js +0 -1
- package/assets/esri/core/workers/chunks/5ccb44205bca6ca7c920.js +0 -1
- package/assets/esri/core/workers/chunks/5cfd7d625ea47d93e3ed.js +0 -1
- package/assets/esri/core/workers/chunks/5db4788c73cb984a430c.js +0 -1
- package/assets/esri/core/workers/chunks/62526570dfbcbea7160c.js +0 -1
- package/assets/esri/core/workers/chunks/65fd1b53405f13d000b9.js +0 -1
- package/assets/esri/core/workers/chunks/6b378d77279e57b6d277.js +0 -1
- package/assets/esri/core/workers/chunks/6d0197b040395560ac90.js +0 -1
- package/assets/esri/core/workers/chunks/6da8fab411661bc121f4.js +0 -1
- package/assets/esri/core/workers/chunks/6dfeb491bf611349d010.js +0 -1
- package/assets/esri/core/workers/chunks/6fe972b14f4516c4388b.js +0 -1
- package/assets/esri/core/workers/chunks/71caf9825b9c3934f85e.js +0 -1
- package/assets/esri/core/workers/chunks/7fcade698598a3bbb005.js +0 -1
- package/assets/esri/core/workers/chunks/7ff27dc56ea11831f4a4.js +0 -1
- package/assets/esri/core/workers/chunks/814844112ee7d44c2f0d.js +0 -1
- package/assets/esri/core/workers/chunks/8304f0b17747e98863ca.js +0 -1
- package/assets/esri/core/workers/chunks/8322e2e4fa8ed408ff99.js +0 -1
- package/assets/esri/core/workers/chunks/84bf97c35fe606c6768c.js +0 -1
- package/assets/esri/core/workers/chunks/88334d305eab7d7ce114.js +0 -1
- package/assets/esri/core/workers/chunks/89673e4f422957a7feaa.js +0 -1
- package/assets/esri/core/workers/chunks/8a47ffe0ef89c63c550d.js +0 -1
- package/assets/esri/core/workers/chunks/8e8df1f17b4fd21cda7d.js +0 -1
- package/assets/esri/core/workers/chunks/93525fe56d7af21f5fe3.js +0 -1
- package/assets/esri/core/workers/chunks/94c5301c08710b14125a.js +0 -1
- package/assets/esri/core/workers/chunks/9536b706e8b3a27427a5.js +0 -1
- package/assets/esri/core/workers/chunks/a087fee9e554836e1423.js +0 -1
- package/assets/esri/core/workers/chunks/a29e37fd6f3fc5557754.js +0 -1
- package/assets/esri/core/workers/chunks/a56b611ab27ab829994f.js +0 -1
- package/assets/esri/core/workers/chunks/aae72111022a5fdde974.js +0 -1
- package/assets/esri/core/workers/chunks/aea8e55accc9e9abdec9.js +0 -1
- package/assets/esri/core/workers/chunks/b1723da85d2cd7efd419.js +0 -1
- package/assets/esri/core/workers/chunks/b4e1d80d7f1a8796e7f2.js +0 -1
- package/assets/esri/core/workers/chunks/b6509e8227e6283f8fef.js +0 -1
- package/assets/esri/core/workers/chunks/b65c373f76fce41e1a59.js +0 -1
- package/assets/esri/core/workers/chunks/b6a68c6556a0cd817e41.js +0 -1
- package/assets/esri/core/workers/chunks/b71d775db3ee46094a89.js +0 -1
- package/assets/esri/core/workers/chunks/ba96e9cf6afaa5d3d69f.js +0 -1
- package/assets/esri/core/workers/chunks/bbc8b42c1e57a9f7a9b1.js +0 -1
- package/assets/esri/core/workers/chunks/bc94b98f8ff3fcd2ffa1.js +0 -1
- package/assets/esri/core/workers/chunks/c0ad0f1c7884abcdf9c2.js +0 -1
- package/assets/esri/core/workers/chunks/c3be8924d6b340efc473.js +0 -1
- package/assets/esri/core/workers/chunks/c849cbf1c751c94721e2.js +0 -971
- package/assets/esri/core/workers/chunks/cb712048da3f7341cf6e.js +0 -1
- package/assets/esri/core/workers/chunks/cf21a3904acac5f57c3f.js +0 -1
- package/assets/esri/core/workers/chunks/d15f38b2347b81f19851.js +0 -1
- package/assets/esri/core/workers/chunks/d1dfa8e35289e83f8f82.js +0 -1
- package/assets/esri/core/workers/chunks/d3155a8f86ba980745d8.js +0 -1
- package/assets/esri/core/workers/chunks/d58dc74b046b12a3af57.js +0 -1
- package/assets/esri/core/workers/chunks/d91a4c4f5c66287e6cc9.js +0 -1
- package/assets/esri/core/workers/chunks/da8e3b0251c4a858ae0e.js +0 -1
- package/assets/esri/core/workers/chunks/dceef3cad1e5d973967f.js +0 -1
- package/assets/esri/core/workers/chunks/dde56cbccdf0e3babb37.js +0 -1
- package/assets/esri/core/workers/chunks/e320c44b0e59e5f13058.js +0 -1
- package/assets/esri/core/workers/chunks/fa2e4491db9113a0c8e6.js +0 -1
- package/assets/esri/core/workers/chunks/fa5b268d0adcc1839840.js +0 -1
- package/assets/esri/core/workers/chunks/fa9dd6f94d53f553f0bc.js +0 -1
- package/core/accessorSupport/decorators/declared.js +0 -5
- package/layers/support/AttachmentInfo.d.ts +0 -4
- package/layers/support/AttachmentInfo.js +0 -5
|
@@ -1,971 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[2360],{32078:(e,t,r)=>{r.d(t,{D:()=>O,b:()=>D});var i=r(1391),o=r(62707),n=r(51546),a=r(77171),s=r(47624),l=r(64267),c=r(37099),d=r(76056),u=r(135),h=r(11317),f=r(99917),m=r(92555),p=r(74486),g=r(5543),v=r(15817),x=r(66242),_=r(62554),b=r(42001),T=r(19419),y=r(26322),M=r(85504),w=r(72303),S=r(98401),C=r(94124),A=r(93396),P=r(90692),F=r(74709),E=r(33680);function D(e){const t=new E.kG,r=t.vertex.code,D=t.fragment.code;return t.include(A.a,{name:"Default Material Shader",output:e.output}),t.vertex.uniforms.add("proj","mat4").add("view","mat4").add("camPos","vec3").add("localOrigin","vec3"),t.include(c.f),t.varyings.add("vpos","vec3"),t.include(S.kl,e),t.include(s.f,e),t.include(m.LC,e),0!==e.output&&7!==e.output||(t.include(l.O,e),t.include(a.w,{linearDepth:!1}),0===e.normalType&&e.offsetBackfaces&&t.include(o.w),t.include(v.Q,e),t.include(f.B,e),e.instancedColor&&t.attributes.add("instanceColor","vec4"),t.varyings.add("localvpos","vec3"),t.include(u.D,e),t.include(i.q,e),t.include(d.R,e),t.include(h.c,e),t.vertex.uniforms.add("externalColor","vec4"),t.varyings.add("vcolorExt","vec4"),e.multipassTerrainEnabled&&t.varyings.add("depth","float"),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.bf)}) {
|
|
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
|
-
${0===e.normalType?F.H`
|
|
18
|
-
vNormalWorld = dpNormal(vvLocalNormal(normalModel()));`:""}
|
|
19
|
-
vpos = addVerticalOffset(vpos, localOrigin);
|
|
20
|
-
${e.vertexTangents?"vTangent = dpTransformVertexTangent(tangent);":""}
|
|
21
|
-
gl_Position = transformPosition(proj, view, vpos);
|
|
22
|
-
${0===e.normalType&&e.offsetBackfaces?"gl_Position = offsetBackfacingClipPosition(gl_Position, vpos, vNormalWorld, camPos);":""}
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
${e.multipassTerrainEnabled?"depth = (view * vec4(vpos, 1.0)).z;":""}
|
|
26
|
-
forwardLinearDepth();
|
|
27
|
-
forwardTextureCoordinates();
|
|
28
|
-
}
|
|
29
|
-
`)),7===e.output&&(t.include(n.p2,e),t.include(C.sj,e),e.multipassTerrainEnabled&&(t.fragment.include(g.S),t.include(b.l,e)),t.fragment.uniforms.add("camPos","vec3").add("localOrigin","vec3").add("opacity","float").add("layerOpacity","float"),e.hasColorTexture&&t.fragment.uniforms.add("tex","sampler2D"),t.fragment.include(P.y),D.add(F.H`
|
|
30
|
-
void main() {
|
|
31
|
-
discardBySlice(vpos);
|
|
32
|
-
${e.multipassTerrainEnabled?"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.attributeColor?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
|
-
`)),0===e.output&&(t.include(n.p2,e),t.include(_.X,e),t.include(x.K,e),t.include(C.sj,e),e.receiveShadows&&t.include(w.hX,e),e.multipassTerrainEnabled&&(t.fragment.include(g.S),t.include(b.l,e)),t.fragment.uniforms.add("camPos","vec3").add("localOrigin","vec3").add("ambient","vec3").add("diffuse","vec3").add("opacity","float").add("layerOpacity","float"),e.hasColorTexture&&t.fragment.uniforms.add("tex","sampler2D"),t.include(M.jV,e),t.include(y.T,e),t.fragment.include(P.y),t.include(T.k,e),D.add(F.H`
|
|
44
|
-
void main() {
|
|
45
|
-
discardBySlice(vpos);
|
|
46
|
-
${e.multipassTerrainEnabled?"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 - camPos);
|
|
52
|
-
${3===e.normalType?F.H`
|
|
53
|
-
vec3 normal = screenDerivativeNormal(localvpos);`:F.H`
|
|
54
|
-
shadingParams.normalView = vNormalWorld;
|
|
55
|
-
vec3 normal = shadingNormal(shadingParams);`}
|
|
56
|
-
${1===e.pbrMode?"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);":1===e.viewingMode?"float shadow = lightingGlobalFactor * (1.0 - additionalAmbientScale);":"float shadow = 0.0;"}
|
|
63
|
-
vec3 matColor = max(ambient, diffuse);
|
|
64
|
-
${e.attributeColor?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.vertexTangents?"computeTangentSpace(normal);":"computeTangentSpace(normal, vpos, vuv0);"}
|
|
72
|
-
vec3 shadedNormal = computeTextureNormal(tangentSpace, vuv0);`:"vec3 shadedNormal = normal;"}
|
|
73
|
-
${1===e.pbrMode||2===e.pbrMode?1===e.viewingMode?F.H`vec3 normalGround = normalize(vpos + localOrigin);`:F.H`vec3 normalGround = vec3(0.0, 0.0, 1.0);`:F.H``}
|
|
74
|
-
${1===e.pbrMode||2===e.pbrMode?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.OITEnabled?"gl_FragColor = premultiplyAlpha(gl_FragColor);":""}
|
|
79
|
-
}
|
|
80
|
-
`)),t.include(p.s,e),t}const O=Object.freeze({__proto__:null,build:D})},41846:(e,t,r)=>{r.d(t,{R:()=>P,b:()=>A});var i=r(1391),o=r(62707),n=r(51546),a=r(77171),s=r(47624),l=r(64267),c=r(37099),d=r(76056),u=r(135),h=r(11317),f=r(92555),m=r(74486),p=r(5543),g=r(66242),v=r(62554),x=r(42001),_=r(26322),b=r(85504),T=r(72303),y=r(98401),M=r(94124),w=r(90692),S=r(74709),C=r(33680);function A(e){const t=new C.kG,r=t.vertex.code,A=t.fragment.code;return t.vertex.uniforms.add("proj","mat4").add("view","mat4").add("camPos","vec3").add("localOrigin","vec3"),t.include(c.f),t.varyings.add("vpos","vec3"),t.include(y.kl,e),t.include(s.f,e),t.include(f.LC,e),0!==e.output&&7!==e.output||(t.include(l.O,e),t.include(a.w,{linearDepth:!1}),e.offsetBackfaces&&t.include(o.w),e.instancedColor&&t.attributes.add("instanceColor","vec4"),t.varyings.add("vNormalWorld","vec3"),t.varyings.add("localvpos","vec3"),e.multipassTerrainEnabled&&t.varyings.add("depth","float"),t.include(u.D,e),t.include(i.q,e),t.include(d.R,e),t.include(h.c,e),t.vertex.uniforms.add("externalColor","vec4"),t.varyings.add("vcolorExt","vec4"),r.add(S.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 < ${S.H.float(M.bf)}) {
|
|
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, camPos);":""}
|
|
100
|
-
}
|
|
101
|
-
${e.multipassTerrainEnabled?S.H`depth = (view * vec4(vpos, 1.0)).z;`:""}
|
|
102
|
-
forwardLinearDepth();
|
|
103
|
-
forwardTextureCoordinates();
|
|
104
|
-
}
|
|
105
|
-
`)),7===e.output&&(t.include(n.p2,e),t.include(M.sj,e),e.multipassTerrainEnabled&&(t.fragment.include(p.S),t.include(x.l,e)),t.fragment.uniforms.add("camPos","vec3").add("localOrigin","vec3").add("opacity","float").add("layerOpacity","float"),t.fragment.uniforms.add("view","mat4"),e.hasColorTexture&&t.fragment.uniforms.add("tex","sampler2D"),t.fragment.include(w.y),A.add(S.H`
|
|
106
|
-
void main() {
|
|
107
|
-
discardBySlice(vpos);
|
|
108
|
-
${e.multipassTerrainEnabled?S.H`terrainDepthTest(gl_FragCoord, depth);`:""}
|
|
109
|
-
${e.hasColorTexture?S.H`
|
|
110
|
-
vec4 texColor = texture2D(tex, vuv0);
|
|
111
|
-
${e.textureAlphaPremultiplied?"texColor.rgb /= texColor.a;":""}
|
|
112
|
-
discardOrAdjustAlpha(texColor);`:S.H`vec4 texColor = vec4(1.0);`}
|
|
113
|
-
${e.attributeColor?S.H`
|
|
114
|
-
float opacity_ = layerOpacity * mixExternalOpacity(vColor.a * opacity, texColor.a, vcolorExt.a, int(colorMixMode));`:S.H`
|
|
115
|
-
float opacity_ = layerOpacity * mixExternalOpacity(opacity, texColor.a, vcolorExt.a, int(colorMixMode));
|
|
116
|
-
`}
|
|
117
|
-
|
|
118
|
-
gl_FragColor = vec4(opacity_);
|
|
119
|
-
}
|
|
120
|
-
`)),0===e.output&&(t.include(n.p2,e),t.include(v.X,e),t.include(g.K,e),t.include(M.sj,e),e.receiveShadows&&t.include(T.hX,e),e.multipassTerrainEnabled&&(t.fragment.include(p.S),t.include(x.l,e)),t.fragment.uniforms.add("camPos","vec3").add("localOrigin","vec3").add("ambient","vec3").add("diffuse","vec3").add("opacity","float").add("layerOpacity","float"),t.fragment.uniforms.add("view","mat4"),e.hasColorTexture&&t.fragment.uniforms.add("tex","sampler2D"),t.include(b.jV,e),t.include(_.T,e),t.fragment.include(w.y),A.add(S.H`
|
|
121
|
-
void main() {
|
|
122
|
-
discardBySlice(vpos);
|
|
123
|
-
${e.multipassTerrainEnabled?S.H`terrainDepthTest(gl_FragCoord, depth);`:""}
|
|
124
|
-
${e.hasColorTexture?S.H`
|
|
125
|
-
vec4 texColor = texture2D(tex, vuv0);
|
|
126
|
-
${e.textureAlphaPremultiplied?"texColor.rgb /= texColor.a;":""}
|
|
127
|
-
discardOrAdjustAlpha(texColor);`:S.H`vec4 texColor = vec4(1.0);`}
|
|
128
|
-
vec3 viewDirection = normalize(vpos - camPos);
|
|
129
|
-
${1===e.pbrMode?"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);":1===e.viewingMode?"float shadow = lightingGlobalFactor * (1.0 - additionalAmbientScale);":"float shadow = 0.0;"}
|
|
136
|
-
vec3 matColor = max(ambient, diffuse);
|
|
137
|
-
${e.attributeColor?S.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));`:S.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
|
-
${S.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
|
-
${1===e.pbrMode||2===e.pbrMode?1===e.viewingMode?S.H`vec3 normalGround = normalize(vpos + localOrigin);`:S.H`vec3 normalGround = vec3(0.0, 0.0, 1.0);`:S.H``}
|
|
153
|
-
${1===e.pbrMode||2===e.pbrMode?S.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.OITEnabled?"gl_FragColor = premultiplyAlpha(gl_FragColor);":""}
|
|
158
|
-
}
|
|
159
|
-
`)),t.include(m.s,e),t}const P=Object.freeze({__proto__:null,build:A})},21787:(e,t,r)=>{r.d(t,{a:()=>s,f:()=>o,i:()=>c,t:()=>n});var i=r(46851);function o(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 n(e,t){if(e===t){const r=t[1],i=t[2],o=t[5];e[1]=t[3],e[2]=t[6],e[3]=r,e[5]=t[7],e[6]=i,e[7]=o}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],o=t[1],n=t[2],a=t[3],s=t[4],l=t[5],c=t[6],d=t[7],u=t[8],h=r[0],f=r[1],m=r[2],p=r[3],g=r[4],v=r[5],x=r[6],_=r[7],b=r[8];return e[0]=h*i+f*a+m*c,e[1]=h*o+f*s+m*d,e[2]=h*n+f*l+m*u,e[3]=p*i+g*a+v*c,e[4]=p*o+g*s+v*d,e[5]=p*n+g*l+v*u,e[6]=x*i+_*a+b*c,e[7]=x*o+_*s+b*d,e[8]=x*n+_*l+b*u,e}function s(e,t){const r=t[0],i=t[1],o=t[2],n=t[3],a=t[4],s=t[5],l=t[6],c=t[7],d=t[8],u=t[9],h=t[10],f=t[11],m=t[12],p=t[13],g=t[14],v=t[15],x=r*s-i*a,_=r*l-o*a,b=r*c-n*a,T=i*l-o*s,y=i*c-n*s,M=o*c-n*l,w=d*p-u*m,S=d*g-h*m,C=d*v-f*m,A=u*g-h*p,P=u*v-f*p,F=h*v-f*g;let E=x*F-_*P+b*A+T*C-y*S+M*w;return E?(E=1/E,e[0]=(s*F-l*P+c*A)*E,e[1]=(l*C-a*F-c*S)*E,e[2]=(a*P-s*C+c*w)*E,e[3]=(o*P-i*F-n*A)*E,e[4]=(r*F-o*C+n*S)*E,e[5]=(i*C-r*P-n*w)*E,e[6]=(p*M-g*y+v*T)*E,e[7]=(g*b-m*M-v*_)*E,e[8]=(m*y-p*b+v*x)*E,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],o=e[1],n=e[2],a=e[3],s=e[4],l=e[5],c=e[6],d=e[7],u=e[8];return Math.abs(1-(r*r+a*a+c*c))<=t&&Math.abs(1-(o*o+s*s+d*d))<=t&&Math.abs(1-(n*n+l*l+u*u))<=t}const d=a,u=l;Object.freeze({__proto__:null,fromMat4:o,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,o,n,a,s,l,c){return e[0]=t,e[1]=r,e[2]=i,e[3]=o,e[4]=n,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:n,invert:function(e,t){const r=t[0],i=t[1],o=t[2],n=t[3],a=t[4],s=t[5],l=t[6],c=t[7],d=t[8],u=d*a-s*c,h=-d*n+s*l,f=c*n-a*l;let m=r*u+i*h+o*f;return m?(m=1/m,e[0]=u*m,e[1]=(-d*i+o*c)*m,e[2]=(s*i-o*a)*m,e[3]=h*m,e[4]=(d*r-o*l)*m,e[5]=(-s*r+o*n)*m,e[6]=f*m,e[7]=(-c*r+i*l)*m,e[8]=(a*r-i*n)*m,e):null},adjoint:function(e,t){const r=t[0],i=t[1],o=t[2],n=t[3],a=t[4],s=t[5],l=t[6],c=t[7],d=t[8];return e[0]=a*d-s*c,e[1]=o*c-i*d,e[2]=i*s-o*a,e[3]=s*l-n*d,e[4]=r*d-o*l,e[5]=o*n-r*s,e[6]=n*c-a*l,e[7]=i*l-r*c,e[8]=r*a-i*n,e},determinant:function(e){const t=e[0],r=e[1],i=e[2],o=e[3],n=e[4],a=e[5],s=e[6],l=e[7],c=e[8];return t*(c*n-a*l)+r*(-c*o+a*s)+i*(l*o-n*s)},multiply:a,translate:function(e,t,r){const i=t[0],o=t[1],n=t[2],a=t[3],s=t[4],l=t[5],c=t[6],d=t[7],u=t[8],h=r[0],f=r[1];return e[0]=i,e[1]=o,e[2]=n,e[3]=a,e[4]=s,e[5]=l,e[6]=h*i+f*a+c,e[7]=h*o+f*s+d,e[8]=h*n+f*l+u,e},rotate:function(e,t,r){const i=t[0],o=t[1],n=t[2],a=t[3],s=t[4],l=t[5],c=t[6],d=t[7],u=t[8],h=Math.sin(r),f=Math.cos(r);return e[0]=f*i+h*a,e[1]=f*o+h*s,e[2]=f*n+h*l,e[3]=f*a-h*i,e[4]=f*s-h*o,e[5]=f*l-h*n,e[6]=c,e[7]=d,e[8]=u,e},scale:function(e,t,r){const i=r[0],o=r[1],n=r[2];return e[0]=i*t[0],e[1]=i*t[1],e[2]=i*t[2],e[3]=o*t[3],e[4]=o*t[4],e[5]=o*t[5],e[6]=n*t[6],e[7]=n*t[7],e[8]=n*t[8],e},scaleByVec2:function(e,t,r){const i=r[0],o=r[1];return e[0]=i*t[0],e[1]=i*t[1],e[2]=i*t[2],e[3]=o*t[3],e[4]=o*t[4],e[5]=o*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],o=t[2],n=t[3],a=r+r,s=i+i,l=o+o,c=r*a,d=i*a,u=i*s,h=o*a,f=o*s,m=o*l,p=n*a,g=n*s,v=n*l;return e[0]=1-u-m,e[3]=d-v,e[6]=h+g,e[1]=d+v,e[4]=1-c-m,e[7]=f-p,e[2]=h-g,e[5]=f+p,e[8]=1-c-u,e},normalFromMat4Legacy:function(e,t){const r=t[0],i=t[1],o=t[2],n=t[4],a=t[5],s=t[6],l=t[8],c=t[9],d=t[10],u=d*a-s*c,h=-d*n+s*l,f=c*n-a*l,m=r*u+i*h+o*f;if(!m)return null;const p=1/m;return e[0]=u*p,e[1]=(-d*i+o*c)*p,e[2]=(s*i-o*a)*p,e[3]=h*p,e[4]=(d*r-o*l)*p,e[5]=(-s*r+o*n)*p,e[6]=f*p,e[7]=(-c*r+i*l)*p,e[8]=(a*r-i*n)*p,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],o=e[1],n=e[2],a=e[3],s=e[4],l=e[5],c=e[6],d=e[7],u=e[8],h=t[0],f=t[1],m=t[2],p=t[3],g=t[4],v=t[5],x=t[6],_=t[7],b=t[8];return Math.abs(r-h)<=i.E*Math.max(1,Math.abs(r),Math.abs(h))&&Math.abs(o-f)<=i.E*Math.max(1,Math.abs(o),Math.abs(f))&&Math.abs(n-m)<=i.E*Math.max(1,Math.abs(n),Math.abs(m))&&Math.abs(a-p)<=i.E*Math.max(1,Math.abs(a),Math.abs(p))&&Math.abs(s-g)<=i.E*Math.max(1,Math.abs(s),Math.abs(g))&&Math.abs(l-v)<=i.E*Math.max(1,Math.abs(l),Math.abs(v))&&Math.abs(c-x)<=i.E*Math.max(1,Math.abs(c),Math.abs(x))&&Math.abs(d-_)<=i.E*Math.max(1,Math.abs(d),Math.abs(_))&&Math.abs(u-b)<=i.E*Math.max(1,Math.abs(u),Math.abs(b))},isOrthoNormal:c,mul:d,sub:u})},46521:(e,t,r)=>{function i(){return[1,0,0,0,1,0,0,0,1]}function o(e,t){return new Float64Array(e,t,9)}r.d(t,{a:()=>o,c:()=>i}),Object.freeze({__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,o,n,a,s,l){return[e,t,r,i,o,n,a,s,l]},createView:o})},13598:(e,t,r)=>{function i(){return[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]}function o(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 n(e,t){return new Float64Array(e,t,16)}r.d(t,{I:()=>a,a:()=>n,b:()=>o,c:()=>i});const a=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];Object.freeze({__proto__:null,create:i,clone:o,fromValues:function(e,t,r,i,o,n,a,s,l,c,d,u,h,f,m,p){return[e,t,r,i,o,n,a,s,l,c,d,u,h,f,m,p]},createView:n,IDENTITY:a})},51305:(e,t,r)=>{r.d(t,{c:()=>f,g:()=>d,j:()=>P,k:()=>p,m:()=>u,s:()=>c});var i=r(46521),o=r(94961),n=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 d(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 u(e,t,r){const i=t[0],o=t[1],n=t[2],a=t[3],s=r[0],l=r[1],c=r[2],d=r[3];return e[0]=i*d+a*s+o*c-n*l,e[1]=o*d+a*l+n*s-i*c,e[2]=n*d+a*c+i*l-o*s,e[3]=a*d-i*s-o*l-n*c,e}function h(e,t,r,i){const o=t[0],n=t[1],s=t[2],l=t[3];let c,d,u,h,f,m=r[0],p=r[1],g=r[2],v=r[3];return d=o*m+n*p+s*g+l*v,d<0&&(d=-d,m=-m,p=-p,g=-g,v=-v),1-d>a.E?(c=Math.acos(d),u=Math.sin(c),h=Math.sin((1-i)*c)/u,f=Math.sin(i*c)/u):(h=1-i,f=i),e[0]=h*o+f*m,e[1]=h*n+f*p,e[2]=h*s+f*g,e[3]=h*l+f*v,e}function f(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=t[3],e}function m(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 o=(r+1)%3,n=(r+2)%3;i=Math.sqrt(t[3*r+r]-t[3*o+o]-t[3*n+n]+1),e[r]=.5*i,i=.5/i,e[3]=(t[3*o+n]-t[3*n+o])*i,e[o]=(t[3*o+r]+t[3*r+o])*i,e[n]=(t[3*n+r]+t[3*r+n])*i}return e}function p(e,t,r,i){const o=.5*Math.PI/180;t*=o,r*=o,i*=o;const n=Math.sin(t),a=Math.cos(t),s=Math.sin(r),l=Math.cos(r),c=Math.sin(i),d=Math.cos(i);return e[0]=n*l*d-a*s*c,e[1]=a*s*d+n*l*c,e[2]=a*l*c-n*s*d,e[3]=a*l*d+n*s*c,e}const g=l.c,v=l.s,x=l.a,_=u,b=l.b,T=l.d,y=l.l,M=l.e,w=M,S=l.f,C=S,A=l.n,P=l.g,F=l.h,E=(0,n.c)(),D=(0,n.f)(1,0,0),O=(0,n.f)(0,1,0),L=(0,o.a)(),R=(0,o.a)(),z=(0,i.c)();Object.freeze({__proto__:null,identity:function(e){return e[0]=0,e[1]=0,e[2]=0,e[3]=1,e},setAxisAngle:c,getAxisAngle:d,multiply:u,rotateX:function(e,t,r){r*=.5;const i=t[0],o=t[1],n=t[2],a=t[3],s=Math.sin(r),l=Math.cos(r);return e[0]=i*l+a*s,e[1]=o*l+n*s,e[2]=n*l-o*s,e[3]=a*l-i*s,e},rotateY:function(e,t,r){r*=.5;const i=t[0],o=t[1],n=t[2],a=t[3],s=Math.sin(r),l=Math.cos(r);return e[0]=i*l-n*s,e[1]=o*l+a*s,e[2]=n*l+i*s,e[3]=a*l-o*s,e},rotateZ:function(e,t,r){r*=.5;const i=t[0],o=t[1],n=t[2],a=t[3],s=Math.sin(r),l=Math.cos(r);return e[0]=i*l+o*s,e[1]=o*l-i*s,e[2]=n*l+a*s,e[3]=a*l-n*s,e},calculateW:function(e,t){const r=t[0],i=t[1],o=t[2];return e[0]=r,e[1]=i,e[2]=o,e[3]=Math.sqrt(Math.abs(1-r*r-i*i-o*o)),e},slerp:h,random:function(e){const t=(0,a.R)(),r=(0,a.R)(),i=(0,a.R)(),o=Math.sqrt(1-t),n=Math.sqrt(t);return e[0]=o*Math.sin(2*Math.PI*r),e[1]=o*Math.cos(2*Math.PI*r),e[2]=n*Math.sin(2*Math.PI*i),e[3]=n*Math.cos(2*Math.PI*i),e},invert:function(e,t){const r=t[0],i=t[1],o=t[2],n=t[3],a=r*r+i*i+o*o+n*n,s=a?1/a:0;return e[0]=-r*s,e[1]=-i*s,e[2]=-o*s,e[3]=n*s,e},conjugate:f,fromMat3:m,fromEuler:p,str:function(e){return"quat("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+")"},copy:g,set:v,add:x,mul:_,scale:b,dot:T,lerp:y,length:M,len:w,squaredLength:S,sqrLen:C,normalize:A,exactEquals:P,equals:F,rotationTo:function(e,t,r){const i=(0,s.d)(t,r);return i<-.999999?((0,s.c)(E,D,t),(0,s.u)(E)<1e-6&&(0,s.c)(E,O,t),(0,s.n)(E,E),c(e,E,Math.PI),e):i>.999999?(e[0]=0,e[1]=0,e[2]=0,e[3]=1,e):((0,s.c)(E,t,r),e[0]=E[0],e[1]=E[1],e[2]=E[2],e[3]=1+i,A(e,e))},sqlerp:function(e,t,r,i,o,n){return h(L,t,o,n),h(R,r,i,n),h(e,L,R,2*n*(1-n)),e},setAxes:function(e,t,r,i){const o=z;return o[0]=r[0],o[3]=r[1],o[6]=r[2],o[1]=i[0],o[4]=i[1],o[7]=i[2],o[2]=-t[0],o[5]=-t[1],o[8]=-t[2],A(e,m(e,o))}})},94961:(e,t,r)=>{function i(){return[0,0,0,1]}function o(e){return[e[0],e[1],e[2],e[3]]}function n(e,t){return new Float64Array(e,t,4)}r.d(t,{I:()=>a,a:()=>i,b:()=>o,c:()=>n});const a=[0,0,0,1];Object.freeze({__proto__:null,create:i,clone:o,fromValues:function(e,t,r,i){return[e,t,r,i]},createView:n,IDENTITY:a})},20773:(e,t,r)=>{r.d(t,{a:()=>n,b:()=>l,n:()=>s,s:()=>a,t:()=>o});var i=r(72220);function o(e,t,r){if(e.count!==t.count)return void i.k.error("source and destination buffers need to have the same number of elements");const o=e.count,n=r[0],a=r[1],s=r[2],l=r[4],c=r[5],d=r[6],u=r[8],h=r[9],f=r[10],m=r[12],p=r[13],g=r[14],v=e.typedBuffer,x=e.typedBufferStride,_=t.typedBuffer,b=t.typedBufferStride;for(let e=0;e<o;e++){const t=e*x,r=e*b,i=_[r],o=_[r+1],T=_[r+2];v[t]=n*i+l*o+u*T+m,v[t+1]=a*i+c*o+h*T+p,v[t+2]=s*i+d*o+f*T+g}}function n(e,t,r){if(e.count!==t.count)return void i.k.error("source and destination buffers need to have the same number of elements");const o=e.count,n=r[0],a=r[1],s=r[2],l=r[3],c=r[4],d=r[5],u=r[6],h=r[7],f=r[8],m=e.typedBuffer,p=e.typedBufferStride,g=t.typedBuffer,v=t.typedBufferStride;for(let e=0;e<o;e++){const t=e*p,r=e*v,i=g[r],o=g[r+1],x=g[r+2];m[t]=n*i+l*o+u*x,m[t+1]=a*i+c*o+h*x,m[t+2]=s*i+d*o+f*x}}function a(e,t,r){const i=Math.min(e.count,t.count),o=e.typedBuffer,n=e.typedBufferStride,a=t.typedBuffer,s=t.typedBufferStride;for(let e=0;e<i;e++){const t=e*n,i=e*s;o[t]=r*a[i],o[t+1]=r*a[i+1],o[t+2]=r*a[i+2]}}function s(e,t){const r=Math.min(e.count,t.count),i=e.typedBuffer,o=e.typedBufferStride,n=t.typedBuffer,a=t.typedBufferStride;for(let e=0;e<r;e++){const t=e*o,r=e*a,s=n[r],l=n[r+1],c=n[r+2],d=Math.sqrt(s*s+l*l+c*c);if(d>0){const e=1/d;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),o=e.typedBuffer,n=e.typedBufferStride,a=t.typedBuffer,s=t.typedBufferStride;for(let e=0;e<i;e++){const t=e*n,i=e*s;o[t]=a[i]>>r,o[t+1]=a[i+1]>>r,o[t+2]=a[i+2]>>r}}Object.freeze({__proto__:null,transformMat4:o,transformMat3:n,scale:a,normalize:s,shiftRight:l})},56067:(e,t,r)=>{function i(e,t,r){const i=e.typedBuffer,o=e.typedBufferStride,n=t.typedBuffer,a=t.typedBufferStride,s=r?r.count:t.count;let l=(r&&r.dstIndex?r.dstIndex:0)*o,c=(r&&r.srcIndex?r.srcIndex:0)*a;for(let e=0;e<s;++e)i[l]=n[c],i[l+1]=n[c+1],i[l+2]=n[c+2],l+=o,c+=a}function o(e,t,r,i,o){var n,a;const s=e.typedBuffer,l=e.typedBufferStride,c=null!=(n=null==o?void 0:o.count)?n:e.count;let d=(null!=(a=null==o?void 0:o.dstIndex)?a:0)*l;for(let e=0;e<c;++e)s[d]=t,s[d+1]=r,s[d+2]=i,d+=l}r.d(t,{c:()=>i,f:()=>o}),Object.freeze({__proto__:null,copy:i,fill:o})},72119:(e,t,r)=>{function i(){return new Float32Array(3)}function o(e,t,r){const i=new Float32Array(3);return i[0]=e,i[1]=t,i[2]=r,i}function n(){return i()}function a(){return o(1,1,1)}function s(){return o(1,0,0)}function l(){return o(0,1,0)}function c(){return o(0,0,1)}r.d(t,{c:()=>i,f:()=>o});const d=n(),u=a(),h=s(),f=l(),m=c();Object.freeze({__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:o,createView:function(e,t){return new Float32Array(e,t,3)},zeros:n,ones:a,unitX:s,unitY:l,unitZ:c,ZEROS:d,ONES:u,UNIT_X:h,UNIT_Y:f,UNIT_Z:m})},72220:(e,t,r)=>{r.d(t,{k:()=>i});const i=r(92604).Z.getLogger("esri.views.3d.support.buffer.math")},52360:(e,t,r)=>{r.r(t),r.d(t,{fetch:()=>ii,gltfToEngineResources:()=>ni,parseUrl:()=>oi});var i=r(32243),o=r(70586),n=r(21787),a=r(46521),s=r(52138),l=r(13598),c=r(17896),d=r(65617),u=r(60437),h=r(56481),f=r(20773),m=r(11077),p=r(8323),g=r(40270),v=r(24952),x=r(91911),_=r(3172),b=r(66643),T=r(20102),y=r(92604),M=r(95330),w=r(23670);async function S(e,t){const{data:r}=await(0,_.default)(e,{responseType:"image",...t});return r}var C=r(44553),A=r(11726);class P{constructor(e,t,r,i){this.primitiveIndices=e,this._numIndexPerPrimitive=t,this.indices=r,this.position=i,this.center=(0,d.c)(),(0,A.hu)(e.length>=1),(0,A.hu)(r.length%this._numIndexPerPrimitive==0),(0,A.hu)(r.length>=e.length*this._numIndexPerPrimitive),(0,A.hu)(3===i.size||4===i.size);const{data:o,size:n}=i,a=e.length;let s=n*r[this._numIndexPerPrimitive*e[0]];F.clear(),F.push(s),this.bbMin=(0,d.f)(o[s],o[s+1],o[s+2]),this.bbMax=(0,d.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=n*r[i+e],F.push(s);let t=o[s];this.bbMin[0]=Math.min(t,this.bbMin[0]),this.bbMax[0]=Math.max(t,this.bbMax[0]),t=o[s+1],this.bbMin[1]=Math.min(t,this.bbMin[1]),this.bbMax[1]=Math.max(t,this.bbMax[1]),t=o[s+2],this.bbMin[2]=Math.min(t,this.bbMin[2]),this.bbMax[2]=Math.max(t,this.bbMax[2])}}(0,c.e)(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<F.length;++e){s=F.getItemAt(e);const t=o[s]-this.center[0],r=o[s+1]-this.center[1],i=o[s+2]-this.center[2],n=t*t+r*r+i*i;if(n<=l)continue;const a=Math.sqrt(n),c=.5*(a-this.radius);this.radius=this.radius+c,l=this.radius*this.radius;const d=c/a;this.center[0]+=t*d,this.center[1]+=r*d,this.center[2]+=i*d}F.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.h)(this.bbMin,this.bbMax)>1){const e=(0,c.e)((0,d.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:o,size:n}=this.position;for(let a=0;a<t;++a){let t=0;const s=this._numIndexPerPrimitive*this.primitiveIndices[a];let l=n*this.indices[s],c=o[l],d=o[l+1],u=o[l+2];for(let e=1;e<this._numIndexPerPrimitive;++e){l=n*this.indices[s+e];const t=o[l],r=o[l+1],i=o[l+2];t<c&&(c=t),r<d&&(d=r),i<u&&(u=i)}c<e[0]&&(t|=1),d<e[1]&&(t|=2),u<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 P(s[e],this._numIndexPerPrimitive,this.indices,this.position))}return this._children}static prune(){F.prune()}}const F=new C.Z({deallocator:null});var E=r(99001);class D{constructor(){this.id=(0,E.D)()}unload(){}}var O=r(64291);class L extends D{constructor(e,t=[],r=0,i=-1){super(),this._primitiveType=r,this.edgeIndicesLength=i,this.type=2,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,O.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,R(r)),"position"===e&&(this.edgeIndicesLength=this.edgeIndicesLength<0?this._indices.get(e).length:this.edgeIndicesLength))}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,o.Wi)(this._boundingInfo)&&(this._boundingInfo=this._calculateBoundingInfo()),this._boundingInfo}computeAttachmentOrigin(e){return 0===this.primitiveType?this.computeAttachmentOriginTriangles(e):this.computeAttachmentOriginPoints(e)}computeAttachmentOriginTriangles(e){const t=this.indices.get("position"),r=this.vertexAttributes.get("position");return(0,O.cM)(r,t,e)}computeAttachmentOriginPoints(e){const t=this.indices.get("position"),r=this.vertexAttributes.get("position");return(0,O.NO)(r,t,e)}invalidateBoundingInfo(){this._boundingInfo=null}_calculateBoundingInfo(){const e=this.indices.get("position");if(0===e.length)return null;const t=0===this.primitiveType?3:1;(0,A.hu)(e.length%t==0,"Indexing error: "+e.length+" not divisible by "+t);const r=(0,O.p)(e.length/t),i=this.vertexAttributes.get("position");return new P(r,t,e,i)}}function R(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 z=r(74085),H=r(32448),I=r(22021),N=r(1533),B=r(17452),U=r(85958),V=r(99880);let k;var G=r(75656);function W(e,t,r,i,o){const n=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.`),e.baseInstance&&!e.divisor&&console.error(`Vertex attribute '${e.name}' uses baseInstanceOffset without divisor.`);const i=(o||(0+e.baseInstance?e.baseInstance:0))*e.stride;if(e.count<=4)n.vertexAttribPointer(r,e.count,e.type,e.normalized,e.stride,e.offset+i),n.enableVertexAttribArray(r),e.divisor>0&&a&&a.vertexAttribDivisor(r,e.divisor);else if(9===e.count)for(let t=0;t<3;t++)n.vertexAttribPointer(r+t,3,e.type,e.normalized,e.stride,e.offset+12*t+i),n.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++)n.vertexAttribPointer(r+t,4,e.type,e.normalized,e.stride,e.offset+16*t+i),n.enableVertexAttribArray(r+t),e.divisor>0&&a&&a.vertexAttribDivisor(r+t,e.divisor);else console.error("Unsupported vertex attribute element count: "+e.count)}}function q(e,t,r,i){const o=e.gl,n=e.capabilities.instancing;e.bindBuffer(r);for(const e of i){const r=t.get(e.name);if(e.count<=4)o.disableVertexAttribArray(r),e.divisor&&e.divisor>0&&n&&n.vertexAttribDivisor(r,0);else if(9===e.count)for(let t=0;t<3;t++)o.disableVertexAttribArray(r+t),e.divisor&&e.divisor>0&&n&&n.vertexAttribDivisor(r+t,0);else if(16===e.count)for(let t=0;t<4;t++)o.disableVertexAttribArray(r+t),e.divisor&&e.divisor>0&&n&&n.vertexAttribDivisor(r+t,0);else console.error("Unsupported vertex attribute element count: "+e.count)}e.unbindBuffer(34962)}function $(e){switch(e){case 6406:case 6409:case 36168:case 33778:case 33779:case 37490:case 37491:case 37496:case 37497:return 1;case 6410:case 32854:case 33325:case 32854:case 33189:return 2;case 6407:case 6402:return 3;case 6408:case 34041:case 33326:case 35898:case 33327:case 34041:return 4;case 33328:case 34842:return 8;case 34837:return 12;case 34836:return 16;case 33776:case 33777:case 37488:case 37489:case 37492:case 37493:case 37494:case 37495:return.5}return 0}function j(e){if((0,o.Wi)(e))return 0;if("descriptor"in e)return e.glName?j(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 $(t)*i*r}r(80442);let X=null,Z=null;async function K(){return(0,o.Wi)(Z)&&(Z=function(){if((0,o.Wi)(k)){const e=e=>(0,V.V)(`esri/libs/basisu/${e}`);k=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 k}(),X=await Z),Z}function Y(e,t,r,i,o){const n=$(t?37496:37492),a=o&&e>1?(4**e-1)/(3*4**(e-1)):1;return Math.ceil(r*i*n*a)}function Q(e){return e.getNumImages()>=1&&!e.isUASTC()}function J(e){return e.getFaces()>=1&&e.isETC1S()}function ee(e,t,r,i,o,n,a,s){const{compressedTextureETC:l,compressedTextureS3TC:c}=e.capabilities,[d,u]=l?i?[1,37496]:[0,37492]:c?i?[3,33779]:[2,33776]:[13,6408],h=t.hasMipmap?r:Math.min(1,r),f=[];for(let e=0;e<h;e++)f.push(new Uint8Array(a(e,d))),s(e,d,f[e]);const m=f.length>1,p=m?9987:9729,g={...t,samplingMode:p,hasMipmap:m,internalFormat:u,width:o,height:n};return new G.Z(e,g,{type:"compressed",levels:f})}const te=y.Z.getLogger("esri.views.3d.webgl-engine.lib.DDSUtil");function re(e){return e.charCodeAt(0)+(e.charCodeAt(1)<<8)+(e.charCodeAt(2)<<16)+(e.charCodeAt(3)<<24)}const ie=re("DXT1"),oe=re("DXT3"),ne=re("DXT5");const ae=new Map([["position",0],["normal",1],["uv0",2],["color",3],["size",4],["tangent",4],["auxpos1",5],["symbolColor",5],["auxpos2",6],["featureAttribute",6],["instanceFeatureAttribute",6],["instanceColor",7],["model",8],["modelNormal",12],["modelOriginHi",11],["modelOriginLo",15]]),se=[{name:"position",count:2,type:5126,offset:0,stride:8,normalized:!1}],le=[{name:"position",count:2,type:5126,offset:0,stride:16,normalized:!1},{name:"uv0",count:2,type:5126,offset:8,stride:16,normalized:!1}];var ce=r(49300),de=r(35371);const ue=y.Z.getLogger("esri.views.webgl.BufferObject");class he{constructor(e,t,r,i,o){this._context=e,this.bufferType=t,this.usage=r,this._glName=null,this._size=-1,this._indexType=void 0,e.instanceCounter.increment(de._g.Buffer,this),this._glName=this._context.gl.createBuffer(),(0,ce.zu)(this._context.gl),i&&this.setData(i,o)}static createIndex(e,t,r,i){return new he(e,34963,t,r,i)}static createVertex(e,t,r){return new he(e,34962,t,r)}get glName(){return this._glName}get size(){return this._size}get indexType(){return this._indexType}get byteSize(){return 34962===this.bufferType?this._size:5125===this._indexType?4*this._size:2*this._size}dispose(){var e;null!=(e=this._context)&&e.gl?(this._glName&&(this._context.gl.deleteBuffer(this._glName),this._glName=null),this._context.instanceCounter.decrement(de._g.Buffer,this),this._context=null):this._glName&&ue.warn("Leaked WebGL buffer object")}setData(e,t){if(!e)return;if("number"==typeof e){if(e<0&&ue.error("Buffer size cannot be negative!"),this._size=e,34963===this.bufferType&&t)switch(this._indexType=t,this._size=e,t){case 5123:e*=2;break;case 5125:e*=4}}else{let t=e.byteLength;(0,N.Uc)(e)&&(t/=2,this._indexType=5123),(0,N.ZY)(e)&&(t/=4,this._indexType=5125),this._size=t}const r=this._context.getBoundVAO();this._context.bindVAO(null),this._context.bindBuffer(this);const i=this._context.gl;i.bufferData(this.bufferType,e,this.usage),(0,ce.zu)(i),this._context.bindVAO(r)}setSubData(e,t=0,r=0,i=e.byteLength){if(!e)return;(t<0||t>=this._size)&&ue.error("offset is out of range!");let o=t,n=r,a=i,s=e.byteLength;(0,N.Uc)(e)?(s/=2,o*=2,n*=2,a*=2):(0,N.ZY)(e)&&(s/=4,o*=4,n*=4,a*=4),void 0===i&&(i=s-1),r>=i&&ue.error("end must be bigger than start!"),t+r-i>this._size&&ue.error("An attempt to write beyond the end of the buffer!");const l=this._context.getBoundVAO();this._context.bindVAO(null),this._context.bindBuffer(this);const c=this._context.gl,d=ArrayBuffer.isView(e)?e.buffer:e,u=0===n&&a===e.byteLength?d:d.slice(n,a);c.bufferSubData(this.bufferType,o,u),(0,ce.zu)(c),this._context.bindVAO(l)}}const fe=y.Z.getLogger("esri.views.webgl.VertexArrayObject");class me{constructor(e,t,r,i,o=null){this._context=e,this._locations=t,this._layout=r,this._buffers=i,this._indexBuffer=o,this._glName=null,this._initialized=!1,e.instanceCounter.increment(de._g.VAO,this)}get glName(){return this._glName}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,o.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):fe.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,o.O3)(this._indexBuffer)}this._context.instanceCounter.decrement(de._g.VAO,this),this._context=null}else(this._glName||e&&Object.getOwnPropertyNames(this._buffers).length>0)&&fe.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||fe.error("Vertex buffer dictionary is empty!");const i=this._context.gl;for(const r in e){const i=e[r];i||fe.error("Vertex buffer is uninitialized!");const o=t[r];o||fe.error("Vertex element descriptor is empty!"),W(this._context,this._locations,i,o)}(0,o.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||fe.error("Vertex buffer dictionary is empty!");for(const r in e){const i=e[r];i||fe.error("Vertex buffer is uninitialized!");const o=t[r];q(this._context,this._locations,i,o)}(0,o.pC)(this._indexBuffer)&&this._context.unbindBuffer(this._indexBuffer.bufferType)}}class pe{constructor(e,t){this._context=e,this._desc=t,this._context.instanceCounter.increment(de._g.Renderbuffer,this);const r=this._context.gl;this.glName=r.createRenderbuffer(),this._context.bindRenderbuffer(this),r.renderbufferStorage(r.RENDERBUFFER,t.internalFormat,t.width,t.height)}get descriptor(){return this._desc}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),i.renderbufferStorage(i.RENDERBUFFER,r.internalFormat,r.width,r.height)}dispose(){this._context&&(this._context.gl.deleteRenderbuffer(this.glName),this._context.instanceCounter.decrement(de._g.Renderbuffer,this),this._context=null)}}const ge=y.Z.getLogger("esri.views.webgl.FrameBufferObject");class ve{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(de._g.Framebuffer,this),(0,o.pC)(r)){Array.isArray(r)||(r=[r]);for(let t=0;t<r.length;++t){var n,a;const i=r[t];let o;xe(i)?(o=i.descriptor,this._colorAttachments.set(36064+t,i)):(o=i,this._colorAttachments.set(36064+t,new G.Z(e,i))),0!==(null==(n=this._desc)?void 0:n.colorTarget)&&2!==(null==(a=this._desc)?void 0:a.colorTarget)&&console.error("Framebuffer is initialized with a texture however the descriptor indicates using a renderbuffer color attachment!"),this._validateColorAttachmentPoint(36064+t),this._validateTextureDimensions(o,this._desc)}}if(i instanceof pe){var s;const e=null!=(s=this._desc.depthStencilTarget)?s:3;2===e?this._stencilAttachment=i:1===e||3===e?this._depthAttachment=i:console.error('If a Renderbuffer is provided, "depthStencilTarget" must be one of STENCIL_RENDER_BUFFER, DEPTH_RENDER_BUFFER or DEPTH_STENCIL_RENDER_BUFFER'),_e(i.descriptor,this._desc)}else if((0,o.pC)(i)){let e;this._context.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!"),xe(i)?(this._depthStencilTexture=i,e=i.descriptor):this._depthStencilTexture=new G.Z(this._context,i),this._validateTextureDimensions(e,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(de._g.Framebuffer,this),this._desc=null}get glName(){return this._glName}get descriptor(){return this._desc}get colorTexture(){const e=this._colorAttachments.get(36064);return e&&xe(e)?e:null}get colorAttachment(){return this._colorAttachments.get(36064)}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 j(this.colorAttachment)+j(this.depthStencilAttachment)}getColorTexture(e){const t=this._colorAttachments.get(e);return t&&xe(t)?t:null}framebufferTexture2D(e,t,r=36064,i=3553,o=0){t.framebufferTexture2D(t.FRAMEBUFFER,r,i,e,o)}attachColorTexture(e,t=36064){if(!e)return;this._validateColorAttachmentPoint(t);const r=e.descriptor;this._validateTextureDimensions(r,this._desc),this._disposeColorAttachments(),this._initialized&&(this._context.bindFramebuffer(this),this.framebufferTexture2D(e.glName,this._context.gl,t)),this._colorAttachments.set(t,e)}detachColorTexture(e=36064){const t=this._colorAttachments.get(e);if(xe(t)){const r=t;return this._initialized&&(this._context.bindFramebuffer(this),this.framebufferTexture2D(null,this._context.gl,e)),this._colorAttachments.delete(e),r}}attachDepthStencilTexture(e){if((0,o.Wi)(e))return;const t=e.descriptor;34041!==t.pixelFormat&&console.error("Depth/Stencil texture must have a pixel type of DEPTH_STENCIL!"),34042!==t.dataType&&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!"),this._validateTextureDimensions(t,this._desc),this._desc.depthStencilTarget&&4!==this._desc.depthStencilTarget&&(this._desc.depthStencilTarget=4),this._disposeDepthStencilAttachments(),this._initialized&&(this._context.bindFramebuffer(this),this.framebufferTexture2D(e.glName,this._context.gl,de.Lu)),this._depthStencilTexture=e}detachDepthStencilTexture(){const e=this._depthStencilTexture;return e&&this._initialized&&(this._context.bindFramebuffer(this),this.framebufferTexture2D(null,this._context.gl,de.Lu)),this._depthStencilTexture=null,e}attachDepthStencilBuffer(e){if((0,o.Wi)(e))return;const t=e.descriptor;if(34041!==t.internalFormat&&33189!==t.internalFormat&&console.error("Depth/Stencil buffer must have correct internalFormat"),_e(t,this._desc),this._disposeDepthStencilAttachments(),this._desc.depthStencilTarget=34041===t.internalFormat?3:1,this._initialized){this._context.bindFramebuffer(this);const t=this._context.gl,r=1===this._desc.depthStencilTarget?t.DEPTH_ATTACHMENT:t.DEPTH_STENCIL_ATTACHMENT;t.framebufferRenderbuffer(t.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=1===this._desc.depthStencilTarget?e.DEPTH_ATTACHMENT:e.DEPTH_STENCIL_ATTACHMENT;e.framebufferRenderbuffer(e.FRAMEBUFFER,t,e.RENDERBUFFER,null)}return this._depthAttachment=null,t}detachAll(){this.detachColorTexture(),this.detachDepthStencilBuffer(),this.detachDepthStencilTexture()}copyToTexture(e,t,r,i,o,n,a){(e<0||t<0||o<0||n<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;3553!==a.descriptor.target&&console.error("Texture target must be TEXTURE_2D!"),(e+r>s.width||t+i>s.height||o+r>l.width||n+i>l.height)&&console.error("Bad dimensions, the current input values will attempt to read or copy out of bounds!");const c=this._context,d=c.bindTexture(a,G.Z.TEXTURE_UNIT_FOR_UPDATES);c.bindFramebuffer(this),c.gl.copyTexSubImage2D(3553,0,o,n,e,t,r,i),c.bindTexture(d,G.Z.TEXTURE_UNIT_FOR_UPDATES)}readPixels(e,t,r,i,o,n,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,o,n,a)}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=3553){var t,r,i,o;const n=this._context.gl;if(this._initialized)return void n.bindFramebuffer(n.FRAMEBUFFER,this.glName);this._glName&&n.deleteFramebuffer(this._glName);const a=this._context,s=n.createFramebuffer(),l=this._desc,c=null!=(t=l.colorTarget)?t:1,d=null!=(r=l.width)?r:1,u=null!=(i=l.height)?i:1;if(n.bindFramebuffer(n.FRAMEBUFFER,s),0===this._colorAttachments.size)if(0===c)this._colorAttachments.set(36064,function(e,t,r){return new G.Z(e,{target:r,pixelFormat:6408,dataType:5121,samplingMode:9728,wrapMode:33071,width:t.width,height:t.height})}(a,l,2===this.descriptor.colorTarget?34067:3553));else{const e=new pe(a,{internalFormat:32854,width:d,height:u});this._colorAttachments.set(36064,e)}this._colorAttachments.forEach(((t,r)=>{t&&(xe(t)?this.framebufferTexture2D(t.glName,n,r,e):n.framebufferRenderbuffer(n.FRAMEBUFFER,n.COLOR_ATTACHMENT0,n.RENDERBUFFER,t.glName))}));const h=null!=(o=l.depthStencilTarget)?o:0;switch(h){case 1:case 3:{this._depthAttachment||(this._depthAttachment=new pe(a,{internalFormat:1===l.depthStencilTarget?33189:34041,width:d,height:u}));const e=1===h?n.DEPTH_ATTACHMENT:n.DEPTH_STENCIL_ATTACHMENT;n.framebufferRenderbuffer(n.FRAMEBUFFER,e,n.RENDERBUFFER,this._depthAttachment.glName);break}case 2:this._stencilAttachment||(this._stencilAttachment=new pe(a,{internalFormat:36168,width:d,height:u})),n.framebufferRenderbuffer(n.FRAMEBUFFER,n.STENCIL_ATTACHMENT,n.RENDERBUFFER,this._stencilAttachment.glName);break;case 4: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:3553,pixelFormat:34041,dataType:34042,samplingMode:9728,wrapMode:33071,width:d,height:u};this._depthStencilTexture=new G.Z(a,e)}this.framebufferTexture2D(this._depthStencilTexture.glName,n,n.DEPTH_STENCIL_ATTACHMENT,e)}(0,ce.CG)()&&n.checkFramebufferStatus(n.FRAMEBUFFER)!==n.FRAMEBUFFER_COMPLETE&&console.error("Framebuffer is incomplete!"),this._glName=s,this._initialized=!0}_disposeColorAttachments(){this._colorAttachments.forEach(((e,t)=>{if(xe(e))this._initialized&&(this._context.bindFramebuffer(this),this.framebufferTexture2D(null,this._context.gl,t)),e.dispose();else if(e instanceof WebGLRenderbuffer){const r=this._context.gl;this._initialized&&(this._context.bindFramebuffer(this),r.framebufferRenderbuffer(r.FRAMEBUFFER,t,r.RENDERBUFFER,null)),this._context.gl.deleteRenderbuffer(e)}})),this._colorAttachments.clear()}_disposeDepthStencilAttachments(){const e=this._context.gl;if(this._depthAttachment){if(this._initialized){this._context.bindFramebuffer(this);const t=1===this._desc.depthStencilTarget?e.DEPTH_ATTACHMENT:e.DEPTH_STENCIL_ATTACHMENT;e.framebufferRenderbuffer(e.FRAMEBUFFER,t,e.RENDERBUFFER,null)}this._depthAttachment.dispose(),this._depthAttachment=null}this._stencilAttachment&&(this._initialized&&(this._context.bindFramebuffer(this),e.framebufferRenderbuffer(e.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,e.DEPTH_STENCIL_ATTACHMENT)),this._depthStencilTexture.dispose(),this._depthStencilTexture=null)}_validateTextureDimensions(e,t){3553!==e.target&&34067!==e.target&&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)}_validateColorAttachmentPoint(e){if(-1===ve._MAX_COLOR_ATTACHMENTS){const e=this._context.capabilities.drawBuffers;if(e){const t=this._context.gl;ve._MAX_COLOR_ATTACHMENTS=t.getParameter(e.MAX_COLOR_ATTACHMENTS)}else ve._MAX_COLOR_ATTACHMENTS=1}const t=e-36064;t+1>ve._MAX_COLOR_ATTACHMENTS&&ge.error("esri.FrameBufferObject",`illegal attachment point for color attachment: ${t+1}. Implementation supports up to ${ve._MAX_COLOR_ATTACHMENTS} color attachments`)}}function xe(e){return"type"in e&&"texture"===e.type}function _e(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)}ve._MAX_COLOR_ATTACHMENTS=-1;var be=r(46314);class Te extends D{constructor(e,t){super(),this.data=e,this.type=4,this.glTexture=null,this.powerOfTwoStretchInfo=null,this.loadingPromise=null,this.loadingController=null,this.events=new H.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:10497,t:10497},this.params.powerOfTwoResizeMode=this.params.powerOfTwoResizeMode||1,this.estimatedTexMemRequired=Te.estimateTexMemRequired(this.data,this.params),this.startPreload()}startPreload(){const e=this.data;(0,o.Wi)(e)||(e instanceof HTMLVideoElement?this.startPreloadVideoElement(e):e instanceof HTMLImageElement&&this.startPreloadImageElement(e))}startPreloadVideoElement(e){(0,B.jc)(e.src)||"auto"===e.preload&&e.crossOrigin||(e.preload="auto",e.crossOrigin="anonymous",e.src=e.src)}startPreloadImageElement(e){(0,B.HK)(e.src)||(0,B.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,o.Wi)(e))return 0;if((0,N.eP)(e)||(0,N.lq)(e))return t.encoding===Te.KTX2_ENCODING?function(e,t){if((0,o.Wi)(X))return e.byteLength;const r=new X.KTX2File(new Uint8Array(e)),i=J(r)?Y(r.getLevels(),r.getHasAlpha(),r.getWidth(),r.getHeight(),t):0;return r.close(),r.delete(),i}(e,t.mipmap):t.encoding===Te.BASIS_ENCODING?function(e,t){if((0,o.Wi)(X))return e.byteLength;const r=new X.BasisFile(new Uint8Array(e)),i=Q(r)?Y(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?Te.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:3553,pixelFormat:6408,dataType:5121,wrapMode:this.params.wrap,flipped:!this.params.noUnpackFlip,samplingMode:this.params.mipmap?9987:9729,hasMipmap:this.params.mipmap,preMultiplyAlpha:this.params.preMultiplyAlpha,maxAnisotropy:null!=(t=this.params.maxAnisotropy)?t:this.params.mipmap?e.parameters.maxMaxAnisotropy:1}}load(e,t){if((0,o.pC)(this.glTexture))return this.glTexture;if((0,o.pC)(this.loadingPromise))return this.loadingPromise;const r=this.data;return(0,o.Wi)(r)?(this.glTexture=new G.Z(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,N.eP)(r)||(0,N.lq)(r))&&this.params.encoding===Te.DDS_ENCODING?this.loadFromDDSData(e,r):((0,N.eP)(r)||(0,N.lq)(r))&&this.params.encoding===Te.KTX2_ENCODING?this.loadFromKTX2(e,r):((0,N.eP)(r)||(0,N.lq)(r))&&this.params.encoding===Te.BASIS_ENCODING?this.loadFromBasis(e,r):(0,N.lq)(r)?this.loadFromPixelData(e,r):(0,N.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,o.Wi)(this.glTexture))return r;if(this.data.readyState<2||r===this.data.currentTime)return r;if((0,o.pC)(this.powerOfTwoStretchInfo)){const{framebuffer:r,vao:i,sourceTexture:o}=this.powerOfTwoStretchInfo;o.setData(this.data),this.drawStretchedTexture(e,t,r,i,o,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:o,width:n,height:a}=function(e,t){const r=new Int32Array(e,0,31);if(542327876!==r[0])return te.error("Invalid magic number in DDS header"),null;if(!(4&r[20]))return te.error("Unsupported format, must contain a FourCC code"),null;const i=r[21];let o,n;switch(i){case ie:o=8,n=33776;break;case oe:o=16,n=33778;break;case ne:o=16,n=33779;break;default:return te.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)||(te.warn("Rounding up compressed texture size to nearest multiple of 4."),s=s+3&-4,l=l+3&-4);const c=s,d=l;let u,h;131072&r[2]&&!1!==t&&(a=Math.max(1,r[7])),1===a||(0,I.wt)(s)&&(0,I.wt)(l)||(te.warn("Ignoring mipmaps of non power of two sized compressed texture."),a=1);let f=r[1]+4;const m=[];for(let t=0;t<a;++t)h=(s+3>>2)*(l+3>>2)*o,u=new Uint8Array(e,f,h),m.push(u),f+=h,s=Math.max(1,s>>1),l=Math.max(1,l>>1);return{textureData:{type:"compressed",levels:m},internalFormat:n,width:c,height:d}}(r,t.hasMipmap);return t.samplingMode=i.levels.length>1?9987:9729,t.hasMipmap=i.levels.length>1,t.internalFormat=o,t.width=n,t.height=a,new G.Z(e,t,i)}(e,this.createDescriptor(e),t),this.glTexture}loadFromKTX2(e,t){return this.loadAsync((()=>async function(e,t,r){(0,o.Wi)(X)&&(X=await K());const i=new X.KTX2File(new Uint8Array(r));if(!J(i))return null;i.startTranscoding();const n=ee(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(),n}(e,this.createDescriptor(e),t).then((e=>(this.glTexture=e,e)))))}loadFromBasis(e,t){return this.loadAsync((()=>async function(e,t,r){(0,o.Wi)(X)&&(X=await K());const i=new X.BasisFile(new Uint8Array(r));if(!Q(i))return null;i.startTranscoding();const n=ee(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(),n}(e,this.createDescriptor(e),t).then((e=>(this.glTexture=e,e)))))}loadFromPixelData(e,t){(0,A.hu)(this.params.width>0&&this.params.height>0);const r=this.createDescriptor(e);return r.pixelFormat=1===this.params.components?6409:3===this.params.components?6407:6408,r.width=this.params.width,r.height=this.params.height,this.glTexture=new G.Z(e,r,t),this.glTexture}loadAsync(e){const t=(0,M.yi)();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}loadFromURL(e,t,r){return this.loadAsync((async i=>{const o=await S(r,{signal:i});return this.loadFromImage(e,o,t)}))}loadFromImageElement(e,t,r){return r.complete?this.loadFromImage(e,r,t):this.loadAsync((async i=>{const o=await(0,U.f)(r,r.src,!1,i);return this.loadFromImage(e,o,t)}))}loadFromVideoElement(e,t,r){return r.readyState>=2?this.loadFromImage(e,r,t):this.loadFromVideoElementAsync(e,t,r)}loadFromVideoElementAsync(e,t,r){return this.loadAsync((i=>new Promise(((n,a)=>{const s=()=>{r.removeEventListener("loadeddata",l),r.removeEventListener("error",c),(0,o.pC)(d)&&d.remove()},l=()=>{r.readyState>=2&&(s(),n(this.loadFromImage(e,r,t)))},c=e=>{s(),a(e||new T.Z("Failed to load video"))};r.addEventListener("loadeddata",l),r.addEventListener("error",c);const d=(0,M.fu)(i,(()=>c((0,M.zE)())))}))))}loadFromImage(e,t,r){const i=Te.getDataDimensions(t);this.params.width=i.width,this.params.height=i.height;const o=this.createDescriptor(e);return o.pixelFormat=3===this.params.components?6407:6408,!this.requiresPowerOfTwo(e,o)||(0,I.wt)(i.width)&&(0,I.wt)(i.height)?(o.width=i.width,o.height=i.height,this.glTexture=new G.Z(e,o,t),this.glTexture):(this.glTexture=this.makePowerOfTwoTexture(e,t,i,o,r),this.glTexture)}requiresPowerOfTwo(e,t){const r=33071,i="number"==typeof t.wrapMode?t.wrapMode===r:t.wrapMode.s===r&&t.wrapMode.t===r;return!(0,be.Z)(e.gl)&&(t.hasMipmap||!i)}makePowerOfTwoTexture(e,t,r,i,o){const{width:n,height:a}=r,s=(0,I.Sf)(n),l=(0,I.Sf)(a);let c;switch(i.width=s,i.height=l,this.params.powerOfTwoResizeMode){case 2:i.textureCoordinateScaleFactor=[n/s,a/l],c=new G.Z(e,i),c.updateData(0,0,0,n,a,t);break;case 1:case null:case void 0:c=this.stretchToPowerOfTwo(e,t,i,o());break;default:(0,z.Bg)(this.params.powerOfTwoResizeMode)}return i.hasMipmap&&c.generateMipmap(),c}stretchToPowerOfTwo(e,t,r,i){const o=new G.Z(e,r),n=new ve(e,{colorTarget:0,depthStencilTarget:0},o),a=new G.Z(e,{target:3553,pixelFormat:r.pixelFormat,dataType:5121,wrapMode:33071,samplingMode:9729,flipped:!!r.flipped,maxAnisotropy:8,preMultiplyAlpha:r.preMultiplyAlpha},t),s=function(e,t=se,r=ae,i=-1,o=1){let n=null;return n=t===le?new Float32Array([i,i,0,0,o,i,1,0,i,o,0,1,o,o,1,1]):new Float32Array([i,i,o,i,i,o,o,o]),new me(e,r,{geometry:t},{geometry:he.createVertex(e,35044,n)})}(e),l=e.getBoundFramebufferObject();return this.drawStretchedTexture(e,i,n,s,a,o),this.requiresFrameUpdates?this.powerOfTwoStretchInfo={vao:s,sourceTexture:a,framebuffer:n}:(s.dispose(!0),a.dispose(),n.detachColorTexture(),n.dispose()),e.bindFramebuffer(l),o}drawStretchedTexture(e,t,r,i,o,n){e.bindFramebuffer(r);const a=e.getViewport();e.setViewport(0,0,n.descriptor.width,n.descriptor.height);const s=t.program;e.useProgram(s),s.setUniform4f("color",1,1,1,1),s.bindTexture(o,"tex"),e.bindVAO(i),t.bindPipelineState(e),e.drawArrays(5,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,o.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,o.pC)(this.glTexture)&&(this.glTexture.dispose(),this.glTexture=null),(0,o.pC)(this.loadingController)){const e=this.loadingController;this.loadingController=null,this.loadingPromise=null,e.abort()}this.events.emit("unloaded")}}Te.DDS_ENCODING="image/vnd-ms.dds",Te.KTX2_ENCODING="image/ktx2",Te.BASIS_ENCODING="image/x.basis";var ye=r(65576),Me=r(94124),we=r(37782);class Se extends D{constructor(e,t){super(),this.type=3,this.supportsEdges=!1,this._visible=!0,this._renderPriority=0,this._insertOrder=0,this._vertexAttributeLocations=ae,this._params=(0,we.Uf)(e,t),this.validateParameterValues(this._params)}dispose(){}get params(){return this._params}update(e){return!1}setParameterValues(e){(0,we.LO)(this._params,e)&&(this.validateParameterValues(this._params),this.parametersChanged())}validateParameterValues(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.params.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,o.pC)(this.repository)&&this.repository.materialChanged(this)}}function Ce(e,t,r=32774,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]}}}const Ae={face:1029,mode:2305},Pe={face:1028,mode:2305},Fe=e=>2===e?Ae:1===e?Pe:null,Ee={zNear:0,zFar:1},De={r:!0,g:!0,b:!0,a:!0};function Oe(e){return ke.intern(e)}function Le(e){return We.intern(e)}function Re(e){return $e.intern(e)}function ze(e){return Xe.intern(e)}function He(e){return Ke.intern(e)}function Ie(e){return Qe.intern(e)}function Ne(e){return et.intern(e)}function Be(e){return rt.intern(e)}class Ue{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 Ve(e){return"["+e.join(",")+"]"}const ke=new Ue(Ge,(e=>({__tag:"Blending",...e})));function Ge(e){return e?Ve([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 We=new Ue(qe,(e=>({__tag:"Culling",...e})));function qe(e){return e?Ve([e.face,e.mode]):null}const $e=new Ue(je,(e=>({__tag:"PolygonOffset",...e})));function je(e){return e?Ve([e.factor,e.units]):null}const Xe=new Ue(Ze,(e=>({__tag:"DepthTest",...e})));function Ze(e){return e?Ve([e.func]):null}const Ke=new Ue(Ye,(e=>({__tag:"StencilTest",...e})));function Ye(e){return e?Ve([e.function.func,e.function.ref,e.function.mask,e.operation.fail,e.operation.zFail,e.operation.zPass]):null}const Qe=new Ue(Je,(e=>({__tag:"DepthWrite",...e})));function Je(e){return e?Ve([e.zNear,e.zFar]):null}const et=new Ue(tt,(e=>({__tag:"ColorWrite",...e})));function tt(e){return e?Ve([e.r,e.g,e.b,e.a]):null}const rt=new Ue(it,(e=>({__tag:"StencilWrite",...e})));function it(e){return e?Ve([e.mask]):null}const ot=new Ue((function(e){return e?Ve([Ge(e.blending),qe(e.culling),je(e.polygonOffset),Ze(e.depthTest),Ye(e.stencilTest),Je(e.depthWrite),tt(e.colorWrite),it(e.stencilWrite)]):null}),(e=>({blending:Oe(e.blending),culling:Le(e.culling),polygonOffset:Re(e.polygonOffset),depthTest:ze(e.depthTest),stencilTest:He(e.stencilTest),depthWrite:Ie(e.depthWrite),colorWrite:Ne(e.colorWrite),stencilWrite:Be(e.stencilWrite)}))),nt=function(e,t,r,i,o=32774,n=32774,a=[0,0,0,0]){return{srcRgb:770,srcAlpha:1,dstRgb:771,dstAlpha:771,opRgb:o,opAlpha:n,color:{r:a[0],g:a[1],b:a[2],a:a[3]}}}(),at=Ce(1,1),st=Ce(0,771);const lt={factor:-1,units:-2};function ct(e){return e?lt:null}function dt(e){return 3===e||2===e?513:515}var ut=r(51305),ht=r(94961),ft=r(72119),mt=r(88669),pt=r(98766),gt=r(22807),vt=r(12981);new gt.x((function(){return{origin:null,direction:null}})),(0,d.c)(),(0,d.c)();const xt=y.Z.getLogger("esri.geometry.support.sphere");function _t(){return(0,mt.c)()}function bt(e,t=_t()){return(0,pt.c)(t,e)}function Tt(e){return Array.isArray(e)?e[3]:e}function yt(e){return Array.isArray(e)?e:Dt}function Mt(e,t,r){if((0,o.Wi)(t))return!1;const{origin:i,direction:n}=t,a=wt;a[0]=i[0]-e[0],a[1]=i[1]-e[1],a[2]=i[2]-e[2];const s=n[0]*n[0]+n[1]*n[1]+n[2]*n[2],l=2*(n[0]*a[0]+n[1]*a[1]+n[2]*a[2]),c=l*l-4*s*(a[0]*a[0]+a[1]*a[1]+a[2]*a[2]-e[3]*e[3]);if(c<0)return!1;const d=Math.sqrt(c);let u=(-l-d)/(2*s);const h=(-l+d)/(2*s);return(u<0||h<u&&h>0)&&(u=h),!(u<0||(r&&(r[0]=i[0]+n[0]*u,r[1]=i[1]+n[1]*u,r[2]=i[2]+n[2]*u),0))}const wt=(0,d.c)();function St(e,t,r){const i=vt.WM.get(),o=vt.MP.get();(0,c.c)(i,t.origin,t.direction);const n=Tt(e);(0,c.c)(r,i,t.origin),(0,c.a)(r,r,1/(0,c.l)(r)*n);const a=At(e,t.origin),l=function(e,t){const r=(0,c.d)(e,t)/((0,c.l)(e)*(0,c.l)(t));return-(0,I.ZF)(r)}(t.origin,r);return(0,s.i)(o),(0,s.d)(o,o,l+a,i),(0,c.m)(r,r,o),r}function Ct(e,t,r){const i=(0,c.f)(vt.WM.get(),t,yt(e)),o=(0,c.a)(vt.WM.get(),i,e[3]/(0,c.l)(i));return(0,c.b)(r,o,yt(e))}function At(e,t){const r=(0,c.f)(vt.WM.get(),t,yt(e)),i=(0,c.l)(r),o=Tt(e),n=o+Math.abs(o-i);return(0,I.ZF)(o/n)}const Pt=(0,d.c)();function Ft(e,t,r,i){const o=(0,c.f)(Pt,t,yt(e));switch(r){case 0:{const e=(0,I.jE)(o,Pt)[2];return(0,c.s)(i,-Math.sin(e),Math.cos(e),0)}case 1:{const e=(0,I.jE)(o,Pt),t=e[1],r=e[2],n=Math.sin(t);return(0,c.s)(i,-n*Math.cos(r),-n*Math.sin(r),Math.cos(t))}case 2:return(0,c.n)(i,o);default:return}}function Et(e,t){const r=(0,c.f)(Ot,t,yt(e));return(0,c.l)(r)-e[3]}const Dt=(0,d.c)(),Ot=(0,d.c)();Object.freeze({__proto__:null,create:_t,copy:bt,fromCenterAndRadius:function(e,t){return(0,mt.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){return e},getRadius:Tt,getCenter:yt,fromValues:function(e,t,r,i){return(0,mt.f)(e,t,r,i)},elevate:function(e,t,r){return e!==r&&(0,c.g)(r,e),r[3]=e[3]+t,r},setExtent:function(e,t,r){return xt.error("sphere.setExtent is not yet supported"),e===r?r:bt(e,r)},intersectRay:Mt,intersectsRay:function(e,t){return Mt(e,t,null)},intersectRayClosestSilhouette:function(e,t,r){if(Mt(e,t,r))return r;const i=St(e,t,vt.WM.get());return(0,c.b)(r,t.origin,(0,c.a)(vt.WM.get(),t.direction,(0,c.i)(t.origin,i)/(0,c.l)(t.direction))),r},closestPointOnSilhouette:St,closestPoint:function(e,t,r){return Mt(e,t,r)?r:(function(e,t,r){const i=(0,c.d)(e.direction,(0,c.f)(r,t,e.origin));(0,c.b)(r,e.origin,(0,c.a)(r,e.direction,i))}(t,yt(e),r),Ct(e,r,r))},projectPoint:Ct,distanceToSilhouette:function(e,t){const r=(0,c.f)(vt.WM.get(),t,yt(e)),i=(0,c.p)(r),o=e[3]*e[3];return Math.sqrt(Math.abs(i-o))},angleToSilhouette:At,axisAt:Ft,altitudeAt:Et,setAltitudeAt:function(e,t,r,i){const o=Et(e,t),n=Ft(e,t,2,Ot),a=(0,c.a)(Ot,n,r-o);return(0,c.b)(i,t,a)}});const Lt=new class{constructor(e=0){this.offset=e,this.sphere=_t(),this.tmpVertex=(0,d.c)()}applyToVertex(e,t,r){const i=this.objectTransform.transform;let o=i[0]*e+i[4]*t+i[8]*r+i[12],n=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(o*o+n*n+a*a);o+=o*s,n+=n*s,a+=a*s;const l=this.objectTransform.inverse;return this.tmpVertex[0]=l[0]*o+l[4]*n+l[8]*a+l[12],this.tmpVertex[1]=l[1]*o+l[5]*n+l[9]*a+l[13],this.tmpVertex[2]=l[2]*o+l[6]*n+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,d.c)(),this.mbs=(0,mt.c)(),this.obb={center:(0,d.c)(),halfSize:(0,ft.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,o=t,n=r+this.componentLocalOriginLength,a=this.offset/Math.sqrt(i*i+o*o+n*n);return this.tmpVertex[0]=e+i*a,this.tmpVertex[1]=t+o*a,this.tmpVertex[2]=r+n*a,this.tmpVertex}applyToAabb(e){const t=e[0],r=e[1],i=e[2]+this.componentLocalOriginLength,o=e[3],n=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(o*o+n*n+a*a);return e[3]+=o*l,e[4]+=n*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.b)(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.f)(this.obb.halfSize,this.obb.halfSize,e.center),(0,ut.c)(Rt,e.quaternion),(0,c.q)(this.obb.halfSize,this.obb.halfSize,Rt),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,d.c)()}applyToVertex(e,t,r){const i=e+this.localOrigin[0],o=t+this.localOrigin[1],n=r+this.localOrigin[2],a=this.offset/Math.sqrt(i*i+o*o+n*n);return this.tmpVertex[0]=e+i*a,this.tmpVertex[1]=t+o*a,this.tmpVertex[2]=r+n*a,this.tmpVertex}applyToAabb(e){const t=e[0]+this.localOrigin[0],r=e[1]+this.localOrigin[1],i=e[2]+this.localOrigin[2],o=e[3]+this.localOrigin[0],n=e[4]+this.localOrigin[1],a=e[5]+this.localOrigin[2],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(o*o+n*n+a*a);return e[3]+=o*l,e[4]+=n*l,e[5]+=a*l,e}};const Rt=(0,ht.a)();function zt(e,t,r,i){const o=r.typedBuffer,n=r.typedBufferStride,a=e.length;i*=n;for(let r=0;r<a;++r){const a=2*e[r];o[i]=t[a],o[i+1]=t[a+1],i+=n}}function Ht(e,t,r,i,o){const n=r.typedBuffer,a=r.typedBufferStride,s=e.length;if(i*=a,null==o||1===o)for(let r=0;r<s;++r){const o=3*e[r];n[i]=t[o],n[i+1]=t[o+1],n[i+2]=t[o+2],i+=a}else for(let r=0;r<s;++r){const s=3*e[r];for(let e=0;e<o;++e)n[i]=t[s],n[i+1]=t[s+1],n[i+2]=t[s+2],i+=a}}function It(e,t,r,i,o,n=1){if(!r)return void Ht(e,t,i,o,n);const a=i.typedBuffer,s=i.typedBufferStride,l=e.length,c=r[0],d=r[1],u=r[2],h=r[4],f=r[5],m=r[6],p=r[8],g=r[9],v=r[10],x=r[12],_=r[13],b=r[14];if(o*=s,1===n)for(let r=0;r<l;++r){const i=3*e[r],n=t[i],l=t[i+1],T=t[i+2];a[o]=c*n+h*l+p*T+x,a[o+1]=d*n+f*l+g*T+_,a[o+2]=u*n+m*l+v*T+b,o+=s}else for(let r=0;r<l;++r){const i=3*e[r],l=t[i],T=t[i+1],y=t[i+2],M=c*l+h*T+p*y+x,w=d*l+f*T+g*y+_,S=u*l+m*T+v*y+b;for(let e=0;e<n;++e)a[o]=M,a[o+1]=w,a[o+2]=S,o+=s}}function Nt(e,t,r,i,o,n=1){if(!r)return void Ht(e,t,i,o,n);const a=r,l=i.typedBuffer,c=i.typedBufferStride,d=e.length,u=a[0],h=a[1],f=a[2],m=a[4],p=a[5],g=a[6],v=a[8],x=a[9],_=a[10],b=!(0,s.q)(a),T=1e-6,y=1-T;if(o*=c,1===n)for(let r=0;r<d;++r){const i=3*e[r],n=t[i],a=t[i+1],s=t[i+2];let d=u*n+m*a+v*s,M=h*n+p*a+x*s,w=f*n+g*a+_*s;if(b){const e=d*d+M*M+w*w;if(e<y&&e>T){const t=1/Math.sqrt(e);d*=t,M*=t,w*=t}}l[o+0]=d,l[o+1]=M,l[o+2]=w,o+=c}else for(let r=0;r<d;++r){const i=3*e[r],a=t[i],s=t[i+1],d=t[i+2];let M=u*a+m*s+v*d,w=h*a+p*s+x*d,S=f*a+g*s+_*d;if(b){const e=M*M+w*w+S*S;if(e<y&&e>T){const t=1/Math.sqrt(e);M*=t,w*=t,S*=t}}for(let e=0;e<n;++e)l[o+0]=M,l[o+1]=w,l[o+2]=S,o+=c}}function Bt(e,t,r,i,o,n=1){if(!r)return void function(e,t,r,i,o=1){const n=r.typedBuffer,a=r.typedBufferStride,s=e.length;if(i*=a,1===o)for(let r=0;r<s;++r){const o=4*e[r];n[i]=t[o],n[i+1]=t[o+1],n[i+2]=t[o+2],n[i+3]=t[o+3],i+=a}else for(let r=0;r<s;++r){const s=4*e[r];for(let e=0;e<o;++e)n[i]=t[s],n[i+1]=t[s+1],n[i+2]=t[s+2],n[i+3]=t[s+3],i+=a}}(e,t,i,o,n);const a=r,l=i.typedBuffer,c=i.typedBufferStride,d=e.length,u=a[0],h=a[1],f=a[2],m=a[4],p=a[5],g=a[6],v=a[8],x=a[9],_=a[10],b=!(0,s.q)(a),T=1e-6,y=1-T;if(o*=c,1===n)for(let r=0;r<d;++r){const i=4*e[r],n=t[i],a=t[i+1],s=t[i+2],d=t[i+3];let M=u*n+m*a+v*s,w=h*n+p*a+x*s,S=f*n+g*a+_*s;if(b){const e=M*M+w*w+S*S;if(e<y&&e>T){const t=1/Math.sqrt(e);M*=t,w*=t,S*=t}}l[o+0]=M,l[o+1]=w,l[o+2]=S,l[o+3]=d,o+=c}else for(let r=0;r<d;++r){const i=4*e[r],a=t[i],s=t[i+1],d=t[i+2],M=t[i+3];let w=u*a+m*s+v*d,S=h*a+p*s+x*d,C=f*a+g*s+_*d;if(b){const e=w*w+S*S+C*C;if(e<y&&e>T){const t=1/Math.sqrt(e);w*=t,S*=t,C*=t}}for(let e=0;e<n;++e)l[o+0]=w,l[o+1]=S,l[o+2]=C,l[o+3]=M,o+=c}}function Ut(e,t,r,i,o,n=1){const a=i.typedBuffer,s=i.typedBufferStride,l=e.length;if(o*=s,1===n){if(4===r)for(let r=0;r<l;++r){const i=4*e[r];a[o]=t[i],a[o+1]=t[i+1],a[o+2]=t[i+2],a[o+3]=t[i+3],o+=s}else if(3===r)for(let r=0;r<l;++r){const i=3*e[r];a[o]=t[i],a[o+1]=t[i+1],a[o+2]=t[i+2],a[o+3]=255,o+=s}}else if(4===r)for(let r=0;r<l;++r){const i=4*e[r];for(let e=0;e<n;++e)a[o]=t[i],a[o+1]=t[i+1],a[o+2]=t[i+2],a[o+3]=t[i+3],o+=s}else if(3===r)for(let r=0;r<l;++r){const i=3*e[r];for(let e=0;e<n;++e)a[o]=t[i],a[o+1]=t[i+1],a[o+2]=t[i+2],a[o+3]=255,o+=s}}var Vt=r(43697),kt=r(51546),Gt=r(47624),Wt=r(92555),qt=r(68853),$t=r(42001),jt=r(85504),Xt=r(72303),Zt=r(98401),Kt=r(89243);const Yt=(0,r(10937).c)();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}}function Jt(e={}){return(t,r)=>{var i,o;t._parameterNames=null!=(i=t._parameterNames)?i:[],t._parameterNames.push(r);const n=t._parameterNames.length-1,a=e.count||2,s=Math.ceil(Math.log2(a)),l=null!=(o=t._parameterBits)?o:[0];let c=0;for(;l[c]+s>16;)c++,c>=l.length&&l.push(0);t._parameterBits=l;const d=l[c],u=(1<<s)-1<<d;l[c]+=s,Object.defineProperty(t,r,{get(){return this[n]},set(e){if(this[n]!==e&&(this[n]=e,this._keyDirty=!0,this._parameterBits[c]=this._parameterBits[c]&~u|+e<<d&u,"number"!=typeof e&&"boolean"!=typeof e))throw"Configuration value for "+r+" must be boolean or number, got "+typeof e}})}}const er=["layout","centroid","smooth","case","mat2x2","mat2x3","mat2x4","mat3x2","mat3x3","mat3x4","mat4x2","mat4x3","mat4x4","uint","uvec2","uvec3","uvec4","samplerCubeShadow","sampler2DArray","sampler2DArrayShadow","isampler2D","isampler3D","isamplerCube","isampler2DArray","usampler2D","usampler3D","usamplerCube","usampler2DArray","coherent","restrict","readonly","writeonly","resource","atomic_uint","noperspective","patch","sample","subroutine","common","partition","active","filter","image1D","image2D","image3D","imageCube","iimage1D","iimage2D","iimage3D","iimageCube","uimage1D","uimage2D","uimage3D","uimageCube","image1DArray","image2DArray","iimage1DArray","iimage2DArray","uimage1DArray","uimage2DArray","image1DShadow","image2DShadow","image1DArrayShadow","image2DArrayShadow","imageBuffer","iimageBuffer","uimageBuffer","sampler1DArray","sampler1DArrayShadow","isampler1D","isampler1DArray","usampler1D","usampler1DArray","isampler2DRect","usampler2DRect","samplerBuffer","isamplerBuffer","usamplerBuffer","sampler2DMS","isampler2DMS","usampler2DMS","sampler2DMSArray","isampler2DMSArray","usampler2DMSArray","trunc","round","roundEven","isnan","isinf","floatBitsToInt","floatBitsToUint","intBitsToFloat","uintBitsToFloat","packSnorm2x16","unpackSnorm2x16","packUnorm2x16","unpackUnorm2x16","packHalf2x16","unpackHalf2x16","outerProduct","transpose","determinant","inverse","texture","textureSize","textureProj","textureLod","textureOffset","texelFetch","texelFetchOffset","textureProjOffset","textureLodOffset","textureProjLod","textureProjLodOffset","textureGrad","textureGradOffset","textureProjGrad","textureProjGradOffset"];var tr,rr={exports:{}};void 0!==(tr=["precision","highp","mediump","lowp","attribute","const","uniform","varying","break","continue","do","for","while","if","else","in","out","inout","float","int","void","bool","true","false","discard","return","mat2","mat3","mat4","vec2","vec3","vec4","ivec2","ivec3","ivec4","bvec2","bvec3","bvec4","sampler1D","sampler2D","sampler3D","samplerCube","sampler1DShadow","sampler2DShadow","struct","asm","class","union","enum","typedef","template","this","packed","goto","switch","default","inline","noinline","volatile","public","static","extern","external","interface","long","short","double","half","fixed","unsigned","input","output","hvec2","hvec3","hvec4","dvec2","dvec3","dvec4","fvec2","fvec3","fvec4","sampler2DRect","sampler3DRect","sampler2DRectShadow","sizeof","cast","namespace","using"])&&(rr.exports=tr);const ir=rr.exports;var or,nr={exports:{}};void 0!==(or=["<<=",">>=","++","--","<<",">>","<=",">=","==","!=","&&","||","+=","-=","*=","/=","%=","&=","^^","^=","|=","(",")","[","]",".","!","~","*","/","%","+","-","<",">","&","^","|","?",":","=",",",";","{","}"])&&(nr.exports=or);const ar=nr.exports;var sr,lr,cr={exports:{}};sr=cr,void 0!==(lr=["abs","acos","all","any","asin","atan","ceil","clamp","cos","cross","dFdx","dFdy","degrees","distance","dot","equal","exp","exp2","faceforward","floor","fract","gl_BackColor","gl_BackLightModelProduct","gl_BackLightProduct","gl_BackMaterial","gl_BackSecondaryColor","gl_ClipPlane","gl_ClipVertex","gl_Color","gl_DepthRange","gl_DepthRangeParameters","gl_EyePlaneQ","gl_EyePlaneR","gl_EyePlaneS","gl_EyePlaneT","gl_Fog","gl_FogCoord","gl_FogFragCoord","gl_FogParameters","gl_FragColor","gl_FragCoord","gl_FragData","gl_FragDepth","gl_FragDepthEXT","gl_FrontColor","gl_FrontFacing","gl_FrontLightModelProduct","gl_FrontLightProduct","gl_FrontMaterial","gl_FrontSecondaryColor","gl_LightModel","gl_LightModelParameters","gl_LightModelProducts","gl_LightProducts","gl_LightSource","gl_LightSourceParameters","gl_MaterialParameters","gl_MaxClipPlanes","gl_MaxCombinedTextureImageUnits","gl_MaxDrawBuffers","gl_MaxFragmentUniformComponents","gl_MaxLights","gl_MaxTextureCoords","gl_MaxTextureImageUnits","gl_MaxTextureUnits","gl_MaxVaryingFloats","gl_MaxVertexAttribs","gl_MaxVertexTextureImageUnits","gl_MaxVertexUniformComponents","gl_ModelViewMatrix","gl_ModelViewMatrixInverse","gl_ModelViewMatrixInverseTranspose","gl_ModelViewMatrixTranspose","gl_ModelViewProjectionMatrix","gl_ModelViewProjectionMatrixInverse","gl_ModelViewProjectionMatrixInverseTranspose","gl_ModelViewProjectionMatrixTranspose","gl_MultiTexCoord0","gl_MultiTexCoord1","gl_MultiTexCoord2","gl_MultiTexCoord3","gl_MultiTexCoord4","gl_MultiTexCoord5","gl_MultiTexCoord6","gl_MultiTexCoord7","gl_Normal","gl_NormalMatrix","gl_NormalScale","gl_ObjectPlaneQ","gl_ObjectPlaneR","gl_ObjectPlaneS","gl_ObjectPlaneT","gl_Point","gl_PointCoord","gl_PointParameters","gl_PointSize","gl_Position","gl_ProjectionMatrix","gl_ProjectionMatrixInverse","gl_ProjectionMatrixInverseTranspose","gl_ProjectionMatrixTranspose","gl_SecondaryColor","gl_TexCoord","gl_TextureEnvColor","gl_TextureMatrix","gl_TextureMatrixInverse","gl_TextureMatrixInverseTranspose","gl_TextureMatrixTranspose","gl_Vertex","greaterThan","greaterThanEqual","inversesqrt","length","lessThan","lessThanEqual","log","log2","matrixCompMult","max","min","mix","mod","normalize","not","notEqual","pow","radians","reflect","refract","sign","sin","smoothstep","sqrt","step","tan","texture2D","texture2DLod","texture2DProj","texture2DProjLod","textureCube","textureCubeLod","texture2DLodEXT","texture2DProjLodEXT","textureCubeLodEXT","texture2DGradEXT","texture2DProjGradEXT","textureCubeGradEXT"])&&(sr.exports=lr);const dr=cr.exports;var ur=999,hr=["block-comment","line-comment","preprocessor","operator","integer","float","ident","builtin","keyword","whitespace","eof","integer"];function fr(e){return function(e){var t=function(){var e,t,r,i=0,o=0,n=ur,a=[],s=[],l=1,c=0,d=0,u=!1,h=!1,f="";return function(e){return s=[],null!==e?p(e.replace?e.replace(/\r\n/g,"\n"):e):(a.length&&m(a.join("")),n=10,m("(eof)"),s)};function m(e){e.length&&s.push({type:hr[n],data:e,position:d,line:l,column:c})}function p(p){var v;for(i=0,r=(f+=p).length;e=f[i],i<r;){switch(v=i,n){case 0:i="/"===e&&"*"===t?(a.push(e),m(a.join("")),n=ur,i+1):(a.push(e),t=e,i+1);break;case 1:case 2:i="\r"!==e&&"\n"!==e||"\\"===t?(a.push(e),t=e,i+1):(m(a.join("")),n=ur,i);break;case 3:i=g();break;case 4:i="."===e||/[eE]/.test(e)?(a.push(e),n=5,t=e,i+1):"x"===e&&1===a.length&&"0"===a[0]?(n=11,a.push(e),t=e,i+1):/[^\d]/.test(e)?(m(a.join("")),n=ur,i):(a.push(e),t=e,i+1);break;case 11:i=/[^a-fA-F0-9]/.test(e)?(m(a.join("")),n=ur,i):(a.push(e),t=e,i+1);break;case 5:"f"===e&&(a.push(e),t=e,i+=1),i=/[eE]/.test(e)||"-"===e&&/[eE]/.test(t)?(a.push(e),t=e,i+1):/[^\d]/.test(e)?(m(a.join("")),n=ur,i):(a.push(e),t=e,i+1);break;case 9999:i=x();break;case 9:i=/[^\s]/g.test(e)?(m(a.join("")),n=ur,i):(a.push(e),t=e,i+1);break;case ur:a=a.length?[]:a,i="/"===t&&"*"===e?(d=o+i-1,n=0,t=e,i+1):"/"===t&&"/"===e?(d=o+i-1,n=1,t=e,i+1):"#"===e?(n=2,d=o+i,i):/\s/.test(e)?(n=9,d=o+i,i):(u=/\d/.test(e),h=/[^\w_]/.test(e),d=o+i,n=u?4:h?3:9999,i)}v!==i&&("\n"===f[v]?(c=0,++l):++c)}return o+=i,f=f.slice(i),s}function g(){if("."===t&&/\d/.test(e))return n=5,i;if("/"===t&&"*"===e)return n=0,i;if("/"===t&&"/"===e)return n=1,i;if("."===e&&a.length){for(;v(a););return n=5,i}if(";"===e||")"===e||"("===e){if(a.length)for(;v(a););return m(e),n=ur,i+1}var r=2===a.length&&"="!==e;if(/[\w_\d\s]/.test(e)||r){for(;v(a););return n=ur,i}return a.push(e),t=e,i+1}function v(e){for(var t,r,i=0;;){if(t=ar.indexOf(e.slice(0,e.length+i).join("")),r=ar[t],-1===t){if(i--+e.length>0)continue;r=e.slice(0,1).join("")}return m(r),d+=r.length,(a=a.slice(r.length)).length}}function x(){if(/[^\d\w_]/.test(e)){var r=a.join("");return n=ir.indexOf(r)>-1?8:dr.indexOf(r)>-1?7:6,m(a.join("")),n=ur,i}return a.push(e),t=e,i+1}}(),r=[];return(r=r.concat(t(e))).concat(t(null))}(e)}const mr=["GL_OES_standard_derivatives","GL_EXT_frag_depth","GL_EXT_draw_buffers","GL_EXT_shader_texture_lod"];function pr(e,t){for(let r=t-1;r>=0;r--){const t=e[r];if("whitespace"!==t.type&&"block-comment"!==t.type){if("keyword"!==t.type)break;if("attribute"===t.data||"in"===t.data)return!0}}return!1}function gr(e,t,r,i){i=i||r;for(const o of e)if("ident"===o.type&&o.data===r)return i in t?t[i]++:t[i]=0,gr(e,t,i+"_"+t[i],i);return r}function vr(e,t,r="afterVersion"){function i(e,t){for(let r=t;r<e.length;r++){const t=e[r];if("operator"===t.type&&";"===t.data)return r}return null}const o={data:"\n",type:"whitespace"},n=t=>t<e.length&&/[^\r\n]$/.test(e[t].data);let a=function(e){let t=-1,o=0,n=-1;for(let a=0;a<e.length;a++){const s=e[a];if("preprocessor"===s.type&&(s.data.match(/\#(if|ifdef|ifndef)\s+.+/)?++o:s.data.match(/\#endif\s*.*/)&&--o),"afterVersion"!==r&&"afterPrecision"!==r||"preprocessor"===s.type&&/^#version/.test(s.data)&&(n=Math.max(n,a)),"afterPrecision"===r&&"keyword"===s.type&&"precision"===s.data){const t=i(e,a);if(null===t)throw new Error("precision statement not followed by any semicolons!");n=Math.max(n,t)}t<n&&0===o&&(t=a)}return t+1}(e);n(a-1)&&e.splice(a++,0,o);for(const r of t)e.splice(a++,0,r);n(a-1)&&n(a)&&e.splice(a,0,o)}function xr(e,t,r,i="lowp"){vr(e,[{type:"keyword",data:"out"},{type:"whitespace",data:" "},{type:"keyword",data:i},{type:"whitespace",data:" "},{type:"keyword",data:r},{type:"whitespace",data:" "},{type:"ident",data:t},{type:"operator",data:";"}],"afterPrecision")}function _r(e,t,r,i,o="lowp"){vr(e,[{type:"keyword",data:"layout"},{type:"operator",data:"("},{type:"keyword",data:"location"},{type:"whitespace",data:" "},{type:"operator",data:"="},{type:"whitespace",data:" "},{type:"integer",data:i.toString()},{type:"operator",data:")"},{type:"whitespace",data:" "},{type:"keyword",data:"out"},{type:"whitespace",data:" "},{type:"keyword",data:o},{type:"whitespace",data:" "},{type:"keyword",data:r},{type:"whitespace",data:" "},{type:"ident",data:t},{type:"operator",data:";"}],"afterPrecision")}function br(e,t){let r,i,o=-1;for(let n=t;n<e.length;n++){const t=e[n];if("operator"===t.type&&("["===t.data&&(r=n),"]"===t.data)){i=n;break}"integer"===t.type&&(o=parseInt(t.data,10))}return r&&i&&e.splice(r,i-r+1),o}function Tr(e,t){if((0,o.Wi)(e)||e.length!==t.length)return!0;for(let r=0;r<e.length;++r)if(e[r]!==t[r])return!0;return!1}function yr(e,t,r){const i="webgl2"===e.webglVersion?function(e,t){const r=fr(e);if("300 es"===function(e,t="100",r="300 es"){const i=/^\s*\#version\s+([0-9]+(\s+[a-zA-Z]+)?)\s*/;for(const o of e)if("preprocessor"===o.type){const e=i.exec(o.data);if(e){const i=e[1].replace(/\s\s+/g," ");if(i===r)return i;if(i===t)return o.data="#version "+r,t;throw new Error("unknown glsl version: "+i)}}return e.splice(0,0,{type:"preprocessor",data:"#version "+r},{type:"whitespace",data:"\n"}),null}(r,"100","300 es"))throw new Error("shader is already glsl 300 es");let i=null,o=null;const n={},a={};for(let e=0;e<r.length;++e){const s=r[e];switch(s.type){case"keyword":35633===t&&"attribute"===s.data?s.data="in":"varying"===s.data&&(s.data=35633===t?"out":"in");break;case"builtin":if(/^texture(2D|Cube)(Proj)?(Lod|Grad)?(EXT)?$/.test(s.data.trim())&&(s.data=s.data.replace(/(2D|Cube|EXT)/g,"")),35632===t&&"gl_FragColor"===s.data&&(i||(i=gr(r,n,"fragColor"),xr(r,i,"vec4")),s.data=i),35632===t&&"gl_FragData"===s.data){const t=br(r,e+1),i=gr(r,n,"fragData");_r(r,i,"vec4",t,"mediump"),s.data=i}else 35632===t&&"gl_FragDepthEXT"===s.data&&(o||(o=gr(r,n,"gl_FragDepth")),s.data=o);break;case"ident":if(er.indexOf(s.data)>=0){if(35633===t&&pr(r,e))throw new Error("attribute in vertex shader uses a name that is a reserved word in glsl 300 es");s.data in a||(a[s.data]=gr(r,n,s.data)),s.data=a[s.data]}}}for(let e=r.length-1;e>=0;--e){const t=r[e];if("preprocessor"===t.type){const i=t.data.match(/\#extension\s+(.*)\:/);if(i&&i[1]&&mr.indexOf(i[1].trim())>=0){const t=r[e+1];r.splice(e,t&&"whitespace"===t.type?2:1)}const o=t.data.match(/\#ifdef\s+(.*)/);o&&o[1]&&mr.indexOf(o[1].trim())>=0&&(t.data="#if 1");const n=t.data.match(/\#ifndef\s+(.*)/);n&&n[1]&&mr.indexOf(n[1].trim())>=0&&(t.data="#if 0")}}return function(e){return e.map((e=>"eof"!==e.type?e.data:"")).join("")}(r)}(r,t):r,o=e.gl,n=o.createShader(t);return o.shaderSource(n,i),o.compileShader(n),(0,ce.CG)()&&!o.getShaderParameter(n,o.COMPILE_STATUS)&&(console.error("Compile error in ".concat(35633===t?"vertex":"fragment"," shader")),console.error(o.getShaderInfoLog(n)),console.error(function(e){let t=2;return e.replace(/\n/g,(()=>"\n"+function(e){return e>=1e3?e.toString():(" "+e).slice(-3)}(t++)+":"))}(i)),"webgl2"===e.webglVersion&&(console.log("Shader source before transpilation:"),console.log(r))),n}function Mr(e,t){for(let r=0;r<e.length;++r)t[r]=e[r]}class wr extends class{constructor(e,t,r,i){this._context=e,this._locations=i,this._nameToUniformLocation={},this._nameToUniform1={},this._nameToUniform1v={},this._nameToUniform2={},this._nameToUniform3={},this._nameToUniform4={},this._nameToUniformMatrix3={},this._nameToUniformMatrix4={},e||console.error("RenderingContext isn't initialized!"),0===t.length&&console.error("Shaders source should not be empty!"),this._vShader=yr(this._context,35633,t),this._fShader=yr(this._context,35632,r),this._vShader&&this._fShader||console.error("Error loading shaders!"),this._context.instanceCounter.increment(de._g.VertexShader,this),this._context.instanceCounter.increment(de._g.FragmentShader,this)}get glName(){if((0,o.pC)(this._glName))return this._glName;if((0,o.Wi)(this._vShader))return null;const e=this._context.gl,t=e.createProgram();return e.attachShader(t,this._vShader),e.attachShader(t,this._fShader),this._locations.forEach(((r,i)=>e.bindAttribLocation(t,r,i))),e.linkProgram(t),(0,ce.CG)()&&!e.getProgramParameter(t,e.LINK_STATUS)&&console.error("Could not initialize shader\nVALIDATE_STATUS: "+e.getProgramParameter(t,e.VALIDATE_STATUS)+", gl error ["+e.getError()+"]infoLog: "+e.getProgramInfoLog(t)),this._glName=t,this._context.instanceCounter.increment(de._g.Program,this),t}dispose(){const e=this._context.gl;this._vShader&&(e.deleteShader(this._vShader),this._vShader=null,this._context.instanceCounter.decrement(de._g.VertexShader,this)),this._fShader&&(e.deleteShader(this._fShader),this._fShader=null,this._context.instanceCounter.decrement(de._g.FragmentShader,this)),this._glName&&(e.deleteProgram(this._glName),this._glName=null,this._context.instanceCounter.decrement(de._g.Program,this))}_getUniformLocation(e){return void 0===this._nameToUniformLocation[e]&&(this._nameToUniformLocation[e]=this._context.gl.getUniformLocation(this.glName,e)),this._nameToUniformLocation[e]}hasUniform(e){return null!==this._getUniformLocation(e)}setUniform1i(e,t){const r=this._nameToUniform1[e];void 0!==r&&t===r||(this._context.useProgram(this),this._context.gl.uniform1i(this._getUniformLocation(e),t),this._nameToUniform1[e]=t)}setUniform1iv(e,t){const r=this._nameToUniform1v[e];Tr(r,t)&&(this._context.useProgram(this),this._context.gl.uniform1iv(this._getUniformLocation(e),t),void 0===r?this._nameToUniform1v[e]=Array.from(t):Mr(t,r))}setUniform2iv(e,t){const r=this._nameToUniform2[e];Tr(r,t)&&(this._context.useProgram(this),this._context.gl.uniform2iv(this._getUniformLocation(e),t),void 0===r?this._nameToUniform2[e]=Array.from(t):Mr(t,r))}setUniform3iv(e,t){const r=this._nameToUniform3[e];Tr(r,t)&&(this._context.useProgram(this),this._context.gl.uniform3iv(this._getUniformLocation(e),t),void 0===r?this._nameToUniform3[e]=Array.from(t):Mr(t,r))}setUniform4iv(e,t){const r=this._nameToUniform4[e];Tr(r,t)&&(this._context.useProgram(this),this._context.gl.uniform4iv(this._getUniformLocation(e),t),void 0===r?this._nameToUniform4[e]=Array.from(t):Mr(t,r))}setUniform1f(e,t){const r=this._nameToUniform1[e];void 0!==r&&t===r||(this._context.useProgram(this),this._context.gl.uniform1f(this._getUniformLocation(e),t),this._nameToUniform1[e]=t)}setUniform1fv(e,t){const r=this._nameToUniform1v[e];Tr(r,t)&&(this._context.useProgram(this),this._context.gl.uniform1fv(this._getUniformLocation(e),t),void 0===r?this._nameToUniform1v[e]=Array.from(t):Mr(t,r))}setUniform2f(e,t,r){const i=this._nameToUniform2[e];void 0!==i&&t===i[0]&&r===i[1]||(this._context.useProgram(this),this._context.gl.uniform2f(this._getUniformLocation(e),t,r),void 0===i?this._nameToUniform2[e]=[t,r]:(i[0]=t,i[1]=r))}setUniform2fv(e,t){const r=this._nameToUniform2[e];Tr(r,t)&&(this._context.useProgram(this),this._context.gl.uniform2fv(this._getUniformLocation(e),t),void 0===r?this._nameToUniform2[e]=Array.from(t):Mr(t,r))}setUniform3f(e,t,r,i){const o=this._nameToUniform3[e];void 0!==o&&t===o[0]&&r===o[1]&&i===o[2]||(this._context.useProgram(this),this._context.gl.uniform3f(this._getUniformLocation(e),t,r,i),void 0===o?this._nameToUniform3[e]=[t,r,i]:(o[0]=t,o[1]=r,o[2]=i))}setUniform3fv(e,t){const r=this._nameToUniform3[e];Tr(r,t)&&(this._context.useProgram(this),this._context.gl.uniform3fv(this._getUniformLocation(e),t),void 0===r?this._nameToUniform3[e]=Array.from(t):Mr(t,r))}setUniform4f(e,t,r,i,o){const n=this._nameToUniform4[e];void 0!==n&&t===n[0]&&r===n[1]&&i===n[2]&&o===n[3]||(this._context.useProgram(this),this._context.gl.uniform4f(this._getUniformLocation(e),t,r,i,o),void 0===n?this._nameToUniform4[e]=[t,r,i,o]:(n[0]=t,n[1]=r,n[2]=i,n[3]=o))}setUniform4fv(e,t){const r=this._nameToUniform4[e];Tr(r,t)&&(this._context.useProgram(this),this._context.gl.uniform4fv(this._getUniformLocation(e),t),void 0===r?this._nameToUniform4[e]=Array.from(t):Mr(t,r))}setUniformMatrix3fv(e,t,r=!1,i=!1){const n=this._nameToUniformMatrix3[e];(i?n!==t:function(e,t){return!!(0,o.Wi)(e)||(9!==e.length?Tr(e,t):9!==e.length||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])}(n,t))&&(this._context.useProgram(this),this._context.gl.uniformMatrix3fv(this._getUniformLocation(e),r,t),void 0===n?this._nameToUniformMatrix3[e]=Array.from(t):Mr(t,n))}setUniformMatrix4fv(e,t,r=!1){const i=this._nameToUniformMatrix4[e];(function(e,t){return!!(0,o.Wi)(e)||(16!==e.length?Tr(e,t):16!==e.length||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[9]!==t[9]||e[10]!==t[10]||e[11]!==t[11]||e[12]!==t[12]||e[13]!==t[13]||e[14]!==t[14]||e[15]!==t[15])})(i,t)&&(this._context.useProgram(this),this._context.gl.uniformMatrix4fv(this._getUniformLocation(e),r,t),void 0===i?this._nameToUniformMatrix4[e]=Array.from(t):Mr(t,i))}assertCompatibleVertexAttributeLocations(e){e.locations!==this._locations&&console.error("VertexAttributeLocations are incompatible")}stop(){}}{constructor(e,t,r){super(e,t.generateSource("vertex"),t.generateSource("fragment"),r),this._textures=new Map,this._freeTextureUnits=new C.Z({deallocator:null}),this._fragmentUniforms=(0,ce.hZ)()?t.fragmentUniforms.entries:null}stop(){this._textures.clear(),this._freeTextureUnits.clear()}bindTexture(e,t){if((0,o.Wi)(e)||null==e.glName){const e=this._textures.get(t);return e&&(this._context.bindTexture(null,e.unit),this._freeTextureUnit(e),this._textures.delete(t)),null}let r=this._textures.get(t);return null==r?(r=this._allocTextureUnit(e),this._textures.set(t,r)):r.texture=e,this._context.useProgram(this),this.setUniform1i(t,r.unit),this._context.bindTexture(e,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,o.pC)(this._fragmentUniforms)&&this._fragmentUniforms.forEach((e=>{if(("sampler2D"===e.type||"samplerCube"===e.type)&&!this._textures.has(e.name))throw new 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)}}const Sr={mask:255},Cr={function:{func:519,ref:2,mask:2},operation:{fail:7680,zFail:7680,zPass:0}},Ar={function:{func:519,ref:2,mask:2},operation:{fail:7680,zFail:7680,zPass:7681}};var Pr=r(32078);class Fr extends class{constructor(e,t,r=(()=>this.dispose())){this.release=r,t&&(this._config=t.snapshot()),this._program=this.initializeProgram(e),this._pipeline=this.initializePipeline(e)}dispose(){this._program=(0,o.O3)(this._program),this._pipeline=this._config=null}reload(e){(0,o.O3)(this._program),this._program=this.initializeProgram(e)}get program(){return this._program}get key(){return this._config.key}get configuration(){return this._config}bindPass(e,t){}bindMaterial(e,t){}bindDraw(e){}bindPipelineState(e,t=null,r){e.setPipelineState(this.getPipelineState(t,r))}ensureAttributeLocations(e){this.program.assertCompatibleVertexAttributeLocations(e)}get primitiveType(){return 4}getPipelineState(e,t){return this._pipeline}}{initializeProgram(e){const t=Fr.shader.get(),r=this.configuration,i=t.build({OITEnabled:0===r.transparencyPassType,output:r.output,viewingMode:e.viewingMode,receiveShadows:r.receiveShadows,slicePlaneEnabled:r.slicePlaneEnabled,sliceHighlightDisabled:r.sliceHighlightDisabled,sliceEnabledForVertexPrograms:!1,symbolColor:r.symbolColors,vvSize:r.vvSize,vvColor:r.vvColor,vvInstancingEnabled:!0,instanced:r.instanced,instancedColor:r.instancedColor,instancedDoublePrecision:r.instancedDoublePrecision,pbrMode:r.usePBR?r.isSchematic?2:1:0,hasMetalnessAndRoughnessTexture:r.hasMetalnessAndRoughnessTexture,hasEmissionTexture:r.hasEmissionTexture,hasOcclusionTexture:r.hasOcclusionTexture,hasNormalTexture:r.hasNormalTexture,hasColorTexture:r.hasColorTexture,receiveAmbientOcclusion:r.receiveAmbientOcclusion,useCustomDTRExponentForWater:!1,normalType:r.normalsTypeDerivate?3:0,doubleSidedMode:r.doubleSidedMode,vertexTangents:r.vertexTangents,attributeTextureCoordinates:r.hasMetalnessAndRoughnessTexture||r.hasEmissionTexture||r.hasOcclusionTexture||r.hasNormalTexture||r.hasColorTexture?1:0,textureAlphaPremultiplied:r.textureAlphaPremultiplied,attributeColor:r.vertexColors,screenSizePerspectiveEnabled:r.screenSizePerspective,verticalOffsetEnabled:r.verticalOffset,offsetBackfaces:r.offsetBackfaces,doublePrecisionRequiresObfuscation:(0,Kt.I)(e.rctx),alphaDiscardMode:r.alphaDiscardMode,supportsTextureAtlas:!1,multipassTerrainEnabled:r.multipassTerrainEnabled,cullAboveGround:r.cullAboveGround});return new wr(e.rctx,i,ae)}bindPass(e,t){var r,i;!function(e,t){e.setUniformMatrix4fv("proj",t)}(this.program,t.camera.projectionMatrix);const o=this.configuration.output;(1===this.configuration.output||t.multipassTerrainEnabled||3===o)&&this.program.setUniform2fv("cameraNearFar",t.camera.nearFar),t.multipassTerrainEnabled&&(this.program.setUniform2fv("inverseViewport",t.inverseViewport),(0,$t.p)(this.program,t)),7===o&&(this.program.setUniform1f("opacity",e.opacity),this.program.setUniform1f("layerOpacity",e.layerOpacity),this.program.setUniform4fv("externalColor",e.externalColor),this.program.setUniform1i("colorMixMode",we.FZ[e.colorMixMode])),0===o?(t.lighting.setUniforms(this.program,!1),this.program.setUniform3fv("ambient",e.ambient),this.program.setUniform3fv("diffuse",e.diffuse),this.program.setUniform4fv("externalColor",e.externalColor),this.program.setUniform1i("colorMixMode",we.FZ[e.colorMixMode]),this.program.setUniform1f("opacity",e.opacity),this.program.setUniform1f("layerOpacity",e.layerOpacity),this.configuration.usePBR&&(0,jt.nW)(this.program,e,this.configuration.isSchematic)):4===o&&(0,qt.wW)(this.program,t),(0,Zt.uj)(this.program,e),(0,Wt.Mo)(this.program,e,t),(0,we.bj)(e.screenSizePerspective,this.program,"screenSizePerspectiveAlignment"),2!==e.textureAlphaMode&&3!==e.textureAlphaMode||this.program.setUniform1f("textureAlphaCutoff",e.textureAlphaCutoff),null==(r=t.shadowMap)||r.bind(this.program),null==(i=t.ssaoHelper)||i.bind(this.program,t.camera)}bindDraw(e){const t=this.configuration.instancedDoublePrecision?(0,d.f)(e.camera.viewInverseTransposeMatrix[3],e.camera.viewInverseTransposeMatrix[7],e.camera.viewInverseTransposeMatrix[11]):e.origin;(function(e,t,r){(0,s.t)(Yt,r,t),e.setUniform3fv("localOrigin",t),e.setUniformMatrix4fv("view",Yt)})(this.program,t,e.camera.viewMatrix),this.program.rebindTextures(),(0===this.configuration.output||7===this.configuration.output||1===this.configuration.output&&this.configuration.screenSizePerspective||2===this.configuration.output&&this.configuration.screenSizePerspective||4===this.configuration.output&&this.configuration.screenSizePerspective)&&function(e,t,r){e.setUniform3f("camPos",r[3]-t[0],r[7]-t[1],r[11]-t[2])}(this.program,t,e.camera.viewInverseTransposeMatrix),2===this.configuration.output&&this.program.setUniformMatrix4fv("viewNormal",e.camera.viewInverseTransposeMatrix),this.configuration.instancedDoublePrecision&&Gt.f.bindCustomOrigin(this.program,t),(0,kt.Vv)(this.program,this.configuration,e.slicePlane,t),0===this.configuration.output&&(0,Xt.vL)(this.program,e,t)}setPipeline(e,t){const r=this.configuration,i=3===e,o=2===e;return function(e){return ot.intern(e)}({blending:0!==r.output&&7!==r.output||!r.transparent?null:i?nt:(n=e,2===n?null:1===n?st:at),culling:Er(r)&&Fe(r.cullFace),depthTest:{func:dt(e)},depthWrite:i||o?r.writeDepth&&Ee:null,colorWrite:De,stencilWrite:r.sceneHasOcludees?Sr:null,stencilTest:r.sceneHasOcludees?t?Ar:Cr:null,polygonOffset:i||o?null:ct(r.enableOffset)});var n}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 Er(e){return e.cullFace?0!==e.cullFace:!e.slicePlaneEnabled&&!e.transparent&&!e.doubleSidedMode}Fr.shader=new Qt(Pr.D,(()=>r.e(9291).then(r.bind(r,79291))));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}}{constructor(){super(...arguments),this.output=0,this.alphaDiscardMode=1,this.doubleSidedMode=0,this.isSchematic=!1,this.vertexColors=!1,this.offsetBackfaces=!1,this.symbolColors=!1,this.vvSize=!1,this.vvColor=!1,this.verticalOffset=!1,this.receiveShadows=!1,this.slicePlaneEnabled=!1,this.sliceHighlightDisabled=!1,this.receiveAmbientOcclusion=!1,this.screenSizePerspective=!1,this.textureAlphaPremultiplied=!1,this.hasColorTexture=!1,this.usePBR=!1,this.hasMetalnessAndRoughnessTexture=!1,this.hasEmissionTexture=!1,this.hasOcclusionTexture=!1,this.hasNormalTexture=!1,this.instanced=!1,this.instancedColor=!1,this.instancedDoublePrecision=!1,this.vertexTangents=!1,this.normalsTypeDerivate=!1,this.writeDepth=!0,this.sceneHasOcludees=!1,this.transparent=!1,this.enableOffset=!0,this.cullFace=0,this.transparencyPassType=3,this.multipassTerrainEnabled=!1,this.cullAboveGround=!1}}(0,Vt._)([Jt({count:8})],Dr.prototype,"output",void 0),(0,Vt._)([Jt({count:4})],Dr.prototype,"alphaDiscardMode",void 0),(0,Vt._)([Jt({count:3})],Dr.prototype,"doubleSidedMode",void 0),(0,Vt._)([Jt()],Dr.prototype,"isSchematic",void 0),(0,Vt._)([Jt()],Dr.prototype,"vertexColors",void 0),(0,Vt._)([Jt()],Dr.prototype,"offsetBackfaces",void 0),(0,Vt._)([Jt()],Dr.prototype,"symbolColors",void 0),(0,Vt._)([Jt()],Dr.prototype,"vvSize",void 0),(0,Vt._)([Jt()],Dr.prototype,"vvColor",void 0),(0,Vt._)([Jt()],Dr.prototype,"verticalOffset",void 0),(0,Vt._)([Jt()],Dr.prototype,"receiveShadows",void 0),(0,Vt._)([Jt()],Dr.prototype,"slicePlaneEnabled",void 0),(0,Vt._)([Jt()],Dr.prototype,"sliceHighlightDisabled",void 0),(0,Vt._)([Jt()],Dr.prototype,"receiveAmbientOcclusion",void 0),(0,Vt._)([Jt()],Dr.prototype,"screenSizePerspective",void 0),(0,Vt._)([Jt()],Dr.prototype,"textureAlphaPremultiplied",void 0),(0,Vt._)([Jt()],Dr.prototype,"hasColorTexture",void 0),(0,Vt._)([Jt()],Dr.prototype,"usePBR",void 0),(0,Vt._)([Jt()],Dr.prototype,"hasMetalnessAndRoughnessTexture",void 0),(0,Vt._)([Jt()],Dr.prototype,"hasEmissionTexture",void 0),(0,Vt._)([Jt()],Dr.prototype,"hasOcclusionTexture",void 0),(0,Vt._)([Jt()],Dr.prototype,"hasNormalTexture",void 0),(0,Vt._)([Jt()],Dr.prototype,"instanced",void 0),(0,Vt._)([Jt()],Dr.prototype,"instancedColor",void 0),(0,Vt._)([Jt()],Dr.prototype,"instancedDoublePrecision",void 0),(0,Vt._)([Jt()],Dr.prototype,"vertexTangents",void 0),(0,Vt._)([Jt()],Dr.prototype,"normalsTypeDerivate",void 0),(0,Vt._)([Jt()],Dr.prototype,"writeDepth",void 0),(0,Vt._)([Jt()],Dr.prototype,"sceneHasOcludees",void 0),(0,Vt._)([Jt()],Dr.prototype,"transparent",void 0),(0,Vt._)([Jt()],Dr.prototype,"enableOffset",void 0),(0,Vt._)([Jt({count:3})],Dr.prototype,"cullFace",void 0),(0,Vt._)([Jt({count:4})],Dr.prototype,"transparencyPassType",void 0),(0,Vt._)([Jt()],Dr.prototype,"multipassTerrainEnabled",void 0),(0,Vt._)([Jt()],Dr.prototype,"cullAboveGround",void 0);var Or=r(41846);class Lr extends Fr{initializeProgram(e){const t=Lr.shader.get(),r=this.configuration,i=t.build({OITEnabled:0===r.transparencyPassType,output:r.output,viewingMode:e.viewingMode,receiveShadows:r.receiveShadows,slicePlaneEnabled:r.slicePlaneEnabled,sliceHighlightDisabled:r.sliceHighlightDisabled,sliceEnabledForVertexPrograms:!1,symbolColor:r.symbolColors,vvSize:r.vvSize,vvColor:r.vvColor,vvInstancingEnabled:!0,instanced:r.instanced,instancedColor:r.instancedColor,instancedDoublePrecision:r.instancedDoublePrecision,pbrMode:r.usePBR?1:0,hasMetalnessAndRoughnessTexture:!1,hasEmissionTexture:!1,hasOcclusionTexture:!1,hasNormalTexture:!1,hasColorTexture:r.hasColorTexture,receiveAmbientOcclusion:r.receiveAmbientOcclusion,useCustomDTRExponentForWater:!1,normalType:0,doubleSidedMode:2,vertexTangents:!1,attributeTextureCoordinates:r.hasColorTexture?1:0,textureAlphaPremultiplied:r.textureAlphaPremultiplied,attributeColor:r.vertexColors,screenSizePerspectiveEnabled:r.screenSizePerspective,verticalOffsetEnabled:r.verticalOffset,offsetBackfaces:r.offsetBackfaces,doublePrecisionRequiresObfuscation:(0,Kt.I)(e.rctx),alphaDiscardMode:r.alphaDiscardMode,supportsTextureAtlas:!1,multipassTerrainEnabled:r.multipassTerrainEnabled,cullAboveGround:r.cullAboveGround});return new wr(e.rctx,i,ae)}}Lr.shader=new Qt(Or.R,(()=>r.e(8625).then(r.bind(r,28625))));class Rr extends Se{constructor(e){super(e,Hr),this.supportsEdges=!0,this.techniqueConfig=new Dr,this.vertexBufferLayout=Rr.getVertexBufferLayout(this.params),this.instanceBufferLayout=e.instanced?Rr.getInstanceBufferLayout(this.params):null}isVisibleInPass(e){return 4!==e&&6!==e&&7!==e||this.params.castShadows}isVisible(){const e=this.params;if(!super.isVisible()||0===e.layerOpacity)return!1;const t=e.instanced,r=e.vertexColors,i=e.symbolColors,o=!!t&&t.indexOf("color")>-1,n=e.vvColorEnabled,a="replace"===e.colorMixMode,s=e.opacity>0,l=e.externalColor&&e.externalColor[3]>0;return r&&(o||n||i)?!!a||s:r?a?l:s:o||n||i?!!a||s:a?l:s}getTechniqueConfig(e,t){return this.techniqueConfig.output=e,this.techniqueConfig.hasNormalTexture=!!this.params.normalTextureId,this.techniqueConfig.hasColorTexture=!!this.params.textureId,this.techniqueConfig.vertexTangents=this.params.vertexTangents,this.techniqueConfig.instanced=!!this.params.instanced,this.techniqueConfig.instancedDoublePrecision=this.params.instancedDoublePrecision,this.techniqueConfig.vvSize=this.params.vvSizeEnabled,this.techniqueConfig.verticalOffset=null!==this.params.verticalOffset,this.techniqueConfig.screenSizePerspective=null!==this.params.screenSizePerspective,this.techniqueConfig.slicePlaneEnabled=this.params.slicePlaneEnabled,this.techniqueConfig.sliceHighlightDisabled=this.params.sliceHighlightDisabled,this.techniqueConfig.alphaDiscardMode=this.params.textureAlphaMode,this.techniqueConfig.normalsTypeDerivate="screenDerivative"===this.params.normals,this.techniqueConfig.transparent=this.params.transparent,this.techniqueConfig.writeDepth=this.params.writeDepth,this.techniqueConfig.sceneHasOcludees=this.params.sceneHasOcludees,this.techniqueConfig.cullFace=this.params.slicePlaneEnabled?0:this.params.cullFace,this.techniqueConfig.multipassTerrainEnabled=t.multipassTerrainEnabled,this.techniqueConfig.cullAboveGround=t.cullAboveGround,0!==e&&7!==e||(this.techniqueConfig.vertexColors=this.params.vertexColors,this.techniqueConfig.symbolColors=this.params.symbolColors,this.params.treeRendering?this.techniqueConfig.doubleSidedMode=2:this.techniqueConfig.doubleSidedMode=this.params.doubleSided&&"normal"===this.params.doubleSidedType?1:this.params.doubleSided&&"winding-order"===this.params.doubleSidedType?2:0,this.techniqueConfig.instancedColor=!!this.params.instanced&&this.params.instanced.indexOf("color")>-1,this.techniqueConfig.receiveShadows=this.params.receiveShadows&&this.params.shadowMappingEnabled,this.techniqueConfig.receiveAmbientOcclusion=!!t.ssaoEnabled&&this.params.receiveSSAO,this.techniqueConfig.vvColor=this.params.vvColorEnabled,this.techniqueConfig.textureAlphaPremultiplied=!!this.params.textureAlphaPremultiplied,this.techniqueConfig.usePBR=this.params.usePBR,this.techniqueConfig.hasMetalnessAndRoughnessTexture=!!this.params.metallicRoughnessTextureId,this.techniqueConfig.hasEmissionTexture=!!this.params.emissiveTextureId,this.techniqueConfig.hasOcclusionTexture=!!this.params.occlusionTextureId,this.techniqueConfig.offsetBackfaces=!(!this.params.transparent||!this.params.offsetTransparentBackfaces),this.techniqueConfig.isSchematic=this.params.usePBR&&this.params.isSchematic,this.techniqueConfig.transparencyPassType=t.transparencyPassType,this.techniqueConfig.enableOffset=t.camera.relativeElevation<5e5),this.techniqueConfig}intersect(e,t,r,i,n,a,s){if(null!==this.params.verticalOffset){const e=i.camera;(0,c.s)(Gr,r[12],r[13],r[14]);let t=null;switch(i.viewingMode){case 1:t=(0,c.n)(Vr,Gr);break;case 2:t=(0,c.g)(Vr,Ur)}let o=0;if(null!==this.params.verticalOffset){const r=(0,c.f)(Wr,Gr,e.eye),i=(0,c.l)(r),n=(0,c.a)(r,r,1/i);let a=null;this.params.screenSizePerspective&&(a=(0,c.d)(t,n)),o+=(0,we.Hx)(e,i,this.params.verticalOffset,a,this.params.screenSizePerspective)}(0,c.a)(t,t,o),(0,c.t)(kr,t,i.transform.inverseRotation),n=(0,c.f)(Nr,n,kr),a=(0,c.f)(Br,a,kr)}var l;(0,we.Bw)(e,t,i,n,a,(l=i.verticalOffset,(0,o.pC)(l)?(Lt.offset=l,Lt):null),s)}requiresSlot(e){return e===(this.params.transparent?this.params.writeDepth?4:7:2)||21===e}createGLMaterial(e){return 0===e.output||7===e.output||1===e.output||2===e.output||3===e.output||4===e.output?new zr(e):null}createBufferWriter(){return new Ir(this.vertexBufferLayout,this.instanceBufferLayout)}static getVertexBufferLayout(e){const t=e.textureId||e.normalTextureId||e.metallicRoughnessTextureId||e.emissiveTextureId||e.occlusionTextureId,r=(0,ye.U$)().vec3f("position").vec3f("normal");return e.vertexTangents&&r.vec4f("tangent"),t&&r.vec2f("uv0"),e.vertexColors&&r.vec4u8("color"),e.symbolColors&&r.vec4u8("symbolColor"),r}static getInstanceBufferLayout(e){let t=(0,ye.U$)();return t=e.instancedDoublePrecision?t.vec3f("modelOriginHi").vec3f("modelOriginLo").mat3f("model").mat3f("modelNormal"):t.mat4f("model").mat4f("modelNormal"),e.instanced&&e.instanced.indexOf("color")>-1&&(t=t.vec4f("instanceColor")),e.instanced&&e.instanced.indexOf("featureAttribute")>-1&&(t=t.vec4f("instanceFeatureAttribute")),t}}class zr extends class extends class{constructor(e){this._material=e.material,this._techniqueRep=e.techniqueRep,this._output=e.output}dispose(){this._techniqueRep.release(this._technique)}get technique(){return this._technique}ensureTechnique(e,t,r=this._output){return this._technique=this._techniqueRep.releaseAndAcquire(e,this._material.getTechniqueConfig(r,t),this._technique),this._technique}ensureResources(e){return 2}}{constructor(e){super(e),this._textureIDs=new Set,this._textureRepository=e.textureRep,this._textureId=e.textureId,this._initTransparent=!!e.initTextureTransparent,this._texture=this._acquire(this._textureId),this._textureNormal=this._acquire(e.normalTextureId),this._textureEmissive=this._acquire(e.emissiveTextureId),this._textureOcclusion=this._acquire(e.occlusionTextureId),this._textureMetallicRoughness=this._acquire(e.metallicRoughnessTextureId)}dispose(){this._textureIDs.forEach((e=>this._textureRepository.release(e))),this._textureIDs.clear()}updateTexture(e){e!==this._textureId&&(this._release(this._textureId),this._textureId=e,this._texture=this._acquire(this._textureId))}bindTextures(e){(0,o.pC)(this._texture)&&e.bindTexture(this._texture.glTexture,"tex"),(0,o.pC)(this._textureNormal)&&e.bindTexture(this._textureNormal.glTexture,"normalTexture"),(0,o.pC)(this._textureEmissive)&&e.bindTexture(this._textureEmissive.glTexture,"texEmission"),(0,o.pC)(this._textureOcclusion)&&e.bindTexture(this._textureOcclusion.glTexture,"texOcclusion"),(0,o.pC)(this._textureMetallicRoughness)&&e.bindTexture(this._textureMetallicRoughness.glTexture,"texMetallicRoughness")}bindTextureScale(e){const t=(0,o.pC)(this._texture)&&this._texture.glTexture;t&&t.descriptor.textureCoordinateScaleFactor?e.setUniform2fv("textureCoordinateScaleFactor",t.descriptor.textureCoordinateScaleFactor):e.setUniform2f("textureCoordinateScaleFactor",1,1)}_acquire(e){if(!(0,o.Wi)(e))return this._textureIDs.add(e),this._textureRepository.acquire(e,this._initTransparent)}_release(e){(0,o.Wi)(e)||(this._textureIDs.delete(e),this._textureRepository.release(e))}}{constructor(e){super({...e,...e.material.params})}updateParameters(e){const t=this._material.params;return this.updateTexture(t.textureId),this.ensureTechnique(t.treeRendering?Lr:Fr,e)}_updateShadowState(e){e.shadowMappingEnabled!==this._material.params.shadowMappingEnabled&&this._material.setParameterValues({shadowMappingEnabled:e.shadowMappingEnabled})}_updateOccludeeState(e){e.hasOccludees!==this._material.params.sceneHasOcludees&&this._material.setParameterValues({sceneHasOcludees:e.hasOccludees})}beginSlot(e){return 0!==this._output&&7!==this._output||(this._updateShadowState(e),this._updateOccludeeState(e)),this.updateParameters(e)}bind(e,t){t.bindPass(this._material.params,e),this.bindTextures(t.program)}}const Hr={textureId:void 0,initTextureTransparent:!1,isSchematic:!1,usePBR:!1,normalTextureId:void 0,vertexTangents:!1,occlusionTextureId:void 0,emissiveTextureId:void 0,metallicRoughnessTextureId:void 0,emissiveFactor:[0,0,0],mrrFactors:[0,1,.5],ambient:[.2,.2,.2],diffuse:[.8,.8,.8],externalColor:[1,1,1,1],colorMixMode:"multiply",opacity:1,layerOpacity:1,vertexColors:!1,symbolColors:!1,doubleSided:!1,doubleSidedType:"normal",cullFace:2,instanced:void 0,instancedDoublePrecision:!1,normals:"default",receiveSSAO:!0,receiveShadows:!0,castShadows:!0,shadowMappingEnabled:!1,verticalOffset:null,screenSizePerspective:null,slicePlaneEnabled:!1,sliceHighlightDisabled:!1,offsetTransparentBackfaces:!1,vvSizeEnabled:!1,vvSizeMinSize:[1,1,1],vvSizeMaxSize:[100,100,100],vvSizeOffset:[0,0,0],vvSizeFactor:[1,1,1],vvSizeValue:[1,1,1],vvColorEnabled:!1,vvColorValues:[0,0,0,0,0,0,0,0],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],vvSymbolAnchor:[0,0,0],vvSymbolRotationMatrix:(0,a.c)(),transparent:!1,writeDepth:!0,textureAlphaMode:0,textureAlphaCutoff:Me.F,textureAlphaPremultiplied:!1,sceneHasOcludees:!1,renderOccluded:1};class Ir{constructor(e,t){this.vertexBufferLayout=e,this.instanceBufferLayout=t}allocate(e){return this.vertexBufferLayout.createBuffer(e)}elementCount(e){return e.indices.get("position").length}write(e,t,r,i){!function(e,t,r,i,o,n){for(const a of t.fieldNames){const t=e.vertexAttributes.get(a),s=e.indices.get(a);if(t&&s)switch(a){case"position":{(0,A.hu)(3===t.size);const e=o.getField(a,h.ct);e&&It(s,t.data,r,e,n);break}case"normal":{(0,A.hu)(3===t.size);const e=o.getField(a,h.ct);e&&Nt(s,t.data,i,e,n);break}case"uv0":{(0,A.hu)(2===t.size);const e=o.getField(a,h.Eu);e&&zt(s,t.data,e,n);break}case"color":{(0,A.hu)(3===t.size||4===t.size);const e=o.getField(a,h.mc);e&&Ut(s,t.data,t.size,e,n);break}case"symbolColor":{(0,A.hu)(3===t.size||4===t.size);const e=o.getField(a,h.mc);e&&Ut(s,t.data,t.size,e,n);break}case"tangent":{(0,A.hu)(4===t.size);const e=o.getField(a,h.ek);e&&Bt(s,t.data,i,e,n);break}}}}(t,this.vertexBufferLayout,e.transformation,e.invTranspTransformation,r,i)}}const Nr=(0,d.c)(),Br=(0,d.c)(),Ur=(0,d.f)(0,0,1),Vr=(0,d.c)(),kr=(0,d.c)(),Gr=(0,d.c)(),Wr=(0,d.c)(),qr=y.Z.getLogger("esri.views.3d.layers.graphics.objectResourceUtils");function $r(e){throw new T.Z("",`Request for object resource failed: ${e}`)}function jr(e){const t=e.params,r=t.topology;let i=!0;switch(t.vertexAttributes||(qr.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&&(qr.warn(`Unsupported indexed geometry indices type '${t.valueType}', only UInt32 is currently supported`),i=!1),null!=t.valuesPerElement&&1!==t.valuesPerElement&&(qr.warn(`Unsupported indexed geometry values per element '${t.valuesPerElement}', only 1 is currently supported`),i=!1)):(qr.warn(`Indexed geometry does not specify face indices for '${r}' attribute`),i=!1)}}else qr.warn("Indexed geometries must specify faces"),i=!1;break}default:qr.warn(`Unsupported topology '${r}'`),i=!1}e.params.material||(qr.warn("Geometry requires material"),i=!1);const o=e.params.vertexAttributes;for(const e in o)o[e].values||(qr.warn("Geometries with externally defined attributes are not yet supported"),i=!1);return i}function Xr(e){const t=(0,u.cS)();return e.forEach((e=>{const r=e.boundingInfo;(0,o.pC)(r)&&((0,u.pp)(t,r.getBBMin()),(0,u.pp)(t,r.getBBMax()))})),t}async function Zr(e,t){const r=[];for(const i in e){const n=e[i],a=n.images[0].data;if(!a){qr.warn("Externally referenced texture data is not yet supported");continue}const s=n.encoding+";base64,"+a,l="/textureDefinitions/"+i,c="rgba"===n.channels?n.alphaChannelUsage||"transparency":"none",d={noUnpackFlip:!0,wrap:{s:10497,t:10497},preMultiplyAlpha:1!==Kr(c)},u=(0,o.pC)(t)&&t.disableTextures?Promise.resolve(null):S(s,t);r.push(u.then((e=>({refId:l,image:e,params:d,alphaChannelUsage:c}))))}const i=await Promise.all(r),n={};for(const e of i)n[e.refId]=e;return n}function Kr(e){switch(e){case"mask":return 2;case"maskAndTransparency":return 3;case"none":return 1;default:return 0}}function Yr(e){const t=e.params;return{id:1,material:t.material,texture:t.texture,region:t.texture}}const Qr=new w.G(1,2,"wosr");var Jr=r(57758),ei=r(10816),ti=r(75488),ri=r(56067);async function ii(e,t){const r=oi((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,o.pC)(t)&&t.streamDataRequester;if(r)return async function(e,t,r){const i=await(0,b.q6)(t.request(e,"json",r));if(!0===i.ok)return i.value;(0,M.r9)(i.error),$r(i.error.details.url)}(e,r,t);const i=await(0,b.q6)((0,_.default)(e,(0,o.Wg)(t)));if(!0===i.ok)return i.value.data;(0,M.r9)(i.error),$r(i.error)}(e,t);return{resource:r,textures:await Zr(r.textureDefinitions,t)}}(r.url,t)),i=function(e,t){const r=[],i=[],n=[],a=[],s=e.resource,l=w.G.parse(s.version||"1.0","wosr");Qr.validate(l);const c=s.model.name,u=s.model.geometries,h=s.materialDefinitions,f=e.textures;let m=0;const p=new Map;for(let e=0;e<u.length;e++){const s=u[e];if(!jr(s))continue;const l=Yr(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 v=[];if("PerAttributeArray"!==s.params.topology){const e=s.params.faces;for(const t in e)v.push([t,new Uint32Array(e[t].values)])}const x=f&&f[l.texture];if(x&&!p.has(l.texture)){const{image:e,params:t}=x,r=new Te(e,t);a.push(r),p.set(l.texture,r)}const _=p.get(l.texture),b=_?_.id:void 0;let T=n[l.material]?n[l.material][l.texture]:null;if(!T){const e=h[l.material.substring(l.material.lastIndexOf("/")+1)].params;1===e.transparency&&(e.transparency=0);const r=x&&x.alphaChannelUsage,i=e.transparency>0||"transparency"===r||"maskAndTransparency"===r,a=x?Kr(x.alphaChannelUsage):void 0,s={ambient:(0,d.d)(e.diffuse),diffuse:(0,d.d)(e.diffuse),opacity:1-(e.transparency||0),transparent:i,textureAlphaMode:a,textureAlphaCutoff:.33,textureId:b,initTextureTransparent:!0,doubleSided:!0,cullFace:0,colorMixMode:e.externalColorMixMode||"tint",textureAlphaPremultiplied:!!x&&!!x.params.preMultiplyAlpha};(0,o.pC)(t)&&t.materialParamsMixin&&Object.assign(s,t.materialParamsMixin),T=new Rr(s),n[l.material]||(n[l.material]={}),n[l.material][l.texture]=T}i.push(T);const y=new L(g,v);m+=v.position?v.position.length:0,r.push(y)}return{name:c,stageResources:{textures:a,materials:i,geometries:r},pivotOffset:s.model.pivotOffset,boundingBox:Xr(r),numberOfVertices:m,lodThreshold:null}}(e,t);return{lods:[i],referenceBoundingBox:i.boundingBox,isEsriSymbolResource:!1,isWosr:!0,remove:e.remove}}const n=await(t.cache?t.cache.loadGLTF(r.url,t,t.usePBR):(0,v.z)(new g.C(t.streamDataRequester),r.url,t,t.usePBR)),a=(0,o.U2)(n.model.meta,"ESRI_proxyEllipsoid");n.meta.isEsriSymbolResource&&(0,o.pC)(a)&&-1!==n.meta.uri.indexOf("/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 n of i.parts){const i=n.attributes.normal;if((0,o.Wi)(i))return;const a=n.attributes.position,u=a.count,f=(0,d.c)(),m=(0,d.c)(),g=(0,d.c)(),v=(0,p.gS)(h.mc,u),x=(0,p.gS)(h.ct,u),_=(0,s.b)((0,l.c)(),n.transform);for(let o=0;o<u;o++){a.getVec(o,m),i.getVec(o,f),(0,c.m)(m,m,n.transform),(0,c.f)(g,m,t.center),(0,c.E)(g,g,t.radius);const s=g[2],l=(0,c.l)(g),d=Math.min(.45+.55*l*l,1);(0,c.E)(g,g,t.radius),(0,c.m)(g,g,_),(0,c.n)(g,g),r+1!==e.model.lods.length&&e.model.lods.length>1&&(0,c.e)(g,g,f,s>-1?.2:Math.min(-4*s-3.8,1)),x.setVec(o,g),v.set(o,0,255*d),v.set(o,1,255*d),v.set(o,2,255*d),v.set(o,3,255)}n.attributes.normal=x,n.attributes.color=v}}}(n,a);const u=n.meta.isEsriSymbolResource?{usePBR:t.usePBR,isSchematic:!1,treeRendering:n.customMeta.esriTreeRendering,mrrFactors:[0,1,.2]}:{usePBR:t.usePBR,isSchematic:!1,mrrFactors:[0,1,.5]},f={...t.materialParamsMixin,treeRendering:n.customMeta.esriTreeRendering};if(null!=r.specifiedLodIndex){const e=ni(n,u,f,r.specifiedLodIndex);let t=e[0].boundingBox;return 0!==r.specifiedLodIndex&&(t=ni(n,u,f,0)[0].boundingBox),{lods:e,referenceBoundingBox:t,isEsriSymbolResource:n.meta.isEsriSymbolResource,isWosr:!1,remove:n.remove}}const m=ni(n,u,f);return{lods:m,referenceBoundingBox:m[0].boundingBox,isEsriSymbolResource:n.meta.isEsriSymbolResource,isWosr:!1,remove:n.remove}}function oi(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 ni(e,t,r,i){const s=e.model,l=(0,a.c)(),c=new Array,d=new Map,g=new Map;return s.lods.forEach(((e,a)=>{if(void 0!==i&&a!==i)return;const v={name:e.name,stageResources:{textures:new Array,materials:new Array,geometries:new Array},lodThreshold:(0,o.pC)(e.lodThreshold)?e.lodThreshold:null,pivotOffset:[0,0,0],numberOfVertices:0,boundingBox:(0,u.cS)()};c.push(v),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,o.pC)(e.attributes.texCoord0),_=(0,o.pC)(e.attributes.normal),b=function(e){switch(e){case"BLEND":return 0;case"MASK":return 2;case"OPAQUE":case null:case void 0:return 1}}(a.alphaMode);if(!d.has(i)){if(c){if((0,o.pC)(a.textureColor)&&!g.has(a.textureColor)){const e=s.textures.get(a.textureColor),t={...e.parameters,preMultiplyAlpha:1!==b};g.set(a.textureColor,new Te(e.data,t))}if((0,o.pC)(a.textureNormal)&&!g.has(a.textureNormal)){const e=s.textures.get(a.textureNormal);g.set(a.textureNormal,new Te(e.data,e.parameters))}if((0,o.pC)(a.textureOcclusion)&&!g.has(a.textureOcclusion)){const e=s.textures.get(a.textureOcclusion);g.set(a.textureOcclusion,new Te(e.data,e.parameters))}if((0,o.pC)(a.textureEmissive)&&!g.has(a.textureEmissive)){const e=s.textures.get(a.textureEmissive);g.set(a.textureEmissive,new Te(e.data,e.parameters))}if((0,o.pC)(a.textureMetallicRoughness)&&!g.has(a.textureMetallicRoughness)){const e=s.textures.get(a.textureMetallicRoughness);g.set(a.textureMetallicRoughness,new Te(e.data,e.parameters))}}const n=a.color[0]**(1/Jr.K),l=a.color[1]**(1/Jr.K),u=a.color[2]**(1/Jr.K),h=a.emissiveFactor[0]**(1/Jr.K),f=a.emissiveFactor[1]**(1/Jr.K),m=a.emissiveFactor[2]**(1/Jr.K),p=(0,o.pC)(a.textureColor)&&c?g.get(a.textureColor):null;d.set(i,new Rr({...t,transparent:0===b,textureAlphaMode:b,textureAlphaCutoff:a.alphaCutoff,diffuse:[n,l,u],ambient:[n,l,u],opacity:a.opacity,doubleSided:a.doubleSided,doubleSidedType:"winding-order",cullFace:a.doubleSided?0:2,vertexColors:!!e.attributes.color,vertexTangents:!!e.attributes.tangent,normals:_?"default":"screenDerivative",castShadows:!0,receiveSSAO:!0,textureId:(0,o.pC)(p)?p.id:void 0,colorMixMode:a.colorMixMode,normalTextureId:(0,o.pC)(a.textureNormal)&&c?g.get(a.textureNormal).id:void 0,textureAlphaPremultiplied:(0,o.pC)(p)&&!!p.params.preMultiplyAlpha,occlusionTextureId:(0,o.pC)(a.textureOcclusion)&&c?g.get(a.textureOcclusion).id:void 0,emissiveTextureId:(0,o.pC)(a.textureEmissive)&&c?g.get(a.textureEmissive).id:void 0,metallicRoughnessTextureId:(0,o.pC)(a.textureMetallicRoughness)&&c?g.get(a.textureMetallicRoughness).id:void 0,emissiveFactor:[h,f,m],mrrFactors:[a.metallicFactor,a.roughnessFactor,t.mrrFactors[2]],isSchematic:!1,...r}))}const T=function(e,t){switch(t){case 4:return(0,x.nh)(e);case 5:return(0,x.DA)(e);case 6:return(0,x.jX)(e)}}(e.indices||e.attributes.position.count,e.primitiveType),y=e.attributes.position.count,M=(0,p.gS)(h.ct,y);(0,f.t)(M,e.attributes.position,e.transform);const w=[["position",{data:M.typedBuffer,size:M.elementCount,exclusive:!0}]],S=[["position",T]];if((0,o.pC)(e.attributes.normal)){const t=(0,p.gS)(h.ct,y);(0,n.a)(l,e.transform),(0,f.a)(t,e.attributes.normal,l),w.push(["normal",{data:t.typedBuffer,size:t.elementCount,exclusive:!0}]),S.push(["normal",T])}if((0,o.pC)(e.attributes.tangent)){const t=(0,p.gS)(h.ek,y);(0,n.a)(l,e.transform),(0,m.t)(t,e.attributes.tangent,l),w.push(["tangent",{data:t.typedBuffer,size:t.elementCount,exclusive:!0}]),S.push(["tangent",T])}if((0,o.pC)(e.attributes.texCoord0)){const t=(0,p.gS)(h.Eu,y);(0,ei.n)(t,e.attributes.texCoord0),w.push(["uv0",{data:t.typedBuffer,size:t.elementCount,exclusive:!0}]),S.push(["uv0",T])}if((0,o.pC)(e.attributes.color)){const t=(0,p.gS)(h.mc,y);if(4===e.attributes.color.elementCount)e.attributes.color instanceof h.ek?(0,m.s)(t,e.attributes.color,255):e.attributes.color instanceof h.mc?(0,ti.c)(t,e.attributes.color):e.attributes.color instanceof h.v6&&(0,m.s)(t,e.attributes.color,1/256);else{(0,ti.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,ri.c)(r,e.attributes.color):e.attributes.color instanceof h.mw&&(0,f.s)(r,e.attributes.color,1/256)}w.push(["color",{data:t.typedBuffer,size:t.elementCount,exclusive:!0}]),S.push(["color",T])}const C=new L(w,S);v.stageResources.geometries.push(C),v.stageResources.materials.push(d.get(i)),c&&((0,o.pC)(a.textureColor)&&v.stageResources.textures.push(g.get(a.textureColor)),(0,o.pC)(a.textureNormal)&&v.stageResources.textures.push(g.get(a.textureNormal)),(0,o.pC)(a.textureOcclusion)&&v.stageResources.textures.push(g.get(a.textureOcclusion)),(0,o.pC)(a.textureEmissive)&&v.stageResources.textures.push(g.get(a.textureEmissive)),(0,o.pC)(a.textureMetallicRoughness)&&v.stageResources.textures.push(g.get(a.textureMetallicRoughness))),v.numberOfVertices+=y;const A=C.boundingInfo;(0,o.pC)(A)&&((0,u.pp)(v.boundingBox,A.getBBMin()),(0,u.pp)(v.boundingBox,A.getBBMax()))}))})),c}},65576:(e,t,r)=>{r.d(t,{U$:()=>s});var i=r(56481),o=r(79583);class n{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 n(this.layout,this.buffer.slice(e*this.stride,t*this.stride))}copyFrom(e,t,r,i){const o=this.stride;if(o%4==0){const n=new Uint32Array(e.buffer,t*o,i*o/4);new Uint32Array(this.buffer,r*o,i*o/4).set(n)}else{const n=new Uint8Array(e.buffer,t*o,i*o);new Uint8Array(this.buffer,r*o,i*o).set(n)}}}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,o.n1)(t.ElementType),n=this.stride;this.fields.set(e,{size:i,constructor:t,offset:n,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.indexOf(e)>=0}createBuffer(e){return new n(this,e)}createView(e){return new n(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:()=>o});var i=r(74709);function o(e,t){0===t.output&&t.receiveShadows?(e.varyings.add("linearDepth","float"),e.vertex.code.add(i.H`void forwardLinearDepth() { linearDepth = gl_Position.w; }`)):1===t.output||3===t.output?(e.varyings.add("linearDepth","float"),e.vertex.uniforms.add("cameraNearFar","vec2"),e.vertex.code.add(i.H`void forwardLinearDepth() {
|
|
160
|
-
linearDepth = (-position_view().z - cameraNearFar[0]) / (cameraNearFar[1] - cameraNearFar[0]);
|
|
161
|
-
}`)):e.vertex.code.add(i.H`void forwardLinearDepth() {}`)}},62707:(e,t,r)=>{r.d(t,{w:()=>o});var i=r(74709);function o(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
|
-
}`)}},51546:(e,t,r)=>{r.d(t,{p2:()=>s,Vv:()=>l});var i=r(70586),o=r(17896),n=r(65617),a=r(74709);function s(e,t){if(t.slicePlaneEnabled){e.extensions.add("GL_OES_standard_derivatives"),t.sliceEnabledForVertexPrograms&&(e.vertex.uniforms.add("slicePlaneOrigin","vec3"),e.vertex.uniforms.add("slicePlaneBasis1","vec3"),e.vertex.uniforms.add("slicePlaneBasis2","vec3")),e.fragment.uniforms.add("slicePlaneOrigin","vec3"),e.fragment.uniforms.add("slicePlaneBasis1","vec3"),e.fragment.uniforms.add("slicePlaneBasis2","vec3");const r=a.H`struct SliceFactors {
|
|
169
|
-
float front;
|
|
170
|
-
float side0;
|
|
171
|
-
float side1;
|
|
172
|
-
float side2;
|
|
173
|
-
float side3;
|
|
174
|
-
};
|
|
175
|
-
SliceFactors calculateSliceFactors(vec3 pos) {
|
|
176
|
-
vec3 rel = pos - slicePlaneOrigin;
|
|
177
|
-
vec3 slicePlaneNormal = -cross(slicePlaneBasis1, slicePlaneBasis2);
|
|
178
|
-
float slicePlaneW = -dot(slicePlaneNormal, slicePlaneOrigin);
|
|
179
|
-
float basis1Len2 = dot(slicePlaneBasis1, slicePlaneBasis1);
|
|
180
|
-
float basis2Len2 = dot(slicePlaneBasis2, slicePlaneBasis2);
|
|
181
|
-
float basis1Dot = dot(slicePlaneBasis1, rel);
|
|
182
|
-
float basis2Dot = dot(slicePlaneBasis2, rel);
|
|
183
|
-
return SliceFactors(
|
|
184
|
-
dot(slicePlaneNormal, pos) + slicePlaneW,
|
|
185
|
-
-basis1Dot - basis1Len2,
|
|
186
|
-
basis1Dot - basis1Len2,
|
|
187
|
-
-basis2Dot - basis2Len2,
|
|
188
|
-
basis2Dot - basis2Len2
|
|
189
|
-
);
|
|
190
|
-
}
|
|
191
|
-
bool sliceByFactors(SliceFactors factors) {
|
|
192
|
-
return factors.front < 0.0
|
|
193
|
-
&& factors.side0 < 0.0
|
|
194
|
-
&& factors.side1 < 0.0
|
|
195
|
-
&& factors.side2 < 0.0
|
|
196
|
-
&& factors.side3 < 0.0;
|
|
197
|
-
}
|
|
198
|
-
bool sliceEnabled() {
|
|
199
|
-
return dot(slicePlaneBasis1, slicePlaneBasis1) != 0.0;
|
|
200
|
-
}
|
|
201
|
-
bool sliceByPlane(vec3 pos) {
|
|
202
|
-
return sliceEnabled() && sliceByFactors(calculateSliceFactors(pos));
|
|
203
|
-
}
|
|
204
|
-
#define rejectBySlice(_pos_) sliceByPlane(_pos_)
|
|
205
|
-
#define discardBySlice(_pos_) { if (sliceByPlane(_pos_)) discard; }`,i=a.H`vec4 applySliceHighlight(vec4 color, vec3 pos) {
|
|
206
|
-
SliceFactors factors = calculateSliceFactors(pos);
|
|
207
|
-
if (sliceByFactors(factors)) {
|
|
208
|
-
return color;
|
|
209
|
-
}
|
|
210
|
-
const float HIGHLIGHT_WIDTH = 1.0;
|
|
211
|
-
const vec4 HIGHLIGHT_COLOR = vec4(0.0, 0.0, 0.0, 0.3);
|
|
212
|
-
factors.front /= (2.0 * HIGHLIGHT_WIDTH) * fwidth(factors.front);
|
|
213
|
-
factors.side0 /= (2.0 * HIGHLIGHT_WIDTH) * fwidth(factors.side0);
|
|
214
|
-
factors.side1 /= (2.0 * HIGHLIGHT_WIDTH) * fwidth(factors.side1);
|
|
215
|
-
factors.side2 /= (2.0 * HIGHLIGHT_WIDTH) * fwidth(factors.side2);
|
|
216
|
-
factors.side3 /= (2.0 * HIGHLIGHT_WIDTH) * fwidth(factors.side3);
|
|
217
|
-
float highlightFactor = (1.0 - step(0.5, factors.front))
|
|
218
|
-
* (1.0 - step(0.5, factors.side0))
|
|
219
|
-
* (1.0 - step(0.5, factors.side1))
|
|
220
|
-
* (1.0 - step(0.5, factors.side2))
|
|
221
|
-
* (1.0 - step(0.5, factors.side3));
|
|
222
|
-
return mix(color, vec4(HIGHLIGHT_COLOR.rgb, color.a), highlightFactor * HIGHLIGHT_COLOR.a);
|
|
223
|
-
}`,o=t.sliceHighlightDisabled?a.H`#define highlightSlice(_color_, _pos_) (_color_)`:a.H`
|
|
224
|
-
${i}
|
|
225
|
-
#define highlightSlice(_color_, _pos_) (sliceEnabled() ? applySliceHighlight(_color_, _pos_) : (_color_))
|
|
226
|
-
`;t.sliceEnabledForVertexPrograms&&e.vertex.code.add(r),e.fragment.code.add(r),e.fragment.code.add(o)}else{const r=a.H`#define rejectBySlice(_pos_) false
|
|
227
|
-
#define discardBySlice(_pos_) {}
|
|
228
|
-
#define highlightSlice(_color_, _pos_) (_color_)`;t.sliceEnabledForVertexPrograms&&e.vertex.code.add(r),e.fragment.code.add(r)}}function l(e,t,r,a){t.slicePlaneEnabled&&((0,i.pC)(r)?(a?((0,o.f)(c,r.origin,a),e.setUniform3fv("slicePlaneOrigin",c)):e.setUniform3fv("slicePlaneOrigin",r.origin),e.setUniform3fv("slicePlaneBasis1",r.basis1),e.setUniform3fv("slicePlaneBasis2",r.basis2)):(e.setUniform3fv("slicePlaneBasis1",n.Z),e.setUniform3fv("slicePlaneBasis2",n.Z),e.setUniform3fv("slicePlaneOrigin",n.Z)))}const c=(0,n.c)()},77171:(e,t,r)=>{r.d(t,{w:()=>o});var i=r(74709);function o(e,t){t.linearDepth?e.vertex.code.add(i.H`vec4 transformPositionWithDepth(mat4 proj, mat4 view, vec3 pos, vec2 nearFar, out float depth) {
|
|
229
|
-
vec4 eye = view * vec4(pos, 1.0);
|
|
230
|
-
depth = (-eye.z - nearFar[0]) / (nearFar[1] - nearFar[0]) ;
|
|
231
|
-
return proj * eye;
|
|
232
|
-
}`):e.vertex.code.add(i.H`vec4 transformPosition(mat4 proj, mat4 view, vec3 pos) {
|
|
233
|
-
return proj * (view * vec4(pos, 1.0));
|
|
234
|
-
}`)}},47624:(e,t,r)=>{r.d(t,{f:()=>l});var i,o=r(65617),n=r(89243),a=r(74709),s=r(9820);function l(e,t){t.instanced&&t.instancedDoublePrecision&&(e.attributes.add("modelOriginHi","vec3"),e.attributes.add("modelOriginLo","vec3"),e.attributes.add("model","mat3"),e.attributes.add("modelNormal","mat3")),t.instancedDoublePrecision&&(e.vertex.include(n.$,t),e.vertex.uniforms.add("viewOriginHi","vec3"),e.vertex.uniforms.add("viewOriginLo","vec3"));const r=[a.H`
|
|
235
|
-
vec3 calculateVPos() {
|
|
236
|
-
${t.instancedDoublePrecision?"return model * localPosition().xyz;":"return localPosition().xyz;"}
|
|
237
|
-
}
|
|
238
|
-
`,a.H`
|
|
239
|
-
vec3 subtractOrigin(vec3 _pos) {
|
|
240
|
-
${t.instancedDoublePrecision?a.H`
|
|
241
|
-
vec3 originDelta = dpAdd(viewOriginHi, viewOriginLo, -modelOriginHi, -modelOriginLo);
|
|
242
|
-
return _pos - originDelta;`:"return vpos;"}
|
|
243
|
-
}
|
|
244
|
-
`,a.H`
|
|
245
|
-
vec3 dpNormal(vec4 _normal) {
|
|
246
|
-
${t.instancedDoublePrecision?"return normalize(modelNormal * _normal.xyz);":"return normalize(_normal.xyz);"}
|
|
247
|
-
}
|
|
248
|
-
`,a.H`
|
|
249
|
-
vec3 dpNormalView(vec4 _normal) {
|
|
250
|
-
${t.instancedDoublePrecision?"return normalize((viewNormal * vec4(modelNormal * _normal.xyz, 1.0)).xyz);":"return normalize((viewNormal * _normal).xyz);"}
|
|
251
|
-
}
|
|
252
|
-
`,t.vertexTangents?a.H`
|
|
253
|
-
vec4 dpTransformVertexTangent(vec4 _tangent) {
|
|
254
|
-
${t.instancedDoublePrecision?"return vec4(modelNormal * _tangent.xyz, _tangent.w);":"return _tangent;"}
|
|
255
|
-
|
|
256
|
-
}
|
|
257
|
-
`:a.H``];e.vertex.code.add(r[0]),e.vertex.code.add(r[1]),e.vertex.code.add(r[2]),2===t.output&&e.vertex.code.add(r[3]),e.vertex.code.add(r[4])}(i=l||(l={})).Uniforms=class{},i.bindCustomOrigin=function(e,t){(0,s.po)(t,c,d,3),e.setUniform3fv("viewOriginHi",c),e.setUniform3fv("viewOriginLo",d)};const c=(0,o.c)(),d=(0,o.c)()},64267:(e,t,r)=>{r.d(t,{O:()=>n});var i=r(74709);function o(e){const t=i.H`vec3 decodeNormal(vec2 f) {
|
|
258
|
-
float z = 1.0 - abs(f.x) - abs(f.y);
|
|
259
|
-
return vec3(f + sign(f) * min(z, 0.0), z);
|
|
260
|
-
}`;e.fragment.code.add(t),e.vertex.code.add(t)}function n(e,t){0===t.normalType&&(e.attributes.add("normal","vec3"),e.vertex.code.add(i.H`vec3 normalModel() {
|
|
261
|
-
return normal;
|
|
262
|
-
}`)),1===t.normalType&&(e.include(o),e.attributes.add("normalCompressed","vec2"),e.vertex.code.add(i.H`vec3 normalModel() {
|
|
263
|
-
return decodeNormal(normalCompressed);
|
|
264
|
-
}`)),3===t.normalType&&(e.extensions.add("GL_OES_standard_derivatives"),e.fragment.code.add(i.H`vec3 screenDerivativeNormal(vec3 positionView) {
|
|
265
|
-
return normalize(cross(dFdx(positionView), dFdy(positionView)));
|
|
266
|
-
}`))}},37099:(e,t,r)=>{r.d(t,{f:()=>o});var i=r(74709);function o(e){e.attributes.add("position","vec3"),e.vertex.code.add(i.H`vec3 positionModel() { return position; }`)}},76056:(e,t,r)=>{r.d(t,{R:()=>n});var i=r(74709);function o(e){e.vertex.code.add(i.H`
|
|
267
|
-
vec4 decodeSymbolColor(vec4 symbolColor, out int colorMixMode) {
|
|
268
|
-
float symbolAlpha = 0.0;
|
|
269
|
-
|
|
270
|
-
const float maxTint = 85.0;
|
|
271
|
-
const float maxReplace = 170.0;
|
|
272
|
-
const float scaleAlpha = 3.0;
|
|
273
|
-
|
|
274
|
-
if (symbolColor.a > maxReplace) {
|
|
275
|
-
colorMixMode = ${i.H.int(1)};
|
|
276
|
-
symbolAlpha = scaleAlpha * (symbolColor.a - maxReplace);
|
|
277
|
-
} else if (symbolColor.a > maxTint) {
|
|
278
|
-
colorMixMode = ${i.H.int(3)};
|
|
279
|
-
symbolAlpha = scaleAlpha * (symbolColor.a - maxTint);
|
|
280
|
-
} else if (symbolColor.a > 0.0) {
|
|
281
|
-
colorMixMode = ${i.H.int(4)};
|
|
282
|
-
symbolAlpha = scaleAlpha * symbolColor.a;
|
|
283
|
-
} else {
|
|
284
|
-
colorMixMode = ${i.H.int(1)};
|
|
285
|
-
symbolAlpha = 0.0;
|
|
286
|
-
}
|
|
287
|
-
|
|
288
|
-
return vec4(symbolColor.r, symbolColor.g, symbolColor.b, symbolAlpha);
|
|
289
|
-
}
|
|
290
|
-
`)}function n(e,t){t.symbolColor?(e.include(o),e.attributes.add("symbolColor","vec4"),e.varyings.add("colorMixMode","mediump float")):e.fragment.uniforms.add("colorMixMode","int"),t.symbolColor?e.vertex.code.add(i.H`int symbolColorMixMode;
|
|
291
|
-
vec4 getSymbolColor() {
|
|
292
|
-
return decodeSymbolColor(symbolColor, symbolColorMixMode) * 0.003921568627451;
|
|
293
|
-
}
|
|
294
|
-
void forwardColorMixMode() {
|
|
295
|
-
colorMixMode = float(symbolColorMixMode) + 0.5;
|
|
296
|
-
}`):e.vertex.code.add(i.H`vec4 getSymbolColor() { return vec4(1.0); }
|
|
297
|
-
void forwardColorMixMode() {}`)}},135:(e,t,r)=>{r.d(t,{D:()=>o});var i=r(74709);function o(e,t){1===t.attributeTextureCoordinates&&(e.attributes.add("uv0","vec2"),e.varyings.add("vuv0","vec2"),e.vertex.code.add(i.H`void forwardTextureCoordinates() {
|
|
298
|
-
vuv0 = uv0;
|
|
299
|
-
}`)),2===t.attributeTextureCoordinates&&(e.attributes.add("uv0","vec2"),e.varyings.add("vuv0","vec2"),e.attributes.add("uvRegion","vec4"),e.varyings.add("vuvRegion","vec4"),e.vertex.code.add(i.H`void forwardTextureCoordinates() {
|
|
300
|
-
vuv0 = uv0;
|
|
301
|
-
vuvRegion = uvRegion;
|
|
302
|
-
}`)),0===t.attributeTextureCoordinates&&e.vertex.code.add(i.H`void forwardTextureCoordinates() {}`)}},11317:(e,t,r)=>{r.d(t,{c:()=>o});var i=r(74709);function o(e,t){t.attributeColor?(e.attributes.add("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() {}
|
|
303
|
-
void forwardNormalizedVertexColor() {}`)}},99917:(e,t,r)=>{r.d(t,{B:()=>h});var i,o=r(64267),n=r(46521),a=r(13598),s=r(65617),l=r(37099),c=r(89243),d=r(74709);function u(e,t){e.include(l.f),e.vertex.include(c.$,t),e.varyings.add("vPositionWorldCameraRelative","vec3"),e.varyings.add("vPosition_view","vec3"),e.vertex.uniforms.add("uTransform_WorldFromModel_RS","mat3"),e.vertex.uniforms.add("uTransform_WorldFromModel_TH","vec3"),e.vertex.uniforms.add("uTransform_WorldFromModel_TL","vec3"),e.vertex.uniforms.add("uTransform_WorldFromView_TH","vec3"),e.vertex.uniforms.add("uTransform_WorldFromView_TL","vec3"),e.vertex.uniforms.add("uTransform_ViewFromCameraRelative_RS","mat3"),e.vertex.uniforms.add("uTransform_ProjFromView","mat4"),e.vertex.code.add(d.H`vec3 positionWorldCameraRelative() {
|
|
304
|
-
vec3 rotatedModelPosition = uTransform_WorldFromModel_RS * positionModel();
|
|
305
|
-
vec3 transform_CameraRelativeFromModel = dpAdd(
|
|
306
|
-
uTransform_WorldFromModel_TL,
|
|
307
|
-
uTransform_WorldFromModel_TH,
|
|
308
|
-
-uTransform_WorldFromView_TL,
|
|
309
|
-
-uTransform_WorldFromView_TH
|
|
310
|
-
);
|
|
311
|
-
return transform_CameraRelativeFromModel + rotatedModelPosition;
|
|
312
|
-
}
|
|
313
|
-
vec3 position_view() {
|
|
314
|
-
return uTransform_ViewFromCameraRelative_RS * positionWorldCameraRelative();
|
|
315
|
-
}
|
|
316
|
-
void forwardPosition() {
|
|
317
|
-
vPositionWorldCameraRelative = positionWorldCameraRelative();
|
|
318
|
-
vPosition_view = position_view();
|
|
319
|
-
gl_Position = uTransform_ProjFromView * vec4(vPosition_view, 1.0);
|
|
320
|
-
}
|
|
321
|
-
vec3 positionWorld() {
|
|
322
|
-
return uTransform_WorldFromView_TL + vPositionWorldCameraRelative;
|
|
323
|
-
}`),e.fragment.uniforms.add("uTransform_WorldFromView_TL","vec3"),e.fragment.code.add(d.H`vec3 positionWorld() {
|
|
324
|
-
return uTransform_WorldFromView_TL + vPositionWorldCameraRelative;
|
|
325
|
-
}`)}function h(e,t){0===t.normalType||1===t.normalType?(e.include(o.O,t),e.varyings.add("vNormalWorld","vec3"),e.varyings.add("vNormalView","vec3"),e.vertex.uniforms.add("uTransformNormal_GlobalFromModel","mat3"),e.vertex.uniforms.add("uTransformNormal_ViewFromGlobal","mat3"),e.vertex.code.add(d.H`void forwardNormal() {
|
|
326
|
-
vNormalWorld = uTransformNormal_GlobalFromModel * normalModel();
|
|
327
|
-
vNormalView = uTransformNormal_ViewFromGlobal * vNormalWorld;
|
|
328
|
-
}`)):2===t.normalType?(e.include(u,t),e.varyings.add("vNormalWorld","vec3"),e.vertex.code.add(d.H`
|
|
329
|
-
void forwardNormal() {
|
|
330
|
-
vNormalWorld = ${1===t.viewingMode?d.H`normalize(vPositionWorldCameraRelative);`:d.H`vec3(0.0, 0.0, 1.0);`}
|
|
331
|
-
}
|
|
332
|
-
`)):e.vertex.code.add(d.H`void forwardNormal() {}`)}(i=u||(u={})).ModelTransform=class{constructor(){this.worldFromModel_RS=(0,n.c)(),this.worldFromModel_TH=(0,s.c)(),this.worldFromModel_TL=(0,s.c)()}},i.ViewProjectionTransform=class{constructor(){this.worldFromView_TH=(0,s.c)(),this.worldFromView_TL=(0,s.c)(),this.viewFromCameraRelative_RS=(0,n.c)(),this.projFromView=(0,a.c)()}},i.bindModelTransform=function(e,t){e.setUniformMatrix3fv("uTransform_WorldFromModel_RS",t.worldFromModel_RS),e.setUniform3fv("uTransform_WorldFromModel_TH",t.worldFromModel_TH),e.setUniform3fv("uTransform_WorldFromModel_TL",t.worldFromModel_TL)},i.bindViewProjTransform=function(e,t){e.setUniform3fv("uTransform_WorldFromView_TH",t.worldFromView_TH),e.setUniform3fv("uTransform_WorldFromView_TL",t.worldFromView_TL),e.setUniformMatrix4fv("uTransform_ProjFromView",t.projFromView),e.setUniformMatrix3fv("uTransform_ViewFromCameraRelative_RS",t.viewFromCameraRelative_RS)},(h||(h={})).bindUniforms=function(e,t){e.setUniformMatrix4fv("viewNormal",t)}},91982:(e,t,r)=>{r.d(t,{i:()=>a});var i=r(135),o=r(74709);function n(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
|
|
333
|
-
float calcMipMapLevel(const vec2 ddx, const vec2 ddy) {
|
|
334
|
-
float deltaMaxSqr = max(dot(ddx, ddx), dot(ddy, ddy));
|
|
335
|
-
return max(0.0, 0.5 * log2(deltaMaxSqr));
|
|
336
|
-
}
|
|
337
|
-
#endif
|
|
338
|
-
vec4 textureAtlasLookup(sampler2D texture, vec2 textureSize, vec2 textureCoordinates, vec4 atlasRegion) {
|
|
339
|
-
vec2 atlasScale = atlasRegion.zw - atlasRegion.xy;
|
|
340
|
-
vec2 uvAtlas = fract(textureCoordinates) * atlasScale + atlasRegion.xy;
|
|
341
|
-
float maxdUV = 0.125;
|
|
342
|
-
vec2 dUVdx = clamp(dFdx(textureCoordinates), -maxdUV, maxdUV) * atlasScale;
|
|
343
|
-
vec2 dUVdy = clamp(dFdy(textureCoordinates), -maxdUV, maxdUV) * atlasScale;
|
|
344
|
-
#ifdef GL_EXT_shader_texture_lod
|
|
345
|
-
return texture2DGradEXT(texture, uvAtlas, dUVdx, dUVdy);
|
|
346
|
-
#else
|
|
347
|
-
vec2 dUVdxAuto = dFdx(uvAtlas);
|
|
348
|
-
vec2 dUVdyAuto = dFdy(uvAtlas);
|
|
349
|
-
float mipMapLevel = calcMipMapLevel(dUVdx * textureSize, dUVdy * textureSize);
|
|
350
|
-
float autoMipMapLevel = calcMipMapLevel(dUVdxAuto * textureSize, dUVdyAuto * textureSize);
|
|
351
|
-
return texture2D(texture, uvAtlas, mipMapLevel - autoMipMapLevel);
|
|
352
|
-
#endif
|
|
353
|
-
}`)}function a(e,t){e.include(i.D,t),e.fragment.code.add(o.H`
|
|
354
|
-
struct TextureLookupParameter {
|
|
355
|
-
vec2 uv;
|
|
356
|
-
${t.supportsTextureAtlas?"vec2 size;":""}
|
|
357
|
-
} vtc;
|
|
358
|
-
`),1===t.attributeTextureCoordinates&&e.fragment.code.add(o.H`vec4 textureLookup(sampler2D tex, TextureLookupParameter params) {
|
|
359
|
-
return texture2D(tex, params.uv);
|
|
360
|
-
}`),2===t.attributeTextureCoordinates&&(e.include(n),e.fragment.code.add(o.H`vec4 textureLookup(sampler2D tex, TextureLookupParameter params) {
|
|
361
|
-
return textureAtlasLookup(tex, params.size, params.uv, vuvRegion);
|
|
362
|
-
}`))}},92555:(e,t,r)=>{r.d(t,{LC:()=>n,Mo:()=>a});var i=r(74709);function o(e){e.vertex.code.add(i.H`float screenSizePerspectiveMinSize(float size, vec4 factor) {
|
|
363
|
-
float nonZeroSize = 1.0 - step(size, 0.0);
|
|
364
|
-
return (
|
|
365
|
-
factor.z * (
|
|
366
|
-
1.0 +
|
|
367
|
-
nonZeroSize *
|
|
368
|
-
2.0 * factor.w / (
|
|
369
|
-
size + (1.0 - nonZeroSize)
|
|
370
|
-
)
|
|
371
|
-
)
|
|
372
|
-
);
|
|
373
|
-
}`),e.vertex.code.add(i.H`float screenSizePerspectiveViewAngleDependentFactor(float absCosAngle) {
|
|
374
|
-
return absCosAngle * absCosAngle * absCosAngle;
|
|
375
|
-
}`),e.vertex.code.add(i.H`vec4 screenSizePerspectiveScaleFactor(float absCosAngle, float distanceToCamera, vec4 params) {
|
|
376
|
-
return vec4(
|
|
377
|
-
min(params.x / (distanceToCamera - params.y), 1.0),
|
|
378
|
-
screenSizePerspectiveViewAngleDependentFactor(absCosAngle),
|
|
379
|
-
params.z,
|
|
380
|
-
params.w
|
|
381
|
-
);
|
|
382
|
-
}`),e.vertex.code.add(i.H`float applyScreenSizePerspectiveScaleFactorFloat(float size, vec4 factor) {
|
|
383
|
-
return max(mix(size * factor.x, size, factor.y), screenSizePerspectiveMinSize(size, factor));
|
|
384
|
-
}`),e.vertex.code.add(i.H`float screenSizePerspectiveScaleFloat(float size, float absCosAngle, float distanceToCamera, vec4 params) {
|
|
385
|
-
return applyScreenSizePerspectiveScaleFactorFloat(
|
|
386
|
-
size,
|
|
387
|
-
screenSizePerspectiveScaleFactor(absCosAngle, distanceToCamera, params)
|
|
388
|
-
);
|
|
389
|
-
}`),e.vertex.code.add(i.H`vec2 applyScreenSizePerspectiveScaleFactorVec2(vec2 size, vec4 factor) {
|
|
390
|
-
return mix(size * clamp(factor.x, screenSizePerspectiveMinSize(size.y, factor) / size.y, 1.0), size, factor.y);
|
|
391
|
-
}`),e.vertex.code.add(i.H`vec2 screenSizePerspectiveScaleVec2(vec2 size, float absCosAngle, float distanceToCamera, vec4 params) {
|
|
392
|
-
return applyScreenSizePerspectiveScaleFactorVec2(size, screenSizePerspectiveScaleFactor(absCosAngle, distanceToCamera, params));
|
|
393
|
-
}`)}function n(e,t){const r=e.vertex.code;t.verticalOffsetEnabled?(e.vertex.uniforms.add("verticalOffset","vec4"),t.screenSizePerspectiveEnabled&&(e.include(o),e.vertex.uniforms.add("screenSizePerspectiveAlignment","vec4")),r.add(i.H`
|
|
394
|
-
vec3 calculateVerticalOffset(vec3 worldPos, vec3 localOrigin) {
|
|
395
|
-
float viewDistance = length((view * vec4(worldPos, 1.0)).xyz);
|
|
396
|
-
${1===t.viewingMode?i.H`vec3 worldNormal = normalize(worldPos + localOrigin);`:i.H`vec3 worldNormal = vec3(0.0, 0.0, 1.0);`}
|
|
397
|
-
${t.screenSizePerspectiveEnabled?i.H`
|
|
398
|
-
float cosAngle = dot(worldNormal, normalize(worldPos - camPos));
|
|
399
|
-
float verticalOffsetScreenHeight = screenSizePerspectiveScaleFloat(verticalOffset.x, abs(cosAngle), viewDistance, screenSizePerspectiveAlignment);`:i.H`
|
|
400
|
-
float verticalOffsetScreenHeight = verticalOffset.x;`}
|
|
401
|
-
// Screen sized offset in world space, used for example for line callouts
|
|
402
|
-
float worldOffset = clamp(verticalOffsetScreenHeight * verticalOffset.y * viewDistance, verticalOffset.z, verticalOffset.w);
|
|
403
|
-
return worldNormal * worldOffset;
|
|
404
|
-
}
|
|
405
|
-
|
|
406
|
-
vec3 addVerticalOffset(vec3 worldPos, vec3 localOrigin) {
|
|
407
|
-
return worldPos + calculateVerticalOffset(worldPos, localOrigin);
|
|
408
|
-
}
|
|
409
|
-
`)):r.add(i.H`vec3 addVerticalOffset(vec3 worldPos, vec3 localOrigin) { return worldPos; }`)}function a(e,t,r){if(!t.verticalOffset)return;const i=s(t.verticalOffset,r.camera.fovY,r.camera.fullViewport[3]),o=r.camera.pixelRatio||1;e.setUniform4f("verticalOffset",i.screenLength*o,i.perDistance,i.minWorldLength,i.maxWorldLength)}function s(e,t,r,i=l){return i.screenLength=e.screenLength,i.perDistance=Math.tan(.5*t)/(.5*r),i.minWorldLength=e.minWorldLength,i.maxWorldLength=e.maxWorldLength,i}r(37782);const l={screenLength:0,perDistance:0,minWorldLength:0,maxWorldLength:0}},74486:(e,t,r)=>{r.d(t,{s:()=>m});var i=r(51546),o=r(77171),n=r(64267),a=r(135),s=r(99917),l=r(20285),c=r(74709);function d(e,t){e.fragment.include(l.n),3===t.output?(e.extensions.add("GL_OES_standard_derivatives"),e.fragment.code.add(c.H`float _calculateFragDepth(const in float depth) {
|
|
410
|
-
const float SLOPE_SCALE = 2.0;
|
|
411
|
-
const float BIAS = 2.0 * .000015259;
|
|
412
|
-
float m = max(abs(dFdx(depth)), abs(dFdy(depth)));
|
|
413
|
-
float result = depth + SLOPE_SCALE * m + BIAS;
|
|
414
|
-
return clamp(result, .0, .999999);
|
|
415
|
-
}
|
|
416
|
-
void outputDepth(float _linearDepth) {
|
|
417
|
-
gl_FragColor = float2rgba(_calculateFragDepth(_linearDepth));
|
|
418
|
-
}`)):1===t.output&&e.fragment.code.add(c.H`void outputDepth(float _linearDepth) {
|
|
419
|
-
gl_FragColor = float2rgba(_linearDepth);
|
|
420
|
-
}`)}var u=r(68853),h=r(98401),f=r(94124);function m(e,t){const r=e.vertex.code,l=e.fragment.code;1!==t.output&&3!==t.output||(e.include(o.w,{linearDepth:!0}),e.include(a.D,t),e.include(h.kl,t),e.include(d,t),e.include(i.p2,t),e.vertex.uniforms.add("cameraNearFar","vec2"),e.varyings.add("depth","float"),t.hasColorTexture&&e.fragment.uniforms.add("tex","sampler2D"),r.add(c.H`void main(void) {
|
|
421
|
-
vpos = calculateVPos();
|
|
422
|
-
vpos = subtractOrigin(vpos);
|
|
423
|
-
vpos = addVerticalOffset(vpos, localOrigin);
|
|
424
|
-
gl_Position = transformPositionWithDepth(proj, view, vpos, cameraNearFar, depth);
|
|
425
|
-
forwardTextureCoordinates();
|
|
426
|
-
}`),e.include(f.sj,t),l.add(c.H`
|
|
427
|
-
void main(void) {
|
|
428
|
-
discardBySlice(vpos);
|
|
429
|
-
${t.hasColorTexture?c.H`
|
|
430
|
-
vec4 texColor = texture2D(tex, vuv0);
|
|
431
|
-
discardOrAdjustAlpha(texColor);`:""}
|
|
432
|
-
outputDepth(depth);
|
|
433
|
-
}
|
|
434
|
-
`)),2===t.output&&(e.include(o.w,{linearDepth:!1}),e.include(n.O,t),e.include(s.B,t),e.include(a.D,t),e.include(h.kl,t),t.hasColorTexture&&e.fragment.uniforms.add("tex","sampler2D"),e.vertex.uniforms.add("viewNormal","mat4"),e.varyings.add("vPositionView","vec3"),r.add(c.H`
|
|
435
|
-
void main(void) {
|
|
436
|
-
vpos = calculateVPos();
|
|
437
|
-
vpos = subtractOrigin(vpos);
|
|
438
|
-
${0===t.normalType?c.H`
|
|
439
|
-
vNormalWorld = dpNormalView(vvLocalNormal(normalModel()));`:""}
|
|
440
|
-
vpos = addVerticalOffset(vpos, localOrigin);
|
|
441
|
-
gl_Position = transformPosition(proj, view, vpos);
|
|
442
|
-
forwardTextureCoordinates();
|
|
443
|
-
}
|
|
444
|
-
`),e.include(i.p2,t),e.include(f.sj,t),l.add(c.H`
|
|
445
|
-
void main() {
|
|
446
|
-
discardBySlice(vpos);
|
|
447
|
-
${t.hasColorTexture?c.H`
|
|
448
|
-
vec4 texColor = texture2D(tex, vuv0);
|
|
449
|
-
discardOrAdjustAlpha(texColor);`:""}
|
|
450
|
-
|
|
451
|
-
${3===t.normalType?c.H`
|
|
452
|
-
vec3 normal = screenDerivativeNormal(vPositionView);`:c.H`
|
|
453
|
-
vec3 normal = normalize(vNormalWorld);
|
|
454
|
-
if (gl_FrontFacing == false) normal = -normal;`}
|
|
455
|
-
gl_FragColor = vec4(vec3(0.5) + 0.5 * normal, 1.0);
|
|
456
|
-
}
|
|
457
|
-
`)),4===t.output&&(e.include(o.w,{linearDepth:!1}),e.include(a.D,t),e.include(h.kl,t),t.hasColorTexture&&e.fragment.uniforms.add("tex","sampler2D"),r.add(c.H`void main(void) {
|
|
458
|
-
vpos = calculateVPos();
|
|
459
|
-
vpos = subtractOrigin(vpos);
|
|
460
|
-
vpos = addVerticalOffset(vpos, localOrigin);
|
|
461
|
-
gl_Position = transformPosition(proj, view, vpos);
|
|
462
|
-
forwardTextureCoordinates();
|
|
463
|
-
}`),e.include(i.p2,t),e.include(f.sj,t),e.include(u.bA),l.add(c.H`
|
|
464
|
-
void main() {
|
|
465
|
-
discardBySlice(vpos);
|
|
466
|
-
${t.hasColorTexture?c.H`
|
|
467
|
-
vec4 texColor = texture2D(tex, vuv0);
|
|
468
|
-
discardOrAdjustAlpha(texColor);`:""}
|
|
469
|
-
outputHighlight();
|
|
470
|
-
}
|
|
471
|
-
`))}},68853:(e,t,r)=>{r.d(t,{bA:()=>s,wW:()=>l});var i=r(88669),o=r(74709);const n=(0,i.f)(1,1,0,1),a=(0,i.f)(1,0,1,1);function s(e){e.fragment.uniforms.add("depthTex","sampler2D"),e.fragment.uniforms.add("highlightViewportPixelSz","vec4"),e.fragment.constants.add("occludedHighlightFlag","vec4",n).add("unoccludedHighlightFlag","vec4",a),e.fragment.code.add(o.H`void outputHighlight() {
|
|
472
|
-
vec4 fragCoord = gl_FragCoord;
|
|
473
|
-
float sceneDepth = texture2D(depthTex, (fragCoord.xy - highlightViewportPixelSz.xy) * highlightViewportPixelSz.zw).r;
|
|
474
|
-
if (fragCoord.z > sceneDepth + 5e-7) {
|
|
475
|
-
gl_FragColor = occludedHighlightFlag;
|
|
476
|
-
}
|
|
477
|
-
else {
|
|
478
|
-
gl_FragColor = unoccludedHighlightFlag;
|
|
479
|
-
}
|
|
480
|
-
}`)}function l(e,t){e.bindTexture(t.highlightDepthTexture,"depthTex"),e.setUniform4f("highlightViewportPixelSz",0,0,t.inverseViewport[0],t.inverseViewport[1])}},5543:(e,t,r)=>{r.d(t,{S:()=>n});var i=r(20285),o=r(74709);function n(e){e.include(i.n),e.code.add(o.H`float linearDepthFromFloat(float depth, vec2 nearFar) {
|
|
481
|
-
return -(depth * (nearFar[1] - nearFar[0]) + nearFar[0]);
|
|
482
|
-
}
|
|
483
|
-
float linearDepthFromTexture(sampler2D depthTex, vec2 uv, vec2 nearFar) {
|
|
484
|
-
return linearDepthFromFloat(rgba2float(texture2D(depthTex, uv)), nearFar);
|
|
485
|
-
}`)}},15817:(e,t,r)=>{r.d(t,{Q:()=>n});var i=r(91982),o=r(74709);function n(e,t){const r=e.fragment;t.vertexTangents?(e.attributes.add("tangent","vec4"),e.varyings.add("vTangent","vec4"),2===t.doubleSidedMode?r.code.add(o.H`mat3 computeTangentSpace(vec3 normal) {
|
|
486
|
-
float tangentHeadedness = gl_FrontFacing ? vTangent.w : -vTangent.w;
|
|
487
|
-
vec3 tangent = normalize(gl_FrontFacing ? vTangent.xyz : -vTangent.xyz);
|
|
488
|
-
vec3 bitangent = cross(normal, tangent) * tangentHeadedness;
|
|
489
|
-
return mat3(tangent, bitangent, normal);
|
|
490
|
-
}`):r.code.add(o.H`mat3 computeTangentSpace(vec3 normal) {
|
|
491
|
-
float tangentHeadedness = vTangent.w;
|
|
492
|
-
vec3 tangent = normalize(vTangent.xyz);
|
|
493
|
-
vec3 bitangent = cross(normal, tangent) * tangentHeadedness;
|
|
494
|
-
return mat3(tangent, bitangent, normal);
|
|
495
|
-
}`)):(e.extensions.add("GL_OES_standard_derivatives"),r.code.add(o.H`mat3 computeTangentSpace(vec3 normal, vec3 pos, vec2 st) {
|
|
496
|
-
vec3 Q1 = dFdx(pos);
|
|
497
|
-
vec3 Q2 = dFdy(pos);
|
|
498
|
-
vec2 stx = dFdx(st);
|
|
499
|
-
vec2 sty = dFdy(st);
|
|
500
|
-
float det = stx.t * sty.s - sty.t * stx.s;
|
|
501
|
-
vec3 T = stx.t * Q2 - sty.t * Q1;
|
|
502
|
-
T = T - normal * dot(normal, T);
|
|
503
|
-
T *= inversesqrt(max(dot(T,T), 1.e-10));
|
|
504
|
-
vec3 B = sign(det) * cross(normal, T);
|
|
505
|
-
return mat3(T, B, normal);
|
|
506
|
-
}`)),0!==t.attributeTextureCoordinates&&(e.include(i.i,t),r.uniforms.add("normalTexture","sampler2D"),r.uniforms.add("normalTextureSize","vec2"),r.code.add(o.H`
|
|
507
|
-
vec3 computeTextureNormal(mat3 tangentSpace, vec2 uv) {
|
|
508
|
-
vtc.uv = uv;
|
|
509
|
-
${t.supportsTextureAtlas?"vtc.size = normalTextureSize;":""}
|
|
510
|
-
vec3 rawNormal = textureLookup(normalTexture, vtc).rgb * 2.0 - 1.0;
|
|
511
|
-
return tangentSpace * rawNormal;
|
|
512
|
-
}
|
|
513
|
-
`))}},66242:(e,t,r)=>{r.d(t,{K:()=>o});var i=r(74709);function o(e,t){const r=e.fragment;t.receiveAmbientOcclusion?(r.uniforms.add("ssaoTex","sampler2D"),r.uniforms.add("viewportPixelSz","vec4"),r.code.add(i.H`float evaluateAmbientOcclusion() {
|
|
514
|
-
return 1.0 - texture2D(ssaoTex, (gl_FragCoord.xy - viewportPixelSz.xy) * viewportPixelSz.zw).a;
|
|
515
|
-
}
|
|
516
|
-
float evaluateAmbientOcclusionInverse() {
|
|
517
|
-
float ssao = texture2D(ssaoTex, (gl_FragCoord.xy - viewportPixelSz.xy) * viewportPixelSz.zw).a;
|
|
518
|
-
return viewportPixelSz.z < 0.0 ? 1.0 : ssao;
|
|
519
|
-
}`)):r.code.add(i.H`float evaluateAmbientOcclusion() { return 0.0; }
|
|
520
|
-
float evaluateAmbientOcclusionInverse() { return 1.0; }`)}},62554:(e,t,r)=>{r.d(t,{X:()=>d});var i=r(74709);function o(e,t){const r=e.fragment,o=void 0!==t.lightingSphericalHarmonicsOrder?t.lightingSphericalHarmonicsOrder:2;0===o?(r.uniforms.add("lightingAmbientSH0","vec3"),r.code.add(i.H`vec3 calculateAmbientIrradiance(vec3 normal, float ambientOcclusion) {
|
|
521
|
-
vec3 ambientLight = 0.282095 * lightingAmbientSH0;
|
|
522
|
-
return ambientLight * (1.0 - ambientOcclusion);
|
|
523
|
-
}`)):1===o?(r.uniforms.add("lightingAmbientSH_R","vec4"),r.uniforms.add("lightingAmbientSH_G","vec4"),r.uniforms.add("lightingAmbientSH_B","vec4"),r.code.add(i.H`vec3 calculateAmbientIrradiance(vec3 normal, float ambientOcclusion) {
|
|
524
|
-
vec4 sh0 = vec4(
|
|
525
|
-
0.282095,
|
|
526
|
-
0.488603 * normal.x,
|
|
527
|
-
0.488603 * normal.z,
|
|
528
|
-
0.488603 * normal.y
|
|
529
|
-
);
|
|
530
|
-
vec3 ambientLight = vec3(
|
|
531
|
-
dot(lightingAmbientSH_R, sh0),
|
|
532
|
-
dot(lightingAmbientSH_G, sh0),
|
|
533
|
-
dot(lightingAmbientSH_B, sh0)
|
|
534
|
-
);
|
|
535
|
-
return ambientLight * (1.0 - ambientOcclusion);
|
|
536
|
-
}`)):2===o&&(r.uniforms.add("lightingAmbientSH0","vec3"),r.uniforms.add("lightingAmbientSH_R1","vec4"),r.uniforms.add("lightingAmbientSH_G1","vec4"),r.uniforms.add("lightingAmbientSH_B1","vec4"),r.uniforms.add("lightingAmbientSH_R2","vec4"),r.uniforms.add("lightingAmbientSH_G2","vec4"),r.uniforms.add("lightingAmbientSH_B2","vec4"),r.code.add(i.H`vec3 calculateAmbientIrradiance(vec3 normal, float ambientOcclusion) {
|
|
537
|
-
vec3 ambientLight = 0.282095 * lightingAmbientSH0;
|
|
538
|
-
vec4 sh1 = vec4(
|
|
539
|
-
0.488603 * normal.x,
|
|
540
|
-
0.488603 * normal.z,
|
|
541
|
-
0.488603 * normal.y,
|
|
542
|
-
1.092548 * normal.x * normal.y
|
|
543
|
-
);
|
|
544
|
-
vec4 sh2 = vec4(
|
|
545
|
-
1.092548 * normal.y * normal.z,
|
|
546
|
-
0.315392 * (3.0 * normal.z * normal.z - 1.0),
|
|
547
|
-
1.092548 * normal.x * normal.z,
|
|
548
|
-
0.546274 * (normal.x * normal.x - normal.y * normal.y)
|
|
549
|
-
);
|
|
550
|
-
ambientLight += vec3(
|
|
551
|
-
dot(lightingAmbientSH_R1, sh1),
|
|
552
|
-
dot(lightingAmbientSH_G1, sh1),
|
|
553
|
-
dot(lightingAmbientSH_B1, sh1)
|
|
554
|
-
);
|
|
555
|
-
ambientLight += vec3(
|
|
556
|
-
dot(lightingAmbientSH_R2, sh2),
|
|
557
|
-
dot(lightingAmbientSH_G2, sh2),
|
|
558
|
-
dot(lightingAmbientSH_B2, sh2)
|
|
559
|
-
);
|
|
560
|
-
return ambientLight * (1.0 - ambientOcclusion);
|
|
561
|
-
}`),1!==t.pbrMode&&2!==t.pbrMode||r.code.add(i.H`const vec3 skyTransmittance = vec3(0.9, 0.9, 1.0);
|
|
562
|
-
vec3 calculateAmbientRadiance(float ambientOcclusion)
|
|
563
|
-
{
|
|
564
|
-
vec3 ambientLight = 1.2 * (0.282095 * lightingAmbientSH0) - 0.2;
|
|
565
|
-
return ambientLight *= (1.0 - ambientOcclusion) * skyTransmittance;
|
|
566
|
-
}`))}var n=r(66242);function a(e){const t=e.fragment;t.uniforms.add("lightingMainDirection","vec3"),t.uniforms.add("lightingMainIntensity","vec3"),t.uniforms.add("lightingFixedFactor","float"),t.code.add(i.H`vec3 evaluateMainLighting(vec3 normal_global, float shadowing) {
|
|
567
|
-
float dotVal = clamp(dot(normal_global, lightingMainDirection), 0.0, 1.0);
|
|
568
|
-
dotVal = mix(dotVal, 1.0, lightingFixedFactor);
|
|
569
|
-
return lightingMainIntensity * ((1.0 - shadowing) * dotVal);
|
|
570
|
-
}`)}var s=r(26322),l=r(27754),c=r(72303);function d(e,t){const r=e.fragment;e.include(a),e.include(n.K,t),0!==t.pbrMode&&e.include(s.T,t),e.include(o,t),t.receiveShadows&&e.include(c.hX,t),r.uniforms.add("lightingGlobalFactor","float"),r.uniforms.add("ambientBoostFactor","float"),e.include(l.e),r.code.add(i.H`
|
|
571
|
-
const float GAMMA_SRGB = 2.1;
|
|
572
|
-
const float INV_GAMMA_SRGB = 0.4761904;
|
|
573
|
-
${0===t.pbrMode?"":"const vec3 GROUND_REFLECTANCE = vec3(0.2);"}
|
|
574
|
-
`),r.code.add(i.H`
|
|
575
|
-
float additionalDirectedAmbientLight(vec3 vPosWorld) {
|
|
576
|
-
float vndl = dot(${1===t.viewingMode?i.H`normalize(vPosWorld)`:i.H`vec3(0.0, 0.0, 1.0)`}, lightingMainDirection);
|
|
577
|
-
return smoothstep(0.0, 1.0, clamp(vndl * 2.5, 0.0, 1.0));
|
|
578
|
-
}
|
|
579
|
-
`),r.code.add(i.H`vec3 evaluateAdditionalLighting(float ambientOcclusion, vec3 vPosWorld) {
|
|
580
|
-
float additionalAmbientScale = additionalDirectedAmbientLight(vPosWorld);
|
|
581
|
-
return (1.0 - ambientOcclusion) * additionalAmbientScale * ambientBoostFactor * lightingGlobalFactor * lightingMainIntensity;
|
|
582
|
-
}`),0===t.pbrMode||4===t.pbrMode?r.code.add(i.H`vec3 evaluateSceneLighting(vec3 normalWorld, vec3 albedo, float shadow, float ssao, vec3 additionalLight)
|
|
583
|
-
{
|
|
584
|
-
vec3 mainLighting = evaluateMainLighting(normalWorld, shadow);
|
|
585
|
-
vec3 ambientLighting = calculateAmbientIrradiance(normalWorld, ssao);
|
|
586
|
-
vec3 albedoLinear = pow(albedo, vec3(GAMMA_SRGB));
|
|
587
|
-
vec3 totalLight = mainLighting + ambientLighting + additionalLight;
|
|
588
|
-
totalLight = min(totalLight, vec3(PI));
|
|
589
|
-
vec3 outColor = vec3((albedoLinear / PI) * totalLight);
|
|
590
|
-
return pow(outColor, vec3(INV_GAMMA_SRGB));
|
|
591
|
-
}`):1!==t.pbrMode&&2!==t.pbrMode||(r.code.add(i.H`const float fillLightIntensity = 0.25;
|
|
592
|
-
const float horizonLightDiffusion = 0.4;
|
|
593
|
-
const float additionalAmbientIrradianceFactor = 0.02;
|
|
594
|
-
vec3 evaluateSceneLightingPBR(vec3 normal, vec3 albedo, float shadow, float ssao, vec3 additionalLight, vec3 viewDir, vec3 normalGround, vec3 mrr, vec3 _emission, float additionalAmbientIrradiance)
|
|
595
|
-
{
|
|
596
|
-
vec3 viewDirection = -viewDir;
|
|
597
|
-
vec3 mainLightDirection = lightingMainDirection;
|
|
598
|
-
vec3 h = normalize(viewDirection + mainLightDirection);
|
|
599
|
-
PBRShadingInfo inputs;
|
|
600
|
-
inputs.NdotL = clamp(dot(normal, mainLightDirection), 0.001, 1.0);
|
|
601
|
-
inputs.NdotV = clamp(abs(dot(normal, viewDirection)), 0.001, 1.0);
|
|
602
|
-
inputs.NdotH = clamp(dot(normal, h), 0.0, 1.0);
|
|
603
|
-
inputs.VdotH = clamp(dot(viewDirection, h), 0.0, 1.0);
|
|
604
|
-
inputs.NdotNG = clamp(dot(normal, normalGround), -1.0, 1.0);
|
|
605
|
-
vec3 reflectedView = normalize(reflect(viewDirection, normal));
|
|
606
|
-
inputs.RdotNG = clamp(dot(reflectedView, normalGround), -1.0, 1.0);
|
|
607
|
-
inputs.albedoLinear = pow(albedo, vec3(GAMMA_SRGB));
|
|
608
|
-
inputs.ssao = ssao;
|
|
609
|
-
inputs.metalness = mrr[0];
|
|
610
|
-
inputs.roughness = clamp(mrr[1] * mrr[1], 0.001, 0.99);`),r.code.add(i.H`inputs.f0 = (0.16 * mrr[2] * mrr[2]) * (1.0 - inputs.metalness) + inputs.albedoLinear * inputs.metalness;
|
|
611
|
-
inputs.f90 = vec3(clamp(dot(inputs.f0, vec3(50.0 * 0.33)), 0.0, 1.0));
|
|
612
|
-
inputs.diffuseColor = inputs.albedoLinear * (vec3(1.0) - inputs.f0) * (1.0 - inputs.metalness);`),r.code.add(i.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]);
|
|
613
|
-
ambientDir = ambientDir != vec3(0.0)? normalize(ambientDir) : normalize(vec3(5.0, -1.0, 0.0));
|
|
614
|
-
inputs.NdotAmbDir = abs(dot(normal, ambientDir));
|
|
615
|
-
vec3 mainLightIrradianceComponent = inputs.NdotL * (1.0 - shadow) * lightingMainIntensity;
|
|
616
|
-
vec3 fillLightsIrradianceComponent = inputs.NdotAmbDir * lightingMainIntensity * fillLightIntensity;
|
|
617
|
-
vec3 ambientLightIrradianceComponent = calculateAmbientIrradiance(normal, ssao) + additionalLight;
|
|
618
|
-
inputs.skyIrradianceToSurface = ambientLightIrradianceComponent + mainLightIrradianceComponent + fillLightsIrradianceComponent ;
|
|
619
|
-
inputs.groundIrradianceToSurface = GROUND_REFLECTANCE * ambientLightIrradianceComponent + mainLightIrradianceComponent + fillLightsIrradianceComponent ;`),r.code.add(i.H`vec3 horizonRingDir = inputs.RdotNG * normalGround - reflectedView;
|
|
620
|
-
vec3 horizonRingH = normalize(viewDirection + horizonRingDir);
|
|
621
|
-
inputs.NdotH_Horizon = dot(normal, horizonRingH);
|
|
622
|
-
vec3 mainLightRadianceComponent = normalDistribution(inputs.NdotH, inputs.roughness) * lightingMainIntensity * (1.0 - shadow);
|
|
623
|
-
vec3 horizonLightRadianceComponent = normalDistribution(inputs.NdotH_Horizon, min(inputs.roughness + horizonLightDiffusion, 1.0)) * lightingMainIntensity * fillLightIntensity;
|
|
624
|
-
vec3 ambientLightRadianceComponent = calculateAmbientRadiance(ssao) + additionalLight;
|
|
625
|
-
inputs.skyRadianceToSurface = ambientLightRadianceComponent + mainLightRadianceComponent + horizonLightRadianceComponent;
|
|
626
|
-
inputs.groundRadianceToSurface = GROUND_REFLECTANCE * (ambientLightRadianceComponent + horizonLightRadianceComponent) + mainLightRadianceComponent;
|
|
627
|
-
inputs.averageAmbientRadiance = ambientLightIrradianceComponent[1] * (1.0 + GROUND_REFLECTANCE[1]);`),r.code.add(i.H`
|
|
628
|
-
vec3 reflectedColorComponent = evaluateEnvironmentIllumination(inputs);
|
|
629
|
-
vec3 additionalMaterialReflectanceComponent = inputs.albedoLinear * additionalAmbientIrradiance;
|
|
630
|
-
vec3 emissionComponent = pow(_emission, vec3(GAMMA_SRGB));
|
|
631
|
-
vec3 outColorLinear = reflectedColorComponent + additionalMaterialReflectanceComponent + emissionComponent;
|
|
632
|
-
${2===t.pbrMode?i.H`vec3 outColor = pow(max(vec3(0.0), outColorLinear - 0.005 * inputs.averageAmbientRadiance), vec3(INV_GAMMA_SRGB));`:i.H`vec3 outColor = pow(blackLevelSoftCompression(outColorLinear, inputs), vec3(INV_GAMMA_SRGB));`}
|
|
633
|
-
return outColor;
|
|
634
|
-
}
|
|
635
|
-
`))}},42001:(e,t,r)=>{r.d(t,{p:()=>n,l:()=>o});var i=r(74709);function o(e,t){e.fragment.uniforms.add("terrainDepthTexture","sampler2D"),e.fragment.uniforms.add("cameraNearFar","vec2"),e.fragment.uniforms.add("inverseViewport","vec2"),e.fragment.code.add(i.H`
|
|
636
|
-
// Compare the linearized depths of fragment and terrain. Discard fragments on the wrong side of the terrain.
|
|
637
|
-
void terrainDepthTest(vec4 fragCoord, float fragmentDepth){
|
|
638
|
-
|
|
639
|
-
float terrainDepth = linearDepthFromTexture(terrainDepthTexture, fragCoord.xy * inverseViewport, cameraNearFar);
|
|
640
|
-
if(fragmentDepth ${t.cullAboveGround?">":"<="} terrainDepth){
|
|
641
|
-
discard;
|
|
642
|
-
}
|
|
643
|
-
}
|
|
644
|
-
`)}function n(e,t){t.multipassTerrainEnabled&&t.terrainLinearDepthTexture&&e.bindTexture(t.terrainLinearDepthTexture,"terrainDepthTexture")}},19419:(e,t,r)=>{r.d(t,{k:()=>o});var i=r(74709);function o(e,t){const r=e.fragment;r.code.add(i.H`struct ShadingNormalParameters {
|
|
645
|
-
vec3 normalView;
|
|
646
|
-
vec3 viewDirection;
|
|
647
|
-
} shadingParams;`),1===t.doubleSidedMode?r.code.add(i.H`vec3 shadingNormal(ShadingNormalParameters params) {
|
|
648
|
-
return dot(params.normalView, params.viewDirection) > 0.0 ? normalize(-params.normalView) : normalize(params.normalView);
|
|
649
|
-
}`):2===t.doubleSidedMode?r.code.add(i.H`vec3 shadingNormal(ShadingNormalParameters params) {
|
|
650
|
-
return gl_FrontFacing ? normalize(params.normalView) : normalize(-params.normalView);
|
|
651
|
-
}`):r.code.add(i.H`vec3 shadingNormal(ShadingNormalParameters params) {
|
|
652
|
-
return normalize(params.normalView);
|
|
653
|
-
}`)}},26322:(e,t,r)=>{r.d(t,{T:()=>a});var i=r(74709);function o(e){const t=e.fragment.code;t.add(i.H`vec3 evaluateDiffuseIlluminationHemisphere(vec3 ambientGround, vec3 ambientSky, float NdotNG)
|
|
654
|
-
{
|
|
655
|
-
return ((1.0 - NdotNG) * ambientGround + (1.0 + NdotNG) * ambientSky) * 0.5;
|
|
656
|
-
}`),t.add(i.H`float integratedRadiance(float cosTheta2, float roughness)
|
|
657
|
-
{
|
|
658
|
-
return (cosTheta2 - 1.0) / (cosTheta2 * (1.0 - roughness * roughness) - 1.0);
|
|
659
|
-
}`),t.add(i.H`vec3 evaluateSpecularIlluminationHemisphere(vec3 ambientGround, vec3 ambientSky, float RdotNG, float roughness)
|
|
660
|
-
{
|
|
661
|
-
float cosTheta2 = 1.0 - RdotNG * RdotNG;
|
|
662
|
-
float intRadTheta = integratedRadiance(cosTheta2, roughness);
|
|
663
|
-
float ground = RdotNG < 0.0 ? 1.0 - intRadTheta : 1.0 + intRadTheta;
|
|
664
|
-
float sky = 2.0 - ground;
|
|
665
|
-
return (ground * ambientGround + sky * ambientSky) * 0.5;
|
|
666
|
-
}`)}var n=r(27754);function a(e,t){const r=e.fragment.code;e.include(n.e),3===t.pbrMode||4===t.pbrMode?(r.add(i.H`
|
|
667
|
-
struct PBRShadingWater
|
|
668
|
-
{
|
|
669
|
-
float NdotL; // cos angle between normal and light direction
|
|
670
|
-
float NdotV; // cos angle between normal and view direction
|
|
671
|
-
float NdotH; // cos angle between normal and half vector
|
|
672
|
-
float VdotH; // cos angle between view direction and half vector
|
|
673
|
-
float LdotH; // cos angle between light direction and half vector
|
|
674
|
-
float VdotN; // cos angle between view direction and normal vector
|
|
675
|
-
};
|
|
676
|
-
|
|
677
|
-
float dtrExponent = ${t.useCustomDTRExponentForWater?"2.2":"2.0"};
|
|
678
|
-
`),r.add(i.H`vec3 fresnelReflection(float angle, vec3 f0, float f90) {
|
|
679
|
-
return f0 + (f90 - f0) * pow(1.0 - angle, 5.0);
|
|
680
|
-
}`),r.add(i.H`float normalDistributionWater(float NdotH, float roughness)
|
|
681
|
-
{
|
|
682
|
-
float r2 = roughness * roughness;
|
|
683
|
-
float NdotH2 = NdotH * NdotH;
|
|
684
|
-
float denom = pow((NdotH2 * (r2 - 1.0) + 1.0), dtrExponent) * PI;
|
|
685
|
-
return r2 / denom;
|
|
686
|
-
}`),r.add(i.H`float geometricOcclusionKelemen(float LoH)
|
|
687
|
-
{
|
|
688
|
-
return 0.25 / (LoH * LoH);
|
|
689
|
-
}`),r.add(i.H`vec3 brdfSpecularWater(in PBRShadingWater props, float roughness, vec3 F0, float F0Max)
|
|
690
|
-
{
|
|
691
|
-
vec3 F = fresnelReflection(props.VdotH, F0, F0Max);
|
|
692
|
-
float dSun = normalDistributionWater(props.NdotH, roughness);
|
|
693
|
-
float V = geometricOcclusionKelemen(props.LdotH);
|
|
694
|
-
float diffusionSunHaze = mix(roughness + 0.045, roughness + 0.385, 1.0 - props.VdotH);
|
|
695
|
-
float strengthSunHaze = 1.2;
|
|
696
|
-
float dSunHaze = normalDistributionWater(props.NdotH, diffusionSunHaze)*strengthSunHaze;
|
|
697
|
-
return ((dSun + dSunHaze) * V) * F;
|
|
698
|
-
}
|
|
699
|
-
vec3 tonemapACES(const vec3 x) {
|
|
700
|
-
return (x * (2.51 * x + 0.03)) / (x * (2.43 * x + 0.59) + 0.14);
|
|
701
|
-
}`)):1!==t.pbrMode&&2!==t.pbrMode||(e.include(o),r.add(i.H`struct PBRShadingInfo
|
|
702
|
-
{
|
|
703
|
-
float NdotL;
|
|
704
|
-
float NdotV;
|
|
705
|
-
float NdotH;
|
|
706
|
-
float VdotH;
|
|
707
|
-
float LdotH;
|
|
708
|
-
float NdotNG;
|
|
709
|
-
float RdotNG;
|
|
710
|
-
float NdotAmbDir;
|
|
711
|
-
float NdotH_Horizon;
|
|
712
|
-
vec3 skyRadianceToSurface;
|
|
713
|
-
vec3 groundRadianceToSurface;
|
|
714
|
-
vec3 skyIrradianceToSurface;
|
|
715
|
-
vec3 groundIrradianceToSurface;
|
|
716
|
-
float averageAmbientRadiance;
|
|
717
|
-
float ssao;
|
|
718
|
-
vec3 albedoLinear;
|
|
719
|
-
vec3 f0;
|
|
720
|
-
vec3 f90;
|
|
721
|
-
vec3 diffuseColor;
|
|
722
|
-
float metalness;
|
|
723
|
-
float roughness;
|
|
724
|
-
};`),r.add(i.H`float normalDistribution(float NdotH, float roughness)
|
|
725
|
-
{
|
|
726
|
-
float a = NdotH * roughness;
|
|
727
|
-
float b = roughness / (1.0 - NdotH * NdotH + a * a);
|
|
728
|
-
return b * b * INV_PI;
|
|
729
|
-
}`),r.add(i.H`const vec4 c0 = vec4(-1.0, -0.0275, -0.572, 0.022);
|
|
730
|
-
const vec4 c1 = vec4( 1.0, 0.0425, 1.040, -0.040);
|
|
731
|
-
const vec2 c2 = vec2(-1.04, 1.04);
|
|
732
|
-
vec2 prefilteredDFGAnalytical(float roughness, float NdotV) {
|
|
733
|
-
vec4 r = roughness * c0 + c1;
|
|
734
|
-
float a004 = min(r.x * r.x, exp2(-9.28 * NdotV)) * r.x + r.y;
|
|
735
|
-
return c2 * a004 + r.zw;
|
|
736
|
-
}`),r.add(i.H`vec3 evaluateEnvironmentIllumination(PBRShadingInfo inputs) {
|
|
737
|
-
vec3 indirectDiffuse = evaluateDiffuseIlluminationHemisphere(inputs.groundIrradianceToSurface, inputs.skyIrradianceToSurface, inputs.NdotNG);
|
|
738
|
-
vec3 indirectSpecular = evaluateSpecularIlluminationHemisphere(inputs.groundRadianceToSurface, inputs.skyRadianceToSurface, inputs.RdotNG, inputs.roughness);
|
|
739
|
-
vec3 diffuseComponent = inputs.diffuseColor * indirectDiffuse * INV_PI;
|
|
740
|
-
vec2 dfg = prefilteredDFGAnalytical(inputs.roughness, inputs.NdotV);
|
|
741
|
-
vec3 specularColor = inputs.f0 * dfg.x + inputs.f90 * dfg.y;
|
|
742
|
-
vec3 specularComponent = specularColor * indirectSpecular;
|
|
743
|
-
return (diffuseComponent + specularComponent);
|
|
744
|
-
}`),r.add(i.H`float gamutMapChanel(float x, vec2 p){
|
|
745
|
-
return (x < p.x) ? mix(0.0, p.y, x/p.x) : mix(p.y, 1.0, (x - p.x) / (1.0 - p.x) );
|
|
746
|
-
}`),r.add(i.H`vec3 blackLevelSoftCompression(vec3 inColor, PBRShadingInfo inputs){
|
|
747
|
-
vec3 outColor;
|
|
748
|
-
vec2 p = vec2(0.02 * (inputs.averageAmbientRadiance), 0.0075 * (inputs.averageAmbientRadiance));
|
|
749
|
-
outColor.x = gamutMapChanel(inColor.x, p) ;
|
|
750
|
-
outColor.y = gamutMapChanel(inColor.y, p) ;
|
|
751
|
-
outColor.z = gamutMapChanel(inColor.z, p) ;
|
|
752
|
-
return outColor;
|
|
753
|
-
}`))}},85504:(e,t,r)=>{r.d(t,{jV:()=>a,nW:()=>s});var i=r(72119),o=r(91982),n=r(74709);function a(e,t){const r=e.fragment,i=t.hasMetalnessAndRoughnessTexture||t.hasEmissionTexture||t.hasOcclusionTexture;1===t.pbrMode&&i&&e.include(o.i,t),2!==t.pbrMode?(0===t.pbrMode&&r.code.add(n.H`float getBakedOcclusion() { return 1.0; }`),1===t.pbrMode&&(r.uniforms.add("emissionFactor","vec3"),r.uniforms.add("mrrFactors","vec3"),r.code.add(n.H`vec3 mrr;
|
|
754
|
-
vec3 emission;
|
|
755
|
-
float occlusion;`),t.hasMetalnessAndRoughnessTexture&&(r.uniforms.add("texMetallicRoughness","sampler2D"),t.supportsTextureAtlas&&r.uniforms.add("texMetallicRoughnessSize","vec2"),r.code.add(n.H`void applyMetallnessAndRoughness(TextureLookupParameter params) {
|
|
756
|
-
vec3 metallicRoughness = textureLookup(texMetallicRoughness, params).rgb;
|
|
757
|
-
mrr[0] *= metallicRoughness.b;
|
|
758
|
-
mrr[1] *= metallicRoughness.g;
|
|
759
|
-
}`)),t.hasEmissionTexture&&(r.uniforms.add("texEmission","sampler2D"),t.supportsTextureAtlas&&r.uniforms.add("texEmissionSize","vec2"),r.code.add(n.H`void applyEmission(TextureLookupParameter params) {
|
|
760
|
-
emission *= textureLookup(texEmission, params).rgb;
|
|
761
|
-
}`)),t.hasOcclusionTexture?(r.uniforms.add("texOcclusion","sampler2D"),t.supportsTextureAtlas&&r.uniforms.add("texOcclusionSize","vec2"),r.code.add(n.H`void applyOcclusion(TextureLookupParameter params) {
|
|
762
|
-
occlusion *= textureLookup(texOcclusion, params).r;
|
|
763
|
-
}
|
|
764
|
-
float getBakedOcclusion() {
|
|
765
|
-
return occlusion;
|
|
766
|
-
}`)):r.code.add(n.H`float getBakedOcclusion() { return 1.0; }`),r.code.add(n.H`
|
|
767
|
-
void applyPBRFactors() {
|
|
768
|
-
mrr = mrrFactors;
|
|
769
|
-
emission = emissionFactor;
|
|
770
|
-
occlusion = 1.0;
|
|
771
|
-
${i?"vtc.uv = vuv0;":""}
|
|
772
|
-
${t.hasMetalnessAndRoughnessTexture?t.supportsTextureAtlas?"vtc.size = texMetallicRoughnessSize; applyMetallnessAndRoughness(vtc);":"applyMetallnessAndRoughness(vtc);":""}
|
|
773
|
-
${t.hasEmissionTexture?t.supportsTextureAtlas?"vtc.size = texEmissionSize; applyEmission(vtc);":"applyEmission(vtc);":""}
|
|
774
|
-
${t.hasOcclusionTexture?t.supportsTextureAtlas?"vtc.size = texOcclusionSize; applyOcclusion(vtc);":"applyOcclusion(vtc);":""}
|
|
775
|
-
}
|
|
776
|
-
`))):r.code.add(n.H`const vec3 mrr = vec3(0.0, 0.6, 0.2);
|
|
777
|
-
const vec3 emission = vec3(0.0);
|
|
778
|
-
float occlusion = 1.0;
|
|
779
|
-
void applyPBRFactors() {}
|
|
780
|
-
float getBakedOcclusion() { return 1.0; }`)}function s(e,t,r=!1){r||(e.setUniform3fv("mrrFactors",t.mrrFactors),e.setUniform3fv("emissionFactor",t.emissiveFactor))}(0,i.f)(0,.6,.2)},27754:(e,t,r)=>{r.d(t,{e:()=>o});var i=r(74709);function o(e){e.vertex.code.add(i.H`const float PI = 3.141592653589793;`),e.fragment.code.add(i.H`const float PI = 3.141592653589793;
|
|
781
|
-
const float LIGHT_NORMALIZATION = 1.0 / PI;
|
|
782
|
-
const float INV_PI = 0.3183098861837907;
|
|
783
|
-
const float HALF_PI = 1.570796326794897;`)}},72303:(e,t,r)=>{r.d(t,{hX:()=>n,vL:()=>a});var i=r(20285),o=r(74709);function n(e){e.fragment.include(i.n),e.fragment.uniforms.add("uShadowMapTex","sampler2D"),e.fragment.uniforms.add("uShadowMapNum","int"),e.fragment.uniforms.add("uShadowMapDistance","vec4"),e.fragment.uniforms.add("uShadowMapMatrix","mat4",4),e.fragment.uniforms.add("uDepthHalfPixelSz","float"),e.fragment.code.add(o.H`int chooseCascade(float _linearDepth, out mat4 mat) {
|
|
784
|
-
vec4 distance = uShadowMapDistance;
|
|
785
|
-
float depth = _linearDepth;
|
|
786
|
-
int i = depth < distance[1] ? 0 : depth < distance[2] ? 1 : depth < distance[3] ? 2 : 3;
|
|
787
|
-
mat = i == 0 ? uShadowMapMatrix[0] : i == 1 ? uShadowMapMatrix[1] : i == 2 ? uShadowMapMatrix[2] : uShadowMapMatrix[3];
|
|
788
|
-
return i;
|
|
789
|
-
}
|
|
790
|
-
vec3 lightSpacePosition(vec3 _vpos, mat4 mat) {
|
|
791
|
-
vec4 lv = mat * vec4(_vpos, 1.0);
|
|
792
|
-
lv.xy /= lv.w;
|
|
793
|
-
return 0.5 * lv.xyz + vec3(0.5);
|
|
794
|
-
}
|
|
795
|
-
vec2 cascadeCoordinates(int i, vec3 lvpos) {
|
|
796
|
-
return vec2(float(i - 2 * (i / 2)) * 0.5, float(i / 2) * 0.5) + 0.5 * lvpos.xy;
|
|
797
|
-
}
|
|
798
|
-
float readShadowMapDepth(vec2 uv, sampler2D _depthTex) {
|
|
799
|
-
return rgba2float(texture2D(_depthTex, uv));
|
|
800
|
-
}
|
|
801
|
-
float posIsInShadow(vec2 uv, vec3 lvpos, sampler2D _depthTex) {
|
|
802
|
-
return readShadowMapDepth(uv, _depthTex) < lvpos.z ? 1.0 : 0.0;
|
|
803
|
-
}
|
|
804
|
-
float filterShadow(vec2 uv, vec3 lvpos, float halfPixelSize, sampler2D _depthTex) {
|
|
805
|
-
float texSize = 0.5 / halfPixelSize;
|
|
806
|
-
vec2 st = fract((vec2(halfPixelSize) + uv) * texSize);
|
|
807
|
-
float s00 = posIsInShadow(uv + vec2(-halfPixelSize, -halfPixelSize), lvpos, _depthTex);
|
|
808
|
-
float s10 = posIsInShadow(uv + vec2(halfPixelSize, -halfPixelSize), lvpos, _depthTex);
|
|
809
|
-
float s11 = posIsInShadow(uv + vec2(halfPixelSize, halfPixelSize), lvpos, _depthTex);
|
|
810
|
-
float s01 = posIsInShadow(uv + vec2(-halfPixelSize, halfPixelSize), lvpos, _depthTex);
|
|
811
|
-
return mix(mix(s00, s10, st.x), mix(s01, s11, st.x), st.y);
|
|
812
|
-
}
|
|
813
|
-
float readShadowMap(const in vec3 _vpos, float _linearDepth) {
|
|
814
|
-
mat4 mat;
|
|
815
|
-
int i = chooseCascade(_linearDepth, mat);
|
|
816
|
-
if (i >= uShadowMapNum) { return 0.0; }
|
|
817
|
-
vec3 lvpos = lightSpacePosition(_vpos, mat);
|
|
818
|
-
if (lvpos.z >= 1.0) { return 0.0; }
|
|
819
|
-
if (lvpos.x < 0.0 || lvpos.x > 1.0 || lvpos.y < 0.0 || lvpos.y > 1.0) { return 0.0; }
|
|
820
|
-
vec2 uv = cascadeCoordinates(i, lvpos);
|
|
821
|
-
return filterShadow(uv, lvpos, uDepthHalfPixelSz, uShadowMapTex);
|
|
822
|
-
}`)}function a(e,t,r){t.shadowMappingEnabled&&t.shadowMap.bindView(e,r)}},98401:(e,t,r)=>{r.d(t,{kl:()=>o,uj:()=>n});var i=r(74709);function o(e,t){t.vvInstancingEnabled&&(t.vvSize||t.vvColor)&&e.attributes.add("instanceFeatureAttribute","vec4"),t.vvSize?(e.vertex.uniforms.add("vvSizeMinSize","vec3"),e.vertex.uniforms.add("vvSizeMaxSize","vec3"),e.vertex.uniforms.add("vvSizeOffset","vec3"),e.vertex.uniforms.add("vvSizeFactor","vec3"),e.vertex.uniforms.add("vvSymbolRotationMatrix","mat3"),e.vertex.uniforms.add("vvSymbolAnchor","vec3"),e.vertex.code.add(i.H`vec3 vvScale(vec4 _featureAttribute) {
|
|
823
|
-
return clamp(vvSizeOffset + _featureAttribute.x * vvSizeFactor, vvSizeMinSize, vvSizeMaxSize);
|
|
824
|
-
}
|
|
825
|
-
vec4 vvTransformPosition(vec3 position, vec4 _featureAttribute) {
|
|
826
|
-
return vec4(vvSymbolRotationMatrix * ( vvScale(_featureAttribute) * (position + vvSymbolAnchor)), 1.0);
|
|
827
|
-
}`),e.vertex.code.add(i.H`
|
|
828
|
-
const float eps = 1.192092896e-07;
|
|
829
|
-
vec4 vvTransformNormal(vec3 _normal, vec4 _featureAttribute) {
|
|
830
|
-
vec3 vvScale = clamp(vvSizeOffset + _featureAttribute.x * vvSizeFactor, vvSizeMinSize + eps, vvSizeMaxSize);
|
|
831
|
-
return vec4(vvSymbolRotationMatrix * _normal / vvScale, 1.0);
|
|
832
|
-
}
|
|
833
|
-
|
|
834
|
-
${t.vvInstancingEnabled?i.H`
|
|
835
|
-
vec4 vvLocalNormal(vec3 _normal) {
|
|
836
|
-
return vvTransformNormal(_normal, instanceFeatureAttribute);
|
|
837
|
-
}
|
|
838
|
-
|
|
839
|
-
vec4 localPosition() {
|
|
840
|
-
return vvTransformPosition(position, instanceFeatureAttribute);
|
|
841
|
-
}`:""}
|
|
842
|
-
`)):e.vertex.code.add(i.H`vec4 localPosition() { return vec4(position, 1.0); }
|
|
843
|
-
vec4 vvLocalNormal(vec3 _normal) { return vec4(_normal, 1.0); }`),t.vvColor?(e.vertex.constants.add("vvColorNumber","int",8),e.vertex.code.add(i.H`
|
|
844
|
-
uniform float vvColorValues[vvColorNumber];
|
|
845
|
-
uniform vec4 vvColorColors[vvColorNumber];
|
|
846
|
-
|
|
847
|
-
vec4 vvGetColor(vec4 featureAttribute, float values[vvColorNumber], vec4 colors[vvColorNumber]) {
|
|
848
|
-
float value = featureAttribute.y;
|
|
849
|
-
if (value <= values[0]) {
|
|
850
|
-
return colors[0];
|
|
851
|
-
}
|
|
852
|
-
|
|
853
|
-
for (int i = 1; i < vvColorNumber; ++i) {
|
|
854
|
-
if (values[i] >= value) {
|
|
855
|
-
float f = (value - values[i-1]) / (values[i] - values[i-1]);
|
|
856
|
-
return mix(colors[i-1], colors[i], f);
|
|
857
|
-
}
|
|
858
|
-
}
|
|
859
|
-
return colors[vvColorNumber - 1];
|
|
860
|
-
}
|
|
861
|
-
|
|
862
|
-
${t.vvInstancingEnabled?i.H`
|
|
863
|
-
vec4 vvColor() {
|
|
864
|
-
return vvGetColor(instanceFeatureAttribute, vvColorValues, vvColorColors);
|
|
865
|
-
}`:""}
|
|
866
|
-
`)):e.vertex.code.add(i.H`vec4 vvColor() { return vec4(1.0); }`)}function n(e,t){(function(e,t){t.vvSizeEnabled&&(e.setUniform3fv("vvSizeMinSize",t.vvSizeMinSize),e.setUniform3fv("vvSizeMaxSize",t.vvSizeMaxSize),e.setUniform3fv("vvSizeOffset",t.vvSizeOffset),e.setUniform3fv("vvSizeFactor",t.vvSizeFactor)),t.vvColorEnabled&&(e.setUniform1fv("vvColorValues",t.vvColorValues),e.setUniform4fv("vvColorColors",t.vvColorColors))})(e,t),t.vvSizeEnabled&&(e.setUniform3fv("vvSymbolAnchor",t.vvSymbolAnchor),e.setUniformMatrix3fv("vvSymbolRotationMatrix",t.vvSymbolRotationMatrix))}},94124:(e,t,r)=>{r.d(t,{sj:()=>a,F:()=>o,bf:()=>n});var i=r(74709);const o=.1,n=.001;function a(e,t){const r=e.fragment;switch(t.alphaDiscardMode){case 0:r.code.add(i.H`
|
|
867
|
-
#define discardOrAdjustAlpha(color) { if (color.a < ${i.H.float(n)}) { discard; } }
|
|
868
|
-
`);break;case 1:r.code.add(i.H`void discardOrAdjustAlpha(inout vec4 color) {
|
|
869
|
-
color.a = 1.0;
|
|
870
|
-
}`);break;case 2:r.uniforms.add("textureAlphaCutoff","float"),r.code.add(i.H`#define discardOrAdjustAlpha(color) { if (color.a < textureAlphaCutoff) { discard; } else { color.a = 1.0; } }`);break;case 3:e.fragment.uniforms.add("textureAlphaCutoff","float"),e.fragment.code.add(i.H`#define discardOrAdjustAlpha(color) { if (color.a < textureAlphaCutoff) { discard; } }`)}}},89243:(e,t,r)=>{r.d(t,{$:()=>n,I:()=>a});var i=r(80442),o=r(74709);function n({code:e},t){t.doublePrecisionRequiresObfuscation?e.add(o.H`vec3 dpPlusFrc(vec3 a, vec3 b) {
|
|
871
|
-
return mix(a, a + b, vec3(notEqual(b, vec3(0))));
|
|
872
|
-
}
|
|
873
|
-
vec3 dpMinusFrc(vec3 a, vec3 b) {
|
|
874
|
-
return mix(vec3(0), a - b, vec3(notEqual(a, b)));
|
|
875
|
-
}
|
|
876
|
-
vec3 dpAdd(vec3 hiA, vec3 loA, vec3 hiB, vec3 loB) {
|
|
877
|
-
vec3 t1 = dpPlusFrc(hiA, hiB);
|
|
878
|
-
vec3 e = dpMinusFrc(t1, hiA);
|
|
879
|
-
vec3 t2 = dpMinusFrc(hiB, e) + dpMinusFrc(hiA, dpMinusFrc(t1, e)) + loA + loB;
|
|
880
|
-
return t1 + t2;
|
|
881
|
-
}`):e.add(o.H`vec3 dpAdd(vec3 hiA, vec3 loA, vec3 hiB, vec3 loB) {
|
|
882
|
-
vec3 t1 = hiA + hiB;
|
|
883
|
-
vec3 e = t1 - hiA;
|
|
884
|
-
vec3 t2 = ((hiB - e) + (hiA - (t1 - e))) + loA + loB;
|
|
885
|
-
return t1 + t2;
|
|
886
|
-
}`)}function a(e){return!!(0,i.Z)("force-double-precision-obfuscation")||e.driverTest.doublePrecisionRequiresObfuscation}},93396:(e,t,r)=>{r.d(t,{a:()=>n});var i=r(74709),o=r(49300);function n(e,t){const r=i.H`
|
|
887
|
-
/*
|
|
888
|
-
* ${t.name}
|
|
889
|
-
* ${0===t.output?"RenderOutput: Color":1===t.output?"RenderOutput: Depth":3===t.output?"RenderOutput: Shadow":2===t.output?"RenderOutput: Normal":4===t.output?"RenderOutput: Highlight":""}
|
|
890
|
-
*/
|
|
891
|
-
`;(0,o.CG)()&&(e.fragment.code.add(r),e.vertex.code.add(r))}},90692:(e,t,r)=>{r.d(t,{y:()=>n});var i=r(74709);function o(e){e.code.add(i.H`vec4 premultiplyAlpha(vec4 v) {
|
|
892
|
-
return vec4(v.rgb * v.a, v.a);
|
|
893
|
-
}
|
|
894
|
-
vec3 rgb2hsv(vec3 c) {
|
|
895
|
-
vec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0);
|
|
896
|
-
vec4 p = c.g < c.b ? vec4(c.bg, K.wz) : vec4(c.gb, K.xy);
|
|
897
|
-
vec4 q = c.r < p.x ? vec4(p.xyw, c.r) : vec4(c.r, p.yzx);
|
|
898
|
-
float d = q.x - min(q.w, q.y);
|
|
899
|
-
float e = 1.0e-10;
|
|
900
|
-
return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), min(d / (q.x + e), 1.0), q.x);
|
|
901
|
-
}
|
|
902
|
-
vec3 hsv2rgb(vec3 c) {
|
|
903
|
-
vec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);
|
|
904
|
-
vec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www);
|
|
905
|
-
return c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y);
|
|
906
|
-
}
|
|
907
|
-
float rgb2v(vec3 c) {
|
|
908
|
-
return max(c.x, max(c.y, c.z));
|
|
909
|
-
}`)}function n(e){e.include(o),e.code.add(i.H`
|
|
910
|
-
vec3 mixExternalColor(vec3 internalColor, vec3 textureColor, vec3 externalColor, int mode) {
|
|
911
|
-
// workaround for artifacts in OSX using Intel Iris Pro
|
|
912
|
-
// see: https://devtopia.esri.com/WebGIS/arcgis-js-api/issues/10475
|
|
913
|
-
vec3 internalMixed = internalColor * textureColor;
|
|
914
|
-
vec3 allMixed = internalMixed * externalColor;
|
|
915
|
-
|
|
916
|
-
if (mode == ${i.H.int(1)}) {
|
|
917
|
-
return allMixed;
|
|
918
|
-
}
|
|
919
|
-
else if (mode == ${i.H.int(2)}) {
|
|
920
|
-
return internalMixed;
|
|
921
|
-
}
|
|
922
|
-
else if (mode == ${i.H.int(3)}) {
|
|
923
|
-
return externalColor;
|
|
924
|
-
}
|
|
925
|
-
else {
|
|
926
|
-
// tint (or something invalid)
|
|
927
|
-
float vIn = rgb2v(internalMixed);
|
|
928
|
-
vec3 hsvTint = rgb2hsv(externalColor);
|
|
929
|
-
vec3 hsvOut = vec3(hsvTint.x, hsvTint.y, vIn * hsvTint.z);
|
|
930
|
-
return hsv2rgb(hsvOut);
|
|
931
|
-
}
|
|
932
|
-
}
|
|
933
|
-
|
|
934
|
-
float mixExternalOpacity(float internalOpacity, float textureOpacity, float externalOpacity, int mode) {
|
|
935
|
-
// workaround for artifacts in OSX using Intel Iris Pro
|
|
936
|
-
// see: https://devtopia.esri.com/WebGIS/arcgis-js-api/issues/10475
|
|
937
|
-
float internalMixed = internalOpacity * textureOpacity;
|
|
938
|
-
float allMixed = internalMixed * externalOpacity;
|
|
939
|
-
|
|
940
|
-
if (mode == ${i.H.int(2)}) {
|
|
941
|
-
return internalMixed;
|
|
942
|
-
}
|
|
943
|
-
else if (mode == ${i.H.int(3)}) {
|
|
944
|
-
return externalOpacity;
|
|
945
|
-
}
|
|
946
|
-
else {
|
|
947
|
-
// multiply or tint (or something invalid)
|
|
948
|
-
return allMixed;
|
|
949
|
-
}
|
|
950
|
-
}
|
|
951
|
-
`)}},20285:(e,t,r)=>{r.d(t,{n:()=>o});var i=r(74709);function o(e){e.code.add(i.H`const float MAX_RGBA_FLOAT =
|
|
952
|
-
255.0 / 256.0 +
|
|
953
|
-
255.0 / 256.0 / 256.0 +
|
|
954
|
-
255.0 / 256.0 / 256.0 / 256.0 +
|
|
955
|
-
255.0 / 256.0 / 256.0 / 256.0 / 256.0;
|
|
956
|
-
const vec4 FIXED_POINT_FACTORS = vec4(1.0, 256.0, 256.0 * 256.0, 256.0 * 256.0 * 256.0);
|
|
957
|
-
vec4 float2rgba(const float value) {
|
|
958
|
-
float valueInValidDomain = clamp(value, 0.0, MAX_RGBA_FLOAT);
|
|
959
|
-
vec4 fixedPointU8 = floor(fract(valueInValidDomain * FIXED_POINT_FACTORS) * 256.0);
|
|
960
|
-
const float toU8AsFloat = 1.0 / 255.0;
|
|
961
|
-
return fixedPointU8 * toU8AsFloat;
|
|
962
|
-
}
|
|
963
|
-
const vec4 RGBA_2_FLOAT_FACTORS = vec4(
|
|
964
|
-
255.0 / (256.0),
|
|
965
|
-
255.0 / (256.0 * 256.0),
|
|
966
|
-
255.0 / (256.0 * 256.0 * 256.0),
|
|
967
|
-
255.0 / (256.0 * 256.0 * 256.0 * 256.0)
|
|
968
|
-
);
|
|
969
|
-
float rgba2float(vec4 rgba) {
|
|
970
|
-
return dot(rgba, RGBA_2_FLOAT_FACTORS);
|
|
971
|
-
}`)}},33680:(e,t,r)=>{r.d(t,{kG:()=>n});const i=r(92604).Z.getLogger("esri.views.3d.webgl-engine.core.shaderModules.shaderBuilder");class o{constructor(){this.includedModules=new Map}include(e,t){this.includedModules.has(e)?this.includedModules.get(e)!==t&&i.error("Trying to include shader module multiple times with different sets of options."):(this.includedModules.set(e,t),e(this.builder,t))}}class n extends o{constructor(){super(...arguments),this.vertex=new l,this.fragment=new l,this.attributes=new c,this.varyings=new d,this.extensions=new u,this.constants=new h}get fragmentUniforms(){return this.fragment.uniforms}get builder(){return this}generateSource(e){const t=this.extensions.generateSource(e),r=this.attributes.generateSource(e),i=this.varyings.generateSource(),o="vertex"===e?this.vertex:this.fragment,n=o.uniforms.generateSource(),a=o.code.generateSource(),s="vertex"===e?m:f,l=this.constants.generateSource().concat(o.constants.generateSource());return`\n${t.join("\n")}\n\n${s}\n\n${l.join("\n")}\n\n${n.join("\n")}\n\n${r.join("\n")}\n\n${i.join("\n")}\n\n${a.join("\n")}`}}class a{constructor(){this._entries=new Map}add(e,t,r){const i=`${e}_${t}_${r}`;return this._entries.set(i,{name:e,type:t,arraySize:r}),this}generateSource(){return Array.from(this._entries.values()).map((e=>{return`uniform ${e.type} ${e.name}${t=e.arraySize,t?`[${t}]`:""};`;var t}))}get entries(){return Array.from(this._entries.values())}}class s{constructor(){this._entries=new Array}add(e){this._entries.push(e)}generateSource(){return this._entries}}class l extends o{constructor(){super(...arguments),this.uniforms=new a,this.code=new s,this.constants=new h}get builder(){return this}}class c{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 d{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 u{constructor(){this._entries=new Set}add(e){this._entries.add(e)}generateSource(e){const t="vertex"===e?u.ALLOWLIST_VERTEX:u.ALLOWLIST_FRAGMENT;return Array.from(this._entries).filter((e=>t.includes(e))).map((e=>`#extension ${e} : enable`))}}u.ALLOWLIST_FRAGMENT=["GL_EXT_shader_texture_lod","GL_OES_standard_derivatives"],u.ALLOWLIST_VERTEX=[];class h{constructor(){this._entries=[]}add(e,t,r){let i="ERROR_CONSTRUCTOR_STRING";switch(t){case"float":i=h.numberToFloatStr(r);break;case"int":i=h.numberToIntStr(r);break;case"bool":i=r.toString();break;case"vec2":i=`vec2(${h.numberToFloatStr(r[0])}, ${h.numberToFloatStr(r[1])})`;break;case"vec3":i=`vec3(${h.numberToFloatStr(r[0])}, ${h.numberToFloatStr(r[1])}, ${h.numberToFloatStr(r[2])})`;break;case"vec4":i=`vec4(${h.numberToFloatStr(r[0])}, ${h.numberToFloatStr(r[1])}, ${h.numberToFloatStr(r[2])}, ${h.numberToFloatStr(r[3])})`;break;case"ivec2":i=`ivec2(${h.numberToIntStr(r[0])}, ${h.numberToIntStr(r[1])})`;break;case"ivec3":i=`ivec3(${h.numberToIntStr(r[0])}, ${h.numberToIntStr(r[1])}, ${h.numberToIntStr(r[2])})`;break;case"ivec4":i=`ivec4(${h.numberToIntStr(r[0])}, ${h.numberToIntStr(r[1])}, ${h.numberToIntStr(r[2])}, ${h.numberToIntStr(r[3])})`;break;case"mat2":case"mat3":case"mat4":i=`${t}(${Array.prototype.map.call(r,(e=>h.numberToFloatStr(e))).join(", ")})`}return this._entries.push(`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 f="#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",m="precision highp float;\nprecision highp sampler2D;"},74709:(e,t,r)=>{function i(e,...t){let r="";for(let i=0;i<t.length;i++)r+=e[i]+t[i];return r+=e[e.length-1],r}r.d(t,{H:()=>i}),function(e){e.int=function(e){return Math.round(e).toString()},e.float=function(e){return e.toPrecision(8)}}(i||(i={}))},11726:(e,t,r)=>{r.d(t,{hu:()=>o}),r(22021),r(52138),r(4307),r(97323),r(65617),r(98766),(0,r(88669).c)();class i{constructor(e){this.message=e}toString(){return`AssertException: ${this.message}`}}function o(e,t){if(!e){t=t||"assert";const e=new Error(t);throw e.stack&&console.log(e.stack),new i(t)}}},37782:(e,t,r)=>{r.d(t,{bj:()=>y,FZ:()=>C,Uf:()=>M,Bw:()=>f,LO:()=>w,Hx:()=>T});var i=r(22021),o=r(70586),n=r(17896),a=r(65617),s=r(60437);function l(e,t,r,o){return function(e,t){return Math.max((0,i.t7)(e*t.scale,e,t.factor),function(e,t){return 0===e?t.minPixelSize:t.minPixelSize*(1+2*t.paddingPixels/e)}(e,t))}(e,function(e,t,r){const i=r.parameters,o=r.paddingPixelsOverride;return c.scale=Math.min(i.divisor/(t-i.offset),1),c.factor=function(e){return Math.abs(e*e*e)}(e),c.minPixelSize=i.minPixelSize,c.paddingPixels=o,c}(t,r,o))}(0,i.Vl)(10),(0,i.Vl)(12),(0,i.Vl)(70),(0,i.Vl)(40);const c={scale:0,factor:0,minPixelSize:0,paddingPixels:0};var d=r(11726),u=(r(52138),r(13598));r(9820),new Float64Array(3),new Float32Array(6),(0,u.c)();const h=(0,s.Ue)();function f(e,t,r,i,n,a,s){if(!function(e){return!!(0,o.pC)(e)&&!e.visible}(t))if(e.boundingInfo){(0,d.hu)(0===e.primitiveType);const t=r.tolerance;p(e.boundingInfo,i,n,t,a,s)}else{const t=e.indices.get("position"),r=e.vertexAttributes.get("position");v(i,n,0,t.length/3,t,r,void 0,a,s)}}const m=(0,a.c)();function p(e,t,r,i,a,l){if((0,o.Wi)(e))return;const c=function(e,t,r){return(0,n.s)(r,1/(t[0]-e[0]),1/(t[1]-e[1]),1/(t[2]-e[2]))}(t,r,m);if((0,s.op)(h,e.getBBMin()),(0,s.Tn)(h,e.getBBMax()),(0,o.pC)(a)&&a.applyToAabb(h),function(e,t,r,i){return function(e,t,r,i,o){const n=(e[0]-i-t[0])*r[0],a=(e[3]+i-t[0])*r[0];let s=Math.min(n,a),l=Math.max(n,a);const c=(e[1]-i-t[1])*r[1],d=(e[4]+i-t[1])*r[1];if(l=Math.min(l,Math.max(c,d)),l<0)return!1;if(s=Math.max(s,Math.min(c,d)),s>l)return!1;const u=(e[2]-i-t[2])*r[2],h=(e[5]+i-t[2])*r[2];return l=Math.min(l,Math.max(u,h)),!(l<0)&&(s=Math.max(s,Math.min(u,h)),!(s>l)&&s<1/0)}(e,t,r,i)}(h,t,c,i)){const{primitiveIndices:o,indices:n,position:s}=e,c=o?o.length:n.length/3;if(c>A){const o=e.getChildren();if(void 0!==o){for(let e=0;e<8;++e)void 0!==o[e]&&p(o[e],t,r,i,a,l);return}}v(t,r,0,c,n,s,o,a,l)}}const g=(0,a.c)();function v(e,t,r,i,n,a,s,l,c){if(s)return function(e,t,r,i,n,a,s,l,c){const d=a.data,u=a.stride||a.size,h=e[0],f=e[1],m=e[2],p=t[0]-h,v=t[1]-f,x=t[2]-m;for(let e=r;e<i;++e){const t=s[e];let r=3*t,i=u*n[r++],a=d[i++],_=d[i++],T=d[i];i=u*n[r++];let y=d[i++],M=d[i++],w=d[i];i=u*n[r];let S=d[i++],C=d[i++],A=d[i];(0,o.pC)(l)&&([a,_,T]=l.applyToVertex(a,_,T,e),[y,M,w]=l.applyToVertex(y,M,w,e),[S,C,A]=l.applyToVertex(S,C,A,e));const P=y-a,F=M-_,E=w-T,D=S-a,O=C-_,L=A-T,R=v*L-O*x,z=x*D-L*p,H=p*O-D*v,I=P*R+F*z+E*H;if(Math.abs(I)<=Number.EPSILON)continue;const N=h-a,B=f-_,U=m-T,V=N*R+B*z+U*H;if(I>0){if(V<0||V>I)continue}else if(V>0||V<I)continue;const k=B*E-F*U,G=U*P-E*N,W=N*F-P*B,q=p*k+v*G+x*W;if(I>0){if(q<0||V+q>I)continue}else if(q>0||V+q<I)continue;const $=(D*k+O*G+L*W)/I;$>=0&&c($,b(P,F,E,D,O,L,g),t)}}(e,t,r,i,n,a,s,l,c);const d=a.data,u=a.stride||a.size,h=e[0],f=e[1],m=e[2],p=t[0]-h,v=t[1]-f,x=t[2]-m;for(let e=r,t=3*r;e<i;++e){let r=u*n[t++],i=d[r++],a=d[r++],s=d[r];r=u*n[t++];let _=d[r++],T=d[r++],y=d[r];r=u*n[t++];let M=d[r++],w=d[r++],S=d[r];(0,o.pC)(l)&&([i,a,s]=l.applyToVertex(i,a,s,e),[_,T,y]=l.applyToVertex(_,T,y,e),[M,w,S]=l.applyToVertex(M,w,S,e));const C=_-i,A=T-a,P=y-s,F=M-i,E=w-a,D=S-s,O=v*D-E*x,L=x*F-D*p,R=p*E-F*v,z=C*O+A*L+P*R;if(Math.abs(z)<=Number.EPSILON)continue;const H=h-i,I=f-a,N=m-s,B=H*O+I*L+N*R;if(z>0){if(B<0||B>z)continue}else if(B>0||B<z)continue;const U=I*P-A*N,V=N*C-P*H,k=H*A-C*I,G=p*U+v*V+x*k;if(z>0){if(G<0||B+G>z)continue}else if(G>0||B+G<z)continue;const W=(F*U+E*V+D*k)/z;W>=0&&c(W,b(C,A,P,F,E,D,g),e)}}const x=(0,a.c)(),_=(0,a.c)();function b(e,t,r,i,o,a,s){return(0,n.s)(x,e,t,r),(0,n.s)(_,i,o,a),(0,n.c)(s,x,_),(0,n.n)(s,s),s}function T(e,t,r,o,n){let a=(r.screenLength||0)*e.pixelRatio;n&&(a=l(a,o,t,n));const s=a*Math.tan(.5*e.fovY)/(.5*e.fullHeight);return(0,i.uZ)(s*t,r.minWorldLength||0,null!=r.maxWorldLength?r.maxWorldLength:1/0)}function y(e,t,r){if(!e)return;const i=e.parameters,o=e.paddingPixelsOverride;t.setUniform4f(r,i.divisor,i.offset,i.minPixelSize,o)}function M(e,t){const r=t?M(t):{};for(const t in e){let i=e[t];i&&i.forEach&&(i=S(i)),null==i&&t in r||(r[t]=i)}return r}function w(e,t){let r=!1;for(const i in t){const o=t[i];void 0!==o&&(r=!0,Array.isArray(o)?e[i]=o.slice():e[i]=o)}return r}function S(e){const t=[];return e.forEach((e=>t.push(e))),t}const C={multiply:1,ignore:2,replace:3,tint:4},A=1e3},75656:(e,t,r)=>{r.d(t,{Z:()=>l});var i=r(22021),o=r(70586),n=r(49300),a=r(35371),s=r(46314);class l{constructor(e,t,r=null){this._context=e,this.type="texture",this._glName=null,this._descriptor=void 0,this._samplingModeDirty=!1,this._wrapModeDirty=!1,e.instanceCounter.increment(a._g.Texture,this),this._descriptor={target:3553,samplingMode:9729,wrapMode:10497,flipped:!1,hasMipmap:!1,isOpaque:!1,unpackAlignment:4,preMultiplyAlpha:!1,...t},34067===this._descriptor.target?this.setDataCubeMap(r):this.setData(r)}get glName(){return this._glName}get descriptor(){return this._descriptor}dispose(){this._context.gl&&this._glName&&(this._context.unbindTextureAllUnits(this),this._context.gl.deleteTexture(this._glName),this._glName=null,this._context.instanceCounter.decrement(a._g.Texture,this))}release(){this.dispose()}resize(e,t){const r=this._descriptor;r.width===e&&r.height===t||(r.width=e,r.height=t,34067===this._descriptor.target?this.setDataCubeMap(null):this.setData(null))}setDataCubeMap(e=null){for(let t=34069;t<=34074;t++)this.setData(e,t)}setData(e,t=3553){if(!this._context||!this._context.gl)return;const r=this._context.gl;this._glName||(this._glName=r.createTexture()),void 0===e&&(e=null),null===e&&(this._descriptor.width=this._descriptor.width||4,this._descriptor.height=this._descriptor.height||4);const i=this._context.bindTexture(this,l.TEXTURE_UNIT_FOR_UPDATES),a=this._descriptor;l._validateTexture(this._context,a),r.pixelStorei(r.UNPACK_ALIGNMENT,a.unpackAlignment),r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,a.flipped?1:0),r.pixelStorei(r.UNPACK_PREMULTIPLY_ALPHA_WEBGL,a.preMultiplyAlpha?1:0);const s=a.pixelFormat;let c=a.internalFormat?a.internalFormat:this._deriveInternalFormat(s,a.dataType);if(e instanceof ImageData||e instanceof HTMLImageElement||e instanceof HTMLCanvasElement||e instanceof HTMLVideoElement){let i=e.width,o=e.height;e instanceof HTMLVideoElement&&(i=e.videoWidth,o=e.videoHeight),a.width&&a.height,r.texImage2D(t,0,c,s,a.dataType,e),(0,n.zu)(r),a.hasMipmap&&this.generateMipmap(),void 0===a.width&&(a.width=i),void 0===a.height&&(a.height=o)}else{null!=a.width&&null!=a.height||console.error("Width and height must be specified!"),r.DEPTH24_STENCIL8&&c===r.DEPTH_STENCIL&&(c=r.DEPTH24_STENCIL8);let i=a.width,l=a.height;if(function(e){return(0,o.pC)(e)&&"type"in e&&"compressed"===e.type}(e)){const o=Math.round(Math.log(Math.max(i,l))/Math.LN2)+1;a.hasMipmap=a.hasMipmap&&o===e.levels.length;for(let o=0;;++o){const n=e.levels[Math.min(o,e.levels.length-1)];if(r.compressedTexImage2D(t,o,c,i,l,0,n),1===i&&1===l||!a.hasMipmap)break;i=Math.max(1,i>>1),l=Math.max(1,l>>1)}}else if((0,o.pC)(e))r.texImage2D(t,0,c,i,l,0,s,a.dataType,e),(0,n.zu)(r),a.hasMipmap&&this.generateMipmap();else for(let e=0;r.texImage2D(t,e,c,i,l,0,s,a.dataType,null),(0,n.zu)(r),(1!==i||1!==l)&&a.hasMipmap;++e)i=Math.max(1,i>>1),l=Math.max(1,l>>1)}l._applySamplingMode(r,this._descriptor),l._applyWrapMode(r,this._descriptor),l._applyAnisotropicFilteringParameters(this._context,this._descriptor),(0,n.zu)(r),this._context.bindTexture(i,l.TEXTURE_UNIT_FOR_UPDATES)}updateData(e,t,r,i,o,n,a=3553){n||console.error("An attempt to use uninitialized data!"),this._glName||console.error("An attempt to update uninitialized texture!");const s=this._context.gl,c=this._descriptor,d=this._context.bindTexture(this,l.TEXTURE_UNIT_FOR_UPDATES);(t<0||r<0||i>c.width||o>c.height||t+i>c.width||r+o>c.height)&&console.error("An attempt to update out of bounds of the texture!"),s.pixelStorei(s.UNPACK_ALIGNMENT,c.unpackAlignment),s.pixelStorei(s.UNPACK_FLIP_Y_WEBGL,c.flipped?1:0),s.pixelStorei(s.UNPACK_PREMULTIPLY_ALPHA_WEBGL,c.preMultiplyAlpha?1:0),n instanceof ImageData||n instanceof HTMLImageElement||n instanceof HTMLCanvasElement||n instanceof HTMLVideoElement?s.texSubImage2D(a,e,t,r,c.pixelFormat,c.dataType,n):s.texSubImage2D(a,e,t,r,i,o,c.pixelFormat,c.dataType,n),this._context.bindTexture(d,l.TEXTURE_UNIT_FOR_UPDATES)}generateMipmap(){const e=this._descriptor;e.hasMipmap||(e.hasMipmap=!0,this._samplingModeDirty=!0,l._validateTexture(this._context,e)),9729===e.samplingMode?(this._samplingModeDirty=!0,e.samplingMode=9985):9728===e.samplingMode&&(this._samplingModeDirty=!0,e.samplingMode=9984);const t=this._context.bindTexture(this,l.TEXTURE_UNIT_FOR_UPDATES);this._context.gl.generateMipmap(e.target),this._context.bindTexture(t,l.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,l._validateTexture(this._context,this._descriptor),this._wrapModeDirty=!0)}applyChanges(){const e=this._context.gl,t=this._descriptor;this._samplingModeDirty&&(l._applySamplingMode(e,t),this._samplingModeDirty=!1),this._wrapModeDirty&&(l._applyWrapMode(e,t),this._wrapModeDirty=!1)}_deriveInternalFormat(e,t){if("webgl"===this._context.webglVersion)return e;if(5126===t)switch(e){case 6408:return 34836;case 6407:return 34837;default:throw new Error("Unable to derive format")}return e}static _validateTexture(e,t){(t.width<0||t.height<0)&&console.error("Negative dimension parameters are not allowed!");const r=(0,i.wt)(t.width)&&(0,i.wt)(t.height);(0,s.Z)(e.gl)||r||("number"==typeof t.wrapMode?33071!==t.wrapMode&&console.error("Non-power-of-two textures must have a wrap mode of CLAMP_TO_EDGE!"):33071===t.wrapMode.s&&33071===t.wrapMode.t||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;9985===r||9987===r?(r=9729,t.hasMipmap||(i=9729)):9984!==r&&9986!==r||(r=9728,t.hasMipmap||(i=9728)),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)}}l.TEXTURE_UNIT_FOR_UPDATES=0},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,{zu:()=>c,hZ:()=>s,CG:()=>l});var i=r(20102),o=r(80442);const n=r(92604).Z.getLogger("esri/views/webgl"),a=!!(0,o.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),o=(new Error).stack;n.error(new i.Z("webgl-error","WebGL error occured",{message:r,stack:o}))}}}},9820:(e,t,r)=>{function i(e,t,r){for(let i=0;i<r;++i)t[2*i]=e[i],t[2*i+1]=e[i]-t[2*i]}function o(e,t,r,o){for(let s=0;s<o;++s)n[0]=e[s],i(n,a,1),t[s]=a[0],r[s]=a[1]}r.d(t,{po:()=>o});const n=new Float64Array(1),a=new Float32Array(2)},35371:(e,t,r)=>{var i,o;r.d(t,{Lu:()=>n,_g:()=>i}),(o=i||(i={}))[o.Texture=0]="Texture",o[o.Buffer=1]="Buffer",o[o.VAO=2]="VAO",o[o.VertexShader=3]="VertexShader",o[o.FragmentShader=4]="FragmentShader",o[o.Program=5]="Program",o[o.Framebuffer=6]="Framebuffer",o[o.Renderbuffer=7]="Renderbuffer",o[o.COUNT=8]="COUNT";const n=33306}}]);
|