@remotion/effects 4.0.507 → 4.0.508
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/esm/exposure.mjs +318 -0
- package/dist/esm/levels.mjs +347 -0
- package/dist/esm/shadows-highlights.mjs +337 -0
- package/dist/esm/vibrance.mjs +314 -0
- package/dist/esm/white-balance.mjs +333 -0
- package/dist/exposure.d.ts +7 -0
- package/dist/levels.d.ts +11 -0
- package/dist/shadows-highlights.d.ts +9 -0
- package/dist/vibrance.d.ts +7 -0
- package/dist/white-balance.d.ts +9 -0
- package/package.json +43 -3
|
@@ -0,0 +1,333 @@
|
|
|
1
|
+
// src/white-balance.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/white-balance.ts
|
|
110
|
+
var { createEffect, createWebGL2ContextError } = Internals;
|
|
111
|
+
var DEFAULT_TEMPERATURE = 0;
|
|
112
|
+
var DEFAULT_TINT = 0;
|
|
113
|
+
var whiteBalanceSchema = {
|
|
114
|
+
temperature: {
|
|
115
|
+
type: "number",
|
|
116
|
+
min: -1,
|
|
117
|
+
max: 1,
|
|
118
|
+
step: 0.01,
|
|
119
|
+
default: DEFAULT_TEMPERATURE,
|
|
120
|
+
description: "Temperature",
|
|
121
|
+
hiddenFromList: false
|
|
122
|
+
},
|
|
123
|
+
tint: {
|
|
124
|
+
type: "number",
|
|
125
|
+
min: -1,
|
|
126
|
+
max: 1,
|
|
127
|
+
step: 0.01,
|
|
128
|
+
default: DEFAULT_TINT,
|
|
129
|
+
description: "Tint",
|
|
130
|
+
hiddenFromList: false
|
|
131
|
+
}
|
|
132
|
+
};
|
|
133
|
+
var resolve = (params) => ({
|
|
134
|
+
temperature: params.temperature ?? DEFAULT_TEMPERATURE,
|
|
135
|
+
tint: params.tint ?? DEFAULT_TINT
|
|
136
|
+
});
|
|
137
|
+
var validateWhiteBalanceParams = (params) => {
|
|
138
|
+
assertEffectParamsObject(params, "White balance");
|
|
139
|
+
assertOptionalFiniteNumber(params.temperature, "temperature");
|
|
140
|
+
assertOptionalFiniteNumber(params.tint, "tint");
|
|
141
|
+
const { temperature, tint } = resolve(params);
|
|
142
|
+
validateSignedUnitInterval(temperature, "temperature");
|
|
143
|
+
validateSignedUnitInterval(tint, "tint");
|
|
144
|
+
};
|
|
145
|
+
var VERTEX_SHADER = `#version 300 es
|
|
146
|
+
in vec2 aPos;
|
|
147
|
+
in vec2 aUv;
|
|
148
|
+
out vec2 vUv;
|
|
149
|
+
|
|
150
|
+
void main() {
|
|
151
|
+
vUv = aUv;
|
|
152
|
+
gl_Position = vec4(aPos, 0.0, 1.0);
|
|
153
|
+
}
|
|
154
|
+
`;
|
|
155
|
+
var FRAGMENT_SHADER = `#version 300 es
|
|
156
|
+
precision highp float;
|
|
157
|
+
|
|
158
|
+
in vec2 vUv;
|
|
159
|
+
out vec4 fragColor;
|
|
160
|
+
|
|
161
|
+
uniform sampler2D uSource;
|
|
162
|
+
uniform float uTemperature;
|
|
163
|
+
uniform float uTint;
|
|
164
|
+
|
|
165
|
+
vec3 srgbToLinear(vec3 color) {
|
|
166
|
+
vec3 lower = color / 12.92;
|
|
167
|
+
vec3 upper = pow((color + 0.055) / 1.055, vec3(2.4));
|
|
168
|
+
return mix(lower, upper, step(vec3(0.04045), color));
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
vec3 linearToSrgb(vec3 color) {
|
|
172
|
+
vec3 nonNegative = max(color, vec3(0.0));
|
|
173
|
+
vec3 lower = nonNegative * 12.92;
|
|
174
|
+
vec3 upper = 1.055 * pow(nonNegative, vec3(1.0 / 2.4)) - 0.055;
|
|
175
|
+
return mix(lower, upper, step(vec3(0.0031308), nonNegative));
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
void main() {
|
|
179
|
+
vec4 sourceColor = texture(uSource, vUv);
|
|
180
|
+
float alpha = sourceColor.a;
|
|
181
|
+
|
|
182
|
+
if (alpha <= 0.0) {
|
|
183
|
+
fragColor = vec4(0.0);
|
|
184
|
+
return;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
vec3 unpremultiplied = sourceColor.rgb / alpha;
|
|
188
|
+
vec3 linear = srgbToLinear(unpremultiplied);
|
|
189
|
+
vec3 temperatureOffset = vec3(0.3, 0.0, -0.3) * uTemperature;
|
|
190
|
+
vec3 tintOffset = vec3(0.15, -0.3, 0.15) * uTint;
|
|
191
|
+
vec3 gains = exp2(temperatureOffset + tintOffset);
|
|
192
|
+
float luminanceGain = dot(gains, vec3(0.2126, 0.7152, 0.0722));
|
|
193
|
+
vec3 balanced = linear * gains / luminanceGain;
|
|
194
|
+
vec3 corrected = linearToSrgb(balanced);
|
|
195
|
+
|
|
196
|
+
fragColor = vec4(corrected * alpha, alpha);
|
|
197
|
+
}
|
|
198
|
+
`;
|
|
199
|
+
var compileShader = (gl, type, source) => {
|
|
200
|
+
const shader = gl.createShader(type);
|
|
201
|
+
if (!shader) {
|
|
202
|
+
throw new Error("Failed to create white balance shader");
|
|
203
|
+
}
|
|
204
|
+
gl.shaderSource(shader, source);
|
|
205
|
+
gl.compileShader(shader);
|
|
206
|
+
if (!gl.getShaderParameter(shader, gl.COMPILE_STATUS)) {
|
|
207
|
+
const log = gl.getShaderInfoLog(shader);
|
|
208
|
+
gl.deleteShader(shader);
|
|
209
|
+
throw new Error(`White balance shader compile failed: ${log ?? "(no log)"}`);
|
|
210
|
+
}
|
|
211
|
+
return shader;
|
|
212
|
+
};
|
|
213
|
+
var createProgram = (gl) => {
|
|
214
|
+
const vertexShader = compileShader(gl, gl.VERTEX_SHADER, VERTEX_SHADER);
|
|
215
|
+
const fragmentShader = compileShader(gl, gl.FRAGMENT_SHADER, FRAGMENT_SHADER);
|
|
216
|
+
const program = gl.createProgram();
|
|
217
|
+
if (!program) {
|
|
218
|
+
throw new Error("Failed to create white balance shader program");
|
|
219
|
+
}
|
|
220
|
+
gl.attachShader(program, vertexShader);
|
|
221
|
+
gl.attachShader(program, fragmentShader);
|
|
222
|
+
gl.linkProgram(program);
|
|
223
|
+
gl.deleteShader(vertexShader);
|
|
224
|
+
gl.deleteShader(fragmentShader);
|
|
225
|
+
if (!gl.getProgramParameter(program, gl.LINK_STATUS)) {
|
|
226
|
+
const log = gl.getProgramInfoLog(program);
|
|
227
|
+
gl.deleteProgram(program);
|
|
228
|
+
throw new Error(`White balance shader link failed: ${log ?? "(no log)"}`);
|
|
229
|
+
}
|
|
230
|
+
return program;
|
|
231
|
+
};
|
|
232
|
+
var createTexture = (gl) => {
|
|
233
|
+
const texture = gl.createTexture();
|
|
234
|
+
if (!texture) {
|
|
235
|
+
throw new Error("Failed to create white balance texture");
|
|
236
|
+
}
|
|
237
|
+
gl.bindTexture(gl.TEXTURE_2D, texture);
|
|
238
|
+
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR);
|
|
239
|
+
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR);
|
|
240
|
+
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);
|
|
241
|
+
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);
|
|
242
|
+
gl.bindTexture(gl.TEXTURE_2D, null);
|
|
243
|
+
return texture;
|
|
244
|
+
};
|
|
245
|
+
var setupWhiteBalance = (target) => {
|
|
246
|
+
const gl = target.getContext("webgl2", {
|
|
247
|
+
premultipliedAlpha: true,
|
|
248
|
+
alpha: true,
|
|
249
|
+
preserveDrawingBuffer: true
|
|
250
|
+
});
|
|
251
|
+
if (!gl) {
|
|
252
|
+
throw createWebGL2ContextError("white balance effect");
|
|
253
|
+
}
|
|
254
|
+
gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, true);
|
|
255
|
+
const program = createProgram(gl);
|
|
256
|
+
const vao = gl.createVertexArray();
|
|
257
|
+
if (!vao) {
|
|
258
|
+
throw new Error("Failed to create white balance vertex array");
|
|
259
|
+
}
|
|
260
|
+
const vbo = gl.createBuffer();
|
|
261
|
+
if (!vbo) {
|
|
262
|
+
throw new Error("Failed to create white balance vertex buffer");
|
|
263
|
+
}
|
|
264
|
+
gl.bindVertexArray(vao);
|
|
265
|
+
gl.bindBuffer(gl.ARRAY_BUFFER, vbo);
|
|
266
|
+
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);
|
|
267
|
+
const aPos = gl.getAttribLocation(program, "aPos");
|
|
268
|
+
const aUv = gl.getAttribLocation(program, "aUv");
|
|
269
|
+
gl.enableVertexAttribArray(aPos);
|
|
270
|
+
gl.vertexAttribPointer(aPos, 2, gl.FLOAT, false, 16, 0);
|
|
271
|
+
gl.enableVertexAttribArray(aUv);
|
|
272
|
+
gl.vertexAttribPointer(aUv, 2, gl.FLOAT, false, 16, 8);
|
|
273
|
+
gl.bindVertexArray(null);
|
|
274
|
+
return {
|
|
275
|
+
gl,
|
|
276
|
+
program,
|
|
277
|
+
vao,
|
|
278
|
+
vbo,
|
|
279
|
+
textureSource: createTexture(gl),
|
|
280
|
+
uniforms: {
|
|
281
|
+
uSource: gl.getUniformLocation(program, "uSource"),
|
|
282
|
+
uTemperature: gl.getUniformLocation(program, "uTemperature"),
|
|
283
|
+
uTint: gl.getUniformLocation(program, "uTint")
|
|
284
|
+
}
|
|
285
|
+
};
|
|
286
|
+
};
|
|
287
|
+
var whiteBalance = createEffect({
|
|
288
|
+
type: "remotion/white-balance",
|
|
289
|
+
label: "whiteBalance()",
|
|
290
|
+
documentationLink: "https://www.remotion.dev/docs/effects/white-balance",
|
|
291
|
+
backend: "webgl2",
|
|
292
|
+
calculateKey: (params) => {
|
|
293
|
+
const { temperature, tint } = resolve(params);
|
|
294
|
+
return `white-balance-${temperature}-${tint}`;
|
|
295
|
+
},
|
|
296
|
+
setup: setupWhiteBalance,
|
|
297
|
+
apply: ({ source, width, height, params, state, flipSourceY }) => {
|
|
298
|
+
const { temperature, tint } = resolve(params);
|
|
299
|
+
const { gl, program, textureSource, uniforms, vao } = state;
|
|
300
|
+
gl.viewport(0, 0, width, height);
|
|
301
|
+
gl.bindFramebuffer(gl.FRAMEBUFFER, null);
|
|
302
|
+
gl.clearColor(0, 0, 0, 0);
|
|
303
|
+
gl.clear(gl.COLOR_BUFFER_BIT);
|
|
304
|
+
gl.activeTexture(gl.TEXTURE0);
|
|
305
|
+
gl.bindTexture(gl.TEXTURE_2D, textureSource);
|
|
306
|
+
gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, flipSourceY);
|
|
307
|
+
gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, source);
|
|
308
|
+
gl.useProgram(program);
|
|
309
|
+
if (uniforms.uSource)
|
|
310
|
+
gl.uniform1i(uniforms.uSource, 0);
|
|
311
|
+
if (uniforms.uTemperature) {
|
|
312
|
+
gl.uniform1f(uniforms.uTemperature, temperature);
|
|
313
|
+
}
|
|
314
|
+
if (uniforms.uTint)
|
|
315
|
+
gl.uniform1f(uniforms.uTint, tint);
|
|
316
|
+
gl.bindVertexArray(vao);
|
|
317
|
+
gl.drawArrays(gl.TRIANGLE_STRIP, 0, 4);
|
|
318
|
+
gl.bindVertexArray(null);
|
|
319
|
+
gl.bindTexture(gl.TEXTURE_2D, null);
|
|
320
|
+
gl.useProgram(null);
|
|
321
|
+
},
|
|
322
|
+
cleanup: ({ gl, program, vao, vbo, textureSource }) => {
|
|
323
|
+
gl.deleteTexture(textureSource);
|
|
324
|
+
gl.deleteBuffer(vbo);
|
|
325
|
+
gl.deleteProgram(program);
|
|
326
|
+
gl.deleteVertexArray(vao);
|
|
327
|
+
},
|
|
328
|
+
schema: whiteBalanceSchema,
|
|
329
|
+
validateParams: validateWhiteBalanceParams
|
|
330
|
+
});
|
|
331
|
+
export {
|
|
332
|
+
whiteBalance
|
|
333
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export type ExposureParams = {
|
|
2
|
+
/** Exposure adjustment in stops, from `-5` to `5`. Defaults to `0`. */
|
|
3
|
+
readonly stops?: number;
|
|
4
|
+
};
|
|
5
|
+
export declare const exposure: (params?: (ExposureParams & {
|
|
6
|
+
readonly disabled?: boolean | undefined;
|
|
7
|
+
}) | undefined) => import("remotion").EffectDescriptor<unknown>;
|
package/dist/levels.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export type LevelsParams = {
|
|
2
|
+
/** Input value mapped to black, from `0` to `1`. Defaults to `0`. */
|
|
3
|
+
readonly blackPoint?: number;
|
|
4
|
+
/** Input value mapped to white, from `0` to `1`. Defaults to `1`. */
|
|
5
|
+
readonly whitePoint?: number;
|
|
6
|
+
/** Midtone gamma from `0.01` to `10`. Defaults to `1`. */
|
|
7
|
+
readonly gamma?: number;
|
|
8
|
+
};
|
|
9
|
+
export declare const levels: (params?: (LevelsParams & {
|
|
10
|
+
readonly disabled?: boolean | undefined;
|
|
11
|
+
}) | undefined) => import("remotion").EffectDescriptor<unknown>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export type ShadowsHighlightsParams = {
|
|
2
|
+
/** Shadow adjustment from `-1` to `1`. Defaults to `0`. */
|
|
3
|
+
readonly shadows?: number;
|
|
4
|
+
/** Highlight adjustment from `-1` to `1`. Defaults to `0`. */
|
|
5
|
+
readonly highlights?: number;
|
|
6
|
+
};
|
|
7
|
+
export declare const shadowsHighlights: (params?: (ShadowsHighlightsParams & {
|
|
8
|
+
readonly disabled?: boolean | undefined;
|
|
9
|
+
}) | undefined) => import("remotion").EffectDescriptor<unknown>;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export type VibranceParams = {
|
|
2
|
+
/** Vibrance adjustment from `-1` to `1`. Defaults to `0`. */
|
|
3
|
+
readonly amount?: number;
|
|
4
|
+
};
|
|
5
|
+
export declare const vibrance: (params?: (VibranceParams & {
|
|
6
|
+
readonly disabled?: boolean | undefined;
|
|
7
|
+
}) | undefined) => import("remotion").EffectDescriptor<unknown>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export type WhiteBalanceParams = {
|
|
2
|
+
/** Blue-to-amber temperature adjustment from `-1` to `1`. Defaults to `0`. */
|
|
3
|
+
readonly temperature?: number;
|
|
4
|
+
/** Green-to-magenta tint adjustment from `-1` to `1`. Defaults to `0`. */
|
|
5
|
+
readonly tint?: number;
|
|
6
|
+
};
|
|
7
|
+
export declare const whiteBalance: (params?: (WhiteBalanceParams & {
|
|
8
|
+
readonly disabled?: boolean | undefined;
|
|
9
|
+
}) | undefined) => import("remotion").EffectDescriptor<unknown>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@remotion/effects",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.508",
|
|
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.508"
|
|
30
30
|
},
|
|
31
31
|
"exports": {
|
|
32
32
|
".": {
|
|
@@ -104,6 +104,11 @@
|
|
|
104
104
|
"module": "./dist/esm/evolve.mjs",
|
|
105
105
|
"import": "./dist/esm/evolve.mjs"
|
|
106
106
|
},
|
|
107
|
+
"./exposure": {
|
|
108
|
+
"types": "./dist/exposure.d.ts",
|
|
109
|
+
"module": "./dist/esm/exposure.mjs",
|
|
110
|
+
"import": "./dist/esm/exposure.mjs"
|
|
111
|
+
},
|
|
107
112
|
"./fisheye": {
|
|
108
113
|
"types": "./dist/fisheye.d.ts",
|
|
109
114
|
"module": "./dist/esm/fisheye.mjs",
|
|
@@ -189,6 +194,11 @@
|
|
|
189
194
|
"module": "./dist/esm/linear-progressive-pixelate.mjs",
|
|
190
195
|
"import": "./dist/esm/linear-progressive-pixelate.mjs"
|
|
191
196
|
},
|
|
197
|
+
"./levels": {
|
|
198
|
+
"types": "./dist/levels.d.ts",
|
|
199
|
+
"module": "./dist/esm/levels.mjs",
|
|
200
|
+
"import": "./dist/esm/levels.mjs"
|
|
201
|
+
},
|
|
192
202
|
"./light-leak": {
|
|
193
203
|
"types": "./dist/light-leak.d.ts",
|
|
194
204
|
"module": "./dist/esm/light-leak.mjs",
|
|
@@ -269,6 +279,11 @@
|
|
|
269
279
|
"module": "./dist/esm/scale.mjs",
|
|
270
280
|
"import": "./dist/esm/scale.mjs"
|
|
271
281
|
},
|
|
282
|
+
"./shadows-highlights": {
|
|
283
|
+
"types": "./dist/shadows-highlights.d.ts",
|
|
284
|
+
"module": "./dist/esm/shadows-highlights.mjs",
|
|
285
|
+
"import": "./dist/esm/shadows-highlights.mjs"
|
|
286
|
+
},
|
|
272
287
|
"./shine": {
|
|
273
288
|
"types": "./dist/shine.d.ts",
|
|
274
289
|
"module": "./dist/esm/shine.mjs",
|
|
@@ -319,6 +334,11 @@
|
|
|
319
334
|
"module": "./dist/esm/venetian-blinds.mjs",
|
|
320
335
|
"import": "./dist/esm/venetian-blinds.mjs"
|
|
321
336
|
},
|
|
337
|
+
"./vibrance": {
|
|
338
|
+
"types": "./dist/vibrance.d.ts",
|
|
339
|
+
"module": "./dist/esm/vibrance.mjs",
|
|
340
|
+
"import": "./dist/esm/vibrance.mjs"
|
|
341
|
+
},
|
|
322
342
|
"./vignette": {
|
|
323
343
|
"types": "./dist/vignette.d.ts",
|
|
324
344
|
"module": "./dist/esm/vignette.mjs",
|
|
@@ -334,6 +354,11 @@
|
|
|
334
354
|
"module": "./dist/esm/waves.mjs",
|
|
335
355
|
"import": "./dist/esm/waves.mjs"
|
|
336
356
|
},
|
|
357
|
+
"./white-balance": {
|
|
358
|
+
"types": "./dist/white-balance.d.ts",
|
|
359
|
+
"module": "./dist/esm/white-balance.mjs",
|
|
360
|
+
"import": "./dist/esm/white-balance.mjs"
|
|
361
|
+
},
|
|
337
362
|
"./white-noise": {
|
|
338
363
|
"types": "./dist/white-noise.d.ts",
|
|
339
364
|
"module": "./dist/esm/white-noise.mjs",
|
|
@@ -395,6 +420,9 @@
|
|
|
395
420
|
"evolve": [
|
|
396
421
|
"dist/evolve.d.ts"
|
|
397
422
|
],
|
|
423
|
+
"exposure": [
|
|
424
|
+
"dist/exposure.d.ts"
|
|
425
|
+
],
|
|
398
426
|
"fisheye": [
|
|
399
427
|
"dist/fisheye.d.ts"
|
|
400
428
|
],
|
|
@@ -446,6 +474,9 @@
|
|
|
446
474
|
"linear-progressive-pixelate": [
|
|
447
475
|
"dist/linear-progressive-pixelate.d.ts"
|
|
448
476
|
],
|
|
477
|
+
"levels": [
|
|
478
|
+
"dist/levels.d.ts"
|
|
479
|
+
],
|
|
449
480
|
"light-leak": [
|
|
450
481
|
"dist/light-leak.d.ts"
|
|
451
482
|
],
|
|
@@ -494,6 +525,9 @@
|
|
|
494
525
|
"scale": [
|
|
495
526
|
"dist/scale.d.ts"
|
|
496
527
|
],
|
|
528
|
+
"shadows-highlights": [
|
|
529
|
+
"dist/shadows-highlights.d.ts"
|
|
530
|
+
],
|
|
497
531
|
"shine": [
|
|
498
532
|
"dist/shine.d.ts"
|
|
499
533
|
],
|
|
@@ -524,6 +558,9 @@
|
|
|
524
558
|
"venetian-blinds": [
|
|
525
559
|
"dist/venetian-blinds.d.ts"
|
|
526
560
|
],
|
|
561
|
+
"vibrance": [
|
|
562
|
+
"dist/vibrance.d.ts"
|
|
563
|
+
],
|
|
527
564
|
"vignette": [
|
|
528
565
|
"dist/vignette.d.ts"
|
|
529
566
|
],
|
|
@@ -536,6 +573,9 @@
|
|
|
536
573
|
"zigzag": [
|
|
537
574
|
"dist/zigzag.d.ts"
|
|
538
575
|
],
|
|
576
|
+
"white-balance": [
|
|
577
|
+
"dist/white-balance.d.ts"
|
|
578
|
+
],
|
|
539
579
|
"white-noise": [
|
|
540
580
|
"dist/white-noise.d.ts"
|
|
541
581
|
],
|
|
@@ -546,7 +586,7 @@
|
|
|
546
586
|
},
|
|
547
587
|
"homepage": "https://www.remotion.dev/docs/effects/api",
|
|
548
588
|
"devDependencies": {
|
|
549
|
-
"@remotion/eslint-config-internal": "4.0.
|
|
589
|
+
"@remotion/eslint-config-internal": "4.0.508",
|
|
550
590
|
"@vitest/browser-playwright": "4.0.9",
|
|
551
591
|
"eslint": "9.19.0",
|
|
552
592
|
"vitest": "4.0.9",
|