@itwin/core-frontend 5.1.2 → 5.1.3-experimental.1
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/CHANGELOG.md +6 -1
- package/lib/cjs/AccuDraw.js.map +1 -1
- package/lib/cjs/AccuSnap.js.map +1 -1
- package/lib/cjs/ApproximateTerrainHeights.js.map +1 -1
- package/lib/cjs/ApproximateTerrainHeightsProps.js.map +1 -1
- package/lib/cjs/AuxCoordSys.js.map +1 -1
- package/lib/cjs/BackgroundMapGeometry.js.map +1 -1
- package/lib/cjs/BingLocation.js.map +1 -1
- package/lib/cjs/BriefcaseConnection.js.map +1 -1
- package/lib/cjs/BriefcaseTxns.js.map +1 -1
- package/lib/cjs/CatalogConnection.js.map +1 -1
- package/lib/cjs/CategorySelectorState.js.map +1 -1
- package/lib/cjs/ChangeFlags.js.map +1 -1
- package/lib/cjs/CheckpointConnection.js.map +1 -1
- package/lib/cjs/ContextRealityModelState.js.map +1 -1
- package/lib/cjs/CoordSystem.js.map +1 -1
- package/lib/cjs/DecorationsCache.js.map +1 -1
- package/lib/cjs/DevTools.js.map +1 -1
- package/lib/cjs/DisplayStyleState.js.map +1 -1
- package/lib/cjs/DrawingViewState.js +5 -5
- package/lib/cjs/DrawingViewState.js.map +1 -1
- package/lib/cjs/ElementLocateManager.js.map +1 -1
- package/lib/cjs/EmphasizeElements.js.map +1 -1
- package/lib/cjs/EntityState.js.map +1 -1
- package/lib/cjs/EnvironmentDecorations.js.map +1 -1
- package/lib/cjs/FeatureOverrideProvider.js.map +1 -1
- package/lib/cjs/FlashSettings.js.map +1 -1
- package/lib/cjs/FrontendHubAccess.js.map +1 -1
- package/lib/cjs/Frustum2d.js.map +1 -1
- package/lib/cjs/FrustumAnimator.js.map +1 -1
- package/lib/cjs/FuzzySearch.js.map +1 -1
- package/lib/cjs/GeoServices.js.map +1 -1
- package/lib/cjs/GlobeAnimator.js.map +1 -1
- package/lib/cjs/GraphicalEditingScope.js.map +1 -1
- package/lib/cjs/HitDetail.js.map +1 -1
- package/lib/cjs/IModelApp.js.map +1 -1
- package/lib/cjs/IModelConnection.js +26 -26
- package/lib/cjs/IModelConnection.js.map +1 -1
- package/lib/cjs/IModelRoutingContext.js.map +1 -1
- package/lib/cjs/IModeljs-css.js +133 -133
- package/lib/cjs/IModeljs-css.js.map +1 -1
- package/lib/cjs/IpcApp.js.map +1 -1
- package/lib/cjs/LinePlaneIntersect.js.map +1 -1
- package/lib/cjs/LocalhostIpcApp.js.map +1 -1
- package/lib/cjs/MarginPercent.js.map +1 -1
- package/lib/cjs/Marker.js.map +1 -1
- package/lib/cjs/ModelSelectorState.js.map +1 -1
- package/lib/cjs/ModelState.js.map +1 -1
- package/lib/cjs/NativeApp.js.map +1 -1
- package/lib/cjs/NativeAppLogger.js.map +1 -1
- package/lib/cjs/NoRenderApp.js.map +1 -1
- package/lib/cjs/NotificationManager.js.map +1 -1
- package/lib/cjs/PerModelCategoryVisibility.js.map +1 -1
- package/lib/cjs/PlanarClipMaskState.js.map +1 -1
- package/lib/cjs/RealityDataSource.js.map +1 -1
- package/lib/cjs/RealityDataSourceCesiumIonAssetImpl.js.map +1 -1
- package/lib/cjs/RealityDataSourceContextShareImpl.js.map +1 -1
- package/lib/cjs/RealityDataSourceTilesetUrlImpl.js.map +1 -1
- package/lib/cjs/SelectionSet.js.map +1 -1
- package/lib/cjs/SheetViewState.js.map +1 -1
- package/lib/cjs/SpatialClassifiersState.js.map +1 -1
- package/lib/cjs/SpatialViewState.js.map +1 -1
- package/lib/cjs/Sprites.js.map +1 -1
- package/lib/cjs/StandardView.js.map +1 -1
- package/lib/cjs/SubCategoriesCache.js.map +1 -1
- package/lib/cjs/TentativePoint.js.map +1 -1
- package/lib/cjs/Tiles.js.map +1 -1
- package/lib/cjs/TxnEntityChanges.js.map +1 -1
- package/lib/cjs/UserPreferences.js.map +1 -1
- package/lib/cjs/ViewAnimation.js.map +1 -1
- package/lib/cjs/ViewContext.js.map +1 -1
- package/lib/cjs/ViewCreator2d.js.map +1 -1
- package/lib/cjs/ViewCreator3d.js.map +1 -1
- package/lib/cjs/ViewGlobalLocation.js.map +1 -1
- package/lib/cjs/ViewManager.js.map +1 -1
- package/lib/cjs/ViewPose.js.map +1 -1
- package/lib/cjs/ViewState.js.map +1 -1
- package/lib/cjs/ViewStatus.js.map +1 -1
- package/lib/cjs/ViewingSpace.js.map +1 -1
- package/lib/cjs/Viewport.js.map +1 -1
- package/lib/cjs/ViewportSync.js.map +1 -1
- package/lib/cjs/common/FrontendLoggerCategory.js.map +1 -1
- package/lib/cjs/common/ImageUtil.js.map +1 -1
- package/lib/cjs/common/ViewRect.js.map +1 -1
- package/lib/cjs/common/WorkerProxy.js.map +1 -1
- package/lib/cjs/common/gltf/GltfModel.js.map +1 -1
- package/lib/cjs/common/gltf/GltfParser.js.map +1 -1
- package/lib/cjs/common/gltf/GltfSchema.js.map +1 -1
- package/lib/cjs/common/imdl/CompactEdges.js.map +1 -1
- package/lib/cjs/common/imdl/ImdlModel.js.map +1 -1
- package/lib/cjs/common/imdl/ImdlSchema.js.map +1 -1
- package/lib/cjs/common/imdl/ParseImdlDocument.js.map +1 -1
- package/lib/cjs/common/internal/Symbols.js.map +1 -1
- package/lib/cjs/common/internal/render/AnimationNodeId.js.map +1 -1
- package/lib/cjs/common/internal/render/AuxChannelTable.js.map +1 -1
- package/lib/cjs/common/internal/render/ColorMap.js.map +1 -1
- package/lib/cjs/common/internal/render/DisplayParams.js.map +1 -1
- package/lib/cjs/common/internal/render/EdgeParams.js.map +1 -1
- package/lib/cjs/common/internal/render/GeometryAccumulator.js.map +1 -1
- package/lib/cjs/common/internal/render/GeometryList.js.map +1 -1
- package/lib/cjs/common/internal/render/GeometryPrimitives.js.map +1 -1
- package/lib/cjs/common/internal/render/GraphicDescriptionBuilderImpl.js.map +1 -1
- package/lib/cjs/common/internal/render/GraphicDescriptionContextImpl.js.map +1 -1
- package/lib/cjs/common/internal/render/InstancedGraphicPropsBuilder.js.map +1 -1
- package/lib/cjs/common/internal/render/LineCode.js.map +1 -1
- package/lib/cjs/common/internal/render/MeshBuilder.js.map +1 -1
- package/lib/cjs/common/internal/render/MeshBuilderMap.js.map +1 -1
- package/lib/cjs/common/internal/render/MeshParams.js.map +1 -1
- package/lib/cjs/common/internal/render/MeshPrimitive.js.map +1 -1
- package/lib/cjs/common/internal/render/MeshPrimitives.js.map +1 -1
- package/lib/cjs/common/internal/render/OvrFlags.js.map +1 -1
- package/lib/cjs/common/internal/render/PointCloudPrimitive.js.map +1 -1
- package/lib/cjs/common/internal/render/PointStringParams.js.map +1 -1
- package/lib/cjs/common/internal/render/Polyface.js.map +1 -1
- package/lib/cjs/common/internal/render/PolylineParams.js.map +1 -1
- package/lib/cjs/common/internal/render/Primitives.js.map +1 -1
- package/lib/cjs/common/internal/render/Strokes.js.map +1 -1
- package/lib/cjs/common/internal/render/SurfaceParams.js.map +1 -1
- package/lib/cjs/common/internal/render/VertexIndices.js.map +1 -1
- package/lib/cjs/common/internal/render/VertexKey.js.map +1 -1
- package/lib/cjs/common/internal/render/VertexTable.js.map +1 -1
- package/lib/cjs/common/internal/render/VertexTableBuilder.js.map +1 -1
- package/lib/cjs/common/internal/render/VertexTableSplitter.js.map +1 -1
- package/lib/cjs/common/render/BatchOptions.js.map +1 -1
- package/lib/cjs/common/render/GraphicAssembler.js.map +1 -1
- package/lib/cjs/common/render/GraphicDescriptionBuilder.js.map +1 -1
- package/lib/cjs/common/render/GraphicDescriptionContext.js.map +1 -1
- package/lib/cjs/common/render/GraphicPrimitive.js.map +1 -1
- package/lib/cjs/common/render/GraphicType.js.map +1 -1
- package/lib/cjs/common/render/InstancedGraphicParams.js.map +1 -1
- package/lib/cjs/common/render/MaterialParams.js.map +1 -1
- package/lib/cjs/common/render/RenderInstancesParams.js.map +1 -1
- package/lib/cjs/common/render/TextureParams.js.map +1 -1
- package/lib/cjs/common.js.map +1 -1
- package/lib/cjs/core-frontend.js.map +1 -1
- package/lib/cjs/extension/Extension.js.map +1 -1
- package/lib/cjs/extension/ExtensionAdmin.js.map +1 -1
- package/lib/cjs/extension/ExtensionHost.js.map +1 -1
- package/lib/cjs/extension/ExtensionRuntime.js.map +1 -1
- package/lib/cjs/extension/providers/ExtensionLoadScript.js.map +1 -1
- package/lib/cjs/extension/providers/LocalExtensionProvider.js.map +1 -1
- package/lib/cjs/extension/providers/RemoteExtensionProvider.js.map +1 -1
- package/lib/cjs/internal/GoogleMapsDecorator.js.map +1 -1
- package/lib/cjs/internal/RealityDataSourceGoogle3dTilesImpl.js.map +1 -1
- package/lib/cjs/internal/ScriptUtils.js.map +1 -1
- package/lib/cjs/internal/cross-package.js.map +1 -1
- package/lib/cjs/internal/render/AnimationBranchState.js.map +1 -1
- package/lib/cjs/internal/render/FrameStatsCollector.js.map +1 -1
- package/lib/cjs/internal/render/GraphicBranchFrustum.js.map +1 -1
- package/lib/cjs/internal/render/GraphicTemplateImpl.js.map +1 -1
- package/lib/cjs/internal/render/MeshMapLayerGraphicParams.js.map +1 -1
- package/lib/cjs/internal/render/MockRender.js.map +1 -1
- package/lib/cjs/internal/render/PrimitiveBuilder.js.map +1 -1
- package/lib/cjs/internal/render/QueryVisibileFeatures.js.map +1 -1
- package/lib/cjs/internal/render/RenderAreaPattern.js.map +1 -1
- package/lib/cjs/internal/render/RenderGeometry.js.map +1 -1
- package/lib/cjs/internal/render/RenderInstancesParamsImpl.js.map +1 -1
- package/lib/cjs/internal/render/RenderMaterialSource.js.map +1 -1
- package/lib/cjs/internal/render/RenderPlan.js.map +1 -1
- package/lib/cjs/internal/render/RenderPlanarClassifier.js.map +1 -1
- package/lib/cjs/internal/render/RenderSkyBoxParams.js.map +1 -1
- package/lib/cjs/internal/render/RenderSystemDebugControl.js.map +1 -1
- package/lib/cjs/internal/render/RenderTargetDebugControl.js.map +1 -1
- package/lib/cjs/internal/render/RenderTerrain.js.map +1 -1
- package/lib/cjs/internal/render/RenderTextureDrape.js.map +1 -1
- package/lib/cjs/internal/render/SceneVolumeClassifier.js.map +1 -1
- package/lib/cjs/internal/render/UpsampleRealityMeshParams.js.map +1 -1
- package/lib/cjs/internal/render/webgl/AtmosphereUniforms.js.map +1 -1
- package/lib/cjs/internal/render/webgl/AttributeBuffers.js.map +1 -1
- package/lib/cjs/internal/render/webgl/AttributeMap.js.map +1 -1
- package/lib/cjs/internal/render/webgl/BackgroundMapDrape.js +1 -1
- package/lib/cjs/internal/render/webgl/BackgroundMapDrape.js.map +1 -1
- package/lib/cjs/internal/render/webgl/BatchState.js.map +1 -1
- package/lib/cjs/internal/render/webgl/BatchUniforms.js.map +1 -1
- package/lib/cjs/internal/render/webgl/BranchStack.js.map +1 -1
- package/lib/cjs/internal/render/webgl/BranchState.js.map +1 -1
- package/lib/cjs/internal/render/webgl/BranchUniforms.js.map +1 -1
- package/lib/cjs/internal/render/webgl/CachedGeometry.js.map +1 -1
- package/lib/cjs/internal/render/webgl/ClipStack.js.map +1 -1
- package/lib/cjs/internal/render/webgl/ClipVolume.js.map +1 -1
- package/lib/cjs/internal/render/webgl/ClippingProgram.js.map +1 -1
- package/lib/cjs/internal/render/webgl/ColorInfo.js.map +1 -1
- package/lib/cjs/internal/render/webgl/ContourUniforms.js.map +1 -1
- package/lib/cjs/internal/render/webgl/Contours.js.map +1 -1
- package/lib/cjs/internal/render/webgl/Diagnostics.js.map +1 -1
- package/lib/cjs/internal/render/webgl/Disposable.js.map +1 -1
- package/lib/cjs/internal/render/webgl/DrawCommand.js.map +1 -1
- package/lib/cjs/internal/render/webgl/EDL.js.map +1 -1
- package/lib/cjs/internal/render/webgl/EdgeGeometry.js.map +1 -1
- package/lib/cjs/internal/render/webgl/EdgeSettings.js.map +1 -1
- package/lib/cjs/internal/render/webgl/FeatureOverrides.js.map +1 -1
- package/lib/cjs/internal/render/webgl/FloatRGBA.js.map +1 -1
- package/lib/cjs/internal/render/webgl/FrameBuffer.js.map +1 -1
- package/lib/cjs/internal/render/webgl/FrustumUniforms.js.map +1 -1
- package/lib/cjs/internal/render/webgl/GL.js.map +1 -1
- package/lib/cjs/internal/render/webgl/GLTimer.js.map +1 -1
- package/lib/cjs/internal/render/webgl/Graphic.js.map +1 -1
- package/lib/cjs/internal/render/webgl/HiliteUniforms.js.map +1 -1
- package/lib/cjs/internal/render/webgl/IModelFrameLifecycle.js.map +1 -1
- package/lib/cjs/internal/render/webgl/IndexedEdgeGeometry.js.map +1 -1
- package/lib/cjs/internal/render/webgl/InstancedGeometry.js.map +1 -1
- package/lib/cjs/internal/render/webgl/Layer.js.map +1 -1
- package/lib/cjs/internal/render/webgl/LayerCommands.js.map +1 -1
- package/lib/cjs/internal/render/webgl/LightingUniforms.js.map +1 -1
- package/lib/cjs/internal/render/webgl/LineCode.js.map +1 -1
- package/lib/cjs/internal/render/webgl/MapLayerParams.js.map +1 -1
- package/lib/cjs/internal/render/webgl/Material.js.map +1 -1
- package/lib/cjs/internal/render/webgl/Matrix.js.map +1 -1
- package/lib/cjs/internal/render/webgl/Mesh.js.map +1 -1
- package/lib/cjs/internal/render/webgl/MeshData.js.map +1 -1
- package/lib/cjs/internal/render/webgl/MeshGeometry.js.map +1 -1
- package/lib/cjs/internal/render/webgl/PerformanceMetrics.js.map +1 -1
- package/lib/cjs/internal/render/webgl/PlanarClassifier.js +1 -1
- package/lib/cjs/internal/render/webgl/PlanarClassifier.js.map +1 -1
- package/lib/cjs/internal/render/webgl/PlanarGrid.js.map +1 -1
- package/lib/cjs/internal/render/webgl/PlanarTextureProjection.js.map +1 -1
- package/lib/cjs/internal/render/webgl/PointCloud.js.map +1 -1
- package/lib/cjs/internal/render/webgl/PointString.js.map +1 -1
- package/lib/cjs/internal/render/webgl/Polyline.js.map +1 -1
- package/lib/cjs/internal/render/webgl/Primitive.js.map +1 -1
- package/lib/cjs/internal/render/webgl/RealityMesh.js.map +1 -1
- package/lib/cjs/internal/render/webgl/RealityModelUniforms.js.map +1 -1
- package/lib/cjs/internal/render/webgl/RenderBuffer.js.map +1 -1
- package/lib/cjs/internal/render/webgl/RenderCommands.js.map +1 -1
- package/lib/cjs/internal/render/webgl/RenderFlags.js.map +1 -1
- package/lib/cjs/internal/render/webgl/RenderState.js.map +1 -1
- package/lib/cjs/internal/render/webgl/SceneCompositor.js.map +1 -1
- package/lib/cjs/internal/render/webgl/ScratchDrawParams.js.map +1 -1
- package/lib/cjs/internal/render/webgl/ScreenSpaceEffect.js.map +1 -1
- package/lib/cjs/internal/render/webgl/ShaderBuilder.js.map +1 -1
- package/lib/cjs/internal/render/webgl/ShaderProgram.js.map +1 -1
- package/lib/cjs/internal/render/webgl/ShadowUniforms.js.map +1 -1
- package/lib/cjs/internal/render/webgl/SolarShadowMap.js.map +1 -1
- package/lib/cjs/internal/render/webgl/StyleUniforms.js.map +1 -1
- package/lib/cjs/internal/render/webgl/SurfaceGeometry.js.map +1 -1
- package/lib/cjs/internal/render/webgl/Sync.js.map +1 -1
- package/lib/cjs/internal/render/webgl/System.js.map +1 -1
- package/lib/cjs/internal/render/webgl/Target.js.map +1 -1
- package/lib/cjs/internal/render/webgl/TargetGraphics.js.map +1 -1
- package/lib/cjs/internal/render/webgl/TargetUniforms.js.map +1 -1
- package/lib/cjs/internal/render/webgl/Technique.js.map +1 -1
- package/lib/cjs/internal/render/webgl/TechniqueFlags.js.map +1 -1
- package/lib/cjs/internal/render/webgl/TechniqueId.js.map +1 -1
- package/lib/cjs/internal/render/webgl/Texture.js.map +1 -1
- package/lib/cjs/internal/render/webgl/TextureDrape.js.map +1 -1
- package/lib/cjs/internal/render/webgl/ThematicSensors.js.map +1 -1
- package/lib/cjs/internal/render/webgl/ThematicUniforms.js.map +1 -1
- package/lib/cjs/internal/render/webgl/UniformHandle.js.map +1 -1
- package/lib/cjs/internal/render/webgl/VertexLUT.js.map +1 -1
- package/lib/cjs/internal/render/webgl/ViewRectUniforms.js.map +1 -1
- package/lib/cjs/internal/render/webgl/VisibleTileFeatures.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/AmbientOcclusion.js +154 -154
- package/lib/cjs/internal/render/webgl/glsl/AmbientOcclusion.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Animation.js +83 -83
- package/lib/cjs/internal/render/webgl/glsl/Animation.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Atmosphere.js +266 -266
- package/lib/cjs/internal/render/webgl/glsl/Atmosphere.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Blur.js +37 -37
- package/lib/cjs/internal/render/webgl/glsl/Blur.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/ClearPickAndColor.js +5 -5
- package/lib/cjs/internal/render/webgl/glsl/ClearPickAndColor.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/ClearTranslucent.js +3 -3
- package/lib/cjs/internal/render/webgl/glsl/ClearTranslucent.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Clipping.js +96 -96
- package/lib/cjs/internal/render/webgl/glsl/Clipping.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Color.js +12 -12
- package/lib/cjs/internal/render/webgl/glsl/Color.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Combine3Textures.js +7 -7
- package/lib/cjs/internal/render/webgl/glsl/Combine3Textures.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/CombineTextures.js +5 -5
- package/lib/cjs/internal/render/webgl/glsl/CombineTextures.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Common.js +16 -16
- package/lib/cjs/internal/render/webgl/glsl/Common.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Composite.js +71 -71
- package/lib/cjs/internal/render/webgl/glsl/Composite.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Contours.js +101 -101
- package/lib/cjs/internal/render/webgl/glsl/Contours.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/CopyColor.js +6 -6
- package/lib/cjs/internal/render/webgl/glsl/CopyColor.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/CopyPickBuffers.js +3 -3
- package/lib/cjs/internal/render/webgl/glsl/CopyPickBuffers.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/CopyStencil.js +4 -4
- package/lib/cjs/internal/render/webgl/glsl/CopyStencil.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Decode.js +65 -65
- package/lib/cjs/internal/render/webgl/glsl/Decode.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/EDL.js +103 -103
- package/lib/cjs/internal/render/webgl/glsl/EDL.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/EVSMFromDepth.js +25 -25
- package/lib/cjs/internal/render/webgl/glsl/EVSMFromDepth.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Edge.js +146 -146
- package/lib/cjs/internal/render/webgl/glsl/Edge.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/FeatureSymbology.js +238 -238
- package/lib/cjs/internal/render/webgl/glsl/FeatureSymbology.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Fragment.js +43 -43
- package/lib/cjs/internal/render/webgl/glsl/Fragment.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Instancing.js +21 -21
- package/lib/cjs/internal/render/webgl/glsl/Instancing.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Lighting.js +92 -92
- package/lib/cjs/internal/render/webgl/glsl/Lighting.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/LogarithmicDepthBuffer.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/LookupTable.js +19 -19
- package/lib/cjs/internal/render/webgl/glsl/LookupTable.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/MaplayerDraping.js +87 -87
- package/lib/cjs/internal/render/webgl/glsl/MaplayerDraping.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Monochrome.js +13 -13
- package/lib/cjs/internal/render/webgl/glsl/Monochrome.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/PlanarClassification.js +188 -188
- package/lib/cjs/internal/render/webgl/glsl/PlanarClassification.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/PlanarGrid.js +22 -22
- package/lib/cjs/internal/render/webgl/glsl/PlanarGrid.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/PointCloud.js +28 -28
- package/lib/cjs/internal/render/webgl/glsl/PointCloud.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/PointString.js +9 -9
- package/lib/cjs/internal/render/webgl/glsl/PointString.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Polyline.js +213 -213
- package/lib/cjs/internal/render/webgl/glsl/Polyline.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/RealityMesh.js +25 -25
- package/lib/cjs/internal/render/webgl/glsl/RealityMesh.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/RenderPass.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/ScreenSpaceEffect.js +9 -9
- package/lib/cjs/internal/render/webgl/glsl/ScreenSpaceEffect.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/SkyBox.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/SkySphere.js +49 -49
- package/lib/cjs/internal/render/webgl/glsl/SkySphere.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/SolarShadowMapping.js +51 -51
- package/lib/cjs/internal/render/webgl/glsl/SolarShadowMapping.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Surface.js +235 -235
- package/lib/cjs/internal/render/webgl/glsl/Surface.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Thematic.js +136 -136
- package/lib/cjs/internal/render/webgl/glsl/Thematic.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Translucency.js +19 -19
- package/lib/cjs/internal/render/webgl/glsl/Translucency.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Vertex.js +73 -73
- package/lib/cjs/internal/render/webgl/glsl/Vertex.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Viewport.js +38 -38
- package/lib/cjs/internal/render/webgl/glsl/Viewport.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/ViewportQuad.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Wiremesh.js +10 -10
- package/lib/cjs/internal/render/webgl/glsl/Wiremesh.js.map +1 -1
- package/lib/cjs/internal/tile/B3dmReader.js.map +1 -1
- package/lib/cjs/internal/tile/BatchedTileIdMap.js.map +1 -1
- package/lib/cjs/internal/tile/CesiumAssetProvider.js.map +1 -1
- package/lib/cjs/internal/tile/ClassifierTileTree.js.map +1 -1
- package/lib/cjs/internal/tile/ContextShareProvider.js.map +1 -1
- package/lib/cjs/internal/tile/DynamicIModelTile.js.map +1 -1
- package/lib/cjs/internal/tile/FetchCloudStorage.js.map +1 -1
- package/lib/cjs/internal/tile/GraphicsCollector.js.map +1 -1
- package/lib/cjs/internal/tile/I3dmReader.js.map +1 -1
- package/lib/cjs/internal/tile/IModelTile.js.map +1 -1
- package/lib/cjs/internal/tile/IModelTileRequestChannels.js.map +1 -1
- package/lib/cjs/internal/tile/IModelTileTree.js.map +1 -1
- package/lib/cjs/internal/tile/ImdlDecoder.js.map +1 -1
- package/lib/cjs/internal/tile/ImdlGraphicsCreator.js.map +1 -1
- package/lib/cjs/internal/tile/ImdlParser.js.map +1 -1
- package/lib/cjs/internal/tile/LRUTileList.js.map +1 -1
- package/lib/cjs/internal/tile/LayerTileTreeHandler.js.map +1 -1
- package/lib/cjs/internal/tile/LayerTileTreeReferenceHandler.js.map +1 -1
- package/lib/cjs/internal/tile/MeshoptCompression.js.map +1 -1
- package/lib/cjs/internal/tile/OPCFormatInterpreter.js.map +1 -1
- package/lib/cjs/internal/tile/OrbitGtTileTree.js.map +1 -1
- package/lib/cjs/internal/tile/PntsReader.js.map +1 -1
- package/lib/cjs/internal/tile/PrimaryTileTree.js.map +1 -1
- package/lib/cjs/internal/tile/RealityModelTileTree.js.map +1 -1
- package/lib/cjs/internal/tile/RealityTileDrawArgs.js.map +1 -1
- package/lib/cjs/internal/tile/RealityTileLoader.js.map +1 -1
- package/lib/cjs/internal/tile/ThreeDTileFormatInterpreter.js.map +1 -1
- package/lib/cjs/internal/tile/TileUserSet.js.map +1 -1
- package/lib/cjs/internal/tile/ViewFlagOverrides.js.map +1 -1
- package/lib/cjs/internal/tile/map/ArcGISTileMap.js.map +1 -1
- package/lib/cjs/internal/tile/map/ArcGisUtilities.js.map +1 -1
- package/lib/cjs/internal/tile/map/ImageryProviders/ArcGISImageryProvider.js.map +1 -1
- package/lib/cjs/internal/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
- package/lib/cjs/internal/tile/map/ImageryProviders/ArcGisGeometryReaderJSON.js.map +1 -1
- package/lib/cjs/internal/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.js.map +1 -1
- package/lib/cjs/internal/tile/map/ImageryProviders/BingImageryProvider.js.map +1 -1
- package/lib/cjs/internal/tile/map/ImageryProviders/CoordinatesUtils.js.map +1 -1
- package/lib/cjs/internal/tile/map/ImageryProviders/FeatureAttributeDrivenSymbology.js.map +1 -1
- package/lib/cjs/internal/tile/map/ImageryProviders/FeatureGeometryRenderer.js.map +1 -1
- package/lib/cjs/internal/tile/map/ImageryProviders/FeatureGraphicsRenderer.js.map +1 -1
- package/lib/cjs/internal/tile/map/ImageryProviders/FeatureSymbologyRenderer.js.map +1 -1
- package/lib/cjs/internal/tile/map/ImageryProviders/MapBoxLayerImageryProvider.js.map +1 -1
- package/lib/cjs/internal/tile/map/ImageryProviders/TileUrlImageryProvider.js.map +1 -1
- package/lib/cjs/internal/tile/map/ImageryProviders/WebMercator.js.map +1 -1
- package/lib/cjs/internal/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js.map +1 -1
- package/lib/cjs/internal/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js.map +1 -1
- package/lib/cjs/internal/tile/map/MapTileAvailability.js.map +1 -1
- package/lib/cjs/internal/tile/map/MapTileLoader.js.map +1 -1
- package/lib/cjs/internal/tile/map/UrlUtils.js.map +1 -1
- package/lib/cjs/internal/tile/map/WmsCapabilities.js.map +1 -1
- package/lib/cjs/internal/tile/map/WmsUtilities.js.map +1 -1
- package/lib/cjs/internal/tile/map/WmtsCapabilities.js.map +1 -1
- package/lib/cjs/internal/webgl.js.map +1 -1
- package/lib/cjs/properties/AngleDescription.js.map +1 -1
- package/lib/cjs/properties/FormattedQuantityDescription.js.map +1 -1
- package/lib/cjs/properties/LengthDescription.js.map +1 -1
- package/lib/cjs/public/scripts/checkbrowser.js +24 -24
- package/lib/cjs/quantity-formatting/BaseUnitFormattingSettingsProvider.js.map +1 -1
- package/lib/cjs/quantity-formatting/BasicUnitsProvider.js.map +1 -1
- package/lib/cjs/quantity-formatting/LocalUnitFormatProvider.js.map +1 -1
- package/lib/cjs/quantity-formatting/QuantityFormatter.js.map +1 -1
- package/lib/cjs/quantity-formatting/QuantityTypesEditorSpecs.js.map +1 -1
- package/lib/cjs/quantity-formatting/UnitsData.js.map +1 -1
- package/lib/cjs/render/CanvasDecoration.js.map +1 -1
- package/lib/cjs/render/CreateRenderMaterialArgs.js.map +1 -1
- package/lib/cjs/render/CreateTextureArgs.js.map +1 -1
- package/lib/cjs/render/Decorations.js.map +1 -1
- package/lib/cjs/render/FeatureSymbology.js.map +1 -1
- package/lib/cjs/render/FrameStats.js.map +1 -1
- package/lib/cjs/render/GraphicBranch.js.map +1 -1
- package/lib/cjs/render/GraphicBuilder.js.map +1 -1
- package/lib/cjs/render/GraphicTemplate.js.map +1 -1
- package/lib/cjs/render/MeshArgs.js.map +1 -1
- package/lib/cjs/render/ParticleCollectionBuilder.js.map +1 -1
- package/lib/cjs/render/Pixel.js.map +1 -1
- package/lib/cjs/render/PolylineArgs.js.map +1 -1
- package/lib/cjs/render/RealityMeshParams.js.map +1 -1
- package/lib/cjs/render/RenderClipVolume.js.map +1 -1
- package/lib/cjs/render/RenderGraphic.js.map +1 -1
- package/lib/cjs/render/RenderMemory.js.map +1 -1
- package/lib/cjs/render/RenderSystem.js.map +1 -1
- package/lib/cjs/render/RenderTarget.js.map +1 -1
- package/lib/cjs/render/Scene.js.map +1 -1
- package/lib/cjs/render/ScreenSpaceEffectBuilder.js.map +1 -1
- package/lib/cjs/render/VisibleFeature.js.map +1 -1
- package/lib/cjs/request/Request.js.map +1 -1
- package/lib/cjs/request/utils.js.map +1 -1
- package/lib/cjs/tile/DisclosedTileTreeSet.js.map +1 -1
- package/lib/cjs/tile/GltfReader.js.map +1 -1
- package/lib/cjs/tile/ImdlReader.js.map +1 -1
- package/lib/cjs/tile/RealityTile.js.map +1 -1
- package/lib/cjs/tile/RealityTileTree.js.map +1 -1
- package/lib/cjs/tile/RenderGraphicTileTree.js.map +1 -1
- package/lib/cjs/tile/Tile.js.map +1 -1
- package/lib/cjs/tile/TileAdmin.js.map +1 -1
- package/lib/cjs/tile/TileContent.js.map +1 -1
- package/lib/cjs/tile/TileDrawArgs.js.map +1 -1
- package/lib/cjs/tile/TileGeometryCollector.js.map +1 -1
- package/lib/cjs/tile/TileParams.js.map +1 -1
- package/lib/cjs/tile/TileRequest.js.map +1 -1
- package/lib/cjs/tile/TileRequestChannel.js.map +1 -1
- package/lib/cjs/tile/TileRequestChannels.js.map +1 -1
- package/lib/cjs/tile/TileStorage.js.map +1 -1
- package/lib/cjs/tile/TileTree.js.map +1 -1
- package/lib/cjs/tile/TileTreeOwner.js.map +1 -1
- package/lib/cjs/tile/TileTreeParams.js.map +1 -1
- package/lib/cjs/tile/TileTreeReference.js.map +1 -1
- package/lib/cjs/tile/TileTreeSupplier.js.map +1 -1
- package/lib/cjs/tile/TileUsageMarker.js.map +1 -1
- package/lib/cjs/tile/TileUser.js.map +1 -1
- package/lib/cjs/tile/TiledGraphicsProvider.js.map +1 -1
- package/lib/cjs/tile/internal.js.map +1 -1
- package/lib/cjs/tile/map/BingElevation.js.map +1 -1
- package/lib/cjs/tile/map/CesiumTerrainProvider.js.map +1 -1
- package/lib/cjs/tile/map/EllipsoidTerrainProvider.js.map +1 -1
- package/lib/cjs/tile/map/ImageryTileTree.js.map +1 -1
- package/lib/cjs/tile/map/MapCartoRectangle.js.map +1 -1
- package/lib/cjs/tile/map/MapFeatureInfo.js.map +1 -1
- package/lib/cjs/tile/map/MapLayerAuthentication.js.map +1 -1
- package/lib/cjs/tile/map/MapLayerFormatRegistry.js.map +1 -1
- package/lib/cjs/tile/map/MapLayerImageryFormats.js.map +1 -1
- package/lib/cjs/tile/map/MapLayerImageryProvider.js.map +1 -1
- package/lib/cjs/tile/map/MapLayerSources.js.map +1 -1
- package/lib/cjs/tile/map/MapLayerTileTreeReference.js.map +1 -1
- package/lib/cjs/tile/map/MapTile.js.map +1 -1
- package/lib/cjs/tile/map/MapTileTree.js.map +1 -1
- package/lib/cjs/tile/map/MapTiledGraphicsProvider.js.map +1 -1
- package/lib/cjs/tile/map/MapTilingScheme.js.map +1 -1
- package/lib/cjs/tile/map/QuadId.js.map +1 -1
- package/lib/cjs/tile/map/TerrainMeshProvider.js.map +1 -1
- package/lib/cjs/tile/map/TerrainProvider.js.map +1 -1
- package/lib/cjs/tools/AccuDrawTool.js.map +1 -1
- package/lib/cjs/tools/AccuDrawViewportUI.js.map +1 -1
- package/lib/cjs/tools/ClipViewTool.js.map +1 -1
- package/lib/cjs/tools/EditManipulator.js.map +1 -1
- package/lib/cjs/tools/ElementSetTool.js.map +1 -1
- package/lib/cjs/tools/EventController.js.map +1 -1
- package/lib/cjs/tools/IdleTool.js.map +1 -1
- package/lib/cjs/tools/MeasureTool.js.map +1 -1
- package/lib/cjs/tools/PrimitiveTool.js.map +1 -1
- package/lib/cjs/tools/SelectTool.js.map +1 -1
- package/lib/cjs/tools/Tool.js.map +1 -1
- package/lib/cjs/tools/ToolAdmin.js.map +1 -1
- package/lib/cjs/tools/ToolAssistance.js.map +1 -1
- package/lib/cjs/tools/ToolSettings.js.map +1 -1
- package/lib/cjs/tools/ViewTool.js.map +1 -1
- package/lib/cjs/workers/ImdlParser/Worker.js.map +1 -1
- package/lib/cjs/workers/ImdlParser/webpack.config.js +42 -42
- package/lib/cjs/workers/RegisterWorker.js.map +1 -1
- package/lib/esm/AccuDraw.js.map +1 -1
- package/lib/esm/AccuSnap.js.map +1 -1
- package/lib/esm/ApproximateTerrainHeights.js.map +1 -1
- package/lib/esm/ApproximateTerrainHeightsProps.js.map +1 -1
- package/lib/esm/AuxCoordSys.js.map +1 -1
- package/lib/esm/BackgroundMapGeometry.js.map +1 -1
- package/lib/esm/BingLocation.js.map +1 -1
- package/lib/esm/BriefcaseConnection.js.map +1 -1
- package/lib/esm/BriefcaseTxns.js.map +1 -1
- package/lib/esm/CatalogConnection.js.map +1 -1
- package/lib/esm/CategorySelectorState.js.map +1 -1
- package/lib/esm/ChangeFlags.js.map +1 -1
- package/lib/esm/CheckpointConnection.js.map +1 -1
- package/lib/esm/ContextRealityModelState.js.map +1 -1
- package/lib/esm/CoordSystem.js.map +1 -1
- package/lib/esm/DecorationsCache.js.map +1 -1
- package/lib/esm/DevTools.js.map +1 -1
- package/lib/esm/DisplayStyleState.js.map +1 -1
- package/lib/esm/DrawingViewState.js +5 -5
- package/lib/esm/DrawingViewState.js.map +1 -1
- package/lib/esm/ElementLocateManager.js.map +1 -1
- package/lib/esm/EmphasizeElements.js.map +1 -1
- package/lib/esm/EntityState.js.map +1 -1
- package/lib/esm/EnvironmentDecorations.js.map +1 -1
- package/lib/esm/FeatureOverrideProvider.js.map +1 -1
- package/lib/esm/FlashSettings.js.map +1 -1
- package/lib/esm/FrontendHubAccess.js.map +1 -1
- package/lib/esm/Frustum2d.js.map +1 -1
- package/lib/esm/FrustumAnimator.js.map +1 -1
- package/lib/esm/FuzzySearch.js.map +1 -1
- package/lib/esm/GeoServices.js.map +1 -1
- package/lib/esm/GlobeAnimator.js.map +1 -1
- package/lib/esm/GraphicalEditingScope.js.map +1 -1
- package/lib/esm/HitDetail.js.map +1 -1
- package/lib/esm/IModelApp.js.map +1 -1
- package/lib/esm/IModelConnection.js +26 -26
- package/lib/esm/IModelConnection.js.map +1 -1
- package/lib/esm/IModelRoutingContext.js.map +1 -1
- package/lib/esm/IModeljs-css.js +133 -133
- package/lib/esm/IModeljs-css.js.map +1 -1
- package/lib/esm/IpcApp.js.map +1 -1
- package/lib/esm/LinePlaneIntersect.js.map +1 -1
- package/lib/esm/LocalhostIpcApp.js.map +1 -1
- package/lib/esm/MarginPercent.js.map +1 -1
- package/lib/esm/Marker.js.map +1 -1
- package/lib/esm/ModelSelectorState.js.map +1 -1
- package/lib/esm/ModelState.js.map +1 -1
- package/lib/esm/NativeApp.js.map +1 -1
- package/lib/esm/NativeAppLogger.js.map +1 -1
- package/lib/esm/NoRenderApp.js.map +1 -1
- package/lib/esm/NotificationManager.js.map +1 -1
- package/lib/esm/PerModelCategoryVisibility.js.map +1 -1
- package/lib/esm/PlanarClipMaskState.js.map +1 -1
- package/lib/esm/RealityDataSource.js.map +1 -1
- package/lib/esm/RealityDataSourceCesiumIonAssetImpl.js.map +1 -1
- package/lib/esm/RealityDataSourceContextShareImpl.js.map +1 -1
- package/lib/esm/RealityDataSourceTilesetUrlImpl.js.map +1 -1
- package/lib/esm/SelectionSet.js.map +1 -1
- package/lib/esm/SheetViewState.js.map +1 -1
- package/lib/esm/SpatialClassifiersState.js.map +1 -1
- package/lib/esm/SpatialViewState.js.map +1 -1
- package/lib/esm/Sprites.js.map +1 -1
- package/lib/esm/StandardView.js.map +1 -1
- package/lib/esm/SubCategoriesCache.js.map +1 -1
- package/lib/esm/TentativePoint.js.map +1 -1
- package/lib/esm/Tiles.js.map +1 -1
- package/lib/esm/TxnEntityChanges.js.map +1 -1
- package/lib/esm/UserPreferences.js.map +1 -1
- package/lib/esm/ViewAnimation.js.map +1 -1
- package/lib/esm/ViewContext.js.map +1 -1
- package/lib/esm/ViewCreator2d.js.map +1 -1
- package/lib/esm/ViewCreator3d.js.map +1 -1
- package/lib/esm/ViewGlobalLocation.js.map +1 -1
- package/lib/esm/ViewManager.js.map +1 -1
- package/lib/esm/ViewPose.js.map +1 -1
- package/lib/esm/ViewState.js.map +1 -1
- package/lib/esm/ViewStatus.js.map +1 -1
- package/lib/esm/ViewingSpace.js.map +1 -1
- package/lib/esm/Viewport.js.map +1 -1
- package/lib/esm/ViewportSync.js.map +1 -1
- package/lib/esm/common/FrontendLoggerCategory.js.map +1 -1
- package/lib/esm/common/ImageUtil.js.map +1 -1
- package/lib/esm/common/ViewRect.js.map +1 -1
- package/lib/esm/common/WorkerProxy.js.map +1 -1
- package/lib/esm/common/gltf/GltfModel.js.map +1 -1
- package/lib/esm/common/gltf/GltfParser.js.map +1 -1
- package/lib/esm/common/gltf/GltfSchema.js.map +1 -1
- package/lib/esm/common/imdl/CompactEdges.js.map +1 -1
- package/lib/esm/common/imdl/ImdlModel.js.map +1 -1
- package/lib/esm/common/imdl/ImdlSchema.js.map +1 -1
- package/lib/esm/common/imdl/ParseImdlDocument.js.map +1 -1
- package/lib/esm/common/internal/Symbols.js.map +1 -1
- package/lib/esm/common/internal/render/AnimationNodeId.js.map +1 -1
- package/lib/esm/common/internal/render/AuxChannelTable.js.map +1 -1
- package/lib/esm/common/internal/render/ColorMap.js.map +1 -1
- package/lib/esm/common/internal/render/DisplayParams.js.map +1 -1
- package/lib/esm/common/internal/render/EdgeParams.js.map +1 -1
- package/lib/esm/common/internal/render/GeometryAccumulator.js.map +1 -1
- package/lib/esm/common/internal/render/GeometryList.js.map +1 -1
- package/lib/esm/common/internal/render/GeometryPrimitives.js.map +1 -1
- package/lib/esm/common/internal/render/GraphicDescriptionBuilderImpl.js.map +1 -1
- package/lib/esm/common/internal/render/GraphicDescriptionContextImpl.js.map +1 -1
- package/lib/esm/common/internal/render/InstancedGraphicPropsBuilder.js.map +1 -1
- package/lib/esm/common/internal/render/LineCode.js.map +1 -1
- package/lib/esm/common/internal/render/MeshBuilder.js.map +1 -1
- package/lib/esm/common/internal/render/MeshBuilderMap.js.map +1 -1
- package/lib/esm/common/internal/render/MeshParams.js.map +1 -1
- package/lib/esm/common/internal/render/MeshPrimitive.js.map +1 -1
- package/lib/esm/common/internal/render/MeshPrimitives.js.map +1 -1
- package/lib/esm/common/internal/render/OvrFlags.js.map +1 -1
- package/lib/esm/common/internal/render/PointCloudPrimitive.js.map +1 -1
- package/lib/esm/common/internal/render/PointStringParams.js.map +1 -1
- package/lib/esm/common/internal/render/Polyface.js.map +1 -1
- package/lib/esm/common/internal/render/PolylineParams.js.map +1 -1
- package/lib/esm/common/internal/render/Primitives.js.map +1 -1
- package/lib/esm/common/internal/render/Strokes.js.map +1 -1
- package/lib/esm/common/internal/render/SurfaceParams.js.map +1 -1
- package/lib/esm/common/internal/render/VertexIndices.js.map +1 -1
- package/lib/esm/common/internal/render/VertexKey.js.map +1 -1
- package/lib/esm/common/internal/render/VertexTable.js.map +1 -1
- package/lib/esm/common/internal/render/VertexTableBuilder.js.map +1 -1
- package/lib/esm/common/internal/render/VertexTableSplitter.js.map +1 -1
- package/lib/esm/common/render/BatchOptions.js.map +1 -1
- package/lib/esm/common/render/GraphicAssembler.js.map +1 -1
- package/lib/esm/common/render/GraphicDescriptionBuilder.js.map +1 -1
- package/lib/esm/common/render/GraphicDescriptionContext.js.map +1 -1
- package/lib/esm/common/render/GraphicPrimitive.js.map +1 -1
- package/lib/esm/common/render/GraphicType.js.map +1 -1
- package/lib/esm/common/render/InstancedGraphicParams.js.map +1 -1
- package/lib/esm/common/render/MaterialParams.js.map +1 -1
- package/lib/esm/common/render/RenderInstancesParams.js.map +1 -1
- package/lib/esm/common/render/TextureParams.js.map +1 -1
- package/lib/esm/common.js.map +1 -1
- package/lib/esm/core-frontend.js.map +1 -1
- package/lib/esm/extension/Extension.js.map +1 -1
- package/lib/esm/extension/ExtensionAdmin.js.map +1 -1
- package/lib/esm/extension/ExtensionHost.js.map +1 -1
- package/lib/esm/extension/ExtensionRuntime.js.map +1 -1
- package/lib/esm/extension/providers/ExtensionLoadScript.js.map +1 -1
- package/lib/esm/extension/providers/LocalExtensionProvider.js.map +1 -1
- package/lib/esm/extension/providers/RemoteExtensionProvider.js.map +1 -1
- package/lib/esm/internal/GoogleMapsDecorator.js.map +1 -1
- package/lib/esm/internal/RealityDataSourceGoogle3dTilesImpl.js.map +1 -1
- package/lib/esm/internal/ScriptUtils.js.map +1 -1
- package/lib/esm/internal/cross-package.js.map +1 -1
- package/lib/esm/internal/render/AnimationBranchState.js.map +1 -1
- package/lib/esm/internal/render/FrameStatsCollector.js.map +1 -1
- package/lib/esm/internal/render/GraphicBranchFrustum.js.map +1 -1
- package/lib/esm/internal/render/GraphicTemplateImpl.js.map +1 -1
- package/lib/esm/internal/render/MeshMapLayerGraphicParams.js.map +1 -1
- package/lib/esm/internal/render/MockRender.js.map +1 -1
- package/lib/esm/internal/render/PrimitiveBuilder.js.map +1 -1
- package/lib/esm/internal/render/QueryVisibileFeatures.js.map +1 -1
- package/lib/esm/internal/render/RenderAreaPattern.js.map +1 -1
- package/lib/esm/internal/render/RenderGeometry.js.map +1 -1
- package/lib/esm/internal/render/RenderInstancesParamsImpl.js.map +1 -1
- package/lib/esm/internal/render/RenderMaterialSource.js.map +1 -1
- package/lib/esm/internal/render/RenderPlan.js.map +1 -1
- package/lib/esm/internal/render/RenderPlanarClassifier.js.map +1 -1
- package/lib/esm/internal/render/RenderSkyBoxParams.js.map +1 -1
- package/lib/esm/internal/render/RenderSystemDebugControl.js.map +1 -1
- package/lib/esm/internal/render/RenderTargetDebugControl.js.map +1 -1
- package/lib/esm/internal/render/RenderTerrain.js.map +1 -1
- package/lib/esm/internal/render/RenderTextureDrape.js.map +1 -1
- package/lib/esm/internal/render/SceneVolumeClassifier.js.map +1 -1
- package/lib/esm/internal/render/UpsampleRealityMeshParams.js.map +1 -1
- package/lib/esm/internal/render/webgl/AtmosphereUniforms.js.map +1 -1
- package/lib/esm/internal/render/webgl/AttributeBuffers.js.map +1 -1
- package/lib/esm/internal/render/webgl/AttributeMap.js.map +1 -1
- package/lib/esm/internal/render/webgl/BackgroundMapDrape.js +1 -1
- package/lib/esm/internal/render/webgl/BackgroundMapDrape.js.map +1 -1
- package/lib/esm/internal/render/webgl/BatchState.js.map +1 -1
- package/lib/esm/internal/render/webgl/BatchUniforms.js.map +1 -1
- package/lib/esm/internal/render/webgl/BranchStack.js.map +1 -1
- package/lib/esm/internal/render/webgl/BranchState.js.map +1 -1
- package/lib/esm/internal/render/webgl/BranchUniforms.js.map +1 -1
- package/lib/esm/internal/render/webgl/CachedGeometry.js.map +1 -1
- package/lib/esm/internal/render/webgl/ClipStack.js.map +1 -1
- package/lib/esm/internal/render/webgl/ClipVolume.js.map +1 -1
- package/lib/esm/internal/render/webgl/ClippingProgram.js.map +1 -1
- package/lib/esm/internal/render/webgl/ColorInfo.js.map +1 -1
- package/lib/esm/internal/render/webgl/ContourUniforms.js.map +1 -1
- package/lib/esm/internal/render/webgl/Contours.js.map +1 -1
- package/lib/esm/internal/render/webgl/Diagnostics.js.map +1 -1
- package/lib/esm/internal/render/webgl/Disposable.js.map +1 -1
- package/lib/esm/internal/render/webgl/DrawCommand.js.map +1 -1
- package/lib/esm/internal/render/webgl/EDL.js.map +1 -1
- package/lib/esm/internal/render/webgl/EdgeGeometry.js.map +1 -1
- package/lib/esm/internal/render/webgl/EdgeSettings.js.map +1 -1
- package/lib/esm/internal/render/webgl/FeatureOverrides.js.map +1 -1
- package/lib/esm/internal/render/webgl/FloatRGBA.js.map +1 -1
- package/lib/esm/internal/render/webgl/FrameBuffer.js.map +1 -1
- package/lib/esm/internal/render/webgl/FrustumUniforms.js.map +1 -1
- package/lib/esm/internal/render/webgl/GL.js.map +1 -1
- package/lib/esm/internal/render/webgl/GLTimer.js.map +1 -1
- package/lib/esm/internal/render/webgl/Graphic.js.map +1 -1
- package/lib/esm/internal/render/webgl/HiliteUniforms.js.map +1 -1
- package/lib/esm/internal/render/webgl/IModelFrameLifecycle.js.map +1 -1
- package/lib/esm/internal/render/webgl/IndexedEdgeGeometry.js.map +1 -1
- package/lib/esm/internal/render/webgl/InstancedGeometry.js.map +1 -1
- package/lib/esm/internal/render/webgl/Layer.js.map +1 -1
- package/lib/esm/internal/render/webgl/LayerCommands.js.map +1 -1
- package/lib/esm/internal/render/webgl/LightingUniforms.js.map +1 -1
- package/lib/esm/internal/render/webgl/LineCode.js.map +1 -1
- package/lib/esm/internal/render/webgl/MapLayerParams.js.map +1 -1
- package/lib/esm/internal/render/webgl/Material.js.map +1 -1
- package/lib/esm/internal/render/webgl/Matrix.js.map +1 -1
- package/lib/esm/internal/render/webgl/Mesh.js.map +1 -1
- package/lib/esm/internal/render/webgl/MeshData.js.map +1 -1
- package/lib/esm/internal/render/webgl/MeshGeometry.js.map +1 -1
- package/lib/esm/internal/render/webgl/PerformanceMetrics.js.map +1 -1
- package/lib/esm/internal/render/webgl/PlanarClassifier.js +1 -1
- package/lib/esm/internal/render/webgl/PlanarClassifier.js.map +1 -1
- package/lib/esm/internal/render/webgl/PlanarGrid.js.map +1 -1
- package/lib/esm/internal/render/webgl/PlanarTextureProjection.js.map +1 -1
- package/lib/esm/internal/render/webgl/PointCloud.js.map +1 -1
- package/lib/esm/internal/render/webgl/PointString.js.map +1 -1
- package/lib/esm/internal/render/webgl/Polyline.js.map +1 -1
- package/lib/esm/internal/render/webgl/Primitive.js.map +1 -1
- package/lib/esm/internal/render/webgl/RealityMesh.js.map +1 -1
- package/lib/esm/internal/render/webgl/RealityModelUniforms.js.map +1 -1
- package/lib/esm/internal/render/webgl/RenderBuffer.js.map +1 -1
- package/lib/esm/internal/render/webgl/RenderCommands.js.map +1 -1
- package/lib/esm/internal/render/webgl/RenderFlags.js.map +1 -1
- package/lib/esm/internal/render/webgl/RenderState.js.map +1 -1
- package/lib/esm/internal/render/webgl/SceneCompositor.js.map +1 -1
- package/lib/esm/internal/render/webgl/ScratchDrawParams.js.map +1 -1
- package/lib/esm/internal/render/webgl/ScreenSpaceEffect.js.map +1 -1
- package/lib/esm/internal/render/webgl/ShaderBuilder.js.map +1 -1
- package/lib/esm/internal/render/webgl/ShaderProgram.js.map +1 -1
- package/lib/esm/internal/render/webgl/ShadowUniforms.js.map +1 -1
- package/lib/esm/internal/render/webgl/SolarShadowMap.js.map +1 -1
- package/lib/esm/internal/render/webgl/StyleUniforms.js.map +1 -1
- package/lib/esm/internal/render/webgl/SurfaceGeometry.js.map +1 -1
- package/lib/esm/internal/render/webgl/Sync.js.map +1 -1
- package/lib/esm/internal/render/webgl/System.js.map +1 -1
- package/lib/esm/internal/render/webgl/Target.js.map +1 -1
- package/lib/esm/internal/render/webgl/TargetGraphics.js.map +1 -1
- package/lib/esm/internal/render/webgl/TargetUniforms.js.map +1 -1
- package/lib/esm/internal/render/webgl/Technique.js.map +1 -1
- package/lib/esm/internal/render/webgl/TechniqueFlags.js.map +1 -1
- package/lib/esm/internal/render/webgl/TechniqueId.js.map +1 -1
- package/lib/esm/internal/render/webgl/Texture.js.map +1 -1
- package/lib/esm/internal/render/webgl/TextureDrape.js.map +1 -1
- package/lib/esm/internal/render/webgl/ThematicSensors.js.map +1 -1
- package/lib/esm/internal/render/webgl/ThematicUniforms.js.map +1 -1
- package/lib/esm/internal/render/webgl/UniformHandle.js.map +1 -1
- package/lib/esm/internal/render/webgl/VertexLUT.js.map +1 -1
- package/lib/esm/internal/render/webgl/ViewRectUniforms.js.map +1 -1
- package/lib/esm/internal/render/webgl/VisibleTileFeatures.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/AmbientOcclusion.js +154 -154
- package/lib/esm/internal/render/webgl/glsl/AmbientOcclusion.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Animation.js +83 -83
- package/lib/esm/internal/render/webgl/glsl/Animation.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Atmosphere.js +266 -266
- package/lib/esm/internal/render/webgl/glsl/Atmosphere.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Blur.js +37 -37
- package/lib/esm/internal/render/webgl/glsl/Blur.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/ClearPickAndColor.js +5 -5
- package/lib/esm/internal/render/webgl/glsl/ClearPickAndColor.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/ClearTranslucent.js +3 -3
- package/lib/esm/internal/render/webgl/glsl/ClearTranslucent.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Clipping.js +96 -96
- package/lib/esm/internal/render/webgl/glsl/Clipping.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Color.js +12 -12
- package/lib/esm/internal/render/webgl/glsl/Color.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Combine3Textures.js +7 -7
- package/lib/esm/internal/render/webgl/glsl/Combine3Textures.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/CombineTextures.js +5 -5
- package/lib/esm/internal/render/webgl/glsl/CombineTextures.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Common.js +16 -16
- package/lib/esm/internal/render/webgl/glsl/Common.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Composite.js +71 -71
- package/lib/esm/internal/render/webgl/glsl/Composite.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Contours.js +101 -101
- package/lib/esm/internal/render/webgl/glsl/Contours.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/CopyColor.js +6 -6
- package/lib/esm/internal/render/webgl/glsl/CopyColor.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/CopyPickBuffers.js +3 -3
- package/lib/esm/internal/render/webgl/glsl/CopyPickBuffers.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/CopyStencil.js +4 -4
- package/lib/esm/internal/render/webgl/glsl/CopyStencil.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Decode.js +65 -65
- package/lib/esm/internal/render/webgl/glsl/Decode.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/EDL.js +103 -103
- package/lib/esm/internal/render/webgl/glsl/EDL.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/EVSMFromDepth.js +25 -25
- package/lib/esm/internal/render/webgl/glsl/EVSMFromDepth.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Edge.js +146 -146
- package/lib/esm/internal/render/webgl/glsl/Edge.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/FeatureSymbology.js +238 -238
- package/lib/esm/internal/render/webgl/glsl/FeatureSymbology.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Fragment.js +43 -43
- package/lib/esm/internal/render/webgl/glsl/Fragment.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Instancing.js +21 -21
- package/lib/esm/internal/render/webgl/glsl/Instancing.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Lighting.js +92 -92
- package/lib/esm/internal/render/webgl/glsl/Lighting.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/LogarithmicDepthBuffer.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/LookupTable.js +19 -19
- package/lib/esm/internal/render/webgl/glsl/LookupTable.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/MaplayerDraping.js +87 -87
- package/lib/esm/internal/render/webgl/glsl/MaplayerDraping.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Monochrome.js +13 -13
- package/lib/esm/internal/render/webgl/glsl/Monochrome.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/PlanarClassification.js +188 -188
- package/lib/esm/internal/render/webgl/glsl/PlanarClassification.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/PlanarGrid.js +22 -22
- package/lib/esm/internal/render/webgl/glsl/PlanarGrid.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/PointCloud.js +28 -28
- package/lib/esm/internal/render/webgl/glsl/PointCloud.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/PointString.js +9 -9
- package/lib/esm/internal/render/webgl/glsl/PointString.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Polyline.js +213 -213
- package/lib/esm/internal/render/webgl/glsl/Polyline.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/RealityMesh.js +25 -25
- package/lib/esm/internal/render/webgl/glsl/RealityMesh.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/RenderPass.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/ScreenSpaceEffect.js +9 -9
- package/lib/esm/internal/render/webgl/glsl/ScreenSpaceEffect.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/SkyBox.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/SkySphere.js +49 -49
- package/lib/esm/internal/render/webgl/glsl/SkySphere.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/SolarShadowMapping.js +51 -51
- package/lib/esm/internal/render/webgl/glsl/SolarShadowMapping.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Surface.js +235 -235
- package/lib/esm/internal/render/webgl/glsl/Surface.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Thematic.js +136 -136
- package/lib/esm/internal/render/webgl/glsl/Thematic.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Translucency.js +19 -19
- package/lib/esm/internal/render/webgl/glsl/Translucency.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Vertex.js +73 -73
- package/lib/esm/internal/render/webgl/glsl/Vertex.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Viewport.js +38 -38
- package/lib/esm/internal/render/webgl/glsl/Viewport.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/ViewportQuad.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Wiremesh.js +10 -10
- package/lib/esm/internal/render/webgl/glsl/Wiremesh.js.map +1 -1
- package/lib/esm/internal/tile/B3dmReader.js.map +1 -1
- package/lib/esm/internal/tile/BatchedTileIdMap.js.map +1 -1
- package/lib/esm/internal/tile/CesiumAssetProvider.js.map +1 -1
- package/lib/esm/internal/tile/ClassifierTileTree.js.map +1 -1
- package/lib/esm/internal/tile/ContextShareProvider.js.map +1 -1
- package/lib/esm/internal/tile/DynamicIModelTile.js.map +1 -1
- package/lib/esm/internal/tile/FetchCloudStorage.js.map +1 -1
- package/lib/esm/internal/tile/GraphicsCollector.js.map +1 -1
- package/lib/esm/internal/tile/I3dmReader.js.map +1 -1
- package/lib/esm/internal/tile/IModelTile.js.map +1 -1
- package/lib/esm/internal/tile/IModelTileRequestChannels.js.map +1 -1
- package/lib/esm/internal/tile/IModelTileTree.js.map +1 -1
- package/lib/esm/internal/tile/ImdlDecoder.js.map +1 -1
- package/lib/esm/internal/tile/ImdlGraphicsCreator.js.map +1 -1
- package/lib/esm/internal/tile/ImdlParser.js.map +1 -1
- package/lib/esm/internal/tile/LRUTileList.js.map +1 -1
- package/lib/esm/internal/tile/LayerTileTreeHandler.js.map +1 -1
- package/lib/esm/internal/tile/LayerTileTreeReferenceHandler.js.map +1 -1
- package/lib/esm/internal/tile/MeshoptCompression.js.map +1 -1
- package/lib/esm/internal/tile/OPCFormatInterpreter.js.map +1 -1
- package/lib/esm/internal/tile/OrbitGtTileTree.js.map +1 -1
- package/lib/esm/internal/tile/PntsReader.js.map +1 -1
- package/lib/esm/internal/tile/PrimaryTileTree.js.map +1 -1
- package/lib/esm/internal/tile/RealityModelTileTree.js.map +1 -1
- package/lib/esm/internal/tile/RealityTileDrawArgs.js.map +1 -1
- package/lib/esm/internal/tile/RealityTileLoader.js.map +1 -1
- package/lib/esm/internal/tile/ThreeDTileFormatInterpreter.js.map +1 -1
- package/lib/esm/internal/tile/TileUserSet.js.map +1 -1
- package/lib/esm/internal/tile/ViewFlagOverrides.js.map +1 -1
- package/lib/esm/internal/tile/map/ArcGISTileMap.js.map +1 -1
- package/lib/esm/internal/tile/map/ArcGisUtilities.js.map +1 -1
- package/lib/esm/internal/tile/map/ImageryProviders/ArcGISImageryProvider.js.map +1 -1
- package/lib/esm/internal/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
- package/lib/esm/internal/tile/map/ImageryProviders/ArcGisGeometryReaderJSON.js.map +1 -1
- package/lib/esm/internal/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.js.map +1 -1
- package/lib/esm/internal/tile/map/ImageryProviders/BingImageryProvider.js.map +1 -1
- package/lib/esm/internal/tile/map/ImageryProviders/CoordinatesUtils.js.map +1 -1
- package/lib/esm/internal/tile/map/ImageryProviders/FeatureAttributeDrivenSymbology.js.map +1 -1
- package/lib/esm/internal/tile/map/ImageryProviders/FeatureGeometryRenderer.js.map +1 -1
- package/lib/esm/internal/tile/map/ImageryProviders/FeatureGraphicsRenderer.js.map +1 -1
- package/lib/esm/internal/tile/map/ImageryProviders/FeatureSymbologyRenderer.js.map +1 -1
- package/lib/esm/internal/tile/map/ImageryProviders/MapBoxLayerImageryProvider.js.map +1 -1
- package/lib/esm/internal/tile/map/ImageryProviders/TileUrlImageryProvider.js.map +1 -1
- package/lib/esm/internal/tile/map/ImageryProviders/WebMercator.js.map +1 -1
- package/lib/esm/internal/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js.map +1 -1
- package/lib/esm/internal/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js.map +1 -1
- package/lib/esm/internal/tile/map/MapTileAvailability.js.map +1 -1
- package/lib/esm/internal/tile/map/MapTileLoader.js.map +1 -1
- package/lib/esm/internal/tile/map/UrlUtils.js.map +1 -1
- package/lib/esm/internal/tile/map/WmsCapabilities.js.map +1 -1
- package/lib/esm/internal/tile/map/WmsUtilities.js.map +1 -1
- package/lib/esm/internal/tile/map/WmtsCapabilities.js.map +1 -1
- package/lib/esm/internal/webgl.js.map +1 -1
- package/lib/esm/properties/AngleDescription.js.map +1 -1
- package/lib/esm/properties/FormattedQuantityDescription.js.map +1 -1
- package/lib/esm/properties/LengthDescription.js.map +1 -1
- package/lib/esm/public/scripts/checkbrowser.js +24 -24
- package/lib/esm/quantity-formatting/BaseUnitFormattingSettingsProvider.js.map +1 -1
- package/lib/esm/quantity-formatting/BasicUnitsProvider.js.map +1 -1
- package/lib/esm/quantity-formatting/LocalUnitFormatProvider.js.map +1 -1
- package/lib/esm/quantity-formatting/QuantityFormatter.js.map +1 -1
- package/lib/esm/quantity-formatting/QuantityTypesEditorSpecs.js.map +1 -1
- package/lib/esm/quantity-formatting/UnitsData.js.map +1 -1
- package/lib/esm/render/CanvasDecoration.js.map +1 -1
- package/lib/esm/render/CreateRenderMaterialArgs.js.map +1 -1
- package/lib/esm/render/CreateTextureArgs.js.map +1 -1
- package/lib/esm/render/Decorations.js.map +1 -1
- package/lib/esm/render/FeatureSymbology.js.map +1 -1
- package/lib/esm/render/FrameStats.js.map +1 -1
- package/lib/esm/render/GraphicBranch.js.map +1 -1
- package/lib/esm/render/GraphicBuilder.js.map +1 -1
- package/lib/esm/render/GraphicTemplate.js.map +1 -1
- package/lib/esm/render/MeshArgs.js.map +1 -1
- package/lib/esm/render/ParticleCollectionBuilder.js.map +1 -1
- package/lib/esm/render/Pixel.js.map +1 -1
- package/lib/esm/render/PolylineArgs.js.map +1 -1
- package/lib/esm/render/RealityMeshParams.js.map +1 -1
- package/lib/esm/render/RenderClipVolume.js.map +1 -1
- package/lib/esm/render/RenderGraphic.js.map +1 -1
- package/lib/esm/render/RenderMemory.js.map +1 -1
- package/lib/esm/render/RenderSystem.js.map +1 -1
- package/lib/esm/render/RenderTarget.js.map +1 -1
- package/lib/esm/render/Scene.js.map +1 -1
- package/lib/esm/render/ScreenSpaceEffectBuilder.js.map +1 -1
- package/lib/esm/render/VisibleFeature.js.map +1 -1
- package/lib/esm/request/Request.js.map +1 -1
- package/lib/esm/request/utils.js.map +1 -1
- package/lib/esm/tile/DisclosedTileTreeSet.js.map +1 -1
- package/lib/esm/tile/GltfReader.js.map +1 -1
- package/lib/esm/tile/ImdlReader.js.map +1 -1
- package/lib/esm/tile/RealityTile.js.map +1 -1
- package/lib/esm/tile/RealityTileTree.js.map +1 -1
- package/lib/esm/tile/RenderGraphicTileTree.js.map +1 -1
- package/lib/esm/tile/Tile.js.map +1 -1
- package/lib/esm/tile/TileAdmin.js.map +1 -1
- package/lib/esm/tile/TileContent.js.map +1 -1
- package/lib/esm/tile/TileDrawArgs.js.map +1 -1
- package/lib/esm/tile/TileGeometryCollector.js.map +1 -1
- package/lib/esm/tile/TileParams.js.map +1 -1
- package/lib/esm/tile/TileRequest.js.map +1 -1
- package/lib/esm/tile/TileRequestChannel.js.map +1 -1
- package/lib/esm/tile/TileRequestChannels.js.map +1 -1
- package/lib/esm/tile/TileStorage.js.map +1 -1
- package/lib/esm/tile/TileTree.js.map +1 -1
- package/lib/esm/tile/TileTreeOwner.js.map +1 -1
- package/lib/esm/tile/TileTreeParams.js.map +1 -1
- package/lib/esm/tile/TileTreeReference.js.map +1 -1
- package/lib/esm/tile/TileTreeSupplier.js.map +1 -1
- package/lib/esm/tile/TileUsageMarker.js.map +1 -1
- package/lib/esm/tile/TileUser.js.map +1 -1
- package/lib/esm/tile/TiledGraphicsProvider.js.map +1 -1
- package/lib/esm/tile/internal.js.map +1 -1
- package/lib/esm/tile/map/BingElevation.js.map +1 -1
- package/lib/esm/tile/map/CesiumTerrainProvider.js.map +1 -1
- package/lib/esm/tile/map/EllipsoidTerrainProvider.js.map +1 -1
- package/lib/esm/tile/map/ImageryTileTree.js.map +1 -1
- package/lib/esm/tile/map/MapCartoRectangle.js.map +1 -1
- package/lib/esm/tile/map/MapFeatureInfo.js.map +1 -1
- package/lib/esm/tile/map/MapLayerAuthentication.js.map +1 -1
- package/lib/esm/tile/map/MapLayerFormatRegistry.js.map +1 -1
- package/lib/esm/tile/map/MapLayerImageryFormats.js.map +1 -1
- package/lib/esm/tile/map/MapLayerImageryProvider.js.map +1 -1
- package/lib/esm/tile/map/MapLayerSources.js.map +1 -1
- package/lib/esm/tile/map/MapLayerTileTreeReference.js.map +1 -1
- package/lib/esm/tile/map/MapTile.js.map +1 -1
- package/lib/esm/tile/map/MapTileTree.js.map +1 -1
- package/lib/esm/tile/map/MapTiledGraphicsProvider.js.map +1 -1
- package/lib/esm/tile/map/MapTilingScheme.js.map +1 -1
- package/lib/esm/tile/map/QuadId.js.map +1 -1
- package/lib/esm/tile/map/TerrainMeshProvider.js.map +1 -1
- package/lib/esm/tile/map/TerrainProvider.js.map +1 -1
- package/lib/esm/tools/AccuDrawTool.js.map +1 -1
- package/lib/esm/tools/AccuDrawViewportUI.js.map +1 -1
- package/lib/esm/tools/ClipViewTool.js.map +1 -1
- package/lib/esm/tools/EditManipulator.js.map +1 -1
- package/lib/esm/tools/ElementSetTool.js.map +1 -1
- package/lib/esm/tools/EventController.js.map +1 -1
- package/lib/esm/tools/IdleTool.js.map +1 -1
- package/lib/esm/tools/MeasureTool.js.map +1 -1
- package/lib/esm/tools/PrimitiveTool.js.map +1 -1
- package/lib/esm/tools/SelectTool.js.map +1 -1
- package/lib/esm/tools/Tool.js.map +1 -1
- package/lib/esm/tools/ToolAdmin.js.map +1 -1
- package/lib/esm/tools/ToolAssistance.js.map +1 -1
- package/lib/esm/tools/ToolSettings.js.map +1 -1
- package/lib/esm/tools/ViewTool.js.map +1 -1
- package/lib/esm/workers/ImdlParser/Worker.js.map +1 -1
- package/lib/esm/workers/ImdlParser/webpack.config.js +42 -42
- package/lib/esm/workers/RegisterWorker.js.map +1 -1
- package/lib/public/assets/MapLayerSources.json +25 -25
- package/lib/public/images/cesium-ion.svg +92 -92
- package/lib/public/images/imodeljs-icon.svg +2 -2
- package/lib/public/locales/en/CoreTools.json +508 -508
- package/lib/public/locales/en/iModelJs.json +176 -176
- package/lib/public/scripts/checkbrowser.js +24 -24
- package/package.json +20 -20
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Technique.js","sourceRoot":"","sources":["../../../../../src/internal/render/webgl/Technique.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module WebGL\n */\n\nimport { assert, dispose } from \"@itwin/core-bentley\";\nimport { BlurType } from \"./CachedGeometry\";\nimport { ClippingProgram, createClippingProgram } from \"./ClippingProgram\";\nimport { WebGLDisposable } from \"./Disposable\";\nimport { DrawCommands, DrawParams } from \"./DrawCommand\";\nimport { createAmbientOcclusionProgram } from \"./glsl/AmbientOcclusion\";\nimport { createBlurProgram } from \"./glsl/Blur\";\nimport { createEDLCalcBasicProgram, createEDLCalcFullProgram, createEDLFilterProgram, createEDLMixProgram } from \"./glsl/EDL\";\nimport { createClearPickAndColorProgram } from \"./glsl/ClearPickAndColor\";\nimport { createClearTranslucentProgram } from \"./glsl/ClearTranslucent\";\nimport { createCombine3TexturesProgram } from \"./glsl/Combine3Textures\";\nimport { createCombineTexturesProgram } from \"./glsl/CombineTextures\";\nimport { addEyeSpace, addFrustum, addShaderFlags } from \"./glsl/Common\";\nimport { createCompositeProgram } from \"./glsl/Composite\";\nimport { createCopyColorProgram } from \"./glsl/CopyColor\";\nimport { createCopyPickBuffersProgram } from \"./glsl/CopyPickBuffers\";\nimport {\n createVolClassBlendProgram, createVolClassColorUsingStencilProgram, createVolClassCopyZProgram, createVolClassSetBlendProgram,\n} from \"./glsl/CopyStencil\";\nimport { createEdgeBuilder, EdgeBuilderType } from \"./glsl/Edge\";\nimport { createEVSMProgram } from \"./glsl/EVSMFromDepth\";\nimport { addFeatureId, addFeatureSymbology, addRenderOrder, addUniformFeatureSymbology, FeatureSymbologyOptions, mixFeatureColor } from \"./glsl/FeatureSymbology\";\nimport { addFragColorWithPreMultipliedAlpha, addPickBufferOutputs } from \"./glsl/Fragment\";\nimport { addLogDepth } from \"./glsl/LogarithmicDepthBuffer\";\nimport { addUnlitMonochrome } from \"./glsl/Monochrome\";\nimport createPlanarGridProgram from \"./glsl/PlanarGrid\";\nimport { createPointCloudBuilder, createPointCloudHiliter } from \"./glsl/PointCloud\";\nimport { createPointStringBuilder, createPointStringHiliter } from \"./glsl/PointString\";\nimport { createPolylineBuilder, createPolylineHiliter } from \"./glsl/Polyline\";\nimport {\n addColorOverrideMix, createClassifierRealityMeshHiliter, createRealityMeshBuilder, createRealityMeshHiliter,\n} from \"./glsl/RealityMesh\";\nimport { createSkyBoxProgram } from \"./glsl/SkyBox\";\nimport { createSkySphereBuilder } from \"./glsl/SkySphere\";\nimport { createSurfaceBuilder, createSurfaceHiliter } from \"./glsl/Surface\";\nimport { addTranslucency } from \"./glsl/Translucency\";\nimport { addModelViewMatrix } from \"./glsl/Vertex\";\nimport { RenderPass } from \"./RenderFlags\";\nimport { ProgramBuilder, VertexShaderComponent } from \"./ShaderBuilder\";\nimport { CompileStatus, ShaderProgram, ShaderProgramExecutor } from \"./ShaderProgram\";\nimport { System } from \"./System\";\nimport { Target } from \"./Target\";\nimport {\n EnableAtmosphere,\n FeatureMode, IsAnimated, IsClassified, IsEdgeTestNeeded, IsInstanced, IsShadowable, IsThematic, IsWiremesh, PositionType, TechniqueFlags,\n} from \"./TechniqueFlags\";\nimport { computeCompositeTechniqueId, TechniqueId } from \"./TechniqueId\";\n\n/** Defines a rendering technique implemented using one or more shader programs.\n * @internal\n */\nexport interface Technique extends WebGLDisposable {\n getShader(flags: TechniqueFlags): ShaderProgram;\n getShaderByIndex(index: number): ShaderProgram;\n getShaderCount(): number;\n\n // Chiefly for tests - compiles all shader programs - more generally programs are compiled on demand.\n compileShaders(): boolean;\n}\n\n/** A rendering technique implemented using a single shader program, typically for some specialized purpose.\n * @internal\n */\nexport class SingularTechnique implements Technique {\n public readonly program: ShaderProgram;\n\n // Note: Technique assumes ownership of a program\n public constructor(program: ShaderProgram) { this.program = program; }\n\n public getShader(_flags: TechniqueFlags) { return this.program; }\n public getShaderByIndex(_index: number) { return this.program; }\n public getShaderCount() { return 1; }\n public compileShaders(): boolean { return this.program.compile() === CompileStatus.Success; }\n\n public get isDisposed(): boolean { return this.program.isDisposed; }\n\n public [Symbol.dispose](): void {\n this.program[Symbol.dispose]();\n }\n\n /** @deprecated in 5.0 - will not be removed until after 2026-06-13. Use [Symbol.dispose] instead. */\n public dispose(): void {\n this[Symbol.dispose]();\n }\n}\n\nfunction numFeatureVariants(numBaseShaders: number) {\n return numBaseShaders * 3;\n}\n\nconst numHiliteVariants = 2; // instanced and non-instanced.\nconst featureModes = [FeatureMode.None, FeatureMode.Pick, FeatureMode.Overrides];\nconst scratchTechniqueFlags = new TechniqueFlags();\nconst scratchHiliteFlags = new TechniqueFlags();\n\ntype CreateHiliter = (instanced: IsInstanced, classified: IsClassified, posType: PositionType) => ProgramBuilder;\n\n/** A rendering technique implemented using multiple shader programs, selected based on TechniqueFlags.\n * @internal\n */\nexport abstract class VariedTechnique implements Technique {\n private readonly _basicPrograms: ShaderProgram[] = [];\n private readonly _clippingPrograms: ClippingProgram[] = [];\n\n /** TechniqueFlags identifying shader programs for which the fragment shader writes depth but does not contain any discards.\n * Buggy Intel HD 620/630 drivers incorrectly apply early-Z optimization in this case; we must insert a never-executed\n * conditional discard to prevent that.\n */\n protected _earlyZFlags: TechniqueFlags[] = [];\n\n public compileShaders(): boolean {\n let allCompiled = true;\n for (const program of this._basicPrograms) {\n if (program.compile() !== CompileStatus.Success)\n allCompiled = false;\n }\n\n for (const clipper of this._clippingPrograms)\n if (!clipper.compile())\n allCompiled = false;\n\n return allCompiled;\n }\n\n protected finishConstruction(): void {\n this._earlyZFlags.length = 0;\n\n // Confirm no empty entries in our array.\n let emptyShaderIndex = -1;\n assert(-1 === (emptyShaderIndex = this._basicPrograms.findIndex((prog) => undefined === prog)), `Shader index ${emptyShaderIndex} is undefined in ${this.constructor.name}`);\n }\n\n private _isDisposed = false;\n public get isDisposed(): boolean { return this._isDisposed; }\n\n public [Symbol.dispose](): void {\n if (this._isDisposed)\n return;\n\n for (const program of this._basicPrograms) {\n assert(undefined !== program);\n program[Symbol.dispose]();\n }\n\n this._basicPrograms.length = 0;\n for (const clipShaderObj of this._clippingPrograms) {\n assert(undefined !== clipShaderObj);\n clipShaderObj[Symbol.dispose]();\n }\n\n this._clippingPrograms.length = 0;\n this._isDisposed = true;\n }\n\n /** @deprecated in 5.0 - will not be removed until after 2026-06-13. Use [Symbol.dispose] instead. */\n public dispose(): void {\n this[Symbol.dispose]();\n }\n\n\n protected constructor(numPrograms: number) {\n this._basicPrograms.length = numPrograms;\n }\n\n protected abstract computeShaderIndex(flags: TechniqueFlags): number;\n protected abstract get _debugDescription(): string;\n\n protected addShader(builder: ProgramBuilder, flags: TechniqueFlags, gl: WebGL2RenderingContext): void {\n const descr = `${this._debugDescription}: ${flags.buildDescription()}`;\n builder.setDebugDescription(descr);\n\n if (System.instance.supportsLogZBuffer) {\n addLogDepth(builder);\n\n assert(!builder.frag.requiresEarlyZWorkaround);\n if (System.instance.fragDepthDoesNotDisableEarlyZ)\n builder.frag.requiresEarlyZWorkaround = -1 !== this._earlyZFlags.findIndex((x) => x.equals(flags));\n }\n\n const index = this.getShaderIndex(flags);\n this.addProgram(builder, index, gl);\n\n assert(!builder.frag.requiresEarlyZWorkaround);\n }\n\n private addProgram(builder: ProgramBuilder, index: number, gl: WebGL2RenderingContext): void {\n assert(this._basicPrograms[index] === undefined);\n this._basicPrograms[index] = builder.buildProgram(gl);\n assert(this._basicPrograms[index] !== undefined);\n\n // Clipping programs always include a discard, so never require workaround.\n builder.frag.requiresEarlyZWorkaround = false;\n\n assert(this._clippingPrograms[index] === undefined);\n this._clippingPrograms[index] = createClippingProgram(builder);\n assert(this._clippingPrograms[index] !== undefined);\n }\n\n protected addHiliteShader(gl: WebGL2RenderingContext, instanced: IsInstanced, classified: IsClassified, posType: PositionType, create: CreateHiliter): void {\n const builder = create(instanced, classified, posType);\n scratchHiliteFlags.initForHilite(0, instanced, classified, posType);\n this.addShader(builder, scratchHiliteFlags, gl);\n }\n\n protected addTranslucentShader(builder: ProgramBuilder, flags: TechniqueFlags, gl: WebGL2RenderingContext): void {\n flags.isTranslucent = true;\n addTranslucency(builder);\n this.addShader(builder, flags, gl);\n }\n\n protected addFeatureId(builder: ProgramBuilder, feat: FeatureMode) {\n const frag = builder.frag;\n if (FeatureMode.None === feat) {\n addFragColorWithPreMultipliedAlpha(frag);\n } else {\n const vert = builder.vert;\n addFrustum(builder);\n addEyeSpace(builder);\n addModelViewMatrix(vert);\n addRenderOrder(frag);\n addFeatureId(builder, false);\n addPickBufferOutputs(frag);\n }\n }\n\n private getShaderIndex(flags: TechniqueFlags) {\n assert(!flags.isHilite || (!flags.isTranslucent && (flags.isClassified === IsClassified.Yes || flags.hasFeatures)), \"invalid technique flags\");\n const index = this.computeShaderIndex(flags);\n assert(index < this._basicPrograms.length, \"shader index out of bounds\");\n return index;\n }\n\n public getShader(flags: TechniqueFlags): ShaderProgram {\n const index = this.getShaderIndex(flags);\n let program: ShaderProgram | undefined;\n\n if (flags.hasClip) {\n const entry = this._clippingPrograms[index];\n assert(undefined !== entry);\n program = entry.getProgram(flags.numClipPlanes);\n }\n\n if (program === undefined)\n program = this._basicPrograms[index];\n\n return program;\n }\n\n // NB: Will ignore clipping shaders.\n public getShaderByIndex(index: number): ShaderProgram {\n return this._basicPrograms[index];\n }\n\n // NB: Will ignore clipping shaders.\n public getShaderCount(): number {\n return this._basicPrograms.length;\n }\n\n /** For tests. */\n public forEachProgram(func: (program: ShaderProgram) => void): void {\n for (const basic of this._basicPrograms)\n func(basic);\n\n for (const clip of this._clippingPrograms) {\n const prog = clip.getProgram(1);\n assert(undefined !== prog);\n func(prog);\n }\n }\n}\n\nconst positionTypes: PositionType[] = [\"quantized\", \"unquantized\"];\n\nclass SurfaceTechnique extends VariedTechnique {\n private static readonly _kOpaque = 0;\n private static readonly _kTranslucent = 1;\n private static readonly _kInstanced = 2;\n private static readonly _kAnimated = 4;\n private static readonly _kWiremesh = 8;\n private static readonly _kShadowable = 16;\n private static readonly _kThematic = 32;\n private static readonly _kFeature = 48;\n\n private static readonly _kEdgeTestNeeded = SurfaceTechnique._kFeature * 3; // only when hasFeatures\n private static readonly _kHilite = SurfaceTechnique._kEdgeTestNeeded + SurfaceTechnique._kFeature * 2;\n\n // Classifiers are never animated or instanced. They do support shadows, thematic display, and translucency.\n // There are 3 base variations - 1 per feature mode - each with translucent/shadowed/thematic variants; plus 1 for hilite.\n private static readonly _kClassified = SurfaceTechnique._kHilite + numHiliteVariants;\n\n // 3 base classified variations - 1 per feature mode.\n // Plus thematic variant of each and shadowable variant of each = 9\n // Plus translucent variant of each of those = 18\n // Plus 1 hilite shader = 19\n private static readonly _kUnquantized = SurfaceTechnique._kClassified + 19;\n\n public constructor(gl: WebGL2RenderingContext) {\n super(SurfaceTechnique._kUnquantized * 2);\n\n this._earlyZFlags = [\n TechniqueFlags.fromDescription(\"Opaque-Hilite-Overrides\"),\n TechniqueFlags.fromDescription(\"Opaque-Instanced-Hilite-Overrides\"),\n TechniqueFlags.fromDescription(\"Opaque-Hilite-Classified\"),\n TechniqueFlags.fromDescription(\"Unquantized-Opaque-Hilite-Overrides\"),\n TechniqueFlags.fromDescription(\"Unquantized-Opaque-Instanced-Hilite-Overrides\"),\n TechniqueFlags.fromDescription(\"Unquantized-Opaque-Hilite-Classified\"),\n ];\n\n const flags = scratchTechniqueFlags;\n for (const posType of positionTypes) {\n for (let instanced = IsInstanced.No; instanced <= IsInstanced.Yes; instanced++) {\n this.addHiliteShader(gl, instanced, IsClassified.No, posType, createSurfaceHiliter);\n for (let iAnimate = IsAnimated.No; iAnimate <= IsAnimated.Yes; iAnimate++) {\n for (let shadowable = IsShadowable.No; shadowable <= IsShadowable.Yes; shadowable++) {\n for (let wiremesh = IsWiremesh.No; wiremesh <= IsWiremesh.Yes; wiremesh++) {\n for (let thematic = IsThematic.No; thematic <= IsThematic.Yes; thematic++) {\n for (let edgeTestNeeded = IsEdgeTestNeeded.No; edgeTestNeeded <= IsEdgeTestNeeded.Yes; edgeTestNeeded++) {\n for (const featureMode of featureModes) {\n for (let iTranslucent = 0; iTranslucent <= 1; iTranslucent++) {\n if (FeatureMode.None !== featureMode || IsEdgeTestNeeded.No === edgeTestNeeded) {\n if (IsThematic.Yes === thematic && IsShadowable.Yes === shadowable)\n continue; // currently this combination is disallowed.\n\n flags.reset(featureMode, instanced, shadowable, thematic, posType);\n flags.isAnimated = iAnimate;\n flags.isEdgeTestNeeded = edgeTestNeeded;\n flags.isTranslucent = 1 === iTranslucent;\n flags.isWiremesh = wiremesh;\n\n const builder = createSurfaceBuilder(flags);\n this.addShader(builder, flags, gl);\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n\n this.addHiliteShader(gl, IsInstanced.No, IsClassified.Yes, \"quantized\", createSurfaceHiliter);\n this.addHiliteShader(gl, IsInstanced.No, IsClassified.Yes, \"unquantized\", createSurfaceHiliter);\n\n for (const posType of positionTypes) {\n for (let translucent = 0; translucent < 2; translucent++) {\n for (let shadowable = IsShadowable.No; shadowable <= IsShadowable.Yes; shadowable++) {\n for (let thematic = IsThematic.No; thematic <= IsThematic.Yes; thematic++) {\n for (const featureMode of featureModes) {\n if (IsThematic.Yes === thematic && IsShadowable.Yes === shadowable)\n continue; // currently this combination is disallowed.\n\n flags.reset(featureMode, IsInstanced.No, shadowable, thematic, posType);\n flags.isClassified = IsClassified.Yes;\n flags.isTranslucent = (0 !== translucent);\n\n const builder = createSurfaceBuilder(flags);\n if (flags.isTranslucent)\n addTranslucency(builder);\n\n this.addShader(builder, flags, gl);\n }\n }\n }\n }\n }\n\n this.finishConstruction();\n }\n\n protected get _debugDescription() { return \"Surface\"; }\n\n public computeShaderIndex(flags: TechniqueFlags): number {\n assert(!(flags.isThematic && flags.isShadowable));\n\n const idxOffset = flags.positionType === \"unquantized\" ? SurfaceTechnique._kUnquantized : 0;\n if (flags.isClassified) {\n assert(!flags.isAnimated);\n assert(!flags.isInstanced);\n assert(!flags.isEdgeTestNeeded);\n\n // First classified shader is for hilite\n if (flags.isHilite)\n return SurfaceTechnique._kClassified + idxOffset;\n\n // The rest are organized in 3 groups of 6 - one group per feature mode.\n // Each group contains opaque, translucent, opaque+thematic, translucent+thematic, opaque+shadowable, and translucent+shadowable variants.\n let baseIndex = SurfaceTechnique._kClassified + 1;\n if (flags.isTranslucent)\n baseIndex += 1;\n if (flags.isShadowable)\n baseIndex += 2;\n if (flags.isThematic)\n baseIndex += 4;\n\n const featureOffset = 6 * flags.featureMode;\n return baseIndex + featureOffset + idxOffset;\n } else if (flags.isHilite) {\n assert(flags.hasFeatures);\n return SurfaceTechnique._kHilite + flags.isInstanced + idxOffset;\n }\n\n assert(flags.hasFeatures || flags.isEdgeTestNeeded === IsEdgeTestNeeded.No);\n let index = flags.isTranslucent ? SurfaceTechnique._kTranslucent : SurfaceTechnique._kOpaque;\n index += SurfaceTechnique._kInstanced * flags.isInstanced;\n index += SurfaceTechnique._kAnimated * flags.isAnimated;\n index += SurfaceTechnique._kShadowable * flags.isShadowable;\n index += SurfaceTechnique._kThematic * flags.isThematic;\n index += SurfaceTechnique._kWiremesh * flags.isWiremesh;\n\n if (flags.isEdgeTestNeeded)\n index += SurfaceTechnique._kEdgeTestNeeded + (flags.featureMode - 1) * SurfaceTechnique._kFeature;\n else\n index += SurfaceTechnique._kFeature * flags.featureMode;\n\n return index + idxOffset;\n }\n}\n\nclass PolylineTechnique extends VariedTechnique {\n private static readonly _kOpaque = 0;\n private static readonly _kTranslucent = 1;\n private static readonly _kInstanced = 2;\n private static readonly _kFeature = 4;\n private static readonly _kHilite = numFeatureVariants(PolylineTechnique._kFeature);\n private static readonly _kUnquantized = PolylineTechnique._kHilite + numHiliteVariants;\n\n public constructor(gl: WebGL2RenderingContext) {\n super(PolylineTechnique._kUnquantized * 2);\n\n this._earlyZFlags = [\n TechniqueFlags.fromDescription(\"Opaque-Hilite-Overrides\"),\n TechniqueFlags.fromDescription(\"Opaque-Instanced-Hilite-Overrides\"),\n TechniqueFlags.fromDescription(\"Unquantized-Opaque-Hilite-Overrides\"),\n TechniqueFlags.fromDescription(\"Unquantized-Opaque-Instanced-Hilite-Overrides\"),\n ];\n\n const flags = scratchTechniqueFlags;\n for (const posType of positionTypes) {\n for (let instanced = IsInstanced.No; instanced <= IsInstanced.Yes; instanced++) {\n this.addHiliteShader(gl, instanced, IsClassified.No, posType, (inst, _class, pos) => createPolylineHiliter(inst, pos));\n for (const featureMode of featureModes) {\n flags.reset(featureMode, instanced, IsShadowable.No, IsThematic.No, posType);\n const builder = createPolylineBuilder(instanced, posType);\n addUnlitMonochrome(builder.frag);\n\n // The translucent shaders do not need the element IDs.\n const builderTrans = createPolylineBuilder(instanced, posType);\n addUnlitMonochrome(builderTrans.frag);\n if (FeatureMode.Overrides === featureMode) {\n addFeatureSymbology(builderTrans, featureMode, FeatureSymbologyOptions.Linear);\n addFeatureSymbology(builder, featureMode, FeatureSymbologyOptions.Linear);\n this.addTranslucentShader(builderTrans, flags, gl);\n } else {\n this.addTranslucentShader(builderTrans, flags, gl);\n addFeatureSymbology(builder, featureMode, FeatureSymbologyOptions.None);\n }\n\n this.addFeatureId(builder, featureMode);\n flags.reset(featureMode, instanced, IsShadowable.No, IsThematic.No, posType);\n this.addShader(builder, flags, gl);\n }\n }\n }\n\n this.finishConstruction();\n }\n\n protected get _debugDescription() { return \"Polyline\"; }\n\n public computeShaderIndex(flags: TechniqueFlags): number {\n const idxOffset = flags.positionType === \"unquantized\" ? PolylineTechnique._kUnquantized : 0;\n if (flags.isHilite) {\n assert(flags.hasFeatures);\n return PolylineTechnique._kHilite + flags.isInstanced + idxOffset;\n }\n\n let index = flags.isTranslucent ? PolylineTechnique._kTranslucent : PolylineTechnique._kOpaque;\n index += PolylineTechnique._kFeature * flags.featureMode;\n index += PolylineTechnique._kInstanced * flags.isInstanced;\n return index + idxOffset;\n }\n}\n\nclass EdgeTechnique extends VariedTechnique {\n private static readonly _kOpaque = 0;\n private static readonly _kTranslucent = 1;\n private static readonly _kAnimated = 2;\n private static readonly _kInstanced = 4;\n private static readonly _kFeature = 8;\n private static readonly _kUnquantized = numFeatureVariants(EdgeTechnique._kFeature);\n private readonly _type: EdgeBuilderType;\n\n public constructor(gl: WebGL2RenderingContext, type: EdgeBuilderType) {\n super(EdgeTechnique._kUnquantized * 2);\n this._type = type;\n\n const flags = scratchTechniqueFlags;\n for (const posType of positionTypes) {\n for (let instanced = IsInstanced.No; instanced <= IsInstanced.Yes; instanced++) {\n for (let iAnimate = IsAnimated.No; iAnimate <= IsAnimated.Yes; iAnimate++) {\n for (const featureMode of featureModes) {\n flags.reset(featureMode, instanced, IsShadowable.No, IsThematic.No, posType);\n flags.isAnimated = iAnimate;\n const builder = createEdgeBuilder(type, flags.isInstanced, flags.isAnimated, posType);\n addUnlitMonochrome(builder.frag);\n\n // The translucent shaders do not need the element IDs.\n const builderTrans = createEdgeBuilder(type, flags.isInstanced, flags.isAnimated, posType);\n addUnlitMonochrome(builderTrans.frag);\n if (FeatureMode.Overrides === featureMode) {\n addFeatureSymbology(builderTrans, featureMode, FeatureSymbologyOptions.Linear);\n addFeatureSymbology(builder, featureMode, FeatureSymbologyOptions.Linear);\n this.addTranslucentShader(builderTrans, flags, gl);\n } else {\n this.addTranslucentShader(builderTrans, flags, gl);\n addFeatureSymbology(builder, featureMode, FeatureSymbologyOptions.None);\n }\n\n this.addFeatureId(builder, featureMode);\n flags.reset(featureMode, instanced, IsShadowable.No, IsThematic.No, posType);\n flags.isAnimated = iAnimate;\n this.addShader(builder, flags, gl);\n }\n }\n }\n }\n\n this.finishConstruction();\n }\n\n protected get _debugDescription() { return this._type; }\n\n public computeShaderIndex(flags: TechniqueFlags): number {\n let index = flags.isTranslucent ? EdgeTechnique._kTranslucent : EdgeTechnique._kOpaque;\n index += EdgeTechnique._kFeature * flags.featureMode;\n if (flags.isAnimated)\n index += EdgeTechnique._kAnimated;\n\n if (flags.isInstanced)\n index += EdgeTechnique._kInstanced;\n\n if (\"unquantized\" === flags.positionType)\n index += EdgeTechnique._kUnquantized;\n\n return index;\n }\n}\n\nclass PointStringTechnique extends VariedTechnique {\n private static readonly _kOpaque = 0;\n private static readonly _kTranslucent = 1;\n private static readonly _kInstanced = 2;\n private static readonly _kFeature = 4;\n private static readonly _kHilite = numFeatureVariants(PointStringTechnique._kFeature);\n private static readonly _kUnquantized = PointStringTechnique._kHilite + numHiliteVariants;\n\n public constructor(gl: WebGL2RenderingContext) {\n super(PointStringTechnique._kUnquantized * 2);\n\n const flags = scratchTechniqueFlags;\n for (const posType of positionTypes) {\n for (let instanced = IsInstanced.No; instanced <= IsInstanced.Yes; instanced++) {\n this.addHiliteShader(gl, instanced, IsClassified.No, posType, (inst, _class, pos) => createPointStringHiliter(inst, pos));\n for (const featureMode of featureModes) {\n flags.reset(featureMode, instanced, IsShadowable.No, IsThematic.No, posType);\n const builder = createPointStringBuilder(instanced, posType);\n addUnlitMonochrome(builder.frag);\n\n // The translucent shaders do not need the element IDs.\n const builderTrans = createPointStringBuilder(instanced, posType);\n addUnlitMonochrome(builderTrans.frag);\n if (FeatureMode.Overrides === featureMode) {\n addFeatureSymbology(builderTrans, featureMode, FeatureSymbologyOptions.Point);\n addFeatureSymbology(builder, featureMode, FeatureSymbologyOptions.Point);\n this.addTranslucentShader(builderTrans, flags, gl);\n } else {\n this.addTranslucentShader(builderTrans, flags, gl);\n addFeatureSymbology(builder, featureMode, FeatureSymbologyOptions.None);\n }\n\n this.addFeatureId(builder, featureMode);\n flags.reset(featureMode, instanced, IsShadowable.No, IsThematic.No, posType);\n this.addShader(builder, flags, gl);\n }\n }\n }\n\n this.finishConstruction();\n }\n\n protected get _debugDescription() { return \"PointString\"; }\n\n public computeShaderIndex(flags: TechniqueFlags): number {\n const idxOffset = \"quantized\" === flags.positionType ? 0 : PointStringTechnique._kUnquantized;\n if (flags.isHilite) {\n assert(flags.hasFeatures);\n return PointStringTechnique._kHilite + flags.isInstanced + idxOffset;\n }\n\n let index = flags.isTranslucent ? PointStringTechnique._kTranslucent : PointStringTechnique._kOpaque;\n index += PointStringTechnique._kFeature * flags.featureMode;\n index += PointStringTechnique._kInstanced * flags.isInstanced;\n return index + idxOffset;\n }\n}\n\nclass PointCloudTechnique extends VariedTechnique {\n private static readonly _kHilite = 8;\n\n public constructor(gl: WebGL2RenderingContext) {\n super(PointCloudTechnique._kHilite + 2);\n\n for (let iClassified = IsClassified.No; iClassified <= IsClassified.Yes; iClassified++) {\n this.addHiliteShader(gl, IsInstanced.No, iClassified, \"quantized\", (_inst, classified) => createPointCloudHiliter(classified));\n const flags = scratchTechniqueFlags;\n for (let thematic = IsThematic.No; thematic <= IsThematic.Yes; thematic++) {\n const pointCloudFeatureModes = [FeatureMode.None, FeatureMode.Overrides];\n for (const featureMode of pointCloudFeatureModes) {\n flags.reset(featureMode, IsInstanced.No, IsShadowable.No, thematic, \"quantized\");\n flags.isClassified = iClassified;\n const builder = createPointCloudBuilder(flags.isClassified, featureMode, thematic);\n if (FeatureMode.Overrides === featureMode) {\n addUniformFeatureSymbology(builder, true);\n addColorOverrideMix(builder.vert);\n builder.vert.set(VertexShaderComponent.ApplyFeatureColor, mixFeatureColor);\n }\n\n this.addFeatureId(builder, featureMode);\n this.addShader(builder, flags, gl);\n }\n }\n }\n\n this.finishConstruction();\n }\n\n protected get _debugDescription() { return \"PointCloud\"; }\n\n public computeShaderIndex(flags: TechniqueFlags): number {\n assert(flags.positionType === \"quantized\", \"Unquantized point cloud positions not currently supported\");\n if (flags.isHilite)\n return PointCloudTechnique._kHilite + flags.isClassified;\n else {\n let ndx = 0;\n if (flags.isClassified)\n ndx++;\n if (flags.featureMode !== FeatureMode.None)\n ndx += 2;\n if (flags.isThematic)\n ndx += 4;\n return ndx;\n }\n }\n}\n\nclass RealityMeshTechnique extends VariedTechnique {\n private static readonly _numVariants = 194;\n\n public constructor(gl: WebGL2RenderingContext) {\n super(RealityMeshTechnique._numVariants);\n this._earlyZFlags = [\n TechniqueFlags.fromDescription(\"Opaque-Hilite-Overrides\"),\n TechniqueFlags.fromDescription(\"Opaque-Hilite-Classified\"),\n ];\n\n this.addHiliteShader(gl, IsInstanced.No, IsClassified.No, \"quantized\", createRealityMeshHiliter);\n this.addHiliteShader(gl, IsInstanced.No, IsClassified.Yes, \"quantized\", createClassifierRealityMeshHiliter);\n for (let iClassified = IsClassified.No; iClassified <= IsClassified.Yes; iClassified++) {\n for (let iTranslucent = 0; iTranslucent <= 1; iTranslucent++) {\n for (let shadowable = IsShadowable.No; shadowable <= IsShadowable.Yes; shadowable++) {\n for (let thematic = IsThematic.No; thematic <= IsThematic.Yes; thematic++) {\n for (let wiremesh = IsWiremesh.No; wiremesh <= IsWiremesh.Yes; wiremesh++) {\n for (let enableAtmosphere = EnableAtmosphere.No; enableAtmosphere <= EnableAtmosphere.Yes; enableAtmosphere++) {\n const flags = scratchTechniqueFlags;\n for (const featureMode of featureModes) {\n flags.reset(featureMode, IsInstanced.No, shadowable, thematic, \"quantized\");\n flags.isClassified = iClassified;\n flags.isWiremesh = wiremesh;\n flags.isTranslucent = 1 === iTranslucent;\n flags.enableAtmosphere = enableAtmosphere;\n const builder = createRealityMeshBuilder(flags);\n\n if (flags.isTranslucent) {\n addShaderFlags(builder);\n addTranslucency(builder);\n } else\n this.addFeatureId(builder, featureMode);\n\n this.addShader(builder, flags, gl);\n }\n }\n }\n }\n }\n }\n }\n\n this.finishConstruction();\n }\n\n protected get _debugDescription() { return \"RealityMesh\"; }\n\n public computeShaderIndex(flags: TechniqueFlags): number {\n assert(\"quantized\" === flags.positionType, \"Unquantized reality mesh positions not currently supported.\");\n\n if (flags.isHilite)\n return flags.isClassified ? 1 : 0;\n let ndx = 2;\n if (flags.isClassified)\n ndx++;\n if (flags.isShadowable)\n ndx += 2;\n if (flags.isTranslucent)\n ndx += 4;\n ndx += 8 * flags.featureMode;\n if (flags.isThematic)\n ndx += 24;\n if (flags.isWiremesh)\n ndx += 48;\n if (flags.enableAtmosphere)\n ndx += 96;\n return ndx;\n }\n}\n\n/**\n * More generalized version of VariedTechnique, without assuming usage of clipping, logDepth, eyeSpace, etc.\n * Similar to SingularTechnique in its simplicity, but with support for multiple shader programs per technique.\n */\nabstract class MultipleTechnique implements Technique {\n private readonly _programs: ShaderProgram[] = [];\n\n private _isDisposed = false;\n public get isDisposed(): boolean { return this._isDisposed; }\n\n public constructor(numPrograms: number) {\n this._programs.length = numPrograms;\n }\n\n protected abstract computeShaderIndex(flags: TechniqueFlags): number;\n\n private getShaderIndex(flags: TechniqueFlags) {\n assert(!flags.isHilite || (!flags.isTranslucent && (flags.isClassified === IsClassified.Yes || flags.hasFeatures)), \"invalid technique flags\");\n const index = this.computeShaderIndex(flags);\n assert(index < this._programs.length, \"shader index out of bounds\");\n return index;\n }\n\n public getShader(flags: TechniqueFlags): ShaderProgram {\n const index = this.getShaderIndex(flags);\n let program: ShaderProgram | undefined;\n\n if (program === undefined)\n program = this._programs[index];\n\n return program;\n }\n\n public getShaderByIndex(index: number): ShaderProgram {\n return this._programs[index];\n }\n\n public getShaderCount() {\n return this._programs.length;\n }\n\n public compileShaders(): boolean {\n let allCompiled = true;\n for (const program of this._programs) {\n if (program.compile() !== CompileStatus.Success)\n allCompiled = false;\n }\n\n return allCompiled;\n }\n\n public [Symbol.dispose](): void {\n if (this._isDisposed)\n return;\n\n for (const program of this._programs) {\n assert(undefined !== program);\n dispose(program);\n }\n this._programs.length = 0;\n this._isDisposed = true;\n }\n\n protected abstract get _debugDescription(): string;\n\n protected addShader(builder: ProgramBuilder, flags: TechniqueFlags, gl: WebGL2RenderingContext): void {\n const descr = `${this._debugDescription}: ${flags.buildDescription()}`;\n builder.setDebugDescription(descr);\n\n const index = this.getShaderIndex(flags);\n this.addProgram(builder, index, gl);\n\n assert(!builder.frag.requiresEarlyZWorkaround);\n }\n\n private addProgram(builder: ProgramBuilder, index: number, gl: WebGL2RenderingContext): void {\n assert(this._programs[index] === undefined);\n this._programs[index] = builder.buildProgram(gl);\n assert(this._programs[index] !== undefined);\n }\n\n protected finishConstruction(): void {\n // Confirm no empty entries in our array.\n let emptyShaderIndex = -1;\n assert(-1 === (emptyShaderIndex = this._programs.findIndex((prog) => undefined === prog)), `Shader index ${emptyShaderIndex} is undefined in ${this.constructor.name}`);\n }\n}\n\nclass SkySphereTechnique extends MultipleTechnique {\n private static readonly _numVariants = 2; // one binary flag (2 ** 1)\n private readonly _isGradient: boolean;\n\n public constructor(gl: WebGL2RenderingContext, isGradient: boolean) {\n super(SkySphereTechnique._numVariants);\n this._isGradient = isGradient;\n\n for (let enableAtmosphere = EnableAtmosphere.No; enableAtmosphere <= EnableAtmosphere.Yes; enableAtmosphere++) {\n const tempFlags = scratchTechniqueFlags;\n\n tempFlags.reset(FeatureMode.None, IsInstanced.No, IsShadowable.No, IsThematic.No, \"quantized\");\n tempFlags.enableAtmosphere = enableAtmosphere;\n const builder = createSkySphereBuilder(isGradient, tempFlags);\n\n this.addShader(builder, tempFlags, gl);\n }\n\n this.finishConstruction();\n }\n\n protected get _debugDescription() { return `SkySphere-${this._isGradient ? \"Gradient\" : \"Texture\"}`; }\n\n public computeShaderIndex(flags: TechniqueFlags): number {\n let index = 0;\n if (flags.enableAtmosphere)\n index += 1 << 0;\n\n return index;\n }\n}\n\ninterface PrioritizedShaderVariation {\n featureMode: FeatureMode;\n isInstanced: IsInstanced;\n isShadowable: IsShadowable;\n isEdgeTestedNeeded: IsEdgeTestNeeded;\n isTranslucent: boolean;\n}\n\ninterface PrioritizedTechniqueOrShader {\n techniqueId: TechniqueId;\n specificShader?: PrioritizedShaderVariation; // if defined, only compile this specific shader variation for the technique; otherwise, compile all uncompiled shader variations for the technique\n}\n\nconst techniquesByPriority: PrioritizedTechniqueOrShader[] = [\n // Compile these specific shader variations first because they seem most likely to be used immediately upon opening a file.\n { techniqueId: TechniqueId.Surface, specificShader: { featureMode: FeatureMode.None, isInstanced: IsInstanced.No, isShadowable: IsShadowable.No, isEdgeTestedNeeded: IsEdgeTestNeeded.No, isTranslucent: false } },\n { techniqueId: TechniqueId.Surface, specificShader: { featureMode: FeatureMode.Pick, isInstanced: IsInstanced.No, isShadowable: IsShadowable.No, isEdgeTestedNeeded: IsEdgeTestNeeded.No, isTranslucent: false } },\n { techniqueId: TechniqueId.Surface, specificShader: { featureMode: FeatureMode.Pick, isInstanced: IsInstanced.No, isShadowable: IsShadowable.No, isEdgeTestedNeeded: IsEdgeTestNeeded.Yes, isTranslucent: false } },\n { techniqueId: TechniqueId.Surface, specificShader: { featureMode: FeatureMode.Overrides, isInstanced: IsInstanced.No, isShadowable: IsShadowable.No, isEdgeTestedNeeded: IsEdgeTestNeeded.No, isTranslucent: false } },\n { techniqueId: TechniqueId.Surface, specificShader: { featureMode: FeatureMode.Overrides, isInstanced: IsInstanced.No, isShadowable: IsShadowable.No, isEdgeTestedNeeded: IsEdgeTestNeeded.Yes, isTranslucent: false } },\n { techniqueId: TechniqueId.Surface, specificShader: { featureMode: FeatureMode.None, isInstanced: IsInstanced.No, isShadowable: IsShadowable.No, isEdgeTestedNeeded: IsEdgeTestNeeded.No, isTranslucent: true } },\n { techniqueId: TechniqueId.Surface, specificShader: { featureMode: FeatureMode.Pick, isInstanced: IsInstanced.No, isShadowable: IsShadowable.No, isEdgeTestedNeeded: IsEdgeTestNeeded.No, isTranslucent: true } },\n { techniqueId: TechniqueId.Surface, specificShader: { featureMode: FeatureMode.Pick, isInstanced: IsInstanced.No, isShadowable: IsShadowable.No, isEdgeTestedNeeded: IsEdgeTestNeeded.Yes, isTranslucent: true } },\n { techniqueId: TechniqueId.Surface, specificShader: { featureMode: FeatureMode.Overrides, isInstanced: IsInstanced.No, isShadowable: IsShadowable.No, isEdgeTestedNeeded: IsEdgeTestNeeded.No, isTranslucent: true } },\n { techniqueId: TechniqueId.Surface, specificShader: { featureMode: FeatureMode.Overrides, isInstanced: IsInstanced.No, isShadowable: IsShadowable.No, isEdgeTestedNeeded: IsEdgeTestNeeded.Yes, isTranslucent: true } },\n\n // Next, compile all shaders in specific techniques.\n // Do surfaces first because (1) they are the most commonly used and (2) they take longer to compile.\n { techniqueId: TechniqueId.Surface },\n { techniqueId: TechniqueId.Edge },\n { techniqueId: TechniqueId.SilhouetteEdge },\n { techniqueId: TechniqueId.Polyline },\n { techniqueId: TechniqueId.PointString },\n { techniqueId: TechniqueId.PointCloud },\n { techniqueId: TechniqueId.RealityMesh },\n\n // The following techniques take a trivial amount of time to compile - do them last\n { techniqueId: TechniqueId.OITClearTranslucent },\n { techniqueId: TechniqueId.CopyPickBuffers },\n { techniqueId: TechniqueId.CopyColor },\n { techniqueId: TechniqueId.CopyColorNoAlpha },\n { techniqueId: TechniqueId.ClearPickAndColor },\n { techniqueId: TechniqueId.CompositeTranslucent },\n { techniqueId: TechniqueId.CompositeHilite },\n { techniqueId: TechniqueId.CompositeHiliteAndTranslucent },\n { techniqueId: TechniqueId.CompositeOcclusion },\n { techniqueId: TechniqueId.CompositeTranslucentAndOcclusion },\n { techniqueId: TechniqueId.CompositeHiliteAndOcclusion },\n { techniqueId: TechniqueId.CompositeAll },\n { techniqueId: TechniqueId.VolClassColorUsingStencil },\n { techniqueId: TechniqueId.EVSMFromDepth },\n { techniqueId: TechniqueId.SkyBox },\n { techniqueId: TechniqueId.SkySphereGradient },\n { techniqueId: TechniqueId.SkySphereTexture },\n { techniqueId: TechniqueId.AmbientOcclusion },\n { techniqueId: TechniqueId.Blur },\n { techniqueId: TechniqueId.BlurTestOrder },\n { techniqueId: TechniqueId.CombineTextures },\n { techniqueId: TechniqueId.VolClassCopyZ },\n { techniqueId: TechniqueId.VolClassSetBlend },\n { techniqueId: TechniqueId.VolClassBlend },\n { techniqueId: TechniqueId.Combine3Textures },\n { techniqueId: TechniqueId.PlanarGrid },\n { techniqueId: TechniqueId.EDLCalcBasic },\n { techniqueId: TechniqueId.EDLCalcFull },\n { techniqueId: TechniqueId.EDLFilter },\n { techniqueId: TechniqueId.EDLMix },\n];\nconst numTechniquesByPriority = techniquesByPriority.length;\n\n/** A collection of rendering techniques accessed by ID.\n * @internal\n */\nexport class Techniques implements WebGLDisposable {\n private readonly _list = new Array<Technique>(); // indexed by TechniqueId, which may exceed TechniqueId.NumBuiltIn for dynamic techniques.\n private readonly _dynamicTechniqueIds = new Array<string>(); // technique ID = (index in this array) + TechniqueId.NumBuiltIn\n private _techniqueByPriorityIndex = 0;\n private _shaderIndex = 0;\n\n public static create(gl: WebGL2RenderingContext): Techniques {\n const techs = new Techniques();\n techs.initializeBuiltIns(gl);\n return techs;\n }\n\n public getTechnique(id: TechniqueId): Technique {\n assert(id < this._list.length, \"technique index out of bounds\");\n return this._list[id];\n }\n\n public get numTechniques(): number {\n return this._list.length;\n }\n\n public addDynamicTechnique(technique: Technique, name: string): TechniqueId {\n const id = this.getDynamicTechniqueId(name);\n if (undefined !== id)\n return id;\n\n this._dynamicTechniqueIds.push(name);\n this._list.push(technique);\n return TechniqueId.NumBuiltIn + this._dynamicTechniqueIds.length - 1;\n }\n\n public getDynamicTechniqueId(name: string): TechniqueId | undefined {\n const index = this._dynamicTechniqueIds.indexOf(name);\n return -1 !== index ? index + TechniqueId.NumBuiltIn + index : undefined;\n }\n\n /** Execute each command in the list */\n public execute(target: Target, commands: DrawCommands, renderPass: RenderPass) {\n assert(RenderPass.None !== renderPass, \"invalid render pass\");\n\n using executor = new ShaderProgramExecutor(target, renderPass);\n for (const command of commands)\n command.execute(executor);\n\n System.instance.frameBufferStack.markTargetsDirty();\n }\n\n /** Execute the commands for a single given classification primitive (the first 3 commands should be a push, the primitive, then a pop) */\n public executeForIndexedClassifier(target: Target, cmdsByIndex: DrawCommands, renderPass: RenderPass) {\n // ###TODO: Disable shadows. Probably in the ClassifierTileTree's ViewFlagOverrides.\n this.execute(target, cmdsByIndex, renderPass);\n }\n\n /** Draw a single primitive. Usually used for special-purpose rendering techniques. */\n public draw(params: DrawParams): void {\n const tech = this.getTechnique(params.geometry.techniqueId);\n const program = tech.getShader(TechniqueFlags.defaults);\n\n using executor = new ShaderProgramExecutor(params.target, params.renderPass, program);\n assert(executor.isValid);\n if (executor.isValid) {\n executor.draw(params);\n }\n System.instance.frameBufferStack.markTargetsDirty();\n }\n\n public get isDisposed(): boolean { return 0 === this._list.length; }\n\n public [Symbol.dispose](): void {\n for (const tech of this._list)\n dispose(tech);\n this._list.length = 0;\n }\n\n /** @deprecated in 5.0 - will not be removed until after 2026-06-13. Use [Symbol.dispose] instead. */\n public dispose(): void {\n this[Symbol.dispose]();\n }\n\n // Chiefly for tests - compiles all shader programs - more generally programs are compiled on demand.\n public compileShaders(): boolean {\n let allCompiled = true;\n\n for (const tech of this._list) {\n if (!tech.compileShaders())\n allCompiled = false;\n }\n\n return allCompiled;\n }\n\n /** Compile shader of next highest priority. Called when possible during an idle situation before any viewports exist. */\n public idleCompileNextShader(): boolean {\n let compileStatus = CompileStatus.Success;\n let wasPreviouslyCompiled = false;\n\n do {\n if (this._techniqueByPriorityIndex >= numTechniquesByPriority)\n return false;\n\n let shader: ShaderProgram;\n let numShaders = 0;\n\n const pTech = techniquesByPriority[this._techniqueByPriorityIndex];\n const tech = this._list[pTech.techniqueId];\n\n if (pTech.specificShader !== undefined) { // if this entry consists of a specific shader, just compile that\n const flags = scratchTechniqueFlags;\n flags.reset(pTech.specificShader.featureMode, pTech.specificShader.isInstanced, pTech.specificShader.isShadowable, IsThematic.No, \"quantized\");\n flags.isEdgeTestNeeded = pTech.specificShader.isEdgeTestedNeeded;\n flags.isTranslucent = pTech.specificShader.isTranslucent;\n shader = tech.getShader(flags);\n } else { // if this entry only contains a techniqueId, then compile all uncompiled shaders for that technique\n shader = tech.getShaderByIndex(this._shaderIndex);\n this._shaderIndex++;\n numShaders = tech.getShaderCount();\n }\n\n if (shader.isCompiled)\n wasPreviouslyCompiled = true;\n else {\n compileStatus = shader.compile();\n wasPreviouslyCompiled = false;\n }\n\n if (this._shaderIndex >= numShaders) {\n this._techniqueByPriorityIndex++;\n this._shaderIndex = 0;\n }\n } while (wasPreviouslyCompiled);\n\n return compileStatus === CompileStatus.Success;\n }\n\n /** For tests. */\n public forEachVariedProgram(func: (program: ShaderProgram) => void): void {\n for (const technique of this._list)\n if (technique instanceof VariedTechnique)\n technique.forEachProgram(func);\n }\n\n private constructor() { }\n\n private initializeBuiltIns(gl: WebGL2RenderingContext): void {\n this._list[TechniqueId.OITClearTranslucent] = new SingularTechnique(createClearTranslucentProgram(gl));\n this._list[TechniqueId.ClearPickAndColor] = new SingularTechnique(createClearPickAndColorProgram(gl));\n this._list[TechniqueId.CopyColor] = new SingularTechnique(createCopyColorProgram(gl));\n this._list[TechniqueId.CopyColorNoAlpha] = new SingularTechnique(createCopyColorProgram(gl, false));\n this._list[TechniqueId.CopyPickBuffers] = new SingularTechnique(createCopyPickBuffersProgram(gl));\n this._list[TechniqueId.EVSMFromDepth] = new SingularTechnique(createEVSMProgram(gl));\n this._list[TechniqueId.SkyBox] = new SingularTechnique(createSkyBoxProgram(gl));\n this._list[TechniqueId.SkySphereGradient] = new SkySphereTechnique(gl, true);\n this._list[TechniqueId.SkySphereTexture] = new SkySphereTechnique(gl, false);\n this._list[TechniqueId.AmbientOcclusion] = new SingularTechnique(createAmbientOcclusionProgram(gl));\n this._list[TechniqueId.Blur] = new SingularTechnique(createBlurProgram(gl, BlurType.NoTest));\n this._list[TechniqueId.BlurTestOrder] = new SingularTechnique(createBlurProgram(gl, BlurType.TestOrder));\n this._list[TechniqueId.CombineTextures] = new SingularTechnique(createCombineTexturesProgram(gl));\n this._list[TechniqueId.Combine3Textures] = new SingularTechnique(createCombine3TexturesProgram(gl));\n this._list[TechniqueId.Surface] = new SurfaceTechnique(gl);\n this._list[TechniqueId.Edge] = new EdgeTechnique(gl, \"SegmentEdge\");\n this._list[TechniqueId.SilhouetteEdge] = new EdgeTechnique(gl, \"Silhouette\");\n this._list[TechniqueId.Polyline] = new PolylineTechnique(gl);\n this._list[TechniqueId.PointString] = new PointStringTechnique(gl);\n this._list[TechniqueId.PointCloud] = new PointCloudTechnique(gl);\n this._list[TechniqueId.RealityMesh] = new RealityMeshTechnique(gl);\n this._list[TechniqueId.PlanarGrid] = new SingularTechnique(createPlanarGridProgram(gl));\n this._list[TechniqueId.EDLCalcBasic] = new SingularTechnique(createEDLCalcBasicProgram(gl));\n this._list[TechniqueId.EDLCalcFull] = new SingularTechnique(createEDLCalcFullProgram(gl));\n this._list[TechniqueId.EDLFilter] = new SingularTechnique(createEDLFilterProgram(gl));\n this._list[TechniqueId.EDLMix] = new SingularTechnique(createEDLMixProgram(gl));\n\n this._list[TechniqueId.IndexedEdge] = new EdgeTechnique(gl, \"IndexedEdge\");\n\n this._list[TechniqueId.VolClassCopyZ] = new SingularTechnique(createVolClassCopyZProgram(gl));\n this._list[TechniqueId.VolClassSetBlend] = new SingularTechnique(createVolClassSetBlendProgram(gl));\n this._list[TechniqueId.VolClassBlend] = new SingularTechnique(createVolClassBlendProgram(gl));\n this._list[TechniqueId.VolClassColorUsingStencil] = new SingularTechnique(createVolClassColorUsingStencilProgram(gl));\n\n for (let compositeFlags = 1; compositeFlags <= 7; compositeFlags++) {\n const techId = computeCompositeTechniqueId(compositeFlags);\n this._list[techId] = new SingularTechnique(createCompositeProgram(compositeFlags, gl));\n }\n\n assert(this._list.length === TechniqueId.NumBuiltIn, \"unexpected number of built-in techniques\");\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"Technique.js","sourceRoot":"","sources":["../../../../../src/internal/render/webgl/Technique.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TechniqueFlags.js","sourceRoot":"","sources":["../../../../../src/internal/render/webgl/TechniqueFlags.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AA0ChD;;GAEG;AACH,MAAM,OAAO,cAAc;IAClB,aAAa,GAAG,CAAC,CAAC;IAClB,WAAW,4BAAoB;IAC/B,aAAa,CAAU;IACvB,gBAAgB,+BAAyC;IACzD,UAAU,yBAA6B;IACvC,WAAW,0BAA+B;IAC1C,YAAY,2BAAiC;IAC7C,YAAY,2BAAiC;IAC7C,UAAU,yBAA6B;IACvC,UAAU,yBAA6B;IACvC,YAAY,GAAiB,WAAW,CAAC;IACzC,gBAAgB,+BAAyC;IACxD,SAAS,GAAG,KAAK,CAAC;IAE1B,YAAmB,cAAuB,KAAK;QAC7C,IAAI,CAAC,aAAa,GAAG,WAAW,CAAC;IACnC,CAAC;IAED,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;IAChC,CAAC;IAED,IAAW,sBAAsB;QAC/B,OAAO,WAAW,KAAK,IAAI,CAAC,YAAY,CAAC;IAC3C,CAAC;IAEM,IAAI,CAAC,MAAc,EAAE,IAAgB,EAAE,SAAsB,EAAE,gCAAoC,EAAE,UAAU,0BAAkB,EAAE,UAAU,0BAAkB,EAAE,QAAQ,wBAAgB,EAAE,QAAQ,wBAAgB,EAAE,UAAwB,WAAW,EAAE,gBAAgB,8BAAsB;QACrS,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC;QACnD,MAAM,aAAa,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;QACtE,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;QAE5B,IAAI,+BAAsB,IAAI,IAAI,6CAAoC,IAAI,IAAI,mDAA0C,IAAI,EAAE,CAAC;YAC7H,MAAM,YAAY,GAAG,CAAC,UAAU,6BAAqB,IAAI,mDAA0C,IAAI,CAAC,CAAC,CAAC,0BAAkB,CAAC,wBAAgB,CAAC;YAC9I,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;QACtE,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,aAAa,GAAG,mCAA2B,IAAI,CAAC;YACrD,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;YACnC,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;YAC3B,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;YAC7B,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC;YAC/B,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC;YAC/B,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;YAC3B,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;YAC3B,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;YACzC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC;YAErD,gLAAgL;YAChL,6DAA6D;YAC7D,iHAAiH;YACjH,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,6BAAqB,CAAC,6BAAqB,CAAC,CAAC,CAAC,4BAAoB,CAAC;YAClI,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,mBAAmB,IAAI,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,sBAAsB,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC3H,QAAQ,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC;oBAC3C,KAAK,UAAU,CAAC,SAAS;wBACvB,+DAA+D;wBAC/D,IAAI,CAAC,gBAAgB,8BAAsB,CAAC;wBAC5C,MAAM;oBACR,KAAK,UAAU,CAAC,WAAW;wBACzB,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,YAAY,IAAI,CAAC,MAAM,CAAC,oBAAoB,IAAI,IAAI,6CAAoC,EAAE,CAAC;4BACtH,mEAAmE;4BACnE,oGAAoG;4BACpG,IAAI,CAAC,gBAAgB,8BAAsB,CAAC;wBAC9C,CAAC;wBACD,MAAM;oBACR;wBACE,8DAA8D;wBAC9D,MAAM;gBACV,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,IAAiB,EAAE,kCAAuC,EAAE,UAAwB,EAAE,QAAoB,EAAE,OAAqB;QAC5I,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,gBAAgB,8BAAsB,CAAC;QAC5C,IAAI,CAAC,UAAU,wBAAgB,CAAC;QAChC,IAAI,CAAC,YAAY,0BAAkB,CAAC;QACpC,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;QAC7B,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC;QAC/B,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;QAC3B,IAAI,CAAC,UAAU,wBAAgB,CAAC;QAChC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;QAC5B,IAAI,CAAC,gBAAgB,8BAAsB,CAAC;QAC5C,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;IACzB,CAAC;IAED,IAAW,WAAW,KAAK,OAAO,6BAAqB,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IAEnE,WAAW,CAAC,QAAiB,IAAI,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,CAAC,wBAAgB,CAAC,sBAAc,CAAC,CAAC,CAAC;IAC/F,YAAY,CAAC,SAAkB,IAAI,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC,yBAAiB,CAAC,uBAAe,CAAC,CAAC,CAAC;IACrG,aAAa,CAAC,UAAmB;QACtC,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,CAAC,0BAAkB,CAAC,wBAAgB,CAAC;IACtE,CAAC;IAED,IAAW,QAAQ,KAAK,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IACzC,aAAa,CAAC,aAAqB,EAAE,SAAsB,EAAE,UAAwB,EAAE,OAAqB;QACjH,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,CAAC,0BAAkB,CAAC,8BAAsB,CAAC;QACzE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,gBAAgB,8BAAsB,CAAC;QAC5C,IAAI,CAAC,UAAU,wBAAgB,CAAC;QAChC,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;QAC7B,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC;QAC/B,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;IAC9B,CAAC;IAEM,MAAM,CAAC,KAAqB;QACjC,OAAO,IAAI,CAAC,aAAa,KAAK,KAAK,CAAC,aAAa;eAC5C,IAAI,CAAC,WAAW,KAAK,KAAK,CAAC,WAAW;eACtC,IAAI,CAAC,aAAa,KAAK,KAAK,CAAC,aAAa;eAC1C,IAAI,CAAC,gBAAgB,KAAK,KAAK,CAAC,gBAAgB;eAChD,IAAI,CAAC,UAAU,KAAK,KAAK,CAAC,UAAU;eACpC,IAAI,CAAC,WAAW,KAAK,KAAK,CAAC,WAAW;eACtC,IAAI,CAAC,YAAY,KAAK,KAAK,CAAC,YAAY;eACxC,IAAI,CAAC,YAAY,KAAK,KAAK,CAAC,YAAY;eACxC,IAAI,CAAC,UAAU,KAAK,KAAK,CAAC,UAAU;eACpC,IAAI,CAAC,UAAU,KAAK,KAAK,CAAC,UAAU;eACpC,IAAI,CAAC,YAAY,KAAK,KAAK,CAAC,YAAY;eACxC,IAAI,CAAC,gBAAgB,KAAK,KAAK,CAAC,gBAAgB;eAChD,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ,CAAC;IACxC,CAAC;IAEM,gBAAgB;QACrB,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC9D,IAAI,IAAI,CAAC,WAAW;YAClB,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1B,IAAI,IAAI,CAAC,gBAAgB;YACvB,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC/B,IAAI,IAAI,CAAC,UAAU;YACjB,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACzB,IAAI,IAAI,CAAC,QAAQ;YACf,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvB,IAAI,IAAI,CAAC,YAAY;YACnB,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC3B,IAAI,IAAI,CAAC,OAAO;YACd,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrB,IAAI,IAAI,CAAC,YAAY;YACnB,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC3B,IAAI,IAAI,CAAC,UAAU;YACjB,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACzB,IAAI,IAAI,CAAC,WAAW;YAClB,KAAK,CAAC,IAAI,CAAC,6BAAqB,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QAC3E,IAAI,IAAI,CAAC,UAAU;YACjB,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACzB,IAAI,IAAI,CAAC,YAAY,KAAK,aAAa;YACrC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC5B,IAAI,IAAI,CAAC,gBAAgB;YACvB,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAEjC,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAEM,MAAM,CAAC,eAAe,CAAC,WAAmB;QAC/C,MAAM,KAAK,GAAG,IAAI,cAAc,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,QAAQ,IAAI,EAAE,CAAC;gBACb,KAAK,aAAa;oBAChB,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC;oBAC3B,MAAM;gBACR,KAAK,WAAW;oBACd,KAAK,CAAC,WAAW,0BAAkB,CAAC;oBACpC,MAAM;gBACR,KAAK,gBAAgB;oBACnB,KAAK,CAAC,gBAAgB,+BAAuB,CAAC;oBAC9C,MAAM;gBACR,KAAK,UAAU;oBACb,KAAK,CAAC,UAAU,yBAAiB,CAAC;oBAClC,MAAM;gBACR,KAAK,QAAQ;oBACX,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;oBACvB,MAAM;gBACR,KAAK,YAAY;oBACf,KAAK,CAAC,YAAY,2BAAmB,CAAC;oBACtC,MAAM;gBACR,KAAK,MAAM;oBACT,KAAK,CAAC,aAAa,GAAG,CAAC,CAAC;oBACxB,MAAM;gBACR,KAAK,YAAY;oBACf,KAAK,CAAC,YAAY,2BAAmB,CAAC;oBACtC,MAAM;gBACR,KAAK,UAAU;oBACb,KAAK,CAAC,UAAU,yBAAiB,CAAC;oBAClC,MAAM;gBACR,KAAK,UAAU;oBACb,KAAK,CAAC,UAAU,yBAAiB,CAAC;oBAClC,MAAM;gBACR,KAAK,aAAa;oBAChB,KAAK,CAAC,YAAY,GAAG,aAAa,CAAC;oBACnC,MAAM;gBACR,KAAK,kBAAkB;oBACrB,KAAK,CAAC,gBAAgB,+BAAuB,CAAC;oBAC9C,MAAM;gBACR,KAAK,MAAM;oBACT,KAAK,CAAC,WAAW,2BAAmB,CAAC;oBACrC,MAAM;gBACR,KAAK,WAAW;oBACd,KAAK,CAAC,WAAW,gCAAwB,CAAC;oBAC1C,MAAM;YACV,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,MAAM,CAAU,QAAQ,GAAG,IAAI,cAAc,EAAE,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module WebGL\n */\n\nimport { RenderMode } from \"@itwin/core-common\";\nimport { RenderPass } from \"./RenderFlags\";\nimport { Target } from \"./Target\";\n\n/* eslint-disable no-restricted-syntax */\n\n/** Specifies how a TechniqueFlags handles feature table/overrides.\n * @internal\n */\nexport const enum FeatureMode {\n None, // no features\n Pick, // feature table only\n Overrides, // feature table with symbology overrides\n}\n\n/** @internal */\nexport const enum IsInstanced { No, Yes }\n\n/** @internal */\nexport const enum IsAnimated { No, Yes }\n\n/** @internal */\nexport const enum IsClassified { No, Yes }\n\n/** @internal */\nexport const enum IsEdgeTestNeeded { No, Yes }\n\n/** @internal */\nexport const enum IsShadowable { No, Yes }\n\n/** @internal */\nexport const enum IsThematic { No, Yes }\n\n/** @internal */\nexport const enum IsWiremesh { No, Yes }\n\n/** @internal */\nexport type PositionType = \"quantized\" | \"unquantized\";\n\n/** @internal */\nexport const enum EnableAtmosphere { No, Yes }\n\n/** Flags used to control which shader program is used by a rendering Technique.\n * @internal\n */\nexport class TechniqueFlags {\n public numClipPlanes = 0;\n public featureMode = FeatureMode.None;\n public isTranslucent: boolean;\n public isEdgeTestNeeded: IsEdgeTestNeeded = IsEdgeTestNeeded.No;\n public isAnimated: IsAnimated = IsAnimated.No;\n public isInstanced: IsInstanced = IsInstanced.No;\n public isClassified: IsClassified = IsClassified.No;\n public isShadowable: IsShadowable = IsShadowable.No;\n public isThematic: IsThematic = IsThematic.No;\n public isWiremesh: IsWiremesh = IsWiremesh.No;\n public positionType: PositionType = \"quantized\";\n public enableAtmosphere: EnableAtmosphere = EnableAtmosphere.No;\n private _isHilite = false;\n\n public constructor(translucent: boolean = false) {\n this.isTranslucent = translucent;\n }\n\n public get hasClip(): boolean {\n return this.numClipPlanes > 0;\n }\n\n public get usesQuantizedPositions(): boolean {\n return \"quantized\" === this.positionType;\n }\n\n public init(target: Target, pass: RenderPass, instanced: IsInstanced, animated: IsAnimated = IsAnimated.No, classified = IsClassified.No, shadowable = IsShadowable.No, thematic = IsThematic.No, wiremesh = IsWiremesh.No, posType: PositionType = \"quantized\", enableAtmosphere = EnableAtmosphere.No): void {\n const clipStack = target.uniforms.branch.clipStack;\n const numClipPlanes = clipStack.hasClip ? clipStack.textureHeight : 0;\n this.positionType = posType;\n\n if (RenderPass.Hilite === pass || RenderPass.HiliteClassification === pass || RenderPass.HilitePlanarClassification === pass) {\n const isClassified = (classified === IsClassified.Yes && RenderPass.HilitePlanarClassification === pass) ? IsClassified.Yes : IsClassified.No;\n this.initForHilite(numClipPlanes, instanced, isClassified, posType);\n } else {\n this._isHilite = false;\n this.isTranslucent = RenderPass.Translucent === pass;\n this.numClipPlanes = numClipPlanes;\n this.isAnimated = animated;\n this.isInstanced = instanced;\n this.isClassified = classified;\n this.isShadowable = shadowable;\n this.isThematic = thematic;\n this.isWiremesh = wiremesh;\n this.enableAtmosphere = enableAtmosphere;\n this.featureMode = target.uniforms.batch.featureMode;\n\n // Determine if we should use the shaders which support discarding surfaces in favor of their edges (and discarding non-planar surfaces in favor of coincident planar surfaces).\n // These are only useful if the geometry defines feature Ids.\n // In 3d, if we're only displaying surfaces or edges, not both, don't bother, unless forceSurfaceDiscard is true.\n this.isEdgeTestNeeded = this.hasFeatures ? (this.isClassified ? IsEdgeTestNeeded.No : IsEdgeTestNeeded.Yes) : IsEdgeTestNeeded.No;\n if (!target.currentViewFlags.forceSurfaceDiscard && target.is3d && !target.isReadPixelsInProgress && this.isEdgeTestNeeded) {\n switch (target.currentViewFlags.renderMode) {\n case RenderMode.Wireframe:\n // We're only displaying edges (ignoring filled planar regions)\n this.isEdgeTestNeeded = IsEdgeTestNeeded.No;\n break;\n case RenderMode.SmoothShade:\n if (!target.currentViewFlags.visibleEdges && !target.wantAmbientOcclusion && pass !== RenderPass.PlanarClassification) {\n // We're only displaying surfaces (ignoring filled planar regions).\n // NB: Filled text (blanking region) is handled by adjusting the depth in the surface vertex shader.\n this.isEdgeTestNeeded = IsEdgeTestNeeded.No;\n }\n break;\n default:\n // SolidFill and HiddenLine always display edges and surfaces.\n break;\n }\n }\n }\n }\n\n public reset(mode: FeatureMode, instanced: IsInstanced = IsInstanced.No, shadowable: IsShadowable, thematic: IsThematic, posType: PositionType) {\n this._isHilite = false;\n this.featureMode = mode;\n this.isTranslucent = false;\n this.isEdgeTestNeeded = IsEdgeTestNeeded.No;\n this.isAnimated = IsAnimated.No;\n this.isClassified = IsClassified.No;\n this.isInstanced = instanced;\n this.isShadowable = shadowable;\n this.isThematic = thematic;\n this.isWiremesh = IsWiremesh.No;\n this.positionType = posType;\n this.enableAtmosphere = EnableAtmosphere.No;\n this.numClipPlanes = 0;\n }\n\n public get hasFeatures() { return FeatureMode.None !== this.featureMode; }\n\n public setAnimated(animated: boolean) { this.isAnimated = animated ? IsAnimated.Yes : IsAnimated.No; }\n public setInstanced(instanced: boolean) { this.isInstanced = instanced ? IsInstanced.Yes : IsInstanced.No; }\n public setClassified(classified: boolean) {\n this.isClassified = classified ? IsClassified.Yes : IsClassified.No;\n }\n\n public get isHilite() { return this._isHilite; }\n public initForHilite(numClipPlanes: number, instanced: IsInstanced, classified: IsClassified, posType: PositionType) {\n this.featureMode = classified ? FeatureMode.None : FeatureMode.Overrides;\n this._isHilite = true;\n this.isTranslucent = false;\n this.isEdgeTestNeeded = IsEdgeTestNeeded.No;\n this.isAnimated = IsAnimated.No;\n this.isInstanced = instanced;\n this.isClassified = classified;\n this.numClipPlanes = numClipPlanes;\n this.positionType = posType;\n }\n\n public equals(other: TechniqueFlags): boolean {\n return this.numClipPlanes === other.numClipPlanes\n && this.featureMode === other.featureMode\n && this.isTranslucent === other.isTranslucent\n && this.isEdgeTestNeeded === other.isEdgeTestNeeded\n && this.isAnimated === other.isAnimated\n && this.isInstanced === other.isInstanced\n && this.isClassified === other.isClassified\n && this.isShadowable === other.isShadowable\n && this.isThematic === other.isThematic\n && this.isWiremesh === other.isWiremesh\n && this.positionType === other.positionType\n && this.enableAtmosphere === other.enableAtmosphere\n && this.isHilite === other.isHilite;\n }\n\n public buildDescription(): string {\n const parts = [this.isTranslucent ? \"Translucent\" : \"Opaque\"];\n if (this.isInstanced)\n parts.push(\"Instanced\");\n if (this.isEdgeTestNeeded)\n parts.push(\"EdgeTestNeeded\");\n if (this.isAnimated)\n parts.push(\"Animated\");\n if (this.isHilite)\n parts.push(\"Hilite\");\n if (this.isClassified)\n parts.push(\"Classified\");\n if (this.hasClip)\n parts.push(\"Clip\");\n if (this.isShadowable)\n parts.push(\"Shadowable\");\n if (this.isThematic)\n parts.push(\"Thematic\");\n if (this.hasFeatures)\n parts.push(FeatureMode.Pick === this.featureMode ? \"Pick\" : \"Overrides\");\n if (this.isWiremesh)\n parts.push(\"Wiremesh\");\n if (this.positionType === \"unquantized\")\n parts.push(\"Unquantized\");\n if (this.enableAtmosphere)\n parts.push(\"EnableAtmosphere\");\n\n return parts.join(\"-\");\n }\n\n public static fromDescription(description: string): TechniqueFlags {\n const flags = new TechniqueFlags(false);\n const parts = description.split(\"-\");\n for (const part of parts) {\n switch (part) {\n case \"Translucent\":\n flags.isTranslucent = true;\n break;\n case \"Instanced\":\n flags.isInstanced = IsInstanced.Yes;\n break;\n case \"EdgeTestNeeded\":\n flags.isEdgeTestNeeded = IsEdgeTestNeeded.Yes;\n break;\n case \"Animated\":\n flags.isAnimated = IsAnimated.Yes;\n break;\n case \"Hilite\":\n flags._isHilite = true;\n break;\n case \"Classified\":\n flags.isClassified = IsClassified.Yes;\n break;\n case \"Clip\":\n flags.numClipPlanes = 1;\n break;\n case \"Shadowable\":\n flags.isShadowable = IsShadowable.Yes;\n break;\n case \"Thematic\":\n flags.isThematic = IsThematic.Yes;\n break;\n case \"Wiremesh\":\n flags.isWiremesh = IsWiremesh.Yes;\n break;\n case \"Unquantized\":\n flags.positionType = \"unquantized\";\n break;\n case \"EnableAtmosphere\":\n flags.enableAtmosphere = EnableAtmosphere.Yes;\n break;\n case \"Pick\":\n flags.featureMode = FeatureMode.Pick;\n break;\n case \"Overrides\":\n flags.featureMode = FeatureMode.Overrides;\n break;\n }\n }\n\n return flags;\n }\n\n public static readonly defaults = new TechniqueFlags();\n}\n"]}
|
|
1
|
+
{"version":3,"file":"TechniqueFlags.js","sourceRoot":"","sources":["../../../../../src/internal/render/webgl/TechniqueFlags.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TechniqueId.js","sourceRoot":"","sources":["../../../../../src/internal/render/webgl/TechniqueId.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAwD7C,MAAM,qBAAqB,GAAG;kCACP,WAAW;+CACE,wBAAwB;yCAC7B,wBAAwB;wDACV,qCAAqC;6CAChD,kCAAkC;2DACpB,+CAA+C;sDACpD,0CAA0C;uCACzD,4DAA4D;CACvF,CAAC;AAEF,gBAAgB;AAChB,MAAM,UAAU,2BAA2B,CAAC,KAAqB;IAC/D,MAAM,CAAC,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC;IACjC,OAAO,qBAAqB,CAAC,KAAK,CAAC,CAAC;AACtC,CAAC"
|
|
1
|
+
{"version":3,"file":"TechniqueId.js","sourceRoot":"","sources":["../../../../../src/internal/render/webgl/TechniqueId.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAwD7C,MAAM,qBAAqB,GAAG;kCACP,WAAW;+CACE,wBAAwB;yCAC7B,wBAAwB;wDACV,qCAAqC;6CAChD,kCAAkC;2DACpB,+CAA+C;sDACpD,0CAA0C;uCACzD,4DAA4D;CACvF,CAAC;AAEF,gBAAgB;AAChB,MAAM,UAAU,2BAA2B,CAAC,KAAqB;IAC/D,MAAM,CAAC,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC;IACjC,OAAO,qBAAqB,CAAC,KAAK,CAAC,CAAC;AACtC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Texture.js","sourceRoot":"","sources":["../../../../../src/internal/render/webgl/Texture.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module WebGL\n */\n\nimport { assert, BeEvent, dispose, Id64String } from \"@itwin/core-bentley\";\nimport {\n ImageBuffer, ImageBufferFormat, ImageSource, ImageSourceFormat, isPowerOfTwo, nextHighestPowerOfTwo, RenderTexture, TextureData, TextureTransparency,\n} from \"@itwin/core-common\";\nimport { getImageSourceMimeType, imageBufferToPngDataUrl, imageElementFromImageSource, openImageDataUrlInNewWindow } from \"../../../common/ImageUtil\";\nimport { IModelConnection } from \"../../../IModelConnection\";\nimport { IModelApp } from \"../../../IModelApp\";\nimport { WebGLDisposable } from \"./Disposable\";\nimport { GL } from \"./GL\";\nimport { UniformHandle } from \"./UniformHandle\";\nimport { TextureUnit } from \"./RenderFlags\";\nimport { System } from \"./System\";\nimport { TextureOwnership } from \"../../../render/CreateTextureArgs\";\nimport { OvrFlags } from \"../../../common/internal/render/OvrFlags\";\n\n/** @internal */\nexport type Texture2DData = Uint8Array | Float32Array;\n\nfunction computeBytesUsed(width: number, height: number, format: GL.Texture.Format, dataType: GL.Texture.DataType): number {\n const bytesPerComponent = GL.Texture.DataType.UnsignedByte === dataType ? 1 : 4;\n let componentsPerPixel = 1;\n switch (format) {\n case GL.Texture.Format.Rgb:\n componentsPerPixel = 3;\n break;\n case GL.Texture.Format.Rgba:\n componentsPerPixel = 4;\n break;\n }\n\n return width * height * componentsPerPixel * bytesPerComponent;\n}\n\n/** Associate texture data with a WebGLTexture from a canvas, image, OR a bitmap. */\nfunction loadTexture2DImageData(handle: TextureHandle, params: Texture2DCreateParams, bytes?: Texture2DData, source?: TexImageSource): void {\n handle.bytesUsed = undefined !== bytes ? bytes.byteLength : computeBytesUsed(params.width, params.height, params.format, params.dataType);\n\n const tex = handle.getHandle()!;\n const gl = System.instance.context;\n\n // Use tightly packed data\n gl.pixelStorei(gl.UNPACK_ALIGNMENT, 1);\n\n // Bind the texture object; make sure we do not interfere with other active textures\n System.instance.activateTexture2d(TextureUnit.Zero, tex);\n\n // Figure out the internal format. For all but WebGL2 float/half-float datatypes it is just same as format.\n // TODO: probably need to just support internal format types in Texture2DCreateParams.\n let internalFormat = params.format;\n const context2 = System.instance.context;\n if (GL.Texture.Format.Rgba === params.format) {\n if (GL.Texture.DataType.Float === params.dataType)\n internalFormat = context2.RGBA32F;\n else if (context2.HALF_FLOAT === params.dataType)\n internalFormat = context2.RGBA16F;\n } else if (GL.Texture.Format.DepthStencil === params.format)\n internalFormat = context2.DEPTH24_STENCIL8;\n\n // send the texture data\n if (undefined !== source) {\n gl.texImage2D(gl.TEXTURE_2D, 0, internalFormat, params.format, params.dataType, source);\n } else {\n const pixelData = undefined !== bytes ? bytes : null;\n gl.texImage2D(gl.TEXTURE_2D, 0, internalFormat, params.width, params.height, 0, params.format, params.dataType, pixelData);\n }\n\n if (params.useMipMaps) {\n gl.generateMipmap(gl.TEXTURE_2D);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR_MIPMAP_LINEAR);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR);\n } else {\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, params.interpolate ? gl.LINEAR : gl.NEAREST);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, params.interpolate ? gl.LINEAR : gl.NEAREST);\n }\n if (params.anisotropicFilter) {\n System.instance.setMaxAnisotropy(params.anisotropicFilter);\n }\n\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, params.wrapMode);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, params.wrapMode);\n\n System.instance.bindTexture2d(TextureUnit.Zero, undefined);\n}\n\nfunction loadTextureFromBytes(handle: TextureHandle, params: Texture2DCreateParams, bytes?: Texture2DData): void {\n loadTexture2DImageData(handle, params, bytes);\n}\n\n/** Associate cube texture data with a WebGLTexture from an image. */\nfunction loadTextureCubeImageData(handle: TextureHandle, params: TextureCubeCreateParams, images: TexImageSource[]): void {\n handle.bytesUsed = computeBytesUsed(params.dim * 6, params.dim, params.format, params.dataType);\n\n const tex = handle.getHandle()!;\n const gl = System.instance.context;\n\n // Use tightly packed data\n gl.pixelStorei(gl.UNPACK_ALIGNMENT, 1);\n\n // Bind the texture object; make sure we do not interfere with other active textures\n System.instance.activateTextureCubeMap(TextureUnit.Zero, tex);\n\n const cubeTargets: number[] = [GL.Texture.Target.CubeMapPositiveX, GL.Texture.Target.CubeMapNegativeX, GL.Texture.Target.CubeMapPositiveY, GL.Texture.Target.CubeMapNegativeY, GL.Texture.Target.CubeMapPositiveZ, GL.Texture.Target.CubeMapNegativeZ];\n\n for (let i = 0; i < 6; i++) {\n gl.texImage2D(cubeTargets[i], 0, params.format, params.format, params.dataType, images[i]);\n }\n\n gl.texParameteri(GL.Texture.Target.CubeMap, gl.TEXTURE_MAG_FILTER, gl.LINEAR);\n gl.texParameteri(GL.Texture.Target.CubeMap, gl.TEXTURE_MIN_FILTER, gl.LINEAR);\n gl.texParameteri(GL.Texture.Target.CubeMap, gl.TEXTURE_WRAP_S, params.wrapMode);\n gl.texParameteri(GL.Texture.Target.CubeMap, gl.TEXTURE_WRAP_T, params.wrapMode);\n // gl.texParameteri(GL.Texture.Target.CubeMap, gl.TEXTURE_WRAP_R, params.wrapMode); // Unavailable in GLES2\n\n System.instance.bindTextureCubeMap(TextureUnit.Zero, undefined);\n}\n\ntype TextureFlag = true | undefined;\ntype TextureAnisotropicFilter = number | undefined;\ntype Load2DImageData = (handle: TextureHandle, params: Texture2DCreateParams) => void;\ntype LoadCubeImageData = (handle: TextureHandle, params: TextureCubeCreateParams) => void;\n\ninterface TextureImageProperties {\n wrapMode: GL.Texture.WrapMode;\n useMipMaps: TextureFlag;\n interpolate: TextureFlag;\n format: GL.Texture.Format;\n anisotropicFilter: TextureAnisotropicFilter;\n}\n\n/** @internal */\nexport interface TextureParams {\n type: RenderTexture.Type;\n ownership?: TextureOwnership;\n transparency: TextureTransparency;\n handle: TextureHandle;\n}\n\n/** Wrapper class for a WebGL texture handle and parameters specific to an individual texture.\n * @internal\n */\nexport class Texture extends RenderTexture implements WebGLDisposable {\n public readonly texture: TextureHandle;\n public readonly ownership?: TextureOwnership;\n public transparency: TextureTransparency;\n\n public get bytesUsed(): number { return this.texture.bytesUsed; }\n public get hasOwner(): boolean { return undefined !== this.ownership; }\n public get key(): string | undefined {\n return typeof this.ownership !== \"string\" && typeof this.ownership?.key === \"string\" ? this.ownership.key : undefined;\n }\n\n public constructor(params: TextureParams) {\n super(params.type);\n this.ownership = params.ownership;\n this.texture = params.handle;\n this.transparency = params.handle.format === GL.Texture.Format.Rgba ? params.transparency : TextureTransparency.Opaque;\n }\n\n public get isDisposed(): boolean { return this.texture.isDisposed; }\n\n /** Free this object in the WebGL wrapper. */\n public dispose() {\n dispose(this.texture);\n }\n}\n\nfunction getDataType(data: Texture2DData): GL.Texture.DataType {\n return data instanceof Float32Array ? GL.Texture.DataType.Float : GL.Texture.DataType.UnsignedByte;\n}\n\n/** Parameters used internally to define how to create a texture for use with WebGL. */\nclass Texture2DCreateParams {\n private constructor(\n public width: number,\n public height: number,\n public format: GL.Texture.Format,\n public dataType: GL.Texture.DataType,\n public wrapMode: GL.Texture.WrapMode,\n public loadImageData: Load2DImageData,\n public useMipMaps?: TextureFlag,\n public interpolate?: TextureFlag,\n public anisotropicFilter?: TextureAnisotropicFilter,\n public dataBytes?: Uint8Array) { }\n\n public static createForData(width: number, height: number, data: Texture2DData, preserveData = false, wrapMode = GL.Texture.WrapMode.ClampToEdge, format = GL.Texture.Format.Rgba) {\n const bytes = (preserveData && data instanceof Uint8Array) ? data : undefined;\n return new Texture2DCreateParams(width, height, format, getDataType(data), wrapMode,\n (tex: TextureHandle, params: Texture2DCreateParams) => loadTextureFromBytes(tex, params, data), undefined, undefined, undefined, bytes);\n }\n\n public static createForImageBuffer(image: ImageBuffer, type: RenderTexture.Type) {\n const props = this.getImageProperties(type);\n if (ImageBufferFormat.Rgb === image.format)\n props.format = GL.Texture.Format.Rgb;\n\n return new Texture2DCreateParams(image.width, image.height, props.format, GL.Texture.DataType.UnsignedByte, props.wrapMode,\n (tex: TextureHandle, params: Texture2DCreateParams) => loadTextureFromBytes(tex, params, image.data), props.useMipMaps, props.interpolate);\n }\n\n public static createForAttachment(width: number, height: number, format: GL.Texture.Format, dataType: GL.Texture.DataType) {\n return new Texture2DCreateParams(width, height, format, dataType, GL.Texture.WrapMode.ClampToEdge,\n (tex: TextureHandle, params: Texture2DCreateParams) => loadTextureFromBytes(tex, params), undefined, undefined);\n }\n\n public static createForImage(image: HTMLImageElement, type: RenderTexture.Type) {\n const props = this.getImageProperties(type);\n\n let targetWidth = image.naturalWidth;\n let targetHeight = image.naturalHeight;\n\n if (RenderTexture.Type.Glyph === type) {\n targetWidth = nextHighestPowerOfTwo(targetWidth);\n targetHeight = nextHighestPowerOfTwo(targetHeight);\n } else if (!System.instance.supportsNonPowerOf2Textures && (!isPowerOfTwo(targetWidth) || !isPowerOfTwo(targetHeight))) {\n if (GL.Texture.WrapMode.ClampToEdge === props.wrapMode) {\n // NPOT are supported but not mipmaps\n // Probably on poor hardware so I choose to disable mipmaps for lower memory usage over quality. If quality is required we need to resize the image to a pow of 2.\n // Above comment is not necessarily true - WebGL doesn't support NPOT mipmapping, only supporting base NPOT caps\n props.useMipMaps = undefined;\n } else if (GL.Texture.WrapMode.Repeat === props.wrapMode) {\n targetWidth = nextHighestPowerOfTwo(targetWidth);\n targetHeight = nextHighestPowerOfTwo(targetHeight);\n }\n }\n\n // Cap texture dimensions to system WebGL capabilities\n const maxTexSize = System.instance.maxTextureSize;\n targetWidth = Math.min(targetWidth, maxTexSize);\n targetHeight = Math.min(targetHeight, maxTexSize);\n\n let element: TexImageSource = image;\n if (targetWidth !== image.naturalWidth || targetHeight !== image.naturalHeight) {\n // Resize so dimensions are powers-of-two\n const canvas = document.createElement(\"canvas\");\n canvas.width = targetWidth;\n canvas.height = targetHeight;\n\n const context = canvas.getContext(\"2d\")!;\n context.drawImage(image, 0, 0, canvas.width, canvas.height);\n\n element = canvas;\n }\n\n return new Texture2DCreateParams(targetWidth, targetHeight, props.format, GL.Texture.DataType.UnsignedByte, props.wrapMode,\n (tex: TextureHandle, params: Texture2DCreateParams) => loadTexture2DImageData(tex, params, undefined, element), props.useMipMaps, props.interpolate, props.anisotropicFilter);\n }\n\n public static createForImageBitmap(image: ImageBitmap, type: RenderTexture.Type) {\n const props = this.getImageProperties(type);\n\n let targetWidth = image.width;\n let targetHeight = image.height;\n\n if (RenderTexture.Type.Glyph === type) {\n targetWidth = nextHighestPowerOfTwo(targetWidth);\n targetHeight = nextHighestPowerOfTwo(targetHeight);\n } else if (!System.instance.supportsNonPowerOf2Textures && (!isPowerOfTwo(targetWidth) || !isPowerOfTwo(targetHeight))) {\n if (GL.Texture.WrapMode.ClampToEdge === props.wrapMode) {\n // NPOT are supported but not mipmaps\n // Probably on poor hardware so I choose to disable mipmaps for lower memory usage over quality. If quality is required we need to resize the image to a pow of 2.\n // Above comment is not necessarily true - WebGL doesn't support NPOT mipmapping, only supporting base NPOT caps\n props.useMipMaps = undefined;\n } else if (GL.Texture.WrapMode.Repeat === props.wrapMode) {\n targetWidth = nextHighestPowerOfTwo(targetWidth);\n targetHeight = nextHighestPowerOfTwo(targetHeight);\n }\n }\n\n // If we have to resize, use a canvas\n let source: TexImageSource = image;\n if (image.width !== targetWidth || image.height !== targetHeight) {\n const canvas = document.createElement(\"canvas\");\n canvas.width = targetWidth;\n canvas.height = targetHeight;\n const context = canvas.getContext(\"2d\")!;\n context.drawImage(image, 0, 0, canvas.width, canvas.height);\n\n source = canvas;\n }\n\n return new Texture2DCreateParams(targetWidth, targetHeight, props.format, GL.Texture.DataType.UnsignedByte, props.wrapMode,\n (tex: TextureHandle, params: Texture2DCreateParams) => loadTexture2DImageData(tex, params, undefined, source), props.useMipMaps, props.interpolate, props.anisotropicFilter);\n }\n\n private static getImageProperties(type: RenderTexture.Type): TextureImageProperties {\n const isSky = RenderTexture.Type.SkyBox === type;\n const isTile = RenderTexture.Type.TileSection === type;\n const isThematic = RenderTexture.Type.ThematicGradient === type;\n const isFilteredTile = RenderTexture.Type.FilteredTileSection === type;\n const maxAnisotropicFilterLevel = 16;\n\n const wrapMode = RenderTexture.Type.Normal === type ? GL.Texture.WrapMode.Repeat : GL.Texture.WrapMode.ClampToEdge;\n const useMipMaps: TextureFlag = (!isSky && !isTile && !isFilteredTile && !isThematic) ? true : undefined;\n const interpolate: TextureFlag = isThematic ? undefined : true;\n const anisotropicFilter = isFilteredTile ? maxAnisotropicFilterLevel : undefined;\n\n // Always use RGBA. RGB is much slower and almost certainly does not actually save any GPU memory.\n const format = GL.Texture.Format.Rgba;\n\n return { format, wrapMode, useMipMaps, interpolate, anisotropicFilter };\n }\n\n public static readonly placeholderParams = new Texture2DCreateParams(1, 1, GL.Texture.Format.Rgba, GL.Texture.DataType.UnsignedByte, GL.Texture.WrapMode.ClampToEdge,\n (_tex: TextureHandle, _params: Texture2DCreateParams) => undefined);\n}\n\nclass TextureCubeCreateParams {\n private constructor(\n public dim: number,\n public format: GL.Texture.Format,\n public dataType: GL.Texture.DataType,\n public wrapMode: GL.Texture.WrapMode,\n public loadImageData: LoadCubeImageData) { }\n\n public static createForCubeImages(posX: HTMLImageElement, negX: HTMLImageElement, posY: HTMLImageElement, negY: HTMLImageElement, posZ: HTMLImageElement, negZ: HTMLImageElement): TextureCubeCreateParams | undefined {\n const targetDim = posX.naturalWidth;\n\n if (posX.naturalHeight !== targetDim) // Cube texture dimensions must match (width must equal height)\n return undefined;\n\n const images: HTMLImageElement[] = [posX, negX, posY, negY, posZ, negZ];\n\n for (let i = 1; i < images.length; i++) { // Dimensions of all six sides must match each other\n if (images[i].naturalWidth !== targetDim || images[i].naturalHeight !== targetDim)\n return undefined;\n }\n\n return new TextureCubeCreateParams(targetDim, GL.Texture.Format.Rgba, GL.Texture.DataType.UnsignedByte, GL.Texture.WrapMode.ClampToEdge,\n (tex: TextureHandle, params: TextureCubeCreateParams) => loadTextureCubeImageData(tex, params, images));\n }\n}\n\n/** Wraps a WebGLTextureHandle\n * @internal\n */\nexport abstract class TextureHandle implements WebGLDisposable {\n protected _glTexture?: WebGLTexture;\n protected _bytesUsed = 0;\n\n public abstract get width(): number;\n public abstract get height(): number;\n public abstract get format(): GL.Texture.Format;\n public abstract get dataType(): GL.Texture.DataType;\n public abstract get dataBytes(): Uint8Array | undefined;\n public get bytesUsed(): number { return this._bytesUsed; }\n public set bytesUsed(bytesUsed: number) {\n // assert(0 === this.bytesUsed);\n this._bytesUsed = bytesUsed;\n }\n\n /** Get the WebGLTexture for this TextureHandle. */\n public getHandle(): WebGLTexture | undefined { return this._glTexture; }\n\n /** Bind texture handle (if available) associated with an instantiation of this class to specified texture unit. */\n public abstract bind(_texUnit: TextureUnit): boolean;\n\n /** Bind this texture to a uniform sampler. */\n public abstract bindSampler(_uniform: UniformHandle, _unit: TextureUnit): void;\n\n public get isDisposed(): boolean { return this._glTexture === undefined; }\n\n public [Symbol.dispose]() {\n if (!this.isDisposed) {\n System.instance.disposeTexture(this._glTexture!);\n this._glTexture = undefined;\n this.bytesUsed = 0;\n }\n }\n\n /** Create a 2D texture for use as a color attachment for rendering */\n public static createForAttachment(width: number, height: number, format: GL.Texture.Format, dataType: GL.Texture.DataType) {\n return Texture2DHandle.createForAttachment(width, height, format, dataType);\n }\n\n /** Create a 2D texture to hold non-image data */\n public static createForData(width: number, height: number, data: Texture2DData, wantPreserveData = false, wrapMode = GL.Texture.WrapMode.ClampToEdge, format = GL.Texture.Format.Rgba) {\n return Texture2DHandle.createForData(width, height, data, wantPreserveData, wrapMode, format);\n }\n\n /** Create a 2D texture from a bitmap */\n public static createForImageBuffer(image: ImageBuffer, type: RenderTexture.Type) {\n return Texture2DHandle.createForImageBuffer(image, type);\n }\n\n /** Create a 2D texture from an HTMLImageElement. */\n public static createForImage(image: HTMLImageElement, type: RenderTexture.Type) {\n return Texture2DHandle.createForImage(image, type);\n }\n\n /** Create a 2D texture from an ImageBitmap. */\n public static createForImageBitmap(image: ImageBitmap, type: RenderTexture.Type) {\n return Texture2DHandle.createForImageBitmap(image, type);\n }\n\n /** Create a cube map texture from six HTMLImageElement objects. */\n public static createForCubeImages(posX: HTMLImageElement, negX: HTMLImageElement, posY: HTMLImageElement, negY: HTMLImageElement, posZ: HTMLImageElement, negZ: HTMLImageElement) {\n return TextureCubeHandle.createForCubeImages(posX, negX, posY, negY, posZ, negZ);\n }\n\n public static createForElement(id: Id64String, imodel: IModelConnection, type: RenderTexture.Type, format: ImageSourceFormat, onLoaded: ExternalTextureLoadCallback) {\n return Texture2DHandle.createForElement(id, imodel, type, format, onLoaded);\n }\n\n protected constructor(glTexture: WebGLTexture) {\n this._glTexture = glTexture;\n }\n\n /** For debugging purposes, open a new window containing this texture as an image. */\n public showDebugImage(): void {\n const gl = System.instance.context;\n const fbo = gl.createFramebuffer();\n gl.bindFramebuffer(gl.FRAMEBUFFER, fbo);\n gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, this.getHandle()!, 0);\n if (gl.FRAMEBUFFER_COMPLETE === gl.checkFramebufferStatus(gl.FRAMEBUFFER)) {\n const w = this.width;\n const h = this.height;\n const pixels = new Uint8Array(w * h * 4);\n gl.readPixels(0, 0, w, h, gl.RGBA, gl.UNSIGNED_BYTE, pixels);\n\n const buffer = ImageBuffer.create(pixels, ImageBufferFormat.Rgba, w);\n const url = imageBufferToPngDataUrl(buffer, false);\n openImageDataUrlInNewWindow(url!, \"Classifiers\");\n }\n\n gl.bindFramebuffer(gl.FRAMEBUFFER, null);\n gl.deleteFramebuffer(fbo);\n }\n}\n\n/** @internal */\nexport class Texture2DHandle extends TextureHandle {\n private _width: number;\n private _height: number;\n private _format: GL.Texture.Format;\n private _dataType: GL.Texture.DataType;\n private _dataBytes?: Uint8Array;\n\n public get width(): number { return this._width; }\n public get height(): number { return this._height; }\n public get format(): GL.Texture.Format { return this._format; }\n public get dataType(): GL.Texture.DataType { return this._dataType; }\n public get dataBytes(): Uint8Array | undefined { return this._dataBytes; }\n\n /** Bind specified texture handle to specified texture unit. */\n public static bindTexture(texUnit: TextureUnit, glTex: WebGLTexture | undefined) {\n assert(!(glTex instanceof TextureHandle));\n System.instance.bindTexture2d(texUnit, glTex);\n }\n\n /** Bind the specified texture to a uniform sampler2D */\n public static bindSampler(uniform: UniformHandle, tex: WebGLTexture, unit: TextureUnit): void {\n assert(!(tex instanceof TextureHandle));\n this.bindTexture(unit, tex);\n uniform.setUniform1i(unit - TextureUnit.Zero);\n }\n\n /** Bind texture handle (if available) associated with an instantiation of this class to specified texture unit. */\n public bind(texUnit: TextureUnit): boolean {\n if (undefined === this._glTexture)\n return false;\n Texture2DHandle.bindTexture(texUnit, this._glTexture);\n return true;\n }\n\n /** Bind this texture to a uniform sampler2D */\n public bindSampler(uniform: UniformHandle, unit: TextureUnit): void {\n if (undefined !== this._glTexture)\n Texture2DHandle.bindSampler(uniform, this._glTexture, unit);\n }\n\n /** Update the 2D texture contents. */\n public update(updater: Texture2DDataUpdater): boolean {\n if (0 === this.width || 0 === this.height || undefined === this._dataBytes || 0 === this._dataBytes.length) {\n assert(false);\n return false;\n }\n\n if (!updater.modified)\n return false;\n\n return this.replaceTextureData(this._dataBytes);\n }\n\n /** Replace the 2D texture contents. */\n public replaceTextureData(data: Texture2DData): boolean {\n assert((GL.Texture.DataType.Float === this._dataType) === (data instanceof Float32Array));\n\n const tex = this.getHandle()!;\n if (undefined === tex)\n return false;\n\n const gl = System.instance.context;\n gl.pixelStorei(gl.UNPACK_ALIGNMENT, 1);\n\n // Go through System to ensure we don't interfere with currently-bound textures!\n System.instance.activateTexture2d(TextureUnit.Zero, tex);\n gl.texSubImage2D(gl.TEXTURE_2D, 0, 0, 0, this.width, this.height, this._format, this._dataType, data);\n System.instance.bindTexture2d(TextureUnit.Zero, undefined);\n\n return true;\n }\n\n private static create(params: Texture2DCreateParams): Texture2DHandle | undefined {\n const glTex = System.instance.context.createTexture();\n return null !== glTex ? new Texture2DHandle(glTex, params) : undefined;\n }\n\n /** Create a texture for use as a color attachment for rendering */\n public static override createForAttachment(width: number, height: number, format: GL.Texture.Format, dataType: GL.Texture.DataType) {\n return this.create(Texture2DCreateParams.createForAttachment(width, height, format, dataType));\n }\n\n /** Create a texture to hold non-image data */\n public static override createForData(width: number, height: number, data: Texture2DData, wantPreserveData = false, wrapMode = GL.Texture.WrapMode.ClampToEdge, format = GL.Texture.Format.Rgba) {\n return this.create(Texture2DCreateParams.createForData(width, height, data, wantPreserveData, wrapMode, format));\n }\n\n /** Create a texture from a bitmap */\n public static override createForImageBuffer(image: ImageBuffer, type: RenderTexture.Type) {\n if (RenderTexture.Type.TileSection !== type && RenderTexture.Type.ThematicGradient !== type)\n assert(isPowerOfTwo(image.width) && isPowerOfTwo(image.height), \"###TODO: Resize image dimensions to powers-of-two if necessary\");\n\n return this.create(Texture2DCreateParams.createForImageBuffer(image, type));\n }\n\n /** Create a 2D texture from an HTMLImageElement. */\n public static override createForImage(image: HTMLImageElement, type: RenderTexture.Type) {\n return this.create(Texture2DCreateParams.createForImage(image, type));\n }\n\n /** Create a 2D texture from an ImageBitmap. */\n public static override createForImageBitmap(image: ImageBitmap, type: RenderTexture.Type) {\n return this.create(Texture2DCreateParams.createForImageBitmap(image, type));\n }\n\n private static _placeHolderTextureData = new Uint8Array([128, 128, 128, 255]);\n\n public static override createForElement(id: Id64String, imodel: IModelConnection, type: RenderTexture.Type, format: ImageSourceFormat, onLoaded: ExternalTextureLoadCallback) {\n // set a placeholder texture while we wait for the external texture to load\n const handle = this.createForData(1, 1, this._placeHolderTextureData, undefined, undefined, GL.Texture.Format.Rgba);\n\n if (undefined === handle)\n return undefined;\n\n // kick off loading the texture from the backend\n ExternalTextureLoader.instance.loadTexture(handle, id, imodel, type, format, onLoaded);\n\n return handle;\n }\n\n public reload(params: Texture2DCreateParams) {\n this._width = params.width;\n this._height = params.height;\n this._format = params.format;\n this._dataType = params.dataType;\n this._dataBytes = params.dataBytes;\n\n params.loadImageData(this, params);\n }\n\n private constructor(glTexture: WebGLTexture, params: Texture2DCreateParams) {\n super(glTexture);\n this._width = params.width;\n this._height = params.height;\n this._format = params.format;\n this._dataType = params.dataType;\n this._dataBytes = params.dataBytes;\n\n params.loadImageData(this, params);\n }\n}\n\n/** @internal */\nexport type ExternalTextureLoadCallback = (req: ExternalTextureRequest, data: TextureData) => void;\n\n/** @internal */\nexport interface ExternalTextureRequest {\n handle: Texture2DHandle;\n name: Id64String;\n imodel: IModelConnection;\n type: RenderTexture.Type;\n format: ImageSourceFormat;\n onLoaded?: ExternalTextureLoadCallback;\n}\n\n/** @internal */\ninterface TextureConvertRequest {\n req: ExternalTextureRequest;\n texData: TextureData;\n}\n\n/** @internal */\nexport class ExternalTextureLoader { /* currently exported for tests only */\n public static readonly instance = new ExternalTextureLoader(2);\n public readonly onTexturesLoaded = new BeEvent<() => void>();\n private readonly _maxActiveRequests: number;\n private _activeRequests: Array<ExternalTextureRequest> = [];\n private _pendingRequests: Array<ExternalTextureRequest> = [];\n private _convertRequests: Array<TextureConvertRequest> = [];\n private _convertPending = false;\n\n public get numActiveRequests() { return this._activeRequests.length; }\n public get numPendingRequests() { return this._pendingRequests.length; }\n public get maxActiveRequests() { return this._maxActiveRequests; }\n\n private constructor(maxActiveRequests: number) {\n this._maxActiveRequests = maxActiveRequests;\n }\n\n private async _nextRequest(prevReq: ExternalTextureRequest) {\n this._activeRequests.splice(this._activeRequests.indexOf(prevReq), 1);\n if (this._activeRequests.length < this._maxActiveRequests && this._pendingRequests.length > 0) {\n const req = this._pendingRequests.shift()!;\n await this._activateRequest(req);\n }\n if (this._activeRequests.length < 1 && this._pendingRequests.length < 1)\n this.onTexturesLoaded.raiseEvent();\n }\n\n private async _activateRequest(req: ExternalTextureRequest) {\n if (req.imodel.isClosed)\n return;\n\n this._activeRequests.push(req);\n\n try {\n if (!req.imodel.isClosed) {\n const maxTextureSize = System.instance.maxTexSizeAllow;\n const texData = await req.imodel.queryTextureData({ name: req.name, maxTextureSize });\n if (undefined !== texData) {\n const cnvReq = { req, texData };\n this._convertRequests.push(cnvReq);\n // _convertPending is used to prevent overlapping calls to _convertTexture (from overlapping calls to _activateRequest)\n // it has been put on the list, so if it doesn't get converted here it will get converted by the loop that is converting the current one\n do {\n if (!this._convertPending)\n await this._convertTexture();\n } while (!this._convertPending && this._convertRequests.length > 0);\n if (!req.imodel.isClosed) {\n IModelApp.tileAdmin.invalidateAllScenes();\n if (undefined !== req.onLoaded)\n req.onLoaded(req, texData);\n }\n }\n }\n } catch { }\n\n return this._nextRequest(req);\n }\n\n private async _convertTexture(): Promise<void> {\n this._convertPending = true;\n try {\n const cnvReq = this._convertRequests.shift();\n if (undefined !== cnvReq) {\n const imageSource = new ImageSource(cnvReq.texData.bytes, cnvReq.texData.format);\n if (System.instance.supportsCreateImageBitmap) {\n const blob = new Blob([imageSource.data], { type: getImageSourceMimeType(imageSource.format) });\n const image = await createImageBitmap(blob, 0, 0, cnvReq.texData.width, cnvReq.texData.height);\n if (!cnvReq.req.imodel.isClosed) {\n cnvReq.req.handle.reload(Texture2DCreateParams.createForImageBitmap(image, cnvReq.req.type));\n }\n } else {\n const image = await imageElementFromImageSource(imageSource);\n if (!cnvReq.req.imodel.isClosed) {\n cnvReq.req.handle.reload(Texture2DCreateParams.createForImage(image, cnvReq.req.type));\n }\n }\n }\n } catch { }\n this._convertPending = false;\n }\n\n private _requestExists(reqToCheck: ExternalTextureRequest) {\n for (const r of this._activeRequests)\n if (reqToCheck.name === r.name && reqToCheck.imodel === r.imodel)\n return true;\n\n for (const r of this._pendingRequests)\n if (reqToCheck.name === r.name && reqToCheck.imodel === r.imodel)\n return true;\n\n return false;\n }\n\n public loadTexture(handle: Texture2DHandle, name: Id64String, imodel: IModelConnection, type: RenderTexture.Type, format: ImageSourceFormat, onLoaded?: ExternalTextureLoadCallback) {\n const req = { handle, name, imodel, type, format, onLoaded };\n if (this._requestExists(req))\n return;\n\n if (this._activeRequests.length + 1 > this._maxActiveRequests) {\n this._pendingRequests.push(req);\n } else\n this._activateRequest(req); // eslint-disable-line @typescript-eslint/no-floating-promises\n }\n}\n\n/** @internal */\nexport class TextureCubeHandle extends TextureHandle {\n private _dim: number; // Cubemap texture height and width must match. This must be the same for each of the six faces.\n private _format: GL.Texture.Format; // Format must be the same for each of the six faces.\n private _dataType: GL.Texture.DataType; // Type must be the same for each of the six faces.\n\n public get width(): number { return this._dim; }\n public get height(): number { return this._dim; }\n public get format(): GL.Texture.Format { return this._format; }\n public get dataType(): GL.Texture.DataType { return this._dataType; }\n public get dataBytes(): Uint8Array | undefined { return undefined; }\n\n /** Bind specified cubemap texture handle to specified texture unit. */\n public static bindTexture(texUnit: TextureUnit, glTex: WebGLTexture | undefined) {\n assert(!(glTex instanceof TextureHandle));\n System.instance.bindTextureCubeMap(texUnit, glTex);\n }\n\n /** Bind the specified texture to a uniform sampler2D */\n public static bindSampler(uniform: UniformHandle, tex: WebGLTexture, unit: TextureUnit): void {\n assert(!(tex instanceof TextureHandle));\n this.bindTexture(unit, tex);\n uniform.setUniform1i(unit - TextureUnit.Zero);\n }\n\n /** Bind texture handle (if available) associated with an instantiation of this class to specified texture unit. */\n public bind(texUnit: TextureUnit): boolean {\n if (undefined === this._glTexture)\n return false;\n TextureCubeHandle.bindTexture(texUnit, this._glTexture);\n return true;\n }\n\n /** Bind this texture to a uniform sampler2D */\n public bindSampler(uniform: UniformHandle, unit: TextureUnit): void {\n if (undefined !== this._glTexture)\n TextureCubeHandle.bindSampler(uniform, this._glTexture, unit);\n }\n\n private static create(params: TextureCubeCreateParams): TextureHandle | undefined {\n const glTex = System.instance.context.createTexture();\n return null !== glTex ? new TextureCubeHandle(glTex, params) : undefined;\n }\n\n /** Create a cube map texture from six HTMLImageElement objects. */\n public static override createForCubeImages(posX: HTMLImageElement, negX: HTMLImageElement, posY: HTMLImageElement, negY: HTMLImageElement, posZ: HTMLImageElement, negZ: HTMLImageElement) {\n const params = TextureCubeCreateParams.createForCubeImages(posX, negX, posY, negY, posZ, negZ);\n return params !== undefined ? this.create(params) : undefined;\n }\n\n private constructor(glTexture: WebGLTexture, params: TextureCubeCreateParams) {\n super(glTexture);\n this._dim = params.dim;\n this._format = params.format;\n this._dataType = params.dataType;\n\n params.loadImageData(this, params);\n }\n}\n\n/** @internal */\nexport class Texture2DDataUpdater {\n public data: Uint8Array;\n public modified: boolean = false;\n\n public constructor(data: Uint8Array) { this.data = data; }\n\n public setByteAtIndex(index: number, byte: number) {\n assert(index < this.data.length);\n if (byte !== this.data[index]) {\n this.data[index] = byte;\n this.modified = true;\n }\n }\n\n public setOvrFlagsAtIndex(index: number, value: OvrFlags) {\n assert(index < this.data.length - 1);\n assert(value < 0xffff);\n this.setByteAtIndex(index, value & 0xff);\n this.setByteAtIndex(index + 1, (value & 0xff00) >> 8);\n }\n\n public getByteAtIndex(index: number): number {\n assert(index < this.data.length);\n return this.data[index];\n }\n\n public getOvrFlagsAtIndex(index: number): OvrFlags {\n const lo = this.getByteAtIndex(index);\n const hi = this.getByteAtIndex(index + 1);\n return lo | (hi << 8);\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"Texture.js","sourceRoot":"","sources":["../../../../../src/internal/render/webgl/Texture.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextureDrape.js","sourceRoot":"","sources":["../../../../../src/internal/render/webgl/TextureDrape.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAQhD,MAAM,OAAgB,YAAY;IACtB,QAAQ,CAAW;IACnB,iBAAiB,GAAG,QAAQ,CAAC,cAAc,EAAE,CAAC;IACxD,IAAW,OAAO,KAA0B,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnE,IAAW,gBAAgB,KAAe,OAAO,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAG1E,IAAW,OAAO,KAAc,OAAO,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC;IAE9D,iBAAiB,CAAC,KAA8B;QACrD,IAAI,SAAS,KAAK,IAAI,CAAC,QAAQ;YAC7B,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACvD,CAAC;IAED,IAAW,UAAU,KAAc,OAAO,SAAS,KAAK,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAEhE,CAAC,MAAM,CAAC,OAAO,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC;IAEM,SAAS,CAAC,MAAoB;QACnC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,wBAAwB;QACzC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,gBAAgB;IACnC,CAAC;CACF"
|
|
1
|
+
{"version":3,"file":"TextureDrape.js","sourceRoot":"","sources":["../../../../../src/internal/render/webgl/TextureDrape.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAQhD,MAAM,OAAgB,YAAY;IACtB,QAAQ,CAAW;IACnB,iBAAiB,GAAG,QAAQ,CAAC,cAAc,EAAE,CAAC;IACxD,IAAW,OAAO,KAA0B,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnE,IAAW,gBAAgB,KAAe,OAAO,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAG1E,IAAW,OAAO,KAAc,OAAO,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC;IAE9D,iBAAiB,CAAC,KAA8B;QACrD,IAAI,SAAS,KAAK,IAAI,CAAC,QAAQ;YAC7B,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACvD,CAAC;IAED,IAAW,UAAU,KAAc,OAAO,SAAS,KAAK,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAEhE,CAAC,MAAM,CAAC,OAAO,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC;IAEM,SAAS,CAAC,MAAoB;QACnC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,wBAAwB;QACzC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,gBAAgB;IACnC,CAAC;CACF"}
|