@remotion/transitions 4.0.465 → 4.0.467

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 (42) hide show
  1. package/book-flip.js +2 -0
  2. package/cross-zoom.js +2 -0
  3. package/crosswarp.js +2 -0
  4. package/dist/TransitionSeries.js +16 -6
  5. package/dist/esm/book-flip.mjs +434 -0
  6. package/dist/esm/cross-zoom.mjs +377 -0
  7. package/dist/esm/crosswarp.mjs +331 -0
  8. package/dist/esm/dissolve.mjs +4 -3
  9. package/dist/esm/dreamy-zoom.mjs +348 -0
  10. package/dist/esm/film-burn.mjs +443 -0
  11. package/dist/esm/index.mjs +1020 -209
  12. package/dist/esm/linear-blur.mjs +343 -0
  13. package/dist/esm/ripple.mjs +342 -0
  14. package/dist/esm/swap.mjs +394 -0
  15. package/dist/esm/zoom-blur.mjs +4 -3
  16. package/dist/esm/zoom-in-out.mjs +4 -3
  17. package/dist/html-in-canvas-presentation.js +4 -5
  18. package/dist/index.d.ts +13 -3
  19. package/dist/index.js +9 -1
  20. package/dist/presentations/book-flip.d.ts +14 -0
  21. package/dist/presentations/book-flip.js +255 -0
  22. package/dist/presentations/cross-zoom.d.ts +13 -0
  23. package/dist/presentations/cross-zoom.js +199 -0
  24. package/dist/presentations/crosswarp.d.ts +11 -0
  25. package/dist/presentations/crosswarp.js +154 -0
  26. package/dist/presentations/dreamy-zoom.d.ts +14 -0
  27. package/dist/presentations/dreamy-zoom.js +169 -0
  28. package/dist/presentations/film-burn.d.ts +13 -0
  29. package/dist/presentations/film-burn.js +265 -0
  30. package/dist/presentations/linear-blur.d.ts +13 -0
  31. package/dist/presentations/linear-blur.js +164 -0
  32. package/dist/presentations/ripple.d.ts +14 -0
  33. package/dist/presentations/ripple.js +164 -0
  34. package/dist/presentations/swap.d.ts +15 -0
  35. package/dist/presentations/swap.js +212 -0
  36. package/dist/types.d.ts +1 -1
  37. package/dreamy-zoom.js +2 -0
  38. package/film-burn.js +2 -0
  39. package/linear-blur.js +2 -0
  40. package/package.json +80 -8
  41. package/ripple.js +2 -0
  42. package/swap.js +2 -0
@@ -0,0 +1,164 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ripple = exports.rippleShader = void 0;
4
+ const html_in_canvas_presentation_1 = require("../html-in-canvas-presentation");
5
+ const DEFAULT_AMPLITUDE = 100.0;
6
+ const DEFAULT_SPEED = 50.0;
7
+ const VERTEX_SHADER = `#version 300 es
8
+ in vec2 a_pos;
9
+ out vec2 v_uv;
10
+ void main() {
11
+ v_uv = vec2(a_pos.x * 0.5 + 0.5, 0.5 - a_pos.y * 0.5);
12
+ gl_Position = vec4(a_pos, 0.0, 1.0);
13
+ }`;
14
+ // Adapted from https://gl-transitions.com/editor/ripple
15
+ // Author: gre · License: MIT
16
+ const FRAGMENT_SHADER = `#version 300 es
17
+ precision highp float;
18
+
19
+ uniform sampler2D u_prev;
20
+ uniform sampler2D u_next;
21
+ uniform float u_time;
22
+ uniform float u_amplitude;
23
+ uniform float u_speed;
24
+
25
+ in vec2 v_uv;
26
+ out vec4 outColor;
27
+
28
+ vec4 transition(vec2 uv, float progress) {
29
+ vec2 dir = uv - vec2(0.5);
30
+ float dist = length(dir);
31
+ vec2 offset = dir * (sin(progress * dist * u_amplitude - progress * u_speed) + 0.5) / 30.0 * progress;
32
+ return mix(
33
+ texture(u_next, uv + offset),
34
+ texture(u_prev, uv),
35
+ smoothstep(0.2, 1.0, progress)
36
+ );
37
+ }
38
+
39
+ void main() {
40
+ // In Remotion's HTML-in-canvas convention, u_prev is bound to the incoming
41
+ // scene and u_next is bound to the outgoing scene, so the gl-transitions
42
+ // "from" → u_next and "to" → u_prev. With this binding, progress = u_time
43
+ // (no inversion) maps to the gl-transitions convention where progress = 0
44
+ // shows the outgoing scene and progress = 1 shows the incoming one.
45
+ float progress = u_time;
46
+ outColor = transition(v_uv, progress);
47
+ }`;
48
+ const compileShader = (gl, source, type) => {
49
+ const shader = gl.createShader(type);
50
+ if (!shader) {
51
+ throw new Error('Failed to create shader');
52
+ }
53
+ gl.shaderSource(shader, source);
54
+ gl.compileShader(shader);
55
+ if (!gl.getShaderParameter(shader, gl.COMPILE_STATUS)) {
56
+ const log = gl.getShaderInfoLog(shader);
57
+ gl.deleteShader(shader);
58
+ throw new Error(`Failed to compile shader: ${log}`);
59
+ }
60
+ return shader;
61
+ };
62
+ const createProgram = (gl) => {
63
+ const program = gl.createProgram();
64
+ if (!program) {
65
+ throw new Error('Failed to create WebGL program');
66
+ }
67
+ const vs = compileShader(gl, VERTEX_SHADER, gl.VERTEX_SHADER);
68
+ const fs = compileShader(gl, FRAGMENT_SHADER, gl.FRAGMENT_SHADER);
69
+ gl.attachShader(program, vs);
70
+ gl.attachShader(program, fs);
71
+ gl.linkProgram(program);
72
+ if (!gl.getProgramParameter(program, gl.LINK_STATUS)) {
73
+ const log = gl.getProgramInfoLog(program);
74
+ gl.deleteProgram(program);
75
+ throw new Error(`Failed to link program: ${log}`);
76
+ }
77
+ return program;
78
+ };
79
+ const createTexture = (gl) => {
80
+ const tex = gl.createTexture();
81
+ if (!tex) {
82
+ throw new Error('Failed to create texture');
83
+ }
84
+ gl.bindTexture(gl.TEXTURE_2D, tex);
85
+ gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);
86
+ gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);
87
+ gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR);
88
+ gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR);
89
+ gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, 1, 1, 0, gl.RGBA, gl.UNSIGNED_BYTE, new Uint8Array([0, 0, 0, 0]));
90
+ return tex;
91
+ };
92
+ const rippleShader = (canvas) => {
93
+ const gl = canvas.getContext('webgl2', { premultipliedAlpha: true });
94
+ if (!gl) {
95
+ throw new Error('Failed to create WebGL2 context');
96
+ }
97
+ const program = createProgram(gl);
98
+ const prevTex = createTexture(gl);
99
+ const nextTex = createTexture(gl);
100
+ const vao = gl.createVertexArray();
101
+ gl.bindVertexArray(vao);
102
+ const buffer = gl.createBuffer();
103
+ gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
104
+ gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([-1, -1, 1, -1, -1, 1, 1, 1]), gl.STATIC_DRAW);
105
+ const aPos = gl.getAttribLocation(program, 'a_pos');
106
+ gl.enableVertexAttribArray(aPos);
107
+ gl.vertexAttribPointer(aPos, 2, gl.FLOAT, false, 0, 0);
108
+ const uTime = gl.getUniformLocation(program, 'u_time');
109
+ const uPrev = gl.getUniformLocation(program, 'u_prev');
110
+ const uNext = gl.getUniformLocation(program, 'u_next');
111
+ const uAmplitude = gl.getUniformLocation(program, 'u_amplitude');
112
+ const uSpeed = gl.getUniformLocation(program, 'u_speed');
113
+ const cleanup = () => {
114
+ gl.deleteProgram(program);
115
+ gl.deleteTexture(prevTex);
116
+ gl.deleteTexture(nextTex);
117
+ };
118
+ const clear = () => {
119
+ gl.clearColor(0, 0, 0, 0);
120
+ gl.clear(gl.COLOR_BUFFER_BIT);
121
+ };
122
+ const draw = ({ prevImage, nextImage, width, height, time, passedProps, }) => {
123
+ const { amplitude = DEFAULT_AMPLITUDE, speed = DEFAULT_SPEED } = passedProps;
124
+ if (!prevImage && !nextImage) {
125
+ return;
126
+ }
127
+ if (prevImage && (prevImage.width === 0 || prevImage.height === 0)) {
128
+ return;
129
+ }
130
+ if (nextImage && (nextImage.width === 0 || nextImage.height === 0)) {
131
+ return;
132
+ }
133
+ // When one side is missing, force the mix to fully show the other.
134
+ // At time=0 the shader outputs nextImage. At time=1 the shader outputs prevImage.
135
+ const effectiveTime = !prevImage ? 0 : !nextImage ? 1 : time;
136
+ gl.viewport(0, 0, width, height);
137
+ gl.clearColor(0, 0, 0, 0);
138
+ gl.clear(gl.COLOR_BUFFER_BIT);
139
+ gl.useProgram(program);
140
+ gl.activeTexture(gl.TEXTURE0);
141
+ gl.bindTexture(gl.TEXTURE_2D, prevTex);
142
+ if (prevImage) {
143
+ gl.texElementImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, prevImage);
144
+ }
145
+ gl.uniform1i(uPrev, 0);
146
+ gl.activeTexture(gl.TEXTURE1);
147
+ gl.bindTexture(gl.TEXTURE_2D, nextTex);
148
+ if (nextImage) {
149
+ gl.texElementImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, nextImage);
150
+ }
151
+ gl.uniform1i(uNext, 1);
152
+ gl.uniform1f(uTime, effectiveTime);
153
+ gl.uniform1f(uAmplitude, amplitude);
154
+ gl.uniform1f(uSpeed, speed);
155
+ gl.drawArrays(gl.TRIANGLE_STRIP, 0, 4);
156
+ };
157
+ return {
158
+ clear,
159
+ cleanup,
160
+ draw,
161
+ };
162
+ };
163
+ exports.rippleShader = rippleShader;
164
+ exports.ripple = (0, html_in_canvas_presentation_1.makeHtmlInCanvasPresentation)(exports.rippleShader);
@@ -0,0 +1,15 @@
1
+ export type SwapProps = {
2
+ reflection?: number;
3
+ perspective?: number;
4
+ depth?: number;
5
+ };
6
+ export declare const swapShader: (canvas: OffscreenCanvas) => {
7
+ clear: () => void;
8
+ cleanup: () => void;
9
+ draw: import("..").HtmlInCanvasShaderDraw<SwapProps>;
10
+ };
11
+ export declare const swap: (props: SwapProps & {
12
+ effects?: import("remotion").EffectsProp | undefined;
13
+ }) => import("..").TransitionPresentation<SwapProps & {
14
+ effects?: import("remotion").EffectsProp | undefined;
15
+ }>;
@@ -0,0 +1,212 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.swap = exports.swapShader = void 0;
4
+ const html_in_canvas_presentation_1 = require("../html-in-canvas-presentation");
5
+ const DEFAULT_REFLECTION = 0.4;
6
+ const DEFAULT_PERSPECTIVE = 0.2;
7
+ const DEFAULT_DEPTH = 3.0;
8
+ const VERTEX_SHADER = `#version 300 es
9
+ in vec2 a_pos;
10
+ out vec2 v_uv;
11
+ void main() {
12
+ v_uv = vec2(a_pos.x * 0.5 + 0.5, 0.5 - a_pos.y * 0.5);
13
+ gl_Position = vec4(a_pos, 0.0, 1.0);
14
+ }`;
15
+ // Adapted from https://gl-transitions.com/editor/swap
16
+ // Author: gre - License: MIT
17
+ const FRAGMENT_SHADER = `#version 300 es
18
+ precision highp float;
19
+
20
+ uniform sampler2D u_prev;
21
+ uniform sampler2D u_next;
22
+ uniform float u_time;
23
+ uniform float u_reflection;
24
+ uniform float u_perspective;
25
+ uniform float u_depth;
26
+
27
+ in vec2 v_uv;
28
+ out vec4 outColor;
29
+
30
+ const vec4 black = vec4(0.0, 0.0, 0.0, 1.0);
31
+ const vec2 boundMin = vec2(0.0, 0.0);
32
+ const vec2 boundMax = vec2(1.0, 1.0);
33
+
34
+ bool inBounds(vec2 p) {
35
+ return all(lessThan(boundMin, p)) && all(lessThan(p, boundMax));
36
+ }
37
+
38
+ vec2 project(vec2 p) {
39
+ return p * vec2(1.0, -1.2) + vec2(0.0, 2.22);
40
+ }
41
+
42
+ vec4 bgColor(vec2 p, vec2 pfr, vec2 pto) {
43
+ vec4 c = black;
44
+ pfr = project(pfr);
45
+ if (inBounds(pfr)) {
46
+ c += mix(black, texture(u_prev, pfr), u_reflection * mix(1.0, 0.0, pfr.y));
47
+ }
48
+ pto = project(pto);
49
+ if (inBounds(pto)) {
50
+ c += mix(black, texture(u_next, pto), u_reflection * mix(1.0, 0.0, pto.y));
51
+ }
52
+ return c;
53
+ }
54
+
55
+ vec4 transition(vec2 p, float progress) {
56
+ vec2 pfr;
57
+ vec2 pto = vec2(-1.0);
58
+
59
+ float size = mix(1.0, u_depth, progress);
60
+ float persp = u_perspective * progress;
61
+ pfr = (p + vec2(-0.0, -0.5)) * vec2(
62
+ size / (1.0 - u_perspective * progress),
63
+ size / (1.0 - size * persp * p.x)
64
+ ) + vec2(0.0, 0.5);
65
+
66
+ size = mix(1.0, u_depth, 1.0 - progress);
67
+ persp = u_perspective * (1.0 - progress);
68
+ pto = (p + vec2(-1.0, -0.5)) * vec2(
69
+ size / (1.0 - u_perspective * (1.0 - progress)),
70
+ size / (1.0 - size * persp * (0.5 - p.x))
71
+ ) + vec2(1.0, 0.5);
72
+
73
+ if (progress < 0.5) {
74
+ if (inBounds(pfr)) {
75
+ return texture(u_prev, pfr);
76
+ }
77
+ if (inBounds(pto)) {
78
+ return texture(u_next, pto);
79
+ }
80
+ }
81
+ if (inBounds(pto)) {
82
+ return texture(u_next, pto);
83
+ }
84
+ if (inBounds(pfr)) {
85
+ return texture(u_prev, pfr);
86
+ }
87
+ return bgColor(p, pfr, pto);
88
+ }
89
+
90
+ void main() {
91
+ float progress = 1.0 - u_time;
92
+ outColor = transition(v_uv, progress);
93
+ }`;
94
+ const compileShader = (gl, source, type) => {
95
+ const shader = gl.createShader(type);
96
+ if (!shader) {
97
+ throw new Error('Failed to create shader');
98
+ }
99
+ gl.shaderSource(shader, source);
100
+ gl.compileShader(shader);
101
+ if (!gl.getShaderParameter(shader, gl.COMPILE_STATUS)) {
102
+ const log = gl.getShaderInfoLog(shader);
103
+ gl.deleteShader(shader);
104
+ throw new Error(`Failed to compile shader: ${log}`);
105
+ }
106
+ return shader;
107
+ };
108
+ const createProgram = (gl) => {
109
+ const program = gl.createProgram();
110
+ if (!program) {
111
+ throw new Error('Failed to create WebGL program');
112
+ }
113
+ const vs = compileShader(gl, VERTEX_SHADER, gl.VERTEX_SHADER);
114
+ const fs = compileShader(gl, FRAGMENT_SHADER, gl.FRAGMENT_SHADER);
115
+ gl.attachShader(program, vs);
116
+ gl.attachShader(program, fs);
117
+ gl.linkProgram(program);
118
+ if (!gl.getProgramParameter(program, gl.LINK_STATUS)) {
119
+ const log = gl.getProgramInfoLog(program);
120
+ gl.deleteProgram(program);
121
+ throw new Error(`Failed to link program: ${log}`);
122
+ }
123
+ return program;
124
+ };
125
+ const createTexture = (gl) => {
126
+ const tex = gl.createTexture();
127
+ if (!tex) {
128
+ throw new Error('Failed to create texture');
129
+ }
130
+ gl.bindTexture(gl.TEXTURE_2D, tex);
131
+ gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);
132
+ gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);
133
+ gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR);
134
+ gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR);
135
+ gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, 1, 1, 0, gl.RGBA, gl.UNSIGNED_BYTE, new Uint8Array([0, 0, 0, 0]));
136
+ return tex;
137
+ };
138
+ const swapShader = (canvas) => {
139
+ const gl = canvas.getContext('webgl2', { premultipliedAlpha: true });
140
+ if (!gl) {
141
+ throw new Error('Failed to create WebGL2 context');
142
+ }
143
+ const program = createProgram(gl);
144
+ const prevTex = createTexture(gl);
145
+ const nextTex = createTexture(gl);
146
+ const vao = gl.createVertexArray();
147
+ gl.bindVertexArray(vao);
148
+ const buffer = gl.createBuffer();
149
+ gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
150
+ gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([-1, -1, 1, -1, -1, 1, 1, 1]), gl.STATIC_DRAW);
151
+ const aPos = gl.getAttribLocation(program, 'a_pos');
152
+ gl.enableVertexAttribArray(aPos);
153
+ gl.vertexAttribPointer(aPos, 2, gl.FLOAT, false, 0, 0);
154
+ const uTime = gl.getUniformLocation(program, 'u_time');
155
+ const uPrev = gl.getUniformLocation(program, 'u_prev');
156
+ const uNext = gl.getUniformLocation(program, 'u_next');
157
+ const uReflection = gl.getUniformLocation(program, 'u_reflection');
158
+ const uPerspective = gl.getUniformLocation(program, 'u_perspective');
159
+ const uDepth = gl.getUniformLocation(program, 'u_depth');
160
+ const cleanup = () => {
161
+ gl.deleteProgram(program);
162
+ gl.deleteTexture(prevTex);
163
+ gl.deleteTexture(nextTex);
164
+ };
165
+ const clear = () => {
166
+ gl.clearColor(0, 0, 0, 0);
167
+ gl.clear(gl.COLOR_BUFFER_BIT);
168
+ };
169
+ const draw = ({ prevImage, nextImage, width, height, time, passedProps, }) => {
170
+ const { reflection = DEFAULT_REFLECTION, perspective = DEFAULT_PERSPECTIVE, depth = DEFAULT_DEPTH, } = passedProps;
171
+ if (!prevImage && !nextImage) {
172
+ return;
173
+ }
174
+ if (prevImage && (prevImage.width === 0 || prevImage.height === 0)) {
175
+ return;
176
+ }
177
+ if (nextImage && (nextImage.width === 0 || nextImage.height === 0)) {
178
+ return;
179
+ }
180
+ // When one side is missing, force the mix to fully show the other.
181
+ // At time=0 the shader outputs nextImage. At time=1 the shader outputs prevImage.
182
+ const effectiveTime = !prevImage ? 0 : !nextImage ? 1 : time;
183
+ gl.viewport(0, 0, width, height);
184
+ gl.clearColor(0, 0, 0, 0);
185
+ gl.clear(gl.COLOR_BUFFER_BIT);
186
+ gl.useProgram(program);
187
+ gl.activeTexture(gl.TEXTURE0);
188
+ gl.bindTexture(gl.TEXTURE_2D, prevTex);
189
+ if (prevImage) {
190
+ gl.texElementImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, prevImage);
191
+ }
192
+ gl.uniform1i(uPrev, 0);
193
+ gl.activeTexture(gl.TEXTURE1);
194
+ gl.bindTexture(gl.TEXTURE_2D, nextTex);
195
+ if (nextImage) {
196
+ gl.texElementImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, nextImage);
197
+ }
198
+ gl.uniform1i(uNext, 1);
199
+ gl.uniform1f(uTime, effectiveTime);
200
+ gl.uniform1f(uReflection, reflection);
201
+ gl.uniform1f(uPerspective, perspective);
202
+ gl.uniform1f(uDepth, depth);
203
+ gl.drawArrays(gl.TRIANGLE_STRIP, 0, 4);
204
+ };
205
+ return {
206
+ clear,
207
+ cleanup,
208
+ draw,
209
+ };
210
+ };
211
+ exports.swapShader = swapShader;
212
+ exports.swap = (0, html_in_canvas_presentation_1.makeHtmlInCanvasPresentation)(exports.swapShader);
package/dist/types.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import type { ComponentType } from 'react';
2
1
  import type React from 'react';
2
+ import type { ComponentType } from 'react';
3
3
  import type { DrawFunction } from './TransitionSeries';
4
4
  export type PresentationDirection = 'entering' | 'exiting';
5
5
  export type TransitionTiming = {
package/dreamy-zoom.js ADDED
@@ -0,0 +1,2 @@
1
+ // For backwards compatibility when you use `esm-wallaby`
2
+ module.exports = require('./dist/presentations/dreamy-zoom.js');
package/film-burn.js ADDED
@@ -0,0 +1,2 @@
1
+ // For backwards compatibility when you use `esm-wallaby`
2
+ module.exports = require('./dist/presentations/film-burn.js');
package/linear-blur.js ADDED
@@ -0,0 +1,2 @@
1
+ // For backwards compatibility when you use `esm-wallaby`
2
+ module.exports = require('./dist/presentations/linear-blur.js');
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "url": "https://github.com/remotion-dev/remotion/tree/main/packages/transitions"
4
4
  },
5
5
  "name": "@remotion/transitions",
6
- "version": "4.0.465",
6
+ "version": "4.0.467",
7
7
  "description": "Library for creating transitions in Remotion",
8
8
  "main": "dist/esm/index.mjs",
9
9
  "module": "dist/esm/index.js",
@@ -22,18 +22,18 @@
22
22
  "url": "https://github.com/remotion-dev/remotion/issues"
23
23
  },
24
24
  "dependencies": {
25
- "remotion": "4.0.465",
26
- "@remotion/shapes": "4.0.465",
27
- "@remotion/paths": "4.0.465"
25
+ "remotion": "4.0.467",
26
+ "@remotion/shapes": "4.0.467",
27
+ "@remotion/paths": "4.0.467"
28
28
  },
29
29
  "devDependencies": {
30
30
  "@happy-dom/global-registrator": "14.5.1",
31
- "remotion": "4.0.465",
31
+ "remotion": "4.0.467",
32
32
  "react": "19.2.3",
33
33
  "react-dom": "19.2.3",
34
- "@remotion/test-utils": "4.0.465",
35
- "@remotion/player": "4.0.465",
36
- "@remotion/eslint-config-internal": "4.0.465",
34
+ "@remotion/test-utils": "4.0.467",
35
+ "@remotion/player": "4.0.467",
36
+ "@remotion/eslint-config-internal": "4.0.467",
37
37
  "eslint": "9.19.0",
38
38
  "@typescript/native-preview": "7.0.0-dev.20260217.1"
39
39
  },
@@ -85,12 +85,36 @@
85
85
  "import": "./dist/esm/clock-wipe.mjs",
86
86
  "require": "./dist/presentations/clock-wipe.js"
87
87
  },
88
+ "./book-flip": {
89
+ "types": "./dist/presentations/book-flip.d.ts",
90
+ "module": "./dist/esm/book-flip.mjs",
91
+ "import": "./dist/esm/book-flip.mjs",
92
+ "require": "./dist/presentations/book-flip.js"
93
+ },
88
94
  "./zoom-blur": {
89
95
  "types": "./dist/presentations/zoom-blur.d.ts",
90
96
  "module": "./dist/esm/zoom-blur.mjs",
91
97
  "import": "./dist/esm/zoom-blur.mjs",
92
98
  "require": "./dist/presentations/zoom-blur.js"
93
99
  },
100
+ "./dreamy-zoom": {
101
+ "types": "./dist/presentations/dreamy-zoom.d.ts",
102
+ "module": "./dist/esm/dreamy-zoom.mjs",
103
+ "import": "./dist/esm/dreamy-zoom.mjs",
104
+ "require": "./dist/presentations/dreamy-zoom.js"
105
+ },
106
+ "./film-burn": {
107
+ "types": "./dist/presentations/film-burn.d.ts",
108
+ "module": "./dist/esm/film-burn.mjs",
109
+ "import": "./dist/esm/film-burn.mjs",
110
+ "require": "./dist/presentations/film-burn.js"
111
+ },
112
+ "./linear-blur": {
113
+ "types": "./dist/presentations/linear-blur.d.ts",
114
+ "module": "./dist/esm/linear-blur.mjs",
115
+ "import": "./dist/esm/linear-blur.mjs",
116
+ "require": "./dist/presentations/linear-blur.js"
117
+ },
94
118
  "./zoom-in-out": {
95
119
  "types": "./dist/presentations/zoom-in-out.d.ts",
96
120
  "module": "./dist/esm/zoom-in-out.mjs",
@@ -115,6 +139,30 @@
115
139
  "import": "./dist/esm/dissolve.mjs",
116
140
  "require": "./dist/presentations/dissolve.js"
117
141
  },
142
+ "./ripple": {
143
+ "types": "./dist/presentations/ripple.d.ts",
144
+ "module": "./dist/esm/ripple.mjs",
145
+ "import": "./dist/esm/ripple.mjs",
146
+ "require": "./dist/presentations/ripple.js"
147
+ },
148
+ "./crosswarp": {
149
+ "types": "./dist/presentations/crosswarp.d.ts",
150
+ "module": "./dist/esm/crosswarp.mjs",
151
+ "import": "./dist/esm/crosswarp.mjs",
152
+ "require": "./dist/presentations/crosswarp.js"
153
+ },
154
+ "./cross-zoom": {
155
+ "types": "./dist/presentations/cross-zoom.d.ts",
156
+ "module": "./dist/esm/cross-zoom.mjs",
157
+ "import": "./dist/esm/cross-zoom.mjs",
158
+ "require": "./dist/presentations/cross-zoom.js"
159
+ },
160
+ "./swap": {
161
+ "types": "./dist/presentations/swap.d.ts",
162
+ "module": "./dist/esm/swap.mjs",
163
+ "import": "./dist/esm/swap.mjs",
164
+ "require": "./dist/presentations/swap.js"
165
+ },
118
166
  "./package.json": "./package.json"
119
167
  },
120
168
  "typesVersions": {
@@ -137,17 +185,41 @@
137
185
  "clock-wipe": [
138
186
  "dist/presentations/clock-wipe.d.ts"
139
187
  ],
188
+ "book-flip": [
189
+ "dist/presentations/book-flip.d.ts"
190
+ ],
140
191
  "iris": [
141
192
  "dist/presentations/iris.d.ts"
142
193
  ],
143
194
  "zoom-blur": [
144
195
  "dist/presentations/zoom-blur.d.ts"
145
196
  ],
197
+ "dreamy-zoom": [
198
+ "dist/presentations/dreamy-zoom.d.ts"
199
+ ],
200
+ "film-burn": [
201
+ "dist/presentations/film-burn.d.ts"
202
+ ],
203
+ "linear-blur": [
204
+ "dist/presentations/linear-blur.d.ts"
205
+ ],
146
206
  "zoom-in-out": [
147
207
  "dist/presentations/zoom-in-out.d.ts"
148
208
  ],
149
209
  "dissolve": [
150
210
  "dist/presentations/dissolve.d.ts"
211
+ ],
212
+ "ripple": [
213
+ "dist/presentations/ripple.d.ts"
214
+ ],
215
+ "crosswarp": [
216
+ "dist/presentations/crosswarp.d.ts"
217
+ ],
218
+ "cross-zoom": [
219
+ "dist/presentations/cross-zoom.d.ts"
220
+ ],
221
+ "swap": [
222
+ "dist/presentations/swap.d.ts"
151
223
  ]
152
224
  }
153
225
  },
package/ripple.js ADDED
@@ -0,0 +1,2 @@
1
+ // For backwards compatibility when you use `esm-wallaby`
2
+ module.exports = require('./dist/presentations/ripple.js');
package/swap.js ADDED
@@ -0,0 +1,2 @@
1
+ // For backwards compatibility when you use `esm-wallaby`
2
+ module.exports = require('./dist/presentations/swap.js');