@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,18 @@
|
|
|
1
|
+
import type { Light } from 'three';
|
|
2
|
+
import type { AnimationOptions } from "../types";
|
|
3
|
+
export interface LightAnimationContext {
|
|
4
|
+
light: Light;
|
|
5
|
+
startValuesCache: Record<string, any>;
|
|
6
|
+
}
|
|
7
|
+
export declare const DEBUG_LIGHT_ANIMATIONS = false;
|
|
8
|
+
/**
|
|
9
|
+
* Process all active light animations for a single light instance.
|
|
10
|
+
*
|
|
11
|
+
* @param ctx - Animation context (light + start-value cache)
|
|
12
|
+
* @param animations - AnimationOptions[] from animations.light.animations (or
|
|
13
|
+
* SceneLightConfig.ambient.animations / .sun.animations)
|
|
14
|
+
* @param currentTime - Current timestamp (Date.now())
|
|
15
|
+
* @param hovered - Whether the light is currently hovered (for triggerMode='hover')
|
|
16
|
+
*/
|
|
17
|
+
export declare function handleLightAnimations(ctx: LightAnimationContext, animations: AnimationOptions[], currentTime: number, hovered: boolean): void;
|
|
18
|
+
//# sourceMappingURL=handleLightAnimations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handleLightAnimations.d.ts","sourceRoot":"","sources":["../../src/utils/handleLightAnimations.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAGnC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AACjD,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,KAAK,CAAC;IACb,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACzC;AAMD,eAAO,MAAM,sBAAsB,QAAQ,CAAC;AAsF5C;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,qBAAqB,EAAE,UAAU,EAAE,gBAAgB,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAQ7I"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
// =============================================================================
|
|
2
|
+
// HANDLE LIGHT ANIMATIONS — Keyframe animations on a THREE.Light
|
|
3
|
+
// =============================================================================
|
|
4
|
+
//
|
|
5
|
+
// Reads AnimationOptions[] and applies interpolated values directly to a light
|
|
6
|
+
// instance. Properties are written to the light itself (intensity, color) or
|
|
7
|
+
// to type-specific fields (distance, decay on PointLight/SpotLight; angle,
|
|
8
|
+
// penumbra on SpotLight). Unknown properties are skipped silently.
|
|
9
|
+
//
|
|
10
|
+
// Sibling of handleTransformAnimations / handleMaterialAnimations /
|
|
11
|
+
// handleEdgesAnimations. Same interpolation primitives (calculateTimeProgress,
|
|
12
|
+
// applyEasing, interpolateValue) so easing / loop / yoyo semantics match.
|
|
13
|
+
//
|
|
14
|
+
import { Color } from 'three';
|
|
15
|
+
import { applyEasing, gsapEasingMap } from './easingUtils.js';
|
|
16
|
+
import { calculateTimeProgress, interpolateValue } from './materialUtils.js';
|
|
17
|
+
// =============================================================================
|
|
18
|
+
// DEBUG
|
|
19
|
+
// =============================================================================
|
|
20
|
+
export const DEBUG_LIGHT_ANIMATIONS = false;
|
|
21
|
+
const log = (message, ...args) => {
|
|
22
|
+
if (DEBUG_LIGHT_ANIMATIONS) {
|
|
23
|
+
console.log(`[LightAnimations] ${message}`, ...args);
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
// Properties that can be animated per-frame on a light.
|
|
27
|
+
const ANIMATABLE_LIGHT_PROPERTIES = new Set([
|
|
28
|
+
'intensity',
|
|
29
|
+
'color',
|
|
30
|
+
'distance',
|
|
31
|
+
'decay',
|
|
32
|
+
'angle',
|
|
33
|
+
'penumbra',
|
|
34
|
+
]);
|
|
35
|
+
// =============================================================================
|
|
36
|
+
// HELPERS
|
|
37
|
+
// =============================================================================
|
|
38
|
+
function readLightProperty(light, property) {
|
|
39
|
+
if (property === 'color') {
|
|
40
|
+
return `#${light.color?.getHexString?.() ?? 'ffffff'}`;
|
|
41
|
+
}
|
|
42
|
+
return light[property];
|
|
43
|
+
}
|
|
44
|
+
function applyLightProperty(light, property, value) {
|
|
45
|
+
if (property === 'color') {
|
|
46
|
+
const target = light.color;
|
|
47
|
+
if (!target)
|
|
48
|
+
return;
|
|
49
|
+
if (value instanceof Color) {
|
|
50
|
+
target.copy(value);
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
target.set(value);
|
|
54
|
+
}
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
// Numeric properties — only assign if the light actually has the field.
|
|
58
|
+
if (property in light) {
|
|
59
|
+
light[property] = value;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
function getStartValue(ctx, property, animation) {
|
|
63
|
+
if (animation.from !== undefined)
|
|
64
|
+
return animation.from;
|
|
65
|
+
if (property in ctx.startValuesCache)
|
|
66
|
+
return ctx.startValuesCache[property];
|
|
67
|
+
const value = readLightProperty(ctx.light, property);
|
|
68
|
+
ctx.startValuesCache[property] = value;
|
|
69
|
+
return value;
|
|
70
|
+
}
|
|
71
|
+
// =============================================================================
|
|
72
|
+
// SINGLE PROPERTY ANIMATION
|
|
73
|
+
// =============================================================================
|
|
74
|
+
function animateLightProperty(ctx, animation, currentTime, hovered) {
|
|
75
|
+
const { property, to, duration, ease, loop = false, yoyo = false, active, triggerMode = 'always' } = animation;
|
|
76
|
+
if (!active || to === undefined)
|
|
77
|
+
return;
|
|
78
|
+
if (triggerMode === 'hover' && !hovered)
|
|
79
|
+
return;
|
|
80
|
+
if (!ANIMATABLE_LIGHT_PROPERTIES.has(property)) {
|
|
81
|
+
log('skipping non-animatable light property', { property });
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
// Type-specific properties: only apply if this light actually has them.
|
|
85
|
+
if ((property === 'distance' || property === 'decay' || property === 'angle' || property === 'penumbra') && !(property in ctx.light)) {
|
|
86
|
+
log('skipping property not present on this light type', { property, lightType: ctx.light.type });
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
const from = getStartValue(ctx, property, animation);
|
|
90
|
+
if (from === null || from === undefined) {
|
|
91
|
+
log('skipping — no start value', { property });
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
let timeProgress = calculateTimeProgress(currentTime, duration, yoyo, loop);
|
|
95
|
+
if (ease) {
|
|
96
|
+
const fn = gsapEasingMap[ease] || ease;
|
|
97
|
+
timeProgress = applyEasing(fn, timeProgress);
|
|
98
|
+
}
|
|
99
|
+
const interpolated = interpolateValue(property, from, to, timeProgress);
|
|
100
|
+
applyLightProperty(ctx.light, property, interpolated);
|
|
101
|
+
log('animated light property', { property, from, to, interpolated, progress: timeProgress });
|
|
102
|
+
}
|
|
103
|
+
// =============================================================================
|
|
104
|
+
// MAIN HANDLER
|
|
105
|
+
// =============================================================================
|
|
106
|
+
/**
|
|
107
|
+
* Process all active light animations for a single light instance.
|
|
108
|
+
*
|
|
109
|
+
* @param ctx - Animation context (light + start-value cache)
|
|
110
|
+
* @param animations - AnimationOptions[] from animations.light.animations (or
|
|
111
|
+
* SceneLightConfig.ambient.animations / .sun.animations)
|
|
112
|
+
* @param currentTime - Current timestamp (Date.now())
|
|
113
|
+
* @param hovered - Whether the light is currently hovered (for triggerMode='hover')
|
|
114
|
+
*/
|
|
115
|
+
export function handleLightAnimations(ctx, animations, currentTime, hovered) {
|
|
116
|
+
if (animations.length === 0)
|
|
117
|
+
return;
|
|
118
|
+
for (const animation of animations) {
|
|
119
|
+
if (!animation.active)
|
|
120
|
+
continue;
|
|
121
|
+
animateLightProperty(ctx, animation, currentTime, hovered);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { Light } from 'three';
|
|
2
|
+
import type { MouseMoveProperty } from "../types/objectSettings";
|
|
3
|
+
export interface LightMouseMoveContext {
|
|
4
|
+
light: Light;
|
|
5
|
+
/** Optional base values (e.g. config.intensity) used as fallback if we can't
|
|
6
|
+
* read the property off the live light. */
|
|
7
|
+
lightConfig?: Record<string, any>;
|
|
8
|
+
}
|
|
9
|
+
export declare function handleLightMouseMove(ctx: LightMouseMoveContext, properties: MouseMoveProperty[], pointer: {
|
|
10
|
+
x: number;
|
|
11
|
+
y: number;
|
|
12
|
+
}): void;
|
|
13
|
+
//# sourceMappingURL=handleLightMouseMove.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handleLightMouseMove.d.ts","sourceRoot":"","sources":["../../src/utils/handleLightMouseMove.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAEnC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,KAAK,CAAC;IACb;gDAC4C;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACrC;AA0BD,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,qBAAqB,EAAE,UAAU,EAAE,iBAAiB,EAAE,EAAE,OAAO,EAAE;IAC/F,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACb,GAAG,IAAI,CAkBf"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
// =============================================================================
|
|
2
|
+
// HANDLE LIGHT MOUSE MOVE — pointer-driven light property updates
|
|
3
|
+
// =============================================================================
|
|
4
|
+
//
|
|
5
|
+
// Sibling of handleLightAnimations. Same allowlist + per-light-type guards.
|
|
6
|
+
// Writes directly to the Three.js light instance.
|
|
7
|
+
//
|
|
8
|
+
import { Color } from 'three';
|
|
9
|
+
import { interpolateMouseMoveProperty } from './mouseMoveUtils.js';
|
|
10
|
+
const ANIMATABLE = new Set(['intensity', 'color', 'distance', 'decay', 'angle', 'penumbra']);
|
|
11
|
+
function readBase(light, property, config) {
|
|
12
|
+
if (property === 'color') {
|
|
13
|
+
return `#${light.color?.getHexString?.() ?? config?.color?.replace?.('#', '') ?? 'ffffff'}`;
|
|
14
|
+
}
|
|
15
|
+
const live = light[property];
|
|
16
|
+
return live ?? config?.[property];
|
|
17
|
+
}
|
|
18
|
+
function applyLightProperty(light, property, value) {
|
|
19
|
+
if (property === 'color') {
|
|
20
|
+
const target = light.color;
|
|
21
|
+
if (!target)
|
|
22
|
+
return;
|
|
23
|
+
if (value instanceof Color)
|
|
24
|
+
target.copy(value);
|
|
25
|
+
else
|
|
26
|
+
target.set(value);
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
if (property in light) {
|
|
30
|
+
light[property] = value;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
export function handleLightMouseMove(ctx, properties, pointer) {
|
|
34
|
+
if (!properties.length)
|
|
35
|
+
return;
|
|
36
|
+
const { light, lightConfig } = ctx;
|
|
37
|
+
for (const { property, enabled, propertySettings } of properties) {
|
|
38
|
+
if (!property || !enabled)
|
|
39
|
+
continue;
|
|
40
|
+
if (!ANIMATABLE.has(property))
|
|
41
|
+
continue;
|
|
42
|
+
if ((property === 'distance' || property === 'decay' || property === 'angle' || property === 'penumbra') && !(property in light))
|
|
43
|
+
continue;
|
|
44
|
+
const { axis = 'both', sensitivity = 1, inverted = false, min, max } = propertySettings || {};
|
|
45
|
+
const baseValue = readBase(light, property, lightConfig);
|
|
46
|
+
if (baseValue === undefined)
|
|
47
|
+
continue;
|
|
48
|
+
const next = interpolateMouseMoveProperty(baseValue, min, max, pointer, axis, sensitivity, inverted);
|
|
49
|
+
applyLightProperty(light, property, next);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Object3D } from "three";
|
|
2
|
+
import { AnimationOptions, ColorEffectV2, EffectState, MaterialSettings } from "../types";
|
|
3
|
+
export interface MaterialAnimationContext {
|
|
4
|
+
object: Object3D;
|
|
5
|
+
materialSettings: MaterialSettings;
|
|
6
|
+
/** Cache of start values for animations (property -> value) */
|
|
7
|
+
startValuesCache: Record<string, any>;
|
|
8
|
+
}
|
|
9
|
+
export declare const DEBUG_MATERIAL_EFFECTS = false;
|
|
10
|
+
/**
|
|
11
|
+
* Animate a single material property.
|
|
12
|
+
* Supports any material property type (number, color, vector2, etc.)
|
|
13
|
+
*/
|
|
14
|
+
export declare function animateMaterialProperty(ctx: MaterialAnimationContext, animation: AnimationOptions, currentTime: number, hovered: boolean): void;
|
|
15
|
+
/**
|
|
16
|
+
* Process all active material animations for an object.
|
|
17
|
+
* Supports any material property (color, opacity, roughness, metalness, emissive, etc.)
|
|
18
|
+
*/
|
|
19
|
+
export declare function handleMaterialAnimations(ctx: MaterialAnimationContext, animations: AnimationOptions[], currentTime: number, hovered: boolean): void;
|
|
20
|
+
/**
|
|
21
|
+
* Apply continuous color effects (pulse-color, transition, gradient, etc.).
|
|
22
|
+
* @param object - The 3D object to apply effects to
|
|
23
|
+
* @param effects - Array of color effects
|
|
24
|
+
* @param time - Elapsed time for animation
|
|
25
|
+
* @param delta - Frame delta time
|
|
26
|
+
* @param effectStateRef - Reference to effect state (will be initialized if null)
|
|
27
|
+
* @param applyToChildren - Whether to traverse and apply to children
|
|
28
|
+
*/
|
|
29
|
+
export declare function handleMaterialEffects(object: Object3D, effects: ColorEffectV2[], time: number, delta: number, effectStateRef: {
|
|
30
|
+
current: EffectState | null;
|
|
31
|
+
}, applyToChildren?: boolean): void;
|
|
32
|
+
//# sourceMappingURL=handleMaterialEffects.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handleMaterialEffects.d.ts","sourceRoot":"","sources":["../../src/utils/handleMaterialEffects.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC1F,MAAM,WAAW,wBAAwB;IACrC,MAAM,EAAE,QAAQ,CAAC;IACjB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,+DAA+D;IAC/D,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACzC;AAMD,eAAO,MAAM,sBAAsB,QAAQ,CAAC;AAmC5C;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,wBAAwB,EAAE,SAAS,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CA6B/I;AAID;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,wBAAwB,EAAE,UAAU,EAAE,gBAAgB,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAWnJ;AAID;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE;IACnH,OAAO,EAAE,WAAW,GAAG,IAAI,CAAC;CAC/B,EAAE,eAAe,GAAE,OAAe,GAAG,IAAI,CAcjD"}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
// =============================================================================
|
|
2
|
+
// HANDLE MATERIAL EFFECTS — Material Animations & Effects Handler
|
|
3
|
+
// =============================================================================
|
|
4
|
+
//
|
|
5
|
+
// Pure functions for handling material-related animations and effects.
|
|
6
|
+
// Supports animating any material property (color, opacity, roughness, metalness, etc.)
|
|
7
|
+
// Uses getType for property type detection and applySingleProperty for application.
|
|
8
|
+
//
|
|
9
|
+
import { calculateTimeProgress, getMaterialPropertyValue, interpolateValue, applyMaterialPropertyToObject, } from "./materialUtils.js";
|
|
10
|
+
import { applyEasing, gsapEasingMap } from "./animationsUtils.js";
|
|
11
|
+
import { createDefaultEffectState, } from "./utils.js";
|
|
12
|
+
import { applyAllColorEffects } from "./frameAnimations.js";
|
|
13
|
+
// =============================================================================
|
|
14
|
+
// DEBUG
|
|
15
|
+
// =============================================================================
|
|
16
|
+
export const DEBUG_MATERIAL_EFFECTS = false;
|
|
17
|
+
const log = (message, ...args) => {
|
|
18
|
+
if (DEBUG_MATERIAL_EFFECTS) {
|
|
19
|
+
console.log(`[MaterialEffects] ${message}`, ...args);
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
// =============================================================================
|
|
23
|
+
// MATERIAL PROPERTY ANIMATION
|
|
24
|
+
// =============================================================================
|
|
25
|
+
/**
|
|
26
|
+
* Get the start value for a material animation.
|
|
27
|
+
* Priority: animation.from > startValuesCache > materialSettings > current material value
|
|
28
|
+
*/
|
|
29
|
+
function getStartValue(ctx, animation) {
|
|
30
|
+
const { object, materialSettings, startValuesCache } = ctx;
|
|
31
|
+
const property = animation.property;
|
|
32
|
+
// 1. Explicit 'from' value in animation
|
|
33
|
+
if (animation.from !== undefined) {
|
|
34
|
+
return animation.from;
|
|
35
|
+
}
|
|
36
|
+
// 2. Check cache (already computed start value)
|
|
37
|
+
if (property in startValuesCache) {
|
|
38
|
+
return startValuesCache[property];
|
|
39
|
+
}
|
|
40
|
+
// 3. Check materialSettings
|
|
41
|
+
if (property in materialSettings) {
|
|
42
|
+
const value = materialSettings[property];
|
|
43
|
+
startValuesCache[property] = value;
|
|
44
|
+
return value;
|
|
45
|
+
}
|
|
46
|
+
// 4. Get from current material (fallback)
|
|
47
|
+
const currentValue = getMaterialPropertyValue(object, property);
|
|
48
|
+
startValuesCache[property] = currentValue;
|
|
49
|
+
return currentValue;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Animate a single material property.
|
|
53
|
+
* Supports any material property type (number, color, vector2, etc.)
|
|
54
|
+
*/
|
|
55
|
+
export function animateMaterialProperty(ctx, animation, currentTime, hovered) {
|
|
56
|
+
// console.log("Animating material property:", {
|
|
57
|
+
// ctx,
|
|
58
|
+
// animation,
|
|
59
|
+
// });
|
|
60
|
+
const { object } = ctx;
|
|
61
|
+
const { property, to, duration, ease, loop = false, yoyo = false, active, } = animation;
|
|
62
|
+
if (!active || to === undefined)
|
|
63
|
+
return;
|
|
64
|
+
if (animation.triggerMode === "hover" && !hovered)
|
|
65
|
+
return;
|
|
66
|
+
// Get start value
|
|
67
|
+
const from = getStartValue(ctx, animation);
|
|
68
|
+
if (from === null || from === undefined) {
|
|
69
|
+
log("skipping animation - no start value", { property });
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
// Calculate animation progress
|
|
73
|
+
let timeProgress = calculateTimeProgress(currentTime, duration, yoyo, loop);
|
|
74
|
+
// Apply easing if specified
|
|
75
|
+
if (ease) {
|
|
76
|
+
const easingFunctionName = gsapEasingMap[ease] || ease;
|
|
77
|
+
timeProgress = applyEasing(easingFunctionName, timeProgress);
|
|
78
|
+
}
|
|
79
|
+
// Interpolate value based on property type
|
|
80
|
+
const interpolated = interpolateValue(property, from, to, timeProgress);
|
|
81
|
+
// Apply to object (handles shader uniforms + standard materials)
|
|
82
|
+
applyMaterialPropertyToObject(object, property, interpolated);
|
|
83
|
+
log("animated property", { property, from, to, interpolated, progress: timeProgress });
|
|
84
|
+
}
|
|
85
|
+
// =============================================================================
|
|
86
|
+
// HANDLE MATERIAL ANIMATIONS
|
|
87
|
+
// =============================================================================
|
|
88
|
+
/**
|
|
89
|
+
* Process all active material animations for an object.
|
|
90
|
+
* Supports any material property (color, opacity, roughness, metalness, emissive, etc.)
|
|
91
|
+
*/
|
|
92
|
+
export function handleMaterialAnimations(ctx, animations, currentTime, hovered) {
|
|
93
|
+
animations.forEach((animation) => {
|
|
94
|
+
if (!animation.active)
|
|
95
|
+
return;
|
|
96
|
+
// Skip transform properties (handled by handleTransformEffects)
|
|
97
|
+
const property = animation.property;
|
|
98
|
+
if (property === "position" || property === "rotation" || property === "scale") {
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
animateMaterialProperty(ctx, animation, currentTime, hovered);
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
// =============================================================================
|
|
105
|
+
// HANDLE MATERIAL EFFECTS (COLOR EFFECTS)
|
|
106
|
+
// =============================================================================
|
|
107
|
+
/**
|
|
108
|
+
* Apply continuous color effects (pulse-color, transition, gradient, etc.).
|
|
109
|
+
* @param object - The 3D object to apply effects to
|
|
110
|
+
* @param effects - Array of color effects
|
|
111
|
+
* @param time - Elapsed time for animation
|
|
112
|
+
* @param delta - Frame delta time
|
|
113
|
+
* @param effectStateRef - Reference to effect state (will be initialized if null)
|
|
114
|
+
* @param applyToChildren - Whether to traverse and apply to children
|
|
115
|
+
*/
|
|
116
|
+
export function handleMaterialEffects(object, effects, time, delta, effectStateRef, applyToChildren = false) {
|
|
117
|
+
const enabledEffects = effects.filter((e) => e.enabled);
|
|
118
|
+
if (enabledEffects.length === 0)
|
|
119
|
+
return;
|
|
120
|
+
// Initialize effect state if needed
|
|
121
|
+
if (!effectStateRef.current) {
|
|
122
|
+
effectStateRef.current = createDefaultEffectState(object);
|
|
123
|
+
}
|
|
124
|
+
log("applying color effects", { count: enabledEffects.length });
|
|
125
|
+
applyAllColorEffects(object, enabledEffects, time, delta, {}, // baseColors
|
|
126
|
+
false, // hovered (not relevant for continuous)
|
|
127
|
+
false, // clicked (not relevant for continuous)
|
|
128
|
+
applyToChildren, 1 // sensitivity: full intensity for continuous effects
|
|
129
|
+
);
|
|
130
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Object3D } from "three";
|
|
2
|
+
import type { MouseMoveProperty } from "../types/objectSettings";
|
|
3
|
+
export interface MaterialMouseMoveContext {
|
|
4
|
+
object: Object3D;
|
|
5
|
+
materialSettings?: Record<string, any>;
|
|
6
|
+
}
|
|
7
|
+
export declare function handleMaterialMouseMove(ctx: MaterialMouseMoveContext, properties: MouseMoveProperty[], pointer: {
|
|
8
|
+
x: number;
|
|
9
|
+
y: number;
|
|
10
|
+
}): void;
|
|
11
|
+
//# sourceMappingURL=handleMaterialMouseMove.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handleMaterialMouseMove.d.ts","sourceRoot":"","sources":["../../src/utils/handleMaterialMouseMove.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,MAAM,WAAW,wBAAwB;IACrC,MAAM,EAAE,QAAQ,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC1C;AAGD,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,wBAAwB,EAAE,UAAU,EAAE,iBAAiB,EAAE,EAAE,OAAO,EAAE;IACrG,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACb,GAAG,IAAI,CAcf"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
// =============================================================================
|
|
2
|
+
// HANDLE MATERIAL MOUSE MOVE — pointer-driven material property updates
|
|
3
|
+
// =============================================================================
|
|
4
|
+
import { applyMaterialPropertyToObject } from './materialUtils.js';
|
|
5
|
+
import { interpolateMouseMoveProperty } from './mouseMoveUtils.js';
|
|
6
|
+
export function handleMaterialMouseMove(ctx, properties, pointer) {
|
|
7
|
+
if (!properties.length)
|
|
8
|
+
return;
|
|
9
|
+
const { object, materialSettings } = ctx;
|
|
10
|
+
for (const { property, enabled, propertySettings } of properties) {
|
|
11
|
+
if (!property || !enabled)
|
|
12
|
+
continue;
|
|
13
|
+
const { axis = 'both', sensitivity = 1, inverted = false, min, max } = propertySettings || {};
|
|
14
|
+
const baseValue = materialSettings?.[property];
|
|
15
|
+
if (baseValue === undefined)
|
|
16
|
+
continue;
|
|
17
|
+
const next = interpolateMouseMoveProperty(baseValue, min, max, pointer, axis, sensitivity, inverted);
|
|
18
|
+
applyMaterialPropertyToObject(object, property, next);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { Object3D } from 'three';
|
|
2
|
+
import type { AnimationOptions, Vector3Array } from "../types/scene3d";
|
|
3
|
+
import type { TransformEffectV2 } from "../types/objectSettings";
|
|
4
|
+
import type { EffectState } from "../types/effects";
|
|
5
|
+
export interface TransformAnimationContext {
|
|
6
|
+
object: Object3D;
|
|
7
|
+
meshSettings: any;
|
|
8
|
+
pathIsActive: boolean;
|
|
9
|
+
}
|
|
10
|
+
export declare const DEBUG_TRANSFORM_EFFECTS = false;
|
|
11
|
+
/**
|
|
12
|
+
* Animate a single transform property (position, rotation, scale).
|
|
13
|
+
*/
|
|
14
|
+
export declare function animateTransformProperty(object: Object3D, property: "position" | "rotation" | "scale", start: Vector3Array, to: Vector3Array, timeProgress: number, animationType: string, animationSpeed: number): void;
|
|
15
|
+
/**
|
|
16
|
+
* Process all active transform animations for an object.
|
|
17
|
+
* Handles position, rotation, and scale animations.
|
|
18
|
+
*/
|
|
19
|
+
export declare function handleTransformAnimations(ctx: TransformAnimationContext, animations: AnimationOptions[], currentTime: number, hovered: boolean): void;
|
|
20
|
+
/**
|
|
21
|
+
* Apply continuous transform effect (wave, float, spin, etc.).
|
|
22
|
+
* @param object - The 3D object to apply effects to
|
|
23
|
+
* @param effect - The transform effect configuration (single or array)
|
|
24
|
+
* @param time - Elapsed time for animation
|
|
25
|
+
* @param delta - Frame delta time
|
|
26
|
+
* @param effectStateRef - Reference to effect state (will be initialized if null)
|
|
27
|
+
*/
|
|
28
|
+
export declare function handleTransformEffect(object: Object3D, effect: TransformEffectV2 | TransformEffectV2[] | undefined, time: number, delta: number, effectStateRef: {
|
|
29
|
+
current: EffectState | null;
|
|
30
|
+
}, hovered: boolean): void;
|
|
31
|
+
//# sourceMappingURL=handleTransformEffects.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handleTransformEffects.d.ts","sourceRoot":"","sources":["../../src/utils/handleTransformEffects.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAKtC,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,MAAM,WAAW,yBAAyB;IACtC,MAAM,EAAE,QAAQ,CAAC;IACjB,YAAY,EAAE,GAAG,CAAC;IAClB,YAAY,EAAE,OAAO,CAAC;CACzB;AAMD,eAAO,MAAM,uBAAuB,QAAQ,CAAC;AAS7C;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,GAAG,UAAU,GAAG,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,IAAI,CAmBxN;AAID;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,yBAAyB,EAAE,UAAU,EAAE,gBAAgB,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAoDrJ;AAID;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,iBAAiB,GAAG,iBAAiB,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE;IACtJ,OAAO,EAAE,WAAW,GAAG,IAAI,CAAC;CAC/B,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAqBjC"}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
// =============================================================================
|
|
2
|
+
// HANDLE TRANSFORM EFFECTS — Transform Animations & Effects Handler
|
|
3
|
+
// =============================================================================
|
|
4
|
+
//
|
|
5
|
+
// Pure functions for handling transform-related animations and effects.
|
|
6
|
+
// Extracted from useContinuousEffects for better separation of concerns.
|
|
7
|
+
//
|
|
8
|
+
import { MathUtils } from "three";
|
|
9
|
+
import { applyEasing, gsapEasingMap } from "./animationsUtils.js";
|
|
10
|
+
import { applyTransformEffects } from "../utils/frameAnimations.js";
|
|
11
|
+
import { calculateTimeProgress } from "./materialUtils.js";
|
|
12
|
+
import { createDefaultEffectState } from "./utils.js";
|
|
13
|
+
// =============================================================================
|
|
14
|
+
// DEBUG
|
|
15
|
+
// =============================================================================
|
|
16
|
+
export const DEBUG_TRANSFORM_EFFECTS = false;
|
|
17
|
+
const log = (message, ...args) => {
|
|
18
|
+
if (DEBUG_TRANSFORM_EFFECTS) {
|
|
19
|
+
console.log(`[TransformEffects] ${message}`, ...args);
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
// =============================================================================
|
|
23
|
+
// TRANSFORM PROPERTY ANIMATION
|
|
24
|
+
// =============================================================================
|
|
25
|
+
/**
|
|
26
|
+
* Animate a single transform property (position, rotation, scale).
|
|
27
|
+
*/
|
|
28
|
+
export function animateTransformProperty(object, property, start, to, timeProgress, animationType, animationSpeed) {
|
|
29
|
+
if (animationType === "keyframe") {
|
|
30
|
+
// Keyframe mode: add incremental change
|
|
31
|
+
const currentValue = object[property].toArray();
|
|
32
|
+
const newValue = [
|
|
33
|
+
currentValue[0] + to[0] * animationSpeed * 0.001,
|
|
34
|
+
currentValue[1] + to[1] * animationSpeed * 0.001,
|
|
35
|
+
currentValue[2] + to[2] * animationSpeed * 0.001,
|
|
36
|
+
];
|
|
37
|
+
object[property].set(...newValue);
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
// Interpolation mode: lerp from start to target
|
|
41
|
+
const interpolated = start.map((startValue, index) => {
|
|
42
|
+
const targetValue = to[index];
|
|
43
|
+
return MathUtils.lerp(startValue, targetValue, timeProgress);
|
|
44
|
+
});
|
|
45
|
+
object[property].set(interpolated[0], interpolated[1], interpolated[2]);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
// =============================================================================
|
|
49
|
+
// HANDLE TRANSFORM ANIMATIONS
|
|
50
|
+
// =============================================================================
|
|
51
|
+
/**
|
|
52
|
+
* Process all active transform animations for an object.
|
|
53
|
+
* Handles position, rotation, and scale animations.
|
|
54
|
+
*/
|
|
55
|
+
export function handleTransformAnimations(ctx, animations, currentTime, hovered) {
|
|
56
|
+
const { object, meshSettings, pathIsActive } = ctx;
|
|
57
|
+
// console.log("handleTransformAnimations called with animations:", animations);
|
|
58
|
+
animations.forEach((animation) => {
|
|
59
|
+
const { property, ease, duration, loop = false, to, yoyo = false, active, type = "interpolation", objectIds, triggerMode = "always", } = animation;
|
|
60
|
+
if (!active)
|
|
61
|
+
return;
|
|
62
|
+
if (triggerMode === "hover" && !hovered)
|
|
63
|
+
return;
|
|
64
|
+
// Skip position/rotation if path animation is active (path controls these)
|
|
65
|
+
if (pathIsActive &&
|
|
66
|
+
(property === "position" || property === "rotation") &&
|
|
67
|
+
(!objectIds || objectIds.length === 0)) {
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
// Only handle transform properties
|
|
71
|
+
if (property !== "position" && property !== "rotation" && property !== "scale") {
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
// Calculate animation progress
|
|
75
|
+
let timeProgress = calculateTimeProgress(currentTime, duration, yoyo, loop);
|
|
76
|
+
// Apply easing if specified
|
|
77
|
+
if (ease) {
|
|
78
|
+
const easingFunctionName = gsapEasingMap[ease] || ease;
|
|
79
|
+
timeProgress = applyEasing(easingFunctionName, timeProgress);
|
|
80
|
+
}
|
|
81
|
+
const animationSpeed = 1000 / duration;
|
|
82
|
+
// Determine which objects to animate
|
|
83
|
+
const targetsToAnimate = [];
|
|
84
|
+
if (objectIds && objectIds.length > 0) {
|
|
85
|
+
// Animate specific children by name
|
|
86
|
+
objectIds.forEach((name) => {
|
|
87
|
+
const child = object.getObjectByName(name);
|
|
88
|
+
if (child) {
|
|
89
|
+
targetsToAnimate.push(child);
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
log("animating specific targets", { objectIds, found: targetsToAnimate.length });
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
// Animate the parent object
|
|
96
|
+
targetsToAnimate.push(object);
|
|
97
|
+
}
|
|
98
|
+
// Get start value from meshSettings
|
|
99
|
+
const start = meshSettings[property];
|
|
100
|
+
if (!start || !to)
|
|
101
|
+
return;
|
|
102
|
+
// Apply animation to each target
|
|
103
|
+
targetsToAnimate.forEach((target) => {
|
|
104
|
+
animateTransformProperty(target, property, start, to, timeProgress, type, animationSpeed);
|
|
105
|
+
});
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
// =============================================================================
|
|
109
|
+
// HANDLE TRANSFORM EFFECT
|
|
110
|
+
// =============================================================================
|
|
111
|
+
/**
|
|
112
|
+
* Apply continuous transform effect (wave, float, spin, etc.).
|
|
113
|
+
* @param object - The 3D object to apply effects to
|
|
114
|
+
* @param effect - The transform effect configuration (single or array)
|
|
115
|
+
* @param time - Elapsed time for animation
|
|
116
|
+
* @param delta - Frame delta time
|
|
117
|
+
* @param effectStateRef - Reference to effect state (will be initialized if null)
|
|
118
|
+
*/
|
|
119
|
+
export function handleTransformEffect(object, effect, time, delta, effectStateRef, hovered) {
|
|
120
|
+
// console.log("handleTransformEffect called with effect:", object);
|
|
121
|
+
if (!effect)
|
|
122
|
+
return;
|
|
123
|
+
// Normalize to array
|
|
124
|
+
const effects = Array.isArray(effect) ? effect : [effect];
|
|
125
|
+
// Filter to enabled effects
|
|
126
|
+
const enabledEffects = effects.filter(e => e.enabled);
|
|
127
|
+
if (enabledEffects.length === 0)
|
|
128
|
+
return;
|
|
129
|
+
// Initialize effect state if needed
|
|
130
|
+
if (!effectStateRef.current) {
|
|
131
|
+
effectStateRef.current = createDefaultEffectState(object);
|
|
132
|
+
}
|
|
133
|
+
// log("applying transform effects", { count: enabledEffects.length, types: enabledEffects.map(e => e.type) });
|
|
134
|
+
// Apply transform effects
|
|
135
|
+
applyTransformEffects(object, enabledEffects, // applyTransformEffects expects array
|
|
136
|
+
time, delta, effectStateRef.current, hovered, // hovered (relevant for hover-based effects)
|
|
137
|
+
false, // clicked (not relevant for continuous)
|
|
138
|
+
1 // sensitivity: full intensity for continuous effects
|
|
139
|
+
);
|
|
140
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Object3D } from "three";
|
|
2
|
+
import type { MouseMoveProperty } from "../types/objectSettings";
|
|
3
|
+
export interface TransformMouseMoveContext {
|
|
4
|
+
object: Object3D;
|
|
5
|
+
meshSettings?: Record<string, any>;
|
|
6
|
+
}
|
|
7
|
+
export declare const TRANSFORM_PROPS: readonly ["position", "rotation", "scale"];
|
|
8
|
+
export declare function isTransformProperty(property: string): boolean;
|
|
9
|
+
export declare function handleTransformMouseMove(ctx: TransformMouseMoveContext, properties: MouseMoveProperty[], pointer: {
|
|
10
|
+
x: number;
|
|
11
|
+
y: number;
|
|
12
|
+
}): void;
|
|
13
|
+
//# sourceMappingURL=handleTransformMouseMove.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handleTransformMouseMove.d.ts","sourceRoot":"","sources":["../../src/utils/handleTransformMouseMove.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,MAAM,WAAW,yBAAyB;IACtC,MAAM,EAAE,QAAQ,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACtC;AAGD,eAAO,MAAM,eAAe,EAAE,SAAS,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,CAAqC,CAAC;AAC7G,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAG7D;AAkBD,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,yBAAyB,EAAE,UAAU,EAAE,iBAAiB,EAAE,EAAE,OAAO,EAAE;IACvG,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACb,GAAG,IAAI,CAiBf"}
|