@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,49 @@
|
|
|
1
|
+
// =============================================================================
|
|
2
|
+
// HANDLE TRANSFORM MOUSE MOVE — pointer-driven transform property updates
|
|
3
|
+
// =============================================================================
|
|
4
|
+
//
|
|
5
|
+
// Sibling of handleEdgesMouseMove / handleMaterialMouseMove / handleLightMouseMove.
|
|
6
|
+
// Mutates object.position / rotation / scale based on pointer + min/max settings
|
|
7
|
+
// stored in each MouseMoveProperty.
|
|
8
|
+
//
|
|
9
|
+
import { interpolateMouseMoveProperty } from './mouseMoveUtils.js';
|
|
10
|
+
export const TRANSFORM_PROPS = ['position', 'rotation', 'scale'];
|
|
11
|
+
export function isTransformProperty(property) {
|
|
12
|
+
const head = property.split('.')[0];
|
|
13
|
+
return TRANSFORM_PROPS.includes(head);
|
|
14
|
+
}
|
|
15
|
+
function applyTransformProperty(object, property, value) {
|
|
16
|
+
const [prop, axis] = property.split('.');
|
|
17
|
+
const target = object[prop];
|
|
18
|
+
if (!target)
|
|
19
|
+
return;
|
|
20
|
+
if (axis) {
|
|
21
|
+
target[axis] = value;
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
if (Array.isArray(value) && value.length >= 3) {
|
|
25
|
+
target.set(value[0], value[1], value[2]);
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
if (typeof value === 'number') {
|
|
29
|
+
target.set(value, value, value);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
export function handleTransformMouseMove(ctx, properties, pointer) {
|
|
33
|
+
if (!properties.length)
|
|
34
|
+
return;
|
|
35
|
+
const { object, meshSettings } = ctx;
|
|
36
|
+
for (const { property, enabled, propertySettings } of properties) {
|
|
37
|
+
if (!property || !enabled)
|
|
38
|
+
continue;
|
|
39
|
+
if (!isTransformProperty(property))
|
|
40
|
+
continue;
|
|
41
|
+
const { axis = 'both', sensitivity = 1, inverted = false, min, max } = propertySettings || {};
|
|
42
|
+
const head = property.split('.')[0];
|
|
43
|
+
const baseValue = meshSettings?.[property] ?? object[head];
|
|
44
|
+
if (baseValue === undefined)
|
|
45
|
+
continue;
|
|
46
|
+
const next = interpolateMouseMoveProperty(baseValue, min, max, pointer, axis, sensitivity, inverted);
|
|
47
|
+
applyTransformProperty(object, property, next);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"idUtils.d.ts","sourceRoot":"","sources":["../../src/utils/idUtils.ts"],"names":[],"mappings":"AAAA,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AACD,wBAAgB,YAAY,IAAI,MAAM,CAErC;AACD,wBAAgB,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAG1C"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export function createUuid() {
|
|
2
|
+
return crypto.randomUUID();
|
|
3
|
+
}
|
|
4
|
+
export function createTempId() {
|
|
5
|
+
return `temp-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
|
|
6
|
+
}
|
|
7
|
+
export function isUuid(id) {
|
|
8
|
+
const uuidRegex = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
9
|
+
return uuidRegex.test(id);
|
|
10
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
export * from './dataUtils';
|
|
2
|
+
export * from './easingUtils';
|
|
3
|
+
export * from './frameAnimations';
|
|
4
|
+
export * from './particleAnimations';
|
|
5
|
+
export * from './galleriesUtils';
|
|
6
|
+
export * from './GalleryCreator';
|
|
7
|
+
export * from './GalleryLayouts';
|
|
8
|
+
export * from './gridUtils';
|
|
9
|
+
export * from './idUtils';
|
|
10
|
+
export * from './loadingManager';
|
|
11
|
+
export * from './materialApplicationUtils';
|
|
12
|
+
export * from './materialUtils';
|
|
13
|
+
export * from './meshUtils';
|
|
14
|
+
export * from './pathUtils';
|
|
15
|
+
export * from './positionsCreatorUtils';
|
|
16
|
+
export * from './sunUtils';
|
|
17
|
+
export * from './utils';
|
|
18
|
+
export * from './edgeUtils';
|
|
19
|
+
export * from './objectTreeUtils';
|
|
20
|
+
export * from './handleTransformEffects';
|
|
21
|
+
export * from './handleEdgesAnimations';
|
|
22
|
+
export * from './handleLightAnimations';
|
|
23
|
+
export * from './handleMaterialEffects';
|
|
24
|
+
export * from './getAnimatableProperties';
|
|
25
|
+
export * from './mouseMoveUtils';
|
|
26
|
+
export * from './handleTransformMouseMove';
|
|
27
|
+
export * from './handleMaterialMouseMove';
|
|
28
|
+
export * from './handleEdgesMouseMove';
|
|
29
|
+
export * from './handleLightMouseMove';
|
|
30
|
+
export * from './sceneQuery';
|
|
31
|
+
export * from './shootingStarHelpers';
|
|
32
|
+
export * from './environmentUtils';
|
|
33
|
+
export * from './MaterialCompiler';
|
|
34
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,yBAAyB,CAAC;AACxC,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export * from './dataUtils.js';
|
|
2
|
+
export * from './easingUtils.js';
|
|
3
|
+
export * from './frameAnimations.js';
|
|
4
|
+
export * from './particleAnimations.js';
|
|
5
|
+
export * from './galleriesUtils.js';
|
|
6
|
+
export * from './GalleryCreator.js';
|
|
7
|
+
export * from './GalleryLayouts.js';
|
|
8
|
+
export * from './gridUtils.js';
|
|
9
|
+
export * from './idUtils.js';
|
|
10
|
+
export * from './loadingManager.js';
|
|
11
|
+
export * from './materialApplicationUtils.js';
|
|
12
|
+
export * from './materialUtils.js';
|
|
13
|
+
export * from './meshUtils.js';
|
|
14
|
+
export * from './pathUtils.js';
|
|
15
|
+
export * from './positionsCreatorUtils.js';
|
|
16
|
+
export * from './sunUtils.js';
|
|
17
|
+
export * from './utils.js';
|
|
18
|
+
export * from './edgeUtils.js';
|
|
19
|
+
export * from './objectTreeUtils.js';
|
|
20
|
+
export * from './handleTransformEffects.js';
|
|
21
|
+
export * from './handleEdgesAnimations.js';
|
|
22
|
+
export * from './handleLightAnimations.js';
|
|
23
|
+
export * from './handleMaterialEffects.js';
|
|
24
|
+
export * from './getAnimatableProperties.js';
|
|
25
|
+
export * from './mouseMoveUtils.js';
|
|
26
|
+
export * from './handleTransformMouseMove.js';
|
|
27
|
+
export * from './handleMaterialMouseMove.js';
|
|
28
|
+
export * from './handleEdgesMouseMove.js';
|
|
29
|
+
export * from './handleLightMouseMove.js';
|
|
30
|
+
export * from './sceneQuery.js';
|
|
31
|
+
export * from './shootingStarHelpers.js';
|
|
32
|
+
export * from './environmentUtils.js';
|
|
33
|
+
export * from './MaterialCompiler.js';
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { LoadingManager, TextureLoader } from 'three';
|
|
2
|
+
import type { Texture, Object3D } from 'three';
|
|
3
|
+
import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js';
|
|
4
|
+
import { RGBELoader } from "three/addons/loaders/RGBELoader.js";
|
|
5
|
+
import { DRACOLoader } from 'three/addons/loaders/DRACOLoader.js';
|
|
6
|
+
type LoadCallback = () => void;
|
|
7
|
+
type ProgressCallback = (progress: number) => void;
|
|
8
|
+
type TextureCallback = (texture: Texture) => void;
|
|
9
|
+
interface LoadGLTFResult {
|
|
10
|
+
mesh: Object3D;
|
|
11
|
+
diffuseMap: Texture;
|
|
12
|
+
normalMap: Texture;
|
|
13
|
+
aoMap: Texture;
|
|
14
|
+
}
|
|
15
|
+
export type { LoadCallback, ProgressCallback, TextureCallback, LoadGLTFResult };
|
|
16
|
+
declare const loadingManager: LoadingManager;
|
|
17
|
+
declare const textureLoader: TextureLoader;
|
|
18
|
+
declare const rgbeLoader: RGBELoader;
|
|
19
|
+
declare const gltfLoader: GLTFLoader;
|
|
20
|
+
declare const dracoLoader: DRACOLoader;
|
|
21
|
+
declare const loadTexture: (src: string, callback?: TextureCallback) => Texture;
|
|
22
|
+
declare const loadTextureAsync: (src: string) => Promise<Texture>;
|
|
23
|
+
declare const loadHdr: (src: string) => Promise<Texture>;
|
|
24
|
+
declare const loadModelGLTF: (src: string) => Promise<Object3D>;
|
|
25
|
+
declare const loadGLTF: (modelSrc: string, diffuseSrc: string, normalSrc: string, aoSrc: string) => Promise<LoadGLTFResult>;
|
|
26
|
+
declare const onLoad: (callback: LoadCallback) => void;
|
|
27
|
+
declare const onProgress: (callback: ProgressCallback) => void;
|
|
28
|
+
export { loadGLTF, loadTexture, loadTextureAsync, onLoad, onProgress, loadModelGLTF, loadHdr, loadingManager, textureLoader, rgbeLoader, gltfLoader, dracoLoader };
|
|
29
|
+
//# sourceMappingURL=loadingManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loadingManager.d.ts","sourceRoot":"","sources":["../../src/utils/loadingManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAiC,MAAM,OAAO,CAAC;AACrF,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE/C,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAEhE,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAClE,KAAK,YAAY,GAAG,MAAM,IAAI,CAAC;AAE/B,KAAK,gBAAgB,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;AAEnD,KAAK,eAAe,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;AAElD,UAAU,cAAc;IACpB,IAAI,EAAE,QAAQ,CAAC;IACf,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,OAAO,CAAC;CAClB;AAED,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,cAAc,EAAE,CAAC;AAGhF,QAAA,MAAM,cAAc,EAAE,cAAqC,CAAC;AAC5D,QAAA,MAAM,aAAa,EAAE,aAAiD,CAAC;AACvE,QAAA,MAAM,UAAU,EAAE,UAA6B,CAAC;AAEhD,QAAA,MAAM,UAAU,EAAE,UAA2C,CAAC;AAC9D,QAAA,MAAM,WAAW,EAAE,WAA+B,CAAC;AAyBnD,QAAA,MAAM,WAAW,GAAI,KAAK,MAAM,EAAE,WAAW,eAAe,KAAG,OAU9D,CAAC;AAEF,QAAA,MAAM,gBAAgB,GAAI,KAAK,MAAM,KAAG,OAAO,CAAC,OAAO,CAWtD,CAAC;AAEF,QAAA,MAAM,OAAO,GAAI,KAAK,MAAM,KAAG,OAAO,CAAC,OAAO,CAQ7C,CAAC;AAEF,QAAA,MAAM,aAAa,GAAI,KAAK,MAAM,KAAG,OAAO,CAAC,QAAQ,CAUpD,CAAC;AAEF,QAAA,MAAM,QAAQ,GAAU,UAAU,MAAM,EAAE,YAAY,MAAM,EAAE,WAAW,MAAM,EAAE,OAAO,MAAM,KAAG,OAAO,CAAC,cAAc,CAMtH,CAAC;AAEF,QAAA,MAAM,MAAM,GAAI,UAAU,YAAY,KAAG,IAIxC,CAAC;AAEF,QAAA,MAAM,UAAU,GAAI,UAAU,gBAAgB,KAAG,IAEhD,CAAC;AAEF,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { LoadingManager, TextureLoader, RepeatWrapping, HalfFloatType } from 'three';
|
|
2
|
+
// import { TilesRenderer } from "3d-tiles-renderer";
|
|
3
|
+
import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js';
|
|
4
|
+
import { RGBELoader } from "three/addons/loaders/RGBELoader.js";
|
|
5
|
+
// import { FontLoader } from 'three/addons/loaders/FontLoader.js';
|
|
6
|
+
import { DRACOLoader } from 'three/addons/loaders/DRACOLoader.js';
|
|
7
|
+
// Initialize loading manager and loaders
|
|
8
|
+
const loadingManager = new LoadingManager();
|
|
9
|
+
const textureLoader = new TextureLoader(loadingManager);
|
|
10
|
+
const rgbeLoader = new RGBELoader();
|
|
11
|
+
rgbeLoader.setDataType(HalfFloatType);
|
|
12
|
+
const gltfLoader = new GLTFLoader(loadingManager);
|
|
13
|
+
const dracoLoader = new DRACOLoader();
|
|
14
|
+
dracoLoader.setDecoderPath('https://www.gstatic.com/draco/versioned/decoders/1.5.6/');
|
|
15
|
+
gltfLoader.setDRACOLoader(dracoLoader);
|
|
16
|
+
// Callback arrays
|
|
17
|
+
const onLoadCallbacks = [];
|
|
18
|
+
const onProgressCallbacks = [];
|
|
19
|
+
// Loading manager event handlers
|
|
20
|
+
loadingManager.onLoad = () => {
|
|
21
|
+
while (onLoadCallbacks.length) {
|
|
22
|
+
const callback = onLoadCallbacks.shift();
|
|
23
|
+
if (callback) {
|
|
24
|
+
callback.call(null);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
loadingManager.onProgress = (item, loaded, total) => {
|
|
29
|
+
const _onProgressCallbacks = [...onProgressCallbacks];
|
|
30
|
+
while (_onProgressCallbacks.length) {
|
|
31
|
+
const callback = _onProgressCallbacks.shift();
|
|
32
|
+
if (callback) {
|
|
33
|
+
callback(loaded / total);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
// Texture loading function (synchronous - returns texture before image loads)
|
|
38
|
+
const loadTexture = (src, callback) => {
|
|
39
|
+
// console.log('loadTexture', src);
|
|
40
|
+
const texture = textureLoader.load(src, () => {
|
|
41
|
+
if (typeof callback === 'function') {
|
|
42
|
+
callback(texture);
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
texture.wrapS = RepeatWrapping;
|
|
46
|
+
texture.wrapT = RepeatWrapping;
|
|
47
|
+
return texture;
|
|
48
|
+
};
|
|
49
|
+
// Async texture loading - resolves when image is fully loaded
|
|
50
|
+
const loadTextureAsync = (src) => {
|
|
51
|
+
return new Promise((resolve, reject) => {
|
|
52
|
+
textureLoader.load(src, (texture) => {
|
|
53
|
+
texture.wrapS = RepeatWrapping;
|
|
54
|
+
texture.wrapT = RepeatWrapping;
|
|
55
|
+
resolve(texture);
|
|
56
|
+
}, undefined, (error) => {
|
|
57
|
+
console.error('Failed to load texture:', src, error);
|
|
58
|
+
reject(error);
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
};
|
|
62
|
+
// HDR loading function
|
|
63
|
+
const loadHdr = (src) => {
|
|
64
|
+
return new Promise((resolve, reject) => {
|
|
65
|
+
rgbeLoader.load(src, (texture) => {
|
|
66
|
+
resolve(texture);
|
|
67
|
+
}, undefined, (error) => {
|
|
68
|
+
reject(error);
|
|
69
|
+
});
|
|
70
|
+
});
|
|
71
|
+
};
|
|
72
|
+
// GLTF model loading function
|
|
73
|
+
const loadModelGLTF = (src) => {
|
|
74
|
+
// console.log('loadModelGLTF', src)
|
|
75
|
+
return new Promise((resolve, reject) => {
|
|
76
|
+
gltfLoader.load(src, (gltf) => {
|
|
77
|
+
resolve(gltf.scene);
|
|
78
|
+
}, undefined, (error) => {
|
|
79
|
+
console.log('Error loading GLTF model:', src);
|
|
80
|
+
reject(error);
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
};
|
|
84
|
+
// Combined GLTF and texture loading function
|
|
85
|
+
const loadGLTF = async (modelSrc, diffuseSrc, normalSrc, aoSrc) => {
|
|
86
|
+
const mesh = await loadModelGLTF(modelSrc);
|
|
87
|
+
const diffuseMap = loadTexture(diffuseSrc);
|
|
88
|
+
const normalMap = loadTexture(normalSrc);
|
|
89
|
+
const aoMap = loadTexture(aoSrc);
|
|
90
|
+
return { mesh, diffuseMap, normalMap, aoMap };
|
|
91
|
+
};
|
|
92
|
+
// Register load completion callback
|
|
93
|
+
const onLoad = (callback) => {
|
|
94
|
+
onLoadCallbacks.push(callback);
|
|
95
|
+
// Debug reference (consider removing in production)
|
|
96
|
+
window.aa = loadingManager;
|
|
97
|
+
};
|
|
98
|
+
// Register progress callback
|
|
99
|
+
const onProgress = (callback) => {
|
|
100
|
+
onProgressCallbacks.push(callback);
|
|
101
|
+
};
|
|
102
|
+
// Export all loading functions and utilities
|
|
103
|
+
export { loadGLTF, loadTexture, loadTextureAsync, onLoad, onProgress, loadModelGLTF, loadHdr, loadingManager, textureLoader, rgbeLoader, gltfLoader, dracoLoader };
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import type { Object3D, Material } from 'three';
|
|
2
|
+
import { MaterialInstance } from '../services/MaterialRegistry';
|
|
3
|
+
export declare const MATERIAL_INSTANCE_KEY = "_3driseMaterialInstance";
|
|
4
|
+
export declare const EDGES_GROUP_KEY = "__isEdgesGroup";
|
|
5
|
+
export declare const GEREATIVE_EFFECTS_KEY = "__isGenerativeEffectsGroup";
|
|
6
|
+
/**
|
|
7
|
+
* Traverses obj and its descendants, skipping subtrees whose root is marked
|
|
8
|
+
* with EDGES_GROUP_KEY or GEREATIVE_EFFECTS_KEY — unless obj itself carries that mark (so an edges group
|
|
9
|
+
* or generative effects group can still apply its own material via useMaterialApplication).
|
|
10
|
+
*/
|
|
11
|
+
export declare function traverseSkippingEdgesAndEffects(obj: Object3D, isRoot: boolean, callback: (node: Object3D) => void): void;
|
|
12
|
+
/**
|
|
13
|
+
* Create a fresh material instance for a variant and apply settings to it.
|
|
14
|
+
*/
|
|
15
|
+
export declare function createAndApplyMaterial(variant: string, resolvedSettings: Record<string, any>): MaterialInstance;
|
|
16
|
+
/**
|
|
17
|
+
* Resolve texture URLs in settings to Three.js Texture objects.
|
|
18
|
+
* Wraps TextureResolver.resolveSettings() with error handling.
|
|
19
|
+
*/
|
|
20
|
+
export declare function resolveTextures(variant: string, settings: Record<string, any>): Promise<Record<string, any>>;
|
|
21
|
+
export declare function applySingleProperty(material: Material, key: string, value: any): void;
|
|
22
|
+
/**
|
|
23
|
+
* Apply a color value to a material property.
|
|
24
|
+
* Converts hex string to Color object and applies correctly.
|
|
25
|
+
*/
|
|
26
|
+
export declare function applyColorProperty(material: Material, key: string, hexValue: string): void;
|
|
27
|
+
/**
|
|
28
|
+
* Check if a settings key is a color property.
|
|
29
|
+
*/
|
|
30
|
+
export declare function isColorProperty(key: string): boolean;
|
|
31
|
+
/**
|
|
32
|
+
* Check if a settings key is a texture/map property.
|
|
33
|
+
*/
|
|
34
|
+
export declare function isTextureProperty(key: string): boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Check if a settings key is a boolean property.
|
|
37
|
+
*/
|
|
38
|
+
export declare function isBooleanProperty(key: string, value: any): boolean;
|
|
39
|
+
/**
|
|
40
|
+
* Check if a settings key is a numeric property suitable for a slider.
|
|
41
|
+
*/
|
|
42
|
+
export declare function isNumericProperty(key: string, value: any): boolean;
|
|
43
|
+
/**
|
|
44
|
+
* Internal/meta fields that should never be shown in UI or applied to materials.
|
|
45
|
+
*/
|
|
46
|
+
export declare const INTERNAL_FIELDS: Set<string>;
|
|
47
|
+
/**
|
|
48
|
+
* Categorize a variant's settings into numeric, color, texture, boolean, and other groups.
|
|
49
|
+
*/
|
|
50
|
+
export declare function categorizeSettings(settings: Record<string, any>): {
|
|
51
|
+
numeric: Array<{
|
|
52
|
+
key: string;
|
|
53
|
+
value: number;
|
|
54
|
+
}>;
|
|
55
|
+
colors: Array<{
|
|
56
|
+
key: string;
|
|
57
|
+
value: string;
|
|
58
|
+
}>;
|
|
59
|
+
textures: Array<{
|
|
60
|
+
key: string;
|
|
61
|
+
value: any;
|
|
62
|
+
}>;
|
|
63
|
+
booleans: Array<{
|
|
64
|
+
key: string;
|
|
65
|
+
value: boolean;
|
|
66
|
+
}>;
|
|
67
|
+
other: Array<{
|
|
68
|
+
key: string;
|
|
69
|
+
value: any;
|
|
70
|
+
}>;
|
|
71
|
+
};
|
|
72
|
+
//# sourceMappingURL=materialApplicationUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"materialApplicationUtils.d.ts","sourceRoot":"","sources":["../../src/utils/materialApplicationUtils.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAChD,OAA4B,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAKrF,eAAO,MAAM,qBAAqB,4BAA4B,CAAC;AAE/D,eAAO,MAAM,eAAe,mBAAmB,CAAC;AAChD,eAAO,MAAM,qBAAqB,+BAA+B,CAAC;AAClE;;;;GAIG;AACH,wBAAgB,+BAA+B,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,GAAG,IAAI,CAOxH;AAKD;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,gBAAgB,CAI/G;AACD;;;GAGG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAQlH;AACD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI,CAsCrF;AACD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAE1F;AACD;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEpD;AACD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAGtD;AACD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAElE;AACD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAElE;AACD;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,GAAG,CAAC,MAAM,CAGtC,CAAC;AACH;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG;IAC3D,OAAO,EAAE,KAAK,CAAC;QACX,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;IACH,MAAM,EAAE,KAAK,CAAC;QACV,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;IACH,QAAQ,EAAE,KAAK,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,GAAG,CAAC;KACd,CAAC,CAAC;IACH,QAAQ,EAAE,KAAK,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,OAAO,CAAC;KAClB,CAAC,CAAC;IACH,KAAK,EAAE,KAAK,CAAC;QACT,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,GAAG,CAAC;KACd,CAAC,CAAC;CACN,CA6BJ"}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
// =============================================================================
|
|
2
|
+
// MATERIAL APPLICATION UTILITIES — Shared Pure Functions
|
|
3
|
+
// =============================================================================
|
|
4
|
+
//
|
|
5
|
+
// Core material manipulation functions used by both:
|
|
6
|
+
// - useMaterialApplication (React render cycle, full material replacement)
|
|
7
|
+
// - useMaterialUniforms (direct ref manipulation, live property tweaking)
|
|
8
|
+
//
|
|
9
|
+
// These are pure utility functions — no React hooks, no state.
|
|
10
|
+
//
|
|
11
|
+
import { Color, Vector2 } from 'three';
|
|
12
|
+
import MaterialRegistryAPI from '../services/MaterialRegistry.js';
|
|
13
|
+
import { textureResolver } from '../services/TextureResolver.js';
|
|
14
|
+
import { uniformConverter } from '../services/UniformConverter.js';
|
|
15
|
+
import { getType } from './dataUtils.js';
|
|
16
|
+
// Key stored on userData to track material instances
|
|
17
|
+
export const MATERIAL_INSTANCE_KEY = '_3driseMaterialInstance';
|
|
18
|
+
// Key placed on edges group userData to prevent material bleed-through
|
|
19
|
+
export const EDGES_GROUP_KEY = '__isEdgesGroup';
|
|
20
|
+
export const GEREATIVE_EFFECTS_KEY = '__isGenerativeEffectsGroup';
|
|
21
|
+
/**
|
|
22
|
+
* Traverses obj and its descendants, skipping subtrees whose root is marked
|
|
23
|
+
* with EDGES_GROUP_KEY or GEREATIVE_EFFECTS_KEY — unless obj itself carries that mark (so an edges group
|
|
24
|
+
* or generative effects group can still apply its own material via useMaterialApplication).
|
|
25
|
+
*/
|
|
26
|
+
export function traverseSkippingEdgesAndEffects(obj, isRoot, callback) {
|
|
27
|
+
if (!isRoot && (obj.userData[EDGES_GROUP_KEY] || obj.userData[GEREATIVE_EFFECTS_KEY]))
|
|
28
|
+
return;
|
|
29
|
+
callback(obj);
|
|
30
|
+
for (const child of obj.children) {
|
|
31
|
+
traverseSkippingEdgesAndEffects(child, false, callback);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
// Known color property names on Three.js materials
|
|
35
|
+
const COLOR_PROPERTIES = new Set([
|
|
36
|
+
'color', 'emissive', 'specular', 'sheenColor', 'specularColor', 'attenuationColor'
|
|
37
|
+
]);
|
|
38
|
+
/**
|
|
39
|
+
* Create a fresh material instance for a variant and apply settings to it.
|
|
40
|
+
*/
|
|
41
|
+
export function createAndApplyMaterial(variant, resolvedSettings) {
|
|
42
|
+
const materialInstance = MaterialRegistryAPI.createMaterial(variant);
|
|
43
|
+
MaterialRegistryAPI.applySettings(materialInstance.material, resolvedSettings);
|
|
44
|
+
return materialInstance;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Resolve texture URLs in settings to Three.js Texture objects.
|
|
48
|
+
* Wraps TextureResolver.resolveSettings() with error handling.
|
|
49
|
+
*/
|
|
50
|
+
export async function resolveTextures(variant, settings) {
|
|
51
|
+
try {
|
|
52
|
+
return await textureResolver.resolveSettings(variant, settings);
|
|
53
|
+
}
|
|
54
|
+
catch (error) {
|
|
55
|
+
console.error('[materialApplicationUtils] Failed to resolve textures:', error);
|
|
56
|
+
return { ...settings };
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
export function applySingleProperty(material, key, value) {
|
|
60
|
+
const isShader = !!material.uniforms;
|
|
61
|
+
if (isShader) {
|
|
62
|
+
const uniforms = material.uniforms;
|
|
63
|
+
if (uniforms[key]) {
|
|
64
|
+
// console.log(`[applySingleProperty] Applying to shader uniform: ${key} =`, value);
|
|
65
|
+
// For shader uniforms, use uniformConverter for proper type conversion
|
|
66
|
+
const converted = uniformConverter.convertToUniforms({ [key]: value });
|
|
67
|
+
// console.log(`[applySingleProperty] Converted uniform value:`, converted[key]);
|
|
68
|
+
uniforms[key].value = converted[key] ?? value;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
// Standard material — need to convert types properly
|
|
73
|
+
if (COLOR_PROPERTIES.has(key) && typeof value === 'string') {
|
|
74
|
+
// Color property: must use Color object, not raw string
|
|
75
|
+
const matProp = material[key];
|
|
76
|
+
if (matProp && typeof matProp.set === 'function') {
|
|
77
|
+
matProp.set(value); // Use .set() to preserve the Color instance
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
material[key] = new Color(value);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
else if (key === 'normalScale' && Array.isArray(value) && value.length === 2) {
|
|
84
|
+
const matProp = material[key];
|
|
85
|
+
if (matProp && typeof matProp.set === 'function') {
|
|
86
|
+
matProp.set(value[0], value[1]);
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
material[key] = new Vector2(value[0], value[1]);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
else if (key in material) {
|
|
93
|
+
material[key] = value;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
material.needsUpdate = true;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Apply a color value to a material property.
|
|
100
|
+
* Converts hex string to Color object and applies correctly.
|
|
101
|
+
*/
|
|
102
|
+
export function applyColorProperty(material, key, hexValue) {
|
|
103
|
+
applySingleProperty(material, key, hexValue);
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Check if a settings key is a color property.
|
|
107
|
+
*/
|
|
108
|
+
export function isColorProperty(key) {
|
|
109
|
+
return COLOR_PROPERTIES.has(key);
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Check if a settings key is a texture/map property.
|
|
113
|
+
*/
|
|
114
|
+
export function isTextureProperty(key) {
|
|
115
|
+
const lower = key.toLowerCase();
|
|
116
|
+
return lower.includes('map') || lower.includes('texture');
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Check if a settings key is a boolean property.
|
|
120
|
+
*/
|
|
121
|
+
export function isBooleanProperty(key, value) {
|
|
122
|
+
return typeof value === 'boolean';
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Check if a settings key is a numeric property suitable for a slider.
|
|
126
|
+
*/
|
|
127
|
+
export function isNumericProperty(key, value) {
|
|
128
|
+
return typeof value === 'number';
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Internal/meta fields that should never be shown in UI or applied to materials.
|
|
132
|
+
*/
|
|
133
|
+
export const INTERNAL_FIELDS = new Set([
|
|
134
|
+
'materialType', 'materialVariant', 'handlers', 'apply',
|
|
135
|
+
'uHasTexture', 'u_time', 'u_resolution', 'u_mouse',
|
|
136
|
+
]);
|
|
137
|
+
/**
|
|
138
|
+
* Categorize a variant's settings into numeric, color, texture, boolean, and other groups.
|
|
139
|
+
*/
|
|
140
|
+
export function categorizeSettings(settings) {
|
|
141
|
+
const result = {
|
|
142
|
+
numeric: [],
|
|
143
|
+
colors: [],
|
|
144
|
+
textures: [],
|
|
145
|
+
booleans: [],
|
|
146
|
+
other: [],
|
|
147
|
+
};
|
|
148
|
+
for (const [key, value] of Object.entries(settings)) {
|
|
149
|
+
if (INTERNAL_FIELDS.has(key))
|
|
150
|
+
continue;
|
|
151
|
+
const type = getType(key, value);
|
|
152
|
+
if (type === 'color') {
|
|
153
|
+
result.colors.push({ key, value });
|
|
154
|
+
}
|
|
155
|
+
else if (type === 'texture') {
|
|
156
|
+
result.textures.push({ key, value });
|
|
157
|
+
}
|
|
158
|
+
else if (type === 'checkbox') {
|
|
159
|
+
result.booleans.push({ key, value });
|
|
160
|
+
}
|
|
161
|
+
else if (type === 'number') {
|
|
162
|
+
result.numeric.push({ key, value });
|
|
163
|
+
}
|
|
164
|
+
else {
|
|
165
|
+
result.other.push({ key, value });
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
return result;
|
|
169
|
+
}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import * as THREE from "three";
|
|
2
|
+
import { Color } from "three";
|
|
3
|
+
import type { Object3D } from 'three';
|
|
4
|
+
import type { MaterialSettings } from "../types/materials";
|
|
5
|
+
/**
|
|
6
|
+
* Updates materials on a mesh to use environment mapping
|
|
7
|
+
*/
|
|
8
|
+
export declare const updateMeshMaterials: (mesh: THREE.Mesh, environment: THREE.Texture | null, envMapIntensity?: number) => void;
|
|
9
|
+
/**
|
|
10
|
+
* Sets up reflective properties on materials
|
|
11
|
+
*/
|
|
12
|
+
export declare const setupReflectiveMaterial: (material: THREE.Material) => void;
|
|
13
|
+
/**
|
|
14
|
+
* Traverses scene and updates all materials with environment mapping
|
|
15
|
+
*/
|
|
16
|
+
export declare const updateSceneMaterials: (scene: THREE.Scene, environment: THREE.Texture | null, setupReflective?: boolean) => void;
|
|
17
|
+
/**
|
|
18
|
+
* Checks if a material supports environment mapping
|
|
19
|
+
*/
|
|
20
|
+
export declare const supportsEnvironmentMapping: (material: THREE.Material) => boolean;
|
|
21
|
+
export declare const settingsToProps: (settings: MaterialSettings) => any;
|
|
22
|
+
export declare const DEBUG_MATERIAL_ANIMATION = false;
|
|
23
|
+
/**
|
|
24
|
+
* Calculate animation progress with yoyo/loop support.
|
|
25
|
+
* @param currentTime - Current timestamp (Date.now())
|
|
26
|
+
* @param duration - Animation duration in milliseconds
|
|
27
|
+
* @param yoyo - Whether to reverse direction at end
|
|
28
|
+
* @param loop - Whether to loop continuously
|
|
29
|
+
* @returns Progress value between 0 and 1
|
|
30
|
+
*/
|
|
31
|
+
export declare const calculateTimeProgress: (currentTime: number, duration: number, yoyo: boolean, loop: boolean) => number;
|
|
32
|
+
/**
|
|
33
|
+
* Animate system uniforms (u_time, u_mouse, u_camera_position) on children with materials.
|
|
34
|
+
*/
|
|
35
|
+
export declare const animateUniforms: (children: any[], time: number, mouse: {
|
|
36
|
+
x: number;
|
|
37
|
+
y: number;
|
|
38
|
+
}, cameraPosition?: {
|
|
39
|
+
x: number;
|
|
40
|
+
y: number;
|
|
41
|
+
z: number;
|
|
42
|
+
}) => void;
|
|
43
|
+
/**
|
|
44
|
+
* Get current value of a material property from an object.
|
|
45
|
+
* Traverses children to find first material with the property.
|
|
46
|
+
*/
|
|
47
|
+
export declare function getMaterialPropertyValue(object: Object3D, property: string): any;
|
|
48
|
+
/**
|
|
49
|
+
* Interpolate between two color values.
|
|
50
|
+
* Accepts hex strings or Color objects.
|
|
51
|
+
*/
|
|
52
|
+
export declare function interpolateColor(from: string | Color, to: string | Color, progress: number): string;
|
|
53
|
+
/**
|
|
54
|
+
* Interpolate between two Vector2 values.
|
|
55
|
+
*/
|
|
56
|
+
export declare function interpolateVector2(from: [number, number], to: [number, number], progress: number): [number, number];
|
|
57
|
+
/**
|
|
58
|
+
* Interpolate between two Vector3 values.
|
|
59
|
+
*/
|
|
60
|
+
export declare function interpolateVector3(from: [number, number, number], to: [number, number, number], progress: number): [number, number, number];
|
|
61
|
+
/**
|
|
62
|
+
* Interpolate value based on detected type using getType.
|
|
63
|
+
* @param property - Property name for type detection
|
|
64
|
+
* @param from - Start value
|
|
65
|
+
* @param to - End value
|
|
66
|
+
* @param progress - Interpolation progress (0-1)
|
|
67
|
+
* @returns Interpolated value
|
|
68
|
+
*/
|
|
69
|
+
export declare function interpolateValue(property: string, from: any, to: any, progress: number): any;
|
|
70
|
+
/**
|
|
71
|
+
* Apply a material property value to all children with materials.
|
|
72
|
+
* Uses applySingleProperty from materialApplicationUtils.
|
|
73
|
+
*/
|
|
74
|
+
export declare function applyMaterialPropertyToObject(object: Object3D, property: string, value: any): void;
|
|
75
|
+
/**
|
|
76
|
+
* Cache all children with materials to avoid traverse() every frame.
|
|
77
|
+
*/
|
|
78
|
+
export declare function cacheChildrenWithMaterials(object: Object3D): any[];
|
|
79
|
+
//# sourceMappingURL=materialUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"materialUtils.d.ts","sourceRoot":"","sources":["../../src/utils/materialUtils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,KAAK,EAA+B,MAAM,OAAO,CAAC;AAC3D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAGtC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAAI,MAAM,KAAK,CAAC,IAAI,EAAE,aAAa,KAAK,CAAC,OAAO,GAAG,IAAI,EAAE,kBAAiB,MAAU,KAAG,IAUtH,CAAC;AACF;;GAEG;AACH,eAAO,MAAM,uBAAuB,GAAI,UAAU,KAAK,CAAC,QAAQ,KAAG,IAclE,CAAC;AACF;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAAI,OAAO,KAAK,CAAC,KAAK,EAAE,aAAa,KAAK,CAAC,OAAO,GAAG,IAAI,EAAE,kBAAiB,OAAe,KAAG,IAU9H,CAAC;AACF;;GAEG;AACH,eAAO,MAAM,0BAA0B,GAAI,UAAU,KAAK,CAAC,QAAQ,KAAG,OAGrE,CAAC;AAeF,eAAO,MAAM,eAAe,GAAI,UAAU,gBAAgB,KAAG,GAoB5D,CAAC;AAMF,eAAO,MAAM,wBAAwB,QAAQ,CAAC;AAM9C;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,GAAI,aAAa,MAAM,EAAE,UAAU,MAAM,EAAE,MAAM,OAAO,EAAE,MAAM,OAAO,KAAG,MAW3G,CAAC;AACF;;GAEG;AACH,eAAO,MAAM,eAAe,GAAI,UAAU,GAAG,EAAE,EAAE,MAAM,MAAM,EAAE,OAAO;IAC1D,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACb,EAAE,iBAAiB;IAChB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACb,KAAG,IAqBX,CAAC;AACF;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,GAAG,CA6BhF;AACD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,EAAE,EAAE,EAAE,MAAM,GAAG,KAAK,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAOnG;AACD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAKnH;AACD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAM3I;AACD;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,GAAG,GAAG,CAqB5F;AACD;;;GAGG;AACH,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI,CAOlG;AACD;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,QAAQ,GAAG,GAAG,EAAE,CAQlE"}
|