@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 @@
1
+ {"version":3,"file":"performanceProfile.d.ts","sourceRoot":"","sources":["../../../../../../src/store/slices/performanceProfile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,yBAAyB,EAC9B,KAAK,gBAAgB,EACtB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAKL,KAAK,eAAe,EACrB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAIzC;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,WAAW,EAAE,sBAAsB,CAAC;IACpC,iBAAiB,EAAE,sBAAsB,CAAC;IAC1C,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC;IAClC;;;;;;;OAOG;IACH,oBAAoB,EAAE,OAAO,CAAC;IAC9B;;;OAGG;IACH,WAAW,EAAE,OAAO,CAAC;IACrB,iFAAiF;IACjF,WAAW,EAAE,sBAAsB,GAAG,IAAI,CAAC;IAC3C,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,cAAc,EAAE,CAAC,IAAI,EAAE,sBAAsB,KAAK,IAAI,CAAC;IACvD,eAAe,EAAE,CAAC,QAAQ,EAAE,YAAY,KAAK,IAAI,CAAC;IAClD,0FAA0F;IAC1F,oBAAoB,EAAE,CAAC,SAAS,EAAE,IAAI,GAAG,MAAM,EAAE,KAAK,CAAC,EAAE,aAAa,KAAK,IAAI,CAAC;IAChF;;;;;OAKG;IACH,kBAAkB,EAAE,CAAC,KAAK,EAAE,gBAAgB,CAAC,iBAAiB,CAAC,KAAK,eAAe,EAAE,CAAC;IACtF,8EAA8E;IAC9E,0BAA0B,EAAE,CAAC,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9E,2DAA2D;IAC3D,iBAAiB,EAAE,CAAC,MAAM,EAAE,yBAAyB,KAAK,IAAI,CAAC;CAChE;AAED,sFAAsF;AACtF,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAgED,eAAO,MAAM,6BAA6B,EAAE,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,uBAAuB,CA0KxI,CAAC"}
@@ -0,0 +1,46 @@
1
+ import type { StateCreator } from 'zustand';
2
+ import type { ElementOverlayInfo, UIConfig } from '../../types/plannerUi';
3
+ import type { RTVStore } from '../types';
4
+ export interface ElementHierarchy {
5
+ /** elementId → element names (can be multiple due to parseElementId collisions) */
6
+ idToNames: Map<number, string[]>;
7
+ /** element name → elementId (parsed from name) */
8
+ nameToId: Map<string, number>;
9
+ /** parent name → set of direct child names */
10
+ childrenOfName: Map<string, Set<string>>;
11
+ /** child name → parent name */
12
+ parentOfName: Map<string, string>;
13
+ /** element name → set of ALL transitive descendant names (empty set when none). Precomputed in
14
+ * `setScene` so per-element selectors can answer "is X inside Y?" in O(1) during drags. */
15
+ descendantsOfName: Map<string, Set<string>>;
16
+ }
17
+ export type DimensionLineMode = 'element' | 'grid' | 'both';
18
+ export interface PlannerUiSlice {
19
+ /** True when the host is in planner mode — enables grid floor in 3D and move/rotate toolbar. */
20
+ isPlannerMode: boolean;
21
+ /** Keyed by the composite element key (`parseElementKey`): `"2"` for mains, `"2.0.6"` for accessories. */
22
+ elementsInfo: Map<string, ElementOverlayInfo>;
23
+ /**
24
+ * Derived from `elementsInfo` (see {@link isSelectionPossible}). Kept in the store rather than in
25
+ * a selector: every element overlay reads it, and a selector would re-scan the whole map for each
26
+ * of them on every store write — including every `updateDrag` tick.
27
+ */
28
+ selectionPossible: boolean;
29
+ elementHierarchy: ElementHierarchy;
30
+ uiConfig: UIConfig;
31
+ /** Controls visibility of dimension line annotations (2D per-element/group/total, 3D selected). */
32
+ showDimensionLines: boolean;
33
+ /** Which per-element lines to show: element-edge-aligned, grid-axis-aligned, or both. */
34
+ dimensionLineMode: DimensionLineMode;
35
+ setIsPlannerMode: (active: boolean) => void;
36
+ setElementsInfo: (info: Map<string, ElementOverlayInfo>) => void;
37
+ setUiConfig: (partial: Partial<UIConfig>) => void;
38
+ setShowDimensionLines: (show: boolean) => void;
39
+ setDimensionLineMode: (mode: DimensionLineMode) => void;
40
+ getAllDescendantNames: (elementName: string) => string[];
41
+ /** Root selected name plus all logical child element names — same scope as interaction “selected” / drag. */
42
+ getSelectionScopeNames: (rootName: string | null) => string[];
43
+ findSelectableAncestorName: (elementName: string) => string | null;
44
+ }
45
+ export declare const createPlannerUiSlice: StateCreator<RTVStore, [['zustand/subscribeWithSelector', never]], [], PlannerUiSlice>;
46
+ //# sourceMappingURL=plannerUi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plannerUi.d.ts","sourceRoot":"","sources":["../../../../../../src/store/slices/plannerUi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,KAAK,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAI1E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,WAAW,gBAAgB;IAC/B,mFAAmF;IACnF,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACjC,kDAAkD;IAClD,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,8CAA8C;IAC9C,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACzC,+BAA+B;IAC/B,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC;+FAC2F;IAC3F,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;CAC7C;AAED,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;AAE5D,MAAM,WAAW,cAAc;IAC7B,gGAAgG;IAChG,aAAa,EAAE,OAAO,CAAC;IACvB,0GAA0G;IAC1G,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAC9C;;;;OAIG;IACH,iBAAiB,EAAE,OAAO,CAAC;IAC3B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,QAAQ,EAAE,QAAQ,CAAC;IACnB,mGAAmG;IACnG,kBAAkB,EAAE,OAAO,CAAC;IAC5B,yFAAyF;IACzF,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,gBAAgB,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5C,eAAe,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,KAAK,IAAI,CAAC;IACjE,WAAW,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC;IAClD,qBAAqB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAC/C,oBAAoB,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,CAAC;IACxD,qBAAqB,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;IACzD,6GAA6G;IAC7G,sBAAsB,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,KAAK,MAAM,EAAE,CAAC;IAC9D,0BAA0B,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;CACpE;AAED,eAAO,MAAM,oBAAoB,EAAE,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,cAAc,CAgDtH,CAAC"}
@@ -0,0 +1,26 @@
1
+ import type { StateCreator } from 'zustand';
2
+ import type { ParsedScene, SceneNode } from '../../parser/parseRenderScript';
3
+ import type { RTVScene2D } from '../../types/scene2d';
4
+ import type { RTVStore } from '../types';
5
+ export interface SceneSlice {
6
+ scene: ParsedScene | null;
7
+ /**
8
+ * The last non-null 3D scene, kept when `scene` is cleared. The host drops
9
+ * the 3D scene the instant it switches to 2D; the 2D↔3D camera fly reads
10
+ * this so the geos fade out instead of popping (see `SceneContent`).
11
+ */
12
+ lastScene3D: ParsedScene | null;
13
+ scene2d: RTVScene2D | null;
14
+ /**
15
+ * Whether `scene2d` holds more than one independent block (see {@link partitionGroups}) — the
16
+ * gate for the move/rotate toolbar. Derived here rather than in a selector: every element overlay
17
+ * reads it, and a selector would re-partition the whole scene for each of them on every store
18
+ * write — including every `updateDrag` tick.
19
+ */
20
+ hasMultipleBlocks: boolean;
21
+ elements: SceneNode[];
22
+ setScene: (scene: ParsedScene | null) => void;
23
+ setScene2D: (scene2d: RTVScene2D | null) => void;
24
+ }
25
+ export declare const createSceneSlice: StateCreator<RTVStore, [['zustand/subscribeWithSelector', never]], [], SceneSlice>;
26
+ //# sourceMappingURL=scene.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scene.d.ts","sourceRoot":"","sources":["../../../../../../src/store/slices/scene.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAE7E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAIzC,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,WAAW,GAAG,IAAI,CAAC;IAC1B;;;;OAIG;IACH,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;IAChC,OAAO,EAAE,UAAU,GAAG,IAAI,CAAC;IAC3B;;;;;OAKG;IACH,iBAAiB,EAAE,OAAO,CAAC;IAC3B,QAAQ,EAAE,SAAS,EAAE,CAAC;IACtB,QAAQ,EAAE,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAC;IAC9C,UAAU,EAAE,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,KAAK,IAAI,CAAC;CAClD;AA0GD,eAAO,MAAM,gBAAgB,EAAE,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,UAAU,CAmE9G,CAAC"}
@@ -0,0 +1,75 @@
1
+ import type { StateCreator } from 'zustand';
2
+ import type { RTVStore } from '../types';
3
+ /**
4
+ * Held from store creation until the boot-critical gates below have had a
5
+ * chance to register (released by `useBootRevealGate` once the scene subtree's
6
+ * own load ids are in place). Because it is part of the INITIAL state, the
7
+ * reveal is pessimistic from the very first frame — nothing can paint before
8
+ * any React effect has run.
9
+ */
10
+ export declare const BOOT_LOAD_ID = "scene-boot";
11
+ /** Held until a profile bundle is applied (host `config.profiles`, or an analyzer/backend preset). */
12
+ export declare const PROFILE_BUNDLE_LOAD_ID = "profile-bundle";
13
+ /** Held until device-tier detection lands (or the profile mode resolves to an explicit tier). */
14
+ export declare const DEVICE_TIER_LOAD_ID = "device-tier";
15
+ /** Held from the boot scene landing in the store until its geometry has resolved behind Suspense. */
16
+ export declare const ARTICLE_GEO_LOAD_ID = "article-geo";
17
+ /**
18
+ * Held from boot until the first article render script enters the pipeline. In every 3D-first
19
+ * flow the host supplies a script moments after boot, but nothing else represents that window —
20
+ * without this hold the gate set empties between the environment finishing and the script
21
+ * arriving, and the scene reveals once WITHOUT the article, then re-hides (the double-boot
22
+ * flash). Ended by the hand-off to the article gates; a host that never sends a script is
23
+ * released by the timeout.
24
+ */
25
+ export declare const FIRST_ARTICLE_LOAD_ID = "first-article";
26
+ /**
27
+ * Held while a deck cutout is configured, until the collar has applied its first geometry
28
+ * (`DeckCutoutCollar`) — otherwise the collar pops in about a second after the reveal. The deck
29
+ * sample it needs runs as soon as the deck GLBs mount and does not gate anything by itself.
30
+ */
31
+ export declare const DECK_COLLAR_LOAD_ID = "deck-collar";
32
+ export interface SceneLoadOptions {
33
+ /**
34
+ * Safety net: auto-end this load after the given time. A later `beginSceneLoad`
35
+ * with `timeoutMs` re-arms the timer; one WITHOUT `timeoutMs` leaves an
36
+ * already-armed timer running.
37
+ */
38
+ timeoutMs?: number;
39
+ /** Runs after a timeout auto-end — for gates that must also flip fallback state. */
40
+ onTimeout?: () => void;
41
+ /**
42
+ * One-shot boot gates: once the id has completed (any `endSceneLoad` after a
43
+ * once-begin), later once-begins are ignored. Used by the article gates so
44
+ * only the FIRST article hides the canvas — later re-assemblies happen
45
+ * behind the already-visible scene.
46
+ */
47
+ once?: boolean;
48
+ }
49
+ /**
50
+ * Scene-load registry. While any id is in flight, `isSceneLoading` is true,
51
+ * which (a) shows DivaCore's loading overlay via `SceneLoadingDivaBridge` and
52
+ * (b) hides the canvas via `SceneVisibilityGate` (both in `index.tsx`) so the
53
+ * user never sees a half-built scene. `begin`/`end` are idempotent per id.
54
+ *
55
+ * Boot ids (`INITIAL_BOOT_LOAD_IDS`) are seeded into the initial state, so the
56
+ * viewer starts hidden and stays hidden until every gate of the initial boot
57
+ * resolves — the reveal has a single consumer (`isSceneLoading`) and is
58
+ * pessimistic from frame 0.
59
+ *
60
+ * Ids registered from outside this file (`'environment-scene'`, `'environment-hdr'`)
61
+ * are owned by their registering module.
62
+ */
63
+ export interface SceneLoadSlice {
64
+ sceneLoadingIds: Set<string>;
65
+ /** True while any scene load is in flight. See {@link sceneLoadingIds}. */
66
+ isSceneLoading: boolean;
67
+ /** Register a scene load as started (idempotent per id). See {@link SceneLoadOptions}. */
68
+ beginSceneLoad: (id: string, opts?: SceneLoadOptions) => void;
69
+ /** Mark a scene load finished (idempotent per id). Clears any armed timeout. */
70
+ endSceneLoad: (id: string) => void;
71
+ /** Back to the pristine boot state: seeded ids restored, timers and once-latches cleared. */
72
+ resetSceneLoads: () => void;
73
+ }
74
+ export declare const createSceneLoadSlice: StateCreator<RTVStore, [['zustand/subscribeWithSelector', never]], [], SceneLoadSlice>;
75
+ //# sourceMappingURL=sceneLoad.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sceneLoad.d.ts","sourceRoot":"","sources":["../../../../../../src/store/slices/sceneLoad.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAG5C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAUzC;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,eAAe,CAAC;AACzC,sGAAsG;AACtG,eAAO,MAAM,sBAAsB,mBAAmB,CAAC;AACvD,iGAAiG;AACjG,eAAO,MAAM,mBAAmB,gBAAgB,CAAC;AACjD,qGAAqG;AACrG,eAAO,MAAM,mBAAmB,gBAAgB,CAAC;AACjD;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,kBAAkB,CAAC;AACrD;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,gBAAgB,CAAC;AASjD,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oFAAoF;IACpF,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,cAAc;IAC7B,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B,2EAA2E;IAC3E,cAAc,EAAE,OAAO,CAAC;IACxB,0FAA0F;IAC1F,cAAc,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC9D,gFAAgF;IAChF,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,6FAA6F;IAC7F,eAAe,EAAE,MAAM,IAAI,CAAC;CAC7B;AAED,eAAO,MAAM,oBAAoB,EAAE,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,cAAc,CA4EvH,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @jest-environment jsdom
3
+ */
4
+ import '../../testUtils/structuredClonePolyfill';
5
+ //# sourceMappingURL=sceneLoad.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sceneLoad.test.d.ts","sourceRoot":"","sources":["../../../../../../src/store/slices/sceneLoad.test.ts"],"names":[],"mappings":"AAAA;;GAEG;AASH,OAAO,yCAAyC,CAAC"}
@@ -0,0 +1,66 @@
1
+ import type { StateCreator } from 'zustand';
2
+ import type { RTVStore } from '../types';
3
+ export interface SelectionSlice {
4
+ selectedElementName: string | null;
5
+ hoveredElementName: string | null;
6
+ /**
7
+ * Name of the element whose focus was just toggled OFF by a re-click — consumed by the very next
8
+ * `selectElement` call to swallow the double-click's second event (which would otherwise re-enter
9
+ * focus right after the first click of the gesture toggled it off).
10
+ */
11
+ unfocusToggledName: string | null;
12
+ /**
13
+ * The element a *selecting* click just primed for focus. Focus is a deliberate second click: the
14
+ * first click on an element selects it and arms this; a subsequent click on the SAME element flies
15
+ * in. Set only from `selectElement` (never from host/prop selection), so a pre-selected or
16
+ * host-force-kept element does not focus on its first user click. Cleared on focus/unfocus, deselect,
17
+ * or when a different element is selected.
18
+ */
19
+ pendingFocusName: string | null;
20
+ /** Currently-selected accessory docking point (`DPButton2D.dpId`), or null. Drives the DP button's
21
+ * selected style and its click toggle. Cleared whenever a normal element selection happens. */
22
+ selectedDpId: string | null;
23
+ setSelectedDpId: (dpId: string | null) => void;
24
+ selectElement: (name: string | null, parentSetName?: string, doubleClick?: boolean) => void;
25
+ /**
26
+ * The host's controlled selection, kept so it can be re-resolved against every scene that lands
27
+ * after it (the prop routinely arrives before the geometry it names exists). `undefined` = the
28
+ * host doesn't control that channel.
29
+ */
30
+ hostSelectedElementId: number | null | undefined;
31
+ hostSelectedAccessoryKey: string | null | undefined;
32
+ /** Silently set the selected element from an external prop — no callbacks fired, avoids loops. */
33
+ setSelectedElementFromProp: (elementId: number | null) => void;
34
+ /**
35
+ * Silently select a placed accessory by its composite key ("2.0.6") from an external prop — no
36
+ * callbacks fired (avoids loops). Resolves the key to its 3D node name; `null` clears an
37
+ * accessory selection. Used to keep the canvas selection in sync after a host-driven place/move.
38
+ */
39
+ setSelectedAccessoryFromProp: (accessoryKey: string | null) => void;
40
+ /**
41
+ * Re-resolve the stored host selection against the current scene. Called when a scene the
42
+ * selection can refer to becomes available: `setScene2D`, `setScene(null)`, and — for a 3D
43
+ * assembly — once its geometry is live (`GeoBBoxReporter`), since the follow-focus below measures
44
+ * the mounted element.
45
+ */
46
+ applyHostSelection: () => void;
47
+ /** Resolve a numeric element ID to its scene element name (checks 3D, 2D, and hierarchy). */
48
+ resolveElementName: (elementId: number) => string | null;
49
+ hoverElement: (name: string | null) => void;
50
+ }
51
+ /**
52
+ * Sticky element-focus engine. `focusedElementName` non-null ⇒ the camera is focused on an element
53
+ * and selection follows focus (selecting another element flies focus to it). Reuses the camera
54
+ * action queue + flight; see `useCameraActions` for the pose snapshot/restore.
55
+ */
56
+ export interface FocusSlice {
57
+ focusedElementName: string | null;
58
+ /** Enter/keep focus on an element: reorient-to-front + per-type elevation, flying in. */
59
+ focusOnElement: (elementName: string) => void;
60
+ /** Exit focus and fly back to the pre-focus pose. No-op when not focused. */
61
+ clearFocus: () => void;
62
+ /** Recompute the focus framing for the currently focused element (e.g. after it moved). */
63
+ refocusFocused: () => void;
64
+ }
65
+ export declare const createSelectionSlice: StateCreator<RTVStore, [['zustand/subscribeWithSelector', never]], [], SelectionSlice & FocusSlice>;
66
+ //# sourceMappingURL=selection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selection.d.ts","sourceRoot":"","sources":["../../../../../../src/store/slices/selection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAM5C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAIzC,MAAM,WAAW,cAAc;IAC7B,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC;;;;OAIG;IACH,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC;;;;;;OAMG;IACH,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC;oGACgG;IAChG,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC/C,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5F;;;;OAIG;IACH,qBAAqB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACjD,wBAAwB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACpD,kGAAkG;IAClG,0BAA0B,EAAE,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC/D;;;;OAIG;IACH,4BAA4B,EAAE,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACpE;;;;;OAKG;IACH,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAC/B,6FAA6F;IAC7F,kBAAkB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IACzD,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CAC7C;AAED;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,yFAAyF;IACzF,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,6EAA6E;IAC7E,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,2FAA2F;IAC3F,cAAc,EAAE,MAAM,IAAI,CAAC;CAC5B;AA+FD,eAAO,MAAM,oBAAoB,EAAE,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,cAAc,GAAG,UAAU,CAkKnI,CAAC"}
@@ -0,0 +1,34 @@
1
+ import type { StateCreator } from 'zustand';
2
+ import type { RTVStore } from '../types';
3
+ /**
4
+ * Typed change signals. Each is a monotonically increasing counter; consumers
5
+ * subscribe to the ONE that matches what they actually react to (a subscriber
6
+ * that needs "any geometry" combines `articleVersion` and `decorVersion`).
7
+ *
8
+ * They fire when the change is LIVE in the three.js scene, not when it lands
9
+ * in the store: every consumer measures meshes (camera fit, dimension lines,
10
+ * outline targets, shadow casters, footprint tracing), so a store-time bump
11
+ * would run them against a tree that hasn't mounted yet.
12
+ */
13
+ export interface VersionsSlice {
14
+ /**
15
+ * Article geometry in the three scene changed: a (re)assembled product's
16
+ * geos resolved and mounted (`GeoBBoxReporter`, inside the article Suspense
17
+ * boundary), or an element pose was committed at drag/rotate end.
18
+ */
19
+ articleVersion: number;
20
+ bumpArticleVersion: () => void;
21
+ /** Environment/decor scene changed: an environment GLB (main scene or a part) mounted (`EnvironmentSceneLoader`). */
22
+ decorVersion: number;
23
+ bumpDecorVersion: () => void;
24
+ /**
25
+ * The single shadow-dirty channel: anything that invalidates a baked shadow map calls
26
+ * {@link markShadowsDirty} rather than poking `light.shadow.needsUpdate` itself. The casting
27
+ * lights subscribe to this counter and re-bake once per bump (see `core/shadows/SunShadow.tsx`).
28
+ */
29
+ shadowsVersion: number;
30
+ /** @param reason What changed — for the debug log only. */
31
+ markShadowsDirty: (reason: string) => void;
32
+ }
33
+ export declare const createVersionsSlice: StateCreator<RTVStore, [['zustand/subscribeWithSelector', never]], [], VersionsSlice>;
34
+ //# sourceMappingURL=versions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"versions.d.ts","sourceRoot":"","sources":["../../../../../../src/store/slices/versions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAIzC;;;;;;;;;GASG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;OAIG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAC/B,qHAAqH;IACrH,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B;;;;OAIG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB,2DAA2D;IAC3D,gBAAgB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5C;AAED,eAAO,MAAM,mBAAmB,EAAE,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,aAAa,CAUpH,CAAC"}
@@ -0,0 +1,16 @@
1
+ import type { StateCreator } from 'zustand';
2
+ import type { RTVStore } from '../types';
3
+ export interface ViewModeSlice {
4
+ viewMode: '3d' | '2d';
5
+ /**
6
+ * True for the duration of a 2D↔3D camera fly (set when it starts, cleared when
7
+ * the camera settles). Drives two things: (1) the 3D scene is kept mounted and
8
+ * fading through a 3D→2D fly even after the host drops the `scene` prop, and (2)
9
+ * element billboards are hidden during the fly so they don't jump between the 3D
10
+ * (on-top) and 2D (flat) anchors. Written by the view-mode transition.
11
+ */
12
+ viewModeTransitioning: boolean;
13
+ setViewMode: (mode: '3d' | '2d') => void;
14
+ }
15
+ export declare const createViewModeSlice: StateCreator<RTVStore, [['zustand/subscribeWithSelector', never]], [], ViewModeSlice>;
16
+ //# sourceMappingURL=viewMode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"viewMode.d.ts","sourceRoot":"","sources":["../../../../../../src/store/slices/viewMode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,IAAI,GAAG,IAAI,CAAC;IACtB;;;;;;OAMG;IACH,qBAAqB,EAAE,OAAO,CAAC;IAC/B,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,KAAK,IAAI,CAAC;CAC1C;AAED,eAAO,MAAM,mBAAmB,EAAE,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,aAAa,CAWpH,CAAC"}
@@ -0,0 +1,96 @@
1
+ import type { FreePlacesOnGrids } from '../types/accessoryGrids';
2
+ import type { AccessoryDropSlice, AccessoryGridSlice, AccessoryMoveSlice, AccessoryMoveTarget } from './slices/accessory';
3
+ import type { AnalyzerGateSlice } from './slices/analyzerGate';
4
+ import type { CameraSlice } from './slices/camera';
5
+ import type { CaptureSlice } from './slices/capture';
6
+ import type { ConfigSlice } from './slices/config';
7
+ import type { EnvironmentSlice } from './slices/environment';
8
+ import type { GLGenerationSlice } from './slices/glGeneration';
9
+ import type { InteractionSlice } from './slices/interaction';
10
+ import type { PerformanceProfileSlice } from './slices/performanceProfile';
11
+ import type { PlannerUiSlice } from './slices/plannerUi';
12
+ import type { DeckCutoutSlice } from './slices/deckCutout';
13
+ import type { SceneLoadSlice } from './slices/sceneLoad';
14
+ import type { SceneSlice } from './slices/scene';
15
+ import type { FocusSlice, SelectionSlice } from './slices/selection';
16
+ import type { VersionsSlice } from './slices/versions';
17
+ import type { ViewModeSlice } from './slices/viewMode';
18
+ export type TransState = 'START' | 'UPDATE' | 'END';
19
+ /**
20
+ * Identifies a placed shelf accessory by its composite path (recursion-safe). `parentElementKey`
21
+ * is the composite key of the element the accessory sits on (`"2"`, or `"2.0.6"` when nested);
22
+ * the host resolves it to the parent shelf basket / `ShelfPlanner`.
23
+ */
24
+ export interface AccessoryRef {
25
+ setId: string;
26
+ /** Full composite key of the accessory itself, e.g. `"2.0.6"`. */
27
+ elementKey: string;
28
+ parentElementKey: string;
29
+ gridId: number;
30
+ cellIdx: number;
31
+ }
32
+ export interface RTVCallbacks {
33
+ onElementSelected?: (setId: string, elementId: number) => void;
34
+ onElementDeselected?: () => void;
35
+ /** Fired when a placed shelf accessory is selected (replaces `onElementSelected` for accessories). */
36
+ onAccessorySelect?: (ref: AccessoryRef) => void;
37
+ /** Fired when a selected accessory is deselected (e.g. empty-space click) — host clears its
38
+ * accessory selection (replaces `onElementDeselected` for accessories). */
39
+ onAccessoryDeselect?: () => void;
40
+ /** Fired when a placed shelf accessory's trash icon is clicked. */
41
+ onAccessoryDelete?: (ref: AccessoryRef) => void;
42
+ /**
43
+ * Fired when a drag of a placed accessory begins.
44
+ * Returns the free-to-move target cells for that accessory — its own cells PLUS,
45
+ * for accessories in a variant family (articles sharing an `accessoireFamily`), the cells of the
46
+ * OTHER members (each tagged with its own articleCodex) so the viewer can offer differently-sized
47
+ * drop targets and switch the article on release. May be async (family variants are instantiated
48
+ * to read their footprint); the move activates once it resolves. Undefined if it can't move.
49
+ */
50
+ onAccessoryMoveStart?: (ref: AccessoryRef) => Promise<FreePlacesOnGrids[] | undefined> | FreePlacesOnGrids[] | undefined;
51
+ /** Fired when an accessory drag drops onto a target cell (which may be on a DIFFERENT element). */
52
+ onAccessoryMove?: (ref: AccessoryRef, target: AccessoryMoveTarget) => void;
53
+ updatePlannerTrans?: (setId: string, plannerElementID: number, deltaMove: {
54
+ x: number;
55
+ y: number;
56
+ z: number;
57
+ }, deltaAngleDeg: number, rotCorrection: number, transState: TransState, autoDockingDistance: number, turningPoint?: {
58
+ x: number;
59
+ z: number;
60
+ }) => void;
61
+ /**
62
+ * Read-only query: where would `elementId` auto-snap if released at its current (live-drag)
63
+ * position? Returns the delta from its current transform in cm / degrees, or null if nothing is in
64
+ * snapping range. `excludeElementIds` skips the drag's own move-group. Called every pointer move to
65
+ * preview the auto-dock magnetically, so it must not mutate planner state.
66
+ */
67
+ getDockSnapPreview?: (setId: string, elementId: number, autoDockingDistance: number, excludeElementIds: number[]) => {
68
+ dx: number;
69
+ dz: number;
70
+ dRotDeg: number;
71
+ } | null;
72
+ onViewModeChanged?: (mode: '3d' | '2d') => void;
73
+ onElementDeleted?: (setId: string, elementId: number) => void;
74
+ onElementCopy?: (setId: string, elementId: number, copyIndex: {
75
+ x: number;
76
+ y: number;
77
+ z: number;
78
+ }) => void | Promise<void>;
79
+ /**
80
+ * Fired when an accessory docking-point button is clicked.
81
+ * `isSelected` toggles palette-filter selection for a free DP; when the DP already has a docked
82
+ * accessory, `onElementId` is that accessory's id and the host deletes it (`isSelected` is ignored).
83
+ */
84
+ onDockingPointInteraction?: (setId: string, elementId: number, dpId: string, isSelected: boolean, onElementId?: number) => void;
85
+ /**
86
+ * Fired when an empty shelf free-cell is clicked (or palette-dropped on) to place an accessory.
87
+ * `articleCodex` is the article the TARGET CELL expects — it differs from the selected/dragged
88
+ * article when the cell belongs to a variant-family sibling; the host then places that variant.
89
+ */
90
+ onAccessoryPlace?: (gridIdx: number, cellIdx: number, parentBasketId: string, articleCodex?: string) => void | Promise<void>;
91
+ /** Palette drag & drop: fired when the drag gains/loses a drop target over the canvas. */
92
+ onAccessoryDragOver?: (hasTarget: boolean) => void;
93
+ onSceneReady?: () => void;
94
+ }
95
+ export type RTVStore = SceneSlice & SelectionSlice & FocusSlice & InteractionSlice & ViewModeSlice & CameraSlice & EnvironmentSlice & AnalyzerGateSlice & CaptureSlice & PlannerUiSlice & AccessoryGridSlice & AccessoryMoveSlice & AccessoryDropSlice & GLGenerationSlice & VersionsSlice & SceneLoadSlice & DeckCutoutSlice & PerformanceProfileSlice & ConfigSlice;
96
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/store/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC1H,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAC3E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;AAEpD;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,kEAAkE;IAClE,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/D,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAC;IACjC,sGAAsG;IACtG,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,IAAI,CAAC;IAChD;gFAC4E;IAC5E,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAC;IACjC,mEAAmE;IACnE,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,IAAI,CAAC;IAChD;;;;;;;OAOG;IACH,oBAAoB,CAAC,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,OAAO,CAAC,iBAAiB,EAAE,GAAG,SAAS,CAAC,GAAG,iBAAiB,EAAE,GAAG,SAAS,CAAC;IACzH,mGAAmG;IACnG,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAC3E,kBAAkB,CAAC,EAAE,CACnB,KAAK,EAAE,MAAM,EACb,gBAAgB,EAAE,MAAM,EACxB,SAAS,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,EAC9C,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,UAAU,EACtB,mBAAmB,EAAE,MAAM,EAC3B,YAAY,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,KACpC,IAAI,CAAC;IACV;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,CACnB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,mBAAmB,EAAE,MAAM,EAC3B,iBAAiB,EAAE,MAAM,EAAE,KACxB;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACxD,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,KAAK,IAAI,CAAC;IAChD,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9D,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3H;;;;OAIG;IACH,yBAAyB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAChI;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7H,0FAA0F;IAC1F,mBAAmB,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IACnD,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;CAC3B;AAED,MAAM,MAAM,QAAQ,GAAG,UAAU,GAC/B,cAAc,GACd,UAAU,GACV,gBAAgB,GAChB,aAAa,GACb,WAAW,GACX,gBAAgB,GAChB,iBAAiB,GACjB,YAAY,GACZ,cAAc,GACd,kBAAkB,GAClB,kBAAkB,GAClB,kBAAkB,GAClB,iBAAiB,GACjB,aAAa,GACb,cAAc,GACd,eAAe,GACf,uBAAuB,GACvB,WAAW,CAAC"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Flat structural diff used by the resolved-config snapshot suites.
3
+ *
4
+ * The config snapshots pin a baseline in full and every other resolution as a diff against it.
5
+ * That only works if the diff is *complete*: `base` plus the diff must reproduce `target`
6
+ * byte-for-byte, so that snapshotting both pins `target` as tightly as snapshotting it whole.
7
+ * {@link deepDiff} guarantees that by recording the target's value verbatim at every path where
8
+ * the two differ (including paths the baseline does not have at all) and {@link REMOVED_MARKER}
9
+ * at every path the target dropped. See `deepDiff.test.ts` for the completeness cases.
10
+ */
11
+ /** Recorded as the value of a path that exists in the baseline but not in the compared value. */
12
+ export declare const REMOVED_MARKER = "<removed>";
13
+ /**
14
+ * Diff `target` against `base`, keyed by dotted path and sorted for a stable snapshot.
15
+ *
16
+ * Equal objects produce `{}`; arrays are compared whole and replaced whole (they are tuples in
17
+ * this config — positions, dpr ranges — so a per-index diff would read worse than the value).
18
+ *
19
+ * @param base the baseline the snapshot pins in full
20
+ * @param target the resolution being pinned as a diff
21
+ * @returns every differing path mapped to the target's value, or {@link REMOVED_MARKER}
22
+ */
23
+ export declare function deepDiff(base: Record<string, unknown>, target: Record<string, unknown>): Record<string, unknown>;
24
+ /** Shallow-copies a typed config slice into an index-signature record so the diff can walk it. */
25
+ export declare function toRecord(value: object): Record<string, unknown>;
26
+ //# sourceMappingURL=deepDiff.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deepDiff.d.ts","sourceRoot":"","sources":["../../../../../src/testUtils/deepDiff.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,iGAAiG;AACjG,eAAO,MAAM,cAAc,cAAc,CAAC;AAmC1C;;;;;;;;;GASG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAIhH;AAED,kGAAkG;AAClG,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAE/D"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * `deepDiff` is the load-bearing part of the resolved-config snapshot suites: those pin one
3
+ * baseline in full and every other resolution as a diff against it, so a diff that silently
4
+ * dropped a change would silently drop the regression net with it.
5
+ *
6
+ * The cases below cover the shapes a resolved environment actually contains (nested blocks,
7
+ * tuples, `false | { … }` unions) and close with the property the snapshot scheme relies on:
8
+ * re-applying a diff to its baseline reproduces the compared value exactly.
9
+ */
10
+ export {};
11
+ //# sourceMappingURL=deepDiff.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deepDiff.test.d.ts","sourceRoot":"","sources":["../../../../../src/testUtils/deepDiff.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * The shared `@crystaldesign/diva-core` stub.
3
+ *
4
+ * The real module pulls in `nanoid` — ESM-only, and jest's default `transformIgnorePatterns`
5
+ * refuses to transform it — so every suite whose import chain reaches diva-core (the store
6
+ * slices, `resolveEnvironment`, `detectDeviceTier`) dies on import. Mocking the logger surface
7
+ * short-circuits that chain before it gets there.
8
+ *
9
+ * Cantara generates (and gitignores) `jest.config.js` / `jest.setup.ts`, so there is no
10
+ * checked-in setup hook to register this globally. Each suite opts in with one line:
11
+ *
12
+ * ```ts
13
+ * jest.mock('@crystaldesign/diva-core', () => require('../../testUtils/divaCoreMock').divaCoreMock());
14
+ * ```
15
+ *
16
+ * The `require` form is mandatory: jest hoists the factory above the imports, so it must not
17
+ * close over anything in the module scope.
18
+ *
19
+ * Suites that assert on the logger itself (see `utils/bootPhase.test.ts`, which needs
20
+ * `isValidLogLevel` and a spy on `debug`) keep their own tailored factory.
21
+ */
22
+ export declare function divaCoreMock(): {
23
+ getLogger: () => {
24
+ debug: () => void;
25
+ info: () => void;
26
+ warn: () => void;
27
+ error: () => void;
28
+ };
29
+ DivaError: {
30
+ new (message?: string): {
31
+ name: string;
32
+ message: string;
33
+ stack?: string;
34
+ cause?: unknown;
35
+ };
36
+ new (message?: string, options?: ErrorOptions): {
37
+ name: string;
38
+ message: string;
39
+ stack?: string;
40
+ cause?: unknown;
41
+ };
42
+ captureStackTrace(targetObject: object, constructorOpt?: Function): void;
43
+ prepareStackTrace(err: Error, stackTraces: NodeJS.CallSite[]): any;
44
+ stackTraceLimit: number;
45
+ };
46
+ };
47
+ //# sourceMappingURL=divaCoreMock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"divaCoreMock.d.ts","sourceRoot":"","sources":["../../../../../src/testUtils/divaCoreMock.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,YAAY;;;;;;;;;;;;;;;;;;;;;mDAM6gJ,OAAQ,QAAQ;;;EADxjJ"}
@@ -0,0 +1,36 @@
1
+ import './structuredClonePolyfill';
2
+ import type { ResolvedEnvironmentConfig } from '../types/environment';
3
+ /** Picks the config slice under test out of a fully resolved environment. */
4
+ export type ConfigSliceSelector = (env: ResolvedEnvironmentConfig) => object;
5
+ /**
6
+ * Declares the regression net for one config slice: what every preset resolves that slice to, at
7
+ * every performance tier.
8
+ *
9
+ * The matrix is 4 presets x 5 tiers plus the defaults, and almost all of those cells resolve to
10
+ * the same object — snapshotting each cell whole produced thousands of byte-identical lines that
11
+ * nobody could review. So each cell is pinned against the nearest baseline instead:
12
+ *
13
+ * - the **defaults** (`resolveEnvironment()` with no config) are snapshotted in full;
14
+ * - each preset's **high** tier as a {@link deepDiff} against those defaults — "what this
15
+ * preset changes";
16
+ * - each preset's **override tiers** as a diff against that same preset's high tier — "what
17
+ * this tier changes", empty for the (many) tiers that touch other slices only.
18
+ *
19
+ * Protection is unchanged: `resolveEnvironment` is deterministic and `deepDiff` is complete
20
+ * (baseline + diff reproduces the value exactly, asserted in `deepDiff.test.ts`), so every
21
+ * (preset, tier) resolution is still pinned uniquely and any change to one fails a test. The
22
+ * failure now reads as the changed path rather than a wall of repeated config.
23
+ *
24
+ * The caller must register the diva-core stub, because the resolver's import chain reaches it:
25
+ *
26
+ * ```ts
27
+ * jest.mock('@crystaldesign/diva-core', () => require('../../testUtils/divaCoreMock').divaCoreMock());
28
+ *
29
+ * describeResolvedConfigSnapshots('lighting', (env) => env.lighting);
30
+ * ```
31
+ *
32
+ * @param sliceName the config slice, used as the top-level describe title
33
+ * @param selectSlice picks the slice out of a resolved environment
34
+ */
35
+ export declare function describeResolvedConfigSnapshots(sliceName: string, selectSlice: ConfigSliceSelector): void;
36
+ //# sourceMappingURL=resolvedConfigSnapshots.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolvedConfigSnapshots.d.ts","sourceRoot":"","sources":["../../../../../src/testUtils/resolvedConfigSnapshots.ts"],"names":[],"mappings":"AAAA,OAAO,2BAA2B,CAAC;AAEnC,OAAO,KAAK,EAA0B,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAmB9F,6EAA6E;AAC7E,MAAM,MAAM,mBAAmB,GAAG,CAAC,GAAG,EAAE,yBAAyB,KAAK,MAAM,CAAC;AAE7E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,+BAA+B,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,mBAAmB,GAAG,IAAI,CAwBzG"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=structuredClonePolyfill.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"structuredClonePolyfill.d.ts","sourceRoot":"","sources":["../../../../../src/testUtils/structuredClonePolyfill.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,CAAC"}