@crystaldesign/real-time-viewer-next 26.11.0-beta.18
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/build/esm/DeckCutoutSubsystem-76dfe828.js +2536 -0
- package/build/esm/SunLensflare-e4ab3f81.js +483 -0
- package/build/esm/WaterSurface-93383fdf.js +2041 -0
- package/build/esm/index-920dd901.js +23273 -0
- package/build/esm/index.js +32 -0
- package/build/types/real-time-viewer-next/src/RealTimeRendererNext.d.ts +58 -0
- package/build/types/real-time-viewer-next/src/RealTimeRendererNext.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/analyzerComponents.d.ts +23 -0
- package/build/types/real-time-viewer-next/src/analyzerComponents.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/analyzerStageContext.d.ts +9 -0
- package/build/types/real-time-viewer-next/src/analyzerStageContext.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/capture/applyShot.d.ts +8 -0
- package/build/types/real-time-viewer-next/src/capture/applyShot.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/capture/blob.d.ts +11 -0
- package/build/types/real-time-viewer-next/src/capture/blob.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/capture/materialMute.d.ts +16 -0
- package/build/types/real-time-viewer-next/src/capture/materialMute.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/capture/shotState.d.ts +24 -0
- package/build/types/real-time-viewer-next/src/capture/shotState.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/capture/types.d.ts +80 -0
- package/build/types/real-time-viewer-next/src/capture/types.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/capture/useCaptureEngine.d.ts +7 -0
- package/build/types/real-time-viewer-next/src/capture/useCaptureEngine.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/config/descriptor.d.ts +156 -0
- package/build/types/real-time-viewer-next/src/config/descriptor.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/config/descriptor.test.d.ts +2 -0
- package/build/types/real-time-viewer-next/src/config/descriptor.test.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/config/environment.config.d.ts +511 -0
- package/build/types/real-time-viewer-next/src/config/environment.config.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/config/environment.config.test.d.ts +5 -0
- package/build/types/real-time-viewer-next/src/config/environment.config.test.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/BBoxPreloader.d.ts +15 -0
- package/build/types/real-time-viewer-next/src/core/BBoxPreloader.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/FloorGrid.d.ts +3 -0
- package/build/types/real-time-viewer-next/src/core/FloorGrid.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/GeoBBoxReporter.d.ts +10 -0
- package/build/types/real-time-viewer-next/src/core/GeoBBoxReporter.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/GeoInstance.d.ts +13 -0
- package/build/types/real-time-viewer-next/src/core/GeoInstance.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/PaletteDragPreview.d.ts +19 -0
- package/build/types/real-time-viewer-next/src/core/PaletteDragPreview.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/PerfLog.d.ts +38 -0
- package/build/types/real-time-viewer-next/src/core/PerfLog.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/PlannerGrid.d.ts +83 -0
- package/build/types/real-time-viewer-next/src/core/PlannerGrid.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/R3FAssetBoundary.d.ts +31 -0
- package/build/types/real-time-viewer-next/src/core/R3FAssetBoundary.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/RTVErrorBoundary.d.ts +16 -0
- package/build/types/real-time-viewer-next/src/core/RTVErrorBoundary.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/SceneRenderer.d.ts +3 -0
- package/build/types/real-time-viewer-next/src/core/SceneRenderer.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/SceneTree.d.ts +16 -0
- package/build/types/real-time-viewer-next/src/core/SceneTree.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/VariantMeshOverride.d.ts +62 -0
- package/build/types/real-time-viewer-next/src/core/VariantMeshOverride.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/camera/CameraController.d.ts +3 -0
- package/build/types/real-time-viewer-next/src/core/camera/CameraController.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/camera/cameraAnimationEngine.d.ts +69 -0
- package/build/types/real-time-viewer-next/src/core/camera/cameraAnimationEngine.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/camera/cameraPoseBook.d.ts +24 -0
- package/build/types/real-time-viewer-next/src/core/camera/cameraPoseBook.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/camera/controlsLock.d.ts +25 -0
- package/build/types/real-time-viewer-next/src/core/camera/controlsLock.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/camera/sectorLimits.d.ts +38 -0
- package/build/types/real-time-viewer-next/src/core/camera/sectorLimits.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/camera/sectorLimits.test.d.ts +2 -0
- package/build/types/real-time-viewer-next/src/core/camera/sectorLimits.test.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/camera/useAutoFrame.d.ts +29 -0
- package/build/types/real-time-viewer-next/src/core/camera/useAutoFrame.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/camera/useAutoRotate.d.ts +8 -0
- package/build/types/real-time-viewer-next/src/core/camera/useAutoRotate.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/camera/useCameraActions.d.ts +13 -0
- package/build/types/real-time-viewer-next/src/core/camera/useCameraActions.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/camera/useCameraAnimation.d.ts +15 -0
- package/build/types/real-time-viewer-next/src/core/camera/useCameraAnimation.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/camera/useCameraConstraints.d.ts +25 -0
- package/build/types/real-time-viewer-next/src/core/camera/useCameraConstraints.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/camera/useCameraSmoothing.d.ts +57 -0
- package/build/types/real-time-viewer-next/src/core/camera/useCameraSmoothing.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/camera/useMaterialFade.d.ts +5 -0
- package/build/types/real-time-viewer-next/src/core/camera/useMaterialFade.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/camera/useViewModeTransition.d.ts +19 -0
- package/build/types/real-time-viewer-next/src/core/camera/useViewModeTransition.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/dimension-lines/DimensionLine2D.d.ts +28 -0
- package/build/types/real-time-viewer-next/src/core/dimension-lines/DimensionLine2D.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/dimension-lines/DimensionLines2D.d.ts +3 -0
- package/build/types/real-time-viewer-next/src/core/dimension-lines/DimensionLines2D.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/dimension-lines/DimensionLines3D.d.ts +3 -0
- package/build/types/real-time-viewer-next/src/core/dimension-lines/DimensionLines3D.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/dimension-lines/dimensionGeometry.d.ts +34 -0
- package/build/types/real-time-viewer-next/src/core/dimension-lines/dimensionGeometry.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/dimension-lines/dimensionLineBuilders.test.d.ts +2 -0
- package/build/types/real-time-viewer-next/src/core/dimension-lines/dimensionLineBuilders.test.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/dimension-lines/dimensionLineBuilders2D.d.ts +82 -0
- package/build/types/real-time-viewer-next/src/core/dimension-lines/dimensionLineBuilders2D.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/dimension-lines/dimensionLineBuilders3D.d.ts +76 -0
- package/build/types/real-time-viewer-next/src/core/dimension-lines/dimensionLineBuilders3D.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/dimension-lines/dimensionLines.config.d.ts +25 -0
- package/build/types/real-time-viewer-next/src/core/dimension-lines/dimensionLines.config.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/dimension-lines/dimensionLines.config.test.d.ts +2 -0
- package/build/types/real-time-viewer-next/src/core/dimension-lines/dimensionLines.config.test.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/dimension-lines/index.d.ts +3 -0
- package/build/types/real-time-viewer-next/src/core/dimension-lines/index.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/dimension-lines/useDimensionFade.d.ts +12 -0
- package/build/types/real-time-viewer-next/src/core/dimension-lines/useDimensionFade.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/dimension-lines/useLabelScale.d.ts +11 -0
- package/build/types/real-time-viewer-next/src/core/dimension-lines/useLabelScale.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/dimension-lines/utils.d.ts +26 -0
- package/build/types/real-time-viewer-next/src/core/dimension-lines/utils.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/environment/EnvironmentDome.d.ts +14 -0
- package/build/types/real-time-viewer-next/src/core/environment/EnvironmentDome.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/environment/EnvironmentSceneLoader.d.ts +14 -0
- package/build/types/real-time-viewer-next/src/core/environment/EnvironmentSceneLoader.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/environment/EnvironmentSources.d.ts +33 -0
- package/build/types/real-time-viewer-next/src/core/environment/EnvironmentSources.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/environment/EnvironmentSunLensflare.d.ts +3 -0
- package/build/types/real-time-viewer-next/src/core/environment/EnvironmentSunLensflare.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/environment/LightingRig.d.ts +28 -0
- package/build/types/real-time-viewer-next/src/core/environment/LightingRig.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/environment/PlainGround.d.ts +21 -0
- package/build/types/real-time-viewer-next/src/core/environment/PlainGround.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/environment/RuntimePerfAdjuster.d.ts +15 -0
- package/build/types/real-time-viewer-next/src/core/environment/RuntimePerfAdjuster.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/environment/SceneEnvironment.d.ts +19 -0
- package/build/types/real-time-viewer-next/src/core/environment/SceneEnvironment.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/environment/SkydomeBackground.d.ts +11 -0
- package/build/types/real-time-viewer-next/src/core/environment/SkydomeBackground.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/environment/SunLensflare.d.ts +29 -0
- package/build/types/real-time-viewer-next/src/core/environment/SunLensflare.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/environment/SunLensflareLazy.d.ts +11 -0
- package/build/types/real-time-viewer-next/src/core/environment/SunLensflareLazy.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/environment/adaptive.config.d.ts +24 -0
- package/build/types/real-time-viewer-next/src/core/environment/adaptive.config.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/environment/adaptive.config.test.d.ts +2 -0
- package/build/types/real-time-viewer-next/src/core/environment/adaptive.config.test.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/environment/deckCutout/DeckCutoutArticleSync.d.ts +22 -0
- package/build/types/real-time-viewer-next/src/core/environment/deckCutout/DeckCutoutArticleSync.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/environment/deckCutout/DeckCutoutCollar.d.ts +15 -0
- package/build/types/real-time-viewer-next/src/core/environment/deckCutout/DeckCutoutCollar.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/environment/deckCutout/DeckCutoutLazy.d.ts +10 -0
- package/build/types/real-time-viewer-next/src/core/environment/deckCutout/DeckCutoutLazy.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/environment/deckCutout/DeckCutoutSubsystem.d.ts +9 -0
- package/build/types/real-time-viewer-next/src/core/environment/deckCutout/DeckCutoutSubsystem.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/environment/deckCutout/anchorElements.d.ts +40 -0
- package/build/types/real-time-viewer-next/src/core/environment/deckCutout/anchorElements.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/environment/deckCutout/anchorElements.test.d.ts +2 -0
- package/build/types/real-time-viewer-next/src/core/environment/deckCutout/anchorElements.test.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/environment/deckCutout/articleFootprint.d.ts +62 -0
- package/build/types/real-time-viewer-next/src/core/environment/deckCutout/articleFootprint.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/environment/deckCutout/articleFootprint.test.d.ts +2 -0
- package/build/types/real-time-viewer-next/src/core/environment/deckCutout/articleFootprint.test.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/environment/deckCutout/buildCollarGeometry.d.ts +25 -0
- package/build/types/real-time-viewer-next/src/core/environment/deckCutout/buildCollarGeometry.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/environment/deckCutout/buildCollarGeometry.test.d.ts +2 -0
- package/build/types/real-time-viewer-next/src/core/environment/deckCutout/buildCollarGeometry.test.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/environment/deckCutout/collectDeckTriangles.d.ts +86 -0
- package/build/types/real-time-viewer-next/src/core/environment/deckCutout/collectDeckTriangles.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/environment/deckCutout/deriveWaterVolume.d.ts +28 -0
- package/build/types/real-time-viewer-next/src/core/environment/deckCutout/deriveWaterVolume.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/environment/deckCutout/deriveWaterVolume.test.d.ts +2 -0
- package/build/types/real-time-viewer-next/src/core/environment/deckCutout/deriveWaterVolume.test.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/environment/deckCutout/measureArticle.d.ts +49 -0
- package/build/types/real-time-viewer-next/src/core/environment/deckCutout/measureArticle.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/environment/deckCutout/measureArticle.test.d.ts +2 -0
- package/build/types/real-time-viewer-next/src/core/environment/deckCutout/measureArticle.test.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/environment/deckCutout/measureDiagnostics.d.ts +20 -0
- package/build/types/real-time-viewer-next/src/core/environment/deckCutout/measureDiagnostics.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/environment/deckCutout/useCollarTextures.d.ts +16 -0
- package/build/types/real-time-viewer-next/src/core/environment/deckCutout/useCollarTextures.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/environment/dome.config.d.ts +191 -0
- package/build/types/real-time-viewer-next/src/core/environment/dome.config.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/environment/dome.config.test.d.ts +2 -0
- package/build/types/real-time-viewer-next/src/core/environment/dome.config.test.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/environment/ground.config.d.ts +130 -0
- package/build/types/real-time-viewer-next/src/core/environment/ground.config.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/environment/ground.config.test.d.ts +2 -0
- package/build/types/real-time-viewer-next/src/core/environment/ground.config.test.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/environment/lighting.config.d.ts +297 -0
- package/build/types/real-time-viewer-next/src/core/environment/lighting.config.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/environment/lighting.config.test.d.ts +2 -0
- package/build/types/real-time-viewer-next/src/core/environment/lighting.config.test.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/environment/scene.config.d.ts +440 -0
- package/build/types/real-time-viewer-next/src/core/environment/scene.config.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/environment/scene.config.test.d.ts +2 -0
- package/build/types/real-time-viewer-next/src/core/environment/scene.config.test.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/environment/useEnvironmentMap.d.ts +19 -0
- package/build/types/real-time-viewer-next/src/core/environment/useEnvironmentMap.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/environment/useStudioLightEffects.d.ts +28 -0
- package/build/types/real-time-viewer-next/src/core/environment/useStudioLightEffects.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/frameOrder.d.ts +91 -0
- package/build/types/real-time-viewer-next/src/core/frameOrder.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/handles.d.ts +35 -0
- package/build/types/real-time-viewer-next/src/core/handles.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/interaction/AccessoryDropController.d.ts +9 -0
- package/build/types/real-time-viewer-next/src/core/interaction/AccessoryDropController.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/interaction/AccessoryFollowController.d.ts +15 -0
- package/build/types/real-time-viewer-next/src/core/interaction/AccessoryFollowController.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/interaction/DragController.d.ts +2 -0
- package/build/types/real-time-viewer-next/src/core/interaction/DragController.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/interaction/ElementOverlay.d.ts +16 -0
- package/build/types/real-time-viewer-next/src/core/interaction/ElementOverlay.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/interaction/ElementOverlayIcons.d.ts +18 -0
- package/build/types/real-time-viewer-next/src/core/interaction/ElementOverlayIcons.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/interaction/FreeGridLayer.d.ts +10 -0
- package/build/types/real-time-viewer-next/src/core/interaction/FreeGridLayer.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/interaction/InteractionGuides.d.ts +3 -0
- package/build/types/real-time-viewer-next/src/core/interaction/InteractionGuides.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/interaction/accessoryCellTargeting.d.ts +31 -0
- package/build/types/real-time-viewer-next/src/core/interaction/accessoryCellTargeting.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/interaction/selection.config.d.ts +65 -0
- package/build/types/real-time-viewer-next/src/core/interaction/selection.config.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/interaction/selection.config.test.d.ts +2 -0
- package/build/types/real-time-viewer-next/src/core/interaction/selection.config.test.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/interaction/useAccessoryMoveDrag.d.ts +21 -0
- package/build/types/real-time-viewer-next/src/core/interaction/useAccessoryMoveDrag.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/interaction/useElementInteraction.d.ts +35 -0
- package/build/types/real-time-viewer-next/src/core/interaction/useElementInteraction.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/lazySubsystems.d.ts +16 -0
- package/build/types/real-time-viewer-next/src/core/lazySubsystems.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/materials/MaterialContext.d.ts +23 -0
- package/build/types/real-time-viewer-next/src/core/materials/MaterialContext.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/materials/MaterialManager.d.ts +4 -0
- package/build/types/real-time-viewer-next/src/core/materials/MaterialManager.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/materials/apply.d.ts +17 -0
- package/build/types/real-time-viewer-next/src/core/materials/apply.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/materials/caches.d.ts +44 -0
- package/build/types/real-time-viewer-next/src/core/materials/caches.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/materials/factory.d.ts +37 -0
- package/build/types/real-time-viewer-next/src/core/materials/factory.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/materials/materials.config.d.ts +13 -0
- package/build/types/real-time-viewer-next/src/core/materials/materials.config.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/materials/materials.config.test.d.ts +2 -0
- package/build/types/real-time-viewer-next/src/core/materials/materials.config.test.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/materials/textureCache.d.ts +26 -0
- package/build/types/real-time-viewer-next/src/core/materials/textureCache.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/materials/types.d.ts +5 -0
- package/build/types/real-time-viewer-next/src/core/materials/types.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/meshBVH.d.ts +22 -0
- package/build/types/real-time-viewer-next/src/core/meshBVH.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/meshBVH.test.d.ts +2 -0
- package/build/types/real-time-viewer-next/src/core/meshBVH.test.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/postprocessing/PostProcessingDynamicEffects.d.ts +11 -0
- package/build/types/real-time-viewer-next/src/core/postprocessing/PostProcessingDynamicEffects.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/postprocessing/PostProcessingStack.d.ts +28 -0
- package/build/types/real-time-viewer-next/src/core/postprocessing/PostProcessingStack.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/postprocessing/applyRendererToneMapping.d.ts +10 -0
- package/build/types/real-time-viewer-next/src/core/postprocessing/applyRendererToneMapping.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/postprocessing/index.d.ts +2 -0
- package/build/types/real-time-viewer-next/src/core/postprocessing/index.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/postprocessing/postProcessing.config.d.ts +453 -0
- package/build/types/real-time-viewer-next/src/core/postprocessing/postProcessing.config.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/postprocessing/postProcessing.config.test.d.ts +2 -0
- package/build/types/real-time-viewer-next/src/core/postprocessing/postProcessing.config.test.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/renderer.config.d.ts +55 -0
- package/build/types/real-time-viewer-next/src/core/renderer.config.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/renderer.config.test.d.ts +2 -0
- package/build/types/real-time-viewer-next/src/core/renderer.config.test.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/shadows/SceneShadowSystem.d.ts +18 -0
- package/build/types/real-time-viewer-next/src/core/shadows/SceneShadowSystem.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/shadows/SunShadow.d.ts +29 -0
- package/build/types/real-time-viewer-next/src/core/shadows/SunShadow.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/shadows/index.d.ts +4 -0
- package/build/types/real-time-viewer-next/src/core/shadows/index.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/shadows/shadowMapSize.d.ts +20 -0
- package/build/types/real-time-viewer-next/src/core/shadows/shadowMapSize.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/shadows/shadowMapSize.test.d.ts +2 -0
- package/build/types/real-time-viewer-next/src/core/shadows/shadowMapSize.test.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/shadows/shadowRegistry.d.ts +24 -0
- package/build/types/real-time-viewer-next/src/core/shadows/shadowRegistry.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/shadows/shadows.config.d.ts +75 -0
- package/build/types/real-time-viewer-next/src/core/shadows/shadows.config.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/shadows/shadows.config.test.d.ts +2 -0
- package/build/types/real-time-viewer-next/src/core/shadows/shadows.config.test.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/shadows/useShadowDirty.d.ts +14 -0
- package/build/types/real-time-viewer-next/src/core/shadows/useShadowDirty.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/shadows/useShadowFlags.d.ts +28 -0
- package/build/types/real-time-viewer-next/src/core/shadows/useShadowFlags.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/shadows/useShadowRebake.d.ts +14 -0
- package/build/types/real-time-viewer-next/src/core/shadows/useShadowRebake.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/useFrameloopVisibility.d.ts +37 -0
- package/build/types/real-time-viewer-next/src/core/useFrameloopVisibility.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/view2d/DockingPoints2D.d.ts +17 -0
- package/build/types/real-time-viewer-next/src/core/view2d/DockingPoints2D.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/view2d/Element2DPlane.d.ts +18 -0
- package/build/types/real-time-viewer-next/src/core/view2d/Element2DPlane.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/view2d/ElementAnnotation2D.d.ts +16 -0
- package/build/types/real-time-viewer-next/src/core/view2d/ElementAnnotation2D.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/view2d/Scene2DOverlay.d.ts +10 -0
- package/build/types/real-time-viewer-next/src/core/view2d/Scene2DOverlay.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/viewMode/ViewModeRuntimeContext.d.ts +20 -0
- package/build/types/real-time-viewer-next/src/core/viewMode/ViewModeRuntimeContext.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/viewMode/index.d.ts +4 -0
- package/build/types/real-time-viewer-next/src/core/viewMode/index.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/viewMode/selectViewModeRuntime.d.ts +9 -0
- package/build/types/real-time-viewer-next/src/core/viewMode/selectViewModeRuntime.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/viewMode/selectViewModeRuntime.test.d.ts +2 -0
- package/build/types/real-time-viewer-next/src/core/viewMode/selectViewModeRuntime.test.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/viewMode/types.d.ts +67 -0
- package/build/types/real-time-viewer-next/src/core/viewMode/types.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/water/CausticReceiver.d.ts +49 -0
- package/build/types/real-time-viewer-next/src/core/water/CausticReceiver.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/water/CausticsTexture.d.ts +48 -0
- package/build/types/real-time-viewer-next/src/core/water/CausticsTexture.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/water/Heightfield.d.ts +88 -0
- package/build/types/real-time-viewer-next/src/core/water/Heightfield.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/water/PoolHeightMap.d.ts +36 -0
- package/build/types/real-time-viewer-next/src/core/water/PoolHeightMap.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/water/RefractionCapture.d.ts +73 -0
- package/build/types/real-time-viewer-next/src/core/water/RefractionCapture.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/water/RefractionCapture.test.d.ts +2 -0
- package/build/types/real-time-viewer-next/src/core/water/RefractionCapture.test.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/water/SceneCapture.d.ts +66 -0
- package/build/types/real-time-viewer-next/src/core/water/SceneCapture.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/water/WaterSurface.d.ts +8 -0
- package/build/types/real-time-viewer-next/src/core/water/WaterSurface.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/water/WaterSurfaceLazy.d.ts +10 -0
- package/build/types/real-time-viewer-next/src/core/water/WaterSurfaceLazy.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/water/WaterSurfaceRenderer.d.ts +71 -0
- package/build/types/real-time-viewer-next/src/core/water/WaterSurfaceRenderer.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/water/useCausticReceivers.d.ts +11 -0
- package/build/types/real-time-viewer-next/src/core/water/useCausticReceivers.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/water/useWaterPointer.d.ts +13 -0
- package/build/types/real-time-viewer-next/src/core/water/useWaterPointer.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/water/useWaveSimulation.d.ts +44 -0
- package/build/types/real-time-viewer-next/src/core/water/useWaveSimulation.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/water/useWaveSimulation.test.d.ts +2 -0
- package/build/types/real-time-viewer-next/src/core/water/useWaveSimulation.test.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/water/water.config.d.ts +90 -0
- package/build/types/real-time-viewer-next/src/core/water/water.config.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/water/water.config.test.d.ts +2 -0
- package/build/types/real-time-viewer-next/src/core/water/water.config.test.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/water/waterDebug.d.ts +14 -0
- package/build/types/real-time-viewer-next/src/core/water/waterDebug.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/water/waterShaders.d.ts +9 -0
- package/build/types/real-time-viewer-next/src/core/water/waterShaders.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/water/waterSurfaceMaterial.d.ts +21 -0
- package/build/types/real-time-viewer-next/src/core/water/waterSurfaceMaterial.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/core/water/waterUniforms.d.ts +51 -0
- package/build/types/real-time-viewer-next/src/core/water/waterUniforms.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/hooks/useAssembledScene.d.ts +17 -0
- package/build/types/real-time-viewer-next/src/hooks/useAssembledScene.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/hooks/useHostPropsSync.d.ts +20 -0
- package/build/types/real-time-viewer-next/src/hooks/useHostPropsSync.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/index.d.ts +17 -0
- package/build/types/real-time-viewer-next/src/index.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/internals.d.ts +61 -0
- package/build/types/real-time-viewer-next/src/internals.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/loadingGates.d.ts +34 -0
- package/build/types/real-time-viewer-next/src/loadingGates.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/parser/parseRenderScript.d.ts +51 -0
- package/build/types/real-time-viewer-next/src/parser/parseRenderScript.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/parser/types.d.ts +58 -0
- package/build/types/real-time-viewer-next/src/parser/types.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/presets/mergePresetBundle.d.ts +33 -0
- package/build/types/real-time-viewer-next/src/presets/mergePresetBundle.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/presets/polyfaser-planner.d.ts +4 -0
- package/build/types/real-time-viewer-next/src/presets/polyfaser-planner.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/presets/polyfaser-pool.d.ts +4 -0
- package/build/types/real-time-viewer-next/src/presets/polyfaser-pool.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/presets/polyfaserPlannerOverride.d.ts +9 -0
- package/build/types/real-time-viewer-next/src/presets/polyfaserPlannerOverride.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/presets/villa-cliff.d.ts +4 -0
- package/build/types/real-time-viewer-next/src/presets/villa-cliff.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/publicApi.d.ts +35 -0
- package/build/types/real-time-viewer-next/src/publicApi.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/publicPath.d.ts +1 -0
- package/build/types/real-time-viewer-next/src/publicPath.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/store/index.d.ts +18 -0
- package/build/types/real-time-viewer-next/src/store/index.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/store/shared.d.ts +25 -0
- package/build/types/real-time-viewer-next/src/store/shared.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/store/slices/accessory.d.ts +147 -0
- package/build/types/real-time-viewer-next/src/store/slices/accessory.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/store/slices/analyzerGate.d.ts +15 -0
- package/build/types/real-time-viewer-next/src/store/slices/analyzerGate.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/store/slices/camera.d.ts +66 -0
- package/build/types/real-time-viewer-next/src/store/slices/camera.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/store/slices/capture.d.ts +60 -0
- package/build/types/real-time-viewer-next/src/store/slices/capture.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/store/slices/config.d.ts +52 -0
- package/build/types/real-time-viewer-next/src/store/slices/config.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/store/slices/deckCutout.d.ts +29 -0
- package/build/types/real-time-viewer-next/src/store/slices/deckCutout.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/store/slices/environment.d.ts +47 -0
- package/build/types/real-time-viewer-next/src/store/slices/environment.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/store/slices/glGeneration.d.ts +18 -0
- package/build/types/real-time-viewer-next/src/store/slices/glGeneration.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/store/slices/hostSelection.test.d.ts +5 -0
- package/build/types/real-time-viewer-next/src/store/slices/hostSelection.test.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/store/slices/interaction.d.ts +53 -0
- package/build/types/real-time-viewer-next/src/store/slices/interaction.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/store/slices/performanceProfile.d.ts +71 -0
- package/build/types/real-time-viewer-next/src/store/slices/performanceProfile.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/store/slices/plannerUi.d.ts +46 -0
- package/build/types/real-time-viewer-next/src/store/slices/plannerUi.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/store/slices/scene.d.ts +26 -0
- package/build/types/real-time-viewer-next/src/store/slices/scene.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/store/slices/sceneLoad.d.ts +75 -0
- package/build/types/real-time-viewer-next/src/store/slices/sceneLoad.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/store/slices/sceneLoad.test.d.ts +5 -0
- package/build/types/real-time-viewer-next/src/store/slices/sceneLoad.test.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/store/slices/selection.d.ts +66 -0
- package/build/types/real-time-viewer-next/src/store/slices/selection.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/store/slices/versions.d.ts +34 -0
- package/build/types/real-time-viewer-next/src/store/slices/versions.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/store/slices/viewMode.d.ts +16 -0
- package/build/types/real-time-viewer-next/src/store/slices/viewMode.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/store/types.d.ts +96 -0
- package/build/types/real-time-viewer-next/src/store/types.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/testUtils/deepDiff.d.ts +26 -0
- package/build/types/real-time-viewer-next/src/testUtils/deepDiff.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/testUtils/deepDiff.test.d.ts +11 -0
- package/build/types/real-time-viewer-next/src/testUtils/deepDiff.test.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/testUtils/divaCoreMock.d.ts +47 -0
- package/build/types/real-time-viewer-next/src/testUtils/divaCoreMock.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/testUtils/resolvedConfigSnapshots.d.ts +36 -0
- package/build/types/real-time-viewer-next/src/testUtils/resolvedConfigSnapshots.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/testUtils/structuredClonePolyfill.d.ts +2 -0
- package/build/types/real-time-viewer-next/src/testUtils/structuredClonePolyfill.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/types/accessoryGrids.d.ts +134 -0
- package/build/types/real-time-viewer-next/src/types/accessoryGrids.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/types/camera.d.ts +288 -0
- package/build/types/real-time-viewer-next/src/types/camera.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/types/environment.d.ts +146 -0
- package/build/types/real-time-viewer-next/src/types/environment.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/types/plannerUi.d.ts +68 -0
- package/build/types/real-time-viewer-next/src/types/plannerUi.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/types/scene2d.d.ts +168 -0
- package/build/types/real-time-viewer-next/src/types/scene2d.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/utils/bootPhase.d.ts +75 -0
- package/build/types/real-time-viewer-next/src/utils/bootPhase.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/utils/bootPhase.test.d.ts +5 -0
- package/build/types/real-time-viewer-next/src/utils/bootPhase.test.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/utils/camera.d.ts +8 -0
- package/build/types/real-time-viewer-next/src/utils/camera.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/utils/cameraFraming.d.ts +47 -0
- package/build/types/real-time-viewer-next/src/utils/cameraFraming.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/utils/collisionTargets.d.ts +34 -0
- package/build/types/real-time-viewer-next/src/utils/collisionTargets.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/utils/collisionTargets.test.d.ts +2 -0
- package/build/types/real-time-viewer-next/src/utils/collisionTargets.test.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/utils/cursorStack.d.ts +21 -0
- package/build/types/real-time-viewer-next/src/utils/cursorStack.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/utils/detectDeviceTier.d.ts +24 -0
- package/build/types/real-time-viewer-next/src/utils/detectDeviceTier.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/utils/detectDeviceTier.test.d.ts +5 -0
- package/build/types/real-time-viewer-next/src/utils/detectDeviceTier.test.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/utils/dockingGroups.d.ts +7 -0
- package/build/types/real-time-viewer-next/src/utils/dockingGroups.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/utils/elementIds.d.ts +27 -0
- package/build/types/real-time-viewer-next/src/utils/elementIds.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/utils/equirectCache.d.ts +45 -0
- package/build/types/real-time-viewer-next/src/utils/equirectCache.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/utils/equirectUrl.d.ts +22 -0
- package/build/types/real-time-viewer-next/src/utils/equirectUrl.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/utils/equirectUrl.test.d.ts +2 -0
- package/build/types/real-time-viewer-next/src/utils/equirectUrl.test.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/utils/footprint.d.ts +15 -0
- package/build/types/real-time-viewer-next/src/utils/footprint.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/utils/footprint.test.d.ts +2 -0
- package/build/types/real-time-viewer-next/src/utils/footprint.test.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/utils/footprintTrace.d.ts +55 -0
- package/build/types/real-time-viewer-next/src/utils/footprintTrace.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/utils/footprintTrace.test.d.ts +2 -0
- package/build/types/real-time-viewer-next/src/utils/footprintTrace.test.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/utils/geoViewAngle.d.ts +17 -0
- package/build/types/real-time-viewer-next/src/utils/geoViewAngle.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/utils/gltfLoader.d.ts +34 -0
- package/build/types/real-time-viewer-next/src/utils/gltfLoader.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/utils/gridGeometryApi.d.ts +17 -0
- package/build/types/real-time-viewer-next/src/utils/gridGeometryApi.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/utils/localUVSampler.d.ts +89 -0
- package/build/types/real-time-viewer-next/src/utils/localUVSampler.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/utils/localUVSampler.test.d.ts +2 -0
- package/build/types/real-time-viewer-next/src/utils/localUVSampler.test.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/utils/overlayGeometry.d.ts +28 -0
- package/build/types/real-time-viewer-next/src/utils/overlayGeometry.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/utils/overlayGeometry.test.d.ts +2 -0
- package/build/types/real-time-viewer-next/src/utils/overlayGeometry.test.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/utils/planarTransform.d.ts +20 -0
- package/build/types/real-time-viewer-next/src/utils/planarTransform.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/utils/planarTransform.test.d.ts +2 -0
- package/build/types/real-time-viewer-next/src/utils/planarTransform.test.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/utils/polygon2d.d.ts +25 -0
- package/build/types/real-time-viewer-next/src/utils/polygon2d.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/utils/preloadEnvironment.d.ts +15 -0
- package/build/types/real-time-viewer-next/src/utils/preloadEnvironment.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/utils/profiles.d.ts +113 -0
- package/build/types/real-time-viewer-next/src/utils/profiles.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/utils/profiles.test.d.ts +17 -0
- package/build/types/real-time-viewer-next/src/utils/profiles.test.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/utils/rasterMask.d.ts +31 -0
- package/build/types/real-time-viewer-next/src/utils/rasterMask.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/utils/rasterMask.test.d.ts +2 -0
- package/build/types/real-time-viewer-next/src/utils/rasterMask.test.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/utils/resolveEnvironment.d.ts +16 -0
- package/build/types/real-time-viewer-next/src/utils/resolveEnvironment.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/utils/resolveGridCells.d.ts +35 -0
- package/build/types/real-time-viewer-next/src/utils/resolveGridCells.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/utils/scene.d.ts +3 -0
- package/build/types/real-time-viewer-next/src/utils/scene.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/utils/screenProjection.d.ts +42 -0
- package/build/types/real-time-viewer-next/src/utils/screenProjection.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/utils/screenProjection.test.d.ts +2 -0
- package/build/types/real-time-viewer-next/src/utils/screenProjection.test.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/utils/selectionScopeNames.d.ts +6 -0
- package/build/types/real-time-viewer-next/src/utils/selectionScopeNames.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/utils/selectionScopeScene.d.ts +8 -0
- package/build/types/real-time-viewer-next/src/utils/selectionScopeScene.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/utils/smoothDamp.d.ts +19 -0
- package/build/types/real-time-viewer-next/src/utils/smoothDamp.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/utils/sunAngles.d.ts +29 -0
- package/build/types/real-time-viewer-next/src/utils/sunAngles.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/utils/suspense.d.ts +11 -0
- package/build/types/real-time-viewer-next/src/utils/suspense.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/utils/whiteRoomPreset.d.ts +48 -0
- package/build/types/real-time-viewer-next/src/utils/whiteRoomPreset.d.ts.map +1 -0
- package/build/types/real-time-viewer-next/src/utils/withRenderTarget.d.ts +48 -0
- package/build/types/real-time-viewer-next/src/utils/withRenderTarget.d.ts.map +1 -0
- package/build/umd/114.real-time-viewer-next.umd.min.js +2 -0
- package/build/umd/114.real-time-viewer-next.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/699.real-time-viewer-next.umd.min.js +2 -0
- package/build/umd/699.real-time-viewer-next.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/964.real-time-viewer-next.umd.min.js +2 -0
- package/build/umd/964.real-time-viewer-next.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/real-time-viewer-next.umd.min.js +2 -0
- package/build/umd/real-time-viewer-next.umd.min.js.LICENSE.txt +117 -0
- package/build/umd/report.html +38 -0
- package/package.json +31 -0
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shelf-planner accessory grid types.
|
|
3
|
+
*
|
|
4
|
+
* The first three interfaces mirror the host contract (`@crystaldesign/web-planner-logic`'s
|
|
5
|
+
* `ShelfAccessoiresView` / the old `real-time-viewer`'s `types.ts`) — kept local so rtv-next
|
|
6
|
+
* has no hard dependency on web-planner-logic. They are the *raw* host input.
|
|
7
|
+
*
|
|
8
|
+
* `AllGrids` mirrors the response of `POST {constructorServiceUrl}/articles/grids/all` — the
|
|
9
|
+
* server-computed grid + accessory geometry the client doesn't otherwise have.
|
|
10
|
+
*
|
|
11
|
+
* `ResolvedGridCell` is the **unification seam**: the renderer consumes only this
|
|
12
|
+
* resolved shape (cell + element-local transform + backend keys), never the raw input. Today it
|
|
13
|
+
* is produced from `FreePlacesOnGrids` + `AllGrids`; later it can be produced from
|
|
14
|
+
* `GeneralPlanningState` without touching the renderer.
|
|
15
|
+
*/
|
|
16
|
+
export interface FreePlacesOnGrids {
|
|
17
|
+
accessoire3DName: string;
|
|
18
|
+
articleCodex: string;
|
|
19
|
+
basketId: string;
|
|
20
|
+
elementId?: string;
|
|
21
|
+
plannedOptions: {
|
|
22
|
+
[key: string]: string;
|
|
23
|
+
};
|
|
24
|
+
grids: {
|
|
25
|
+
[gridName: string]: {
|
|
26
|
+
freeCells: number[];
|
|
27
|
+
idx: number;
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
/** Real catalog geometry (glb) name (e.g. `GEO_TAB_50_VR`) — used to load a variant's mesh during
|
|
31
|
+
* a family-swap drag. Provided by the host; differs from accessoire3DName / articleCodex. */
|
|
32
|
+
geo3DName?: string;
|
|
33
|
+
}
|
|
34
|
+
export interface PlannedPlacesOnGrids {
|
|
35
|
+
shelf3DName: string;
|
|
36
|
+
basketId: string;
|
|
37
|
+
catalogCodex: string;
|
|
38
|
+
elementId?: string;
|
|
39
|
+
grids: {
|
|
40
|
+
[gridName: string]: {
|
|
41
|
+
accessories: ShelfAccessories[];
|
|
42
|
+
idx: number;
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
iln: string;
|
|
46
|
+
plannedOptions: {
|
|
47
|
+
[codex: string]: string;
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
export interface ShelfAccessories {
|
|
51
|
+
accessorie3DName: string;
|
|
52
|
+
basketId: string;
|
|
53
|
+
articleCodex: string;
|
|
54
|
+
plannedOptions: {
|
|
55
|
+
[key: string]: string;
|
|
56
|
+
};
|
|
57
|
+
index: number;
|
|
58
|
+
noDelete: boolean;
|
|
59
|
+
noMove: boolean;
|
|
60
|
+
}
|
|
61
|
+
export interface AccessoryGridGeo {
|
|
62
|
+
type: string;
|
|
63
|
+
rulePosition: {
|
|
64
|
+
x: number;
|
|
65
|
+
y: number;
|
|
66
|
+
z: number;
|
|
67
|
+
};
|
|
68
|
+
geoPosition: {
|
|
69
|
+
x: number;
|
|
70
|
+
y: number;
|
|
71
|
+
z: number;
|
|
72
|
+
};
|
|
73
|
+
geoSize: {
|
|
74
|
+
x: number;
|
|
75
|
+
y: number;
|
|
76
|
+
z: number;
|
|
77
|
+
};
|
|
78
|
+
geoBboxSize: {
|
|
79
|
+
x: number;
|
|
80
|
+
y: number;
|
|
81
|
+
z: number;
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
export interface AccessoryGeoEntry {
|
|
85
|
+
artNr: string;
|
|
86
|
+
artType: string;
|
|
87
|
+
geo: AccessoryGridGeo;
|
|
88
|
+
gridPositionSize: {
|
|
89
|
+
x: number;
|
|
90
|
+
y: number;
|
|
91
|
+
z: number;
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
export interface AccessoryGridDef {
|
|
95
|
+
gridName: string;
|
|
96
|
+
originPosition: {
|
|
97
|
+
x: number;
|
|
98
|
+
y: number;
|
|
99
|
+
z: number;
|
|
100
|
+
};
|
|
101
|
+
deltaGrid: {
|
|
102
|
+
x: number;
|
|
103
|
+
y: number;
|
|
104
|
+
z: number;
|
|
105
|
+
};
|
|
106
|
+
rotation: number;
|
|
107
|
+
count: number;
|
|
108
|
+
}
|
|
109
|
+
export interface AllGrids {
|
|
110
|
+
elementId: string;
|
|
111
|
+
accessories: AccessoryGeoEntry[];
|
|
112
|
+
grids: AccessoryGridDef[];
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* One placeable cell, resolved into an element-local transform + the keys the place/move/delete
|
|
116
|
+
* backend calls need. `elementId` is the shelf element key (`'E'+shelfElementId`) used to match the
|
|
117
|
+
* Three.js scene group; positions are LOCAL to that element group (boxes are mounted as its children).
|
|
118
|
+
*/
|
|
119
|
+
export interface ResolvedGridCell {
|
|
120
|
+
/** Shelf element key, e.g. "E12" — matches the tail of the scene group name. */
|
|
121
|
+
elementId: string;
|
|
122
|
+
gridName: string;
|
|
123
|
+
gridIdx: number;
|
|
124
|
+
cellIdx: number;
|
|
125
|
+
parentBasketId: string;
|
|
126
|
+
articleCodex: string;
|
|
127
|
+
/** Element-local position (metres). */
|
|
128
|
+
localPosition: [number, number, number];
|
|
129
|
+
/** Element-local Y rotation (radians). */
|
|
130
|
+
rotationY: number;
|
|
131
|
+
/** Box dimensions (metres). */
|
|
132
|
+
size: [number, number, number];
|
|
133
|
+
}
|
|
134
|
+
//# sourceMappingURL=accessoryGrids.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accessoryGrids.d.ts","sourceRoot":"","sources":["../../../../../src/types/accessoryGrids.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,288 @@
|
|
|
1
|
+
export declare const CAMERA_FOV = 24;
|
|
2
|
+
export declare const CAMERA_NEAR = 0.05;
|
|
3
|
+
export declare const CAMERA_FAR = 2500;
|
|
4
|
+
export type ViewAngle = {
|
|
5
|
+
azimuth: number;
|
|
6
|
+
elevation: number;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* A directional tightening of the orbit limits, active inside one azimuth window.
|
|
10
|
+
*
|
|
11
|
+
* Angles are radians in the same convention as `getAzimuthalAngle()` / `limits.minAzimuthAngle`
|
|
12
|
+
* (0 = camera on +Z of the target, +90° = +X). The window runs from `fromAzimuth` to `toAzimuth`
|
|
13
|
+
* in the direction of increasing azimuth and may wrap across ±π. Equal values mean a full circle.
|
|
14
|
+
*
|
|
15
|
+
* Only the bounds a sector declares are affected, and a sector can only tighten the base limits,
|
|
16
|
+
* never widen them. Inside `feather` of either edge the override blends smoothly to the base value,
|
|
17
|
+
* so sweeping the camera across a boundary is a push, not a pop.
|
|
18
|
+
*/
|
|
19
|
+
export interface CameraSectorLimit {
|
|
20
|
+
fromAzimuth: number;
|
|
21
|
+
toAzimuth: number;
|
|
22
|
+
/** Blend band inside each edge, radians. Defaults to {@link DEFAULT_SECTOR_FEATHER}. */
|
|
23
|
+
feather?: number;
|
|
24
|
+
minDistance?: number;
|
|
25
|
+
maxDistance?: number;
|
|
26
|
+
minPolarAngle?: number;
|
|
27
|
+
maxPolarAngle?: number;
|
|
28
|
+
/**
|
|
29
|
+
* World-space ceiling for the camera inside this sector (meters, same Y space as
|
|
30
|
+
* `limits.floorY`). Converted at evaluation time into a minimum polar angle at the current
|
|
31
|
+
* orbit distance: `acos((maxHeight - targetY) / distance)`. Close to the target the whole
|
|
32
|
+
* polar range stays reachable (the camera is still under the ceiling); further out the limit
|
|
33
|
+
* engages earlier — unlike a fixed `minPolarAngle`, which cuts the same view angle at every
|
|
34
|
+
* distance. Combines with an explicit `minPolarAngle` most-restrictive-wins. Requires the
|
|
35
|
+
* evaluation context (distance + target Y); evaluations without one ignore the ceiling.
|
|
36
|
+
*/
|
|
37
|
+
maxHeight?: number;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Per-element-type vertical look angle (degrees of elevation) used when the camera focuses an
|
|
41
|
+
* element. Azimuth still reorients to the element front; only the elevation is overridden.
|
|
42
|
+
* `planned`/unknown element types share the `main` policy.
|
|
43
|
+
* - `shelfAccessoire` / `accessoire`: eye-level (0°) — look straight at the shelf front.
|
|
44
|
+
* - `boxElement` / `main`: slightly elevated (15°).
|
|
45
|
+
*/
|
|
46
|
+
export declare const DEFAULT_FOCUS_ELEVATION: {
|
|
47
|
+
shelfAccessoire: number;
|
|
48
|
+
accessoire: number;
|
|
49
|
+
boxElement: number;
|
|
50
|
+
main: number;
|
|
51
|
+
};
|
|
52
|
+
/**
|
|
53
|
+
* Camera-controls feel presets.
|
|
54
|
+
*
|
|
55
|
+
* - `custom` — fully user-tunable (raw OrbitControls feel sliders are visible).
|
|
56
|
+
* - `cinematic` — heavy inertia, slow rotate/zoom/pan, subtle FOV dolly on rotate.
|
|
57
|
+
* - `snappy` — near-instant response, fast rotate/zoom/pan.
|
|
58
|
+
*/
|
|
59
|
+
export type ControlsPreset = 'custom' | 'cinematic' | 'snappy';
|
|
60
|
+
/**
|
|
61
|
+
* 2D camera limits for the perspective top-down rig. `kind` is kept as an
|
|
62
|
+
* explicit tag so host configs stay self-describing.
|
|
63
|
+
*/
|
|
64
|
+
export type Limits2DPerspective = {
|
|
65
|
+
kind: 'perspective';
|
|
66
|
+
/** OrbitControls.minDistance — dolly distance lower bound (meters). Default 1. */
|
|
67
|
+
minDistance?: number;
|
|
68
|
+
/** OrbitControls.maxDistance — dolly distance upper bound (meters). Default 30. */
|
|
69
|
+
maxDistance?: number;
|
|
70
|
+
enableZoom?: boolean;
|
|
71
|
+
enablePan?: boolean;
|
|
72
|
+
};
|
|
73
|
+
export type Limits2DConfig = Limits2DPerspective;
|
|
74
|
+
export interface ControlsConfig {
|
|
75
|
+
/** Preset feel — individual values below override the preset */
|
|
76
|
+
preset?: ControlsPreset;
|
|
77
|
+
/**
|
|
78
|
+
* OrbitControls' damping factor — drives **momentum**. After the user
|
|
79
|
+
* releases, OrbitControls keeps applying a decaying `sphericalDelta` /
|
|
80
|
+
* `panOffset` to the proxy camera each frame, so the proxy continues
|
|
81
|
+
* moving in the input direction with an exponential tail. That's the
|
|
82
|
+
* cinematic "coast." Lower values give a longer, floatier coast;
|
|
83
|
+
* higher values stop near-instantly.
|
|
84
|
+
*
|
|
85
|
+
* Range: `0..1` (clamped by OrbitControls). Useful band: ~0.02
|
|
86
|
+
* (very floaty / long momentum) to ~0.5 (snappy / minimal momentum).
|
|
87
|
+
*
|
|
88
|
+
* Independent of {@link smoothTime} — that controls the *rendered*
|
|
89
|
+
* camera's catch-up lag toward the proxy, while this controls how long
|
|
90
|
+
* the proxy itself keeps moving.
|
|
91
|
+
*/
|
|
92
|
+
dampingFactor?: number;
|
|
93
|
+
/**
|
|
94
|
+
* Critically-damped spring time-constant (seconds) used by the rendered
|
|
95
|
+
* camera's chase spring — applied uniformly during drag AND post-release
|
|
96
|
+
* coast. Layered on top of OrbitControls' momentum: the proxy coasts via
|
|
97
|
+
* {@link dampingFactor}, and the rendered camera trails the proxy with
|
|
98
|
+
* this time-constant. Range ~0..0.5; ~0.18s reads as cinematic glide,
|
|
99
|
+
* ~0.02s as snappy.
|
|
100
|
+
*
|
|
101
|
+
* Must be a single T across drag and post-release: a T jump at `onEnd`
|
|
102
|
+
* leaves the spring's chase velocity (calibrated for the drag T) chasing
|
|
103
|
+
* through a suddenly weaker spring, producing a visible "smoothness stops
|
|
104
|
+
* at end of motion" artifact. The long post-release tail comes entirely
|
|
105
|
+
* from OrbitControls' momentum decay via {@link dampingFactor}.
|
|
106
|
+
*/
|
|
107
|
+
smoothTime?: number;
|
|
108
|
+
rotateSpeed?: number;
|
|
109
|
+
zoomSpeed?: number;
|
|
110
|
+
panSpeed?: number;
|
|
111
|
+
/**
|
|
112
|
+
* Subtle FOV zoom during orbit rotation. Higher = more pronounced.
|
|
113
|
+
* 0 = disabled. Typical range: 1–5. The FOV narrows during fast rotation
|
|
114
|
+
* (zoom-in feel) and eases back to normal when the user stops.
|
|
115
|
+
*/
|
|
116
|
+
dollyOnRotate?: number;
|
|
117
|
+
/**
|
|
118
|
+
* Master input-resistance scalar applied on top of the preset and any
|
|
119
|
+
* explicit `rotateSpeed` / `zoomSpeed` / `panSpeed` overrides.
|
|
120
|
+
*
|
|
121
|
+
* Range: `0..1`. 0 = no resistance (full sensitivity). 1 = max resistance —
|
|
122
|
+
* a given swipe / pinch / drag travels much less. Acts as a single
|
|
123
|
+
* "make all user input slower" knob so consumers don't have to dial
|
|
124
|
+
* three speeds in lockstep.
|
|
125
|
+
*
|
|
126
|
+
* Implementation: in {@link resolveControls} the three input speeds are
|
|
127
|
+
* multiplied by `1 - RESISTANCE_MAX_DAMP * resistance` (clamped). With
|
|
128
|
+
* the default `RESISTANCE_MAX_DAMP = 0.85`, `resistance = 1` leaves
|
|
129
|
+
* ~15% of the original speed — still usable but heavily slowed.
|
|
130
|
+
*
|
|
131
|
+
* Does NOT affect post-input damping (see {@link dampingFactor}).
|
|
132
|
+
*/
|
|
133
|
+
resistance?: number;
|
|
134
|
+
/**
|
|
135
|
+
* Enables dolly/zoom from the user (mousewheel, pinch, and the dolly half of
|
|
136
|
+
* two-finger touch). Default `true`. Set to `false` to lock the camera
|
|
137
|
+
* distance to the target. Programmatic camera moves (focus, reframe,
|
|
138
|
+
* animations) are unaffected.
|
|
139
|
+
*/
|
|
140
|
+
enableZoom?: boolean;
|
|
141
|
+
/**
|
|
142
|
+
* Enables pan from the user (right-drag, keyboard arrows, and the pan half
|
|
143
|
+
* of two-finger touch). Default `true`. Set to `false` to lock the orbit
|
|
144
|
+
* **target / focus point** in place — i.e. the user can still rotate the
|
|
145
|
+
* camera around the scene but can no longer slide what the camera looks at.
|
|
146
|
+
*
|
|
147
|
+
* Note: OrbitControls maps two-finger touch to `TOUCH.DOLLY_PAN`, so to
|
|
148
|
+
* make a two-finger gesture a complete no-op you need both
|
|
149
|
+
* `enableZoom = false` AND `enablePan = false`.
|
|
150
|
+
*/
|
|
151
|
+
enablePan?: boolean;
|
|
152
|
+
}
|
|
153
|
+
export interface CameraConfig {
|
|
154
|
+
/**
|
|
155
|
+
* Vertical field of view in degrees. Default {@link CAMERA_FOV}.
|
|
156
|
+
*
|
|
157
|
+
* Reference points:
|
|
158
|
+
* - 20–30°: telephoto / portrait look (compresses space, "zoomed in" feel).
|
|
159
|
+
* - 35–50°: cinematic / catalog (most product viewers and films).
|
|
160
|
+
* - 50–75°: natural / "human eye" range (most game and walk-through engines).
|
|
161
|
+
* - 75–100°: wide-angle / FPS-like.
|
|
162
|
+
* - 100°+: extreme wide / fisheye (geometry distortion grows quickly).
|
|
163
|
+
*/
|
|
164
|
+
fov?: number;
|
|
165
|
+
initialPosition?: [number, number, number];
|
|
166
|
+
initialTarget?: [number, number, number];
|
|
167
|
+
initialAngle?: ViewAngle;
|
|
168
|
+
/** Distance multiplier when focusing an element in 3D (default 1.7) */
|
|
169
|
+
focusPadding3D?: number;
|
|
170
|
+
/** Height multiplier when focusing an element in 2D top-down (default 3.0) */
|
|
171
|
+
focusPadding2D?: number;
|
|
172
|
+
/**
|
|
173
|
+
* Distance multiplier when focusing a geo (sub-element) in 3D. Geo focus
|
|
174
|
+
* uses geometry-derived viewing angles and a tighter framing radius, so
|
|
175
|
+
* its padding is independent of the element-level `focusPadding3D` value
|
|
176
|
+
* (default 1.15).
|
|
177
|
+
*/
|
|
178
|
+
focusPaddingGeo?: number;
|
|
179
|
+
/** Multiplier for the initial 3D camera distance from scene center (default 1.7) */
|
|
180
|
+
initialZoomPadding3D?: number;
|
|
181
|
+
/** Multiplier for the initial 2D top-down camera height relative to scene size (default 3.0) */
|
|
182
|
+
initialZoomPadding2D?: number;
|
|
183
|
+
/** Y height (meters) the camera target sits above ground on initial frame (default 1) */
|
|
184
|
+
initialTargetHeight?: number;
|
|
185
|
+
/**
|
|
186
|
+
* Vertical position of the focus look-at target as a fraction of the framed
|
|
187
|
+
* bounding-box height (0 = bottom, 1 = top; default 0.56). Applied to both
|
|
188
|
+
* single-element focus (the element's own bbox) and full-scene focus (the
|
|
189
|
+
* global content bbox), so the two stay consistent. For full-scene focus,
|
|
190
|
+
* `initialTargetHeight` is only used as a fallback when the planning is empty
|
|
191
|
+
* (no content bbox to measure).
|
|
192
|
+
*/
|
|
193
|
+
focusHeightFraction?: number;
|
|
194
|
+
/**
|
|
195
|
+
* Extra vertical lift (meters) of the focus look-at target, added after
|
|
196
|
+
* {@link focusHeightFraction} — applied to the same two paths: single-element
|
|
197
|
+
* focus and full-scene focus/reframe. Use when a fraction of the framed bbox
|
|
198
|
+
* height cannot express an absolute lift (e.g. a flat pool sunk into a deck,
|
|
199
|
+
* where the orbit pivot should sit above the water line). Default 0.
|
|
200
|
+
*/
|
|
201
|
+
focusTargetYOffset?: number;
|
|
202
|
+
/**
|
|
203
|
+
* Automatic camera re-fit when the placed content's bounding box changes size
|
|
204
|
+
* (an element resize / config edit): in overview the camera re-frames to the
|
|
205
|
+
* new box, and a focused camera re-fits the focused element. Default `true`.
|
|
206
|
+
* Set `false` to keep the camera exactly where the user left it across scene
|
|
207
|
+
* size changes — selection-driven focus flights are unaffected.
|
|
208
|
+
*/
|
|
209
|
+
reframeOnSceneChange?: boolean;
|
|
210
|
+
/**
|
|
211
|
+
* Whether selecting, deselecting or focusing an element is allowed to move the camera.
|
|
212
|
+
* Default `true` (fly to the element on select, out to the overview on deselect, recenter on a
|
|
213
|
+
* click into empty space).
|
|
214
|
+
*
|
|
215
|
+
* `false` decouples the camera from selection entirely: elements still select, highlight and
|
|
216
|
+
* drive the customization UI, and `focusedElementName` is still tracked — only the camera stays
|
|
217
|
+
* put. For a showcase scene the framing is authored (`limits`, `autoRotate`, `initialAngle`) and
|
|
218
|
+
* having a click re-frame it throws that away. Distinct from
|
|
219
|
+
* {@link CameraConfig.reframeOnSceneChange}, which covers bbox-size-driven re-fits, not selection.
|
|
220
|
+
*/
|
|
221
|
+
selectionMovesCamera?: boolean;
|
|
222
|
+
limits?: {
|
|
223
|
+
minDistance?: number;
|
|
224
|
+
maxDistance?: number;
|
|
225
|
+
minPolarAngle?: number;
|
|
226
|
+
maxPolarAngle?: number;
|
|
227
|
+
minAzimuthAngle?: number;
|
|
228
|
+
maxAzimuthAngle?: number;
|
|
229
|
+
targetBoundsMargin?: number;
|
|
230
|
+
floorY?: number;
|
|
231
|
+
/**
|
|
232
|
+
* Keep the camera clear of scene geometry. Opt-in: it costs two full-scene raycasts on every
|
|
233
|
+
* frame the camera moves, which most scenes don't need because `minDistance` and the polar
|
|
234
|
+
* limits already bound the orbit. Floor, target-bounds and distance clamps are unaffected.
|
|
235
|
+
*/
|
|
236
|
+
collision?: boolean;
|
|
237
|
+
/**
|
|
238
|
+
* Directional overrides of the limits above: each sector tightens distance and/or polar bounds
|
|
239
|
+
* within an azimuth window ("a wall to the west", "a roof overhang to the south"). Sectors can
|
|
240
|
+
* only restrict, never widen — the base limits stay authoritative on OrbitControls; sectors are
|
|
241
|
+
* enforced per-frame on top, with a spring-back once the camera leaves the sector (see
|
|
242
|
+
* `useCameraConstraints`). Evaluation: {@link evaluateCameraLimitsAt}. Free when empty.
|
|
243
|
+
*/
|
|
244
|
+
sectors?: CameraSectorLimit[];
|
|
245
|
+
};
|
|
246
|
+
/**
|
|
247
|
+
* 2D-mode camera limits: dolly distance bounds + pan/zoom toggles, driving
|
|
248
|
+
* `OrbitControls.minDistance / maxDistance` while the top-down rig is active.
|
|
249
|
+
* Omitted falls back to `{ minDistance: 1, maxDistance: 30, enableZoom: true, enablePan: true }`.
|
|
250
|
+
*/
|
|
251
|
+
limits2d?: Limits2DConfig;
|
|
252
|
+
controls?: ControlsConfig;
|
|
253
|
+
autoRotate?: {
|
|
254
|
+
enabled: boolean;
|
|
255
|
+
speed?: number;
|
|
256
|
+
idleDelayMs?: number;
|
|
257
|
+
startOnLoad?: boolean;
|
|
258
|
+
direction?: 'cw' | 'ccw';
|
|
259
|
+
/**
|
|
260
|
+
* Polar angle (degrees from the zenith) the camera eases toward while auto-rotate is active,
|
|
261
|
+
* so the idle sweep settles at an authored viewing height regardless of where the user left
|
|
262
|
+
* the camera. Clamped to the polar limits (base and sector). Omitted = azimuth sweep only.
|
|
263
|
+
*/
|
|
264
|
+
polarAngle?: number;
|
|
265
|
+
};
|
|
266
|
+
}
|
|
267
|
+
type ResolvedControls = Required<Omit<ControlsConfig, 'preset' | 'resistance'>>;
|
|
268
|
+
/**
|
|
269
|
+
* Per-preset "feel" baseline. Same shape as {@link ResolvedControls}, plus
|
|
270
|
+
* a baked-in `resistance` so each preset can ship its own input weight.
|
|
271
|
+
* Consumers read `resistance` separately; it's not part of the resolved
|
|
272
|
+
* controls object that reaches `OrbitControls`.
|
|
273
|
+
*/
|
|
274
|
+
type PresetValues = ResolvedControls & {
|
|
275
|
+
resistance: number;
|
|
276
|
+
};
|
|
277
|
+
export declare const PRESET_VALUES: Record<ControlsPreset, PresetValues>;
|
|
278
|
+
/** Resolve a ControlsConfig (with optional preset + overrides) into concrete values */
|
|
279
|
+
export declare function resolveControls(cfg?: ControlsConfig): ResolvedControls;
|
|
280
|
+
export declare const DEFAULT_CAMERA_CONFIG: Required<Pick<CameraConfig, 'fov' | 'initialAngle' | 'focusPadding3D' | 'focusPadding2D' | 'focusPaddingGeo' | 'initialZoomPadding3D' | 'initialZoomPadding2D' | 'initialTargetHeight' | 'focusHeightFraction' | 'focusTargetYOffset' | 'reframeOnSceneChange' | 'selectionMovesCamera'>> & {
|
|
281
|
+
limits: Required<NonNullable<CameraConfig['limits']>>;
|
|
282
|
+
};
|
|
283
|
+
/** The fully-merged limits shape `CameraController` works with (defaults + host overrides). */
|
|
284
|
+
export type ResolvedCameraLimits = Required<NonNullable<CameraConfig['limits']>>;
|
|
285
|
+
/** Replaces orbit clamps when `cameraDevelopmentMode` is on (3D only). */
|
|
286
|
+
export declare const CAMERA_DEV_ORBIT_LIMITS: Required<Pick<NonNullable<CameraConfig['limits']>, 'minDistance' | 'maxDistance' | 'minPolarAngle' | 'maxPolarAngle' | 'minAzimuthAngle' | 'maxAzimuthAngle'>>;
|
|
287
|
+
export {};
|
|
288
|
+
//# sourceMappingURL=camera.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"camera.d.ts","sourceRoot":"","sources":["../../../../../src/types/camera.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The environment config's public type surface.
|
|
3
|
+
*
|
|
4
|
+
* Every per-subsystem shape is DERIVED from that subsystem's descriptor, which lives next to the
|
|
5
|
+
* renderer that owns it (`core/<x>/<x>.config.ts`) — see `config/descriptor.ts` for the mechanism
|
|
6
|
+
* and `config/environment.config.ts` for the composition. This module only re-exports those names
|
|
7
|
+
* and holds the genuinely cross-cutting types: performance profiles, device detection, scene metrics.
|
|
8
|
+
*/
|
|
9
|
+
import type { TieredAsset } from '../config/descriptor';
|
|
10
|
+
import type { EnvironmentConfig, ResolvedEnvironmentConfig } from '../config/environment.config';
|
|
11
|
+
export type { EnvironmentConfig, ResolvedEnvironmentConfig };
|
|
12
|
+
/** @see TieredAsset — declared alongside the `asset` field kind it belongs to. */
|
|
13
|
+
export type { TieredAsset };
|
|
14
|
+
export type { DomeConfig, SkydomeConfig, SkyProceduralConfig } from '../core/environment/dome.config';
|
|
15
|
+
export type { LightingConfig, LightConfig, SunConfig, ResolvedSunLensflareConfig } from '../core/environment/lighting.config';
|
|
16
|
+
export type { WaterConfig } from '../core/water/water.config';
|
|
17
|
+
export type { ShadowsConfig } from '../core/shadows/shadows.config';
|
|
18
|
+
export type { ResolvedPostProcessingConfig, ToneMappingMode, SSAOConfig, ScreenLensFlarePassConfig, } from '../core/postprocessing/postProcessing.config';
|
|
19
|
+
export type { SelectionConfig, OverlayGroupConfig, OverlayAnchor, OverlayDirection } from '../core/interaction/selection.config';
|
|
20
|
+
export type { DimensionLineUnit } from '../core/dimension-lines/dimensionLines.config';
|
|
21
|
+
export type { RendererConfig } from '../core/renderer.config';
|
|
22
|
+
export type { AdaptiveConfig } from '../core/environment/adaptive.config';
|
|
23
|
+
export type { GroundConfig, ResolvedGroundConfig, PlannerGrid2DConfig } from '../core/environment/ground.config';
|
|
24
|
+
export type { DeckCutoutConfig, ResolvedDeckCutoutConfig, ResolvedDeckCutoutHole, ResolvedDeckCutoutArticleRule, ResolvedDeckCutoutCollar, ResolvedDeckCutoutCollarMaterial, DeckCutoutAnchorMode, } from '../core/environment/scene.config';
|
|
25
|
+
/**
|
|
26
|
+
* Recursively makes all properties optional.
|
|
27
|
+
* Uses a distributive helper so `false | { ... }` unions resolve correctly:
|
|
28
|
+
* `RecursivePartial<{ ssao: Partial<SSAOConfig> }>` style unions resolve correctly.
|
|
29
|
+
*/
|
|
30
|
+
type DistributePartial<T> = T extends object ? RecursivePartial<T> : T;
|
|
31
|
+
export type RecursivePartial<T> = {
|
|
32
|
+
[P in keyof T]?: T[P] extends (infer U)[] ? RecursivePartial<U>[] : DistributePartial<T[P]>;
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* Performance profile tier. `high` is the baseline (always full config);
|
|
36
|
+
* every other tier is a sparse override applied on top of `high` via
|
|
37
|
+
* `mergeProfile`.
|
|
38
|
+
*
|
|
39
|
+
* Desktop tiers: `high` / `medium` / `low`.
|
|
40
|
+
* Mobile tiers: `mobileHigh` / `mobileLow` — selected when `detect-gpu`
|
|
41
|
+
* reports a mobile device. They are plain overrides off the SAME `high`
|
|
42
|
+
* baseline (they do NOT chain through medium/low), so the entire existing
|
|
43
|
+
* merge / diff / propagation / Leva-editing machinery applies unchanged —
|
|
44
|
+
* the tier set is simply wider.
|
|
45
|
+
*/
|
|
46
|
+
export type PerformanceProfileTier = 'low' | 'medium' | 'high' | 'mobileHigh' | 'mobileLow';
|
|
47
|
+
/**
|
|
48
|
+
* Every tier that is stored as a sparse override on top of `high` (i.e. all
|
|
49
|
+
* tiers except `high` itself). Single source of truth for the loops that walk
|
|
50
|
+
* "all override tiers" — diff panel, propagation, debug logging. Add a tier
|
|
51
|
+
* here and those sites pick it up automatically.
|
|
52
|
+
*/
|
|
53
|
+
export declare const OVERRIDE_PROFILE_TIERS: readonly ["medium", "low", "mobileHigh", "mobileLow"];
|
|
54
|
+
/** A tier stored as a sparse override (everything except `high`). */
|
|
55
|
+
export type OverrideProfileTier = (typeof OVERRIDE_PROFILE_TIERS)[number];
|
|
56
|
+
/**
|
|
57
|
+
* Selection mode for the active profile.
|
|
58
|
+
* - `auto`: device tier is detected at startup (e.g. via detect-gpu) and the runtime perf adjuster
|
|
59
|
+
* may step it while the scene runs.
|
|
60
|
+
* - `detect`: device tier is detected at startup and then pinned — no runtime stepping. For scenes
|
|
61
|
+
* whose tiers are hand-tuned and must not swap mid-session (a step remounts the composer and
|
|
62
|
+
* shadow setup, which reads as a flicker) but still need mobile devices on the mobile tiers.
|
|
63
|
+
* - `low` / `medium` / `high` / `mobileHigh` / `mobileLow`: explicit override (e.g. from the analyzer
|
|
64
|
+
* dropdown or a `?profile=` URL parameter — useful for testing without a real low-end device).
|
|
65
|
+
*/
|
|
66
|
+
export type PerformanceProfileMode = 'auto' | 'detect' | PerformanceProfileTier;
|
|
67
|
+
/**
|
|
68
|
+
* Performance profile bundle. `high` is the baseline (full `EnvironmentConfig`);
|
|
69
|
+
* `medium` and `low` are sparse overrides applied via `deepMerge` on top of
|
|
70
|
+
* `high` when the corresponding tier is active.
|
|
71
|
+
*
|
|
72
|
+
* Sparse storage is deliberate: every per-tier delta is explicit and
|
|
73
|
+
* revertable (see `diffProfileFromHigh`). No automatic reduction happens —
|
|
74
|
+
* if a field doesn't appear in `medium`/`low`, it inherits the High value.
|
|
75
|
+
*/
|
|
76
|
+
export interface PerformanceProfiles {
|
|
77
|
+
high: EnvironmentConfig;
|
|
78
|
+
medium?: RecursivePartial<EnvironmentConfig>;
|
|
79
|
+
low?: RecursivePartial<EnvironmentConfig>;
|
|
80
|
+
/** Override for capable mobile devices (balanced: keep most visuals, cut the
|
|
81
|
+
* heaviest effects, cap FPS, raise DPR ceiling to fight retina pixelation). */
|
|
82
|
+
mobileHigh?: RecursivePartial<EnvironmentConfig>;
|
|
83
|
+
/** Override for weaker mobile devices (aggressive cuts). */
|
|
84
|
+
mobileLow?: RecursivePartial<EnvironmentConfig>;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Wrapper shape used by the analyzer Export / Import I/O. Combines the
|
|
88
|
+
* three profiles plus the user's tier selection (or `'auto'`).
|
|
89
|
+
*
|
|
90
|
+
* No explicit version field — schema evolves additively (new optional
|
|
91
|
+
* fields default to absent / `false` / `undefined`).
|
|
92
|
+
*/
|
|
93
|
+
export interface PerformanceProfilesBundle {
|
|
94
|
+
profileMode: PerformanceProfileMode;
|
|
95
|
+
profiles: PerformanceProfiles;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Result of device-tier detection. `unsupported` is a distinct state for
|
|
99
|
+
* tier 0 / WebGL-blocklisted devices that can't run the scene at all.
|
|
100
|
+
*
|
|
101
|
+
* For the playable tiers, `signals` carries the raw inputs the detection
|
|
102
|
+
* used (for telemetry / analyzer display / debugging "why is this device
|
|
103
|
+
* classified as X?").
|
|
104
|
+
*/
|
|
105
|
+
export type DetectedTier = {
|
|
106
|
+
tier: 'unsupported';
|
|
107
|
+
reason: 'webgl-blocked' | 'force-unsupported';
|
|
108
|
+
device: string | null;
|
|
109
|
+
} | {
|
|
110
|
+
tier: PerformanceProfileTier;
|
|
111
|
+
signals: DetectionSignals;
|
|
112
|
+
};
|
|
113
|
+
export interface DetectionSignals {
|
|
114
|
+
/** detect-gpu result (0 = unknown / blocklisted, 1–3 = perf tier). */
|
|
115
|
+
gpu: {
|
|
116
|
+
tier: 0 | 1 | 2 | 3;
|
|
117
|
+
device: string | null;
|
|
118
|
+
/** detect-gpu's benchmark-estimated FPS for the matched GPU (when available). */
|
|
119
|
+
fps?: number;
|
|
120
|
+
};
|
|
121
|
+
/** `navigator.hardwareConcurrency` — logical CPU cores. */
|
|
122
|
+
hardwareConcurrency: number;
|
|
123
|
+
/** `navigator.deviceMemory` in GB (Chrome / Edge / Opera only; `null` elsewhere). */
|
|
124
|
+
deviceMemoryGB: number | null;
|
|
125
|
+
/** `navigator.userAgentData?.mobile`. */
|
|
126
|
+
isMobile: boolean;
|
|
127
|
+
/** `prefers-reduced-motion: reduce` media query. */
|
|
128
|
+
reducedMotion: boolean;
|
|
129
|
+
/**
|
|
130
|
+
* Source of the resolved tier:
|
|
131
|
+
* - `'detect'` — normal detection path.
|
|
132
|
+
* - `'url'` — `?profile=` URL parameter forced the choice.
|
|
133
|
+
* - `'cache'` — previously detected tier was read from localStorage.
|
|
134
|
+
*/
|
|
135
|
+
source: 'detect' | 'url' | 'cache';
|
|
136
|
+
}
|
|
137
|
+
export interface SceneMetrics {
|
|
138
|
+
center: [number, number, number];
|
|
139
|
+
radius: number;
|
|
140
|
+
bbox: {
|
|
141
|
+
min: [number, number, number];
|
|
142
|
+
max: [number, number, number];
|
|
143
|
+
};
|
|
144
|
+
floorY: number;
|
|
145
|
+
}
|
|
146
|
+
//# sourceMappingURL=environment.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../../../../../src/types/environment.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Planner overlay data — posNr, delete, copy, move/rotate capability flags.
|
|
3
|
+
* Host builds a Map keyed by the composite element key (`DivaArticle.shelfElementId`:
|
|
4
|
+
* `"2"` for mains, `"2.0.6"` for accessories).
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* - `selected` the picked element (Level-2 selection); gets the selected badge style.
|
|
8
|
+
* - `selectable` user can pick it; hover outline on hover, badge in hover/selectable style.
|
|
9
|
+
* - `active` navigated/in-scope context (e.g. the shelf step's main group) — NOT individually
|
|
10
|
+
* pickable. Shows an active badge, but no hover/select outline and clicking is a no-op.
|
|
11
|
+
* - `unselectable` out of scope / greyed; click walks up to a selectable ancestor.
|
|
12
|
+
*/
|
|
13
|
+
export type ElementOverlayState = 'selected' | 'selectable' | 'unselectable' | 'active';
|
|
14
|
+
/**
|
|
15
|
+
* Element type discriminator (mirrors the planner taxonomy). rtv-next branches UI + interaction
|
|
16
|
+
* behavior on this: `accessoire` / `shelfAccessoire` route select + delete through the dedicated
|
|
17
|
+
* `onAccessorySelect` / `onAccessoryDelete` callbacks; mains use `onElementSelected` /
|
|
18
|
+
* `onElementDeleted`. Defaults to `'planned'` when omitted.
|
|
19
|
+
*/
|
|
20
|
+
export type ElementOverlayType = 'planned' | 'boxElement' | 'accessoire' | 'shelfAccessoire';
|
|
21
|
+
export interface ElementOverlayInfo {
|
|
22
|
+
setId: string;
|
|
23
|
+
posNr?: string;
|
|
24
|
+
state: ElementOverlayState;
|
|
25
|
+
/** Element type — drives which interaction/UI path applies. Defaults to `'planned'`. */
|
|
26
|
+
type?: ElementOverlayType;
|
|
27
|
+
canDelete?: boolean;
|
|
28
|
+
canMove?: boolean;
|
|
29
|
+
canRotate?: boolean;
|
|
30
|
+
/** Standard planner element copy */
|
|
31
|
+
canCopy?: boolean;
|
|
32
|
+
/** Box planner directional copy */
|
|
33
|
+
canCopyLeft?: boolean;
|
|
34
|
+
canCopyRight?: boolean;
|
|
35
|
+
canCopyTop?: boolean;
|
|
36
|
+
/** Show the directional copy buttons even when the element is not selected (AVL/AVR copy). */
|
|
37
|
+
copyAlwaysVisible?: boolean;
|
|
38
|
+
/** Numeric element ID of this element's parent (for accessoire / sub-element hierarchy). */
|
|
39
|
+
parentElementId?: number;
|
|
40
|
+
/** Display label shown as tooltip on posNr badge (hover / selected). */
|
|
41
|
+
articleName?: string;
|
|
42
|
+
/** Article codex of the planned element — drives per-family cutout rules (`deckCutout.articleRules`). */
|
|
43
|
+
articleCodex?: string;
|
|
44
|
+
}
|
|
45
|
+
export type RTVPlannerMode = '2DGrid' | '3DImage' | 'BoxPlanner' | 'No' | 'ProductList' | 'RTViewer' | '3DCOMB';
|
|
46
|
+
export interface UIConfig {
|
|
47
|
+
templateConfig: 'standard' | 'gold' | 'hidden';
|
|
48
|
+
posTrashIcon: 'TOP_RIGHT_BACK' | 'POSNUM_TOP';
|
|
49
|
+
hideUiIcons: boolean;
|
|
50
|
+
plannerMode: RTVPlannerMode;
|
|
51
|
+
/**
|
|
52
|
+
* Accessory placement interaction mode (parallel + toggleable):
|
|
53
|
+
* - `cellBoxes` (default): render a placeable bbox at every free cell; click a box to place.
|
|
54
|
+
* - `autoPlaceDrag`: selecting an article auto-places it at a default cell, then the user
|
|
55
|
+
* free-follow/snap drags it to reposition (no boxes). IKEA-style.
|
|
56
|
+
*/
|
|
57
|
+
accessoryPlacement: 'cellBoxes' | 'autoPlaceDrag';
|
|
58
|
+
}
|
|
59
|
+
export declare const DEFAULT_UI_CONFIG: UIConfig;
|
|
60
|
+
/**
|
|
61
|
+
* Selection chrome (posNr + outline) shows only when a MAIN element is `selectable`. A configurator
|
|
62
|
+
* step (mains `active`/`selected`, none selectable) suppresses it; a planner with selectable mains
|
|
63
|
+
* shows it. Falls back to any-selectable when no mains are present.
|
|
64
|
+
*/
|
|
65
|
+
export declare function isSelectionPossible(info: Map<string, ElementOverlayInfo>): boolean;
|
|
66
|
+
/** Avoids store churn when the host passes a new Map with identical entries each render. */
|
|
67
|
+
export declare function elementOverlayMapsEqual(a: Map<string, ElementOverlayInfo>, b: Map<string, ElementOverlayInfo>): boolean;
|
|
68
|
+
//# sourceMappingURL=plannerUi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plannerUi.d.ts","sourceRoot":"","sources":["../../../../../src/types/plannerUi.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;GAMG;AACH,MAAM,MAAM,mBAAmB,GAAG,UAAU,GAAG,YAAY,GAAG,cAAc,GAAG,QAAQ,CAAC;AAExF;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,YAAY,GAAG,YAAY,GAAG,iBAAiB,CAAC;AAE7F,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,mBAAmB,CAAC;IAC3B,wFAAwF;IACxF,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,oCAAoC;IACpC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,mCAAmC;IACnC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,8FAA8F;IAC9F,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,4FAA4F;IAC5F,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,wEAAwE;IACxE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yGAAyG;IACzG,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,cAAc,GACtB,QAAQ,GACR,SAAS,GACT,YAAY,GACZ,IAAI,GACJ,aAAa,GACb,UAAU,GACV,QAAQ,CAAC;AAEb,MAAM,WAAW,QAAQ;IACvB,cAAc,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,CAAC;IAC/C,YAAY,EAAE,gBAAgB,GAAG,YAAY,CAAC;IAC9C,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,cAAc,CAAC;IAC5B;;;;;OAKG;IACH,kBAAkB,EAAE,WAAW,GAAG,eAAe,CAAC;CACnD;AAED,eAAO,MAAM,iBAAiB,EAAE,QAM/B,CAAC;AAOF;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,OAAO,CAYlF;AAED,4FAA4F;AAC5F,wBAAgB,uBAAuB,CACrC,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,EAClC,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,GACjC,OAAO,CA0BT"}
|