@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.
Files changed (529) hide show
  1. package/build/esm/DeckCutoutSubsystem-76dfe828.js +2536 -0
  2. package/build/esm/SunLensflare-e4ab3f81.js +483 -0
  3. package/build/esm/WaterSurface-93383fdf.js +2041 -0
  4. package/build/esm/index-920dd901.js +23273 -0
  5. package/build/esm/index.js +32 -0
  6. package/build/types/real-time-viewer-next/src/RealTimeRendererNext.d.ts +58 -0
  7. package/build/types/real-time-viewer-next/src/RealTimeRendererNext.d.ts.map +1 -0
  8. package/build/types/real-time-viewer-next/src/analyzerComponents.d.ts +23 -0
  9. package/build/types/real-time-viewer-next/src/analyzerComponents.d.ts.map +1 -0
  10. package/build/types/real-time-viewer-next/src/analyzerStageContext.d.ts +9 -0
  11. package/build/types/real-time-viewer-next/src/analyzerStageContext.d.ts.map +1 -0
  12. package/build/types/real-time-viewer-next/src/capture/applyShot.d.ts +8 -0
  13. package/build/types/real-time-viewer-next/src/capture/applyShot.d.ts.map +1 -0
  14. package/build/types/real-time-viewer-next/src/capture/blob.d.ts +11 -0
  15. package/build/types/real-time-viewer-next/src/capture/blob.d.ts.map +1 -0
  16. package/build/types/real-time-viewer-next/src/capture/materialMute.d.ts +16 -0
  17. package/build/types/real-time-viewer-next/src/capture/materialMute.d.ts.map +1 -0
  18. package/build/types/real-time-viewer-next/src/capture/shotState.d.ts +24 -0
  19. package/build/types/real-time-viewer-next/src/capture/shotState.d.ts.map +1 -0
  20. package/build/types/real-time-viewer-next/src/capture/types.d.ts +80 -0
  21. package/build/types/real-time-viewer-next/src/capture/types.d.ts.map +1 -0
  22. package/build/types/real-time-viewer-next/src/capture/useCaptureEngine.d.ts +7 -0
  23. package/build/types/real-time-viewer-next/src/capture/useCaptureEngine.d.ts.map +1 -0
  24. package/build/types/real-time-viewer-next/src/config/descriptor.d.ts +156 -0
  25. package/build/types/real-time-viewer-next/src/config/descriptor.d.ts.map +1 -0
  26. package/build/types/real-time-viewer-next/src/config/descriptor.test.d.ts +2 -0
  27. package/build/types/real-time-viewer-next/src/config/descriptor.test.d.ts.map +1 -0
  28. package/build/types/real-time-viewer-next/src/config/environment.config.d.ts +511 -0
  29. package/build/types/real-time-viewer-next/src/config/environment.config.d.ts.map +1 -0
  30. package/build/types/real-time-viewer-next/src/config/environment.config.test.d.ts +5 -0
  31. package/build/types/real-time-viewer-next/src/config/environment.config.test.d.ts.map +1 -0
  32. package/build/types/real-time-viewer-next/src/core/BBoxPreloader.d.ts +15 -0
  33. package/build/types/real-time-viewer-next/src/core/BBoxPreloader.d.ts.map +1 -0
  34. package/build/types/real-time-viewer-next/src/core/FloorGrid.d.ts +3 -0
  35. package/build/types/real-time-viewer-next/src/core/FloorGrid.d.ts.map +1 -0
  36. package/build/types/real-time-viewer-next/src/core/GeoBBoxReporter.d.ts +10 -0
  37. package/build/types/real-time-viewer-next/src/core/GeoBBoxReporter.d.ts.map +1 -0
  38. package/build/types/real-time-viewer-next/src/core/GeoInstance.d.ts +13 -0
  39. package/build/types/real-time-viewer-next/src/core/GeoInstance.d.ts.map +1 -0
  40. package/build/types/real-time-viewer-next/src/core/PaletteDragPreview.d.ts +19 -0
  41. package/build/types/real-time-viewer-next/src/core/PaletteDragPreview.d.ts.map +1 -0
  42. package/build/types/real-time-viewer-next/src/core/PerfLog.d.ts +38 -0
  43. package/build/types/real-time-viewer-next/src/core/PerfLog.d.ts.map +1 -0
  44. package/build/types/real-time-viewer-next/src/core/PlannerGrid.d.ts +83 -0
  45. package/build/types/real-time-viewer-next/src/core/PlannerGrid.d.ts.map +1 -0
  46. package/build/types/real-time-viewer-next/src/core/R3FAssetBoundary.d.ts +31 -0
  47. package/build/types/real-time-viewer-next/src/core/R3FAssetBoundary.d.ts.map +1 -0
  48. package/build/types/real-time-viewer-next/src/core/RTVErrorBoundary.d.ts +16 -0
  49. package/build/types/real-time-viewer-next/src/core/RTVErrorBoundary.d.ts.map +1 -0
  50. package/build/types/real-time-viewer-next/src/core/SceneRenderer.d.ts +3 -0
  51. package/build/types/real-time-viewer-next/src/core/SceneRenderer.d.ts.map +1 -0
  52. package/build/types/real-time-viewer-next/src/core/SceneTree.d.ts +16 -0
  53. package/build/types/real-time-viewer-next/src/core/SceneTree.d.ts.map +1 -0
  54. package/build/types/real-time-viewer-next/src/core/VariantMeshOverride.d.ts +62 -0
  55. package/build/types/real-time-viewer-next/src/core/VariantMeshOverride.d.ts.map +1 -0
  56. package/build/types/real-time-viewer-next/src/core/camera/CameraController.d.ts +3 -0
  57. package/build/types/real-time-viewer-next/src/core/camera/CameraController.d.ts.map +1 -0
  58. package/build/types/real-time-viewer-next/src/core/camera/cameraAnimationEngine.d.ts +69 -0
  59. package/build/types/real-time-viewer-next/src/core/camera/cameraAnimationEngine.d.ts.map +1 -0
  60. package/build/types/real-time-viewer-next/src/core/camera/cameraPoseBook.d.ts +24 -0
  61. package/build/types/real-time-viewer-next/src/core/camera/cameraPoseBook.d.ts.map +1 -0
  62. package/build/types/real-time-viewer-next/src/core/camera/controlsLock.d.ts +25 -0
  63. package/build/types/real-time-viewer-next/src/core/camera/controlsLock.d.ts.map +1 -0
  64. package/build/types/real-time-viewer-next/src/core/camera/sectorLimits.d.ts +38 -0
  65. package/build/types/real-time-viewer-next/src/core/camera/sectorLimits.d.ts.map +1 -0
  66. package/build/types/real-time-viewer-next/src/core/camera/sectorLimits.test.d.ts +2 -0
  67. package/build/types/real-time-viewer-next/src/core/camera/sectorLimits.test.d.ts.map +1 -0
  68. package/build/types/real-time-viewer-next/src/core/camera/useAutoFrame.d.ts +29 -0
  69. package/build/types/real-time-viewer-next/src/core/camera/useAutoFrame.d.ts.map +1 -0
  70. package/build/types/real-time-viewer-next/src/core/camera/useAutoRotate.d.ts +8 -0
  71. package/build/types/real-time-viewer-next/src/core/camera/useAutoRotate.d.ts.map +1 -0
  72. package/build/types/real-time-viewer-next/src/core/camera/useCameraActions.d.ts +13 -0
  73. package/build/types/real-time-viewer-next/src/core/camera/useCameraActions.d.ts.map +1 -0
  74. package/build/types/real-time-viewer-next/src/core/camera/useCameraAnimation.d.ts +15 -0
  75. package/build/types/real-time-viewer-next/src/core/camera/useCameraAnimation.d.ts.map +1 -0
  76. package/build/types/real-time-viewer-next/src/core/camera/useCameraConstraints.d.ts +25 -0
  77. package/build/types/real-time-viewer-next/src/core/camera/useCameraConstraints.d.ts.map +1 -0
  78. package/build/types/real-time-viewer-next/src/core/camera/useCameraSmoothing.d.ts +57 -0
  79. package/build/types/real-time-viewer-next/src/core/camera/useCameraSmoothing.d.ts.map +1 -0
  80. package/build/types/real-time-viewer-next/src/core/camera/useMaterialFade.d.ts +5 -0
  81. package/build/types/real-time-viewer-next/src/core/camera/useMaterialFade.d.ts.map +1 -0
  82. package/build/types/real-time-viewer-next/src/core/camera/useViewModeTransition.d.ts +19 -0
  83. package/build/types/real-time-viewer-next/src/core/camera/useViewModeTransition.d.ts.map +1 -0
  84. package/build/types/real-time-viewer-next/src/core/dimension-lines/DimensionLine2D.d.ts +28 -0
  85. package/build/types/real-time-viewer-next/src/core/dimension-lines/DimensionLine2D.d.ts.map +1 -0
  86. package/build/types/real-time-viewer-next/src/core/dimension-lines/DimensionLines2D.d.ts +3 -0
  87. package/build/types/real-time-viewer-next/src/core/dimension-lines/DimensionLines2D.d.ts.map +1 -0
  88. package/build/types/real-time-viewer-next/src/core/dimension-lines/DimensionLines3D.d.ts +3 -0
  89. package/build/types/real-time-viewer-next/src/core/dimension-lines/DimensionLines3D.d.ts.map +1 -0
  90. package/build/types/real-time-viewer-next/src/core/dimension-lines/dimensionGeometry.d.ts +34 -0
  91. package/build/types/real-time-viewer-next/src/core/dimension-lines/dimensionGeometry.d.ts.map +1 -0
  92. package/build/types/real-time-viewer-next/src/core/dimension-lines/dimensionLineBuilders.test.d.ts +2 -0
  93. package/build/types/real-time-viewer-next/src/core/dimension-lines/dimensionLineBuilders.test.d.ts.map +1 -0
  94. package/build/types/real-time-viewer-next/src/core/dimension-lines/dimensionLineBuilders2D.d.ts +82 -0
  95. package/build/types/real-time-viewer-next/src/core/dimension-lines/dimensionLineBuilders2D.d.ts.map +1 -0
  96. package/build/types/real-time-viewer-next/src/core/dimension-lines/dimensionLineBuilders3D.d.ts +76 -0
  97. package/build/types/real-time-viewer-next/src/core/dimension-lines/dimensionLineBuilders3D.d.ts.map +1 -0
  98. package/build/types/real-time-viewer-next/src/core/dimension-lines/dimensionLines.config.d.ts +25 -0
  99. package/build/types/real-time-viewer-next/src/core/dimension-lines/dimensionLines.config.d.ts.map +1 -0
  100. package/build/types/real-time-viewer-next/src/core/dimension-lines/dimensionLines.config.test.d.ts +2 -0
  101. package/build/types/real-time-viewer-next/src/core/dimension-lines/dimensionLines.config.test.d.ts.map +1 -0
  102. package/build/types/real-time-viewer-next/src/core/dimension-lines/index.d.ts +3 -0
  103. package/build/types/real-time-viewer-next/src/core/dimension-lines/index.d.ts.map +1 -0
  104. package/build/types/real-time-viewer-next/src/core/dimension-lines/useDimensionFade.d.ts +12 -0
  105. package/build/types/real-time-viewer-next/src/core/dimension-lines/useDimensionFade.d.ts.map +1 -0
  106. package/build/types/real-time-viewer-next/src/core/dimension-lines/useLabelScale.d.ts +11 -0
  107. package/build/types/real-time-viewer-next/src/core/dimension-lines/useLabelScale.d.ts.map +1 -0
  108. package/build/types/real-time-viewer-next/src/core/dimension-lines/utils.d.ts +26 -0
  109. package/build/types/real-time-viewer-next/src/core/dimension-lines/utils.d.ts.map +1 -0
  110. package/build/types/real-time-viewer-next/src/core/environment/EnvironmentDome.d.ts +14 -0
  111. package/build/types/real-time-viewer-next/src/core/environment/EnvironmentDome.d.ts.map +1 -0
  112. package/build/types/real-time-viewer-next/src/core/environment/EnvironmentSceneLoader.d.ts +14 -0
  113. package/build/types/real-time-viewer-next/src/core/environment/EnvironmentSceneLoader.d.ts.map +1 -0
  114. package/build/types/real-time-viewer-next/src/core/environment/EnvironmentSources.d.ts +33 -0
  115. package/build/types/real-time-viewer-next/src/core/environment/EnvironmentSources.d.ts.map +1 -0
  116. package/build/types/real-time-viewer-next/src/core/environment/EnvironmentSunLensflare.d.ts +3 -0
  117. package/build/types/real-time-viewer-next/src/core/environment/EnvironmentSunLensflare.d.ts.map +1 -0
  118. package/build/types/real-time-viewer-next/src/core/environment/LightingRig.d.ts +28 -0
  119. package/build/types/real-time-viewer-next/src/core/environment/LightingRig.d.ts.map +1 -0
  120. package/build/types/real-time-viewer-next/src/core/environment/PlainGround.d.ts +21 -0
  121. package/build/types/real-time-viewer-next/src/core/environment/PlainGround.d.ts.map +1 -0
  122. package/build/types/real-time-viewer-next/src/core/environment/RuntimePerfAdjuster.d.ts +15 -0
  123. package/build/types/real-time-viewer-next/src/core/environment/RuntimePerfAdjuster.d.ts.map +1 -0
  124. package/build/types/real-time-viewer-next/src/core/environment/SceneEnvironment.d.ts +19 -0
  125. package/build/types/real-time-viewer-next/src/core/environment/SceneEnvironment.d.ts.map +1 -0
  126. package/build/types/real-time-viewer-next/src/core/environment/SkydomeBackground.d.ts +11 -0
  127. package/build/types/real-time-viewer-next/src/core/environment/SkydomeBackground.d.ts.map +1 -0
  128. package/build/types/real-time-viewer-next/src/core/environment/SunLensflare.d.ts +29 -0
  129. package/build/types/real-time-viewer-next/src/core/environment/SunLensflare.d.ts.map +1 -0
  130. package/build/types/real-time-viewer-next/src/core/environment/SunLensflareLazy.d.ts +11 -0
  131. package/build/types/real-time-viewer-next/src/core/environment/SunLensflareLazy.d.ts.map +1 -0
  132. package/build/types/real-time-viewer-next/src/core/environment/adaptive.config.d.ts +24 -0
  133. package/build/types/real-time-viewer-next/src/core/environment/adaptive.config.d.ts.map +1 -0
  134. package/build/types/real-time-viewer-next/src/core/environment/adaptive.config.test.d.ts +2 -0
  135. package/build/types/real-time-viewer-next/src/core/environment/adaptive.config.test.d.ts.map +1 -0
  136. package/build/types/real-time-viewer-next/src/core/environment/deckCutout/DeckCutoutArticleSync.d.ts +22 -0
  137. package/build/types/real-time-viewer-next/src/core/environment/deckCutout/DeckCutoutArticleSync.d.ts.map +1 -0
  138. package/build/types/real-time-viewer-next/src/core/environment/deckCutout/DeckCutoutCollar.d.ts +15 -0
  139. package/build/types/real-time-viewer-next/src/core/environment/deckCutout/DeckCutoutCollar.d.ts.map +1 -0
  140. package/build/types/real-time-viewer-next/src/core/environment/deckCutout/DeckCutoutLazy.d.ts +10 -0
  141. package/build/types/real-time-viewer-next/src/core/environment/deckCutout/DeckCutoutLazy.d.ts.map +1 -0
  142. package/build/types/real-time-viewer-next/src/core/environment/deckCutout/DeckCutoutSubsystem.d.ts +9 -0
  143. package/build/types/real-time-viewer-next/src/core/environment/deckCutout/DeckCutoutSubsystem.d.ts.map +1 -0
  144. package/build/types/real-time-viewer-next/src/core/environment/deckCutout/anchorElements.d.ts +40 -0
  145. package/build/types/real-time-viewer-next/src/core/environment/deckCutout/anchorElements.d.ts.map +1 -0
  146. package/build/types/real-time-viewer-next/src/core/environment/deckCutout/anchorElements.test.d.ts +2 -0
  147. package/build/types/real-time-viewer-next/src/core/environment/deckCutout/anchorElements.test.d.ts.map +1 -0
  148. package/build/types/real-time-viewer-next/src/core/environment/deckCutout/articleFootprint.d.ts +62 -0
  149. package/build/types/real-time-viewer-next/src/core/environment/deckCutout/articleFootprint.d.ts.map +1 -0
  150. package/build/types/real-time-viewer-next/src/core/environment/deckCutout/articleFootprint.test.d.ts +2 -0
  151. package/build/types/real-time-viewer-next/src/core/environment/deckCutout/articleFootprint.test.d.ts.map +1 -0
  152. package/build/types/real-time-viewer-next/src/core/environment/deckCutout/buildCollarGeometry.d.ts +25 -0
  153. package/build/types/real-time-viewer-next/src/core/environment/deckCutout/buildCollarGeometry.d.ts.map +1 -0
  154. package/build/types/real-time-viewer-next/src/core/environment/deckCutout/buildCollarGeometry.test.d.ts +2 -0
  155. package/build/types/real-time-viewer-next/src/core/environment/deckCutout/buildCollarGeometry.test.d.ts.map +1 -0
  156. package/build/types/real-time-viewer-next/src/core/environment/deckCutout/collectDeckTriangles.d.ts +86 -0
  157. package/build/types/real-time-viewer-next/src/core/environment/deckCutout/collectDeckTriangles.d.ts.map +1 -0
  158. package/build/types/real-time-viewer-next/src/core/environment/deckCutout/deriveWaterVolume.d.ts +28 -0
  159. package/build/types/real-time-viewer-next/src/core/environment/deckCutout/deriveWaterVolume.d.ts.map +1 -0
  160. package/build/types/real-time-viewer-next/src/core/environment/deckCutout/deriveWaterVolume.test.d.ts +2 -0
  161. package/build/types/real-time-viewer-next/src/core/environment/deckCutout/deriveWaterVolume.test.d.ts.map +1 -0
  162. package/build/types/real-time-viewer-next/src/core/environment/deckCutout/measureArticle.d.ts +49 -0
  163. package/build/types/real-time-viewer-next/src/core/environment/deckCutout/measureArticle.d.ts.map +1 -0
  164. package/build/types/real-time-viewer-next/src/core/environment/deckCutout/measureArticle.test.d.ts +2 -0
  165. package/build/types/real-time-viewer-next/src/core/environment/deckCutout/measureArticle.test.d.ts.map +1 -0
  166. package/build/types/real-time-viewer-next/src/core/environment/deckCutout/measureDiagnostics.d.ts +20 -0
  167. package/build/types/real-time-viewer-next/src/core/environment/deckCutout/measureDiagnostics.d.ts.map +1 -0
  168. package/build/types/real-time-viewer-next/src/core/environment/deckCutout/useCollarTextures.d.ts +16 -0
  169. package/build/types/real-time-viewer-next/src/core/environment/deckCutout/useCollarTextures.d.ts.map +1 -0
  170. package/build/types/real-time-viewer-next/src/core/environment/dome.config.d.ts +191 -0
  171. package/build/types/real-time-viewer-next/src/core/environment/dome.config.d.ts.map +1 -0
  172. package/build/types/real-time-viewer-next/src/core/environment/dome.config.test.d.ts +2 -0
  173. package/build/types/real-time-viewer-next/src/core/environment/dome.config.test.d.ts.map +1 -0
  174. package/build/types/real-time-viewer-next/src/core/environment/ground.config.d.ts +130 -0
  175. package/build/types/real-time-viewer-next/src/core/environment/ground.config.d.ts.map +1 -0
  176. package/build/types/real-time-viewer-next/src/core/environment/ground.config.test.d.ts +2 -0
  177. package/build/types/real-time-viewer-next/src/core/environment/ground.config.test.d.ts.map +1 -0
  178. package/build/types/real-time-viewer-next/src/core/environment/lighting.config.d.ts +297 -0
  179. package/build/types/real-time-viewer-next/src/core/environment/lighting.config.d.ts.map +1 -0
  180. package/build/types/real-time-viewer-next/src/core/environment/lighting.config.test.d.ts +2 -0
  181. package/build/types/real-time-viewer-next/src/core/environment/lighting.config.test.d.ts.map +1 -0
  182. package/build/types/real-time-viewer-next/src/core/environment/scene.config.d.ts +440 -0
  183. package/build/types/real-time-viewer-next/src/core/environment/scene.config.d.ts.map +1 -0
  184. package/build/types/real-time-viewer-next/src/core/environment/scene.config.test.d.ts +2 -0
  185. package/build/types/real-time-viewer-next/src/core/environment/scene.config.test.d.ts.map +1 -0
  186. package/build/types/real-time-viewer-next/src/core/environment/useEnvironmentMap.d.ts +19 -0
  187. package/build/types/real-time-viewer-next/src/core/environment/useEnvironmentMap.d.ts.map +1 -0
  188. package/build/types/real-time-viewer-next/src/core/environment/useStudioLightEffects.d.ts +28 -0
  189. package/build/types/real-time-viewer-next/src/core/environment/useStudioLightEffects.d.ts.map +1 -0
  190. package/build/types/real-time-viewer-next/src/core/frameOrder.d.ts +91 -0
  191. package/build/types/real-time-viewer-next/src/core/frameOrder.d.ts.map +1 -0
  192. package/build/types/real-time-viewer-next/src/core/handles.d.ts +35 -0
  193. package/build/types/real-time-viewer-next/src/core/handles.d.ts.map +1 -0
  194. package/build/types/real-time-viewer-next/src/core/interaction/AccessoryDropController.d.ts +9 -0
  195. package/build/types/real-time-viewer-next/src/core/interaction/AccessoryDropController.d.ts.map +1 -0
  196. package/build/types/real-time-viewer-next/src/core/interaction/AccessoryFollowController.d.ts +15 -0
  197. package/build/types/real-time-viewer-next/src/core/interaction/AccessoryFollowController.d.ts.map +1 -0
  198. package/build/types/real-time-viewer-next/src/core/interaction/DragController.d.ts +2 -0
  199. package/build/types/real-time-viewer-next/src/core/interaction/DragController.d.ts.map +1 -0
  200. package/build/types/real-time-viewer-next/src/core/interaction/ElementOverlay.d.ts +16 -0
  201. package/build/types/real-time-viewer-next/src/core/interaction/ElementOverlay.d.ts.map +1 -0
  202. package/build/types/real-time-viewer-next/src/core/interaction/ElementOverlayIcons.d.ts +18 -0
  203. package/build/types/real-time-viewer-next/src/core/interaction/ElementOverlayIcons.d.ts.map +1 -0
  204. package/build/types/real-time-viewer-next/src/core/interaction/FreeGridLayer.d.ts +10 -0
  205. package/build/types/real-time-viewer-next/src/core/interaction/FreeGridLayer.d.ts.map +1 -0
  206. package/build/types/real-time-viewer-next/src/core/interaction/InteractionGuides.d.ts +3 -0
  207. package/build/types/real-time-viewer-next/src/core/interaction/InteractionGuides.d.ts.map +1 -0
  208. package/build/types/real-time-viewer-next/src/core/interaction/accessoryCellTargeting.d.ts +31 -0
  209. package/build/types/real-time-viewer-next/src/core/interaction/accessoryCellTargeting.d.ts.map +1 -0
  210. package/build/types/real-time-viewer-next/src/core/interaction/selection.config.d.ts +65 -0
  211. package/build/types/real-time-viewer-next/src/core/interaction/selection.config.d.ts.map +1 -0
  212. package/build/types/real-time-viewer-next/src/core/interaction/selection.config.test.d.ts +2 -0
  213. package/build/types/real-time-viewer-next/src/core/interaction/selection.config.test.d.ts.map +1 -0
  214. package/build/types/real-time-viewer-next/src/core/interaction/useAccessoryMoveDrag.d.ts +21 -0
  215. package/build/types/real-time-viewer-next/src/core/interaction/useAccessoryMoveDrag.d.ts.map +1 -0
  216. package/build/types/real-time-viewer-next/src/core/interaction/useElementInteraction.d.ts +35 -0
  217. package/build/types/real-time-viewer-next/src/core/interaction/useElementInteraction.d.ts.map +1 -0
  218. package/build/types/real-time-viewer-next/src/core/lazySubsystems.d.ts +16 -0
  219. package/build/types/real-time-viewer-next/src/core/lazySubsystems.d.ts.map +1 -0
  220. package/build/types/real-time-viewer-next/src/core/materials/MaterialContext.d.ts +23 -0
  221. package/build/types/real-time-viewer-next/src/core/materials/MaterialContext.d.ts.map +1 -0
  222. package/build/types/real-time-viewer-next/src/core/materials/MaterialManager.d.ts +4 -0
  223. package/build/types/real-time-viewer-next/src/core/materials/MaterialManager.d.ts.map +1 -0
  224. package/build/types/real-time-viewer-next/src/core/materials/apply.d.ts +17 -0
  225. package/build/types/real-time-viewer-next/src/core/materials/apply.d.ts.map +1 -0
  226. package/build/types/real-time-viewer-next/src/core/materials/caches.d.ts +44 -0
  227. package/build/types/real-time-viewer-next/src/core/materials/caches.d.ts.map +1 -0
  228. package/build/types/real-time-viewer-next/src/core/materials/factory.d.ts +37 -0
  229. package/build/types/real-time-viewer-next/src/core/materials/factory.d.ts.map +1 -0
  230. package/build/types/real-time-viewer-next/src/core/materials/materials.config.d.ts +13 -0
  231. package/build/types/real-time-viewer-next/src/core/materials/materials.config.d.ts.map +1 -0
  232. package/build/types/real-time-viewer-next/src/core/materials/materials.config.test.d.ts +2 -0
  233. package/build/types/real-time-viewer-next/src/core/materials/materials.config.test.d.ts.map +1 -0
  234. package/build/types/real-time-viewer-next/src/core/materials/textureCache.d.ts +26 -0
  235. package/build/types/real-time-viewer-next/src/core/materials/textureCache.d.ts.map +1 -0
  236. package/build/types/real-time-viewer-next/src/core/materials/types.d.ts +5 -0
  237. package/build/types/real-time-viewer-next/src/core/materials/types.d.ts.map +1 -0
  238. package/build/types/real-time-viewer-next/src/core/meshBVH.d.ts +22 -0
  239. package/build/types/real-time-viewer-next/src/core/meshBVH.d.ts.map +1 -0
  240. package/build/types/real-time-viewer-next/src/core/meshBVH.test.d.ts +2 -0
  241. package/build/types/real-time-viewer-next/src/core/meshBVH.test.d.ts.map +1 -0
  242. package/build/types/real-time-viewer-next/src/core/postprocessing/PostProcessingDynamicEffects.d.ts +11 -0
  243. package/build/types/real-time-viewer-next/src/core/postprocessing/PostProcessingDynamicEffects.d.ts.map +1 -0
  244. package/build/types/real-time-viewer-next/src/core/postprocessing/PostProcessingStack.d.ts +28 -0
  245. package/build/types/real-time-viewer-next/src/core/postprocessing/PostProcessingStack.d.ts.map +1 -0
  246. package/build/types/real-time-viewer-next/src/core/postprocessing/applyRendererToneMapping.d.ts +10 -0
  247. package/build/types/real-time-viewer-next/src/core/postprocessing/applyRendererToneMapping.d.ts.map +1 -0
  248. package/build/types/real-time-viewer-next/src/core/postprocessing/index.d.ts +2 -0
  249. package/build/types/real-time-viewer-next/src/core/postprocessing/index.d.ts.map +1 -0
  250. package/build/types/real-time-viewer-next/src/core/postprocessing/postProcessing.config.d.ts +453 -0
  251. package/build/types/real-time-viewer-next/src/core/postprocessing/postProcessing.config.d.ts.map +1 -0
  252. package/build/types/real-time-viewer-next/src/core/postprocessing/postProcessing.config.test.d.ts +2 -0
  253. package/build/types/real-time-viewer-next/src/core/postprocessing/postProcessing.config.test.d.ts.map +1 -0
  254. package/build/types/real-time-viewer-next/src/core/renderer.config.d.ts +55 -0
  255. package/build/types/real-time-viewer-next/src/core/renderer.config.d.ts.map +1 -0
  256. package/build/types/real-time-viewer-next/src/core/renderer.config.test.d.ts +2 -0
  257. package/build/types/real-time-viewer-next/src/core/renderer.config.test.d.ts.map +1 -0
  258. package/build/types/real-time-viewer-next/src/core/shadows/SceneShadowSystem.d.ts +18 -0
  259. package/build/types/real-time-viewer-next/src/core/shadows/SceneShadowSystem.d.ts.map +1 -0
  260. package/build/types/real-time-viewer-next/src/core/shadows/SunShadow.d.ts +29 -0
  261. package/build/types/real-time-viewer-next/src/core/shadows/SunShadow.d.ts.map +1 -0
  262. package/build/types/real-time-viewer-next/src/core/shadows/index.d.ts +4 -0
  263. package/build/types/real-time-viewer-next/src/core/shadows/index.d.ts.map +1 -0
  264. package/build/types/real-time-viewer-next/src/core/shadows/shadowMapSize.d.ts +20 -0
  265. package/build/types/real-time-viewer-next/src/core/shadows/shadowMapSize.d.ts.map +1 -0
  266. package/build/types/real-time-viewer-next/src/core/shadows/shadowMapSize.test.d.ts +2 -0
  267. package/build/types/real-time-viewer-next/src/core/shadows/shadowMapSize.test.d.ts.map +1 -0
  268. package/build/types/real-time-viewer-next/src/core/shadows/shadowRegistry.d.ts +24 -0
  269. package/build/types/real-time-viewer-next/src/core/shadows/shadowRegistry.d.ts.map +1 -0
  270. package/build/types/real-time-viewer-next/src/core/shadows/shadows.config.d.ts +75 -0
  271. package/build/types/real-time-viewer-next/src/core/shadows/shadows.config.d.ts.map +1 -0
  272. package/build/types/real-time-viewer-next/src/core/shadows/shadows.config.test.d.ts +2 -0
  273. package/build/types/real-time-viewer-next/src/core/shadows/shadows.config.test.d.ts.map +1 -0
  274. package/build/types/real-time-viewer-next/src/core/shadows/useShadowDirty.d.ts +14 -0
  275. package/build/types/real-time-viewer-next/src/core/shadows/useShadowDirty.d.ts.map +1 -0
  276. package/build/types/real-time-viewer-next/src/core/shadows/useShadowFlags.d.ts +28 -0
  277. package/build/types/real-time-viewer-next/src/core/shadows/useShadowFlags.d.ts.map +1 -0
  278. package/build/types/real-time-viewer-next/src/core/shadows/useShadowRebake.d.ts +14 -0
  279. package/build/types/real-time-viewer-next/src/core/shadows/useShadowRebake.d.ts.map +1 -0
  280. package/build/types/real-time-viewer-next/src/core/useFrameloopVisibility.d.ts +37 -0
  281. package/build/types/real-time-viewer-next/src/core/useFrameloopVisibility.d.ts.map +1 -0
  282. package/build/types/real-time-viewer-next/src/core/view2d/DockingPoints2D.d.ts +17 -0
  283. package/build/types/real-time-viewer-next/src/core/view2d/DockingPoints2D.d.ts.map +1 -0
  284. package/build/types/real-time-viewer-next/src/core/view2d/Element2DPlane.d.ts +18 -0
  285. package/build/types/real-time-viewer-next/src/core/view2d/Element2DPlane.d.ts.map +1 -0
  286. package/build/types/real-time-viewer-next/src/core/view2d/ElementAnnotation2D.d.ts +16 -0
  287. package/build/types/real-time-viewer-next/src/core/view2d/ElementAnnotation2D.d.ts.map +1 -0
  288. package/build/types/real-time-viewer-next/src/core/view2d/Scene2DOverlay.d.ts +10 -0
  289. package/build/types/real-time-viewer-next/src/core/view2d/Scene2DOverlay.d.ts.map +1 -0
  290. package/build/types/real-time-viewer-next/src/core/viewMode/ViewModeRuntimeContext.d.ts +20 -0
  291. package/build/types/real-time-viewer-next/src/core/viewMode/ViewModeRuntimeContext.d.ts.map +1 -0
  292. package/build/types/real-time-viewer-next/src/core/viewMode/index.d.ts +4 -0
  293. package/build/types/real-time-viewer-next/src/core/viewMode/index.d.ts.map +1 -0
  294. package/build/types/real-time-viewer-next/src/core/viewMode/selectViewModeRuntime.d.ts +9 -0
  295. package/build/types/real-time-viewer-next/src/core/viewMode/selectViewModeRuntime.d.ts.map +1 -0
  296. package/build/types/real-time-viewer-next/src/core/viewMode/selectViewModeRuntime.test.d.ts +2 -0
  297. package/build/types/real-time-viewer-next/src/core/viewMode/selectViewModeRuntime.test.d.ts.map +1 -0
  298. package/build/types/real-time-viewer-next/src/core/viewMode/types.d.ts +67 -0
  299. package/build/types/real-time-viewer-next/src/core/viewMode/types.d.ts.map +1 -0
  300. package/build/types/real-time-viewer-next/src/core/water/CausticReceiver.d.ts +49 -0
  301. package/build/types/real-time-viewer-next/src/core/water/CausticReceiver.d.ts.map +1 -0
  302. package/build/types/real-time-viewer-next/src/core/water/CausticsTexture.d.ts +48 -0
  303. package/build/types/real-time-viewer-next/src/core/water/CausticsTexture.d.ts.map +1 -0
  304. package/build/types/real-time-viewer-next/src/core/water/Heightfield.d.ts +88 -0
  305. package/build/types/real-time-viewer-next/src/core/water/Heightfield.d.ts.map +1 -0
  306. package/build/types/real-time-viewer-next/src/core/water/PoolHeightMap.d.ts +36 -0
  307. package/build/types/real-time-viewer-next/src/core/water/PoolHeightMap.d.ts.map +1 -0
  308. package/build/types/real-time-viewer-next/src/core/water/RefractionCapture.d.ts +73 -0
  309. package/build/types/real-time-viewer-next/src/core/water/RefractionCapture.d.ts.map +1 -0
  310. package/build/types/real-time-viewer-next/src/core/water/RefractionCapture.test.d.ts +2 -0
  311. package/build/types/real-time-viewer-next/src/core/water/RefractionCapture.test.d.ts.map +1 -0
  312. package/build/types/real-time-viewer-next/src/core/water/SceneCapture.d.ts +66 -0
  313. package/build/types/real-time-viewer-next/src/core/water/SceneCapture.d.ts.map +1 -0
  314. package/build/types/real-time-viewer-next/src/core/water/WaterSurface.d.ts +8 -0
  315. package/build/types/real-time-viewer-next/src/core/water/WaterSurface.d.ts.map +1 -0
  316. package/build/types/real-time-viewer-next/src/core/water/WaterSurfaceLazy.d.ts +10 -0
  317. package/build/types/real-time-viewer-next/src/core/water/WaterSurfaceLazy.d.ts.map +1 -0
  318. package/build/types/real-time-viewer-next/src/core/water/WaterSurfaceRenderer.d.ts +71 -0
  319. package/build/types/real-time-viewer-next/src/core/water/WaterSurfaceRenderer.d.ts.map +1 -0
  320. package/build/types/real-time-viewer-next/src/core/water/useCausticReceivers.d.ts +11 -0
  321. package/build/types/real-time-viewer-next/src/core/water/useCausticReceivers.d.ts.map +1 -0
  322. package/build/types/real-time-viewer-next/src/core/water/useWaterPointer.d.ts +13 -0
  323. package/build/types/real-time-viewer-next/src/core/water/useWaterPointer.d.ts.map +1 -0
  324. package/build/types/real-time-viewer-next/src/core/water/useWaveSimulation.d.ts +44 -0
  325. package/build/types/real-time-viewer-next/src/core/water/useWaveSimulation.d.ts.map +1 -0
  326. package/build/types/real-time-viewer-next/src/core/water/useWaveSimulation.test.d.ts +2 -0
  327. package/build/types/real-time-viewer-next/src/core/water/useWaveSimulation.test.d.ts.map +1 -0
  328. package/build/types/real-time-viewer-next/src/core/water/water.config.d.ts +90 -0
  329. package/build/types/real-time-viewer-next/src/core/water/water.config.d.ts.map +1 -0
  330. package/build/types/real-time-viewer-next/src/core/water/water.config.test.d.ts +2 -0
  331. package/build/types/real-time-viewer-next/src/core/water/water.config.test.d.ts.map +1 -0
  332. package/build/types/real-time-viewer-next/src/core/water/waterDebug.d.ts +14 -0
  333. package/build/types/real-time-viewer-next/src/core/water/waterDebug.d.ts.map +1 -0
  334. package/build/types/real-time-viewer-next/src/core/water/waterShaders.d.ts +9 -0
  335. package/build/types/real-time-viewer-next/src/core/water/waterShaders.d.ts.map +1 -0
  336. package/build/types/real-time-viewer-next/src/core/water/waterSurfaceMaterial.d.ts +21 -0
  337. package/build/types/real-time-viewer-next/src/core/water/waterSurfaceMaterial.d.ts.map +1 -0
  338. package/build/types/real-time-viewer-next/src/core/water/waterUniforms.d.ts +51 -0
  339. package/build/types/real-time-viewer-next/src/core/water/waterUniforms.d.ts.map +1 -0
  340. package/build/types/real-time-viewer-next/src/hooks/useAssembledScene.d.ts +17 -0
  341. package/build/types/real-time-viewer-next/src/hooks/useAssembledScene.d.ts.map +1 -0
  342. package/build/types/real-time-viewer-next/src/hooks/useHostPropsSync.d.ts +20 -0
  343. package/build/types/real-time-viewer-next/src/hooks/useHostPropsSync.d.ts.map +1 -0
  344. package/build/types/real-time-viewer-next/src/index.d.ts +17 -0
  345. package/build/types/real-time-viewer-next/src/index.d.ts.map +1 -0
  346. package/build/types/real-time-viewer-next/src/internals.d.ts +61 -0
  347. package/build/types/real-time-viewer-next/src/internals.d.ts.map +1 -0
  348. package/build/types/real-time-viewer-next/src/loadingGates.d.ts +34 -0
  349. package/build/types/real-time-viewer-next/src/loadingGates.d.ts.map +1 -0
  350. package/build/types/real-time-viewer-next/src/parser/parseRenderScript.d.ts +51 -0
  351. package/build/types/real-time-viewer-next/src/parser/parseRenderScript.d.ts.map +1 -0
  352. package/build/types/real-time-viewer-next/src/parser/types.d.ts +58 -0
  353. package/build/types/real-time-viewer-next/src/parser/types.d.ts.map +1 -0
  354. package/build/types/real-time-viewer-next/src/presets/mergePresetBundle.d.ts +33 -0
  355. package/build/types/real-time-viewer-next/src/presets/mergePresetBundle.d.ts.map +1 -0
  356. package/build/types/real-time-viewer-next/src/presets/polyfaser-planner.d.ts +4 -0
  357. package/build/types/real-time-viewer-next/src/presets/polyfaser-planner.d.ts.map +1 -0
  358. package/build/types/real-time-viewer-next/src/presets/polyfaser-pool.d.ts +4 -0
  359. package/build/types/real-time-viewer-next/src/presets/polyfaser-pool.d.ts.map +1 -0
  360. package/build/types/real-time-viewer-next/src/presets/polyfaserPlannerOverride.d.ts +9 -0
  361. package/build/types/real-time-viewer-next/src/presets/polyfaserPlannerOverride.d.ts.map +1 -0
  362. package/build/types/real-time-viewer-next/src/presets/villa-cliff.d.ts +4 -0
  363. package/build/types/real-time-viewer-next/src/presets/villa-cliff.d.ts.map +1 -0
  364. package/build/types/real-time-viewer-next/src/publicApi.d.ts +35 -0
  365. package/build/types/real-time-viewer-next/src/publicApi.d.ts.map +1 -0
  366. package/build/types/real-time-viewer-next/src/publicPath.d.ts +1 -0
  367. package/build/types/real-time-viewer-next/src/publicPath.d.ts.map +1 -0
  368. package/build/types/real-time-viewer-next/src/store/index.d.ts +18 -0
  369. package/build/types/real-time-viewer-next/src/store/index.d.ts.map +1 -0
  370. package/build/types/real-time-viewer-next/src/store/shared.d.ts +25 -0
  371. package/build/types/real-time-viewer-next/src/store/shared.d.ts.map +1 -0
  372. package/build/types/real-time-viewer-next/src/store/slices/accessory.d.ts +147 -0
  373. package/build/types/real-time-viewer-next/src/store/slices/accessory.d.ts.map +1 -0
  374. package/build/types/real-time-viewer-next/src/store/slices/analyzerGate.d.ts +15 -0
  375. package/build/types/real-time-viewer-next/src/store/slices/analyzerGate.d.ts.map +1 -0
  376. package/build/types/real-time-viewer-next/src/store/slices/camera.d.ts +66 -0
  377. package/build/types/real-time-viewer-next/src/store/slices/camera.d.ts.map +1 -0
  378. package/build/types/real-time-viewer-next/src/store/slices/capture.d.ts +60 -0
  379. package/build/types/real-time-viewer-next/src/store/slices/capture.d.ts.map +1 -0
  380. package/build/types/real-time-viewer-next/src/store/slices/config.d.ts +52 -0
  381. package/build/types/real-time-viewer-next/src/store/slices/config.d.ts.map +1 -0
  382. package/build/types/real-time-viewer-next/src/store/slices/deckCutout.d.ts +29 -0
  383. package/build/types/real-time-viewer-next/src/store/slices/deckCutout.d.ts.map +1 -0
  384. package/build/types/real-time-viewer-next/src/store/slices/environment.d.ts +47 -0
  385. package/build/types/real-time-viewer-next/src/store/slices/environment.d.ts.map +1 -0
  386. package/build/types/real-time-viewer-next/src/store/slices/glGeneration.d.ts +18 -0
  387. package/build/types/real-time-viewer-next/src/store/slices/glGeneration.d.ts.map +1 -0
  388. package/build/types/real-time-viewer-next/src/store/slices/hostSelection.test.d.ts +5 -0
  389. package/build/types/real-time-viewer-next/src/store/slices/hostSelection.test.d.ts.map +1 -0
  390. package/build/types/real-time-viewer-next/src/store/slices/interaction.d.ts +53 -0
  391. package/build/types/real-time-viewer-next/src/store/slices/interaction.d.ts.map +1 -0
  392. package/build/types/real-time-viewer-next/src/store/slices/performanceProfile.d.ts +71 -0
  393. package/build/types/real-time-viewer-next/src/store/slices/performanceProfile.d.ts.map +1 -0
  394. package/build/types/real-time-viewer-next/src/store/slices/plannerUi.d.ts +46 -0
  395. package/build/types/real-time-viewer-next/src/store/slices/plannerUi.d.ts.map +1 -0
  396. package/build/types/real-time-viewer-next/src/store/slices/scene.d.ts +26 -0
  397. package/build/types/real-time-viewer-next/src/store/slices/scene.d.ts.map +1 -0
  398. package/build/types/real-time-viewer-next/src/store/slices/sceneLoad.d.ts +75 -0
  399. package/build/types/real-time-viewer-next/src/store/slices/sceneLoad.d.ts.map +1 -0
  400. package/build/types/real-time-viewer-next/src/store/slices/sceneLoad.test.d.ts +5 -0
  401. package/build/types/real-time-viewer-next/src/store/slices/sceneLoad.test.d.ts.map +1 -0
  402. package/build/types/real-time-viewer-next/src/store/slices/selection.d.ts +66 -0
  403. package/build/types/real-time-viewer-next/src/store/slices/selection.d.ts.map +1 -0
  404. package/build/types/real-time-viewer-next/src/store/slices/versions.d.ts +34 -0
  405. package/build/types/real-time-viewer-next/src/store/slices/versions.d.ts.map +1 -0
  406. package/build/types/real-time-viewer-next/src/store/slices/viewMode.d.ts +16 -0
  407. package/build/types/real-time-viewer-next/src/store/slices/viewMode.d.ts.map +1 -0
  408. package/build/types/real-time-viewer-next/src/store/types.d.ts +96 -0
  409. package/build/types/real-time-viewer-next/src/store/types.d.ts.map +1 -0
  410. package/build/types/real-time-viewer-next/src/testUtils/deepDiff.d.ts +26 -0
  411. package/build/types/real-time-viewer-next/src/testUtils/deepDiff.d.ts.map +1 -0
  412. package/build/types/real-time-viewer-next/src/testUtils/deepDiff.test.d.ts +11 -0
  413. package/build/types/real-time-viewer-next/src/testUtils/deepDiff.test.d.ts.map +1 -0
  414. package/build/types/real-time-viewer-next/src/testUtils/divaCoreMock.d.ts +47 -0
  415. package/build/types/real-time-viewer-next/src/testUtils/divaCoreMock.d.ts.map +1 -0
  416. package/build/types/real-time-viewer-next/src/testUtils/resolvedConfigSnapshots.d.ts +36 -0
  417. package/build/types/real-time-viewer-next/src/testUtils/resolvedConfigSnapshots.d.ts.map +1 -0
  418. package/build/types/real-time-viewer-next/src/testUtils/structuredClonePolyfill.d.ts +2 -0
  419. package/build/types/real-time-viewer-next/src/testUtils/structuredClonePolyfill.d.ts.map +1 -0
  420. package/build/types/real-time-viewer-next/src/types/accessoryGrids.d.ts +134 -0
  421. package/build/types/real-time-viewer-next/src/types/accessoryGrids.d.ts.map +1 -0
  422. package/build/types/real-time-viewer-next/src/types/camera.d.ts +288 -0
  423. package/build/types/real-time-viewer-next/src/types/camera.d.ts.map +1 -0
  424. package/build/types/real-time-viewer-next/src/types/environment.d.ts +146 -0
  425. package/build/types/real-time-viewer-next/src/types/environment.d.ts.map +1 -0
  426. package/build/types/real-time-viewer-next/src/types/plannerUi.d.ts +68 -0
  427. package/build/types/real-time-viewer-next/src/types/plannerUi.d.ts.map +1 -0
  428. package/build/types/real-time-viewer-next/src/types/scene2d.d.ts +168 -0
  429. package/build/types/real-time-viewer-next/src/types/scene2d.d.ts.map +1 -0
  430. package/build/types/real-time-viewer-next/src/utils/bootPhase.d.ts +75 -0
  431. package/build/types/real-time-viewer-next/src/utils/bootPhase.d.ts.map +1 -0
  432. package/build/types/real-time-viewer-next/src/utils/bootPhase.test.d.ts +5 -0
  433. package/build/types/real-time-viewer-next/src/utils/bootPhase.test.d.ts.map +1 -0
  434. package/build/types/real-time-viewer-next/src/utils/camera.d.ts +8 -0
  435. package/build/types/real-time-viewer-next/src/utils/camera.d.ts.map +1 -0
  436. package/build/types/real-time-viewer-next/src/utils/cameraFraming.d.ts +47 -0
  437. package/build/types/real-time-viewer-next/src/utils/cameraFraming.d.ts.map +1 -0
  438. package/build/types/real-time-viewer-next/src/utils/collisionTargets.d.ts +34 -0
  439. package/build/types/real-time-viewer-next/src/utils/collisionTargets.d.ts.map +1 -0
  440. package/build/types/real-time-viewer-next/src/utils/collisionTargets.test.d.ts +2 -0
  441. package/build/types/real-time-viewer-next/src/utils/collisionTargets.test.d.ts.map +1 -0
  442. package/build/types/real-time-viewer-next/src/utils/cursorStack.d.ts +21 -0
  443. package/build/types/real-time-viewer-next/src/utils/cursorStack.d.ts.map +1 -0
  444. package/build/types/real-time-viewer-next/src/utils/detectDeviceTier.d.ts +24 -0
  445. package/build/types/real-time-viewer-next/src/utils/detectDeviceTier.d.ts.map +1 -0
  446. package/build/types/real-time-viewer-next/src/utils/detectDeviceTier.test.d.ts +5 -0
  447. package/build/types/real-time-viewer-next/src/utils/detectDeviceTier.test.d.ts.map +1 -0
  448. package/build/types/real-time-viewer-next/src/utils/dockingGroups.d.ts +7 -0
  449. package/build/types/real-time-viewer-next/src/utils/dockingGroups.d.ts.map +1 -0
  450. package/build/types/real-time-viewer-next/src/utils/elementIds.d.ts +27 -0
  451. package/build/types/real-time-viewer-next/src/utils/elementIds.d.ts.map +1 -0
  452. package/build/types/real-time-viewer-next/src/utils/equirectCache.d.ts +45 -0
  453. package/build/types/real-time-viewer-next/src/utils/equirectCache.d.ts.map +1 -0
  454. package/build/types/real-time-viewer-next/src/utils/equirectUrl.d.ts +22 -0
  455. package/build/types/real-time-viewer-next/src/utils/equirectUrl.d.ts.map +1 -0
  456. package/build/types/real-time-viewer-next/src/utils/equirectUrl.test.d.ts +2 -0
  457. package/build/types/real-time-viewer-next/src/utils/equirectUrl.test.d.ts.map +1 -0
  458. package/build/types/real-time-viewer-next/src/utils/footprint.d.ts +15 -0
  459. package/build/types/real-time-viewer-next/src/utils/footprint.d.ts.map +1 -0
  460. package/build/types/real-time-viewer-next/src/utils/footprint.test.d.ts +2 -0
  461. package/build/types/real-time-viewer-next/src/utils/footprint.test.d.ts.map +1 -0
  462. package/build/types/real-time-viewer-next/src/utils/footprintTrace.d.ts +55 -0
  463. package/build/types/real-time-viewer-next/src/utils/footprintTrace.d.ts.map +1 -0
  464. package/build/types/real-time-viewer-next/src/utils/footprintTrace.test.d.ts +2 -0
  465. package/build/types/real-time-viewer-next/src/utils/footprintTrace.test.d.ts.map +1 -0
  466. package/build/types/real-time-viewer-next/src/utils/geoViewAngle.d.ts +17 -0
  467. package/build/types/real-time-viewer-next/src/utils/geoViewAngle.d.ts.map +1 -0
  468. package/build/types/real-time-viewer-next/src/utils/gltfLoader.d.ts +34 -0
  469. package/build/types/real-time-viewer-next/src/utils/gltfLoader.d.ts.map +1 -0
  470. package/build/types/real-time-viewer-next/src/utils/gridGeometryApi.d.ts +17 -0
  471. package/build/types/real-time-viewer-next/src/utils/gridGeometryApi.d.ts.map +1 -0
  472. package/build/types/real-time-viewer-next/src/utils/localUVSampler.d.ts +89 -0
  473. package/build/types/real-time-viewer-next/src/utils/localUVSampler.d.ts.map +1 -0
  474. package/build/types/real-time-viewer-next/src/utils/localUVSampler.test.d.ts +2 -0
  475. package/build/types/real-time-viewer-next/src/utils/localUVSampler.test.d.ts.map +1 -0
  476. package/build/types/real-time-viewer-next/src/utils/overlayGeometry.d.ts +28 -0
  477. package/build/types/real-time-viewer-next/src/utils/overlayGeometry.d.ts.map +1 -0
  478. package/build/types/real-time-viewer-next/src/utils/overlayGeometry.test.d.ts +2 -0
  479. package/build/types/real-time-viewer-next/src/utils/overlayGeometry.test.d.ts.map +1 -0
  480. package/build/types/real-time-viewer-next/src/utils/planarTransform.d.ts +20 -0
  481. package/build/types/real-time-viewer-next/src/utils/planarTransform.d.ts.map +1 -0
  482. package/build/types/real-time-viewer-next/src/utils/planarTransform.test.d.ts +2 -0
  483. package/build/types/real-time-viewer-next/src/utils/planarTransform.test.d.ts.map +1 -0
  484. package/build/types/real-time-viewer-next/src/utils/polygon2d.d.ts +25 -0
  485. package/build/types/real-time-viewer-next/src/utils/polygon2d.d.ts.map +1 -0
  486. package/build/types/real-time-viewer-next/src/utils/preloadEnvironment.d.ts +15 -0
  487. package/build/types/real-time-viewer-next/src/utils/preloadEnvironment.d.ts.map +1 -0
  488. package/build/types/real-time-viewer-next/src/utils/profiles.d.ts +113 -0
  489. package/build/types/real-time-viewer-next/src/utils/profiles.d.ts.map +1 -0
  490. package/build/types/real-time-viewer-next/src/utils/profiles.test.d.ts +17 -0
  491. package/build/types/real-time-viewer-next/src/utils/profiles.test.d.ts.map +1 -0
  492. package/build/types/real-time-viewer-next/src/utils/rasterMask.d.ts +31 -0
  493. package/build/types/real-time-viewer-next/src/utils/rasterMask.d.ts.map +1 -0
  494. package/build/types/real-time-viewer-next/src/utils/rasterMask.test.d.ts +2 -0
  495. package/build/types/real-time-viewer-next/src/utils/rasterMask.test.d.ts.map +1 -0
  496. package/build/types/real-time-viewer-next/src/utils/resolveEnvironment.d.ts +16 -0
  497. package/build/types/real-time-viewer-next/src/utils/resolveEnvironment.d.ts.map +1 -0
  498. package/build/types/real-time-viewer-next/src/utils/resolveGridCells.d.ts +35 -0
  499. package/build/types/real-time-viewer-next/src/utils/resolveGridCells.d.ts.map +1 -0
  500. package/build/types/real-time-viewer-next/src/utils/scene.d.ts +3 -0
  501. package/build/types/real-time-viewer-next/src/utils/scene.d.ts.map +1 -0
  502. package/build/types/real-time-viewer-next/src/utils/screenProjection.d.ts +42 -0
  503. package/build/types/real-time-viewer-next/src/utils/screenProjection.d.ts.map +1 -0
  504. package/build/types/real-time-viewer-next/src/utils/screenProjection.test.d.ts +2 -0
  505. package/build/types/real-time-viewer-next/src/utils/screenProjection.test.d.ts.map +1 -0
  506. package/build/types/real-time-viewer-next/src/utils/selectionScopeNames.d.ts +6 -0
  507. package/build/types/real-time-viewer-next/src/utils/selectionScopeNames.d.ts.map +1 -0
  508. package/build/types/real-time-viewer-next/src/utils/selectionScopeScene.d.ts +8 -0
  509. package/build/types/real-time-viewer-next/src/utils/selectionScopeScene.d.ts.map +1 -0
  510. package/build/types/real-time-viewer-next/src/utils/smoothDamp.d.ts +19 -0
  511. package/build/types/real-time-viewer-next/src/utils/smoothDamp.d.ts.map +1 -0
  512. package/build/types/real-time-viewer-next/src/utils/sunAngles.d.ts +29 -0
  513. package/build/types/real-time-viewer-next/src/utils/sunAngles.d.ts.map +1 -0
  514. package/build/types/real-time-viewer-next/src/utils/suspense.d.ts +11 -0
  515. package/build/types/real-time-viewer-next/src/utils/suspense.d.ts.map +1 -0
  516. package/build/types/real-time-viewer-next/src/utils/whiteRoomPreset.d.ts +48 -0
  517. package/build/types/real-time-viewer-next/src/utils/whiteRoomPreset.d.ts.map +1 -0
  518. package/build/types/real-time-viewer-next/src/utils/withRenderTarget.d.ts +48 -0
  519. package/build/types/real-time-viewer-next/src/utils/withRenderTarget.d.ts.map +1 -0
  520. package/build/umd/114.real-time-viewer-next.umd.min.js +2 -0
  521. package/build/umd/114.real-time-viewer-next.umd.min.js.LICENSE.txt +1 -0
  522. package/build/umd/699.real-time-viewer-next.umd.min.js +2 -0
  523. package/build/umd/699.real-time-viewer-next.umd.min.js.LICENSE.txt +1 -0
  524. package/build/umd/964.real-time-viewer-next.umd.min.js +2 -0
  525. package/build/umd/964.real-time-viewer-next.umd.min.js.LICENSE.txt +1 -0
  526. package/build/umd/real-time-viewer-next.umd.min.js +2 -0
  527. package/build/umd/real-time-viewer-next.umd.min.js.LICENSE.txt +117 -0
  528. package/build/umd/report.html +38 -0
  529. 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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=scene.config.test.d.ts.map
@@ -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"}