@3driseai/3drise-viewer 0.1.28 → 0.1.30
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.map +1 -1
- package/dist/animationsV2/ClipPlayer.js +13 -9
- package/dist/animationsV2/ClipsRuntime.d.ts +48 -3
- package/dist/animationsV2/ClipsRuntime.d.ts.map +1 -1
- package/dist/animationsV2/ClipsRuntime.js +239 -57
- package/dist/animationsV2/appliers.d.ts.map +1 -1
- package/dist/animationsV2/appliers.js +21 -5
- package/dist/animationsV2/clipUtils.js +1 -1
- 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 +7 -3
- package/dist/animationsV2/sequenceUtils.d.ts +49 -6
- package/dist/animationsV2/sequenceUtils.d.ts.map +1 -1
- package/dist/animationsV2/sequenceUtils.js +68 -12
- package/dist/animationsV2/types.d.ts +28 -12
- package/dist/animationsV2/types.d.ts.map +1 -1
- package/dist/api/sceneHandle.d.ts +35 -1
- package/dist/api/sceneHandle.d.ts.map +1 -1
- package/dist/api/sceneHandle.js +88 -17
- package/dist/components/AdvancedGrid.d.ts +1 -5
- package/dist/components/AdvancedGrid.d.ts.map +1 -1
- package/dist/components/AdvancedGrid.js +6 -35
- package/dist/components/AnimatedObject.d.ts.map +1 -1
- package/dist/components/AnimatedObject.js +9 -4
- package/dist/components/ApollonianGrid.d.ts +1 -1
- package/dist/components/ApollonianGrid.d.ts.map +1 -1
- package/dist/components/ApollonianGrid.js +3 -28
- package/dist/components/ChladniGrid.d.ts +1 -1
- package/dist/components/ChladniGrid.d.ts.map +1 -1
- package/dist/components/ChladniGrid.js +6 -35
- package/dist/components/CircuitGrid.d.ts +1 -1
- package/dist/components/CircuitGrid.d.ts.map +1 -1
- package/dist/components/CircuitGrid.js +6 -34
- package/dist/components/ConformalGrid.d.ts +1 -1
- package/dist/components/ConformalGrid.d.ts.map +1 -1
- package/dist/components/ConformalGrid.js +3 -34
- package/dist/components/ContourGrid.d.ts +1 -1
- package/dist/components/ContourGrid.d.ts.map +1 -1
- package/dist/components/ContourGrid.js +6 -34
- package/dist/components/CustomPrimitive.js +1 -1
- package/dist/components/EffectsGenerator.d.ts.map +1 -1
- package/dist/components/EffectsGenerator.js +43 -38
- package/dist/components/EnvironmentObject.d.ts.map +1 -1
- package/dist/components/EnvironmentObject.js +9 -7
- package/dist/components/FlowNetGrid.d.ts +1 -1
- package/dist/components/FlowNetGrid.d.ts.map +1 -1
- package/dist/components/FlowNetGrid.js +6 -34
- package/dist/components/FractalGrid.d.ts +1 -1
- package/dist/components/FractalGrid.d.ts.map +1 -1
- package/dist/components/FractalGrid.js +6 -37
- package/dist/components/Galaxy.d.ts.map +1 -1
- package/dist/components/Galaxy.js +9 -23
- package/dist/components/GeometryShape.d.ts.map +1 -1
- package/dist/components/GeometryShape.js +22 -2
- package/dist/components/GirihGrid.d.ts +1 -1
- package/dist/components/GirihGrid.d.ts.map +1 -1
- package/dist/components/GirihGrid.js +6 -35
- package/dist/components/GravWaveGrid.d.ts +1 -1
- package/dist/components/GravWaveGrid.d.ts.map +1 -1
- package/dist/components/GravWaveGrid.js +6 -35
- package/dist/components/HexGrid.d.ts +1 -5
- package/dist/components/HexGrid.d.ts.map +1 -1
- package/dist/components/HexGrid.js +6 -36
- package/dist/components/HilbertGrid.d.ts +1 -1
- package/dist/components/HilbertGrid.d.ts.map +1 -1
- package/dist/components/HilbertGrid.js +3 -30
- package/dist/components/HyperbolicGrid.d.ts +1 -1
- package/dist/components/HyperbolicGrid.d.ts.map +1 -1
- package/dist/components/HyperbolicGrid.js +6 -34
- package/dist/components/LandObject.d.ts +9 -0
- package/dist/components/LandObject.d.ts.map +1 -0
- package/dist/components/LandObject.js +15 -0
- package/dist/components/LensingGrid.d.ts +1 -1
- package/dist/components/LensingGrid.d.ts.map +1 -1
- package/dist/components/LensingGrid.js +3 -29
- package/dist/components/LightsManager.d.ts.map +1 -1
- package/dist/components/LightsManager.js +8 -0
- package/dist/components/ModelBoundary.d.ts +2 -0
- package/dist/components/ModelBoundary.d.ts.map +1 -1
- package/dist/components/ModelBoundary.js +3 -0
- package/dist/components/ModelPrimitive.d.ts.map +1 -1
- package/dist/components/ModelPrimitive.js +6 -0
- package/dist/components/MoireGrid.d.ts +1 -1
- package/dist/components/MoireGrid.d.ts.map +1 -1
- package/dist/components/MoireGrid.js +6 -35
- package/dist/components/MoonDisc.d.ts +11 -0
- package/dist/components/MoonDisc.d.ts.map +1 -0
- package/dist/components/MoonDisc.js +128 -0
- package/dist/components/ObjectNode.d.ts.map +1 -1
- package/dist/components/ObjectNode.js +10 -10
- package/dist/components/ObjectsRenderer.d.ts.map +1 -1
- package/dist/components/ObjectsRenderer.js +7 -5
- package/dist/components/OceanBuilder.d.ts.map +1 -1
- package/dist/components/OceanBuilder.js +2 -0
- package/dist/components/ParastichyGrid.d.ts +1 -1
- package/dist/components/ParastichyGrid.d.ts.map +1 -1
- package/dist/components/ParastichyGrid.js +3 -30
- package/dist/components/ParticlesGenerator.d.ts.map +1 -1
- package/dist/components/ParticlesGenerator.js +44 -24
- package/dist/components/PhyllotaxisGrid.d.ts +1 -1
- package/dist/components/PhyllotaxisGrid.d.ts.map +1 -1
- package/dist/components/PhyllotaxisGrid.js +3 -32
- package/dist/components/PickVolume.d.ts +17 -0
- package/dist/components/PickVolume.d.ts.map +1 -0
- package/dist/components/PickVolume.js +20 -0
- package/dist/components/ProjectLoader.d.ts +5 -3
- package/dist/components/ProjectLoader.d.ts.map +1 -1
- package/dist/components/ProjectLoader.js +6 -3
- package/dist/components/QuasiGrid.d.ts +1 -1
- package/dist/components/QuasiGrid.d.ts.map +1 -1
- package/dist/components/QuasiGrid.js +6 -33
- package/dist/components/RadarGrid.d.ts +1 -1
- package/dist/components/RadarGrid.d.ts.map +1 -1
- package/dist/components/RadarGrid.js +6 -34
- package/dist/components/ReactionDiffusionGrid.d.ts +1 -1
- package/dist/components/ReactionDiffusionGrid.d.ts.map +1 -1
- package/dist/components/ReactionDiffusionGrid.js +6 -35
- package/dist/components/SceneBuilder.d.ts +25 -3
- package/dist/components/SceneBuilder.d.ts.map +1 -1
- package/dist/components/SceneBuilder.js +68 -38
- package/dist/components/SkyController.d.ts +25 -1
- package/dist/components/SkyController.d.ts.map +1 -1
- package/dist/components/SkyController.js +189 -130
- package/dist/components/SkyMesh.d.ts.map +1 -1
- package/dist/components/SkyMesh.js +26 -1
- package/dist/components/SkyStars.d.ts +11 -0
- package/dist/components/SkyStars.d.ts.map +1 -0
- package/dist/components/SkyStars.js +268 -0
- package/dist/components/SkySystem.d.ts +3 -3
- package/dist/components/SkySystem.d.ts.map +1 -1
- package/dist/components/SkySystem.js +8 -2
- package/dist/components/Sun.d.ts +15 -1
- package/dist/components/Sun.d.ts.map +1 -1
- package/dist/components/Sun.js +64 -3
- package/dist/components/SunLight.d.ts +6 -1
- package/dist/components/SunLight.d.ts.map +1 -1
- package/dist/components/SunLight.js +96 -44
- package/dist/components/TerrainBuilder.d.ts.map +1 -1
- package/dist/components/TerrainBuilder.js +2 -0
- package/dist/components/TextGenerator.d.ts +9 -0
- package/dist/components/TextGenerator.d.ts.map +1 -0
- package/dist/components/TextGenerator.js +30 -0
- package/dist/components/TruchetGrid.d.ts +1 -1
- package/dist/components/TruchetGrid.d.ts.map +1 -1
- package/dist/components/TruchetGrid.js +3 -30
- package/dist/components/VoronoiGrid.d.ts +1 -1
- package/dist/components/VoronoiGrid.d.ts.map +1 -1
- package/dist/components/VoronoiGrid.js +6 -33
- package/dist/components/WallpaperGrid.d.ts +1 -1
- package/dist/components/WallpaperGrid.d.ts.map +1 -1
- package/dist/components/WallpaperGrid.js +6 -35
- package/dist/components/environment/Rain.d.ts +15 -0
- package/dist/components/environment/Rain.d.ts.map +1 -0
- package/dist/components/environment/Rain.js +110 -0
- package/dist/components/environment/Rainbow.d.ts +20 -0
- package/dist/components/environment/Rainbow.d.ts.map +1 -0
- package/dist/components/environment/Rainbow.js +974 -0
- package/dist/components/environment/Sandstorm.d.ts +20 -0
- package/dist/components/environment/Sandstorm.d.ts.map +1 -0
- package/dist/components/environment/Sandstorm.js +776 -0
- package/dist/components/environment/Snow.d.ts +20 -0
- package/dist/components/environment/Snow.d.ts.map +1 -0
- package/dist/components/environment/Snow.js +609 -0
- package/dist/components/environment/Thunderstorm.d.ts +20 -0
- package/dist/components/environment/Thunderstorm.d.ts.map +1 -0
- package/dist/components/environment/Thunderstorm.js +731 -0
- package/dist/components/environment/Tornado.d.ts +20 -0
- package/dist/components/environment/Tornado.d.ts.map +1 -0
- package/dist/components/environment/Tornado.js +762 -0
- package/dist/components/environment/index.d.ts +13 -0
- package/dist/components/environment/index.d.ts.map +1 -0
- package/dist/components/environment/index.js +7 -0
- package/dist/components/index.d.ts +11 -18
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +9 -10
- package/dist/components/land/LandPatch.d.ts +15 -0
- package/dist/components/land/LandPatch.d.ts.map +1 -0
- package/dist/components/land/LandPatch.js +170 -0
- package/dist/components/land/index.d.ts +3 -0
- package/dist/components/land/index.d.ts.map +1 -0
- package/dist/components/land/index.js +1 -0
- package/dist/components/particles/BioluminescentWakeParticles.d.ts +5 -0
- package/dist/components/particles/BioluminescentWakeParticles.d.ts.map +1 -1
- package/dist/components/particles/BioluminescentWakeParticles.js +2 -1
- package/dist/components/particles/BrownianDustParticles.d.ts +5 -0
- package/dist/components/particles/BrownianDustParticles.d.ts.map +1 -1
- package/dist/components/particles/BrownianDustParticles.js +2 -0
- package/dist/components/particles/ChladniSandParticles.d.ts +5 -0
- package/dist/components/particles/ChladniSandParticles.d.ts.map +1 -1
- package/dist/components/particles/ChladniSandParticles.js +2 -1
- package/dist/components/particles/ElectronOrbitalsParticles.d.ts +5 -0
- package/dist/components/particles/ElectronOrbitalsParticles.d.ts.map +1 -1
- package/dist/components/particles/ElectronOrbitalsParticles.js +2 -1
- package/dist/components/particles/FaradayPowderParticles.d.ts +5 -0
- package/dist/components/particles/FaradayPowderParticles.d.ts.map +1 -1
- package/dist/components/particles/FaradayPowderParticles.js +2 -1
- package/dist/components/particles/GrinderSparksParticles.d.ts +5 -0
- package/dist/components/particles/GrinderSparksParticles.d.ts.map +1 -1
- package/dist/components/particles/GrinderSparksParticles.js +2 -1
- package/dist/components/particles/MagneticBottleParticles.d.ts +5 -0
- package/dist/components/particles/MagneticBottleParticles.d.ts.map +1 -1
- package/dist/components/particles/MagneticBottleParticles.js +2 -1
- package/dist/components/particles/NeonRainParticles.d.ts +5 -0
- package/dist/components/particles/NeonRainParticles.d.ts.map +1 -1
- package/dist/components/particles/NeonRainParticles.js +2 -1
- package/dist/components/particles/ShapeBurstParticles.d.ts +5 -0
- package/dist/components/particles/ShapeBurstParticles.d.ts.map +1 -1
- package/dist/components/particles/ShapeBurstParticles.js +2 -1
- package/dist/components/particles/ShapeFlowParticles.d.ts +5 -0
- package/dist/components/particles/ShapeFlowParticles.d.ts.map +1 -1
- package/dist/components/particles/ShapeFlowParticles.js +2 -1
- package/dist/components/particles/TidalStreamParticles.d.ts +5 -0
- package/dist/components/particles/TidalStreamParticles.d.ts.map +1 -1
- package/dist/components/particles/TidalStreamParticles.js +2 -0
- package/dist/components/space/Earth.d.ts +16 -0
- package/dist/components/space/Earth.d.ts.map +1 -0
- package/dist/components/space/Earth.js +75 -0
- package/dist/components/space/ShootingStar.d.ts +21 -0
- package/dist/components/space/ShootingStar.d.ts.map +1 -0
- package/dist/components/space/ShootingStar.js +101 -0
- package/dist/components/space/ShootingStars.d.ts +16 -0
- package/dist/components/space/ShootingStars.d.ts.map +1 -0
- package/dist/components/space/ShootingStars.js +71 -0
- package/dist/components/space/SolarSystem.d.ts +16 -0
- package/dist/components/space/SolarSystem.d.ts.map +1 -0
- package/dist/components/space/SolarSystem.js +141 -0
- package/dist/components/space/Stars.d.ts +20 -0
- package/dist/components/space/Stars.d.ts.map +1 -0
- package/dist/components/space/Stars.js +160 -0
- package/dist/components/space/index.d.ts +11 -0
- package/dist/components/space/index.d.ts.map +1 -0
- package/dist/components/space/index.js +8 -0
- package/dist/components/terrain/TerrainSurface.d.ts.map +1 -1
- package/dist/components/terrain/TerrainSurface.js +27 -3
- package/dist/components/terrain/types.d.ts +5 -1
- package/dist/components/terrain/types.d.ts.map +1 -1
- package/dist/components/text/BurnAwayText.d.ts +15 -0
- package/dist/components/text/BurnAwayText.d.ts.map +1 -0
- package/dist/components/text/BurnAwayText.js +4 -0
- package/dist/components/text/ChalkboardText.d.ts +15 -0
- package/dist/components/text/ChalkboardText.d.ts.map +1 -0
- package/dist/components/text/ChalkboardText.js +4 -0
- package/dist/components/text/ConstellationText.d.ts +15 -0
- package/dist/components/text/ConstellationText.d.ts.map +1 -0
- package/dist/components/text/ConstellationText.js +4 -0
- package/dist/components/text/EmbroideryText.d.ts +15 -0
- package/dist/components/text/EmbroideryText.d.ts.map +1 -0
- package/dist/components/text/EmbroideryText.js +4 -0
- package/dist/components/text/FourierSketchText.d.ts +15 -0
- package/dist/components/text/FourierSketchText.d.ts.map +1 -0
- package/dist/components/text/FourierSketchText.js +4 -0
- package/dist/components/text/FrostGrowthText.d.ts +15 -0
- package/dist/components/text/FrostGrowthText.d.ts.map +1 -0
- package/dist/components/text/FrostGrowthText.js +4 -0
- package/dist/components/text/HandwritingText.d.ts +15 -0
- package/dist/components/text/HandwritingText.d.ts.map +1 -0
- package/dist/components/text/HandwritingText.js +4 -0
- package/dist/components/text/InkBleedText.d.ts +15 -0
- package/dist/components/text/InkBleedText.d.ts.map +1 -0
- package/dist/components/text/InkBleedText.js +4 -0
- package/dist/components/text/LightPaintingText.d.ts +15 -0
- package/dist/components/text/LightPaintingText.d.ts.map +1 -0
- package/dist/components/text/LightPaintingText.js +4 -0
- package/dist/components/text/LiquidMetalText.d.ts +15 -0
- package/dist/components/text/LiquidMetalText.d.ts.map +1 -0
- package/dist/components/text/LiquidMetalText.js +4 -0
- package/dist/components/text/NeonTubeText.d.ts +15 -0
- package/dist/components/text/NeonTubeText.d.ts.map +1 -0
- package/dist/components/text/NeonTubeText.js +4 -0
- package/dist/components/text/PlainText.d.ts +15 -0
- package/dist/components/text/PlainText.d.ts.map +1 -0
- package/dist/components/text/PlainText.js +4 -0
- package/dist/components/text/PlasmaDischargeText.d.ts +15 -0
- package/dist/components/text/PlasmaDischargeText.d.ts.map +1 -0
- package/dist/components/text/PlasmaDischargeText.js +4 -0
- package/dist/components/text/TextObjectView.d.ts +14 -0
- package/dist/components/text/TextObjectView.d.ts.map +1 -0
- package/dist/components/text/TextObjectView.js +17 -0
- package/dist/components/text/engine/fieldkit.d.ts +24 -0
- package/dist/components/text/engine/fieldkit.d.ts.map +1 -0
- package/dist/components/text/engine/fieldkit.js +201 -0
- package/dist/components/text/engine/glyphs.d.ts +19 -0
- package/dist/components/text/engine/glyphs.d.ts.map +1 -0
- package/dist/components/text/engine/glyphs.js +269 -0
- package/dist/components/text/engine/looks/burnAway.d.ts +144 -0
- package/dist/components/text/engine/looks/burnAway.d.ts.map +1 -0
- package/dist/components/text/engine/looks/burnAway.js +593 -0
- package/dist/components/text/engine/looks/chalkboard.d.ts +135 -0
- package/dist/components/text/engine/looks/chalkboard.d.ts.map +1 -0
- package/dist/components/text/engine/looks/chalkboard.js +426 -0
- package/dist/components/text/engine/looks/constellation.d.ts +111 -0
- package/dist/components/text/engine/looks/constellation.d.ts.map +1 -0
- package/dist/components/text/engine/looks/constellation.js +496 -0
- package/dist/components/text/engine/looks/embroidery.d.ts +165 -0
- package/dist/components/text/engine/looks/embroidery.d.ts.map +1 -0
- package/dist/components/text/engine/looks/embroidery.js +645 -0
- package/dist/components/text/engine/looks/frostGrowth.d.ts +109 -0
- package/dist/components/text/engine/looks/frostGrowth.d.ts.map +1 -0
- package/dist/components/text/engine/looks/frostGrowth.js +727 -0
- package/dist/components/text/engine/looks/index.d.ts +2 -0
- package/dist/components/text/engine/looks/index.d.ts.map +1 -0
- package/dist/components/text/engine/looks/index.js +49 -0
- package/dist/components/text/engine/looks/inkBleed.d.ts +103 -0
- package/dist/components/text/engine/looks/inkBleed.d.ts.map +1 -0
- package/dist/components/text/engine/looks/inkBleed.js +590 -0
- package/dist/components/text/engine/looks/lightPainting.d.ts +132 -0
- package/dist/components/text/engine/looks/lightPainting.d.ts.map +1 -0
- package/dist/components/text/engine/looks/lightPainting.js +567 -0
- package/dist/components/text/engine/looks/liquidMetal.d.ts +135 -0
- package/dist/components/text/engine/looks/liquidMetal.d.ts.map +1 -0
- package/dist/components/text/engine/looks/liquidMetal.js +655 -0
- package/dist/components/text/engine/looks/plain.d.ts +146 -0
- package/dist/components/text/engine/looks/plain.d.ts.map +1 -0
- package/dist/components/text/engine/looks/plain.js +104 -0
- package/dist/components/text/engine/looks/plasmaDischarge.d.ts +126 -0
- package/dist/components/text/engine/looks/plasmaDischarge.d.ts.map +1 -0
- package/dist/components/text/engine/looks/plasmaDischarge.js +763 -0
- package/dist/components/text/engine/methods.d.ts +19 -0
- package/dist/components/text/engine/methods.d.ts.map +1 -0
- package/dist/components/text/engine/methods.js +126 -0
- package/dist/components/text/engine/playback.d.ts +40 -0
- package/dist/components/text/engine/playback.d.ts.map +1 -0
- package/dist/components/text/engine/playback.js +114 -0
- package/dist/components/text/engine/ribbon.d.ts +58 -0
- package/dist/components/text/engine/ribbon.d.ts.map +1 -0
- package/dist/components/text/engine/ribbon.js +250 -0
- package/dist/components/text/engine/variants.d.ts +159 -0
- package/dist/components/text/engine/variants.d.ts.map +1 -0
- package/dist/components/text/engine/variants.js +378 -0
- package/dist/components/text/fonts/architects-daughter.outline.d.ts +3 -0
- package/dist/components/text/fonts/architects-daughter.outline.d.ts.map +1 -0
- package/dist/components/text/fonts/architects-daughter.outline.js +4 -0
- package/dist/components/text/fonts/architects-daughter.strokes.d.ts +3 -0
- package/dist/components/text/fonts/architects-daughter.strokes.d.ts.map +1 -0
- package/dist/components/text/fonts/architects-daughter.strokes.js +4 -0
- package/dist/components/text/fonts/bebas-neue.outline.d.ts +3 -0
- package/dist/components/text/fonts/bebas-neue.outline.d.ts.map +1 -0
- package/dist/components/text/fonts/bebas-neue.outline.js +4 -0
- package/dist/components/text/fonts/bebas-neue.strokes.d.ts +3 -0
- package/dist/components/text/fonts/bebas-neue.strokes.d.ts.map +1 -0
- package/dist/components/text/fonts/bebas-neue.strokes.js +4 -0
- package/dist/components/text/fonts/caveat.outline.d.ts +3 -0
- package/dist/components/text/fonts/caveat.outline.d.ts.map +1 -0
- package/dist/components/text/fonts/caveat.outline.js +4 -0
- package/dist/components/text/fonts/caveat.strokes.d.ts +3 -0
- package/dist/components/text/fonts/caveat.strokes.d.ts.map +1 -0
- package/dist/components/text/fonts/caveat.strokes.js +4 -0
- package/dist/components/text/fonts/courgette.outline.d.ts +3 -0
- package/dist/components/text/fonts/courgette.outline.d.ts.map +1 -0
- package/dist/components/text/fonts/courgette.outline.js +4 -0
- package/dist/components/text/fonts/courgette.strokes.d.ts +3 -0
- package/dist/components/text/fonts/courgette.strokes.d.ts.map +1 -0
- package/dist/components/text/fonts/courgette.strokes.js +4 -0
- package/dist/components/text/fonts/dancing-script.outline.d.ts +3 -0
- package/dist/components/text/fonts/dancing-script.outline.d.ts.map +1 -0
- package/dist/components/text/fonts/dancing-script.outline.js +4 -0
- package/dist/components/text/fonts/dancing-script.strokes.d.ts +3 -0
- package/dist/components/text/fonts/dancing-script.strokes.d.ts.map +1 -0
- package/dist/components/text/fonts/dancing-script.strokes.js +4 -0
- package/dist/components/text/fonts/gochi-hand.outline.d.ts +3 -0
- package/dist/components/text/fonts/gochi-hand.outline.d.ts.map +1 -0
- package/dist/components/text/fonts/gochi-hand.outline.js +4 -0
- package/dist/components/text/fonts/gochi-hand.strokes.d.ts +3 -0
- package/dist/components/text/fonts/gochi-hand.strokes.d.ts.map +1 -0
- package/dist/components/text/fonts/gochi-hand.strokes.js +4 -0
- package/dist/components/text/fonts/handlee.outline.d.ts +3 -0
- package/dist/components/text/fonts/handlee.outline.d.ts.map +1 -0
- package/dist/components/text/fonts/handlee.outline.js +4 -0
- package/dist/components/text/fonts/handlee.strokes.d.ts +3 -0
- package/dist/components/text/fonts/handlee.strokes.d.ts.map +1 -0
- package/dist/components/text/fonts/handlee.strokes.js +4 -0
- package/dist/components/text/fonts/index.d.ts +5 -0
- package/dist/components/text/fonts/index.d.ts.map +1 -0
- package/dist/components/text/fonts/index.js +58 -0
- package/dist/components/text/fonts/indie-flower.outline.d.ts +3 -0
- package/dist/components/text/fonts/indie-flower.outline.d.ts.map +1 -0
- package/dist/components/text/fonts/indie-flower.outline.js +4 -0
- package/dist/components/text/fonts/indie-flower.strokes.d.ts +3 -0
- package/dist/components/text/fonts/indie-flower.strokes.d.ts.map +1 -0
- package/dist/components/text/fonts/indie-flower.strokes.js +4 -0
- package/dist/components/text/fonts/inter.outline.d.ts +3 -0
- package/dist/components/text/fonts/inter.outline.d.ts.map +1 -0
- package/dist/components/text/fonts/inter.outline.js +4 -0
- package/dist/components/text/fonts/inter.strokes.d.ts +3 -0
- package/dist/components/text/fonts/inter.strokes.d.ts.map +1 -0
- package/dist/components/text/fonts/inter.strokes.js +4 -0
- package/dist/components/text/fonts/kalam.outline.d.ts +3 -0
- package/dist/components/text/fonts/kalam.outline.d.ts.map +1 -0
- package/dist/components/text/fonts/kalam.outline.js +4 -0
- package/dist/components/text/fonts/kalam.strokes.d.ts +3 -0
- package/dist/components/text/fonts/kalam.strokes.d.ts.map +1 -0
- package/dist/components/text/fonts/kalam.strokes.js +4 -0
- package/dist/components/text/fonts/kaushan-script.outline.d.ts +3 -0
- package/dist/components/text/fonts/kaushan-script.outline.d.ts.map +1 -0
- package/dist/components/text/fonts/kaushan-script.outline.js +4 -0
- package/dist/components/text/fonts/kaushan-script.strokes.d.ts +3 -0
- package/dist/components/text/fonts/kaushan-script.strokes.d.ts.map +1 -0
- package/dist/components/text/fonts/kaushan-script.strokes.js +4 -0
- package/dist/components/text/fonts/lora.outline.d.ts +3 -0
- package/dist/components/text/fonts/lora.outline.d.ts.map +1 -0
- package/dist/components/text/fonts/lora.outline.js +4 -0
- package/dist/components/text/fonts/lora.strokes.d.ts +3 -0
- package/dist/components/text/fonts/lora.strokes.d.ts.map +1 -0
- package/dist/components/text/fonts/lora.strokes.js +4 -0
- package/dist/components/text/fonts/montserrat.outline.d.ts +3 -0
- package/dist/components/text/fonts/montserrat.outline.d.ts.map +1 -0
- package/dist/components/text/fonts/montserrat.outline.js +4 -0
- package/dist/components/text/fonts/montserrat.strokes.d.ts +3 -0
- package/dist/components/text/fonts/montserrat.strokes.d.ts.map +1 -0
- package/dist/components/text/fonts/montserrat.strokes.js +4 -0
- package/dist/components/text/fonts/mynerve.outline.d.ts +3 -0
- package/dist/components/text/fonts/mynerve.outline.d.ts.map +1 -0
- package/dist/components/text/fonts/mynerve.outline.js +4 -0
- package/dist/components/text/fonts/mynerve.strokes.d.ts +3 -0
- package/dist/components/text/fonts/mynerve.strokes.d.ts.map +1 -0
- package/dist/components/text/fonts/mynerve.strokes.js +4 -0
- package/dist/components/text/fonts/nanum-pen-script.outline.d.ts +3 -0
- package/dist/components/text/fonts/nanum-pen-script.outline.d.ts.map +1 -0
- package/dist/components/text/fonts/nanum-pen-script.outline.js +4 -0
- package/dist/components/text/fonts/nanum-pen-script.strokes.d.ts +3 -0
- package/dist/components/text/fonts/nanum-pen-script.strokes.d.ts.map +1 -0
- package/dist/components/text/fonts/nanum-pen-script.strokes.js +4 -0
- package/dist/components/text/fonts/oswald.outline.d.ts +3 -0
- package/dist/components/text/fonts/oswald.outline.d.ts.map +1 -0
- package/dist/components/text/fonts/oswald.outline.js +4 -0
- package/dist/components/text/fonts/oswald.strokes.d.ts +3 -0
- package/dist/components/text/fonts/oswald.strokes.d.ts.map +1 -0
- package/dist/components/text/fonts/oswald.strokes.js +4 -0
- package/dist/components/text/fonts/pacifico.outline.d.ts +3 -0
- package/dist/components/text/fonts/pacifico.outline.d.ts.map +1 -0
- package/dist/components/text/fonts/pacifico.outline.js +4 -0
- package/dist/components/text/fonts/pacifico.strokes.d.ts +3 -0
- package/dist/components/text/fonts/pacifico.strokes.d.ts.map +1 -0
- package/dist/components/text/fonts/pacifico.strokes.js +4 -0
- package/dist/components/text/fonts/patrick-hand.outline.d.ts +3 -0
- package/dist/components/text/fonts/patrick-hand.outline.d.ts.map +1 -0
- package/dist/components/text/fonts/patrick-hand.outline.js +4 -0
- package/dist/components/text/fonts/patrick-hand.strokes.d.ts +3 -0
- package/dist/components/text/fonts/patrick-hand.strokes.d.ts.map +1 -0
- package/dist/components/text/fonts/patrick-hand.strokes.js +4 -0
- package/dist/components/text/fonts/playfair-display.outline.d.ts +3 -0
- package/dist/components/text/fonts/playfair-display.outline.d.ts.map +1 -0
- package/dist/components/text/fonts/playfair-display.outline.js +4 -0
- package/dist/components/text/fonts/playfair-display.strokes.d.ts +3 -0
- package/dist/components/text/fonts/playfair-display.strokes.d.ts.map +1 -0
- package/dist/components/text/fonts/playfair-display.strokes.js +4 -0
- package/dist/components/text/fonts/poppins.outline.d.ts +3 -0
- package/dist/components/text/fonts/poppins.outline.d.ts.map +1 -0
- package/dist/components/text/fonts/poppins.outline.js +4 -0
- package/dist/components/text/fonts/poppins.strokes.d.ts +3 -0
- package/dist/components/text/fonts/poppins.strokes.d.ts.map +1 -0
- package/dist/components/text/fonts/poppins.strokes.js +4 -0
- package/dist/components/text/fonts/roboto.outline.d.ts +3 -0
- package/dist/components/text/fonts/roboto.outline.d.ts.map +1 -0
- package/dist/components/text/fonts/roboto.outline.js +4 -0
- package/dist/components/text/fonts/roboto.strokes.d.ts +3 -0
- package/dist/components/text/fonts/roboto.strokes.d.ts.map +1 -0
- package/dist/components/text/fonts/roboto.strokes.js +4 -0
- package/dist/components/text/fonts/satisfy.outline.d.ts +3 -0
- package/dist/components/text/fonts/satisfy.outline.d.ts.map +1 -0
- package/dist/components/text/fonts/satisfy.outline.js +4 -0
- package/dist/components/text/fonts/satisfy.strokes.d.ts +3 -0
- package/dist/components/text/fonts/satisfy.strokes.d.ts.map +1 -0
- package/dist/components/text/fonts/satisfy.strokes.js +4 -0
- package/dist/components/text/fonts/sriracha.outline.d.ts +3 -0
- package/dist/components/text/fonts/sriracha.outline.d.ts.map +1 -0
- package/dist/components/text/fonts/sriracha.outline.js +4 -0
- package/dist/components/text/fonts/sriracha.strokes.d.ts +3 -0
- package/dist/components/text/fonts/sriracha.strokes.d.ts.map +1 -0
- package/dist/components/text/fonts/sriracha.strokes.js +4 -0
- package/dist/components/text/index.d.ts +29 -0
- package/dist/components/text/index.d.ts.map +1 -0
- package/dist/components/text/index.js +14 -0
- package/dist/components/text/useTextObject.d.ts +22 -0
- package/dist/components/text/useTextObject.d.ts.map +1 -0
- package/dist/components/text/useTextObject.js +130 -0
- package/dist/components/water/OceanSurface.d.ts.map +1 -1
- package/dist/components/water/OceanSurface.js +3 -1
- package/dist/components/water/WaterBody.d.ts.map +1 -1
- package/dist/components/water/WaterBody.js +3 -1
- package/dist/components/water/types.d.ts +5 -1
- package/dist/components/water/types.d.ts.map +1 -1
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +6 -0
- 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/useCloudSun.d.ts +9 -4
- package/dist/hooks/useCloudSun.d.ts.map +1 -1
- package/dist/hooks/useCloudSun.js +17 -7
- package/dist/hooks/useConfigLive.d.ts +3 -2
- package/dist/hooks/useConfigLive.d.ts.map +1 -1
- package/dist/hooks/useContinuousEffects.d.ts.map +1 -1
- package/dist/hooks/useContinuousEffects.js +4 -10
- package/dist/hooks/useEnvironmentProbe.d.ts +3 -22
- package/dist/hooks/useEnvironmentProbe.d.ts.map +1 -1
- package/dist/hooks/useEnvironmentProbe.js +47 -8
- package/dist/hooks/useGridSurface.d.ts +3 -10
- package/dist/hooks/useGridSurface.d.ts.map +1 -1
- package/dist/hooks/useGridSurface.js +5 -31
- package/dist/hooks/useInteraction.d.ts.map +1 -1
- package/dist/hooks/useInteraction.js +19 -72
- package/dist/hooks/useLightConfig.d.ts +2 -1
- package/dist/hooks/useLightConfig.d.ts.map +1 -1
- package/dist/hooks/useOceanMaterial.d.ts +6 -2
- package/dist/hooks/useOceanMaterial.d.ts.map +1 -1
- package/dist/hooks/useOceanMaterial.js +37 -2
- package/dist/hooks/useSkyLive.d.ts +23 -0
- package/dist/hooks/useSkyLive.d.ts.map +1 -0
- package/dist/hooks/useSkyLive.js +30 -0
- package/dist/hooks/useSkyUniforms.d.ts.map +1 -1
- package/dist/hooks/useSkyUniforms.js +2 -10
- package/dist/hooks/useTerrainLive.d.ts +3 -1
- package/dist/hooks/useTerrainLive.d.ts.map +1 -1
- package/dist/hooks/useTerrainTextures.d.ts +38 -0
- package/dist/hooks/useTerrainTextures.d.ts.map +1 -0
- package/dist/hooks/useTerrainTextures.js +149 -0
- package/dist/index.d.ts +12 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -2
- package/dist/operations/catalogue/blastOff.d.ts +3 -0
- package/dist/operations/catalogue/blastOff.d.ts.map +1 -0
- package/dist/operations/catalogue/blastOff.js +118 -0
- package/dist/operations/catalogue/bounce.d.ts +3 -0
- package/dist/operations/catalogue/bounce.d.ts.map +1 -0
- package/dist/operations/catalogue/bounce.js +34 -0
- package/dist/operations/catalogue/curlSmoke.d.ts.map +1 -1
- package/dist/operations/catalogue/curlSmoke.js +3 -1
- package/dist/operations/catalogue/dissolve.d.ts.map +1 -1
- package/dist/operations/catalogue/dissolve.js +2 -1
- package/dist/operations/catalogue/driftUp.d.ts +3 -0
- package/dist/operations/catalogue/driftUp.d.ts.map +1 -0
- package/dist/operations/catalogue/driftUp.js +57 -0
- package/dist/operations/catalogue/emberAsh.d.ts.map +1 -1
- package/dist/operations/catalogue/emberAsh.js +2 -1
- package/dist/operations/catalogue/flip.d.ts.map +1 -1
- package/dist/operations/catalogue/flip.js +19 -9
- package/dist/operations/catalogue/float.d.ts +3 -0
- package/dist/operations/catalogue/float.d.ts.map +1 -0
- package/dist/operations/catalogue/float.js +39 -0
- package/dist/operations/catalogue/flock.d.ts.map +1 -1
- package/dist/operations/catalogue/flock.js +44 -9
- package/dist/operations/catalogue/flyBy.d.ts +3 -0
- package/dist/operations/catalogue/flyBy.d.ts.map +1 -0
- package/dist/operations/catalogue/flyBy.js +79 -0
- package/dist/operations/catalogue/frost.d.ts.map +1 -1
- package/dist/operations/catalogue/frost.js +10 -3
- package/dist/operations/catalogue/grow.d.ts +3 -0
- package/dist/operations/catalogue/grow.d.ts.map +1 -0
- package/dist/operations/catalogue/grow.js +19 -0
- package/dist/operations/catalogue/hologram.d.ts.map +1 -1
- package/dist/operations/catalogue/hologram.js +11 -5
- package/dist/operations/catalogue/inkBloom.d.ts.map +1 -1
- package/dist/operations/catalogue/inkBloom.js +46 -9
- package/dist/operations/catalogue/jelly.d.ts.map +1 -1
- package/dist/operations/catalogue/jelly.js +18 -8
- package/dist/operations/catalogue/knockAway.d.ts +3 -0
- package/dist/operations/catalogue/knockAway.d.ts.map +1 -0
- package/dist/operations/catalogue/knockAway.js +74 -0
- package/dist/operations/catalogue/leafFall.d.ts +3 -0
- package/dist/operations/catalogue/leafFall.d.ts.map +1 -0
- package/dist/operations/catalogue/leafFall.js +74 -0
- package/dist/operations/catalogue/lidarScan.d.ts.map +1 -1
- package/dist/operations/catalogue/lidarScan.js +4 -1
- package/dist/operations/catalogue/liquidMetal.d.ts.map +1 -1
- package/dist/operations/catalogue/liquidMetal.js +41 -12
- package/dist/operations/catalogue/metalize.d.ts.map +1 -1
- package/dist/operations/catalogue/metalize.js +8 -2
- package/dist/operations/catalogue/motionTrail.d.ts +6 -0
- package/dist/operations/catalogue/motionTrail.d.ts.map +1 -0
- package/dist/operations/catalogue/motionTrail.js +221 -0
- package/dist/operations/catalogue/particleSwarm.d.ts.map +1 -1
- package/dist/operations/catalogue/particleSwarm.js +29 -9
- package/dist/operations/catalogue/petalPeel.d.ts.map +1 -1
- package/dist/operations/catalogue/petalPeel.js +33 -9
- package/dist/operations/catalogue/petrify.d.ts.map +1 -1
- package/dist/operations/catalogue/petrify.js +9 -3
- package/dist/operations/catalogue/physicalExit.d.ts +55 -0
- package/dist/operations/catalogue/physicalExit.d.ts.map +1 -0
- package/dist/operations/catalogue/physicalExit.js +165 -0
- package/dist/operations/catalogue/physicalHeld.d.ts +41 -0
- package/dist/operations/catalogue/physicalHeld.d.ts.map +1 -0
- package/dist/operations/catalogue/physicalHeld.js +78 -0
- package/dist/operations/catalogue/physicalMix.d.ts +45 -0
- package/dist/operations/catalogue/physicalMix.d.ts.map +1 -0
- package/dist/operations/catalogue/physicalMix.js +144 -0
- package/dist/operations/catalogue/pop.d.ts +3 -0
- package/dist/operations/catalogue/pop.d.ts.map +1 -0
- package/dist/operations/catalogue/pop.js +44 -0
- package/dist/operations/catalogue/portal.d.ts.map +1 -1
- package/dist/operations/catalogue/portal.js +33 -11
- package/dist/operations/catalogue/print3d.d.ts.map +1 -1
- package/dist/operations/catalogue/print3d.js +5 -1
- package/dist/operations/catalogue/pulse.d.ts +3 -0
- package/dist/operations/catalogue/pulse.d.ts.map +1 -0
- package/dist/operations/catalogue/pulse.js +29 -0
- package/dist/operations/catalogue/restPose.d.ts +5 -7
- package/dist/operations/catalogue/restPose.d.ts.map +1 -1
- package/dist/operations/catalogue/restPose.js +18 -48
- package/dist/operations/catalogue/rotate.d.ts +3 -0
- package/dist/operations/catalogue/rotate.d.ts.map +1 -0
- package/dist/operations/catalogue/rotate.js +49 -0
- package/dist/operations/catalogue/sandErosion.d.ts.map +1 -1
- package/dist/operations/catalogue/sandErosion.js +36 -14
- package/dist/operations/catalogue/shake.d.ts +3 -0
- package/dist/operations/catalogue/shake.d.ts.map +1 -0
- package/dist/operations/catalogue/shake.js +31 -0
- package/dist/operations/catalogue/shatter.d.ts.map +1 -1
- package/dist/operations/catalogue/shatter.js +5 -1
- package/dist/operations/catalogue/slam.d.ts +3 -0
- package/dist/operations/catalogue/slam.d.ts.map +1 -0
- package/dist/operations/catalogue/slam.js +89 -0
- package/dist/operations/catalogue/slingshot.d.ts +3 -0
- package/dist/operations/catalogue/slingshot.d.ts.map +1 -0
- package/dist/operations/catalogue/slingshot.js +88 -0
- package/dist/operations/catalogue/spin.d.ts.map +1 -1
- package/dist/operations/catalogue/spin.js +24 -13
- package/dist/operations/catalogue/sway.d.ts +3 -0
- package/dist/operations/catalogue/sway.d.ts.map +1 -0
- package/dist/operations/catalogue/sway.js +23 -0
- package/dist/operations/catalogue/swirl.d.ts.map +1 -1
- package/dist/operations/catalogue/swirl.js +6 -5
- package/dist/operations/catalogue/teleport.d.ts.map +1 -1
- package/dist/operations/catalogue/teleport.js +43 -12
- package/dist/operations/catalogue/trailCore.d.ts +89 -0
- package/dist/operations/catalogue/trailCore.d.ts.map +1 -0
- package/dist/operations/catalogue/trailCore.js +190 -0
- package/dist/operations/catalogue/trailGhosts.d.ts +5 -0
- package/dist/operations/catalogue/trailGhosts.d.ts.map +1 -0
- package/dist/operations/catalogue/trailGhosts.js +179 -0
- package/dist/operations/catalogue/trailStampStyles.d.ts +11 -0
- package/dist/operations/catalogue/trailStampStyles.d.ts.map +1 -0
- package/dist/operations/catalogue/trailStampStyles.js +479 -0
- package/dist/operations/catalogue/trailStamps.d.ts +57 -0
- package/dist/operations/catalogue/trailStamps.d.ts.map +1 -0
- package/dist/operations/catalogue/trailStamps.js +349 -0
- package/dist/operations/catalogue/trailStreaks.d.ts +3 -0
- package/dist/operations/catalogue/trailStreaks.d.ts.map +1 -0
- package/dist/operations/catalogue/trailStreaks.js +147 -0
- package/dist/operations/catalogue/transitionField.d.ts +30 -0
- package/dist/operations/catalogue/transitionField.d.ts.map +1 -1
- package/dist/operations/catalogue/transitionField.js +21 -0
- package/dist/operations/catalogue/turnAway.d.ts +3 -0
- package/dist/operations/catalogue/turnAway.d.ts.map +1 -0
- package/dist/operations/catalogue/turnAway.js +54 -0
- package/dist/operations/catalogue/unweave.d.ts.map +1 -1
- package/dist/operations/catalogue/unweave.js +34 -15
- package/dist/operations/catalogue/vortexDrain.d.ts +3 -0
- package/dist/operations/catalogue/vortexDrain.d.ts.map +1 -0
- package/dist/operations/catalogue/vortexDrain.js +68 -0
- package/dist/operations/catalogue/voxelize.d.ts.map +1 -1
- package/dist/operations/catalogue/voxelize.js +37 -10
- package/dist/operations/catalogue/warp.d.ts +3 -0
- package/dist/operations/catalogue/warp.d.ts.map +1 -0
- package/dist/operations/catalogue/warp.js +73 -0
- package/dist/operations/catalogue/whoosh.d.ts +3 -0
- package/dist/operations/catalogue/whoosh.d.ts.map +1 -0
- package/dist/operations/catalogue/whoosh.js +84 -0
- package/dist/operations/catalogue/wobble.d.ts +3 -0
- package/dist/operations/catalogue/wobble.d.ts.map +1 -0
- package/dist/operations/catalogue/wobble.js +23 -0
- package/dist/operations/clipPreview.d.ts +3 -0
- package/dist/operations/clipPreview.d.ts.map +1 -0
- package/dist/operations/clipPreview.js +20 -0
- package/dist/operations/groupFanout.d.ts +96 -0
- package/dist/operations/groupFanout.d.ts.map +1 -0
- package/dist/operations/groupFanout.js +365 -0
- package/dist/operations/groups.d.ts +20 -0
- package/dist/operations/groups.d.ts.map +1 -0
- package/dist/operations/groups.js +66 -0
- package/dist/operations/index.d.ts +5 -2
- package/dist/operations/index.d.ts.map +1 -1
- package/dist/operations/index.js +5 -2
- package/dist/operations/objectEffects.d.ts +161 -6
- package/dist/operations/objectEffects.d.ts.map +1 -1
- package/dist/operations/objectEffects.js +1091 -17
- package/dist/operations/registry.d.ts.map +1 -1
- package/dist/operations/registry.js +24 -2
- package/dist/operations/runtime.d.ts +57 -2
- package/dist/operations/runtime.d.ts.map +1 -1
- package/dist/operations/runtime.js +161 -18
- package/dist/operations/types.d.ts +60 -3
- package/dist/operations/types.d.ts.map +1 -1
- package/dist/operations/types.js +5 -1
- package/dist/operations/useObjectEffectLayers.d.ts +2 -2
- package/dist/operations/useObjectEffectLayers.d.ts.map +1 -1
- package/dist/operations/useObjectEffectLayers.js +31 -10
- package/dist/operations/usePresentedVisibility.d.ts +10 -0
- package/dist/operations/usePresentedVisibility.d.ts.map +1 -0
- package/dist/operations/usePresentedVisibility.js +53 -0
- package/dist/presets/terrainBiomes.d.ts +67 -0
- package/dist/presets/terrainBiomes.d.ts.map +1 -0
- package/dist/presets/terrainBiomes.js +294 -0
- package/dist/presets/terrainPresets.d.ts +6 -0
- package/dist/presets/terrainPresets.d.ts.map +1 -1
- package/dist/presets/terrainPresets.js +26 -38
- package/dist/shaders/glsl/oceanCore.glsl.d.ts +2 -2
- package/dist/shaders/glsl/oceanCore.glsl.d.ts.map +1 -1
- package/dist/shaders/glsl/oceanCore.glsl.js +17 -0
- package/dist/shaders/glsl/surfaceCore.glsl.d.ts +21 -0
- package/dist/shaders/glsl/surfaceCore.glsl.d.ts.map +1 -0
- package/dist/shaders/glsl/surfaceCore.glsl.js +120 -0
- package/dist/shaders/glsl/terrainCore.glsl.d.ts +16 -3
- package/dist/shaders/glsl/terrainCore.glsl.d.ts.map +1 -1
- package/dist/shaders/glsl/terrainCore.glsl.js +266 -20
- package/dist/shaders/ocean/OceanSurfaceMaterial.d.ts +2 -0
- package/dist/shaders/ocean/OceanSurfaceMaterial.d.ts.map +1 -1
- package/dist/shaders/ocean/OceanSurfaceMaterial.js +3 -0
- package/dist/shaders/terrain/TerrainMaterial.d.ts +17 -0
- package/dist/shaders/terrain/TerrainMaterial.d.ts.map +1 -1
- package/dist/shaders/terrain/TerrainMaterial.js +107 -8
- package/dist/triggers/engine.d.ts +44 -0
- package/dist/triggers/engine.d.ts.map +1 -0
- package/dist/triggers/engine.js +168 -0
- package/dist/triggers/hosts/actions.d.ts +8 -0
- package/dist/triggers/hosts/actions.d.ts.map +1 -0
- package/dist/triggers/hosts/actions.js +22 -0
- package/dist/triggers/hosts/interactions.d.ts +6 -0
- package/dist/triggers/hosts/interactions.d.ts.map +1 -0
- package/dist/triggers/hosts/interactions.js +4 -0
- package/dist/triggers/hosts/timelineCues.d.ts +2 -0
- package/dist/triggers/hosts/timelineCues.d.ts.map +1 -0
- package/dist/triggers/hosts/timelineCues.js +22 -0
- package/dist/triggers/index.d.ts +13 -0
- package/dist/triggers/index.d.ts.map +1 -0
- package/dist/triggers/index.js +9 -0
- package/dist/triggers/kinds/action.d.ts +2 -0
- package/dist/triggers/kinds/action.d.ts.map +1 -0
- package/dist/triggers/kinds/action.js +31 -0
- package/dist/triggers/kinds/animations.d.ts +2 -0
- package/dist/triggers/kinds/animations.d.ts.map +1 -0
- package/dist/triggers/kinds/animations.js +75 -0
- package/dist/triggers/kinds/effects.d.ts +2 -0
- package/dist/triggers/kinds/effects.d.ts.map +1 -0
- package/dist/triggers/kinds/effects.js +27 -0
- package/dist/triggers/kinds/index.d.ts +4 -0
- package/dist/triggers/kinds/index.d.ts.map +1 -0
- package/dist/triggers/kinds/index.js +4 -0
- package/dist/triggers/log.d.ts +21 -0
- package/dist/triggers/log.d.ts.map +1 -0
- package/dist/triggers/log.js +43 -0
- package/dist/triggers/readiness.d.ts +40 -0
- package/dist/triggers/readiness.d.ts.map +1 -0
- package/dist/triggers/readiness.js +158 -0
- package/dist/triggers/registry.d.ts +41 -0
- package/dist/triggers/registry.d.ts.map +1 -0
- package/dist/triggers/registry.js +7 -0
- package/dist/types/gridConfigs.d.ts +18 -23
- package/dist/types/gridConfigs.d.ts.map +1 -1
- package/dist/ui/UiAnchorUpdater.d.ts +10 -0
- package/dist/ui/UiAnchorUpdater.d.ts.map +1 -0
- package/dist/ui/UiAnchorUpdater.js +111 -0
- package/dist/ui/UiLayers.d.ts +20 -0
- package/dist/ui/UiLayers.d.ts.map +1 -0
- package/dist/ui/UiLayers.js +57 -0
- package/dist/ui/index.d.ts +9 -0
- package/dist/ui/index.d.ts.map +1 -0
- package/dist/ui/index.js +6 -0
- package/dist/ui/uiAnchors.d.ts +21 -0
- package/dist/ui/uiAnchors.d.ts.map +1 -0
- package/dist/ui/uiAnchors.js +22 -0
- package/dist/ui/uiBaseStyles.d.ts +2 -0
- package/dist/ui/uiBaseStyles.d.ts.map +1 -0
- package/dist/ui/uiBaseStyles.js +100 -0
- package/dist/ui/uiBinder.d.ts +30 -0
- package/dist/ui/uiBinder.d.ts.map +1 -0
- package/dist/ui/uiBinder.js +344 -0
- package/dist/utils/configAnimations.d.ts.map +1 -1
- package/dist/utils/configAnimations.js +5 -1
- package/dist/utils/gridConfig.d.ts +1 -1
- package/dist/utils/gridConfig.d.ts.map +1 -1
- package/dist/utils/gridConfig.js +1 -1
- package/dist/utils/landPatch.d.ts +33 -0
- package/dist/utils/landPatch.d.ts.map +1 -0
- package/dist/utils/landPatch.js +114 -0
- package/dist/utils/pickProxy.d.ts +11 -0
- package/dist/utils/pickProxy.d.ts.map +1 -0
- package/dist/utils/pickProxy.js +36 -0
- package/dist/utils/renderedSky.d.ts +32 -0
- package/dist/utils/renderedSky.d.ts.map +1 -0
- package/dist/utils/renderedSky.js +57 -0
- package/dist/utils/shapes.d.ts +4 -0
- package/dist/utils/shapes.d.ts.map +1 -1
- package/dist/utils/shapes.js +4 -1
- package/dist/utils/skyMoon.d.ts +35 -0
- package/dist/utils/skyMoon.d.ts.map +1 -0
- package/dist/utils/skyMoon.js +41 -0
- package/dist/utils/terrainHeight.d.ts +4 -0
- package/dist/utils/terrainHeight.d.ts.map +1 -0
- package/dist/utils/terrainHeight.js +150 -0
- package/dist/utils/terrainTextureResolver.d.ts +18 -0
- package/dist/utils/terrainTextureResolver.d.ts.map +1 -0
- package/dist/utils/terrainTextureResolver.js +17 -0
- package/dist/utils/terrainUniforms.d.ts +17 -0
- package/dist/utils/terrainUniforms.d.ts.map +1 -1
- package/dist/utils/terrainUniforms.js +84 -0
- package/dist/utils/textShape.d.ts +24 -0
- package/dist/utils/textShape.d.ts.map +1 -0
- package/dist/utils/textShape.js +102 -0
- package/dist/utils/textureArrays.d.ts +29 -0
- package/dist/utils/textureArrays.d.ts.map +1 -0
- package/dist/utils/textureArrays.js +140 -0
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClipPlayer.d.ts","sourceRoot":"","sources":["../../src/animationsV2/ClipPlayer.tsx"],"names":[],"mappings":"AAwBA,OAAO,KAA4B,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"ClipPlayer.d.ts","sourceRoot":"","sources":["../../src/animationsV2/ClipPlayer.tsx"],"names":[],"mappings":"AAwBA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAKjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEhE,MAAM,WAAW,eAAe;IAC5B,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,GAAG,CAAC;IACpC,wDAAwD;IACxD,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,cAAc,GAAG,SAAS,CAAC;IACvD,6FAA6F;IAC7F,QAAQ,CAAC,EAAE;QAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC;QAAC,KAAK,EAAE,aAAa,EAAE,CAAA;KAAE,CAAC;CACzE;AAcD,QAAA,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAuJzC,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -26,6 +26,7 @@ import { useEffect, useRef } from 'react';
|
|
|
26
26
|
import { useFrame, useThree } from '@react-three/fiber';
|
|
27
27
|
import ClipsRuntime from './ClipsRuntime.js';
|
|
28
28
|
import { clipMap } from './sequenceUtils.js';
|
|
29
|
+
import { sceneReadiness } from '../triggers/readiness.js';
|
|
29
30
|
/** Wheel delta in pixels, whatever the device reports. */
|
|
30
31
|
const wheelPixels = (e) => e.deltaMode === 1 ? e.deltaY * 16 : e.deltaMode === 2 ? e.deltaY * window.innerHeight : e.deltaY;
|
|
31
32
|
/** Diagnostics switch: `?animdebug=1` or localStorage '3drise.animdebug' = '1'. */
|
|
@@ -75,16 +76,19 @@ const ClipPlayer = ({ getSettings, getAction, autoplay }) => {
|
|
|
75
76
|
useEffect(() => {
|
|
76
77
|
if (!autoplay)
|
|
77
78
|
return;
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
79
|
+
// nothing starts before the scene is ready (models loaded, shaders compiled)
|
|
80
|
+
return sceneReadiness.whenReady(() => {
|
|
81
|
+
const lookup = clipMap(autoplay.clips);
|
|
82
|
+
ClipsRuntime.dlog('autoplay effect', {
|
|
83
|
+
clips: autoplay.clips.length,
|
|
84
|
+
sequences: autoplay.sequences.map(s => ({ name: s.name, autoplay: s.autoplay, driver: s.driver, active: ClipsRuntime.isSequenceActive(s.id) })),
|
|
85
|
+
});
|
|
86
|
+
for (const seq of autoplay.sequences) {
|
|
87
|
+
if (!seq.autoplay || ClipsRuntime.isSequenceActive(seq.id))
|
|
88
|
+
continue;
|
|
89
|
+
ClipsRuntime.playSequence(seq, lookup, { waitForTargets: true });
|
|
90
|
+
}
|
|
82
91
|
});
|
|
83
|
-
for (const seq of autoplay.sequences) {
|
|
84
|
-
if (!seq.autoplay || ClipsRuntime.isSequenceActive(seq.id))
|
|
85
|
-
continue;
|
|
86
|
-
ClipsRuntime.playSequence(seq, lookup, { waitForTargets: true });
|
|
87
|
-
}
|
|
88
92
|
}, [autoplay?.sequences, autoplay?.clips]);
|
|
89
93
|
const isPublished = !!autoplay;
|
|
90
94
|
useEffect(() => () => { if (isPublished)
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { AnimationClip, AnimationSequence, KeyValue, Track } from './types';
|
|
2
|
+
import type { ActionSequence, SceneCommand } from '@3driseai/3drise-core';
|
|
2
3
|
import { type ApplyContext } from './appliers';
|
|
3
4
|
import { type ClipLookup, type ScheduledClip } from './sequenceUtils';
|
|
4
5
|
/** A driven sequence as the input layer sees it. */
|
|
@@ -17,7 +18,22 @@ export interface RuntimeEvent {
|
|
|
17
18
|
}
|
|
18
19
|
/** @deprecated name kept for existing imports */
|
|
19
20
|
export type ClipEvent = RuntimeEvent;
|
|
21
|
+
/**
|
|
22
|
+
* How a cue switches (apply / revert) or fires its subject. The triggers engine installs one,
|
|
23
|
+
* so cues run through it with the clip or sequence as their source. Returns false when an
|
|
24
|
+
* 'apply' left the subject alone (another source already had it on — the timeline then never
|
|
25
|
+
* reverts it). Without a runner only action cues run (SceneActions directly), as before.
|
|
26
|
+
*/
|
|
27
|
+
export type CueRunner = (command: SceneCommand, mode: 'apply' | 'revert' | 'fire', opts: {
|
|
28
|
+
effects: boolean;
|
|
29
|
+
host: 'sequence' | 'clip';
|
|
30
|
+
timelineId: string;
|
|
31
|
+
getAction?: (id: string) => ActionSequence | undefined;
|
|
32
|
+
}) => boolean;
|
|
20
33
|
declare class ClipsRuntime {
|
|
34
|
+
private cueRunner;
|
|
35
|
+
/** The triggers engine runs cues (see CueRunner). */
|
|
36
|
+
setCueRunner(fn: CueRunner | null): void;
|
|
21
37
|
private clips;
|
|
22
38
|
private sequences;
|
|
23
39
|
private ctx;
|
|
@@ -32,6 +48,12 @@ declare class ClipsRuntime {
|
|
|
32
48
|
private pendingRestore;
|
|
33
49
|
/** last written value per property (targetKey -> JSON) */
|
|
34
50
|
private written;
|
|
51
|
+
/** Discrete values laid last tick, per element (JSON) — to see which elements changed. */
|
|
52
|
+
private laid;
|
|
53
|
+
/** Element -> frames left to re-write its continuous tracks (the layer just changed it). */
|
|
54
|
+
private rewrite;
|
|
55
|
+
/** values written straight from outside (a UI slider): targetKey -> value. */
|
|
56
|
+
private live;
|
|
35
57
|
debug: boolean;
|
|
36
58
|
private logAt;
|
|
37
59
|
dlog(...args: unknown[]): void;
|
|
@@ -39,6 +61,17 @@ declare class ClipsRuntime {
|
|
|
39
61
|
private dlogEvery;
|
|
40
62
|
private caller;
|
|
41
63
|
setContext(ctx: ApplyContext | null): void;
|
|
64
|
+
/**
|
|
65
|
+
* Write one value to the live scene by settings path — the same appliers a clip track
|
|
66
|
+
* uses, so nothing goes through React and nothing is saved. A running clip that
|
|
67
|
+
* animates the same property wins again on its next write. False when there is no
|
|
68
|
+
* applier for the path or its target is not mounted.
|
|
69
|
+
*/
|
|
70
|
+
setLiveValue(state: string, path: string, value: KeyValue, node?: string): boolean;
|
|
71
|
+
/** What was last written by `setLiveValue`, else the authored value (action patches included). */
|
|
72
|
+
getLiveValue(state: string, path: string, node?: string): KeyValue | undefined;
|
|
73
|
+
/** Whether `setLiveValue` can write this path (it has an applier). */
|
|
74
|
+
canSetLiveValue(state: string, path: string): boolean;
|
|
42
75
|
/**
|
|
43
76
|
* Every change, including each frame's time while anything plays. For UI that
|
|
44
77
|
* follows the playhead, write through refs in the listener — never re-render React
|
|
@@ -120,11 +153,23 @@ declare class ClipsRuntime {
|
|
|
120
153
|
isSequencePlaying(seqId: string): boolean;
|
|
121
154
|
isSequenceActive(seqId: string): boolean;
|
|
122
155
|
tick(delta: number): void;
|
|
123
|
-
/** Objects / nodes the sequence animates — or its
|
|
156
|
+
/** Objects / nodes the sequence animates — or its cues act on — that aren't in the scene yet. */
|
|
124
157
|
private missingTargets;
|
|
125
|
-
/**
|
|
158
|
+
/**
|
|
159
|
+
* Switch a timeline's lanes to what time T asks for. A lane switched on by someone else
|
|
160
|
+
* already is left alone (and never switched off by this timeline).
|
|
161
|
+
*/
|
|
162
|
+
private syncLanes;
|
|
163
|
+
private switchOff;
|
|
164
|
+
/** Switch the sequence's lanes to what its time asks for. */
|
|
126
165
|
private syncCues;
|
|
127
|
-
/**
|
|
166
|
+
/** Fire the 'fire' cues the playhead crossed moving forward since the last tick. */
|
|
167
|
+
private fireCues;
|
|
168
|
+
/** A clip's cues: state lanes to what its time asks for, and fire cues crossed moving forward. */
|
|
169
|
+
private syncClipCues;
|
|
170
|
+
/** Switch off every lane a timeline switched on (stop / close). */
|
|
171
|
+
private releaseCues;
|
|
172
|
+
/** Revert every lane the sequence switched on (stop / close). */
|
|
128
173
|
private releaseActions;
|
|
129
174
|
/** Every driver's values for this frame, lowest priority first. */
|
|
130
175
|
private proposals;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClipsRuntime.d.ts","sourceRoot":"","sources":["../../src/animationsV2/ClipsRuntime.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ClipsRuntime.d.ts","sourceRoot":"","sources":["../../src/animationsV2/ClipsRuntime.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,6 +24,14 @@
|
|
|
24
24
|
// A property that stops being driven (stop, a 'restore' end, a sequence entry
|
|
25
25
|
// scrubbed back before its start) is written back to its authored value.
|
|
26
26
|
//
|
|
27
|
+
// Discrete tracks (structural properties: material variant, shape, particle count…)
|
|
28
|
+
// can't be written to a live object. Their winning values at the playhead are laid over
|
|
29
|
+
// the elements' settings as ONE SceneActions layer ('timeline'), recomputed every tick:
|
|
30
|
+
// the element re-renders with them, and when nothing drives them any more (stop,
|
|
31
|
+
// restore, scrub out) the layer drops them — no restore of their own. A continuous
|
|
32
|
+
// track on an element the layer just changed is re-written for a few frames, because
|
|
33
|
+
// the re-render may have rebuilt what it writes to (a new material).
|
|
34
|
+
//
|
|
27
35
|
// Sequence cues switch actions (SceneActions) by time: each tick a sequence works
|
|
28
36
|
// out which of its actions should be on at its current time and applies / reverts
|
|
29
37
|
// only what changed. It reverts only what it applied itself — an action already on
|
|
@@ -33,13 +41,32 @@
|
|
|
33
41
|
//
|
|
34
42
|
import { SceneActions } from '@3driseai/3drise-core';
|
|
35
43
|
import { getAtPath, sampleTrack } from './clipUtils.js';
|
|
36
|
-
import { applyValue, clearApplierCaches, isTargetMounted } from './appliers.js';
|
|
37
|
-
import { restoreNodeTrack } from './nodeTracks.js';
|
|
38
|
-
import { cueStatesAt, entryLocalTime, isEntryActive, resolveSequence, } from './sequenceUtils.js';
|
|
44
|
+
import { applyValue, clearApplierCaches, isApplicable, isTargetMounted } from './appliers.js';
|
|
45
|
+
import { readNodeValue, restoreNodeTrack } from './nodeTracks.js';
|
|
46
|
+
import { cueStatesAt, entryLocalTime, isEntryActive, resolveSequence, cueCommand, clipCueSchedule, firedBetween, } from './sequenceUtils.js';
|
|
39
47
|
/** Longest an autoplaying sequence waits for its targets. */
|
|
40
48
|
const MAX_TARGET_WAIT_MS = 8000;
|
|
49
|
+
/** The SceneActions layer discrete tracks are set through. */
|
|
50
|
+
const TIMELINE_LAYER = 'timeline';
|
|
51
|
+
/** Frames a changed element's continuous tracks are re-written for (its re-render may rebuild their target). */
|
|
52
|
+
const REWRITE_FRAMES = 30;
|
|
53
|
+
/** Deep patch from flat (path -> value) pairs. */
|
|
54
|
+
function patchOf(pairs) {
|
|
55
|
+
const out = {};
|
|
56
|
+
for (const [path, value] of pairs) {
|
|
57
|
+
const parts = path.split('.');
|
|
58
|
+
let cur = out;
|
|
59
|
+
for (let i = 0; i < parts.length - 1; i++)
|
|
60
|
+
cur = (cur[parts[i]] ??= {});
|
|
61
|
+
cur[parts[parts.length - 1]] = value;
|
|
62
|
+
}
|
|
63
|
+
return out;
|
|
64
|
+
}
|
|
41
65
|
const targetKey = (state, node, path) => `${state}|${node ?? ''}|${path}`;
|
|
42
66
|
class ClipsRuntime {
|
|
67
|
+
cueRunner = null;
|
|
68
|
+
/** The triggers engine runs cues (see CueRunner). */
|
|
69
|
+
setCueRunner(fn) { this.cueRunner = fn; }
|
|
43
70
|
clips = new Map();
|
|
44
71
|
sequences = new Map();
|
|
45
72
|
ctx = null;
|
|
@@ -54,6 +81,12 @@ class ClipsRuntime {
|
|
|
54
81
|
pendingRestore = [];
|
|
55
82
|
/** last written value per property (targetKey -> JSON) */
|
|
56
83
|
written = new Map();
|
|
84
|
+
/** Discrete values laid last tick, per element (JSON) — to see which elements changed. */
|
|
85
|
+
laid = new Map();
|
|
86
|
+
/** Element -> frames left to re-write its continuous tracks (the layer just changed it). */
|
|
87
|
+
rewrite = new Map();
|
|
88
|
+
/** values written straight from outside (a UI slider): targetKey -> value. */
|
|
89
|
+
live = new Map();
|
|
57
90
|
// --- diagnostics ------------------------------------------------------------------
|
|
58
91
|
// On with `?animdebug=1` in the URL, or localStorage '3drise.animdebug' = '1'
|
|
59
92
|
// (ClipPlayer reads it). Logs every lifecycle call on sequences (with the caller's
|
|
@@ -83,8 +116,42 @@ class ClipsRuntime {
|
|
|
83
116
|
this.dlog('setContext', ctx ? { camera: !!ctx.camera, controls: !!ctx.controls, getAction: !!ctx.getAction } : null);
|
|
84
117
|
this.ctx = ctx;
|
|
85
118
|
this.written.clear();
|
|
119
|
+
this.live.clear();
|
|
86
120
|
clearApplierCaches();
|
|
87
121
|
}
|
|
122
|
+
// --- direct writes (UI controls, SceneHandle.values) ----------------------------------
|
|
123
|
+
/**
|
|
124
|
+
* Write one value to the live scene by settings path — the same appliers a clip track
|
|
125
|
+
* uses, so nothing goes through React and nothing is saved. A running clip that
|
|
126
|
+
* animates the same property wins again on its next write. False when there is no
|
|
127
|
+
* applier for the path or its target is not mounted.
|
|
128
|
+
*/
|
|
129
|
+
setLiveValue(state, path, value, node) {
|
|
130
|
+
const ctx = this.ctx;
|
|
131
|
+
if (!ctx)
|
|
132
|
+
return false;
|
|
133
|
+
if (!applyValue(ctx, state, path, value, node))
|
|
134
|
+
return false;
|
|
135
|
+
const key = targetKey(state, node, path);
|
|
136
|
+
this.live.set(key, value);
|
|
137
|
+
this.written.delete(key); // a clip holding the same value must write it again
|
|
138
|
+
return true;
|
|
139
|
+
}
|
|
140
|
+
/** What was last written by `setLiveValue`, else the authored value (action patches included). */
|
|
141
|
+
getLiveValue(state, path, node) {
|
|
142
|
+
const key = targetKey(state, node, path);
|
|
143
|
+
if (this.live.has(key))
|
|
144
|
+
return this.live.get(key);
|
|
145
|
+
if (node)
|
|
146
|
+
return readNodeValue(state, node, path); // the node as it is now
|
|
147
|
+
if (!this.ctx)
|
|
148
|
+
return undefined;
|
|
149
|
+
return getAtPath(this.ctx.getSettings(state), path);
|
|
150
|
+
}
|
|
151
|
+
/** Whether `setLiveValue` can write this path (it has an applier). */
|
|
152
|
+
canSetLiveValue(state, path) {
|
|
153
|
+
return isApplicable(state, path);
|
|
154
|
+
}
|
|
88
155
|
/**
|
|
89
156
|
* Every change, including each frame's time while anything plays. For UI that
|
|
90
157
|
* follows the playhead, write through refs in the listener — never re-render React
|
|
@@ -116,6 +183,9 @@ class ClipsRuntime {
|
|
|
116
183
|
this.sequences.clear();
|
|
117
184
|
this.pendingRestore = [];
|
|
118
185
|
this.written.clear();
|
|
186
|
+
this.laid.clear();
|
|
187
|
+
this.rewrite.clear();
|
|
188
|
+
SceneActions.setLayer(TIMELINE_LAYER, null);
|
|
119
189
|
clearApplierCaches();
|
|
120
190
|
this.bumpState();
|
|
121
191
|
}
|
|
@@ -129,7 +199,10 @@ class ClipsRuntime {
|
|
|
129
199
|
time = 0;
|
|
130
200
|
if (direction === -1 && time <= 0)
|
|
131
201
|
time = clip.duration;
|
|
132
|
-
this.clips.set(clip.id, {
|
|
202
|
+
this.clips.set(clip.id, {
|
|
203
|
+
clip, time, speed: opts.speed ?? 1, direction, playing: true, order: ++this.order,
|
|
204
|
+
cueState: existing?.cueState ?? new Map(), owned: existing?.owned ?? new Map(), cueTime: undefined,
|
|
205
|
+
});
|
|
133
206
|
this.emit({ type: 'start', kind: 'clip', id: clip.id });
|
|
134
207
|
this.bumpState();
|
|
135
208
|
}
|
|
@@ -154,6 +227,8 @@ class ClipsRuntime {
|
|
|
154
227
|
return;
|
|
155
228
|
this.clips.delete(clipId);
|
|
156
229
|
this.pendingRestore.push(...inst.clip.tracks);
|
|
230
|
+
this.releaseCues(inst.owned, 'clip', clipId);
|
|
231
|
+
inst.cueState.clear();
|
|
157
232
|
this.bumpState();
|
|
158
233
|
}
|
|
159
234
|
/** Hold the clip at t (seconds) — the editor playhead, or seek() from outside. */
|
|
@@ -163,10 +238,11 @@ class ClipsRuntime {
|
|
|
163
238
|
if (inst) {
|
|
164
239
|
inst.clip = clip;
|
|
165
240
|
inst.time = time;
|
|
241
|
+
inst.cueTime = undefined;
|
|
166
242
|
this.bump();
|
|
167
243
|
}
|
|
168
244
|
else {
|
|
169
|
-
this.clips.set(clip.id, { clip, time, speed: 1, direction: 1, playing: false, order: ++this.order });
|
|
245
|
+
this.clips.set(clip.id, { clip, time, speed: 1, direction: 1, playing: false, order: ++this.order, cueState: new Map(), owned: new Map() });
|
|
170
246
|
this.bumpState();
|
|
171
247
|
}
|
|
172
248
|
}
|
|
@@ -219,7 +295,8 @@ class ClipsRuntime {
|
|
|
219
295
|
order: ++this.order,
|
|
220
296
|
active: existing?.active ?? new Set(),
|
|
221
297
|
cueState: existing?.cueState ?? new Map(),
|
|
222
|
-
owned: existing?.owned ?? new
|
|
298
|
+
owned: existing?.owned ?? new Map(),
|
|
299
|
+
cueTime: undefined,
|
|
223
300
|
waitUntil: opts.waitForTargets ? Date.now() + MAX_TARGET_WAIT_MS : undefined,
|
|
224
301
|
});
|
|
225
302
|
this.dlog('playSequence', seq.name, {
|
|
@@ -324,6 +401,7 @@ class ClipsRuntime {
|
|
|
324
401
|
this.updateSequence(seq, clips);
|
|
325
402
|
inst.time = Math.min(inst.schedule.duration, Math.max(0, T));
|
|
326
403
|
inst.target = inst.time;
|
|
404
|
+
inst.cueTime = undefined;
|
|
327
405
|
}
|
|
328
406
|
else {
|
|
329
407
|
const schedule = resolveSequence(seq, clips);
|
|
@@ -331,7 +409,7 @@ class ClipsRuntime {
|
|
|
331
409
|
this.sequences.set(seq.id, {
|
|
332
410
|
seq, schedule, time, target: time, driven: false,
|
|
333
411
|
speed: 1, direction: 1, baseDirection: 1, playing: false, order: ++this.order, active: new Set(),
|
|
334
|
-
cueState: new Map(), owned: new
|
|
412
|
+
cueState: new Map(), owned: new Map(),
|
|
335
413
|
});
|
|
336
414
|
this.bumpState();
|
|
337
415
|
return;
|
|
@@ -390,11 +468,15 @@ class ClipsRuntime {
|
|
|
390
468
|
}
|
|
391
469
|
const dt = Math.min(delta, 0.1);
|
|
392
470
|
let anyPlaying = false;
|
|
393
|
-
for (const inst of this.clips.values()) {
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
471
|
+
for (const inst of [...this.clips.values()]) {
|
|
472
|
+
const prev = inst.time;
|
|
473
|
+
const dir = inst.direction;
|
|
474
|
+
if (inst.playing) {
|
|
475
|
+
anyPlaying = true;
|
|
476
|
+
this.advanceClip(inst, dt);
|
|
477
|
+
}
|
|
478
|
+
if (inst.clip.cues?.length && this.clips.get(inst.clip.id) === inst)
|
|
479
|
+
this.syncClipCues(inst, prev, dir);
|
|
398
480
|
}
|
|
399
481
|
for (const inst of [...this.sequences.values()]) {
|
|
400
482
|
if (!inst.playing)
|
|
@@ -435,8 +517,10 @@ class ClipsRuntime {
|
|
|
435
517
|
// A sequence still waiting for its targets doesn't fire its cues yet — their
|
|
436
518
|
// effects would run on objects that aren't there (and never run again).
|
|
437
519
|
for (const inst of this.sequences.values()) {
|
|
438
|
-
if (inst.waitUntil === undefined)
|
|
520
|
+
if (inst.waitUntil === undefined) {
|
|
439
521
|
this.syncCues(ctx, inst);
|
|
522
|
+
this.fireCues(ctx, inst);
|
|
523
|
+
}
|
|
440
524
|
}
|
|
441
525
|
if (this.pendingRestore.length)
|
|
442
526
|
this.runRestores(ctx);
|
|
@@ -444,10 +528,35 @@ class ClipsRuntime {
|
|
|
444
528
|
const winners = new Map();
|
|
445
529
|
for (const p of this.proposals())
|
|
446
530
|
winners.set(targetKey(p.state, p.node, p.path), p);
|
|
531
|
+
// Discrete winners -> the patch layer (a no-op when unchanged).
|
|
532
|
+
const discrete = new Map();
|
|
533
|
+
for (const p of winners.values()) {
|
|
534
|
+
if (!p.discrete)
|
|
535
|
+
continue;
|
|
536
|
+
const list = discrete.get(p.state) ?? [];
|
|
537
|
+
list.push([p.path, p.value]);
|
|
538
|
+
discrete.set(p.state, list);
|
|
539
|
+
}
|
|
540
|
+
const layer = {};
|
|
541
|
+
for (const [state, pairs] of discrete)
|
|
542
|
+
layer[state] = patchOf(pairs);
|
|
543
|
+
for (const state of new Set([...this.laid.keys(), ...discrete.keys()])) {
|
|
544
|
+
const json = layer[state] ? JSON.stringify(layer[state]) : '';
|
|
545
|
+
if ((this.laid.get(state) ?? '') === json)
|
|
546
|
+
continue;
|
|
547
|
+
if (json)
|
|
548
|
+
this.laid.set(state, json);
|
|
549
|
+
else
|
|
550
|
+
this.laid.delete(state);
|
|
551
|
+
this.rewrite.set(state, REWRITE_FRAMES);
|
|
552
|
+
}
|
|
553
|
+
SceneActions.setLayer(TIMELINE_LAYER, layer);
|
|
447
554
|
const failed = [];
|
|
448
555
|
for (const [key, p] of winners) {
|
|
556
|
+
if (p.discrete)
|
|
557
|
+
continue;
|
|
449
558
|
const json = JSON.stringify(p.value);
|
|
450
|
-
if (this.written.get(key) === json)
|
|
559
|
+
if (this.written.get(key) === json && !this.rewrite.has(p.state))
|
|
451
560
|
continue;
|
|
452
561
|
// Recorded only when it landed: a target that is not mounted yet (a model still
|
|
453
562
|
// loading) is retried next frame instead of being skipped for good.
|
|
@@ -458,10 +567,16 @@ class ClipsRuntime {
|
|
|
458
567
|
}
|
|
459
568
|
if (failed.length)
|
|
460
569
|
this.dlogEvery('failed', 1000, `writes not landed (${failed.length})`, failed.slice(0, 12));
|
|
570
|
+
for (const [state, n] of this.rewrite) {
|
|
571
|
+
if (n <= 1)
|
|
572
|
+
this.rewrite.delete(state);
|
|
573
|
+
else
|
|
574
|
+
this.rewrite.set(state, n - 1);
|
|
575
|
+
}
|
|
461
576
|
if (anyPlaying)
|
|
462
577
|
this.bump();
|
|
463
578
|
}
|
|
464
|
-
/** Objects / nodes the sequence animates — or its
|
|
579
|
+
/** Objects / nodes the sequence animates — or its cues act on — that aren't in the scene yet. */
|
|
465
580
|
missingTargets(ctx, inst) {
|
|
466
581
|
const missing = new Set();
|
|
467
582
|
for (const e of inst.schedule.entries) {
|
|
@@ -472,60 +587,125 @@ class ClipsRuntime {
|
|
|
472
587
|
missing.add(t.node ? `${t.state} › ${t.node}` : t.state);
|
|
473
588
|
}
|
|
474
589
|
}
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
590
|
+
const idsOf = (c) => (c?.kind === 'effect' ? c.effect?.targets ?? [] : c?.kind === 'effectClip' ? c.use?.targets ?? [] : []);
|
|
591
|
+
for (const sc of inst.schedule.cues) {
|
|
592
|
+
const cmd = cueCommand(sc.cue);
|
|
593
|
+
for (const id of idsOf(cmd))
|
|
594
|
+
if (id !== 'self' && !isTargetMounted(ctx, id))
|
|
595
|
+
missing.add(id);
|
|
596
|
+
if (cmd?.kind !== 'action' || !ctx.getAction)
|
|
597
|
+
continue;
|
|
598
|
+
const action = ctx.getAction(cmd.ref);
|
|
599
|
+
if (!action)
|
|
600
|
+
continue;
|
|
601
|
+
for (const t of action.targets ?? [])
|
|
602
|
+
if (!isTargetMounted(ctx, t.state))
|
|
603
|
+
missing.add(t.state);
|
|
604
|
+
// its effects / effect clips
|
|
605
|
+
for (const c of action.commands ?? [])
|
|
606
|
+
for (const id of idsOf(c))
|
|
607
|
+
if (id !== 'self' && !isTargetMounted(ctx, id))
|
|
608
|
+
missing.add(id);
|
|
489
609
|
}
|
|
490
610
|
return [...missing];
|
|
491
611
|
}
|
|
492
|
-
/**
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
const
|
|
498
|
-
for (const
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
612
|
+
/**
|
|
613
|
+
* Switch a timeline's lanes to what time T asks for. A lane switched on by someone else
|
|
614
|
+
* already is left alone (and never switched off by this timeline).
|
|
615
|
+
*/
|
|
616
|
+
syncLanes(lanes, wanted, state, owned, opts) {
|
|
617
|
+
const commandOf = new Map();
|
|
618
|
+
for (const l of lanes)
|
|
619
|
+
if (l.command && !commandOf.has(l.subject))
|
|
620
|
+
commandOf.set(l.subject, l.command);
|
|
621
|
+
const keys = new Set([...wanted.keys(), ...state.keys()]);
|
|
622
|
+
for (const key of keys) {
|
|
623
|
+
const on = wanted.get(key) ?? false; // a removed lane counts as off
|
|
624
|
+
if ((state.get(key) ?? false) === on) {
|
|
625
|
+
if (!wanted.has(key))
|
|
626
|
+
state.delete(key);
|
|
503
627
|
continue;
|
|
504
628
|
}
|
|
505
|
-
if (wanted.has(
|
|
506
|
-
|
|
629
|
+
if (wanted.has(key))
|
|
630
|
+
state.set(key, on);
|
|
507
631
|
else
|
|
508
|
-
|
|
632
|
+
state.delete(key);
|
|
509
633
|
if (on) {
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
const action = ctx.getAction(id);
|
|
513
|
-
if (!action)
|
|
634
|
+
const cmd = commandOf.get(key);
|
|
635
|
+
if (!cmd)
|
|
514
636
|
continue;
|
|
515
|
-
|
|
516
|
-
|
|
637
|
+
if (this.cueRunner) {
|
|
638
|
+
if (this.cueRunner(cmd, 'apply', { ...opts, getAction: this.ctx?.getAction }))
|
|
639
|
+
owned.set(key, cmd);
|
|
640
|
+
}
|
|
641
|
+
else if (cmd.kind === 'action') {
|
|
642
|
+
if (SceneActions.isActionApplied(cmd.ref))
|
|
643
|
+
continue; // someone else's — leave it
|
|
644
|
+
const action = this.ctx?.getAction?.(cmd.ref);
|
|
645
|
+
if (!action)
|
|
646
|
+
continue;
|
|
647
|
+
SceneActions.applyAction(action, { effects: opts.effects });
|
|
648
|
+
owned.set(key, cmd);
|
|
649
|
+
}
|
|
517
650
|
}
|
|
518
|
-
else if (
|
|
519
|
-
|
|
520
|
-
|
|
651
|
+
else if (owned.has(key)) {
|
|
652
|
+
const cmd = owned.get(key);
|
|
653
|
+
owned.delete(key);
|
|
654
|
+
this.switchOff(cmd, opts.host, opts.timelineId);
|
|
521
655
|
}
|
|
522
656
|
}
|
|
523
657
|
}
|
|
524
|
-
|
|
658
|
+
switchOff(cmd, host, timelineId) {
|
|
659
|
+
if (this.cueRunner)
|
|
660
|
+
this.cueRunner(cmd, 'revert', { effects: true, host, timelineId, getAction: this.ctx?.getAction });
|
|
661
|
+
else if (cmd.kind === 'action')
|
|
662
|
+
SceneActions.revertAction(cmd.ref);
|
|
663
|
+
}
|
|
664
|
+
/** Switch the sequence's lanes to what its time asks for. */
|
|
665
|
+
syncCues(ctx, inst) {
|
|
666
|
+
if (!ctx.getAction && !this.cueRunner)
|
|
667
|
+
return;
|
|
668
|
+
const lanes = inst.schedule.cues.map(sc => ({ ...sc, command: cueCommand(sc.cue) }));
|
|
669
|
+
this.syncLanes(lanes, cueStatesAt(inst.schedule, inst.time), inst.cueState, inst.owned, { effects: inst.playing, host: 'sequence', timelineId: inst.seq.id });
|
|
670
|
+
}
|
|
671
|
+
/** Fire the 'fire' cues the playhead crossed moving forward since the last tick. */
|
|
672
|
+
fireCues(_ctx, inst) {
|
|
673
|
+
const prev = inst.cueTime;
|
|
674
|
+
inst.cueTime = inst.time;
|
|
675
|
+
if (prev === undefined || !inst.playing || !this.cueRunner)
|
|
676
|
+
return;
|
|
677
|
+
const wrapped = !inst.driven && inst.direction === 1 && inst.time < prev - 1e-9;
|
|
678
|
+
for (const sc of firedBetween(inst.schedule.cues, prev, inst.time, wrapped ? inst.schedule.duration : undefined)) {
|
|
679
|
+
const cmd = cueCommand(sc.cue);
|
|
680
|
+
if (cmd)
|
|
681
|
+
this.cueRunner(cmd, 'fire', { effects: true, host: 'sequence', timelineId: inst.seq.id, getAction: this.ctx?.getAction });
|
|
682
|
+
}
|
|
683
|
+
}
|
|
684
|
+
/** A clip's cues: state lanes to what its time asks for, and fire cues crossed moving forward. */
|
|
685
|
+
syncClipCues(inst, prev, dir) {
|
|
686
|
+
const schedule = clipCueSchedule(inst.clip);
|
|
687
|
+
const lanes = schedule.map(sc => ({ ...sc, command: cueCommand(sc.cue) }));
|
|
688
|
+
this.syncLanes(lanes, cueStatesAt({ cues: schedule }, inst.time), inst.cueState, inst.owned, { effects: inst.playing, host: 'clip', timelineId: inst.clip.id });
|
|
689
|
+
const last = inst.cueTime;
|
|
690
|
+
inst.cueTime = inst.time;
|
|
691
|
+
if (last === undefined || !inst.playing || !this.cueRunner)
|
|
692
|
+
return;
|
|
693
|
+
const wrapped = dir === 1 && inst.direction === 1 && inst.time < prev - 1e-9;
|
|
694
|
+
for (const sc of firedBetween(schedule, last, inst.time, wrapped ? inst.clip.duration : undefined)) {
|
|
695
|
+
const cmd = cueCommand(sc.cue);
|
|
696
|
+
if (cmd)
|
|
697
|
+
this.cueRunner(cmd, 'fire', { effects: true, host: 'clip', timelineId: inst.clip.id, getAction: this.ctx?.getAction });
|
|
698
|
+
}
|
|
699
|
+
}
|
|
700
|
+
/** Switch off every lane a timeline switched on (stop / close). */
|
|
701
|
+
releaseCues(owned, host, timelineId) {
|
|
702
|
+
for (const cmd of [...owned.values()].reverse())
|
|
703
|
+
this.switchOff(cmd, host, timelineId);
|
|
704
|
+
owned.clear();
|
|
705
|
+
}
|
|
706
|
+
/** Revert every lane the sequence switched on (stop / close). */
|
|
525
707
|
releaseActions(inst) {
|
|
526
|
-
|
|
527
|
-
SceneActions.revertAction(id);
|
|
528
|
-
inst.owned.clear();
|
|
708
|
+
this.releaseCues(inst.owned, 'sequence', inst.seq.id);
|
|
529
709
|
inst.cueState.clear();
|
|
530
710
|
}
|
|
531
711
|
/** Every driver's values for this frame, lowest priority first. */
|
|
@@ -555,6 +735,8 @@ class ClipsRuntime {
|
|
|
555
735
|
this.pendingRestore = [];
|
|
556
736
|
const done = new Set();
|
|
557
737
|
for (const track of tracks) {
|
|
738
|
+
if (track.discrete)
|
|
739
|
+
continue; // the layer drops it on its own
|
|
558
740
|
const key = targetKey(track.state, track.node, track.path);
|
|
559
741
|
if (done.has(key))
|
|
560
742
|
continue;
|
|
@@ -700,7 +882,7 @@ function* sampleTracks(tracks, t) {
|
|
|
700
882
|
const value = sampleTrack(track, t);
|
|
701
883
|
if (value === undefined)
|
|
702
884
|
continue;
|
|
703
|
-
yield { state: track.state, node: track.node, path: track.path, value };
|
|
885
|
+
yield { state: track.state, node: track.node, path: track.path, value, discrete: track.discrete && !track.node };
|
|
704
886
|
}
|
|
705
887
|
}
|
|
706
888
|
const clipsRuntime = new ClipsRuntime();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"appliers.d.ts","sourceRoot":"","sources":["../../src/animationsV2/appliers.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"appliers.d.ts","sourceRoot":"","sources":["../../src/animationsV2/appliers.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAgB/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGxC,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACjC,qDAAqD;IACrD,QAAQ,EAAE,GAAG,CAAC;IACd,yFAAyF;IACzF,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,GAAG,CAAC;IACpC,0EAA0E;IAC1E,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,cAAc,GAAG,SAAS,CAAC;CACxD;AAWD,wBAAgB,kBAAkB,IAAI,IAAI,CAIzC;AAsLD,uFAAuF;AACvF,mFAAmF;AACnF,wBAAgB,UAAU,CAAC,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAIlH;AAED,mFAAmF;AACnF,wBAAgB,eAAe,CAAC,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAKxF;AAED,yEAAyE;AACzE,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAEjE"}
|
|
@@ -4,6 +4,8 @@ import { CLOUD_LIVE_KEY } from '../hooks/useCloudLive.js';
|
|
|
4
4
|
import { OCEAN_LIVE_KEY } from '../hooks/useOceanLive.js';
|
|
5
5
|
import { TERRAIN_LIVE_KEY } from '../hooks/useTerrainLive.js';
|
|
6
6
|
import { createSunPosition } from '../utils/utils3d.js';
|
|
7
|
+
import { sunAnglesFromDirection } from '@3driseai/3drise-core';
|
|
8
|
+
import { publishRenderedSky, sceneOf } from '../utils/renderedSky.js';
|
|
7
9
|
import { applyNodeValue, clearNodeCaches, nodesFor } from './nodeTracks.js';
|
|
8
10
|
// --- live-target caches (cleared when the scene changes under us) -------------
|
|
9
11
|
const objectCache = new Map();
|
|
@@ -141,17 +143,31 @@ const applySky = (_ctx, _state, path, value) => {
|
|
|
141
143
|
if (SKY_UNIFORM_KEYS.has(path)) {
|
|
142
144
|
if (uniforms[path])
|
|
143
145
|
uniforms[path].value = value;
|
|
144
|
-
return;
|
|
145
146
|
}
|
|
146
|
-
if ((path === 'elevation' || path === 'azimuth') && uniforms.sunPosition) {
|
|
147
|
+
else if ((path === 'elevation' || path === 'azimuth') && uniforms.sunPosition) {
|
|
147
148
|
// The other angle comes from the current sun, so the two can be keyed separately.
|
|
148
|
-
const
|
|
149
|
-
const r = Math.sqrt(x * x + y * y + z * z) || 1;
|
|
150
|
-
const current = { elevation: 90 - Math.acos(y / r) * (180 / Math.PI), azimuth: Math.atan2(z, x) * (180 / Math.PI) };
|
|
149
|
+
const current = sunAnglesFromDirection(uniforms.sunPosition.value);
|
|
151
150
|
const elevation = path === 'elevation' ? value : current.elevation;
|
|
152
151
|
const azimuth = path === 'azimuth' ? value : current.azimuth;
|
|
153
152
|
uniforms.sunPosition.value.copy(createSunPosition(elevation, azimuth));
|
|
154
153
|
}
|
|
154
|
+
else {
|
|
155
|
+
return;
|
|
156
|
+
}
|
|
157
|
+
// Publish what the clip drew, so the key light, clouds, water and terrain
|
|
158
|
+
// follow the animated sky instead of only the background changing. A hidden
|
|
159
|
+
// sky publishes nothing — SkyController cleared it and nothing should read it.
|
|
160
|
+
if (!sky.visible)
|
|
161
|
+
return;
|
|
162
|
+
const sun = sunAnglesFromDirection(uniforms.sunPosition.value);
|
|
163
|
+
publishRenderedSky(sceneOf(sky), {
|
|
164
|
+
turbidity: uniforms.turbidity.value,
|
|
165
|
+
rayleigh: uniforms.rayleigh.value,
|
|
166
|
+
mieCoefficient: uniforms.mieCoefficient.value,
|
|
167
|
+
mieDirectionalG: uniforms.mieDirectionalG.value,
|
|
168
|
+
elevation: sun.elevation,
|
|
169
|
+
azimuth: sun.azimuth,
|
|
170
|
+
});
|
|
155
171
|
};
|
|
156
172
|
/** Clouds: the layer's live handle — `config.*` is the deck, `cirrus.*` the high layer. */
|
|
157
173
|
const applyClouds = (ctx, _state, path, value) => {
|