@remotion/effects 4.0.506 → 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.
@@ -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>;
@@ -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,61 @@
1
+ export type RegionBlurUvCoordinate = readonly [number, number];
2
+ export type RegionBlurParams = {
3
+ /** Top-left corner of the region in UV coordinates. */
4
+ readonly topLeft: RegionBlurUvCoordinate;
5
+ /** Bottom-right corner of the region in UV coordinates. */
6
+ readonly bottomRight: RegionBlurUvCoordinate;
7
+ /** Gaussian blur radius in pixels. Defaults to `40`. */
8
+ readonly blurRadius?: number;
9
+ /** Width of the softened region edge in pixels. Defaults to `0`. */
10
+ readonly feather?: number;
11
+ /** Corner roundness from rectangular (`0`) to fully rounded (`1`). Defaults to `0`. */
12
+ readonly roundness?: number;
13
+ };
14
+ export declare const regionBlurSchema: {
15
+ readonly topLeft: {
16
+ readonly type: "uv-coordinate";
17
+ readonly min: -1;
18
+ readonly max: 2;
19
+ readonly step: 0.01;
20
+ readonly default: undefined;
21
+ readonly description: "Top left";
22
+ };
23
+ readonly bottomRight: {
24
+ readonly type: "uv-coordinate";
25
+ readonly min: -1;
26
+ readonly max: 2;
27
+ readonly step: 0.01;
28
+ readonly default: undefined;
29
+ readonly description: "Bottom right";
30
+ };
31
+ readonly blurRadius: {
32
+ readonly type: "number";
33
+ readonly min: 0;
34
+ readonly max: 200;
35
+ readonly step: 1;
36
+ readonly default: 40;
37
+ readonly description: "Blur radius";
38
+ readonly hiddenFromList: false;
39
+ };
40
+ readonly feather: {
41
+ readonly type: "number";
42
+ readonly min: 0;
43
+ readonly max: 200;
44
+ readonly step: 1;
45
+ readonly default: 0;
46
+ readonly description: "Feather";
47
+ readonly hiddenFromList: false;
48
+ };
49
+ readonly roundness: {
50
+ readonly type: "number";
51
+ readonly min: 0;
52
+ readonly max: 1;
53
+ readonly step: 0.01;
54
+ readonly default: 0;
55
+ readonly description: "Roundness";
56
+ readonly hiddenFromList: false;
57
+ };
58
+ };
59
+ export declare const regionBlur: (params: RegionBlurParams & {
60
+ readonly disabled?: boolean | undefined;
61
+ }) => import("remotion").EffectDescriptor<unknown>;
@@ -0,0 +1,44 @@
1
+ import type { RegionBlurUvCoordinate } from './index.js';
2
+ type BlurUniforms = {
3
+ readonly source: WebGLUniformLocation | null;
4
+ readonly radius: WebGLUniformLocation | null;
5
+ readonly texelSize: WebGLUniformLocation | null;
6
+ };
7
+ export type RegionBlurState = {
8
+ readonly gl: WebGL2RenderingContext;
9
+ readonly horizontalProgram: WebGLProgram;
10
+ readonly verticalProgram: WebGLProgram;
11
+ readonly compositeProgram: WebGLProgram;
12
+ readonly vao: WebGLVertexArrayObject;
13
+ readonly vbo: WebGLBuffer;
14
+ readonly sourceTexture: WebGLTexture;
15
+ readonly horizontalTexture: WebGLTexture;
16
+ readonly blurredTexture: WebGLTexture;
17
+ readonly framebuffer: WebGLFramebuffer;
18
+ readonly horizontalUniforms: BlurUniforms;
19
+ readonly verticalUniforms: BlurUniforms;
20
+ readonly compositeUniforms: {
21
+ readonly source: WebGLUniformLocation | null;
22
+ readonly blurred: WebGLUniformLocation | null;
23
+ readonly resolution: WebGLUniformLocation | null;
24
+ readonly topLeft: WebGLUniformLocation | null;
25
+ readonly bottomRight: WebGLUniformLocation | null;
26
+ readonly feather: WebGLUniformLocation | null;
27
+ readonly roundness: WebGLUniformLocation | null;
28
+ };
29
+ };
30
+ export declare const setupRegionBlur: (target: HTMLCanvasElement) => RegionBlurState;
31
+ export declare const applyRegionBlur: ({ state, source, width, height, flipSourceY, topLeft, bottomRight, blurRadius, feather, roundness, }: {
32
+ readonly state: RegionBlurState;
33
+ readonly source: CanvasImageSource;
34
+ readonly width: number;
35
+ readonly height: number;
36
+ readonly flipSourceY: boolean;
37
+ readonly topLeft: RegionBlurUvCoordinate;
38
+ readonly bottomRight: RegionBlurUvCoordinate;
39
+ readonly blurRadius: number;
40
+ readonly feather: number;
41
+ readonly roundness: number;
42
+ }) => void;
43
+ export declare const cleanupRegionBlur: (state: RegionBlurState) => void;
44
+ export {};
@@ -0,0 +1 @@
1
+ export { regionBlur, type RegionBlurParams, type RegionBlurUvCoordinate, } from './region-blur/index.js';
@@ -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.506",
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.506"
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",
@@ -244,6 +254,11 @@
244
254
  "module": "./dist/esm/radial-progressive-pixelate.mjs",
245
255
  "import": "./dist/esm/radial-progressive-pixelate.mjs"
246
256
  },
257
+ "./region-blur": {
258
+ "types": "./dist/region-blur.d.ts",
259
+ "module": "./dist/esm/region-blur.mjs",
260
+ "import": "./dist/esm/region-blur.mjs"
261
+ },
247
262
  "./rings": {
248
263
  "types": "./dist/rings.d.ts",
249
264
  "module": "./dist/esm/rings.mjs",
@@ -264,6 +279,11 @@
264
279
  "module": "./dist/esm/scale.mjs",
265
280
  "import": "./dist/esm/scale.mjs"
266
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
+ },
267
287
  "./shine": {
268
288
  "types": "./dist/shine.d.ts",
269
289
  "module": "./dist/esm/shine.mjs",
@@ -314,6 +334,11 @@
314
334
  "module": "./dist/esm/venetian-blinds.mjs",
315
335
  "import": "./dist/esm/venetian-blinds.mjs"
316
336
  },
337
+ "./vibrance": {
338
+ "types": "./dist/vibrance.d.ts",
339
+ "module": "./dist/esm/vibrance.mjs",
340
+ "import": "./dist/esm/vibrance.mjs"
341
+ },
317
342
  "./vignette": {
318
343
  "types": "./dist/vignette.d.ts",
319
344
  "module": "./dist/esm/vignette.mjs",
@@ -329,6 +354,11 @@
329
354
  "module": "./dist/esm/waves.mjs",
330
355
  "import": "./dist/esm/waves.mjs"
331
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
+ },
332
362
  "./white-noise": {
333
363
  "types": "./dist/white-noise.d.ts",
334
364
  "module": "./dist/esm/white-noise.mjs",
@@ -390,6 +420,9 @@
390
420
  "evolve": [
391
421
  "dist/evolve.d.ts"
392
422
  ],
423
+ "exposure": [
424
+ "dist/exposure.d.ts"
425
+ ],
393
426
  "fisheye": [
394
427
  "dist/fisheye.d.ts"
395
428
  ],
@@ -441,6 +474,9 @@
441
474
  "linear-progressive-pixelate": [
442
475
  "dist/linear-progressive-pixelate.d.ts"
443
476
  ],
477
+ "levels": [
478
+ "dist/levels.d.ts"
479
+ ],
444
480
  "light-leak": [
445
481
  "dist/light-leak.d.ts"
446
482
  ],
@@ -474,6 +510,9 @@
474
510
  "radial-progressive-pixelate": [
475
511
  "dist/radial-progressive-pixelate.d.ts"
476
512
  ],
513
+ "region-blur": [
514
+ "dist/region-blur.d.ts"
515
+ ],
477
516
  "rings": [
478
517
  "dist/rings.d.ts"
479
518
  ],
@@ -486,6 +525,9 @@
486
525
  "scale": [
487
526
  "dist/scale.d.ts"
488
527
  ],
528
+ "shadows-highlights": [
529
+ "dist/shadows-highlights.d.ts"
530
+ ],
489
531
  "shine": [
490
532
  "dist/shine.d.ts"
491
533
  ],
@@ -516,6 +558,9 @@
516
558
  "venetian-blinds": [
517
559
  "dist/venetian-blinds.d.ts"
518
560
  ],
561
+ "vibrance": [
562
+ "dist/vibrance.d.ts"
563
+ ],
519
564
  "vignette": [
520
565
  "dist/vignette.d.ts"
521
566
  ],
@@ -528,6 +573,9 @@
528
573
  "zigzag": [
529
574
  "dist/zigzag.d.ts"
530
575
  ],
576
+ "white-balance": [
577
+ "dist/white-balance.d.ts"
578
+ ],
531
579
  "white-noise": [
532
580
  "dist/white-noise.d.ts"
533
581
  ],
@@ -538,7 +586,7 @@
538
586
  },
539
587
  "homepage": "https://www.remotion.dev/docs/effects/api",
540
588
  "devDependencies": {
541
- "@remotion/eslint-config-internal": "4.0.506",
589
+ "@remotion/eslint-config-internal": "4.0.508",
542
590
  "@vitest/browser-playwright": "4.0.9",
543
591
  "eslint": "9.19.0",
544
592
  "vitest": "4.0.9",
@@ -1,8 +0,0 @@
1
- export declare const EffectInternals: {
2
- readonly halftone: (params?: (import("./halftone.js").HalftoneParams & {
3
- readonly disabled?: boolean | undefined;
4
- }) | undefined) => import("remotion").EffectDescriptor<unknown>;
5
- readonly tint: (params: import("./tint.js").TintParams & {
6
- readonly disabled?: boolean | undefined;
7
- }) => import("remotion").EffectDescriptor<unknown>;
8
- };
@@ -1,6 +0,0 @@
1
- import * as blurExports from '../blur/index.js';
2
- export type { BlurParams } from '../blur/index.js';
3
- declare const blur: (params: blurExports.BlurParams & {
4
- readonly disabled?: boolean | undefined;
5
- }) => import("remotion").EffectDescriptor<unknown>;
6
- export { blur };