@3driseai/3drise-core 1.0.1
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/constants/index.d.ts +22 -0
- package/dist/constants/index.d.ts.map +1 -0
- package/dist/constants/index.js +7 -0
- package/dist/data/allMaterials.d.ts +5 -0
- package/dist/data/allMaterials.d.ts.map +1 -0
- package/dist/data/allMaterials.js +932 -0
- package/dist/data/defaults.d.ts +107 -0
- package/dist/data/defaults.d.ts.map +1 -0
- package/dist/data/defaults.js +99 -0
- package/dist/data/effectsDefaults.d.ts +4 -0
- package/dist/data/effectsDefaults.d.ts.map +1 -0
- package/dist/data/effectsDefaults.js +55 -0
- package/dist/data/images.d.ts +4 -0
- package/dist/data/images.d.ts.map +1 -0
- package/dist/data/images.js +50 -0
- package/dist/data/index.d.ts +10 -0
- package/dist/data/index.d.ts.map +1 -0
- package/dist/data/index.js +9 -0
- package/dist/data/lightPresets.d.ts +99 -0
- package/dist/data/lightPresets.d.ts.map +1 -0
- package/dist/data/lightPresets.js +48 -0
- package/dist/data/particlesSettings.d.ts +13 -0
- package/dist/data/particlesSettings.d.ts.map +1 -0
- package/dist/data/particlesSettings.js +94 -0
- package/dist/data/paths.d.ts +32 -0
- package/dist/data/paths.d.ts.map +1 -0
- package/dist/data/paths.js +2597 -0
- package/dist/data/shaders.d.ts +12 -0
- package/dist/data/shaders.d.ts.map +1 -0
- package/dist/data/shaders.js +342 -0
- package/dist/data/shapeConfig.d.ts +3 -0
- package/dist/data/shapeConfig.d.ts.map +1 -0
- package/dist/data/shapeConfig.js +29 -0
- package/dist/index.d.ts +72 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +70 -0
- package/dist/presets/cloudsPresets.d.ts +32 -0
- package/dist/presets/cloudsPresets.d.ts.map +1 -0
- package/dist/presets/cloudsPresets.js +257 -0
- package/dist/presets/coronaPresets.d.ts +11 -0
- package/dist/presets/coronaPresets.d.ts.map +1 -0
- package/dist/presets/coronaPresets.js +148 -0
- package/dist/presets/crystalPresets.d.ts +38 -0
- package/dist/presets/crystalPresets.d.ts.map +1 -0
- package/dist/presets/crystalPresets.js +265 -0
- package/dist/presets/effectsPresets.d.ts +32 -0
- package/dist/presets/effectsPresets.d.ts.map +1 -0
- package/dist/presets/effectsPresets.js +438 -0
- package/dist/presets/glassPresets.d.ts +36 -0
- package/dist/presets/glassPresets.d.ts.map +1 -0
- package/dist/presets/glassPresets.js +236 -0
- package/dist/presets/index.d.ts +21 -0
- package/dist/presets/index.d.ts.map +1 -0
- package/dist/presets/index.js +52 -0
- package/dist/presets/lavaPresets.d.ts +11 -0
- package/dist/presets/lavaPresets.d.ts.map +1 -0
- package/dist/presets/lavaPresets.js +202 -0
- package/dist/presets/metalPresets.d.ts +33 -0
- package/dist/presets/metalPresets.d.ts.map +1 -0
- package/dist/presets/metalPresets.js +205 -0
- package/dist/presets/oceanPresets.d.ts +37 -0
- package/dist/presets/oceanPresets.d.ts.map +1 -0
- package/dist/presets/oceanPresets.js +120 -0
- package/dist/presets/plasticPresets.d.ts +35 -0
- package/dist/presets/plasticPresets.d.ts.map +1 -0
- package/dist/presets/plasticPresets.js +245 -0
- package/dist/presets/sandPresets.d.ts +11 -0
- package/dist/presets/sandPresets.d.ts.map +1 -0
- package/dist/presets/sandPresets.js +294 -0
- package/dist/presets/skyPresets.d.ts +27 -0
- package/dist/presets/skyPresets.d.ts.map +1 -0
- package/dist/presets/skyPresets.js +93 -0
- package/dist/presets/woodPresets.d.ts +33 -0
- package/dist/presets/woodPresets.d.ts.map +1 -0
- package/dist/presets/woodPresets.js +235 -0
- package/dist/services/AnimationsManager.d.ts +171 -0
- package/dist/services/AnimationsManager.d.ts.map +1 -0
- package/dist/services/AnimationsManager.js +508 -0
- package/dist/services/CubeCameraManager.d.ts +23 -0
- package/dist/services/CubeCameraManager.d.ts.map +1 -0
- package/dist/services/CubeCameraManager.js +84 -0
- package/dist/services/FontManager.d.ts +32 -0
- package/dist/services/FontManager.d.ts.map +1 -0
- package/dist/services/FontManager.js +76 -0
- package/dist/services/MaterialCompiler.d.ts +30 -0
- package/dist/services/MaterialCompiler.d.ts.map +1 -0
- package/dist/services/MaterialCompiler.js +91 -0
- package/dist/services/MaterialRegistry.d.ts +85 -0
- package/dist/services/MaterialRegistry.d.ts.map +1 -0
- package/dist/services/MaterialRegistry.js +362 -0
- package/dist/services/NoiseGenerator.d.ts +93 -0
- package/dist/services/NoiseGenerator.d.ts.map +1 -0
- package/dist/services/NoiseGenerator.js +653 -0
- package/dist/services/ObjectManager.d.ts +71 -0
- package/dist/services/ObjectManager.d.ts.map +1 -0
- package/dist/services/ObjectManager.js +386 -0
- package/dist/services/PositionsCreator.d.ts +26 -0
- package/dist/services/PositionsCreator.d.ts.map +1 -0
- package/dist/services/PositionsCreator.js +263 -0
- package/dist/services/SceneStore.d.ts +20 -0
- package/dist/services/SceneStore.d.ts.map +1 -0
- package/dist/services/SceneStore.js +18 -0
- package/dist/services/ShadersLibrary.d.ts +79 -0
- package/dist/services/ShadersLibrary.d.ts.map +1 -0
- package/dist/services/ShadersLibrary.js +820 -0
- package/dist/services/SkySystemManager.d.ts +57 -0
- package/dist/services/SkySystemManager.d.ts.map +1 -0
- package/dist/services/SkySystemManager.js +190 -0
- package/dist/services/TextureResolver.d.ts +51 -0
- package/dist/services/TextureResolver.d.ts.map +1 -0
- package/dist/services/TextureResolver.js +136 -0
- package/dist/services/TexturesManager.d.ts +17 -0
- package/dist/services/TexturesManager.d.ts.map +1 -0
- package/dist/services/TexturesManager.js +48 -0
- package/dist/services/UniformConverter.d.ts +33 -0
- package/dist/services/UniformConverter.d.ts.map +1 -0
- package/dist/services/UniformConverter.js +252 -0
- package/dist/services/index.d.ts +19 -0
- package/dist/services/index.d.ts.map +1 -0
- package/dist/services/index.js +14 -0
- package/dist/shaders/BasicSkyMaterial.d.ts +49 -0
- package/dist/shaders/BasicSkyMaterial.d.ts.map +1 -0
- package/dist/shaders/BasicSkyMaterial.js +94 -0
- package/dist/shaders/BasicWaterMaterial.d.ts +41 -0
- package/dist/shaders/BasicWaterMaterial.d.ts.map +1 -0
- package/dist/shaders/BasicWaterMaterial.js +155 -0
- package/dist/shaders/BubblesPointsMaterial.d.ts +52 -0
- package/dist/shaders/BubblesPointsMaterial.d.ts.map +1 -0
- package/dist/shaders/BubblesPointsMaterial.js +95 -0
- package/dist/shaders/CartoonCloudsMaterial.d.ts +36 -0
- package/dist/shaders/CartoonCloudsMaterial.d.ts.map +1 -0
- package/dist/shaders/CartoonCloudsMaterial.js +59 -0
- package/dist/shaders/CartoonCloudsPointsMaterial.d.ts +65 -0
- package/dist/shaders/CartoonCloudsPointsMaterial.d.ts.map +1 -0
- package/dist/shaders/CartoonCloudsPointsMaterial.js +138 -0
- package/dist/shaders/CirrusCloudsMaterial.d.ts +36 -0
- package/dist/shaders/CirrusCloudsMaterial.d.ts.map +1 -0
- package/dist/shaders/CirrusCloudsMaterial.js +55 -0
- package/dist/shaders/CirrusCloudsPointsMaterial.d.ts +69 -0
- package/dist/shaders/CirrusCloudsPointsMaterial.d.ts.map +1 -0
- package/dist/shaders/CirrusCloudsPointsMaterial.js +140 -0
- package/dist/shaders/CloudsMaterial.d.ts +47 -0
- package/dist/shaders/CloudsMaterial.d.ts.map +1 -0
- package/dist/shaders/CloudsMaterial.js +124 -0
- package/dist/shaders/CloudsPointsMaterial.d.ts +82 -0
- package/dist/shaders/CloudsPointsMaterial.d.ts.map +1 -0
- package/dist/shaders/CloudsPointsMaterial.js +200 -0
- package/dist/shaders/CommonNoiseFunctions.d.ts +2 -0
- package/dist/shaders/CommonNoiseFunctions.d.ts.map +1 -0
- package/dist/shaders/CommonNoiseFunctions.js +41 -0
- package/dist/shaders/CoronaMaterial.d.ts +41 -0
- package/dist/shaders/CoronaMaterial.d.ts.map +1 -0
- package/dist/shaders/CoronaMaterial.js +54 -0
- package/dist/shaders/CustomShaderMaterial.d.ts +10 -0
- package/dist/shaders/CustomShaderMaterial.d.ts.map +1 -0
- package/dist/shaders/CustomShaderMaterial.js +10 -0
- package/dist/shaders/EarthAtmosphereMaterial.d.ts +28 -0
- package/dist/shaders/EarthAtmosphereMaterial.d.ts.map +1 -0
- package/dist/shaders/EarthAtmosphereMaterial.js +55 -0
- package/dist/shaders/EarthMaterial.d.ts +40 -0
- package/dist/shaders/EarthMaterial.d.ts.map +1 -0
- package/dist/shaders/EarthMaterial.js +69 -0
- package/dist/shaders/FireMaterial.d.ts +30 -0
- package/dist/shaders/FireMaterial.d.ts.map +1 -0
- package/dist/shaders/FireMaterial.js +154 -0
- package/dist/shaders/FireShellMaterial.d.ts +34 -0
- package/dist/shaders/FireShellMaterial.d.ts.map +1 -0
- package/dist/shaders/FireShellMaterial.js +137 -0
- package/dist/shaders/FlareMaterial.d.ts +79 -0
- package/dist/shaders/FlareMaterial.d.ts.map +1 -0
- package/dist/shaders/FlareMaterial.js +184 -0
- package/dist/shaders/GlowMaterial.d.ts +41 -0
- package/dist/shaders/GlowMaterial.d.ts.map +1 -0
- package/dist/shaders/GlowMaterial.js +54 -0
- package/dist/shaders/GlyphRingMaterial.d.ts +72 -0
- package/dist/shaders/GlyphRingMaterial.d.ts.map +1 -0
- package/dist/shaders/GlyphRingMaterial.js +152 -0
- package/dist/shaders/ImageMaterial.d.ts +294 -0
- package/dist/shaders/ImageMaterial.d.ts.map +1 -0
- package/dist/shaders/ImageMaterial.js +401 -0
- package/dist/shaders/LavaMaterial.d.ts +69 -0
- package/dist/shaders/LavaMaterial.d.ts.map +1 -0
- package/dist/shaders/LavaMaterial.js +127 -0
- package/dist/shaders/LineEffectsMaterials.d.ts +97 -0
- package/dist/shaders/LineEffectsMaterials.d.ts.map +1 -0
- package/dist/shaders/LineEffectsMaterials.js +242 -0
- package/dist/shaders/LineMaterial.d.ts +37 -0
- package/dist/shaders/LineMaterial.d.ts.map +1 -0
- package/dist/shaders/LineMaterial.js +64 -0
- package/dist/shaders/MeshEffectsMaterial.d.ts +278 -0
- package/dist/shaders/MeshEffectsMaterial.d.ts.map +1 -0
- package/dist/shaders/MeshEffectsMaterial.js +312 -0
- package/dist/shaders/MorphingSimulation.d.ts +17 -0
- package/dist/shaders/MorphingSimulation.d.ts.map +1 -0
- package/dist/shaders/MorphingSimulation.js +66 -0
- package/dist/shaders/MyGridMaterial.d.ts +61 -0
- package/dist/shaders/MyGridMaterial.d.ts.map +1 -0
- package/dist/shaders/MyGridMaterial.js +176 -0
- package/dist/shaders/MyParticlesMaterial.d.ts +65 -0
- package/dist/shaders/MyParticlesMaterial.d.ts.map +1 -0
- package/dist/shaders/MyParticlesMaterial.js +126 -0
- package/dist/shaders/NebulaCloudsMaterial.d.ts +44 -0
- package/dist/shaders/NebulaCloudsMaterial.d.ts.map +1 -0
- package/dist/shaders/NebulaCloudsMaterial.js +63 -0
- package/dist/shaders/NebulaPointsMaterial.d.ts +236 -0
- package/dist/shaders/NebulaPointsMaterial.d.ts.map +1 -0
- package/dist/shaders/NebulaPointsMaterial.js +265 -0
- package/dist/shaders/OceanMaterial.d.ts +57 -0
- package/dist/shaders/OceanMaterial.d.ts.map +1 -0
- package/dist/shaders/OceanMaterial.js +240 -0
- package/dist/shaders/PainterlyCloudsMaterial.d.ts +49 -0
- package/dist/shaders/PainterlyCloudsMaterial.d.ts.map +1 -0
- package/dist/shaders/PainterlyCloudsMaterial.js +68 -0
- package/dist/shaders/PainterlyCloudsPointsMaterial.d.ts +69 -0
- package/dist/shaders/PainterlyCloudsPointsMaterial.d.ts.map +1 -0
- package/dist/shaders/PainterlyCloudsPointsMaterial.js +140 -0
- package/dist/shaders/RainMaterial.d.ts +36 -0
- package/dist/shaders/RainMaterial.d.ts.map +1 -0
- package/dist/shaders/RainMaterial.js +79 -0
- package/dist/shaders/ReflectorMaterial.d.ts +62 -0
- package/dist/shaders/ReflectorMaterial.d.ts.map +1 -0
- package/dist/shaders/ReflectorMaterial.js +167 -0
- package/dist/shaders/SandMaterial.d.ts +58 -0
- package/dist/shaders/SandMaterial.d.ts.map +1 -0
- package/dist/shaders/SandMaterial.js +296 -0
- package/dist/shaders/ShaderEffectsMaterial copy.d.ts +280 -0
- package/dist/shaders/ShaderEffectsMaterial copy.d.ts.map +1 -0
- package/dist/shaders/ShaderEffectsMaterial copy.js +354 -0
- package/dist/shaders/ShaderEffectsMaterial.d.ts +5 -0
- package/dist/shaders/ShaderEffectsMaterial.d.ts.map +1 -0
- package/dist/shaders/ShaderEffectsMaterial.js +10 -0
- package/dist/shaders/ShootingStarMaterial.d.ts +9 -0
- package/dist/shaders/ShootingStarMaterial.d.ts.map +1 -0
- package/dist/shaders/ShootingStarMaterial.js +42 -0
- package/dist/shaders/SkyCloudsMaterial.d.ts +76 -0
- package/dist/shaders/SkyCloudsMaterial.d.ts.map +1 -0
- package/dist/shaders/SkyCloudsMaterial.js +212 -0
- package/dist/shaders/SkyMaterial.d.ts +130 -0
- package/dist/shaders/SkyMaterial.d.ts.map +1 -0
- package/dist/shaders/SkyMaterial.js +237 -0
- package/dist/shaders/SkyboxMaterial.d.ts +40 -0
- package/dist/shaders/SkyboxMaterial.d.ts.map +1 -0
- package/dist/shaders/SkyboxMaterial.js +64 -0
- package/dist/shaders/SmokeMaterial.d.ts +48 -0
- package/dist/shaders/SmokeMaterial.d.ts.map +1 -0
- package/dist/shaders/SmokeMaterial.js +159 -0
- package/dist/shaders/SmokeRibbonMaterial.d.ts +48 -0
- package/dist/shaders/SmokeRibbonMaterial.d.ts.map +1 -0
- package/dist/shaders/SmokeRibbonMaterial.js +120 -0
- package/dist/shaders/SparklesBurstMaterial.d.ts +65 -0
- package/dist/shaders/SparklesBurstMaterial.d.ts.map +1 -0
- package/dist/shaders/SparklesBurstMaterial.js +99 -0
- package/dist/shaders/StarsMaterial.d.ts +36 -0
- package/dist/shaders/StarsMaterial.d.ts.map +1 -0
- package/dist/shaders/StarsMaterial.js +74 -0
- package/dist/shaders/StormCloudsMaterial.d.ts +44 -0
- package/dist/shaders/StormCloudsMaterial.d.ts.map +1 -0
- package/dist/shaders/StormCloudsMaterial.js +61 -0
- package/dist/shaders/StormCloudsPointsMaterial.d.ts +303 -0
- package/dist/shaders/StormCloudsPointsMaterial.d.ts.map +1 -0
- package/dist/shaders/StormCloudsPointsMaterial.js +389 -0
- package/dist/shaders/SunCoreMaterial.d.ts +69 -0
- package/dist/shaders/SunCoreMaterial.d.ts.map +1 -0
- package/dist/shaders/SunCoreMaterial.js +127 -0
- package/dist/shaders/VolumetricCloudsMaterial.d.ts +56 -0
- package/dist/shaders/VolumetricCloudsMaterial.d.ts.map +1 -0
- package/dist/shaders/VolumetricCloudsMaterial.js +93 -0
- package/dist/shaders/VolumetricCloudsPointsMaterial.d.ts +73 -0
- package/dist/shaders/VolumetricCloudsPointsMaterial.d.ts.map +1 -0
- package/dist/shaders/VolumetricCloudsPointsMaterial.js +143 -0
- package/dist/shaders/WaterMaterial.d.ts +110 -0
- package/dist/shaders/WaterMaterial.d.ts.map +1 -0
- package/dist/shaders/WaterMaterial.js +228 -0
- package/dist/shaders/effects/EffectsFragmentFunctions.glsl.d.ts +2 -0
- package/dist/shaders/effects/EffectsFragmentFunctions.glsl.d.ts.map +1 -0
- package/dist/shaders/effects/EffectsFragmentFunctions.glsl.js +182 -0
- package/dist/shaders/effects/EffectsUniforms.d.ts +230 -0
- package/dist/shaders/effects/EffectsUniforms.d.ts.map +1 -0
- package/dist/shaders/effects/EffectsUniforms.js +66 -0
- package/dist/shaders/effects/EffectsVertexFunctions.glsl.d.ts +2 -0
- package/dist/shaders/effects/EffectsVertexFunctions.glsl.d.ts.map +1 -0
- package/dist/shaders/effects/EffectsVertexFunctions.glsl.js +167 -0
- package/dist/shaders/effects/baseFragment.glsl.d.ts +2 -0
- package/dist/shaders/effects/baseFragment.glsl.d.ts.map +1 -0
- package/dist/shaders/effects/baseFragment.glsl.js +53 -0
- package/dist/shaders/effects/baseVertex.glsl.d.ts +2 -0
- package/dist/shaders/effects/baseVertex.glsl.d.ts.map +1 -0
- package/dist/shaders/effects/baseVertex.glsl.js +60 -0
- package/dist/shaders/effects/buildShaderEffectsMaterial.d.ts +17 -0
- package/dist/shaders/effects/buildShaderEffectsMaterial.d.ts.map +1 -0
- package/dist/shaders/effects/buildShaderEffectsMaterial.js +156 -0
- package/dist/shaders/effects/defaults.d.ts +4 -0
- package/dist/shaders/effects/defaults.d.ts.map +1 -0
- package/dist/shaders/effects/defaults.js +27 -0
- package/dist/shaders/effects/index.d.ts +7 -0
- package/dist/shaders/effects/index.d.ts.map +1 -0
- package/dist/shaders/effects/index.js +6 -0
- package/dist/shaders/effects/noiseLib.glsl.d.ts +6 -0
- package/dist/shaders/effects/noiseLib.glsl.d.ts.map +1 -0
- package/dist/shaders/effects/noiseLib.glsl.js +214 -0
- package/dist/shaders/effects/presets.d.ts +20 -0
- package/dist/shaders/effects/presets.d.ts.map +1 -0
- package/dist/shaders/effects/presets.js +288 -0
- package/dist/shaders/effects/registry/brightness.d.ts +3 -0
- package/dist/shaders/effects/registry/brightness.d.ts.map +1 -0
- package/dist/shaders/effects/registry/brightness.js +16 -0
- package/dist/shaders/effects/registry/colorShift.d.ts +3 -0
- package/dist/shaders/effects/registry/colorShift.d.ts.map +1 -0
- package/dist/shaders/effects/registry/colorShift.js +21 -0
- package/dist/shaders/effects/registry/depthFade.d.ts +3 -0
- package/dist/shaders/effects/registry/depthFade.d.ts.map +1 -0
- package/dist/shaders/effects/registry/depthFade.js +29 -0
- package/dist/shaders/effects/registry/displacement.d.ts +3 -0
- package/dist/shaders/effects/registry/displacement.d.ts.map +1 -0
- package/dist/shaders/effects/registry/displacement.js +17 -0
- package/dist/shaders/effects/registry/explode.d.ts +3 -0
- package/dist/shaders/effects/registry/explode.d.ts.map +1 -0
- package/dist/shaders/effects/registry/explode.js +43 -0
- package/dist/shaders/effects/registry/flicker.d.ts +3 -0
- package/dist/shaders/effects/registry/flicker.d.ts.map +1 -0
- package/dist/shaders/effects/registry/flicker.js +27 -0
- package/dist/shaders/effects/registry/glow.d.ts +3 -0
- package/dist/shaders/effects/registry/glow.d.ts.map +1 -0
- package/dist/shaders/effects/registry/glow.js +21 -0
- package/dist/shaders/effects/registry/grayscale.d.ts +3 -0
- package/dist/shaders/effects/registry/grayscale.d.ts.map +1 -0
- package/dist/shaders/effects/registry/grayscale.js +105 -0
- package/dist/shaders/effects/registry/hueShift.d.ts +3 -0
- package/dist/shaders/effects/registry/hueShift.d.ts.map +1 -0
- package/dist/shaders/effects/registry/hueShift.js +40 -0
- package/dist/shaders/effects/registry/index.d.ts +9 -0
- package/dist/shaders/effects/registry/index.d.ts.map +1 -0
- package/dist/shaders/effects/registry/index.js +70 -0
- package/dist/shaders/effects/registry/jitter.d.ts +3 -0
- package/dist/shaders/effects/registry/jitter.d.ts.map +1 -0
- package/dist/shaders/effects/registry/jitter.js +31 -0
- package/dist/shaders/effects/registry/magnet.d.ts +3 -0
- package/dist/shaders/effects/registry/magnet.d.ts.map +1 -0
- package/dist/shaders/effects/registry/magnet.js +43 -0
- package/dist/shaders/effects/registry/noise.d.ts +3 -0
- package/dist/shaders/effects/registry/noise.d.ts.map +1 -0
- package/dist/shaders/effects/registry/noise.js +61 -0
- package/dist/shaders/effects/registry/pulse.d.ts +3 -0
- package/dist/shaders/effects/registry/pulse.d.ts.map +1 -0
- package/dist/shaders/effects/registry/pulse.js +24 -0
- package/dist/shaders/effects/registry/rainbow.d.ts +3 -0
- package/dist/shaders/effects/registry/rainbow.d.ts.map +1 -0
- package/dist/shaders/effects/registry/rainbow.js +55 -0
- package/dist/shaders/effects/registry/ripple.d.ts +3 -0
- package/dist/shaders/effects/registry/ripple.d.ts.map +1 -0
- package/dist/shaders/effects/registry/ripple.js +39 -0
- package/dist/shaders/effects/registry/saturation.d.ts +3 -0
- package/dist/shaders/effects/registry/saturation.d.ts.map +1 -0
- package/dist/shaders/effects/registry/saturation.js +19 -0
- package/dist/shaders/effects/registry/scale.d.ts +3 -0
- package/dist/shaders/effects/registry/scale.d.ts.map +1 -0
- package/dist/shaders/effects/registry/scale.js +26 -0
- package/dist/shaders/effects/registry/sparkle.d.ts +3 -0
- package/dist/shaders/effects/registry/sparkle.d.ts.map +1 -0
- package/dist/shaders/effects/registry/sparkle.js +34 -0
- package/dist/shaders/effects/registry/spiral.d.ts +3 -0
- package/dist/shaders/effects/registry/spiral.d.ts.map +1 -0
- package/dist/shaders/effects/registry/spiral.js +46 -0
- package/dist/shaders/effects/registry/twist.d.ts +3 -0
- package/dist/shaders/effects/registry/twist.d.ts.map +1 -0
- package/dist/shaders/effects/registry/twist.js +55 -0
- package/dist/shaders/effects/registry/vortex.d.ts +3 -0
- package/dist/shaders/effects/registry/vortex.d.ts.map +1 -0
- package/dist/shaders/effects/registry/vortex.js +35 -0
- package/dist/shaders/effects/registry/wave.d.ts +3 -0
- package/dist/shaders/effects/registry/wave.d.ts.map +1 -0
- package/dist/shaders/effects/registry/wave.js +44 -0
- package/dist/shaders/effects/types.d.ts +56 -0
- package/dist/shaders/effects/types.d.ts.map +1 -0
- package/dist/shaders/effects/types.js +11 -0
- package/dist/shaders/index.d.ts +51 -0
- package/dist/shaders/index.d.ts.map +1 -0
- package/dist/shaders/index.js +50 -0
- package/dist/shaders/lineShaders/GhostSignalMaterial.d.ts +41 -0
- package/dist/shaders/lineShaders/GhostSignalMaterial.d.ts.map +1 -0
- package/dist/shaders/lineShaders/GhostSignalMaterial.js +88 -0
- package/dist/shaders/lineShaders/LineShaderMaterials.d.ts +180 -0
- package/dist/shaders/lineShaders/LineShaderMaterials.d.ts.map +1 -0
- package/dist/shaders/lineShaders/LineShaderMaterials.js +551 -0
- package/dist/shaders/lineShaders/ParticleEffects.d.ts +39 -0
- package/dist/shaders/lineShaders/ParticleEffects.d.ts.map +1 -0
- package/dist/shaders/lineShaders/ParticleEffects.js +451 -0
- package/dist/shaders/lineShaders/SerpentFlowMaterial.d.ts +37 -0
- package/dist/shaders/lineShaders/SerpentFlowMaterial.d.ts.map +1 -0
- package/dist/shaders/lineShaders/SerpentFlowMaterial.js +91 -0
- package/dist/shaders/lineShaders/SolarFilamentMaterial.d.ts +37 -0
- package/dist/shaders/lineShaders/SolarFilamentMaterial.d.ts.map +1 -0
- package/dist/shaders/lineShaders/SolarFilamentMaterial.js +104 -0
- package/dist/shaders/lineShaders/TeslaArcMaterial.d.ts +37 -0
- package/dist/shaders/lineShaders/TeslaArcMaterial.d.ts.map +1 -0
- package/dist/shaders/lineShaders/TeslaArcMaterial.js +125 -0
- package/dist/shaders/lineShaders/VoidRiftMaterial.d.ts +41 -0
- package/dist/shaders/lineShaders/VoidRiftMaterial.d.ts.map +1 -0
- package/dist/shaders/lineShaders/VoidRiftMaterial.js +118 -0
- package/dist/shaders/lineShaders/index.d.ts +11 -0
- package/dist/shaders/lineShaders/index.d.ts.map +1 -0
- package/dist/shaders/lineShaders/index.js +7 -0
- package/dist/shaders/sunNoise.d.ts +2 -0
- package/dist/shaders/sunNoise.d.ts.map +1 -0
- package/dist/shaders/sunNoise.js +91 -0
- package/dist/three/AnimatedObjectV.d.ts +71 -0
- package/dist/three/AnimatedObjectV.d.ts.map +1 -0
- package/dist/three/AnimatedObjectV.js +169 -0
- package/dist/three/CloudsV.d.ts +24 -0
- package/dist/three/CloudsV.d.ts.map +1 -0
- package/dist/three/CloudsV.js +132 -0
- package/dist/three/EffectsGeneratorV.d.ts +14 -0
- package/dist/three/EffectsGeneratorV.d.ts.map +1 -0
- package/dist/three/EffectsGeneratorV.js +109 -0
- package/dist/three/EnvironmentManagerV.d.ts +35 -0
- package/dist/three/EnvironmentManagerV.d.ts.map +1 -0
- package/dist/three/EnvironmentManagerV.js +140 -0
- package/dist/three/FrameV.d.ts +24 -0
- package/dist/three/FrameV.d.ts.map +1 -0
- package/dist/three/FrameV.js +43 -0
- package/dist/three/GalaxyV.d.ts +21 -0
- package/dist/three/GalaxyV.d.ts.map +1 -0
- package/dist/three/GalaxyV.js +223 -0
- package/dist/three/GalleryLayoutV.d.ts +20 -0
- package/dist/three/GalleryLayoutV.d.ts.map +1 -0
- package/dist/three/GalleryLayoutV.js +76 -0
- package/dist/three/GridHelperV.d.ts +19 -0
- package/dist/three/GridHelperV.d.ts.map +1 -0
- package/dist/three/GridHelperV.js +28 -0
- package/dist/three/ImageGeometryV.d.ts +23 -0
- package/dist/three/ImageGeometryV.d.ts.map +1 -0
- package/dist/three/ImageGeometryV.js +83 -0
- package/dist/three/LensflareV.d.ts +19 -0
- package/dist/three/LensflareV.d.ts.map +1 -0
- package/dist/three/LensflareV.js +79 -0
- package/dist/three/LetterV.d.ts +24 -0
- package/dist/three/LetterV.d.ts.map +1 -0
- package/dist/three/LetterV.js +90 -0
- package/dist/three/LightsManagerV.d.ts +21 -0
- package/dist/three/LightsManagerV.d.ts.map +1 -0
- package/dist/three/LightsManagerV.js +85 -0
- package/dist/three/LinesV.d.ts +22 -0
- package/dist/three/LinesV.d.ts.map +1 -0
- package/dist/three/LinesV.js +43 -0
- package/dist/three/ParticlesV.d.ts +28 -0
- package/dist/three/ParticlesV.d.ts.map +1 -0
- package/dist/three/ParticlesV.js +88 -0
- package/dist/three/PathRendererV.d.ts +29 -0
- package/dist/three/PathRendererV.d.ts.map +1 -0
- package/dist/three/PathRendererV.js +225 -0
- package/dist/three/PathV.d.ts +27 -0
- package/dist/three/PathV.d.ts.map +1 -0
- package/dist/three/PathV.js +81 -0
- package/dist/three/ProjectLoaderV.d.ts +18 -0
- package/dist/three/ProjectLoaderV.d.ts.map +1 -0
- package/dist/three/ProjectLoaderV.js +49 -0
- package/dist/three/RainV.d.ts +21 -0
- package/dist/three/RainV.d.ts.map +1 -0
- package/dist/three/RainV.js +201 -0
- package/dist/three/SceneBuilderV.d.ts +26 -0
- package/dist/three/SceneBuilderV.d.ts.map +1 -0
- package/dist/three/SceneBuilderV.js +263 -0
- package/dist/three/SkyControllerV.d.ts +22 -0
- package/dist/three/SkyControllerV.d.ts.map +1 -0
- package/dist/three/SkyControllerV.js +114 -0
- package/dist/three/SkySystemV.d.ts +40 -0
- package/dist/three/SkySystemV.d.ts.map +1 -0
- package/dist/three/SkySystemV.js +103 -0
- package/dist/three/SkyboxV.d.ts +29 -0
- package/dist/three/SkyboxV.d.ts.map +1 -0
- package/dist/three/SkyboxV.js +160 -0
- package/dist/three/StarsV.d.ts +24 -0
- package/dist/three/StarsV.d.ts.map +1 -0
- package/dist/three/StarsV.js +179 -0
- package/dist/three/SunLightV.d.ts +26 -0
- package/dist/three/SunLightV.d.ts.map +1 -0
- package/dist/three/SunLightV.js +90 -0
- package/dist/three/Text2DV.d.ts +25 -0
- package/dist/three/Text2DV.d.ts.map +1 -0
- package/dist/three/Text2DV.js +66 -0
- package/dist/three/Text3DV.d.ts +22 -0
- package/dist/three/Text3DV.d.ts.map +1 -0
- package/dist/three/Text3DV.js +43 -0
- package/dist/three/effects/AuraEffectV.d.ts +15 -0
- package/dist/three/effects/AuraEffectV.d.ts.map +1 -0
- package/dist/three/effects/AuraEffectV.js +150 -0
- package/dist/three/effects/AuroraEffectV.d.ts +16 -0
- package/dist/three/effects/AuroraEffectV.d.ts.map +1 -0
- package/dist/three/effects/AuroraEffectV.js +129 -0
- package/dist/three/effects/BlackHoleEffectV.d.ts +15 -0
- package/dist/three/effects/BlackHoleEffectV.d.ts.map +1 -0
- package/dist/three/effects/BlackHoleEffectV.js +219 -0
- package/dist/three/effects/ConstellationEffectV.d.ts +17 -0
- package/dist/three/effects/ConstellationEffectV.d.ts.map +1 -0
- package/dist/three/effects/ConstellationEffectV.js +207 -0
- package/dist/three/effects/DataStreamEffectV.d.ts +15 -0
- package/dist/three/effects/DataStreamEffectV.d.ts.map +1 -0
- package/dist/three/effects/DataStreamEffectV.js +151 -0
- package/dist/three/effects/DnaHelixEffectV.d.ts +24 -0
- package/dist/three/effects/DnaHelixEffectV.d.ts.map +1 -0
- package/dist/three/effects/DnaHelixEffectV.js +343 -0
- package/dist/three/effects/FireEffectV.d.ts +17 -0
- package/dist/three/effects/FireEffectV.d.ts.map +1 -0
- package/dist/three/effects/FireEffectV.js +219 -0
- package/dist/three/effects/ForcefieldEffectV.d.ts +17 -0
- package/dist/three/effects/ForcefieldEffectV.d.ts.map +1 -0
- package/dist/three/effects/ForcefieldEffectV.js +150 -0
- package/dist/three/effects/HologramEffectV.d.ts +15 -0
- package/dist/three/effects/HologramEffectV.d.ts.map +1 -0
- package/dist/three/effects/HologramEffectV.js +154 -0
- package/dist/three/effects/IceCrystalsEffectV.d.ts +21 -0
- package/dist/three/effects/IceCrystalsEffectV.d.ts.map +1 -0
- package/dist/three/effects/IceCrystalsEffectV.js +214 -0
- package/dist/three/effects/LightningEffectV.d.ts +27 -0
- package/dist/three/effects/LightningEffectV.d.ts.map +1 -0
- package/dist/three/effects/LightningEffectV.js +255 -0
- package/dist/three/effects/MoleculesEffectV.d.ts +23 -0
- package/dist/three/effects/MoleculesEffectV.d.ts.map +1 -0
- package/dist/three/effects/MoleculesEffectV.js +204 -0
- package/dist/three/effects/NeuralNetworkEffectV.d.ts +23 -0
- package/dist/three/effects/NeuralNetworkEffectV.d.ts.map +1 -0
- package/dist/three/effects/NeuralNetworkEffectV.js +211 -0
- package/dist/three/effects/OrbEffectV.d.ts +17 -0
- package/dist/three/effects/OrbEffectV.d.ts.map +1 -0
- package/dist/three/effects/OrbEffectV.js +307 -0
- package/dist/three/effects/PortalEffectV.d.ts +15 -0
- package/dist/three/effects/PortalEffectV.d.ts.map +1 -0
- package/dist/three/effects/PortalEffectV.js +213 -0
- package/dist/three/effects/ShockwaveEffectV.d.ts +19 -0
- package/dist/three/effects/ShockwaveEffectV.d.ts.map +1 -0
- package/dist/three/effects/ShockwaveEffectV.js +195 -0
- package/dist/three/effects/SmokePlumeEffectV.d.ts +15 -0
- package/dist/three/effects/SmokePlumeEffectV.d.ts.map +1 -0
- package/dist/three/effects/SmokePlumeEffectV.js +152 -0
- package/dist/three/effects/SmokeRingEffectV.d.ts +16 -0
- package/dist/three/effects/SmokeRingEffectV.d.ts.map +1 -0
- package/dist/three/effects/SmokeRingEffectV.js +174 -0
- package/dist/three/effects/VolumetricFogEffectV.d.ts +15 -0
- package/dist/three/effects/VolumetricFogEffectV.d.ts.map +1 -0
- package/dist/three/effects/VolumetricFogEffectV.js +127 -0
- package/dist/types/actions.d.ts +30 -0
- package/dist/types/actions.d.ts.map +1 -0
- package/dist/types/actions.js +5 -0
- package/dist/types/animations.d.ts +109 -0
- package/dist/types/animations.d.ts.map +1 -0
- package/dist/types/animations.js +5 -0
- package/dist/types/common.d.ts +20 -0
- package/dist/types/common.d.ts.map +1 -0
- package/dist/types/common.js +1 -0
- package/dist/types/cursor.d.ts +142 -0
- package/dist/types/cursor.d.ts.map +1 -0
- package/dist/types/cursor.js +1 -0
- package/dist/types/effects.d.ts +100 -0
- package/dist/types/effects.d.ts.map +1 -0
- package/dist/types/effects.js +1 -0
- package/dist/types/environment.d.ts +265 -0
- package/dist/types/environment.d.ts.map +1 -0
- package/dist/types/environment.js +10 -0
- package/dist/types/gallery.d.ts +74 -0
- package/dist/types/gallery.d.ts.map +1 -0
- package/dist/types/gallery.js +1 -0
- package/dist/types/generativeEffects.d.ts +316 -0
- package/dist/types/generativeEffects.d.ts.map +1 -0
- package/dist/types/generativeEffects.js +5 -0
- package/dist/types/handlerSettings.d.ts +48 -0
- package/dist/types/handlerSettings.d.ts.map +1 -0
- package/dist/types/handlerSettings.js +1 -0
- package/dist/types/index.d.ts +24 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +1 -0
- package/dist/types/lights.d.ts +79 -0
- package/dist/types/lights.d.ts.map +1 -0
- package/dist/types/lights.js +1 -0
- package/dist/types/materials.d.ts +194 -0
- package/dist/types/materials.d.ts.map +1 -0
- package/dist/types/materials.js +1 -0
- package/dist/types/mesh.d.ts +200 -0
- package/dist/types/mesh.d.ts.map +1 -0
- package/dist/types/mesh.js +1 -0
- package/dist/types/objectSettings.d.ts +144 -0
- package/dist/types/objectSettings.d.ts.map +1 -0
- package/dist/types/objectSettings.js +25 -0
- package/dist/types/objectsConfigs.d.ts +47 -0
- package/dist/types/objectsConfigs.d.ts.map +1 -0
- package/dist/types/objectsConfigs.js +1 -0
- package/dist/types/particles.d.ts +156 -0
- package/dist/types/particles.d.ts.map +1 -0
- package/dist/types/particles.js +1 -0
- package/dist/types/postprocessing.d.ts +141 -0
- package/dist/types/postprocessing.d.ts.map +1 -0
- package/dist/types/postprocessing.js +1 -0
- package/dist/types/scene3d.d.ts +501 -0
- package/dist/types/scene3d.d.ts.map +1 -0
- package/dist/types/scene3d.js +3 -0
- package/dist/types/shaderEffects.d.ts +61 -0
- package/dist/types/shaderEffects.d.ts.map +1 -0
- package/dist/types/shaderEffects.js +1 -0
- package/dist/types/text.d.ts +74 -0
- package/dist/types/text.d.ts.map +1 -0
- package/dist/types/text.js +1 -0
- package/dist/types/types.d.ts +81 -0
- package/dist/types/types.d.ts.map +1 -0
- package/dist/types/types.js +1 -0
- package/dist/types/uiController.d.ts +42 -0
- package/dist/types/uiController.d.ts.map +1 -0
- package/dist/types/uiController.js +1 -0
- package/dist/types/users.d.ts +334 -0
- package/dist/types/users.d.ts.map +1 -0
- package/dist/types/users.js +34 -0
- package/dist/utils/GalleryCreator.d.ts +80 -0
- package/dist/utils/GalleryCreator.d.ts.map +1 -0
- package/dist/utils/GalleryCreator.js +465 -0
- package/dist/utils/GalleryLayouts.d.ts +10 -0
- package/dist/utils/GalleryLayouts.d.ts.map +1 -0
- package/dist/utils/GalleryLayouts.js +43 -0
- package/dist/utils/MaterialCompiler.d.ts +30 -0
- package/dist/utils/MaterialCompiler.d.ts.map +1 -0
- package/dist/utils/MaterialCompiler.js +91 -0
- package/dist/utils/animationsUtils.d.ts +69 -0
- package/dist/utils/animationsUtils.d.ts.map +1 -0
- package/dist/utils/animationsUtils.js +151 -0
- package/dist/utils/createdObjectHandlers.d.ts +32 -0
- package/dist/utils/createdObjectHandlers.d.ts.map +1 -0
- package/dist/utils/createdObjectHandlers.js +35 -0
- package/dist/utils/dataUtils.d.ts +36 -0
- package/dist/utils/dataUtils.d.ts.map +1 -0
- package/dist/utils/dataUtils.js +471 -0
- package/dist/utils/easingUtils.d.ts +5 -0
- package/dist/utils/easingUtils.d.ts.map +1 -0
- package/dist/utils/easingUtils.js +86 -0
- package/dist/utils/edgeUtils.d.ts +37 -0
- package/dist/utils/edgeUtils.d.ts.map +1 -0
- package/dist/utils/edgeUtils.js +128 -0
- package/dist/utils/environmentUtils.d.ts +19 -0
- package/dist/utils/environmentUtils.d.ts.map +1 -0
- package/dist/utils/environmentUtils.js +144 -0
- package/dist/utils/frameAnimations.d.ts +116 -0
- package/dist/utils/frameAnimations.d.ts.map +1 -0
- package/dist/utils/frameAnimations.js +449 -0
- package/dist/utils/galleriesUtils.d.ts +10 -0
- package/dist/utils/galleriesUtils.d.ts.map +1 -0
- package/dist/utils/galleriesUtils.js +162 -0
- package/dist/utils/getAnimatableProperties.d.ts +30 -0
- package/dist/utils/getAnimatableProperties.d.ts.map +1 -0
- package/dist/utils/getAnimatableProperties.js +170 -0
- package/dist/utils/gridUtils.d.ts +8 -0
- package/dist/utils/gridUtils.d.ts.map +1 -0
- package/dist/utils/gridUtils.js +26 -0
- package/dist/utils/handleEdgesAnimations.d.ts +20 -0
- package/dist/utils/handleEdgesAnimations.d.ts.map +1 -0
- package/dist/utils/handleEdgesAnimations.js +125 -0
- package/dist/utils/handleEdgesMouseMove.d.ts +12 -0
- package/dist/utils/handleEdgesMouseMove.d.ts.map +1 -0
- package/dist/utils/handleEdgesMouseMove.js +38 -0
- package/dist/utils/handleGenerativeEffectsAnimations.d.ts +15 -0
- package/dist/utils/handleGenerativeEffectsAnimations.d.ts.map +1 -0
- package/dist/utils/handleGenerativeEffectsAnimations.js +218 -0
- package/dist/utils/handleLightAnimations.d.ts +18 -0
- package/dist/utils/handleLightAnimations.d.ts.map +1 -0
- package/dist/utils/handleLightAnimations.js +123 -0
- package/dist/utils/handleLightMouseMove.d.ts +13 -0
- package/dist/utils/handleLightMouseMove.d.ts.map +1 -0
- package/dist/utils/handleLightMouseMove.js +51 -0
- package/dist/utils/handleMaterialEffects.d.ts +32 -0
- package/dist/utils/handleMaterialEffects.d.ts.map +1 -0
- package/dist/utils/handleMaterialEffects.js +130 -0
- package/dist/utils/handleMaterialMouseMove.d.ts +11 -0
- package/dist/utils/handleMaterialMouseMove.d.ts.map +1 -0
- package/dist/utils/handleMaterialMouseMove.js +20 -0
- package/dist/utils/handleTransformEffects.d.ts +31 -0
- package/dist/utils/handleTransformEffects.d.ts.map +1 -0
- package/dist/utils/handleTransformEffects.js +140 -0
- package/dist/utils/handleTransformMouseMove.d.ts +13 -0
- package/dist/utils/handleTransformMouseMove.d.ts.map +1 -0
- package/dist/utils/handleTransformMouseMove.js +49 -0
- package/dist/utils/idUtils.d.ts +4 -0
- package/dist/utils/idUtils.d.ts.map +1 -0
- package/dist/utils/idUtils.js +10 -0
- package/dist/utils/index.d.ts +34 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +33 -0
- package/dist/utils/loadingManager.d.ts +29 -0
- package/dist/utils/loadingManager.d.ts.map +1 -0
- package/dist/utils/loadingManager.js +103 -0
- package/dist/utils/materialApplicationUtils.d.ts +72 -0
- package/dist/utils/materialApplicationUtils.d.ts.map +1 -0
- package/dist/utils/materialApplicationUtils.js +169 -0
- package/dist/utils/materialUtils.d.ts +79 -0
- package/dist/utils/materialUtils.d.ts.map +1 -0
- package/dist/utils/materialUtils.js +267 -0
- package/dist/utils/meshUtils.d.ts +10 -0
- package/dist/utils/meshUtils.d.ts.map +1 -0
- package/dist/utils/meshUtils.js +473 -0
- package/dist/utils/mouseMoveUtils.d.ts +15 -0
- package/dist/utils/mouseMoveUtils.d.ts.map +1 -0
- package/dist/utils/mouseMoveUtils.js +52 -0
- package/dist/utils/objectTreeUtils.d.ts +39 -0
- package/dist/utils/objectTreeUtils.d.ts.map +1 -0
- package/dist/utils/objectTreeUtils.js +115 -0
- package/dist/utils/optionalProperties.d.ts +36 -0
- package/dist/utils/optionalProperties.d.ts.map +1 -0
- package/dist/utils/optionalProperties.js +487 -0
- package/dist/utils/particleAnimations.d.ts +3 -0
- package/dist/utils/particleAnimations.d.ts.map +1 -0
- package/dist/utils/particleAnimations.js +17 -0
- package/dist/utils/pathUtils.d.ts +19 -0
- package/dist/utils/pathUtils.d.ts.map +1 -0
- package/dist/utils/pathUtils.js +73 -0
- package/dist/utils/positionsCreatorUtils.d.ts +97 -0
- package/dist/utils/positionsCreatorUtils.d.ts.map +1 -0
- package/dist/utils/positionsCreatorUtils.js +644 -0
- package/dist/utils/sceneQuery.d.ts +9 -0
- package/dist/utils/sceneQuery.d.ts.map +1 -0
- package/dist/utils/sceneQuery.js +22 -0
- package/dist/utils/shootingStarHelpers.d.ts +13 -0
- package/dist/utils/shootingStarHelpers.d.ts.map +1 -0
- package/dist/utils/shootingStarHelpers.js +44 -0
- package/dist/utils/sunUtils.d.ts +6 -0
- package/dist/utils/sunUtils.d.ts.map +1 -0
- package/dist/utils/sunUtils.js +9 -0
- package/dist/utils/utils.d.ts +21 -0
- package/dist/utils/utils.d.ts.map +1 -0
- package/dist/utils/utils.js +158 -0
- package/package.json +43 -0
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
import type { AnimationSequence, TransitionStep, AnimationPlaybackOptions, PathConfig } from "../types/animations";
|
|
2
|
+
import type { Vector3Array } from "../types/scene3d";
|
|
3
|
+
export type AnimationEventType = 'sequenceStart' | 'sequenceEnd' | 'stepStart' | 'stepEnd';
|
|
4
|
+
export interface AnimationEvent {
|
|
5
|
+
type: AnimationEventType;
|
|
6
|
+
sequenceId: string;
|
|
7
|
+
sequence: AnimationSequence;
|
|
8
|
+
step?: TransitionStep;
|
|
9
|
+
stepIndex?: number;
|
|
10
|
+
}
|
|
11
|
+
type AnimationEventListener = (event: AnimationEvent) => void;
|
|
12
|
+
/**
|
|
13
|
+
* AnimationsManager
|
|
14
|
+
* Execution-only manager for animation playback.
|
|
15
|
+
* Sequence data lives in Redux - this class only handles execution.
|
|
16
|
+
*/
|
|
17
|
+
declare class AnimationsManager {
|
|
18
|
+
private activeSequences;
|
|
19
|
+
private paths;
|
|
20
|
+
private timelines;
|
|
21
|
+
private eventListeners;
|
|
22
|
+
constructor();
|
|
23
|
+
/**
|
|
24
|
+
* Add an event listener
|
|
25
|
+
*/
|
|
26
|
+
on(eventType: AnimationEventType, listener: AnimationEventListener): void;
|
|
27
|
+
/**
|
|
28
|
+
* Remove an event listener
|
|
29
|
+
*/
|
|
30
|
+
off(eventType: AnimationEventType, listener: AnimationEventListener): void;
|
|
31
|
+
/**
|
|
32
|
+
* Emit an event
|
|
33
|
+
*/
|
|
34
|
+
private emit;
|
|
35
|
+
/**
|
|
36
|
+
* @deprecated Sequences are now managed in Redux. Use playSequence(sequence) directly.
|
|
37
|
+
* This method is kept for backwards compatibility during migration.
|
|
38
|
+
*/
|
|
39
|
+
addSequence(sequence: AnimationSequence): AnimationSequence;
|
|
40
|
+
/**
|
|
41
|
+
* @deprecated Sequences are now managed in Redux.
|
|
42
|
+
*/
|
|
43
|
+
removeSequence(sequenceId: string): void;
|
|
44
|
+
/**
|
|
45
|
+
* Get an actively playing sequence's runtime state
|
|
46
|
+
*/
|
|
47
|
+
getSequence(sequenceId: string): AnimationSequence | undefined;
|
|
48
|
+
/**
|
|
49
|
+
* @deprecated Sequences are now managed in Redux. Use Redux selectors instead.
|
|
50
|
+
*/
|
|
51
|
+
getAllSequences(): AnimationSequence[];
|
|
52
|
+
/**
|
|
53
|
+
* Execute a single animation step with multiple transitions
|
|
54
|
+
* Returns a GSAP timeline for this step
|
|
55
|
+
*/
|
|
56
|
+
private executeStep;
|
|
57
|
+
/**
|
|
58
|
+
* Play an animation sequence
|
|
59
|
+
* @param sequenceOrId - Either a full AnimationSequence object or a sequence ID (for backwards compat)
|
|
60
|
+
* @param options - Playback options
|
|
61
|
+
*/
|
|
62
|
+
playSequence(sequenceOrId: AnimationSequence | string, options?: AnimationPlaybackOptions): Promise<void>;
|
|
63
|
+
/**
|
|
64
|
+
* Pause an animation sequence
|
|
65
|
+
*/
|
|
66
|
+
pauseSequence(sequenceId: string): void;
|
|
67
|
+
/**
|
|
68
|
+
* Resume a paused animation sequence
|
|
69
|
+
*/
|
|
70
|
+
resumeSequence(sequenceId: string): void;
|
|
71
|
+
/**
|
|
72
|
+
* Stop an animation sequence
|
|
73
|
+
*/
|
|
74
|
+
stopSequence(sequenceId: string): void;
|
|
75
|
+
/**
|
|
76
|
+
* Stop all animation sequences
|
|
77
|
+
*/
|
|
78
|
+
stopAllSequences(): void;
|
|
79
|
+
/**
|
|
80
|
+
* @deprecated Use Redux to update sequences. This only affects runtime state.
|
|
81
|
+
*/
|
|
82
|
+
updateSequence(sequenceId: string, updates: Partial<AnimationSequence>): void;
|
|
83
|
+
/**
|
|
84
|
+
* Check if a sequence is playing
|
|
85
|
+
*/
|
|
86
|
+
isSequencePlaying(sequenceId: string): boolean;
|
|
87
|
+
/**
|
|
88
|
+
* Check if a sequence is paused
|
|
89
|
+
*/
|
|
90
|
+
isSequencePaused(sequenceId: string): boolean;
|
|
91
|
+
/**
|
|
92
|
+
* Seek to a specific progress point in the animation (0-1)
|
|
93
|
+
*/
|
|
94
|
+
seekToProgress(sequenceId: string, progress: number): void;
|
|
95
|
+
/**
|
|
96
|
+
* Go to the start of the animation
|
|
97
|
+
*/
|
|
98
|
+
goToStart(sequenceId: string): void;
|
|
99
|
+
/**
|
|
100
|
+
* Go to the end of the animation
|
|
101
|
+
*/
|
|
102
|
+
goToEnd(sequenceId: string): void;
|
|
103
|
+
/**
|
|
104
|
+
* Get the current progress of a sequence (0-1)
|
|
105
|
+
*/
|
|
106
|
+
getProgress(sequenceId: string): number;
|
|
107
|
+
/**
|
|
108
|
+
* Clear all active sequences and timelines
|
|
109
|
+
*/
|
|
110
|
+
clear(): void;
|
|
111
|
+
reverseSteps(sequence: AnimationSequence): AnimationSequence;
|
|
112
|
+
/**
|
|
113
|
+
* Get progress based on start time and duration (uses wall-clock time like GSAP)
|
|
114
|
+
* @param startTime - The timestamp when animation started (from performance.now() or Date.now())
|
|
115
|
+
* @param duration - Total animation duration in seconds
|
|
116
|
+
* @param ease - Easing function name (e.g., 'linear', 'power2.out', 'easeInOut')
|
|
117
|
+
* @returns Eased progress value from 0 to 1
|
|
118
|
+
*/
|
|
119
|
+
getProgressFromTime(startTime: number, duration: number, ease?: string): number;
|
|
120
|
+
/**
|
|
121
|
+
* @deprecated Use getProgressFromTime for accurate timing that matches GSAP
|
|
122
|
+
*/
|
|
123
|
+
getRawProgress(progress: number, delta: number, duration?: number): number;
|
|
124
|
+
/**
|
|
125
|
+
* Create a new path and return its ID
|
|
126
|
+
*/
|
|
127
|
+
createPath(name?: string, initialPoints?: Vector3Array[]): string;
|
|
128
|
+
/**
|
|
129
|
+
* Add an existing path (for loading saved paths)
|
|
130
|
+
*/
|
|
131
|
+
addPath(pathSettings: PathConfig): void;
|
|
132
|
+
/**
|
|
133
|
+
* Get a path by ID
|
|
134
|
+
*/
|
|
135
|
+
getPath(pathId: string): PathConfig | undefined;
|
|
136
|
+
/**
|
|
137
|
+
* Get path points by ID
|
|
138
|
+
*/
|
|
139
|
+
getPathPoints(pathId: string): Vector3Array[] | undefined;
|
|
140
|
+
/**
|
|
141
|
+
* Get all paths
|
|
142
|
+
*/
|
|
143
|
+
getAllPaths(): PathConfig[];
|
|
144
|
+
/**
|
|
145
|
+
* Update a path's settings
|
|
146
|
+
*/
|
|
147
|
+
updatePath(pathId: string, updates: Partial<Omit<PathConfig, 'id'>>): void;
|
|
148
|
+
/**
|
|
149
|
+
* Update a path's points
|
|
150
|
+
*/
|
|
151
|
+
updatePathPoints(pathId: string, points: Vector3Array[]): void;
|
|
152
|
+
/**
|
|
153
|
+
* Add a point to a path
|
|
154
|
+
*/
|
|
155
|
+
addPointToPath(pathId: string, point: Vector3Array): void;
|
|
156
|
+
/**
|
|
157
|
+
* Remove a point from a path by index
|
|
158
|
+
*/
|
|
159
|
+
removePointFromPath(pathId: string, index: number): void;
|
|
160
|
+
/**
|
|
161
|
+
* Delete a path
|
|
162
|
+
*/
|
|
163
|
+
deletePath(pathId: string): void;
|
|
164
|
+
/**
|
|
165
|
+
* Clear all paths
|
|
166
|
+
*/
|
|
167
|
+
clearAllPaths(): void;
|
|
168
|
+
}
|
|
169
|
+
declare const _default: AnimationsManager;
|
|
170
|
+
export default _default;
|
|
171
|
+
//# sourceMappingURL=AnimationsManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AnimationsManager.d.ts","sourceRoot":"","sources":["../../src/services/AnimationsManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,508 @@
|
|
|
1
|
+
import gsap from 'gsap';
|
|
2
|
+
import { applyEasing, gsapEasingMap } from '../utils/easingUtils.js';
|
|
3
|
+
/**
|
|
4
|
+
* AnimationsManager
|
|
5
|
+
* Execution-only manager for animation playback.
|
|
6
|
+
* Sequence data lives in Redux - this class only handles execution.
|
|
7
|
+
*/
|
|
8
|
+
class AnimationsManager {
|
|
9
|
+
// Runtime state for actively playing sequences
|
|
10
|
+
activeSequences = new Map();
|
|
11
|
+
paths = new Map([]);
|
|
12
|
+
timelines = new Map();
|
|
13
|
+
eventListeners = new Map();
|
|
14
|
+
constructor() {
|
|
15
|
+
// Initialize event listener sets
|
|
16
|
+
this.eventListeners.set('sequenceStart', new Set());
|
|
17
|
+
this.eventListeners.set('sequenceEnd', new Set());
|
|
18
|
+
this.eventListeners.set('stepStart', new Set());
|
|
19
|
+
this.eventListeners.set('stepEnd', new Set());
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Add an event listener
|
|
23
|
+
*/
|
|
24
|
+
on(eventType, listener) {
|
|
25
|
+
const listeners = this.eventListeners.get(eventType);
|
|
26
|
+
if (listeners) {
|
|
27
|
+
listeners.add(listener);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Remove an event listener
|
|
32
|
+
*/
|
|
33
|
+
off(eventType, listener) {
|
|
34
|
+
const listeners = this.eventListeners.get(eventType);
|
|
35
|
+
if (listeners) {
|
|
36
|
+
listeners.delete(listener);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Emit an event
|
|
41
|
+
*/
|
|
42
|
+
emit(event) {
|
|
43
|
+
const listeners = this.eventListeners.get(event.type);
|
|
44
|
+
if (listeners) {
|
|
45
|
+
listeners.forEach(listener => {
|
|
46
|
+
try {
|
|
47
|
+
listener(event);
|
|
48
|
+
}
|
|
49
|
+
catch (error) {
|
|
50
|
+
console.error(`Error in animation event listener for ${event.type}:`, error);
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* @deprecated Sequences are now managed in Redux. Use playSequence(sequence) directly.
|
|
57
|
+
* This method is kept for backwards compatibility during migration.
|
|
58
|
+
*/
|
|
59
|
+
addSequence(sequence) {
|
|
60
|
+
console.warn('AnimationsManager.addSequence is deprecated. Sequences are managed in Redux.');
|
|
61
|
+
// Store for backwards compatibility
|
|
62
|
+
this.activeSequences.set(sequence.id, {
|
|
63
|
+
...sequence,
|
|
64
|
+
currentStep: 0,
|
|
65
|
+
isPlaying: false,
|
|
66
|
+
isPaused: false,
|
|
67
|
+
progress: 0,
|
|
68
|
+
});
|
|
69
|
+
return this.activeSequences.get(sequence.id);
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* @deprecated Sequences are now managed in Redux.
|
|
73
|
+
*/
|
|
74
|
+
removeSequence(sequenceId) {
|
|
75
|
+
console.warn('AnimationsManager.removeSequence is deprecated. Sequences are managed in Redux.');
|
|
76
|
+
this.stopSequence(sequenceId);
|
|
77
|
+
this.activeSequences.delete(sequenceId);
|
|
78
|
+
this.timelines.delete(sequenceId);
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Get an actively playing sequence's runtime state
|
|
82
|
+
*/
|
|
83
|
+
getSequence(sequenceId) {
|
|
84
|
+
return this.activeSequences.get(sequenceId);
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* @deprecated Sequences are now managed in Redux. Use Redux selectors instead.
|
|
88
|
+
*/
|
|
89
|
+
getAllSequences() {
|
|
90
|
+
console.warn('AnimationsManager.getAllSequences is deprecated. Use Redux selectors.');
|
|
91
|
+
return Array.from(this.activeSequences.values());
|
|
92
|
+
}
|
|
93
|
+
// updateSequence(sequenceId: string, updates: Partial<AnimationSequence>): void {
|
|
94
|
+
// const sequence = this.sequences.get(sequenceId);
|
|
95
|
+
// if (sequence) {
|
|
96
|
+
// Object.assign(sequence, updates);
|
|
97
|
+
// }
|
|
98
|
+
// }
|
|
99
|
+
/**
|
|
100
|
+
* Execute a single animation step with multiple transitions
|
|
101
|
+
* Returns a GSAP timeline for this step
|
|
102
|
+
*/
|
|
103
|
+
executeStep(step, stepTimeline, sequence, stepIndex) {
|
|
104
|
+
const { duration, ease = 'power2.out' } = step;
|
|
105
|
+
const stagger = step.stagger || 0;
|
|
106
|
+
// Total GSAP timeline duration must cover the last staggered transition finishing.
|
|
107
|
+
// last object starts at (n-1)*stagger, runs for `duration` seconds.
|
|
108
|
+
const totalDuration = duration + (step.transitions.length > 1 ? (step.transitions.length) * stagger : 0);
|
|
109
|
+
// Emit step start event with step data
|
|
110
|
+
stepTimeline.call(() => {
|
|
111
|
+
this.emit({
|
|
112
|
+
type: 'stepStart',
|
|
113
|
+
sequenceId: sequence.id,
|
|
114
|
+
sequence,
|
|
115
|
+
step,
|
|
116
|
+
stepIndex,
|
|
117
|
+
});
|
|
118
|
+
}, undefined, 0); // Call at the start of the step timeline
|
|
119
|
+
// console.log('Executing step', stepIndex, 'of sequence', sequence.id, 'with duration', duration, 'stagger', stagger, 'totalDuration', totalDuration);
|
|
120
|
+
stepTimeline.to({}, { duration: totalDuration, ease: ease });
|
|
121
|
+
// Emit step end event
|
|
122
|
+
stepTimeline.call(() => {
|
|
123
|
+
this.emit({
|
|
124
|
+
type: 'stepEnd',
|
|
125
|
+
sequenceId: sequence.id,
|
|
126
|
+
sequence,
|
|
127
|
+
step,
|
|
128
|
+
stepIndex,
|
|
129
|
+
});
|
|
130
|
+
if (step.onComplete) {
|
|
131
|
+
step.onComplete();
|
|
132
|
+
}
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Play an animation sequence
|
|
137
|
+
* @param sequenceOrId - Either a full AnimationSequence object or a sequence ID (for backwards compat)
|
|
138
|
+
* @param options - Playback options
|
|
139
|
+
*/
|
|
140
|
+
async playSequence(sequenceOrId, options = {}) {
|
|
141
|
+
// Support both sequence object and ID for backwards compatibility
|
|
142
|
+
let sequence;
|
|
143
|
+
let originalSequence; // Keep original for yoyo/loop callbacks
|
|
144
|
+
let sequenceId;
|
|
145
|
+
if (typeof sequenceOrId === 'string') {
|
|
146
|
+
// ID passed - look up in activeSequences (backwards compat)
|
|
147
|
+
const found = this.activeSequences.get(sequenceOrId);
|
|
148
|
+
if (!found) {
|
|
149
|
+
console.warn(`Animation sequence with ID ${sequenceOrId} not found. Pass sequence data directly.`);
|
|
150
|
+
return;
|
|
151
|
+
}
|
|
152
|
+
originalSequence = found;
|
|
153
|
+
sequence = options.reverse ? this.reverseSteps(found) : found;
|
|
154
|
+
sequenceId = sequenceOrId;
|
|
155
|
+
}
|
|
156
|
+
else {
|
|
157
|
+
// Sequence object passed directly (preferred)
|
|
158
|
+
originalSequence = sequenceOrId;
|
|
159
|
+
sequence = options.reverse ? this.reverseSteps(sequenceOrId) : sequenceOrId;
|
|
160
|
+
sequenceId = sequence.id;
|
|
161
|
+
}
|
|
162
|
+
// console.log('Playing sequence:', sequenceId, options);
|
|
163
|
+
// Stop existing timeline if any
|
|
164
|
+
this.stopSequence(sequenceId);
|
|
165
|
+
// Store in activeSequences for runtime state tracking
|
|
166
|
+
const runtimeSequence = {
|
|
167
|
+
...sequence,
|
|
168
|
+
isPlaying: true,
|
|
169
|
+
isPaused: false,
|
|
170
|
+
currentStep: options.startStep || 0,
|
|
171
|
+
progress: 0,
|
|
172
|
+
};
|
|
173
|
+
this.activeSequences.set(sequenceId, runtimeSequence);
|
|
174
|
+
// console.log({sequence});
|
|
175
|
+
// Create main timeline
|
|
176
|
+
// When yoyo is enabled, we handle looping manually via callbacks
|
|
177
|
+
// When yoyo is disabled, we can use GSAP's repeat for loop
|
|
178
|
+
const useGsapRepeat = originalSequence.loop && !originalSequence.yoyo;
|
|
179
|
+
const mainTimeline = gsap.timeline({
|
|
180
|
+
paused: false,
|
|
181
|
+
repeat: useGsapRepeat ? -1 : 0,
|
|
182
|
+
onStart: () => {
|
|
183
|
+
// Emit sequence start event
|
|
184
|
+
this.emit({
|
|
185
|
+
type: 'sequenceStart',
|
|
186
|
+
sequenceId,
|
|
187
|
+
sequence: runtimeSequence,
|
|
188
|
+
});
|
|
189
|
+
},
|
|
190
|
+
onUpdate: () => {
|
|
191
|
+
const progress = mainTimeline.progress();
|
|
192
|
+
// console.log(progress);
|
|
193
|
+
runtimeSequence.progress = progress;
|
|
194
|
+
},
|
|
195
|
+
onComplete: () => {
|
|
196
|
+
runtimeSequence.isPlaying = false;
|
|
197
|
+
runtimeSequence.currentStep = 0;
|
|
198
|
+
runtimeSequence.progress = 1;
|
|
199
|
+
// Emit sequence end event
|
|
200
|
+
this.emit({
|
|
201
|
+
type: 'sequenceEnd',
|
|
202
|
+
sequenceId,
|
|
203
|
+
sequence: runtimeSequence,
|
|
204
|
+
});
|
|
205
|
+
if (originalSequence.yoyo) {
|
|
206
|
+
if (!options._isYoyoReturn) {
|
|
207
|
+
// Just finished the first pass, play the return leg (reversed)
|
|
208
|
+
this.playSequence(originalSequence, {
|
|
209
|
+
...options,
|
|
210
|
+
reverse: true,
|
|
211
|
+
_isYoyoReturn: true,
|
|
212
|
+
});
|
|
213
|
+
}
|
|
214
|
+
else if (originalSequence.loop) {
|
|
215
|
+
// Finished the return leg and loop is true, start fresh (forward)
|
|
216
|
+
this.playSequence(originalSequence, {
|
|
217
|
+
...options,
|
|
218
|
+
reverse: false,
|
|
219
|
+
_isYoyoReturn: false,
|
|
220
|
+
});
|
|
221
|
+
}
|
|
222
|
+
// If _isYoyoReturn and loop is false, we're done (no replay)
|
|
223
|
+
}
|
|
224
|
+
if (options.onComplete) {
|
|
225
|
+
options.onComplete();
|
|
226
|
+
}
|
|
227
|
+
},
|
|
228
|
+
});
|
|
229
|
+
// Add forward steps to timeline
|
|
230
|
+
for (let i = 0; i < sequence.steps.length; i++) {
|
|
231
|
+
const step = sequence.steps[i];
|
|
232
|
+
const delay = step.delay || 0;
|
|
233
|
+
// Create a nested timeline for each step
|
|
234
|
+
const stepTimeline = gsap.timeline({
|
|
235
|
+
onStart: () => {
|
|
236
|
+
runtimeSequence.currentStep = i;
|
|
237
|
+
}
|
|
238
|
+
});
|
|
239
|
+
// Execute the step (this will add tweens to stepTimeline and emit events)
|
|
240
|
+
this.executeStep(step, stepTimeline, sequence, i);
|
|
241
|
+
// Add the step timeline to the main timeline
|
|
242
|
+
if (delay > 0) {
|
|
243
|
+
mainTimeline.add(stepTimeline, `+=${delay}`);
|
|
244
|
+
}
|
|
245
|
+
else {
|
|
246
|
+
mainTimeline.add(stepTimeline);
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
// Apply speed multiplier if provided
|
|
250
|
+
if (options.speed !== undefined && options.speed > 0) {
|
|
251
|
+
mainTimeline.timeScale(options.speed);
|
|
252
|
+
}
|
|
253
|
+
this.timelines.set(sequenceId, mainTimeline);
|
|
254
|
+
}
|
|
255
|
+
/**
|
|
256
|
+
* Pause an animation sequence
|
|
257
|
+
*/
|
|
258
|
+
pauseSequence(sequenceId) {
|
|
259
|
+
const timeline = this.timelines.get(sequenceId);
|
|
260
|
+
const sequence = this.activeSequences.get(sequenceId);
|
|
261
|
+
if (timeline && sequence) {
|
|
262
|
+
timeline.pause();
|
|
263
|
+
sequence.isPaused = true;
|
|
264
|
+
sequence.isPlaying = false;
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
/**
|
|
268
|
+
* Resume a paused animation sequence
|
|
269
|
+
*/
|
|
270
|
+
resumeSequence(sequenceId) {
|
|
271
|
+
const timeline = this.timelines.get(sequenceId);
|
|
272
|
+
const sequence = this.activeSequences.get(sequenceId);
|
|
273
|
+
if (timeline && sequence) {
|
|
274
|
+
timeline.resume();
|
|
275
|
+
sequence.isPaused = false;
|
|
276
|
+
sequence.isPlaying = true;
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
/**
|
|
280
|
+
* Stop an animation sequence
|
|
281
|
+
*/
|
|
282
|
+
stopSequence(sequenceId) {
|
|
283
|
+
const timeline = this.timelines.get(sequenceId);
|
|
284
|
+
const sequence = this.activeSequences.get(sequenceId);
|
|
285
|
+
if (timeline) {
|
|
286
|
+
timeline.kill();
|
|
287
|
+
this.timelines.delete(sequenceId);
|
|
288
|
+
}
|
|
289
|
+
if (sequence) {
|
|
290
|
+
sequence.isPlaying = false;
|
|
291
|
+
sequence.isPaused = false;
|
|
292
|
+
sequence.currentStep = 0;
|
|
293
|
+
sequence.progress = 0;
|
|
294
|
+
// Clean up from activeSequences when stopped
|
|
295
|
+
this.activeSequences.delete(sequenceId);
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
/**
|
|
299
|
+
* Stop all animation sequences
|
|
300
|
+
*/
|
|
301
|
+
stopAllSequences() {
|
|
302
|
+
this.activeSequences.forEach((_, sequenceId) => {
|
|
303
|
+
this.stopSequence(sequenceId);
|
|
304
|
+
});
|
|
305
|
+
}
|
|
306
|
+
/**
|
|
307
|
+
* @deprecated Use Redux to update sequences. This only affects runtime state.
|
|
308
|
+
*/
|
|
309
|
+
updateSequence(sequenceId, updates) {
|
|
310
|
+
console.warn('AnimationsManager.updateSequence is deprecated. Use Redux.');
|
|
311
|
+
const sequence = this.activeSequences.get(sequenceId);
|
|
312
|
+
if (sequence) {
|
|
313
|
+
Object.assign(sequence, updates);
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
/**
|
|
317
|
+
* Check if a sequence is playing
|
|
318
|
+
*/
|
|
319
|
+
isSequencePlaying(sequenceId) {
|
|
320
|
+
const sequence = this.activeSequences.get(sequenceId);
|
|
321
|
+
return sequence?.isPlaying || false;
|
|
322
|
+
}
|
|
323
|
+
/**
|
|
324
|
+
* Check if a sequence is paused
|
|
325
|
+
*/
|
|
326
|
+
isSequencePaused(sequenceId) {
|
|
327
|
+
const sequence = this.activeSequences.get(sequenceId);
|
|
328
|
+
return sequence?.isPaused || false;
|
|
329
|
+
}
|
|
330
|
+
/**
|
|
331
|
+
* Seek to a specific progress point in the animation (0-1)
|
|
332
|
+
*/
|
|
333
|
+
seekToProgress(sequenceId, progress) {
|
|
334
|
+
const timeline = this.timelines.get(sequenceId);
|
|
335
|
+
const sequence = this.activeSequences.get(sequenceId);
|
|
336
|
+
if (timeline && sequence) {
|
|
337
|
+
const clampedProgress = Math.max(0, Math.min(1, progress));
|
|
338
|
+
timeline.progress(clampedProgress);
|
|
339
|
+
sequence.progress = clampedProgress;
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
/**
|
|
343
|
+
* Go to the start of the animation
|
|
344
|
+
*/
|
|
345
|
+
goToStart(sequenceId) {
|
|
346
|
+
this.seekToProgress(sequenceId, 0);
|
|
347
|
+
}
|
|
348
|
+
/**
|
|
349
|
+
* Go to the end of the animation
|
|
350
|
+
*/
|
|
351
|
+
goToEnd(sequenceId) {
|
|
352
|
+
this.seekToProgress(sequenceId, 1);
|
|
353
|
+
}
|
|
354
|
+
/**
|
|
355
|
+
* Get the current progress of a sequence (0-1)
|
|
356
|
+
*/
|
|
357
|
+
getProgress(sequenceId) {
|
|
358
|
+
const timeline = this.timelines.get(sequenceId);
|
|
359
|
+
return timeline?.progress() || 0;
|
|
360
|
+
}
|
|
361
|
+
/**
|
|
362
|
+
* Clear all active sequences and timelines
|
|
363
|
+
*/
|
|
364
|
+
clear() {
|
|
365
|
+
this.stopAllSequences();
|
|
366
|
+
this.activeSequences.clear();
|
|
367
|
+
this.timelines.clear();
|
|
368
|
+
}
|
|
369
|
+
reverseSteps(sequence) {
|
|
370
|
+
// Create a deep copy of the sequence
|
|
371
|
+
const reversedSequence = {
|
|
372
|
+
...sequence,
|
|
373
|
+
id: sequence.id,
|
|
374
|
+
steps: [...sequence.steps].reverse().map(step => {
|
|
375
|
+
// Deep copy the step
|
|
376
|
+
const reversedStep = {
|
|
377
|
+
...step,
|
|
378
|
+
transitions: step.transitions.map(transition => {
|
|
379
|
+
// Deep copy the transition
|
|
380
|
+
const { properties } = transition;
|
|
381
|
+
// Ensure we maintain the correct structure with from and to properties
|
|
382
|
+
const reversedProperties = {
|
|
383
|
+
from: properties.to || {},
|
|
384
|
+
to: properties.from || {},
|
|
385
|
+
};
|
|
386
|
+
return {
|
|
387
|
+
...transition,
|
|
388
|
+
properties: reversedProperties,
|
|
389
|
+
};
|
|
390
|
+
}),
|
|
391
|
+
};
|
|
392
|
+
return reversedStep;
|
|
393
|
+
}),
|
|
394
|
+
};
|
|
395
|
+
return reversedSequence;
|
|
396
|
+
}
|
|
397
|
+
/**
|
|
398
|
+
* Get progress based on start time and duration (uses wall-clock time like GSAP)
|
|
399
|
+
* @param startTime - The timestamp when animation started (from performance.now() or Date.now())
|
|
400
|
+
* @param duration - Total animation duration in seconds
|
|
401
|
+
* @param ease - Easing function name (e.g., 'linear', 'power2.out', 'easeInOut')
|
|
402
|
+
* @returns Eased progress value from 0 to 1
|
|
403
|
+
*/
|
|
404
|
+
getProgressFromTime(startTime, duration, ease = 'linear') {
|
|
405
|
+
const elapsed = (performance.now() - startTime) / 1000; // Convert ms to seconds
|
|
406
|
+
const linearProgress = Math.min(Math.max(elapsed / duration, 0), 1);
|
|
407
|
+
// Convert GSAP ease string to easing function name if needed
|
|
408
|
+
const easingName = gsapEasingMap[ease] || ease;
|
|
409
|
+
// Apply easing to get the eased progress value
|
|
410
|
+
return applyEasing(easingName, linearProgress);
|
|
411
|
+
}
|
|
412
|
+
/**
|
|
413
|
+
* @deprecated Use getProgressFromTime for accurate timing that matches GSAP
|
|
414
|
+
*/
|
|
415
|
+
getRawProgress(progress, delta, duration = 1) {
|
|
416
|
+
// progress: current progress (0 to 1)
|
|
417
|
+
// delta: time elapsed this frame in seconds
|
|
418
|
+
// duration: total animation duration in seconds
|
|
419
|
+
return Math.min(progress + delta / duration, 1);
|
|
420
|
+
}
|
|
421
|
+
/**
|
|
422
|
+
* Create a new path and return its ID
|
|
423
|
+
*/
|
|
424
|
+
createPath(name, initialPoints = []) {
|
|
425
|
+
const pathId = `path-${Date.now()}-${Math.random().toString(36).substring(2, 11)}`;
|
|
426
|
+
const pathSettings = {
|
|
427
|
+
id: pathId,
|
|
428
|
+
name: name || `Path ${this.paths.size + 1}`,
|
|
429
|
+
points: initialPoints,
|
|
430
|
+
};
|
|
431
|
+
this.paths.set(pathId, pathSettings);
|
|
432
|
+
return pathId;
|
|
433
|
+
}
|
|
434
|
+
/**
|
|
435
|
+
* Add an existing path (for loading saved paths)
|
|
436
|
+
*/
|
|
437
|
+
addPath(pathSettings) {
|
|
438
|
+
this.paths.set(pathSettings.id, pathSettings);
|
|
439
|
+
}
|
|
440
|
+
/**
|
|
441
|
+
* Get a path by ID
|
|
442
|
+
*/
|
|
443
|
+
getPath(pathId) {
|
|
444
|
+
return this.paths.get(pathId);
|
|
445
|
+
}
|
|
446
|
+
/**
|
|
447
|
+
* Get path points by ID
|
|
448
|
+
*/
|
|
449
|
+
getPathPoints(pathId) {
|
|
450
|
+
return this.paths.get(pathId)?.points;
|
|
451
|
+
}
|
|
452
|
+
/**
|
|
453
|
+
* Get all paths
|
|
454
|
+
*/
|
|
455
|
+
getAllPaths() {
|
|
456
|
+
return Array.from(this.paths.values());
|
|
457
|
+
}
|
|
458
|
+
/**
|
|
459
|
+
* Update a path's settings
|
|
460
|
+
*/
|
|
461
|
+
updatePath(pathId, updates) {
|
|
462
|
+
const path = this.paths.get(pathId);
|
|
463
|
+
if (path) {
|
|
464
|
+
this.paths.set(pathId, { ...path, ...updates });
|
|
465
|
+
}
|
|
466
|
+
}
|
|
467
|
+
/**
|
|
468
|
+
* Update a path's points
|
|
469
|
+
*/
|
|
470
|
+
updatePathPoints(pathId, points) {
|
|
471
|
+
const path = this.paths.get(pathId);
|
|
472
|
+
if (path) {
|
|
473
|
+
this.paths.set(pathId, { ...path, points });
|
|
474
|
+
}
|
|
475
|
+
}
|
|
476
|
+
/**
|
|
477
|
+
* Add a point to a path
|
|
478
|
+
*/
|
|
479
|
+
addPointToPath(pathId, point) {
|
|
480
|
+
const path = this.paths.get(pathId);
|
|
481
|
+
if (path) {
|
|
482
|
+
this.paths.set(pathId, { ...path, points: [...path.points, point] });
|
|
483
|
+
}
|
|
484
|
+
}
|
|
485
|
+
/**
|
|
486
|
+
* Remove a point from a path by index
|
|
487
|
+
*/
|
|
488
|
+
removePointFromPath(pathId, index) {
|
|
489
|
+
const path = this.paths.get(pathId);
|
|
490
|
+
if (path) {
|
|
491
|
+
this.paths.set(pathId, { ...path, points: path.points.filter((_, i) => i !== index) });
|
|
492
|
+
}
|
|
493
|
+
}
|
|
494
|
+
/**
|
|
495
|
+
* Delete a path
|
|
496
|
+
*/
|
|
497
|
+
deletePath(pathId) {
|
|
498
|
+
this.paths.delete(pathId);
|
|
499
|
+
}
|
|
500
|
+
/**
|
|
501
|
+
* Clear all paths
|
|
502
|
+
*/
|
|
503
|
+
clearAllPaths() {
|
|
504
|
+
this.paths.clear();
|
|
505
|
+
}
|
|
506
|
+
}
|
|
507
|
+
// Export singleton instance
|
|
508
|
+
export default new AnimationsManager();
|