@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,48 @@
1
+ import { Texture, Vector3, WebGLRenderer } from 'three';
2
+ export interface CausticsTextureOptions {
3
+ /** Output texture resolution (square). Demo uses 1024. */
4
+ size?: number;
5
+ /**
6
+ * Plane subdivision count along the LONGER pool axis. Demo uses 200 on a
7
+ * unit-square pool; we keep ~200 segments/2m and let the shorter axis
8
+ * scale down proportionally with a floor of 32 so degenerate aspect
9
+ * ratios don't produce a 1-segment strip.
10
+ */
11
+ detail?: number;
12
+ /**
13
+ * Pool half-extents in WORLD METERS (halfX, depth, halfZ). The caustic
14
+ * plane is built as `2*halfX × 2*halfZ` so `position.xy` in the shader is
15
+ * the world XZ of a water-surface point and the heightfield sampling
16
+ * formula stays consistent with everything else.
17
+ */
18
+ poolHalf?: Vector3;
19
+ }
20
+ export declare class CausticsTexture {
21
+ readonly size: number;
22
+ readonly poolHalf: Vector3;
23
+ private rt;
24
+ private scene;
25
+ private camera;
26
+ private quad;
27
+ private material;
28
+ constructor(opts?: CausticsTextureOptions);
29
+ /** Output texture handle. Bind this where the demo bound `causticTex`. */
30
+ get texture(): Texture;
31
+ /**
32
+ * Render the caustics for the current heightfield + light. Should
33
+ * be called once per frame, after `Heightfield.updateNormals()` so the
34
+ * normals sampled here are in sync with the displaced surface.
35
+ *
36
+ * Inputs are read from the uniform setters below — pass updates BEFORE
37
+ * calling render().
38
+ */
39
+ render(renderer: WebGLRenderer): void;
40
+ setHeightfield(tex: Texture | null): void;
41
+ setLight(x: number, y: number, z: number): void;
42
+ /** MOD #4 — caustic intensity multiplier (replaces demo's `info.ba *= 0.5`). */
43
+ setIntensity(intensity: number): void;
44
+ /** MOD #7 — bind (or clear) the receiving-geometry height map. */
45
+ setHeightMap(tex: Texture | null): void;
46
+ dispose(): void;
47
+ }
48
+ //# sourceMappingURL=CausticsTexture.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CausticsTexture.d.ts","sourceRoot":"","sources":["../../../../../../src/core/water/CausticsTexture.ts"],"names":[],"mappings":"AAkBA,OAAO,EAOL,OAAO,EAEP,OAAO,EACP,aAAa,EAEd,MAAM,OAAO,CAAC;AAIf,MAAM,WAAW,sBAAsB;IACrC,0DAA0D;IAC1D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,qBAAa,eAAe;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,OAAO,CAAC,EAAE,CAAoB;IAC9B,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,IAAI,CAAO;IACnB,OAAO,CAAC,QAAQ,CAAiB;gBAErB,IAAI,GAAE,sBAA2B;IA0D7C,0EAA0E;IAC1E,IAAI,OAAO,IAAI,OAAO,CAErB;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI;IAOrC,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAIlC,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAIxC,gFAAgF;IAChF,YAAY,CAAC,SAAS,EAAE,MAAM;IAI9B,kEAAkE;IAClE,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAKhC,OAAO;CAKR"}
@@ -0,0 +1,88 @@
1
+ import { Vector2, WebGLRenderer } from 'three';
2
+ export interface HeightfieldOptions {
3
+ /**
4
+ * Heightfield X-axis resolution (texels). When omitted, falls back to 256.
5
+ * The wave kernel propagates 1 texel per simulation step, so the X-axis
6
+ * wave speed in world meters is `(2·poolHalf.x / sizeX) m/step`. Sizing
7
+ * `sizeX / sizeY` proportional to `poolHalf.x / poolHalf.y` gives
8
+ * isotropic wave propagation in world space.
9
+ */
10
+ sizeX?: number;
11
+ /** Heightfield Y-axis (= world Z) resolution. Defaults to `sizeX`. */
12
+ sizeY?: number;
13
+ /**
14
+ * Pool half-extents in WORLD METERS, used by the drop kernel to measure
15
+ * horizontal distances in real meters (so a drop stays circular in world
16
+ * space on rectangular pools).
17
+ * Defaults to (1, 1) which reproduces the demo's unit-cube behaviour.
18
+ */
19
+ poolHalf?: Vector2;
20
+ }
21
+ /**
22
+ * GPU heightfield with a ping-pong pair of float render targets. Constructed
23
+ * without a renderer; the per-frame calls take one.
24
+ *
25
+ * Rectangular pools need no kernel change: all three shaders sample through
26
+ * the `coord` varying (UV ∈ [0,1]²) and `delta` (per-axis texel size), both of
27
+ * which work unchanged on non-square textures. The only physically-relevant
28
+ * difference is the drop falloff math — see MOD #A1 in this file.
29
+ */
30
+ export declare class Heightfield {
31
+ readonly sizeX: number;
32
+ readonly sizeY: number;
33
+ readonly delta: Vector2;
34
+ readonly poolHalf: Vector2;
35
+ private rtA;
36
+ private rtB;
37
+ private scene;
38
+ private camera;
39
+ private quad;
40
+ private dropMat;
41
+ private updateMat;
42
+ private normalMat;
43
+ private clearedOnce;
44
+ constructor(opts?: HeightfieldOptions);
45
+ /**
46
+ * Read-only handle of the front-buffer (the one that holds the latest simulation
47
+ * state). Sample this texture from the surface and caustics shaders.
48
+ */
49
+ get currentTexture(): import("three").Texture;
50
+ /**
51
+ * Clear both ping-pong RTs to (0,0,0,0) on the first frame so neither buffer
52
+ * starts with garbage. Stability bug guard: skipping this gives the kernel
53
+ * uninitialized data and the wave amplitude blows up.
54
+ */
55
+ private ensureCleared;
56
+ /**
57
+ * One ping-pong step: draw the quad into the back buffer, then swap.
58
+ *
59
+ * Deliberately not a `withRenderTarget` pass — it touches no clear/tone-mapping
60
+ * state and unbinds to the default framebuffer rather than restoring whatever
61
+ * was bound. Callers run it from the water frame stage, where nothing is bound.
62
+ */
63
+ private renderPass;
64
+ /**
65
+ * Add a drop. Center is in pool-normalized [-1, 1] coordinates so the same
66
+ * call site works across pool sizes. `radius` is in WORLD METERS — see the
67
+ * MOD #A1 comment above DROP_FRAGMENT — so a 0.2 m drop has the same
68
+ * physical size on a 4×4 pool and a 2×10 pool. Strength is unitless
69
+ * (height delta applied at the drop centre).
70
+ */
71
+ addDrop(renderer: WebGLRenderer, center: Vector2, radius?: number, strength?: number): void;
72
+ /** Advance the wave simulation one substep. */
73
+ step(renderer: WebGLRenderer): void;
74
+ /**
75
+ * Per-substep damping coefficient applied to the velocity channel after
76
+ * each `step()`. With more substeps per second (e.g. when the host
77
+ * component auto-scales substep count for higher-resolution
78
+ * heightfields) this value must be closer to 1.0 to keep amplitude
79
+ * decay constant in real time. The host component computes this as
80
+ * `damping = (perSecondDamping) ^ (1 / substepsPerSecond)`
81
+ * and pushes it every frame.
82
+ */
83
+ setDamping(value: number): void;
84
+ /** Recompute surface normals into channels (b, a). */
85
+ updateNormals(renderer: WebGLRenderer): void;
86
+ dispose(): void;
87
+ }
88
+ //# sourceMappingURL=Heightfield.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Heightfield.d.ts","sourceRoot":"","sources":["../../../../../../src/core/water/Heightfield.ts"],"names":[],"mappings":"AAoBA,OAAO,EAUL,OAAO,EACP,aAAa,EAEd,MAAM,OAAO,CAAC;AAqHf,MAAM,WAAW,kBAAkB;IACjC;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sEAAsE;IACtE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;GAQG;AACH,qBAAa,WAAW;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAE3B,OAAO,CAAC,GAAG,CAAoB;IAC/B,OAAO,CAAC,GAAG,CAAoB;IAC/B,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,IAAI,CAAO;IAEnB,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,SAAS,CAAiB;IAElC,OAAO,CAAC,WAAW,CAAS;gBAEhB,IAAI,GAAE,kBAAuB;IA2EzC;;;OAGG;IACH,IAAI,cAAc,4BAEjB;IAED;;;;OAIG;IACH,OAAO,CAAC,aAAa;IAYrB;;;;;;OAMG;IACH,OAAO,CAAC,UAAU;IAQlB;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,SAAM,EAAE,QAAQ,SAAO;IAS/E,+CAA+C;IAC/C,IAAI,CAAC,QAAQ,EAAE,aAAa;IAM5B;;;;;;;;OAQG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM;IAIxB,sDAAsD;IACtD,aAAa,CAAC,QAAQ,EAAE,aAAa;IAMrC,OAAO;CAQR"}
@@ -0,0 +1,36 @@
1
+ import { Scene, Texture, Vector3, WebGLRenderer } from 'three';
2
+ import type { Object3D } from 'three';
3
+ export declare class PoolHeightMap {
4
+ private rt;
5
+ private overrideMaterial;
6
+ private camera;
7
+ private lastCenter;
8
+ private lastHalf;
9
+ private lastGeometryVersion;
10
+ private age;
11
+ constructor();
12
+ /** Output texture handle — stable reference across re-renders. */
13
+ get texture(): Texture;
14
+ /**
15
+ * Fit the top-down camera to the volume. The axis mapping must reproduce
16
+ * the read formula `uv = local.xz / (2 * poolHalf.xz) + 0.5`: with
17
+ * `up = (0, 0, -1)` camera-right is world +X, and the swapped
18
+ * `top`/`bottom` flip NDC y back to world +Z. Depth increases downward,
19
+ * so the topmost surface wins the depth test.
20
+ */
21
+ private updateCamera;
22
+ /**
23
+ * Re-render the height map when it is stale, otherwise do nothing.
24
+ * Call once per frame BEFORE `CausticsTexture.render` so the caustics
25
+ * pass never samples a blank first-frame target.
26
+ *
27
+ * @param volumeCenter World-space water-volume center (surface Y).
28
+ * @param poolHalf (halfX, depth, halfZ) in world meters.
29
+ * @param geometryVersion Article + decor version sum — a change forces a render.
30
+ * @param excluded Subtrees hidden for the pass (the water group).
31
+ * @returns true when a render actually happened.
32
+ */
33
+ renderIfNeeded(renderer: WebGLRenderer, scene: Scene, volumeCenter: Vector3, poolHalf: Vector3, geometryVersion: number, excluded: Array<Object3D | null>): boolean;
34
+ dispose(): void;
35
+ }
36
+ //# sourceMappingURL=PoolHeightMap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PoolHeightMap.d.ts","sourceRoot":"","sources":["../../../../../../src/core/water/PoolHeightMap.ts"],"names":[],"mappings":"AAgBA,OAAO,EAQL,KAAK,EAEL,OAAO,EACP,OAAO,EAEP,aAAa,EACd,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAY,QAAQ,EAAE,MAAM,OAAO,CAAC;AA0DhD,qBAAa,aAAa;IACxB,OAAO,CAAC,EAAE,CAAoB;IAC9B,OAAO,CAAC,gBAAgB,CAAiB;IACzC,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,UAAU,CAA6C;IAC/D,OAAO,CAAC,QAAQ,CAAwB;IACxC,OAAO,CAAC,mBAAmB,CAAM;IACjC,OAAO,CAAC,GAAG,CAA2B;;IA+BtC,kEAAkE;IAClE,IAAI,OAAO,IAAI,OAAO,CAErB;IAED;;;;;;OAMG;IACH,OAAO,CAAC,YAAY;IAepB;;;;;;;;;;OAUG;IACH,cAAc,CACZ,QAAQ,EAAE,aAAa,EACvB,KAAK,EAAE,KAAK,EACZ,YAAY,EAAE,OAAO,EACrB,QAAQ,EAAE,OAAO,EACjB,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,GAC/B,OAAO;IAqFV,OAAO,IAAI,IAAI;CAIhB"}
@@ -0,0 +1,73 @@
1
+ import { Box3, Matrix4, Vector3, Vector4 } from 'three';
2
+ import type { Camera, Mesh, Scene, ShaderMaterial, Texture, WebGLRenderer } from 'three';
3
+ export interface RefractionCaptureFrame {
4
+ renderer: WebGLRenderer;
5
+ scene: Scene;
6
+ camera: Camera;
7
+ /** Water surface material — receives the capture texture + resolution. */
8
+ material: ShaderMaterial;
9
+ /** Excluded from the pass so the water doesn't refract itself. */
10
+ surfaceMesh: Mesh | null;
11
+ /** World-space center of the water surface. */
12
+ volumeCenter: Vector3;
13
+ /** Pool half-extents in world meters: (halfX, depth, halfZ). */
14
+ poolHalf: Vector3;
15
+ /** R3F canvas size in CSS pixels. */
16
+ cssWidth: number;
17
+ cssHeight: number;
18
+ /** Bumped whenever the captured scene content changes. */
19
+ geometryVersion: number;
20
+ /** True while transforms mutate per frame without bumping a version. */
21
+ sceneMutating: boolean;
22
+ }
23
+ /**
24
+ * Capture-throttle decision. A reallocated target is blank, so it can't wait
25
+ * out an interval — the surface would sample the cleared texture and flash
26
+ * the refraction fallback colour.
27
+ */
28
+ export declare function isCaptureDue(framesSinceCapture: number, dirty: boolean, targetResized: boolean): boolean;
29
+ export declare class RefractionCapture {
30
+ private readonly capture;
31
+ /**
32
+ * Six planes installed on the renderer ONLY during the capture pass, so
33
+ * EVERY fragment outside the water volume — above water, below the pool
34
+ * floor, beside the pool — is discarded and the surface shader can detect
35
+ * the resulting alpha=0 pixels as capture misses.
36
+ *
37
+ * Three.js keeps a point P iff `dot(normal, P) + constant >= 0`, so every
38
+ * plane here points INWARD. Allocated once and mutated per frame;
39
+ * SceneCapture saves and restores `renderer.clippingPlanes` so they never
40
+ * leak into the main R3F render.
41
+ */
42
+ private readonly clipPlanes;
43
+ /**
44
+ * Frames since the last capture, and the state that capture was taken with.
45
+ * Together they answer "is the texture we already have still a correct
46
+ * picture of the scene?". Starts due so the first frame captures.
47
+ */
48
+ private framesSinceCapture;
49
+ private readonly capturedViewProj;
50
+ private readonly capturedBox;
51
+ private capturedGeometryVersion;
52
+ get texture(): Texture;
53
+ /**
54
+ * Publish the refraction uniforms and re-render the capture if it is stale
55
+ * and the water is on screen. Call once per frame from the water frame
56
+ * stage, after the heightfield/caustics passes and before the composite.
57
+ */
58
+ update(frame: RefractionCaptureFrame): void;
59
+ dispose(): void;
60
+ }
61
+ /** Element-wise matrix compare with a tolerance. */
62
+ export declare function matricesApproxEqual(a: Matrix4, b: Matrix4, epsilon: number): boolean;
63
+ /**
64
+ * Fit `box`'s screen-space extent into `out` (render-target pixels, GL
65
+ * bottom-left origin), padded by `marginUV` in each axis to cover the camera
66
+ * motion between two captures.
67
+ *
68
+ * Returns false when the box straddles the camera plane — a corner with
69
+ * w <= 0 projects to garbage, so the caller must fall back to capturing the
70
+ * full target rather than trusting a bogus rect.
71
+ */
72
+ export declare function fitScissorToBox(box: Box3, viewProj: Matrix4, width: number, height: number, marginUV: number, out: Vector4): boolean;
73
+ //# sourceMappingURL=RefractionCapture.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RefractionCapture.d.ts","sourceRoot":"","sources":["../../../../../../src/core/water/RefractionCapture.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,IAAI,EAAW,OAAO,EAAkB,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACjF,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAwEzF,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,aAAa,CAAC;IACxB,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,QAAQ,EAAE,cAAc,CAAC;IACzB,kEAAkE;IAClE,WAAW,EAAE,IAAI,GAAG,IAAI,CAAC;IACzB,+CAA+C;IAC/C,YAAY,EAAE,OAAO,CAAC;IACtB,gEAAgE;IAChE,QAAQ,EAAE,OAAO,CAAC;IAClB,qCAAqC;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,0DAA0D;IAC1D,eAAe,EAAE,MAAM,CAAC;IACxB,wEAAwE;IACxE,aAAa,EAAE,OAAO,CAAC;CACxB;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,kBAAkB,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,GAAG,OAAO,CAExG;AAED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;IAE9C;;;;;;;;;;OAUG;IACH,OAAO,CAAC,QAAQ,CAAC,UAAU,CAOzB;IAEF;;;;OAIG;IACH,OAAO,CAAC,kBAAkB,CAA+B;IACzD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAiB;IAClD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,uBAAuB,CAAM;IAErC,IAAI,OAAO,IAAI,OAAO,CAErB;IAED;;;;OAIG;IACH,MAAM,CAAC,KAAK,EAAE,sBAAsB,GAAG,IAAI;IAiG3C,OAAO,IAAI,IAAI;CAGhB;AAED,oDAAoD;AACpD,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAOpF;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CA8BpI"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=RefractionCapture.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RefractionCapture.test.d.ts","sourceRoot":"","sources":["../../../../../../src/core/water/RefractionCapture.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,66 @@
1
+ import { Box3, RGBAFormat, Scene, Texture, WebGLRenderer } from 'three';
2
+ import type { Camera, Object3D, Plane, Vector4 } from 'three';
3
+ export interface SceneCaptureOptions {
4
+ /**
5
+ * Texture format. RGBA on the renderer's default linear working space — the
6
+ * capture is sampled back into a fragment shader that mixes it with other
7
+ * linear-space colours.
8
+ */
9
+ format?: typeof RGBAFormat;
10
+ }
11
+ export declare class SceneCapture {
12
+ private rt;
13
+ /** Drawing-buffer pixel width currently allocated for the RT. */
14
+ width: number;
15
+ /** Drawing-buffer pixel height currently allocated for the RT. */
16
+ height: number;
17
+ constructor(opts?: SceneCaptureOptions);
18
+ /**
19
+ * Output texture handle. Stable reference across frames — the
20
+ * WebGLRenderTarget keeps the same `.texture` even after we render into
21
+ * it, so consumers can assign this once and stop worrying about
22
+ * per-frame refreshes (unlike the heightfield ping-pong).
23
+ */
24
+ get texture(): Texture;
25
+ /**
26
+ * Resize the render target if `(w, h, pr, scale)` differs from the
27
+ * currently allocated extent. Pass DRAWING-BUFFER pixels (CSS pixels *
28
+ * pixelRatio). The host typically gets this from `useThree(s => s.size)`
29
+ * and `renderer.getPixelRatio()`.
30
+ *
31
+ * `resolutionScale` renders the capture BELOW the canvas resolution.
32
+ * Consumers sample it with a normalized UV, so a smaller target costs
33
+ * nothing but sharpness — and refraction is a blur, so half-res is
34
+ * effectively free while cutting fill and bandwidth by 4x.
35
+ *
36
+ * Returns true when the target was actually reallocated. Its contents
37
+ * are gone at that point, so a consumer that skips captures on idle
38
+ * frames must treat this as "must re-capture now".
39
+ */
40
+ resizeIfNeeded(cssWidth: number, cssHeight: number, pixelRatio: number, resolutionScale?: number): boolean;
41
+ /**
42
+ * Render `scene` to the offscreen target with `excluded` meshes
43
+ * temporarily hidden. Renderer state is taken over and put back via
44
+ * {@link withRenderTarget} so the main R3F render is undisturbed.
45
+ *
46
+ * `excluded` is typically `[surfaceMeshRef.current]` so the water
47
+ * surface excludes itself from the captured scene (otherwise we'd
48
+ * refract through the water and see... the same water).
49
+ *
50
+ * `scissor` (in RENDER-TARGET pixels, GL bottom-left origin) restricts
51
+ * the pass to the screen region the consumer can actually sample. The
52
+ * full target is still cleared first, so everything outside the rect
53
+ * stays at alpha 0 and reads as a miss — exactly like a clipped pixel.
54
+ *
55
+ * `cullBox` (world space) hides every Mesh whose world bounds miss the
56
+ * box for the duration of the pass. The clip planes already discard
57
+ * out-of-volume FRAGMENTS, but each mesh still costs a draw call and its
58
+ * full vertex work — for a pool inside a large scene this skips almost
59
+ * all of it. Caveat: an InstancedMesh is tested by its BASE geometry
60
+ * bounds, so instanced content meant to appear underwater would be
61
+ * over-culled (none exists today).
62
+ */
63
+ render(renderer: WebGLRenderer, scene: Scene, camera: Camera, excluded: Array<Object3D | null>, clippingPlanes?: Plane[], scissor?: Vector4 | null, cullBox?: Box3 | null): void;
64
+ dispose(): void;
65
+ }
66
+ //# sourceMappingURL=SceneCapture.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SceneCapture.d.ts","sourceRoot":"","sources":["../../../../../../src/core/water/SceneCapture.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,IAAI,EAA8C,UAAU,EAAE,KAAK,EAAE,OAAO,EAAqB,aAAa,EAAE,MAAM,OAAO,CAAC;AACvI,OAAO,KAAK,EAAE,MAAM,EAAQ,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAMpE,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,UAAU,CAAC;CAC5B;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,EAAE,CAAoB;IAC9B,iEAAiE;IACjE,KAAK,SAAK;IACV,kEAAkE;IAClE,MAAM,SAAK;gBAEC,IAAI,GAAE,mBAAwB;IA2B1C;;;;;OAKG;IACH,IAAI,OAAO,IAAI,OAAO,CAErB;IAED;;;;;;;;;;;;;;OAcG;IACH,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,SAAI,GAAG,OAAO;IAUrG;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,MAAM,CACJ,QAAQ,EAAE,aAAa,EACvB,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,EAChC,cAAc,CAAC,EAAE,KAAK,EAAE,EACxB,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,EACxB,OAAO,CAAC,EAAE,IAAI,GAAG,IAAI,GACpB,IAAI;IAsHP,OAAO,IAAI,IAAI;CAGhB"}
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ /**
3
+ * The scene's water surface: scene basins are plain geometry, so the surface
4
+ * is placed standalone at `water.volume` (or the article-derived override).
5
+ * Mounted by `SceneRenderer` on `water.enabled`.
6
+ */
7
+ export declare function WaterSurface(): React.JSX.Element;
8
+ //# sourceMappingURL=WaterSurface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WaterSurface.d.ts","sourceRoot":"","sources":["../../../../../../src/core/water/WaterSurface.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAKvC;;;;GAIG;AACH,wBAAgB,YAAY,sBAsC3B"}
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ /**
3
+ * Starts the water chunk download. Called from `preloadLazySubsystems` as soon as the resolved
4
+ * config says water is coming — long before the mount — so the request overlaps the scene's
5
+ * GLB / HDR downloads and Suspense usually resolves on the first render.
6
+ */
7
+ export declare function preloadWaterSurface(): void;
8
+ /** `WaterSurface` behind its chunk boundary — same (prop-less) surface as the component itself. */
9
+ export declare function WaterSurfaceLazy(): React.JSX.Element;
10
+ //# sourceMappingURL=WaterSurfaceLazy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WaterSurfaceLazy.d.ts","sourceRoot":"","sources":["../../../../../../src/core/water/WaterSurfaceLazy.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyB,MAAM,OAAO,CAAC;AAsB9C;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAG1C;AAKD,mGAAmG;AACnG,wBAAgB,gBAAgB,sBAM/B"}
@@ -0,0 +1,71 @@
1
+ import React from 'react';
2
+ import { type CausticDebugMode } from './waterDebug';
3
+ export interface WaterSurfaceRendererProps {
4
+ /** World-space center of the WATER SURFACE; the floor sits `volumeSize[1]` below it. */
5
+ position: [number, number, number];
6
+ /** AABB extent in world meters: [width, depth, length]. Depth is surface-to-floor. */
7
+ volumeSize: [number, number, number];
8
+ /** Sun direction in WORLD space (already normalized). */
9
+ sunDirection: [number, number, number];
10
+ /** Pool wall flat color — replaces the demo's `tiles` sampler. */
11
+ wallColor: string;
12
+ /** Sky horizon / zenith colors used by the procedural sky stub. */
13
+ skyHorizonColor: string;
14
+ skyZenithColor: string;
15
+ /**
16
+ * Heightfield resolution along the LONGER pool axis; the shorter axis gets
17
+ * fewer texels in proportion so wave propagation is isotropic in world space.
18
+ */
19
+ heightfieldSize: number;
20
+ /** Resolution of the caustic render target, per side. */
21
+ causticTextureSize: number;
22
+ /**
23
+ * Wave speed as **substeps at 60 fps** (the historical per-frame meaning, so
24
+ * existing tunings carry over); the sim converts it to a per-second rate.
25
+ *
26
+ * There is NO resolution compensation: world speed is
27
+ * `substeps × 60 × (2 × poolHalf.x / heightfieldSize)`, so a smaller
28
+ * heightfield means bigger cells and faster waves.
29
+ */
30
+ substeps: number;
31
+ /** Period (seconds) for ambient auto-drops. 0 disables them. */
32
+ ambientDropPeriod: number;
33
+ /** Multiplier on pointer-driven (hover + press) drop strength. */
34
+ pointerStrength: number;
35
+ /** Multiplier on the wave-normal contribution driving the caustic pattern. */
36
+ causticIntensity: number;
37
+ /** Water clarity / transparency (0–1). */
38
+ waterClarity: number;
39
+ /**
40
+ * True samples a per-frame scene capture for refracted colour (real geo
41
+ * through the water); false uses the demo's in-shader AABB raytrace and
42
+ * runs no capture pass at all.
43
+ */
44
+ useScreenSpaceRefraction: boolean;
45
+ /** Colour the surface shader falls back to on a capture miss. Hex string. */
46
+ refractionFallbackColor: string;
47
+ /** Grazing-angle reflection ceiling for the Schlick fresnel approximation. */
48
+ fresnelMax: number;
49
+ /** Debug visualization mode for the caustic receivers / surface shader. */
50
+ causticDebugMode: CausticDebugMode;
51
+ }
52
+ /**
53
+ * Drop the demo's self-contained pool world into the scene at the configured
54
+ * AABB. EVERY internal coordinate is in WORLD METERS in the pool's local
55
+ * frame (origin at the water-surface centre, +Y up):
56
+ *
57
+ * xz ∈ [-poolHalf.x, +poolHalf.x] × [-poolHalf.z, +poolHalf.z] (pool footprint)
58
+ * y ∈ [-poolHalf.y, +2 * poolHalf.y] (floor → sky ceiling)
59
+ *
60
+ * The parent `<group>` carries ONLY a `position` (no scale) so non-cubic pools
61
+ * don't introduce anisotropic stretching to the inside-the-pool view (wall
62
+ * caustics, etc.); the shaders get a `uPoolHalf` uniform so their internal
63
+ * math (intersectCube, caustic projection, wall detection, rim shadow) runs in
64
+ * the same world-meter frame.
65
+ *
66
+ * The above-water surface is rendered; the pool interior is ray-traced inside
67
+ * the surface shader. The underwater pass is intentionally skipped (the camera
68
+ * never goes below the water in the host scene).
69
+ */
70
+ export declare function WaterSurfaceRenderer({ position, volumeSize, sunDirection, wallColor, skyHorizonColor, skyZenithColor, heightfieldSize, causticTextureSize, substeps, ambientDropPeriod, pointerStrength, causticIntensity, waterClarity, useScreenSpaceRefraction, refractionFallbackColor, fresnelMax, causticDebugMode, }: WaterSurfaceRendererProps): React.JSX.Element;
71
+ //# sourceMappingURL=WaterSurfaceRenderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WaterSurfaceRenderer.d.ts","sourceRoot":"","sources":["../../../../../../src/core/water/WaterSurfaceRenderer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqC,MAAM,OAAO,CAAC;AAS1D,OAAO,EAA2B,KAAK,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAI9E,MAAM,WAAW,yBAAyB;IACxC,wFAAwF;IACxF,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,sFAAsF;IACtF,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,yDAAyD;IACzD,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,kEAAkE;IAClE,SAAS,EAAE,MAAM,CAAC;IAClB,mEAAmE;IACnE,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,eAAe,EAAE,MAAM,CAAC;IACxB,yDAAyD;IACzD,kBAAkB,EAAE,MAAM,CAAC;IAC3B;;;;;;;OAOG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB,gEAAgE;IAChE,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kEAAkE;IAClE,eAAe,EAAE,MAAM,CAAC;IACxB,8EAA8E;IAC9E,gBAAgB,EAAE,MAAM,CAAC;IACzB,0CAA0C;IAC1C,YAAY,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,wBAAwB,EAAE,OAAO,CAAC;IAClC,6EAA6E;IAC7E,uBAAuB,EAAE,MAAM,CAAC;IAChC,8EAA8E;IAC9E,UAAU,EAAE,MAAM,CAAC;IACnB,2EAA2E;IAC3E,gBAAgB,EAAE,gBAAgB,CAAC;CACpC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,SAAS,EACT,eAAe,EACf,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,QAAQ,EACR,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,wBAAwB,EACxB,uBAAuB,EACvB,UAAU,EACV,gBAAgB,GACjB,EAAE,yBAAyB,qBAwN3B"}
@@ -0,0 +1,11 @@
1
+ import { type Object3D } from 'three';
2
+ /**
3
+ * Swap every standard-like material under `root` for a caustic-receiver
4
+ * clone and keep the clones' uniforms current each frame.
5
+ *
6
+ * @param root Subtree to patch. Re-patched whenever the reference changes.
7
+ * @param enabled When false the subtree keeps its original materials, so a
8
+ * scene without water pays nothing.
9
+ */
10
+ export declare function useCausticReceivers(root: Object3D | null | undefined, enabled: boolean): void;
11
+ //# sourceMappingURL=useCausticReceivers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCausticReceivers.d.ts","sourceRoot":"","sources":["../../../../../../src/core/water/useCausticReceivers.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAkD,KAAK,QAAQ,EAAE,MAAM,OAAO,CAAC;AAetF;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CA4D7F"}
@@ -0,0 +1,13 @@
1
+ import { Vector2 } from 'three';
2
+ import type { ThreeEvent } from '@react-three/fiber';
3
+ export interface WaterPointerHandlers {
4
+ onPointerMove(event: ThreeEvent<PointerEvent>): void;
5
+ onPointerDown(event: ThreeEvent<PointerEvent>): void;
6
+ }
7
+ /**
8
+ * `queueDrop` receives pool-normalized `[-1, +1]` centers. The raycast plane
9
+ * is rotated -π/2 about X, so its local +Y aligns with world -Z: the v
10
+ * coordinate is flipped to put the drop under the cursor.
11
+ */
12
+ export declare function useWaterPointer(queueDrop: (center: Vector2, radius: number, strength: number) => void, pointerStrength: number): WaterPointerHandlers;
13
+ //# sourceMappingURL=useWaterPointer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useWaterPointer.d.ts","sourceRoot":"","sources":["../../../../../../src/core/water/useWaterPointer.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAiBrD,MAAM,WAAW,oBAAoB;IACnC,aAAa,CAAC,KAAK,EAAE,UAAU,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;IACrD,aAAa,CAAC,KAAK,EAAE,UAAU,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;CACtD;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,EACtE,eAAe,EAAE,MAAM,GACtB,oBAAoB,CAoBtB"}
@@ -0,0 +1,44 @@
1
+ import { Vector2, Vector3 } from 'three';
2
+ import type { Texture } from 'three';
3
+ /**
4
+ * Fractional fixed-step accumulator. `take` turns a frame delta into a whole
5
+ * number of substeps at the requested per-second rate and carries the
6
+ * remainder, so the rate is exact on average and wave speed is INDEPENDENT
7
+ * of rendered fps — a 30 fps frame runs twice the substeps of a 60 fps one.
8
+ */
9
+ export declare class SubstepAccumulator {
10
+ private leftover;
11
+ take(substepsPerSecond: number, delta: number): number;
12
+ reset(): void;
13
+ }
14
+ export interface WaveSimulationOptions {
15
+ /** Pool half-extents in world meters: (halfX, depth, halfZ). */
16
+ poolHalf: Vector3;
17
+ /** Heightfield texel count along the LONGER pool axis. */
18
+ heightfieldSize: number;
19
+ /** Caustic render-target resolution per side. */
20
+ causticTextureSize: number;
21
+ /** Substeps per frame at 60 fps, converted here to a per-second rate. */
22
+ substeps: number;
23
+ /** Seconds between ambient auto-drops; 0 disables them. */
24
+ ambientDropPeriod: number;
25
+ }
26
+ export interface WaveSimulation {
27
+ /** Queue a disturbance, flushed into the heightfield on the next `advance`. */
28
+ queueDrop(center: Vector2, radius: number, strength: number): void;
29
+ /**
30
+ * Run this frame's drops, the fixed-step wave integration and the normal
31
+ * pass. Returns false while the GPU resources are being (re)built — the
32
+ * caller must skip the rest of its water frame then.
33
+ */
34
+ advance(delta: number): boolean;
35
+ /** Bind the receiving-geometry height map consumed by the caustic pass. */
36
+ setHeightMap(texture: Texture | null): void;
37
+ /** Render the caustic pattern for this frame's waves and light direction. */
38
+ renderCaustics(light: Vector3, intensity: number): void;
39
+ /** Heightfield front buffer — a DIFFERENT texture most frames (ping-pong). */
40
+ readonly heightTexture: Texture | null;
41
+ readonly causticTexture: Texture | null;
42
+ }
43
+ export declare function useWaveSimulation({ poolHalf, heightfieldSize, causticTextureSize, substeps, ambientDropPeriod, }: WaveSimulationOptions): WaveSimulation;
44
+ //# sourceMappingURL=useWaveSimulation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useWaveSimulation.d.ts","sourceRoot":"","sources":["../../../../../../src/core/water/useWaveSimulation.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AA+BrC;;;;;GAKG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAK;IAErB,IAAI,CAAC,iBAAiB,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAOtD,KAAK,IAAI,IAAI;CAGd;AAED,MAAM,WAAW,qBAAqB;IACpC,gEAAgE;IAChE,QAAQ,EAAE,OAAO,CAAC;IAClB,0DAA0D;IAC1D,eAAe,EAAE,MAAM,CAAC;IACxB,iDAAiD;IACjD,kBAAkB,EAAE,MAAM,CAAC;IAC3B,yEAAyE;IACzE,QAAQ,EAAE,MAAM,CAAC;IACjB,2DAA2D;IAC3D,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,cAAc;IAC7B,+EAA+E;IAC/E,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACnE;;;;OAIG;IACH,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;IAChC,2EAA2E;IAC3E,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,GAAG,IAAI,CAAC;IAC5C,6EAA6E;IAC7E,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACxD,8EAA8E;IAC9E,QAAQ,CAAC,aAAa,EAAE,OAAO,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,cAAc,EAAE,OAAO,GAAG,IAAI,CAAC;CACzC;AAED,wBAAgB,iBAAiB,CAAC,EAChC,QAAQ,EACR,eAAe,EACf,kBAAkB,EAClB,QAAQ,EACR,iBAAiB,GAClB,EAAE,qBAAqB,GAAG,cAAc,CAgIxC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=useWaveSimulation.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useWaveSimulation.test.d.ts","sourceRoot":"","sources":["../../../../../../src/core/water/useWaveSimulation.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,90 @@
1
+ import { type ConfigInput, type ConfigResolved } from '../../config/descriptor';
2
+ /**
3
+ * Water subsystem config — the single source for its types, defaults, clamps, round-trip and
4
+ * analyzer inputs (see `config/descriptor.ts`).
5
+ *
6
+ * The implementation is a verbatim port of evanw/webgl-water: the demo's pool (5-face cube +
7
+ * surface + caustics) dropped into an AABB at `volume`. All GLSL runs in pool-normalized `[-1, 1]`
8
+ * space; the volume size/center define the world-meter mapping.
9
+ */
10
+ export declare const WATER_CONFIG: import("../../config/descriptor").GroupDescriptor<{
11
+ /** Mounts the standalone `<WaterSurface>` over `volume`. */
12
+ enabled: import("../../config/descriptor").BooleanField;
13
+ /**
14
+ * Pool AABB. `center` is the world position of the WATER SURFACE center (the demo's normalized
15
+ * origin); `size` is `[width, depth, length]` in metres — depth runs from the surface down to
16
+ * the floor.
17
+ */
18
+ volume: import("../../config/descriptor").GroupDescriptor<{
19
+ center: import("../../config/descriptor").TupleField<[number, number, number]>;
20
+ size: import("../../config/descriptor").TupleField<[number, number, number]>;
21
+ }>;
22
+ /** Pool wall flat color — replaces the demo's tile texture (`uWallColor`). */
23
+ wallColor: import("../../config/descriptor").ColorField;
24
+ /** Procedural sky colors sampled by the surface's upward reflection branch. */
25
+ skyHorizonColor: import("../../config/descriptor").ColorField;
26
+ skyZenithColor: import("../../config/descriptor").ColorField;
27
+ /** Seconds between ambient auto-drops on the heightfield; `0` = no ambient drops (pointer still works). */
28
+ ambientDropPeriod: import("../../config/descriptor").NumberField;
29
+ /** Multiplier on pointer-driven drops (hover and click); the demo's tuned strengths are baked in. */
30
+ pointerStrength: import("../../config/descriptor").NumberField;
31
+ /**
32
+ * Heightfield simulation texture size per side (`size²` pixels per pass × 3 passes per frame).
33
+ * Wave speed in world metres per second is resolution-independent; only wave sharpness changes.
34
+ * Discrete options because every change recreates the render targets.
35
+ */
36
+ heightfieldSize: import("../../config/descriptor").NumberField;
37
+ /**
38
+ * Caustic texture size per side — the OUTPUT texture holding the broken-sunlight pattern.
39
+ * Independent of `heightfieldSize`: the source-side plane subdivision stays constant.
40
+ */
41
+ causticTextureSize: import("../../config/descriptor").NumberField;
42
+ /**
43
+ * Multiplier on the wave-normal contribution driving the caustic pattern (the demo's hard-coded
44
+ * `info.ba *= 0.5`). Lower mutes residual-ripple noise; `0` turns caustics off.
45
+ */
46
+ causticIntensity: import("../../config/descriptor").NumberField;
47
+ /** Wave-speed multiplier; `2` ≈ 4 s to cross a 4 m pool, `~4` matches the demo's pace. */
48
+ waveSpeed: import("../../config/descriptor").NumberField;
49
+ /**
50
+ * 0 = deep blue-green pool (strong Fresnel, tint, depth darkening); 1 = crystal clear. Also
51
+ * drives the fresnel floor and the underwater AO divide in `getWallColor`.
52
+ */
53
+ waterClarity: import("../../config/descriptor").NumberField;
54
+ /**
55
+ * Master switch for the caustic-receiver patch: every scene mesh gets its material cloned and
56
+ * patched to receive the caustic pattern (geo outside the pool AABB is masked to zero by the
57
+ * shader). Off restores the original materials — a cheap A/B of the cost.
58
+ */
59
+ causticReceivers: import("../../config/descriptor").BooleanField;
60
+ /**
61
+ * Caustic-receiver visualization: `overlay` adds strong magenta on top of the PBR result,
62
+ * `isolate` shows only the caustic pattern, `mask` paints R/G/B diagnostics (inside AABB / below
63
+ * water / caustic hit); `landing` / `heightmap` paint on the water surface (SSR mode).
64
+ */
65
+ causticDebugMode: import("../../config/descriptor").EnumField<"off" | "mask" | "overlay" | "isolate" | "landing" | "heightmap">;
66
+ /**
67
+ * Dedicated caustic-light direction (degrees, same convention as `lighting.sun`). `false`
68
+ * follows `lighting.sun`; override when the scene sun cannot drive usable caustics (grazing
69
+ * sunset disc) or to steer the underwater rim shadow independently.
70
+ */
71
+ causticSun: import("../../config/descriptor").ToggleDescriptor<{
72
+ azimuth: import("../../config/descriptor").NumberField;
73
+ elevation: import("../../config/descriptor").NumberField;
74
+ }>;
75
+ /**
76
+ * `false` uses the demo's in-shader AABB raytrace (stable, no black wave crests); `true` samples
77
+ * a per-frame SceneCapture texture so real pool geo shows through.
78
+ */
79
+ useScreenSpaceRefraction: import("../../config/descriptor").BooleanField;
80
+ /**
81
+ * Fill color where the SSR sample lands on a clipped/empty capture pixel — without it those
82
+ * fragments render pure black (`0 * waterColor`).
83
+ */
84
+ refractionFallbackColor: import("../../config/descriptor").ColorField;
85
+ /** Grazing-angle ceiling of the Schlick fresnel curve; `1` is physical, lower softens crest highlights. */
86
+ fresnelMax: import("../../config/descriptor").NumberField;
87
+ }>;
88
+ export type WaterConfig = ConfigInput<typeof WATER_CONFIG>;
89
+ export type ResolvedWaterConfig = ConfigResolved<typeof WATER_CONFIG>;
90
+ //# sourceMappingURL=water.config.d.ts.map