@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,57 @@
|
|
|
1
|
+
import * as THREE from 'three';
|
|
2
|
+
import type { TimeSettings } from "../types/scene3d";
|
|
3
|
+
export type TimeOfDayLabel = 'Sunrise' | 'Midday' | 'Sunset' | 'Nighttime';
|
|
4
|
+
export interface SkyTimeState {
|
|
5
|
+
timeInHours: number;
|
|
6
|
+
normalizedTime: number;
|
|
7
|
+
isDaytime: boolean;
|
|
8
|
+
timeOfDay: TimeOfDayLabel;
|
|
9
|
+
sunElevation: number;
|
|
10
|
+
sunAzimuth: number;
|
|
11
|
+
sunDirection: THREE.Vector3;
|
|
12
|
+
delta: number;
|
|
13
|
+
elapsedTime: number;
|
|
14
|
+
autoAnimate: boolean;
|
|
15
|
+
}
|
|
16
|
+
export declare class SkySystemManager {
|
|
17
|
+
private static instance;
|
|
18
|
+
private timeInHours;
|
|
19
|
+
private normalizedTime;
|
|
20
|
+
private isDaytime;
|
|
21
|
+
private timeOfDay;
|
|
22
|
+
private elapsedTime;
|
|
23
|
+
private delta;
|
|
24
|
+
private sunElevation;
|
|
25
|
+
private sunAzimuth;
|
|
26
|
+
private sunDirection;
|
|
27
|
+
private enabled;
|
|
28
|
+
private timescale;
|
|
29
|
+
private autoAnimate;
|
|
30
|
+
private syncWithRealTime;
|
|
31
|
+
private lastSyncedMinute;
|
|
32
|
+
private onTimeSync;
|
|
33
|
+
constructor();
|
|
34
|
+
static getInstance(): SkySystemManager;
|
|
35
|
+
static resetInstance(): void;
|
|
36
|
+
setTimeSettings(settings: TimeSettings): void;
|
|
37
|
+
setOnTimeSync(callback: ((timeOfDay: number) => void) | null): void;
|
|
38
|
+
setTime(hours: number, minutes?: number): void;
|
|
39
|
+
tick(delta: number): void;
|
|
40
|
+
getState(): SkyTimeState;
|
|
41
|
+
getStateByTime(timeOfDay: number): SkyTimeState;
|
|
42
|
+
getTime(): Date;
|
|
43
|
+
getTimeOfDay(): TimeOfDayLabel;
|
|
44
|
+
getSunDirection(): THREE.Vector3;
|
|
45
|
+
getTimeInHours(): number;
|
|
46
|
+
isEnabled(): boolean;
|
|
47
|
+
isAutoAnimating(): boolean;
|
|
48
|
+
private advanceTime;
|
|
49
|
+
private syncToRealTime;
|
|
50
|
+
private recalculateState;
|
|
51
|
+
private calculateTimeState;
|
|
52
|
+
private transformAzimuth;
|
|
53
|
+
private updateSunDirection;
|
|
54
|
+
}
|
|
55
|
+
export declare const skySystemManager: SkySystemManager;
|
|
56
|
+
export default SkySystemManager;
|
|
57
|
+
//# sourceMappingURL=SkySystemManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SkySystemManager.d.ts","sourceRoot":"","sources":["../../src/services/SkySystemManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,WAAW,CAAC;AAE3E,MAAM,WAAW,YAAY;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,cAAc,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;CACxB;AAMD,qBAAa,gBAAgB;IACzB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAQ;IAC/B,OAAO,CAAC,WAAW,CAAM;IACzB,OAAO,CAAC,cAAc,CAAO;IAC7B,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,YAAY,CAAM;IAC1B,OAAO,CAAC,UAAU,CAAO;IACzB,OAAO,CAAC,YAAY,CAA8B;IAClD,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,SAAS,CAAM;IACvB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,gBAAgB,CAAM;IAC9B,OAAO,CAAC,UAAU,CAAQ;;IAI1B,MAAM,CAAC,WAAW,IAAI,gBAAgB;IAMtC,MAAM,CAAC,aAAa,IAAI,IAAI;IAG5B,eAAe,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAa7C,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI;IAGnE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,MAAU,GAAG,IAAI;IAIjD,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAezB,QAAQ,IAAI,YAAY;IAcxB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY;IAmB/C,OAAO,IAAI,IAAI;IAKf,YAAY,IAAI,cAAc;IAG9B,eAAe,IAAI,KAAK,CAAC,OAAO;IAGhC,cAAc,IAAI,MAAM;IAGxB,SAAS,IAAI,OAAO;IAGpB,eAAe,IAAI,OAAO;IAG1B,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,kBAAkB;IA0B1B,OAAO,CAAC,gBAAgB;IAGxB,OAAO,CAAC,kBAAkB;CAQ7B;AACD,eAAO,MAAM,gBAAgB,EAAE,gBAAiD,CAAC;AACjF,eAAe,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
import * as THREE from 'three';
|
|
2
|
+
const SUNRISE = 6;
|
|
3
|
+
const SUNSET = 21;
|
|
4
|
+
const MAX_ELEVATION = 42;
|
|
5
|
+
export class SkySystemManager {
|
|
6
|
+
static instance = null;
|
|
7
|
+
timeInHours = 12;
|
|
8
|
+
normalizedTime = 0.5;
|
|
9
|
+
isDaytime = true;
|
|
10
|
+
timeOfDay = 'Midday';
|
|
11
|
+
elapsedTime = 0;
|
|
12
|
+
delta = 0;
|
|
13
|
+
sunElevation = 37;
|
|
14
|
+
sunAzimuth = 270;
|
|
15
|
+
sunDirection = new THREE.Vector3(0, 1, 0);
|
|
16
|
+
enabled = false;
|
|
17
|
+
timescale = 60;
|
|
18
|
+
autoAnimate = false;
|
|
19
|
+
syncWithRealTime = false;
|
|
20
|
+
lastSyncedMinute = -1;
|
|
21
|
+
onTimeSync = null;
|
|
22
|
+
constructor() {
|
|
23
|
+
this.updateSunDirection();
|
|
24
|
+
}
|
|
25
|
+
static getInstance() {
|
|
26
|
+
if (!SkySystemManager.instance) {
|
|
27
|
+
SkySystemManager.instance = new SkySystemManager();
|
|
28
|
+
}
|
|
29
|
+
return SkySystemManager.instance;
|
|
30
|
+
}
|
|
31
|
+
static resetInstance() {
|
|
32
|
+
SkySystemManager.instance = null;
|
|
33
|
+
}
|
|
34
|
+
setTimeSettings(settings) {
|
|
35
|
+
this.enabled = settings.enabled;
|
|
36
|
+
this.timescale = settings.timescale;
|
|
37
|
+
this.autoAnimate = settings.autoAnimate;
|
|
38
|
+
this.syncWithRealTime = settings.syncWithRealTime;
|
|
39
|
+
if (this.syncWithRealTime) {
|
|
40
|
+
this.syncToRealTime();
|
|
41
|
+
}
|
|
42
|
+
if (Math.abs(this.timeInHours - settings.timeOfDay) > 0.01) {
|
|
43
|
+
this.timeInHours = settings.timeOfDay;
|
|
44
|
+
this.recalculateState();
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
setOnTimeSync(callback) {
|
|
48
|
+
this.onTimeSync = callback;
|
|
49
|
+
}
|
|
50
|
+
setTime(hours, minutes = 0) {
|
|
51
|
+
this.timeInHours = hours + minutes / 60;
|
|
52
|
+
this.recalculateState();
|
|
53
|
+
}
|
|
54
|
+
tick(delta) {
|
|
55
|
+
if (!this.enabled)
|
|
56
|
+
return;
|
|
57
|
+
// console.log(delta)
|
|
58
|
+
// this.delta = delta;
|
|
59
|
+
this.elapsedTime += delta;
|
|
60
|
+
if (this.syncWithRealTime) {
|
|
61
|
+
this.syncToRealTime();
|
|
62
|
+
}
|
|
63
|
+
else if (this.autoAnimate && this.timescale > 0) {
|
|
64
|
+
// console.log(delta)
|
|
65
|
+
this.advanceTime(delta);
|
|
66
|
+
}
|
|
67
|
+
this.recalculateState();
|
|
68
|
+
}
|
|
69
|
+
getState() {
|
|
70
|
+
return {
|
|
71
|
+
timeInHours: this.timeInHours,
|
|
72
|
+
normalizedTime: this.normalizedTime,
|
|
73
|
+
isDaytime: this.isDaytime,
|
|
74
|
+
timeOfDay: this.timeOfDay,
|
|
75
|
+
sunElevation: this.sunElevation,
|
|
76
|
+
sunAzimuth: this.transformAzimuth(this.sunAzimuth),
|
|
77
|
+
sunDirection: this.sunDirection,
|
|
78
|
+
delta: this.delta,
|
|
79
|
+
elapsedTime: this.elapsedTime,
|
|
80
|
+
autoAnimate: this.autoAnimate,
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
getStateByTime(timeOfDay) {
|
|
84
|
+
const state = this.calculateTimeState(timeOfDay);
|
|
85
|
+
const el = THREE.MathUtils.degToRad(state.sunElevation);
|
|
86
|
+
const az = THREE.MathUtils.degToRad(this.transformAzimuth(state.sunAzimuth));
|
|
87
|
+
const distance = 0.5;
|
|
88
|
+
const sunDirection = new THREE.Vector3(distance * Math.cos(el) * Math.sin(az), distance * Math.sin(el), distance * Math.cos(el) * Math.cos(az)).normalize();
|
|
89
|
+
return {
|
|
90
|
+
timeInHours: timeOfDay,
|
|
91
|
+
normalizedTime: state.normalizedTime,
|
|
92
|
+
isDaytime: state.isDaytime,
|
|
93
|
+
timeOfDay: state.timeOfDay,
|
|
94
|
+
sunElevation: state.sunElevation,
|
|
95
|
+
sunAzimuth: this.transformAzimuth(state.sunAzimuth),
|
|
96
|
+
sunDirection,
|
|
97
|
+
delta: 0,
|
|
98
|
+
elapsedTime: this.elapsedTime,
|
|
99
|
+
autoAnimate: this.autoAnimate,
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
getTime() {
|
|
103
|
+
const date = new Date();
|
|
104
|
+
date.setHours(Math.floor(this.timeInHours), (this.timeInHours % 1) * 60, 0, 0);
|
|
105
|
+
return date;
|
|
106
|
+
}
|
|
107
|
+
getTimeOfDay() {
|
|
108
|
+
return this.timeOfDay;
|
|
109
|
+
}
|
|
110
|
+
getSunDirection() {
|
|
111
|
+
return this.sunDirection.clone();
|
|
112
|
+
}
|
|
113
|
+
getTimeInHours() {
|
|
114
|
+
return this.timeInHours;
|
|
115
|
+
}
|
|
116
|
+
isEnabled() {
|
|
117
|
+
return this.enabled;
|
|
118
|
+
}
|
|
119
|
+
isAutoAnimating() {
|
|
120
|
+
return this.autoAnimate;
|
|
121
|
+
}
|
|
122
|
+
advanceTime(delta) {
|
|
123
|
+
const hoursPerSecond = this.timescale / 60;
|
|
124
|
+
this.timeInHours += hoursPerSecond * delta;
|
|
125
|
+
if (this.timeInHours >= 24) {
|
|
126
|
+
this.timeInHours -= 24;
|
|
127
|
+
}
|
|
128
|
+
else if (this.timeInHours < 0) {
|
|
129
|
+
this.timeInHours += 24;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
syncToRealTime() {
|
|
133
|
+
const now = new Date();
|
|
134
|
+
const currentMinute = now.getHours() * 60 + now.getMinutes();
|
|
135
|
+
this.timeInHours =
|
|
136
|
+
now.getHours() + now.getMinutes() / 60 + now.getSeconds() / 3600;
|
|
137
|
+
if (currentMinute !== this.lastSyncedMinute) {
|
|
138
|
+
this.lastSyncedMinute = currentMinute;
|
|
139
|
+
this.onTimeSync?.(Math.round(this.timeInHours * 100) / 100);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
recalculateState() {
|
|
143
|
+
const state = this.calculateTimeState(this.timeInHours);
|
|
144
|
+
this.normalizedTime = state.normalizedTime;
|
|
145
|
+
this.isDaytime = state.isDaytime;
|
|
146
|
+
this.timeOfDay = state.timeOfDay;
|
|
147
|
+
this.sunElevation = state.sunElevation;
|
|
148
|
+
this.sunAzimuth = state.sunAzimuth;
|
|
149
|
+
this.updateSunDirection();
|
|
150
|
+
}
|
|
151
|
+
calculateTimeState(timeInHours) {
|
|
152
|
+
const isDaytime = timeInHours >= SUNRISE && timeInHours <= SUNSET;
|
|
153
|
+
let normalizedTime;
|
|
154
|
+
if (isDaytime) {
|
|
155
|
+
normalizedTime = (timeInHours - SUNRISE) / (SUNSET - SUNRISE);
|
|
156
|
+
}
|
|
157
|
+
else {
|
|
158
|
+
const nightHour = timeInHours >= SUNSET ? timeInHours : timeInHours + 24;
|
|
159
|
+
normalizedTime = (nightHour - SUNSET) / (24 - SUNSET + SUNRISE);
|
|
160
|
+
}
|
|
161
|
+
let sunElevation = Math.cos(Math.PI * (normalizedTime - 0.5)) * MAX_ELEVATION - 5;
|
|
162
|
+
const sunAzimuth = 180 + 180 * normalizedTime;
|
|
163
|
+
if (!isDaytime) {
|
|
164
|
+
sunElevation *= 0.5;
|
|
165
|
+
}
|
|
166
|
+
let timeOfDay = 'Nighttime';
|
|
167
|
+
if (isDaytime) {
|
|
168
|
+
if (normalizedTime <= 0.25)
|
|
169
|
+
timeOfDay = 'Sunrise';
|
|
170
|
+
else if (normalizedTime <= 0.75)
|
|
171
|
+
timeOfDay = 'Midday';
|
|
172
|
+
else
|
|
173
|
+
timeOfDay = 'Sunset';
|
|
174
|
+
}
|
|
175
|
+
return { normalizedTime, isDaytime, timeOfDay, sunElevation, sunAzimuth };
|
|
176
|
+
}
|
|
177
|
+
transformAzimuth(rawAzimuth) {
|
|
178
|
+
return ((270 - rawAzimuth) % 360) - 180;
|
|
179
|
+
}
|
|
180
|
+
updateSunDirection() {
|
|
181
|
+
const el = THREE.MathUtils.degToRad(this.sunElevation);
|
|
182
|
+
const az = THREE.MathUtils.degToRad(this.transformAzimuth(this.sunAzimuth));
|
|
183
|
+
const distance = 0.5;
|
|
184
|
+
this.sunDirection
|
|
185
|
+
.set(distance * Math.cos(el) * Math.sin(az), distance * Math.sin(el), distance * Math.cos(el) * Math.cos(az))
|
|
186
|
+
.normalize();
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
export const skySystemManager = SkySystemManager.getInstance();
|
|
190
|
+
export default SkySystemManager;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { Texture } from "three";
|
|
2
|
+
declare class TextureResolverService {
|
|
3
|
+
private cache;
|
|
4
|
+
/**
|
|
5
|
+
* Resolve a single texture URL to a Three.js Texture object.
|
|
6
|
+
* Returns cached texture if the same URL was loaded before.
|
|
7
|
+
*/
|
|
8
|
+
resolve(url: string): Promise<Texture>;
|
|
9
|
+
/**
|
|
10
|
+
* Create a procedural noise texture.
|
|
11
|
+
*/
|
|
12
|
+
resolveNoise(type?: string): Texture;
|
|
13
|
+
/**
|
|
14
|
+
* Resolve ALL texture properties in a settings object based on registry info.
|
|
15
|
+
*
|
|
16
|
+
* Uses MaterialRegistryAPI.getTextureProperties(variant) to determine which keys
|
|
17
|
+
* are texture slots, then resolves any string URLs to Texture objects.
|
|
18
|
+
*
|
|
19
|
+
* - String values on texture keys → loaded as Texture via loadTextureAsync
|
|
20
|
+
* - null values → left as null (no texture)
|
|
21
|
+
* - Already-Texture values → left as-is
|
|
22
|
+
* - Non-texture keys → left untouched
|
|
23
|
+
*/
|
|
24
|
+
resolveSettings(variant: string, settings: Record<string, any>): Promise<Record<string, any>>;
|
|
25
|
+
/**
|
|
26
|
+
* Check if a texture URL is already cached.
|
|
27
|
+
*/
|
|
28
|
+
isCached(url: string): boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Get a cached texture without loading. Returns undefined if not cached.
|
|
31
|
+
*/
|
|
32
|
+
getCached(url: string): Texture | undefined;
|
|
33
|
+
/**
|
|
34
|
+
* Clear the texture cache and dispose all cached textures.
|
|
35
|
+
*/
|
|
36
|
+
clearCache(): void;
|
|
37
|
+
/**
|
|
38
|
+
* Remove a specific URL from the cache and dispose its texture.
|
|
39
|
+
*/
|
|
40
|
+
evict(url: string): void;
|
|
41
|
+
/**
|
|
42
|
+
* Get cache statistics.
|
|
43
|
+
*/
|
|
44
|
+
getStats(): {
|
|
45
|
+
cacheSize: number;
|
|
46
|
+
cachedUrls: string[];
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
export declare const textureResolver: TextureResolverService;
|
|
50
|
+
export { TextureResolverService };
|
|
51
|
+
//# sourceMappingURL=TextureResolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextureResolver.d.ts","sourceRoot":"","sources":["../../src/services/TextureResolver.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEhC,cAAM,sBAAsB;IAExB,OAAO,CAAC,KAAK,CAAa;IAC1B;;;OAGG;IACG,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAe5C;;OAEG;IACH,YAAY,CAAC,IAAI,GAAE,MAAiB,GAAG,OAAO;IAG9C;;;;;;;;;;OAUG;IACG,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAqCnG;;OAEG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAG9B;;OAEG;IACH,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAG3C;;OAEG;IACH,UAAU,IAAI,IAAI;IAMlB;;OAEG;IACH,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAOxB;;OAEG;IACH,QAAQ,IAAI;QACA,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,EAAE,CAAC;KACxB;CAMZ;AAED,eAAO,MAAM,eAAe,EAAE,sBAAqD,CAAC;AAEpF,OAAO,EAAE,sBAAsB,EAAE,CAAC"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
// =============================================================================
|
|
2
|
+
// TEXTURE RESOLVER - Registry-Driven Texture Resolution Service
|
|
3
|
+
// =============================================================================
|
|
4
|
+
//
|
|
5
|
+
// Single source of truth for resolving texture URLs to Three.js Texture objects.
|
|
6
|
+
// Uses MaterialRegistry's textureProperties to know which settings keys are textures,
|
|
7
|
+
// eliminating heuristic guessing scattered across the codebase.
|
|
8
|
+
//
|
|
9
|
+
// Usage:
|
|
10
|
+
// const resolved = await textureResolver.resolveSettings('Standard', materialSettings);
|
|
11
|
+
// // All texture URL strings in resolved are now Texture objects
|
|
12
|
+
//
|
|
13
|
+
import { loadTextureAsync } from '../utils/loadingManager.js';
|
|
14
|
+
import { NoiseGenerator } from './NoiseGenerator.js';
|
|
15
|
+
import MaterialRegistryAPI from '../services/MaterialRegistry.js';
|
|
16
|
+
class TextureResolverService {
|
|
17
|
+
// Cache: URL string → loaded Texture
|
|
18
|
+
cache = new Map();
|
|
19
|
+
/**
|
|
20
|
+
* Resolve a single texture URL to a Three.js Texture object.
|
|
21
|
+
* Returns cached texture if the same URL was loaded before.
|
|
22
|
+
*/
|
|
23
|
+
async resolve(url) {
|
|
24
|
+
// Return cached texture if available
|
|
25
|
+
const cached = this.cache.get(url);
|
|
26
|
+
if (cached)
|
|
27
|
+
return cached;
|
|
28
|
+
try {
|
|
29
|
+
const texture = await loadTextureAsync(url);
|
|
30
|
+
this.cache.set(url, texture);
|
|
31
|
+
return texture;
|
|
32
|
+
}
|
|
33
|
+
catch (error) {
|
|
34
|
+
console.error(`[TextureResolver] Failed to load texture: ${url}`, error);
|
|
35
|
+
throw error;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Create a procedural noise texture.
|
|
40
|
+
*/
|
|
41
|
+
resolveNoise(type = 'perlin') {
|
|
42
|
+
return NoiseGenerator.createNoiseTexture(512, 512, type);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Resolve ALL texture properties in a settings object based on registry info.
|
|
46
|
+
*
|
|
47
|
+
* Uses MaterialRegistryAPI.getTextureProperties(variant) to determine which keys
|
|
48
|
+
* are texture slots, then resolves any string URLs to Texture objects.
|
|
49
|
+
*
|
|
50
|
+
* - String values on texture keys → loaded as Texture via loadTextureAsync
|
|
51
|
+
* - null values → left as null (no texture)
|
|
52
|
+
* - Already-Texture values → left as-is
|
|
53
|
+
* - Non-texture keys → left untouched
|
|
54
|
+
*/
|
|
55
|
+
async resolveSettings(variant, settings) {
|
|
56
|
+
const resolved = { ...settings };
|
|
57
|
+
// Get texture property names from the registry (single source of truth)
|
|
58
|
+
const textureKeys = MaterialRegistryAPI.getTextureProperties(variant);
|
|
59
|
+
// Also detect noise keys from settings (keys containing "noise")
|
|
60
|
+
const noiseKeys = Object.keys(settings).filter(key => {
|
|
61
|
+
const lower = key.toLowerCase();
|
|
62
|
+
return lower.includes('noise') && !lower.includes('texture');
|
|
63
|
+
});
|
|
64
|
+
// Resolve texture URLs in parallel
|
|
65
|
+
const texturePromises = [];
|
|
66
|
+
for (const key of textureKeys) {
|
|
67
|
+
const value = settings[key];
|
|
68
|
+
if (typeof value === 'string' && value !== '' && value !== 'none') {
|
|
69
|
+
// It's a URL string — resolve to Texture
|
|
70
|
+
texturePromises.push(this.resolve(value)
|
|
71
|
+
.then(texture => {
|
|
72
|
+
resolved[key] = texture;
|
|
73
|
+
})
|
|
74
|
+
.catch(error => {
|
|
75
|
+
console.warn(`[TextureResolver] Could not resolve texture for "${key}": ${value}`, error);
|
|
76
|
+
resolved[key] = null; // Fallback to null on error
|
|
77
|
+
}));
|
|
78
|
+
}
|
|
79
|
+
// If value is null, undefined, or already a Texture — leave as-is
|
|
80
|
+
}
|
|
81
|
+
// Resolve noise textures (synchronous)
|
|
82
|
+
for (const key of noiseKeys) {
|
|
83
|
+
const value = settings[key];
|
|
84
|
+
if (typeof value === 'string' && value !== '' && value !== 'none') {
|
|
85
|
+
resolved[key] = this.resolveNoise(value);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
// Wait for all texture loads to complete
|
|
89
|
+
await Promise.all(texturePromises);
|
|
90
|
+
return resolved;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Check if a texture URL is already cached.
|
|
94
|
+
*/
|
|
95
|
+
isCached(url) {
|
|
96
|
+
return this.cache.has(url);
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Get a cached texture without loading. Returns undefined if not cached.
|
|
100
|
+
*/
|
|
101
|
+
getCached(url) {
|
|
102
|
+
return this.cache.get(url);
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Clear the texture cache and dispose all cached textures.
|
|
106
|
+
*/
|
|
107
|
+
clearCache() {
|
|
108
|
+
for (const texture of this.cache.values()) {
|
|
109
|
+
texture.dispose();
|
|
110
|
+
}
|
|
111
|
+
this.cache.clear();
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Remove a specific URL from the cache and dispose its texture.
|
|
115
|
+
*/
|
|
116
|
+
evict(url) {
|
|
117
|
+
const texture = this.cache.get(url);
|
|
118
|
+
if (texture) {
|
|
119
|
+
texture.dispose();
|
|
120
|
+
this.cache.delete(url);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Get cache statistics.
|
|
125
|
+
*/
|
|
126
|
+
getStats() {
|
|
127
|
+
return {
|
|
128
|
+
cacheSize: this.cache.size,
|
|
129
|
+
cachedUrls: Array.from(this.cache.keys()),
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
// Export singleton instance
|
|
134
|
+
export const textureResolver = new TextureResolverService();
|
|
135
|
+
// Export class for testing
|
|
136
|
+
export { TextureResolverService };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { Texture } from 'three';
|
|
2
|
+
export type TextureType = 'clouds' | 'grass' | 'terrain' | 'grounds' | 'images';
|
|
3
|
+
declare class TexturesManager {
|
|
4
|
+
private textures;
|
|
5
|
+
private texturesByType;
|
|
6
|
+
private loader;
|
|
7
|
+
constructor();
|
|
8
|
+
loadTexture(name: string, url: string, type?: TextureType): Promise<Texture>;
|
|
9
|
+
getTextureByUrl(url: string): Texture | undefined;
|
|
10
|
+
getTexture(key: string): Texture | undefined;
|
|
11
|
+
addTexture(key: string, texture: Texture, width: number, height: number, isLandscape: boolean): void;
|
|
12
|
+
removeTexture(key: string): void;
|
|
13
|
+
clear(): void;
|
|
14
|
+
}
|
|
15
|
+
declare const texturesManager: TexturesManager;
|
|
16
|
+
export default texturesManager;
|
|
17
|
+
//# sourceMappingURL=TexturesManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TexturesManager.d.ts","sourceRoot":"","sources":["../../src/services/TexturesManager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACrC,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEhF,cAAM,eAAe;IACjB,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,cAAc,CAAa;IACnC,OAAO,CAAC,MAAM,CAAC;;IAKT,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IAqBlF,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAOjD,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAG5C,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,GAAG,IAAI;IAGpG,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAChC,KAAK,IAAI,IAAI;CAChB;AACD,QAAA,MAAM,eAAe,EAAE,eAAuC,CAAC;AAC/D,eAAe,eAAe,CAAC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { TextureLoader } from 'three';
|
|
2
|
+
class TexturesManager {
|
|
3
|
+
textures = new Map();
|
|
4
|
+
texturesByType = new Map();
|
|
5
|
+
loader;
|
|
6
|
+
constructor() {
|
|
7
|
+
this.loader = new TextureLoader();
|
|
8
|
+
['images', 'clouds', 'grass', 'terrain', 'grounds'].forEach(t => this.texturesByType.set(t, new Map()));
|
|
9
|
+
}
|
|
10
|
+
async loadTexture(name, url, type) {
|
|
11
|
+
if (type && this.texturesByType.get(type)?.has(name)) {
|
|
12
|
+
return this.texturesByType.get(type).get(name).texture;
|
|
13
|
+
}
|
|
14
|
+
const img = await new Promise((resolve, reject) => {
|
|
15
|
+
const image = new window.Image();
|
|
16
|
+
image.crossOrigin = 'Anonymous';
|
|
17
|
+
image.onload = () => resolve(image);
|
|
18
|
+
image.onerror = reject;
|
|
19
|
+
image.src = url;
|
|
20
|
+
});
|
|
21
|
+
const { width, height } = img;
|
|
22
|
+
const isLandscape = width > height;
|
|
23
|
+
return new Promise((resolve, reject) => {
|
|
24
|
+
this.loader.load(url, (texture) => {
|
|
25
|
+
if (type)
|
|
26
|
+
this.texturesByType.get(type)?.set(name, { texture, width, height, isLandscape });
|
|
27
|
+
resolve(texture);
|
|
28
|
+
}, undefined, reject);
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
getTextureByUrl(url) {
|
|
32
|
+
for (const [, value] of this.textures.entries()) {
|
|
33
|
+
if (value.texture.image?.src === url)
|
|
34
|
+
return value.texture;
|
|
35
|
+
}
|
|
36
|
+
return undefined;
|
|
37
|
+
}
|
|
38
|
+
getTexture(key) {
|
|
39
|
+
return this.textures.get(key)?.texture;
|
|
40
|
+
}
|
|
41
|
+
addTexture(key, texture, width, height, isLandscape) {
|
|
42
|
+
this.textures.set(key, { texture, width, height, isLandscape });
|
|
43
|
+
}
|
|
44
|
+
removeTexture(key) { this.textures.delete(key); }
|
|
45
|
+
clear() { this.textures.clear(); }
|
|
46
|
+
}
|
|
47
|
+
const texturesManager = new TexturesManager();
|
|
48
|
+
export default texturesManager;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { Texture } from 'three';
|
|
2
|
+
import type { UniFormSettings } from "../types/materials";
|
|
3
|
+
declare class UniformProcessor {
|
|
4
|
+
}
|
|
5
|
+
export declare class UniformConverter {
|
|
6
|
+
private processors;
|
|
7
|
+
private loader;
|
|
8
|
+
private excludedUniforms;
|
|
9
|
+
/**
|
|
10
|
+
* Convert shader uniforms to UI-friendly settings
|
|
11
|
+
*/
|
|
12
|
+
convertToSettings(uniforms: Record<string, any>): UniFormSettings;
|
|
13
|
+
/**
|
|
14
|
+
* Convert UI settings back to shader uniforms
|
|
15
|
+
*/
|
|
16
|
+
loadTexture(name: string, url: string): Promise<Texture>;
|
|
17
|
+
convertToUniforms(settings: UniFormSettings): Record<string, any>;
|
|
18
|
+
/**
|
|
19
|
+
* Add a custom processor for specific uniform types
|
|
20
|
+
*/
|
|
21
|
+
addProcessor(processor: UniformProcessor, index?: number): void;
|
|
22
|
+
/**
|
|
23
|
+
* Remove excluded uniform keys
|
|
24
|
+
*/
|
|
25
|
+
addExcludedUniform(uniformKey: string): void;
|
|
26
|
+
/**
|
|
27
|
+
* Remove excluded uniform keys
|
|
28
|
+
*/
|
|
29
|
+
removeExcludedUniform(uniformKey: string): void;
|
|
30
|
+
}
|
|
31
|
+
export declare const uniformConverter: UniformConverter;
|
|
32
|
+
export { UniformProcessor };
|
|
33
|
+
//# sourceMappingURL=UniformConverter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UniformConverter.d.ts","sourceRoot":"","sources":["../../src/services/UniformConverter.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAK1D,cAAM,gBAAgB;CACrB;AA8HD,qBAAa,gBAAgB;IACzB,OAAO,CAAC,UAAU,CAOhB;IACF,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,gBAAgB,CAA4D;IACpF;;OAEG;IACH,iBAAiB,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,eAAe;IAejE;;OAEG;IACG,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA6B9D,iBAAiB,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAuBjE;;OAEG;IACH,YAAY,CAAC,SAAS,EAAE,gBAAgB,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAS/D;;OAEG;IACH,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAK5C;;OAEG;IACH,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;CAMlD;AAED,eAAO,MAAM,gBAAgB,EAAE,gBAAyC,CAAC;AAEzE,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
|