@remotion/effects 4.0.538 → 4.0.540

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 (209) hide show
  1. package/THIRD_PARTY_LICENSES.md +19 -0
  2. package/dist/barrel-distortion/webgpu-shader.d.ts +1 -0
  3. package/dist/bevel-alpha/webgpu-shaders.d.ts +2 -0
  4. package/dist/burlap-webgpu-shader.d.ts +1 -0
  5. package/dist/checkerboard-webgpu-shader.d.ts +1 -0
  6. package/dist/chromatic-aberration/webgpu-shader.d.ts +1 -0
  7. package/dist/color-correction-webgpu-shader-utils.d.ts +4 -0
  8. package/dist/color-key-webgpu-shader.d.ts +1 -0
  9. package/dist/color-matrix-runtime.d.ts +4 -0
  10. package/dist/contour-lines-webgpu-shader.d.ts +1 -0
  11. package/dist/corner-pin/webgpu-shader.d.ts +1 -0
  12. package/dist/curves.d.ts +65 -0
  13. package/dist/cylinder/webgl-shader.d.ts +1 -0
  14. package/dist/dot-grid-webgpu-shader.d.ts +1 -0
  15. package/dist/drop-shadow/webgpu-shaders.d.ts +2 -0
  16. package/dist/emboss-webgpu-shader.d.ts +1 -0
  17. package/dist/esm/barrel-distortion.mjs +67 -118
  18. package/dist/esm/bevel-alpha.mjs +247 -196
  19. package/dist/esm/blur.mjs +101 -115
  20. package/dist/esm/brightness.mjs +65 -132
  21. package/dist/esm/burlap.mjs +178 -151
  22. package/dist/esm/checkerboard.mjs +6 -514
  23. package/dist/esm/chromatic-aberration.mjs +72 -119
  24. package/dist/esm/color-correction.mjs +186 -224
  25. package/dist/esm/color-key.mjs +149 -136
  26. package/dist/esm/contour-lines.mjs +201 -160
  27. package/dist/esm/contrast.mjs +65 -132
  28. package/dist/esm/corner-pin.mjs +4 -390
  29. package/dist/esm/curves.mjs +357 -0
  30. package/dist/esm/cylinder.mjs +108 -225
  31. package/dist/esm/dot-grid.mjs +184 -213
  32. package/dist/esm/drop-shadow.mjs +162 -180
  33. package/dist/esm/duotone.mjs +110 -143
  34. package/dist/esm/emboss.mjs +153 -151
  35. package/dist/esm/evolve.mjs +228 -154
  36. package/dist/esm/exposure.mjs +93 -201
  37. package/dist/esm/film-burn.mjs +298 -0
  38. package/dist/esm/fisheye.mjs +97 -126
  39. package/dist/esm/flannel.mjs +158 -156
  40. package/dist/esm/fractal-noise.mjs +186 -232
  41. package/dist/esm/glow.mjs +164 -179
  42. package/dist/esm/grayscale.mjs +56 -122
  43. package/dist/esm/gridlines.mjs +6 -575
  44. package/dist/esm/halftone-linear-gradient.mjs +246 -245
  45. package/dist/esm/halftone.mjs +267 -243
  46. package/dist/esm/hue.mjs +55 -122
  47. package/dist/esm/index-00v3hr66.mjs +299 -0
  48. package/dist/esm/index-0w4eqht8.mjs +351 -0
  49. package/dist/esm/index-18y0zcy2.mjs +440 -0
  50. package/dist/esm/index-1m1b1ad7.mjs +520 -0
  51. package/dist/esm/index-34fxm3ax.mjs +518 -0
  52. package/dist/esm/index-4fvp93ps.mjs +32 -0
  53. package/dist/esm/index-4scpn12x.mjs +224 -0
  54. package/dist/esm/index-4z6pt3ka.mjs +104 -0
  55. package/dist/esm/index-618ky75w.mjs +51 -0
  56. package/dist/esm/index-6agxdrvr.mjs +411 -0
  57. package/dist/esm/index-6jkps947.mjs +120 -0
  58. package/dist/esm/index-8agtsbw4.mjs +617 -0
  59. package/dist/esm/index-8jx11jyn.mjs +29 -0
  60. package/dist/esm/index-8p04sssx.mjs +123 -0
  61. package/dist/esm/index-afdtmrh2.mjs +596 -0
  62. package/dist/esm/index-b86qstcs.mjs +18 -0
  63. package/dist/esm/index-cb77qg3g.mjs +587 -0
  64. package/dist/esm/index-cdp7tr8x.mjs +122 -0
  65. package/dist/esm/index-evy8hyah.mjs +55 -0
  66. package/dist/esm/index-gnsce796.mjs +6 -0
  67. package/dist/esm/index-kkvzt8b7.mjs +199 -0
  68. package/dist/esm/index-r0v18b2n.mjs +425 -0
  69. package/dist/esm/index-rswpzmm5.mjs +926 -0
  70. package/dist/esm/index-s9mrx750.mjs +97 -0
  71. package/dist/esm/index-tvfexb7s.mjs +164 -0
  72. package/dist/esm/index-vp56k1gj.mjs +215 -0
  73. package/dist/esm/index-wxhvgv2s.mjs +79 -0
  74. package/dist/esm/index-wy95a41r.mjs +407 -0
  75. package/dist/esm/index-ysnwfc4t.mjs +306 -0
  76. package/dist/esm/index.mjs +49 -4053
  77. package/dist/esm/invert.mjs +54 -122
  78. package/dist/esm/iris-wipe.mjs +315 -0
  79. package/dist/esm/lens-blur.mjs +169 -156
  80. package/dist/esm/levels.mjs +204 -151
  81. package/dist/esm/light-leak.mjs +6 -416
  82. package/dist/esm/light-trail.mjs +124 -128
  83. package/dist/esm/linear-gradient-tint.mjs +4 -424
  84. package/dist/esm/linear-gradient.mjs +4 -370
  85. package/dist/esm/linear-progressive-blur.mjs +92 -118
  86. package/dist/esm/linear-progressive-pixelate.mjs +83 -378
  87. package/dist/esm/lines.mjs +167 -162
  88. package/dist/esm/liquid-contours.mjs +192 -153
  89. package/dist/esm/long-shadows.mjs +278 -251
  90. package/dist/esm/lut.mjs +123 -23
  91. package/dist/esm/mirror.mjs +78 -120
  92. package/dist/esm/noise-displacement.mjs +156 -151
  93. package/dist/esm/noise.mjs +107 -143
  94. package/dist/esm/outline.mjs +192 -170
  95. package/dist/esm/page-turn.mjs +141 -244
  96. package/dist/esm/paper.mjs +522 -194
  97. package/dist/esm/pattern.mjs +4 -568
  98. package/dist/esm/pixel-dissolve.mjs +158 -186
  99. package/dist/esm/pixelate.mjs +92 -149
  100. package/dist/esm/radial-progressive-blur.mjs +96 -118
  101. package/dist/esm/radial-progressive-pixelate.mjs +91 -384
  102. package/dist/esm/radial-wipe.mjs +224 -0
  103. package/dist/esm/rain-fall.mjs +114 -0
  104. package/dist/esm/region-blur.mjs +138 -192
  105. package/dist/esm/rings.mjs +6 -512
  106. package/dist/esm/roughen-edges.mjs +180 -156
  107. package/dist/esm/saturation.mjs +56 -122
  108. package/dist/esm/scale.mjs +50 -60
  109. package/dist/esm/scanlines.mjs +115 -149
  110. package/dist/esm/shadows-highlights.mjs +103 -205
  111. package/dist/esm/shatter.mjs +868 -0
  112. package/dist/esm/shine.mjs +192 -227
  113. package/dist/esm/shrinkwrap.mjs +388 -225
  114. package/dist/esm/skew.mjs +100 -145
  115. package/dist/esm/snow-fall.mjs +170 -0
  116. package/dist/esm/speckle.mjs +192 -210
  117. package/dist/esm/sphere.mjs +101 -225
  118. package/dist/esm/starburst.mjs +6 -345
  119. package/dist/esm/tear.mjs +138 -155
  120. package/dist/esm/thermal-vision.mjs +135 -152
  121. package/dist/esm/tile.mjs +5 -184
  122. package/dist/esm/tint.mjs +80 -132
  123. package/dist/esm/translate.mjs +55 -137
  124. package/dist/esm/turbulent-displace.mjs +182 -221
  125. package/dist/esm/tv-signal-off.mjs +140 -149
  126. package/dist/esm/venetian-blinds.mjs +91 -140
  127. package/dist/esm/vibrance.mjs +95 -204
  128. package/dist/esm/vignette.mjs +136 -155
  129. package/dist/esm/wave.mjs +88 -47
  130. package/dist/esm/waves.mjs +181 -169
  131. package/dist/esm/white-balance.mjs +100 -204
  132. package/dist/esm/white-noise.mjs +98 -146
  133. package/dist/esm/zigzag.mjs +6 -575
  134. package/dist/esm/zoom-blur.mjs +90 -121
  135. package/dist/evolve.d.ts +46 -10
  136. package/dist/film-burn-webgpu-shader.d.ts +1 -0
  137. package/dist/film-burn.d.ts +40 -0
  138. package/dist/fisheye/webgpu-shader.d.ts +1 -0
  139. package/dist/flannel-webgpu-shader.d.ts +1 -0
  140. package/dist/fractal-noise/shader.d.ts +1 -1
  141. package/dist/fractal-noise/webgpu-shader.d.ts +1 -0
  142. package/dist/gaussian-blur-webgpu-shader.d.ts +1 -0
  143. package/dist/glow/webgpu-shaders.d.ts +2 -0
  144. package/dist/gridlines-webgpu-shader.d.ts +1 -0
  145. package/dist/halftone-linear-gradient-webgpu-shader.d.ts +1 -0
  146. package/dist/halftone-webgpu-shader.d.ts +1 -0
  147. package/dist/iris-wipe.d.ts +78 -0
  148. package/dist/lens-blur/webgpu-shader.d.ts +1 -0
  149. package/dist/levels.d.ts +69 -2
  150. package/dist/light-leak-webgpu-shader.d.ts +1 -0
  151. package/dist/light-trail/webgpu-shader.d.ts +1 -0
  152. package/dist/linear-gradient-tint-webgpu-shader.d.ts +1 -0
  153. package/dist/linear-gradient-webgpu-shader.d.ts +1 -0
  154. package/dist/lines-webgpu-shader.d.ts +1 -0
  155. package/dist/liquid-contours-webgpu-shader.d.ts +1 -0
  156. package/dist/long-shadows-webgpu-shaders.d.ts +2 -0
  157. package/dist/lut/webgpu-shader.d.ts +1 -0
  158. package/dist/mirror/webgpu-shader.d.ts +1 -0
  159. package/dist/noise-displacement-webgpu-shader.d.ts +1 -0
  160. package/dist/noise-webgpu-shader.d.ts +1 -0
  161. package/dist/outline/webgpu-shader.d.ts +1 -0
  162. package/dist/page-turn/webgl-shader.d.ts +1 -0
  163. package/dist/paper-webgpu-shader.d.ts +2 -0
  164. package/dist/pattern-webgpu-shader.d.ts +1 -0
  165. package/dist/pixel-dissolve-webgpu-shader.d.ts +1 -0
  166. package/dist/progressive-pixelate-runtime.d.ts +1 -0
  167. package/dist/radial-wipe.d.ts +19 -0
  168. package/dist/rain-fall.d.ts +143 -0
  169. package/dist/rect-transform-runtime.d.ts +11 -0
  170. package/dist/region-blur/webgpu-shader.d.ts +1 -0
  171. package/dist/rings-webgpu-shader.d.ts +1 -0
  172. package/dist/roughen-edges-webgpu-shader.d.ts +1 -0
  173. package/dist/shatter/geometry.d.ts +19 -0
  174. package/dist/shatter/index.d.ts +39 -0
  175. package/dist/shatter/runtime.d.ts +19 -0
  176. package/dist/shatter/webgpu-shader.d.ts +1 -0
  177. package/dist/shatter.d.ts +1 -0
  178. package/dist/shine-webgpu-shader.d.ts +1 -0
  179. package/dist/shrinkwrap-webgpu-shader.d.ts +1 -0
  180. package/dist/single-pass-runtime.d.ts +18 -0
  181. package/dist/skew-webgpu-shader.d.ts +1 -0
  182. package/dist/snow-fall.d.ts +208 -0
  183. package/dist/speckle-webgpu-shader.d.ts +1 -0
  184. package/dist/sphere/webgl-shader.d.ts +1 -0
  185. package/dist/starburst-webgpu-shader.d.ts +1 -0
  186. package/dist/tear-webgpu-shader.d.ts +1 -0
  187. package/dist/thermal-vision-webgpu-shader.d.ts +1 -0
  188. package/dist/tile-gpu-runtime.d.ts +24 -0
  189. package/dist/turbulent-displace/webgpu-shader.d.ts +1 -0
  190. package/dist/value-noise-webgpu-shader.d.ts +1 -0
  191. package/dist/vignette-webgpu-shader.d.ts +1 -0
  192. package/dist/wave/wave-runtime.d.ts +2 -1
  193. package/dist/wave/webgpu-shader.d.ts +1 -0
  194. package/dist/waves-webgpu-shader.d.ts +1 -0
  195. package/dist/weather/params.d.ts +149 -0
  196. package/dist/weather/runtime.d.ts +52 -0
  197. package/dist/weather/shaders.d.ts +4 -0
  198. package/dist/weather/webgpu-runtime.d.ts +36 -0
  199. package/dist/weather/webgpu-shader.d.ts +1 -0
  200. package/dist/webgl-projection-runtime.d.ts +18 -0
  201. package/dist/webgpu-color-state.d.ts +10 -0
  202. package/dist/webgpu-mesh-runtime.d.ts +46 -0
  203. package/dist/webgpu-multipass-runtime.d.ts +50 -0
  204. package/dist/webgpu-projection-runtime.d.ts +9 -5
  205. package/dist/webgpu-single-pass-runtime.d.ts +47 -0
  206. package/dist/white-noise-webgpu-shader.d.ts +1 -0
  207. package/dist/zigzag-webgpu-shader.d.ts +1 -0
  208. package/dist/zoom-blur/webgpu-shader.d.ts +1 -0
  209. package/package.json +59 -3
@@ -0,0 +1,46 @@
1
+ export type WebGpuMeshState = {
2
+ readonly context: GPUCanvasContext;
3
+ readonly label: string;
4
+ resources: {
5
+ readonly device: GPUDevice;
6
+ readonly shader: string;
7
+ readonly uniformSize: number;
8
+ readonly topology: GPUPrimitiveTopology;
9
+ readonly blend: boolean;
10
+ readonly pipeline: GPURenderPipeline;
11
+ readonly flipPipeline: GPURenderPipeline;
12
+ readonly sampler: GPUSampler;
13
+ readonly uniforms: GPUBuffer;
14
+ multisample: {
15
+ readonly resolved: GPUTexture;
16
+ readonly texture: GPUTexture;
17
+ readonly width: number;
18
+ readonly height: number;
19
+ } | null;
20
+ vertices: {
21
+ readonly buffer: GPUBuffer;
22
+ readonly size: number;
23
+ } | null;
24
+ source: {
25
+ readonly texture: GPUTexture;
26
+ readonly width: number;
27
+ readonly height: number;
28
+ } | null;
29
+ } | null;
30
+ };
31
+ export declare const setupWebGpuMesh: (target: HTMLCanvasElement, label: string) => WebGpuMeshState;
32
+ export declare const cleanupWebGpuMesh: (state: WebGpuMeshState) => void;
33
+ export declare const applyWebGpuMesh: ({ state, source, width, height, vertices, device, shader, uniformData, topology, blend, vertexCount, instanceCount, }: {
34
+ state: WebGpuMeshState;
35
+ source: CanvasImageSource;
36
+ width: number;
37
+ height: number;
38
+ vertices: Float32Array | null;
39
+ shader: string;
40
+ uniformData: Float32Array<ArrayBuffer>;
41
+ topology: GPUPrimitiveTopology;
42
+ blend: boolean;
43
+ vertexCount: number;
44
+ instanceCount: number;
45
+ device: GPUDevice;
46
+ }) => void;
@@ -0,0 +1,50 @@
1
+ export declare const WEBGPU_MULTIPASS_BINDINGS = "\n\nstruct VertexOutput {\n\t@builtin(position) position: vec4f,\n\t@location(0) uv: vec2f,\n}\n\n@vertex fn vertex(@builtin(vertex_index) index: u32) -> VertexOutput {\n\tlet positions = array<vec2f, 3>(vec2f(-1, -1), vec2f(3, -1), vec2f(-1, 3));\n\tlet position = positions[index];\n\tvar output: VertexOutput;\n\toutput.position = vec4f(position, 0, 1);\n\toutput.uv = vec2f(position.x * 0.5 + 0.5, 0.5 - position.y * 0.5);\n\treturn output;\n}\n\n@group(0) @binding(0) var source: texture_2d<f32>;\n@group(0) @binding(1) var sourceSampler: sampler;\n@group(0) @binding(2) var<uniform> params: Params;\n@group(0) @binding(3) var secondary: texture_2d<f32>;\n";
2
+ export type WebGpuPass = {
3
+ readonly shader: string;
4
+ readonly uniforms: Float32Array<ArrayBuffer>;
5
+ readonly source: number;
6
+ readonly secondary: number;
7
+ };
8
+ type PassResources = {
9
+ readonly shader: string;
10
+ readonly size: number;
11
+ readonly format: GPUTextureFormat;
12
+ readonly pipeline: GPURenderPipeline;
13
+ readonly uniforms: GPUBuffer;
14
+ };
15
+ export type WebGpuMultipassState = {
16
+ readonly context: GPUCanvasContext;
17
+ readonly label: string;
18
+ resources: {
19
+ readonly device: GPUDevice;
20
+ readonly layout: GPUBindGroupLayout;
21
+ readonly sampler: GPUSampler;
22
+ readonly format: GPUTextureFormat;
23
+ readonly passes: PassResources[];
24
+ readonly textures: GPUTexture[];
25
+ auxiliary: {
26
+ readonly texture: GPUTexture;
27
+ readonly width: number;
28
+ readonly height: number;
29
+ } | null;
30
+ width: number;
31
+ height: number;
32
+ source: {
33
+ readonly texture: GPUTexture;
34
+ readonly width: number;
35
+ readonly height: number;
36
+ } | null;
37
+ } | null;
38
+ };
39
+ export declare const setupWebGpuMultipass: (target: HTMLCanvasElement, label: string) => WebGpuMultipassState;
40
+ export declare const cleanupWebGpuMultipass: (state: WebGpuMultipassState) => void;
41
+ export declare const applyWebGpuMultipass: ({ state, source, width, height, device, passes, auxiliarySource, }: {
42
+ state: WebGpuMultipassState;
43
+ source: CanvasImageSource;
44
+ width: number;
45
+ height: number;
46
+ device: GPUDevice;
47
+ passes: readonly WebGpuPass[];
48
+ auxiliarySource: HTMLCanvasElement | null;
49
+ }) => void;
50
+ export {};
@@ -2,18 +2,22 @@ export type WebGpuProjectionState = {
2
2
  context: GPUCanvasContext;
3
3
  resources: {
4
4
  device: GPUDevice;
5
+ shader: string;
6
+ format: GPUTextureFormat;
5
7
  pipeline: GPURenderPipeline;
6
8
  uniforms: GPUBuffer;
7
9
  sampler: GPUSampler;
8
- texture: GPUTexture;
9
- bindGroup: GPUBindGroup;
10
- width: number;
11
- height: number;
10
+ source: {
11
+ texture: GPUTexture;
12
+ bindGroup: GPUBindGroup;
13
+ width: number;
14
+ height: number;
15
+ } | null;
12
16
  } | null;
13
17
  };
14
18
  export declare const cleanupWebGpuProjection: (state: WebGpuProjectionState) => void;
15
19
  export declare const setupWebGpuProjection: (target: HTMLCanvasElement, label: string) => WebGpuProjectionState;
16
- export declare const applyWebGpuProjection: ({ state, source, width, height, device, shader, uniformData, }: {
20
+ export declare const applyWebGpuProjection: ({ state, source, device, shader, uniformData, }: {
17
21
  state: WebGpuProjectionState;
18
22
  source: CanvasImageSource;
19
23
  width: number;
@@ -0,0 +1,47 @@
1
+ export type WebGpuSinglePassState = {
2
+ readonly context: GPUCanvasContext;
3
+ readonly label: string;
4
+ resources: {
5
+ readonly device: GPUDevice;
6
+ readonly shader: string;
7
+ readonly uniformBufferSize: number;
8
+ readonly sourceFilter: GPUFilterMode;
9
+ readonly auxiliary: {
10
+ readonly texture: GPUTexture;
11
+ readonly width: number;
12
+ readonly height: number;
13
+ readonly format: 'rgba8unorm' | 'rgba32float';
14
+ uploadedData: Uint8Array<ArrayBuffer> | Float32Array<ArrayBuffer> | null;
15
+ } | null;
16
+ readonly pipeline: GPURenderPipeline;
17
+ readonly uniforms: GPUBuffer;
18
+ readonly sampler: GPUSampler;
19
+ readonly bindGroupLayout: GPUBindGroupLayout;
20
+ source: {
21
+ readonly texture: GPUTexture;
22
+ readonly bindGroup: GPUBindGroup;
23
+ readonly width: number;
24
+ readonly height: number;
25
+ } | null;
26
+ } | null;
27
+ };
28
+ export declare const WEBGPU_SINGLE_PASS_VERTEX = "\nstruct VertexOutput {\n\t@builtin(position) position: vec4f,\n\t@location(0) uv: vec2f,\n}\n\n@vertex fn vertex(@builtin(vertex_index) index: u32) -> VertexOutput {\n\tlet positions = array<vec2f, 3>(vec2f(-1, -1), vec2f(3, -1), vec2f(-1, 3));\n\tlet position = positions[index];\n\tvar output: VertexOutput;\n\toutput.position = vec4f(position, 0, 1);\n\toutput.uv = vec2f(position.x * 0.5 + 0.5, 0.5 - position.y * 0.5);\n\treturn output;\n}\n";
29
+ export declare const setupWebGpuSinglePass: (target: HTMLCanvasElement, label: string) => WebGpuSinglePassState;
30
+ export declare const cleanupWebGpuSinglePass: (state: WebGpuSinglePassState) => void;
31
+ export declare const applyWebGpuSinglePass: ({ state, source, device, shader, uniformData, }: {
32
+ state: WebGpuSinglePassState;
33
+ source: CanvasImageSource;
34
+ width: number;
35
+ height: number;
36
+ device: GPUDevice;
37
+ shader: string;
38
+ uniformData: Float32Array<ArrayBuffer>;
39
+ }, options?: {
40
+ sourceFilter: GPUFilterMode | null;
41
+ auxiliaryTexture: {
42
+ data: Uint8Array<ArrayBuffer> | Float32Array<ArrayBuffer>;
43
+ width: number;
44
+ height: number;
45
+ format: 'rgba8unorm' | 'rgba32float';
46
+ } | null;
47
+ } | null) => void;
@@ -0,0 +1 @@
1
+ export declare const WHITE_NOISE_WEBGPU_SHADER = "\n\nstruct VertexOutput {\n\t@builtin(position) position: vec4f,\n\t@location(0) uv: vec2f,\n}\n\n@vertex fn vertex(@builtin(vertex_index) index: u32) -> VertexOutput {\n\tlet positions = array<vec2f, 3>(vec2f(-1, -1), vec2f(3, -1), vec2f(-1, 3));\n\tlet position = positions[index];\n\tvar output: VertexOutput;\n\toutput.position = vec4f(position, 0, 1);\n\toutput.uv = vec2f(position.x * 0.5 + 0.5, 0.5 - position.y * 0.5);\n\treturn output;\n}\n\n@group(0) @binding(0) var source: texture_2d<f32>;\n@group(0) @binding(1) var sourceSampler: sampler;\n@group(0) @binding(2) var<uniform> params: Params;\n\nstruct Params { size: vec2f, amount: f32, seed: f32, }\nfn random(co: vec2f) -> f32 {\n return fract(sin(dot(co, vec2f(12.9898, 78.233)) + params.seed * 37.719) * 43758.5453);\n}\n@fragment fn fragment(input: VertexOutput) -> @location(0) vec4f {\n let color = textureSampleLevel(source, sourceSampler, input.uv, 0);\n let noise = random(vec2f(input.position.x, params.size.y - input.position.y));\n var rgb = vec3f(0);\n if (color.a != 0.0) { rgb = color.rgb / color.a; }\n return vec4f(mix(rgb, vec3f(noise), params.amount) * color.a, color.a);\n}\n\n";
@@ -0,0 +1 @@
1
+ export declare const ZIGZAG_WEBGPU_SHADER = "\n\nstruct VertexOutput {\n\t@builtin(position) position: vec4f,\n\t@location(0) uv: vec2f,\n}\n\n@vertex fn vertex(@builtin(vertex_index) index: u32) -> VertexOutput {\n\tlet positions = array<vec2f, 3>(vec2f(-1, -1), vec2f(3, -1), vec2f(-1, 3));\n\tlet position = positions[index];\n\tvar output: VertexOutput;\n\toutput.position = vec4f(position, 0, 1);\n\toutput.uv = vec2f(position.x * 0.5 + 0.5, 0.5 - position.y * 0.5);\n\treturn output;\n}\n\n@group(0) @binding(0) var sourceTexture: texture_2d<f32>;\n@group(0) @binding(1) var sourceSampler: sampler;\n@group(0) @binding(2) var<uniform> params: Params;\n@group(0) @binding(3) var palette: texture_2d<f32>;\nstruct Params {\n geometry: vec4f,\n stripe: vec4f,\n flags: vec4f,\n wave: vec4f,\n}\nfn sampleSource(uv: vec2f) -> vec4f {\n return textureSampleLevel(sourceTexture, sourceSampler, vec2f(uv.x, 1.0 - uv.y), 0);\n}\nfn glslModulo(value: f32, divisor: f32) -> f32 { return value - divisor * floor(value / divisor); }\nfn paletteColor(index: f32) -> vec4f { return textureLoad(palette, vec2i(i32(index), 0), 0); }\n\n@fragment fn fragment(input: VertexOutput) -> @location(0) vec4f {\n let vUv = vec2f(input.uv.x, 1.0 - input.uv.y);\n\n let texColor = sampleSource(vUv);\n let thickness = max(params.stripe.x, 0.001);\n let spacing = max(params.stripe.y, 0.001);\n let cycle = spacing * params.geometry.z;\n let centered = vec2f(input.position.x, params.geometry.y - input.position.y) - params.geometry.xy * 0.5;\n let s = sin(params.stripe.z);\n let c = cos(params.stripe.z);\n let rotated = vec2f(centered.x * c - centered.y * s, centered.x * s + centered.y * c);\n var axis = select(rotated.x, rotated.y, params.geometry.w == 0.0);\n let waveAxis = select(rotated.y, rotated.x, params.geometry.w == 0.0);\nlet phase = fract(waveAxis / max(params.wave.y, 0.001));\n axis += (1.0 - abs(phase * 2.0 - 1.0) * 2.0) * params.wave.x;\n\n var position = glslModulo(axis + params.stripe.w, cycle);\n if (position < 0.0) { position += cycle; }\n // Snap rounding noise at exact band boundaries before choosing the palette entry.\n var stripeIndex = position / spacing;\n let nearestIndex = floor(stripeIndex + 0.5);\n if (abs(stripeIndex - nearestIndex) < 0.00001) { stripeIndex = nearestIndex; }\n let colorIndex = glslModulo(floor(stripeIndex), params.geometry.z);\n let inStripe = glslModulo(position, spacing);\n if (inStripe > thickness) { return texColor; }\n\n let overlay = paletteColor(colorIndex);\n let premultiplied = overlay.rgb * overlay.a;\n if (params.flags.x != 0.0) {\n return vec4f(premultiplied * texColor.a + texColor.rgb * (1.0 - overlay.a), texColor.a);\n }\n return vec4f(premultiplied + texColor.rgb * (1.0 - overlay.a), overlay.a + texColor.a * (1.0 - overlay.a));\n\n}\n";
@@ -0,0 +1 @@
1
+ export declare const ZOOM_BLUR_WEBGPU_SHADER = "\n\nstruct VertexOutput {\n\t@builtin(position) position: vec4f,\n\t@location(0) uv: vec2f,\n}\n\n@vertex fn vertex(@builtin(vertex_index) index: u32) -> VertexOutput {\n\tlet positions = array<vec2f, 3>(vec2f(-1, -1), vec2f(3, -1), vec2f(-1, 3));\n\tlet position = positions[index];\n\tvar output: VertexOutput;\n\toutput.position = vec4f(position, 0, 1);\n\toutput.uv = vec2f(position.x * 0.5 + 0.5, 0.5 - position.y * 0.5);\n\treturn output;\n}\n\n@group(0) @binding(0) var source: texture_2d<f32>;\n@group(0) @binding(1) var sourceSampler: sampler;\n@group(0) @binding(2) var<uniform> params: Params;\nstruct Params { resolutionAndCenter: vec4f, amountAndSamples: vec4f, }\n@fragment fn fragment(input: VertexOutput) -> @location(0) vec4f {\n let resolution = params.resolutionAndCenter.xy;\n let center = vec2f(params.resolutionAndCenter.z, 1.0 - params.resolutionAndCenter.w);\n let direction = input.uv - center;\n let amount = params.amountAndSamples.x / min(resolution.x, resolution.y);\n let samples = i32(params.amountAndSamples.y);\n var color = vec4f(0);\n var total = 0.0;\n for (var i = 0; i < 64; i++) {\n if (i >= samples) { break; }\n let denominator = max(f32(samples - 1), 1.0);\n let progress = f32(i) / denominator;\n let uv = clamp(input.uv - direction * amount * progress, vec2f(0), vec2f(1));\n color += textureSampleLevel(source, sourceSampler, uv, 0);\n total += 1.0;\n }\n return color / total;\n}\n";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remotion/effects",
3
- "version": "4.0.538",
3
+ "version": "4.0.540",
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.538"
29
+ "remotion": "4.0.540"
30
30
  },
31
31
  "exports": {
32
32
  ".": {
@@ -99,6 +99,11 @@
99
99
  "module": "./dist/esm/contour-lines.mjs",
100
100
  "import": "./dist/esm/contour-lines.mjs"
101
101
  },
102
+ "./curves": {
103
+ "types": "./dist/curves.d.ts",
104
+ "module": "./dist/esm/curves.mjs",
105
+ "import": "./dist/esm/curves.mjs"
106
+ },
102
107
  "./cylinder": {
103
108
  "types": "./dist/cylinder.d.ts",
104
109
  "module": "./dist/esm/cylinder.mjs",
@@ -129,6 +134,11 @@
129
134
  "module": "./dist/esm/exposure.mjs",
130
135
  "import": "./dist/esm/exposure.mjs"
131
136
  },
137
+ "./film-burn": {
138
+ "types": "./dist/film-burn.d.ts",
139
+ "module": "./dist/esm/film-burn.mjs",
140
+ "import": "./dist/esm/film-burn.mjs"
141
+ },
132
142
  "./fisheye": {
133
143
  "types": "./dist/fisheye.d.ts",
134
144
  "module": "./dist/esm/fisheye.mjs",
@@ -214,6 +224,11 @@
214
224
  "module": "./dist/esm/linear-progressive-pixelate.mjs",
215
225
  "import": "./dist/esm/linear-progressive-pixelate.mjs"
216
226
  },
227
+ "./iris-wipe": {
228
+ "types": "./dist/iris-wipe.d.ts",
229
+ "module": "./dist/esm/iris-wipe.mjs",
230
+ "import": "./dist/esm/iris-wipe.mjs"
231
+ },
217
232
  "./lens-blur": {
218
233
  "types": "./dist/lens-blur.d.ts",
219
234
  "module": "./dist/esm/lens-blur.mjs",
@@ -299,6 +314,16 @@
299
314
  "module": "./dist/esm/radial-progressive-pixelate.mjs",
300
315
  "import": "./dist/esm/radial-progressive-pixelate.mjs"
301
316
  },
317
+ "./radial-wipe": {
318
+ "types": "./dist/radial-wipe.d.ts",
319
+ "module": "./dist/esm/radial-wipe.mjs",
320
+ "import": "./dist/esm/radial-wipe.mjs"
321
+ },
322
+ "./rain-fall": {
323
+ "types": "./dist/rain-fall.d.ts",
324
+ "module": "./dist/esm/rain-fall.mjs",
325
+ "import": "./dist/esm/rain-fall.mjs"
326
+ },
302
327
  "./region-blur": {
303
328
  "types": "./dist/region-blur.d.ts",
304
329
  "module": "./dist/esm/region-blur.mjs",
@@ -329,6 +354,11 @@
329
354
  "module": "./dist/esm/shadows-highlights.mjs",
330
355
  "import": "./dist/esm/shadows-highlights.mjs"
331
356
  },
357
+ "./shatter": {
358
+ "types": "./dist/shatter.d.ts",
359
+ "module": "./dist/esm/shatter.mjs",
360
+ "import": "./dist/esm/shatter.mjs"
361
+ },
332
362
  "./shine": {
333
363
  "types": "./dist/shine.d.ts",
334
364
  "module": "./dist/esm/shine.mjs",
@@ -349,6 +379,11 @@
349
379
  "module": "./dist/esm/speckle.mjs",
350
380
  "import": "./dist/esm/speckle.mjs"
351
381
  },
382
+ "./snow-fall": {
383
+ "types": "./dist/snow-fall.d.ts",
384
+ "module": "./dist/esm/snow-fall.mjs",
385
+ "import": "./dist/esm/snow-fall.mjs"
386
+ },
352
387
  "./sphere": {
353
388
  "types": "./dist/sphere.d.ts",
354
389
  "module": "./dist/esm/sphere.mjs",
@@ -482,6 +517,9 @@
482
517
  "contour-lines": [
483
518
  "dist/contour-lines.d.ts"
484
519
  ],
520
+ "curves": [
521
+ "dist/curves.d.ts"
522
+ ],
485
523
  "cylinder": [
486
524
  "dist/cylinder.d.ts"
487
525
  ],
@@ -500,6 +538,9 @@
500
538
  "exposure": [
501
539
  "dist/exposure.d.ts"
502
540
  ],
541
+ "film-burn": [
542
+ "dist/film-burn.d.ts"
543
+ ],
503
544
  "fisheye": [
504
545
  "dist/fisheye.d.ts"
505
546
  ],
@@ -551,6 +592,9 @@
551
592
  "linear-progressive-pixelate": [
552
593
  "dist/linear-progressive-pixelate.d.ts"
553
594
  ],
595
+ "iris-wipe": [
596
+ "dist/iris-wipe.d.ts"
597
+ ],
554
598
  "lens-blur": [
555
599
  "dist/lens-blur.d.ts"
556
600
  ],
@@ -602,6 +646,12 @@
602
646
  "radial-progressive-pixelate": [
603
647
  "dist/radial-progressive-pixelate.d.ts"
604
648
  ],
649
+ "radial-wipe": [
650
+ "dist/radial-wipe.d.ts"
651
+ ],
652
+ "rain-fall": [
653
+ "dist/rain-fall.d.ts"
654
+ ],
605
655
  "region-blur": [
606
656
  "dist/region-blur.d.ts"
607
657
  ],
@@ -620,6 +670,9 @@
620
670
  "shadows-highlights": [
621
671
  "dist/shadows-highlights.d.ts"
622
672
  ],
673
+ "shatter": [
674
+ "dist/shatter.d.ts"
675
+ ],
623
676
  "shine": [
624
677
  "dist/shine.d.ts"
625
678
  ],
@@ -632,6 +685,9 @@
632
685
  "speckle": [
633
686
  "dist/speckle.d.ts"
634
687
  ],
688
+ "snow-fall": [
689
+ "dist/snow-fall.d.ts"
690
+ ],
635
691
  "sphere": [
636
692
  "dist/sphere.d.ts"
637
693
  ],
@@ -690,7 +746,7 @@
690
746
  },
691
747
  "homepage": "https://www.remotion.dev/docs/effects/api",
692
748
  "devDependencies": {
693
- "@remotion/eslint-config-internal": "4.0.538",
749
+ "@remotion/eslint-config-internal": "4.0.540",
694
750
  "@vitest/browser-playwright": "5.0.3",
695
751
  "@webgpu/types": "0.1.74",
696
752
  "eslint": "9.19.0",