@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,55 @@
|
|
|
1
|
+
import { type FootprintPoint } from './polygon2d';
|
|
2
|
+
export interface TraceFootprintOptions {
|
|
3
|
+
/** Raster cell size (m) — the fidelity floor of the trace. Default 0.005. */
|
|
4
|
+
cellSize?: number;
|
|
5
|
+
/** Douglas–Peucker tolerance (m) for the traced contour. Default = cellSize. */
|
|
6
|
+
simplifyTolerance?: number;
|
|
7
|
+
/**
|
|
8
|
+
* Gap (m) the morphological closing bridges — seams between separately
|
|
9
|
+
* modelled rim parts must not split the contour. Kept as a DISTANCE rather
|
|
10
|
+
* than a cell count so raising the resolution doesn't weaken the sealing.
|
|
11
|
+
* Default 0.02.
|
|
12
|
+
*/
|
|
13
|
+
closeGap?: number;
|
|
14
|
+
/**
|
|
15
|
+
* Offset (m) applied to the silhouette before its contour is traced —
|
|
16
|
+
* negative shrinks it, positive grows it. Default 0.
|
|
17
|
+
*
|
|
18
|
+
* Done on the RASTER (see {@link offsetMask}) rather than on the finished
|
|
19
|
+
* polygon: a per-vertex miter offset cuts the corner wherever two edges meet
|
|
20
|
+
* at a sharp angle and crosses itself across any concavity narrower than the
|
|
21
|
+
* offset, both of which leave the contour cutting into the shape.
|
|
22
|
+
*/
|
|
23
|
+
offset?: number;
|
|
24
|
+
/**
|
|
25
|
+
* Mutable out-parameter the trace fills with what it actually did. Reading it
|
|
26
|
+
* is the only way to tell a clean single-contour trace from one where the
|
|
27
|
+
* offset split the mask and a whole component (a step, a spa end) was
|
|
28
|
+
* dropped, since both return a perfectly valid-looking polygon.
|
|
29
|
+
*/
|
|
30
|
+
diagnostics?: TraceDiagnostics;
|
|
31
|
+
}
|
|
32
|
+
/** What a trace did internally — see {@link TraceFootprintOptions.diagnostics}. */
|
|
33
|
+
export interface TraceDiagnostics {
|
|
34
|
+
/** Mask cells set after closing and offsetting. */
|
|
35
|
+
filledCells: number;
|
|
36
|
+
/** Cells added by solidifying the silhouette — large for a ring-shaped projection (a basin rim). */
|
|
37
|
+
enclosedFilled: number;
|
|
38
|
+
/** Closed contours marching squares found. More than one means the shape is in pieces. */
|
|
39
|
+
loops: number;
|
|
40
|
+
/** Area of the contour kept, as a share of ALL contours' area. Below 1 means components were dropped. */
|
|
41
|
+
chosenAreaShare: number;
|
|
42
|
+
/** Contour points before Douglas-Peucker, and after. */
|
|
43
|
+
pointsBeforeSimplify: number;
|
|
44
|
+
pointsAfterSimplify: number;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Trace the outer silhouette of a triangle soup already projected onto the
|
|
48
|
+
* plane: `triangleXZ` holds 6 numbers per triangle (x0 z0 x1 z1 x2 z2). The
|
|
49
|
+
* triangles are rasterized into a binary mask (cell centers + vertices + edge
|
|
50
|
+
* samples, then a 3×3 closing to seal sliver gaps), the mask is contoured with
|
|
51
|
+
* marching squares, and the largest closed loop is simplified. Returns [] when
|
|
52
|
+
* nothing usable comes out (fewer than 3 triangles, degenerate extent).
|
|
53
|
+
*/
|
|
54
|
+
export declare function traceFootprintFromTriangles(triangleXZ: ArrayLike<number>, options?: TraceFootprintOptions): FootprintPoint[];
|
|
55
|
+
//# sourceMappingURL=footprintTrace.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"footprintTrace.d.ts","sourceRoot":"","sources":["../../../../../src/utils/footprintTrace.ts"],"names":[],"mappings":"AAMA,OAAO,EAA4C,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAc5F,MAAM,WAAW,qBAAqB;IACpC,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gFAAgF;IAChF,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;;;OAQG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,gBAAgB,CAAC;CAChC;AAED,mFAAmF;AACnF,MAAM,WAAW,gBAAgB;IAC/B,mDAAmD;IACnD,WAAW,EAAE,MAAM,CAAC;IACpB,oGAAoG;IACpG,cAAc,EAAE,MAAM,CAAC;IACvB,0FAA0F;IAC1F,KAAK,EAAE,MAAM,CAAC;IACd,yGAAyG;IACzG,eAAe,EAAE,MAAM,CAAC;IACxB,wDAAwD;IACxD,oBAAoB,EAAE,MAAM,CAAC;IAC7B,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CAAC,UAAU,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,OAAO,GAAE,qBAA0B,GAAG,cAAc,EAAE,CAkJhI"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"footprintTrace.test.d.ts","sourceRoot":"","sources":["../../../../../src/utils/footprintTrace.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Vector3 } from 'three';
|
|
2
|
+
import type { Object3D } from 'three';
|
|
3
|
+
import type { ViewAngle } from '../types/camera';
|
|
4
|
+
interface GeoFrameResult {
|
|
5
|
+
center: Vector3;
|
|
6
|
+
radius: number;
|
|
7
|
+
angle: ViewAngle;
|
|
8
|
+
padding: number;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Frame a geo using a geometry-derived viewing angle. Uses the true bbox
|
|
12
|
+
* center and computes the framing radius from the bbox's vertical and
|
|
13
|
+
* horizontal extent so tall/thin geos are never clipped.
|
|
14
|
+
*/
|
|
15
|
+
export declare function frameGeoObject(obj: Object3D, baseAngle: ViewAngle, padding: number, aspect?: number): GeoFrameResult | null;
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=geoViewAngle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"geoViewAngle.d.ts","sourceRoot":"","sources":["../../../../../src/utils/geoViewAngle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAA8B,MAAM,OAAO,CAAC;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAwB,MAAM,OAAO,CAAC;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAuJjD,UAAU,cAAc;IACtB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,SAAS,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAgB3H"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { DRACOLoader } from 'three/examples/jsm/loaders/DRACOLoader.js';
|
|
2
|
+
import { type GLTF } from 'three/examples/jsm/loaders/GLTFLoader.js';
|
|
3
|
+
/**
|
|
4
|
+
* Returns a singleton DRACOLoader configured with the Google CDN decoder path.
|
|
5
|
+
*
|
|
6
|
+
* `preload()` starts the decoder (wasm wrapper + wasm) download right here instead of leaving it
|
|
7
|
+
* to the first `decodeDracoFile` call — which only happens once a GLB has finished downloading and
|
|
8
|
+
* parsing, putting a cold CDN round trip in series behind every asset. Kicking it at construction
|
|
9
|
+
* puts that fetch in parallel with the GLB download it is going to decode.
|
|
10
|
+
*/
|
|
11
|
+
export declare function getSharedDracoLoader(): DRACOLoader;
|
|
12
|
+
/**
|
|
13
|
+
* Starts the Draco decoder download without needing a GLB URL yet, so it can overlap whatever else
|
|
14
|
+
* the boot is doing. Idempotent — it just builds the shared loader, which preloads.
|
|
15
|
+
*/
|
|
16
|
+
export declare function preloadDracoDecoder(): void;
|
|
17
|
+
/**
|
|
18
|
+
* The article-geo GLB cache: one download + Draco decode per URL, shared by
|
|
19
|
+
* BOTH consumers of a geo asset — the boot preload pass (`preloadGeoAssets`)
|
|
20
|
+
* and the render path (`GeoLoader` suspends on the same promise). Callers must
|
|
21
|
+
* treat the loaded scene graph as immutable and shared: clone before
|
|
22
|
+
* mutating/reparenting, never dispose its geometries/materials.
|
|
23
|
+
*
|
|
24
|
+
* A rejected load is evicted so a later attempt retries; in-flight and
|
|
25
|
+
* resolved entries are kept for the lifetime of the page.
|
|
26
|
+
*/
|
|
27
|
+
export declare function loadGLTFCached(url: string): Promise<GLTF>;
|
|
28
|
+
/**
|
|
29
|
+
* The cache entry for `url` if there is one (in-flight included), otherwise `undefined`. For
|
|
30
|
+
* warm-up passes that may only act on geos someone else already loaded and must never start a
|
|
31
|
+
* download themselves — see `warmStandardMaterials`.
|
|
32
|
+
*/
|
|
33
|
+
export declare function peekGLTFCached(url: string): Promise<GLTF> | undefined;
|
|
34
|
+
//# sourceMappingURL=gltfLoader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gltfLoader.d.ts","sourceRoot":"","sources":["../../../../../src/utils/gltfLoader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,2CAA2C,CAAC;AACxE,OAAO,EAAc,KAAK,IAAI,EAAE,MAAM,0CAA0C,CAAC;AASjF;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,IAAI,WAAW,CAQlD;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C;AAMD;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAezD;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAErE"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { AllGrids, FreePlacesOnGrids, PlannedPlacesOnGrids } from '../types/accessoryGrids';
|
|
2
|
+
export interface GridGeometryRequest {
|
|
3
|
+
constructorServiceUrl: string;
|
|
4
|
+
jwt?: string;
|
|
5
|
+
catalogCodex: string;
|
|
6
|
+
iln: string;
|
|
7
|
+
planned: PlannedPlacesOnGrids[];
|
|
8
|
+
freePlaces: FreePlacesOnGrids[];
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Fetch the server-computed grid + accessory geometry for one catalog, session-cached and
|
|
12
|
+
* in-flight-deduped. Resolves to `null` when there is nothing to apply — a duplicate request is
|
|
13
|
+
* already running, or the fetch failed (logged, never thrown: missing geometry only means the
|
|
14
|
+
* accessory boxes don't render).
|
|
15
|
+
*/
|
|
16
|
+
export declare function fetchGridGeometry(request: GridGeometryRequest): Promise<AllGrids[] | null>;
|
|
17
|
+
//# sourceMappingURL=gridGeometryApi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gridGeometryApi.d.ts","sourceRoot":"","sources":["../../../../../src/utils/gridGeometryApi.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAYjG,MAAM,WAAW,mBAAmB;IAClC,qBAAqB,EAAE,MAAM,CAAC;IAC9B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,oBAAoB,EAAE,CAAC;IAChC,UAAU,EAAE,iBAAiB,EAAE,CAAC;CACjC;AAqBD;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,CA8ChG"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/** Floats per triangle in the soup: (x, z, u, v) per vertex. */
|
|
2
|
+
export declare const UV_TRIANGLE_STRIDE = 12;
|
|
3
|
+
/** One affine UV mapping over XZ: `u = ux·x + uz·z + u0`, likewise for v. */
|
|
4
|
+
export interface AffineUV {
|
|
5
|
+
ux: number;
|
|
6
|
+
uz: number;
|
|
7
|
+
u0: number;
|
|
8
|
+
vx: number;
|
|
9
|
+
vz: number;
|
|
10
|
+
v0: number;
|
|
11
|
+
/**
|
|
12
|
+
* RMS error of the fit expressed along the surface (m) — how far the mapped
|
|
13
|
+
* pattern lands from where the source triangles actually put it. Near zero
|
|
14
|
+
* means the source really is one plane at one density and the mapping can be
|
|
15
|
+
* used wholesale; anything else means it is not, and only the local sampler
|
|
16
|
+
* can continue it faithfully.
|
|
17
|
+
*/
|
|
18
|
+
residualMetres: number;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Least-squares fit of ONE affine mapping over every vertex in the soup.
|
|
22
|
+
*
|
|
23
|
+
* Where it fits (a planar unwrap at uniform density), it beats
|
|
24
|
+
* {@link sampleNearestTriangleUV} on generated geometry: the local sampler
|
|
25
|
+
* decides per vertex, so two ends of a generated triangle can land on different
|
|
26
|
+
* source triangles and the interpolation between them blends two mappings —
|
|
27
|
+
* a visible shear, worst on long thin triangles like those a curved outline
|
|
28
|
+
* produces. One mapping for every vertex cannot shear. Check
|
|
29
|
+
* {@link AffineUV.residualMetres} before trusting it.
|
|
30
|
+
*/
|
|
31
|
+
export declare function fitAffineUV(triangles: Float32Array, triangleCount: number): AffineUV | null;
|
|
32
|
+
/**
|
|
33
|
+
* Uniform XZ grid over a triangle soup, so a nearest-triangle query touches a
|
|
34
|
+
* handful of cells instead of every triangle. Build it once per surface with
|
|
35
|
+
* {@link buildTriangleGridIndex} and pass it to {@link sampleNearestTriangleUV},
|
|
36
|
+
* which then returns exactly what the linear scan returns — same triangle, same
|
|
37
|
+
* tie-break, same UV.
|
|
38
|
+
*/
|
|
39
|
+
export interface TriangleGridIndex {
|
|
40
|
+
/** The soup this index describes; a different count means it is stale and is ignored. */
|
|
41
|
+
triangleCount: number;
|
|
42
|
+
minX: number;
|
|
43
|
+
minZ: number;
|
|
44
|
+
cellSize: number;
|
|
45
|
+
cols: number;
|
|
46
|
+
rows: number;
|
|
47
|
+
/** CSR offsets: cell `c` holds `cellItems[cellStart[c] … cellStart[c + 1])`. */
|
|
48
|
+
cellStart: Int32Array;
|
|
49
|
+
/** Triangle indices per cell, ascending. */
|
|
50
|
+
cellItems: Int32Array;
|
|
51
|
+
/**
|
|
52
|
+
* Triangles no cell can stand in for — scanned on every query. Three kinds:
|
|
53
|
+
* non-finite XZ; zero area, whose inside test reports distance 0 for ANY point
|
|
54
|
+
* and so cannot be pruned by position at all; and triangles spanning more
|
|
55
|
+
* cells than it is worth registering them in.
|
|
56
|
+
*/
|
|
57
|
+
extras: Int32Array;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Uniform grid over the soup's XZ bounds, each triangle registered in every cell
|
|
61
|
+
* its bounding box overlaps. Build it once per surface — it depends on the soup
|
|
62
|
+
* alone — and reuse it for every query against that soup.
|
|
63
|
+
*
|
|
64
|
+
* Cell size is the larger of the mean triangle extent and the size that puts
|
|
65
|
+
* about one triangle in a cell: smaller than the triangles themselves only
|
|
66
|
+
* multiplies registrations without narrowing a query, larger leaves too many
|
|
67
|
+
* triangles per cell to skip.
|
|
68
|
+
*
|
|
69
|
+
* Returns null when an index would not pay for itself or could not be trusted —
|
|
70
|
+
* too few triangles, a soup that is one point, or too much of it non-finite. The
|
|
71
|
+
* caller then scans linearly, which is what the index reproduces anyway.
|
|
72
|
+
*/
|
|
73
|
+
export declare function buildTriangleGridIndex(triangles: ArrayLike<number>, triangleCount: number): TriangleGridIndex | null;
|
|
74
|
+
/**
|
|
75
|
+
* UV at (x, z) taken from the triangle nearest to it, evaluated through that
|
|
76
|
+
* triangle's own affine mapping. Points outside the triangle EXTRAPOLATE it,
|
|
77
|
+
* which is the point: the sampled position generally lies in the hole beside
|
|
78
|
+
* the surface, and extrapolating its neighbour's plank mapping continues the
|
|
79
|
+
* pattern across the seam.
|
|
80
|
+
*
|
|
81
|
+
* `triangles` holds {@link UV_TRIANGLE_STRIDE} floats per triangle:
|
|
82
|
+
* `x0, z0, u0, v0, x1, z1, u1, v1, x2, z2, u2, v2`. Returns null for an empty
|
|
83
|
+
* soup or when every triangle is degenerate in XZ.
|
|
84
|
+
*
|
|
85
|
+
* Pass the soup's {@link TriangleGridIndex} to skip the linear scan over every
|
|
86
|
+
* triangle; the result is identical either way.
|
|
87
|
+
*/
|
|
88
|
+
export declare function sampleNearestTriangleUV(triangles: ArrayLike<number>, triangleCount: number, x: number, z: number, index?: TriangleGridIndex | null): [u: number, v: number] | null;
|
|
89
|
+
//# sourceMappingURL=localUVSampler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"localUVSampler.d.ts","sourceRoot":"","sources":["../../../../../src/utils/localUVSampler.ts"],"names":[],"mappings":"AAeA,gEAAgE;AAChE,eAAO,MAAM,kBAAkB,KAAK,CAAC;AAIrC,6EAA6E;AAC7E,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX;;;;;;OAMG;IACH,cAAc,EAAE,MAAM,CAAC;CACxB;AAcD;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CA2D3F;AAmED;;;;;;GAMG;AACH,MAAM,WAAW,iBAAiB;IAChC,yFAAyF;IACzF,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,gFAAgF;IAChF,SAAS,EAAE,UAAU,CAAC;IACtB,4CAA4C;IAC5C,SAAS,EAAE,UAAU,CAAC;IACtB;;;;;OAKG;IACH,MAAM,EAAE,UAAU,CAAC;CACpB;AAkBD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,aAAa,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI,CA2GpH;AA2ED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,EAC5B,aAAa,EAAE,MAAM,EACrB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,KAAK,CAAC,EAAE,iBAAiB,GAAG,IAAI,GAC/B,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,GAAG,IAAI,CAwB/B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"localUVSampler.test.d.ts","sourceRoot":"","sources":["../../../../../src/utils/localUVSampler.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Box3, Object3D, Vector3 } from 'three';
|
|
2
|
+
import type { OverlayAnchor } from '../types/environment';
|
|
3
|
+
/**
|
|
4
|
+
* Tight local-space AABB built from child geometry bounds.
|
|
5
|
+
* Transforms each geometry's bbox directly into the element's local
|
|
6
|
+
* frame — no intermediate world-space AABB that would inflate when
|
|
7
|
+
* the element is rotated.
|
|
8
|
+
*/
|
|
9
|
+
export declare function getLocalBoundingBox(object: Object3D): Box3;
|
|
10
|
+
/**
|
|
11
|
+
* Returns a point on the top face of the local-space AABB at the given corner.
|
|
12
|
+
* "top/bottom" maps to the Z axis (top = min.z = back in world, top in plan view).
|
|
13
|
+
* "left/right" maps to the X axis.
|
|
14
|
+
* Y is always bbox.max.y + offset (floating above the element).
|
|
15
|
+
*
|
|
16
|
+
* `inset` pulls the point in from the edges toward the element centre (world units, clamped to the
|
|
17
|
+
* half-extent so it never crosses centre). Used to keep the trash icon off the shared edge where a
|
|
18
|
+
* docked neighbour's posNr badge sits at the same corner.
|
|
19
|
+
*/
|
|
20
|
+
export declare function getCornerLocal(bbox: Box3, anchor: OverlayAnchor, inset?: number): Vector3;
|
|
21
|
+
export type SideCenter = 'left' | 'right' | 'top';
|
|
22
|
+
/**
|
|
23
|
+
* Anchor point on one face of the local-space AABB, for 3D chrome that hangs off an element's
|
|
24
|
+
* side. `left`/`right` return the X face centre at mid height; `top` returns the TOP face centre
|
|
25
|
+
* (`max.y`), not a plan-view side. Falls back to `(0, 0.05, 0)` for an empty box.
|
|
26
|
+
*/
|
|
27
|
+
export declare function getSideCenterLocal(bbox: Box3, side: SideCenter): Vector3;
|
|
28
|
+
//# sourceMappingURL=overlayGeometry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"overlayGeometry.d.ts","sourceRoot":"","sources":["../../../../../src/utils/overlayGeometry.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,IAAI,EAAW,QAAQ,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAgB1D;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,QAAQ,GAAG,IAAI,CA8B1D;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,SAAI,GAAG,OAAO,CAOpF;AAED,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC;AAElD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAQxE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"overlayGeometry.test.d.ts","sourceRoot":"","sources":["../../../../../src/utils/overlayGeometry.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/** A point in the ground plane, as `[x, z]`. */
|
|
2
|
+
export type PointXZ = [number, number];
|
|
3
|
+
/** Rotates `(x, z)` about the origin by `angle` radians. */
|
|
4
|
+
export declare function rotateXZ(x: number, z: number, angle: number): PointXZ;
|
|
5
|
+
/**
|
|
6
|
+
* Lands a rotated offset on an origin: `origin + rotateXZ(dx, dz, angle)`.
|
|
7
|
+
*
|
|
8
|
+
* Adds inside the same expression rather than rotating and adding in two steps.
|
|
9
|
+
* Callers that measure a span between results (bounding boxes, dimension values)
|
|
10
|
+
* are sensitive to the rounding of that intermediate, so the two forms are not
|
|
11
|
+
* interchangeable — use {@link rotateXZ} where the rotated offset is wanted on
|
|
12
|
+
* its own.
|
|
13
|
+
*/
|
|
14
|
+
export declare function translateRotatedXZ(originX: number, originZ: number, dx: number, dz: number, angle: number): PointXZ;
|
|
15
|
+
/**
|
|
16
|
+
* Orbits `(x, z)` about `(pivotX, pivotZ)` by `angle` radians —
|
|
17
|
+
* `pivot + rotateXZ(point − pivot)`.
|
|
18
|
+
*/
|
|
19
|
+
export declare function rotateXZAroundPivot(x: number, z: number, pivotX: number, pivotZ: number, angle: number): PointXZ;
|
|
20
|
+
//# sourceMappingURL=planarTransform.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"planarTransform.d.ts","sourceRoot":"","sources":["../../../../../src/utils/planarTransform.ts"],"names":[],"mappings":"AAiBA,gDAAgD;AAChD,MAAM,MAAM,OAAO,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEvC,4DAA4D;AAC5D,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAIrE;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAInH;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAEhH"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"planarTransform.test.d.ts","sourceRoot":"","sources":["../../../../../src/utils/planarTransform.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/** 2D point; axis meaning depends on context (path space: x/y, floor space: x/z). */
|
|
2
|
+
export type FootprintPoint = [number, number];
|
|
3
|
+
/** Shoelace signed area — positive for counter-clockwise winding (y-up convention). */
|
|
4
|
+
export declare function polygonSignedArea(points: readonly FootprintPoint[]): number;
|
|
5
|
+
/** Douglas–Peucker for a closed polygon: split at the point farthest from the start, simplify both halves. */
|
|
6
|
+
export declare function simplifyClosedPolygon(points: readonly FootprintPoint[], tolerance: number): FootprintPoint[];
|
|
7
|
+
/** True when no two non-adjacent edges of the closed polygon cross. O(n²) — fine for outline-sized input. */
|
|
8
|
+
export declare function isSimplePolygon(points: readonly FootprintPoint[]): boolean;
|
|
9
|
+
/** Convex hull (Andrew's monotone chain), counter-clockwise. */
|
|
10
|
+
export declare function convexHull(points: readonly FootprintPoint[]): FootprintPoint[];
|
|
11
|
+
/**
|
|
12
|
+
* Guarantee a polygon a triangulator can use. A self-intersecting outline is
|
|
13
|
+
* NOT rejected by earcut — it silently produces garbage (a stray wedge across
|
|
14
|
+
* the shape), so anything feeding generated geometry has to be checked first.
|
|
15
|
+
*
|
|
16
|
+
* The repair is the convex hull: a pool/article silhouette is convex or nearly
|
|
17
|
+
* so, which makes the hull a close and always-simple stand-in — visibly a
|
|
18
|
+
* little too generous rather than visibly broken. Returns null when even that
|
|
19
|
+
* degenerates.
|
|
20
|
+
*/
|
|
21
|
+
export declare function ensureSimplePolygon(points: readonly FootprintPoint[]): {
|
|
22
|
+
points: FootprintPoint[];
|
|
23
|
+
repaired: boolean;
|
|
24
|
+
} | null;
|
|
25
|
+
//# sourceMappingURL=polygon2d.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"polygon2d.d.ts","sourceRoot":"","sources":["../../../../../src/utils/polygon2d.ts"],"names":[],"mappings":"AAIA,qFAAqF;AACrF,MAAM,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAI9C,uFAAuF;AACvF,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,cAAc,EAAE,GAAG,MAAM,CAQ3E;AA6BD,8GAA8G;AAC9G,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,cAAc,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,cAAc,EAAE,CAgB5G;AAeD,6GAA6G;AAC7G,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,cAAc,EAAE,GAAG,OAAO,CAe1E;AAED,gEAAgE;AAChE,wBAAgB,UAAU,CAAC,MAAM,EAAE,SAAS,cAAc,EAAE,GAAG,cAAc,EAAE,CAe9E;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,cAAc,EAAE,GAAG;IAAE,MAAM,EAAE,cAAc,EAAE,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAa7H"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { ResolvedEnvironmentConfig } from '../types/environment';
|
|
2
|
+
/**
|
|
3
|
+
* Starts the two heavy environment downloads — the equirect behind the skydome / IBL and the
|
|
4
|
+
* environment GLB — as soon as the environment is known, instead of when the components that
|
|
5
|
+
* consume them mount.
|
|
6
|
+
*
|
|
7
|
+
* Those components live inside the R3F `<Canvas>`, so without this their fetches queue behind
|
|
8
|
+
* WebGL context creation. The equirect lands in the very cache the consumers read
|
|
9
|
+
* (`utils/equirectCache`), so nothing is fetched twice.
|
|
10
|
+
*
|
|
11
|
+
* Fire-and-forget by design: it starts requests and never blocks or reports. The consumer that
|
|
12
|
+
* actually needs an asset surfaces the failure.
|
|
13
|
+
*/
|
|
14
|
+
export declare function preloadEnvironmentAssets(env: ResolvedEnvironmentConfig): void;
|
|
15
|
+
//# sourceMappingURL=preloadEnvironment.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preloadEnvironment.d.ts","sourceRoot":"","sources":["../../../../../src/utils/preloadEnvironment.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAkCtE;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,yBAAyB,GAAG,IAAI,CAgB7E"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Profile merge / diff / path-manipulation helpers.
|
|
3
|
+
*
|
|
4
|
+
* The performance-profile feature stores one config per tier:
|
|
5
|
+
*
|
|
6
|
+
* - `high` full {@link EnvironmentConfig} baseline (always present).
|
|
7
|
+
* - others? sparse {@link RecursivePartial} override on top of `high`.
|
|
8
|
+
*
|
|
9
|
+
* Each lower tier is computed independently from `high` (the lower tiers do
|
|
10
|
+
* NOT chain through medium). This keeps "diff vs high" unambiguous and easy
|
|
11
|
+
* to display in the analyzer's diff panel.
|
|
12
|
+
*
|
|
13
|
+
* Config leaves may hold {@link TieredAsset} objects; {@link mergeProfile}
|
|
14
|
+
* flattens those to the active tier so downstream consumers receive plain `T`.
|
|
15
|
+
*/
|
|
16
|
+
import { type EnvironmentConfig, type OverrideProfileTier, type PerformanceProfiles, type PerformanceProfileTier, type RecursivePartial, type TieredAsset } from '../types/environment';
|
|
17
|
+
/**
|
|
18
|
+
* Collapse a {@link TieredAsset} to its value at the active tier. Fallback
|
|
19
|
+
* chain when a tier bucket is missing (or explicitly `undefined`):
|
|
20
|
+
*
|
|
21
|
+
* - `low` / `mobileLow` → `low` → `medium` → `high`
|
|
22
|
+
* - `medium` / `mobileHigh` → `medium` → `high` → `low`
|
|
23
|
+
* - `high` → `high` → `medium` → `low`
|
|
24
|
+
*
|
|
25
|
+
* Plain scalar / array / non-tiered values pass through unchanged.
|
|
26
|
+
*/
|
|
27
|
+
export declare function resolveTieredAsset<T>(value: TieredAsset<T>, tier: PerformanceProfileTier): T;
|
|
28
|
+
/** Step one rung within `tier`'s ladder; `null` at the ends or for unknown tiers. */
|
|
29
|
+
export declare function stepTier(tier: PerformanceProfileTier, direction: 'up' | 'down'): PerformanceProfileTier | null;
|
|
30
|
+
/**
|
|
31
|
+
* Compute the effective {@link EnvironmentConfig} for the active performance
|
|
32
|
+
* tier:
|
|
33
|
+
*
|
|
34
|
+
* 1. Deep-clone {@link PerformanceProfiles.high} (always-present baseline).
|
|
35
|
+
* 2. For any other tier, deep-merge that tier's override partial on top.
|
|
36
|
+
* 3. Walk {@link TIERED_ASSET_PATHS} and flatten any per-tier asset object
|
|
37
|
+
* to its plain value for the active tier.
|
|
38
|
+
*
|
|
39
|
+
* The returned config is safe to pass straight into `resolveEnvironment` —
|
|
40
|
+
* no tier-aware values remain.
|
|
41
|
+
*/
|
|
42
|
+
export declare function mergeProfile(profiles: PerformanceProfiles, tier: PerformanceProfileTier): EnvironmentConfig;
|
|
43
|
+
/**
|
|
44
|
+
* Remove the leaf at a dotted `path` inside `obj`. After removal, walks back
|
|
45
|
+
* up and prunes any parent object that's now empty — keeping the override
|
|
46
|
+
* partials minimal (so `diffProfileFromHigh` never reports phantom paths).
|
|
47
|
+
*
|
|
48
|
+
* Returns `true` if a defined value was actually removed. A key explicitly
|
|
49
|
+
* holding `undefined` is pruned but not reported — `mergeProfile` skips
|
|
50
|
+
* undefined leaves, so such a key never acted as an override.
|
|
51
|
+
*/
|
|
52
|
+
export declare function clearProfileValueByPath(obj: Record<string, unknown>, path: string): boolean;
|
|
53
|
+
/**
|
|
54
|
+
* Read the leaf value at a dotted `path` inside `obj`. Returns `undefined`
|
|
55
|
+
* if any segment is missing or hits a non-object scalar before the leaf.
|
|
56
|
+
*/
|
|
57
|
+
export declare function getValueByPath(obj: Record<string, unknown>, path: string): unknown;
|
|
58
|
+
/** Single override entry surfaced by {@link diffProfileFromHigh}. */
|
|
59
|
+
export interface ProfileOverrideEntry {
|
|
60
|
+
/** Dotted path inside `EnvironmentConfig`. */
|
|
61
|
+
path: string;
|
|
62
|
+
/** Value stored in the override partial. */
|
|
63
|
+
overrideValue: unknown;
|
|
64
|
+
/** Corresponding value in the `high` config (may be `undefined`). */
|
|
65
|
+
highValue: unknown;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Walk every leaf in `override` and report it as a path-keyed override
|
|
69
|
+
* against `high`. Used by the analyzer's diff panel to list "where does
|
|
70
|
+
* this tier differ from high?" and offer per-path reset buttons.
|
|
71
|
+
*
|
|
72
|
+
* Arrays are treated as leaves (we don't diff inside arrays — the override
|
|
73
|
+
* either replaces the whole array or doesn't touch it). Leaves explicitly
|
|
74
|
+
* set to `undefined` are skipped — `mergeProfile` ignores them, so they
|
|
75
|
+
* never act as overrides.
|
|
76
|
+
*/
|
|
77
|
+
export declare function diffProfileFromHigh(high: EnvironmentConfig, override: RecursivePartial<EnvironmentConfig> | undefined): ProfileOverrideEntry[];
|
|
78
|
+
/** Per-path entry returned by {@link propagateHighEditAndCollectClearedOverrides}. */
|
|
79
|
+
export interface ClearedOverride {
|
|
80
|
+
tier: OverrideProfileTier;
|
|
81
|
+
path: string;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* After a patch lands on the `high` profile, walk every leaf in that patch
|
|
85
|
+
* and remove the same path from the lower-tier override profiles.
|
|
86
|
+
*
|
|
87
|
+
* Rationale: A lower-tier override is a delta from `high`. If `high` itself
|
|
88
|
+
* changes at path P, the lower-tier value at P may no longer carry the
|
|
89
|
+
* meaning the user originally intended ("this is the perf-reduced variant
|
|
90
|
+
* of the old high value"). The least-surprise default is to drop the
|
|
91
|
+
* stale delta and let the lower tier inherit the new high value. The
|
|
92
|
+
* analyzer surfaces the list of cleared paths via a toast so the change is
|
|
93
|
+
* never silent.
|
|
94
|
+
*
|
|
95
|
+
* A leaf only counts as changed when `priorHigh[path]` differs from the
|
|
96
|
+
* (already-merged) `profiles.high[path]` — a patch that merely re-states the
|
|
97
|
+
* current high value must not drop lower-tier deltas. `profiles.high` must
|
|
98
|
+
* already be the *new* (post-merge) baseline by the time this is called.
|
|
99
|
+
*
|
|
100
|
+
* Mutates the lower-tier overrides in place (removing keys and collapsing
|
|
101
|
+
* empty parents); an override left empty is dropped from the bundle
|
|
102
|
+
* entirely so exported JSON never carries phantom `{}` tiers. Returns the
|
|
103
|
+
* list of cleared paths for the toast.
|
|
104
|
+
*/
|
|
105
|
+
export declare function propagateHighEditAndCollectClearedOverrides(profiles: PerformanceProfiles, highPatch: RecursivePartial<EnvironmentConfig>, priorHigh: EnvironmentConfig): ClearedOverride[];
|
|
106
|
+
/**
|
|
107
|
+
* Default profile bundle used when the host doesn't pass `profiles` via
|
|
108
|
+
* {@link RTVConfig}. Hosts that want a different baseline (e.g. a planner
|
|
109
|
+
* with shadows-off-by-default on `high`) supply their own bundle; the
|
|
110
|
+
* analyzer can then export it back out as JSON.
|
|
111
|
+
*/
|
|
112
|
+
export declare const DEFAULT_PROFILES: PerformanceProfiles;
|
|
113
|
+
//# sourceMappingURL=profiles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profiles.d.ts","sourceRoot":"","sources":["../../../../../src/utils/profiles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EACrB,KAAK,WAAW,EACjB,MAAM,sBAAsB,CAAC;AAwC9B;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,sBAAsB,GAAG,CAAC,CAS5F;AAgBD,qFAAqF;AACrF,wBAAgB,QAAQ,CAAC,IAAI,EAAE,sBAAsB,EAAE,SAAS,EAAE,IAAI,GAAG,MAAM,GAAG,sBAAsB,GAAG,IAAI,CAO9G;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,mBAAmB,EAAE,IAAI,EAAE,sBAAsB,GAAG,iBAAiB,CAa3G;AAgBD;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAyB3F;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAQlF;AAoBD,qEAAqE;AACrE,MAAM,WAAW,oBAAoB;IACnC,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,4CAA4C;IAC5C,aAAa,EAAE,OAAO,CAAC;IACvB,qEAAqE;IACrE,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,gBAAgB,CAAC,iBAAiB,CAAC,GAAG,SAAS,GAAG,oBAAoB,EAAE,CAmB9I;AAoBD,sFAAsF;AACtF,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,mBAAmB,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,2CAA2C,CACzD,QAAQ,EAAE,mBAAmB,EAC7B,SAAS,EAAE,gBAAgB,CAAC,iBAAiB,CAAC,EAC9C,SAAS,EAAE,iBAAiB,GAC3B,eAAe,EAAE,CAuBnB;AAmHD;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,EAAE,mBAM9B,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Unit tests for the performance-profile merge stack in `./profiles`:
|
|
3
|
+
* `mergeProfile`, `resolveTieredAsset`, `diffProfileFromHigh`,
|
|
4
|
+
* `getValueByPath`, `clearProfileValueByPath`,
|
|
5
|
+
* `propagateHighEditAndCollectClearedOverrides` and `stepTier`.
|
|
6
|
+
*
|
|
7
|
+
* These helpers are pure and store-independent, so no module mocking is
|
|
8
|
+
* needed — `./profiles` imports only types plus one const from
|
|
9
|
+
* `../types/environment`, which itself has no runtime imports (unlike
|
|
10
|
+
* `resolveEnvironment`, whose test has to mock `@crystaldesign/diva-core`).
|
|
11
|
+
*
|
|
12
|
+
* A few tests below pin CURRENT behaviour that is deliberate but easy to
|
|
13
|
+
* misread; each is marked `CURRENT BEHAVIOUR` with the reason it is
|
|
14
|
+
* asserted as-is.
|
|
15
|
+
*/
|
|
16
|
+
import '../testUtils/structuredClonePolyfill';
|
|
17
|
+
//# sourceMappingURL=profiles.test.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profiles.test.d.ts","sourceRoot":"","sources":["../../../../../src/utils/profiles.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,sCAAsC,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { FootprintPoint } from './polygon2d';
|
|
2
|
+
/**
|
|
3
|
+
* Morphological closing (dilate then erode) with a square kernel of the given
|
|
4
|
+
* radius — bridges seams between separately modelled parts without moving the
|
|
5
|
+
* silhouette.
|
|
6
|
+
*
|
|
7
|
+
* Each of the four passes is a SLIDING-WINDOW box count: the window is updated
|
|
8
|
+
* by one entering and one leaving row/column instead of being re-summed, so
|
|
9
|
+
* the cost is O(cells) independent of radius and every access is sequential.
|
|
10
|
+
* The naive per-cell kernel form (especially its column-strided half) costs an
|
|
11
|
+
* order of magnitude more at a fine raster.
|
|
12
|
+
*/
|
|
13
|
+
export declare function closeMask(mask: Uint8Array, nx: number, nz: number, radius: number): void;
|
|
14
|
+
/**
|
|
15
|
+
* Turn the mask into the SOLID region its outer contour encloses: flood the
|
|
16
|
+
* background inward from the (always empty) border and set everything the
|
|
17
|
+
* flood could not reach. Returns how many cells were added.
|
|
18
|
+
*/
|
|
19
|
+
export declare function fillEnclosed(mask: Uint8Array, nx: number, nz: number): number;
|
|
20
|
+
/**
|
|
21
|
+
* Single morphological pass — dilate (grow) or erode (shrink) by a square
|
|
22
|
+
* kernel of the given radius. The raster form of a polygon offset: the same
|
|
23
|
+
* operation applied uniformly to every boundary cell, so it can neither miter
|
|
24
|
+
* a corner off nor cross itself across a concavity. The kernel is a square, so
|
|
25
|
+
* the offset is Chebyshev — exact on axis-aligned edges, up to √2 larger on
|
|
26
|
+
* 45° ones.
|
|
27
|
+
*/
|
|
28
|
+
export declare function offsetMask(mask: Uint8Array, nx: number, nz: number, radius: number, dilate: boolean): void;
|
|
29
|
+
/** Contour a binary node grid (values at cell centers) into closed loops of edge-midpoint coordinates. */
|
|
30
|
+
export declare function marchingSquaresLoops(mask: Uint8Array, nx: number, nz: number, originX: number, originZ: number, cell: number): FootprintPoint[][];
|
|
31
|
+
//# sourceMappingURL=rasterMask.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rasterMask.d.ts","sourceRoot":"","sources":["../../../../../src/utils/rasterMask.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD;;;;;;;;;;GAUG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAOxF;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAiC7E;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI,CAI1G;AAiFD,0GAA0G;AAC1G,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,cAAc,EAAE,EAAE,CAoDjJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rasterMask.test.d.ts","sourceRoot":"","sources":["../../../../../src/utils/rasterMask.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { EnvironmentConfig, ResolvedEnvironmentConfig } from '../types/environment';
|
|
2
|
+
import { DEFAULT_ENVIRONMENT } from '../config/environment.config';
|
|
3
|
+
export { DEFAULT_ENVIRONMENT };
|
|
4
|
+
/** Ensure `lighting.sun.direction` matches `azimuth`/`elevation` (canonical for RTV). */
|
|
5
|
+
export declare function syncLightingSunDirectionWithAngles(env: ResolvedEnvironmentConfig): void;
|
|
6
|
+
/**
|
|
7
|
+
* Fill an authored {@link EnvironmentConfig} to the shape every renderer consumes: defaults for
|
|
8
|
+
* everything unset, numbers clamped to their field's range, switchable blocks collapsed to
|
|
9
|
+
* `false | full`.
|
|
10
|
+
*
|
|
11
|
+
* Per-field work belongs in the subsystem descriptors (`ENVIRONMENT_CONFIG`); the only steps left
|
|
12
|
+
* here are the ones that read ACROSS fields — deriving the sun's angles from a legacy `direction`,
|
|
13
|
+
* and re-deriving `direction` from the angles afterwards.
|
|
14
|
+
*/
|
|
15
|
+
export declare function resolveEnvironment(config?: EnvironmentConfig): ResolvedEnvironmentConfig;
|
|
16
|
+
//# sourceMappingURL=resolveEnvironment.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveEnvironment.d.ts","sourceRoot":"","sources":["../../../../../src/utils/resolveEnvironment.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEzF,OAAO,EAAsB,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAIvF,OAAO,EAAE,mBAAmB,EAAE,CAAC;AAE/B,yFAAyF;AACzF,wBAAgB,kCAAkC,CAAC,GAAG,EAAE,yBAAyB,GAAG,IAAI,CAIvF;AAeD;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,CAAC,EAAE,iBAAiB,GAAG,yBAAyB,CAKxF"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { AllGrids, AccessoryGridGeo, FreePlacesOnGrids, ResolvedGridCell } from '../types/accessoryGrids';
|
|
2
|
+
/**
|
|
3
|
+
* Resolve the free cells belonging to a single element (matched by scene node name).
|
|
4
|
+
* `elementNodeName` is the Three.js group name (e.g. "Element#SET1E12"); `free.elementId`
|
|
5
|
+
* is the shelf key (e.g. "E12"). Matched by suffix.
|
|
6
|
+
*/
|
|
7
|
+
export declare function resolveFreeCellsForElement(freePlaces: FreePlacesOnGrids[] | null, allGrids: AllGrids[] | null, elementNodeName: string): ResolvedGridCell[];
|
|
8
|
+
/**
|
|
9
|
+
* Pick the default cell for an `autoPlaceDrag` auto-placement. Fills TOP-DOWN: the first item lands
|
|
10
|
+
* near the top of the first element/grid that has room (a top clearance of `gapFraction` of the
|
|
11
|
+
* grid's cells), and each subsequent placement sits `gapFraction` of the cells BELOW the previous
|
|
12
|
+
* one — so items stack downward with even spacing. Because each placement consumes its footprint
|
|
13
|
+
* and `freePlacesOnGrids` refreshes, repeated arms walk down the grid and jump to the next
|
|
14
|
+
* element/grid once full. Falls back to gap-less, then to the topmost free cell.
|
|
15
|
+
*
|
|
16
|
+
* Assumes higher `cellIdx` = higher position (standard for vertical shelf grids, `deltaGrid.y > 0`).
|
|
17
|
+
*/
|
|
18
|
+
export declare function pickDefaultPlacementCell(cells: ResolvedGridCell[], allGrids: AllGrids[] | null): ResolvedGridCell | null;
|
|
19
|
+
/**
|
|
20
|
+
* The accessory-geometry part of a cell's bbox-CENTER offset (metres), rotated by the grid and
|
|
21
|
+
* sign-calibrated — i.e. `resolveCell`'s offset with the cell step (`cellIdx·deltaGrid`) and grid
|
|
22
|
+
* origin removed. Depends only on the accessory's own geometry (geoPosition, bbox, rulePosition).
|
|
23
|
+
*
|
|
24
|
+
* Reused by the variant mesh swap to re-centre a differently-sized variant on its anchor:
|
|
25
|
+
* recenter = geoLocalOffset(draggedGeo, rotationY) − geoLocalOffset(variantGeo, rotationY)
|
|
26
|
+
* which yields the exact, calibration-consistent shift (no hand-rolled bbox/2 or guessed sign).
|
|
27
|
+
*/
|
|
28
|
+
export declare function geoLocalOffset(geo: AccessoryGridGeo, rotationY: number): [number, number, number];
|
|
29
|
+
/**
|
|
30
|
+
* ONLY the ±bbox/2 part of {@link geoLocalOffset} (anchor→bbox-center), WITHOUT the accessory's
|
|
31
|
+
* in-cell placement (`geoPosition`/`rulePosition`) — the placement is variant-specific and is what
|
|
32
|
+
* distinguishes left/right family pairs sharing one cell, so preview math must not cancel it.
|
|
33
|
+
*/
|
|
34
|
+
export declare function geoBBoxCenterOffset(geo: AccessoryGridGeo, rotationY: number): [number, number, number];
|
|
35
|
+
//# sourceMappingURL=resolveGridCells.d.ts.map
|