@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.
- package/dist/animationsV2/ClipPlayer.d.ts +3 -0
- package/dist/animationsV2/ClipPlayer.d.ts.map +1 -1
- package/dist/animationsV2/ClipPlayer.js +67 -8
- package/dist/animationsV2/ClipsRuntime.d.ts +39 -0
- package/dist/animationsV2/ClipsRuntime.d.ts.map +1 -1
- package/dist/animationsV2/ClipsRuntime.js +245 -14
- package/dist/animationsV2/appliers.d.ts +5 -0
- package/dist/animationsV2/appliers.d.ts.map +1 -1
- package/dist/animationsV2/appliers.js +25 -7
- package/dist/animationsV2/index.d.ts +1 -1
- package/dist/animationsV2/index.d.ts.map +1 -1
- package/dist/animationsV2/normalize.d.ts.map +1 -1
- package/dist/animationsV2/normalize.js +18 -7
- package/dist/animationsV2/sequenceUtils.d.ts +42 -1
- package/dist/animationsV2/sequenceUtils.d.ts.map +1 -1
- package/dist/animationsV2/sequenceUtils.js +103 -3
- package/dist/animationsV2/types.d.ts +20 -0
- package/dist/animationsV2/types.d.ts.map +1 -1
- package/dist/components/AdvancedGrid.d.ts +8 -2
- package/dist/components/AdvancedGrid.d.ts.map +1 -1
- package/dist/components/AdvancedGrid.js +31 -14
- package/dist/components/AnimatedObject.d.ts.map +1 -1
- package/dist/components/AnimatedObject.js +7 -5
- package/dist/components/Bubbles.d.ts +7 -1
- package/dist/components/Bubbles.d.ts.map +1 -1
- package/dist/components/Bubbles.js +42 -22
- package/dist/components/ChladniGrid.d.ts +8 -4
- package/dist/components/ChladniGrid.d.ts.map +1 -1
- package/dist/components/ChladniGrid.js +31 -13
- package/dist/components/CircuitGrid.d.ts +8 -11
- package/dist/components/CircuitGrid.d.ts.map +1 -1
- package/dist/components/CircuitGrid.js +31 -13
- package/dist/components/CloudsGenerator.d.ts +1 -1
- package/dist/components/CloudsGenerator.js +1 -1
- package/dist/components/ContourGrid.d.ts +8 -14
- package/dist/components/ContourGrid.d.ts.map +1 -1
- package/dist/components/ContourGrid.js +31 -13
- package/dist/components/EffectsGenerator.d.ts +7 -1
- package/dist/components/EffectsGenerator.d.ts.map +1 -1
- package/dist/components/EffectsGenerator.js +39 -38
- package/dist/components/EnvironmentManager.d.ts +4 -4
- package/dist/components/EnvironmentManager.d.ts.map +1 -1
- package/dist/components/FlowNetGrid.d.ts +8 -4
- package/dist/components/FlowNetGrid.d.ts.map +1 -1
- package/dist/components/FlowNetGrid.js +31 -13
- package/dist/components/FractalGrid.d.ts +8 -12
- package/dist/components/FractalGrid.d.ts.map +1 -1
- package/dist/components/FractalGrid.js +31 -13
- package/dist/components/GirihGrid.d.ts +8 -1
- package/dist/components/GirihGrid.d.ts.map +1 -1
- package/dist/components/GirihGrid.js +31 -13
- package/dist/components/Glyphs.d.ts +7 -1
- package/dist/components/Glyphs.d.ts.map +1 -1
- package/dist/components/Glyphs.js +40 -34
- package/dist/components/GravWaveGrid.d.ts +8 -1
- package/dist/components/GravWaveGrid.d.ts.map +1 -1
- package/dist/components/GravWaveGrid.js +31 -13
- package/dist/components/GridsGenerator.d.ts +7 -1
- package/dist/components/GridsGenerator.d.ts.map +1 -1
- package/dist/components/GridsGenerator.js +20 -18
- package/dist/components/HexGrid.d.ts +8 -10
- package/dist/components/HexGrid.d.ts.map +1 -1
- package/dist/components/HexGrid.js +31 -13
- package/dist/components/HyperbolicGrid.d.ts +8 -4
- package/dist/components/HyperbolicGrid.d.ts.map +1 -1
- package/dist/components/HyperbolicGrid.js +31 -13
- package/dist/components/LandscapeBuilder.d.ts +1 -1
- package/dist/components/LandscapeBuilder.d.ts.map +1 -1
- package/dist/components/LandscapeBuilder.js +1 -1
- package/dist/components/LandscapeObject.d.ts +1 -1
- package/dist/components/LandscapeObject.d.ts.map +1 -1
- package/dist/components/LandscapeObject.js +1 -1
- package/dist/components/MoireGrid.d.ts +8 -12
- package/dist/components/MoireGrid.d.ts.map +1 -1
- package/dist/components/MoireGrid.js +31 -13
- package/dist/components/ObjectNode.d.ts.map +1 -1
- package/dist/components/ObjectNode.js +2 -2
- package/dist/components/ObjectsRenderer.d.ts.map +1 -1
- package/dist/components/ObjectsRenderer.js +37 -3
- package/dist/components/OceanBuilder.d.ts +1 -1
- package/dist/components/OceanBuilder.js +1 -1
- package/dist/components/ParticlesGenerator.d.ts.map +1 -1
- package/dist/components/ParticlesGenerator.js +6 -0
- package/dist/components/QuasiGrid.d.ts +8 -11
- package/dist/components/QuasiGrid.d.ts.map +1 -1
- package/dist/components/QuasiGrid.js +31 -13
- package/dist/components/RadarGrid.d.ts +8 -13
- package/dist/components/RadarGrid.d.ts.map +1 -1
- package/dist/components/RadarGrid.js +31 -13
- package/dist/components/ReactionDiffusionGrid.d.ts +8 -1
- package/dist/components/ReactionDiffusionGrid.d.ts.map +1 -1
- package/dist/components/ReactionDiffusionGrid.js +33 -139
- package/dist/components/SceneBuilder.js +1 -1
- package/dist/components/SkySystem.d.ts +1 -1
- package/dist/components/SparklesBurst.d.ts +7 -1
- package/dist/components/SparklesBurst.d.ts.map +1 -1
- package/dist/components/SparklesBurst.js +31 -28
- package/dist/components/TerrainBuilder.d.ts +1 -1
- package/dist/components/TerrainBuilder.d.ts.map +1 -1
- package/dist/components/TerrainBuilder.js +1 -1
- package/dist/components/VoronoiGrid.d.ts +8 -10
- package/dist/components/VoronoiGrid.d.ts.map +1 -1
- package/dist/components/VoronoiGrid.js +31 -13
- package/dist/components/WallpaperGrid.d.ts +8 -1
- package/dist/components/WallpaperGrid.d.ts.map +1 -1
- package/dist/components/WallpaperGrid.js +33 -210
- package/dist/components/effects/AuraEffect.d.ts +8 -3
- package/dist/components/effects/AuraEffect.d.ts.map +1 -1
- package/dist/components/effects/AuraEffect.js +49 -24
- package/dist/components/effects/AuroraEffect.d.ts +8 -3
- package/dist/components/effects/AuroraEffect.d.ts.map +1 -1
- package/dist/components/effects/AuroraEffect.js +45 -25
- package/dist/components/effects/BlackHoleEffect.d.ts +8 -3
- package/dist/components/effects/BlackHoleEffect.d.ts.map +1 -1
- package/dist/components/effects/BlackHoleEffect.js +42 -21
- package/dist/components/effects/ConstellationEffect.d.ts +8 -3
- package/dist/components/effects/ConstellationEffect.d.ts.map +1 -1
- package/dist/components/effects/ConstellationEffect.js +49 -23
- package/dist/components/effects/DandelionSeedsEffect.d.ts +7 -2
- package/dist/components/effects/DandelionSeedsEffect.d.ts.map +1 -1
- package/dist/components/effects/DandelionSeedsEffect.js +19 -9
- package/dist/components/effects/DataStreamEffect.d.ts +8 -3
- package/dist/components/effects/DataStreamEffect.d.ts.map +1 -1
- package/dist/components/effects/DataStreamEffect.js +54 -26
- package/dist/components/effects/DnaHelixEffect.d.ts +8 -3
- package/dist/components/effects/DnaHelixEffect.d.ts.map +1 -1
- package/dist/components/effects/DnaHelixEffect.js +62 -30
- package/dist/components/effects/FallingLeavesEffect.d.ts +7 -2
- package/dist/components/effects/FallingLeavesEffect.d.ts.map +1 -1
- package/dist/components/effects/FallingLeavesEffect.js +19 -9
- package/dist/components/effects/FieldLinesEffect.d.ts +8 -3
- package/dist/components/effects/FieldLinesEffect.d.ts.map +1 -1
- package/dist/components/effects/FieldLinesEffect.js +30 -20
- package/dist/components/effects/Fire.d.ts +8 -3
- package/dist/components/effects/Fire.d.ts.map +1 -1
- package/dist/components/effects/Fire.js +47 -10
- package/dist/components/effects/FireflySwarmEffect.d.ts +7 -2
- package/dist/components/effects/FireflySwarmEffect.d.ts.map +1 -1
- package/dist/components/effects/FireflySwarmEffect.js +19 -9
- package/dist/components/effects/Flares.d.ts +10 -3
- package/dist/components/effects/Flares.d.ts.map +1 -1
- package/dist/components/effects/Flares.js +53 -56
- package/dist/components/effects/ForcefieldEffect.d.ts +8 -3
- package/dist/components/effects/ForcefieldEffect.d.ts.map +1 -1
- package/dist/components/effects/ForcefieldEffect.js +52 -33
- package/dist/components/effects/GalaxyEffect.d.ts +7 -2
- package/dist/components/effects/GalaxyEffect.d.ts.map +1 -1
- package/dist/components/effects/GalaxyEffect.js +19 -9
- package/dist/components/effects/HarmonicShellEffect.d.ts +8 -3
- package/dist/components/effects/HarmonicShellEffect.d.ts.map +1 -1
- package/dist/components/effects/HarmonicShellEffect.js +30 -22
- package/dist/components/effects/HologramEffect.d.ts +8 -3
- package/dist/components/effects/HologramEffect.d.ts.map +1 -1
- package/dist/components/effects/HologramEffect.js +52 -23
- package/dist/components/effects/IceCrystalsEffect.d.ts +8 -3
- package/dist/components/effects/IceCrystalsEffect.d.ts.map +1 -1
- package/dist/components/effects/IceCrystalsEffect.js +36 -21
- package/dist/components/effects/IceHaloEffect.d.ts +7 -2
- package/dist/components/effects/IceHaloEffect.d.ts.map +1 -1
- package/dist/components/effects/IceHaloEffect.js +19 -9
- package/dist/components/effects/LichtenbergEffect.d.ts +7 -2
- package/dist/components/effects/LichtenbergEffect.d.ts.map +1 -1
- package/dist/components/effects/LichtenbergEffect.js +19 -9
- package/dist/components/effects/LightningEffect.d.ts +8 -3
- package/dist/components/effects/LightningEffect.d.ts.map +1 -1
- package/dist/components/effects/LightningEffect.js +54 -32
- package/dist/components/effects/MoleculesEffect.d.ts +8 -3
- package/dist/components/effects/MoleculesEffect.d.ts.map +1 -1
- package/dist/components/effects/MoleculesEffect.js +31 -21
- package/dist/components/effects/MurmurationEffect.d.ts +7 -2
- package/dist/components/effects/MurmurationEffect.d.ts.map +1 -1
- package/dist/components/effects/MurmurationEffect.js +19 -9
- package/dist/components/effects/NeuralNetworkEffect.d.ts +8 -3
- package/dist/components/effects/NeuralNetworkEffect.d.ts.map +1 -1
- package/dist/components/effects/NeuralNetworkEffect.js +66 -33
- package/dist/components/effects/OrbEffect.d.ts +8 -3
- package/dist/components/effects/OrbEffect.d.ts.map +1 -1
- package/dist/components/effects/OrbEffect.js +89 -42
- package/dist/components/effects/PlanetaryRingsEffect.d.ts +7 -2
- package/dist/components/effects/PlanetaryRingsEffect.d.ts.map +1 -1
- package/dist/components/effects/PlanetaryRingsEffect.js +19 -9
- package/dist/components/effects/PortalEffect.d.ts +8 -3
- package/dist/components/effects/PortalEffect.d.ts.map +1 -1
- package/dist/components/effects/PortalEffect.js +41 -25
- package/dist/components/effects/ShockwaveEffect.d.ts +7 -2
- package/dist/components/effects/ShockwaveEffect.d.ts.map +1 -1
- package/dist/components/effects/ShockwaveEffect.js +19 -9
- package/dist/components/effects/SmokePlumeEffect.d.ts +8 -3
- package/dist/components/effects/SmokePlumeEffect.d.ts.map +1 -1
- package/dist/components/effects/SmokePlumeEffect.js +30 -20
- package/dist/components/effects/SmokeRibbon.d.ts +8 -2
- package/dist/components/effects/SmokeRibbon.d.ts.map +1 -1
- package/dist/components/effects/SmokeRibbon.js +34 -24
- package/dist/components/effects/SmokeRingEffect.d.ts +8 -3
- package/dist/components/effects/SmokeRingEffect.d.ts.map +1 -1
- package/dist/components/effects/SmokeRingEffect.js +33 -21
- package/dist/components/effects/StrangeAttractorEffect.d.ts +8 -3
- package/dist/components/effects/StrangeAttractorEffect.d.ts.map +1 -1
- package/dist/components/effects/StrangeAttractorEffect.js +30 -20
- package/dist/components/effects/VolumetricFogEffect.d.ts +8 -3
- package/dist/components/effects/VolumetricFogEffect.d.ts.map +1 -1
- package/dist/components/effects/VolumetricFogEffect.js +38 -20
- package/dist/components/effects/WaterCausticsEffect.d.ts +7 -2
- package/dist/components/effects/WaterCausticsEffect.d.ts.map +1 -1
- package/dist/components/effects/WaterCausticsEffect.js +19 -9
- package/dist/components/effects/index.d.ts +0 -1
- package/dist/components/effects/index.d.ts.map +1 -1
- package/dist/components/effects/index.js +0 -1
- package/dist/components/index.d.ts +0 -1
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +0 -1
- package/dist/components/landscape/LandscapeMesh.js +1 -1
- package/dist/components/landscape/types.d.ts +1 -1
- package/dist/components/landscape/types.d.ts.map +1 -1
- package/dist/components/particles/MagneticBottleParticles.d.ts +17 -0
- package/dist/components/particles/MagneticBottleParticles.d.ts.map +1 -0
- package/dist/components/particles/MagneticBottleParticles.js +618 -0
- package/dist/components/particles/ShapeBurstParticles.d.ts +17 -0
- package/dist/components/particles/ShapeBurstParticles.d.ts.map +1 -0
- package/dist/components/particles/ShapeBurstParticles.js +588 -0
- package/dist/components/particles/ShapeFlowParticles.d.ts +17 -0
- package/dist/components/particles/ShapeFlowParticles.d.ts.map +1 -0
- package/dist/components/particles/ShapeFlowParticles.js +755 -0
- package/dist/components/particles/index.d.ts +6 -0
- package/dist/components/particles/index.d.ts.map +1 -1
- package/dist/components/particles/index.js +3 -0
- package/dist/components/terrain/types.d.ts +1 -1
- package/dist/components/terrain/types.d.ts.map +1 -1
- package/dist/components/volumetricClouds/VolumetricCloudsPass.d.ts +1 -1
- package/dist/components/volumetricClouds/VolumetricCloudsPass.d.ts.map +1 -1
- package/dist/components/volumetricClouds/types.d.ts +1 -1
- package/dist/components/volumetricClouds/types.d.ts.map +1 -1
- package/dist/components/water/types.d.ts +1 -1
- package/dist/components/water/types.d.ts.map +1 -1
- package/dist/constants.d.ts +1 -1
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +1 -1
- package/dist/hooks/index.d.ts +2 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +1 -0
- package/dist/hooks/useConfigDriver.d.ts +22 -0
- package/dist/hooks/useConfigDriver.d.ts.map +1 -0
- package/dist/hooks/useConfigDriver.js +43 -0
- package/dist/hooks/useConfigLive.d.ts +1 -1
- package/dist/hooks/useConfigLive.d.ts.map +1 -1
- package/dist/hooks/useLandscapeMaps.d.ts +1 -1
- package/dist/hooks/useLandscapeMaps.d.ts.map +1 -1
- package/dist/hooks/useOceanMaterial.d.ts +1 -1
- package/dist/hooks/useThunder.d.ts +1 -1
- package/dist/index.d.ts +1 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -2
- package/dist/interactions/index.d.ts +2 -1
- package/dist/interactions/index.d.ts.map +1 -1
- package/dist/interactions/index.js +1 -1
- package/dist/interactions/runner.d.ts +18 -3
- package/dist/interactions/runner.d.ts.map +1 -1
- package/dist/interactions/runner.js +25 -2
- package/dist/operations/catalogue/curlSmoke.d.ts +3 -0
- package/dist/operations/catalogue/curlSmoke.d.ts.map +1 -0
- package/dist/operations/catalogue/curlSmoke.js +178 -0
- package/dist/operations/catalogue/displayImage.d.ts.map +1 -1
- package/dist/operations/catalogue/displayImage.js +1 -0
- package/dist/operations/catalogue/dissolve.d.ts +3 -0
- package/dist/operations/catalogue/dissolve.d.ts.map +1 -0
- package/dist/operations/catalogue/dissolve.js +57 -0
- package/dist/operations/catalogue/emberAsh.d.ts +3 -0
- package/dist/operations/catalogue/emberAsh.d.ts.map +1 -0
- package/dist/operations/catalogue/emberAsh.js +171 -0
- package/dist/operations/catalogue/fade.d.ts.map +1 -1
- package/dist/operations/catalogue/fade.js +1 -0
- package/dist/operations/catalogue/flip.d.ts +3 -0
- package/dist/operations/catalogue/flip.d.ts.map +1 -0
- package/dist/operations/catalogue/flip.js +69 -0
- package/dist/operations/catalogue/flock.d.ts +3 -0
- package/dist/operations/catalogue/flock.d.ts.map +1 -0
- package/dist/operations/catalogue/flock.js +163 -0
- package/dist/operations/catalogue/focus.d.ts.map +1 -1
- package/dist/operations/catalogue/focus.js +1 -0
- package/dist/operations/catalogue/frame.d.ts +3 -0
- package/dist/operations/catalogue/frame.d.ts.map +1 -0
- package/dist/operations/catalogue/frame.js +44 -0
- package/dist/operations/catalogue/frost.d.ts +3 -0
- package/dist/operations/catalogue/frost.d.ts.map +1 -0
- package/dist/operations/catalogue/frost.js +111 -0
- package/dist/operations/catalogue/fxInstances.d.ts +21 -0
- package/dist/operations/catalogue/fxInstances.d.ts.map +1 -0
- package/dist/operations/catalogue/fxInstances.js +47 -0
- package/dist/operations/catalogue/fxPoints.d.ts +22 -0
- package/dist/operations/catalogue/fxPoints.d.ts.map +1 -0
- package/dist/operations/catalogue/fxPoints.js +70 -0
- package/dist/operations/catalogue/glow.d.ts.map +1 -1
- package/dist/operations/catalogue/glow.js +2 -1
- package/dist/operations/catalogue/heatCracks.d.ts +3 -0
- package/dist/operations/catalogue/heatCracks.d.ts.map +1 -0
- package/dist/operations/catalogue/heatCracks.js +134 -0
- package/dist/operations/catalogue/hologram.d.ts +3 -0
- package/dist/operations/catalogue/hologram.d.ts.map +1 -0
- package/dist/operations/catalogue/hologram.js +118 -0
- package/dist/operations/catalogue/inkBloom.d.ts +3 -0
- package/dist/operations/catalogue/inkBloom.d.ts.map +1 -0
- package/dist/operations/catalogue/inkBloom.js +156 -0
- package/dist/operations/catalogue/ivy.d.ts +13 -0
- package/dist/operations/catalogue/ivy.d.ts.map +1 -0
- package/dist/operations/catalogue/ivy.js +469 -0
- package/dist/operations/catalogue/jelly.d.ts +3 -0
- package/dist/operations/catalogue/jelly.d.ts.map +1 -0
- package/dist/operations/catalogue/jelly.js +50 -0
- package/dist/operations/catalogue/kintsugi.d.ts +3 -0
- package/dist/operations/catalogue/kintsugi.d.ts.map +1 -0
- package/dist/operations/catalogue/kintsugi.js +173 -0
- package/dist/operations/catalogue/lidarScan.d.ts +3 -0
- package/dist/operations/catalogue/lidarScan.d.ts.map +1 -0
- package/dist/operations/catalogue/lidarScan.js +240 -0
- package/dist/operations/catalogue/liquidMetal.d.ts +3 -0
- package/dist/operations/catalogue/liquidMetal.d.ts.map +1 -0
- package/dist/operations/catalogue/liquidMetal.js +122 -0
- package/dist/operations/catalogue/metalize.d.ts +3 -0
- package/dist/operations/catalogue/metalize.d.ts.map +1 -0
- package/dist/operations/catalogue/metalize.js +135 -0
- package/dist/operations/catalogue/moveToFront.d.ts.map +1 -1
- package/dist/operations/catalogue/moveToFront.js +1 -0
- package/dist/operations/catalogue/orbit.d.ts +3 -0
- package/dist/operations/catalogue/orbit.d.ts.map +1 -0
- package/dist/operations/catalogue/orbit.js +29 -0
- package/dist/operations/catalogue/particleSwarm.d.ts +3 -0
- package/dist/operations/catalogue/particleSwarm.d.ts.map +1 -0
- package/dist/operations/catalogue/particleSwarm.js +138 -0
- package/dist/operations/catalogue/petalPeel.d.ts +3 -0
- package/dist/operations/catalogue/petalPeel.d.ts.map +1 -0
- package/dist/operations/catalogue/petalPeel.js +137 -0
- package/dist/operations/catalogue/petrify.d.ts +3 -0
- package/dist/operations/catalogue/petrify.d.ts.map +1 -0
- package/dist/operations/catalogue/petrify.js +94 -0
- package/dist/operations/catalogue/portal.d.ts +3 -0
- package/dist/operations/catalogue/portal.d.ts.map +1 -0
- package/dist/operations/catalogue/portal.js +224 -0
- package/dist/operations/catalogue/print3d.d.ts +3 -0
- package/dist/operations/catalogue/print3d.d.ts.map +1 -0
- package/dist/operations/catalogue/print3d.js +275 -0
- package/dist/operations/catalogue/rainBeads.d.ts +3 -0
- package/dist/operations/catalogue/rainBeads.d.ts.map +1 -0
- package/dist/operations/catalogue/rainBeads.js +223 -0
- package/dist/operations/catalogue/restPose.d.ts +21 -0
- package/dist/operations/catalogue/restPose.d.ts.map +1 -0
- package/dist/operations/catalogue/restPose.js +55 -0
- package/dist/operations/catalogue/rimLight.d.ts +3 -0
- package/dist/operations/catalogue/rimLight.d.ts.map +1 -0
- package/dist/operations/catalogue/rimLight.js +72 -0
- package/dist/operations/catalogue/sandErosion.d.ts +3 -0
- package/dist/operations/catalogue/sandErosion.d.ts.map +1 -0
- package/dist/operations/catalogue/sandErosion.js +167 -0
- package/dist/operations/catalogue/shaderLayers.d.ts +74 -0
- package/dist/operations/catalogue/shaderLayers.d.ts.map +1 -0
- package/dist/operations/catalogue/shaderLayers.js +322 -0
- package/dist/operations/catalogue/shatter.d.ts +3 -0
- package/dist/operations/catalogue/shatter.d.ts.map +1 -0
- package/dist/operations/catalogue/shatter.js +267 -0
- package/dist/operations/catalogue/silkDrape.d.ts +3 -0
- package/dist/operations/catalogue/silkDrape.d.ts.map +1 -0
- package/dist/operations/catalogue/silkDrape.js +340 -0
- package/dist/operations/catalogue/spin.d.ts +3 -0
- package/dist/operations/catalogue/spin.d.ts.map +1 -0
- package/dist/operations/catalogue/spin.js +42 -0
- package/dist/operations/catalogue/surfaceSample.d.ts +17 -0
- package/dist/operations/catalogue/surfaceSample.d.ts.map +1 -0
- package/dist/operations/catalogue/surfaceSample.js +187 -0
- package/dist/operations/catalogue/swirl.d.ts +3 -0
- package/dist/operations/catalogue/swirl.d.ts.map +1 -0
- package/dist/operations/catalogue/swirl.js +69 -0
- package/dist/operations/catalogue/teleport.d.ts +3 -0
- package/dist/operations/catalogue/teleport.d.ts.map +1 -0
- package/dist/operations/catalogue/teleport.js +213 -0
- package/dist/operations/catalogue/transitionField.d.ts +124 -0
- package/dist/operations/catalogue/transitionField.d.ts.map +1 -0
- package/dist/operations/catalogue/transitionField.js +278 -0
- package/dist/operations/catalogue/unweave.d.ts +3 -0
- package/dist/operations/catalogue/unweave.d.ts.map +1 -0
- package/dist/operations/catalogue/unweave.js +233 -0
- package/dist/operations/catalogue/visibility.d.ts.map +1 -1
- package/dist/operations/catalogue/visibility.js +1 -0
- package/dist/operations/catalogue/voxelize.d.ts +3 -0
- package/dist/operations/catalogue/voxelize.d.ts.map +1 -0
- package/dist/operations/catalogue/voxelize.js +148 -0
- package/dist/operations/catalogue/warmup.d.ts +22 -0
- package/dist/operations/catalogue/warmup.d.ts.map +1 -0
- package/dist/operations/catalogue/warmup.js +106 -0
- package/dist/operations/catalogue/zoom.d.ts.map +1 -1
- package/dist/operations/catalogue/zoom.js +1 -0
- package/dist/operations/index.d.ts +4 -2
- package/dist/operations/index.d.ts.map +1 -1
- package/dist/operations/index.js +4 -2
- package/dist/operations/objectEffects.d.ts +46 -0
- package/dist/operations/objectEffects.d.ts.map +1 -0
- package/dist/operations/objectEffects.js +136 -0
- package/dist/operations/registry.d.ts +7 -2
- package/dist/operations/registry.d.ts.map +1 -1
- package/dist/operations/registry.js +45 -3
- package/dist/operations/runtime.d.ts +40 -2
- package/dist/operations/runtime.d.ts.map +1 -1
- package/dist/operations/runtime.js +164 -8
- package/dist/operations/types.d.ts +29 -3
- package/dist/operations/types.d.ts.map +1 -1
- package/dist/operations/types.js +6 -0
- package/dist/operations/useObjectEffectLayers.d.ts +4 -0
- package/dist/operations/useObjectEffectLayers.d.ts.map +1 -0
- package/dist/operations/useObjectEffectLayers.js +42 -0
- package/dist/operations/useOperationsRuntime.d.ts.map +1 -1
- package/dist/operations/useOperationsRuntime.js +42 -4
- package/dist/presets/landscapePresets.d.ts +1 -1
- package/dist/presets/landscapePresets.d.ts.map +1 -1
- package/dist/presets/landscapePresets.js +1 -1
- package/dist/presets/landscapeTypes.d.ts +1 -1
- package/dist/presets/landscapeTypes.d.ts.map +1 -1
- package/dist/presets/landscapeTypes.js +1 -1
- package/dist/presets/oceanSurfacePresets.d.ts +1 -1
- package/dist/presets/terrainPresets.d.ts +1 -1
- package/dist/presets/terrainPresets.d.ts.map +1 -1
- package/dist/presets/volumetricCloudPresets.d.ts +1 -1
- package/dist/types/cloudConfigs.d.ts +2 -309
- package/dist/types/cloudConfigs.d.ts.map +1 -1
- package/dist/types/cloudConfigs.js +2 -339
- package/dist/types/index.d.ts +8 -8
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +4 -4
- package/dist/types/landscapeConfigs.d.ts +2 -217
- package/dist/types/landscapeConfigs.d.ts.map +1 -1
- package/dist/types/landscapeConfigs.js +2 -256
- package/dist/types/oceanConfigs.d.ts +2 -289
- package/dist/types/oceanConfigs.d.ts.map +1 -1
- package/dist/types/oceanConfigs.js +2 -380
- package/dist/types/terrainConfigs.d.ts +2 -250
- package/dist/types/terrainConfigs.d.ts.map +1 -1
- package/dist/types/terrainConfigs.js +2 -292
- package/dist/utils/cloudUniforms.d.ts +1 -1
- package/dist/utils/configAnimations.d.ts +6 -0
- package/dist/utils/configAnimations.d.ts.map +1 -1
- package/dist/utils/configAnimations.js +14 -0
- package/dist/utils/gridConfig.d.ts +19 -0
- package/dist/utils/gridConfig.d.ts.map +1 -0
- package/dist/utils/gridConfig.js +52 -0
- package/dist/utils/handleCloudsAnimations.d.ts +1 -1
- package/dist/utils/handleCloudsAnimations.js +1 -1
- package/dist/utils/hasHoverAnimation.d.ts.map +1 -1
- package/dist/utils/hasHoverAnimation.js +0 -2
- package/dist/utils/landscapeUniforms.d.ts +1 -1
- package/dist/utils/landscapeUniforms.d.ts.map +1 -1
- package/dist/utils/oceanUniforms.d.ts +1 -1
- package/dist/utils/particleShape.d.ts +33 -0
- package/dist/utils/particleShape.d.ts.map +1 -0
- package/dist/utils/particleShape.js +207 -0
- package/dist/utils/particleTrails.d.ts.map +1 -1
- package/dist/utils/particleTrails.js +29 -14
- package/dist/utils/terrainUniforms.d.ts +1 -1
- package/dist/utils/terrainUniforms.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useEffect, useMemo, useRef } from 'react';
|
|
2
|
+
import { useEffect, useMemo, useRef, useCallback, useLayoutEffect } from 'react';
|
|
3
3
|
import * as THREE from 'three';
|
|
4
4
|
import { useFrame } from '@react-three/fiber';
|
|
5
5
|
import { useObjectReady } from '../hooks/useObjectReady.js';
|
|
6
6
|
import { useGridSurface } from '../hooks/useGridSurface.js';
|
|
7
|
-
import {
|
|
7
|
+
import { useConfigDriver } from '../hooks/useConfigDriver.js';
|
|
8
|
+
import { withConfigDefaults } from '../utils/configAnimations.js';
|
|
9
|
+
import { applyGridConfig, GRID_STRUCTURAL } from '../utils/gridConfig.js';
|
|
10
|
+
import { WallpaperGridMaterial, GRIDS_ANIMATABLE } from '@3driseai/3drise-core';
|
|
8
11
|
// Side-effect import registers <wallpaperGridMaterial> via extend().
|
|
9
12
|
void WallpaperGridMaterial;
|
|
10
13
|
/** WallpaperGridConfig defaults. Must match the catalog entry in grid-defaults.json exactly. */
|
|
@@ -38,124 +41,6 @@ export const defaultWallpaperGridConfig = {
|
|
|
38
41
|
reveal: 1,
|
|
39
42
|
revealDuration: 0,
|
|
40
43
|
};
|
|
41
|
-
const gridFragHeader = /* glsl */ `
|
|
42
|
-
precision highp float;
|
|
43
|
-
|
|
44
|
-
uniform float u_time;
|
|
45
|
-
uniform float u_cellSize;
|
|
46
|
-
uniform float u_lineWidth;
|
|
47
|
-
uniform float u_sectionSize;
|
|
48
|
-
uniform float u_sectionWidth;
|
|
49
|
-
uniform vec3 u_lineColor;
|
|
50
|
-
uniform vec3 u_sectionColor;
|
|
51
|
-
uniform vec3 u_cellColor;
|
|
52
|
-
uniform vec3 u_glowColor;
|
|
53
|
-
uniform vec3 u_bgColor;
|
|
54
|
-
uniform float u_bgOpacity;
|
|
55
|
-
uniform float u_lineMode;
|
|
56
|
-
uniform float u_cellMode;
|
|
57
|
-
uniform float u_animSpeed;
|
|
58
|
-
uniform float u_animScale;
|
|
59
|
-
uniform float u_animIntensity;
|
|
60
|
-
uniform float u_fadeDistance;
|
|
61
|
-
uniform float u_fadeStrength;
|
|
62
|
-
uniform vec2 u_focus;
|
|
63
|
-
uniform float u_reveal;
|
|
64
|
-
|
|
65
|
-
varying vec2 vGridPos;
|
|
66
|
-
|
|
67
|
-
float lineAt(float c, float width, float fp){
|
|
68
|
-
float d = abs(fract(c - 0.5) - 0.5);
|
|
69
|
-
return 1.0 - clamp(d / max(fp * max(width, 0.05), 1e-6), 0.0, 1.0);
|
|
70
|
-
}
|
|
71
|
-
`;
|
|
72
|
-
const gridCommon = /* glsl */ `
|
|
73
|
-
const float PI = 3.14159265359;
|
|
74
|
-
const float TAU = 6.28318530718;
|
|
75
|
-
|
|
76
|
-
float hash21(vec2 p){
|
|
77
|
-
p = fract(p * vec2(123.34, 456.21));
|
|
78
|
-
p += dot(p, p + 45.32);
|
|
79
|
-
return fract(p.x * p.y);
|
|
80
|
-
}
|
|
81
|
-
`;
|
|
82
|
-
const gridTail = /* glsl */ `
|
|
83
|
-
// ---- line animation --------------------------------------------------
|
|
84
|
-
float lineAnim = 1.0;
|
|
85
|
-
if (u_lineMode > 0.5){
|
|
86
|
-
if (u_lineMode < 1.5){
|
|
87
|
-
lineAnim = 0.5 + 0.5 * sin(cellDist * u_animScale - t);
|
|
88
|
-
} else if (u_lineMode < 2.5){
|
|
89
|
-
lineAnim = 0.5 + 0.5 * sin(flowCoord * u_animScale - t);
|
|
90
|
-
} else if (u_lineMode < 3.5){
|
|
91
|
-
float s = fract(scanCoord * 0.05 * u_animScale - t * 0.15);
|
|
92
|
-
lineAnim = 0.25 + smoothstep(0.0, 0.15, s) * (1.0 - smoothstep(0.15, 0.35, s));
|
|
93
|
-
} else {
|
|
94
|
-
lineAnim = 0.5 + 0.5 * sin(t);
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
lineAnim = mix(1.0, lineAnim, u_animIntensity);
|
|
98
|
-
|
|
99
|
-
// ---- cell fill -------------------------------------------------------
|
|
100
|
-
float cell = 0.0;
|
|
101
|
-
if (u_cellMode > 0.5){
|
|
102
|
-
if (u_cellMode < 1.5){
|
|
103
|
-
cell = 0.5 + 0.5 * sin(flowCoord * 0.5 * u_animScale - t);
|
|
104
|
-
} else if (u_cellMode < 2.5){
|
|
105
|
-
cell = 0.5 + 0.5 * sin(t * (0.6 + cellH) + cellH * TAU);
|
|
106
|
-
} else if (u_cellMode < 3.5){
|
|
107
|
-
cell = smoothstep(0.6, 1.0, sin(cellDist * u_animScale - t));
|
|
108
|
-
} else {
|
|
109
|
-
cell = step(0.5, cellH) * (0.5 + 0.5 * sin(t));
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
cell *= u_animIntensity * edgeKeep;
|
|
113
|
-
|
|
114
|
-
float tone = step(0.55, cellH);
|
|
115
|
-
|
|
116
|
-
vec3 col = u_bgColor * u_bgOpacity;
|
|
117
|
-
float a = u_bgOpacity;
|
|
118
|
-
|
|
119
|
-
col += mix(u_cellColor, u_cellColor * 2.2, tone) * cell;
|
|
120
|
-
a = max(a, cell * 0.9);
|
|
121
|
-
float linesI = lines * lineAnim;
|
|
122
|
-
col += u_lineColor * linesI; a = max(a, linesI);
|
|
123
|
-
float accentI = accent * lineAnim;
|
|
124
|
-
col += u_sectionColor * accentI; a = max(a, accentI);
|
|
125
|
-
col += u_glowColor * (linesI * 0.2 + cell * 0.35) * u_animIntensity;
|
|
126
|
-
|
|
127
|
-
col = col * regionMask + extraCol;
|
|
128
|
-
a = max(a * regionMask, extraA);
|
|
129
|
-
|
|
130
|
-
float fade = 1.0 - smoothstep(1.0 - u_fadeStrength, 1.0, fadeR);
|
|
131
|
-
col *= fade;
|
|
132
|
-
a *= fade;
|
|
133
|
-
|
|
134
|
-
// ---- reveal ----------------------------------------------------------
|
|
135
|
-
// The build boundary sweeps outward from the focus point with a bright
|
|
136
|
-
// leading edge, so the grid reads as assembling itself.
|
|
137
|
-
if (u_reveal < 0.999){
|
|
138
|
-
float rd = length(vGridPos - u_focus) / max(u_fadeDistance, 1e-4);
|
|
139
|
-
float edge = u_reveal * 1.1;
|
|
140
|
-
float mask = 1.0 - smoothstep(edge - 0.05, edge, rd);
|
|
141
|
-
float front = mask * smoothstep(edge - 0.22, edge - 0.05, rd);
|
|
142
|
-
col = col * mask + u_glowColor * front * (a * 1.8 + 0.08);
|
|
143
|
-
a = max(a * mask, front * 0.10);
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
if (a < 0.002) discard;
|
|
147
|
-
gl_FragColor = vec4(col, a);
|
|
148
|
-
}
|
|
149
|
-
`;
|
|
150
|
-
const gridVertexHead = /* glsl */ `
|
|
151
|
-
uniform float u_time;
|
|
152
|
-
uniform float u_cellSize;
|
|
153
|
-
uniform float u_displace;
|
|
154
|
-
uniform float u_animSpeed;
|
|
155
|
-
uniform float u_animScale;
|
|
156
|
-
|
|
157
|
-
varying vec2 vGridPos;
|
|
158
|
-
`;
|
|
159
44
|
// ---------------------------------------------------------------------------
|
|
160
45
|
// The 17 wallpaper groups (Farris, "Creating Symmetry").
|
|
161
46
|
// Each group is listed by its ITA general positions in lattice coordinates:
|
|
@@ -363,29 +248,6 @@ function wallpaperRms(tab, wave, sk, sre, sim) {
|
|
|
363
248
|
sum += sre[s] * sre[s] + sim[s] * sim[s];
|
|
364
249
|
return Math.sqrt(sum * 0.5);
|
|
365
250
|
}
|
|
366
|
-
function createExtraUniforms() {
|
|
367
|
-
return {
|
|
368
|
-
u_wave: { value: new Float32Array(12) },
|
|
369
|
-
u_RA: { value: new Float32Array(48) },
|
|
370
|
-
u_TA: { value: new Float32Array(24) },
|
|
371
|
-
u_countA: { value: 1 },
|
|
372
|
-
u_basisA: { value: new Float32Array([1, 0, 0, 1]) },
|
|
373
|
-
u_normA: { value: 1 },
|
|
374
|
-
u_axA: { value: new Float32Array(24) },
|
|
375
|
-
u_axKA: { value: new Float32Array(18) },
|
|
376
|
-
u_axNA: { value: 0 },
|
|
377
|
-
u_RB: { value: new Float32Array(48) },
|
|
378
|
-
u_TB: { value: new Float32Array(24) },
|
|
379
|
-
u_countB: { value: 1 },
|
|
380
|
-
u_basisB: { value: new Float32Array([1, 0, 0, 1]) },
|
|
381
|
-
u_normB: { value: 1 },
|
|
382
|
-
u_axB: { value: new Float32Array(24) },
|
|
383
|
-
u_axKB: { value: new Float32Array(18) },
|
|
384
|
-
u_axNB: { value: 0 },
|
|
385
|
-
u_mix: { value: 0 },
|
|
386
|
-
u_mixGain: { value: 1 },
|
|
387
|
-
};
|
|
388
|
-
}
|
|
389
251
|
function createRuntime(u, renderer, c) {
|
|
390
252
|
const tables = [];
|
|
391
253
|
for (let i = 0; i < 17; i++)
|
|
@@ -460,80 +322,41 @@ function updateRuntime(rt, u, c, dt, renderer) {
|
|
|
460
322
|
function disposeRuntime(rt) {
|
|
461
323
|
rt.tables.length = 0;
|
|
462
324
|
}
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
const wallpaperField = /* glsl */ `
|
|
472
|
-
uniform vec2 u_wave[6];
|
|
473
|
-
uniform mat2 u_RA[12];
|
|
474
|
-
uniform vec2 u_TA[12];
|
|
475
|
-
uniform float u_countA;
|
|
476
|
-
uniform mat2 u_basisA;
|
|
477
|
-
uniform float u_normA;
|
|
478
|
-
uniform mat2 u_RB[12];
|
|
479
|
-
uniform vec2 u_TB[12];
|
|
480
|
-
uniform float u_countB;
|
|
481
|
-
uniform mat2 u_basisB;
|
|
482
|
-
uniform float u_normB;
|
|
483
|
-
uniform float u_mix;
|
|
484
|
-
uniform float u_mixGain;
|
|
485
|
-
|
|
486
|
-
float wpMotif(vec2 q){
|
|
487
|
-
vec2 a = TAU * q;
|
|
488
|
-
return u_wave[0].x * cos(dot(a, vec2(1.0, 1.0)) + u_wave[0].y)
|
|
489
|
-
+ u_wave[1].x * cos(dot(a, vec2(2.0, 0.0)) + u_wave[1].y)
|
|
490
|
-
+ u_wave[2].x * cos(dot(a, vec2(1.0, -2.0)) + u_wave[2].y)
|
|
491
|
-
+ u_wave[3].x * cos(dot(a, vec2(2.0, 1.0)) + u_wave[3].y)
|
|
492
|
-
+ u_wave[4].x * cos(dot(a, vec2(3.0, 1.0)) + u_wave[4].y)
|
|
493
|
-
+ u_wave[5].x * cos(dot(a, vec2(1.0, 3.0)) + u_wave[5].y);
|
|
494
|
-
}
|
|
495
|
-
|
|
496
|
-
float wpSym(vec2 p, mat2 Bi, mat2 R[12], vec2 T[12], float n){
|
|
497
|
-
vec2 q = Bi * p;
|
|
498
|
-
q -= floor(q);
|
|
499
|
-
float s = 0.0;
|
|
500
|
-
for (int i = 0; i < 12; i++){
|
|
501
|
-
if (float(i) >= n) break;
|
|
502
|
-
s += wpMotif(R[i] * q + T[i]);
|
|
503
|
-
}
|
|
504
|
-
return s;
|
|
505
|
-
}
|
|
506
|
-
|
|
507
|
-
// unit-RMS field, crossfaded between group A and group B
|
|
508
|
-
float wpField(vec2 p){
|
|
509
|
-
float f = wpSym(p, u_basisA, u_RA, u_TA, u_countA) * u_normA;
|
|
510
|
-
if (u_mix > 0.001){
|
|
511
|
-
float g = wpSym(p, u_basisB, u_RB, u_TB, u_countB) * u_normB;
|
|
512
|
-
f = mix(f, g, u_mix) * u_mixGain;
|
|
513
|
-
}
|
|
514
|
-
return f;
|
|
515
|
-
}
|
|
516
|
-
`;
|
|
325
|
+
/** This grid's own uniforms (u_<key>), pushed by applyGridConfig beside the shared surface knobs. */
|
|
326
|
+
const VARIANT = ['group', 'cycleTime', 'motif', 'levels'];
|
|
327
|
+
/** No computed uniforms: every knob maps straight to its u_<key>. */
|
|
328
|
+
const DERIVE = {};
|
|
329
|
+
/** Knobs that rebuild the plane or pick a mode: they change on commit, never through the live path. */
|
|
330
|
+
const STRUCTURAL = [...GRID_STRUCTURAL, 'group', 'levels'];
|
|
331
|
+
/** Knobs a keyframe or pointer binding may drive per frame — exactly what applyGridConfig pushes. */
|
|
332
|
+
const ANIMATABLE = new Set((GRIDS_ANIMATABLE.wallpaperGrid ?? []).map((p) => p.value));
|
|
517
333
|
/**
|
|
518
334
|
* Wallpaper-group kaleidoscope: a drifting lattice-periodic Fourier motif summed over the coset representatives of one of the 17 plane crystallographic groups. The runtime builds the group tables and crossfades from group to group.
|
|
519
335
|
*/
|
|
520
|
-
export function WallpaperGrid({ config = defaultWallpaperGridConfig, groupProps, onObjectReady, onObjectDispose }) {
|
|
336
|
+
export function WallpaperGrid({ config = defaultWallpaperGridConfig, groupProps, id, keyframes, mouseMove, onObjectReady, onObjectDispose }) {
|
|
521
337
|
const matRef = useRef(null);
|
|
522
338
|
const rootRef = useRef(null);
|
|
523
339
|
const meshRef = useRef(null);
|
|
524
340
|
useObjectReady(rootRef, config, onObjectReady, onObjectDispose);
|
|
525
|
-
|
|
341
|
+
// The committed config over this grid's defaults: every knob has a value to render
|
|
342
|
+
// and for a keyframe or pointer binding to start from.
|
|
343
|
+
const base = useMemo(() => withConfigDefaults(defaultWallpaperGridConfig, config), [config]);
|
|
344
|
+
const { cellSize, size, segments, flat, displace, followMouse, reveal, revealDuration } = base;
|
|
526
345
|
// the motif has up to ~3 waves per unit cell, so 16 vertices per cell keep the displaced relief smooth
|
|
527
346
|
const segs = segments ?? (displace > 0 ? Math.min(512, Math.max(96, Math.ceil(size / Math.max(cellSize, 1e-4)) * 16)) : 1);
|
|
528
|
-
const fade = fadeDistance ?? size * 0.5;
|
|
529
|
-
const colors = useMemo(() => ({
|
|
530
|
-
line: new THREE.Color(lineColor),
|
|
531
|
-
section: new THREE.Color(sectionColor),
|
|
532
|
-
cell: new THREE.Color(cellColor),
|
|
533
|
-
glow: new THREE.Color(glowColor),
|
|
534
|
-
bg: new THREE.Color(bgColor),
|
|
535
|
-
}), [lineColor, sectionColor, cellColor, glowColor, bgColor]);
|
|
536
347
|
useGridSurface(matRef, meshRef, { followMouse, reveal, revealDuration });
|
|
348
|
+
// One push point for every uniform the config owns: the committed config when the
|
|
349
|
+
// material mounts or the config commits, the merged one while anything overrides it.
|
|
350
|
+
const baseRef = useRef(base);
|
|
351
|
+
baseRef.current = base;
|
|
352
|
+
const setMaterial = useCallback((m) => {
|
|
353
|
+
matRef.current = m;
|
|
354
|
+
if (m)
|
|
355
|
+
applyGridConfig(m, baseRef.current, VARIANT, DERIVE);
|
|
356
|
+
}, []);
|
|
357
|
+
useLayoutEffect(() => { applyGridConfig(matRef.current, base, VARIANT, DERIVE); }, [base]);
|
|
358
|
+
const push = useCallback((merged) => applyGridConfig(matRef.current, merged, VARIANT, DERIVE), []);
|
|
359
|
+
useConfigDriver({ rootRef, id, family: 'grids', base, structural: STRUCTURAL, allowed: ANIMATABLE, keyframes, mouseMove, push });
|
|
537
360
|
// the simulation behind this grid: created on mount, stepped every frame
|
|
538
361
|
const runtimeRef = useRef(null);
|
|
539
362
|
useFrame((state, delta) => {
|
|
@@ -541,8 +364,8 @@ export function WallpaperGrid({ config = defaultWallpaperGridConfig, groupProps,
|
|
|
541
364
|
if (!mat)
|
|
542
365
|
return;
|
|
543
366
|
if (!runtimeRef.current)
|
|
544
|
-
runtimeRef.current = createRuntime(mat.uniforms, state.gl,
|
|
545
|
-
updateRuntime(runtimeRef.current, mat.uniforms,
|
|
367
|
+
runtimeRef.current = createRuntime(mat.uniforms, state.gl, base);
|
|
368
|
+
updateRuntime(runtimeRef.current, mat.uniforms, base, Math.min(delta, 0.1), state.gl);
|
|
546
369
|
});
|
|
547
370
|
useEffect(() => () => {
|
|
548
371
|
if (runtimeRef.current) {
|
|
@@ -550,6 +373,6 @@ export function WallpaperGrid({ config = defaultWallpaperGridConfig, groupProps,
|
|
|
550
373
|
runtimeRef.current = null;
|
|
551
374
|
}
|
|
552
375
|
}, []);
|
|
553
|
-
return (_jsx("group", { ref: rootRef, ...groupProps, children: _jsxs("mesh", { ref: meshRef, rotation: flat ? [-Math.PI / 2, 0, 0] : [0, 0, 0], children: [_jsx("planeGeometry", { args: [size, size, segs, segs] }), _jsx("wallpaperGridMaterial", { ref:
|
|
376
|
+
return (_jsx("group", { ref: rootRef, ...groupProps, children: _jsxs("mesh", { ref: meshRef, rotation: flat ? [-Math.PI / 2, 0, 0] : [0, 0, 0], children: [_jsx("planeGeometry", { args: [size, size, segs, segs] }), _jsx("wallpaperGridMaterial", { ref: setMaterial, transparent: true, depthWrite: false, blending: THREE.AdditiveBlending, side: THREE.DoubleSide }, WallpaperGridMaterial.key)] }) }));
|
|
554
377
|
}
|
|
555
378
|
export default WallpaperGrid;
|
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import type { AuraConfig, AnimationOptions } from "@3driseai/3drise-core";
|
|
2
|
+
import type { AuraConfig, AnimationOptions, MouseMoveDomain } from "@3driseai/3drise-core";
|
|
3
3
|
import type { ObjectReadyProps } from '../../types/objectReady';
|
|
4
|
-
interface AuraEffectProps extends ObjectReadyProps {
|
|
4
|
+
export interface AuraEffectProps extends ObjectReadyProps {
|
|
5
5
|
boundingRadius: number;
|
|
6
6
|
config: AuraConfig;
|
|
7
|
-
|
|
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 AuraEffect: React.FC<AuraEffectProps>;
|
|
10
15
|
export default AuraEffect;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuraEffect.d.ts","sourceRoot":"","sources":["../../../src/components/effects/AuraEffect.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"AuraEffect.d.ts","sourceRoot":"","sources":["../../../src/components/effects/AuraEffect.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAG3F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,MAAM,WAAW,eAAgB,SAAQ,gBAAgB;IACrD,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,UAAU,CAAC;IACnB,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,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAkDzC,CAAC;AACF,eAAe,UAAU,CAAC"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
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 {
|
|
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
|
const vertexShader = /* glsl */ `
|
|
8
10
|
varying vec3 vNormal;
|
|
9
11
|
varying vec3 vViewDir;
|
|
@@ -21,6 +23,7 @@ const fragmentShader = /* glsl */ `
|
|
|
21
23
|
uniform float u_time;
|
|
22
24
|
uniform float uFresnelPower;
|
|
23
25
|
uniform float uPulseSpeed;
|
|
26
|
+
uniform float uPulsePhase; // integrated on the CPU: pulse speed changes never jump
|
|
24
27
|
uniform float uNoiseAmount;
|
|
25
28
|
uniform float uOpacity;
|
|
26
29
|
uniform float uLayerIndex; // 0..1
|
|
@@ -70,7 +73,7 @@ const fragmentShader = /* glsl */ `
|
|
|
70
73
|
float tendrils = smoothstep(0.60, 0.75, f + uLayerIndex * 0.05);
|
|
71
74
|
|
|
72
75
|
// ── Pulse per layer (staggered phase) ──────────────────────────────────
|
|
73
|
-
float pulse = 0.65 + 0.35 * sin(
|
|
76
|
+
float pulse = 0.65 + 0.35 * sin(uPulsePhase + uLayerIndex * 2.1);
|
|
74
77
|
|
|
75
78
|
// ── Combine ────────────────────────────────────────────────────────────
|
|
76
79
|
float noiseBlend = (1.0 - uNoiseAmount) + uNoiseAmount * f;
|
|
@@ -81,42 +84,64 @@ const fragmentShader = /* glsl */ `
|
|
|
81
84
|
gl_FragColor = vec4(col, alpha);
|
|
82
85
|
}
|
|
83
86
|
`;
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
+
/** Knobs that rebuild the object (layer count, shell radii): commit only, never live. */
|
|
88
|
+
const STRUCTURAL = ['layerCount', 'sizeMultiplier'];
|
|
89
|
+
/** Knobs a keyframe or pointer binding may drive per frame — exactly what applyConfig pushes. */
|
|
90
|
+
const ANIMATABLE = new Set(EFFECTS_ANIMATABLE.aura.map((p) => p.value));
|
|
91
|
+
const _color = new THREE.Color();
|
|
92
|
+
const _hsl = { h: 0, s: 0, l: 0 };
|
|
93
|
+
/** The single push point: every config knob reaches its uniform here. */
|
|
94
|
+
function applyConfig(materials, c) {
|
|
95
|
+
// one base hue, derived from the inner colour
|
|
96
|
+
_color.set(c.innerColor).getHSL(_hsl);
|
|
97
|
+
for (const m of materials) {
|
|
98
|
+
const u = m.uniforms;
|
|
99
|
+
u.uFresnelPower.value = c.fresnelPower;
|
|
100
|
+
u.uPulseSpeed.value = c.pulseSpeed * c.speed;
|
|
101
|
+
u.uNoiseAmount.value = c.noiseAmount;
|
|
102
|
+
u.uOpacity.value = c.opacity;
|
|
103
|
+
u.uBaseHue.value = _hsl.h;
|
|
104
|
+
u.uIntensity.value = c.intensity;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
const AuraEffect = ({ boundingRadius, config, id, keyframes, mouseMove, onObjectReady, onObjectDispose }) => {
|
|
108
|
+
const cfg = useMemo(() => withConfigDefaults(DEFAULT_GENERATIVE_EFFECTS.aura, config), [config]);
|
|
109
|
+
const { layerCount, sizeMultiplier } = cfg;
|
|
87
110
|
const rootRef = useRef(null);
|
|
88
111
|
useObjectReady(rootRef, config, onObjectReady, onObjectDispose);
|
|
89
|
-
//
|
|
90
|
-
const baseHue = useMemo(() => {
|
|
91
|
-
const c = new THREE.Color(innerColor);
|
|
92
|
-
const h = { h: 0, s: 0, l: 0 };
|
|
93
|
-
c.getHSL(h);
|
|
94
|
-
return h.h;
|
|
95
|
-
}, [innerColor]);
|
|
112
|
+
// Built once per layer count; every other knob is pushed into the uniforms.
|
|
96
113
|
const materials = useMemo(() => Array.from({ length: layerCount }, (_, i) => new THREE.ShaderMaterial({
|
|
97
114
|
vertexShader,
|
|
98
115
|
fragmentShader,
|
|
99
116
|
uniforms: {
|
|
100
117
|
u_time: { value: 0 },
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
118
|
+
uPulsePhase: { value: 0 },
|
|
119
|
+
uFresnelPower: { value: 3 },
|
|
120
|
+
uPulseSpeed: { value: 1 },
|
|
121
|
+
uNoiseAmount: { value: 0.3 },
|
|
122
|
+
uOpacity: { value: 1 },
|
|
105
123
|
uLayerIndex: { value: layerCount > 1 ? i / (layerCount - 1) : 0 },
|
|
106
|
-
uBaseHue: { value:
|
|
107
|
-
uIntensity: { value:
|
|
124
|
+
uBaseHue: { value: 0 },
|
|
125
|
+
uIntensity: { value: 1 },
|
|
108
126
|
},
|
|
109
127
|
transparent: true,
|
|
110
128
|
depthWrite: false,
|
|
111
129
|
blending: THREE.AdditiveBlending,
|
|
112
130
|
side: THREE.BackSide,
|
|
113
|
-
})), [layerCount
|
|
114
|
-
|
|
131
|
+
})), [layerCount]);
|
|
132
|
+
useEffect(() => () => materials.forEach((m) => m.dispose()), [materials]);
|
|
133
|
+
const push = useCallback((merged) => {
|
|
134
|
+
applyConfig(materials, merged);
|
|
135
|
+
}, [materials]);
|
|
136
|
+
useLayoutEffect(() => { push(cfg); }, [push, cfg]);
|
|
137
|
+
useConfigDriver({ rootRef, id, family: 'effects', base: cfg, structural: STRUCTURAL, allowed: ANIMATABLE, keyframes, mouseMove, push });
|
|
138
|
+
useFrame((state, delta) => {
|
|
115
139
|
const t = state.clock.getElapsedTime();
|
|
116
|
-
|
|
140
|
+
const dt = Math.min(delta, 0.1);
|
|
141
|
+
for (const mat of materials) {
|
|
117
142
|
mat.uniforms.u_time.value = t;
|
|
118
|
-
|
|
119
|
-
|
|
143
|
+
// integrated, so changing the pulse speed never makes the phase jump
|
|
144
|
+
mat.uniforms.uPulsePhase.value += dt * mat.uniforms.uPulseSpeed.value;
|
|
120
145
|
}
|
|
121
146
|
});
|
|
122
147
|
const baseR = boundingRadius * sizeMultiplier;
|
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import type { AuroraConfig, AnimationOptions } from "@3driseai/3drise-core";
|
|
2
|
+
import type { AuroraConfig, AnimationOptions, MouseMoveDomain } from "@3driseai/3drise-core";
|
|
3
3
|
import type { ObjectReadyProps } from '../../types/objectReady';
|
|
4
|
-
interface AuroraEffectProps extends ObjectReadyProps {
|
|
4
|
+
export interface AuroraEffectProps extends ObjectReadyProps {
|
|
5
5
|
boundingRadius: number;
|
|
6
6
|
config: AuroraConfig;
|
|
7
|
-
|
|
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 AuroraEffect: React.FC<AuroraEffectProps>;
|
|
10
15
|
export default AuroraEffect;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuroraEffect.d.ts","sourceRoot":"","sources":["../../../src/components/effects/AuroraEffect.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"AuroraEffect.d.ts","sourceRoot":"","sources":["../../../src/components/effects/AuroraEffect.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAG7F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,MAAM,WAAW,iBAAkB,SAAQ,gBAAgB;IACvD,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,YAAY,CAAC;IACrB,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;AAgFD,QAAA,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAuD7C,CAAC;AACF,eAAe,YAAY,CAAC"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
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 {
|
|
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
|
const ribbonVert = /* glsl */ `
|
|
8
10
|
uniform float u_time;
|
|
9
11
|
uniform float uPhase;
|
|
@@ -54,22 +56,42 @@ const ribbonFrag = /* glsl */ `
|
|
|
54
56
|
gl_FragColor = vec4(col, alpha);
|
|
55
57
|
}
|
|
56
58
|
`;
|
|
57
|
-
|
|
58
|
-
|
|
59
|
+
/** Knobs that rebuild the object: commit only, never live. */
|
|
60
|
+
const STRUCTURAL = ['ribbonCount'];
|
|
61
|
+
/** Knobs a keyframe or pointer binding may drive per frame — exactly what the push point applies. */
|
|
62
|
+
const ANIMATABLE = new Set(EFFECTS_ANIMATABLE.aurora.map((p) => p.value));
|
|
63
|
+
// Aurora spectrum: green -> teal -> cyan -> violet
|
|
64
|
+
const HUES = [0.33, 0.38, 0.45, 0.50, 0.57, 0.65, 0.72, 0.78, 0.82, 0.87];
|
|
65
|
+
/** The single push point: every config knob reaches its uniform (or the ribbon's placement) here. */
|
|
66
|
+
function applyConfig(ribbons, c, r) {
|
|
67
|
+
const rad = r * 1.35;
|
|
68
|
+
for (const { mesh, mat, i, t } of ribbons) {
|
|
69
|
+
const angle = (t - 0.5) * c.arcWidth * Math.PI; // spread across arc
|
|
70
|
+
// Position ribbon in arc - tilted slightly inward to wrap over the object
|
|
71
|
+
mesh.position.set(Math.sin(angle) * rad, r * 0.55, -Math.cos(angle) * rad);
|
|
72
|
+
mesh.rotation.y = angle; // face inward
|
|
73
|
+
const u = mat.uniforms;
|
|
74
|
+
u.uWaveAmp.value = c.waveAmplitude * r * 0.55;
|
|
75
|
+
u.uHue.value = (((c.colorShift + HUES[i % HUES.length]) % 1) + 1) % 1;
|
|
76
|
+
u.uOpacity.value = c.opacity;
|
|
77
|
+
u.uIntensity.value = c.intensity;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
const AuroraEffect = ({ boundingRadius, config, id, keyframes, mouseMove, onObjectReady, onObjectDispose }) => {
|
|
81
|
+
const cfg = useMemo(() => withConfigDefaults(DEFAULT_GENERATIVE_EFFECTS.aurora, config), [config]);
|
|
82
|
+
const { ribbonCount } = cfg;
|
|
59
83
|
const groupRef = useRef(null);
|
|
60
84
|
useObjectReady(groupRef, config, onObjectReady, onObjectDispose);
|
|
85
|
+
// the knobs read per frame (speed), from the last merged config
|
|
86
|
+
const cur = useRef(cfg);
|
|
87
|
+
// Built once per ribbon count and host size; everything else is pushed.
|
|
61
88
|
const ribbons = useMemo(() => {
|
|
62
89
|
const N = Math.max(3, Math.min(ribbonCount, 10));
|
|
63
90
|
const r = boundingRadius;
|
|
64
91
|
const w = r * 0.9;
|
|
65
92
|
const h = r * 2.2;
|
|
66
|
-
const rad = r * 1.35;
|
|
67
|
-
// Aurora spectrum: green → teal → cyan → violet
|
|
68
|
-
const hues = [0.33, 0.38, 0.45, 0.50, 0.57, 0.65, 0.72, 0.78, 0.82, 0.87];
|
|
69
93
|
return Array.from({ length: N }, (_, i) => {
|
|
70
94
|
const t = N === 1 ? 0.5 : i / (N - 1);
|
|
71
|
-
const angle = (t - 0.5) * arcWidth * Math.PI; // spread across arc
|
|
72
|
-
const hue = (colorShift + hues[i % hues.length]) % 1;
|
|
73
95
|
const geo = new THREE.PlaneGeometry(w, h, 1, 24);
|
|
74
96
|
const mat = new THREE.ShaderMaterial({
|
|
75
97
|
vertexShader: ribbonVert,
|
|
@@ -78,36 +100,34 @@ const AuroraEffect = ({ boundingRadius, config, animations, onObjectReady, onObj
|
|
|
78
100
|
u_time: { value: 0 },
|
|
79
101
|
uPhase: { value: i * 1.13 + t * Math.PI * 2 },
|
|
80
102
|
u_speed: { value: 0.55 + Math.random() * 0.3 },
|
|
81
|
-
uWaveAmp: { value:
|
|
82
|
-
uHue: { value:
|
|
83
|
-
uOpacity: { value:
|
|
84
|
-
uIntensity: { value:
|
|
103
|
+
uWaveAmp: { value: 0 },
|
|
104
|
+
uHue: { value: 0 },
|
|
105
|
+
uOpacity: { value: 1 },
|
|
106
|
+
uIntensity: { value: 1 },
|
|
85
107
|
},
|
|
86
108
|
transparent: true,
|
|
87
109
|
depthWrite: false,
|
|
88
110
|
blending: THREE.AdditiveBlending,
|
|
89
111
|
side: THREE.DoubleSide,
|
|
90
112
|
});
|
|
91
|
-
// Position ribbon in arc — tilted slightly inward to wrap over the object
|
|
92
113
|
const mesh = new THREE.Mesh(geo, mat);
|
|
93
|
-
mesh.position.set(Math.sin(angle) * rad, r * 0.55, // float above object
|
|
94
|
-
-Math.cos(angle) * rad);
|
|
95
|
-
mesh.rotation.y = angle; // face inward
|
|
96
114
|
mesh.rotation.x = 0.08; // slight forward tilt
|
|
97
|
-
return { mesh, mat };
|
|
115
|
+
return { mesh, mat, geo, i, t };
|
|
98
116
|
});
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
const
|
|
117
|
+
}, [ribbonCount, boundingRadius]);
|
|
118
|
+
useEffect(() => () => ribbons.forEach(({ geo, mat }) => { geo.dispose(); mat.dispose(); }), [ribbons]);
|
|
119
|
+
const push = useCallback((merged) => {
|
|
120
|
+
cur.current = merged;
|
|
121
|
+
applyConfig(ribbons, merged, boundingRadius);
|
|
122
|
+
}, [ribbons, boundingRadius]);
|
|
123
|
+
useLayoutEffect(() => { push(cfg); }, [push, cfg]);
|
|
124
|
+
useConfigDriver({ rootRef: groupRef, id, family: 'effects', base: cfg, structural: STRUCTURAL, allowed: ANIMATABLE, keyframes, mouseMove, push });
|
|
102
125
|
useFrame((state, delta) => {
|
|
103
126
|
if (!groupRef.current)
|
|
104
127
|
return;
|
|
105
128
|
const t = state.clock.getElapsedTime();
|
|
106
129
|
ribbons.forEach(({ mat }) => { mat.uniforms.u_time.value = t; });
|
|
107
|
-
groupRef.current.rotation.y += delta * speed * 0.06;
|
|
108
|
-
if (animations?.length) {
|
|
109
|
-
applyGenerativeAnimations(ribbons.map(({ mat }) => mat), animations, startValuesCacheRef.current, Date.now(), false);
|
|
110
|
-
}
|
|
130
|
+
groupRef.current.rotation.y += delta * cur.current.speed * 0.06;
|
|
111
131
|
});
|
|
112
132
|
return (_jsx("group", { ref: groupRef, children: ribbons.map(({ mesh }, i) => (_jsx("primitive", { object: mesh }, i))) }));
|
|
113
133
|
};
|
|
@@ -1,10 +1,15 @@
|
|
|
1
|
-
import React from
|
|
2
|
-
import type { AnimationOptions,
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { BlackHoleConfig, AnimationOptions, MouseMoveDomain } from "@3driseai/3drise-core";
|
|
3
3
|
import type { ObjectReadyProps } from '../../types/objectReady';
|
|
4
4
|
export interface BlackHoleEffectProps extends ObjectReadyProps {
|
|
5
5
|
boundingRadius: number;
|
|
6
6
|
config: BlackHoleConfig;
|
|
7
|
-
|
|
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 BlackHoleEffect: React.FC<BlackHoleEffectProps>;
|
|
10
15
|
export default BlackHoleEffect;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BlackHoleEffect.d.ts","sourceRoot":"","sources":["../../../src/components/effects/BlackHoleEffect.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"BlackHoleEffect.d.ts","sourceRoot":"","sources":["../../../src/components/effects/BlackHoleEffect.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGhG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,MAAM,WAAW,oBAAqB,SAAQ,gBAAgB;IAC1D,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,eAAe,CAAC;IACxB,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;AAgRD,QAAA,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CA4FnD,CAAC;AAEF,eAAe,eAAe,CAAC"}
|