@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,440 @@
|
|
|
1
|
+
import { type ConfigInput, type ConfigResolved } from '../../config/descriptor';
|
|
2
|
+
declare const ANCHOR_MODE_OPTIONS: readonly ["min", "center", "max"];
|
|
3
|
+
/**
|
|
4
|
+
* Axis-aligned XZ hole rectangle in the LOCAL space of the matched deck mesh (not world space —
|
|
5
|
+
* independent of the scene transform).
|
|
6
|
+
*/
|
|
7
|
+
declare const DECK_CUTOUT_HOLE_CONFIG: import("../../config/descriptor").GroupDescriptor<{
|
|
8
|
+
centerX: import("../../config/descriptor").NumberField;
|
|
9
|
+
centerZ: import("../../config/descriptor").NumberField;
|
|
10
|
+
halfExtentX: import("../../config/descriptor").NumberField;
|
|
11
|
+
halfExtentZ: import("../../config/descriptor").NumberField;
|
|
12
|
+
}>;
|
|
13
|
+
/**
|
|
14
|
+
* One article-family rule for the scene cutout. `match` is a comma-separated substring OR-list
|
|
15
|
+
* against the articleCodex; `''`/`'*'` matches everything (also while no codex is known). A
|
|
16
|
+
* matching rule with `footprintFromGeometry` is what shapes the cutout: the collar is generated
|
|
17
|
+
* between the authored hole edge and the article's traced outline. With no matching rule there is
|
|
18
|
+
* no outline and therefore NO COLLAR, which leaves the authored hole open.
|
|
19
|
+
*/
|
|
20
|
+
declare const DECK_CUTOUT_ARTICLE_RULE_CONFIG: import("../../config/descriptor").GroupDescriptor<{
|
|
21
|
+
/** Codex matcher — see {@link DECK_CUTOUT_CONFIG}'s `articleRules`. */
|
|
22
|
+
match: import("../../config/descriptor").ValueField<string>;
|
|
23
|
+
/**
|
|
24
|
+
* Derive the outline from the article's own meshes: everything within `footprintSliceDepth`
|
|
25
|
+
* below the deck top is projected onto the floor plane and its silhouette traced. Without it the
|
|
26
|
+
* rule shapes nothing and the article simply sits in the authored rectangular hole.
|
|
27
|
+
*/
|
|
28
|
+
footprintFromGeometry: import("../../config/descriptor").BooleanField;
|
|
29
|
+
/**
|
|
30
|
+
* How far (m) below the deck top the geometry projection reaches — captures the rim, ignores the
|
|
31
|
+
* sunk basin body.
|
|
32
|
+
*/
|
|
33
|
+
footprintSliceDepth: import("../../config/descriptor").NumberField;
|
|
34
|
+
}>;
|
|
35
|
+
/**
|
|
36
|
+
* Textures + world-planar tiling for a collar that carries its own material. All maps are
|
|
37
|
+
* optional; a missing one just isn't applied. Lengths in m.
|
|
38
|
+
*/
|
|
39
|
+
declare const DECK_CUTOUT_COLLAR_MATERIAL_CONFIG: import("../../config/descriptor").GroupDescriptor<{
|
|
40
|
+
/** Base colour map. '' (the default) = continue the deck's material instead. */
|
|
41
|
+
mapUrl: import("../../config/descriptor").ValueField<string>;
|
|
42
|
+
normalMapUrl: import("../../config/descriptor").ValueField<string>;
|
|
43
|
+
roughnessMapUrl: import("../../config/descriptor").ValueField<string>;
|
|
44
|
+
/** Metres per texture tile — the real-world size the image covers. */
|
|
45
|
+
textureScale: import("../../config/descriptor").NumberField;
|
|
46
|
+
/** Rotation (deg) of the tiling within the deck plane, to line boards up with the deck's. */
|
|
47
|
+
rotationDeg: import("../../config/descriptor").NumberField;
|
|
48
|
+
/** Tiling phase (m), to line a board EDGE up rather than only its direction. */
|
|
49
|
+
offsetX: import("../../config/descriptor").NumberField;
|
|
50
|
+
offsetZ: import("../../config/descriptor").NumberField;
|
|
51
|
+
}>;
|
|
52
|
+
/**
|
|
53
|
+
* Generated collar ring between the authored rectangular hole edge and a footprint outline
|
|
54
|
+
* (a coping surround, in pool terms). All lengths in m.
|
|
55
|
+
*/
|
|
56
|
+
declare const DECK_CUTOUT_COLLAR_CONFIG: import("../../config/descriptor").GroupDescriptor<{
|
|
57
|
+
/**
|
|
58
|
+
* How far (m) the collar top sits below the deck surface. Only needs to be enough to stop
|
|
59
|
+
* z-fighting in the band where the collar tucks under the deck (see `overlap`) — it is NOT meant
|
|
60
|
+
* to be visible, so keep it sub-millimetre unless a deliberately sunken surround is wanted.
|
|
61
|
+
*/
|
|
62
|
+
recess: import("../../config/descriptor").NumberField;
|
|
63
|
+
/**
|
|
64
|
+
* Depth (m) of the skirt extruded downward from the collar top, which stops you seeing under the
|
|
65
|
+
* deck at the collar's inner edge. `0` (the default) matches the DECK SLAB's own thickness, so
|
|
66
|
+
* the collar reads as one more of the deck's boards instead of a deep kerb; set a value only for
|
|
67
|
+
* a deliberately deeper edge.
|
|
68
|
+
*/
|
|
69
|
+
skirtDepth: import("../../config/descriptor").NumberField;
|
|
70
|
+
/** How far the collar reaches outward past the authored hole edge, tucked under the deck. */
|
|
71
|
+
overlap: import("../../config/descriptor").NumberField;
|
|
72
|
+
/** Collar material color. Used as the flat fallback and as the tint over `material.mapUrl`. */
|
|
73
|
+
color: import("../../config/descriptor").ColorField;
|
|
74
|
+
/** Collar material roughness. */
|
|
75
|
+
roughness: import("../../config/descriptor").NumberField;
|
|
76
|
+
/**
|
|
77
|
+
* Give the collar its OWN material instead of continuing the deck's, so the surround can be a
|
|
78
|
+
* different material than the deck it sits in — another wood, stone, tile. Set `mapUrl` to take
|
|
79
|
+
* this path; leave it empty and the collar clones the matched deck's material and continues its
|
|
80
|
+
* mapping.
|
|
81
|
+
*
|
|
82
|
+
* Its UVs are then world-planar (`textureScale` metres per tile, rotated by `rotationDeg`), so
|
|
83
|
+
* the tiling is DECLARED here rather than inherited from whatever unwrap the deck happens to
|
|
84
|
+
* have — which is also what makes the material swappable without re-deriving anything.
|
|
85
|
+
*/
|
|
86
|
+
material: import("../../config/descriptor").GroupDescriptor<{
|
|
87
|
+
/** Base colour map. '' (the default) = continue the deck's material instead. */
|
|
88
|
+
mapUrl: import("../../config/descriptor").ValueField<string>;
|
|
89
|
+
normalMapUrl: import("../../config/descriptor").ValueField<string>;
|
|
90
|
+
roughnessMapUrl: import("../../config/descriptor").ValueField<string>;
|
|
91
|
+
/** Metres per texture tile — the real-world size the image covers. */
|
|
92
|
+
textureScale: import("../../config/descriptor").NumberField;
|
|
93
|
+
/** Rotation (deg) of the tiling within the deck plane, to line boards up with the deck's. */
|
|
94
|
+
rotationDeg: import("../../config/descriptor").NumberField;
|
|
95
|
+
/** Tiling phase (m), to line a board EDGE up rather than only its direction. */
|
|
96
|
+
offsetX: import("../../config/descriptor").NumberField;
|
|
97
|
+
offsetZ: import("../../config/descriptor").NumberField;
|
|
98
|
+
}>;
|
|
99
|
+
}>;
|
|
100
|
+
/**
|
|
101
|
+
* Fits a resizable article into a rectangular hole authored in a flat slab mesh of the loaded
|
|
102
|
+
* scene GLB (e.g. a pool cutout in a wooden deck). The slab itself is never modified: the article
|
|
103
|
+
* is moved into the authored hole and `DeckCutoutCollar` generates a ring wearing the deck's own
|
|
104
|
+
* material that fills everything between the hole edge and the article's traced outline, so the
|
|
105
|
+
* visible cutout follows the article's shape.
|
|
106
|
+
*/
|
|
107
|
+
declare const DECK_CUTOUT_CONFIG: import("../../config/descriptor").GroupDescriptor<{
|
|
108
|
+
enabled: import("../../config/descriptor").BooleanField;
|
|
109
|
+
/**
|
|
110
|
+
* Comma-separated substrings OR-matched against scene-GLB node names (e.g.
|
|
111
|
+
* `'FLOOR_Wood_2,FLOOR_Wood_3'`) — the deck meshes the collar continues (material, UV mapping,
|
|
112
|
+
* top height, slab thickness) and whose shared local space all rects below are expressed in.
|
|
113
|
+
* Empty = no match.
|
|
114
|
+
*/
|
|
115
|
+
nodeMatch: import("../../config/descriptor").ValueField<string>;
|
|
116
|
+
/**
|
|
117
|
+
* The hole rect as authored in the mesh, measured once per asset. Has to be at least the largest
|
|
118
|
+
* article's footprint: the collar can only fill space that the hole actually leaves.
|
|
119
|
+
*
|
|
120
|
+
* Deliberately NOT exposed as analyzer sliders: it's per-asset calibration from the preset, and
|
|
121
|
+
* a value that doesn't match the mesh puts the collar somewhere the deck has no opening.
|
|
122
|
+
*/
|
|
123
|
+
authoredHole: import("../../config/descriptor").GroupDescriptor<{
|
|
124
|
+
centerX: import("../../config/descriptor").NumberField;
|
|
125
|
+
centerZ: import("../../config/descriptor").NumberField;
|
|
126
|
+
halfExtentX: import("../../config/descriptor").NumberField;
|
|
127
|
+
halfExtentZ: import("../../config/descriptor").NumberField;
|
|
128
|
+
}>;
|
|
129
|
+
/**
|
|
130
|
+
* Measure the live article: union bbox of the planner elements in the scene, expressed in the
|
|
131
|
+
* deck's local space, plus `margin` (m) of deck clearance per side around the outline (negative
|
|
132
|
+
* laps the deck over the article's rim).
|
|
133
|
+
*/
|
|
134
|
+
articleSync: import("../../config/descriptor").GroupDescriptor<{
|
|
135
|
+
enabled: import("../../config/descriptor").BooleanField;
|
|
136
|
+
margin: import("../../config/descriptor").NumberField;
|
|
137
|
+
}>;
|
|
138
|
+
/**
|
|
139
|
+
* Reposition the planner elements so their union bbox sits inside the authored hole (HQS
|
|
140
|
+
* `PosPivot === 'CENTER'` grows articles from their center, so the resting spot is re-derived
|
|
141
|
+
* per size). `offsetX`/`offsetZ` (deck-local meters) fine-tune where the article rests within
|
|
142
|
+
* the hole. Requires `articleSync`.
|
|
143
|
+
*/
|
|
144
|
+
elementAnchor: import("../../config/descriptor").GroupDescriptor<{
|
|
145
|
+
enabled: import("../../config/descriptor").BooleanField;
|
|
146
|
+
offsetX: import("../../config/descriptor").NumberField;
|
|
147
|
+
offsetZ: import("../../config/descriptor").NumberField;
|
|
148
|
+
/**
|
|
149
|
+
* Lift the article so its TOP meets the deck surface instead of its bottom resting on the
|
|
150
|
+
* ground. Off by default: it is only right for a catalog whose articles are sunk into the
|
|
151
|
+
* scene floor (pools), where the rim has to meet the deck whatever the basin's depth is.
|
|
152
|
+
*/
|
|
153
|
+
alignTopToDeck: import("../../config/descriptor").BooleanField;
|
|
154
|
+
/**
|
|
155
|
+
* Nudges the result vertically — the article's measured top is its bbox, which sits a little
|
|
156
|
+
* above the visible rim on most models.
|
|
157
|
+
*/
|
|
158
|
+
offsetY: import("../../config/descriptor").NumberField;
|
|
159
|
+
/**
|
|
160
|
+
* Choose WHICH part of the article the offset positions: `'center'` centres it, `'min'`/`'max'`
|
|
161
|
+
* pin that edge to the corresponding edge of the region. Pinning matters when the article
|
|
162
|
+
* resizes: a centred article grows in both directions, so the edge that mates with a fixed
|
|
163
|
+
* scene feature (a villa wall the deck runs up to) drifts. `offsetX` / `offsetZ` then read as
|
|
164
|
+
* an inset from the pinned edge.
|
|
165
|
+
*/
|
|
166
|
+
anchorX: import("../../config/descriptor").EnumField<"center" | "min" | "max">;
|
|
167
|
+
anchorZ: import("../../config/descriptor").EnumField<"center" | "min" | "max">;
|
|
168
|
+
}>;
|
|
169
|
+
/**
|
|
170
|
+
* Derive `water.volume` XZ from the anchored article rect: `inset` (m) shrinks it per
|
|
171
|
+
* side (pool rim width), `offsetX`/`offsetZ` (floor-local meters) shift it for asymmetric basins
|
|
172
|
+
* (e.g. stair modules). The volume's Y center/size stay as configured. Requires `articleSync`.
|
|
173
|
+
*/
|
|
174
|
+
waterSync: import("../../config/descriptor").GroupDescriptor<{
|
|
175
|
+
enabled: import("../../config/descriptor").BooleanField;
|
|
176
|
+
inset: import("../../config/descriptor").NumberField;
|
|
177
|
+
offsetX: import("../../config/descriptor").NumberField;
|
|
178
|
+
offsetZ: import("../../config/descriptor").NumberField;
|
|
179
|
+
}>;
|
|
180
|
+
/**
|
|
181
|
+
* Per-article-family cutout rules, matched against the measured article's codex — first match
|
|
182
|
+
* wins (append a `match: '*'` entry as fallback). A rule selects which families get a
|
|
183
|
+
* geometry-traced outline and how deep the slice reaches; the margin stays scene-global in
|
|
184
|
+
* `articleSync`, which is required.
|
|
185
|
+
*/
|
|
186
|
+
articleRules: import("../../config/descriptor").ArrayDescriptor<import("../../config/descriptor").GroupDescriptor<{
|
|
187
|
+
/** Codex matcher — see {@link DECK_CUTOUT_CONFIG}'s `articleRules`. */
|
|
188
|
+
match: import("../../config/descriptor").ValueField<string>;
|
|
189
|
+
/**
|
|
190
|
+
* Derive the outline from the article's own meshes: everything within `footprintSliceDepth`
|
|
191
|
+
* below the deck top is projected onto the floor plane and its silhouette traced. Without it the
|
|
192
|
+
* rule shapes nothing and the article simply sits in the authored rectangular hole.
|
|
193
|
+
*/
|
|
194
|
+
footprintFromGeometry: import("../../config/descriptor").BooleanField;
|
|
195
|
+
/**
|
|
196
|
+
* How far (m) below the deck top the geometry projection reaches — captures the rim, ignores the
|
|
197
|
+
* sunk basin body.
|
|
198
|
+
*/
|
|
199
|
+
footprintSliceDepth: import("../../config/descriptor").NumberField;
|
|
200
|
+
}>>;
|
|
201
|
+
/**
|
|
202
|
+
* Look of the generated collar ring that bridges a footprint rule's shaped outline to the
|
|
203
|
+
* authored hole edge.
|
|
204
|
+
*/
|
|
205
|
+
collar: import("../../config/descriptor").GroupDescriptor<{
|
|
206
|
+
/**
|
|
207
|
+
* How far (m) the collar top sits below the deck surface. Only needs to be enough to stop
|
|
208
|
+
* z-fighting in the band where the collar tucks under the deck (see `overlap`) — it is NOT meant
|
|
209
|
+
* to be visible, so keep it sub-millimetre unless a deliberately sunken surround is wanted.
|
|
210
|
+
*/
|
|
211
|
+
recess: import("../../config/descriptor").NumberField;
|
|
212
|
+
/**
|
|
213
|
+
* Depth (m) of the skirt extruded downward from the collar top, which stops you seeing under the
|
|
214
|
+
* deck at the collar's inner edge. `0` (the default) matches the DECK SLAB's own thickness, so
|
|
215
|
+
* the collar reads as one more of the deck's boards instead of a deep kerb; set a value only for
|
|
216
|
+
* a deliberately deeper edge.
|
|
217
|
+
*/
|
|
218
|
+
skirtDepth: import("../../config/descriptor").NumberField;
|
|
219
|
+
/** How far the collar reaches outward past the authored hole edge, tucked under the deck. */
|
|
220
|
+
overlap: import("../../config/descriptor").NumberField;
|
|
221
|
+
/** Collar material color. Used as the flat fallback and as the tint over `material.mapUrl`. */
|
|
222
|
+
color: import("../../config/descriptor").ColorField;
|
|
223
|
+
/** Collar material roughness. */
|
|
224
|
+
roughness: import("../../config/descriptor").NumberField;
|
|
225
|
+
/**
|
|
226
|
+
* Give the collar its OWN material instead of continuing the deck's, so the surround can be a
|
|
227
|
+
* different material than the deck it sits in — another wood, stone, tile. Set `mapUrl` to take
|
|
228
|
+
* this path; leave it empty and the collar clones the matched deck's material and continues its
|
|
229
|
+
* mapping.
|
|
230
|
+
*
|
|
231
|
+
* Its UVs are then world-planar (`textureScale` metres per tile, rotated by `rotationDeg`), so
|
|
232
|
+
* the tiling is DECLARED here rather than inherited from whatever unwrap the deck happens to
|
|
233
|
+
* have — which is also what makes the material swappable without re-deriving anything.
|
|
234
|
+
*/
|
|
235
|
+
material: import("../../config/descriptor").GroupDescriptor<{
|
|
236
|
+
/** Base colour map. '' (the default) = continue the deck's material instead. */
|
|
237
|
+
mapUrl: import("../../config/descriptor").ValueField<string>;
|
|
238
|
+
normalMapUrl: import("../../config/descriptor").ValueField<string>;
|
|
239
|
+
roughnessMapUrl: import("../../config/descriptor").ValueField<string>;
|
|
240
|
+
/** Metres per texture tile — the real-world size the image covers. */
|
|
241
|
+
textureScale: import("../../config/descriptor").NumberField;
|
|
242
|
+
/** Rotation (deg) of the tiling within the deck plane, to line boards up with the deck's. */
|
|
243
|
+
rotationDeg: import("../../config/descriptor").NumberField;
|
|
244
|
+
/** Tiling phase (m), to line a board EDGE up rather than only its direction. */
|
|
245
|
+
offsetX: import("../../config/descriptor").NumberField;
|
|
246
|
+
offsetZ: import("../../config/descriptor").NumberField;
|
|
247
|
+
}>;
|
|
248
|
+
}>;
|
|
249
|
+
}>;
|
|
250
|
+
/**
|
|
251
|
+
* Environment scene config — the single source for its types, defaults, clamps, round-trip and
|
|
252
|
+
* analyzer inputs (see `config/descriptor.ts`).
|
|
253
|
+
*
|
|
254
|
+
* Carries the URL of the standalone environment GLB (deck / backdrop) plus its transform and
|
|
255
|
+
* cutout rules. Presets ship it in production (e.g. villa-cliff); the analyzer edits it live.
|
|
256
|
+
* It lives in env so it round-trips through the bundle without a separate persistence channel.
|
|
257
|
+
*/
|
|
258
|
+
export declare const SCENE_CONFIG: import("../../config/descriptor").GroupDescriptor<{
|
|
259
|
+
/**
|
|
260
|
+
* `string` for an HTTP-served URL (works across reloads); `'blob:…'` for a locally-uploaded file
|
|
261
|
+
* (the blob handle dies on reload — the underlying file is cached separately in IndexedDB by the
|
|
262
|
+
* upload pipeline and `useConfigPersistence.restoreCachedFiles` rehydrates the blob URL there);
|
|
263
|
+
* `null` for "no scene loaded".
|
|
264
|
+
*/
|
|
265
|
+
sceneUrl: import("../../config/descriptor").ValueField<string | null>;
|
|
266
|
+
sceneTransform: import("../../config/descriptor").GroupDescriptor<{
|
|
267
|
+
/** World-space offset (m). Split into per-axis analyzer sliders. */
|
|
268
|
+
position: import("../../config/descriptor").TupleField<[number, number, number]>;
|
|
269
|
+
/** Euler angles in RADIANS (Three.js default XYZ order); the analyzer edits them in degrees. */
|
|
270
|
+
rotation: import("../../config/descriptor").TupleField<[number, number, number]>;
|
|
271
|
+
scale: import("../../config/descriptor").NumberField;
|
|
272
|
+
}>;
|
|
273
|
+
/**
|
|
274
|
+
* Additional GLBs loaded alongside `sceneUrl` under the SAME scene transform — e.g. cutout-bearing
|
|
275
|
+
* floor parts exported in-place from the same authoring scene, while the static remainder (with
|
|
276
|
+
* its baked AO) stays in the main GLB. Node-name matching (`deckCutout.nodeMatch`) applies to
|
|
277
|
+
* these too.
|
|
278
|
+
*/
|
|
279
|
+
sceneParts: import("../../config/descriptor").ArrayDescriptor<import("../../config/descriptor").ValueField<string>>;
|
|
280
|
+
deckCutout: import("../../config/descriptor").GroupDescriptor<{
|
|
281
|
+
enabled: import("../../config/descriptor").BooleanField;
|
|
282
|
+
/**
|
|
283
|
+
* Comma-separated substrings OR-matched against scene-GLB node names (e.g.
|
|
284
|
+
* `'FLOOR_Wood_2,FLOOR_Wood_3'`) — the deck meshes the collar continues (material, UV mapping,
|
|
285
|
+
* top height, slab thickness) and whose shared local space all rects below are expressed in.
|
|
286
|
+
* Empty = no match.
|
|
287
|
+
*/
|
|
288
|
+
nodeMatch: import("../../config/descriptor").ValueField<string>;
|
|
289
|
+
/**
|
|
290
|
+
* The hole rect as authored in the mesh, measured once per asset. Has to be at least the largest
|
|
291
|
+
* article's footprint: the collar can only fill space that the hole actually leaves.
|
|
292
|
+
*
|
|
293
|
+
* Deliberately NOT exposed as analyzer sliders: it's per-asset calibration from the preset, and
|
|
294
|
+
* a value that doesn't match the mesh puts the collar somewhere the deck has no opening.
|
|
295
|
+
*/
|
|
296
|
+
authoredHole: import("../../config/descriptor").GroupDescriptor<{
|
|
297
|
+
centerX: import("../../config/descriptor").NumberField;
|
|
298
|
+
centerZ: import("../../config/descriptor").NumberField;
|
|
299
|
+
halfExtentX: import("../../config/descriptor").NumberField;
|
|
300
|
+
halfExtentZ: import("../../config/descriptor").NumberField;
|
|
301
|
+
}>;
|
|
302
|
+
/**
|
|
303
|
+
* Measure the live article: union bbox of the planner elements in the scene, expressed in the
|
|
304
|
+
* deck's local space, plus `margin` (m) of deck clearance per side around the outline (negative
|
|
305
|
+
* laps the deck over the article's rim).
|
|
306
|
+
*/
|
|
307
|
+
articleSync: import("../../config/descriptor").GroupDescriptor<{
|
|
308
|
+
enabled: import("../../config/descriptor").BooleanField;
|
|
309
|
+
margin: import("../../config/descriptor").NumberField;
|
|
310
|
+
}>;
|
|
311
|
+
/**
|
|
312
|
+
* Reposition the planner elements so their union bbox sits inside the authored hole (HQS
|
|
313
|
+
* `PosPivot === 'CENTER'` grows articles from their center, so the resting spot is re-derived
|
|
314
|
+
* per size). `offsetX`/`offsetZ` (deck-local meters) fine-tune where the article rests within
|
|
315
|
+
* the hole. Requires `articleSync`.
|
|
316
|
+
*/
|
|
317
|
+
elementAnchor: import("../../config/descriptor").GroupDescriptor<{
|
|
318
|
+
enabled: import("../../config/descriptor").BooleanField;
|
|
319
|
+
offsetX: import("../../config/descriptor").NumberField;
|
|
320
|
+
offsetZ: import("../../config/descriptor").NumberField;
|
|
321
|
+
/**
|
|
322
|
+
* Lift the article so its TOP meets the deck surface instead of its bottom resting on the
|
|
323
|
+
* ground. Off by default: it is only right for a catalog whose articles are sunk into the
|
|
324
|
+
* scene floor (pools), where the rim has to meet the deck whatever the basin's depth is.
|
|
325
|
+
*/
|
|
326
|
+
alignTopToDeck: import("../../config/descriptor").BooleanField;
|
|
327
|
+
/**
|
|
328
|
+
* Nudges the result vertically — the article's measured top is its bbox, which sits a little
|
|
329
|
+
* above the visible rim on most models.
|
|
330
|
+
*/
|
|
331
|
+
offsetY: import("../../config/descriptor").NumberField;
|
|
332
|
+
/**
|
|
333
|
+
* Choose WHICH part of the article the offset positions: `'center'` centres it, `'min'`/`'max'`
|
|
334
|
+
* pin that edge to the corresponding edge of the region. Pinning matters when the article
|
|
335
|
+
* resizes: a centred article grows in both directions, so the edge that mates with a fixed
|
|
336
|
+
* scene feature (a villa wall the deck runs up to) drifts. `offsetX` / `offsetZ` then read as
|
|
337
|
+
* an inset from the pinned edge.
|
|
338
|
+
*/
|
|
339
|
+
anchorX: import("../../config/descriptor").EnumField<"center" | "min" | "max">;
|
|
340
|
+
anchorZ: import("../../config/descriptor").EnumField<"center" | "min" | "max">;
|
|
341
|
+
}>;
|
|
342
|
+
/**
|
|
343
|
+
* Derive `water.volume` XZ from the anchored article rect: `inset` (m) shrinks it per
|
|
344
|
+
* side (pool rim width), `offsetX`/`offsetZ` (floor-local meters) shift it for asymmetric basins
|
|
345
|
+
* (e.g. stair modules). The volume's Y center/size stay as configured. Requires `articleSync`.
|
|
346
|
+
*/
|
|
347
|
+
waterSync: import("../../config/descriptor").GroupDescriptor<{
|
|
348
|
+
enabled: import("../../config/descriptor").BooleanField;
|
|
349
|
+
inset: import("../../config/descriptor").NumberField;
|
|
350
|
+
offsetX: import("../../config/descriptor").NumberField;
|
|
351
|
+
offsetZ: import("../../config/descriptor").NumberField;
|
|
352
|
+
}>;
|
|
353
|
+
/**
|
|
354
|
+
* Per-article-family cutout rules, matched against the measured article's codex — first match
|
|
355
|
+
* wins (append a `match: '*'` entry as fallback). A rule selects which families get a
|
|
356
|
+
* geometry-traced outline and how deep the slice reaches; the margin stays scene-global in
|
|
357
|
+
* `articleSync`, which is required.
|
|
358
|
+
*/
|
|
359
|
+
articleRules: import("../../config/descriptor").ArrayDescriptor<import("../../config/descriptor").GroupDescriptor<{
|
|
360
|
+
/** Codex matcher — see {@link DECK_CUTOUT_CONFIG}'s `articleRules`. */
|
|
361
|
+
match: import("../../config/descriptor").ValueField<string>;
|
|
362
|
+
/**
|
|
363
|
+
* Derive the outline from the article's own meshes: everything within `footprintSliceDepth`
|
|
364
|
+
* below the deck top is projected onto the floor plane and its silhouette traced. Without it the
|
|
365
|
+
* rule shapes nothing and the article simply sits in the authored rectangular hole.
|
|
366
|
+
*/
|
|
367
|
+
footprintFromGeometry: import("../../config/descriptor").BooleanField;
|
|
368
|
+
/**
|
|
369
|
+
* How far (m) below the deck top the geometry projection reaches — captures the rim, ignores the
|
|
370
|
+
* sunk basin body.
|
|
371
|
+
*/
|
|
372
|
+
footprintSliceDepth: import("../../config/descriptor").NumberField;
|
|
373
|
+
}>>;
|
|
374
|
+
/**
|
|
375
|
+
* Look of the generated collar ring that bridges a footprint rule's shaped outline to the
|
|
376
|
+
* authored hole edge.
|
|
377
|
+
*/
|
|
378
|
+
collar: import("../../config/descriptor").GroupDescriptor<{
|
|
379
|
+
/**
|
|
380
|
+
* How far (m) the collar top sits below the deck surface. Only needs to be enough to stop
|
|
381
|
+
* z-fighting in the band where the collar tucks under the deck (see `overlap`) — it is NOT meant
|
|
382
|
+
* to be visible, so keep it sub-millimetre unless a deliberately sunken surround is wanted.
|
|
383
|
+
*/
|
|
384
|
+
recess: import("../../config/descriptor").NumberField;
|
|
385
|
+
/**
|
|
386
|
+
* Depth (m) of the skirt extruded downward from the collar top, which stops you seeing under the
|
|
387
|
+
* deck at the collar's inner edge. `0` (the default) matches the DECK SLAB's own thickness, so
|
|
388
|
+
* the collar reads as one more of the deck's boards instead of a deep kerb; set a value only for
|
|
389
|
+
* a deliberately deeper edge.
|
|
390
|
+
*/
|
|
391
|
+
skirtDepth: import("../../config/descriptor").NumberField;
|
|
392
|
+
/** How far the collar reaches outward past the authored hole edge, tucked under the deck. */
|
|
393
|
+
overlap: import("../../config/descriptor").NumberField;
|
|
394
|
+
/** Collar material color. Used as the flat fallback and as the tint over `material.mapUrl`. */
|
|
395
|
+
color: import("../../config/descriptor").ColorField;
|
|
396
|
+
/** Collar material roughness. */
|
|
397
|
+
roughness: import("../../config/descriptor").NumberField;
|
|
398
|
+
/**
|
|
399
|
+
* Give the collar its OWN material instead of continuing the deck's, so the surround can be a
|
|
400
|
+
* different material than the deck it sits in — another wood, stone, tile. Set `mapUrl` to take
|
|
401
|
+
* this path; leave it empty and the collar clones the matched deck's material and continues its
|
|
402
|
+
* mapping.
|
|
403
|
+
*
|
|
404
|
+
* Its UVs are then world-planar (`textureScale` metres per tile, rotated by `rotationDeg`), so
|
|
405
|
+
* the tiling is DECLARED here rather than inherited from whatever unwrap the deck happens to
|
|
406
|
+
* have — which is also what makes the material swappable without re-deriving anything.
|
|
407
|
+
*/
|
|
408
|
+
material: import("../../config/descriptor").GroupDescriptor<{
|
|
409
|
+
/** Base colour map. '' (the default) = continue the deck's material instead. */
|
|
410
|
+
mapUrl: import("../../config/descriptor").ValueField<string>;
|
|
411
|
+
normalMapUrl: import("../../config/descriptor").ValueField<string>;
|
|
412
|
+
roughnessMapUrl: import("../../config/descriptor").ValueField<string>;
|
|
413
|
+
/** Metres per texture tile — the real-world size the image covers. */
|
|
414
|
+
textureScale: import("../../config/descriptor").NumberField;
|
|
415
|
+
/** Rotation (deg) of the tiling within the deck plane, to line boards up with the deck's. */
|
|
416
|
+
rotationDeg: import("../../config/descriptor").NumberField;
|
|
417
|
+
/** Tiling phase (m), to line a board EDGE up rather than only its direction. */
|
|
418
|
+
offsetX: import("../../config/descriptor").NumberField;
|
|
419
|
+
offsetZ: import("../../config/descriptor").NumberField;
|
|
420
|
+
}>;
|
|
421
|
+
}>;
|
|
422
|
+
}>;
|
|
423
|
+
}>;
|
|
424
|
+
export type SceneConfig = ConfigInput<typeof SCENE_CONFIG>;
|
|
425
|
+
export type ResolvedSceneConfig = ConfigResolved<typeof SCENE_CONFIG>;
|
|
426
|
+
/** @see DECK_CUTOUT_CONFIG */
|
|
427
|
+
export type DeckCutoutConfig = ConfigInput<typeof DECK_CUTOUT_CONFIG>;
|
|
428
|
+
export type ResolvedDeckCutoutConfig = ConfigResolved<typeof DECK_CUTOUT_CONFIG>;
|
|
429
|
+
export type DeckCutoutHoleConfig = ConfigInput<typeof DECK_CUTOUT_HOLE_CONFIG>;
|
|
430
|
+
export type ResolvedDeckCutoutHole = ConfigResolved<typeof DECK_CUTOUT_HOLE_CONFIG>;
|
|
431
|
+
export type DeckCutoutArticleRuleConfig = ConfigInput<typeof DECK_CUTOUT_ARTICLE_RULE_CONFIG>;
|
|
432
|
+
export type ResolvedDeckCutoutArticleRule = ConfigResolved<typeof DECK_CUTOUT_ARTICLE_RULE_CONFIG>;
|
|
433
|
+
export type DeckCutoutCollarConfig = ConfigInput<typeof DECK_CUTOUT_COLLAR_CONFIG>;
|
|
434
|
+
export type ResolvedDeckCutoutCollar = ConfigResolved<typeof DECK_CUTOUT_COLLAR_CONFIG>;
|
|
435
|
+
export type DeckCutoutCollarMaterialConfig = ConfigInput<typeof DECK_CUTOUT_COLLAR_MATERIAL_CONFIG>;
|
|
436
|
+
export type ResolvedDeckCutoutCollarMaterial = ConfigResolved<typeof DECK_CUTOUT_COLLAR_MATERIAL_CONFIG>;
|
|
437
|
+
/** Which part of an article an axis positions: an edge, or its middle. */
|
|
438
|
+
export type DeckCutoutAnchorMode = (typeof ANCHOR_MODE_OPTIONS)[number];
|
|
439
|
+
export {};
|
|
440
|
+
//# sourceMappingURL=scene.config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scene.config.d.ts","sourceRoot":"","sources":["../../../../../../src/core/environment/scene.config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,WAAW,EAAE,KAAK,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEvF,QAAA,MAAM,mBAAmB,mCAAoC,CAAC;AAE9D;;;GAGG;AACH,QAAA,MAAM,uBAAuB;;;;;EAK3B,CAAC;AAEH;;;;;;GAMG;AACH,QAAA,MAAM,+BAA+B;IACnC,uEAAuE;;IAEvE;;;;OAIG;;IAEH;;;OAGG;;EAEH,CAAC;AAEH;;;GAGG;AACH,QAAA,MAAM,kCAAkC;IACtC,gFAAgF;;;;IAIhF,sEAAsE;;IAEtE,6FAA6F;;IAE7F,gFAAgF;;;EAGhF,CAAC;AAEH;;;GAGG;AACH,QAAA,MAAM,yBAAyB;IAC7B;;;;OAIG;;IAEH;;;;;OAKG;;IAEH,6FAA6F;;IAE7F,+FAA+F;;IAE/F,iCAAiC;;IAEjC;;;;;;;;;OASG;;QA9CH,gFAAgF;;;;QAIhF,sEAAsE;;QAEtE,6FAA6F;;QAE7F,gFAAgF;;;;EAwChF,CAAC;AAEH;;;;;;GAMG;AACH,QAAA,MAAM,kBAAkB;;IAEtB;;;;;OAKG;;IAKH;;;;;;OAMG;;;;;;;IAEH;;;;OAIG;;;;;IAcH;;;;;OAKG;;;;;QAoBD;;;;WAIG;;QAKH;;;WAGG;;QAQH;;;;;;WAMG;;;;IAUL;;;;OAIG;;;;;;;IAsBH;;;;;OAKG;;QA/MH,uEAAuE;;QAEvE;;;;WAIG;;QAEH;;;WAGG;;;IAsMH;;;OAGG;;QA9KH;;;;WAIG;;QAEH;;;;;WAKG;;QAEH,6FAA6F;;QAE7F,+FAA+F;;QAE/F,iCAAiC;;QAEjC;;;;;;;;;WASG;;YA9CH,gFAAgF;;;;YAIhF,sEAAsE;;YAEtE,6FAA6F;;YAE7F,gFAAgF;;;;;EA0LhF,CAAC;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY;IACvB;;;;;OAKG;;;QAGD,oEAAoE;;QAEpE,gGAAgG;;;;IAUlG;;;;;OAKG;;;;QA3KH;;;;;WAKG;;QAKH;;;;;;WAMG;;;;;;;QAEH;;;;WAIG;;;;;QAcH;;;;;WAKG;;;;;YAoBD;;;;eAIG;;YAKH;;;eAGG;;YAQH;;;;;;eAMG;;;;QAUL;;;;WAIG;;;;;;;QAsBH;;;;;WAKG;;YA/MH,uEAAuE;;YAEvE;;;;eAIG;;YAEH;;;eAGG;;;QAsMH;;;WAGG;;YA9KH;;;;eAIG;;YAEH;;;;;eAKG;;YAEH,6FAA6F;;YAE7F,+FAA+F;;YAE/F,iCAAiC;;YAEjC;;;;;;;;;eASG;;gBA9CH,gFAAgF;;;;gBAIhF,sEAAsE;;gBAEtE,6FAA6F;;gBAE7F,gFAAgF;;;;;;EAiOhF,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,WAAW,CAAC,OAAO,YAAY,CAAC,CAAC;AAC3D,MAAM,MAAM,mBAAmB,GAAG,cAAc,CAAC,OAAO,YAAY,CAAC,CAAC;AAEtE,8BAA8B;AAC9B,MAAM,MAAM,gBAAgB,GAAG,WAAW,CAAC,OAAO,kBAAkB,CAAC,CAAC;AACtE,MAAM,MAAM,wBAAwB,GAAG,cAAc,CAAC,OAAO,kBAAkB,CAAC,CAAC;AACjF,MAAM,MAAM,oBAAoB,GAAG,WAAW,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAC/E,MAAM,MAAM,sBAAsB,GAAG,cAAc,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACpF,MAAM,MAAM,2BAA2B,GAAG,WAAW,CAAC,OAAO,+BAA+B,CAAC,CAAC;AAC9F,MAAM,MAAM,6BAA6B,GAAG,cAAc,CAAC,OAAO,+BAA+B,CAAC,CAAC;AACnG,MAAM,MAAM,sBAAsB,GAAG,WAAW,CAAC,OAAO,yBAAyB,CAAC,CAAC;AACnF,MAAM,MAAM,wBAAwB,GAAG,cAAc,CAAC,OAAO,yBAAyB,CAAC,CAAC;AACxF,MAAM,MAAM,8BAA8B,GAAG,WAAW,CAAC,OAAO,kCAAkC,CAAC,CAAC;AACpG,MAAM,MAAM,gCAAgC,GAAG,cAAc,CAAC,OAAO,kCAAkC,CAAC,CAAC;AACzG,0EAA0E;AAC1E,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scene.config.test.d.ts","sourceRoot":"","sources":["../../../../../../src/core/environment/scene.config.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { Texture } from 'three';
|
|
2
|
+
export interface UseEnvironmentMapOptions {
|
|
3
|
+
url: string;
|
|
4
|
+
tileX: number;
|
|
5
|
+
tileY: number;
|
|
6
|
+
offsetX: number;
|
|
7
|
+
offsetY: number;
|
|
8
|
+
highlightBoost: number;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Loads one equirectangular HDRI and prefilters it into an IBL env map: load →
|
|
12
|
+
* tile/offset+boost bake → PMREM. Returns `null` until the map is ready.
|
|
13
|
+
*
|
|
14
|
+
* Holds the `environment-hdr` scene-load gate for the whole chain, and owns the
|
|
15
|
+
* GPU resources: the PMREM generator, the intermediate textures and — once
|
|
16
|
+
* superseded or unmounted — the env map itself.
|
|
17
|
+
*/
|
|
18
|
+
export declare function useEnvironmentMap({ url, tileX, tileY, offsetX, offsetY, highlightBoost }: UseEnvironmentMapOptions): Texture | null;
|
|
19
|
+
//# sourceMappingURL=useEnvironmentMap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useEnvironmentMap.d.ts","sourceRoot":"","sources":["../../../../../../src/core/environment/useEnvironmentMap.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,OAAO,EAAiB,MAAM,OAAO,CAAC;AAyIpD,MAAM,WAAW,wBAAwB;IACvC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,wBAAwB,GAAG,OAAO,GAAG,IAAI,CAmGnI"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { type RefObject } from 'react';
|
|
2
|
+
import type { DirectionalLight, SpotLight } from 'three';
|
|
3
|
+
import type { ResolvedEnvironmentConfig } from '../../types/environment';
|
|
4
|
+
/**
|
|
5
|
+
* Ref to whichever light variant a studio slot rendered — spot or directional.
|
|
6
|
+
* Both expose the `target` / `shadow` surface these hooks touch.
|
|
7
|
+
*/
|
|
8
|
+
type StudioLightRef = RefObject<DirectionalLight | SpotLight | null>;
|
|
9
|
+
/**
|
|
10
|
+
* Park a light's `target` at `aimAt` (typically the scene center) so the light
|
|
11
|
+
* always points at the product.
|
|
12
|
+
*
|
|
13
|
+
* Three.js requires `light.target.updateMatrixWorld()` after moving the target,
|
|
14
|
+
* otherwise the light stays aimed at wherever the matrix was last computed.
|
|
15
|
+
*/
|
|
16
|
+
export declare function useAimedTarget(lightRef: StudioLightRef, aimAt: [number, number, number]): void;
|
|
17
|
+
/**
|
|
18
|
+
* Push the master shadow scalars onto this light's own `light.shadow`. Mirrors
|
|
19
|
+
* the same fields SunShadow tracks, so changing mapSize / radius / bias /
|
|
20
|
+
* normalBias affects every shadow-casting light identically.
|
|
21
|
+
*
|
|
22
|
+
* The shadow runs in bake-on-demand mode (`autoUpdate = false`) on the shared
|
|
23
|
+
* `shadowsVersion` channel, and is marked dirty here where the scalars are
|
|
24
|
+
* applied. No-op while the light does not cast or no master config resolved.
|
|
25
|
+
*/
|
|
26
|
+
export declare function useMirroredShadowConfig(lightRef: StudioLightRef, castShadow?: boolean, shadowCfg?: ResolvedEnvironmentConfig['shadows']): void;
|
|
27
|
+
export {};
|
|
28
|
+
//# sourceMappingURL=useStudioLightEffects.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useStudioLightEffects.d.ts","sourceRoot":"","sources":["../../../../../../src/core/environment/useStudioLightEffects.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAGzE;;;GAGG;AACH,KAAK,cAAc,GAAG,SAAS,CAAC,gBAAgB,GAAG,SAAS,GAAG,IAAI,CAAC,CAAC;AAErE;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAO9F;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,cAAc,EAAE,UAAU,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,yBAAyB,CAAC,SAAS,CAAC,GAAG,IAAI,CAqB9I"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Single source of truth for `useFrame` execution order in this package.
|
|
3
|
+
*
|
|
4
|
+
* R3F runs every `useFrame` subscriber in ascending priority and then — unless
|
|
5
|
+
* some subscriber has taken over rendering — renders the scene itself. Ties are
|
|
6
|
+
* broken by subscription order, which is React mount order (children before
|
|
7
|
+
* parents, hooks in call order): an implicit, refactor-fragile contract. Every
|
|
8
|
+
* ordering-sensitive call site in the package therefore names a stage from this
|
|
9
|
+
* table instead of writing a literal.
|
|
10
|
+
*
|
|
11
|
+
* Taking over the render: R3F disables its automatic render as soon as ANY
|
|
12
|
+
* subscriber has a priority > 0 (`internal.priority` in the fiber store). The
|
|
13
|
+
* camera spring at {@link FRAME_ORDER.CAMERA_SMOOTHING} is always mounted, so
|
|
14
|
+
* this package is permanently in manual-render mode and something MUST present
|
|
15
|
+
* at {@link FRAME_ORDER.SCREEN_PRESENT} or the canvas freezes.
|
|
16
|
+
*
|
|
17
|
+
* The three sub-zero camera stages sit between two fixed points we do not own:
|
|
18
|
+
* drei's `OrbitControls` hard-codes its `controls.update()` at
|
|
19
|
+
* {@link FRAME_ORDER.CONTROLS_UPDATE}, and drei's `<Html>` overlays project at
|
|
20
|
+
* the default 0. That is why {@link FRAME_ORDER.CAMERA_ANIMATION} and
|
|
21
|
+
* {@link FRAME_ORDER.CAMERA_PRE_HTML_SNAP} are fractional — the only room to
|
|
22
|
+
* order them explicitly is inside that window.
|
|
23
|
+
*/
|
|
24
|
+
export declare const FRAME_ORDER: {
|
|
25
|
+
/**
|
|
26
|
+
* Frame-rate-independent OrbitControls damping (`useCameraSmoothing`).
|
|
27
|
+
* Must land before {@link FRAME_ORDER.CONTROLS_UPDATE} so the dt-corrected
|
|
28
|
+
* `dampingFactor` is in place for this frame's `(1 - dampingFactor)` decay.
|
|
29
|
+
*/
|
|
30
|
+
readonly CONTROLS_DAMPING_SYNC: -2;
|
|
31
|
+
/**
|
|
32
|
+
* drei `OrbitControls.update()` — writes the **proxy** camera (user-intent
|
|
33
|
+
* pose). Owned by `@react-three/drei` and not settable from here; listed so
|
|
34
|
+
* the stages around it are readable. Pinned at -1 in drei's source.
|
|
35
|
+
*/
|
|
36
|
+
readonly CONTROLS_UPDATE: -1;
|
|
37
|
+
/**
|
|
38
|
+
* Programmatic camera fly (`useCameraAnimation`) advances the proxy.
|
|
39
|
+
* After OrbitControls (which is disabled mid-fly, so running behind it is
|
|
40
|
+
* free) and before the pre-`<Html>` snap that mirrors the pose it produced.
|
|
41
|
+
*/
|
|
42
|
+
readonly CAMERA_ANIMATION: -0.9;
|
|
43
|
+
/**
|
|
44
|
+
* Pre-`<Html>` snap (`useCameraSmoothing`): mirrors real ← proxy during a
|
|
45
|
+
* programmatic animation. Must sit after {@link FRAME_ORDER.CAMERA_ANIMATION}
|
|
46
|
+
* (it reads the pose that stage just wrote) and before drei's `<Html>`
|
|
47
|
+
* overlays project through the real camera at the default 0 — otherwise the
|
|
48
|
+
* DOM overlays lag a frame and swim during a focus fly.
|
|
49
|
+
*/
|
|
50
|
+
readonly CAMERA_PRE_HTML_SNAP: -0.8;
|
|
51
|
+
/**
|
|
52
|
+
* Everything with no explicit priority: drei `<Html>`, the sibling camera
|
|
53
|
+
* hooks that write the proxy (auto-frame, auto-rotate, constraints, view-mode
|
|
54
|
+
* transition), dimension-line fades, overlays, the analyzer probes. Not passed
|
|
55
|
+
* anywhere — R3F's own default. Listed so the window it occupies is visible.
|
|
56
|
+
*/
|
|
57
|
+
readonly DEFAULT: 0;
|
|
58
|
+
/**
|
|
59
|
+
* Camera chase spring (`useCameraSmoothing`) — springs the **real** (rendered)
|
|
60
|
+
* camera toward the proxy. Must land after OrbitControls and after every
|
|
61
|
+
* default-priority sibling hook that writes the proxy, so it springs toward
|
|
62
|
+
* this frame's final user-intent pose.
|
|
63
|
+
*/
|
|
64
|
+
readonly CAMERA_SMOOTHING: 1;
|
|
65
|
+
/**
|
|
66
|
+
* Water: heightfield sim, screen-space-refraction scene capture,
|
|
67
|
+
* caustics bake, uniform publish. Must run AFTER
|
|
68
|
+
* {@link FRAME_ORDER.CAMERA_SMOOTHING} so the capture and the `eye` uniform
|
|
69
|
+
* read the same settled pose the surface is later composited from — at the
|
|
70
|
+
* default 0 the capture ran before the spring advanced the rendered camera
|
|
71
|
+
* while the composite ran after it, so the underwater view lagged the camera
|
|
72
|
+
* by a frame of motion (worst at low fps / high DPR).
|
|
73
|
+
*/
|
|
74
|
+
readonly WATER_CAPTURE: 2;
|
|
75
|
+
/**
|
|
76
|
+
* The screen present. Exactly one of two mutually exclusive call sites
|
|
77
|
+
* occupies this stage (`SceneEnvironment` picks between them):
|
|
78
|
+
* the pmndrs `EffectComposer` composite, or the plain `gl.render` fallback
|
|
79
|
+
* for the no-post-processing path. Same ordinal on purpose — the frame order
|
|
80
|
+
* is identical either way. After {@link FRAME_ORDER.WATER_CAPTURE} so the
|
|
81
|
+
* composite draws the water surface against a same-pose refraction texture.
|
|
82
|
+
*/
|
|
83
|
+
readonly SCREEN_PRESENT: 3;
|
|
84
|
+
/**
|
|
85
|
+
* Screenshot readback (`useCaptureEngine`) — reads the canvas via
|
|
86
|
+
* `toDataURL`, so it must run after {@link FRAME_ORDER.SCREEN_PRESENT} has
|
|
87
|
+
* drawn this frame into the default framebuffer.
|
|
88
|
+
*/
|
|
89
|
+
readonly SCREENSHOT_READBACK: 4;
|
|
90
|
+
};
|
|
91
|
+
//# sourceMappingURL=frameOrder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"frameOrder.d.ts","sourceRoot":"","sources":["../../../../../src/core/frameOrder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,WAAW;IACtB;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;;;OAMG;;IAGH;;;;;OAKG;;IAGH;;;;;OAKG;;IAGH;;;;;;;;OAQG;;IAGH;;;;;;;OAOG;;IAGH;;;;OAIG;;CAEK,CAAC"}
|