@remotion/effects 4.0.475 → 4.0.477
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/effect-internals.d.ts +8 -0
- package/dist/entrypoints/blur.d.ts +6 -0
- package/dist/esm/fisheye.mjs +9 -2
- package/dist/esm/index.mjs +549 -51
- package/dist/esm/lines.mjs +11 -0
- package/dist/esm/pattern.mjs +575 -0
- package/dist/esm/rings.mjs +20 -2
- package/dist/esm/tv-signal-off.mjs +317 -0
- package/dist/esm/vignette.mjs +9 -2
- package/dist/esm/waves.mjs +11 -0
- package/dist/esm/zigzag.mjs +11 -0
- package/dist/index.d.ts +1 -0
- package/dist/lines.d.ts +11 -0
- package/dist/pattern.d.ts +33 -0
- package/dist/rings.d.ts +11 -0
- package/dist/tv-signal-off.d.ts +7 -0
- package/dist/uv-coordinate.d.ts +2 -0
- package/dist/waves.d.ts +11 -0
- package/dist/zigzag.d.ts +11 -0
- package/package.json +19 -3
|
@@ -0,0 +1,317 @@
|
|
|
1
|
+
// src/tv-signal-off.ts
|
|
2
|
+
import { Internals } from "remotion";
|
|
3
|
+
|
|
4
|
+
// src/validate-effect-param.ts
|
|
5
|
+
var assertEffectParamsObject = (params, effectLabel) => {
|
|
6
|
+
if (params === null || typeof params !== "object") {
|
|
7
|
+
throw new TypeError(`${effectLabel} effect requires a parameters object, but got ${JSON.stringify(params)}`);
|
|
8
|
+
}
|
|
9
|
+
};
|
|
10
|
+
var assertRequiredFiniteNumber = (value, name) => {
|
|
11
|
+
if (typeof value !== "number" || !Number.isFinite(value)) {
|
|
12
|
+
throw new TypeError(`"${name}" must be a finite number, but got ${JSON.stringify(value)}`);
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
var assertRequiredColor = (value, name) => {
|
|
16
|
+
if (typeof value !== "string" || value.length === 0) {
|
|
17
|
+
throw new TypeError(`"${name}" must be a non-empty string, but got ${JSON.stringify(value)}`);
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
var assertOptionalColor = (value, name) => {
|
|
21
|
+
if (value === undefined) {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
assertRequiredColor(value, name);
|
|
25
|
+
};
|
|
26
|
+
var assertOptionalBoolean = (value, name) => {
|
|
27
|
+
if (value === undefined) {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
if (typeof value !== "boolean") {
|
|
31
|
+
throw new TypeError(`"${name}" must be a boolean, but got ${JSON.stringify(value)}`);
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
// src/color-utils.ts
|
|
36
|
+
var DEFAULT_AMOUNT = 1;
|
|
37
|
+
var DEFAULT_BRIGHTNESS_AMOUNT = 0;
|
|
38
|
+
var DEFAULT_HUE_DEGREES = 0;
|
|
39
|
+
var colorAmountSchema = {
|
|
40
|
+
type: "number",
|
|
41
|
+
min: 0,
|
|
42
|
+
max: 1,
|
|
43
|
+
step: 0.01,
|
|
44
|
+
default: DEFAULT_AMOUNT,
|
|
45
|
+
description: "Amount",
|
|
46
|
+
hiddenFromList: false
|
|
47
|
+
};
|
|
48
|
+
var colorMultiplierSchema = {
|
|
49
|
+
type: "number",
|
|
50
|
+
min: 0,
|
|
51
|
+
step: 0.01,
|
|
52
|
+
default: DEFAULT_AMOUNT,
|
|
53
|
+
description: "Amount",
|
|
54
|
+
hiddenFromList: false
|
|
55
|
+
};
|
|
56
|
+
var brightnessAmountSchema = {
|
|
57
|
+
type: "number",
|
|
58
|
+
min: -1,
|
|
59
|
+
max: 1,
|
|
60
|
+
step: 0.01,
|
|
61
|
+
default: DEFAULT_BRIGHTNESS_AMOUNT,
|
|
62
|
+
description: "Amount",
|
|
63
|
+
hiddenFromList: false
|
|
64
|
+
};
|
|
65
|
+
var hueDegreesSchema = {
|
|
66
|
+
type: "rotation-degrees",
|
|
67
|
+
step: 1,
|
|
68
|
+
default: DEFAULT_HUE_DEGREES,
|
|
69
|
+
description: "Degrees"
|
|
70
|
+
};
|
|
71
|
+
var assertOptionalFiniteNumber = (value, name) => {
|
|
72
|
+
if (value === undefined) {
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
assertRequiredFiniteNumber(value, name);
|
|
76
|
+
};
|
|
77
|
+
var validateUnitInterval = (value, name) => {
|
|
78
|
+
if (value < 0) {
|
|
79
|
+
throw new TypeError(`"${name}" must be >= 0, but got ${JSON.stringify(value)}`);
|
|
80
|
+
}
|
|
81
|
+
if (value > 1) {
|
|
82
|
+
throw new TypeError(`"${name}" must be <= 1, but got ${JSON.stringify(value)}`);
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
var validateNonNegative = (value, name) => {
|
|
86
|
+
if (value < 0) {
|
|
87
|
+
throw new TypeError(`"${name}" must be >= 0, but got ${JSON.stringify(value)}`);
|
|
88
|
+
}
|
|
89
|
+
};
|
|
90
|
+
var validateSignedUnitInterval = (value, name) => {
|
|
91
|
+
if (value < -1) {
|
|
92
|
+
throw new TypeError(`"${name}" must be >= -1, but got ${JSON.stringify(value)}`);
|
|
93
|
+
}
|
|
94
|
+
if (value > 1) {
|
|
95
|
+
throw new TypeError(`"${name}" must be <= 1, but got ${JSON.stringify(value)}`);
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
var clampColorChannel = (value) => {
|
|
99
|
+
return Math.max(0, Math.min(255, value));
|
|
100
|
+
};
|
|
101
|
+
var parseColorRgba = (ctx, color) => {
|
|
102
|
+
ctx.clearRect(0, 0, 1, 1);
|
|
103
|
+
ctx.fillStyle = color;
|
|
104
|
+
ctx.fillRect(0, 0, 1, 1);
|
|
105
|
+
const { data } = ctx.getImageData(0, 0, 1, 1);
|
|
106
|
+
return [data[0], data[1], data[2], data[3]];
|
|
107
|
+
};
|
|
108
|
+
|
|
109
|
+
// src/tv-signal-off.ts
|
|
110
|
+
var { createEffect, createWebGL2ContextError } = Internals;
|
|
111
|
+
var DEFAULT_AMOUNT2 = 1;
|
|
112
|
+
var tvSignalOffSchema = {
|
|
113
|
+
amount: {
|
|
114
|
+
type: "number",
|
|
115
|
+
min: 0,
|
|
116
|
+
max: 1,
|
|
117
|
+
step: 0.01,
|
|
118
|
+
default: DEFAULT_AMOUNT2,
|
|
119
|
+
description: "Amount",
|
|
120
|
+
hiddenFromList: false
|
|
121
|
+
}
|
|
122
|
+
};
|
|
123
|
+
var resolve = (params) => ({
|
|
124
|
+
amount: params.amount ?? DEFAULT_AMOUNT2
|
|
125
|
+
});
|
|
126
|
+
var validateTvSignalOffParams = (params) => {
|
|
127
|
+
assertEffectParamsObject(params, "TV signal off");
|
|
128
|
+
assertOptionalFiniteNumber(params.amount, "amount");
|
|
129
|
+
validateUnitInterval(params.amount ?? DEFAULT_AMOUNT2, "amount");
|
|
130
|
+
};
|
|
131
|
+
var VERTEX_SHADER = `#version 300 es
|
|
132
|
+
in vec2 aPos;
|
|
133
|
+
in vec2 aUv;
|
|
134
|
+
out vec2 vUv;
|
|
135
|
+
|
|
136
|
+
void main() {
|
|
137
|
+
vUv = aUv;
|
|
138
|
+
gl_Position = vec4(aPos, 0.0, 1.0);
|
|
139
|
+
}
|
|
140
|
+
`;
|
|
141
|
+
var FRAGMENT_SHADER = `#version 300 es
|
|
142
|
+
precision highp float;
|
|
143
|
+
|
|
144
|
+
in vec2 vUv;
|
|
145
|
+
out vec4 fragColor;
|
|
146
|
+
|
|
147
|
+
uniform sampler2D uSource;
|
|
148
|
+
uniform float uAmount;
|
|
149
|
+
|
|
150
|
+
vec3 topBar(float x) {
|
|
151
|
+
if (x < 1.0 / 7.0) return vec3(0.74);
|
|
152
|
+
if (x < 2.0 / 7.0) return vec3(1.0, 1.0, 0.0);
|
|
153
|
+
if (x < 3.0 / 7.0) return vec3(0.0, 1.0, 1.0);
|
|
154
|
+
if (x < 4.0 / 7.0) return vec3(0.0, 1.0, 0.0);
|
|
155
|
+
if (x < 5.0 / 7.0) return vec3(1.0, 0.0, 1.0);
|
|
156
|
+
if (x < 6.0 / 7.0) return vec3(1.0, 0.0, 0.0);
|
|
157
|
+
return vec3(0.0, 0.0, 1.0);
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
vec3 middleBar(float x) {
|
|
161
|
+
if (x < 1.0 / 7.0) return vec3(0.0, 0.0, 1.0);
|
|
162
|
+
if (x < 2.0 / 7.0) return vec3(0.0);
|
|
163
|
+
if (x < 3.0 / 7.0) return vec3(1.0, 0.0, 1.0);
|
|
164
|
+
if (x < 4.0 / 7.0) return vec3(0.0);
|
|
165
|
+
if (x < 5.0 / 7.0) return vec3(0.0, 1.0, 1.0);
|
|
166
|
+
if (x < 6.0 / 7.0) return vec3(0.0);
|
|
167
|
+
return vec3(0.74);
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
vec3 tvPattern(vec2 uv) {
|
|
171
|
+
if (uv.y < 0.64) {
|
|
172
|
+
return topBar(uv.x);
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
if (uv.y < 0.76) {
|
|
176
|
+
return middleBar(uv.x);
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
if (uv.y < 0.88) {
|
|
180
|
+
if (uv.x < 0.58) return vec3(1.0);
|
|
181
|
+
float ramp = smoothstep(0.58, 1.0, uv.x);
|
|
182
|
+
return vec3(1.0 - ramp);
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
if (uv.x < 0.58) {
|
|
186
|
+
float stepValue = floor(uv.x * 12.0) / 11.0;
|
|
187
|
+
return vec3(stepValue);
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
return vec3(0.0);
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
void main() {
|
|
194
|
+
vec4 color = texture(uSource, vUv);
|
|
195
|
+
vec3 sourceColor = color.a == 0.0 ? vec3(0.0) : color.rgb / color.a;
|
|
196
|
+
vec3 bars = tvPattern(vUv);
|
|
197
|
+
vec3 mixed = mix(sourceColor, bars, uAmount);
|
|
198
|
+
|
|
199
|
+
fragColor = vec4(mixed * color.a, color.a);
|
|
200
|
+
}
|
|
201
|
+
`;
|
|
202
|
+
var compileShader = (gl, type, source) => {
|
|
203
|
+
const shader = gl.createShader(type);
|
|
204
|
+
if (!shader) {
|
|
205
|
+
throw new Error("Failed to create shader");
|
|
206
|
+
}
|
|
207
|
+
gl.shaderSource(shader, source);
|
|
208
|
+
gl.compileShader(shader);
|
|
209
|
+
if (!gl.getShaderParameter(shader, gl.COMPILE_STATUS)) {
|
|
210
|
+
const info = gl.getShaderInfoLog(shader) ?? "Unknown shader compile error";
|
|
211
|
+
gl.deleteShader(shader);
|
|
212
|
+
throw new Error(info);
|
|
213
|
+
}
|
|
214
|
+
return shader;
|
|
215
|
+
};
|
|
216
|
+
var createProgram = (gl, vertexSource, fragmentSource) => {
|
|
217
|
+
const vertex = compileShader(gl, gl.VERTEX_SHADER, vertexSource);
|
|
218
|
+
const fragment = compileShader(gl, gl.FRAGMENT_SHADER, fragmentSource);
|
|
219
|
+
const program = gl.createProgram();
|
|
220
|
+
if (!program) {
|
|
221
|
+
throw new Error("Failed to create program");
|
|
222
|
+
}
|
|
223
|
+
gl.attachShader(program, vertex);
|
|
224
|
+
gl.attachShader(program, fragment);
|
|
225
|
+
gl.linkProgram(program);
|
|
226
|
+
gl.deleteShader(vertex);
|
|
227
|
+
gl.deleteShader(fragment);
|
|
228
|
+
if (!gl.getProgramParameter(program, gl.LINK_STATUS)) {
|
|
229
|
+
const info = gl.getProgramInfoLog(program) ?? "Unknown program link error";
|
|
230
|
+
gl.deleteProgram(program);
|
|
231
|
+
throw new Error(info);
|
|
232
|
+
}
|
|
233
|
+
return program;
|
|
234
|
+
};
|
|
235
|
+
var createTvSignalOffState = (gl, vertexSource, fragmentSource) => {
|
|
236
|
+
const program = createProgram(gl, vertexSource, fragmentSource);
|
|
237
|
+
const vao = gl.createVertexArray();
|
|
238
|
+
const vbo = gl.createBuffer();
|
|
239
|
+
const texture = gl.createTexture();
|
|
240
|
+
if (!vao || !vbo || !texture) {
|
|
241
|
+
throw new Error("Failed to create WebGL resources");
|
|
242
|
+
}
|
|
243
|
+
gl.bindVertexArray(vao);
|
|
244
|
+
gl.bindBuffer(gl.ARRAY_BUFFER, vbo);
|
|
245
|
+
gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([-1, -1, 0, 0, 1, -1, 1, 0, -1, 1, 0, 1, 1, 1, 1, 1]), gl.STATIC_DRAW);
|
|
246
|
+
const aPos = gl.getAttribLocation(program, "aPos");
|
|
247
|
+
const aUv = gl.getAttribLocation(program, "aUv");
|
|
248
|
+
gl.enableVertexAttribArray(aPos);
|
|
249
|
+
gl.vertexAttribPointer(aPos, 2, gl.FLOAT, false, 16, 0);
|
|
250
|
+
gl.enableVertexAttribArray(aUv);
|
|
251
|
+
gl.vertexAttribPointer(aUv, 2, gl.FLOAT, false, 16, 8);
|
|
252
|
+
gl.bindTexture(gl.TEXTURE_2D, texture);
|
|
253
|
+
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR);
|
|
254
|
+
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR);
|
|
255
|
+
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);
|
|
256
|
+
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);
|
|
257
|
+
return {
|
|
258
|
+
gl,
|
|
259
|
+
program,
|
|
260
|
+
vao,
|
|
261
|
+
vbo,
|
|
262
|
+
texture,
|
|
263
|
+
uSource: gl.getUniformLocation(program, "uSource"),
|
|
264
|
+
uAmount: gl.getUniformLocation(program, "uAmount")
|
|
265
|
+
};
|
|
266
|
+
};
|
|
267
|
+
var tvSignalOff = createEffect({
|
|
268
|
+
type: "remotion/tv-signal-off",
|
|
269
|
+
label: "tvSignalOff()",
|
|
270
|
+
documentationLink: "https://www.remotion.dev/docs/effects/tv-signal-off",
|
|
271
|
+
backend: "webgl2",
|
|
272
|
+
calculateKey: (params) => {
|
|
273
|
+
const resolved = resolve(params);
|
|
274
|
+
return `tv-signal-off-${resolved.amount}`;
|
|
275
|
+
},
|
|
276
|
+
setup: (target) => {
|
|
277
|
+
const gl = target.getContext("webgl2", {
|
|
278
|
+
premultipliedAlpha: true,
|
|
279
|
+
alpha: true,
|
|
280
|
+
preserveDrawingBuffer: true
|
|
281
|
+
});
|
|
282
|
+
if (!gl) {
|
|
283
|
+
throw createWebGL2ContextError("TV signal off effect");
|
|
284
|
+
}
|
|
285
|
+
gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, true);
|
|
286
|
+
return createTvSignalOffState(gl, VERTEX_SHADER, FRAGMENT_SHADER);
|
|
287
|
+
},
|
|
288
|
+
apply: ({ source, width, height, params, state, flipSourceY }) => {
|
|
289
|
+
const resolved = resolve(params);
|
|
290
|
+
state.gl.viewport(0, 0, width, height);
|
|
291
|
+
state.gl.bindFramebuffer(state.gl.FRAMEBUFFER, null);
|
|
292
|
+
state.gl.activeTexture(state.gl.TEXTURE0);
|
|
293
|
+
state.gl.bindTexture(state.gl.TEXTURE_2D, state.texture);
|
|
294
|
+
state.gl.pixelStorei(state.gl.UNPACK_FLIP_Y_WEBGL, flipSourceY);
|
|
295
|
+
state.gl.texImage2D(state.gl.TEXTURE_2D, 0, state.gl.RGBA, state.gl.RGBA, state.gl.UNSIGNED_BYTE, source);
|
|
296
|
+
state.gl.useProgram(state.program);
|
|
297
|
+
if (state.uSource) {
|
|
298
|
+
state.gl.uniform1i(state.uSource, 0);
|
|
299
|
+
}
|
|
300
|
+
if (state.uAmount) {
|
|
301
|
+
state.gl.uniform1f(state.uAmount, resolved.amount);
|
|
302
|
+
}
|
|
303
|
+
state.gl.bindVertexArray(state.vao);
|
|
304
|
+
state.gl.drawArrays(state.gl.TRIANGLE_STRIP, 0, 4);
|
|
305
|
+
},
|
|
306
|
+
cleanup: ({ gl, program, vao, vbo, texture }) => {
|
|
307
|
+
gl.deleteTexture(texture);
|
|
308
|
+
gl.deleteBuffer(vbo);
|
|
309
|
+
gl.deleteProgram(program);
|
|
310
|
+
gl.deleteVertexArray(vao);
|
|
311
|
+
},
|
|
312
|
+
schema: tvSignalOffSchema,
|
|
313
|
+
validateParams: validateTvSignalOffParams
|
|
314
|
+
});
|
|
315
|
+
export {
|
|
316
|
+
tvSignalOff
|
|
317
|
+
};
|
package/dist/esm/vignette.mjs
CHANGED
|
@@ -106,6 +106,11 @@ var parseColorRgba = (ctx, color) => {
|
|
|
106
106
|
return [data[0], data[1], data[2], data[3]];
|
|
107
107
|
};
|
|
108
108
|
|
|
109
|
+
// src/uv-coordinate.ts
|
|
110
|
+
var publicUvToShaderUv = (uv) => {
|
|
111
|
+
return [uv[0], 1 - uv[1]];
|
|
112
|
+
};
|
|
113
|
+
|
|
109
114
|
// src/vignette.ts
|
|
110
115
|
var { createEffect, createWebGL2ContextError } = Internals;
|
|
111
116
|
var VIGNETTE_MODES = ["color", "alpha"];
|
|
@@ -452,8 +457,10 @@ var vignette = createEffect({
|
|
|
452
457
|
gl.uniform4f(uniforms.uColor, red, green, blue, alpha);
|
|
453
458
|
if (uniforms.uMode)
|
|
454
459
|
gl.uniform1i(uniforms.uMode, r.mode === "alpha" ? 1 : 0);
|
|
455
|
-
if (uniforms.uCenter)
|
|
456
|
-
|
|
460
|
+
if (uniforms.uCenter) {
|
|
461
|
+
const shaderCenter = publicUvToShaderUv(r.center);
|
|
462
|
+
gl.uniform2f(uniforms.uCenter, shaderCenter[0], shaderCenter[1]);
|
|
463
|
+
}
|
|
457
464
|
gl.bindVertexArray(vao);
|
|
458
465
|
gl.drawArrays(gl.TRIANGLE_STRIP, 0, 4);
|
|
459
466
|
gl.bindVertexArray(null);
|
package/dist/esm/waves.mjs
CHANGED
|
@@ -120,6 +120,17 @@ var DEFAULT_WAVELENGTH = 160;
|
|
|
120
120
|
var DEFAULT_PHASE = 0;
|
|
121
121
|
var DEFAULT_MASK_TO_SOURCE_ALPHA = false;
|
|
122
122
|
var wavesSchema = {
|
|
123
|
+
colors: {
|
|
124
|
+
type: "array",
|
|
125
|
+
item: {
|
|
126
|
+
type: "color"
|
|
127
|
+
},
|
|
128
|
+
default: DEFAULT_COLORS,
|
|
129
|
+
minLength: 2,
|
|
130
|
+
newItemDefault: "#ff0000",
|
|
131
|
+
description: "Colors",
|
|
132
|
+
keyframable: false
|
|
133
|
+
},
|
|
123
134
|
direction: {
|
|
124
135
|
type: "enum",
|
|
125
136
|
variants: {
|
package/dist/esm/zigzag.mjs
CHANGED
|
@@ -119,6 +119,17 @@ var DEFAULT_AMPLITUDE = 40;
|
|
|
119
119
|
var DEFAULT_WAVELENGTH = 160;
|
|
120
120
|
var DEFAULT_MASK_TO_SOURCE_ALPHA = false;
|
|
121
121
|
var zigzagSchema = {
|
|
122
|
+
colors: {
|
|
123
|
+
type: "array",
|
|
124
|
+
item: {
|
|
125
|
+
type: "color"
|
|
126
|
+
},
|
|
127
|
+
default: DEFAULT_COLORS,
|
|
128
|
+
minLength: 2,
|
|
129
|
+
newItemDefault: "#ff0000",
|
|
130
|
+
description: "Colors",
|
|
131
|
+
keyframable: false
|
|
132
|
+
},
|
|
122
133
|
direction: {
|
|
123
134
|
type: "enum",
|
|
124
135
|
variants: {
|
package/dist/index.d.ts
CHANGED
package/dist/lines.d.ts
CHANGED
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
declare const LINE_DIRECTIONS: readonly ["horizontal", "vertical"];
|
|
2
2
|
export declare const linesSchema: {
|
|
3
|
+
readonly colors: {
|
|
4
|
+
readonly type: "array";
|
|
5
|
+
readonly item: {
|
|
6
|
+
readonly type: "color";
|
|
7
|
+
};
|
|
8
|
+
readonly default: readonly ["#dff4ff", "#7cc6ff"];
|
|
9
|
+
readonly minLength: 2;
|
|
10
|
+
readonly newItemDefault: "#ff0000";
|
|
11
|
+
readonly description: "Colors";
|
|
12
|
+
readonly keyframable: false;
|
|
13
|
+
};
|
|
3
14
|
readonly direction: {
|
|
4
15
|
readonly type: "enum";
|
|
5
16
|
readonly variants: {
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export type PatternOrigin = readonly [number, number];
|
|
2
|
+
export type PatternParams = {
|
|
3
|
+
/** Scale of each repeated tile. Defaults to `0.1`. */
|
|
4
|
+
readonly scale?: number;
|
|
5
|
+
/** Crops the source before it is scaled into the repeated tile. */
|
|
6
|
+
readonly cropLeft?: number;
|
|
7
|
+
readonly cropTop?: number;
|
|
8
|
+
readonly cropRight?: number;
|
|
9
|
+
readonly cropBottom?: number;
|
|
10
|
+
/** Horizontal space between tiles in pixels. Defaults to `0`. */
|
|
11
|
+
readonly gapX?: number;
|
|
12
|
+
/** Vertical space between tiles in pixels. Defaults to `0`. */
|
|
13
|
+
readonly gapY?: number;
|
|
14
|
+
/** Horizontal pattern offset in UV coordinates. Defaults to `0`. */
|
|
15
|
+
readonly offsetU?: number;
|
|
16
|
+
/** Vertical pattern offset in UV coordinates. Defaults to `0`. */
|
|
17
|
+
readonly offsetV?: number;
|
|
18
|
+
/** Horizontal offset added per row in pixels. Defaults to `0`. */
|
|
19
|
+
readonly rowOffset?: number;
|
|
20
|
+
/** Number of rows after which `rowOffset` repeats. Defaults to `0`, meaning it never repeats. */
|
|
21
|
+
readonly rowOffsetEvery?: number;
|
|
22
|
+
/** Vertical offset added per column in pixels. Defaults to `0`. */
|
|
23
|
+
readonly columnOffset?: number;
|
|
24
|
+
/** Number of columns after which `columnOffset` repeats. Defaults to `0`, meaning it never repeats. */
|
|
25
|
+
readonly columnOffsetEvery?: number;
|
|
26
|
+
/** Pattern origin in UV coordinates. Defaults to `[0, 0]`. */
|
|
27
|
+
readonly origin?: PatternOrigin;
|
|
28
|
+
/** Whether tiles before the origin are rendered. Defaults to `true`. */
|
|
29
|
+
readonly wrap?: boolean;
|
|
30
|
+
};
|
|
31
|
+
export declare const pattern: (params?: (PatternParams & {
|
|
32
|
+
readonly disabled?: boolean | undefined;
|
|
33
|
+
}) | undefined) => import("remotion").EffectDescriptor<unknown>;
|
package/dist/rings.d.ts
CHANGED
|
@@ -1,4 +1,15 @@
|
|
|
1
1
|
export declare const ringsSchema: {
|
|
2
|
+
readonly colors: {
|
|
3
|
+
readonly type: "array";
|
|
4
|
+
readonly item: {
|
|
5
|
+
readonly type: "color";
|
|
6
|
+
};
|
|
7
|
+
readonly default: readonly ["#dff4ff", "#7cc6ff"];
|
|
8
|
+
readonly minLength: 2;
|
|
9
|
+
readonly newItemDefault: "#ff0000";
|
|
10
|
+
readonly description: "Colors";
|
|
11
|
+
readonly keyframable: false;
|
|
12
|
+
};
|
|
2
13
|
readonly center: {
|
|
3
14
|
readonly type: "uv-coordinate";
|
|
4
15
|
readonly min: 0;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export type TvSignalOffParams = {
|
|
2
|
+
/** Blend amount from `0` to `1`. Defaults to `1`. */
|
|
3
|
+
readonly amount?: number;
|
|
4
|
+
};
|
|
5
|
+
export declare const tvSignalOff: (params?: (TvSignalOffParams & {
|
|
6
|
+
readonly disabled?: boolean | undefined;
|
|
7
|
+
}) | undefined) => import("remotion").EffectDescriptor<unknown>;
|
package/dist/waves.d.ts
CHANGED
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
declare const WAVE_DIRECTIONS: readonly ["horizontal", "vertical"];
|
|
2
2
|
export declare const wavesSchema: {
|
|
3
|
+
readonly colors: {
|
|
4
|
+
readonly type: "array";
|
|
5
|
+
readonly item: {
|
|
6
|
+
readonly type: "color";
|
|
7
|
+
};
|
|
8
|
+
readonly default: readonly ["#dff4ff", "#7cc6ff"];
|
|
9
|
+
readonly minLength: 2;
|
|
10
|
+
readonly newItemDefault: "#ff0000";
|
|
11
|
+
readonly description: "Colors";
|
|
12
|
+
readonly keyframable: false;
|
|
13
|
+
};
|
|
3
14
|
readonly direction: {
|
|
4
15
|
readonly type: "enum";
|
|
5
16
|
readonly variants: {
|
package/dist/zigzag.d.ts
CHANGED
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
declare const ZIGZAG_DIRECTIONS: readonly ["horizontal", "vertical"];
|
|
2
2
|
export declare const zigzagSchema: {
|
|
3
|
+
readonly colors: {
|
|
4
|
+
readonly type: "array";
|
|
5
|
+
readonly item: {
|
|
6
|
+
readonly type: "color";
|
|
7
|
+
};
|
|
8
|
+
readonly default: readonly ["#dff4ff", "#7cc6ff"];
|
|
9
|
+
readonly minLength: 2;
|
|
10
|
+
readonly newItemDefault: "#ff0000";
|
|
11
|
+
readonly description: "Colors";
|
|
12
|
+
readonly keyframable: false;
|
|
13
|
+
};
|
|
3
14
|
readonly direction: {
|
|
4
15
|
readonly type: "enum";
|
|
5
16
|
readonly variants: {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@remotion/effects",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.477",
|
|
4
4
|
"description": "Effects that can be applied to Remotion-based canvas components",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
"url": "https://github.com/remotion-dev/remotion/issues"
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"remotion": "4.0.
|
|
29
|
+
"remotion": "4.0.477"
|
|
30
30
|
},
|
|
31
31
|
"exports": {
|
|
32
32
|
".": {
|
|
@@ -149,6 +149,11 @@
|
|
|
149
149
|
"module": "./dist/esm/noise-displacement.mjs",
|
|
150
150
|
"import": "./dist/esm/noise-displacement.mjs"
|
|
151
151
|
},
|
|
152
|
+
"./pattern": {
|
|
153
|
+
"types": "./dist/pattern.d.ts",
|
|
154
|
+
"module": "./dist/esm/pattern.mjs",
|
|
155
|
+
"import": "./dist/esm/pattern.mjs"
|
|
156
|
+
},
|
|
152
157
|
"./rings": {
|
|
153
158
|
"types": "./dist/rings.d.ts",
|
|
154
159
|
"module": "./dist/esm/rings.mjs",
|
|
@@ -189,6 +194,11 @@
|
|
|
189
194
|
"module": "./dist/esm/translate.mjs",
|
|
190
195
|
"import": "./dist/esm/translate.mjs"
|
|
191
196
|
},
|
|
197
|
+
"./tv-signal-off": {
|
|
198
|
+
"types": "./dist/tv-signal-off.d.ts",
|
|
199
|
+
"module": "./dist/esm/tv-signal-off.mjs",
|
|
200
|
+
"import": "./dist/esm/tv-signal-off.mjs"
|
|
201
|
+
},
|
|
192
202
|
"./vignette": {
|
|
193
203
|
"types": "./dist/vignette.d.ts",
|
|
194
204
|
"module": "./dist/esm/vignette.mjs",
|
|
@@ -287,6 +297,9 @@
|
|
|
287
297
|
"noise-displacement": [
|
|
288
298
|
"dist/noise-displacement.d.ts"
|
|
289
299
|
],
|
|
300
|
+
"pattern": [
|
|
301
|
+
"dist/pattern.d.ts"
|
|
302
|
+
],
|
|
290
303
|
"rings": [
|
|
291
304
|
"dist/rings.d.ts"
|
|
292
305
|
],
|
|
@@ -311,6 +324,9 @@
|
|
|
311
324
|
"translate": [
|
|
312
325
|
"dist/translate.d.ts"
|
|
313
326
|
],
|
|
327
|
+
"tv-signal-off": [
|
|
328
|
+
"dist/tv-signal-off.d.ts"
|
|
329
|
+
],
|
|
314
330
|
"vignette": [
|
|
315
331
|
"dist/vignette.d.ts"
|
|
316
332
|
],
|
|
@@ -330,7 +346,7 @@
|
|
|
330
346
|
},
|
|
331
347
|
"homepage": "https://www.remotion.dev/docs/effects/api",
|
|
332
348
|
"devDependencies": {
|
|
333
|
-
"@remotion/eslint-config-internal": "4.0.
|
|
349
|
+
"@remotion/eslint-config-internal": "4.0.477",
|
|
334
350
|
"@vitest/browser-playwright": "4.0.9",
|
|
335
351
|
"eslint": "9.19.0",
|
|
336
352
|
"vitest": "4.0.9",
|