summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorskal <pascal.massimino@gmail.com>2026-02-28 11:50:13 +0100
committerskal <pascal.massimino@gmail.com>2026-02-28 11:50:13 +0100
commitb9c2a0394343ff3586880d118b7d549b3e748cad (patch)
treebfc437f805c6b7344951107df8c7cd69a7ec421f
parent21d8a0b86ceda19812e9869a72e49c56c90ae3da (diff)
refactor(effects): co-locate effect WGSL shaders with their .h/.cc in src/effects/
Move 13 effect-specific shaders from workspaces/main/shaders/ to src/effects/ so each effect's .h, .cc, and .wgsl are together. Update assets.txt paths in both main and test workspaces. Update EFFECT_WORKFLOW.md to reflect new location. Shared/reusable snippets remain in src/shaders/. handoff(Gemini): shaders moved; src/effects/ now has .h, .cc, and .wgsl per effect. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
-rw-r--r--doc/EFFECT_WORKFLOW.md4
-rw-r--r--src/effects/chroma_aberration.wgsl (renamed from workspaces/main/shaders/chroma_aberration.wgsl)0
-rw-r--r--src/effects/distort.wgsl (renamed from workspaces/main/shaders/distort.wgsl)0
-rw-r--r--src/effects/ellipse.wgsl (renamed from workspaces/main/shaders/ellipse.wgsl)0
-rw-r--r--src/effects/flash.wgsl (renamed from workspaces/main/shaders/flash.wgsl)0
-rw-r--r--src/effects/gaussian_blur.wgsl (renamed from workspaces/main/shaders/gaussian_blur.wgsl)0
-rw-r--r--src/effects/particle_compute.wgsl (renamed from workspaces/main/shaders/particle_compute.wgsl)0
-rw-r--r--src/effects/particle_render.wgsl (renamed from workspaces/main/shaders/particle_render.wgsl)0
-rw-r--r--src/effects/particle_spray_compute.wgsl (renamed from workspaces/main/shaders/particle_spray_compute.wgsl)0
-rw-r--r--src/effects/rotating_cube.wgsl (renamed from workspaces/main/shaders/rotating_cube.wgsl)0
-rw-r--r--src/effects/scene1.wgsl (renamed from workspaces/main/shaders/scene1.wgsl)0
-rw-r--r--src/effects/scene2.wgsl (renamed from workspaces/main/shaders/scene2.wgsl)0
-rw-r--r--src/effects/solarize.wgsl (renamed from workspaces/main/shaders/solarize.wgsl)0
-rw-r--r--src/effects/vignette.wgsl (renamed from workspaces/main/shaders/vignette.wgsl)0
-rw-r--r--workspaces/main/assets.txt30
-rw-r--r--workspaces/test/assets.txt22
16 files changed, 28 insertions, 28 deletions
diff --git a/doc/EFFECT_WORKFLOW.md b/doc/EFFECT_WORKFLOW.md
index 3e574f6..b71e76d 100644
--- a/doc/EFFECT_WORKFLOW.md
+++ b/doc/EFFECT_WORKFLOW.md
@@ -21,7 +21,7 @@ Checklist for adding visual effects.
**Files**:
- Header: `src/effects/<name>_effect.h`
- Implementation: `src/effects/<name>_effect.cc`
-- Shader: `workspaces/main/shaders/<name>.wgsl`
+- Shader: `src/effects/<name>.wgsl`
**Class name**: `<Name>Effect` (e.g., `TunnelEffect`)
@@ -63,7 +63,7 @@ params.aspect_ratio; // width/height
**File**: `workspaces/main/assets.txt`
```
-SHADER_<UPPER_NAME>, NONE, shaders/<name>.wgsl, "Description"
+SHADER_<UPPER_NAME>, NONE, ../../src/effects/<name>.wgsl, "Description"
```
Asset ID: `AssetId::ASSET_SHADER_<UPPER_NAME>`
diff --git a/workspaces/main/shaders/chroma_aberration.wgsl b/src/effects/chroma_aberration.wgsl
index 02bdb1b..02bdb1b 100644
--- a/workspaces/main/shaders/chroma_aberration.wgsl
+++ b/src/effects/chroma_aberration.wgsl
diff --git a/workspaces/main/shaders/distort.wgsl b/src/effects/distort.wgsl
index e19bd16..e19bd16 100644
--- a/workspaces/main/shaders/distort.wgsl
+++ b/src/effects/distort.wgsl
diff --git a/workspaces/main/shaders/ellipse.wgsl b/src/effects/ellipse.wgsl
index a377507..a377507 100644
--- a/workspaces/main/shaders/ellipse.wgsl
+++ b/src/effects/ellipse.wgsl
diff --git a/workspaces/main/shaders/flash.wgsl b/src/effects/flash.wgsl
index 379086e..379086e 100644
--- a/workspaces/main/shaders/flash.wgsl
+++ b/src/effects/flash.wgsl
diff --git a/workspaces/main/shaders/gaussian_blur.wgsl b/src/effects/gaussian_blur.wgsl
index 68e0720..68e0720 100644
--- a/workspaces/main/shaders/gaussian_blur.wgsl
+++ b/src/effects/gaussian_blur.wgsl
diff --git a/workspaces/main/shaders/particle_compute.wgsl b/src/effects/particle_compute.wgsl
index 2960cc4..2960cc4 100644
--- a/workspaces/main/shaders/particle_compute.wgsl
+++ b/src/effects/particle_compute.wgsl
diff --git a/workspaces/main/shaders/particle_render.wgsl b/src/effects/particle_render.wgsl
index ef0db42..ef0db42 100644
--- a/workspaces/main/shaders/particle_render.wgsl
+++ b/src/effects/particle_render.wgsl
diff --git a/workspaces/main/shaders/particle_spray_compute.wgsl b/src/effects/particle_spray_compute.wgsl
index 7bdae88..7bdae88 100644
--- a/workspaces/main/shaders/particle_spray_compute.wgsl
+++ b/src/effects/particle_spray_compute.wgsl
diff --git a/workspaces/main/shaders/rotating_cube.wgsl b/src/effects/rotating_cube.wgsl
index 0c75a13..0c75a13 100644
--- a/workspaces/main/shaders/rotating_cube.wgsl
+++ b/src/effects/rotating_cube.wgsl
diff --git a/workspaces/main/shaders/scene1.wgsl b/src/effects/scene1.wgsl
index 291173f..291173f 100644
--- a/workspaces/main/shaders/scene1.wgsl
+++ b/src/effects/scene1.wgsl
diff --git a/workspaces/main/shaders/scene2.wgsl b/src/effects/scene2.wgsl
index 7df91c3..7df91c3 100644
--- a/workspaces/main/shaders/scene2.wgsl
+++ b/src/effects/scene2.wgsl
diff --git a/workspaces/main/shaders/solarize.wgsl b/src/effects/solarize.wgsl
index 02065de..02065de 100644
--- a/workspaces/main/shaders/solarize.wgsl
+++ b/src/effects/solarize.wgsl
diff --git a/workspaces/main/shaders/vignette.wgsl b/src/effects/vignette.wgsl
index 9b98ec9..9b98ec9 100644
--- a/workspaces/main/shaders/vignette.wgsl
+++ b/src/effects/vignette.wgsl
diff --git a/workspaces/main/assets.txt b/workspaces/main/assets.txt
index 56d0942..e28e2e3 100644
--- a/workspaces/main/assets.txt
+++ b/workspaces/main/assets.txt
@@ -31,15 +31,15 @@ SHADER_LIGHTING, NONE, ../../src/shaders/lighting.wgsl, "Lighting Snippet"
SHADER_RAY_BOX, NONE, ../../src/shaders/ray_box.wgsl, "Ray-Box Intersection Snippet"
SHADER_RAY_TRIANGLE, NONE, ../../src/shaders/ray_triangle.wgsl, "Ray-Triangle Intersection Snippet (Möller-Trumbore)"
SHADER_MAIN, NONE, shaders/main_shader.wgsl, "Main Heptagon Shader"
-SHADER_PARTICLE_COMPUTE, NONE, shaders/particle_compute.wgsl, "Particle Compute Shader"
-SHADER_PARTICLE_RENDER, NONE, shaders/particle_render.wgsl, "Particle Render Shader"
-SHADER_PARTICLE_COMPUTE_V2, NONE, shaders/particle_compute.wgsl, "Particle Compute Shader"
-SHADER_PARTICLE_RENDER_V2, NONE, shaders/particle_render.wgsl, "Particle Render Shader"
-SHADER_ROTATING_CUBE_V2, NONE, shaders/rotating_cube.wgsl, "Rotating Cube Shader"
+SHADER_PARTICLE_COMPUTE, NONE, ../../src/effects/particle_compute.wgsl, "Particle Compute Shader"
+SHADER_PARTICLE_RENDER, NONE, ../../src/effects/particle_render.wgsl, "Particle Render Shader"
+SHADER_PARTICLE_COMPUTE_V2, NONE, ../../src/effects/particle_compute.wgsl, "Particle Compute Shader"
+SHADER_PARTICLE_RENDER_V2, NONE, ../../src/effects/particle_render.wgsl, "Particle Render Shader"
+SHADER_ROTATING_CUBE_V2, NONE, ../../src/effects/rotating_cube.wgsl, "Rotating Cube Shader"
SHADER_PASSTHROUGH, NONE, ../../src/shaders/passthrough.wgsl, "Passthrough Shader"
-SHADER_ELLIPSE, NONE, shaders/ellipse.wgsl, "Ellipse Shader"
-SHADER_PARTICLE_SPRAY_COMPUTE, NONE, shaders/particle_spray_compute.wgsl, "Particle Spray Compute"
-SHADER_GAUSSIAN_BLUR, NONE, shaders/gaussian_blur.wgsl, "Gaussian Blur Shader"
+SHADER_ELLIPSE, NONE, ../../src/effects/ellipse.wgsl, "Ellipse Shader"
+SHADER_PARTICLE_SPRAY_COMPUTE, NONE, ../../src/effects/particle_spray_compute.wgsl, "Particle Spray Compute"
+SHADER_GAUSSIAN_BLUR, NONE, ../../src/effects/gaussian_blur.wgsl, "Gaussian Blur Shader"
SHADER_CNN_ACTIVATION, NONE, ../../cnn_v1/shaders/cnn_activation.wgsl, "CNN Activation Functions"
SHADER_CNN_CONV1X1, NONE, ../../cnn_v1/shaders/cnn_conv1x1.wgsl, "CNN 1x1 Convolution"
SHADER_CNN_CONV3X3, NONE, ../../cnn_v1/shaders/cnn_conv3x3.wgsl, "CNN 3x3 Convolution"
@@ -50,9 +50,9 @@ SHADER_CNN_LAYER, NONE, ../../cnn_v1/shaders/cnn_layer.wgsl, "CNN Layer Shader"
SHADER_CNN_V2_STATIC, NONE, ../../cnn_v2/shaders/cnn_v2_static.wgsl, "CNN v2 Static Features"
SHADER_CNN_V2_COMPUTE, NONE, ../../cnn_v2/shaders/cnn_v2_compute.wgsl, "CNN v2 Compute (Storage Buffer)"
WEIGHTS_CNN_V2, NONE, ../../cnn_v2/weights/cnn_v2_weights.bin, "CNN v2 Binary Weights"
-SHADER_SOLARIZE, NONE, shaders/solarize.wgsl, "Solarize Shader"
-SHADER_DISTORT, NONE, shaders/distort.wgsl, "Distort Shader"
-SHADER_CHROMA_ABERRATION, NONE, shaders/chroma_aberration.wgsl, "Chroma Aberration Shader"
+SHADER_SOLARIZE, NONE, ../../src/effects/solarize.wgsl, "Solarize Shader"
+SHADER_DISTORT, NONE, ../../src/effects/distort.wgsl, "Distort Shader"
+SHADER_CHROMA_ABERRATION, NONE, ../../src/effects/chroma_aberration.wgsl, "Chroma Aberration Shader"
SHADER_VISUAL_DEBUG, NONE, shaders/visual_debug.wgsl, "Visual Debug Shader"
SHADER_SKYBOX, NONE, ../../src/shaders/skybox.wgsl, "Skybox background shader"
SHADER_MATH_SDF_SHAPES, NONE, ../../src/shaders/math/sdf_shapes.wgsl, "SDF Shapes Snippet"
@@ -72,7 +72,7 @@ SHADER_MATH_COLOR, NONE, ../../src/shaders/math/color.wgsl, "Color Functions"
SHADER_MATH_UTILS, NONE, ../../src/shaders/math/utils.wgsl, "Math Utilities"
SHADER_RENDER_RAYMARCHING, NONE, ../../src/shaders/render/raymarching.wgsl, "Raymarching Functions"
SHADER_RENDER_RAYMARCHING_ID, NONE, ../../src/shaders/render/raymarching_id.wgsl, "Raymarching-ID Functions"
-SHADER_VIGNETTE, NONE, shaders/vignette.wgsl, "Vignette Shader"
+SHADER_VIGNETTE, NONE, ../../src/effects/vignette.wgsl, "Vignette Shader"
SHADER_COMPUTE_GEN_NOISE, NONE, ../../src/shaders/compute/gen_noise.wgsl, "GPU Noise Compute Shader"
SHADER_COMPUTE_GEN_PERLIN, NONE, ../../src/shaders/compute/gen_perlin.wgsl, "GPU Perlin Noise Compute Shader"
SHADER_COMPUTE_GEN_GRID, NONE, ../../src/shaders/compute/gen_grid.wgsl, "GPU Grid Compute Shader"
@@ -81,8 +81,8 @@ SHADER_COMPUTE_GEN_MASK, NONE, ../../src/shaders/compute/gen_mask.wgsl, "GPU Mas
CIRCLE_MASK_COMPUTE_SHADER, NONE, shaders/circle_mask_compute.wgsl, "Circle mask compute shader"
CIRCLE_MASK_RENDER_SHADER, NONE, shaders/circle_mask_render.wgsl, "Circle mask render shader"
MASKED_CUBE_SHADER, NONE, shaders/masked_cube.wgsl, "Masked cube shader"
-SHADER_SCENE1, NONE, shaders/scene1.wgsl, "Scene1 effect shader"
-SHADER_SCENE2, NONE, shaders/scene2.wgsl, "Scene2 effect shader"
+SHADER_SCENE1, NONE, ../../src/effects/scene1.wgsl, "Scene1 effect shader"
+SHADER_SCENE2, NONE, ../../src/effects/scene2.wgsl, "Scene2 effect shader"
# --- Sequence Shaders ---
SHADER_SEQUENCE_V2_UNIFORMS, NONE, ../../src/shaders/sequence_uniforms.wgsl, "Sequence Uniforms Snippet"
@@ -90,4 +90,4 @@ SHADER_POSTPROCESS_INLINE, NONE, ../../src/shaders/postprocess_inline.wgsl, "Inl
SHADER_PASSTHROUGH_V2, NONE, ../../src/shaders/passthrough.wgsl, "Passthrough Shader"
SHADER_GAUSSIAN_BLUR_V2, NONE, ../../src/shaders/gaussian_blur.wgsl, "Gaussian Blur Shader"
SHADER_HEPTAGON_V2, NONE, ../../src/shaders/heptagon.wgsl, "Heptagon Shader"
-SHADER_FLASH, NONE, shaders/flash.wgsl, "Flash Shader"
+SHADER_FLASH, NONE, ../../src/effects/flash.wgsl, "Flash Shader"
diff --git a/workspaces/test/assets.txt b/workspaces/test/assets.txt
index 6184d8b..1e95084 100644
--- a/workspaces/test/assets.txt
+++ b/workspaces/test/assets.txt
@@ -32,15 +32,15 @@ SHADER_RAY_TRIANGLE, NONE, ../../src/shaders/ray_triangle.wgsl, "Ray-Triangle In
SHADER_SNIPPET_A, NONE, shaders/test_snippet_a.wgsl, "Test Snippet A"
SHADER_SNIPPET_B, NONE, shaders/test_snippet_b.wgsl, "Test Snippet B"
SHADER_MAIN, NONE, shaders/main_shader.wgsl, "Main Heptagon Shader"
-SHADER_PARTICLE_COMPUTE, NONE, shaders/particle_compute.wgsl, "Particle Compute Shader"
-SHADER_PARTICLE_RENDER, NONE, shaders/particle_render.wgsl, "Particle Render Shader"
+SHADER_PARTICLE_COMPUTE, NONE, ../../src/effects/particle_compute.wgsl, "Particle Compute Shader"
+SHADER_PARTICLE_RENDER, NONE, ../../src/effects/particle_render.wgsl, "Particle Render Shader"
SHADER_PASSTHROUGH, NONE, ../../src/shaders/passthrough.wgsl, "Passthrough Shader"
-SHADER_ELLIPSE, NONE, shaders/ellipse.wgsl, "Ellipse Shader"
-SHADER_PARTICLE_SPRAY_COMPUTE, NONE, shaders/particle_spray_compute.wgsl, "Particle Spray Compute"
-SHADER_GAUSSIAN_BLUR, NONE, shaders/gaussian_blur.wgsl, "Gaussian Blur Shader"
-SHADER_SOLARIZE, NONE, shaders/solarize.wgsl, "Solarize Shader"
-SHADER_DISTORT, NONE, shaders/distort.wgsl, "Distort Shader"
-SHADER_CHROMA_ABERRATION, NONE, shaders/chroma_aberration.wgsl, "Chroma Aberration Shader"
+SHADER_ELLIPSE, NONE, ../../src/effects/ellipse.wgsl, "Ellipse Shader"
+SHADER_PARTICLE_SPRAY_COMPUTE, NONE, ../../src/effects/particle_spray_compute.wgsl, "Particle Spray Compute"
+SHADER_GAUSSIAN_BLUR, NONE, ../../src/effects/gaussian_blur.wgsl, "Gaussian Blur Shader"
+SHADER_SOLARIZE, NONE, ../../src/effects/solarize.wgsl, "Solarize Shader"
+SHADER_DISTORT, NONE, ../../src/effects/distort.wgsl, "Distort Shader"
+SHADER_CHROMA_ABERRATION, NONE, ../../src/effects/chroma_aberration.wgsl, "Chroma Aberration Shader"
SHADER_VISUAL_DEBUG, NONE, shaders/visual_debug.wgsl, "Visual Debug Shader"
SHADER_SKYBOX, NONE, ../../src/shaders/skybox.wgsl, "Skybox background shader"
SHADER_MATH_SDF_SHAPES, NONE, ../../src/shaders/math/sdf_shapes.wgsl, "SDF Shapes Snippet"
@@ -60,7 +60,7 @@ SHADER_MATH_COLOR, NONE, ../../src/shaders/math/color.wgsl, "Color Functions"
SHADER_MATH_UTILS, NONE, ../../src/shaders/math/utils.wgsl, "Math Utilities"
SHADER_RENDER_RAYMARCHING, NONE, ../../src/shaders/render/raymarching.wgsl, "Raymarching Functions"
SHADER_RENDER_RAYMARCHING_ID, NONE, ../../src/shaders/render/raymarching_id.wgsl, "Raymarching-ID Functions"
-SHADER_VIGNETTE, NONE, shaders/vignette.wgsl, "Vignette Shader"
+SHADER_VIGNETTE, NONE, ../../src/effects/vignette.wgsl, "Vignette Shader"
SHADER_COMPUTE_GEN_NOISE, NONE, ../../src/shaders/compute/gen_noise.wgsl, "GPU Noise Compute Shader"
SHADER_COMPUTE_GEN_PERLIN, NONE, ../../src/shaders/compute/gen_perlin.wgsl, "GPU Perlin Noise Compute Shader"
SHADER_COMPUTE_GEN_GRID, NONE, ../../src/shaders/compute/gen_grid.wgsl, "GPU Grid Compute Shader"
@@ -76,8 +76,8 @@ SHADER_POSTPROCESS_INLINE, NONE, ../../src/shaders/postprocess_inline.wgsl, "Inl
SHADER_PASSTHROUGH_V2, NONE, ../../src/shaders/passthrough.wgsl, "Passthrough Shader"
SHADER_GAUSSIAN_BLUR_V2, NONE, ../../src/shaders/gaussian_blur.wgsl, "Gaussian Blur Shader"
SHADER_HEPTAGON_V2, NONE, ../../src/shaders/heptagon.wgsl, "Heptagon Shader"
-SHADER_ROTATING_CUBE_V2, NONE, ../main/shaders/rotating_cube.wgsl, "Rotating Cube Shader"
-SHADER_FLASH, NONE, shaders/flash.wgsl, "Flash Shader"
+SHADER_ROTATING_CUBE_V2, NONE, ../../src/effects/rotating_cube.wgsl, "Rotating Cube Shader"
+SHADER_FLASH, NONE, ../../src/effects/flash.wgsl, "Flash Shader"
# --- Test Assets (for test_assets.cc) ---
TEST_ASSET_1, NONE, test_assets/test_asset_1.txt, "Test static asset"