@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,29 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { ResolvedEnvironmentConfig } from '../../types/environment';
|
|
3
|
+
interface SunShadowProps {
|
|
4
|
+
cfg: ResolvedEnvironmentConfig['shadows'];
|
|
5
|
+
sun: ResolvedEnvironmentConfig['lighting']['sun'];
|
|
6
|
+
/** Scene radius from `sceneMetrics.radius`; ortho frustum = radius * fitMultiplier. */
|
|
7
|
+
sceneRadius: number;
|
|
8
|
+
/** Scene center from `sceneMetrics.center` so the shadow camera frames the scene. */
|
|
9
|
+
sceneCenter: [number, number, number];
|
|
10
|
+
/**
|
|
11
|
+
* When false, the directional light still renders (preserves existing
|
|
12
|
+
* lighting behavior) but does not cast shadows. Shadow-related state is
|
|
13
|
+
* still configured so flipping this to true at runtime works without a
|
|
14
|
+
* remount.
|
|
15
|
+
*/
|
|
16
|
+
castShadow: boolean;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* The single shadow path: one directional light driven by `lighting.sun` that
|
|
20
|
+
* renders one PCFSoft shadow map. Every mesh marked `castShadow=true` casts
|
|
21
|
+
* into it; every mesh marked `receiveShadow=true` reads from it. No layer
|
|
22
|
+
* filtering, no extra catcher plane — shadows fall on real scene geometry.
|
|
23
|
+
*
|
|
24
|
+
* Per-light gating (`shadow.autoUpdate=false`) means the shadow map only
|
|
25
|
+
* renders on a `shadowsVersion` bump, not every frame.
|
|
26
|
+
*/
|
|
27
|
+
export declare function SunShadow({ cfg, sun, sceneRadius, sceneCenter, castShadow }: SunShadowProps): React.JSX.Element;
|
|
28
|
+
export {};
|
|
29
|
+
//# sourceMappingURL=SunShadow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SunShadow.d.ts","sourceRoot":"","sources":["../../../../../../src/core/shadows/SunShadow.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqC,MAAM,OAAO,CAAC;AAG1D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAMzE,UAAU,cAAc;IACtB,GAAG,EAAE,yBAAyB,CAAC,SAAS,CAAC,CAAC;IAC1C,GAAG,EAAE,yBAAyB,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC;IAClD,uFAAuF;IACvF,WAAW,EAAE,MAAM,CAAC;IACpB,qFAAqF;IACrF,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC;;;;;OAKG;IACH,UAAU,EAAE,OAAO,CAAC;CACrB;AAYD;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,cAAc,qBA2G3F"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/core/shadows/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EACL,kBAAkB,EAClB,KAAK,iBAAiB,GACvB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sun shadow texel-density stabilisation. The ortho shadow frustum is fit to the scene
|
|
3
|
+
* (`size = sceneRadius * fitMultiplier`) and grows as elements are added; with a fixed `mapSize` that
|
|
4
|
+
* spreads fewer texels per world unit each time, so self/contact shadows wash out and elements read
|
|
5
|
+
* brighter. Scaling the map size with the frustum keeps density ~constant.
|
|
6
|
+
*
|
|
7
|
+
* Pure math, kept out of `SunShadow.tsx` so it is testable without pulling in the store / R3F.
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Map size that holds texel density constant as the frustum grows:
|
|
11
|
+
* `density = mapSize / REFERENCE_FRUSTUM_WIDTH`, then the result is `frustumWidth * density` clamped
|
|
12
|
+
* to `[mapSize, maxMapSize]`. Rounded to an even int (NPOT shadow render targets are fine in WebGL2;
|
|
13
|
+
* an even size avoids half-texel seams).
|
|
14
|
+
*
|
|
15
|
+
* Past a few times the reference width the growth term saturates, so on a large scene it is
|
|
16
|
+
* `maxMapSize` — not `mapSize` — that sets the allocation. `maxMapSize` is the hard ceiling and wins
|
|
17
|
+
* over `mapSize` when the two disagree.
|
|
18
|
+
*/
|
|
19
|
+
export declare function densityStableMapSize(mapSize: number, maxMapSize: number, frustumWidth: number): number;
|
|
20
|
+
//# sourceMappingURL=shadowMapSize.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shadowMapSize.d.ts","sourceRoot":"","sources":["../../../../../../src/core/shadows/shadowMapSize.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAKtG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shadowMapSize.test.d.ts","sourceRoot":"","sources":["../../../../../../src/core/shadows/shadowMapSize.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Element kind — drives the cast/receive matrix.
|
|
3
|
+
*
|
|
4
|
+
* - `sceneGeo` — HQRenderScript scene tree GLBs (the user's product).
|
|
5
|
+
* - `water` — water plane (`ShaderMaterial`; honors neither cast nor receive).
|
|
6
|
+
* - `none` — explicitly opt-out (guides, dimensions, sky, grid, etc.).
|
|
7
|
+
*/
|
|
8
|
+
export type ShadowElementKind = 'sceneGeo' | 'water' | 'none';
|
|
9
|
+
/**
|
|
10
|
+
* Resolve effective cast/receive booleans from runtime config, gated by
|
|
11
|
+
* capabilities. Pure helper — no React, no traversal.
|
|
12
|
+
*/
|
|
13
|
+
export declare function resolveShadowFlags(kind: ShadowElementKind, config: {
|
|
14
|
+
casters: {
|
|
15
|
+
sceneGeo: boolean;
|
|
16
|
+
};
|
|
17
|
+
receivers: {
|
|
18
|
+
sceneGeo: boolean;
|
|
19
|
+
};
|
|
20
|
+
}): {
|
|
21
|
+
castShadow: boolean;
|
|
22
|
+
receiveShadow: boolean;
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=shadowRegistry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shadowRegistry.d.ts","sourceRoot":"","sources":["../../../../../../src/core/shadows/shadowRegistry.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,MAAM,iBAAiB,GAAG,UAAU,GAAG,OAAO,GAAG,MAAM,CAAC;AAyB9D;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,iBAAiB,EACvB,MAAM,EAAE;IACN,OAAO,EAAE;QAAE,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC;IAC/B,SAAS,EAAE;QAAE,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC;CAClC,GACA;IAAE,UAAU,EAAE,OAAO,CAAC;IAAC,aAAa,EAAE,OAAO,CAAA;CAAE,CAsBjD"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { type ConfigInput, type ConfigResolved } from '../../config/descriptor';
|
|
2
|
+
/**
|
|
3
|
+
* Shadow subsystem config — the single source for its types, defaults, clamps, round-trip and
|
|
4
|
+
* analyzer inputs (see `config/descriptor.ts`).
|
|
5
|
+
*
|
|
6
|
+
* A single realtime `DirectionalLight` driven by `lighting.sun` renders one PCFSoft shadow map.
|
|
7
|
+
* Bake-on-demand: `light.shadow.autoUpdate = false` and the store's `shadowsVersion`
|
|
8
|
+
* (`markShadowsDirty`) flips `needsUpdate = true`, so the shadow only re-renders when the scene
|
|
9
|
+
* actually changes — not on camera motion. Cast/receive flags are owned by
|
|
10
|
+
* `core/shadows/shadowRegistry.ts` keyed by element kind; shadows fall onto whatever scene meshes
|
|
11
|
+
* have `receiveShadow = true` (no transparent catcher plane is mounted).
|
|
12
|
+
*/
|
|
13
|
+
export declare const SHADOWS_CONFIG: import("../../config/descriptor").GroupDescriptor<{
|
|
14
|
+
enabled: import("../../config/descriptor").BooleanField;
|
|
15
|
+
/** PCFSoft shadow map resolution (square), at the reference frustum width. */
|
|
16
|
+
mapSize: import("../../config/descriptor").NumberField;
|
|
17
|
+
/**
|
|
18
|
+
* Ceiling on the density-stabilised map size (see `SunShadow.densityStableMapSize`). The
|
|
19
|
+
* effective map size GROWS with the shadow frustum to hold texel density constant, so on any
|
|
20
|
+
* scene bigger than the reference frustum it is this value — not `mapSize` — that decides the
|
|
21
|
+
* allocation. A 4096² PCFSoft map costs ~134 MB of GPU memory; lower it on mobile tiers.
|
|
22
|
+
*/
|
|
23
|
+
maxMapSize: import("../../config/descriptor").NumberField;
|
|
24
|
+
/** PCF blur radius (`light.shadow.radius`). */
|
|
25
|
+
radius: import("../../config/descriptor").NumberField;
|
|
26
|
+
/** Bias to combat acne. */
|
|
27
|
+
bias: import("../../config/descriptor").NumberField;
|
|
28
|
+
/** Normal bias to combat peter-panning. */
|
|
29
|
+
normalBias: import("../../config/descriptor").NumberField;
|
|
30
|
+
/** Multiplier on `sceneMetrics.radius` for the ortho shadow camera frustum. */
|
|
31
|
+
fitMultiplier: import("../../config/descriptor").NumberField;
|
|
32
|
+
/**
|
|
33
|
+
* Per-element-kind cast toggles. `true` means meshes of that kind contribute to the shadow map;
|
|
34
|
+
* `false` means they are silent. Capability-gated by `SHADOW_CAPABILITIES` in
|
|
35
|
+
* `shadowRegistry.ts` (e.g. water can never cast).
|
|
36
|
+
*/
|
|
37
|
+
casters: import("../../config/descriptor").GroupDescriptor<{
|
|
38
|
+
sceneGeo: import("../../config/descriptor").BooleanField;
|
|
39
|
+
}>;
|
|
40
|
+
/** Per-element-kind receive toggles. Capability-gated identically. */
|
|
41
|
+
receivers: import("../../config/descriptor").GroupDescriptor<{
|
|
42
|
+
sceneGeo: import("../../config/descriptor").BooleanField;
|
|
43
|
+
}>;
|
|
44
|
+
/**
|
|
45
|
+
* Per-light shadow casting toggles. Each enabled light allocates its own shadow map render
|
|
46
|
+
* target and re-bakes when relevant scene state changes. Sun is the cheapest (single ortho
|
|
47
|
+
* camera, bake-on-demand); the key spotlight adds another shadow pass on top, so leave it off
|
|
48
|
+
* unless you actually want multi-source shadowing.
|
|
49
|
+
*
|
|
50
|
+
* Master `shadows.enabled` and 2D view mode override these toggles — shadows are forced off when
|
|
51
|
+
* either is set.
|
|
52
|
+
*/
|
|
53
|
+
lights: import("../../config/descriptor").GroupDescriptor<{
|
|
54
|
+
sun: import("../../config/descriptor").BooleanField;
|
|
55
|
+
key: import("../../config/descriptor").BooleanField;
|
|
56
|
+
}>;
|
|
57
|
+
/**
|
|
58
|
+
* Contact-hardening soft shadows (PCSS). Unlike the uniform `radius` blur, the penumbra widens
|
|
59
|
+
* with distance from the occluder — sharp where the object meets the floor, blurrier the farther
|
|
60
|
+
* the shadow is cast. Implemented via drei's `<SoftShadows>`, a global shadow-sampling shader
|
|
61
|
+
* patch (affects every shadow; forces a one-time recompile when toggled).
|
|
62
|
+
*/
|
|
63
|
+
soft: import("../../config/descriptor").GroupDescriptor<{
|
|
64
|
+
enabled: import("../../config/descriptor").BooleanField;
|
|
65
|
+
/** Light "size" — larger = softer and faster penumbra growth with distance. */
|
|
66
|
+
size: import("../../config/descriptor").NumberField;
|
|
67
|
+
/** Depth that stays sharp. `0` = crisp right at the contact point. */
|
|
68
|
+
focus: import("../../config/descriptor").NumberField;
|
|
69
|
+
/** Blocker-search/PCF sample count. Higher = smoother but heavier. */
|
|
70
|
+
samples: import("../../config/descriptor").NumberField;
|
|
71
|
+
}>;
|
|
72
|
+
}>;
|
|
73
|
+
export type ShadowsConfig = ConfigInput<typeof SHADOWS_CONFIG>;
|
|
74
|
+
export type ResolvedShadowsConfig = ConfigResolved<typeof SHADOWS_CONFIG>;
|
|
75
|
+
//# sourceMappingURL=shadows.config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shadows.config.d.ts","sourceRoot":"","sources":["../../../../../../src/core/shadows/shadows.config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,WAAW,EAAE,KAAK,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEvF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,cAAc;;IAKzB,8EAA8E;;IAK9E;;;;;OAKG;;IAEH,+CAA+C;;IAQ/C,2BAA2B;;IAQ3B,2CAA2C;;IAQ3C,+EAA+E;;IAQ/E;;;;OAIG;;;;IAIH,sEAAsE;;;;IAItE;;;;;;;;OAQG;;;;;IAKH;;;;;OAKG;;;QAMD,+EAA+E;;QAQ/E,sEAAsE;;QAQtE,sEAAsE;;;EASxE,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,cAAc,CAAC,CAAC;AAC/D,MAAM,MAAM,qBAAqB,GAAG,cAAc,CAAC,OAAO,cAAc,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shadows.config.test.d.ts","sourceRoot":"","sources":["../../../../../../src/core/shadows/shadows.config.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Store facts that invalidate the shadow map → `markShadowsDirty`.
|
|
3
|
+
*
|
|
4
|
+
* This is the producer side of the single shadow-dirty channel
|
|
5
|
+
* (`shadowsVersion`); the casting lights consume it and re-bake once per bump.
|
|
6
|
+
* Light-local inputs (frustum fit, map size, aim) are marked by the light
|
|
7
|
+
* components themselves where they apply them.
|
|
8
|
+
*
|
|
9
|
+
* Camera motion is intentionally NOT a trigger — that's the perf win of the
|
|
10
|
+
* bake-on-demand approach: the user can orbit freely with zero cost beyond
|
|
11
|
+
* the normal forward render.
|
|
12
|
+
*/
|
|
13
|
+
export declare function useShadowDirty(): void;
|
|
14
|
+
//# sourceMappingURL=useShadowDirty.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useShadowDirty.d.ts","sourceRoot":"","sources":["../../../../../../src/core/shadows/useShadowDirty.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,IAAI,IAAI,CAyCrC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { Object3D } from 'three';
|
|
2
|
+
import { type ShadowElementKind } from './shadowRegistry';
|
|
3
|
+
type Object3DRef = {
|
|
4
|
+
readonly current: Object3D | null;
|
|
5
|
+
};
|
|
6
|
+
type ShadowFlagsTarget = Object3D | Object3DRef | null | undefined;
|
|
7
|
+
/**
|
|
8
|
+
* Reactively keep `castShadow` / `receiveShadow` flags on a mesh subtree
|
|
9
|
+
* in sync with the live `shadows.casters` / `shadows.receivers` config.
|
|
10
|
+
*
|
|
11
|
+
* Walks the subtree once on mount and again whenever the relevant config
|
|
12
|
+
* slice changes. Capability-gated: a kind that physically can't cast or
|
|
13
|
+
* receive (e.g. water cast) will not flip flags on
|
|
14
|
+
* regardless of the config value.
|
|
15
|
+
*
|
|
16
|
+
* Accepts either a stable `Object3D` (e.g. a `useMemo`'d cloned scene) or
|
|
17
|
+
* a ref-shaped object (`useRef<Object3D>`). When given a ref, the hook
|
|
18
|
+
* reads `ref.current` lazily inside its effect — that means r3f-attached
|
|
19
|
+
* meshes work correctly even though `ref.current` is null at render time.
|
|
20
|
+
*
|
|
21
|
+
* The hook does NOT itself mark the sun shadow dirty — that's owned by
|
|
22
|
+
* `useShadowDirty`, which subscribes to the same config slice. Both react
|
|
23
|
+
* independently to the same change, which keeps the bake correctly aligned
|
|
24
|
+
* with the new flags on the very next render.
|
|
25
|
+
*/
|
|
26
|
+
export declare function useShadowFlags(target: ShadowFlagsTarget, kind: ShadowElementKind): void;
|
|
27
|
+
export {};
|
|
28
|
+
//# sourceMappingURL=useShadowFlags.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useShadowFlags.d.ts","sourceRoot":"","sources":["../../../../../../src/core/shadows/useShadowFlags.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAkB,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEtD,OAAO,EAAsB,KAAK,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE9E,KAAK,WAAW,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,QAAQ,GAAG,IAAI,CAAA;CAAE,CAAC;AACzD,KAAK,iBAAiB,GAAG,QAAQ,GAAG,WAAW,GAAG,IAAI,GAAG,SAAS,CAAC;AAUnE;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,IAAI,EAAE,iBAAiB,GAAG,IAAI,CA0CvF"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type RefObject } from 'react';
|
|
2
|
+
import type { DirectionalLight, SpotLight } from 'three';
|
|
3
|
+
/**
|
|
4
|
+
* Consumer side of the shadow-dirty channel: re-bake `light`'s shadow map once
|
|
5
|
+
* per `shadowsVersion` bump. Three renders the map on the next frame and clears
|
|
6
|
+
* the flags again.
|
|
7
|
+
*
|
|
8
|
+
* Both flags are needed: drei's `<BakeShadows>` (from `adaptive.bakeShadows`)
|
|
9
|
+
* sets `gl.shadowMap.autoUpdate = false`, and three skips the whole shadow pass
|
|
10
|
+
* while the GLOBAL `needsUpdate` is false — before it ever checks the per-light
|
|
11
|
+
* flag. `invalidate()` makes the bake happen under a `demand` frameloop too.
|
|
12
|
+
*/
|
|
13
|
+
export declare function useShadowRebake(lightRef: RefObject<DirectionalLight | SpotLight | null>, enabled?: boolean): void;
|
|
14
|
+
//# sourceMappingURL=useShadowRebake.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useShadowRebake.d.ts","sourceRoot":"","sources":["../../../../../../src/core/shadows/useShadowRebake.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAElD,OAAO,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGzD;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,SAAS,CAAC,gBAAgB,GAAG,SAAS,GAAG,IAAI,CAAC,EAAE,OAAO,UAAO,GAAG,IAAI,CAW9G"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Single source of truth for the R3F render loop, handling both tab/window
|
|
3
|
+
* visibility (pause when invisible) and the profile's `maxFps` cap.
|
|
4
|
+
*
|
|
5
|
+
* Visibility toggles `frameloop` between the env-resolved value and `'never'`
|
|
6
|
+
* on tab hide / window blur.
|
|
7
|
+
*
|
|
8
|
+
* The FPS cap is gated at the renderer level, not via `frameloop` — we wrap
|
|
9
|
+
* `gl.render` and throttle only the final present:
|
|
10
|
+
*
|
|
11
|
+
* - Off-screen renders (`gl.getRenderTarget() !== null`: water FFT,
|
|
12
|
+
* reflection/refraction captures, composer intermediate passes)
|
|
13
|
+
* always pass through, so GPU sims don't freeze at the cap rate.
|
|
14
|
+
* - Default-framebuffer renders (`=== null`) are the actual screen present
|
|
15
|
+
* and are the only ones gated by `now - lastPresentedAt >= intervalMs`.
|
|
16
|
+
*
|
|
17
|
+
* `useFrame` keeps running at full display rate so `delta` stays small and
|
|
18
|
+
* sims integrate correctly; only screen presents are clamped. (R3F v10's
|
|
19
|
+
* native `useFrame(cb, { fps })` would replace this once we upgrade.)
|
|
20
|
+
*
|
|
21
|
+
* Must run INSIDE `<Canvas>` — `<Canvas frameloop>` is constructor-only;
|
|
22
|
+
* `state.setFrameloop()` is the only runtime path. Active captures keep
|
|
23
|
+
* rendering so in-flight screenshots finish even if the user looks away.
|
|
24
|
+
*
|
|
25
|
+
* Visibility detection: `visibilitychange` for tab show/hide, `window.blur`/
|
|
26
|
+
* `focus` for window focus (unreliable on macOS Cmd+Tab), plus a 1 Hz
|
|
27
|
+
* `document.hasFocus()` poll as a backup. `window.blur` doesn't fire when a
|
|
28
|
+
* child element (Leva panel) takes focus, so UI interaction won't pause the
|
|
29
|
+
* canvas.
|
|
30
|
+
*/
|
|
31
|
+
export declare function useFrameloopVisibility(): void;
|
|
32
|
+
/**
|
|
33
|
+
* Thin component wrapper that calls {@link useFrameloopVisibility}.
|
|
34
|
+
* Mount it as a child of `<Canvas>`.
|
|
35
|
+
*/
|
|
36
|
+
export declare function FrameloopVisibilityController(): null;
|
|
37
|
+
//# sourceMappingURL=useFrameloopVisibility.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFrameloopVisibility.d.ts","sourceRoot":"","sources":["../../../../../src/core/useFrameloopVisibility.tsx"],"names":[],"mappings":"AAQA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,sBAAsB,SAiKrC;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,SAG5C"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { RTVElement2D } from '../../types/scene2d';
|
|
3
|
+
interface DockingPoints2DProps {
|
|
4
|
+
element: RTVElement2D;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Accessory docking-point buttons for the 2D viewer. Renders one button per `element.dockingButtons`
|
|
8
|
+
* (AVO/AVU/AVC/…), anchored at the docking point's local position inside the element's rotated group,
|
|
9
|
+
* so it tracks the element's rotation for free. A free point attaches an accessory (click →
|
|
10
|
+
* `onDockingPointInteraction` selects the DP and filters the palette); an occupied point removes the
|
|
11
|
+
* attached accessory.
|
|
12
|
+
*
|
|
13
|
+
* Shown only in 2D planner mode.
|
|
14
|
+
*/
|
|
15
|
+
export declare function DockingPoints2D({ element }: DockingPoints2DProps): React.JSX.Element | null;
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=DockingPoints2D.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DockingPoints2D.d.ts","sourceRoot":"","sources":["../../../../../../src/core/view2d/DockingPoints2D.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,KAAK,EAAc,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGpE,UAAU,oBAAoB;IAC5B,OAAO,EAAE,YAAY,CAAC;CACvB;AAKD;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,EAAE,OAAO,EAAE,EAAE,oBAAoB,4BAiDhE"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { RTVElement2D } from '../../types/scene2d';
|
|
3
|
+
interface Element2DPlaneProps {
|
|
4
|
+
element: RTVElement2D;
|
|
5
|
+
/** Dense rank among ALL rendered planes, ordered by (zLayer, elementId) (0 = bottom). See {@link STACK_Y_STEP}. */
|
|
6
|
+
stackRank?: number;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* One planner element in the 2D view: the element's SVG rasterised to a `CanvasTexture` on a plane,
|
|
10
|
+
* placed in the element's rotated frame and lifted by `stackRank` so overlapping
|
|
11
|
+
* elements stay depth-sorted. Carries the 2D interaction surface — click to select, drag to move
|
|
12
|
+
* (including docked-group follow and the live auto-dock snap preview) — plus the selection badge,
|
|
13
|
+
* catalog side annotations and the accessory docking-point buttons. Falls back to a labelled
|
|
14
|
+
* placeholder texture when the element has no SVG or the SVG fails to load.
|
|
15
|
+
*/
|
|
16
|
+
export declare function Element2DPlane({ element, stackRank }: Element2DPlaneProps): React.JSX.Element | null;
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=Element2DPlane.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Element2DPlane.d.ts","sourceRoot":"","sources":["../../../../../../src/core/view2d/Element2DPlane.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAC;AAIjF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAUxD,UAAU,mBAAmB;IAC3B,OAAO,EAAE,YAAY,CAAC;IACtB,mHAAmH;IACnH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA6HD;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,EAAE,OAAO,EAAE,SAAa,EAAE,EAAE,mBAAmB,4BAqM7E"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { ElementAnnotation } from '../../types/scene2d';
|
|
3
|
+
interface ElementAnnotation2DProps {
|
|
4
|
+
annotation: ElementAnnotation;
|
|
5
|
+
/** Element footprint in meters (local frame: width along x, depth along z). */
|
|
6
|
+
widthM: number;
|
|
7
|
+
depthM: number;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Free text along one side of a 2D element (e.g. "Frontwand: hochklappbar 18,5 cm").
|
|
11
|
+
* Rendered inside the element's rotated group at the plane centre, so it tracks position
|
|
12
|
+
* and rotation. Local sides: left = -x, right = +x, top = -z (screen-up in 2D), bottom = +z.
|
|
13
|
+
*/
|
|
14
|
+
export declare function ElementAnnotation2D({ annotation, widthM, depthM }: ElementAnnotation2DProps): React.JSX.Element;
|
|
15
|
+
export {};
|
|
16
|
+
//# sourceMappingURL=ElementAnnotation2D.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ElementAnnotation2D.d.ts","sourceRoot":"","sources":["../../../../../../src/core/view2d/ElementAnnotation2D.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkC,MAAM,OAAO,CAAC;AAOvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAqB7D,UAAU,wBAAwB;IAChC,UAAU,EAAE,iBAAiB,CAAC;IAC9B,+EAA+E;IAC/E,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,wBAAwB,qBA4D3F"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* The 2D plan overlay: one {@link Element2DPlane} per scene2d element, mounted only while the store
|
|
4
|
+
* is in 2D mode. Elements with unresolved geometry are dropped (see `isRenderable2DElement`) and the
|
|
5
|
+
* skipped count is logged once, so a broken article degrades to "not shown" instead of a NaN plane.
|
|
6
|
+
* Planes are ranked by (zLayer, elementId) so `Element2DPlane` can lift each onto its own slot, which
|
|
7
|
+
* keeps blending and pointer picking resolving top-first and avoids z-fighting.
|
|
8
|
+
*/
|
|
9
|
+
export declare function Scene2DOverlay(): React.JSX.Element | null;
|
|
10
|
+
//# sourceMappingURL=Scene2DOverlay.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Scene2DOverlay.d.ts","sourceRoot":"","sources":["../../../../../../src/core/view2d/Scene2DOverlay.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6B,MAAM,OAAO,CAAC;AAQlD;;;;;;GAMG;AACH,wBAAgB,cAAc,6BAmC7B"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { ViewModeRuntime } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* Provider that subscribes to the slim subset of store state used by the
|
|
5
|
+
* runtime selector and produces a single `ViewModeRuntime` snapshot per
|
|
6
|
+
* change. Mounted near the top of `SceneRenderer` so every R3F descendant
|
|
7
|
+
* can read flags via `useViewModeRuntime()` without each component
|
|
8
|
+
* subscribing to 5+ raw store fields.
|
|
9
|
+
*/
|
|
10
|
+
export declare function ViewModeRuntimeProvider({ children }: {
|
|
11
|
+
children: React.ReactNode;
|
|
12
|
+
}): React.JSX.Element;
|
|
13
|
+
/**
|
|
14
|
+
* Read the current `ViewModeRuntime`. Throws in development when used
|
|
15
|
+
* outside the provider so missing wiring is caught immediately. Consumers
|
|
16
|
+
* should NEVER branch on `viewMode === '2d'` directly — use the runtime
|
|
17
|
+
* flags so the policy stays centralised.
|
|
18
|
+
*/
|
|
19
|
+
export declare function useViewModeRuntime(): ViewModeRuntime;
|
|
20
|
+
//# sourceMappingURL=ViewModeRuntimeContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ViewModeRuntimeContext.d.ts","sourceRoot":"","sources":["../../../../../../src/core/viewMode/ViewModeRuntimeContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6C,MAAM,OAAO,CAAC;AAGlE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAI/C;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,qBAwBlF;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,IAAI,eAAe,CAMpD"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export type { ViewMode, ViewModeCapabilities, ViewModeRuntime, ViewModeRuntimeStateInput } from './types';
|
|
2
|
+
export { selectViewModeRuntime } from './selectViewModeRuntime';
|
|
3
|
+
export { ViewModeRuntimeProvider, useViewModeRuntime } from './ViewModeRuntimeContext';
|
|
4
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/core/viewMode/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,QAAQ,EAAE,oBAAoB,EAAE,eAAe,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AAC1G,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ViewModeCapabilities, ViewModeRuntime, ViewModeRuntimeStateInput } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Pure builder for {@link ViewModeRuntime}: no React, no side effects — safe to
|
|
4
|
+
* call in selectors and tests. `mount*` is capability-driven lifetime,
|
|
5
|
+
* `show3DDecoration` / `disableHeavyEffects` are mode-driven per-frame
|
|
6
|
+
* visibility. See `docs/VIEW_MODES_2D_3D.md` § ViewModeRuntime for the policy.
|
|
7
|
+
*/
|
|
8
|
+
export declare function selectViewModeRuntime(state: ViewModeRuntimeStateInput, capabilities: ViewModeCapabilities): ViewModeRuntime;
|
|
9
|
+
//# sourceMappingURL=selectViewModeRuntime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selectViewModeRuntime.d.ts","sourceRoot":"","sources":["../../../../../../src/core/viewMode/selectViewModeRuntime.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,eAAe,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AAqBhG;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,yBAAyB,EAAE,YAAY,EAAE,oBAAoB,GAAG,eAAe,CA+B3H"}
|
package/build/types/real-time-viewer-next/src/core/viewMode/selectViewModeRuntime.test.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selectViewModeRuntime.test.d.ts","sourceRoot":"","sources":["../../../../../../src/core/viewMode/selectViewModeRuntime.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ViewModeRuntime — single derived snapshot that answers "what is allowed
|
|
3
|
+
* in this mode?" Components read flags from this snapshot instead of
|
|
4
|
+
* branching on raw `viewMode === '2d'` / `is2D` / `controlsMode === '2d'`.
|
|
5
|
+
*
|
|
6
|
+
* Policy (lifetime vs visibility, and where a new flag belongs):
|
|
7
|
+
* `packages/real-time-viewer-next/docs/VIEW_MODES_2D_3D.md` § ViewModeRuntime.
|
|
8
|
+
* `selectViewModeRuntime.ts` is the pure builder.
|
|
9
|
+
*/
|
|
10
|
+
import type { Limits2DConfig } from '../../types/camera';
|
|
11
|
+
import type { OverlayGroupConfig } from '../../types/environment';
|
|
12
|
+
export type ViewMode = '2d' | '3d';
|
|
13
|
+
/**
|
|
14
|
+
* Host + RTV-level static inputs. Set once at mount via `RTVConfig.capabilities`
|
|
15
|
+
* (defaults to `{ supports3d: true }` so existing COBI hosts keep working).
|
|
16
|
+
* Treated as immutable for the lifetime of the canvas — flipping mid-session
|
|
17
|
+
* does not retro-actively code-split the 3D capsule.
|
|
18
|
+
*/
|
|
19
|
+
export interface ViewModeCapabilities {
|
|
20
|
+
/**
|
|
21
|
+
* When false, the host never assembles HQS and the 3D capsule
|
|
22
|
+
* (`Scene3DContent`) is never imported. The 2D-only entry path skips
|
|
23
|
+
* water, sky, scene floor, shadows, full PP, and `useViewModeTransition`.
|
|
24
|
+
*/
|
|
25
|
+
supports3d: boolean;
|
|
26
|
+
}
|
|
27
|
+
/** Pure derived runtime snapshot. Built by `selectViewModeRuntime(state, capabilities)`. */
|
|
28
|
+
export interface ViewModeRuntime {
|
|
29
|
+
mode: ViewMode;
|
|
30
|
+
/** Per-frame visibility hinge for every 3D-decoration surface: `true` in 3D, `false` in 2D. */
|
|
31
|
+
show3DDecoration: boolean;
|
|
32
|
+
/** SceneTree / GLB load path is mounted (`supports3d && sceneIsProvided`). */
|
|
33
|
+
mountScene3D: boolean;
|
|
34
|
+
/** Scene2DOverlay / Element2DPlane is visible this frame. */
|
|
35
|
+
showScene2DOverlay: boolean;
|
|
36
|
+
/** Composer is mounted. Driven by `env.postProcessing.enabled`. */
|
|
37
|
+
mountPostProcessing: boolean;
|
|
38
|
+
/** Skip SSAO / Bloom / DoF / ToneMapping / colour grading this frame (`true` in 2D). */
|
|
39
|
+
disableHeavyEffects: boolean;
|
|
40
|
+
/** EnvironmentDome HDRI background + SkydomeBackground. */
|
|
41
|
+
mountSky: boolean;
|
|
42
|
+
/** Sun lensflare overlay. */
|
|
43
|
+
mountSunLensflare: boolean;
|
|
44
|
+
/** Water surfaces, caustics receivers, water reflection RT. */
|
|
45
|
+
mountWater: boolean;
|
|
46
|
+
/** Planner FloorGrid wrapper. Always true — the component picks 2D grid vs 3D drei.Grid. */
|
|
47
|
+
mountFloorGrid: boolean;
|
|
48
|
+
/** drei AdaptiveDpr / AdaptiveEvents / BakeShadows + PerformanceMonitor. */
|
|
49
|
+
mountAdaptivePerf: boolean;
|
|
50
|
+
camera: {
|
|
51
|
+
/** Resolved 2D limits when `mode === '2d'`, else null. */
|
|
52
|
+
limits2d: Required<Limits2DConfig> | null;
|
|
53
|
+
/** OrbitControls.enableRotate. */
|
|
54
|
+
enableRotate: boolean;
|
|
55
|
+
};
|
|
56
|
+
/** Selection overlay group config (`overlay2d` in 2D, `overlay3d` in 3D). */
|
|
57
|
+
selectionOverlay: OverlayGroupConfig;
|
|
58
|
+
}
|
|
59
|
+
/** Minimal subset of the RTV store that `selectViewModeRuntime` reads. */
|
|
60
|
+
export interface ViewModeRuntimeStateInput {
|
|
61
|
+
viewMode: ViewMode;
|
|
62
|
+
scene: unknown | null;
|
|
63
|
+
scene2d: unknown | null;
|
|
64
|
+
resolvedEnvironment: import('../../types/environment').ResolvedEnvironmentConfig;
|
|
65
|
+
cameraConfig: import('../../types/camera').CameraConfig;
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/core/viewMode/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE,MAAM,MAAM,QAAQ,GAAG,IAAI,GAAG,IAAI,CAAC;AAEnC;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,4FAA4F;AAC5F,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,QAAQ,CAAC;IAEf,+FAA+F;IAC/F,gBAAgB,EAAE,OAAO,CAAC;IAG1B,8EAA8E;IAC9E,YAAY,EAAE,OAAO,CAAC;IACtB,6DAA6D;IAC7D,kBAAkB,EAAE,OAAO,CAAC;IAE5B,mEAAmE;IACnE,mBAAmB,EAAE,OAAO,CAAC;IAC7B,wFAAwF;IACxF,mBAAmB,EAAE,OAAO,CAAC;IAG7B,2DAA2D;IAC3D,QAAQ,EAAE,OAAO,CAAC;IAClB,6BAA6B;IAC7B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,+DAA+D;IAC/D,UAAU,EAAE,OAAO,CAAC;IACpB,4FAA4F;IAC5F,cAAc,EAAE,OAAO,CAAC;IACxB,4EAA4E;IAC5E,iBAAiB,EAAE,OAAO,CAAC;IAE3B,MAAM,EAAE;QACN,0DAA0D;QAC1D,QAAQ,EAAE,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;QAC1C,kCAAkC;QAClC,YAAY,EAAE,OAAO,CAAC;KACvB,CAAC;IAEF,6EAA6E;IAC7E,gBAAgB,EAAE,kBAAkB,CAAC;CACtC;AAED,0EAA0E;AAC1E,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IACtB,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,mBAAmB,EAAE,OAAO,yBAAyB,EAAE,yBAAyB,CAAC;IACjF,YAAY,EAAE,OAAO,oBAAoB,EAAE,YAAY,CAAC;CACzD"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { MeshStandardMaterial } from 'three';
|
|
2
|
+
import type { WaterUniforms } from './waterUniforms';
|
|
3
|
+
/**
|
|
4
|
+
* Brand applied to materials produced by `patchMaterialAsCausticReceiver`.
|
|
5
|
+
* `refreshCausticReceiverUniforms` uses it as a duck-type check to avoid
|
|
6
|
+
* accidentally writing into a vanilla material's uniforms map (which
|
|
7
|
+
* wouldn't have the receiver uniform slots and would throw).
|
|
8
|
+
*/
|
|
9
|
+
declare const CAUSTIC_RECEIVER_FLAG = "__rtvCausticReceiverPatched";
|
|
10
|
+
/**
|
|
11
|
+
* Subset of a Three.js material we touch. Keeps the helper compatible
|
|
12
|
+
* with MeshStandardMaterial AND MeshPhysicalMaterial (which extends it)
|
|
13
|
+
* without pulling either of them in as a constructor.
|
|
14
|
+
*/
|
|
15
|
+
type ReceiverCapableMaterial = MeshStandardMaterial & {
|
|
16
|
+
[CAUSTIC_RECEIVER_FLAG]?: true;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* Suspend / resume the caustic term on ALL receiver materials for the draws
|
|
20
|
+
* that follow. Used by the water surface around its SSR SceneCapture pass:
|
|
21
|
+
* the captured texture must NOT contain the animated caustics (the surface
|
|
22
|
+
* shader composites the live pattern instead), both to avoid double-applying
|
|
23
|
+
* them and to keep a still scene's captures identical so the capture
|
|
24
|
+
* throttle can skip re-renders.
|
|
25
|
+
*/
|
|
26
|
+
export declare function setCausticReceiversSuspended(suspended: boolean): void;
|
|
27
|
+
/**
|
|
28
|
+
* Clone `source` and patch its fragment shader to add the water surface's
|
|
29
|
+
* caustic light. Returns the patched clone — caller is responsible for
|
|
30
|
+
* assigning it to a mesh and disposing it when done.
|
|
31
|
+
*
|
|
32
|
+
* Seed uniforms are READ from the supplied snapshot at patch time and then
|
|
33
|
+
* never re-touched by this function. To keep them current across frames
|
|
34
|
+
* the caller must call `refreshCausticReceiverUniforms` per frame.
|
|
35
|
+
*/
|
|
36
|
+
export declare function patchMaterialAsCausticReceiver(source: MeshStandardMaterial, uniforms: WaterUniforms): ReceiverCapableMaterial;
|
|
37
|
+
/**
|
|
38
|
+
* Per-frame refresh: copy current values from the singleton into the
|
|
39
|
+
* patched material's uniform slots. Cheap — pure ref reads + a handful
|
|
40
|
+
* of `.copy()` calls. Bail early if the material wasn't produced by
|
|
41
|
+
* `patchMaterialAsCausticReceiver`.
|
|
42
|
+
*/
|
|
43
|
+
export declare function refreshCausticReceiverUniforms(material: MeshStandardMaterial, uniforms: WaterUniforms): void;
|
|
44
|
+
/** Get (or create) the shared receiver clone for `source`; pairs with `releaseCausticReceiver`. */
|
|
45
|
+
export declare function acquireCausticReceiver(source: MeshStandardMaterial, uniforms: WaterUniforms): MeshStandardMaterial;
|
|
46
|
+
/** Drop one reference to `source`'s receiver clone; disposes it when the last holder releases. */
|
|
47
|
+
export declare function releaseCausticReceiver(source: MeshStandardMaterial): void;
|
|
48
|
+
export {};
|
|
49
|
+
//# sourceMappingURL=CausticReceiver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CausticReceiver.d.ts","sourceRoot":"","sources":["../../../../../../src/core/water/CausticReceiver.ts"],"names":[],"mappings":"AA4BA,OAAO,EAAE,oBAAoB,EAAoB,MAAM,OAAO,CAAC;AAE/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIrD;;;;;GAKG;AACH,QAAA,MAAM,qBAAqB,gCAAgC,CAAC;AAE5D;;;;GAIG;AACH,KAAK,uBAAuB,GAAG,oBAAoB,GAAG;IACpD,CAAC,qBAAqB,CAAC,CAAC,EAAE,IAAI,CAAC;CAChC,CAAC;AAUF;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,CAErE;AAsKD;;;;;;;;GAQG;AACH,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,oBAAoB,EAAE,QAAQ,EAAE,aAAa,GAAG,uBAAuB,CAoE7H;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAAC,QAAQ,EAAE,oBAAoB,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI,CAwC5G;AAwBD,mGAAmG;AACnG,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,oBAAoB,EAAE,QAAQ,EAAE,aAAa,GAAG,oBAAoB,CAQlH;AAED,kGAAkG;AAClG,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,oBAAoB,GAAG,IAAI,CAQzE"}
|