@vysmo/transitions 0.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/LICENSE +21 -0
- package/README.md +618 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -0
- package/dist/inputs/normalize.d.ts +2 -0
- package/dist/inputs/normalize.d.ts.map +1 -0
- package/dist/inputs/normalize.js +2 -0
- package/dist/inputs/normalize.js.map +1 -0
- package/dist/runner/gl.d.ts +7 -0
- package/dist/runner/gl.d.ts.map +1 -0
- package/dist/runner/gl.js +59 -0
- package/dist/runner/gl.js.map +1 -0
- package/dist/runner/mesh.d.ts +28 -0
- package/dist/runner/mesh.d.ts.map +1 -0
- package/dist/runner/mesh.js +96 -0
- package/dist/runner/mesh.js.map +1 -0
- package/dist/runner/runner.d.ts +107 -0
- package/dist/runner/runner.d.ts.map +1 -0
- package/dist/runner/runner.js +410 -0
- package/dist/runner/runner.js.map +1 -0
- package/dist/transitions/all.d.ts +9 -0
- package/dist/transitions/all.d.ts.map +1 -0
- package/dist/transitions/all.js +129 -0
- package/dist/transitions/all.js.map +1 -0
- package/dist/transitions/bloom-reveal.d.ts +27 -0
- package/dist/transitions/bloom-reveal.d.ts.map +1 -0
- package/dist/transitions/bloom-reveal.js +106 -0
- package/dist/transitions/bloom-reveal.js.map +1 -0
- package/dist/transitions/chromatic-pulse.d.ts +4 -0
- package/dist/transitions/chromatic-pulse.d.ts.map +1 -0
- package/dist/transitions/chromatic-pulse.js +40 -0
- package/dist/transitions/chromatic-pulse.js.map +1 -0
- package/dist/transitions/clock-wipe.d.ts +6 -0
- package/dist/transitions/clock-wipe.d.ts.map +1 -0
- package/dist/transitions/clock-wipe.js +33 -0
- package/dist/transitions/clock-wipe.js.map +1 -0
- package/dist/transitions/color-phase.d.ts +10 -0
- package/dist/transitions/color-phase.d.ts.map +1 -0
- package/dist/transitions/color-phase.js +24 -0
- package/dist/transitions/color-phase.js.map +1 -0
- package/dist/transitions/colour-distance.d.ts.map +1 -0
- package/dist/transitions/cross-warp.d.ts.map +1 -0
- package/dist/transitions/cross-zoom.d.ts +5 -0
- package/dist/transitions/cross-zoom.d.ts.map +1 -0
- package/dist/transitions/cross-zoom.js +59 -0
- package/dist/transitions/cross-zoom.js.map +1 -0
- package/dist/transitions/crosshatch.d.ts +12 -0
- package/dist/transitions/crosshatch.d.ts.map +1 -0
- package/dist/transitions/crosshatch.js +49 -0
- package/dist/transitions/crosshatch.js.map +1 -0
- package/dist/transitions/define.d.ts +35 -0
- package/dist/transitions/define.d.ts.map +1 -0
- package/dist/transitions/define.js +37 -0
- package/dist/transitions/define.js.map +1 -0
- package/dist/transitions/directional-burn.d.ts +14 -0
- package/dist/transitions/directional-burn.d.ts.map +1 -0
- package/dist/transitions/directional-burn.js +67 -0
- package/dist/transitions/directional-burn.js.map +1 -0
- package/dist/transitions/directional-warp.d.ts +12 -0
- package/dist/transitions/directional-warp.d.ts.map +1 -0
- package/dist/transitions/directional-warp.js +46 -0
- package/dist/transitions/directional-warp.js.map +1 -0
- package/dist/transitions/dissolve.d.ts +2 -0
- package/dist/transitions/dissolve.d.ts.map +1 -0
- package/dist/transitions/dissolve.js +16 -0
- package/dist/transitions/dissolve.js.map +1 -0
- package/dist/transitions/dreamy-zoom.d.ts +25 -0
- package/dist/transitions/dreamy-zoom.d.ts.map +1 -0
- package/dist/transitions/dreamy-zoom.js +66 -0
- package/dist/transitions/dreamy-zoom.js.map +1 -0
- package/dist/transitions/dreamy.d.ts +8 -0
- package/dist/transitions/dreamy.d.ts.map +1 -0
- package/dist/transitions/dreamy.js +26 -0
- package/dist/transitions/dreamy.js.map +1 -0
- package/dist/transitions/drip-wipe.d.ts +22 -0
- package/dist/transitions/drip-wipe.d.ts.map +1 -0
- package/dist/transitions/drip-wipe.js +109 -0
- package/dist/transitions/drip-wipe.js.map +1 -0
- package/dist/transitions/ember-scatter.d.ts +22 -0
- package/dist/transitions/ember-scatter.d.ts.map +1 -0
- package/dist/transitions/ember-scatter.js +94 -0
- package/dist/transitions/ember-scatter.js.map +1 -0
- package/dist/transitions/film-burn.d.ts +17 -0
- package/dist/transitions/film-burn.d.ts.map +1 -0
- package/dist/transitions/film-burn.js +101 -0
- package/dist/transitions/film-burn.js.map +1 -0
- package/dist/transitions/film-grain.d.ts +24 -0
- package/dist/transitions/film-grain.d.ts.map +1 -0
- package/dist/transitions/film-grain.js +78 -0
- package/dist/transitions/film-grain.js.map +1 -0
- package/dist/transitions/flow-warp.d.ts +20 -0
- package/dist/transitions/flow-warp.d.ts.map +1 -0
- package/dist/transitions/flow-warp.js +51 -0
- package/dist/transitions/flow-warp.js.map +1 -0
- package/dist/transitions/fluid-flow.d.ts +26 -0
- package/dist/transitions/fluid-flow.d.ts.map +1 -0
- package/dist/transitions/fluid-flow.js +94 -0
- package/dist/transitions/fluid-flow.js.map +1 -0
- package/dist/transitions/fly-eye.d.ts.map +1 -0
- package/dist/transitions/fly-eye.js +58 -0
- package/dist/transitions/fly-eye.js.map +1 -0
- package/dist/transitions/glass-shatter.d.ts +25 -0
- package/dist/transitions/glass-shatter.d.ts.map +1 -0
- package/dist/transitions/glass-shatter.js +86 -0
- package/dist/transitions/glass-shatter.js.map +1 -0
- package/dist/transitions/glitch.d.ts +6 -0
- package/dist/transitions/glitch.d.ts.map +1 -0
- package/dist/transitions/glitch.js +59 -0
- package/dist/transitions/glitch.js.map +1 -0
- package/dist/transitions/god-rays-reveal.d.ts +32 -0
- package/dist/transitions/god-rays-reveal.d.ts.map +1 -0
- package/dist/transitions/god-rays-reveal.js +110 -0
- package/dist/transitions/god-rays-reveal.js.map +1 -0
- package/dist/transitions/gravity-pull.d.ts +16 -0
- package/dist/transitions/gravity-pull.d.ts.map +1 -0
- package/dist/transitions/gravity-pull.js +65 -0
- package/dist/transitions/gravity-pull.js.map +1 -0
- package/dist/transitions/grid-reveal.d.ts +12 -0
- package/dist/transitions/grid-reveal.d.ts.map +1 -0
- package/dist/transitions/grid-reveal.js +53 -0
- package/dist/transitions/grid-reveal.js.map +1 -0
- package/dist/transitions/heat-haze.d.ts +13 -0
- package/dist/transitions/heat-haze.d.ts.map +1 -0
- package/dist/transitions/heat-haze.js +51 -0
- package/dist/transitions/heat-haze.js.map +1 -0
- package/dist/transitions/index.d.ts +64 -0
- package/dist/transitions/index.d.ts.map +1 -0
- package/dist/transitions/index.js +63 -0
- package/dist/transitions/index.js.map +1 -0
- package/dist/transitions/ink-bloom.d.ts +15 -0
- package/dist/transitions/ink-bloom.d.ts.map +1 -0
- package/dist/transitions/ink-bloom.js +76 -0
- package/dist/transitions/ink-bloom.js.map +1 -0
- package/dist/transitions/ink-diffuse.d.ts +26 -0
- package/dist/transitions/ink-diffuse.d.ts.map +1 -0
- package/dist/transitions/ink-diffuse.js +90 -0
- package/dist/transitions/ink-diffuse.js.map +1 -0
- package/dist/transitions/iris-zoom.d.ts +13 -0
- package/dist/transitions/iris-zoom.d.ts.map +1 -0
- package/dist/transitions/iris-zoom.js +67 -0
- package/dist/transitions/iris-zoom.js.map +1 -0
- package/dist/transitions/kinetic-bands.d.ts +7 -0
- package/dist/transitions/kinetic-bands.d.ts.map +1 -0
- package/dist/transitions/kinetic-bands.js +58 -0
- package/dist/transitions/kinetic-bands.js.map +1 -0
- package/dist/transitions/lenticular-flip.d.ts +22 -0
- package/dist/transitions/lenticular-flip.d.ts.map +1 -0
- package/dist/transitions/lenticular-flip.js +73 -0
- package/dist/transitions/lenticular-flip.js.map +1 -0
- package/dist/transitions/light-leak.d.ts +7 -0
- package/dist/transitions/light-leak.d.ts.map +1 -0
- package/dist/transitions/light-leak.js +43 -0
- package/dist/transitions/light-leak.js.map +1 -0
- package/dist/transitions/lightning-strike.d.ts +22 -0
- package/dist/transitions/lightning-strike.d.ts.map +1 -0
- package/dist/transitions/lightning-strike.js +90 -0
- package/dist/transitions/lightning-strike.js.map +1 -0
- package/dist/transitions/linear-blur.d.ts +11 -0
- package/dist/transitions/linear-blur.d.ts.map +1 -0
- package/dist/transitions/linear-blur.js +40 -0
- package/dist/transitions/linear-blur.js.map +1 -0
- package/dist/transitions/liquid-chrome.d.ts +22 -0
- package/dist/transitions/liquid-chrome.d.ts.map +1 -0
- package/dist/transitions/liquid-chrome.js +114 -0
- package/dist/transitions/liquid-chrome.js.map +1 -0
- package/dist/transitions/liquid-morph.d.ts +6 -0
- package/dist/transitions/liquid-morph.d.ts.map +1 -0
- package/dist/transitions/liquid-morph.js +50 -0
- package/dist/transitions/liquid-morph.js.map +1 -0
- package/dist/transitions/lumina-melt.d.ts +11 -0
- package/dist/transitions/lumina-melt.d.ts.map +1 -0
- package/dist/transitions/lumina-melt.js +36 -0
- package/dist/transitions/lumina-melt.js.map +1 -0
- package/dist/transitions/mosaic.d.ts +13 -0
- package/dist/transitions/mosaic.d.ts.map +1 -0
- package/dist/transitions/mosaic.js +58 -0
- package/dist/transitions/mosaic.js.map +1 -0
- package/dist/transitions/noise-dissolve.d.ts +5 -0
- package/dist/transitions/noise-dissolve.d.ts.map +1 -0
- package/dist/transitions/noise-dissolve.js +41 -0
- package/dist/transitions/noise-dissolve.js.map +1 -0
- package/dist/transitions/page-curl.d.ts +32 -0
- package/dist/transitions/page-curl.d.ts.map +1 -0
- package/dist/transitions/page-curl.js +165 -0
- package/dist/transitions/page-curl.js.map +1 -0
- package/dist/transitions/paint-bleed.d.ts +12 -0
- package/dist/transitions/paint-bleed.d.ts.map +1 -0
- package/dist/transitions/paint-bleed.js +59 -0
- package/dist/transitions/paint-bleed.js.map +1 -0
- package/dist/transitions/particle-assemble.d.ts +23 -0
- package/dist/transitions/particle-assemble.d.ts.map +1 -0
- package/dist/transitions/particle-assemble.js +65 -0
- package/dist/transitions/particle-assemble.js.map +1 -0
- package/dist/transitions/pinwheel.d.ts +11 -0
- package/dist/transitions/pinwheel.d.ts.map +1 -0
- package/dist/transitions/pinwheel.js +40 -0
- package/dist/transitions/pinwheel.js.map +1 -0
- package/dist/transitions/pixelate.d.ts +4 -0
- package/dist/transitions/pixelate.d.ts.map +1 -0
- package/dist/transitions/pixelate.js +26 -0
- package/dist/transitions/pixelate.js.map +1 -0
- package/dist/transitions/plasma-pulse.d.ts.map +1 -0
- package/dist/transitions/plasma-pulse.js +92 -0
- package/dist/transitions/plasma-pulse.js.map +1 -0
- package/dist/transitions/polka-dots-curtain.d.ts +13 -0
- package/dist/transitions/polka-dots-curtain.d.ts.map +1 -0
- package/dist/transitions/polka-dots-curtain.js +46 -0
- package/dist/transitions/polka-dots-curtain.js.map +1 -0
- package/dist/transitions/polygon-flip.d.ts +27 -0
- package/dist/transitions/polygon-flip.d.ts.map +1 -0
- package/dist/transitions/polygon-flip.js +97 -0
- package/dist/transitions/polygon-flip.js.map +1 -0
- package/dist/transitions/portal-dive.d.ts +18 -0
- package/dist/transitions/portal-dive.d.ts.map +1 -0
- package/dist/transitions/portal-dive.js +83 -0
- package/dist/transitions/portal-dive.js.map +1 -0
- package/dist/transitions/prism-split.d.ts +12 -0
- package/dist/transitions/prism-split.d.ts.map +1 -0
- package/dist/transitions/prism-split.js +52 -0
- package/dist/transitions/prism-split.js.map +1 -0
- package/dist/transitions/push.d.ts +4 -0
- package/dist/transitions/push.d.ts.map +1 -0
- package/dist/transitions/push.js +34 -0
- package/dist/transitions/push.js.map +1 -0
- package/dist/transitions/radial-reveal.d.ts +5 -0
- package/dist/transitions/radial-reveal.d.ts.map +1 -0
- package/dist/transitions/radial-reveal.js +31 -0
- package/dist/transitions/radial-reveal.js.map +1 -0
- package/dist/transitions/ripple-wave.d.ts +24 -0
- package/dist/transitions/ripple-wave.d.ts.map +1 -0
- package/dist/transitions/ripple-wave.js +135 -0
- package/dist/transitions/ripple-wave.js.map +1 -0
- package/dist/transitions/ripple.d.ts +7 -0
- package/dist/transitions/ripple.d.ts.map +1 -0
- package/dist/transitions/ripple.js +43 -0
- package/dist/transitions/ripple.js.map +1 -0
- package/dist/transitions/shape-reveal.d.ts +12 -0
- package/dist/transitions/shape-reveal.d.ts.map +1 -0
- package/dist/transitions/shape-reveal.js +53 -0
- package/dist/transitions/shape-reveal.js.map +1 -0
- package/dist/transitions/shockwave.d.ts +10 -0
- package/dist/transitions/shockwave.d.ts.map +1 -0
- package/dist/transitions/shockwave.js +56 -0
- package/dist/transitions/shockwave.js.map +1 -0
- package/dist/transitions/singularity.d.ts +22 -0
- package/dist/transitions/singularity.d.ts.map +1 -0
- package/dist/transitions/singularity.js +59 -0
- package/dist/transitions/singularity.js.map +1 -0
- package/dist/transitions/slide.d.ts +10 -0
- package/dist/transitions/slide.d.ts.map +1 -0
- package/dist/transitions/slide.js +76 -0
- package/dist/transitions/slide.js.map +1 -0
- package/dist/transitions/smoldering-edge.d.ts +15 -0
- package/dist/transitions/smoldering-edge.d.ts.map +1 -0
- package/dist/transitions/smoldering-edge.js +74 -0
- package/dist/transitions/smoldering-edge.js.map +1 -0
- package/dist/transitions/split.d.ts +14 -0
- package/dist/transitions/split.d.ts.map +1 -0
- package/dist/transitions/split.js +53 -0
- package/dist/transitions/split.js.map +1 -0
- package/dist/transitions/swirl.d.ts +12 -0
- package/dist/transitions/swirl.d.ts.map +1 -0
- package/dist/transitions/swirl.js +42 -0
- package/dist/transitions/swirl.js.map +1 -0
- package/dist/transitions/tangent-motion-blur.d.ts +13 -0
- package/dist/transitions/tangent-motion-blur.d.ts.map +1 -0
- package/dist/transitions/tangent-motion-blur.js +58 -0
- package/dist/transitions/tangent-motion-blur.js.map +1 -0
- package/dist/transitions/tile-scatter.d.ts +22 -0
- package/dist/transitions/tile-scatter.d.ts.map +1 -0
- package/dist/transitions/tile-scatter.js +122 -0
- package/dist/transitions/tile-scatter.js.map +1 -0
- package/dist/transitions/tilt-sweep.d.ts +11 -0
- package/dist/transitions/tilt-sweep.d.ts.map +1 -0
- package/dist/transitions/tilt-sweep.js +31 -0
- package/dist/transitions/tilt-sweep.js.map +1 -0
- package/dist/transitions/warp-zoom.d.ts +7 -0
- package/dist/transitions/warp-zoom.d.ts.map +1 -0
- package/dist/transitions/warp-zoom.js +70 -0
- package/dist/transitions/warp-zoom.js.map +1 -0
- package/dist/transitions/wave-stripes.d.ts +16 -0
- package/dist/transitions/wave-stripes.d.ts.map +1 -0
- package/dist/transitions/wave-stripes.js +55 -0
- package/dist/transitions/wave-stripes.js.map +1 -0
- package/dist/transitions/wave-wipe.d.ts +23 -0
- package/dist/transitions/wave-wipe.d.ts.map +1 -0
- package/dist/transitions/wave-wipe.js +84 -0
- package/dist/transitions/wave-wipe.js.map +1 -0
- package/dist/transitions/wind.d.ts +9 -0
- package/dist/transitions/wind.d.ts.map +1 -0
- package/dist/transitions/wind.js +48 -0
- package/dist/transitions/wind.js.map +1 -0
- package/dist/transitions/window-slice.d.ts +11 -0
- package/dist/transitions/window-slice.d.ts.map +1 -0
- package/dist/transitions/window-slice.js +34 -0
- package/dist/transitions/window-slice.js.map +1 -0
- package/dist/transitions/wipe-directional.d.ts +5 -0
- package/dist/transitions/wipe-directional.d.ts.map +1 -0
- package/dist/transitions/wipe-directional.js +26 -0
- package/dist/transitions/wipe-directional.js.map +1 -0
- package/dist/types.d.ts +78 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/package.json +56 -0
- package/src/__tests__/__screenshots__/endpoint-correctness.test.ts/endpoint-correctness---every-transition-must-be-pixel-pure-from-to-at-progress-0-1-rippleWave-at-progress-0-is-pure--from--1.png +0 -0
- package/src/__tests__/__screenshots__/endpoint-correctness.test.ts/endpoint-correctness---every-transition-must-be-pixel-pure-from-to-at-progress-0-1-rippleWave-at-progress-1-is-pure--to--1.png +0 -0
- package/src/__tests__/endpoint-correctness.test.ts +161 -0
- package/src/__tests__/readme.test.ts +39 -0
- package/src/__tests__/ssr.test.ts +45 -0
- package/src/index.ts +75 -0
- package/src/inputs/normalize.ts +1 -0
- package/src/runner/__tests__/__screenshots__/mesh.test.ts/buildSubdividedPlane-centroid-is-shared-across-a-face-and-equals-mean-of-its-3-positions-1.png +0 -0
- package/src/runner/__tests__/__screenshots__/mesh.test.ts/buildSubdividedPlane-uv-matches-aPosition---0-5---0-5-1.png +0 -0
- package/src/runner/__tests__/mesh.test.ts +128 -0
- package/src/runner/gl.ts +69 -0
- package/src/runner/mesh.ts +135 -0
- package/src/runner/runner.ts +528 -0
- package/src/transitions/all.ts +131 -0
- package/src/transitions/bloom-reveal.ts +106 -0
- package/src/transitions/chromatic-pulse.ts +40 -0
- package/src/transitions/clock-wipe.ts +33 -0
- package/src/transitions/color-phase.ts +24 -0
- package/src/transitions/cross-zoom.ts +59 -0
- package/src/transitions/crosshatch.ts +49 -0
- package/src/transitions/define.ts +56 -0
- package/src/transitions/directional-burn.ts +67 -0
- package/src/transitions/directional-warp.ts +46 -0
- package/src/transitions/dissolve.ts +16 -0
- package/src/transitions/dreamy-zoom.ts +66 -0
- package/src/transitions/dreamy.ts +26 -0
- package/src/transitions/drip-wipe.ts +109 -0
- package/src/transitions/ember-scatter.ts +94 -0
- package/src/transitions/film-burn.ts +101 -0
- package/src/transitions/film-grain.ts +78 -0
- package/src/transitions/flow-warp.ts +51 -0
- package/src/transitions/fluid-flow.ts +94 -0
- package/src/transitions/glass-shatter.ts +86 -0
- package/src/transitions/glitch.ts +59 -0
- package/src/transitions/god-rays-reveal.ts +110 -0
- package/src/transitions/gravity-pull.ts +65 -0
- package/src/transitions/grid-reveal.ts +53 -0
- package/src/transitions/heat-haze.ts +51 -0
- package/src/transitions/index.ts +63 -0
- package/src/transitions/ink-bloom.ts +76 -0
- package/src/transitions/ink-diffuse.ts +90 -0
- package/src/transitions/iris-zoom.ts +67 -0
- package/src/transitions/kinetic-bands.ts +58 -0
- package/src/transitions/lenticular-flip.ts +73 -0
- package/src/transitions/light-leak.ts +43 -0
- package/src/transitions/linear-blur.ts +40 -0
- package/src/transitions/liquid-chrome.ts +114 -0
- package/src/transitions/liquid-morph.ts +50 -0
- package/src/transitions/lumina-melt.ts +36 -0
- package/src/transitions/mosaic.ts +58 -0
- package/src/transitions/noise-dissolve.ts +41 -0
- package/src/transitions/page-curl.ts +165 -0
- package/src/transitions/paint-bleed.ts +59 -0
- package/src/transitions/pinwheel.ts +40 -0
- package/src/transitions/pixelate.ts +26 -0
- package/src/transitions/polka-dots-curtain.ts +46 -0
- package/src/transitions/polygon-flip.ts +97 -0
- package/src/transitions/portal-dive.ts +83 -0
- package/src/transitions/prism-split.ts +52 -0
- package/src/transitions/push.ts +34 -0
- package/src/transitions/radial-reveal.ts +31 -0
- package/src/transitions/ripple-wave.ts +135 -0
- package/src/transitions/ripple.ts +43 -0
- package/src/transitions/shape-reveal.ts +53 -0
- package/src/transitions/shockwave.ts +56 -0
- package/src/transitions/singularity.ts +59 -0
- package/src/transitions/slide.ts +76 -0
- package/src/transitions/smoldering-edge.ts +74 -0
- package/src/transitions/split.ts +53 -0
- package/src/transitions/swirl.ts +42 -0
- package/src/transitions/tangent-motion-blur.ts +58 -0
- package/src/transitions/tile-scatter.ts +122 -0
- package/src/transitions/warp-zoom.ts +70 -0
- package/src/transitions/wave-stripes.ts +55 -0
- package/src/transitions/wind.ts +48 -0
- package/src/transitions/wipe-directional.ts +26 -0
- package/src/types.ts +87 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Maesto LLC
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,618 @@
|
|
|
1
|
+
# @vysmo/transitions
|
|
2
|
+
|
|
3
|
+
60 WebGL2 transition shaders, defined as plain data. Mesh-based, tree-shakable to the byte, endpoint-correct by construction. One Runner takes any combination of canvas / image / video sources and crossfades, displaces, warps, or curls between them.
|
|
4
|
+
|
|
5
|
+
[Live demos + parameter playground](https://vysmo.com/transitions) · [Source](https://github.com/vysmodev)
|
|
6
|
+
|
|
7
|
+
## Install
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
pnpm add @vysmo/transitions @vysmo/animations
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
The runner doesn't drive time — you do. The Quick start uses [`@vysmo/animations`](https://www.npmjs.com/package/@vysmo/animations) for a four-line tween from `0` to `1`, but the runner doesn't care: any rAF loop, [`@vysmo/scroll`](https://www.npmjs.com/package/@vysmo/scroll) handler, Motion / GSAP timeline, or scrubbed input works.
|
|
14
|
+
|
|
15
|
+
## Quick start
|
|
16
|
+
|
|
17
|
+
End-to-end: load two images, drive a transition between them. The runner is thin enough that this is genuinely all you need.
|
|
18
|
+
|
|
19
|
+
```ts
|
|
20
|
+
import { Runner, paintBleed } from "@vysmo/transitions";
|
|
21
|
+
import { animate } from "@vysmo/animations";
|
|
22
|
+
|
|
23
|
+
const canvas = document.querySelector<HTMLCanvasElement>("canvas")!;
|
|
24
|
+
const runner = new Runner({ canvas });
|
|
25
|
+
|
|
26
|
+
// Two images you want to crossfade between.
|
|
27
|
+
const fromImg = new Image();
|
|
28
|
+
const toImg = new Image();
|
|
29
|
+
fromImg.src = "/photo-a.jpg";
|
|
30
|
+
toImg.src = "/photo-b.jpg";
|
|
31
|
+
|
|
32
|
+
await Promise.all([fromImg.decode(), toImg.decode()]);
|
|
33
|
+
|
|
34
|
+
// Animate progress 0 → 1 and render every frame.
|
|
35
|
+
animate({
|
|
36
|
+
from: 0,
|
|
37
|
+
to: 1,
|
|
38
|
+
duration: 1200,
|
|
39
|
+
onUpdate: (p) => runner.render(paintBleed, {
|
|
40
|
+
from: fromImg,
|
|
41
|
+
to: toImg,
|
|
42
|
+
progress: p,
|
|
43
|
+
}),
|
|
44
|
+
});
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
`runner.render()` is one draw call per frame, regardless of the transition.
|
|
48
|
+
|
|
49
|
+
## Tree-shake by what you import
|
|
50
|
+
|
|
51
|
+
Every transition is its own module. Import only the ones you ship:
|
|
52
|
+
|
|
53
|
+
```ts
|
|
54
|
+
import { Runner, crossZoom, pageCurl } from "@vysmo/transitions";
|
|
55
|
+
// → Runner + 2 transitions, ~6 KB gzipped
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
vs
|
|
59
|
+
|
|
60
|
+
```ts
|
|
61
|
+
import * as transitions from "@vysmo/transitions";
|
|
62
|
+
// → Runner + all 60 transitions, ~28 KB gzipped
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
`sideEffects: false`, no CSS, no global state.
|
|
66
|
+
|
|
67
|
+
## Catalog
|
|
68
|
+
|
|
69
|
+
Each transition is a `Transition<P>` — the parameter type `P` is inferred from `defaults`, so overrides are typed without any hand-typing. The auto-generated catalog below mirrors the playground's slider ranges.
|
|
70
|
+
|
|
71
|
+
<!-- catalog:start -->
|
|
72
|
+
|
|
73
|
+
Every built-in transition with its parameters, defaults, and accepted values. The catalog mirrors the playground at [vysmo.com/transitions/docs#catalog](https://vysmo.com/transitions/docs#catalog).
|
|
74
|
+
|
|
75
|
+
### Light & Optics
|
|
76
|
+
|
|
77
|
+
#### `filmBurn`
|
|
78
|
+
|
|
79
|
+
| Prop | Type | Default | Values |
|
|
80
|
+
|---|---|---|---|
|
|
81
|
+
| `center` | vec2 | `[0.5, 0.5]` | `[0.5, 0.5]` Center · `[0.5, 0.85]` Top · `[0.5, 0.15]` Bottom · `[0.15, 0.5]` Left · `[0.85, 0.5]` Right · `[0.15, 0.85]` TL · `[0.85, 0.85]` TR |
|
|
82
|
+
| `scale` | number | `6` | 0.5 – 18, step 0.05 |
|
|
83
|
+
| `edgeWidth` | number | `0.05` | 0 – 1, step 0.05 |
|
|
84
|
+
| `chroma` | number | `0` | 0 – 1, step 0.01 |
|
|
85
|
+
| `flameColor` | vec3 | `[1.6, 0.7, 0.15]` | `[1.6, 0.7, 0.15]` Ember · `[1.8, 0.4, 0.05]` Molten · `[1.2, 0.15, 0.1]` Deep red · `[0.5, 1.6, 0.4]` Acid · `[0.4, 1, 1.6]` Ice blue · `[1.2, 1.6, 2.5]` Electric · `[1.4, 0.6, 1.8]` Violet |
|
|
86
|
+
|
|
87
|
+
#### `lightLeak`
|
|
88
|
+
|
|
89
|
+
| Prop | Type | Default | Values |
|
|
90
|
+
|---|---|---|---|
|
|
91
|
+
| `direction` | vec2 | `[1, 0]` | `[1, 0]` Right · `[-1, 0]` Left · `[0, -1]` Down · `[0, 1]` Up · `[1, -1]` Diagonal · `[-1, -1]` Anti-diag |
|
|
92
|
+
| `color` | vec3 | `[1, 0.85, 0.55]` | `[1, 0.85, 0.55]` Sunset · `[1, 0.7, 0.85]` Magic hour · `[1, 0.96, 0.92]` Daylight · `[0.5, 1, 1.1]` Cyan · `[1.1, 0.4, 0.95]` Magenta |
|
|
93
|
+
| `bandWidth` | number | `0.2` | 0 – 1, step 0.05 |
|
|
94
|
+
| `intensity` | number | `1` | 0 – 3, step 0.01 |
|
|
95
|
+
|
|
96
|
+
#### `heatHaze`
|
|
97
|
+
|
|
98
|
+
| Prop | Type | Default | Values |
|
|
99
|
+
|---|---|---|---|
|
|
100
|
+
| `intensity` | number | `0.04` | 0 – 1.5, step 0.01 |
|
|
101
|
+
| `frequency` | number | `14` | 0 – 56, step 1 |
|
|
102
|
+
| `flow` | number | `5` | 0 – 15, step 1 |
|
|
103
|
+
|
|
104
|
+
#### `bloomReveal`
|
|
105
|
+
|
|
106
|
+
| Prop | Type | Default | Values |
|
|
107
|
+
|---|---|---|---|
|
|
108
|
+
| `scale` | number | `5` | 0.5 – 15, step 0.05 |
|
|
109
|
+
| `softness` | number | `0.08` | 0 – 0.4, step 0.005 |
|
|
110
|
+
| `threshold` | number | `0.55` | 0 – 1, step 0.01 |
|
|
111
|
+
| `intensity` | number | `3` | 0 – 9, step 0.01 |
|
|
112
|
+
|
|
113
|
+
#### `directionalBurn`
|
|
114
|
+
|
|
115
|
+
| Prop | Type | Default | Values |
|
|
116
|
+
|---|---|---|---|
|
|
117
|
+
| `direction` | vec2 | `[1, 0]` | `[1, 0]` Right · `[-1, 0]` Left · `[0, -1]` Down · `[0, 1]` Up · `[1, -1]` Diagonal · `[-1, -1]` Anti-diag |
|
|
118
|
+
| `scale` | number | `10` | 0.5 – 30, step 0.05 |
|
|
119
|
+
| `edgeWidth` | number | `0.035` | 0 – 1, step 0.05 |
|
|
120
|
+
| `flameColor` | vec3 | `[1.6, 0.7, 0.15]` | `[1.6, 0.7, 0.15]` Ember · `[1.8, 0.4, 0.05]` Molten · `[1.2, 0.15, 0.1]` Deep red · `[0.5, 1.6, 0.4]` Acid · `[0.4, 1, 1.6]` Ice blue · `[1.2, 1.6, 2.5]` Electric · `[1.4, 0.6, 1.8]` Violet |
|
|
121
|
+
|
|
122
|
+
#### `prismSplit`
|
|
123
|
+
|
|
124
|
+
| Prop | Type | Default | Values |
|
|
125
|
+
|---|---|---|---|
|
|
126
|
+
| `direction` | vec2 | `[1, 0]` | `[1, 0]` Right · `[-1, 0]` Left · `[0, -1]` Down · `[0, 1]` Up · `[1, -1]` Diagonal · `[-1, -1]` Anti-diag |
|
|
127
|
+
| `intensity` | number | `0.04` | 0 – 0.07, step 0.005 |
|
|
128
|
+
| `softness` | number | `0.2` | 0 – 0.4, step 0.005 |
|
|
129
|
+
|
|
130
|
+
#### `emberScatter`
|
|
131
|
+
|
|
132
|
+
| Prop | Type | Default | Values |
|
|
133
|
+
|---|---|---|---|
|
|
134
|
+
| `count` | number | `5` | 0 – 24, step 1 |
|
|
135
|
+
| `scale` | number | `8` | 0.5 – 24, step 0.05 |
|
|
136
|
+
| `edgeWidth` | number | `0.04` | 0 – 1, step 0.05 |
|
|
137
|
+
| `stagger` | number | `0.35` | 0 – 1, step 0.01 |
|
|
138
|
+
| `flameColor` | vec3 | `[1.6, 0.7, 0.15]` | `[1.6, 0.7, 0.15]` Ember · `[1.8, 0.4, 0.05]` Molten · `[1.2, 0.15, 0.1]` Deep red · `[0.5, 1.6, 0.4]` Acid · `[0.4, 1, 1.6]` Ice blue · `[1.2, 1.6, 2.5]` Electric · `[1.4, 0.6, 1.8]` Violet |
|
|
139
|
+
|
|
140
|
+
#### `godRaysReveal`
|
|
141
|
+
|
|
142
|
+
| Prop | Type | Default | Values |
|
|
143
|
+
|---|---|---|---|
|
|
144
|
+
| `scale` | number | `5` | 0.5 – 15, step 0.05 |
|
|
145
|
+
| `softness` | number | `0.08` | 0 – 0.4, step 0.005 |
|
|
146
|
+
| `threshold` | number | `0.45` | 0 – 1, step 0.01 |
|
|
147
|
+
| `intensity` | number | `1.6` | 0 – 4.8, step 0.01 |
|
|
148
|
+
| `decay` | number | `0.92` | 0.5 – 1, step 0.005 |
|
|
149
|
+
| `source` | vec2 | `[0.5, 0.5]` | `[0.5, 0.5]` Center · `[0.5, 0.85]` Top · `[0.5, 0.15]` Bottom · `[0.15, 0.5]` Left · `[0.85, 0.5]` Right · `[0.15, 0.85]` TL · `[0.85, 0.85]` TR |
|
|
150
|
+
|
|
151
|
+
#### `chromaticPulse`
|
|
152
|
+
|
|
153
|
+
| Prop | Type | Default | Values |
|
|
154
|
+
|---|---|---|---|
|
|
155
|
+
| `intensity` | number | `0.6` | 0 – 1.8, step 0.01 |
|
|
156
|
+
|
|
157
|
+
### Fluid & Ink
|
|
158
|
+
|
|
159
|
+
#### `paintBleed`
|
|
160
|
+
|
|
161
|
+
| Prop | Type | Default | Values |
|
|
162
|
+
|---|---|---|---|
|
|
163
|
+
| `direction` | vec2 | `[-1, 0]` | `[-1, 0]` Right · `[1, 0]` Left · `[0, 1]` Down · `[0, -1]` Up · `[-1, 1]` Diagonal · `[1, 1]` Anti-diag |
|
|
164
|
+
| `scale` | number | `10` | 0.5 – 30, step 0.05 |
|
|
165
|
+
| `softness` | number | `0.02` | 0 – 0.4, step 0.005 |
|
|
166
|
+
| `noiseStrength` | number | `0.35` | 0 – 1.5, step 0.01 |
|
|
167
|
+
|
|
168
|
+
#### `inkDiffuse`
|
|
169
|
+
|
|
170
|
+
| Prop | Type | Default | Values |
|
|
171
|
+
|---|---|---|---|
|
|
172
|
+
| `scale` | number | `7` | 0.5 – 21, step 0.05 |
|
|
173
|
+
| `softness` | number | `0.08` | 0 – 0.4, step 0.005 |
|
|
174
|
+
|
|
175
|
+
#### `inkBloom`
|
|
176
|
+
|
|
177
|
+
| Prop | Type | Default | Values |
|
|
178
|
+
|---|---|---|---|
|
|
179
|
+
| `center` | vec2 | `[0.5, 0.5]` | `[0.5, 0.5]` Center · `[0.5, 0.85]` Top · `[0.5, 0.15]` Bottom · `[0.15, 0.5]` Left · `[0.85, 0.5]` Right · `[0.15, 0.85]` TL · `[0.85, 0.85]` TR |
|
|
180
|
+
| `scale` | number | `5` | 0.5 – 15, step 0.05 |
|
|
181
|
+
| `edgeWidth` | number | `0.07` | 0 – 1, step 0.05 |
|
|
182
|
+
| `bloomWidth` | number | `0.12` | 0 – 1, step 0.05 |
|
|
183
|
+
| `inkColor` | vec3 | `[0.25, 0.08, 0.45]` | `[0.25, 0.08, 0.45]` Indigo · `[0.06, 0.06, 0.08]` Sumi · `[0.55, 0.05, 0.12]` Crimson · `[0.06, 0.32, 0.18]` Forest · `[0.05, 0.18, 0.55]` Sapphire |
|
|
184
|
+
|
|
185
|
+
#### `fluidFlow`
|
|
186
|
+
|
|
187
|
+
| Prop | Type | Default | Values |
|
|
188
|
+
|---|---|---|---|
|
|
189
|
+
| `strength` | number | `0.12` | 0 – 1.5, step 0.01 |
|
|
190
|
+
| `scale` | number | `3` | 0.5 – 9, step 0.05 |
|
|
191
|
+
|
|
192
|
+
#### `liquidMorph`
|
|
193
|
+
|
|
194
|
+
| Prop | Type | Default | Values |
|
|
195
|
+
|---|---|---|---|
|
|
196
|
+
| `scale` | number | `3` | 0.5 – 9, step 0.05 |
|
|
197
|
+
| `strength` | number | `0.1` | 0 – 1.5, step 0.01 |
|
|
198
|
+
| `flow` | number | `3` | 0 – 9, step 0.1 |
|
|
199
|
+
|
|
200
|
+
#### `dripWipe`
|
|
201
|
+
|
|
202
|
+
| Prop | Type | Default | Values |
|
|
203
|
+
|---|---|---|---|
|
|
204
|
+
| `direction` | vec2 | `[-1, 0]` | `[1, 0]` Right · `[-1, 0]` Left · `[0, -1]` Down · `[0, 1]` Up |
|
|
205
|
+
| `width` | number | `0.5` | 0 – 1.5, step 0.05 |
|
|
206
|
+
| `scaleX` | number | `40` | 0.5 – 120, step 0.05 |
|
|
207
|
+
| `scaleY` | number | `40` | 0.5 – 120, step 0.05 |
|
|
208
|
+
|
|
209
|
+
#### `smolderingEdge`
|
|
210
|
+
|
|
211
|
+
| Prop | Type | Default | Values |
|
|
212
|
+
|---|---|---|---|
|
|
213
|
+
| `direction` | vec2 | `[1, 1]` | `[1, 0]` Right · `[-1, 0]` Left · `[0, -1]` Down · `[0, 1]` Up · `[1, -1]` Diagonal · `[-1, -1]` Anti-diag |
|
|
214
|
+
| `scale` | number | `3` | 0.5 – 9, step 0.05 |
|
|
215
|
+
| `edgeWidth` | number | `0.04` | 0 – 1, step 0.05 |
|
|
216
|
+
| `trailLength` | number | `0.18` | 0 – 1, step 0.01 |
|
|
217
|
+
| `emberColor` | vec3 | `[1.4, 0.5, 0.1]` | `[1.4, 0.5, 0.1]` Ember · `[1.7, 0.3, 0.05]` Molten · `[1.1, 0.12, 0.08]` Deep red · `[0.4, 1.5, 0.3]` Acid |
|
|
218
|
+
|
|
219
|
+
#### `luminaMelt`
|
|
220
|
+
|
|
221
|
+
| Prop | Type | Default | Values |
|
|
222
|
+
|---|---|---|---|
|
|
223
|
+
| `softness` | number | `0.15` | 0 – 0.4, step 0.005 |
|
|
224
|
+
| `invert` | enum | `0` | `0` Bright melts first · `1` Dark melts first |
|
|
225
|
+
|
|
226
|
+
### Wipes & Slides
|
|
227
|
+
|
|
228
|
+
#### `dissolve`
|
|
229
|
+
|
|
230
|
+
_No params._
|
|
231
|
+
|
|
232
|
+
#### `wipeDirectional`
|
|
233
|
+
|
|
234
|
+
| Prop | Type | Default | Values |
|
|
235
|
+
|---|---|---|---|
|
|
236
|
+
| `angle` | enum | `0` | `0` Right · `-1.5708` Down · `3.1416` Left · `1.5708` Up · `-0.7854` Diagonal · `-2.3562` Anti-diag |
|
|
237
|
+
| `softness` | number | `0.05` | 0 – 0.4, step 0.005 |
|
|
238
|
+
|
|
239
|
+
#### `slide`
|
|
240
|
+
|
|
241
|
+
| Prop | Type | Default | Values |
|
|
242
|
+
|---|---|---|---|
|
|
243
|
+
| `direction` | vec2 | `[-1, 0]` | `[1, 0]` Right · `[-1, 0]` Left · `[0, -1]` Down · `[0, 1]` Up |
|
|
244
|
+
| `feather` | number | `0.015` | 0 – 0.4, step 0.005 |
|
|
245
|
+
| `blur` | number | `0` | 0 – 0.1, step 0.005 |
|
|
246
|
+
|
|
247
|
+
#### `push`
|
|
248
|
+
|
|
249
|
+
| Prop | Type | Default | Values |
|
|
250
|
+
|---|---|---|---|
|
|
251
|
+
| `direction` | vec2 | `[1, 0]` | `[-1, 0]` Right · `[1, 0]` Left · `[0, 1]` Down · `[0, -1]` Up |
|
|
252
|
+
|
|
253
|
+
#### `split`
|
|
254
|
+
|
|
255
|
+
| Prop | Type | Default | Values |
|
|
256
|
+
|---|---|---|---|
|
|
257
|
+
| `axis` | enum | `0` | `0` Horizontal · `1` Vertical |
|
|
258
|
+
| `mode` | enum | `0` | `0` Open · `1` Close |
|
|
259
|
+
| `softness` | number | `0.01` | 0 – 0.4, step 0.005 |
|
|
260
|
+
|
|
261
|
+
#### `clockWipe`
|
|
262
|
+
|
|
263
|
+
| Prop | Type | Default | Values |
|
|
264
|
+
|---|---|---|---|
|
|
265
|
+
| `startAngle` | number | `-1.5708` | -3.1416 – 3.1416, step 0.01 |
|
|
266
|
+
| `direction` | enum | `1` | `1` Clockwise · `-1` Counter-clockwise |
|
|
267
|
+
| `softness` | number | `0.02` | 0 – 0.4, step 0.005 |
|
|
268
|
+
|
|
269
|
+
#### `radialReveal`
|
|
270
|
+
|
|
271
|
+
| Prop | Type | Default | Values |
|
|
272
|
+
|---|---|---|---|
|
|
273
|
+
| `center` | vec2 | `[0.5, 0.5]` | `[0.5, 0.5]` Center · `[0.5, 0.85]` Top · `[0.5, 0.15]` Bottom · `[0.15, 0.5]` Left · `[0.85, 0.5]` Right · `[0.15, 0.85]` TL · `[0.85, 0.85]` TR |
|
|
274
|
+
| `softness` | number | `0.05` | 0 – 0.4, step 0.005 |
|
|
275
|
+
|
|
276
|
+
#### `irisZoom`
|
|
277
|
+
|
|
278
|
+
| Prop | Type | Default | Values |
|
|
279
|
+
|---|---|---|---|
|
|
280
|
+
| `center` | vec2 | `[0.5, 0.5]` | `[0.5, 0.5]` Center · `[0.5, 0.85]` Top · `[0.5, 0.15]` Bottom · `[0.15, 0.5]` Left · `[0.85, 0.5]` Right · `[0.15, 0.85]` TL · `[0.85, 0.85]` TR |
|
|
281
|
+
| `width` | number | `0.08` | 0 – 1, step 0.05 |
|
|
282
|
+
| `scale` | number | `8` | 0.5 – 24, step 0.05 |
|
|
283
|
+
|
|
284
|
+
#### `shapeReveal`
|
|
285
|
+
|
|
286
|
+
| Prop | Type | Default | Values |
|
|
287
|
+
|---|---|---|---|
|
|
288
|
+
| `center` | vec2 | `[0.5, 0.5]` | `[0.5, 0.5]` Center · `[0.5, 0.85]` Top · `[0.5, 0.15]` Bottom · `[0.15, 0.5]` Left · `[0.85, 0.5]` Right · `[0.15, 0.85]` TL · `[0.85, 0.85]` TR |
|
|
289
|
+
| `sides` | enum | `6` | `3` Triangle · `4` Diamond · `5` Pentagon · `6` Hexagon · `8` Octagon · `12` Dodecagon · `32` Circle |
|
|
290
|
+
| `rotation` | number | `0` | -6.2832 – 6.2832, step 0.01 |
|
|
291
|
+
| `softness` | number | `0.05` | 0 – 0.4, step 0.005 |
|
|
292
|
+
|
|
293
|
+
#### `gridReveal`
|
|
294
|
+
|
|
295
|
+
| Prop | Type | Default | Values |
|
|
296
|
+
|---|---|---|---|
|
|
297
|
+
| `count` | number | `8` | 3 – 24, step 1 |
|
|
298
|
+
| `stagger` | number | `0.7` | 0 – 1, step 0.01 |
|
|
299
|
+
| `pattern` | enum | `1` | `0` Sequential · `1` Radial · `2` Random |
|
|
300
|
+
|
|
301
|
+
### Distort & Warp
|
|
302
|
+
|
|
303
|
+
#### `warpZoom`
|
|
304
|
+
|
|
305
|
+
| Prop | Type | Default | Values |
|
|
306
|
+
|---|---|---|---|
|
|
307
|
+
| `center` | vec2 | `[0.5, 0.5]` | `[0.5, 0.5]` Center · `[0.5, 0.85]` Top · `[0.5, 0.15]` Bottom · `[0.15, 0.5]` Left · `[0.85, 0.5]` Right · `[0.15, 0.85]` TL · `[0.85, 0.85]` TR |
|
|
308
|
+
| `strength` | number | `1` | 0 – 3, step 0.01 |
|
|
309
|
+
| `rotation` | number | `1` | -6.2832 – 6.2832, step 0.01 |
|
|
310
|
+
| `blur` | number | `0.02` | 0 – 0.4, step 0.005 |
|
|
311
|
+
|
|
312
|
+
#### `crossZoom`
|
|
313
|
+
|
|
314
|
+
| Prop | Type | Default | Values |
|
|
315
|
+
|---|---|---|---|
|
|
316
|
+
| `strength` | number | `1.2` | 0 – 3.6, step 0.01 |
|
|
317
|
+
| `blur` | number | `0.04` | 0 – 0.4, step 0.005 |
|
|
318
|
+
|
|
319
|
+
#### `directionalWarp`
|
|
320
|
+
|
|
321
|
+
| Prop | Type | Default | Values |
|
|
322
|
+
|---|---|---|---|
|
|
323
|
+
| `direction` | vec2 | `[-1, 1]` | `[1, 0]` Right · `[-1, 0]` Left · `[0, -1]` Down · `[0, 1]` Up · `[1, -1]` Diagonal · `[-1, -1]` Anti-diag |
|
|
324
|
+
| `smoothness` | number | `0.5` | 0 – 1, step 0.01 |
|
|
325
|
+
|
|
326
|
+
#### `swirl`
|
|
327
|
+
|
|
328
|
+
| Prop | Type | Default | Values |
|
|
329
|
+
|---|---|---|---|
|
|
330
|
+
| `radius` | number | `1` | 0 – 3, step 0.1 |
|
|
331
|
+
| `strength` | number | `25.13` | 0 – 75.39, step 0.01 |
|
|
332
|
+
|
|
333
|
+
#### `flowWarp`
|
|
334
|
+
|
|
335
|
+
| Prop | Type | Default | Values |
|
|
336
|
+
|---|---|---|---|
|
|
337
|
+
| `intensity` | number | `0.4` | 0 – 1.5, step 0.01 |
|
|
338
|
+
| `angle1` | number | `0.7854` | -3.1416 – 3.1416, step 0.01 |
|
|
339
|
+
| `angle2` | number | `-2.3562` | -3.1416 – 3.1416, step 0.01 |
|
|
340
|
+
|
|
341
|
+
#### `ripple`
|
|
342
|
+
|
|
343
|
+
| Prop | Type | Default | Values |
|
|
344
|
+
|---|---|---|---|
|
|
345
|
+
| `center` | vec2 | `[0.5, 0.5]` | `[0.5, 0.5]` Center · `[0.5, 0.85]` Top · `[0.5, 0.15]` Bottom · `[0.15, 0.5]` Left · `[0.85, 0.5]` Right · `[0.15, 0.85]` TL · `[0.85, 0.85]` TR |
|
|
346
|
+
| `amplitude` | number | `0.03` | 0 – 1.5, step 0.01 |
|
|
347
|
+
| `frequency` | number | `6` | 0 – 24, step 1 |
|
|
348
|
+
| `speed` | number | `8` | 0 – 24, step 0.05 |
|
|
349
|
+
|
|
350
|
+
#### `rippleWave`
|
|
351
|
+
|
|
352
|
+
| Prop | Type | Default | Values |
|
|
353
|
+
|---|---|---|---|
|
|
354
|
+
| `amplitude` | number | `0.1` | 0 – 1.5, step 0.01 |
|
|
355
|
+
| `source` | vec2 | `[0.5, 0.5]` | `[0.5, 0.5]` Center · `[0.5, 0.85]` Top · `[0.5, 0.15]` Bottom · `[0.15, 0.5]` Left · `[0.85, 0.5]` Right · `[0.15, 0.85]` TL · `[0.85, 0.85]` TR |
|
|
356
|
+
|
|
357
|
+
#### `shockwave`
|
|
358
|
+
|
|
359
|
+
| Prop | Type | Default | Values |
|
|
360
|
+
|---|---|---|---|
|
|
361
|
+
| `center` | vec2 | `[0.5, 0.5]` | `[0.5, 0.5]` Center · `[0.5, 0.85]` Top · `[0.5, 0.15]` Bottom · `[0.15, 0.5]` Left · `[0.85, 0.5]` Right · `[0.15, 0.85]` TL · `[0.85, 0.85]` TR |
|
|
362
|
+
| `thickness` | number | `0.15` | 0 – 1, step 0.01 |
|
|
363
|
+
| `strength` | number | `0.04` | 0 – 1.5, step 0.01 |
|
|
364
|
+
|
|
365
|
+
#### `gravityPull`
|
|
366
|
+
|
|
367
|
+
| Prop | Type | Default | Values |
|
|
368
|
+
|---|---|---|---|
|
|
369
|
+
| `center` | vec2 | `[0.5, 0.5]` | `[0.5, 0.5]` Center · `[0.5, 0.85]` Top · `[0.5, 0.15]` Bottom · `[0.15, 0.5]` Left · `[0.85, 0.5]` Right · `[0.15, 0.85]` TL · `[0.85, 0.85]` TR |
|
|
370
|
+
| `intensity` | number | `0.15` | 0 – 1.5, step 0.01 |
|
|
371
|
+
|
|
372
|
+
#### `portalDive`
|
|
373
|
+
|
|
374
|
+
| Prop | Type | Default | Values |
|
|
375
|
+
|---|---|---|---|
|
|
376
|
+
| `twist` | number | `3.1416` | -6.2832 – 6.2832, step 0.01 |
|
|
377
|
+
| `depth` | number | `1` | 0 – 3, step 0.05 |
|
|
378
|
+
| `reflection` | number | `0` | 0 – 1, step 0.01 |
|
|
379
|
+
|
|
380
|
+
#### `singularity`
|
|
381
|
+
|
|
382
|
+
| Prop | Type | Default | Values |
|
|
383
|
+
|---|---|---|---|
|
|
384
|
+
| `center` | vec2 | `[0.5, 0.5]` | `[0.5, 0.5]` Center · `[0.5, 0.85]` Top · `[0.5, 0.15]` Bottom · `[0.15, 0.5]` Left · `[0.85, 0.5]` Right · `[0.15, 0.85]` TL · `[0.85, 0.85]` TR |
|
|
385
|
+
|
|
386
|
+
#### `wind`
|
|
387
|
+
|
|
388
|
+
| Prop | Type | Default | Values |
|
|
389
|
+
|---|---|---|---|
|
|
390
|
+
| `size` | number | `0.2` | 0 – 1, step 0.01 |
|
|
391
|
+
| `direction` | vec2 | `[1, 0]` | `[1, 0]` Right · `[-1, 0]` Left · `[0, -1]` Down · `[0, 1]` Up · `[1, -1]` Diagonal · `[-1, -1]` Anti-diag |
|
|
392
|
+
|
|
393
|
+
#### `linearBlur`
|
|
394
|
+
|
|
395
|
+
| Prop | Type | Default | Values |
|
|
396
|
+
|---|---|---|---|
|
|
397
|
+
| `direction` | vec2 | `[1, 0]` | `[1, 0]` Right · `[-1, 0]` Left · `[0, -1]` Down · `[0, 1]` Up · `[1, -1]` Diagonal · `[-1, -1]` Anti-diag |
|
|
398
|
+
| `intensity` | number | `0.1` | 0 – 1.5, step 0.01 |
|
|
399
|
+
|
|
400
|
+
#### `tangentMotionBlur`
|
|
401
|
+
|
|
402
|
+
| Prop | Type | Default | Values |
|
|
403
|
+
|---|---|---|---|
|
|
404
|
+
| `direction` | vec2 | `[1, 0]` | `[1, 0]` Right · `[-1, 0]` Left · `[0, -1]` Down · `[0, 1]` Up · `[1, -1]` Diagonal · `[-1, -1]` Anti-diag |
|
|
405
|
+
| `intensity` | number | `0.08` | 0 – 1.5, step 0.01 |
|
|
406
|
+
| `softness` | number | `0.2` | 0 – 0.4, step 0.005 |
|
|
407
|
+
|
|
408
|
+
### Glitch & Noise
|
|
409
|
+
|
|
410
|
+
#### `glitch`
|
|
411
|
+
|
|
412
|
+
| Prop | Type | Default | Values |
|
|
413
|
+
|---|---|---|---|
|
|
414
|
+
| `intensity` | number | `0.6` | 0 – 1.8, step 0.01 |
|
|
415
|
+
| `chroma` | number | `0.02` | 0 – 0.05, step 0.002 |
|
|
416
|
+
| `blocks` | number | `30` | 0 – 90, step 1 |
|
|
417
|
+
|
|
418
|
+
#### `noiseDissolve`
|
|
419
|
+
|
|
420
|
+
| Prop | Type | Default | Values |
|
|
421
|
+
|---|---|---|---|
|
|
422
|
+
| `scale` | number | `20` | 0.5 – 60, step 0.05 |
|
|
423
|
+
| `softness` | number | `0.05` | 0 – 0.4, step 0.005 |
|
|
424
|
+
|
|
425
|
+
#### `pixelate`
|
|
426
|
+
|
|
427
|
+
| Prop | Type | Default | Values |
|
|
428
|
+
|---|---|---|---|
|
|
429
|
+
| `maxBlockSize` | number | `40` | 0 – 120, step 0.05 |
|
|
430
|
+
|
|
431
|
+
#### `mosaic`
|
|
432
|
+
|
|
433
|
+
| Prop | Type | Default | Values |
|
|
434
|
+
|---|---|---|---|
|
|
435
|
+
| `count` | number | `14` | 3 – 24, step 1 |
|
|
436
|
+
| `jitter` | number | `0.08` | 0 – 1, step 0.01 |
|
|
437
|
+
| `stagger` | number | `0.4` | 0 – 1, step 0.01 |
|
|
438
|
+
|
|
439
|
+
#### `filmGrain`
|
|
440
|
+
|
|
441
|
+
| Prop | Type | Default | Values |
|
|
442
|
+
|---|---|---|---|
|
|
443
|
+
| `grain` | number | `1` | 0 – 3, step 0.1 |
|
|
444
|
+
|
|
445
|
+
#### `crosshatch`
|
|
446
|
+
|
|
447
|
+
| Prop | Type | Default | Values |
|
|
448
|
+
|---|---|---|---|
|
|
449
|
+
| `center` | vec2 | `[0.5, 0.5]` | `[0.5, 0.5]` Center · `[0.5, 0.85]` Top · `[0.5, 0.15]` Bottom · `[0.15, 0.5]` Left · `[0.85, 0.5]` Right · `[0.15, 0.85]` TL · `[0.85, 0.85]` TR |
|
|
450
|
+
| `threshold` | number | `3` | 3 – 30, step 0.5 |
|
|
451
|
+
| `fadeEdge` | number | `0.1` | 0 – 1, step 0.01 |
|
|
452
|
+
|
|
453
|
+
### Cinematic
|
|
454
|
+
|
|
455
|
+
#### `dreamy`
|
|
456
|
+
|
|
457
|
+
_No params._
|
|
458
|
+
|
|
459
|
+
#### `dreamyZoom`
|
|
460
|
+
|
|
461
|
+
| Prop | Type | Default | Values |
|
|
462
|
+
|---|---|---|---|
|
|
463
|
+
| `intensity` | number | `0.5` | 0 – 1, step 0.01 |
|
|
464
|
+
|
|
465
|
+
#### `colorPhase`
|
|
466
|
+
|
|
467
|
+
_No params._
|
|
468
|
+
|
|
469
|
+
#### `liquidChrome`
|
|
470
|
+
|
|
471
|
+
| Prop | Type | Default | Values |
|
|
472
|
+
|---|---|---|---|
|
|
473
|
+
| `shine` | number | `0.9` | 0 – 1, step 0.01 |
|
|
474
|
+
| `rim` | number | `0.25` | 0 – 1, step 0.01 |
|
|
475
|
+
| `wobble` | number | `0.12` | 0 – 1, step 0.01 |
|
|
476
|
+
| `refraction` | number | `0.035` | 0 – 1, step 0.01 |
|
|
477
|
+
| `reflection` | number | `0` | 0 – 1, step 0.01 |
|
|
478
|
+
|
|
479
|
+
### Geometric
|
|
480
|
+
|
|
481
|
+
#### `kineticBands`
|
|
482
|
+
|
|
483
|
+
| Prop | Type | Default | Values |
|
|
484
|
+
|---|---|---|---|
|
|
485
|
+
| `count` | number | `12` | 2 – 24, step 1 |
|
|
486
|
+
| `stagger` | number | `0.6` | 0 – 1, step 0.01 |
|
|
487
|
+
| `softness` | number | `0.02` | 0 – 0.4, step 0.005 |
|
|
488
|
+
| `direction` | vec2 | `[1, 0]` | `[1, 0]` Right · `[-1, 0]` Left · `[0, -1]` Down · `[0, 1]` Up |
|
|
489
|
+
|
|
490
|
+
#### `polkaDotsCurtain`
|
|
491
|
+
|
|
492
|
+
| Prop | Type | Default | Values |
|
|
493
|
+
|---|---|---|---|
|
|
494
|
+
| `dots` | number | `15` | 1 – 45, step 1 |
|
|
495
|
+
| `center` | vec2 | `[0.5, 0.5]` | `[0.5, 0.5]` Center · `[0.5, 0.85]` Top · `[0.5, 0.15]` Bottom · `[0.15, 0.5]` Left · `[0.85, 0.5]` Right · `[0.15, 0.85]` TL · `[0.85, 0.85]` TR |
|
|
496
|
+
| `softness` | number | `0.05` | 0 – 0.4, step 0.005 |
|
|
497
|
+
|
|
498
|
+
#### `waveStripes`
|
|
499
|
+
|
|
500
|
+
| Prop | Type | Default | Values |
|
|
501
|
+
|---|---|---|---|
|
|
502
|
+
| `direction` | vec2 | `[1, 0]` | `[1, 0]` Right · `[-1, 0]` Left · `[0, -1]` Down · `[0, 1]` Up |
|
|
503
|
+
|
|
504
|
+
#### `pinwheel`
|
|
505
|
+
|
|
506
|
+
| Prop | Type | Default | Values |
|
|
507
|
+
|---|---|---|---|
|
|
508
|
+
| `center` | vec2 | `[0.5, 0.5]` | `[0.5, 0.5]` Center · `[0.5, 0.85]` Top · `[0.5, 0.15]` Bottom · `[0.15, 0.5]` Left · `[0.85, 0.5]` Right · `[0.15, 0.85]` TL · `[0.85, 0.85]` TR |
|
|
509
|
+
| `spokes` | number | `8` | 0 – 24, step 1 |
|
|
510
|
+
| `softness` | number | `0.05` | 0 – 0.4, step 0.005 |
|
|
511
|
+
|
|
512
|
+
### 3D Mesh
|
|
513
|
+
|
|
514
|
+
#### `pageCurl`
|
|
515
|
+
|
|
516
|
+
| Prop | Type | Default | Values |
|
|
517
|
+
|---|---|---|---|
|
|
518
|
+
| `tilt` | number | `0.12` | 0 – 1, step 0.01 |
|
|
519
|
+
| `backColor` | vec3 | `[0.97, 0.96, 0.94]` | `[0.97, 0.96, 0.94]` Paper · `[0.93, 0.86, 0.72]` Parchment · `[0.99, 0.98, 0.92]` Ivory · `[0.86, 0.88, 0.92]` Cool gray · `[0.32, 0.34, 0.4]` Slate |
|
|
520
|
+
|
|
521
|
+
#### `polygonFlip`
|
|
522
|
+
|
|
523
|
+
| Prop | Type | Default | Values |
|
|
524
|
+
|---|---|---|---|
|
|
525
|
+
| `rim` | number | `0.25` | 0 – 1, step 0.01 |
|
|
526
|
+
|
|
527
|
+
#### `glassShatter`
|
|
528
|
+
|
|
529
|
+
| Prop | Type | Default | Values |
|
|
530
|
+
|---|---|---|---|
|
|
531
|
+
| `cells` | number | `14` | 0 – 42, step 1 |
|
|
532
|
+
| `reflection` | number | `0` | 0 – 1, step 0.01 |
|
|
533
|
+
|
|
534
|
+
#### `tileScatter`
|
|
535
|
+
|
|
536
|
+
| Prop | Type | Default | Values |
|
|
537
|
+
|---|---|---|---|
|
|
538
|
+
| `scatter` | number | `1` | 0 – 3, step 0.1 |
|
|
539
|
+
|
|
540
|
+
#### `lenticularFlip`
|
|
541
|
+
|
|
542
|
+
| Prop | Type | Default | Values |
|
|
543
|
+
|---|---|---|---|
|
|
544
|
+
| `stripCount` | number | `22` | 3 – 60, step 1 |
|
|
545
|
+
|
|
546
|
+
<!-- catalog:end -->
|
|
547
|
+
|
|
548
|
+
## Parameter overrides
|
|
549
|
+
|
|
550
|
+
Each transition exports its own `defaults` object. Override per render:
|
|
551
|
+
|
|
552
|
+
```ts
|
|
553
|
+
import { pixelate } from "@vysmo/transitions";
|
|
554
|
+
|
|
555
|
+
runner.render(pixelate, {
|
|
556
|
+
from, to, progress,
|
|
557
|
+
params: { maxBlockSize: 60 }, // typed from pixelate.defaults
|
|
558
|
+
});
|
|
559
|
+
```
|
|
560
|
+
|
|
561
|
+
Anything you don't override falls back to the default. Defaults are tuned to look good out of the box.
|
|
562
|
+
|
|
563
|
+
## Defining your own transition
|
|
564
|
+
|
|
565
|
+
```ts
|
|
566
|
+
import { defineTransition } from "@vysmo/transitions";
|
|
567
|
+
|
|
568
|
+
export const myFade = defineTransition({
|
|
569
|
+
name: "my-fade",
|
|
570
|
+
defaults: { gamma: 2.2 },
|
|
571
|
+
glsl: `
|
|
572
|
+
vec4 transition(vec2 uv) {
|
|
573
|
+
vec4 a = getFromColor(uv);
|
|
574
|
+
vec4 b = getToColor(uv);
|
|
575
|
+
float p = pow(uProgress, uGamma);
|
|
576
|
+
return mix(a, b, p);
|
|
577
|
+
}
|
|
578
|
+
`,
|
|
579
|
+
});
|
|
580
|
+
|
|
581
|
+
runner.render(myFade, { from, to, progress: 0.5, params: { gamma: 1.8 } });
|
|
582
|
+
```
|
|
583
|
+
|
|
584
|
+
The Runner wraps the GLSL with the standard header (`#version 300 es`, precision, `uFrom` / `uTo` / `uProgress` / `uResolution`, `getFromColor` / `getToColor` helpers) and maps each `defaults` key to a `u<PascalCase>` uniform.
|
|
585
|
+
|
|
586
|
+
## Transition shape contracts
|
|
587
|
+
|
|
588
|
+
Every built-in transition clears five non-negotiable invariants. Custom transitions should too:
|
|
589
|
+
|
|
590
|
+
- **Endpoint correctness.** `progress=0` is pixel-pure `from`; `progress=1` is pixel-pure `to`. Enforced by [`endpoint-correctness.test.ts`](src/__tests__/endpoint-correctness.test.ts).
|
|
591
|
+
- **Polish degrades at endpoints.** Visual params (feather, blur, chroma split, displacement) hit zero at both ends — typically scaled by `4 * p * (1 - p)`.
|
|
592
|
+
- **No hard cuts.** Every boundary between `from` and `to` is feathered or motion-softened.
|
|
593
|
+
- **Full-frame.** Every pixel at every progress samples meaningful content. No black background, no letterboxing.
|
|
594
|
+
- **Continuous motion.** No visual freeze at any progress value. Symmetric envelopes don't drive position.
|
|
595
|
+
|
|
596
|
+
## Source flexibility
|
|
597
|
+
|
|
598
|
+
`from` / `to` accept any `TextureSource`:
|
|
599
|
+
|
|
600
|
+
- `HTMLImageElement` (uploaded once — cached)
|
|
601
|
+
- `HTMLVideoElement` (re-uploaded each render — animated source)
|
|
602
|
+
- `HTMLCanvasElement` / `OffscreenCanvas` (re-uploaded each render)
|
|
603
|
+
- `ImageBitmap` (uploaded once — cached)
|
|
604
|
+
- `WebGLTexture` (used as-is — bring-your-own GPU data)
|
|
605
|
+
|
|
606
|
+
Mix freely. Page-curl an image to a video. Crossfade two canvases. Transition between a static logo and a live camera feed.
|
|
607
|
+
|
|
608
|
+
## Characteristics
|
|
609
|
+
|
|
610
|
+
- **WebGL2 only.** No WebGL1 fallback.
|
|
611
|
+
- **Zero runtime dependencies** except `@vysmo/gl-core` (transitive).
|
|
612
|
+
- **SSR-safe at module load.** No DOM access at import — all checks guarded by `typeof X !== "undefined"`.
|
|
613
|
+
- **Tree-shakable.** Runner alone is ~4.6 KB gzipped; Runner + 3 typical transitions is ~6.5 KB; full bundle (Runner + all 60) is ~28 KB. Each additional transition adds ~0.4 KB.
|
|
614
|
+
- **Endpoint-tested.** Every transition is verified pixel-pure at `progress=0` and `progress=1` in headless Chromium per CI.
|
|
615
|
+
|
|
616
|
+
## License
|
|
617
|
+
|
|
618
|
+
MIT.
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { Runner } from "./runner/runner.js";
|
|
2
|
+
export type { RunnerOptions } from "./runner/runner.js";
|
|
3
|
+
export { dissolve, wipeDirectional, slide, radialReveal, crossZoom, glitch, noiseDissolve, clockWipe, ripple, pixelate, kineticBands, lightLeak, liquidMorph, gridReveal, warpZoom, chromaticPulse, push, shapeReveal, paintBleed, shockwave, swirl, split, directionalWarp, wind, linearBlur, luminaMelt, pinwheel, dreamy, tangentMotionBlur, colorPhase, filmBurn, mosaic, emberScatter, directionalBurn, inkBloom, smolderingEdge, polkaDotsCurtain, crosshatch, dreamyZoom, heatHaze, prismSplit, irisZoom, gravityPull, waveStripes, flowWarp, dripWipe, portalDive, liquidChrome, glassShatter, inkDiffuse, bloomReveal, godRaysReveal, fluidFlow, lenticularFlip, filmGrain, singularity, polygonFlip, pageCurl, rippleWave, tileScatter, defineTransition, ALL_TRANSITIONS, } from "./transitions/index.js";
|
|
4
|
+
export type { DefineTransitionSpec } from "./transitions/index.js";
|
|
5
|
+
export type { RenderArgs, TextureSource, Transition, TransitionShader, UniformParams, UniformValue, } from "./types.js";
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EACL,QAAQ,EACR,eAAe,EACf,KAAK,EACL,YAAY,EACZ,SAAS,EACT,MAAM,EACN,aAAa,EACb,SAAS,EACT,MAAM,EACN,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,WAAW,EACX,UAAU,EACV,QAAQ,EACR,cAAc,EACd,IAAI,EACJ,WAAW,EACX,UAAU,EACV,SAAS,EACT,KAAK,EACL,KAAK,EACL,eAAe,EACf,IAAI,EACJ,UAAU,EACV,UAAU,EACV,QAAQ,EACR,MAAM,EACN,iBAAiB,EACjB,UAAU,EACV,QAAQ,EACR,MAAM,EACN,YAAY,EACZ,eAAe,EACf,QAAQ,EACR,cAAc,EACd,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,WAAW,EACX,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,WAAW,EACX,aAAa,EACb,SAAS,EACT,cAAc,EACd,SAAS,EACT,WAAW,EACX,WAAW,EACX,QAAQ,EACR,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,eAAe,GAChB,MAAM,wBAAwB,CAAC;AAChC,YAAY,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACnE,YAAY,EACV,UAAU,EACV,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,aAAa,EACb,YAAY,GACb,MAAM,YAAY,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { Runner } from "./runner/runner.js";
|
|
2
|
+
export { dissolve, wipeDirectional, slide, radialReveal, crossZoom, glitch, noiseDissolve, clockWipe, ripple, pixelate, kineticBands, lightLeak, liquidMorph, gridReveal, warpZoom, chromaticPulse, push, shapeReveal, paintBleed, shockwave, swirl, split, directionalWarp, wind, linearBlur, luminaMelt, pinwheel, dreamy, tangentMotionBlur, colorPhase, filmBurn, mosaic, emberScatter, directionalBurn, inkBloom, smolderingEdge, polkaDotsCurtain, crosshatch, dreamyZoom, heatHaze, prismSplit, irisZoom, gravityPull, waveStripes, flowWarp, dripWipe, portalDive, liquidChrome, glassShatter, inkDiffuse, bloomReveal, godRaysReveal, fluidFlow, lenticularFlip, filmGrain, singularity, polygonFlip, pageCurl, rippleWave, tileScatter, defineTransition, ALL_TRANSITIONS, } from "./transitions/index.js";
|
|
3
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,OAAO,EACL,QAAQ,EACR,eAAe,EACf,KAAK,EACL,YAAY,EACZ,SAAS,EACT,MAAM,EACN,aAAa,EACb,SAAS,EACT,MAAM,EACN,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,WAAW,EACX,UAAU,EACV,QAAQ,EACR,cAAc,EACd,IAAI,EACJ,WAAW,EACX,UAAU,EACV,SAAS,EACT,KAAK,EACL,KAAK,EACL,eAAe,EACf,IAAI,EACJ,UAAU,EACV,UAAU,EACV,QAAQ,EACR,MAAM,EACN,iBAAiB,EACjB,UAAU,EACV,QAAQ,EACR,MAAM,EACN,YAAY,EACZ,eAAe,EACf,QAAQ,EACR,cAAc,EACd,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,WAAW,EACX,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,WAAW,EACX,aAAa,EACb,SAAS,EACT,cAAc,EACd,SAAS,EACT,WAAW,EACX,WAAW,EACX,QAAQ,EACR,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,eAAe,GAChB,MAAM,wBAAwB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../../src/inputs/normalize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalize.js","sourceRoot":"","sources":["../../src/inputs/normalize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { FULLSCREEN_VERTEX_SHADER as VERTEX_SHADER, compileShader, linkProgram, buildProgram, paramKeyToUniformName, } from "@vysmo/gl-core";
|
|
2
|
+
export declare const MESH_VERTEX_SHELL_HEAD = "#version 300 es\nprecision highp float;\nuniform float uProgress;\nuniform vec2 uResolution;\nuniform int uPass;\nuniform int uPassCount;\nuniform int uInstances;\nin vec2 aPosition;\nin vec2 aUv;\nin float aOffset;\nin vec2 aCentroid;\nin vec3 aBary;\nin float aRandom;\nout vec2 vUv;\n\n";
|
|
3
|
+
export declare const FRAGMENT_SHELL_HEAD = "#version 300 es\nprecision highp float;\nuniform sampler2D uFrom;\nuniform sampler2D uTo;\nuniform sampler2D uDisplacement;\nuniform sampler2D uEnvironment;\nuniform sampler2D uPrevious;\nuniform float uProgress;\nuniform vec2 uResolution;\nuniform int uPass;\nuniform int uPassCount;\nuniform int uInstances;\nin vec2 vUv;\nout vec4 fragColor;\n\nvec4 getFromColor(vec2 uv) { return texture(uFrom, uv); }\nvec4 getToColor(vec2 uv) { return texture(uTo, uv); }\nvec4 getDisplacement(vec2 uv) { return texture(uDisplacement, uv); }\nvec4 getEnvironment(vec2 uv) { return texture(uEnvironment, uv); }\nvec4 getPrevious(vec2 uv) { return texture(uPrevious, uv); }\n\n// Reflect out-of-range UVs back into [0,1] instead of clamping to edge.\n// Use this when a shader displaces UVs (warp, flow, etc.) and you want\n// the displaced regions to sample real interior content rather than\n// streaked edge texels.\nvec2 mirrorUv(vec2 uv) {\n return abs(mod(uv + 1.0, 2.0) - 1.0);\n}\n\n";
|
|
4
|
+
export declare const FRAGMENT_SHELL_TAIL = "\nvoid main() {\n fragColor = transition(vUv);\n}\n";
|
|
5
|
+
export declare function wrapFragmentShader(userBody: string): string;
|
|
6
|
+
export declare function wrapMeshVertexShader(userBody: string): string;
|
|
7
|
+
//# sourceMappingURL=gl.d.ts.map
|