@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,483 @@
1
+ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
2
+ import './index-920dd901.js';
3
+ import { useMemo, useEffect, useRef } from 'react';
4
+ import { Billboard } from '@react-three/drei';
5
+ import { useThree, useFrame } from '@react-three/fiber';
6
+ import { CanvasTexture, SRGBColorSpace, Vector3, Raycaster, Color, AdditiveBlending } from 'three';
7
+ import { jsx, jsxs } from 'react/jsx-runtime';
8
+ import '@crystaldesign/diva-core';
9
+ import '@babel/runtime/helpers/toConsumableArray';
10
+ import '@babel/runtime/helpers/asyncToGenerator';
11
+ import '@babel/runtime/regenerator';
12
+ import 'three/examples/jsm/loaders/DRACOLoader.js';
13
+ import 'three/examples/jsm/loaders/GLTFLoader.js';
14
+ import '@babel/runtime/helpers/defineProperty';
15
+ import 'zustand';
16
+ import 'zustand/middleware';
17
+ import '@babel/runtime/helpers/typeof';
18
+ import 'postprocessing';
19
+ import '@babel/runtime/helpers/classCallCheck';
20
+ import '@babel/runtime/helpers/createClass';
21
+ import '@babel/runtime/helpers/possibleConstructorReturn';
22
+ import '@babel/runtime/helpers/getPrototypeOf';
23
+ import '@babel/runtime/helpers/inherits';
24
+ import 'classnames';
25
+ import 'three-mesh-bvh';
26
+ import '@babel/runtime/helpers/objectWithoutProperties';
27
+ import 'three/examples/jsm/environments/RoomEnvironment.js';
28
+ import 'three/examples/jsm/loaders/RGBELoader.js';
29
+ import 'three/examples/jsm/loaders/EXRLoader.js';
30
+ import '@react-three/postprocessing';
31
+ import '@babel/runtime/helpers/construct';
32
+ import 'detect-gpu';
33
+
34
+ function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
35
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
36
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
37
+ var FLARE_TEX_SIZE = 256;
38
+
39
+ /**
40
+ * Alpha ramps (`[radius 0–1, alpha]`) for the radial sprites. The burst is a wide atmospheric haze
41
+ * that keeps fading all the way to the sprite edge; the ghost dots are tighter blobs; the ring
42
+ * peaks near its rim and is hollow inside.
43
+ */
44
+ var BURST_RAMP = [[0, 1], [0.04, 0.8], [0.12, 0.36], [0.3, 0.13], [0.6, 0.035], [1, 0]];
45
+ var GHOST_RAMP = [[0, 0.55], [0.35, 0.2], [0.7, 0.04], [1, 0]];
46
+ var RING_RAMP = [[0, 0], [0.55, 0], [0.72, 0.45], [0.8, 0.5], [0.9, 0.12], [1, 0]];
47
+
48
+ /**
49
+ * Draw a radial flare sprite: falloff in the **alpha** channel on a warm white.
50
+ *
51
+ * Generated rather than loaded so the flare has no network dependency and no colour-space ambiguity.
52
+ * The alpha falloff is what makes the additively blended quad fade into the sky — an opaque RGB
53
+ * sprite shows its own square outline the moment its dark surround decodes above black.
54
+ */
55
+ function drawFlareSprite(ramp) {
56
+ var canvas = document.createElement('canvas');
57
+ canvas.width = FLARE_TEX_SIZE;
58
+ canvas.height = FLARE_TEX_SIZE;
59
+ var ctx = canvas.getContext('2d');
60
+ if (!ctx) return canvas;
61
+ var c = FLARE_TEX_SIZE / 2;
62
+ var glow = ctx.createRadialGradient(c, c, 0, c, c, c);
63
+ var _iterator = _createForOfIteratorHelper(ramp),
64
+ _step;
65
+ try {
66
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
67
+ var _step$value = _slicedToArray(_step.value, 2),
68
+ stop = _step$value[0],
69
+ alpha = _step$value[1];
70
+ glow.addColorStop(stop, "rgba(255,246,232,".concat(alpha, ")"));
71
+ }
72
+ } catch (err) {
73
+ _iterator.e(err);
74
+ } finally {
75
+ _iterator.f();
76
+ }
77
+ ctx.fillStyle = glow;
78
+ ctx.fillRect(0, 0, FLARE_TEX_SIZE, FLARE_TEX_SIZE);
79
+ return canvas;
80
+ }
81
+
82
+ /**
83
+ * Draw an aperture ghost: a soft-edged hexagon (6-blade iris) with a dim core and brighter rim,
84
+ * the way real internal reflections image the aperture. The soft edge comes from rendering only
85
+ * the blurred shadow of an off-canvas path — supported everywhere, unlike `ctx.filter`.
86
+ */
87
+ function drawHexSprite() {
88
+ var canvas = document.createElement('canvas');
89
+ canvas.width = FLARE_TEX_SIZE;
90
+ canvas.height = FLARE_TEX_SIZE;
91
+ var ctx = canvas.getContext('2d');
92
+ if (!ctx) return canvas;
93
+ var c = FLARE_TEX_SIZE / 2;
94
+ var radius = FLARE_TEX_SIZE * 0.4;
95
+ ctx.save();
96
+ ctx.translate(FLARE_TEX_SIZE * 2, 0);
97
+ ctx.shadowOffsetX = -FLARE_TEX_SIZE * 2;
98
+ ctx.shadowBlur = FLARE_TEX_SIZE * 0.05;
99
+ ctx.shadowColor = 'rgba(255,246,232,1)';
100
+ ctx.beginPath();
101
+ for (var i = 0; i < 6; i++) {
102
+ var angle = Math.PI / 3 * i + Math.PI / 6;
103
+ var x = c + Math.cos(angle) * radius;
104
+ var y = c + Math.sin(angle) * radius;
105
+ if (i === 0) ctx.moveTo(x, y);else ctx.lineTo(x, y);
106
+ }
107
+ ctx.closePath();
108
+ ctx.fillStyle = 'rgba(255,246,232,1)';
109
+ ctx.fill();
110
+ ctx.restore();
111
+ var shade = ctx.createRadialGradient(c, c, 0, c, c, radius);
112
+ var shadeStops = [[0, 0.35], [0.55, 0.45], [0.85, 1], [1, 0.8]];
113
+ for (var _i = 0, _shadeStops = shadeStops; _i < _shadeStops.length; _i++) {
114
+ var _shadeStops$_i = _slicedToArray(_shadeStops[_i], 2),
115
+ stop = _shadeStops$_i[0],
116
+ alpha = _shadeStops$_i[1];
117
+ shade.addColorStop(stop, "rgba(255,255,255,".concat(alpha, ")"));
118
+ }
119
+ ctx.globalCompositeOperation = 'destination-in';
120
+ ctx.fillStyle = shade;
121
+ ctx.fillRect(0, 0, FLARE_TEX_SIZE, FLARE_TEX_SIZE);
122
+ return canvas;
123
+ }
124
+
125
+ /** Indices into the generated sprite maps. */
126
+ var MAP_BURST = 0;
127
+ var MAP_DOT = 1;
128
+ var MAP_HEX = 2;
129
+ var MAP_RING = 3;
130
+ /**
131
+ * Element layout. Ghosts are internal-reflection images of the light, so they sit on the line
132
+ * from the sun through the optical (screen) center — panning the camera sweeps them across the
133
+ * frame in opposite directions.
134
+ */
135
+ var ELEMENTS = [
136
+ // Primary haze burst on the sun itself.
137
+ {
138
+ mapIndex: MAP_BURST,
139
+ size: 1000,
140
+ along: 0,
141
+ opacity: 1
142
+ },
143
+ // Ghost train along the sun→center axis: aperture hexes, a soft dot pair and a ring, chromatically tinted.
144
+ {
145
+ mapIndex: MAP_HEX,
146
+ size: 70,
147
+ along: 0.16,
148
+ opacity: 0.5,
149
+ tint: '#ffd9a0'
150
+ }, {
151
+ mapIndex: MAP_HEX,
152
+ size: 130,
153
+ along: 0.45,
154
+ opacity: 0.35,
155
+ tint: '#9fd8ff'
156
+ }, {
157
+ mapIndex: MAP_RING,
158
+ size: 210,
159
+ along: 0.52,
160
+ opacity: 0.3,
161
+ tint: '#ffe9c8'
162
+ }, {
163
+ mapIndex: MAP_DOT,
164
+ size: 70,
165
+ along: 0.68,
166
+ opacity: 0.5,
167
+ tint: '#ffb37d'
168
+ }, {
169
+ mapIndex: MAP_DOT,
170
+ size: 60,
171
+ along: 1,
172
+ opacity: 0.5
173
+ }];
174
+
175
+ /**
176
+ * World distance from the camera to the primary flare burst (meters). Sun is effectively at
177
+ * infinity, so we anchor in front of the camera each frame (mirrors three.js' `webgl_lensflares`
178
+ * example which always tracks the camera). Origin-anchoring would shrink the flare to a single
179
+ * pixel because the sky shell sits ~450 km away.
180
+ */
181
+ var FLARE_FORWARD_DISTANCE = 200;
182
+ /** Scale from legacy “size” to plane extent in world units. */
183
+ var PLANE_SCALE = 1 / 45;
184
+ /** Sun NDC radius below which ghosts and streak run at full strength. */
185
+ var GHOST_FADE_START = 0.35;
186
+ /** Sun NDC radius beyond which ghosts and streak are fully faded out. */
187
+ var GHOST_FADE_END = 1.5;
188
+ /** Raycast distance cap (meters): far enough for scene geometry, excludes huge skydome shell. */
189
+ var OCCLUSION_MAX_DISTANCE = 10000;
190
+ /** Avoid self-hit jitter when camera is very near geometry. */
191
+ var OCCLUSION_NEAR = 0.1;
192
+ /** Approximate angular radius for visibility sampling around the sun center ray. */
193
+ var OCCLUSION_SAMPLE_RADIUS = 0.018;
194
+ /** Smooth temporal response (higher = faster, lower = smoother). */
195
+ var OCCLUSION_VISIBILITY_LERP = 0.2;
196
+ /** Tiny alpha threshold to fully hide flare when effectively occluded. */
197
+ var OCCLUSION_MIN_VISIBLE_ALPHA = 0.01;
198
+ /**
199
+ * Run the 9-tap occlusion kernel only every Nth frame. Visibility is already
200
+ * temporally smoothed (see {@link OCCLUSION_VISIBILITY_LERP}), so a 3-frame
201
+ * cadence is visually indistinguishable from per-frame sampling — but cuts the
202
+ * raycast cost by ~3x.
203
+ */
204
+ var OCCLUSION_SAMPLE_INTERVAL = 3;
205
+ /**
206
+ * How many frames an occluder list is reused before being rebuilt. The scene
207
+ * graph rarely changes between frames, so walking it every frame just to
208
+ * collect raycastable meshes is wasted work.
209
+ */
210
+ var OCCLUDER_LIST_REBUILD_INTERVAL = 12;
211
+ /**
212
+ * How much the flare anchor shifts toward the visible side of the sun disc.
213
+ * 0 = disabled, 1 = full centroid shift.
214
+ */
215
+ var OCCLUSION_ANCHOR_SHIFT = 0.75;
216
+ /**
217
+ * Weight of center visibility in final alpha. Keeps flare dimmer when the sun core
218
+ * itself is blocked, even if edge samples are still visible.
219
+ */
220
+ var OCCLUSION_CENTER_VISIBILITY_WEIGHT = 0.6;
221
+ /** 9-tap kernel (center + cross + diagonals) for directional partial occlusion. */
222
+ var OCCLUSION_SAMPLE_OFFSETS = [[0, 0, 2], [1, 0, 1], [-1, 0, 1], [0, 1, 1], [0, -1, 1], [0.7071, 0.7071, 1], [-0.7071, 0.7071, 1], [0.7071, -0.7071, 1], [-0.7071, -0.7071, 1]];
223
+ /**
224
+ * Additive billboard lens flare on the sun direction: haze burst on the sun plus a chromatic
225
+ * ghost train (aperture hexagons, soft dots, a ring) laid out in screen space along the
226
+ * sun→screen-center axis, fading as the sun leaves the frame.
227
+ *
228
+ * Does **not** use `three/examples/jsm/objects/Lensflare.js`: that helper reads the framebuffer for
229
+ * occlusion (`copyFramebufferToTexture`), which fails or zeroes alpha when the scene is drawn through
230
+ * pmndrs `EffectComposer` / multisampled targets.
231
+ */
232
+ function SunLensflare(_ref) {
233
+ var sunDirection = _ref.sunDirection,
234
+ _ref$color = _ref.color,
235
+ color = _ref$color === void 0 ? '#ffffff' : _ref$color,
236
+ _ref$distanceScale = _ref.distanceScale,
237
+ distanceScale = _ref$distanceScale === void 0 ? 1.0 : _ref$distanceScale,
238
+ _ref$sizeScale = _ref.sizeScale,
239
+ sizeScale = _ref$sizeScale === void 0 ? 1.0 : _ref$sizeScale,
240
+ _ref$occlusionEnabled = _ref.occlusionEnabled,
241
+ occlusionEnabled = _ref$occlusionEnabled === void 0 ? true : _ref$occlusionEnabled;
242
+ var scene = useThree(function (s) {
243
+ return s.scene;
244
+ });
245
+ // Index order matches the MAP_* constants used by ELEMENTS.
246
+ var maps = useMemo(function () {
247
+ var canvases = [drawFlareSprite(BURST_RAMP), drawFlareSprite(GHOST_RAMP), drawHexSprite(), drawFlareSprite(RING_RAMP)];
248
+ return canvases.map(function (canvas) {
249
+ var tex = new CanvasTexture(canvas);
250
+ tex.colorSpace = SRGBColorSpace;
251
+ return tex;
252
+ });
253
+ }, []);
254
+ useEffect(function () {
255
+ return function () {
256
+ maps.forEach(function (tex) {
257
+ return tex.dispose();
258
+ });
259
+ };
260
+ }, [maps]);
261
+ var rootRef = useRef(null);
262
+ var materialRefs = useRef([]);
263
+ var sunPos = useMemo(function () {
264
+ return new Vector3();
265
+ }, []);
266
+ var sunDirNormalized = useMemo(function () {
267
+ return new Vector3();
268
+ }, []);
269
+ var cameraWorldPos = useMemo(function () {
270
+ return new Vector3();
271
+ }, []);
272
+ var viewScratch = useMemo(function () {
273
+ return new Vector3();
274
+ }, []);
275
+ var rightScratch = useMemo(function () {
276
+ return new Vector3();
277
+ }, []);
278
+ var upScratch = useMemo(function () {
279
+ return new Vector3();
280
+ }, []);
281
+ var sampleDirScratch = useMemo(function () {
282
+ return new Vector3();
283
+ }, []);
284
+ var anchorShiftScratch = useMemo(function () {
285
+ return new Vector3();
286
+ }, []);
287
+ var elementPosScratch = useMemo(function () {
288
+ return new Vector3();
289
+ }, []);
290
+ var sunAnchorPos = useMemo(function () {
291
+ return new Vector3();
292
+ }, []);
293
+ var raycaster = useMemo(function () {
294
+ return new Raycaster();
295
+ }, []);
296
+ var hitBufferRef = useRef([]);
297
+ var smoothedVisibilityRef = useRef(1);
298
+ var smoothedCentroidXRef = useRef(0);
299
+ var smoothedCentroidYRef = useRef(0);
300
+ var frameCounterRef = useRef(0);
301
+ var occluderListRef = useRef([]);
302
+ var occluderListAgeRef = useRef(Number.MAX_SAFE_INTEGER);
303
+ var flareR = Math.max(10, FLARE_FORWARD_DISTANCE * distanceScale);
304
+ // Chromatic per-ghost tint composed with the overall flare colour.
305
+ var elementTints = useMemo(function () {
306
+ var base = new Color(color);
307
+ return ELEMENTS.map(function (el) {
308
+ var _el$tint;
309
+ return new Color((_el$tint = el.tint) !== null && _el$tint !== void 0 ? _el$tint : '#ffffff').multiply(base);
310
+ });
311
+ }, [color]);
312
+ useFrame(function (_ref2) {
313
+ var camera = _ref2.camera;
314
+ var g = rootRef.current;
315
+ if (!g) return;
316
+
317
+ // Anchor the burst at a fixed forward distance from the camera in the sun direction —
318
+ // gives a stable on-screen size regardless of the sky shell radius.
319
+ camera.getWorldPosition(cameraWorldPos);
320
+ sunDirNormalized.set(sunDirection[0], sunDirection[1], sunDirection[2]).normalize();
321
+ sunPos.copy(sunDirNormalized).multiplyScalar(flareR).add(cameraWorldPos);
322
+ viewScratch.copy(sunPos).applyMatrix4(camera.matrixWorldInverse);
323
+ var inFront = viewZInFront(viewScratch.z);
324
+ if (!occlusionEnabled) {
325
+ // Occlusion off → fast path: no raycaster, no scene traversal, no kernel loop. Just lock
326
+ // visibility at 1 (when in front of camera) and keep the anchor dead-center on the sun.
327
+ smoothedVisibilityRef.current = inFront ? 1 : 0;
328
+ smoothedCentroidXRef.current = 0;
329
+ smoothedCentroidYRef.current = 0;
330
+ sunAnchorPos.copy(sunPos);
331
+ } else {
332
+ rightScratch.set(1, 0, 0).applyQuaternion(camera.quaternion).normalize();
333
+ upScratch.set(0, 1, 0).applyQuaternion(camera.quaternion).normalize();
334
+ var frame = frameCounterRef.current++;
335
+ var shouldSample = inFront && frame % OCCLUSION_SAMPLE_INTERVAL === 0;
336
+ if (shouldSample) {
337
+ var occluders = getOccluders(scene, g, occluderListRef, occluderListAgeRef);
338
+ var totalWeight = 0;
339
+ var visibleWeight = 0;
340
+ var weightedVisibleX = 0;
341
+ var weightedVisibleY = 0;
342
+ var centerVisible = 0;
343
+ for (var i = 0; i < OCCLUSION_SAMPLE_OFFSETS.length; i++) {
344
+ var _OCCLUSION_SAMPLE_OFF = _slicedToArray(OCCLUSION_SAMPLE_OFFSETS[i], 3),
345
+ ox = _OCCLUSION_SAMPLE_OFF[0],
346
+ oy = _OCCLUSION_SAMPLE_OFF[1],
347
+ w = _OCCLUSION_SAMPLE_OFF[2];
348
+ sampleDirScratch.copy(sunDirNormalized).addScaledVector(rightScratch, ox * OCCLUSION_SAMPLE_RADIUS).addScaledVector(upScratch, oy * OCCLUSION_SAMPLE_RADIUS).normalize();
349
+ raycaster.near = OCCLUSION_NEAR;
350
+ raycaster.far = OCCLUSION_MAX_DISTANCE;
351
+ raycaster.set(cameraWorldPos, sampleDirScratch);
352
+ var hits = hitBufferRef.current;
353
+ hits.length = 0;
354
+ // `recursive: false` — `occluders` is already a flat list of leaf
355
+ // meshes filtered to skip InstancedMesh / SkinnedMesh / opt-outs.
356
+ raycaster.intersectObjects(occluders, false, hits);
357
+ var visible = hits.length > 0 ? 0 : 1;
358
+ totalWeight += w;
359
+ visibleWeight += visible * w;
360
+ weightedVisibleX += ox * visible * w;
361
+ weightedVisibleY += oy * visible * w;
362
+ if (i === 0) centerVisible = visible;
363
+ }
364
+ var avgVisibility = totalWeight > 0 ? visibleWeight / totalWeight : 0;
365
+ var targetVisibility = avgVisibility * (1 - OCCLUSION_CENTER_VISIBILITY_WEIGHT) + centerVisible * OCCLUSION_CENTER_VISIBILITY_WEIGHT;
366
+ var targetCentroidX = visibleWeight > 1e-4 ? weightedVisibleX / visibleWeight : 0;
367
+ var targetCentroidY = visibleWeight > 1e-4 ? weightedVisibleY / visibleWeight : 0;
368
+ var prevVis = smoothedVisibilityRef.current;
369
+ smoothedVisibilityRef.current = Math.min(1, Math.max(0, prevVis + (targetVisibility - prevVis) * OCCLUSION_VISIBILITY_LERP));
370
+ smoothedCentroidXRef.current += (targetCentroidX - smoothedCentroidXRef.current) * OCCLUSION_VISIBILITY_LERP;
371
+ smoothedCentroidYRef.current += (targetCentroidY - smoothedCentroidYRef.current) * OCCLUSION_VISIBILITY_LERP;
372
+ } else if (!inFront) {
373
+ // Sun behind camera: decay toward zero so we don't hold stale visibility
374
+ // when the user spins around.
375
+ smoothedVisibilityRef.current *= 1 - OCCLUSION_VISIBILITY_LERP;
376
+ }
377
+
378
+ // Shift anchor toward the visible side of the sun disc so left/right occlusion
379
+ // produces visibly different flare behavior (instead of only scalar alpha changes).
380
+ var worldShift = flareR * OCCLUSION_SAMPLE_RADIUS * OCCLUSION_ANCHOR_SHIFT;
381
+ anchorShiftScratch.copy(rightScratch).multiplyScalar(smoothedCentroidXRef.current * worldShift).addScaledVector(upScratch, smoothedCentroidYRef.current * worldShift);
382
+ sunAnchorPos.copy(sunPos).add(anchorShiftScratch);
383
+ }
384
+ var visibility = smoothedVisibilityRef.current;
385
+ g.visible = inFront && visibility > OCCLUSION_MIN_VISIBLE_ALPHA;
386
+ if (!g.visible) return;
387
+ g.position.copy(sunAnchorPos);
388
+
389
+ // Ghost axis in screen space: internal reflections mirror the light through the optical
390
+ // center, so each element sits at `along` on the line from the sun NDC through (0,0).
391
+ viewScratch.copy(sunAnchorPos).project(camera);
392
+ var sunNdcX = viewScratch.x;
393
+ var sunNdcY = viewScratch.y;
394
+
395
+ // Ghosts strengthen as the sun approaches the frame and vanish once it leaves.
396
+ var offCenter = Math.hypot(sunNdcX, sunNdcY);
397
+ var ghostStrength = 1 - (offCenter - GHOST_FADE_START) / (GHOST_FADE_END - GHOST_FADE_START);
398
+ ghostStrength = Math.min(1, Math.max(0, ghostStrength));
399
+ ghostStrength = ghostStrength * ghostStrength * (3 - 2 * ghostStrength);
400
+ var n = g.children.length;
401
+ for (var _i2 = 0; _i2 < n; _i2++) {
402
+ var el = ELEMENTS[_i2];
403
+ var child = g.children[_i2];
404
+ var k = 1 - 2 * el.along;
405
+ elementPosScratch.set(sunNdcX * k, sunNdcY * k, 0.5).unproject(camera).sub(cameraWorldPos).normalize();
406
+ child.position.copy(elementPosScratch).multiplyScalar(flareR).add(cameraWorldPos).sub(g.position);
407
+ var mat = materialRefs.current[_i2];
408
+ if (mat) {
409
+ mat.opacity = el.opacity * visibility * (el.along === 0 ? 1 : ghostStrength);
410
+ }
411
+ }
412
+ });
413
+ return /*#__PURE__*/jsx("group", {
414
+ ref: rootRef,
415
+ frustumCulled: false,
416
+ children: ELEMENTS.map(function (el, i) {
417
+ var dim = el.size * PLANE_SCALE * sizeScale;
418
+ return /*#__PURE__*/jsx("group", {
419
+ children: /*#__PURE__*/jsx(Billboard, {
420
+ follow: true,
421
+ lockX: false,
422
+ lockY: false,
423
+ lockZ: false,
424
+ children: /*#__PURE__*/jsxs("mesh", {
425
+ renderOrder: 10000,
426
+ children: [/*#__PURE__*/jsx("planeGeometry", {
427
+ args: [dim, dim]
428
+ }), /*#__PURE__*/jsx("meshBasicMaterial", {
429
+ ref: function ref(mat) {
430
+ materialRefs.current[i] = mat;
431
+ },
432
+ map: maps[el.mapIndex],
433
+ color: elementTints[i],
434
+ transparent: true,
435
+ opacity: el.opacity,
436
+ depthTest: false,
437
+ depthWrite: false,
438
+ toneMapped: false,
439
+ blending: AdditiveBlending
440
+ })]
441
+ })
442
+ })
443
+ }, i);
444
+ })
445
+ });
446
+ }
447
+
448
+ /** Right-handed view space: camera looks down −Z, so in-front surfaces have negative Z. */
449
+ function viewZInFront(viewZ) {
450
+ return viewZ < 0;
451
+ }
452
+
453
+ /**
454
+ * Collect a flat list of meshes worth raycasting against for sun occlusion.
455
+ * The result is cached for {@link OCCLUDER_LIST_REBUILD_INTERVAL} frames so a
456
+ * static scene only walks the graph occasionally. Excludes:
457
+ * - the lensflare's own root (avoids self-hits)
458
+ * - invisible objects
459
+ * - `userData.lensflare === 'no-occlusion'` opt-outs
460
+ * - `InstancedMesh` (scattered trees) — per-instance raycasts are O(N)
461
+ * and these are decorative, not real occluders for the sun disc
462
+ * - `SkinnedMesh` — skin-bound raycasts force skeleton matrix work
463
+ */
464
+ function getOccluders(scene, flareRoot, listRef, ageRef) {
465
+ ageRef.current += 1;
466
+ if (ageRef.current < OCCLUDER_LIST_REBUILD_INTERVAL && listRef.current.length > 0) {
467
+ return listRef.current;
468
+ }
469
+ ageRef.current = 0;
470
+ var list = listRef.current;
471
+ list.length = 0;
472
+ scene.traverseVisible(function (object) {
473
+ if (flareRoot.getObjectById(object.id) !== undefined) return;
474
+ if (object.userData.lensflare === 'no-occlusion') return;
475
+ var anyObj = object;
476
+ if (anyObj.isInstancedMesh === true) return;
477
+ if (anyObj.isSkinnedMesh === true) return;
478
+ if (anyObj.isMesh === true) list.push(object);
479
+ });
480
+ return list;
481
+ }
482
+
483
+ export { SunLensflare };