@3driseai/3drise-viewer 0.1.26 → 0.1.27

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 (456) hide show
  1. package/dist/animationsV2/ClipPlayer.d.ts +3 -0
  2. package/dist/animationsV2/ClipPlayer.d.ts.map +1 -1
  3. package/dist/animationsV2/ClipPlayer.js +67 -8
  4. package/dist/animationsV2/ClipsRuntime.d.ts +39 -0
  5. package/dist/animationsV2/ClipsRuntime.d.ts.map +1 -1
  6. package/dist/animationsV2/ClipsRuntime.js +245 -14
  7. package/dist/animationsV2/appliers.d.ts +5 -0
  8. package/dist/animationsV2/appliers.d.ts.map +1 -1
  9. package/dist/animationsV2/appliers.js +25 -7
  10. package/dist/animationsV2/index.d.ts +1 -1
  11. package/dist/animationsV2/index.d.ts.map +1 -1
  12. package/dist/animationsV2/normalize.d.ts.map +1 -1
  13. package/dist/animationsV2/normalize.js +18 -7
  14. package/dist/animationsV2/sequenceUtils.d.ts +42 -1
  15. package/dist/animationsV2/sequenceUtils.d.ts.map +1 -1
  16. package/dist/animationsV2/sequenceUtils.js +103 -3
  17. package/dist/animationsV2/types.d.ts +20 -0
  18. package/dist/animationsV2/types.d.ts.map +1 -1
  19. package/dist/components/AdvancedGrid.d.ts +8 -2
  20. package/dist/components/AdvancedGrid.d.ts.map +1 -1
  21. package/dist/components/AdvancedGrid.js +31 -14
  22. package/dist/components/AnimatedObject.d.ts.map +1 -1
  23. package/dist/components/AnimatedObject.js +7 -5
  24. package/dist/components/Bubbles.d.ts +7 -1
  25. package/dist/components/Bubbles.d.ts.map +1 -1
  26. package/dist/components/Bubbles.js +42 -22
  27. package/dist/components/ChladniGrid.d.ts +8 -4
  28. package/dist/components/ChladniGrid.d.ts.map +1 -1
  29. package/dist/components/ChladniGrid.js +31 -13
  30. package/dist/components/CircuitGrid.d.ts +8 -11
  31. package/dist/components/CircuitGrid.d.ts.map +1 -1
  32. package/dist/components/CircuitGrid.js +31 -13
  33. package/dist/components/CloudsGenerator.d.ts +1 -1
  34. package/dist/components/CloudsGenerator.js +1 -1
  35. package/dist/components/ContourGrid.d.ts +8 -14
  36. package/dist/components/ContourGrid.d.ts.map +1 -1
  37. package/dist/components/ContourGrid.js +31 -13
  38. package/dist/components/EffectsGenerator.d.ts +7 -1
  39. package/dist/components/EffectsGenerator.d.ts.map +1 -1
  40. package/dist/components/EffectsGenerator.js +39 -38
  41. package/dist/components/EnvironmentManager.d.ts +4 -4
  42. package/dist/components/EnvironmentManager.d.ts.map +1 -1
  43. package/dist/components/FlowNetGrid.d.ts +8 -4
  44. package/dist/components/FlowNetGrid.d.ts.map +1 -1
  45. package/dist/components/FlowNetGrid.js +31 -13
  46. package/dist/components/FractalGrid.d.ts +8 -12
  47. package/dist/components/FractalGrid.d.ts.map +1 -1
  48. package/dist/components/FractalGrid.js +31 -13
  49. package/dist/components/GirihGrid.d.ts +8 -1
  50. package/dist/components/GirihGrid.d.ts.map +1 -1
  51. package/dist/components/GirihGrid.js +31 -13
  52. package/dist/components/Glyphs.d.ts +7 -1
  53. package/dist/components/Glyphs.d.ts.map +1 -1
  54. package/dist/components/Glyphs.js +40 -34
  55. package/dist/components/GravWaveGrid.d.ts +8 -1
  56. package/dist/components/GravWaveGrid.d.ts.map +1 -1
  57. package/dist/components/GravWaveGrid.js +31 -13
  58. package/dist/components/GridsGenerator.d.ts +7 -1
  59. package/dist/components/GridsGenerator.d.ts.map +1 -1
  60. package/dist/components/GridsGenerator.js +20 -18
  61. package/dist/components/HexGrid.d.ts +8 -10
  62. package/dist/components/HexGrid.d.ts.map +1 -1
  63. package/dist/components/HexGrid.js +31 -13
  64. package/dist/components/HyperbolicGrid.d.ts +8 -4
  65. package/dist/components/HyperbolicGrid.d.ts.map +1 -1
  66. package/dist/components/HyperbolicGrid.js +31 -13
  67. package/dist/components/LandscapeBuilder.d.ts +1 -1
  68. package/dist/components/LandscapeBuilder.d.ts.map +1 -1
  69. package/dist/components/LandscapeBuilder.js +1 -1
  70. package/dist/components/LandscapeObject.d.ts +1 -1
  71. package/dist/components/LandscapeObject.d.ts.map +1 -1
  72. package/dist/components/LandscapeObject.js +1 -1
  73. package/dist/components/MoireGrid.d.ts +8 -12
  74. package/dist/components/MoireGrid.d.ts.map +1 -1
  75. package/dist/components/MoireGrid.js +31 -13
  76. package/dist/components/ObjectNode.d.ts.map +1 -1
  77. package/dist/components/ObjectNode.js +2 -2
  78. package/dist/components/ObjectsRenderer.d.ts.map +1 -1
  79. package/dist/components/ObjectsRenderer.js +37 -3
  80. package/dist/components/OceanBuilder.d.ts +1 -1
  81. package/dist/components/OceanBuilder.js +1 -1
  82. package/dist/components/ParticlesGenerator.d.ts.map +1 -1
  83. package/dist/components/ParticlesGenerator.js +6 -0
  84. package/dist/components/QuasiGrid.d.ts +8 -11
  85. package/dist/components/QuasiGrid.d.ts.map +1 -1
  86. package/dist/components/QuasiGrid.js +31 -13
  87. package/dist/components/RadarGrid.d.ts +8 -13
  88. package/dist/components/RadarGrid.d.ts.map +1 -1
  89. package/dist/components/RadarGrid.js +31 -13
  90. package/dist/components/ReactionDiffusionGrid.d.ts +8 -1
  91. package/dist/components/ReactionDiffusionGrid.d.ts.map +1 -1
  92. package/dist/components/ReactionDiffusionGrid.js +33 -139
  93. package/dist/components/SceneBuilder.js +1 -1
  94. package/dist/components/SkySystem.d.ts +1 -1
  95. package/dist/components/SparklesBurst.d.ts +7 -1
  96. package/dist/components/SparklesBurst.d.ts.map +1 -1
  97. package/dist/components/SparklesBurst.js +31 -28
  98. package/dist/components/TerrainBuilder.d.ts +1 -1
  99. package/dist/components/TerrainBuilder.d.ts.map +1 -1
  100. package/dist/components/TerrainBuilder.js +1 -1
  101. package/dist/components/VoronoiGrid.d.ts +8 -10
  102. package/dist/components/VoronoiGrid.d.ts.map +1 -1
  103. package/dist/components/VoronoiGrid.js +31 -13
  104. package/dist/components/WallpaperGrid.d.ts +8 -1
  105. package/dist/components/WallpaperGrid.d.ts.map +1 -1
  106. package/dist/components/WallpaperGrid.js +33 -210
  107. package/dist/components/effects/AuraEffect.d.ts +8 -3
  108. package/dist/components/effects/AuraEffect.d.ts.map +1 -1
  109. package/dist/components/effects/AuraEffect.js +49 -24
  110. package/dist/components/effects/AuroraEffect.d.ts +8 -3
  111. package/dist/components/effects/AuroraEffect.d.ts.map +1 -1
  112. package/dist/components/effects/AuroraEffect.js +45 -25
  113. package/dist/components/effects/BlackHoleEffect.d.ts +8 -3
  114. package/dist/components/effects/BlackHoleEffect.d.ts.map +1 -1
  115. package/dist/components/effects/BlackHoleEffect.js +42 -21
  116. package/dist/components/effects/ConstellationEffect.d.ts +8 -3
  117. package/dist/components/effects/ConstellationEffect.d.ts.map +1 -1
  118. package/dist/components/effects/ConstellationEffect.js +49 -23
  119. package/dist/components/effects/DandelionSeedsEffect.d.ts +7 -2
  120. package/dist/components/effects/DandelionSeedsEffect.d.ts.map +1 -1
  121. package/dist/components/effects/DandelionSeedsEffect.js +19 -9
  122. package/dist/components/effects/DataStreamEffect.d.ts +8 -3
  123. package/dist/components/effects/DataStreamEffect.d.ts.map +1 -1
  124. package/dist/components/effects/DataStreamEffect.js +54 -26
  125. package/dist/components/effects/DnaHelixEffect.d.ts +8 -3
  126. package/dist/components/effects/DnaHelixEffect.d.ts.map +1 -1
  127. package/dist/components/effects/DnaHelixEffect.js +62 -30
  128. package/dist/components/effects/FallingLeavesEffect.d.ts +7 -2
  129. package/dist/components/effects/FallingLeavesEffect.d.ts.map +1 -1
  130. package/dist/components/effects/FallingLeavesEffect.js +19 -9
  131. package/dist/components/effects/FieldLinesEffect.d.ts +8 -3
  132. package/dist/components/effects/FieldLinesEffect.d.ts.map +1 -1
  133. package/dist/components/effects/FieldLinesEffect.js +30 -20
  134. package/dist/components/effects/Fire.d.ts +8 -3
  135. package/dist/components/effects/Fire.d.ts.map +1 -1
  136. package/dist/components/effects/Fire.js +47 -10
  137. package/dist/components/effects/FireflySwarmEffect.d.ts +7 -2
  138. package/dist/components/effects/FireflySwarmEffect.d.ts.map +1 -1
  139. package/dist/components/effects/FireflySwarmEffect.js +19 -9
  140. package/dist/components/effects/Flares.d.ts +10 -3
  141. package/dist/components/effects/Flares.d.ts.map +1 -1
  142. package/dist/components/effects/Flares.js +53 -56
  143. package/dist/components/effects/ForcefieldEffect.d.ts +8 -3
  144. package/dist/components/effects/ForcefieldEffect.d.ts.map +1 -1
  145. package/dist/components/effects/ForcefieldEffect.js +52 -33
  146. package/dist/components/effects/GalaxyEffect.d.ts +7 -2
  147. package/dist/components/effects/GalaxyEffect.d.ts.map +1 -1
  148. package/dist/components/effects/GalaxyEffect.js +19 -9
  149. package/dist/components/effects/HarmonicShellEffect.d.ts +8 -3
  150. package/dist/components/effects/HarmonicShellEffect.d.ts.map +1 -1
  151. package/dist/components/effects/HarmonicShellEffect.js +30 -22
  152. package/dist/components/effects/HologramEffect.d.ts +8 -3
  153. package/dist/components/effects/HologramEffect.d.ts.map +1 -1
  154. package/dist/components/effects/HologramEffect.js +52 -23
  155. package/dist/components/effects/IceCrystalsEffect.d.ts +8 -3
  156. package/dist/components/effects/IceCrystalsEffect.d.ts.map +1 -1
  157. package/dist/components/effects/IceCrystalsEffect.js +36 -21
  158. package/dist/components/effects/IceHaloEffect.d.ts +7 -2
  159. package/dist/components/effects/IceHaloEffect.d.ts.map +1 -1
  160. package/dist/components/effects/IceHaloEffect.js +19 -9
  161. package/dist/components/effects/LichtenbergEffect.d.ts +7 -2
  162. package/dist/components/effects/LichtenbergEffect.d.ts.map +1 -1
  163. package/dist/components/effects/LichtenbergEffect.js +19 -9
  164. package/dist/components/effects/LightningEffect.d.ts +8 -3
  165. package/dist/components/effects/LightningEffect.d.ts.map +1 -1
  166. package/dist/components/effects/LightningEffect.js +54 -32
  167. package/dist/components/effects/MoleculesEffect.d.ts +8 -3
  168. package/dist/components/effects/MoleculesEffect.d.ts.map +1 -1
  169. package/dist/components/effects/MoleculesEffect.js +31 -21
  170. package/dist/components/effects/MurmurationEffect.d.ts +7 -2
  171. package/dist/components/effects/MurmurationEffect.d.ts.map +1 -1
  172. package/dist/components/effects/MurmurationEffect.js +19 -9
  173. package/dist/components/effects/NeuralNetworkEffect.d.ts +8 -3
  174. package/dist/components/effects/NeuralNetworkEffect.d.ts.map +1 -1
  175. package/dist/components/effects/NeuralNetworkEffect.js +66 -33
  176. package/dist/components/effects/OrbEffect.d.ts +8 -3
  177. package/dist/components/effects/OrbEffect.d.ts.map +1 -1
  178. package/dist/components/effects/OrbEffect.js +89 -42
  179. package/dist/components/effects/PlanetaryRingsEffect.d.ts +7 -2
  180. package/dist/components/effects/PlanetaryRingsEffect.d.ts.map +1 -1
  181. package/dist/components/effects/PlanetaryRingsEffect.js +19 -9
  182. package/dist/components/effects/PortalEffect.d.ts +8 -3
  183. package/dist/components/effects/PortalEffect.d.ts.map +1 -1
  184. package/dist/components/effects/PortalEffect.js +41 -25
  185. package/dist/components/effects/ShockwaveEffect.d.ts +7 -2
  186. package/dist/components/effects/ShockwaveEffect.d.ts.map +1 -1
  187. package/dist/components/effects/ShockwaveEffect.js +19 -9
  188. package/dist/components/effects/SmokePlumeEffect.d.ts +8 -3
  189. package/dist/components/effects/SmokePlumeEffect.d.ts.map +1 -1
  190. package/dist/components/effects/SmokePlumeEffect.js +30 -20
  191. package/dist/components/effects/SmokeRibbon.d.ts +8 -2
  192. package/dist/components/effects/SmokeRibbon.d.ts.map +1 -1
  193. package/dist/components/effects/SmokeRibbon.js +34 -24
  194. package/dist/components/effects/SmokeRingEffect.d.ts +8 -3
  195. package/dist/components/effects/SmokeRingEffect.d.ts.map +1 -1
  196. package/dist/components/effects/SmokeRingEffect.js +33 -21
  197. package/dist/components/effects/StrangeAttractorEffect.d.ts +8 -3
  198. package/dist/components/effects/StrangeAttractorEffect.d.ts.map +1 -1
  199. package/dist/components/effects/StrangeAttractorEffect.js +30 -20
  200. package/dist/components/effects/VolumetricFogEffect.d.ts +8 -3
  201. package/dist/components/effects/VolumetricFogEffect.d.ts.map +1 -1
  202. package/dist/components/effects/VolumetricFogEffect.js +38 -20
  203. package/dist/components/effects/WaterCausticsEffect.d.ts +7 -2
  204. package/dist/components/effects/WaterCausticsEffect.d.ts.map +1 -1
  205. package/dist/components/effects/WaterCausticsEffect.js +19 -9
  206. package/dist/components/effects/index.d.ts +0 -1
  207. package/dist/components/effects/index.d.ts.map +1 -1
  208. package/dist/components/effects/index.js +0 -1
  209. package/dist/components/index.d.ts +0 -1
  210. package/dist/components/index.d.ts.map +1 -1
  211. package/dist/components/index.js +0 -1
  212. package/dist/components/landscape/LandscapeMesh.js +1 -1
  213. package/dist/components/landscape/types.d.ts +1 -1
  214. package/dist/components/landscape/types.d.ts.map +1 -1
  215. package/dist/components/particles/MagneticBottleParticles.d.ts +17 -0
  216. package/dist/components/particles/MagneticBottleParticles.d.ts.map +1 -0
  217. package/dist/components/particles/MagneticBottleParticles.js +618 -0
  218. package/dist/components/particles/ShapeBurstParticles.d.ts +17 -0
  219. package/dist/components/particles/ShapeBurstParticles.d.ts.map +1 -0
  220. package/dist/components/particles/ShapeBurstParticles.js +588 -0
  221. package/dist/components/particles/ShapeFlowParticles.d.ts +17 -0
  222. package/dist/components/particles/ShapeFlowParticles.d.ts.map +1 -0
  223. package/dist/components/particles/ShapeFlowParticles.js +755 -0
  224. package/dist/components/particles/index.d.ts +6 -0
  225. package/dist/components/particles/index.d.ts.map +1 -1
  226. package/dist/components/particles/index.js +3 -0
  227. package/dist/components/terrain/types.d.ts +1 -1
  228. package/dist/components/terrain/types.d.ts.map +1 -1
  229. package/dist/components/volumetricClouds/VolumetricCloudsPass.d.ts +1 -1
  230. package/dist/components/volumetricClouds/VolumetricCloudsPass.d.ts.map +1 -1
  231. package/dist/components/volumetricClouds/types.d.ts +1 -1
  232. package/dist/components/volumetricClouds/types.d.ts.map +1 -1
  233. package/dist/components/water/types.d.ts +1 -1
  234. package/dist/components/water/types.d.ts.map +1 -1
  235. package/dist/constants.d.ts +1 -1
  236. package/dist/constants.d.ts.map +1 -1
  237. package/dist/constants.js +1 -1
  238. package/dist/hooks/index.d.ts +2 -0
  239. package/dist/hooks/index.d.ts.map +1 -1
  240. package/dist/hooks/index.js +1 -0
  241. package/dist/hooks/useConfigDriver.d.ts +22 -0
  242. package/dist/hooks/useConfigDriver.d.ts.map +1 -0
  243. package/dist/hooks/useConfigDriver.js +43 -0
  244. package/dist/hooks/useConfigLive.d.ts +1 -1
  245. package/dist/hooks/useConfigLive.d.ts.map +1 -1
  246. package/dist/hooks/useLandscapeMaps.d.ts +1 -1
  247. package/dist/hooks/useLandscapeMaps.d.ts.map +1 -1
  248. package/dist/hooks/useOceanMaterial.d.ts +1 -1
  249. package/dist/hooks/useThunder.d.ts +1 -1
  250. package/dist/index.d.ts +1 -2
  251. package/dist/index.d.ts.map +1 -1
  252. package/dist/index.js +1 -2
  253. package/dist/interactions/index.d.ts +2 -1
  254. package/dist/interactions/index.d.ts.map +1 -1
  255. package/dist/interactions/index.js +1 -1
  256. package/dist/interactions/runner.d.ts +18 -3
  257. package/dist/interactions/runner.d.ts.map +1 -1
  258. package/dist/interactions/runner.js +25 -2
  259. package/dist/operations/catalogue/curlSmoke.d.ts +3 -0
  260. package/dist/operations/catalogue/curlSmoke.d.ts.map +1 -0
  261. package/dist/operations/catalogue/curlSmoke.js +178 -0
  262. package/dist/operations/catalogue/displayImage.d.ts.map +1 -1
  263. package/dist/operations/catalogue/displayImage.js +1 -0
  264. package/dist/operations/catalogue/dissolve.d.ts +3 -0
  265. package/dist/operations/catalogue/dissolve.d.ts.map +1 -0
  266. package/dist/operations/catalogue/dissolve.js +57 -0
  267. package/dist/operations/catalogue/emberAsh.d.ts +3 -0
  268. package/dist/operations/catalogue/emberAsh.d.ts.map +1 -0
  269. package/dist/operations/catalogue/emberAsh.js +171 -0
  270. package/dist/operations/catalogue/fade.d.ts.map +1 -1
  271. package/dist/operations/catalogue/fade.js +1 -0
  272. package/dist/operations/catalogue/flip.d.ts +3 -0
  273. package/dist/operations/catalogue/flip.d.ts.map +1 -0
  274. package/dist/operations/catalogue/flip.js +69 -0
  275. package/dist/operations/catalogue/flock.d.ts +3 -0
  276. package/dist/operations/catalogue/flock.d.ts.map +1 -0
  277. package/dist/operations/catalogue/flock.js +163 -0
  278. package/dist/operations/catalogue/focus.d.ts.map +1 -1
  279. package/dist/operations/catalogue/focus.js +1 -0
  280. package/dist/operations/catalogue/frame.d.ts +3 -0
  281. package/dist/operations/catalogue/frame.d.ts.map +1 -0
  282. package/dist/operations/catalogue/frame.js +44 -0
  283. package/dist/operations/catalogue/frost.d.ts +3 -0
  284. package/dist/operations/catalogue/frost.d.ts.map +1 -0
  285. package/dist/operations/catalogue/frost.js +111 -0
  286. package/dist/operations/catalogue/fxInstances.d.ts +21 -0
  287. package/dist/operations/catalogue/fxInstances.d.ts.map +1 -0
  288. package/dist/operations/catalogue/fxInstances.js +47 -0
  289. package/dist/operations/catalogue/fxPoints.d.ts +22 -0
  290. package/dist/operations/catalogue/fxPoints.d.ts.map +1 -0
  291. package/dist/operations/catalogue/fxPoints.js +70 -0
  292. package/dist/operations/catalogue/glow.d.ts.map +1 -1
  293. package/dist/operations/catalogue/glow.js +2 -1
  294. package/dist/operations/catalogue/heatCracks.d.ts +3 -0
  295. package/dist/operations/catalogue/heatCracks.d.ts.map +1 -0
  296. package/dist/operations/catalogue/heatCracks.js +134 -0
  297. package/dist/operations/catalogue/hologram.d.ts +3 -0
  298. package/dist/operations/catalogue/hologram.d.ts.map +1 -0
  299. package/dist/operations/catalogue/hologram.js +118 -0
  300. package/dist/operations/catalogue/inkBloom.d.ts +3 -0
  301. package/dist/operations/catalogue/inkBloom.d.ts.map +1 -0
  302. package/dist/operations/catalogue/inkBloom.js +156 -0
  303. package/dist/operations/catalogue/ivy.d.ts +13 -0
  304. package/dist/operations/catalogue/ivy.d.ts.map +1 -0
  305. package/dist/operations/catalogue/ivy.js +469 -0
  306. package/dist/operations/catalogue/jelly.d.ts +3 -0
  307. package/dist/operations/catalogue/jelly.d.ts.map +1 -0
  308. package/dist/operations/catalogue/jelly.js +50 -0
  309. package/dist/operations/catalogue/kintsugi.d.ts +3 -0
  310. package/dist/operations/catalogue/kintsugi.d.ts.map +1 -0
  311. package/dist/operations/catalogue/kintsugi.js +173 -0
  312. package/dist/operations/catalogue/lidarScan.d.ts +3 -0
  313. package/dist/operations/catalogue/lidarScan.d.ts.map +1 -0
  314. package/dist/operations/catalogue/lidarScan.js +240 -0
  315. package/dist/operations/catalogue/liquidMetal.d.ts +3 -0
  316. package/dist/operations/catalogue/liquidMetal.d.ts.map +1 -0
  317. package/dist/operations/catalogue/liquidMetal.js +122 -0
  318. package/dist/operations/catalogue/metalize.d.ts +3 -0
  319. package/dist/operations/catalogue/metalize.d.ts.map +1 -0
  320. package/dist/operations/catalogue/metalize.js +135 -0
  321. package/dist/operations/catalogue/moveToFront.d.ts.map +1 -1
  322. package/dist/operations/catalogue/moveToFront.js +1 -0
  323. package/dist/operations/catalogue/orbit.d.ts +3 -0
  324. package/dist/operations/catalogue/orbit.d.ts.map +1 -0
  325. package/dist/operations/catalogue/orbit.js +29 -0
  326. package/dist/operations/catalogue/particleSwarm.d.ts +3 -0
  327. package/dist/operations/catalogue/particleSwarm.d.ts.map +1 -0
  328. package/dist/operations/catalogue/particleSwarm.js +138 -0
  329. package/dist/operations/catalogue/petalPeel.d.ts +3 -0
  330. package/dist/operations/catalogue/petalPeel.d.ts.map +1 -0
  331. package/dist/operations/catalogue/petalPeel.js +137 -0
  332. package/dist/operations/catalogue/petrify.d.ts +3 -0
  333. package/dist/operations/catalogue/petrify.d.ts.map +1 -0
  334. package/dist/operations/catalogue/petrify.js +94 -0
  335. package/dist/operations/catalogue/portal.d.ts +3 -0
  336. package/dist/operations/catalogue/portal.d.ts.map +1 -0
  337. package/dist/operations/catalogue/portal.js +224 -0
  338. package/dist/operations/catalogue/print3d.d.ts +3 -0
  339. package/dist/operations/catalogue/print3d.d.ts.map +1 -0
  340. package/dist/operations/catalogue/print3d.js +275 -0
  341. package/dist/operations/catalogue/rainBeads.d.ts +3 -0
  342. package/dist/operations/catalogue/rainBeads.d.ts.map +1 -0
  343. package/dist/operations/catalogue/rainBeads.js +223 -0
  344. package/dist/operations/catalogue/restPose.d.ts +21 -0
  345. package/dist/operations/catalogue/restPose.d.ts.map +1 -0
  346. package/dist/operations/catalogue/restPose.js +55 -0
  347. package/dist/operations/catalogue/rimLight.d.ts +3 -0
  348. package/dist/operations/catalogue/rimLight.d.ts.map +1 -0
  349. package/dist/operations/catalogue/rimLight.js +72 -0
  350. package/dist/operations/catalogue/sandErosion.d.ts +3 -0
  351. package/dist/operations/catalogue/sandErosion.d.ts.map +1 -0
  352. package/dist/operations/catalogue/sandErosion.js +167 -0
  353. package/dist/operations/catalogue/shaderLayers.d.ts +74 -0
  354. package/dist/operations/catalogue/shaderLayers.d.ts.map +1 -0
  355. package/dist/operations/catalogue/shaderLayers.js +322 -0
  356. package/dist/operations/catalogue/shatter.d.ts +3 -0
  357. package/dist/operations/catalogue/shatter.d.ts.map +1 -0
  358. package/dist/operations/catalogue/shatter.js +267 -0
  359. package/dist/operations/catalogue/silkDrape.d.ts +3 -0
  360. package/dist/operations/catalogue/silkDrape.d.ts.map +1 -0
  361. package/dist/operations/catalogue/silkDrape.js +340 -0
  362. package/dist/operations/catalogue/spin.d.ts +3 -0
  363. package/dist/operations/catalogue/spin.d.ts.map +1 -0
  364. package/dist/operations/catalogue/spin.js +42 -0
  365. package/dist/operations/catalogue/surfaceSample.d.ts +17 -0
  366. package/dist/operations/catalogue/surfaceSample.d.ts.map +1 -0
  367. package/dist/operations/catalogue/surfaceSample.js +187 -0
  368. package/dist/operations/catalogue/swirl.d.ts +3 -0
  369. package/dist/operations/catalogue/swirl.d.ts.map +1 -0
  370. package/dist/operations/catalogue/swirl.js +69 -0
  371. package/dist/operations/catalogue/teleport.d.ts +3 -0
  372. package/dist/operations/catalogue/teleport.d.ts.map +1 -0
  373. package/dist/operations/catalogue/teleport.js +213 -0
  374. package/dist/operations/catalogue/transitionField.d.ts +124 -0
  375. package/dist/operations/catalogue/transitionField.d.ts.map +1 -0
  376. package/dist/operations/catalogue/transitionField.js +278 -0
  377. package/dist/operations/catalogue/unweave.d.ts +3 -0
  378. package/dist/operations/catalogue/unweave.d.ts.map +1 -0
  379. package/dist/operations/catalogue/unweave.js +233 -0
  380. package/dist/operations/catalogue/visibility.d.ts.map +1 -1
  381. package/dist/operations/catalogue/visibility.js +1 -0
  382. package/dist/operations/catalogue/voxelize.d.ts +3 -0
  383. package/dist/operations/catalogue/voxelize.d.ts.map +1 -0
  384. package/dist/operations/catalogue/voxelize.js +148 -0
  385. package/dist/operations/catalogue/warmup.d.ts +22 -0
  386. package/dist/operations/catalogue/warmup.d.ts.map +1 -0
  387. package/dist/operations/catalogue/warmup.js +106 -0
  388. package/dist/operations/catalogue/zoom.d.ts.map +1 -1
  389. package/dist/operations/catalogue/zoom.js +1 -0
  390. package/dist/operations/index.d.ts +4 -2
  391. package/dist/operations/index.d.ts.map +1 -1
  392. package/dist/operations/index.js +4 -2
  393. package/dist/operations/objectEffects.d.ts +46 -0
  394. package/dist/operations/objectEffects.d.ts.map +1 -0
  395. package/dist/operations/objectEffects.js +136 -0
  396. package/dist/operations/registry.d.ts +7 -2
  397. package/dist/operations/registry.d.ts.map +1 -1
  398. package/dist/operations/registry.js +45 -3
  399. package/dist/operations/runtime.d.ts +40 -2
  400. package/dist/operations/runtime.d.ts.map +1 -1
  401. package/dist/operations/runtime.js +164 -8
  402. package/dist/operations/types.d.ts +29 -3
  403. package/dist/operations/types.d.ts.map +1 -1
  404. package/dist/operations/types.js +6 -0
  405. package/dist/operations/useObjectEffectLayers.d.ts +4 -0
  406. package/dist/operations/useObjectEffectLayers.d.ts.map +1 -0
  407. package/dist/operations/useObjectEffectLayers.js +42 -0
  408. package/dist/operations/useOperationsRuntime.d.ts.map +1 -1
  409. package/dist/operations/useOperationsRuntime.js +42 -4
  410. package/dist/presets/landscapePresets.d.ts +1 -1
  411. package/dist/presets/landscapePresets.d.ts.map +1 -1
  412. package/dist/presets/landscapePresets.js +1 -1
  413. package/dist/presets/landscapeTypes.d.ts +1 -1
  414. package/dist/presets/landscapeTypes.d.ts.map +1 -1
  415. package/dist/presets/landscapeTypes.js +1 -1
  416. package/dist/presets/oceanSurfacePresets.d.ts +1 -1
  417. package/dist/presets/terrainPresets.d.ts +1 -1
  418. package/dist/presets/terrainPresets.d.ts.map +1 -1
  419. package/dist/presets/volumetricCloudPresets.d.ts +1 -1
  420. package/dist/types/cloudConfigs.d.ts +2 -309
  421. package/dist/types/cloudConfigs.d.ts.map +1 -1
  422. package/dist/types/cloudConfigs.js +2 -339
  423. package/dist/types/index.d.ts +8 -8
  424. package/dist/types/index.d.ts.map +1 -1
  425. package/dist/types/index.js +4 -4
  426. package/dist/types/landscapeConfigs.d.ts +2 -217
  427. package/dist/types/landscapeConfigs.d.ts.map +1 -1
  428. package/dist/types/landscapeConfigs.js +2 -256
  429. package/dist/types/oceanConfigs.d.ts +2 -289
  430. package/dist/types/oceanConfigs.d.ts.map +1 -1
  431. package/dist/types/oceanConfigs.js +2 -380
  432. package/dist/types/terrainConfigs.d.ts +2 -250
  433. package/dist/types/terrainConfigs.d.ts.map +1 -1
  434. package/dist/types/terrainConfigs.js +2 -292
  435. package/dist/utils/cloudUniforms.d.ts +1 -1
  436. package/dist/utils/configAnimations.d.ts +6 -0
  437. package/dist/utils/configAnimations.d.ts.map +1 -1
  438. package/dist/utils/configAnimations.js +14 -0
  439. package/dist/utils/gridConfig.d.ts +19 -0
  440. package/dist/utils/gridConfig.d.ts.map +1 -0
  441. package/dist/utils/gridConfig.js +52 -0
  442. package/dist/utils/handleCloudsAnimations.d.ts +1 -1
  443. package/dist/utils/handleCloudsAnimations.js +1 -1
  444. package/dist/utils/hasHoverAnimation.d.ts.map +1 -1
  445. package/dist/utils/hasHoverAnimation.js +0 -2
  446. package/dist/utils/landscapeUniforms.d.ts +1 -1
  447. package/dist/utils/landscapeUniforms.d.ts.map +1 -1
  448. package/dist/utils/oceanUniforms.d.ts +1 -1
  449. package/dist/utils/particleShape.d.ts +33 -0
  450. package/dist/utils/particleShape.d.ts.map +1 -0
  451. package/dist/utils/particleShape.js +207 -0
  452. package/dist/utils/particleTrails.d.ts.map +1 -1
  453. package/dist/utils/particleTrails.js +29 -14
  454. package/dist/utils/terrainUniforms.d.ts +1 -1
  455. package/dist/utils/terrainUniforms.d.ts.map +1 -1
  456. package/package.json +2 -2
@@ -1,9 +1,11 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useEffect, useLayoutEffect, useMemo, useRef } from 'react';
3
- import * as THREE from 'three';
2
+ import { useCallback, useEffect, useLayoutEffect, useMemo, useRef } from 'react';
4
3
  import { useFrame } from '@react-three/fiber';
5
- import { applyGenerativeAnimations } from '../../utils/handleGenerativeEffectsAnimations.js';
4
+ import * as THREE from 'three';
5
+ import { withConfigDefaults } from '../../utils/configAnimations.js';
6
+ import { DEFAULT_GENERATIVE_EFFECTS, EFFECTS_ANIMATABLE } from "@3driseai/3drise-core";
6
7
  import { useObjectReady } from '../../hooks/useObjectReady.js';
8
+ import { useConfigDriver } from '../../hooks/useConfigDriver.js';
7
9
  /**
8
10
  * A ray-traced Schwarzschild black hole.
9
11
  *
@@ -35,6 +37,7 @@ const blackHoleFrag = /* glsl */ `
35
37
  uniform float uLensing;
36
38
  uniform float uBeaming;
37
39
  uniform float uRotationSpeed;
40
+ uniform float uSpin; // integrated on the CPU: rotation speed changes never jump
38
41
  uniform float uIntensity;
39
42
  uniform float uOpacity;
40
43
  uniform float uInside; // 1 when the camera is inside the proxy sphere
@@ -113,7 +116,7 @@ const blackHoleFrag = /* glsl */ `
113
116
  float captured = 0.0;
114
117
  float glow = 0.0;
115
118
 
116
- float ph = uTime * uRotationSpeed / 7.0;
119
+ float ph = uSpin / 7.0;
117
120
  float f0 = fract(ph), f1 = fract(ph + 0.5);
118
121
  float w0 = 1.0 - abs(2.0 * f0 - 1.0);
119
122
  float off0 = floor(ph) * 7.31, off1 = floor(ph + 0.5) * 7.31 + 3.7;
@@ -246,12 +249,31 @@ const jetFrag = /* glsl */ `
246
249
  `;
247
250
  const _inv = new THREE.Matrix4();
248
251
  const _cam = new THREE.Vector3();
249
- const BlackHoleEffect = ({ boundingRadius, config, animations, onObjectReady, onObjectDispose }) => {
250
- const { intensity = 1.2, speed = 1, color = '#ffd2a0', opacity = 0.95, diskColor = '#ff6600', jetEnabled = true, jetColor = '#88aaff', rotationSpeed = 1, tilt = 15, horizonSize = 0.4, diskOuter = 3, lensing = 1, beaming = 1, } = config;
252
+ /** Knobs that resize the proxy sphere and the jets (horizon size, disk extent): commit only. */
253
+ const STRUCTURAL = ['horizonSize', 'diskOuter'];
254
+ /** Knobs a keyframe or pointer binding may drive per frame — exactly what the push point applies. */
255
+ const ANIMATABLE = new Set(EFFECTS_ANIMATABLE.blackHole.map((p) => p.value));
256
+ /** The single push point: every config knob reaches its uniform (or the disk tilt) here. */
257
+ function applyConfig(u, tiltGroup, c) {
258
+ u.uSpeed.value = c.speed;
259
+ u.uIntensity.value = c.intensity;
260
+ u.uOpacity.value = c.opacity;
261
+ u.uColor.value.set(c.color);
262
+ u.uDiskColor.value.set(c.diskColor);
263
+ u.uJetColor.value.set(c.jetColor);
264
+ u.uRotationSpeed.value = c.rotationSpeed;
265
+ u.uLensing.value = c.lensing;
266
+ u.uBeaming.value = c.beaming;
267
+ if (tiltGroup)
268
+ tiltGroup.rotation.set(0, 0, (c.tilt * Math.PI) / 180);
269
+ }
270
+ const BlackHoleEffect = ({ boundingRadius, config, id, keyframes, mouseMove, onObjectReady, onObjectDispose }) => {
271
+ const cfg = useMemo(() => withConfigDefaults(DEFAULT_GENERATIVE_EFFECTS.blackHole, config), [config]);
272
+ const { jetEnabled, horizonSize, diskOuter } = cfg;
251
273
  const rootRef = useRef(null);
274
+ const tiltRef = useRef(null);
252
275
  const diskRef = useRef(null);
253
276
  const insideRef = useRef(false);
254
- const animCache = useRef({});
255
277
  useObjectReady(rootRef, config, onObjectReady, onObjectDispose);
256
278
  // a standalone effect gets boundingRadius 1; guard against an empty host
257
279
  const b = boundingRadius > 0 ? boundingRadius : 1;
@@ -261,6 +283,7 @@ const BlackHoleEffect = ({ boundingRadius, config, animations, onObjectReady, on
261
283
  const proxyR = Rs * outerRs * 1.03;
262
284
  const uniforms = useMemo(() => ({
263
285
  uTime: { value: 0 },
286
+ uSpin: { value: 0 },
264
287
  uSpeed: { value: 1 },
265
288
  uIntensity: { value: 1 },
266
289
  uOpacity: { value: 1 },
@@ -288,21 +311,21 @@ const BlackHoleEffect = ({ boundingRadius, config, animations, onObjectReady, on
288
311
  }, [b, Rs]);
289
312
  useEffect(() => () => proxyGeometry.dispose(), [proxyGeometry]);
290
313
  useEffect(() => () => jetGeometry.dispose(), [jetGeometry]);
314
+ // geometry-derived uniforms follow the committed (structural) knobs
291
315
  useLayoutEffect(() => {
292
- uniforms.uSpeed.value = speed;
293
- uniforms.uIntensity.value = intensity;
294
- uniforms.uOpacity.value = opacity;
295
- uniforms.uColor.value.set(color);
296
- uniforms.uDiskColor.value.set(diskColor);
297
- uniforms.uJetColor.value.set(jetColor);
298
- uniforms.uRotationSpeed.value = rotationSpeed;
299
- uniforms.uLensing.value = lensing;
300
- uniforms.uBeaming.value = beaming;
301
316
  uniforms.uRs.value = Rs;
302
317
  uniforms.uOuter.value = outerRs;
303
- }, [uniforms, speed, intensity, opacity, color, diskColor, jetColor, rotationSpeed, lensing, beaming, Rs, outerRs]);
318
+ }, [uniforms, Rs, outerRs]);
319
+ const push = useCallback((merged) => {
320
+ applyConfig(uniforms, tiltRef.current, merged);
321
+ }, [uniforms]);
322
+ useLayoutEffect(() => { push(cfg); }, [push, cfg]);
323
+ useConfigDriver({ rootRef, id, family: 'effects', base: cfg, structural: STRUCTURAL, allowed: ANIMATABLE, keyframes, mouseMove, push });
304
324
  useFrame((state, delta) => {
305
- uniforms.uTime.value += delta * uniforms.uSpeed.value;
325
+ const dt = delta * uniforms.uSpeed.value;
326
+ uniforms.uTime.value += dt;
327
+ // the disk angle is integrated, so changing the rotation speed never makes it jump
328
+ uniforms.uSpin.value += dt * uniforms.uRotationSpeed.value;
306
329
  const disk = diskRef.current;
307
330
  if (disk) {
308
331
  disk.updateWorldMatrix(true, false);
@@ -317,9 +340,7 @@ const BlackHoleEffect = ({ boundingRadius, config, animations, onObjectReady, on
317
340
  mat.needsUpdate = true;
318
341
  }
319
342
  }
320
- if (animations?.length)
321
- applyGenerativeAnimations(materials, animations, animCache.current, Date.now(), false);
322
343
  });
323
- return (_jsx("group", { ref: rootRef, children: _jsxs("group", { rotation: [0, 0, (tilt * Math.PI) / 180], children: [_jsx("mesh", { ref: diskRef, geometry: proxyGeometry, material: materials[0] }), _jsxs("group", { visible: jetEnabled, children: [_jsx("mesh", { geometry: jetGeometry, material: materials[1], frustumCulled: false }), _jsx("mesh", { geometry: jetGeometry, material: materials[1], scale: [1, -1, 1], frustumCulled: false })] })] }) }));
344
+ return (_jsx("group", { ref: rootRef, children: _jsxs("group", { ref: tiltRef, children: [_jsx("mesh", { ref: diskRef, geometry: proxyGeometry, material: materials[0] }), _jsxs("group", { visible: jetEnabled, children: [_jsx("mesh", { geometry: jetGeometry, material: materials[1], frustumCulled: false }), _jsx("mesh", { geometry: jetGeometry, material: materials[1], scale: [1, -1, 1], frustumCulled: false })] })] }) }));
324
345
  };
325
346
  export default BlackHoleEffect;
@@ -1,10 +1,15 @@
1
1
  import React from "react";
2
- import type { ConstellationConfig, AnimationOptions } from "@3driseai/3drise-core";
2
+ import type { ConstellationConfig, AnimationOptions, MouseMoveDomain } from "@3driseai/3drise-core";
3
3
  import type { ObjectReadyProps } from '../../types/objectReady';
4
- interface ConstellationEffectProps extends ObjectReadyProps {
4
+ export interface ConstellationEffectProps extends ObjectReadyProps {
5
5
  boundingRadius: number;
6
6
  config: ConstellationConfig;
7
- animations?: AnimationOptions[];
7
+ /** Scene object id of a standalone effect: the live-edit handle is found by it. */
8
+ id?: string;
9
+ /** Keyframes on this effect's config knobs (animations.effect.animations). */
10
+ keyframes?: AnimationOptions[];
11
+ /** Pointer bindings on this effect's config knobs (mouseMove.effect). */
12
+ mouseMove?: MouseMoveDomain;
8
13
  }
9
14
  declare const ConstellationEffect: React.FC<ConstellationEffectProps>;
10
15
  export default ConstellationEffect;
@@ -1 +1 @@
1
- {"version":3,"file":"ConstellationEffect.d.ts","sourceRoot":"","sources":["../../../src/components/effects/ConstellationEffect.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEnF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,UAAU,wBAAyB,SAAQ,gBAAgB;IACvD,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,UAAU,CAAC,EAAE,gBAAgB,EAAE,CAAC;CACnC;AAiGD,QAAA,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAyF3D,CAAC;AACF,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"ConstellationEffect.d.ts","sourceRoot":"","sources":["../../../src/components/effects/ConstellationEffect.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGpG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,MAAM,WAAW,wBAAyB,SAAQ,gBAAgB;IAC9D,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,mFAAmF;IACnF,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,8EAA8E;IAC9E,SAAS,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC/B,yEAAyE;IACzE,SAAS,CAAC,EAAE,eAAe,CAAC;CAC/B;AAsHD,QAAA,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAmG3D,CAAC;AACF,eAAe,mBAAmB,CAAC"}
@@ -1,9 +1,11 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useRef, useMemo } from 'react';
2
+ import { useCallback, useEffect, useLayoutEffect, useMemo, useRef } from 'react';
3
3
  import { useFrame } from '@react-three/fiber';
4
4
  import * as THREE from 'three';
5
- import { applyGenerativeAnimations } from '../../utils/handleGenerativeEffectsAnimations.js';
5
+ import { withConfigDefaults } from '../../utils/configAnimations.js';
6
+ import { DEFAULT_GENERATIVE_EFFECTS, EFFECTS_ANIMATABLE } from "@3driseai/3drise-core";
6
7
  import { useObjectReady } from '../../hooks/useObjectReady.js';
8
+ import { useConfigDriver } from '../../hooks/useConfigDriver.js';
7
9
  // Stars: per-particle twinkle + size variation
8
10
  const starVertShader = /* glsl */ `
9
11
  attribute float aPhase;
@@ -11,14 +13,15 @@ const starVertShader = /* glsl */ `
11
13
 
12
14
  uniform float u_time;
13
15
  uniform float uTwinkleSpeed;
16
+ uniform float uTwinklePhase; // integrated on the CPU: twinkle speed changes never jump
14
17
  uniform float uPointSize;
15
18
 
16
19
  varying float vAlpha;
17
20
  varying float vBrightness;
18
21
 
19
22
  void main() {
20
- float twinkle = 0.5 + 0.5 * sin(u_time * uTwinkleSpeed + aPhase);
21
- float twinkle2 = 0.5 + 0.5 * sin(u_time * uTwinkleSpeed * 1.618 + aPhase * 2.3);
23
+ float twinkle = 0.5 + 0.5 * sin(uTwinklePhase + aPhase);
24
+ float twinkle2 = 0.5 + 0.5 * sin(uTwinklePhase * 1.618 + aPhase * 2.3);
22
25
  vAlpha = 0.35 + 0.65 * twinkle;
23
26
  vBrightness = twinkle2;
24
27
 
@@ -98,17 +101,32 @@ function fibonacciSphere(count, radius) {
98
101
  }
99
102
  return positions;
100
103
  }
101
- const ConstellationEffect = ({ boundingRadius, config, animations, onObjectReady, onObjectDispose }) => {
102
- const { starCount, connectRadius, orbitRadius, twinkleSpeed, lineOpacity, starSize, color, opacity, speed } = config;
103
- const startValuesCacheRef = useRef({});
104
+ /** Knobs that rebuild the star field (positions, connections): commit only, never live. */
105
+ const STRUCTURAL = ['starCount', 'orbitRadius', 'connectRadius'];
106
+ /** Knobs a keyframe or pointer binding may drive per frame — exactly what the push point applies. */
107
+ const ANIMATABLE = new Set(EFFECTS_ANIMATABLE.constellation.map((p) => p.value));
108
+ const _color = new THREE.Color();
109
+ /** The single push point: every config knob reaches its uniform here. */
110
+ function applyConfig(starMat, lineMat, c) {
111
+ _color.set(c.color);
112
+ const s = starMat.uniforms, l = lineMat.uniforms;
113
+ s.uTwinkleSpeed.value = c.twinkleSpeed;
114
+ s.uPointSize.value = c.starSize * 220;
115
+ s.uColor.value.set(_color.r, _color.g, _color.b);
116
+ s.uOpacity.value = c.opacity;
117
+ l.uColor.value.set(_color.r, _color.g, _color.b);
118
+ l.uLineOpacity.value = c.lineOpacity;
119
+ }
120
+ const ConstellationEffect = ({ boundingRadius, config, id, keyframes, mouseMove, onObjectReady, onObjectDispose }) => {
121
+ const cfg = useMemo(() => withConfigDefaults(DEFAULT_GENERATIVE_EFFECTS.constellation, config), [config]);
122
+ const { starCount, connectRadius, orbitRadius } = cfg;
104
123
  const groupRef = useRef(null);
105
124
  useObjectReady(groupRef, config, onObjectReady, onObjectDispose);
125
+ // the knobs read per frame (speed), from the last merged config
126
+ const cur = useRef(cfg);
106
127
  const r = boundingRadius * orbitRadius;
107
128
  const connR = boundingRadius * connectRadius;
108
- const colorVec = useMemo(() => {
109
- const c = new THREE.Color(color);
110
- return new THREE.Vector3(c.r, c.g, c.b);
111
- }, [color]);
129
+ // Built once per star field; every other knob is pushed into the uniforms.
112
130
  const { starGeo, starMat, lineGeo, lineMat } = useMemo(() => {
113
131
  const positions = fibonacciSphere(starCount, r);
114
132
  // Per-star random size multipliers (slight variation makes it feel natural)
@@ -116,7 +134,7 @@ const ConstellationEffect = ({ boundingRadius, config, animations, onObjectReady
116
134
  const sizes = new Float32Array(starCount);
117
135
  for (let i = 0; i < starCount; i++) {
118
136
  phases[i] = Math.random() * Math.PI * 2;
119
- sizes[i] = 0.5 + Math.random() * 1.0; // 0.5 – 1.5× size
137
+ sizes[i] = 0.5 + Math.random() * 1.0; // 0.5 - 1.5x size
120
138
  }
121
139
  const sGeo = new THREE.BufferGeometry();
122
140
  sGeo.setAttribute('position', new THREE.BufferAttribute(positions, 3));
@@ -127,16 +145,17 @@ const ConstellationEffect = ({ boundingRadius, config, animations, onObjectReady
127
145
  fragmentShader: starFragShader,
128
146
  uniforms: {
129
147
  u_time: { value: 0 },
130
- uTwinkleSpeed: { value: twinkleSpeed },
131
- uPointSize: { value: starSize * 220 },
132
- uColor: { value: colorVec },
133
- uOpacity: { value: opacity },
148
+ uTwinklePhase: { value: 0 },
149
+ uTwinkleSpeed: { value: 2 },
150
+ uPointSize: { value: 11 },
151
+ uColor: { value: new THREE.Vector3(1, 1, 1) },
152
+ uOpacity: { value: 1 },
134
153
  },
135
154
  transparent: true,
136
155
  depthWrite: false,
137
156
  blending: THREE.AdditiveBlending,
138
157
  });
139
- // Build connection line geometry — each nearby pair gets a line
158
+ // Build connection line geometry - each nearby pair gets a line
140
159
  const lineVerts = [];
141
160
  const linePhases = [];
142
161
  const lineSeeds = [];
@@ -164,16 +183,24 @@ const ConstellationEffect = ({ boundingRadius, config, animations, onObjectReady
164
183
  uniforms: {
165
184
  u_time: { value: 0 },
166
185
  uPulseSpeed: { value: 0.4 },
167
- uColor: { value: colorVec },
168
- uLineOpacity: { value: lineOpacity },
186
+ uColor: { value: new THREE.Vector3(1, 1, 1) },
187
+ uLineOpacity: { value: 0.3 },
169
188
  },
170
189
  transparent: true,
171
190
  depthWrite: false,
172
191
  blending: THREE.AdditiveBlending,
173
192
  });
174
193
  return { starGeo: sGeo, starMat: sMat, lineGeo: lGeo, lineMat: lMat };
175
- }, [starCount, r, connR, twinkleSpeed, starSize, colorVec, opacity, lineOpacity]);
194
+ }, [starCount, r, connR]);
195
+ useEffect(() => () => { starGeo.dispose(); starMat.dispose(); lineGeo.dispose(); lineMat.dispose(); }, [starGeo, starMat, lineGeo, lineMat]);
196
+ const push = useCallback((merged) => {
197
+ cur.current = merged;
198
+ applyConfig(starMat, lineMat, merged);
199
+ }, [starMat, lineMat]);
200
+ useLayoutEffect(() => { push(cfg); }, [push, cfg]);
201
+ useConfigDriver({ rootRef: groupRef, id, family: 'effects', base: cfg, structural: STRUCTURAL, allowed: ANIMATABLE, keyframes, mouseMove, push });
176
202
  useFrame((state, delta) => {
203
+ const speed = cur.current.speed;
177
204
  if (groupRef.current) {
178
205
  // Dual-axis rotation: primary Y + slow precession around X for a tumbling feel
179
206
  groupRef.current.rotation.y += delta * speed * 0.18;
@@ -181,10 +208,9 @@ const ConstellationEffect = ({ boundingRadius, config, animations, onObjectReady
181
208
  }
182
209
  const t = state.clock.getElapsedTime();
183
210
  starMat.uniforms.u_time.value = t;
211
+ // integrated, so changing the twinkle speed never makes the stars jump
212
+ starMat.uniforms.uTwinklePhase.value += Math.min(delta, 0.1) * starMat.uniforms.uTwinkleSpeed.value;
184
213
  lineMat.uniforms.u_time.value = t;
185
- if (animations?.length) {
186
- applyGenerativeAnimations([starMat, lineMat], animations, startValuesCacheRef.current, Date.now(), false);
187
- }
188
214
  });
189
215
  return (_jsxs("group", { ref: groupRef, children: [_jsx("points", { geometry: starGeo, material: starMat }), _jsx("lineSegments", { geometry: lineGeo, material: lineMat })] }));
190
216
  };
@@ -1,10 +1,15 @@
1
1
  import React from 'react';
2
- import type { AnimationOptions, DandelionSeedsConfig } from '@3driseai/3drise-core';
2
+ import type { AnimationOptions, DandelionSeedsConfig, MouseMoveDomain } from '@3driseai/3drise-core';
3
3
  import type { ObjectReadyProps } from '../../types/objectReady';
4
4
  export interface DandelionSeedsEffectProps extends ObjectReadyProps {
5
5
  boundingRadius: number;
6
6
  config: DandelionSeedsConfig;
7
- animations?: AnimationOptions[];
7
+ /** Scene object id of a standalone effect: the live-edit handle is found by it. */
8
+ id?: string;
9
+ /** Keyframes on this effect's config knobs (animations.effect.animations). */
10
+ keyframes?: AnimationOptions[];
11
+ /** Pointer bindings on this effect's config knobs (mouseMove.effect). */
12
+ mouseMove?: MouseMoveDomain;
8
13
  /** True when the effect is attached to an object, so it can react to the host. */
9
14
  hasHost?: boolean;
10
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DandelionSeedsEffect.d.ts","sourceRoot":"","sources":["../../../src/components/effects/DandelionSeedsEffect.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsD,MAAM,OAAO,CAAC;AAG3E,OAAO,KAAK,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAGpF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,MAAM,WAAW,yBAA0B,SAAQ,gBAAgB;IAC/D,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,oBAAoB,CAAC;IAC7B,UAAU,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAChC,kFAAkF;IAClF,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB;AA6cD,QAAA,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CA+B7D,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"DandelionSeedsEffect.d.ts","sourceRoot":"","sources":["../../../src/components/effects/DandelionSeedsEffect.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmE,MAAM,OAAO,CAAC;AAIxF,OAAO,KAAK,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAIrG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,MAAM,WAAW,yBAA0B,SAAQ,gBAAgB;IAC/D,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,oBAAoB,CAAC;IAC7B,mFAAmF;IACnF,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,8EAA8E;IAC9E,SAAS,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC/B,yEAAyE;IACzE,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,kFAAkF;IAClF,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB;AAmdD,QAAA,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CAqC7D,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
@@ -1,9 +1,11 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { useEffect, useLayoutEffect, useMemo, useRef } from 'react';
2
+ import { useCallback, useEffect, useLayoutEffect, useMemo, useRef } from 'react';
3
3
  import * as THREE from 'three';
4
4
  import { useFrame } from '@react-three/fiber';
5
- import { applyGenerativeAnimations } from '../../utils/handleGenerativeEffectsAnimations.js';
5
+ import { EFFECTS_ANIMATABLE } from '@3driseai/3drise-core';
6
+ import { withConfigDefaults } from '../../utils/configAnimations.js';
6
7
  import { useObjectReady } from '../../hooks/useObjectReady.js';
8
+ import { useConfigDriver } from '../../hooks/useConfigDriver.js';
7
9
  /**
8
10
  * Dandelion seeds let go of the head one by one and drift away: a high-drag pappus gives them a slow terminal fall, and curl-noise wind with updrafts carries them. Use for meadow, summer, wish, gentle scenes.
9
11
  *
@@ -469,7 +471,7 @@ function build(u, c, bound, env) {
469
471
  dispose() { geo.dispose(); mat.dispose(); },
470
472
  };
471
473
  }
472
- /** Defaults for every knob, so an older saved config still renders. */
474
+ /** A value for every knob: the base the renderer draws and keyframes interpolate from. */
473
475
  const DEFAULTS = {
474
476
  intensity: 1,
475
477
  speed: 1,
@@ -483,27 +485,35 @@ const DEFAULTS = {
483
485
  lift: 1,
484
486
  stemColor: '#d8b183',
485
487
  };
486
- const DandelionSeedsEffect = ({ boundingRadius, config, animations, hasHost = false, onObjectReady, onObjectDispose }) => {
488
+ /** Knobs that rebuild the object: they change on commit, never through the live path. */
489
+ const STRUCTURAL = ['seedCount'];
490
+ /** Knobs a keyframe or pointer binding may drive per frame — exactly what the push point applies. */
491
+ const ANIMATABLE = new Set(EFFECTS_ANIMATABLE.dandelionSeeds.map((p) => p.value));
492
+ const DandelionSeedsEffect = ({ boundingRadius, config, id, keyframes, mouseMove, hasHost = false, onObjectReady, onObjectDispose }) => {
487
493
  const rootRef = useRef(null);
488
- const animCache = useRef({});
489
494
  useObjectReady(rootRef, config, onObjectReady, onObjectDispose);
490
495
  // a standalone effect gets boundingRadius 1
491
496
  const b = boundingRadius > 0 ? boundingRadius : 1;
492
- const cfg = useMemo(() => ({ ...DEFAULTS, ...config }), [config]);
497
+ const cfg = useMemo(() => withConfigDefaults(DEFAULTS, config), [config]);
493
498
  const env = useMemo(() => ({ hasHost: hasHost }), [hasHost]);
494
499
  // uniforms outlive the objects, so keyframe animations survive a rebuild
495
500
  const uniforms = useMemo(() => createUniforms(), []);
496
501
  // rebuilt only when the host size or a structural knob changes
497
- const instance = useMemo(() => build(uniforms, { ...DEFAULTS, ...config }, b, env), [uniforms, b, env, cfg.seedCount]);
502
+ const instance = useMemo(() => build(uniforms, cfg, b, env), [uniforms, b, env, cfg.seedCount]);
498
503
  useEffect(() => () => instance.dispose(), [instance]);
499
504
  useLayoutEffect(() => {
500
505
  applyConfig(uniforms, cfg, b, env);
501
506
  instance.apply(cfg);
502
507
  }, [instance, uniforms, cfg, b, env]);
508
+ // Committed config + live drag + keyframes + pointer, merged into the one push point
509
+ // (the uniforms, then the instance's own cheap per-config step).
510
+ const push = useCallback((merged) => {
511
+ applyConfig(uniforms, merged, b, env);
512
+ instance.apply(merged);
513
+ }, [instance, uniforms, b, env]);
514
+ useConfigDriver({ rootRef, id, family: 'effects', base: cfg, structural: STRUCTURAL, allowed: ANIMATABLE, keyframes, mouseMove, push });
503
515
  useFrame((state, delta) => {
504
516
  instance.update(Math.min(delta, 0.1), state.camera);
505
- if (animations?.length)
506
- applyGenerativeAnimations(instance.materials, animations, animCache.current, Date.now(), false);
507
517
  });
508
518
  return (_jsx("group", { ref: rootRef, children: _jsx("primitive", { object: instance.object }) }));
509
519
  };
@@ -1,10 +1,15 @@
1
1
  import React from "react";
2
- import type { DataStreamConfig, AnimationOptions } from "@3driseai/3drise-core";
2
+ import type { DataStreamConfig, AnimationOptions, MouseMoveDomain } from "@3driseai/3drise-core";
3
3
  import type { ObjectReadyProps } from '../../types/objectReady';
4
- interface DataStreamEffectProps extends ObjectReadyProps {
4
+ export interface DataStreamEffectProps extends ObjectReadyProps {
5
5
  boundingRadius: number;
6
6
  config: DataStreamConfig;
7
- animations?: AnimationOptions[];
7
+ /** Scene object id of a standalone effect: the live-edit handle is found by it. */
8
+ id?: string;
9
+ /** Keyframes on this effect's config knobs (animations.effect.animations). */
10
+ keyframes?: AnimationOptions[];
11
+ /** Pointer bindings on this effect's config knobs (mouseMove.effect). */
12
+ mouseMove?: MouseMoveDomain;
8
13
  }
9
14
  declare const DataStreamEffect: React.FC<DataStreamEffectProps>;
10
15
  export default DataStreamEffect;
@@ -1 +1 @@
1
- {"version":3,"file":"DataStreamEffect.d.ts","sourceRoot":"","sources":["../../../src/components/effects/DataStreamEffect.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEhF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,UAAU,qBAAsB,SAAQ,gBAAgB;IACpD,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,gBAAgB,CAAC;IACzB,UAAU,CAAC,EAAE,gBAAgB,EAAE,CAAC;CACnC;AAuFD,QAAA,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAoErD,CAAC;AACF,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"DataStreamEffect.d.ts","sourceRoot":"","sources":["../../../src/components/effects/DataStreamEffect.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGjG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,MAAM,WAAW,qBAAsB,SAAQ,gBAAgB;IAC3D,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,gBAAgB,CAAC;IACzB,mFAAmF;IACnF,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,8EAA8E;IAC9E,SAAS,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC/B,yEAAyE;IACzE,SAAS,CAAC,EAAE,eAAe,CAAC;CAC/B;AA8GD,QAAA,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAgErD,CAAC;AACF,eAAe,gBAAgB,CAAC"}
@@ -1,9 +1,11 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { useRef, useMemo } from 'react';
2
+ import { useCallback, useEffect, useLayoutEffect, useMemo, useRef } from 'react';
3
3
  import { useFrame } from '@react-three/fiber';
4
4
  import * as THREE from 'three';
5
- import { applyGenerativeAnimations } from '../../utils/handleGenerativeEffectsAnimations.js';
5
+ import { withConfigDefaults } from '../../utils/configAnimations.js';
6
+ import { DEFAULT_GENERATIVE_EFFECTS, EFFECTS_ANIMATABLE } from "@3driseai/3drise-core";
6
7
  import { useObjectReady } from '../../hooks/useObjectReady.js';
8
+ import { useConfigDriver } from '../../hooks/useConfigDriver.js';
7
9
  // Dual counter-rotating helices with cold→hot color gradient.
8
10
  // All animation is GPU-side — only u_time updates per frame.
9
11
  const vertexShader = /* glsl */ `
@@ -13,6 +15,7 @@ const vertexShader = /* glsl */ `
13
15
 
14
16
  uniform float u_time;
15
17
  uniform float u_speed;
18
+ uniform float uFlow; // integrated on the CPU: speed changes never jump
16
19
  uniform float uRadius;
17
20
  uniform float uTurns;
18
21
  uniform float uHeight;
@@ -39,7 +42,7 @@ const vertexShader = /* glsl */ `
39
42
  // Second strand runs the opposite direction, phase-shifted by half turn
40
43
  float dir = aStrand > 0.5 ? -1.0 : 1.0;
41
44
  float phase = aStrand > 0.5 ? TAU * 0.5 : 0.0;
42
- float t = fract(aT + aOffset + u_time * u_speed * dir);
45
+ float t = fract(aT + aOffset + uFlow * dir);
43
46
 
44
47
  float angle = t * uTurns * TAU + phase;
45
48
  float y = (t - 0.5) * uHeight;
@@ -88,15 +91,33 @@ const fragmentShader = /* glsl */ `
88
91
  gl_FragColor = vec4(vColor, vAlpha * uOpacity * (glow + star));
89
92
  }
90
93
  `;
91
- const DataStreamEffect = ({ boundingRadius, config, animations, onObjectReady, onObjectDispose }) => {
92
- const { particleCount, spiralTurns, streamRadius, inward, particleSize, opacity, speed, intensity, color = '#ffffff', coldColor = '#0d26e6', midColor = '#00d9ff', hotColor = '#ffeb8c', } = config;
93
- const startValuesCacheRef = useRef({});
94
+ /** Knobs that rebuild the object: commit only, never live. */
95
+ const STRUCTURAL = ['particleCount'];
96
+ /** Knobs a keyframe or pointer binding may drive per frame — exactly what applyConfig pushes. */
97
+ const ANIMATABLE = new Set(EFFECTS_ANIMATABLE.dataStream.map((p) => p.value));
98
+ /** The single push point: every config knob reaches its uniform here. */
99
+ function applyConfig(mat, c, bound) {
100
+ const u = mat.uniforms;
101
+ u.u_speed.value = c.speed * (c.inward ? -1 : 1);
102
+ u.uRadius.value = bound * c.streamRadius;
103
+ u.uTurns.value = c.spiralTurns;
104
+ u.uHeight.value = bound * 2.6;
105
+ u.uPointSize.value = c.particleSize * 80;
106
+ u.uIntensity.value = c.intensity;
107
+ u.uOpacity.value = c.opacity;
108
+ u.uColdColor.value.set(c.coldColor);
109
+ u.uMidColor.value.set(c.midColor);
110
+ u.uHotColor.value.set(c.hotColor);
111
+ u.uTintColor.value.set(c.color);
112
+ }
113
+ const DataStreamEffect = ({ boundingRadius, config, id, keyframes, mouseMove, onObjectReady, onObjectDispose }) => {
114
+ const cfg = useMemo(() => withConfigDefaults(DEFAULT_GENERATIVE_EFFECTS.dataStream, config), [config]);
115
+ const { particleCount } = cfg;
94
116
  const rootRef = useRef(null);
95
117
  useObjectReady(rootRef, config, onObjectReady, onObjectDispose);
96
- const r = boundingRadius * streamRadius;
97
- const h = boundingRadius * 2.6;
118
+ // Built once per particle count; every other knob is pushed into the uniforms.
98
119
  const { geometry, material } = useMemo(() => {
99
- // Double the particles — half on each strand
120
+ // Double the particles - half on each strand
100
121
  const total = particleCount * 2;
101
122
  const tArr = new Float32Array(total);
102
123
  const offsetArr = new Float32Array(total);
@@ -118,29 +139,36 @@ const DataStreamEffect = ({ boundingRadius, config, animations, onObjectReady, o
118
139
  fragmentShader,
119
140
  uniforms: {
120
141
  u_time: { value: 0 },
121
- u_speed: { value: speed * (inward ? -1 : 1) },
122
- uRadius: { value: r },
123
- uTurns: { value: spiralTurns },
124
- uHeight: { value: h },
125
- uPointSize: { value: particleSize * 80 },
126
- uIntensity: { value: intensity },
127
- uOpacity: { value: opacity },
128
- uColdColor: { value: new THREE.Color(coldColor) },
129
- uMidColor: { value: new THREE.Color(midColor) },
130
- uHotColor: { value: new THREE.Color(hotColor) },
131
- uTintColor: { value: new THREE.Color(color) },
142
+ uFlow: { value: 0 },
143
+ u_speed: { value: 1 },
144
+ uRadius: { value: 1 },
145
+ uTurns: { value: 3 },
146
+ uHeight: { value: 2.6 },
147
+ uPointSize: { value: 3 },
148
+ uIntensity: { value: 1 },
149
+ uOpacity: { value: 1 },
150
+ uColdColor: { value: new THREE.Color() },
151
+ uMidColor: { value: new THREE.Color() },
152
+ uHotColor: { value: new THREE.Color() },
153
+ uTintColor: { value: new THREE.Color() },
132
154
  },
133
155
  transparent: true,
134
156
  depthWrite: false,
135
157
  blending: THREE.AdditiveBlending,
136
158
  });
137
159
  return { geometry: geo, material: mat };
138
- }, [particleCount, spiralTurns, r, h, inward, particleSize, intensity, speed, opacity, coldColor, midColor, hotColor, color]);
139
- useFrame((state) => {
140
- material.uniforms.u_time.value = state.clock.getElapsedTime();
141
- if (animations?.length) {
142
- applyGenerativeAnimations([material], animations, startValuesCacheRef.current, Date.now(), false);
143
- }
160
+ }, [particleCount]);
161
+ useEffect(() => () => { geometry.dispose(); material.dispose(); }, [geometry, material]);
162
+ const push = useCallback((merged) => {
163
+ applyConfig(material, merged, boundingRadius);
164
+ }, [material, boundingRadius]);
165
+ useLayoutEffect(() => { push(cfg); }, [push, cfg]);
166
+ useConfigDriver({ rootRef, id, family: 'effects', base: cfg, structural: STRUCTURAL, allowed: ANIMATABLE, keyframes, mouseMove, push });
167
+ useFrame((state, delta) => {
168
+ const u = material.uniforms;
169
+ u.u_time.value = state.clock.getElapsedTime();
170
+ // integrated, so changing speed (or flipping direction) never makes the stream jump
171
+ u.uFlow.value += Math.min(delta, 0.1) * u.u_speed.value;
144
172
  });
145
173
  return _jsx("points", { ref: rootRef, geometry: geometry, material: material });
146
174
  };
@@ -1,10 +1,15 @@
1
1
  import React from "react";
2
- import type { DnaHelixConfig, AnimationOptions } from "@3driseai/3drise-core";
2
+ import type { DnaHelixConfig, AnimationOptions, MouseMoveDomain } from "@3driseai/3drise-core";
3
3
  import type { ObjectReadyProps } from '../../types/objectReady';
4
- interface DnaHelixEffectProps extends ObjectReadyProps {
4
+ export interface DnaHelixEffectProps extends ObjectReadyProps {
5
5
  boundingRadius: number;
6
6
  config: DnaHelixConfig;
7
- animations?: AnimationOptions[];
7
+ /** Scene object id of a standalone effect: the live-edit handle is found by it. */
8
+ id?: string;
9
+ /** Keyframes on this effect's config knobs (animations.effect.animations). */
10
+ keyframes?: AnimationOptions[];
11
+ /** Pointer bindings on this effect's config knobs (mouseMove.effect). */
12
+ mouseMove?: MouseMoveDomain;
8
13
  }
9
14
  declare const DnaHelixEffect: React.FC<DnaHelixEffectProps>;
10
15
  export default DnaHelixEffect;
@@ -1 +1 @@
1
- {"version":3,"file":"DnaHelixEffect.d.ts","sourceRoot":"","sources":["../../../src/components/effects/DnaHelixEffect.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,UAAU,mBAAoB,SAAQ,gBAAgB;IAClD,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,cAAc,CAAC;IACvB,UAAU,CAAC,EAAE,gBAAgB,EAAE,CAAC;CACnC;AA0ED,QAAA,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CA0OjD,CAAC;AACF,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"DnaHelixEffect.d.ts","sourceRoot":"","sources":["../../../src/components/effects/DnaHelixEffect.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAG/F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB;IACzD,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,cAAc,CAAC;IACvB,mFAAmF;IACnF,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,8EAA8E;IAC9E,SAAS,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC/B,yEAAyE;IACzE,SAAS,CAAC,EAAE,eAAe,CAAC;CAC/B;AAyGD,QAAA,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAqPjD,CAAC;AACF,eAAe,cAAc,CAAC"}