@remotion/effects 4.0.536 → 4.0.538

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 (113) hide show
  1. package/THIRD_PARTY_LICENSES.md +30 -0
  2. package/dist/barrel-distortion/index.d.ts +1 -1
  3. package/dist/bevel-alpha/index.d.ts +13 -0
  4. package/dist/bevel-alpha/shaders.d.ts +3 -0
  5. package/dist/bevel-alpha.d.ts +1 -0
  6. package/dist/blur/index.d.ts +1 -1
  7. package/dist/brightness.d.ts +1 -1
  8. package/dist/burlap.d.ts +1 -1
  9. package/dist/checkerboard.d.ts +17 -17
  10. package/dist/chromatic-aberration/index.d.ts +1 -1
  11. package/dist/color-correction.d.ts +1 -1
  12. package/dist/color-key.d.ts +9 -9
  13. package/dist/color-utils.d.ts +8 -8
  14. package/dist/contour-lines.d.ts +23 -23
  15. package/dist/contrast.d.ts +1 -1
  16. package/dist/corner-pin/index.d.ts +1 -1
  17. package/dist/cylinder/index.d.ts +20 -0
  18. package/dist/cylinder/shader.d.ts +1 -0
  19. package/dist/cylinder.d.ts +1 -0
  20. package/dist/dot-grid.d.ts +7 -7
  21. package/dist/drop-shadow/index.d.ts +1 -1
  22. package/dist/duotone.d.ts +7 -7
  23. package/dist/emboss.d.ts +15 -15
  24. package/dist/esm/bevel-alpha.mjs +474 -0
  25. package/dist/esm/cylinder.mjs +390 -0
  26. package/dist/esm/fractal-noise.mjs +688 -0
  27. package/dist/esm/lens-blur.mjs +550 -0
  28. package/dist/esm/long-shadows.mjs +410 -0
  29. package/dist/esm/page-turn.mjs +405 -0
  30. package/dist/esm/sphere.mjs +376 -0
  31. package/dist/esm/turbulent-displace.mjs +652 -0
  32. package/dist/evolve.d.ts +8 -8
  33. package/dist/exposure.d.ts +1 -1
  34. package/dist/fisheye/index.d.ts +1 -1
  35. package/dist/flannel.d.ts +1 -1
  36. package/dist/fractal-noise/index.d.ts +40 -0
  37. package/dist/fractal-noise/shader.d.ts +1 -0
  38. package/dist/fractal-noise.d.ts +1 -0
  39. package/dist/gaussian-blur-shader.d.ts +1 -1
  40. package/dist/glow/index.d.ts +1 -1
  41. package/dist/grayscale.d.ts +1 -1
  42. package/dist/gridlines.d.ts +23 -23
  43. package/dist/halftone-linear-gradient.d.ts +21 -21
  44. package/dist/halftone.d.ts +25 -25
  45. package/dist/hue.d.ts +1 -1
  46. package/dist/invert.d.ts +1 -1
  47. package/dist/lens-blur/index.d.ts +30 -0
  48. package/dist/lens-blur/shader.d.ts +1 -0
  49. package/dist/lens-blur.d.ts +1 -0
  50. package/dist/levels.d.ts +1 -1
  51. package/dist/light-leak.d.ts +7 -7
  52. package/dist/light-trail/index.d.ts +1 -1
  53. package/dist/linear-gradient-tint.d.ts +1 -1
  54. package/dist/linear-gradient.d.ts +1 -1
  55. package/dist/linear-progressive-blur/index.d.ts +1 -1
  56. package/dist/linear-progressive-blur/linear-progressive-blur-shaders.d.ts +1 -1
  57. package/dist/linear-progressive-pixelate/index.d.ts +1 -1
  58. package/dist/lines.d.ts +18 -18
  59. package/dist/liquid-contours.d.ts +21 -21
  60. package/dist/long-shadows.d.ts +13 -0
  61. package/dist/lut/index.d.ts +3 -3
  62. package/dist/mirror/index.d.ts +1 -1
  63. package/dist/noise-displacement.d.ts +1 -1
  64. package/dist/noise.d.ts +1 -1
  65. package/dist/outline/polygonize-alpha.d.ts +1 -1
  66. package/dist/outline.d.ts +11 -11
  67. package/dist/page-turn/index.d.ts +20 -0
  68. package/dist/page-turn/shader.d.ts +1 -0
  69. package/dist/page-turn.d.ts +1 -0
  70. package/dist/paper.d.ts +1 -1
  71. package/dist/pattern.d.ts +1 -1
  72. package/dist/pixel-dissolve.d.ts +1 -1
  73. package/dist/pixelate.d.ts +1 -1
  74. package/dist/radial-progressive-blur/index.d.ts +1 -1
  75. package/dist/radial-progressive-blur/radial-progressive-blur-shaders.d.ts +1 -1
  76. package/dist/radial-progressive-pixelate/index.d.ts +1 -1
  77. package/dist/region-blur/index.d.ts +11 -11
  78. package/dist/rings.d.ts +15 -15
  79. package/dist/roughen-edges.d.ts +1 -1
  80. package/dist/saturation.d.ts +1 -1
  81. package/dist/scale/index.d.ts +1 -1
  82. package/dist/scanlines.d.ts +1 -1
  83. package/dist/shadows-highlights.d.ts +1 -1
  84. package/dist/shine.d.ts +1 -1
  85. package/dist/shrinkwrap.d.ts +1 -1
  86. package/dist/skew.d.ts +1 -1
  87. package/dist/speckle.d.ts +1 -1
  88. package/dist/sphere/index.d.ts +18 -0
  89. package/dist/sphere/shader.d.ts +1 -0
  90. package/dist/sphere.d.ts +1 -0
  91. package/dist/starburst.d.ts +13 -13
  92. package/dist/tear.d.ts +1 -1
  93. package/dist/thermal-vision.d.ts +7 -7
  94. package/dist/tile.d.ts +1 -1
  95. package/dist/tint.d.ts +5 -5
  96. package/dist/translate/index.d.ts +2 -2
  97. package/dist/turbulent-displace/index.d.ts +28 -0
  98. package/dist/turbulent-displace/shader.d.ts +1 -0
  99. package/dist/turbulent-displace.d.ts +1 -0
  100. package/dist/tv-signal-off.d.ts +1 -1
  101. package/dist/value-noise-shader.d.ts +1 -0
  102. package/dist/venetian-blinds.d.ts +8 -8
  103. package/dist/vibrance.d.ts +1 -1
  104. package/dist/vignette.d.ts +16 -16
  105. package/dist/visual-test/visual-utils.d.ts +8 -8
  106. package/dist/wave/index.d.ts +1 -1
  107. package/dist/waves.d.ts +24 -24
  108. package/dist/webgpu-projection-runtime.d.ts +24 -0
  109. package/dist/white-balance.d.ts +1 -1
  110. package/dist/white-noise.d.ts +1 -1
  111. package/dist/zigzag.d.ts +22 -22
  112. package/dist/zoom-blur/index.d.ts +1 -1
  113. package/package.json +71 -6
@@ -22,5 +22,5 @@ export type FisheyeParams = {
22
22
  readonly zoom?: number;
23
23
  };
24
24
  export declare const fisheye: (params?: (FisheyeParams & {
25
- readonly disabled?: boolean | undefined;
25
+ readonly disabled?: boolean;
26
26
  }) | undefined) => import("remotion").EffectDescriptor<unknown>;
package/dist/flannel.d.ts CHANGED
@@ -11,5 +11,5 @@ export type FlannelParams = {
11
11
  readonly stripeColor?: string;
12
12
  };
13
13
  export declare const flannel: (params?: (FlannelParams & {
14
- readonly disabled?: boolean | undefined;
14
+ readonly disabled?: boolean;
15
15
  }) | undefined) => import("remotion").EffectDescriptor<unknown>;
@@ -0,0 +1,40 @@
1
+ declare const FRACTAL_TYPES: readonly ['basic', 'turbulent-smooth', 'turbulent-basic', 'turbulent-sharp', 'dynamic', 'dynamic-twist', 'dynamic-progressive', 'max', 'strings'];
2
+ declare const NOISE_TYPES: readonly ['block', 'linear', 'soft-linear', 'spline'];
3
+ export type FractalNoiseParams = {
4
+ /** Texture shape. Defaults to `basic`. */
5
+ readonly fractalType?: (typeof FRACTAL_TYPES)[number];
6
+ /** Lattice interpolation. Defaults to `soft-linear`. */
7
+ readonly noiseType?: (typeof NOISE_TYPES)[number];
8
+ /** Size of the largest noise cells in pixels. Defaults to `100`. */
9
+ readonly scale?: number;
10
+ /** Number of noise layers, including fractional layers, from `1` to `20`. Defaults to `6`. */
11
+ readonly complexity?: number;
12
+ /** Evolution in degrees. Animate to morph the texture. Defaults to `0`. */
13
+ readonly evolution?: number;
14
+ /** Contrast multiplier around mid-gray. Defaults to `1`. */
15
+ readonly contrast?: number;
16
+ /** Brightness added after contrast. Defaults to `0`. */
17
+ readonly brightness?: number;
18
+ /** Horizontal texture translation in pixels. Defaults to `0`. */
19
+ readonly offsetX?: number;
20
+ /** Vertical texture translation in pixels. Defaults to `0`. */
21
+ readonly offsetY?: number;
22
+ /** Relative strength of each successive layer, from `0` to `1`. Defaults to `0.7`. */
23
+ readonly subInfluence?: number;
24
+ /** Relative cell size of each successive layer, from `0.1` to `1`. Defaults to `0.56`. */
25
+ readonly subScaling?: number;
26
+ /** Loop evolution after `cycle` revolutions. Defaults to `false`. */
27
+ readonly cycleEvolution?: boolean;
28
+ /** Loop length in whole revolutions. Defaults to `1`. */
29
+ readonly cycle?: number;
30
+ /** Unsigned 32-bit integer seed for a repeatable texture. Defaults to `0`. */
31
+ readonly seed?: number;
32
+ /** Invert the generated grayscale values. Defaults to `false`. */
33
+ readonly invert?: boolean;
34
+ /** Mix with the source from `0` (unchanged) to `1` (noise only). Defaults to `1`. */
35
+ readonly amount?: number;
36
+ };
37
+ export declare const fractalNoise: (params?: (FractalNoiseParams & {
38
+ readonly disabled?: boolean;
39
+ }) | undefined) => import("remotion").EffectDescriptor<unknown>;
40
+ export {};
@@ -0,0 +1 @@
1
+ export declare const FRACTAL_NOISE_FRAGMENT_SHADER = "#version 300 es\nprecision highp float;\nprecision highp int;\n\nin vec2 vUv;\nout vec4 fragColor;\nuniform sampler2D uSource;\nuniform vec2 uResolution;\nuniform vec2 uOffset;\nuniform float uScale;\nuniform float uComplexity;\nuniform float uEvolution;\nuniform float uSubInfluence;\nuniform float uSubScaling;\nuniform float uContrast;\nuniform float uBrightness;\nuniform float uAmount;\nuniform float uCycle;\nuniform uint uSeed;\nuniform int uFractalType;\nuniform int uNoiseType;\nuniform bool uInvert;\nuniform bool uCycleEvolution;\n\n\nfloat lattice(ivec3 point, uint seed) {\n // Wrap lattice indices as well as coordinates so interpolation stays continuous\n // across the period boundary, including negative coordinates.\n uvec3 p = uvec3(point) & uvec3(65535u);\n uint h = p.x * 0x27d4eb2du ^ p.y * 0x165667b1u ^ p.z * 0x9e3779b9u ^ seed * 0x85ebca6bu;\n h ^= h >> 15;\n h *= 0x2c1b3c6du;\n h ^= h >> 12;\n h *= 0x297a2d39u;\n h ^= h >> 15;\n return float(h & 65535u) / 65535.0;\n}\n\nfloat catmull(vec4 p, float t) {\n return 0.5 * (2.0 * p.y + (p.z - p.x) * t\n + (2.0 * p.x - 5.0 * p.y + 4.0 * p.z - p.w) * t * t\n + (3.0 * p.y - p.x - 3.0 * p.z + p.w) * t * t * t);\n}\n\nvec3 bspline(float t) {\n return vec3(0.5 * (1.0-t) * (1.0-t), 0.5 + t * (1.0-t), 0.5 * t * t);\n}\n\nfloat sliceNoise(ivec3 p, vec2 t, uint seed) {\n if (uNoiseType == 0) return lattice(p, seed);\n if (uNoiseType == 1) {\n return mix(mix(lattice(p, seed), lattice(p + ivec3(1,0,0), seed), t.x),\n mix(lattice(p + ivec3(0,1,0), seed), lattice(p + ivec3(1,1,0), seed), t.x), t.y);\n }\n if (uNoiseType == 2) {\n vec3 wx = bspline(t.x);\n vec3 wy = bspline(t.y);\n float result = 0.0;\n for (int y = 0; y < 3; y++) {\n for (int x = 0; x < 3; x++) {\n result += wx[x] * wy[y] * lattice(p + ivec3(x-1, y-1, 0), seed);\n }\n }\n return result;\n }\n vec4 rows;\n for (int y = 0; y < 4; y++) {\n vec4 row;\n for (int x = 0; x < 4; x++) {\n row[x] = lattice(p + ivec3(x-1, y-1, 0), seed);\n }\n rows[y] = catmull(row, t.x);\n }\n return catmull(rows, t.y);\n}\n\nfloat valueNoise(vec3 point, uint seed) {\n // A large period keeps conversion to integer coordinates defined at extreme scales.\n vec3 p = mod(point + vec3(uNoiseType == 2 ? 0.5 : 0.0, uNoiseType == 2 ? 0.5 : 0.0, 0.0), 65536.0);\n ivec3 cell = ivec3(floor(p));\n vec3 t = fract(p);\n float fz = t.z * t.z * t.z * (t.z * (t.z * 6.0 - 15.0) + 10.0);\n float n = mix(sliceNoise(cell, t.xy, seed), sliceNoise(cell + ivec3(0,0,1), t.xy, seed), fz);\n return uNoiseType == 2 ? 0.5 + (n - 0.5) * (181.0 / 231.0) / 0.55 : n;\n}\n\n\nfloat layer(vec2 p, float z, uint seed) {\n if (!uCycleEvolution) return valueNoise(vec3(p, uEvolution + z), seed);\n float t = mod(uEvolution, uCycle);\n return mix(valueNoise(vec3(p, t + z), seed), valueNoise(vec3(p, t - uCycle + z), seed), t / uCycle);\n}\n\nfloat shape(float n) {\n float s = 2.0 * n - 1.0;\n if (uFractalType == 1) return 1.0 - s * s;\n if (uFractalType == 2) return 1.0 - abs(s);\n if (uFractalType == 3) return (1.0 - abs(s)) * (1.0 - abs(s));\n if (uFractalType == 8) {\n float distance = clamp(abs(s) / 0.12, 0.0, 1.0);\n return 1.0 - distance * distance;\n }\n return n;\n}\n\nvoid main() {\n vec4 source = texture(uSource, vUv);\n if (source.a == 0.0 || uAmount == 0.0) {\n fragColor = source;\n return;\n }\n vec2 pixel = vec2(vUv.x, 1.0 - vUv.y) * uResolution;\n vec2 base = (pixel - uResolution * 0.5 - uOffset) / uScale;\n float sum = 0.0;\n float norm = 0.0;\n float amplitude = 1.0;\n float frequency = 1.0;\n float best = 0.0;\n for (int octave = 0; octave < 20; octave++) {\n float weight = clamp(uComplexity - float(octave), 0.0, 1.0);\n if (weight == 0.0 || amplitude == 0.0) break;\n vec2 p = base * frequency;\n float z = float(octave) * 7.31;\n uint seed = (uSeed ^ 0x51edu) + uint(octave);\n if (uFractalType >= 4 && uFractalType <= 6) {\n float a = layer(p * 0.5, z + 3.1, seed ^ 0x55u) - 0.5;\n if (uFractalType == 5) {\n float angle = a * 3.0;\n p = mat2(cos(angle), sin(angle), -sin(angle), cos(angle)) * p;\n } else {\n float b = layer(p * 0.5, z + 5.7, seed ^ 0xaau) - 0.5;\n float strength = uFractalType == 6 ? 0.5 + float(octave) * 0.35 : 1.0;\n p += vec2(a, b) * 1.5 * strength;\n }\n }\n float n = shape(layer(p, z, seed));\n // Fade fractional octaves in for Max too, so animating complexity is continuous.\n best = max(best, n * amplitude * weight);\n sum += n * amplitude * weight;\n norm += amplitude * weight;\n amplitude *= uSubInfluence;\n frequency /= uSubScaling;\n }\n float noise = uFractalType == 7 ? best : sum / norm;\n noise = clamp((noise - 0.5) * uContrast + 0.5 + uBrightness, 0.0, 1.0);\n if (uInvert) noise = 1.0 - noise;\n fragColor = vec4(mix(source.rgb, vec3(noise) * source.a, uAmount), source.a);\n}\n";
@@ -0,0 +1 @@
1
+ export { fractalNoise, type FractalNoiseParams } from './fractal-noise/index.js';
@@ -1 +1 @@
1
- export declare const buildGaussianBlurFs: (direction: "horizontal" | "vertical") => string;
1
+ export declare const buildGaussianBlurFs: (direction: 'horizontal' | 'vertical') => string;
@@ -9,5 +9,5 @@ export type GlowParams = {
9
9
  readonly color?: string;
10
10
  };
11
11
  export declare const glow: (params?: (GlowParams & {
12
- readonly disabled?: boolean | undefined;
12
+ readonly disabled?: boolean;
13
13
  }) | undefined) => import("remotion").EffectDescriptor<unknown>;
@@ -3,5 +3,5 @@ export type GrayscaleParams = {
3
3
  readonly amount?: number;
4
4
  };
5
5
  export declare const grayscale: (params?: (GrayscaleParams & {
6
- readonly disabled?: boolean | undefined;
6
+ readonly disabled?: boolean;
7
7
  }) | undefined) => import("remotion").EffectDescriptor<unknown>;
@@ -1,87 +1,87 @@
1
1
  export declare const gridlinesSchema: {
2
2
  readonly gridSize: {
3
- readonly type: "number";
3
+ readonly type: 'number';
4
4
  readonly min: 1;
5
5
  readonly max: 400;
6
6
  readonly step: 1;
7
7
  readonly default: 64;
8
- readonly description: "Grid size";
8
+ readonly description: 'Grid size';
9
9
  readonly hiddenFromList: false;
10
10
  };
11
11
  readonly lineWidth: {
12
- readonly type: "number";
12
+ readonly type: 'number';
13
13
  readonly min: 0;
14
14
  readonly max: 100;
15
15
  readonly step: 0.1;
16
16
  readonly default: 2;
17
- readonly description: "Line width";
17
+ readonly description: 'Line width';
18
18
  readonly hiddenFromList: false;
19
19
  };
20
20
  readonly lineColor: {
21
- readonly type: "color";
21
+ readonly type: 'color';
22
22
  readonly default: "#ffffff";
23
- readonly description: "Line color";
23
+ readonly description: 'Line color';
24
24
  };
25
25
  readonly backgroundColor: {
26
- readonly type: "color";
26
+ readonly type: 'color';
27
27
  readonly default: "transparent";
28
- readonly description: "Background color";
28
+ readonly description: 'Background color';
29
29
  };
30
30
  readonly rotation: {
31
- readonly type: "rotation-degrees";
31
+ readonly type: 'rotation-degrees';
32
32
  readonly min: -180;
33
33
  readonly max: 180;
34
34
  readonly step: 1;
35
35
  readonly default: 0;
36
- readonly description: "Rotation";
36
+ readonly description: 'Rotation';
37
37
  };
38
38
  readonly rotationX: {
39
- readonly type: "rotation-degrees";
39
+ readonly type: 'rotation-degrees';
40
40
  readonly min: -180;
41
41
  readonly max: 180;
42
42
  readonly step: 0.1;
43
43
  readonly default: 0;
44
- readonly description: "Rotation X";
44
+ readonly description: 'Rotation X';
45
45
  };
46
46
  readonly rotationY: {
47
- readonly type: "rotation-degrees";
47
+ readonly type: 'rotation-degrees';
48
48
  readonly min: -180;
49
49
  readonly max: 180;
50
50
  readonly step: 0.1;
51
51
  readonly default: 0;
52
- readonly description: "Rotation Y";
52
+ readonly description: 'Rotation Y';
53
53
  };
54
54
  readonly perspective: {
55
- readonly type: "number";
55
+ readonly type: 'number';
56
56
  readonly min: 0;
57
57
  readonly max: 4000;
58
58
  readonly step: 1;
59
59
  readonly default: 0;
60
- readonly description: "Perspective";
60
+ readonly description: 'Perspective';
61
61
  readonly hiddenFromList: false;
62
62
  };
63
63
  readonly offsetX: {
64
- readonly type: "number";
64
+ readonly type: 'number';
65
65
  readonly min: -400;
66
66
  readonly max: 400;
67
67
  readonly step: 0.1;
68
68
  readonly default: 0;
69
- readonly description: "Offset X";
69
+ readonly description: 'Offset X';
70
70
  readonly hiddenFromList: false;
71
71
  };
72
72
  readonly offsetY: {
73
- readonly type: "number";
73
+ readonly type: 'number';
74
74
  readonly min: -400;
75
75
  readonly max: 400;
76
76
  readonly step: 0.1;
77
77
  readonly default: 0;
78
- readonly description: "Offset Y";
78
+ readonly description: 'Offset Y';
79
79
  readonly hiddenFromList: false;
80
80
  };
81
81
  readonly maskToSourceAlpha: {
82
- readonly type: "boolean";
82
+ readonly type: 'boolean';
83
83
  readonly default: false;
84
- readonly description: "Mask to source alpha";
84
+ readonly description: 'Mask to source alpha';
85
85
  };
86
86
  };
87
87
  export type GridlinesParams = {
@@ -109,5 +109,5 @@ export type GridlinesParams = {
109
109
  readonly maskToSourceAlpha?: boolean;
110
110
  };
111
111
  export declare const gridlines: (params?: (GridlinesParams & {
112
- readonly disabled?: boolean | undefined;
112
+ readonly disabled?: boolean;
113
113
  }) | undefined) => import("remotion").EffectDescriptor<unknown>;
@@ -1,71 +1,71 @@
1
- declare const HALFTONE_LINEAR_GRADIENT_COLOR_MODES: readonly ["solid", "source"];
1
+ declare const HALFTONE_LINEAR_GRADIENT_COLOR_MODES: readonly ['solid', 'source'];
2
2
  export declare const halftoneLinearGradientSchema: {
3
3
  readonly firstStopDotSize: {
4
- readonly type: "number";
4
+ readonly type: 'number';
5
5
  readonly min: 0;
6
6
  readonly max: 400;
7
7
  readonly step: 1;
8
8
  readonly default: 0;
9
- readonly description: "First stop dot size";
9
+ readonly description: 'First stop dot size';
10
10
  readonly hiddenFromList: false;
11
11
  };
12
12
  readonly secondStopDotSize: {
13
- readonly type: "number";
13
+ readonly type: 'number';
14
14
  readonly min: 0;
15
15
  readonly max: 400;
16
16
  readonly step: 1;
17
17
  readonly default: 40;
18
- readonly description: "Second stop dot size";
18
+ readonly description: 'Second stop dot size';
19
19
  readonly hiddenFromList: false;
20
20
  };
21
21
  readonly firstStopPosition: {
22
- readonly type: "uv-coordinate";
22
+ readonly type: 'uv-coordinate';
23
23
  readonly min: -1;
24
24
  readonly max: 2;
25
25
  readonly step: 0.01;
26
26
  readonly default: readonly [0, 0.5];
27
- readonly description: "First stop position";
27
+ readonly description: 'First stop position';
28
28
  readonly visual: {
29
- readonly type: "line";
30
- readonly to: "secondStopPosition";
29
+ readonly type: 'line';
30
+ readonly to: 'secondStopPosition';
31
31
  };
32
32
  };
33
33
  readonly secondStopPosition: {
34
- readonly type: "uv-coordinate";
34
+ readonly type: 'uv-coordinate';
35
35
  readonly min: -1;
36
36
  readonly max: 2;
37
37
  readonly step: 0.01;
38
38
  readonly default: readonly [1, 0.5];
39
- readonly description: "Second stop position";
39
+ readonly description: 'Second stop position';
40
40
  };
41
41
  readonly gridSize: {
42
- readonly type: "number";
42
+ readonly type: 'number';
43
43
  readonly min: 1;
44
44
  readonly max: 400;
45
45
  readonly step: 1;
46
46
  readonly default: 24;
47
- readonly description: "Grid size";
47
+ readonly description: 'Grid size';
48
48
  readonly hiddenFromList: false;
49
49
  };
50
50
  readonly colorMode: {
51
- readonly type: "enum";
52
- readonly default: "solid";
53
- readonly description: "Color mode";
51
+ readonly type: 'enum';
52
+ readonly default: 'solid';
53
+ readonly description: 'Color mode';
54
54
  readonly variants: {
55
55
  readonly solid: {
56
56
  readonly dotColor: {
57
- readonly type: "color";
57
+ readonly type: 'color';
58
58
  readonly default: "black";
59
- readonly description: "Dot color";
59
+ readonly description: 'Dot color';
60
60
  };
61
61
  };
62
62
  readonly source: {};
63
63
  };
64
64
  };
65
65
  readonly maskToSourceAlpha: {
66
- readonly type: "boolean";
66
+ readonly type: 'boolean';
67
67
  readonly default: false;
68
- readonly description: "Mask to source alpha";
68
+ readonly description: 'Mask to source alpha';
69
69
  };
70
70
  };
71
71
  export type HalftoneLinearGradientColorMode = (typeof HALFTONE_LINEAR_GRADIENT_COLOR_MODES)[number];
@@ -104,6 +104,6 @@ export type HalftoneLinearGradientParams = HalftoneLinearGradientCommonParams &
104
104
  readonly colorMode: 'source';
105
105
  });
106
106
  export declare const halftoneLinearGradient: (params?: (HalftoneLinearGradientParams & {
107
- readonly disabled?: boolean | undefined;
107
+ readonly disabled?: boolean;
108
108
  }) | undefined) => import("remotion").EffectDescriptor<unknown>;
109
109
  export {};
@@ -1,70 +1,70 @@
1
- declare const HALFTONE_SHAPES: readonly ["circle", "square", "line"];
2
- declare const HALFTONE_SAMPLING: readonly ["bilinear", "nearest"];
3
- declare const HALFTONE_COLOR_MODES: readonly ["solid", "source"];
1
+ declare const HALFTONE_SHAPES: readonly ['circle', 'square', 'line'];
2
+ declare const HALFTONE_SAMPLING: readonly ['bilinear', 'nearest'];
3
+ declare const HALFTONE_COLOR_MODES: readonly ['solid', 'source'];
4
4
  export declare const halftoneSchema: {
5
5
  readonly dotSize: {
6
- readonly type: "number";
6
+ readonly type: 'number';
7
7
  readonly min: 1;
8
8
  readonly max: 200;
9
9
  readonly step: 1;
10
10
  readonly default: 20;
11
- readonly description: "Dot size";
11
+ readonly description: 'Dot size';
12
12
  readonly hiddenFromList: false;
13
13
  };
14
14
  readonly dotSpacing: {
15
- readonly type: "number";
15
+ readonly type: 'number';
16
16
  readonly min: 1;
17
17
  readonly max: 200;
18
18
  readonly step: 1;
19
19
  readonly default: 20;
20
- readonly description: "Dot spacing";
20
+ readonly description: 'Dot spacing';
21
21
  readonly hiddenFromList: false;
22
22
  };
23
23
  readonly rotation: {
24
- readonly type: "rotation-degrees";
24
+ readonly type: 'rotation-degrees';
25
25
  readonly step: 1;
26
26
  readonly default: 0;
27
- readonly description: "Rotation";
27
+ readonly description: 'Rotation';
28
28
  };
29
29
  readonly offsetX: {
30
- readonly type: "number";
30
+ readonly type: 'number';
31
31
  readonly step: 1;
32
32
  readonly default: 0;
33
- readonly description: "Offset X";
33
+ readonly description: 'Offset X';
34
34
  readonly hiddenFromList: false;
35
35
  };
36
36
  readonly offsetY: {
37
- readonly type: "number";
37
+ readonly type: 'number';
38
38
  readonly step: 1;
39
39
  readonly default: 0;
40
- readonly description: "Offset Y";
40
+ readonly description: 'Offset Y';
41
41
  readonly hiddenFromList: false;
42
42
  };
43
43
  readonly shape: {
44
- readonly type: "enum";
44
+ readonly type: 'enum';
45
45
  readonly variants: {
46
46
  readonly circle: {};
47
47
  readonly square: {};
48
48
  readonly line: {};
49
49
  };
50
- readonly default: "circle";
51
- readonly description: "Shape";
50
+ readonly default: 'circle';
51
+ readonly description: 'Shape';
52
52
  };
53
53
  readonly invert: {
54
- readonly type: "boolean";
54
+ readonly type: 'boolean';
55
55
  readonly default: false;
56
- readonly description: "Invert";
56
+ readonly description: 'Invert';
57
57
  };
58
58
  readonly colorMode: {
59
- readonly type: "enum";
60
- readonly default: "solid";
61
- readonly description: "Color mode";
59
+ readonly type: 'enum';
60
+ readonly default: 'solid';
61
+ readonly description: 'Color mode';
62
62
  readonly variants: {
63
63
  readonly solid: {
64
64
  readonly dotColor: {
65
- readonly type: "color";
66
- readonly default: "red";
67
- readonly description: "Dot color";
65
+ readonly type: 'color';
66
+ readonly default: 'red';
67
+ readonly description: 'Dot color';
68
68
  };
69
69
  };
70
70
  readonly source: {};
@@ -101,6 +101,6 @@ export type HalftoneParams = HalftoneCommonParams & ({
101
101
  readonly colorMode: 'source';
102
102
  });
103
103
  export declare const halftone: (params?: (HalftoneParams & {
104
- readonly disabled?: boolean | undefined;
104
+ readonly disabled?: boolean;
105
105
  }) | undefined) => import("remotion").EffectDescriptor<unknown>;
106
106
  export {};
package/dist/hue.d.ts CHANGED
@@ -3,5 +3,5 @@ export type HueParams = {
3
3
  readonly degrees?: number;
4
4
  };
5
5
  export declare const hue: (params?: (HueParams & {
6
- readonly disabled?: boolean | undefined;
6
+ readonly disabled?: boolean;
7
7
  }) | undefined) => import("remotion").EffectDescriptor<unknown>;
package/dist/invert.d.ts CHANGED
@@ -3,5 +3,5 @@ export type InvertParams = {
3
3
  readonly amount?: number;
4
4
  };
5
5
  export declare const invert: (params?: (InvertParams & {
6
- readonly disabled?: boolean | undefined;
6
+ readonly disabled?: boolean;
7
7
  }) | undefined) => import("remotion").EffectDescriptor<unknown>;
@@ -0,0 +1,30 @@
1
+ declare const IRIS_SHAPES: readonly ['triangle', 'square', 'pentagon', 'hexagon', 'heptagon', 'octagon', 'nonagon', 'decagon', 'circle'];
2
+ export type LensBlurIrisShape = (typeof IRIS_SHAPES)[number];
3
+ export type LensBlurParams = {
4
+ /** Blur radius in pixels. Defaults to `10`. */
5
+ readonly radius?: number;
6
+ /** Iris shape. Defaults to `hexagon`. */
7
+ readonly irisShape?: LensBlurIrisShape;
8
+ /** Roundness of the iris, from 0 (polygon) to 1 (circle). Defaults to `0`. */
9
+ readonly irisRoundness?: number;
10
+ /** Clockwise iris rotation in degrees. Defaults to `0`. */
11
+ readonly irisRotation?: number;
12
+ /** Horizontal stretch of the iris. Must be greater than zero. Defaults to `1`. */
13
+ readonly irisAspectRatio?: number;
14
+ /** Additional brightness of highlights, from 0 to 1. Defaults to `0`. */
15
+ readonly highlightGain?: number;
16
+ /** Minimum luminance for highlight gain, from 0 to 1. Defaults to `1`. */
17
+ readonly highlightThreshold?: number;
18
+ /** Saturation of added highlight brightness, from 0 to 1. Defaults to `1`. */
19
+ readonly highlightSaturation?: number;
20
+ /** Repeat edge pixels outside the source instead of sampling transparency. Defaults to `false`. */
21
+ readonly repeatEdgePixels?: boolean;
22
+ /** Number of aperture samples, from 16 to 2048. Higher values reduce grain. Defaults to `256`. */
23
+ readonly samples?: number;
24
+ /** Average colors in linear light. Defaults to `false`. */
25
+ readonly linearLight?: boolean;
26
+ };
27
+ export declare const lensBlur: (params?: (LensBlurParams & {
28
+ readonly disabled?: boolean;
29
+ }) | undefined) => import("remotion").EffectDescriptor<unknown>;
30
+ export {};
@@ -0,0 +1 @@
1
+ export declare const LENS_BLUR_FRAGMENT_SHADER = "#version 300 es\nprecision highp float;\n\nin vec2 vUv;\nout vec4 fragColor;\n\nuniform sampler2D uSource;\nuniform vec2 uResolution;\nuniform float uRadius;\nuniform int uIrisShape;\nuniform float uIrisRoundness;\nuniform float uIrisRotation;\nuniform float uIrisAspectRatio;\nuniform float uHighlightGain;\nuniform float uHighlightThreshold;\nuniform float uHighlightSaturation;\nuniform bool uRepeatEdgePixels;\nuniform int uSamples;\nuniform bool uLinearLight;\n\nconst float PI = 3.141592653589793;\nconst float GOLDEN_ANGLE = 2.399963229728653;\n\nvec3 toLinear(vec3 color) {\n\treturn mix(color / 12.92, pow((color + 0.055) / 1.055, vec3(2.4)), step(vec3(0.04045), color));\n}\n\nvec3 toSrgb(vec3 color) {\n\treturn mix(color * 12.92, 1.055 * pow(max(color, vec3(0.0)), vec3(1.0 / 2.4)) - 0.055, step(vec3(0.0031308), color));\n}\n\nvec4 readSource(vec2 uv) {\n\tvec4 sampleColor = texture(uSource, uv);\n\tif (sampleColor.a <= 0.0) return vec4(0.0);\n\tvec3 color = sampleColor.rgb / sampleColor.a;\n\tfloat luminance = dot(color, vec3(0.2126, 0.7152, 0.0722));\n\tif (uLinearLight) color = toLinear(color);\n\tif (luminance >= uHighlightThreshold) {\n\t\tfloat brightest = max(color.r, max(color.g, color.b));\n\t\tvec3 highlight = mix(vec3(brightest), color, uHighlightSaturation);\n\t\tcolor += highlight * (4.0 * uHighlightGain);\n\t}\n\n\tfloat coverage = 1.0;\n\tif (!uRepeatEdgePixels) {\n\t\t// The texture clamps to its edge texels. Fade their bilinear footprint\n\t\t// against transparent texels beyond the canvas instead of cutting it off.\n\t\tvec2 pixel = uv * uResolution;\n\t\tvec2 nearEdge = clamp(pixel + 0.5, 0.0, 1.0);\n\t\tvec2 farEdge = clamp(uResolution + 0.5 - pixel, 0.0, 1.0);\n\t\tcoverage = nearEdge.x * nearEdge.y * farEdge.x * farEdge.y;\n\t}\n\treturn vec4(color * sampleColor.a, sampleColor.a) * coverage;\n}\n\nvoid main() {\n\t// A zero radius must be an exact identity, including with highlight gain.\n\tif (uRadius == 0.0) {\n\t\tfragColor = texture(uSource, vUv);\n\t\treturn;\n\t}\n\n\tvec4 sum = vec4(0.0);\n\tfloat totalWeight = 0.0;\n\tfor (int i = 0; i < 2048; i++) {\n\t\tif (i >= uSamples) break;\n\t\tfloat angle = float(i) * GOLDEN_ANGLE;\n\t\tfloat boundary = 1.0;\n\t\tif (uIrisShape < 11) {\n\t\t\tfloat halfSector = PI / float(uIrisShape);\n\t\t\tfloat localAngle = mod(angle + PI / 2.0, 2.0 * halfSector) - halfSector;\n\t\t\tfloat polygon = cos(halfSector) / cos(localAngle);\n\t\t\tboundary = mix(polygon, 1.0, uIrisRoundness);\n\t\t}\n\t\tfloat distance = sqrt((float(i) + 0.5) / float(uSamples)) * boundary;\n\t\tfloat rotatedAngle = angle + uIrisRotation;\n\t\tvec2 offset = vec2(cos(rotatedAngle) * uIrisAspectRatio, -sin(rotatedAngle)) * distance * uRadius;\n\t\t// Radially mapping a disc onto a polygon changes area by boundary^2.\n\t\t// Weight by that Jacobian to keep the aperture uniformly illuminated.\n\t\tfloat weight = boundary * boundary;\n\t\tsum += readSource(vUv - offset / uResolution) * weight;\n\t\ttotalWeight += weight;\n\t}\n\n\tvec4 color = sum / totalWeight;\n\tif (uLinearLight && color.a > 0.0) {\n\t\tcolor.rgb = toSrgb(color.rgb / color.a) * color.a;\n\t}\n\t// Keep the result premultiplied even when highlights exceed display white.\n\tfragColor = vec4(clamp(color.rgb, vec3(0.0), vec3(color.a)), color.a);\n}\n";
@@ -0,0 +1 @@
1
+ export { lensBlur, type LensBlurParams, type LensBlurIrisShape, } from './lens-blur/index.js';
package/dist/levels.d.ts CHANGED
@@ -7,5 +7,5 @@ export type LevelsParams = {
7
7
  readonly gamma?: number;
8
8
  };
9
9
  export declare const levels: (params?: (LevelsParams & {
10
- readonly disabled?: boolean | undefined;
10
+ readonly disabled?: boolean;
11
11
  }) | undefined) => import("remotion").EffectDescriptor<unknown>;
@@ -1,25 +1,25 @@
1
1
  export declare const lightLeakEffectSchema: {
2
2
  readonly seed: {
3
- readonly type: "number";
3
+ readonly type: 'number';
4
4
  readonly default: 0;
5
- readonly description: "Seed";
5
+ readonly description: 'Seed';
6
6
  readonly hiddenFromList: false;
7
7
  };
8
8
  readonly hueShift: {
9
- readonly type: "number";
9
+ readonly type: 'number';
10
10
  readonly min: 0;
11
11
  readonly max: 360;
12
12
  readonly default: 0;
13
- readonly description: "Hue Shift";
13
+ readonly description: 'Hue Shift';
14
14
  readonly hiddenFromList: false;
15
15
  };
16
16
  readonly progress: {
17
- readonly type: "number";
17
+ readonly type: 'number';
18
18
  readonly min: 0;
19
19
  readonly max: 1;
20
20
  readonly step: 0.01;
21
21
  readonly default: 0.5;
22
- readonly description: "Progress";
22
+ readonly description: 'Progress';
23
23
  readonly hiddenFromList: false;
24
24
  };
25
25
  };
@@ -30,5 +30,5 @@ export type LightLeakEffectParams = {
30
30
  readonly progress?: number;
31
31
  };
32
32
  export declare const lightLeak: (params?: (LightLeakEffectParams & {
33
- readonly disabled?: boolean | undefined;
33
+ readonly disabled?: boolean;
34
34
  }) | undefined) => import("remotion").EffectDescriptor<unknown>;
@@ -15,5 +15,5 @@ export type LightTrailParams = {
15
15
  readonly color?: string;
16
16
  };
17
17
  export declare const lightTrail: (params?: (LightTrailParams & {
18
- readonly disabled?: boolean | undefined;
18
+ readonly disabled?: boolean;
19
19
  }) | undefined) => import("remotion").EffectDescriptor<unknown>;
@@ -22,5 +22,5 @@ export type LinearGradientTintParams = {
22
22
  readonly amount?: number;
23
23
  };
24
24
  export declare const linearGradientTint: (params?: (LinearGradientTintParams & {
25
- readonly disabled?: boolean | undefined;
25
+ readonly disabled?: boolean;
26
26
  }) | undefined) => import("remotion").EffectDescriptor<unknown>;
@@ -18,5 +18,5 @@ export type LinearGradientParams = {
18
18
  readonly endColor?: string;
19
19
  };
20
20
  export declare const linearGradient: (params?: (LinearGradientParams & {
21
- readonly disabled?: boolean | undefined;
21
+ readonly disabled?: boolean;
22
22
  }) | undefined) => import("remotion").EffectDescriptor<unknown>;
@@ -24,5 +24,5 @@ export type LinearProgressiveBlurResolved = {
24
24
  readonly endBlur: number;
25
25
  };
26
26
  export declare const linearProgressiveBlur: (params?: (LinearProgressiveBlurParams & {
27
- readonly disabled?: boolean | undefined;
27
+ readonly disabled?: boolean;
28
28
  }) | undefined) => import("remotion").EffectDescriptor<unknown>;
@@ -1,2 +1,2 @@
1
1
  export declare const LINEAR_PROGRESSIVE_BLUR_VS = "#version 300 es\nlayout(location = 0) in vec2 aPos;\nlayout(location = 1) in vec2 aUv;\nout vec2 vUv;\nvoid main() {\n\tvUv = aUv;\n\tgl_Position = vec4(aPos, 0.0, 1.0);\n}\n";
2
- export declare const buildLinearProgressiveBlurFs: (direction: "horizontal" | "vertical") => string;
2
+ export declare const buildLinearProgressiveBlurFs: (direction: 'horizontal' | 'vertical') => string;
@@ -10,5 +10,5 @@ export type LinearProgressivePixelateParams = {
10
10
  readonly endBlockSize?: number;
11
11
  };
12
12
  export declare const linearProgressivePixelate: (params?: (LinearProgressivePixelateParams & {
13
- readonly disabled?: boolean | undefined;
13
+ readonly disabled?: boolean;
14
14
  }) | undefined) => import("remotion").EffectDescriptor<unknown>;