summaryrefslogtreecommitdiff
path: root/workspaces/main
diff options
context:
space:
mode:
authorskal <pascal.massimino@gmail.com>2026-03-06 22:53:29 +0100
committerskal <pascal.massimino@gmail.com>2026-03-06 22:53:29 +0100
commit95802739b8ccaf9112fe4fe6e496ba7ae4158aae (patch)
treea9ddce18aa8dab14ee216c207d2699c34f7bef68 /workspaces/main
parent65054e545d4748a04cd29dd1589740809a68c792 (diff)
feat(effects): add Scratch post-process effect with reusable scratch_lines snippet
- src/shaders/render/scratch_lines.wgsl: reusable WGSL snippet registered as "render/scratch_lines"; call scratch_lines(uv, resolution, time)->f32 from any effect. Uses hash_1f from math/noise; 8 lines/frame, ~24fps flicker. - src/effects/scratch.{wgsl,h,cc}: thin Scratch effect wrapping the snippet. - Applied to "intro" and "rotating_cube" sequences as the final step. - 35/35 tests passing. handoff(Gemini): Scratch effect added. render/scratch_lines snippet is reusable. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'workspaces/main')
-rw-r--r--workspaces/main/assets.txt2
-rw-r--r--workspaces/main/timeline.seq6
2 files changed, 6 insertions, 2 deletions
diff --git a/workspaces/main/assets.txt b/workspaces/main/assets.txt
index 625dc22..1bcbcd0 100644
--- a/workspaces/main/assets.txt
+++ b/workspaces/main/assets.txt
@@ -91,6 +91,8 @@ CIRCLE_MASK_RENDER_SHADER, NONE, shaders/circle_mask_render.wgsl, "Circle mask r
MASKED_CUBE_SHADER, NONE, shaders/masked_cube.wgsl, "Masked cube shader"
SHADER_SCENE1, NONE, ../../src/effects/scene1.wgsl, "Scene1 effect shader"
SHADER_SCENE2, NONE, ../../src/effects/scene2.wgsl, "Scene2 effect shader"
+SHADER_RENDER_SCRATCH_LINES, NONE, ../../src/shaders/render/scratch_lines.wgsl, "Film scratch lines snippet"
+SHADER_SCRATCH, NONE, ../../src/effects/scratch.wgsl, "Scratch effect shader"
# --- Sequence Shaders ---
SHADER_SEQUENCE_V2_UNIFORMS, NONE, ../../src/shaders/sequence_uniforms.wgsl, "Sequence Uniforms Snippet"
diff --git a/workspaces/main/timeline.seq b/workspaces/main/timeline.seq
index 6399bdf..e6ba4a5 100644
--- a/workspaces/main/timeline.seq
+++ b/workspaces/main/timeline.seq
@@ -3,11 +3,13 @@
SEQUENCE 0.00 0 "intro"
EFFECT + RotatingCube source -> temp1 0.00 4.00
- EFFECT + GaussianBlur temp1 -> sink 0.00 4.00
+ EFFECT + GaussianBlur temp1 -> temp2 0.00 4.00
+ EFFECT + Scratch temp2 -> sink 0.00 4.00
SEQUENCE 4.00 0 "rotating_cube"
EFFECT + RotatingCube source -> temp1 0.00 4.00
- EFFECT + Placeholder temp1 -> sink 1.00 4.00
+ EFFECT + Placeholder temp1 -> temp2 1.00 4.00
+ EFFECT + Scratch temp2 -> sink 1.00 4.00
SEQUENCE 8.00 0 "scene 2"
# Scene2 test