react-native-webrtc-kaleidoscope 2.0.0 → 2.1.0
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/NOTICE.md +8 -8
- package/README.md +185 -56
- package/android/build.gradle +13 -0
- package/android/src/main/java/com/simiancraft/kaleidoscope/CompositeLayers.kt +127 -0
- package/android/src/main/java/com/simiancraft/kaleidoscope/EffectTuning.kt +69 -69
- package/android/src/main/java/com/simiancraft/kaleidoscope/KaleidoscopeModule.kt +86 -33
- package/android/src/main/java/com/simiancraft/kaleidoscope/Registration.kt +23 -64
- package/android/src/main/java/com/simiancraft/kaleidoscope/effects/CompositeFactory.kt +691 -0
- package/android/src/main/java/com/simiancraft/kaleidoscope/effects/LayerShaders.kt +30 -0
- package/android/src/main/java/com/simiancraft/kaleidoscope/effects/TransformFactory.kt +248 -200
- package/android/src/main/java/com/simiancraft/kaleidoscope/gpu/Egl.kt +82 -70
- package/android/src/main/java/com/simiancraft/kaleidoscope/gpu/Fbo.kt +50 -47
- package/android/src/main/java/com/simiancraft/kaleidoscope/gpu/FramePipeline.kt +106 -105
- package/android/src/main/java/com/simiancraft/kaleidoscope/gpu/GlDebug.kt +23 -23
- package/android/src/main/java/com/simiancraft/kaleidoscope/gpu/GlProgram.kt +76 -57
- package/android/src/main/java/com/simiancraft/kaleidoscope/gpu/Ingest.kt +92 -71
- package/android/src/main/java/com/simiancraft/kaleidoscope/gpu/Orientation.kt +25 -25
- package/android/src/main/java/com/simiancraft/kaleidoscope/gpu/Shaders.kt +57 -76
- package/android/src/main/java/com/simiancraft/kaleidoscope/gpu/ShadersGenerated.kt +1162 -25
- package/android/src/main/java/com/simiancraft/kaleidoscope/segmentation/Mask.kt +254 -242
- package/android/src/main/java/com/simiancraft/kaleidoscope/segmentation/MaskTuning.kt +28 -25
- package/android/src/main/java/com/simiancraft/kaleidoscope/segmentation/SegmentationEngine.kt +104 -98
- package/android/src/test/java/com/simiancraft/kaleidoscope/CompositeLayersTest.kt +165 -0
- package/app.plugin.js +9 -255
- package/catalog/composites/clouds/clouds.controls.tsx +19 -0
- package/catalog/composites/clouds/clouds.ts +32 -0
- package/catalog/composites/corporate-blobs/corporate-blobs.controls.tsx +24 -0
- package/catalog/composites/corporate-blobs/corporate-blobs.thumb.webp +0 -0
- package/catalog/composites/corporate-blobs/corporate-blobs.ts +51 -0
- package/catalog/composites/corporate-blobs/corporate-blobs.web.ts +42 -0
- package/catalog/composites/fairy-cave/fairy-cave.controls.tsx +33 -0
- package/catalog/composites/fairy-cave/fairy-cave.thumb.webp +0 -0
- package/catalog/composites/fairy-cave/fairy-cave.ts +53 -0
- package/catalog/composites/fairy-cave/fairy-cave.web.ts +47 -0
- package/catalog/composites/fairy-grotto/fairy-grotto.controls.tsx +34 -0
- package/catalog/composites/fairy-grotto/fairy-grotto.thumb.webp +0 -0
- package/catalog/composites/fairy-grotto/fairy-grotto.ts +54 -0
- package/catalog/composites/fairy-grotto/fairy-grotto.web.ts +47 -0
- package/catalog/composites/fairy-hollow/fairy-hollow.controls.tsx +34 -0
- package/catalog/composites/fairy-hollow/fairy-hollow.thumb.webp +0 -0
- package/catalog/composites/fairy-hollow/fairy-hollow.ts +55 -0
- package/catalog/composites/fairy-hollow/fairy-hollow.web.ts +47 -0
- package/catalog/composites/nebula/nebula.controls.tsx +19 -0
- package/catalog/composites/nebula/nebula.thumb.webp +0 -0
- package/catalog/composites/nebula/nebula.ts +37 -0
- package/catalog/composites/nebula/nebula.web.ts +30 -0
- package/catalog/composites/observation-deck/observation-deck.controls.tsx +28 -0
- package/catalog/composites/observation-deck/observation-deck.thumb.webp +0 -0
- package/catalog/composites/observation-deck/observation-deck.ts +59 -0
- package/catalog/composites/observation-deck/observation-deck.web.ts +50 -0
- package/catalog/composites/simianlights/simianlights.controls.tsx +19 -0
- package/catalog/composites/simianlights/simianlights.thumb.webp +0 -0
- package/catalog/composites/simianlights/simianlights.ts +34 -0
- package/catalog/composites/simianlights/simianlights.web.ts +29 -0
- package/catalog/composites/underwater/underwater.controls.tsx +19 -0
- package/catalog/composites/underwater/underwater.thumb.webp +0 -0
- package/catalog/composites/underwater/underwater.ts +42 -0
- package/catalog/composites/underwater/underwater.web.ts +36 -0
- package/catalog/composites/wizard-tower/wizard-tower.controls.tsx +23 -0
- package/catalog/composites/wizard-tower/wizard-tower.thumb.webp +0 -0
- package/catalog/composites/wizard-tower/wizard-tower.ts +44 -0
- package/catalog/composites/wizard-tower/wizard-tower.web.ts +35 -0
- package/catalog/composites/wizard-tower-night/wizard-tower-night.controls.tsx +22 -0
- package/catalog/composites/wizard-tower-night/wizard-tower-night.thumb.webp +0 -0
- package/catalog/composites/wizard-tower-night/wizard-tower-night.ts +43 -0
- package/catalog/composites/wizard-tower-night/wizard-tower-night.web.ts +35 -0
- package/catalog/images/README.md +188 -0
- package/catalog/images/corporate/corporate-logo.thumb.webp +0 -0
- package/catalog/images/corporate/corporate-logo.ts +6 -0
- package/catalog/images/corporate/corporate-logo.web.ts +7 -0
- package/catalog/images/corporate/corporate-logo.webp +0 -0
- package/catalog/images/debug/debug-resolutions.thumb.webp +0 -0
- package/catalog/images/debug/debug-resolutions.ts +6 -0
- package/catalog/images/debug/debug-resolutions.web.ts +7 -0
- package/catalog/images/fairy-caves/grotto.thumb.webp +0 -0
- package/catalog/images/fairy-caves/grotto.ts +6 -0
- package/catalog/images/fairy-caves/grotto.web.ts +7 -0
- package/catalog/images/fairy-caves/grotto.webp +0 -0
- package/catalog/images/fairy-caves/hollow.thumb.webp +0 -0
- package/catalog/images/fairy-caves/hollow.ts +6 -0
- package/catalog/images/fairy-caves/hollow.web.ts +7 -0
- package/catalog/images/fairy-caves/hollow.webp +0 -0
- package/catalog/images/fairy-caves/treehouse-2.thumb.webp +0 -0
- package/catalog/images/fairy-caves/treehouse-2.ts +6 -0
- package/catalog/images/fairy-caves/treehouse-2.web.ts +7 -0
- package/catalog/images/fairy-caves/treehouse-2.webp +0 -0
- package/catalog/images/fairy-caves/treehouse-3.thumb.webp +0 -0
- package/catalog/images/fairy-caves/treehouse-3.ts +6 -0
- package/catalog/images/fairy-caves/treehouse-3.web.ts +7 -0
- package/catalog/images/fairy-caves/treehouse-3.webp +0 -0
- package/catalog/images/fairy-caves/treehouse.thumb.webp +0 -0
- package/catalog/images/fairy-caves/treehouse.ts +6 -0
- package/catalog/images/fairy-caves/treehouse.web.ts +7 -0
- package/catalog/images/fairy-caves/treehouse.webp +0 -0
- package/catalog/images/home/home-dark.thumb.webp +0 -0
- package/catalog/images/home/home-dark.ts +6 -0
- package/catalog/images/home/home-dark.web.ts +7 -0
- package/catalog/images/home/home-light.thumb.webp +0 -0
- package/catalog/images/home/home-light.ts +6 -0
- package/catalog/images/home/home-light.web.ts +7 -0
- package/catalog/images/image-ids.ts +42 -0
- package/catalog/images/image.types.ts +5 -0
- package/catalog/images/index.ts +7 -0
- package/catalog/images/nature/landscape-dark.thumb.webp +0 -0
- package/catalog/images/nature/landscape-dark.ts +6 -0
- package/catalog/images/nature/landscape-dark.web.ts +7 -0
- package/catalog/images/nature/landscape-light.thumb.webp +0 -0
- package/catalog/images/nature/landscape-light.ts +6 -0
- package/catalog/images/nature/landscape-light.web.ts +7 -0
- package/catalog/images/office/office-dark.thumb.webp +0 -0
- package/catalog/images/office/office-dark.ts +6 -0
- package/catalog/images/office/office-dark.web.ts +7 -0
- package/catalog/images/office/office-light.thumb.webp +0 -0
- package/catalog/images/office/office-light.ts +6 -0
- package/catalog/images/office/office-light.web.ts +7 -0
- package/catalog/images/sci-fi/sci-fi-light.thumb.webp +0 -0
- package/catalog/images/sci-fi/sci-fi-light.ts +6 -0
- package/catalog/images/sci-fi/sci-fi-light.web.ts +7 -0
- package/catalog/images/simiancraft/simiancraft-dark-transparency.thumb.webp +0 -0
- package/catalog/images/simiancraft/simiancraft-dark-transparency.ts +6 -0
- package/catalog/images/simiancraft/simiancraft-dark-transparency.web.ts +9 -0
- package/catalog/images/simiancraft/simiancraft-dark-transparency.webp +0 -0
- package/catalog/images/simiancraft/simiancraft-dark.thumb.webp +0 -0
- package/catalog/images/simiancraft/simiancraft-dark.ts +6 -0
- package/catalog/images/simiancraft/simiancraft-dark.web.ts +7 -0
- package/catalog/images/simiancraft/simiancraft-light-transparency.thumb.webp +0 -0
- package/catalog/images/simiancraft/simiancraft-light-transparency.ts +6 -0
- package/catalog/images/simiancraft/simiancraft-light-transparency.web.ts +9 -0
- package/catalog/images/simiancraft/simiancraft-light-transparency.webp +0 -0
- package/catalog/images/simiancraft/simiancraft-light.thumb.webp +0 -0
- package/catalog/images/simiancraft/simiancraft-light.ts +6 -0
- package/catalog/images/simiancraft/simiancraft-light.web.ts +7 -0
- package/catalog/images/spaceship/observation-deck.thumb.webp +0 -0
- package/catalog/images/spaceship/observation-deck.ts +6 -0
- package/catalog/images/spaceship/observation-deck.web.ts +7 -0
- package/catalog/images/spaceship/observation-deck.webp +0 -0
- package/catalog/images/underwater/oceanscape-dark.thumb.webp +0 -0
- package/catalog/images/underwater/oceanscape-dark.ts +6 -0
- package/catalog/images/underwater/oceanscape-dark.web.ts +7 -0
- package/catalog/images/underwater/oceanscape-dark.webp +0 -0
- package/catalog/images/wizard-tower/wizard-tower-1.thumb.webp +0 -0
- package/catalog/images/wizard-tower/wizard-tower-1.ts +6 -0
- package/catalog/images/wizard-tower/wizard-tower-1.web.ts +7 -0
- package/catalog/images/wizard-tower/wizard-tower-1.webp +0 -0
- package/catalog/images/wizard-tower/wizard-tower-2.thumb.webp +0 -0
- package/catalog/images/wizard-tower/wizard-tower-2.ts +6 -0
- package/catalog/images/wizard-tower/wizard-tower-2.web.ts +7 -0
- package/catalog/images/wizard-tower/wizard-tower-2.webp +0 -0
- package/catalog/images/wizard-tower/wizard-tower-night.thumb.webp +0 -0
- package/catalog/images/wizard-tower/wizard-tower-night.ts +6 -0
- package/catalog/images/wizard-tower/wizard-tower-night.web.ts +7 -0
- package/catalog/images/wizard-tower/wizard-tower-night.webp +0 -0
- package/catalog/shaders/README.md +114 -0
- package/catalog/shaders/_shared/composite-blit.frag +26 -0
- package/catalog/shaders/_shared/composite-camera.frag +17 -0
- package/catalog/shaders/_shared/composite-image.frag +23 -0
- package/catalog/shaders/_shared/composite-masked.frag +26 -0
- package/catalog/shaders/_shared/composite-subject.frag +27 -0
- package/catalog/shaders/_shared/passthrough.vert +27 -0
- package/catalog/shaders/_shared/transform.frag +27 -0
- package/catalog/shaders/_shared/types.ts +63 -0
- package/catalog/shaders/anamorphic-lensflare/anamorphic-lensflare.form.tsx +37 -0
- package/catalog/shaders/anamorphic-lensflare/anamorphic-lensflare.frag +123 -0
- package/catalog/shaders/anamorphic-lensflare/anamorphic-lensflare.ts +106 -0
- package/catalog/shaders/blur/blur.form.tsx +29 -0
- package/catalog/shaders/blur/blur.ts +32 -0
- package/catalog/shaders/blur/composite-blur.frag +42 -0
- package/catalog/shaders/clouds/clouds.form.tsx +39 -0
- package/catalog/shaders/clouds/clouds.frag +128 -0
- package/catalog/shaders/clouds/clouds.presets.md +37 -0
- package/catalog/shaders/clouds/clouds.ts +124 -0
- package/catalog/shaders/corporate-blobs/corporate-blobs.form.tsx +44 -0
- package/catalog/shaders/corporate-blobs/corporate-blobs.frag +224 -0
- package/catalog/shaders/corporate-blobs/corporate-blobs.ts +136 -0
- package/catalog/shaders/fireflies/fireflies.form.tsx +33 -0
- package/catalog/shaders/fireflies/fireflies.frag +68 -0
- package/catalog/shaders/fireflies/fireflies.ts +61 -0
- package/catalog/shaders/godrays/godrays.form.tsx +37 -0
- package/catalog/shaders/godrays/godrays.frag +85 -0
- package/catalog/shaders/godrays/godrays.ts +105 -0
- package/catalog/shaders/index.ts +78 -0
- package/catalog/shaders/light-beams-and-motes/light-beams-and-motes.form.tsx +55 -0
- package/catalog/shaders/light-beams-and-motes/light-beams-and-motes.frag +262 -0
- package/catalog/shaders/light-beams-and-motes/light-beams-and-motes.ts +137 -0
- package/catalog/shaders/nebula/nebula.form.tsx +34 -0
- package/catalog/shaders/nebula/nebula.frag +151 -0
- package/catalog/shaders/nebula/nebula.ts +74 -0
- package/catalog/shaders/plasma/plasma.form.tsx +32 -0
- package/catalog/shaders/plasma/plasma.frag +55 -0
- package/catalog/shaders/plasma/plasma.ts +44 -0
- package/catalog/shaders/simianlights/simianlights.form.tsx +34 -0
- package/catalog/shaders/simianlights/simianlights.frag +151 -0
- package/catalog/shaders/simianlights/simianlights.ts +73 -0
- package/dist/catalog/composites/clouds/clouds.controls.d.ts +3 -0
- package/dist/catalog/composites/clouds/clouds.controls.d.ts.map +1 -0
- package/dist/catalog/composites/clouds/clouds.controls.js +11 -0
- package/dist/catalog/composites/clouds/clouds.controls.js.map +1 -0
- package/dist/catalog/composites/clouds/clouds.d.ts +26 -0
- package/dist/catalog/composites/clouds/clouds.d.ts.map +1 -0
- package/dist/catalog/composites/clouds/clouds.js +33 -0
- package/dist/catalog/composites/clouds/clouds.js.map +1 -0
- package/dist/catalog/composites/corporate-blobs/corporate-blobs.controls.d.ts +3 -0
- package/dist/catalog/composites/corporate-blobs/corporate-blobs.controls.d.ts.map +1 -0
- package/dist/catalog/composites/corporate-blobs/corporate-blobs.controls.js +13 -0
- package/dist/catalog/composites/corporate-blobs/corporate-blobs.controls.js.map +1 -0
- package/dist/catalog/composites/corporate-blobs/corporate-blobs.d.ts +37 -0
- package/dist/catalog/composites/corporate-blobs/corporate-blobs.d.ts.map +1 -0
- package/dist/catalog/composites/corporate-blobs/corporate-blobs.js +52 -0
- package/dist/catalog/composites/corporate-blobs/corporate-blobs.js.map +1 -0
- package/dist/catalog/composites/corporate-blobs/corporate-blobs.thumb.webp +0 -0
- package/dist/catalog/composites/corporate-blobs/corporate-blobs.web.d.ts +37 -0
- package/dist/catalog/composites/corporate-blobs/corporate-blobs.web.d.ts.map +1 -0
- package/dist/catalog/composites/corporate-blobs/corporate-blobs.web.js +46 -0
- package/dist/catalog/composites/corporate-blobs/corporate-blobs.web.js.map +1 -0
- package/dist/catalog/composites/fairy-cave/fairy-cave.controls.d.ts +3 -0
- package/dist/catalog/composites/fairy-cave/fairy-cave.controls.d.ts.map +1 -0
- package/dist/catalog/composites/fairy-cave/fairy-cave.controls.js +13 -0
- package/dist/catalog/composites/fairy-cave/fairy-cave.controls.js.map +1 -0
- package/dist/catalog/composites/fairy-cave/fairy-cave.d.ts +42 -0
- package/dist/catalog/composites/fairy-cave/fairy-cave.d.ts.map +1 -0
- package/dist/catalog/composites/fairy-cave/fairy-cave.js +54 -0
- package/dist/catalog/composites/fairy-cave/fairy-cave.js.map +1 -0
- package/dist/catalog/composites/fairy-cave/fairy-cave.thumb.webp +0 -0
- package/dist/catalog/composites/fairy-cave/fairy-cave.web.d.ts +42 -0
- package/dist/catalog/composites/fairy-cave/fairy-cave.web.d.ts.map +1 -0
- package/dist/catalog/composites/fairy-cave/fairy-cave.web.js +51 -0
- package/dist/catalog/composites/fairy-cave/fairy-cave.web.js.map +1 -0
- package/dist/catalog/composites/fairy-grotto/fairy-grotto.controls.d.ts +3 -0
- package/dist/catalog/composites/fairy-grotto/fairy-grotto.controls.d.ts.map +1 -0
- package/dist/catalog/composites/fairy-grotto/fairy-grotto.controls.js +14 -0
- package/dist/catalog/composites/fairy-grotto/fairy-grotto.controls.js.map +1 -0
- package/dist/catalog/composites/fairy-grotto/fairy-grotto.d.ts +42 -0
- package/dist/catalog/composites/fairy-grotto/fairy-grotto.d.ts.map +1 -0
- package/dist/catalog/composites/fairy-grotto/fairy-grotto.js +55 -0
- package/dist/catalog/composites/fairy-grotto/fairy-grotto.js.map +1 -0
- package/dist/catalog/composites/fairy-grotto/fairy-grotto.thumb.webp +0 -0
- package/dist/catalog/composites/fairy-grotto/fairy-grotto.web.d.ts +42 -0
- package/dist/catalog/composites/fairy-grotto/fairy-grotto.web.d.ts.map +1 -0
- package/dist/catalog/composites/fairy-grotto/fairy-grotto.web.js +51 -0
- package/dist/catalog/composites/fairy-grotto/fairy-grotto.web.js.map +1 -0
- package/dist/catalog/composites/fairy-hollow/fairy-hollow.controls.d.ts +3 -0
- package/dist/catalog/composites/fairy-hollow/fairy-hollow.controls.d.ts.map +1 -0
- package/dist/catalog/composites/fairy-hollow/fairy-hollow.controls.js +14 -0
- package/dist/catalog/composites/fairy-hollow/fairy-hollow.controls.js.map +1 -0
- package/dist/catalog/composites/fairy-hollow/fairy-hollow.d.ts +42 -0
- package/dist/catalog/composites/fairy-hollow/fairy-hollow.d.ts.map +1 -0
- package/dist/catalog/composites/fairy-hollow/fairy-hollow.js +56 -0
- package/dist/catalog/composites/fairy-hollow/fairy-hollow.js.map +1 -0
- package/dist/catalog/composites/fairy-hollow/fairy-hollow.thumb.webp +0 -0
- package/dist/catalog/composites/fairy-hollow/fairy-hollow.web.d.ts +42 -0
- package/dist/catalog/composites/fairy-hollow/fairy-hollow.web.d.ts.map +1 -0
- package/dist/catalog/composites/fairy-hollow/fairy-hollow.web.js +51 -0
- package/dist/catalog/composites/fairy-hollow/fairy-hollow.web.js.map +1 -0
- package/dist/catalog/composites/nebula/nebula.controls.d.ts +3 -0
- package/dist/catalog/composites/nebula/nebula.controls.d.ts.map +1 -0
- package/dist/catalog/composites/nebula/nebula.controls.js +11 -0
- package/dist/catalog/composites/nebula/nebula.controls.js.map +1 -0
- package/dist/catalog/composites/nebula/nebula.d.ts +22 -0
- package/dist/catalog/composites/nebula/nebula.d.ts.map +1 -0
- package/dist/catalog/composites/nebula/nebula.js +38 -0
- package/dist/catalog/composites/nebula/nebula.js.map +1 -0
- package/dist/catalog/composites/nebula/nebula.thumb.webp +0 -0
- package/dist/catalog/composites/nebula/nebula.web.d.ts +22 -0
- package/dist/catalog/composites/nebula/nebula.web.d.ts.map +1 -0
- package/dist/catalog/composites/nebula/nebula.web.js +34 -0
- package/dist/catalog/composites/nebula/nebula.web.js.map +1 -0
- package/dist/catalog/composites/observation-deck/observation-deck.controls.d.ts +3 -0
- package/dist/catalog/composites/observation-deck/observation-deck.controls.d.ts.map +1 -0
- package/dist/catalog/composites/observation-deck/observation-deck.controls.js +13 -0
- package/dist/catalog/composites/observation-deck/observation-deck.controls.js.map +1 -0
- package/dist/catalog/composites/observation-deck/observation-deck.d.ts +41 -0
- package/dist/catalog/composites/observation-deck/observation-deck.d.ts.map +1 -0
- package/dist/catalog/composites/observation-deck/observation-deck.js +60 -0
- package/dist/catalog/composites/observation-deck/observation-deck.js.map +1 -0
- package/dist/catalog/composites/observation-deck/observation-deck.thumb.webp +0 -0
- package/dist/catalog/composites/observation-deck/observation-deck.web.d.ts +41 -0
- package/dist/catalog/composites/observation-deck/observation-deck.web.d.ts.map +1 -0
- package/dist/catalog/composites/observation-deck/observation-deck.web.js +54 -0
- package/dist/catalog/composites/observation-deck/observation-deck.web.js.map +1 -0
- package/dist/catalog/composites/simianlights/simianlights.controls.d.ts +3 -0
- package/dist/catalog/composites/simianlights/simianlights.controls.d.ts.map +1 -0
- package/dist/catalog/composites/simianlights/simianlights.controls.js +11 -0
- package/dist/catalog/composites/simianlights/simianlights.controls.js.map +1 -0
- package/dist/catalog/composites/simianlights/simianlights.d.ts +22 -0
- package/dist/catalog/composites/simianlights/simianlights.d.ts.map +1 -0
- package/dist/catalog/composites/simianlights/simianlights.js +30 -0
- package/dist/catalog/composites/simianlights/simianlights.js.map +1 -0
- package/dist/catalog/composites/simianlights/simianlights.thumb.webp +0 -0
- package/dist/catalog/composites/simianlights/simianlights.web.d.ts +22 -0
- package/dist/catalog/composites/simianlights/simianlights.web.d.ts.map +1 -0
- package/dist/catalog/composites/simianlights/simianlights.web.js +33 -0
- package/dist/catalog/composites/simianlights/simianlights.web.js.map +1 -0
- package/dist/catalog/composites/underwater/underwater.controls.d.ts +3 -0
- package/dist/catalog/composites/underwater/underwater.controls.d.ts.map +1 -0
- package/dist/catalog/composites/underwater/underwater.controls.js +11 -0
- package/dist/catalog/composites/underwater/underwater.controls.js.map +1 -0
- package/dist/catalog/composites/underwater/underwater.d.ts +30 -0
- package/dist/catalog/composites/underwater/underwater.d.ts.map +1 -0
- package/dist/catalog/composites/underwater/underwater.js +43 -0
- package/dist/catalog/composites/underwater/underwater.js.map +1 -0
- package/dist/catalog/composites/underwater/underwater.thumb.webp +0 -0
- package/dist/catalog/composites/underwater/underwater.web.d.ts +30 -0
- package/dist/catalog/composites/underwater/underwater.web.d.ts.map +1 -0
- package/dist/catalog/composites/underwater/underwater.web.js +40 -0
- package/dist/catalog/composites/underwater/underwater.web.js.map +1 -0
- package/dist/catalog/composites/wizard-tower/wizard-tower.controls.d.ts +3 -0
- package/dist/catalog/composites/wizard-tower/wizard-tower.controls.d.ts.map +1 -0
- package/dist/catalog/composites/wizard-tower/wizard-tower.controls.js +15 -0
- package/dist/catalog/composites/wizard-tower/wizard-tower.controls.js.map +1 -0
- package/dist/catalog/composites/wizard-tower/wizard-tower.d.ts +31 -0
- package/dist/catalog/composites/wizard-tower/wizard-tower.d.ts.map +1 -0
- package/dist/catalog/composites/wizard-tower/wizard-tower.js +45 -0
- package/dist/catalog/composites/wizard-tower/wizard-tower.js.map +1 -0
- package/dist/catalog/composites/wizard-tower/wizard-tower.thumb.webp +0 -0
- package/dist/catalog/composites/wizard-tower/wizard-tower.web.d.ts +31 -0
- package/dist/catalog/composites/wizard-tower/wizard-tower.web.d.ts.map +1 -0
- package/dist/catalog/composites/wizard-tower/wizard-tower.web.js +39 -0
- package/dist/catalog/composites/wizard-tower/wizard-tower.web.js.map +1 -0
- package/dist/catalog/composites/wizard-tower-night/wizard-tower-night.controls.d.ts +3 -0
- package/dist/catalog/composites/wizard-tower-night/wizard-tower-night.controls.d.ts.map +1 -0
- package/dist/catalog/composites/wizard-tower-night/wizard-tower-night.controls.js +14 -0
- package/dist/catalog/composites/wizard-tower-night/wizard-tower-night.controls.js.map +1 -0
- package/dist/catalog/composites/wizard-tower-night/wizard-tower-night.d.ts +31 -0
- package/dist/catalog/composites/wizard-tower-night/wizard-tower-night.d.ts.map +1 -0
- package/dist/catalog/composites/wizard-tower-night/wizard-tower-night.js +44 -0
- package/dist/catalog/composites/wizard-tower-night/wizard-tower-night.js.map +1 -0
- package/dist/catalog/composites/wizard-tower-night/wizard-tower-night.thumb.webp +0 -0
- package/dist/catalog/composites/wizard-tower-night/wizard-tower-night.web.d.ts +31 -0
- package/dist/catalog/composites/wizard-tower-night/wizard-tower-night.web.d.ts.map +1 -0
- package/dist/catalog/composites/wizard-tower-night/wizard-tower-night.web.js +39 -0
- package/dist/catalog/composites/wizard-tower-night/wizard-tower-night.web.js.map +1 -0
- package/dist/catalog/images/corporate/corporate-logo.d.ts +3 -0
- package/dist/catalog/images/corporate/corporate-logo.d.ts.map +1 -0
- package/dist/catalog/images/corporate/corporate-logo.js +8 -0
- package/dist/catalog/images/corporate/corporate-logo.js.map +1 -0
- package/dist/catalog/images/corporate/corporate-logo.thumb.webp +0 -0
- package/dist/catalog/images/corporate/corporate-logo.web.d.ts +3 -0
- package/dist/catalog/images/corporate/corporate-logo.web.d.ts.map +1 -0
- package/dist/catalog/images/corporate/corporate-logo.web.js +12 -0
- package/dist/catalog/images/corporate/corporate-logo.web.js.map +1 -0
- package/dist/catalog/images/corporate/corporate-logo.webp +0 -0
- package/dist/catalog/images/debug/debug-resolutions.d.ts +3 -0
- package/dist/catalog/images/debug/debug-resolutions.d.ts.map +1 -0
- package/dist/catalog/images/debug/debug-resolutions.js +8 -0
- package/dist/catalog/images/debug/debug-resolutions.js.map +1 -0
- package/dist/catalog/images/debug/debug-resolutions.thumb.webp +0 -0
- package/dist/catalog/images/debug/debug-resolutions.web.d.ts +3 -0
- package/dist/catalog/images/debug/debug-resolutions.web.d.ts.map +1 -0
- package/dist/catalog/images/debug/debug-resolutions.web.js +12 -0
- package/dist/catalog/images/debug/debug-resolutions.web.js.map +1 -0
- package/dist/catalog/images/fairy-caves/grotto.d.ts +3 -0
- package/dist/catalog/images/fairy-caves/grotto.d.ts.map +1 -0
- package/dist/catalog/images/fairy-caves/grotto.js +8 -0
- package/dist/catalog/images/fairy-caves/grotto.js.map +1 -0
- package/dist/catalog/images/fairy-caves/grotto.thumb.webp +0 -0
- package/dist/catalog/images/fairy-caves/grotto.web.d.ts +3 -0
- package/dist/catalog/images/fairy-caves/grotto.web.d.ts.map +1 -0
- package/dist/catalog/images/fairy-caves/grotto.web.js +12 -0
- package/dist/catalog/images/fairy-caves/grotto.web.js.map +1 -0
- package/dist/catalog/images/fairy-caves/grotto.webp +0 -0
- package/dist/catalog/images/fairy-caves/hollow.d.ts +3 -0
- package/dist/catalog/images/fairy-caves/hollow.d.ts.map +1 -0
- package/dist/catalog/images/fairy-caves/hollow.js +8 -0
- package/dist/catalog/images/fairy-caves/hollow.js.map +1 -0
- package/dist/catalog/images/fairy-caves/hollow.thumb.webp +0 -0
- package/dist/catalog/images/fairy-caves/hollow.web.d.ts +3 -0
- package/dist/catalog/images/fairy-caves/hollow.web.d.ts.map +1 -0
- package/dist/catalog/images/fairy-caves/hollow.web.js +12 -0
- package/dist/catalog/images/fairy-caves/hollow.web.js.map +1 -0
- package/dist/catalog/images/fairy-caves/hollow.webp +0 -0
- package/dist/catalog/images/fairy-caves/treehouse-2.d.ts +3 -0
- package/dist/catalog/images/fairy-caves/treehouse-2.d.ts.map +1 -0
- package/dist/catalog/images/fairy-caves/treehouse-2.js +8 -0
- package/dist/catalog/images/fairy-caves/treehouse-2.js.map +1 -0
- package/dist/catalog/images/fairy-caves/treehouse-2.thumb.webp +0 -0
- package/dist/catalog/images/fairy-caves/treehouse-2.web.d.ts +3 -0
- package/dist/catalog/images/fairy-caves/treehouse-2.web.d.ts.map +1 -0
- package/dist/catalog/images/fairy-caves/treehouse-2.web.js +12 -0
- package/dist/catalog/images/fairy-caves/treehouse-2.web.js.map +1 -0
- package/dist/catalog/images/fairy-caves/treehouse-2.webp +0 -0
- package/dist/catalog/images/fairy-caves/treehouse-3.d.ts +3 -0
- package/dist/catalog/images/fairy-caves/treehouse-3.d.ts.map +1 -0
- package/dist/catalog/images/fairy-caves/treehouse-3.js +8 -0
- package/dist/catalog/images/fairy-caves/treehouse-3.js.map +1 -0
- package/dist/catalog/images/fairy-caves/treehouse-3.thumb.webp +0 -0
- package/dist/catalog/images/fairy-caves/treehouse-3.web.d.ts +3 -0
- package/dist/catalog/images/fairy-caves/treehouse-3.web.d.ts.map +1 -0
- package/dist/catalog/images/fairy-caves/treehouse-3.web.js +12 -0
- package/dist/catalog/images/fairy-caves/treehouse-3.web.js.map +1 -0
- package/dist/catalog/images/fairy-caves/treehouse-3.webp +0 -0
- package/dist/catalog/images/fairy-caves/treehouse.d.ts +3 -0
- package/dist/catalog/images/fairy-caves/treehouse.d.ts.map +1 -0
- package/dist/catalog/images/fairy-caves/treehouse.js +8 -0
- package/dist/catalog/images/fairy-caves/treehouse.js.map +1 -0
- package/dist/catalog/images/fairy-caves/treehouse.thumb.webp +0 -0
- package/dist/catalog/images/fairy-caves/treehouse.web.d.ts +3 -0
- package/dist/catalog/images/fairy-caves/treehouse.web.d.ts.map +1 -0
- package/dist/catalog/images/fairy-caves/treehouse.web.js +12 -0
- package/dist/catalog/images/fairy-caves/treehouse.web.js.map +1 -0
- package/dist/catalog/images/fairy-caves/treehouse.webp +0 -0
- package/dist/catalog/images/home/home-dark.d.ts +3 -0
- package/dist/catalog/images/home/home-dark.d.ts.map +1 -0
- package/dist/catalog/images/home/home-dark.js +8 -0
- package/dist/catalog/images/home/home-dark.js.map +1 -0
- package/dist/catalog/images/home/home-dark.thumb.webp +0 -0
- package/dist/catalog/images/home/home-dark.web.d.ts +3 -0
- package/dist/catalog/images/home/home-dark.web.d.ts.map +1 -0
- package/dist/catalog/images/home/home-dark.web.js +12 -0
- package/dist/catalog/images/home/home-dark.web.js.map +1 -0
- package/dist/catalog/images/home/home-light.d.ts +3 -0
- package/dist/catalog/images/home/home-light.d.ts.map +1 -0
- package/dist/catalog/images/home/home-light.js +8 -0
- package/dist/catalog/images/home/home-light.js.map +1 -0
- package/dist/catalog/images/home/home-light.thumb.webp +0 -0
- package/dist/catalog/images/home/home-light.web.d.ts +3 -0
- package/dist/catalog/images/home/home-light.web.d.ts.map +1 -0
- package/dist/catalog/images/home/home-light.web.js +12 -0
- package/dist/catalog/images/home/home-light.web.js.map +1 -0
- package/dist/catalog/images/image-ids.d.ts +3 -0
- package/dist/catalog/images/image-ids.d.ts.map +1 -0
- package/dist/catalog/images/image-ids.js +43 -0
- package/dist/catalog/images/image-ids.js.map +1 -0
- package/dist/catalog/images/image.types.d.ts +2 -0
- package/dist/catalog/images/image.types.d.ts.map +1 -0
- package/dist/catalog/images/image.types.js +3 -0
- package/dist/catalog/images/image.types.js.map +1 -0
- package/dist/catalog/images/index.d.ts +3 -0
- package/dist/catalog/images/index.d.ts.map +1 -0
- package/dist/catalog/images/index.js +10 -0
- package/dist/catalog/images/index.js.map +1 -0
- package/dist/catalog/images/nature/landscape-dark.d.ts +3 -0
- package/dist/catalog/images/nature/landscape-dark.d.ts.map +1 -0
- package/dist/catalog/images/nature/landscape-dark.js +8 -0
- package/dist/catalog/images/nature/landscape-dark.js.map +1 -0
- package/dist/catalog/images/nature/landscape-dark.thumb.webp +0 -0
- package/dist/catalog/images/nature/landscape-dark.web.d.ts +3 -0
- package/dist/catalog/images/nature/landscape-dark.web.d.ts.map +1 -0
- package/dist/catalog/images/nature/landscape-dark.web.js +12 -0
- package/dist/catalog/images/nature/landscape-dark.web.js.map +1 -0
- package/dist/catalog/images/nature/landscape-light.d.ts +3 -0
- package/dist/catalog/images/nature/landscape-light.d.ts.map +1 -0
- package/dist/catalog/images/nature/landscape-light.js +8 -0
- package/dist/catalog/images/nature/landscape-light.js.map +1 -0
- package/dist/catalog/images/nature/landscape-light.thumb.webp +0 -0
- package/dist/catalog/images/nature/landscape-light.web.d.ts +3 -0
- package/dist/catalog/images/nature/landscape-light.web.d.ts.map +1 -0
- package/dist/catalog/images/nature/landscape-light.web.js +12 -0
- package/dist/catalog/images/nature/landscape-light.web.js.map +1 -0
- package/dist/catalog/images/office/office-dark.d.ts +3 -0
- package/dist/catalog/images/office/office-dark.d.ts.map +1 -0
- package/dist/catalog/images/office/office-dark.js +8 -0
- package/dist/catalog/images/office/office-dark.js.map +1 -0
- package/dist/catalog/images/office/office-dark.thumb.webp +0 -0
- package/dist/catalog/images/office/office-dark.web.d.ts +3 -0
- package/dist/catalog/images/office/office-dark.web.d.ts.map +1 -0
- package/dist/catalog/images/office/office-dark.web.js +12 -0
- package/dist/catalog/images/office/office-dark.web.js.map +1 -0
- package/dist/catalog/images/office/office-light.d.ts +3 -0
- package/dist/catalog/images/office/office-light.d.ts.map +1 -0
- package/dist/catalog/images/office/office-light.js +8 -0
- package/dist/catalog/images/office/office-light.js.map +1 -0
- package/dist/catalog/images/office/office-light.thumb.webp +0 -0
- package/dist/catalog/images/office/office-light.web.d.ts +3 -0
- package/dist/catalog/images/office/office-light.web.d.ts.map +1 -0
- package/dist/catalog/images/office/office-light.web.js +12 -0
- package/dist/catalog/images/office/office-light.web.js.map +1 -0
- package/dist/catalog/images/sci-fi/sci-fi-light.d.ts +3 -0
- package/dist/catalog/images/sci-fi/sci-fi-light.d.ts.map +1 -0
- package/dist/catalog/images/sci-fi/sci-fi-light.js +8 -0
- package/dist/catalog/images/sci-fi/sci-fi-light.js.map +1 -0
- package/dist/catalog/images/sci-fi/sci-fi-light.thumb.webp +0 -0
- package/dist/catalog/images/sci-fi/sci-fi-light.web.d.ts +3 -0
- package/dist/catalog/images/sci-fi/sci-fi-light.web.d.ts.map +1 -0
- package/dist/catalog/images/sci-fi/sci-fi-light.web.js +12 -0
- package/dist/catalog/images/sci-fi/sci-fi-light.web.js.map +1 -0
- package/dist/catalog/images/simiancraft/simiancraft-dark-transparency.d.ts +3 -0
- package/dist/catalog/images/simiancraft/simiancraft-dark-transparency.d.ts.map +1 -0
- package/dist/catalog/images/simiancraft/simiancraft-dark-transparency.js +8 -0
- package/dist/catalog/images/simiancraft/simiancraft-dark-transparency.js.map +1 -0
- package/dist/catalog/images/simiancraft/simiancraft-dark-transparency.thumb.webp +0 -0
- package/dist/catalog/images/simiancraft/simiancraft-dark-transparency.web.d.ts +3 -0
- package/dist/catalog/images/simiancraft/simiancraft-dark-transparency.web.d.ts.map +1 -0
- package/dist/catalog/images/simiancraft/simiancraft-dark-transparency.web.js +12 -0
- package/dist/catalog/images/simiancraft/simiancraft-dark-transparency.web.js.map +1 -0
- package/dist/catalog/images/simiancraft/simiancraft-dark-transparency.webp +0 -0
- package/dist/catalog/images/simiancraft/simiancraft-dark.d.ts +3 -0
- package/dist/catalog/images/simiancraft/simiancraft-dark.d.ts.map +1 -0
- package/dist/catalog/images/simiancraft/simiancraft-dark.js +8 -0
- package/dist/catalog/images/simiancraft/simiancraft-dark.js.map +1 -0
- package/dist/catalog/images/simiancraft/simiancraft-dark.thumb.webp +0 -0
- package/dist/catalog/images/simiancraft/simiancraft-dark.web.d.ts +3 -0
- package/dist/catalog/images/simiancraft/simiancraft-dark.web.d.ts.map +1 -0
- package/dist/catalog/images/simiancraft/simiancraft-dark.web.js +12 -0
- package/dist/catalog/images/simiancraft/simiancraft-dark.web.js.map +1 -0
- package/dist/catalog/images/simiancraft/simiancraft-light-transparency.d.ts +3 -0
- package/dist/catalog/images/simiancraft/simiancraft-light-transparency.d.ts.map +1 -0
- package/dist/catalog/images/simiancraft/simiancraft-light-transparency.js +8 -0
- package/dist/catalog/images/simiancraft/simiancraft-light-transparency.js.map +1 -0
- package/dist/catalog/images/simiancraft/simiancraft-light-transparency.thumb.webp +0 -0
- package/dist/catalog/images/simiancraft/simiancraft-light-transparency.web.d.ts +3 -0
- package/dist/catalog/images/simiancraft/simiancraft-light-transparency.web.d.ts.map +1 -0
- package/dist/catalog/images/simiancraft/simiancraft-light-transparency.web.js +12 -0
- package/dist/catalog/images/simiancraft/simiancraft-light-transparency.web.js.map +1 -0
- package/dist/catalog/images/simiancraft/simiancraft-light-transparency.webp +0 -0
- package/dist/catalog/images/simiancraft/simiancraft-light.d.ts +3 -0
- package/dist/catalog/images/simiancraft/simiancraft-light.d.ts.map +1 -0
- package/dist/catalog/images/simiancraft/simiancraft-light.js +8 -0
- package/dist/catalog/images/simiancraft/simiancraft-light.js.map +1 -0
- package/dist/catalog/images/simiancraft/simiancraft-light.thumb.webp +0 -0
- package/dist/catalog/images/simiancraft/simiancraft-light.web.d.ts +3 -0
- package/dist/catalog/images/simiancraft/simiancraft-light.web.d.ts.map +1 -0
- package/dist/catalog/images/simiancraft/simiancraft-light.web.js +12 -0
- package/dist/catalog/images/simiancraft/simiancraft-light.web.js.map +1 -0
- package/dist/catalog/images/spaceship/observation-deck.d.ts +3 -0
- package/dist/catalog/images/spaceship/observation-deck.d.ts.map +1 -0
- package/dist/catalog/images/spaceship/observation-deck.js +8 -0
- package/dist/catalog/images/spaceship/observation-deck.js.map +1 -0
- package/dist/catalog/images/spaceship/observation-deck.thumb.webp +0 -0
- package/dist/catalog/images/spaceship/observation-deck.web.d.ts +3 -0
- package/dist/catalog/images/spaceship/observation-deck.web.d.ts.map +1 -0
- package/dist/catalog/images/spaceship/observation-deck.web.js +12 -0
- package/dist/catalog/images/spaceship/observation-deck.web.js.map +1 -0
- package/dist/catalog/images/spaceship/observation-deck.webp +0 -0
- package/dist/catalog/images/underwater/oceanscape-dark.d.ts +3 -0
- package/dist/catalog/images/underwater/oceanscape-dark.d.ts.map +1 -0
- package/dist/catalog/images/underwater/oceanscape-dark.js +8 -0
- package/dist/catalog/images/underwater/oceanscape-dark.js.map +1 -0
- package/dist/catalog/images/underwater/oceanscape-dark.thumb.webp +0 -0
- package/dist/catalog/images/underwater/oceanscape-dark.web.d.ts +3 -0
- package/dist/catalog/images/underwater/oceanscape-dark.web.d.ts.map +1 -0
- package/dist/catalog/images/underwater/oceanscape-dark.web.js +12 -0
- package/dist/catalog/images/underwater/oceanscape-dark.web.js.map +1 -0
- package/dist/catalog/images/underwater/oceanscape-dark.webp +0 -0
- package/dist/catalog/images/wizard-tower/wizard-tower-1.d.ts +3 -0
- package/dist/catalog/images/wizard-tower/wizard-tower-1.d.ts.map +1 -0
- package/dist/catalog/images/wizard-tower/wizard-tower-1.js +8 -0
- package/dist/catalog/images/wizard-tower/wizard-tower-1.js.map +1 -0
- package/dist/catalog/images/wizard-tower/wizard-tower-1.thumb.webp +0 -0
- package/dist/catalog/images/wizard-tower/wizard-tower-1.web.d.ts +3 -0
- package/dist/catalog/images/wizard-tower/wizard-tower-1.web.d.ts.map +1 -0
- package/dist/catalog/images/wizard-tower/wizard-tower-1.web.js +12 -0
- package/dist/catalog/images/wizard-tower/wizard-tower-1.web.js.map +1 -0
- package/dist/catalog/images/wizard-tower/wizard-tower-1.webp +0 -0
- package/dist/catalog/images/wizard-tower/wizard-tower-2.d.ts +3 -0
- package/dist/catalog/images/wizard-tower/wizard-tower-2.d.ts.map +1 -0
- package/dist/catalog/images/wizard-tower/wizard-tower-2.js +8 -0
- package/dist/catalog/images/wizard-tower/wizard-tower-2.js.map +1 -0
- package/dist/catalog/images/wizard-tower/wizard-tower-2.thumb.webp +0 -0
- package/dist/catalog/images/wizard-tower/wizard-tower-2.web.d.ts +3 -0
- package/dist/catalog/images/wizard-tower/wizard-tower-2.web.d.ts.map +1 -0
- package/dist/catalog/images/wizard-tower/wizard-tower-2.web.js +12 -0
- package/dist/catalog/images/wizard-tower/wizard-tower-2.web.js.map +1 -0
- package/dist/catalog/images/wizard-tower/wizard-tower-2.webp +0 -0
- package/dist/catalog/images/wizard-tower/wizard-tower-night.d.ts +3 -0
- package/dist/catalog/images/wizard-tower/wizard-tower-night.d.ts.map +1 -0
- package/dist/catalog/images/wizard-tower/wizard-tower-night.js +8 -0
- package/dist/catalog/images/wizard-tower/wizard-tower-night.js.map +1 -0
- package/dist/catalog/images/wizard-tower/wizard-tower-night.thumb.webp +0 -0
- package/dist/catalog/images/wizard-tower/wizard-tower-night.web.d.ts +3 -0
- package/dist/catalog/images/wizard-tower/wizard-tower-night.web.d.ts.map +1 -0
- package/dist/catalog/images/wizard-tower/wizard-tower-night.web.js +12 -0
- package/dist/catalog/images/wizard-tower/wizard-tower-night.web.js.map +1 -0
- package/dist/catalog/images/wizard-tower/wizard-tower-night.webp +0 -0
- package/dist/catalog/shaders/_shared/types.d.ts +38 -0
- package/dist/catalog/shaders/_shared/types.d.ts.map +1 -0
- package/dist/catalog/shaders/_shared/types.js +15 -0
- package/dist/catalog/shaders/_shared/types.js.map +1 -0
- package/dist/catalog/shaders/anamorphic-lensflare/anamorphic-lensflare.d.ts +26 -0
- package/dist/catalog/shaders/anamorphic-lensflare/anamorphic-lensflare.d.ts.map +1 -0
- package/dist/catalog/shaders/anamorphic-lensflare/anamorphic-lensflare.form.d.ts +3 -0
- package/dist/catalog/shaders/anamorphic-lensflare/anamorphic-lensflare.form.d.ts.map +1 -0
- package/dist/catalog/shaders/anamorphic-lensflare/anamorphic-lensflare.form.js +15 -0
- package/dist/catalog/shaders/anamorphic-lensflare/anamorphic-lensflare.form.js.map +1 -0
- package/dist/catalog/shaders/anamorphic-lensflare/anamorphic-lensflare.js +84 -0
- package/dist/catalog/shaders/anamorphic-lensflare/anamorphic-lensflare.js.map +1 -0
- package/dist/catalog/shaders/blur/blur.d.ts +15 -0
- package/dist/catalog/shaders/blur/blur.d.ts.map +1 -0
- package/dist/catalog/shaders/blur/blur.form.d.ts +3 -0
- package/dist/catalog/shaders/blur/blur.form.d.ts.map +1 -0
- package/dist/catalog/shaders/blur/blur.form.js +15 -0
- package/dist/catalog/shaders/blur/blur.form.js.map +1 -0
- package/dist/catalog/shaders/blur/blur.js +27 -0
- package/dist/catalog/shaders/blur/blur.js.map +1 -0
- package/dist/catalog/shaders/clouds/clouds.d.ts +34 -0
- package/dist/catalog/shaders/clouds/clouds.d.ts.map +1 -0
- package/dist/catalog/shaders/clouds/clouds.form.d.ts +3 -0
- package/dist/catalog/shaders/clouds/clouds.form.d.ts.map +1 -0
- package/dist/catalog/shaders/clouds/clouds.form.js +15 -0
- package/dist/catalog/shaders/clouds/clouds.form.js.map +1 -0
- package/dist/catalog/shaders/clouds/clouds.js +98 -0
- package/dist/catalog/shaders/clouds/clouds.js.map +1 -0
- package/dist/catalog/shaders/corporate-blobs/corporate-blobs.d.ts +40 -0
- package/dist/catalog/shaders/corporate-blobs/corporate-blobs.d.ts.map +1 -0
- package/dist/catalog/shaders/corporate-blobs/corporate-blobs.form.d.ts +3 -0
- package/dist/catalog/shaders/corporate-blobs/corporate-blobs.form.d.ts.map +1 -0
- package/dist/catalog/shaders/corporate-blobs/corporate-blobs.form.js +15 -0
- package/dist/catalog/shaders/corporate-blobs/corporate-blobs.form.js.map +1 -0
- package/dist/catalog/shaders/corporate-blobs/corporate-blobs.js +100 -0
- package/dist/catalog/shaders/corporate-blobs/corporate-blobs.js.map +1 -0
- package/dist/catalog/shaders/fireflies/fireflies.d.ts +18 -0
- package/dist/catalog/shaders/fireflies/fireflies.d.ts.map +1 -0
- package/dist/catalog/shaders/fireflies/fireflies.form.d.ts +3 -0
- package/dist/catalog/shaders/fireflies/fireflies.form.d.ts.map +1 -0
- package/dist/catalog/shaders/fireflies/fireflies.form.js +15 -0
- package/dist/catalog/shaders/fireflies/fireflies.form.js.map +1 -0
- package/dist/catalog/shaders/fireflies/fireflies.js +47 -0
- package/dist/catalog/shaders/fireflies/fireflies.js.map +1 -0
- package/dist/catalog/shaders/godrays/godrays.d.ts +26 -0
- package/dist/catalog/shaders/godrays/godrays.d.ts.map +1 -0
- package/dist/catalog/shaders/godrays/godrays.form.d.ts +3 -0
- package/dist/catalog/shaders/godrays/godrays.form.d.ts.map +1 -0
- package/dist/catalog/shaders/godrays/godrays.form.js +15 -0
- package/dist/catalog/shaders/godrays/godrays.form.js.map +1 -0
- package/dist/catalog/shaders/godrays/godrays.js +83 -0
- package/dist/catalog/shaders/godrays/godrays.js.map +1 -0
- package/dist/catalog/shaders/index.d.ts +73 -0
- package/dist/catalog/shaders/index.d.ts.map +1 -0
- package/dist/catalog/shaders/index.js +30 -0
- package/dist/catalog/shaders/index.js.map +1 -0
- package/dist/catalog/shaders/light-beams-and-motes/light-beams-and-motes.d.ts +44 -0
- package/dist/catalog/shaders/light-beams-and-motes/light-beams-and-motes.d.ts.map +1 -0
- package/dist/catalog/shaders/light-beams-and-motes/light-beams-and-motes.form.d.ts +3 -0
- package/dist/catalog/shaders/light-beams-and-motes/light-beams-and-motes.form.d.ts.map +1 -0
- package/dist/catalog/shaders/light-beams-and-motes/light-beams-and-motes.form.js +16 -0
- package/dist/catalog/shaders/light-beams-and-motes/light-beams-and-motes.form.js.map +1 -0
- package/dist/catalog/shaders/light-beams-and-motes/light-beams-and-motes.js +91 -0
- package/dist/catalog/shaders/light-beams-and-motes/light-beams-and-motes.js.map +1 -0
- package/dist/catalog/shaders/nebula/nebula.d.ts +20 -0
- package/dist/catalog/shaders/nebula/nebula.d.ts.map +1 -0
- package/dist/catalog/shaders/nebula/nebula.form.d.ts +3 -0
- package/dist/catalog/shaders/nebula/nebula.form.d.ts.map +1 -0
- package/dist/catalog/shaders/nebula/nebula.form.js +15 -0
- package/dist/catalog/shaders/nebula/nebula.form.js.map +1 -0
- package/dist/catalog/shaders/nebula/nebula.js +58 -0
- package/dist/catalog/shaders/nebula/nebula.js.map +1 -0
- package/dist/catalog/shaders/plasma/plasma.d.ts +16 -0
- package/dist/catalog/shaders/plasma/plasma.d.ts.map +1 -0
- package/dist/catalog/shaders/plasma/plasma.form.d.ts +3 -0
- package/dist/catalog/shaders/plasma/plasma.form.d.ts.map +1 -0
- package/dist/catalog/shaders/plasma/plasma.form.js +15 -0
- package/dist/catalog/shaders/plasma/plasma.form.js.map +1 -0
- package/dist/catalog/shaders/plasma/plasma.js +32 -0
- package/dist/catalog/shaders/plasma/plasma.js.map +1 -0
- package/dist/catalog/shaders/simianlights/simianlights.d.ts +20 -0
- package/dist/catalog/shaders/simianlights/simianlights.d.ts.map +1 -0
- package/dist/catalog/shaders/simianlights/simianlights.form.d.ts +3 -0
- package/dist/catalog/shaders/simianlights/simianlights.form.d.ts.map +1 -0
- package/dist/catalog/shaders/simianlights/simianlights.form.js +15 -0
- package/dist/catalog/shaders/simianlights/simianlights.form.js.map +1 -0
- package/dist/catalog/shaders/simianlights/simianlights.js +57 -0
- package/dist/catalog/shaders/simianlights/simianlights.js.map +1 -0
- package/dist/src/components/form/control-form.d.ts +37 -0
- package/dist/src/components/form/control-form.d.ts.map +1 -0
- package/dist/src/components/form/control-form.js +55 -0
- package/dist/src/components/form/control-form.js.map +1 -0
- package/dist/src/components/form/make-controls.d.ts +22 -0
- package/dist/src/components/form/make-controls.d.ts.map +1 -0
- package/dist/src/components/form/make-controls.js +19 -0
- package/dist/src/components/form/make-controls.js.map +1 -0
- package/dist/src/components/form/scope.d.ts +2 -0
- package/dist/src/components/form/scope.d.ts.map +1 -0
- package/dist/src/components/form/scope.js +11 -0
- package/dist/src/components/form/scope.js.map +1 -0
- package/dist/src/components/form/use-field.d.ts +10 -0
- package/dist/src/components/form/use-field.d.ts.map +1 -0
- package/dist/src/components/form/use-field.js +27 -0
- package/dist/src/components/form/use-field.js.map +1 -0
- package/dist/src/components/preset-book-menu/index.d.ts +52 -0
- package/dist/src/components/preset-book-menu/index.d.ts.map +1 -0
- package/dist/src/components/preset-book-menu/index.js +152 -0
- package/dist/src/components/preset-book-menu/index.js.map +1 -0
- package/dist/src/components/preset-book-menu/layout.d.ts +25 -0
- package/dist/src/components/preset-book-menu/layout.d.ts.map +1 -0
- package/dist/src/components/preset-book-menu/layout.js +19 -0
- package/dist/src/components/preset-book-menu/layout.js.map +1 -0
- package/dist/src/components/preset-book-menu/preset-book-menu.types.d.ts +88 -0
- package/dist/src/components/preset-book-menu/preset-book-menu.types.d.ts.map +1 -0
- package/dist/src/components/preset-book-menu/preset-book-menu.types.js +14 -0
- package/dist/src/components/preset-book-menu/preset-book-menu.types.js.map +1 -0
- package/dist/src/components/preset-book-menu/preset-grid.d.ts +16 -0
- package/dist/src/components/preset-book-menu/preset-grid.d.ts.map +1 -0
- package/dist/src/components/preset-book-menu/preset-grid.js +49 -0
- package/dist/src/components/preset-book-menu/preset-grid.js.map +1 -0
- package/dist/src/components/preset-book-menu/resolve-image-uri.d.ts +3 -0
- package/dist/src/components/preset-book-menu/resolve-image-uri.d.ts.map +1 -0
- package/dist/src/components/preset-book-menu/resolve-image-uri.js +28 -0
- package/dist/src/components/preset-book-menu/resolve-image-uri.js.map +1 -0
- package/dist/src/components/preset-book-menu/resolve-image-uri.types.d.ts +13 -0
- package/dist/src/components/preset-book-menu/resolve-image-uri.types.d.ts.map +1 -0
- package/dist/src/components/preset-book-menu/resolve-image-uri.types.js +5 -0
- package/dist/src/components/preset-book-menu/resolve-image-uri.types.js.map +1 -0
- package/dist/src/components/preset-book-menu/resolve-image-uri.web.d.ts +3 -0
- package/dist/src/components/preset-book-menu/resolve-image-uri.web.d.ts.map +1 -0
- package/dist/src/components/preset-book-menu/resolve-image-uri.web.js +17 -0
- package/dist/src/components/preset-book-menu/resolve-image-uri.web.js.map +1 -0
- package/dist/src/components/preset-control-panel/composite-layer-control-panel.d.ts +14 -0
- package/dist/src/components/preset-control-panel/composite-layer-control-panel.d.ts.map +1 -0
- package/dist/src/components/preset-control-panel/composite-layer-control-panel.js +36 -0
- package/dist/src/components/preset-control-panel/composite-layer-control-panel.js.map +1 -0
- package/dist/src/components/preset-control-panel/control-section.d.ts +9 -0
- package/dist/src/components/preset-control-panel/control-section.d.ts.map +1 -0
- package/dist/src/components/preset-control-panel/control-section.js +47 -0
- package/dist/src/components/preset-control-panel/control-section.js.map +1 -0
- package/dist/src/components/preset-control-panel/control.d.ts +10 -0
- package/dist/src/components/preset-control-panel/control.d.ts.map +1 -0
- package/dist/src/components/preset-control-panel/control.js +35 -0
- package/dist/src/components/preset-control-panel/control.js.map +1 -0
- package/dist/src/components/preset-control-panel/index.d.ts +14 -0
- package/dist/src/components/preset-control-panel/index.d.ts.map +1 -0
- package/dist/src/components/preset-control-panel/index.js +49 -0
- package/dist/src/components/preset-control-panel/index.js.map +1 -0
- package/dist/src/components/preset-control-panel/mask-control-panel.d.ts +11 -0
- package/dist/src/components/preset-control-panel/mask-control-panel.d.ts.map +1 -0
- package/dist/src/components/preset-control-panel/mask-control-panel.js +34 -0
- package/dist/src/components/preset-control-panel/mask-control-panel.js.map +1 -0
- package/dist/src/components/preset-control-panel/preset-control-panel.d.ts +12 -0
- package/dist/src/components/preset-control-panel/preset-control-panel.d.ts.map +1 -0
- package/dist/src/components/preset-control-panel/preset-control-panel.js +23 -0
- package/dist/src/components/preset-control-panel/preset-control-panel.js.map +1 -0
- package/dist/src/components/preset-control-panel/transform-control-panel.d.ts +14 -0
- package/dist/src/components/preset-control-panel/transform-control-panel.d.ts.map +1 -0
- package/dist/src/components/preset-control-panel/transform-control-panel.js +58 -0
- package/dist/src/components/preset-control-panel/transform-control-panel.js.map +1 -0
- package/dist/src/components/preset-tile/index.d.ts +24 -0
- package/dist/src/components/preset-tile/index.d.ts.map +1 -0
- package/dist/src/components/preset-tile/index.js +98 -0
- package/dist/src/components/preset-tile/index.js.map +1 -0
- package/dist/src/components/theme/provider.d.ts +18 -0
- package/dist/src/components/theme/provider.d.ts.map +1 -0
- package/dist/src/components/theme/provider.js +29 -0
- package/dist/src/components/theme/provider.js.map +1 -0
- package/dist/src/components/theme/slots.d.ts +17 -0
- package/dist/src/components/theme/slots.d.ts.map +1 -0
- package/dist/src/components/theme/slots.js +9 -0
- package/dist/src/components/theme/slots.js.map +1 -0
- package/dist/src/components/ui/button.d.ts +14 -0
- package/dist/src/components/ui/button.d.ts.map +1 -0
- package/dist/src/components/ui/button.js +29 -0
- package/dist/src/components/ui/button.js.map +1 -0
- package/dist/src/components/ui/color-picker.d.ts +12 -0
- package/dist/src/components/ui/color-picker.d.ts.map +1 -0
- package/dist/src/components/ui/color-picker.js +43 -0
- package/dist/src/components/ui/color-picker.js.map +1 -0
- package/dist/src/components/ui/index.d.ts +6 -0
- package/dist/src/components/ui/index.d.ts.map +1 -0
- package/dist/src/components/ui/index.js +18 -0
- package/dist/src/components/ui/index.js.map +1 -0
- package/dist/src/components/ui/label.d.ts +10 -0
- package/dist/src/components/ui/label.d.ts.map +1 -0
- package/dist/src/components/ui/label.js +14 -0
- package/dist/src/components/ui/label.js.map +1 -0
- package/dist/src/components/ui/point.d.ts +19 -0
- package/dist/src/components/ui/point.d.ts.map +1 -0
- package/dist/src/components/ui/point.js +52 -0
- package/dist/src/components/ui/point.js.map +1 -0
- package/dist/src/components/ui/polygon-field.d.ts +10 -0
- package/dist/src/components/ui/polygon-field.d.ts.map +1 -0
- package/dist/src/components/ui/polygon-field.js +50 -0
- package/dist/src/components/ui/polygon-field.js.map +1 -0
- package/dist/src/components/ui/readout.d.ts +10 -0
- package/dist/src/components/ui/readout.d.ts.map +1 -0
- package/dist/src/components/ui/readout.js +14 -0
- package/dist/src/components/ui/readout.js.map +1 -0
- package/dist/src/components/ui/slider-value.d.ts +8 -0
- package/dist/src/components/ui/slider-value.d.ts.map +1 -0
- package/dist/src/components/ui/slider-value.js +17 -0
- package/dist/src/components/ui/slider-value.js.map +1 -0
- package/dist/src/components/ui/slider.d.ts +15 -0
- package/dist/src/components/ui/slider.d.ts.map +1 -0
- package/dist/src/components/ui/slider.js +58 -0
- package/dist/src/components/ui/slider.js.map +1 -0
- package/dist/src/components/ui/switch.d.ts +8 -0
- package/dist/src/components/ui/switch.d.ts.map +1 -0
- package/dist/src/components/ui/switch.js +24 -0
- package/dist/src/components/ui/switch.js.map +1 -0
- package/dist/src/index.d.ts +18 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +187 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/index.web.d.ts +32 -0
- package/dist/src/index.web.d.ts.map +1 -0
- package/dist/src/index.web.js +119 -0
- package/dist/src/index.web.js.map +1 -0
- package/dist/src/kaleidoscope/controls.d.ts +24 -0
- package/dist/src/kaleidoscope/controls.d.ts.map +1 -0
- package/dist/src/kaleidoscope/controls.js +92 -0
- package/dist/src/kaleidoscope/controls.js.map +1 -0
- package/dist/src/kaleidoscope/effect.d.ts +4 -0
- package/dist/src/kaleidoscope/effect.d.ts.map +1 -0
- package/dist/src/kaleidoscope/effect.js +7 -0
- package/dist/src/kaleidoscope/effect.js.map +1 -0
- package/dist/src/kaleidoscope/effect.types.d.ts +47 -0
- package/dist/src/kaleidoscope/effect.types.d.ts.map +1 -0
- package/dist/src/kaleidoscope/effect.types.js +9 -0
- package/dist/src/kaleidoscope/effect.types.js.map +1 -0
- package/dist/src/kaleidoscope/shader-to-spec.d.ts +4 -0
- package/dist/src/kaleidoscope/shader-to-spec.d.ts.map +1 -0
- package/dist/src/kaleidoscope/shader-to-spec.js +17 -0
- package/dist/src/kaleidoscope/shader-to-spec.js.map +1 -0
- package/dist/src/kaleidoscope/types.d.ts +79 -0
- package/dist/src/kaleidoscope/types.d.ts.map +1 -0
- package/dist/src/kaleidoscope/types.js +18 -0
- package/dist/src/kaleidoscope/types.js.map +1 -0
- package/dist/src/kaleidoscope.preset-book.types.d.ts +86 -0
- package/dist/src/kaleidoscope.preset-book.types.d.ts.map +1 -0
- package/dist/src/kaleidoscope.preset-book.types.js +16 -0
- package/dist/src/kaleidoscope.preset-book.types.js.map +1 -0
- package/dist/src/lib/primitives.types.d.ts +3 -0
- package/dist/src/lib/primitives.types.d.ts.map +1 -0
- package/dist/src/lib/primitives.types.js +5 -0
- package/dist/src/lib/primitives.types.js.map +1 -0
- package/dist/src/lib/test-id.d.ts +30 -0
- package/dist/src/lib/test-id.d.ts.map +1 -0
- package/dist/src/lib/test-id.js +81 -0
- package/dist/src/lib/test-id.js.map +1 -0
- package/dist/src/livekit.d.ts +24 -0
- package/dist/src/livekit.d.ts.map +1 -0
- package/dist/src/livekit.js +63 -0
- package/dist/src/livekit.js.map +1 -0
- package/dist/src/nativewind.d.ts +7 -0
- package/dist/src/nativewind.d.ts.map +1 -0
- package/dist/src/nativewind.js +43 -0
- package/dist/src/nativewind.js.map +1 -0
- package/dist/web-driver/effects/composite.d.ts +14 -0
- package/dist/web-driver/effects/composite.d.ts.map +1 -0
- package/dist/web-driver/effects/composite.js +576 -0
- package/dist/web-driver/effects/composite.js.map +1 -0
- package/dist/web-driver/effects/layer-shaders.d.ts +2 -0
- package/dist/web-driver/effects/layer-shaders.d.ts.map +1 -0
- package/dist/web-driver/effects/layer-shaders.js +11 -0
- package/dist/web-driver/effects/layer-shaders.js.map +1 -0
- package/dist/web-driver/effects/transform.d.ts +4 -0
- package/dist/web-driver/effects/transform.d.ts.map +1 -0
- package/dist/web-driver/effects/transform.js +66 -0
- package/dist/web-driver/effects/transform.js.map +1 -0
- package/dist/web-driver/index.d.ts +6 -0
- package/dist/web-driver/index.d.ts.map +1 -0
- package/dist/web-driver/index.js +21 -0
- package/dist/web-driver/index.js.map +1 -0
- package/dist/web-driver/insertable-streams.d.ts.map +1 -0
- package/dist/web-driver/insertable-streams.js +68 -0
- package/dist/web-driver/insertable-streams.js.map +1 -0
- package/dist/web-driver/segmenter.d.ts.map +1 -0
- package/dist/web-driver/segmenter.js +89 -0
- package/dist/web-driver/segmenter.js.map +1 -0
- package/dist/web-driver/shaders.d.ts +2 -0
- package/dist/web-driver/shaders.d.ts.map +1 -0
- package/dist/web-driver/shaders.generated.d.ts +17 -0
- package/dist/web-driver/shaders.generated.d.ts.map +1 -0
- package/dist/web-driver/shaders.generated.js +1180 -0
- package/dist/web-driver/shaders.generated.js.map +1 -0
- package/dist/web-driver/shaders.js +28 -0
- package/dist/web-driver/shaders.js.map +1 -0
- package/dist/web-driver/tuning.d.ts.map +1 -0
- package/dist/web-driver/tuning.js +61 -0
- package/dist/web-driver/tuning.js.map +1 -0
- package/ios/Kaleidoscope.podspec +22 -15
- package/ios/KaleidoscopeModule/BundledImage.swift +39 -0
- package/ios/KaleidoscopeModule/CompositeLayers.swift +142 -0
- package/ios/KaleidoscopeModule/EffectTuning.swift +86 -86
- package/ios/KaleidoscopeModule/KaleidoscopeModule.swift +55 -27
- package/ios/KaleidoscopeModule/Registration.swift +36 -57
- package/ios/KaleidoscopeModule/effects/CompositeProcessor.swift +906 -0
- package/ios/KaleidoscopeModule/effects/FrameBridge.swift +25 -25
- package/ios/KaleidoscopeModule/effects/TransformProcessor.swift +127 -126
- package/ios/KaleidoscopeModule/gpu/CompositeRendering.swift +352 -0
- package/ios/KaleidoscopeModule/gpu/Ingest.swift +104 -102
- package/ios/KaleidoscopeModule/gpu/MetalRenderer.swift +473 -544
- package/ios/KaleidoscopeModule/gpu/Orientation.swift +41 -41
- package/ios/KaleidoscopeModule/gpu/ShaderLibrary.swift +100 -54
- package/ios/KaleidoscopeModule/gpu/TextureBridge.swift +245 -244
- package/ios/KaleidoscopeModule/segmentation/MaskTuning.swift +11 -11
- package/ios/KaleidoscopeModule/segmentation/Segmenter.swift +360 -359
- package/ios/KaleidoscopeModule/shaders/GENERATIVE.txt +9 -0
- package/ios/KaleidoscopeModule/shaders/SHADERS.txt +13 -2
- package/ios/KaleidoscopeModule/shaders/anamorphic-lensflare.metalsrc +47 -0
- package/ios/KaleidoscopeModule/shaders/clouds.metalsrc +185 -0
- package/ios/KaleidoscopeModule/shaders/composite-blit.metalsrc +22 -0
- package/ios/KaleidoscopeModule/shaders/composite-blur.metalsrc +93 -0
- package/ios/KaleidoscopeModule/shaders/composite-camera.metalsrc +22 -0
- package/ios/KaleidoscopeModule/shaders/composite-image.metalsrc +24 -0
- package/ios/KaleidoscopeModule/shaders/composite-masked.metalsrc +22 -0
- package/ios/KaleidoscopeModule/shaders/composite-subject.metalsrc +23 -0
- package/ios/KaleidoscopeModule/shaders/corporate-blobs.metalsrc +221 -0
- package/ios/KaleidoscopeModule/shaders/fireflies.metalsrc +44 -0
- package/ios/KaleidoscopeModule/shaders/godrays.metalsrc +46 -0
- package/ios/KaleidoscopeModule/shaders/light-beams-and-motes.metalsrc +316 -0
- package/ios/KaleidoscopeModule/shaders/nebula.metalsrc +45 -45
- package/ios/KaleidoscopeModule/shaders/plasma.metalsrc +26 -0
- package/ios/KaleidoscopeModule/shaders/simianlights.metalsrc +45 -45
- package/package.json +485 -115
- package/plugin/build/android/assets.js +45 -0
- package/plugin/build/android/index.js +34 -0
- package/plugin/build/index.js +39 -0
- package/plugin/build/ios/assets.js +110 -0
- package/plugin/build/ios/deployment-target.js +105 -0
- package/plugin/build/ios/index.js +63 -0
- package/plugin/build/ios/pods.js +73 -0
- package/plugin/build/lib/constants.js +15 -0
- package/plugin/build/lib/file-manipulation.js +57 -0
- package/plugin/build/lib/mods.js +36 -0
- package/plugin/build/lib/preset-book.js +215 -0
- package/plugin/build/lib/types.js +16 -0
- package/src/components/form/control-form.tsx +112 -0
- package/src/components/form/make-controls.ts +33 -0
- package/src/components/form/scope.ts +9 -0
- package/src/components/form/use-field.ts +35 -0
- package/src/components/preset-book-menu/index.tsx +286 -0
- package/src/components/preset-book-menu/layout.tsx +63 -0
- package/src/components/preset-book-menu/preset-book-menu.types.ts +112 -0
- package/src/components/preset-book-menu/preset-grid.tsx +80 -0
- package/src/components/preset-book-menu/resolve-image-uri.ts +31 -0
- package/src/components/preset-book-menu/resolve-image-uri.types.ts +18 -0
- package/src/components/preset-book-menu/resolve-image-uri.web.ts +15 -0
- package/src/components/preset-control-panel/composite-layer-control-panel.tsx +56 -0
- package/src/components/preset-control-panel/control-section.tsx +84 -0
- package/src/components/preset-control-panel/control.tsx +50 -0
- package/src/components/preset-control-panel/index.ts +31 -0
- package/src/components/preset-control-panel/mask-control-panel.tsx +93 -0
- package/src/components/preset-control-panel/preset-control-panel.tsx +48 -0
- package/src/components/preset-control-panel/transform-control-panel.tsx +146 -0
- package/src/components/preset-tile/index.tsx +160 -0
- package/src/components/theme/provider.tsx +50 -0
- package/src/components/theme/slots.ts +37 -0
- package/src/components/ui/button.tsx +54 -0
- package/src/components/ui/color-picker.tsx +74 -0
- package/src/components/ui/index.ts +10 -0
- package/src/components/ui/label.tsx +24 -0
- package/src/components/ui/point.tsx +116 -0
- package/src/components/ui/polygon-field.tsx +84 -0
- package/src/components/ui/readout.tsx +25 -0
- package/src/components/ui/slider-value.ts +15 -0
- package/src/components/ui/slider.tsx +98 -0
- package/src/components/ui/switch.tsx +40 -0
- package/src/index.ts +176 -95
- package/src/index.web.ts +126 -74
- package/src/kaleidoscope/controls.ts +127 -0
- package/src/kaleidoscope/effect.ts +5 -0
- package/src/kaleidoscope/effect.types.ts +63 -0
- package/src/kaleidoscope/shader-to-spec.ts +16 -0
- package/src/kaleidoscope/types.ts +101 -0
- package/src/kaleidoscope.preset-book.types.ts +105 -0
- package/src/lib/primitives.types.ts +5 -0
- package/src/lib/test-id.ts +81 -0
- package/src/livekit.ts +6 -4
- package/src/nativewind.ts +41 -0
- package/android/src/main/assets/backgrounds/stylized-dark.webp +0 -0
- package/android/src/main/java/com/simiancraft/kaleidoscope/effects/BackgroundImageFactory.kt +0 -365
- package/android/src/main/java/com/simiancraft/kaleidoscope/effects/BlurFactory.kt +0 -400
- package/dist/backgrounds/dark-office.d.ts +0 -3
- package/dist/backgrounds/dark-office.d.ts.map +0 -1
- package/dist/backgrounds/dark-office.js +0 -5
- package/dist/backgrounds/dark-office.js.map +0 -1
- package/dist/backgrounds/dark-office.web.d.ts +0 -3
- package/dist/backgrounds/dark-office.web.d.ts.map +0 -1
- package/dist/backgrounds/dark-office.web.js +0 -8
- package/dist/backgrounds/dark-office.web.js.map +0 -1
- package/dist/backgrounds/debug-resolutions.d.ts +0 -3
- package/dist/backgrounds/debug-resolutions.d.ts.map +0 -1
- package/dist/backgrounds/debug-resolutions.js +0 -6
- package/dist/backgrounds/debug-resolutions.js.map +0 -1
- package/dist/backgrounds/debug-resolutions.web.d.ts +0 -3
- package/dist/backgrounds/debug-resolutions.web.d.ts.map +0 -1
- package/dist/backgrounds/debug-resolutions.web.js +0 -8
- package/dist/backgrounds/debug-resolutions.web.js.map +0 -1
- package/dist/backgrounds/home-dark.d.ts +0 -3
- package/dist/backgrounds/home-dark.d.ts.map +0 -1
- package/dist/backgrounds/home-dark.js +0 -5
- package/dist/backgrounds/home-dark.js.map +0 -1
- package/dist/backgrounds/home-dark.web.d.ts +0 -3
- package/dist/backgrounds/home-dark.web.d.ts.map +0 -1
- package/dist/backgrounds/home-dark.web.js +0 -6
- package/dist/backgrounds/home-dark.web.js.map +0 -1
- package/dist/backgrounds/home-light.d.ts +0 -3
- package/dist/backgrounds/home-light.d.ts.map +0 -1
- package/dist/backgrounds/home-light.js +0 -5
- package/dist/backgrounds/home-light.js.map +0 -1
- package/dist/backgrounds/home-light.web.d.ts +0 -3
- package/dist/backgrounds/home-light.web.d.ts.map +0 -1
- package/dist/backgrounds/home-light.web.js +0 -6
- package/dist/backgrounds/home-light.web.js.map +0 -1
- package/dist/backgrounds/index.d.ts +0 -3
- package/dist/backgrounds/index.d.ts.map +0 -1
- package/dist/backgrounds/index.js +0 -6
- package/dist/backgrounds/index.js.map +0 -1
- package/dist/backgrounds/light-office.d.ts +0 -3
- package/dist/backgrounds/light-office.d.ts.map +0 -1
- package/dist/backgrounds/light-office.js +0 -5
- package/dist/backgrounds/light-office.js.map +0 -1
- package/dist/backgrounds/light-office.web.d.ts +0 -3
- package/dist/backgrounds/light-office.web.d.ts.map +0 -1
- package/dist/backgrounds/light-office.web.js +0 -8
- package/dist/backgrounds/light-office.web.js.map +0 -1
- package/dist/backgrounds/nature-dark.d.ts +0 -3
- package/dist/backgrounds/nature-dark.d.ts.map +0 -1
- package/dist/backgrounds/nature-dark.js +0 -5
- package/dist/backgrounds/nature-dark.js.map +0 -1
- package/dist/backgrounds/nature-dark.web.d.ts +0 -3
- package/dist/backgrounds/nature-dark.web.d.ts.map +0 -1
- package/dist/backgrounds/nature-dark.web.js +0 -6
- package/dist/backgrounds/nature-dark.web.js.map +0 -1
- package/dist/backgrounds/nature-light.d.ts +0 -3
- package/dist/backgrounds/nature-light.d.ts.map +0 -1
- package/dist/backgrounds/nature-light.js +0 -5
- package/dist/backgrounds/nature-light.js.map +0 -1
- package/dist/backgrounds/nature-light.web.d.ts +0 -3
- package/dist/backgrounds/nature-light.web.d.ts.map +0 -1
- package/dist/backgrounds/nature-light.web.js +0 -6
- package/dist/backgrounds/nature-light.web.js.map +0 -1
- package/dist/backgrounds/preset-source.types.d.ts +0 -2
- package/dist/backgrounds/preset-source.types.d.ts.map +0 -1
- package/dist/backgrounds/preset-source.types.js +0 -2
- package/dist/backgrounds/preset-source.types.js.map +0 -1
- package/dist/backgrounds/presets.d.ts +0 -3
- package/dist/backgrounds/presets.d.ts.map +0 -1
- package/dist/backgrounds/presets.js +0 -34
- package/dist/backgrounds/presets.js.map +0 -1
- package/dist/backgrounds/simiancraft-dark.d.ts +0 -3
- package/dist/backgrounds/simiancraft-dark.d.ts.map +0 -1
- package/dist/backgrounds/simiancraft-dark.js +0 -5
- package/dist/backgrounds/simiancraft-dark.js.map +0 -1
- package/dist/backgrounds/simiancraft-dark.web.d.ts +0 -3
- package/dist/backgrounds/simiancraft-dark.web.d.ts.map +0 -1
- package/dist/backgrounds/simiancraft-dark.web.js +0 -6
- package/dist/backgrounds/simiancraft-dark.web.js.map +0 -1
- package/dist/backgrounds/simiancraft-light.d.ts +0 -3
- package/dist/backgrounds/simiancraft-light.d.ts.map +0 -1
- package/dist/backgrounds/simiancraft-light.js +0 -5
- package/dist/backgrounds/simiancraft-light.js.map +0 -1
- package/dist/backgrounds/simiancraft-light.web.d.ts +0 -3
- package/dist/backgrounds/simiancraft-light.web.d.ts.map +0 -1
- package/dist/backgrounds/simiancraft-light.web.js +0 -6
- package/dist/backgrounds/simiancraft-light.web.js.map +0 -1
- package/dist/backgrounds/stylized-dark.d.ts +0 -3
- package/dist/backgrounds/stylized-dark.d.ts.map +0 -1
- package/dist/backgrounds/stylized-dark.js +0 -5
- package/dist/backgrounds/stylized-dark.js.map +0 -1
- package/dist/backgrounds/stylized-dark.web.d.ts +0 -3
- package/dist/backgrounds/stylized-dark.web.d.ts.map +0 -1
- package/dist/backgrounds/stylized-dark.web.js +0 -6
- package/dist/backgrounds/stylized-dark.web.js.map +0 -1
- package/dist/backgrounds/stylized-dark.webp +0 -0
- package/dist/backgrounds/stylized-light.d.ts +0 -3
- package/dist/backgrounds/stylized-light.d.ts.map +0 -1
- package/dist/backgrounds/stylized-light.js +0 -5
- package/dist/backgrounds/stylized-light.js.map +0 -1
- package/dist/backgrounds/stylized-light.web.d.ts +0 -3
- package/dist/backgrounds/stylized-light.web.d.ts.map +0 -1
- package/dist/backgrounds/stylized-light.web.js +0 -6
- package/dist/backgrounds/stylized-light.web.js.map +0 -1
- package/dist/index.d.ts +0 -42
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -155
- package/dist/index.js.map +0 -1
- package/dist/index.web.d.ts +0 -49
- package/dist/index.web.d.ts.map +0 -1
- package/dist/index.web.js +0 -113
- package/dist/index.web.js.map +0 -1
- package/dist/livekit.d.ts +0 -24
- package/dist/livekit.d.ts.map +0 -1
- package/dist/livekit.js +0 -57
- package/dist/livekit.js.map +0 -1
- package/dist/types.d.ts +0 -74
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -10
- package/dist/types.js.map +0 -1
- package/dist/web/blur-kernel.d.ts +0 -6
- package/dist/web/blur-kernel.d.ts.map +0 -1
- package/dist/web/blur-kernel.js +0 -41
- package/dist/web/blur-kernel.js.map +0 -1
- package/dist/web/effects/background-image.d.ts +0 -3
- package/dist/web/effects/background-image.d.ts.map +0 -1
- package/dist/web/effects/background-image.js +0 -284
- package/dist/web/effects/background-image.js.map +0 -1
- package/dist/web/effects/blur.d.ts +0 -3
- package/dist/web/effects/blur.d.ts.map +0 -1
- package/dist/web/effects/blur.js +0 -339
- package/dist/web/effects/blur.js.map +0 -1
- package/dist/web/effects/transform.d.ts +0 -4
- package/dist/web/effects/transform.d.ts.map +0 -1
- package/dist/web/effects/transform.js +0 -62
- package/dist/web/effects/transform.js.map +0 -1
- package/dist/web/insertable-streams.d.ts.map +0 -1
- package/dist/web/insertable-streams.js +0 -64
- package/dist/web/insertable-streams.js.map +0 -1
- package/dist/web/segmenter.d.ts.map +0 -1
- package/dist/web/segmenter.js +0 -83
- package/dist/web/segmenter.js.map +0 -1
- package/dist/web/shaders.d.ts +0 -2
- package/dist/web/shaders.d.ts.map +0 -1
- package/dist/web/shaders.generated.d.ts +0 -4
- package/dist/web/shaders.generated.d.ts.map +0 -1
- package/dist/web/shaders.generated.js +0 -54
- package/dist/web/shaders.generated.js.map +0 -1
- package/dist/web/shaders.js +0 -32
- package/dist/web/shaders.js.map +0 -1
- package/dist/web/tuning.d.ts.map +0 -1
- package/dist/web/tuning.js +0 -55
- package/dist/web/tuning.js.map +0 -1
- package/ios/KaleidoscopeModule/effects/BackgroundImageProcessor.swift +0 -293
- package/ios/KaleidoscopeModule/effects/BlurProcessor.swift +0 -238
- package/ios/KaleidoscopeModule/resources/backgrounds/dark-office.webp +0 -0
- package/ios/KaleidoscopeModule/resources/backgrounds/debug-resolutions.webp +0 -0
- package/ios/KaleidoscopeModule/resources/backgrounds/home-dark.webp +0 -0
- package/ios/KaleidoscopeModule/resources/backgrounds/home-light.webp +0 -0
- package/ios/KaleidoscopeModule/resources/backgrounds/light-office.webp +0 -0
- package/ios/KaleidoscopeModule/resources/backgrounds/nature-dark.webp +0 -0
- package/ios/KaleidoscopeModule/resources/backgrounds/nature-light.webp +0 -0
- package/ios/KaleidoscopeModule/resources/backgrounds/simiancraft-dark.webp +0 -0
- package/ios/KaleidoscopeModule/resources/backgrounds/simiancraft-light.webp +0 -0
- package/ios/KaleidoscopeModule/resources/backgrounds/stylized-dark.webp +0 -0
- package/ios/KaleidoscopeModule/resources/backgrounds/stylized-light.webp +0 -0
- package/ios/KaleidoscopeModule/shaders/blur.metalsrc +0 -72
- package/ios/KaleidoscopeModule/shaders/composite.metalsrc +0 -22
- package/src/backgrounds/README.md +0 -83
- package/src/backgrounds/dark-office.ts +0 -6
- package/src/backgrounds/dark-office.web.ts +0 -9
- package/src/backgrounds/dark-office.webp +0 -0
- package/src/backgrounds/debug-resolutions.ts +0 -7
- package/src/backgrounds/debug-resolutions.web.ts +0 -9
- package/src/backgrounds/debug-resolutions.webp +0 -0
- package/src/backgrounds/home-dark.ts +0 -6
- package/src/backgrounds/home-dark.web.ts +0 -7
- package/src/backgrounds/home-dark.webp +0 -0
- package/src/backgrounds/home-light.ts +0 -6
- package/src/backgrounds/home-light.web.ts +0 -7
- package/src/backgrounds/home-light.webp +0 -0
- package/src/backgrounds/index.ts +0 -7
- package/src/backgrounds/light-office.ts +0 -6
- package/src/backgrounds/light-office.web.ts +0 -9
- package/src/backgrounds/light-office.webp +0 -0
- package/src/backgrounds/nature-dark.ts +0 -6
- package/src/backgrounds/nature-dark.web.ts +0 -7
- package/src/backgrounds/nature-dark.webp +0 -0
- package/src/backgrounds/nature-light.ts +0 -6
- package/src/backgrounds/nature-light.web.ts +0 -7
- package/src/backgrounds/nature-light.webp +0 -0
- package/src/backgrounds/preset-source.types.ts +0 -5
- package/src/backgrounds/presets.ts +0 -36
- package/src/backgrounds/simiancraft-dark.ts +0 -6
- package/src/backgrounds/simiancraft-dark.web.ts +0 -7
- package/src/backgrounds/simiancraft-dark.webp +0 -0
- package/src/backgrounds/simiancraft-light.ts +0 -6
- package/src/backgrounds/simiancraft-light.web.ts +0 -7
- package/src/backgrounds/simiancraft-light.webp +0 -0
- package/src/backgrounds/stylized-dark.ts +0 -6
- package/src/backgrounds/stylized-dark.web.ts +0 -7
- package/src/backgrounds/stylized-dark.webp +0 -0
- package/src/backgrounds/stylized-light.ts +0 -6
- package/src/backgrounds/stylized-light.web.ts +0 -7
- package/src/backgrounds/stylized-light.webp +0 -0
- package/src/types.ts +0 -89
- package/src/web/blur-kernel.ts +0 -44
- package/src/web/effects/background-image.ts +0 -364
- package/src/web/effects/blur.ts +0 -430
- package/src/web/effects/transform.ts +0 -69
- package/src/web/insertable-streams.ts +0 -112
- package/src/web/segmenter.ts +0 -107
- package/src/web/shaders.generated.ts +0 -56
- package/src/web/shaders.ts +0 -31
- package/src/web/tuning.ts +0 -67
- /package/{src/backgrounds → catalog/images}/assets.d.ts +0 -0
- /package/{android/src/main/assets/backgrounds → catalog/images/debug}/debug-resolutions.webp +0 -0
- /package/{android/src/main/assets/backgrounds → catalog/images/home}/home-dark.webp +0 -0
- /package/{android/src/main/assets/backgrounds → catalog/images/home}/home-light.webp +0 -0
- /package/{android/src/main/assets/backgrounds/nature-dark.webp → catalog/images/nature/landscape-dark.webp} +0 -0
- /package/{android/src/main/assets/backgrounds/nature-light.webp → catalog/images/nature/landscape-light.webp} +0 -0
- /package/{android/src/main/assets/backgrounds/dark-office.webp → catalog/images/office/office-dark.webp} +0 -0
- /package/{android/src/main/assets/backgrounds/light-office.webp → catalog/images/office/office-light.webp} +0 -0
- /package/{android/src/main/assets/backgrounds/stylized-light.webp → catalog/images/sci-fi/sci-fi-light.webp} +0 -0
- /package/{android/src/main/assets/backgrounds → catalog/images/simiancraft}/simiancraft-dark.webp +0 -0
- /package/{android/src/main/assets/backgrounds → catalog/images/simiancraft}/simiancraft-light.webp +0 -0
- /package/dist/{backgrounds → catalog/images/debug}/debug-resolutions.webp +0 -0
- /package/dist/{backgrounds → catalog/images/home}/home-dark.webp +0 -0
- /package/dist/{backgrounds → catalog/images/home}/home-light.webp +0 -0
- /package/dist/{backgrounds/nature-dark.webp → catalog/images/nature/landscape-dark.webp} +0 -0
- /package/dist/{backgrounds/nature-light.webp → catalog/images/nature/landscape-light.webp} +0 -0
- /package/dist/{backgrounds/dark-office.webp → catalog/images/office/office-dark.webp} +0 -0
- /package/dist/{backgrounds/light-office.webp → catalog/images/office/office-light.webp} +0 -0
- /package/dist/{backgrounds/stylized-light.webp → catalog/images/sci-fi/sci-fi-light.webp} +0 -0
- /package/dist/{backgrounds → catalog/images/simiancraft}/simiancraft-dark.webp +0 -0
- /package/dist/{backgrounds → catalog/images/simiancraft}/simiancraft-light.webp +0 -0
- /package/dist/{web → web-driver}/insertable-streams.d.ts +0 -0
- /package/dist/{web → web-driver}/segmenter.d.ts +0 -0
- /package/dist/{web → web-driver}/tuning.d.ts +0 -0
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
// SIMIANCRAFT Deadlights V2 "Deadlights nebula"
|
|
2
|
+
// Procedural full-screen backdrop animation for https://simiancraft.com/
|
|
3
|
+
// Jesse Harlin, 2020. MIT license.
|
|
4
|
+
// Ported from a ShaderToy prototype (mainImage/iTime/iResolution) to this
|
|
5
|
+
// repo's GLSL ES 3.00 multi-runtime convention. Tuned high: speed/glow
|
|
6
|
+
// cranked relative to V1.
|
|
7
|
+
//
|
|
8
|
+
// UV convention: matches passthrough.vert. vUv = (0, 0) at bottom-left,
|
|
9
|
+
// (1, 1) at top-right. fragCoord is reconstructed as vUv * uResolution so
|
|
10
|
+
// this stays on the vUv convention and never reads gl_FragCoord (whose Y
|
|
11
|
+
// orientation flips between OpenGL and Metal). This is a fully procedural
|
|
12
|
+
// background: no input texture, so there is no texture-origin handoff to
|
|
13
|
+
// flip; the only orientation that matters is vUv, which the vertex shader
|
|
14
|
+
// already pins. Net texture flips: zero on every runtime.
|
|
15
|
+
//
|
|
16
|
+
// Precision: highp float is REQUIRED, not mediump. The PseudoRandomizer
|
|
17
|
+
// hash and the fract() size/color tricks use large multipliers (123.45,
|
|
18
|
+
// 345.67, 1356.33, 2150.0, 3000.0, 3430.0). At mediump (10-bit mantissa on
|
|
19
|
+
// mobile GPUs) fract() of those products collapses to banded garbage,
|
|
20
|
+
// destroying the star distribution. Same reasoning composite-blur.frag gives
|
|
21
|
+
// for keeping vUv highp, applied to the whole hash chain here.
|
|
22
|
+
|
|
23
|
+
#version 300 es
|
|
24
|
+
precision highp float;
|
|
25
|
+
|
|
26
|
+
uniform float uTime; // seconds, monotonically increasing; range [0, inf)
|
|
27
|
+
uniform vec2 uResolution; // framebuffer size in pixels; both components > 0
|
|
28
|
+
uniform vec3 uColor; // overall tint / color grade; [1,1,1] = untinted
|
|
29
|
+
uniform float uBrightness; // final glow multiplier; 1.0 = stock
|
|
30
|
+
uniform float uSpeed; // drift + rotation rate; 1.0 = stock, 0 freezes
|
|
31
|
+
uniform float uTwinkleSpeed; // star color-cycle rate; 1.0 = stock
|
|
32
|
+
uniform float uScale; // starfield zoom / density; >1 = more, smaller stars
|
|
33
|
+
uniform float uStarGlow; // star-core size; 1.0 = stock
|
|
34
|
+
|
|
35
|
+
in highp vec2 vUv;
|
|
36
|
+
out vec4 oColor;
|
|
37
|
+
|
|
38
|
+
const float PI = 3.14159265;
|
|
39
|
+
const float MIN_DIVIDE = 64.0;
|
|
40
|
+
const float MAX_DIVIDE = 0.01;
|
|
41
|
+
// Number of stacked starfield layers. Compile-time constant so the layer
|
|
42
|
+
// loop has a fixed integer bound (cross-compile-safe; no float loop counter).
|
|
43
|
+
const int STARFIELD_LAYERS_COUNT = 12;
|
|
44
|
+
|
|
45
|
+
mat2 Rotate(float angle) {
|
|
46
|
+
float s = sin(angle);
|
|
47
|
+
float c = cos(angle);
|
|
48
|
+
return mat2(c, -s, s, c);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
float Star(vec2 uv, float flaresize, float rotAngle, float randomN) {
|
|
52
|
+
float d = length(uv);
|
|
53
|
+
// Star core. Guard the division: length(uv) can be exactly 0 at a cell
|
|
54
|
+
// center, which yields inf/NaN under Metal. max(d, 1e-4) caps the core
|
|
55
|
+
// brightness without visibly changing the look (the concentric
|
|
56
|
+
// smoothstep fade below already clamps it).
|
|
57
|
+
float starcore = 0.05 * uStarGlow / max(d, 1e-4);
|
|
58
|
+
uv *= Rotate(-2.0 * PI * rotAngle);
|
|
59
|
+
float flareMax = 1.0;
|
|
60
|
+
|
|
61
|
+
// flares
|
|
62
|
+
float starflares = max(0.0, flareMax - abs(uv.x * uv.y * 3000.0));
|
|
63
|
+
starcore += starflares * flaresize;
|
|
64
|
+
uv *= Rotate(PI * 0.25);
|
|
65
|
+
starflares = max(0.0, flareMax - abs(uv.x * uv.y * 3000.0));
|
|
66
|
+
starcore += starflares * 0.3 * flaresize;
|
|
67
|
+
// light can't go forever, fade it concentrically.
|
|
68
|
+
starcore *= smoothstep(1.0, 0.05, d);
|
|
69
|
+
return starcore;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
float PseudoRandomizer(vec2 p) {
|
|
73
|
+
// not really random, but it looks random.
|
|
74
|
+
p = fract(p * vec2(123.45, 345.67));
|
|
75
|
+
p += dot(p, p + 45.32);
|
|
76
|
+
return fract(p.x * p.y);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
vec3 StarFieldLayer(vec2 uv, float rotAngle) {
|
|
80
|
+
vec3 col = vec3(0.0);
|
|
81
|
+
|
|
82
|
+
vec2 gv = fract(uv) - 0.5;
|
|
83
|
+
vec2 id = floor(uv);
|
|
84
|
+
|
|
85
|
+
float deltaTimeTwinkle = uTime * 0.35 * uTwinkleSpeed;
|
|
86
|
+
|
|
87
|
+
// sweep the 8 neighbors plus the home cell so stars are not clipped at
|
|
88
|
+
// cell borders. Constant 3x3 bounds.
|
|
89
|
+
for (int y = -1; y <= 1; y++) {
|
|
90
|
+
for (int x = -1; x <= 1; x++) {
|
|
91
|
+
vec2 offset = vec2(float(x), float(y));
|
|
92
|
+
|
|
93
|
+
float randomN = PseudoRandomizer(id + offset); // 0..1
|
|
94
|
+
float randoX = randomN - 0.5;
|
|
95
|
+
float randoY = fract(randomN * 45.0) - 0.5;
|
|
96
|
+
vec2 randomPosition = gv - offset - vec2(randoX, randoY);
|
|
97
|
+
// fract trick: random sizes
|
|
98
|
+
float size = fract(randomN * 1356.33);
|
|
99
|
+
float flareSwitch = smoothstep(0.9, 1.0, size);
|
|
100
|
+
float star = Star(randomPosition, flareSwitch, rotAngle, randomN);
|
|
101
|
+
|
|
102
|
+
// fract trick: random colors
|
|
103
|
+
float randomStarColorSeed = fract(randomN * 2150.0) * (3.0 * PI) * deltaTimeTwinkle;
|
|
104
|
+
vec3 color = sin(vec3(0.7, 0.3, 0.9) * randomStarColorSeed);
|
|
105
|
+
|
|
106
|
+
// compress
|
|
107
|
+
color = color * (0.4 * sin(deltaTimeTwinkle)) + 0.6;
|
|
108
|
+
// filter
|
|
109
|
+
color = color * vec3(1.0, 0.1, 0.9 + size);
|
|
110
|
+
float dimByDensity = 15.0 / float(STARFIELD_LAYERS_COUNT);
|
|
111
|
+
col += star * size * color * dimByDensity;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
return col;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
void main() {
|
|
119
|
+
// ShaderToy fragCoord, reconstructed from vUv (see header).
|
|
120
|
+
vec2 fragCoord = vUv * uResolution;
|
|
121
|
+
|
|
122
|
+
// Normalized pixel coordinates centered at screen middle.
|
|
123
|
+
vec2 uv = (fragCoord - 0.5 * uResolution.xy) / uResolution.y;
|
|
124
|
+
|
|
125
|
+
float deltaTime = uTime * 0.01 * uSpeed;
|
|
126
|
+
|
|
127
|
+
vec3 col = vec3(0.0);
|
|
128
|
+
|
|
129
|
+
float rotAngle = deltaTime * 0.09;
|
|
130
|
+
|
|
131
|
+
// Layer accumulation. Integer-counted loop replacing the original
|
|
132
|
+
// `for (float i = 0.0; i < 1.0; i += 1.0/COUNT)`. With n in [0, COUNT),
|
|
133
|
+
// i = n/COUNT reproduces the exact same {0, 1/N, 2/N, ...} sequence and
|
|
134
|
+
// the same iteration count, so visual output is unchanged; only the loop
|
|
135
|
+
// form is cross-compile-safe.
|
|
136
|
+
for (int n = 0; n < STARFIELD_LAYERS_COUNT; n++) {
|
|
137
|
+
float i = float(n) / float(STARFIELD_LAYERS_COUNT);
|
|
138
|
+
float layerDepth = fract(i + deltaTime);
|
|
139
|
+
float layerScale = mix(MIN_DIVIDE, MAX_DIVIDE, layerDepth);
|
|
140
|
+
float layerFader = layerDepth * smoothstep(0.1, 1.1, layerDepth);
|
|
141
|
+
float layerOffset = i * (3430.0 + fract(i));
|
|
142
|
+
mat2 layerRot = Rotate(rotAngle * i * -10.0);
|
|
143
|
+
uv *= layerRot;
|
|
144
|
+
vec2 starfieldUv = uv * layerScale * uScale + layerOffset;
|
|
145
|
+
col += StarFieldLayer(starfieldUv, rotAngle) * layerFader;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
// Glow + color grade, then opaque procedural background.
|
|
149
|
+
col *= uBrightness * uColor;
|
|
150
|
+
oColor = vec4(col, 1.0);
|
|
151
|
+
}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
// Nebula layer-shader interface: typed uniforms + control descriptor. A deep-
|
|
2
|
+
// space starfield BACKGROUND layer (opaque), uniform-ized from the fixed
|
|
3
|
+
// Deadlights V2 backdrop so a composite can color-grade and pace it (the nebula
|
|
4
|
+
// composite runs it full-frame behind the masked subject). Shader source is
|
|
5
|
+
// ./nebula.frag.
|
|
6
|
+
|
|
7
|
+
import type { RGB } from '../../../src/lib/primitives.types';
|
|
8
|
+
import type { UniformControl } from '../_shared/types';
|
|
9
|
+
|
|
10
|
+
/** Typed uniforms for the `nebula` layer shader. */
|
|
11
|
+
export type NebulaUniforms = {
|
|
12
|
+
/** Overall tint / color grade; [1,1,1] keeps the stock star colors. */
|
|
13
|
+
readonly uColor: RGB;
|
|
14
|
+
/** Final glow multiplier; 1 = stock, higher = brighter field. */
|
|
15
|
+
readonly uBrightness: number;
|
|
16
|
+
/** Drift + rotation rate; 1 = stock, 0 freezes the field. */
|
|
17
|
+
readonly uSpeed: number;
|
|
18
|
+
/** Star color-cycle (twinkle) rate; 1 = stock. */
|
|
19
|
+
readonly uTwinkleSpeed: number;
|
|
20
|
+
/** Starfield zoom / density; >1 = more, smaller stars. */
|
|
21
|
+
readonly uScale: number;
|
|
22
|
+
/** Star-core size; 1 = stock, higher = fatter cores. */
|
|
23
|
+
readonly uStarGlow: number;
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
/** The `nebula` shader's tunable uniforms; defaults reproduce the stock look. */
|
|
27
|
+
export const NEBULA_CONTROLS: readonly UniformControl[] = [
|
|
28
|
+
{ name: 'uColor', kind: 'color', default: [1, 1, 1], doc: 'Overall tint / color grade.' },
|
|
29
|
+
{
|
|
30
|
+
name: 'uBrightness',
|
|
31
|
+
kind: 'float',
|
|
32
|
+
default: 1,
|
|
33
|
+
min: 0,
|
|
34
|
+
max: 3,
|
|
35
|
+
step: 0.01,
|
|
36
|
+
doc: 'Final glow multiplier.',
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
name: 'uSpeed',
|
|
40
|
+
kind: 'float',
|
|
41
|
+
default: 1,
|
|
42
|
+
min: 0,
|
|
43
|
+
max: 3,
|
|
44
|
+
step: 0.01,
|
|
45
|
+
doc: 'Drift + rotation rate; 0 freezes.',
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
name: 'uTwinkleSpeed',
|
|
49
|
+
kind: 'float',
|
|
50
|
+
default: 1,
|
|
51
|
+
min: 0,
|
|
52
|
+
max: 3,
|
|
53
|
+
step: 0.01,
|
|
54
|
+
doc: 'Star twinkle rate.',
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
name: 'uScale',
|
|
58
|
+
kind: 'float',
|
|
59
|
+
default: 1,
|
|
60
|
+
min: 0.3,
|
|
61
|
+
max: 3,
|
|
62
|
+
step: 0.01,
|
|
63
|
+
doc: 'Zoom / density; >1 = more, smaller stars.',
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
name: 'uStarGlow',
|
|
67
|
+
kind: 'float',
|
|
68
|
+
default: 1,
|
|
69
|
+
min: 0.2,
|
|
70
|
+
max: 3,
|
|
71
|
+
step: 0.01,
|
|
72
|
+
doc: 'Star-core size.',
|
|
73
|
+
},
|
|
74
|
+
];
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
// Plasma's editor form: the shader OWNS its control layout. This pass just stacks
|
|
2
|
+
// one <Control uniform="…"/> per uniform in declared order (the auto-form's shape);
|
|
3
|
+
// the point is that this file exists per shader, so layout/grouping is a local edit
|
|
4
|
+
// here, and a new primitive flows in through <Control> without touching it.
|
|
5
|
+
// Conventional layer id: "plasma".
|
|
6
|
+
|
|
7
|
+
import {
|
|
8
|
+
Control,
|
|
9
|
+
ControlForm,
|
|
10
|
+
ControlSection,
|
|
11
|
+
type KaleidoscopeControls,
|
|
12
|
+
} from '../../../src/components/preset-control-panel';
|
|
13
|
+
import { PLASMA_CONTROLS } from './plasma';
|
|
14
|
+
|
|
15
|
+
export function PlasmaForm({ uniforms, onPatch, disabled }: KaleidoscopeControls) {
|
|
16
|
+
return (
|
|
17
|
+
<ControlForm
|
|
18
|
+
id="plasma"
|
|
19
|
+
uniforms={uniforms.plasma ?? {}}
|
|
20
|
+
onPatch={onPatch}
|
|
21
|
+
disabled={disabled}
|
|
22
|
+
controls={PLASMA_CONTROLS}
|
|
23
|
+
>
|
|
24
|
+
<ControlSection title="plasma">
|
|
25
|
+
<Control uniform="uColorA" />
|
|
26
|
+
<Control uniform="uColorB" />
|
|
27
|
+
<Control uniform="uSpeed" />
|
|
28
|
+
<Control uniform="uScale" />
|
|
29
|
+
</ControlSection>
|
|
30
|
+
</ControlForm>
|
|
31
|
+
);
|
|
32
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
// Plasma: a two-color time-morphing procedural background.
|
|
2
|
+
//
|
|
3
|
+
// The specimen for the generic procedural-shader processor (issue #25/#26).
|
|
4
|
+
// Deliberately the cheapest engine still worth shipping: a small sum of sines
|
|
5
|
+
// of position and time, mapped between two palette colors. No loops, no noise,
|
|
6
|
+
// no hashing, so it stays comfortably within the per-frame budget the shader-
|
|
7
|
+
// authoring guide sets. One plasma.frag fans out into many named presets
|
|
8
|
+
// (ocean, sunset, mint, and fast) by varying its uniforms.
|
|
9
|
+
//
|
|
10
|
+
// UV convention: matches passthrough.vert. vUv = (0, 0) at bottom-left,
|
|
11
|
+
// (1, 1) at top-right. fragCoord is reconstructed as vUv * uResolution so this
|
|
12
|
+
// stays on the vUv convention and never reads gl_FragCoord (whose Y
|
|
13
|
+
// orientation flips between OpenGL and Metal). Fully procedural: no input
|
|
14
|
+
// texture, so there is no texture-origin handoff to flip. Net texture flips:
|
|
15
|
+
// zero on every runtime.
|
|
16
|
+
//
|
|
17
|
+
// Precision: highp float. The plasma value is a bounded sum of sines (range
|
|
18
|
+
// well within mediump), but vUv is highp by the passthrough.vert contract and
|
|
19
|
+
// the aspect-correct division below keeps the field stable at high resolution;
|
|
20
|
+
// highp matches the other procedural shaders and avoids banding on mobile.
|
|
21
|
+
|
|
22
|
+
#version 300 es
|
|
23
|
+
precision highp float;
|
|
24
|
+
|
|
25
|
+
uniform float uTime; // seconds, monotonically increasing; range [0, inf)
|
|
26
|
+
uniform vec2 uResolution; // framebuffer size in pixels; both components > 0
|
|
27
|
+
uniform vec3 uColorA; // first palette color, linear-ish RGB in [0, 1]
|
|
28
|
+
uniform vec3 uColorB; // second palette color, linear-ish RGB in [0, 1]
|
|
29
|
+
uniform float uSpeed; // animation rate multiplier; 0 freezes the field
|
|
30
|
+
uniform float uScale; // spatial frequency; higher = more, tighter cells
|
|
31
|
+
|
|
32
|
+
in highp vec2 vUv;
|
|
33
|
+
out vec4 oColor;
|
|
34
|
+
|
|
35
|
+
void main() {
|
|
36
|
+
// Aspect-correct, screen-centered coordinates (matches nebula.frag): divide
|
|
37
|
+
// by the height so uScale reads the same regardless of aspect ratio.
|
|
38
|
+
vec2 fragCoord = vUv * uResolution;
|
|
39
|
+
vec2 uv = (fragCoord - 0.5 * uResolution) / uResolution.y;
|
|
40
|
+
|
|
41
|
+
float t = uTime * uSpeed;
|
|
42
|
+
|
|
43
|
+
// Classic demoscene plasma: a few sines of position and time. The radial
|
|
44
|
+
// term (length(uv)) gives the field an organic, non-grid-aligned drift.
|
|
45
|
+
float v = sin(uv.x * uScale + t);
|
|
46
|
+
v += sin(uv.y * uScale + t * 0.8);
|
|
47
|
+
v += sin((uv.x + uv.y) * uScale * 0.7 + t * 1.3);
|
|
48
|
+
v += sin(length(uv) * uScale * 1.2 - t);
|
|
49
|
+
|
|
50
|
+
// v ranges roughly [-4, 4]; fold through sin to a smooth [0, 1] mix factor.
|
|
51
|
+
float mixT = 0.5 + 0.5 * sin(v);
|
|
52
|
+
|
|
53
|
+
// Opaque procedural background; the person is composited over it downstream.
|
|
54
|
+
oColor = vec4(mix(uColorA, uColorB, mixT), 1.0);
|
|
55
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
// Plasma layer-shader interface: typed uniforms + control descriptor. A two-
|
|
2
|
+
// color time-morphing field, an opaque BACKGROUND layer (the cheapest
|
|
3
|
+
// procedural engine worth shipping). The same shader also backs the standalone
|
|
4
|
+
// `plasma` book presets (ocean/sunset/mint/fast) via ShaderOptionsMap; this file
|
|
5
|
+
// is the layer-side type + control surface. Shader source is shaders/plasma.frag.
|
|
6
|
+
|
|
7
|
+
import type { RGB } from '../../../src/lib/primitives.types';
|
|
8
|
+
import type { UniformControl } from '../_shared/types';
|
|
9
|
+
|
|
10
|
+
/** Typed uniforms for the `plasma` layer shader. */
|
|
11
|
+
export type PlasmaUniforms = {
|
|
12
|
+
/** First palette color, RGB each channel 0..1. */
|
|
13
|
+
readonly uColorA: RGB;
|
|
14
|
+
/** Second palette color, RGB each channel 0..1. */
|
|
15
|
+
readonly uColorB: RGB;
|
|
16
|
+
/** Animation rate; 0 freezes the field. */
|
|
17
|
+
readonly uSpeed: number;
|
|
18
|
+
/** Spatial frequency; higher = more, tighter cells. */
|
|
19
|
+
readonly uScale: number;
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
/** The `plasma` shader's tunable uniforms; defaults are the cool "ocean" look. */
|
|
23
|
+
export const PLASMA_CONTROLS: readonly UniformControl[] = [
|
|
24
|
+
{ name: 'uColorA', kind: 'color', default: [0.0, 0.3, 0.6], doc: 'First palette color.' },
|
|
25
|
+
{ name: 'uColorB', kind: 'color', default: [0.0, 0.6, 0.6], doc: 'Second palette color.' },
|
|
26
|
+
{
|
|
27
|
+
name: 'uSpeed',
|
|
28
|
+
kind: 'float',
|
|
29
|
+
default: 0.3,
|
|
30
|
+
min: 0,
|
|
31
|
+
max: 2,
|
|
32
|
+
step: 0.01,
|
|
33
|
+
doc: 'Animation rate; 0 freezes.',
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
name: 'uScale',
|
|
37
|
+
kind: 'float',
|
|
38
|
+
default: 8,
|
|
39
|
+
min: 1,
|
|
40
|
+
max: 20,
|
|
41
|
+
step: 0.5,
|
|
42
|
+
doc: 'Spatial frequency; higher = tighter cells.',
|
|
43
|
+
},
|
|
44
|
+
];
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
// Simianlights' editor form: the shader OWNS its control layout. This pass just
|
|
2
|
+
// stacks one <Control uniform="…"/> per uniform in declared order (the auto-form's
|
|
3
|
+
// shape); the point is that this file exists per shader, so layout/grouping is a
|
|
4
|
+
// local edit here, and a new primitive flows in through <Control> without touching
|
|
5
|
+
// it. Conventional layer id: "field".
|
|
6
|
+
|
|
7
|
+
import {
|
|
8
|
+
Control,
|
|
9
|
+
ControlForm,
|
|
10
|
+
ControlSection,
|
|
11
|
+
type KaleidoscopeControls,
|
|
12
|
+
} from '../../../src/components/preset-control-panel';
|
|
13
|
+
import { SIMIANLIGHTS_CONTROLS } from './simianlights';
|
|
14
|
+
|
|
15
|
+
export function SimianlightsForm({ uniforms, onPatch, disabled }: KaleidoscopeControls) {
|
|
16
|
+
return (
|
|
17
|
+
<ControlForm
|
|
18
|
+
id="field"
|
|
19
|
+
uniforms={uniforms.field ?? {}}
|
|
20
|
+
onPatch={onPatch}
|
|
21
|
+
disabled={disabled}
|
|
22
|
+
controls={SIMIANLIGHTS_CONTROLS}
|
|
23
|
+
>
|
|
24
|
+
<ControlSection title="simianlights">
|
|
25
|
+
<Control uniform="uColor" />
|
|
26
|
+
<Control uniform="uBrightness" />
|
|
27
|
+
<Control uniform="uSpeed" />
|
|
28
|
+
<Control uniform="uTwinkleSpeed" />
|
|
29
|
+
<Control uniform="uScale" />
|
|
30
|
+
<Control uniform="uStarGlow" />
|
|
31
|
+
</ControlSection>
|
|
32
|
+
</ControlForm>
|
|
33
|
+
);
|
|
34
|
+
}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
// SIMIANCRAFT Simianlights
|
|
2
|
+
// Procedural full-screen backdrop animation for https://simiancraft.com/
|
|
3
|
+
// Jesse Harlin, 2020. MIT license.
|
|
4
|
+
// Ported from a ShaderToy prototype (mainImage/iTime/iResolution) to this
|
|
5
|
+
// repo's GLSL ES 3.00 multi-runtime convention. Calmer sibling of the
|
|
6
|
+
// Deadlights nebula: fewer layers, larger near-field scale.
|
|
7
|
+
//
|
|
8
|
+
// UV convention: matches passthrough.vert. vUv = (0, 0) at bottom-left,
|
|
9
|
+
// (1, 1) at top-right. fragCoord is reconstructed as vUv * uResolution so
|
|
10
|
+
// this stays on the vUv convention and never reads gl_FragCoord (whose Y
|
|
11
|
+
// orientation flips between OpenGL and Metal). This is a fully procedural
|
|
12
|
+
// background: no input texture, so there is no texture-origin handoff to
|
|
13
|
+
// flip; the only orientation that matters is vUv, which the vertex shader
|
|
14
|
+
// already pins. Net texture flips: zero on every runtime.
|
|
15
|
+
//
|
|
16
|
+
// Precision: highp float is REQUIRED, not mediump. The PseudoRandomizer
|
|
17
|
+
// hash and the fract() size/color tricks use large multipliers (123.45,
|
|
18
|
+
// 345.67, 1356.33, 2150.0, 3000.0, 3430.0). At mediump (10-bit mantissa on
|
|
19
|
+
// mobile GPUs) fract() of those products collapses to banded garbage,
|
|
20
|
+
// destroying the star distribution. Same reasoning composite-blur.frag gives
|
|
21
|
+
// for keeping vUv highp, applied to the whole hash chain here.
|
|
22
|
+
|
|
23
|
+
#version 300 es
|
|
24
|
+
precision highp float;
|
|
25
|
+
|
|
26
|
+
uniform float uTime; // seconds, monotonically increasing; range [0, inf)
|
|
27
|
+
uniform vec2 uResolution; // framebuffer size in pixels; both components > 0
|
|
28
|
+
uniform vec3 uColor; // overall tint / color grade; [1,1,1] = untinted
|
|
29
|
+
uniform float uBrightness; // final glow multiplier; 1.0 = stock
|
|
30
|
+
uniform float uSpeed; // drift + rotation rate; 1.0 = stock, 0 freezes
|
|
31
|
+
uniform float uTwinkleSpeed; // star color-cycle rate; 1.0 = stock
|
|
32
|
+
uniform float uScale; // starfield zoom / density; >1 = more, smaller stars
|
|
33
|
+
uniform float uStarGlow; // star-core size; 1.0 = stock
|
|
34
|
+
|
|
35
|
+
in highp vec2 vUv;
|
|
36
|
+
out vec4 oColor;
|
|
37
|
+
|
|
38
|
+
const float PI = 3.14159265;
|
|
39
|
+
const float MIN_DIVIDE = 3.0;
|
|
40
|
+
const float MAX_DIVIDE = 0.01;
|
|
41
|
+
// Number of stacked starfield layers. Compile-time constant so the layer
|
|
42
|
+
// loop has a fixed integer bound (cross-compile-safe; no float loop counter).
|
|
43
|
+
const int STARFIELD_LAYERS_COUNT = 4;
|
|
44
|
+
|
|
45
|
+
mat2 Rotate(float angle) {
|
|
46
|
+
float s = sin(angle);
|
|
47
|
+
float c = cos(angle);
|
|
48
|
+
return mat2(c, -s, s, c);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
float Star(vec2 uv, float flaresize, float rotAngle, float randomN) {
|
|
52
|
+
float d = length(uv);
|
|
53
|
+
// Star core. Guard the division: length(uv) can be exactly 0 at a cell
|
|
54
|
+
// center, which yields inf/NaN under Metal. max(d, 1e-4) caps the core
|
|
55
|
+
// brightness without visibly changing the look (the concentric
|
|
56
|
+
// smoothstep fade below already clamps it).
|
|
57
|
+
float starcore = 0.09 * uStarGlow / max(d, 1e-4);
|
|
58
|
+
uv *= Rotate(-2.0 * PI * rotAngle);
|
|
59
|
+
float flareMax = 1.0;
|
|
60
|
+
|
|
61
|
+
// flares
|
|
62
|
+
float starflares = max(0.0, flareMax - abs(uv.x * uv.y * 3000.0));
|
|
63
|
+
starcore += starflares * flaresize;
|
|
64
|
+
uv *= Rotate(PI * 0.25);
|
|
65
|
+
starflares = max(0.0, flareMax - abs(uv.x * uv.y * 3000.0));
|
|
66
|
+
starcore += starflares * 0.3 * flaresize;
|
|
67
|
+
// light can't go forever, fade it concentrically.
|
|
68
|
+
starcore *= smoothstep(1.0, 0.05, d);
|
|
69
|
+
return starcore;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
float PseudoRandomizer(vec2 p) {
|
|
73
|
+
// not really random, but it looks random.
|
|
74
|
+
p = fract(p * vec2(123.45, 345.67));
|
|
75
|
+
p += dot(p, p + 45.32);
|
|
76
|
+
return fract(p.x * p.y);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
vec3 StarFieldLayer(vec2 uv, float rotAngle) {
|
|
80
|
+
vec3 col = vec3(0.0);
|
|
81
|
+
|
|
82
|
+
vec2 gv = fract(uv) - 0.5;
|
|
83
|
+
vec2 id = floor(uv);
|
|
84
|
+
|
|
85
|
+
float deltaTimeTwinkle = uTime * 0.35 * uTwinkleSpeed;
|
|
86
|
+
|
|
87
|
+
// sweep the 8 neighbors plus the home cell so stars are not clipped at
|
|
88
|
+
// cell borders. Constant 3x3 bounds.
|
|
89
|
+
for (int y = -1; y <= 1; y++) {
|
|
90
|
+
for (int x = -1; x <= 1; x++) {
|
|
91
|
+
vec2 offset = vec2(float(x), float(y));
|
|
92
|
+
|
|
93
|
+
float randomN = PseudoRandomizer(id + offset); // 0..1
|
|
94
|
+
float randoX = randomN - 0.5;
|
|
95
|
+
float randoY = fract(randomN * 45.0) - 0.5;
|
|
96
|
+
vec2 randomPosition = gv - offset - vec2(randoX, randoY);
|
|
97
|
+
// fract trick: random sizes
|
|
98
|
+
float size = fract(randomN * 1356.33);
|
|
99
|
+
float flareSwitch = smoothstep(0.9, 1.0, size);
|
|
100
|
+
float star = Star(randomPosition, flareSwitch, rotAngle, randomN);
|
|
101
|
+
|
|
102
|
+
// fract trick: random colors
|
|
103
|
+
float randomStarColorSeed = fract(randomN * 2150.0) * (3.0 * PI) * deltaTimeTwinkle;
|
|
104
|
+
vec3 color = sin(vec3(0.7, 0.3, 0.9) * randomStarColorSeed);
|
|
105
|
+
|
|
106
|
+
// compress
|
|
107
|
+
color = color * (0.4 * sin(deltaTimeTwinkle)) + 0.6;
|
|
108
|
+
// filter
|
|
109
|
+
color = color * vec3(1.0, 0.1, 0.9 + size);
|
|
110
|
+
float dimByDensity = 15.0 / float(STARFIELD_LAYERS_COUNT);
|
|
111
|
+
col += star * size * color * dimByDensity;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
return col;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
void main() {
|
|
119
|
+
// ShaderToy fragCoord, reconstructed from vUv (see header).
|
|
120
|
+
vec2 fragCoord = vUv * uResolution;
|
|
121
|
+
|
|
122
|
+
// Normalized pixel coordinates centered at screen middle.
|
|
123
|
+
vec2 uv = (fragCoord - 0.5 * uResolution.xy) / uResolution.y;
|
|
124
|
+
|
|
125
|
+
float deltaTime = uTime * 0.01 * uSpeed;
|
|
126
|
+
|
|
127
|
+
vec3 col = vec3(0.0);
|
|
128
|
+
|
|
129
|
+
float rotAngle = deltaTime * 0.09;
|
|
130
|
+
|
|
131
|
+
// Layer accumulation. Integer-counted loop replacing the original
|
|
132
|
+
// `for (float i = 0.0; i < 1.0; i += 1.0/COUNT)`. With n in [0, COUNT),
|
|
133
|
+
// i = n/COUNT reproduces the exact same {0, 1/N, 2/N, ...} sequence and
|
|
134
|
+
// the same iteration count, so visual output is unchanged; only the loop
|
|
135
|
+
// form is cross-compile-safe.
|
|
136
|
+
for (int n = 0; n < STARFIELD_LAYERS_COUNT; n++) {
|
|
137
|
+
float i = float(n) / float(STARFIELD_LAYERS_COUNT);
|
|
138
|
+
float layerDepth = fract(i + deltaTime);
|
|
139
|
+
float layerScale = mix(MIN_DIVIDE, MAX_DIVIDE, layerDepth);
|
|
140
|
+
float layerFader = layerDepth * smoothstep(0.1, 1.1, layerDepth);
|
|
141
|
+
float layerOffset = i * (3430.0 + fract(i));
|
|
142
|
+
mat2 layerRot = Rotate(rotAngle * i * -10.0);
|
|
143
|
+
uv *= layerRot;
|
|
144
|
+
vec2 starfieldUv = uv * layerScale * uScale + layerOffset;
|
|
145
|
+
col += StarFieldLayer(starfieldUv, rotAngle) * layerFader;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
// Glow + color grade, then opaque procedural background.
|
|
149
|
+
col *= uBrightness * uColor;
|
|
150
|
+
oColor = vec4(col, 1.0);
|
|
151
|
+
}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
// Simianlights layer-shader interface: typed uniforms + control descriptor. The
|
|
2
|
+
// calmer sibling of the nebula (fewer starfield layers, larger near-field
|
|
3
|
+
// scale), same opaque BACKGROUND-layer role and same uniform surface. Shader
|
|
4
|
+
// source is ./simianlights.frag.
|
|
5
|
+
|
|
6
|
+
import type { RGB } from '../../../src/lib/primitives.types';
|
|
7
|
+
import type { UniformControl } from '../_shared/types';
|
|
8
|
+
|
|
9
|
+
/** Typed uniforms for the `simianlights` layer shader. */
|
|
10
|
+
export type SimianlightsUniforms = {
|
|
11
|
+
/** Overall tint / color grade; [1,1,1] keeps the stock star colors. */
|
|
12
|
+
readonly uColor: RGB;
|
|
13
|
+
/** Final glow multiplier; 1 = stock, higher = brighter field. */
|
|
14
|
+
readonly uBrightness: number;
|
|
15
|
+
/** Drift + rotation rate; 1 = stock, 0 freezes the field. */
|
|
16
|
+
readonly uSpeed: number;
|
|
17
|
+
/** Star color-cycle (twinkle) rate; 1 = stock. */
|
|
18
|
+
readonly uTwinkleSpeed: number;
|
|
19
|
+
/** Starfield zoom / density; >1 = more, smaller stars. */
|
|
20
|
+
readonly uScale: number;
|
|
21
|
+
/** Star-core size; 1 = stock, higher = fatter cores. */
|
|
22
|
+
readonly uStarGlow: number;
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
/** The `simianlights` shader's tunable uniforms; defaults reproduce the stock look. */
|
|
26
|
+
export const SIMIANLIGHTS_CONTROLS: readonly UniformControl[] = [
|
|
27
|
+
{ name: 'uColor', kind: 'color', default: [1, 1, 1], doc: 'Overall tint / color grade.' },
|
|
28
|
+
{
|
|
29
|
+
name: 'uBrightness',
|
|
30
|
+
kind: 'float',
|
|
31
|
+
default: 1,
|
|
32
|
+
min: 0,
|
|
33
|
+
max: 3,
|
|
34
|
+
step: 0.01,
|
|
35
|
+
doc: 'Final glow multiplier.',
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
name: 'uSpeed',
|
|
39
|
+
kind: 'float',
|
|
40
|
+
default: 1,
|
|
41
|
+
min: 0,
|
|
42
|
+
max: 3,
|
|
43
|
+
step: 0.01,
|
|
44
|
+
doc: 'Drift + rotation rate; 0 freezes.',
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
name: 'uTwinkleSpeed',
|
|
48
|
+
kind: 'float',
|
|
49
|
+
default: 1,
|
|
50
|
+
min: 0,
|
|
51
|
+
max: 3,
|
|
52
|
+
step: 0.01,
|
|
53
|
+
doc: 'Star twinkle rate.',
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
name: 'uScale',
|
|
57
|
+
kind: 'float',
|
|
58
|
+
default: 1,
|
|
59
|
+
min: 0.3,
|
|
60
|
+
max: 3,
|
|
61
|
+
step: 0.01,
|
|
62
|
+
doc: 'Zoom / density; >1 = more, smaller stars.',
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
name: 'uStarGlow',
|
|
66
|
+
kind: 'float',
|
|
67
|
+
default: 1,
|
|
68
|
+
min: 0.2,
|
|
69
|
+
max: 3,
|
|
70
|
+
step: 0.01,
|
|
71
|
+
doc: 'Star-core size.',
|
|
72
|
+
},
|
|
73
|
+
];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clouds.controls.d.ts","sourceRoot":"","sources":["../../../../catalog/composites/clouds/clouds.controls.tsx"],"names":[],"mappings":"AAEA,OAAO,EAIL,KAAK,oBAAoB,EAC1B,MAAM,8CAA8C,CAAC;AAGtD,wBAAgB,cAAc,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,oBAAoB,2CAQnF","sourcesContent":["// Turnkey controls for the clouds composite (a single clouds `sky` layer).\n\nimport {\n CompositeLayerControlPanel,\n ControlForm,\n ControlSection,\n type KaleidoscopeControls,\n} from '../../../src/components/preset-control-panel';\nimport { CLOUDS_CONTROLS } from '../../shaders/clouds/clouds';\n\nexport function CloudsControls({ uniforms, onPatch, disabled }: KaleidoscopeControls) {\n return (\n <ControlForm id=\"sky\" uniforms={uniforms.sky ?? {}} onPatch={onPatch} disabled={disabled}>\n <ControlSection title=\"sky\">\n <CompositeLayerControlPanel controls={CLOUDS_CONTROLS} />\n </ControlSection>\n </ControlForm>\n );\n}\n"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CloudsControls = CloudsControls;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
// Turnkey controls for the clouds composite (a single clouds `sky` layer).
|
|
6
|
+
const preset_control_panel_1 = require("../../../src/components/preset-control-panel");
|
|
7
|
+
const clouds_1 = require("../../shaders/clouds/clouds");
|
|
8
|
+
function CloudsControls({ uniforms, onPatch, disabled }) {
|
|
9
|
+
return ((0, jsx_runtime_1.jsx)(preset_control_panel_1.ControlForm, { id: "sky", uniforms: uniforms.sky ?? {}, onPatch: onPatch, disabled: disabled, children: (0, jsx_runtime_1.jsx)(preset_control_panel_1.ControlSection, { title: "sky", children: (0, jsx_runtime_1.jsx)(preset_control_panel_1.CompositeLayerControlPanel, { controls: clouds_1.CLOUDS_CONTROLS }) }) }));
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=clouds.controls.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clouds.controls.js","sourceRoot":"","sources":["../../../../catalog/composites/clouds/clouds.controls.tsx"],"names":[],"mappings":";;;;AAAA,2EAA2E;AAE3E,uFAKsD;AACtD,wDAA8D;AAE9D,wBAA+B,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAwB;IAClF,OAAO,CACL,uBAAC,kCAAW,IAAC,EAAE,EAAC,KAAK,EAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,YACtF,uBAAC,qCAAc,IAAC,KAAK,EAAC,KAAK,YACzB,uBAAC,iDAA0B,IAAC,QAAQ,EAAE,wBAAe,GAAI,GAC1C,GACL,CACf,CAAC;AACJ,CAAC","sourcesContent":["// Turnkey controls for the clouds composite (a single clouds `sky` layer).\n\nimport {\n CompositeLayerControlPanel,\n ControlForm,\n ControlSection,\n type KaleidoscopeControls,\n} from '../../../src/components/preset-control-panel';\nimport { CLOUDS_CONTROLS } from '../../shaders/clouds/clouds';\n\nexport function CloudsControls({ uniforms, onPatch, disabled }: KaleidoscopeControls) {\n return (\n <ControlForm id=\"sky\" uniforms={uniforms.sky ?? {}} onPatch={onPatch} disabled={disabled}>\n <ControlSection title=\"sky\">\n <CompositeLayerControlPanel controls={CLOUDS_CONTROLS} />\n </ControlSection>\n </ControlForm>\n );\n}\n"]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export declare const clouds: {
|
|
2
|
+
readonly name: 'Daytime';
|
|
3
|
+
readonly taxonomy: readonly ["Shaders", "Sky"];
|
|
4
|
+
readonly layers: readonly [{
|
|
5
|
+
readonly id: 'sky';
|
|
6
|
+
readonly shader: 'clouds';
|
|
7
|
+
readonly uniforms: {
|
|
8
|
+
readonly uSkyLowColor: readonly [0.09, 0.63, 0.95];
|
|
9
|
+
readonly uSkyHighColor: readonly [0.04, 0.03, 0.86];
|
|
10
|
+
readonly uCloudLightColor: readonly [1, 0.91, 0.77];
|
|
11
|
+
readonly uCloudDarkColor: readonly [0.3, 0.3, 0.5];
|
|
12
|
+
readonly uExposure: 1.18;
|
|
13
|
+
readonly uStepSize: 0.16;
|
|
14
|
+
readonly uCloudSpeed: 0.16;
|
|
15
|
+
readonly uCloudScale: 1.08;
|
|
16
|
+
readonly uDensity: 0.235;
|
|
17
|
+
readonly uCoverage: 0.42;
|
|
18
|
+
readonly uSoftness: 0.39;
|
|
19
|
+
};
|
|
20
|
+
}, {
|
|
21
|
+
readonly id: 'you';
|
|
22
|
+
readonly shader: 'direct';
|
|
23
|
+
readonly target: 'subject';
|
|
24
|
+
}];
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=clouds.d.ts.map
|