@pixerate/flair 0.24.0 → 0.26.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.
Files changed (69) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/README.md +1 -0
  3. package/dist/catalog/index.js +2 -2
  4. package/dist/{chunk-WAMA45G3.js → chunk-5USSDEQL.js} +77 -21
  5. package/dist/chunk-5USSDEQL.js.map +1 -0
  6. package/dist/{chunk-GTIAOYOK.js → chunk-74ZLCZOG.js} +13 -10
  7. package/dist/chunk-74ZLCZOG.js.map +1 -0
  8. package/dist/{chunk-NGKNI3QX.js → chunk-CK6EV37I.js} +19 -495
  9. package/dist/chunk-CK6EV37I.js.map +1 -0
  10. package/dist/chunk-DBTLCXKY.js +332 -0
  11. package/dist/chunk-DBTLCXKY.js.map +1 -0
  12. package/dist/chunk-G2B5L234.js +414 -0
  13. package/dist/chunk-G2B5L234.js.map +1 -0
  14. package/dist/{chunk-VP6IEWIK.js → chunk-H6L67KHI.js} +1 -1
  15. package/dist/chunk-H6VDFBIO.js +498 -0
  16. package/dist/chunk-H6VDFBIO.js.map +1 -0
  17. package/dist/{chunk-OQ4EWZ3B.js → chunk-HVXWNGTW.js} +83 -6
  18. package/dist/{chunk-OQ4EWZ3B.js.map → chunk-HVXWNGTW.js.map} +1 -1
  19. package/dist/chunk-JL6TI6II.js +724 -0
  20. package/dist/chunk-JL6TI6II.js.map +1 -0
  21. package/dist/{chunk-OHW7UG6D.js → chunk-ORAFCHX3.js} +26 -2
  22. package/dist/{chunk-OHW7UG6D.js.map → chunk-ORAFCHX3.js.map} +1 -1
  23. package/dist/{chunk-ARKC7LDW.js → chunk-RDU63CDO.js} +2 -331
  24. package/dist/chunk-RDU63CDO.js.map +1 -0
  25. package/dist/{chunk-LVPIIWPP.js → chunk-STKEKXCK.js} +18 -8
  26. package/dist/chunk-STKEKXCK.js.map +1 -0
  27. package/dist/chunk-UCZ43ARE.js +902 -0
  28. package/dist/chunk-UCZ43ARE.js.map +1 -0
  29. package/dist/chunk-YBGRXVAE.js +407 -0
  30. package/dist/chunk-YBGRXVAE.js.map +1 -0
  31. package/dist/cli.js +74 -11
  32. package/dist/cli.js.map +1 -1
  33. package/dist/editor/index.d.ts +1 -1
  34. package/dist/editor/index.js +14 -12
  35. package/dist/editor/index.js.map +1 -1
  36. package/dist/effect-GGH3OSOT.js +47 -0
  37. package/dist/embed/index.d.ts +215 -0
  38. package/dist/embed/index.js +21 -0
  39. package/dist/{export-DH2HMACO.js → export-QVW474KM.js} +3 -3
  40. package/dist/export-QVW474KM.js.map +1 -0
  41. package/dist/frames-VEcqa40g.d.ts +161 -0
  42. package/dist/index.d.ts +47 -164
  43. package/dist/index.js +102 -80
  44. package/dist/index.js.map +1 -1
  45. package/dist/node.d.ts +167 -7
  46. package/dist/node.js +25 -3
  47. package/dist/react/index.d.ts +33 -2
  48. package/dist/react/index.js +54 -9
  49. package/dist/react/index.js.map +1 -1
  50. package/dist/recorder-CDPPTJMG.js +31 -0
  51. package/dist/recorder-CDPPTJMG.js.map +1 -0
  52. package/dist/{renderer-C2P1qGzP.d.ts → renderer-teaa98RE.d.ts} +1 -1
  53. package/dist/svelte/index.d.ts +33 -4
  54. package/dist/svelte/index.js +51 -9
  55. package/dist/svelte/index.js.map +1 -1
  56. package/dist/vector/index.d.ts +52 -1
  57. package/dist/vector/index.js +8 -4
  58. package/package.json +1 -1
  59. package/dist/chunk-ARKC7LDW.js.map +0 -1
  60. package/dist/chunk-GTIAOYOK.js.map +0 -1
  61. package/dist/chunk-LVPIIWPP.js.map +0 -1
  62. package/dist/chunk-NGKNI3QX.js.map +0 -1
  63. package/dist/chunk-UP6QQVRS.js +0 -331
  64. package/dist/chunk-UP6QQVRS.js.map +0 -1
  65. package/dist/chunk-WAMA45G3.js.map +0 -1
  66. package/dist/recorder-HKFFHQES.js +0 -10
  67. /package/dist/{chunk-VP6IEWIK.js.map → chunk-H6L67KHI.js.map} +0 -0
  68. /package/dist/{export-DH2HMACO.js.map → effect-GGH3OSOT.js.map} +0 -0
  69. /package/dist/{recorder-HKFFHQES.js.map → embed/index.js.map} +0 -0
@@ -1,7 +1,3 @@
1
- import {
2
- morphPaths,
3
- morphSequence
4
- } from "./chunk-OHW7UG6D.js";
5
1
  import {
6
2
  getTransitionGLSL
7
3
  } from "./chunk-EHDJ3CPJ.js";
@@ -13,6 +9,10 @@ import {
13
9
  parseControls,
14
10
  rgbToHex
15
11
  } from "./chunk-VYOMXE6I.js";
12
+ import {
13
+ morphPaths,
14
+ morphSequence
15
+ } from "./chunk-ORAFCHX3.js";
16
16
 
17
17
  // src/catalog/inputs.ts
18
18
  var EFFECT_INPUTS = ["image", "video", "svg", "text", "mask", "path"];
@@ -12108,6 +12108,82 @@ ${BACKDROP_CONTROLS}`,
12108
12108
  { name: "Crisp", values: { uEdge: 0.015, uScale: 5 } }
12109
12109
  ]
12110
12110
  };
12111
+ var transitionWhipPan = {
12112
+ kind: "shader",
12113
+ id: "transition-whip-pan",
12114
+ name: "Whip pan",
12115
+ description: "A beat-cut whip pan or zoom punch: the first image flies off in a motion blur that peaks at the cut, and the next one lands from the other side.",
12116
+ category: "transition",
12117
+ video: "transition",
12118
+ tags: ["transition", "whip", "pan", "zoom", "motion blur", "image", "cut"],
12119
+ loop: 4,
12120
+ source: glsl(
12121
+ `// Whip pan: From accelerates away under a motion blur (directional, or radial in zoom mode), swaps at mid-progress, and To decelerates in.
12122
+ ${pair(SAMPLE_IMAGES.landscape, SAMPLE_IMAGES.city)}
12123
+ uniform int uMode; // @control min=0 max=1 default=0 label="Mode (0 whip, 1 zoom)"
12124
+ uniform float uAngle; // @control min=0 max=360 default=0 label="Direction (\xB0)"
12125
+ uniform float uStrength; // @control min=0 max=1 default=0.6 label="Blur strength"
12126
+ uniform float uPunch; // @control min=0 max=1 default=0.15 label="Scale punch"
12127
+ ${BACKDROP_CONTROLS}`,
12128
+ PICTURE,
12129
+ COMMON,
12130
+ `// Mirrored at the frame edges, so a moving image never runs out of picture.
12131
+ vec4 folded(sampler2D tex, vec2 uv) {
12132
+ return coverRGBA(tex, 1.0 - abs(1.0 - mod(uv, 2.0)));
12133
+ }
12134
+
12135
+ // 24 taps spread len along dir, centred on uv: a directional motion blur.
12136
+ vec4 smear(sampler2D tex, vec2 uv, vec2 dir, float len) {
12137
+ vec4 sum = vec4(0.0);
12138
+ for (int i = 0; i < 24; i++) {
12139
+ sum += folded(tex, uv + dir * len * ((float(i) + 0.5) / 24.0 - 0.5));
12140
+ }
12141
+ return sum / 24.0;
12142
+ }
12143
+
12144
+ // 24 taps from uv towards the centre, a zoom blur.
12145
+ vec4 zoomSmear(sampler2D tex, vec2 uv, float len) {
12146
+ vec4 sum = vec4(0.0);
12147
+ for (int i = 0; i < 24; i++) {
12148
+ float k = 1.0 - len * (float(i) + 0.5) / 24.0;
12149
+ sum += folded(tex, 0.5 + (uv - 0.5) * k);
12150
+ }
12151
+ return sum / 24.0;
12152
+ }
12153
+
12154
+ void mainImage(out vec4 fragColor, in vec2 fragCoord) {
12155
+ vec2 uv = fragCoord / iResolution.xy;
12156
+ float t = progress();
12157
+ bool second = t >= 0.5;
12158
+ // Each half runs 0 at its far end to 1 at the cut; travel eases in (u\xB3), so speed (u\xB2) peaks at the cut.
12159
+ float u = second ? 2.0 - 2.0 * t : 2.0 * t;
12160
+ float travel = u * u * u;
12161
+ float speed = u * u;
12162
+ vec4 col;
12163
+ if (uMode == 0) {
12164
+ vec2 dir = vec2(cos(radians(uAngle)), sin(radians(uAngle))) * vec2(iResolution.y / iResolution.x, 1.0);
12165
+ // From leaves along dir; To arrives from behind, so it is offset back along dir.
12166
+ vec2 shift = dir * travel * (0.4 + 0.6 * uStrength) * (second ? -1.0 : 1.0);
12167
+ vec2 p = 0.5 + (uv - 0.5) / (1.0 + uPunch * speed) - shift;
12168
+ float len = uStrength * 0.6 * speed;
12169
+ col = second ? smear(uTo, p, dir, len) : smear(uFrom, p, dir, len);
12170
+ } else {
12171
+ vec2 p = 0.5 + (uv - 0.5) / (1.0 + 4.0 * uPunch * travel + 0.2 * uStrength * travel);
12172
+ float len = uStrength * 0.5 * speed;
12173
+ col = second ? zoomSmear(uTo, p, len) : zoomSmear(uFrom, p, len);
12174
+ }
12175
+ // A touch of exposure at the cut sells the speed.
12176
+ col.rgb *= 1.0 + 0.25 * uStrength * speed * speed;
12177
+ fragColor = col;
12178
+ }`
12179
+ ),
12180
+ presets: [
12181
+ { name: "Whip left", values: { uMode: 0, uAngle: 180 } },
12182
+ { name: "Whip up", values: { uMode: 0, uAngle: 90 } },
12183
+ { name: "Zoom punch", values: { uMode: 1, uStrength: 0.7, uPunch: 0.4 } },
12184
+ { name: "Hard whip", values: { uMode: 0, uAngle: 0, uStrength: 1, uPunch: 0.3 } }
12185
+ ]
12186
+ };
12111
12187
  var morphShaders = [
12112
12188
  featureMorph,
12113
12189
  silhouetteMorph,
@@ -12115,7 +12191,8 @@ var morphShaders = [
12115
12191
  transitionDisplacement,
12116
12192
  transitionLuma,
12117
12193
  transitionParticleSwap,
12118
- transitionInkBleed
12194
+ transitionInkBleed,
12195
+ transitionWhipPan
12119
12196
  ];
12120
12197
 
12121
12198
  // src/catalog/shaders/overlay.ts
@@ -21017,4 +21094,4 @@ export {
21017
21094
  effectControls,
21018
21095
  effectDefaults
21019
21096
  };
21020
- //# sourceMappingURL=chunk-OQ4EWZ3B.js.map
21097
+ //# sourceMappingURL=chunk-HVXWNGTW.js.map