@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,53 @@
|
|
|
1
|
+
export const baseFragmentTemplate = /*glsl*/ `
|
|
2
|
+
precision highp float;
|
|
3
|
+
|
|
4
|
+
uniform sampler2D uTexture;
|
|
5
|
+
uniform sampler2D uTargetTexture;
|
|
6
|
+
uniform bool uHasTexture;
|
|
7
|
+
uniform vec3 uColor;
|
|
8
|
+
uniform float uOpacity;
|
|
9
|
+
uniform float uTextureMorph;
|
|
10
|
+
uniform float u_time;
|
|
11
|
+
uniform vec2 u_pointer;
|
|
12
|
+
uniform float uPointerEffectRadius;
|
|
13
|
+
uniform float uParticleUVScale;
|
|
14
|
+
|
|
15
|
+
varying vec2 vTexCoords;
|
|
16
|
+
varying vec2 vUV;
|
|
17
|
+
varying vec2 vScreenPosition;
|
|
18
|
+
varying float vPointerFalloff;
|
|
19
|
+
|
|
20
|
+
// __EFFECT_HELPERS__
|
|
21
|
+
// __EFFECT_UNIFORMS__
|
|
22
|
+
|
|
23
|
+
float circle(vec2 uv, float border) {
|
|
24
|
+
float radius = 0.5;
|
|
25
|
+
float dist = radius - distance(uv, vec2(0.5));
|
|
26
|
+
return smoothstep(0.0, border, dist);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
void main() {
|
|
30
|
+
vec4 outColor;
|
|
31
|
+
|
|
32
|
+
if (uHasTexture) {
|
|
33
|
+
vec2 scaledUV = gl_PointCoord * uParticleUVScale;
|
|
34
|
+
scaledUV.y *= -1.0;
|
|
35
|
+
scaledUV += vUV;
|
|
36
|
+
vec4 colorA = texture2D(uTexture, scaledUV) * vec4(uColor, 1.0);
|
|
37
|
+
vec4 colorB = texture2D(uTargetTexture, scaledUV) * vec4(uColor, 1.0);
|
|
38
|
+
outColor = mix(colorA, colorB, uTextureMorph);
|
|
39
|
+
} else {
|
|
40
|
+
outColor = vec4(uColor, 1.0);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
outColor.a *= circle(gl_PointCoord, 0.2);
|
|
44
|
+
|
|
45
|
+
float falloff = vPointerFalloff;
|
|
46
|
+
|
|
47
|
+
// __EFFECT_FRAGMENT_BODY__
|
|
48
|
+
|
|
49
|
+
outColor.a *= uOpacity;
|
|
50
|
+
|
|
51
|
+
gl_FragColor = outColor;
|
|
52
|
+
}
|
|
53
|
+
`;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export declare const baseVertexTemplate = "\nprecision highp float;\n\nuniform float u_time;\nuniform vec2 u_pointer;\nuniform float uPointerEffectRadius;\nuniform float uPointSize;\nuniform float uMorphProgress;\nuniform float uNormalizationScale;\n\nattribute vec3 targetPosition;\nattribute vec2 aUV;\n\nvarying vec2 vTexCoords;\nvarying vec2 vUV;\nvarying vec2 vScreenPosition;\nvarying float vPointerFalloff;\n\n// __EFFECT_HELPERS__\n// __EFFECT_UNIFORMS__\n\nvoid main() {\n vUV = aUV;\n vec3 pos = position;\n\n #include <begin_vertex>\n\n vec3 morphedPos = mix(position, targetPosition, uMorphProgress);\n\n // Pointer falloff is computed in screen-NDC space so it stays correct under any\n // model transform (scale/rotation/position). uPointerEffectRadius is now in NDC\n // units: ~0 = pinpoint, ~1.4 = covers full screen.\n vec4 unmodifiedClip = projectionMatrix * modelViewMatrix * vec4(morphedPos, 1.0);\n vec2 unmodifiedNDC = unmodifiedClip.xy / unmodifiedClip.w;\n float falloff = smoothstep(uPointerEffectRadius, 0.0, distance(unmodifiedNDC, u_pointer));\n vPointerFalloff = falloff;\n\n // Local-space pointer approximation, kept for descriptors (e.g. displacement)\n // that need a push direction. Magic 5.0 is a legacy constant; this still has\n // the scale-mismatch issue for non-identity transforms \u2014 fix is per-descriptor.\n vec2 scaledPointer = u_pointer * 5.0;\n\n float sizeMultiplier = 1.0;\n\n // __EFFECT_VERTEX_BODY__\n\n vTexCoords = morphedPos.xy;\n transformed = morphedPos;\n\n #include <project_vertex>\n\n gl_PointSize = uPointSize * sizeMultiplier;\n vScreenPosition = gl_Position.xy / gl_Position.w;\n\n #include <logdepthbuf_vertex>\n #include <clipping_planes_vertex>\n #include <worldpos_vertex>\n #include <fog_vertex>\n}\n";
|
|
2
|
+
//# sourceMappingURL=baseVertex.glsl.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"baseVertex.glsl.d.ts","sourceRoot":"","sources":["../../../src/shaders/effects/baseVertex.glsl.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB,guDA2D9B,CAAC"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
export const baseVertexTemplate = /*glsl*/ `
|
|
2
|
+
precision highp float;
|
|
3
|
+
|
|
4
|
+
uniform float u_time;
|
|
5
|
+
uniform vec2 u_pointer;
|
|
6
|
+
uniform float uPointerEffectRadius;
|
|
7
|
+
uniform float uPointSize;
|
|
8
|
+
uniform float uMorphProgress;
|
|
9
|
+
uniform float uNormalizationScale;
|
|
10
|
+
|
|
11
|
+
attribute vec3 targetPosition;
|
|
12
|
+
attribute vec2 aUV;
|
|
13
|
+
|
|
14
|
+
varying vec2 vTexCoords;
|
|
15
|
+
varying vec2 vUV;
|
|
16
|
+
varying vec2 vScreenPosition;
|
|
17
|
+
varying float vPointerFalloff;
|
|
18
|
+
|
|
19
|
+
// __EFFECT_HELPERS__
|
|
20
|
+
// __EFFECT_UNIFORMS__
|
|
21
|
+
|
|
22
|
+
void main() {
|
|
23
|
+
vUV = aUV;
|
|
24
|
+
vec3 pos = position;
|
|
25
|
+
|
|
26
|
+
#include <begin_vertex>
|
|
27
|
+
|
|
28
|
+
vec3 morphedPos = mix(position, targetPosition, uMorphProgress);
|
|
29
|
+
|
|
30
|
+
// Pointer falloff is computed in screen-NDC space so it stays correct under any
|
|
31
|
+
// model transform (scale/rotation/position). uPointerEffectRadius is now in NDC
|
|
32
|
+
// units: ~0 = pinpoint, ~1.4 = covers full screen.
|
|
33
|
+
vec4 unmodifiedClip = projectionMatrix * modelViewMatrix * vec4(morphedPos, 1.0);
|
|
34
|
+
vec2 unmodifiedNDC = unmodifiedClip.xy / unmodifiedClip.w;
|
|
35
|
+
float falloff = smoothstep(uPointerEffectRadius, 0.0, distance(unmodifiedNDC, u_pointer));
|
|
36
|
+
vPointerFalloff = falloff;
|
|
37
|
+
|
|
38
|
+
// Local-space pointer approximation, kept for descriptors (e.g. displacement)
|
|
39
|
+
// that need a push direction. Magic 5.0 is a legacy constant; this still has
|
|
40
|
+
// the scale-mismatch issue for non-identity transforms — fix is per-descriptor.
|
|
41
|
+
vec2 scaledPointer = u_pointer * 5.0;
|
|
42
|
+
|
|
43
|
+
float sizeMultiplier = 1.0;
|
|
44
|
+
|
|
45
|
+
// __EFFECT_VERTEX_BODY__
|
|
46
|
+
|
|
47
|
+
vTexCoords = morphedPos.xy;
|
|
48
|
+
transformed = morphedPos;
|
|
49
|
+
|
|
50
|
+
#include <project_vertex>
|
|
51
|
+
|
|
52
|
+
gl_PointSize = uPointSize * sizeMultiplier;
|
|
53
|
+
vScreenPosition = gl_Position.xy / gl_Position.w;
|
|
54
|
+
|
|
55
|
+
#include <logdepthbuf_vertex>
|
|
56
|
+
#include <clipping_planes_vertex>
|
|
57
|
+
#include <worldpos_vertex>
|
|
58
|
+
#include <fog_vertex>
|
|
59
|
+
}
|
|
60
|
+
`;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ShaderMaterial } from 'three';
|
|
2
|
+
import type { ShaderEffect, EffectShaderStage } from './types';
|
|
3
|
+
export interface BuildShaderEffectsMaterialOptions {
|
|
4
|
+
effects: ShaderEffect[];
|
|
5
|
+
initialColor?: string;
|
|
6
|
+
initialOpacity?: number;
|
|
7
|
+
initialPointSize?: number;
|
|
8
|
+
initialParticleUVScale?: number;
|
|
9
|
+
initialPointerEffectRadius?: number;
|
|
10
|
+
}
|
|
11
|
+
export interface ShaderEffectsMaterialMeta {
|
|
12
|
+
__structureKey: string;
|
|
13
|
+
__effectPrefixes: Map<string, string>;
|
|
14
|
+
}
|
|
15
|
+
export declare function buildShaderEffectsMaterial(options: BuildShaderEffectsMaterialOptions): ShaderMaterial & ShaderEffectsMaterialMeta;
|
|
16
|
+
export declare function getEffectStage(effectType: string): EffectShaderStage | undefined;
|
|
17
|
+
//# sourceMappingURL=buildShaderEffectsMaterial.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildShaderEffectsMaterial.d.ts","sourceRoot":"","sources":["../../../src/shaders/effects/buildShaderEffectsMaterial.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAkB,MAAM,OAAO,CAAC;AAEvD,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAI/D,MAAM,WAAW,iCAAiC;IAC9C,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,0BAA0B,CAAC,EAAE,MAAM,CAAC;CACvC;AAED,MAAM,WAAW,yBAAyB;IACtC,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACzC;AAgGD,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,iCAAiC,GAAG,cAAc,GAAG,yBAAyB,CAqDjI;AACD,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAEhF"}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
import { ShaderMaterial, Vector2, Color } from 'three';
|
|
2
|
+
import { buildUniformPrefix, structureKey } from './types.js';
|
|
3
|
+
import { getDescriptor } from './registry/index.js';
|
|
4
|
+
import { baseVertexTemplate } from './baseVertex.glsl.js';
|
|
5
|
+
import { baseFragmentTemplate } from './baseFragment.glsl.js';
|
|
6
|
+
function makeUniformValue(def, raw) {
|
|
7
|
+
const value = raw === undefined ? def.default : raw;
|
|
8
|
+
switch (def.glslType) {
|
|
9
|
+
case 'float':
|
|
10
|
+
case 'int':
|
|
11
|
+
return typeof value === 'number' ? value : Number(value) || 0;
|
|
12
|
+
case 'bool':
|
|
13
|
+
return Boolean(value);
|
|
14
|
+
case 'vec2': {
|
|
15
|
+
const v = Array.isArray(value) ? value : [0, 0];
|
|
16
|
+
return new Vector2(v[0] ?? 0, v[1] ?? 0);
|
|
17
|
+
}
|
|
18
|
+
case 'vec3': {
|
|
19
|
+
if (def.control.kind === 'color') {
|
|
20
|
+
if (typeof value === 'string')
|
|
21
|
+
return new Color(value);
|
|
22
|
+
if (Array.isArray(value))
|
|
23
|
+
return new Color(value[0] ?? 1, value[1] ?? 1, value[2] ?? 1);
|
|
24
|
+
return new Color(1, 1, 1);
|
|
25
|
+
}
|
|
26
|
+
const v = Array.isArray(value) ? value : [0, 0, 0];
|
|
27
|
+
return [v[0] ?? 0, v[1] ?? 0, v[2] ?? 0];
|
|
28
|
+
}
|
|
29
|
+
case 'vec4': {
|
|
30
|
+
const v = Array.isArray(value) ? value : [0, 0, 0, 0];
|
|
31
|
+
return [v[0] ?? 0, v[1] ?? 0, v[2] ?? 0, v[3] ?? 0];
|
|
32
|
+
}
|
|
33
|
+
default:
|
|
34
|
+
return value;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
function appendDescriptorUniformDecls(state, prefix, desc) {
|
|
38
|
+
const lines = [];
|
|
39
|
+
for (const [key, def] of Object.entries(desc.uniforms)) {
|
|
40
|
+
lines.push(`uniform ${def.glslType} ${prefix}${key};`);
|
|
41
|
+
}
|
|
42
|
+
const block = lines.join('\n') + '\n';
|
|
43
|
+
if (desc.stage === 'vertex')
|
|
44
|
+
state.vertexUniformDecls += block;
|
|
45
|
+
else
|
|
46
|
+
state.fragmentUniformDecls += block;
|
|
47
|
+
}
|
|
48
|
+
function appendDescriptorHelpers(state, desc) {
|
|
49
|
+
if (!desc.helpers)
|
|
50
|
+
return;
|
|
51
|
+
if (desc.stage === 'vertex') {
|
|
52
|
+
if (state.helperIdsVertex.has(desc.id))
|
|
53
|
+
return;
|
|
54
|
+
state.helperIdsVertex.add(desc.id);
|
|
55
|
+
state.vertexHelpers += desc.helpers + '\n';
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
if (state.helperIdsFragment.has(desc.id))
|
|
59
|
+
return;
|
|
60
|
+
state.helperIdsFragment.add(desc.id);
|
|
61
|
+
state.fragmentHelpers += desc.helpers + '\n';
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
function appendDescriptorBody(state, prefix, desc, scope) {
|
|
65
|
+
const body = desc.stage === 'vertex' ? desc.vertexBody : desc.fragmentBody;
|
|
66
|
+
if (!body)
|
|
67
|
+
return;
|
|
68
|
+
const replaced = body.replace(/\{\{prefix\}\}/g, prefix);
|
|
69
|
+
// Inject effectScopeFactor at the top of each body so descriptors can multiply
|
|
70
|
+
// by it without knowing their scope. global → 1.0, pointer → vPointerFalloff.
|
|
71
|
+
// Pointer scope is also gated by the falloff > 0 check (early-out).
|
|
72
|
+
// (Single-underscore prefixes are reserved in GLSL; double-underscore is
|
|
73
|
+
// reserved by spec — must avoid both.)
|
|
74
|
+
const scopeFactorDecl = scope === 'pointer'
|
|
75
|
+
? 'float effectScopeFactor = vPointerFalloff;'
|
|
76
|
+
: 'float effectScopeFactor = 1.0;';
|
|
77
|
+
const withScope = `{ ${scopeFactorDecl}\n${replaced}\n}`;
|
|
78
|
+
const wrapped = scope === 'pointer' ? `if (vPointerFalloff > 0.0) ${withScope}` : withScope;
|
|
79
|
+
if (desc.stage === 'vertex')
|
|
80
|
+
state.vertexBody += wrapped + '\n';
|
|
81
|
+
else
|
|
82
|
+
state.fragmentBody += wrapped + '\n';
|
|
83
|
+
}
|
|
84
|
+
function processEffect(state, eff) {
|
|
85
|
+
if (!eff.enabled)
|
|
86
|
+
return;
|
|
87
|
+
const desc = getDescriptor(eff.type);
|
|
88
|
+
if (!desc) {
|
|
89
|
+
console.warn(`[effects] unknown effect type "${eff.type}"; skipping`);
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
const prefix = buildUniformPrefix(eff.instanceId);
|
|
93
|
+
for (const [key, def] of Object.entries(desc.uniforms)) {
|
|
94
|
+
state.uniforms[`${prefix}${key}`] = { value: makeUniformValue(def, eff.values[key]) };
|
|
95
|
+
}
|
|
96
|
+
appendDescriptorUniformDecls(state, prefix, desc);
|
|
97
|
+
appendDescriptorHelpers(state, desc);
|
|
98
|
+
appendDescriptorBody(state, prefix, desc, eff.scope);
|
|
99
|
+
}
|
|
100
|
+
export function buildShaderEffectsMaterial(options) {
|
|
101
|
+
const { effects } = options;
|
|
102
|
+
const state = {
|
|
103
|
+
uniforms: {
|
|
104
|
+
u_time: { value: 0 },
|
|
105
|
+
u_pointer: { value: new Vector2() },
|
|
106
|
+
uPointerEffectRadius: { value: options.initialPointerEffectRadius ?? 0.4 },
|
|
107
|
+
uPointSize: { value: options.initialPointSize ?? 5.0 },
|
|
108
|
+
uMorphProgress: { value: 0 },
|
|
109
|
+
uTextureMorph: { value: 0 },
|
|
110
|
+
uNormalizationScale: { value: 1.0 },
|
|
111
|
+
uTexture: { value: null },
|
|
112
|
+
uTargetTexture: { value: null },
|
|
113
|
+
uHasTexture: { value: false },
|
|
114
|
+
uColor: { value: new Color(options.initialColor ?? '#ffffff') },
|
|
115
|
+
uOpacity: { value: options.initialOpacity ?? 1.0 },
|
|
116
|
+
uParticleUVScale: { value: options.initialParticleUVScale ?? 0.01 },
|
|
117
|
+
},
|
|
118
|
+
vertexUniformDecls: '',
|
|
119
|
+
fragmentUniformDecls: '',
|
|
120
|
+
vertexHelpers: '',
|
|
121
|
+
fragmentHelpers: '',
|
|
122
|
+
vertexBody: '',
|
|
123
|
+
fragmentBody: '',
|
|
124
|
+
helperIdsVertex: new Set(),
|
|
125
|
+
helperIdsFragment: new Set(),
|
|
126
|
+
};
|
|
127
|
+
const prefixes = new Map();
|
|
128
|
+
for (const eff of effects) {
|
|
129
|
+
if (!eff.enabled)
|
|
130
|
+
continue;
|
|
131
|
+
prefixes.set(eff.instanceId, buildUniformPrefix(eff.instanceId));
|
|
132
|
+
processEffect(state, eff);
|
|
133
|
+
}
|
|
134
|
+
const vertexShader = baseVertexTemplate
|
|
135
|
+
.replace('// __EFFECT_HELPERS__', state.vertexHelpers || '// (no helpers)')
|
|
136
|
+
.replace('// __EFFECT_UNIFORMS__', state.vertexUniformDecls || '// (no effect uniforms)')
|
|
137
|
+
.replace('// __EFFECT_VERTEX_BODY__', state.vertexBody || '// (no vertex effects)');
|
|
138
|
+
const fragmentShader = baseFragmentTemplate
|
|
139
|
+
.replace('// __EFFECT_HELPERS__', state.fragmentHelpers || '// (no helpers)')
|
|
140
|
+
.replace('// __EFFECT_UNIFORMS__', state.fragmentUniformDecls || '// (no effect uniforms)')
|
|
141
|
+
.replace('// __EFFECT_FRAGMENT_BODY__', state.fragmentBody || '// (no fragment effects)');
|
|
142
|
+
const material = new ShaderMaterial({
|
|
143
|
+
vertexShader,
|
|
144
|
+
fragmentShader,
|
|
145
|
+
uniforms: state.uniforms,
|
|
146
|
+
transparent: true,
|
|
147
|
+
depthTest: true,
|
|
148
|
+
depthWrite: false,
|
|
149
|
+
});
|
|
150
|
+
material.__structureKey = structureKey(effects);
|
|
151
|
+
material.__effectPrefixes = prefixes;
|
|
152
|
+
return material;
|
|
153
|
+
}
|
|
154
|
+
export function getEffectStage(effectType) {
|
|
155
|
+
return getDescriptor(effectType)?.stage;
|
|
156
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../../src/shaders/effects/defaults.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAKzD,wBAAgB,kBAAkB,IAAI,MAAM,CAK3C;AACD,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,WAAW,GAAG,YAAY,GAAG,SAAS,CAgBrG"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { getDescriptor } from './registry/index.js';
|
|
2
|
+
function defaultValueFor(def) {
|
|
3
|
+
return def.default;
|
|
4
|
+
}
|
|
5
|
+
export function generateInstanceId() {
|
|
6
|
+
if (typeof crypto !== 'undefined' && typeof crypto.randomUUID === 'function') {
|
|
7
|
+
return crypto.randomUUID();
|
|
8
|
+
}
|
|
9
|
+
return Math.random().toString(36).slice(2, 10) + Date.now().toString(36);
|
|
10
|
+
}
|
|
11
|
+
export function createDefaultShaderEffect(type, scope) {
|
|
12
|
+
const desc = getDescriptor(type);
|
|
13
|
+
if (!desc)
|
|
14
|
+
return undefined;
|
|
15
|
+
const resolvedScope = scope ?? desc.allowedScopes[0];
|
|
16
|
+
const values = {};
|
|
17
|
+
for (const [key, def] of Object.entries(desc.uniforms)) {
|
|
18
|
+
values[key] = defaultValueFor(def);
|
|
19
|
+
}
|
|
20
|
+
return {
|
|
21
|
+
type: desc.id,
|
|
22
|
+
instanceId: generateInstanceId(),
|
|
23
|
+
scope: resolvedScope,
|
|
24
|
+
enabled: true,
|
|
25
|
+
values,
|
|
26
|
+
};
|
|
27
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export * from './presets';
|
|
2
|
+
export * from './types';
|
|
3
|
+
export * from './EffectsFragmentFunctions.glsl';
|
|
4
|
+
export * from './EffectsVertexFunctions.glsl';
|
|
5
|
+
export * from './buildShaderEffectsMaterial';
|
|
6
|
+
export * from './defaults';
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shaders/effects/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,iCAAiC,CAAC;AAChD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare const noiseLibGLSL = "\n// ---------------------------------------------------------------------------\n// Hashing utilities\n// ---------------------------------------------------------------------------\nfloat nl_hash11(float p) {\n p = fract(p * 0.1031);\n p *= p + 33.33;\n p *= p + p;\n return fract(p);\n}\n\nfloat nl_hash21(vec2 p) {\n return fract(sin(dot(p, vec2(127.1, 311.7))) * 43758.5453123);\n}\n\nvec2 nl_hash22(vec2 p) {\n p = vec2(dot(p, vec2(127.1, 311.7)), dot(p, vec2(269.5, 183.3)));\n return -1.0 + 2.0 * fract(sin(p) * 43758.5453123);\n}\n\nvec3 nl_mod289_3(vec3 x) { return x - floor(x * (1.0 / 289.0)) * 289.0; }\nvec2 nl_mod289_2(vec2 x) { return x - floor(x * (1.0 / 289.0)) * 289.0; }\nvec3 nl_permute3(vec3 x) { return nl_mod289_3(((x * 34.0) + 1.0) * x); }\nvec4 nl_mod289_4(vec4 x) { return x - floor(x * (1.0 / 289.0)) * 289.0; }\nvec4 nl_permute4(vec4 x) { return nl_mod289_4(((x * 34.0) + 1.0) * x); }\n\nvec2 nl_fade2(vec2 t) { return t * t * t * (t * (t * 6.0 - 15.0) + 10.0); }\n\n// ---------------------------------------------------------------------------\n// White noise (uniform random)\n// ---------------------------------------------------------------------------\nfloat whiteNoise2D(vec2 p) {\n return nl_hash21(p);\n}\n\n// ---------------------------------------------------------------------------\n// Value noise \u2014 bilinear interp of hashed corners\n// ---------------------------------------------------------------------------\nfloat valueNoise2D(vec2 p) {\n vec2 i = floor(p);\n vec2 f = fract(p);\n float a = nl_hash21(i);\n float b = nl_hash21(i + vec2(1.0, 0.0));\n float c = nl_hash21(i + vec2(0.0, 1.0));\n float d = nl_hash21(i + vec2(1.0, 1.0));\n vec2 u = f * f * (3.0 - 2.0 * f);\n return mix(a, b, u.x) + (c - a) * u.y * (1.0 - u.x) + (d - b) * u.x * u.y;\n}\n\n// ---------------------------------------------------------------------------\n// Perlin noise (2D, IQ/Stefan Gustavson formulation, returns roughly [-1, 1])\n// ---------------------------------------------------------------------------\nfloat perlinNoise2D(vec2 P) {\n vec4 Pi = floor(P.xyxy) + vec4(0.0, 0.0, 1.0, 1.0);\n vec4 Pf = fract(P.xyxy) - vec4(0.0, 0.0, 1.0, 1.0);\n Pi = mod(Pi, 289.0);\n vec4 ix = Pi.xzxz;\n vec4 iy = Pi.yyww;\n vec4 fx = Pf.xzxz;\n vec4 fy = Pf.yyww;\n vec4 i = nl_permute4(nl_permute4(ix) + iy);\n vec4 gx = 2.0 * fract(i * 0.0243902439) - 1.0;\n vec4 gy = abs(gx) - 0.5;\n vec4 tx = floor(gx + 0.5);\n gx = gx - tx;\n vec2 g00 = vec2(gx.x, gy.x);\n vec2 g10 = vec2(gx.y, gy.y);\n vec2 g01 = vec2(gx.z, gy.z);\n vec2 g11 = vec2(gx.w, gy.w);\n vec4 norm = 1.79284291400159 - 0.85373472095314 *\n vec4(dot(g00, g00), dot(g01, g01), dot(g10, g10), dot(g11, g11));\n g00 *= norm.x; g01 *= norm.y; g10 *= norm.z; g11 *= norm.w;\n float n00 = dot(g00, vec2(fx.x, fy.x));\n float n10 = dot(g10, vec2(fx.y, fy.y));\n float n01 = dot(g01, vec2(fx.z, fy.z));\n float n11 = dot(g11, vec2(fx.w, fy.w));\n vec2 fade_xy = nl_fade2(Pf.xy);\n vec2 n_x = mix(vec2(n00, n01), vec2(n10, n11), fade_xy.x);\n return 2.3 * mix(n_x.x, n_x.y, fade_xy.y);\n}\n\n// ---------------------------------------------------------------------------\n// Simplex noise (Stefan Gustavson 2D)\n// ---------------------------------------------------------------------------\nfloat simplexNoise2D(vec2 v) {\n const vec4 C = vec4(0.211324865405187, 0.366025403784439, -0.577350269189626, 0.024390243902439);\n vec2 i = floor(v + dot(v, C.yy));\n vec2 x0 = v - i + dot(i, C.xx);\n vec2 i1 = (x0.x > x0.y) ? vec2(1.0, 0.0) : vec2(0.0, 1.0);\n vec4 x12 = x0.xyxy + C.xxzz;\n x12.xy -= i1;\n i = nl_mod289_2(i);\n vec3 p = nl_permute3(nl_permute3(i.y + vec3(0.0, i1.y, 1.0)) + i.x + vec3(0.0, i1.x, 1.0));\n vec3 m = max(0.5 - vec3(dot(x0, x0), dot(x12.xy, x12.xy), dot(x12.zw, x12.zw)), 0.0);\n m = m * m; m = m * m;\n vec3 x = 2.0 * fract(p * C.www) - 1.0;\n vec3 h = abs(x) - 0.5;\n vec3 ox = floor(x + 0.5);\n vec3 a0 = x - ox;\n m *= 1.79284291400159 - 0.85373472095314 * (a0 * a0 + h * h);\n vec3 g;\n g.x = a0.x * x0.x + h.x * x0.y;\n g.yz = a0.yz * x12.xz + h.yz * x12.yw;\n return 130.0 * dot(m, g);\n}\n\n// ---------------------------------------------------------------------------\n// Worley/cellular noise \u2014 distance to nearest random cell point in [0,1]\n// ---------------------------------------------------------------------------\nfloat worleyNoise2D(vec2 p) {\n vec2 i = floor(p);\n vec2 f = fract(p);\n float minDist = 1.5;\n for (int y = -1; y <= 1; y++) {\n for (int x = -1; x <= 1; x++) {\n vec2 neighbor = vec2(float(x), float(y));\n vec2 point = 0.5 + 0.5 * nl_hash22(i + neighbor);\n vec2 diff = neighbor + point - f;\n minDist = min(minDist, length(diff));\n }\n }\n return minDist;\n}\n\n// ---------------------------------------------------------------------------\n// FBM/turbulence/ridged \u2014 fixed 4 octaves (loop bounds must be const in WebGL1)\n// ---------------------------------------------------------------------------\nfloat fractalNoise2D(vec2 p) {\n float v = 0.0;\n float amp = 0.5;\n vec2 q = p;\n for (int i = 0; i < 4; i++) {\n v += amp * perlinNoise2D(q);\n q *= 2.0;\n amp *= 0.5;\n }\n return v;\n}\n\nfloat turbulenceNoise2D(vec2 p) {\n float v = 0.0;\n float amp = 0.5;\n vec2 q = p;\n for (int i = 0; i < 4; i++) {\n v += amp * abs(perlinNoise2D(q));\n q *= 2.0;\n amp *= 0.5;\n }\n return v;\n}\n\nfloat ridgedNoise2D(vec2 p) {\n float v = 0.0;\n float amp = 0.5;\n vec2 q = p;\n for (int i = 0; i < 4; i++) {\n float n = 1.0 - abs(perlinNoise2D(q));\n v += amp * n * n;\n q *= 2.0;\n amp *= 0.5;\n }\n return v;\n}\n\nfloat domainWarpedNoise2D(vec2 p) {\n vec2 warp = vec2(perlinNoise2D(p), perlinNoise2D(p + vec2(5.2, 1.3)));\n return perlinNoise2D(p + warp * 0.5);\n}\n\n// ---------------------------------------------------------------------------\n// Dispatch \u2014 type select: 0=perlin 1=simplex 2=worley 3=value 4=white\n// 5=fractal 6=ridged 7=turbulence 8=domainWarped\n// ---------------------------------------------------------------------------\nfloat sampleNoise(float type, vec2 p) {\n if (type < 0.5) return perlinNoise2D(p);\n if (type < 1.5) return simplexNoise2D(p);\n if (type < 2.5) return worleyNoise2D(p) * 2.0 - 1.0;\n if (type < 3.5) return valueNoise2D(p) * 2.0 - 1.0;\n if (type < 4.5) return whiteNoise2D(p) * 2.0 - 1.0;\n if (type < 5.5) return fractalNoise2D(p);\n if (type < 6.5) return ridgedNoise2D(p);\n if (type < 7.5) return turbulenceNoise2D(p);\n return domainWarpedNoise2D(p);\n}\n";
|
|
2
|
+
export declare const NOISE_TYPE_OPTIONS: {
|
|
3
|
+
value: number;
|
|
4
|
+
label: string;
|
|
5
|
+
}[];
|
|
6
|
+
//# sourceMappingURL=noiseLib.glsl.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"noiseLib.glsl.d.ts","sourceRoot":"","sources":["../../../src/shaders/effects/noiseLib.glsl.ts"],"names":[],"mappings":"AAkBA,eAAO,MAAM,YAAY,8gNAwLxB,CAAC;AACF,eAAO,MAAM,kBAAkB,EAAE;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACjB,EAUR,CAAC"}
|
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
// Pure-function noise library. Each function takes a position and returns a float.
|
|
2
|
+
// Effect descriptors include this via their `helpers` field; the factory dedupes
|
|
3
|
+
// by descriptor.id, so add `helpers: noiseLibGLSL` to any descriptor that needs it.
|
|
4
|
+
//
|
|
5
|
+
// Available functions (signature → float):
|
|
6
|
+
// perlinNoise2D(vec2)
|
|
7
|
+
// simplexNoise2D(vec2)
|
|
8
|
+
// worleyNoise2D(vec2) — returns distance to nearest cell point
|
|
9
|
+
// valueNoise2D(vec2)
|
|
10
|
+
// whiteNoise2D(vec2)
|
|
11
|
+
// fractalNoise2D(vec2) — fbm of perlin, 4 octaves
|
|
12
|
+
// ridgedNoise2D(vec2) — ridged multifractal, 4 octaves
|
|
13
|
+
// turbulenceNoise2D(vec2) — abs perlin fbm, 4 octaves
|
|
14
|
+
// domainWarpedNoise2D(vec2) — perlin with self-warped coords
|
|
15
|
+
//
|
|
16
|
+
// And a dispatch helper:
|
|
17
|
+
// sampleNoise(float type, vec2 p) // type: 0=perlin 1=simplex 2=worley 3=value
|
|
18
|
+
// // 4=white 5=fractal 6=ridged 7=turbulence 8=domainWarped
|
|
19
|
+
export const noiseLibGLSL = /*glsl*/ `
|
|
20
|
+
// ---------------------------------------------------------------------------
|
|
21
|
+
// Hashing utilities
|
|
22
|
+
// ---------------------------------------------------------------------------
|
|
23
|
+
float nl_hash11(float p) {
|
|
24
|
+
p = fract(p * 0.1031);
|
|
25
|
+
p *= p + 33.33;
|
|
26
|
+
p *= p + p;
|
|
27
|
+
return fract(p);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
float nl_hash21(vec2 p) {
|
|
31
|
+
return fract(sin(dot(p, vec2(127.1, 311.7))) * 43758.5453123);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
vec2 nl_hash22(vec2 p) {
|
|
35
|
+
p = vec2(dot(p, vec2(127.1, 311.7)), dot(p, vec2(269.5, 183.3)));
|
|
36
|
+
return -1.0 + 2.0 * fract(sin(p) * 43758.5453123);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
vec3 nl_mod289_3(vec3 x) { return x - floor(x * (1.0 / 289.0)) * 289.0; }
|
|
40
|
+
vec2 nl_mod289_2(vec2 x) { return x - floor(x * (1.0 / 289.0)) * 289.0; }
|
|
41
|
+
vec3 nl_permute3(vec3 x) { return nl_mod289_3(((x * 34.0) + 1.0) * x); }
|
|
42
|
+
vec4 nl_mod289_4(vec4 x) { return x - floor(x * (1.0 / 289.0)) * 289.0; }
|
|
43
|
+
vec4 nl_permute4(vec4 x) { return nl_mod289_4(((x * 34.0) + 1.0) * x); }
|
|
44
|
+
|
|
45
|
+
vec2 nl_fade2(vec2 t) { return t * t * t * (t * (t * 6.0 - 15.0) + 10.0); }
|
|
46
|
+
|
|
47
|
+
// ---------------------------------------------------------------------------
|
|
48
|
+
// White noise (uniform random)
|
|
49
|
+
// ---------------------------------------------------------------------------
|
|
50
|
+
float whiteNoise2D(vec2 p) {
|
|
51
|
+
return nl_hash21(p);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
// ---------------------------------------------------------------------------
|
|
55
|
+
// Value noise — bilinear interp of hashed corners
|
|
56
|
+
// ---------------------------------------------------------------------------
|
|
57
|
+
float valueNoise2D(vec2 p) {
|
|
58
|
+
vec2 i = floor(p);
|
|
59
|
+
vec2 f = fract(p);
|
|
60
|
+
float a = nl_hash21(i);
|
|
61
|
+
float b = nl_hash21(i + vec2(1.0, 0.0));
|
|
62
|
+
float c = nl_hash21(i + vec2(0.0, 1.0));
|
|
63
|
+
float d = nl_hash21(i + vec2(1.0, 1.0));
|
|
64
|
+
vec2 u = f * f * (3.0 - 2.0 * f);
|
|
65
|
+
return mix(a, b, u.x) + (c - a) * u.y * (1.0 - u.x) + (d - b) * u.x * u.y;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
// ---------------------------------------------------------------------------
|
|
69
|
+
// Perlin noise (2D, IQ/Stefan Gustavson formulation, returns roughly [-1, 1])
|
|
70
|
+
// ---------------------------------------------------------------------------
|
|
71
|
+
float perlinNoise2D(vec2 P) {
|
|
72
|
+
vec4 Pi = floor(P.xyxy) + vec4(0.0, 0.0, 1.0, 1.0);
|
|
73
|
+
vec4 Pf = fract(P.xyxy) - vec4(0.0, 0.0, 1.0, 1.0);
|
|
74
|
+
Pi = mod(Pi, 289.0);
|
|
75
|
+
vec4 ix = Pi.xzxz;
|
|
76
|
+
vec4 iy = Pi.yyww;
|
|
77
|
+
vec4 fx = Pf.xzxz;
|
|
78
|
+
vec4 fy = Pf.yyww;
|
|
79
|
+
vec4 i = nl_permute4(nl_permute4(ix) + iy);
|
|
80
|
+
vec4 gx = 2.0 * fract(i * 0.0243902439) - 1.0;
|
|
81
|
+
vec4 gy = abs(gx) - 0.5;
|
|
82
|
+
vec4 tx = floor(gx + 0.5);
|
|
83
|
+
gx = gx - tx;
|
|
84
|
+
vec2 g00 = vec2(gx.x, gy.x);
|
|
85
|
+
vec2 g10 = vec2(gx.y, gy.y);
|
|
86
|
+
vec2 g01 = vec2(gx.z, gy.z);
|
|
87
|
+
vec2 g11 = vec2(gx.w, gy.w);
|
|
88
|
+
vec4 norm = 1.79284291400159 - 0.85373472095314 *
|
|
89
|
+
vec4(dot(g00, g00), dot(g01, g01), dot(g10, g10), dot(g11, g11));
|
|
90
|
+
g00 *= norm.x; g01 *= norm.y; g10 *= norm.z; g11 *= norm.w;
|
|
91
|
+
float n00 = dot(g00, vec2(fx.x, fy.x));
|
|
92
|
+
float n10 = dot(g10, vec2(fx.y, fy.y));
|
|
93
|
+
float n01 = dot(g01, vec2(fx.z, fy.z));
|
|
94
|
+
float n11 = dot(g11, vec2(fx.w, fy.w));
|
|
95
|
+
vec2 fade_xy = nl_fade2(Pf.xy);
|
|
96
|
+
vec2 n_x = mix(vec2(n00, n01), vec2(n10, n11), fade_xy.x);
|
|
97
|
+
return 2.3 * mix(n_x.x, n_x.y, fade_xy.y);
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
// ---------------------------------------------------------------------------
|
|
101
|
+
// Simplex noise (Stefan Gustavson 2D)
|
|
102
|
+
// ---------------------------------------------------------------------------
|
|
103
|
+
float simplexNoise2D(vec2 v) {
|
|
104
|
+
const vec4 C = vec4(0.211324865405187, 0.366025403784439, -0.577350269189626, 0.024390243902439);
|
|
105
|
+
vec2 i = floor(v + dot(v, C.yy));
|
|
106
|
+
vec2 x0 = v - i + dot(i, C.xx);
|
|
107
|
+
vec2 i1 = (x0.x > x0.y) ? vec2(1.0, 0.0) : vec2(0.0, 1.0);
|
|
108
|
+
vec4 x12 = x0.xyxy + C.xxzz;
|
|
109
|
+
x12.xy -= i1;
|
|
110
|
+
i = nl_mod289_2(i);
|
|
111
|
+
vec3 p = nl_permute3(nl_permute3(i.y + vec3(0.0, i1.y, 1.0)) + i.x + vec3(0.0, i1.x, 1.0));
|
|
112
|
+
vec3 m = max(0.5 - vec3(dot(x0, x0), dot(x12.xy, x12.xy), dot(x12.zw, x12.zw)), 0.0);
|
|
113
|
+
m = m * m; m = m * m;
|
|
114
|
+
vec3 x = 2.0 * fract(p * C.www) - 1.0;
|
|
115
|
+
vec3 h = abs(x) - 0.5;
|
|
116
|
+
vec3 ox = floor(x + 0.5);
|
|
117
|
+
vec3 a0 = x - ox;
|
|
118
|
+
m *= 1.79284291400159 - 0.85373472095314 * (a0 * a0 + h * h);
|
|
119
|
+
vec3 g;
|
|
120
|
+
g.x = a0.x * x0.x + h.x * x0.y;
|
|
121
|
+
g.yz = a0.yz * x12.xz + h.yz * x12.yw;
|
|
122
|
+
return 130.0 * dot(m, g);
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
// ---------------------------------------------------------------------------
|
|
126
|
+
// Worley/cellular noise — distance to nearest random cell point in [0,1]
|
|
127
|
+
// ---------------------------------------------------------------------------
|
|
128
|
+
float worleyNoise2D(vec2 p) {
|
|
129
|
+
vec2 i = floor(p);
|
|
130
|
+
vec2 f = fract(p);
|
|
131
|
+
float minDist = 1.5;
|
|
132
|
+
for (int y = -1; y <= 1; y++) {
|
|
133
|
+
for (int x = -1; x <= 1; x++) {
|
|
134
|
+
vec2 neighbor = vec2(float(x), float(y));
|
|
135
|
+
vec2 point = 0.5 + 0.5 * nl_hash22(i + neighbor);
|
|
136
|
+
vec2 diff = neighbor + point - f;
|
|
137
|
+
minDist = min(minDist, length(diff));
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
return minDist;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
// ---------------------------------------------------------------------------
|
|
144
|
+
// FBM/turbulence/ridged — fixed 4 octaves (loop bounds must be const in WebGL1)
|
|
145
|
+
// ---------------------------------------------------------------------------
|
|
146
|
+
float fractalNoise2D(vec2 p) {
|
|
147
|
+
float v = 0.0;
|
|
148
|
+
float amp = 0.5;
|
|
149
|
+
vec2 q = p;
|
|
150
|
+
for (int i = 0; i < 4; i++) {
|
|
151
|
+
v += amp * perlinNoise2D(q);
|
|
152
|
+
q *= 2.0;
|
|
153
|
+
amp *= 0.5;
|
|
154
|
+
}
|
|
155
|
+
return v;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
float turbulenceNoise2D(vec2 p) {
|
|
159
|
+
float v = 0.0;
|
|
160
|
+
float amp = 0.5;
|
|
161
|
+
vec2 q = p;
|
|
162
|
+
for (int i = 0; i < 4; i++) {
|
|
163
|
+
v += amp * abs(perlinNoise2D(q));
|
|
164
|
+
q *= 2.0;
|
|
165
|
+
amp *= 0.5;
|
|
166
|
+
}
|
|
167
|
+
return v;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
float ridgedNoise2D(vec2 p) {
|
|
171
|
+
float v = 0.0;
|
|
172
|
+
float amp = 0.5;
|
|
173
|
+
vec2 q = p;
|
|
174
|
+
for (int i = 0; i < 4; i++) {
|
|
175
|
+
float n = 1.0 - abs(perlinNoise2D(q));
|
|
176
|
+
v += amp * n * n;
|
|
177
|
+
q *= 2.0;
|
|
178
|
+
amp *= 0.5;
|
|
179
|
+
}
|
|
180
|
+
return v;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
float domainWarpedNoise2D(vec2 p) {
|
|
184
|
+
vec2 warp = vec2(perlinNoise2D(p), perlinNoise2D(p + vec2(5.2, 1.3)));
|
|
185
|
+
return perlinNoise2D(p + warp * 0.5);
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
// ---------------------------------------------------------------------------
|
|
189
|
+
// Dispatch — type select: 0=perlin 1=simplex 2=worley 3=value 4=white
|
|
190
|
+
// 5=fractal 6=ridged 7=turbulence 8=domainWarped
|
|
191
|
+
// ---------------------------------------------------------------------------
|
|
192
|
+
float sampleNoise(float type, vec2 p) {
|
|
193
|
+
if (type < 0.5) return perlinNoise2D(p);
|
|
194
|
+
if (type < 1.5) return simplexNoise2D(p);
|
|
195
|
+
if (type < 2.5) return worleyNoise2D(p) * 2.0 - 1.0;
|
|
196
|
+
if (type < 3.5) return valueNoise2D(p) * 2.0 - 1.0;
|
|
197
|
+
if (type < 4.5) return whiteNoise2D(p) * 2.0 - 1.0;
|
|
198
|
+
if (type < 5.5) return fractalNoise2D(p);
|
|
199
|
+
if (type < 6.5) return ridgedNoise2D(p);
|
|
200
|
+
if (type < 7.5) return turbulenceNoise2D(p);
|
|
201
|
+
return domainWarpedNoise2D(p);
|
|
202
|
+
}
|
|
203
|
+
`;
|
|
204
|
+
export const NOISE_TYPE_OPTIONS = [
|
|
205
|
+
{ value: 0, label: 'Perlin' },
|
|
206
|
+
{ value: 1, label: 'Simplex' },
|
|
207
|
+
{ value: 2, label: 'Worley' },
|
|
208
|
+
{ value: 3, label: 'Value' },
|
|
209
|
+
{ value: 4, label: 'White' },
|
|
210
|
+
{ value: 5, label: 'Fractal' },
|
|
211
|
+
{ value: 6, label: 'Ridged' },
|
|
212
|
+
{ value: 7, label: 'Turbulence' },
|
|
213
|
+
{ value: 8, label: 'Domain warped' },
|
|
214
|
+
];
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { ShaderEffect, EffectScope, EffectValue } from "./types";
|
|
2
|
+
export interface EffectPresetEntry {
|
|
3
|
+
type: string;
|
|
4
|
+
scope: EffectScope;
|
|
5
|
+
enabled: boolean;
|
|
6
|
+
values: Record<string, EffectValue>;
|
|
7
|
+
}
|
|
8
|
+
export interface EffectPreset {
|
|
9
|
+
id: string;
|
|
10
|
+
label: string;
|
|
11
|
+
description?: string;
|
|
12
|
+
pointerRadius?: number;
|
|
13
|
+
effects: EffectPresetEntry[];
|
|
14
|
+
}
|
|
15
|
+
export declare const EFFECT_PRESETS: EffectPreset[];
|
|
16
|
+
export declare function instantiatePreset(preset: EffectPreset): ShaderEffect[];
|
|
17
|
+
export declare function listPresets(): EffectPreset[];
|
|
18
|
+
export declare function getPreset(id: string): EffectPreset | undefined;
|
|
19
|
+
export declare function getRandomPreset(): EffectPreset;
|
|
20
|
+
//# sourceMappingURL=presets.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../../../src/shaders/effects/presets.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtE,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,WAAW,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;CACvC;AAED,MAAM,WAAW,YAAY;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,iBAAiB,EAAE,CAAC;CAChC;AAOD,eAAO,MAAM,cAAc,EAAE,YAAY,EAwQxC,CAAC;AACF,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,YAAY,GAAG,YAAY,EAAE,CAQtE;AACD,wBAAgB,WAAW,IAAI,YAAY,EAAE,CAE5C;AACD,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAE9D;AACD,wBAAgB,eAAe,IAAI,YAAY,CAE9C"}
|