summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorskal <pascal.massimino@gmail.com>2026-02-12 15:10:17 +0100
committerskal <pascal.massimino@gmail.com>2026-02-12 15:10:17 +0100
commit8b30cadfc19647487986d14dba9ddba7908dd1d0 (patch)
treef865b42945f72bfc480e2c2a6849127bf56d1a59 /doc
parent1effb125973ac0948de3015be1d53ae72463858b (diff)
test_demo: Add beat-synchronized CNN post-processing with version selection
- Add --cnn-version <1|2> flag to select between CNN v1 and v2 - Implement beat_phase modulation for dynamic blend in both CNN effects - Fix CNN v2 per-layer uniform buffer sharing (each layer needs own buffer) - Fix CNN v2 y-axis orientation to match render pass convention - Add Scene1Effect as base visual layer to test_demo timeline - Reorganize CNN v2 shaders into cnn_v2/ subdirectory - Update asset paths and documentation for new shader organization Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Diffstat (limited to 'doc')
-rw-r--r--doc/CNN_V2.md16
1 files changed, 8 insertions, 8 deletions
diff --git a/doc/CNN_V2.md b/doc/CNN_V2.md
index 9407934..09d0841 100644
--- a/doc/CNN_V2.md
+++ b/doc/CNN_V2.md
@@ -299,7 +299,7 @@ torch.save({
2. Extract layer configs (kernels, channels)
3. Quantize weights to float16: `weights_f16 = weights_f32.astype(np.float16)`
4. Generate WGSL shader per layer
-5. Write to `workspaces/<workspace>/shaders/cnn_v2_*.wgsl`
+5. Write to `workspaces/<workspace>/shaders/cnn_v2/cnn_v2_*.wgsl`
**Example Generated Shader:**
@@ -402,7 +402,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
### Phase 1: Shaders (Core Infrastructure)
-- [ ] `workspaces/main/shaders/cnn_v2_static.wgsl` - Static features compute
+- [ ] `workspaces/main/shaders/cnn_v2/cnn_v2_static.wgsl` - Static features compute
- [ ] RGBD sampling from framebuffer
- [ ] UV coordinate calculation
- [ ] sin(10\*uv.x) computation
@@ -410,7 +410,7 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
- [ ] Float16 packing via `pack2x16float()`
- [ ] Output to `texture_storage_2d<rgba32uint>`
-- [ ] `workspaces/main/shaders/cnn_v2_layer_template.wgsl` - Layer template
+- [ ] `workspaces/main/shaders/cnn_v2/cnn_v2_layer_template.wgsl` - Layer template
- [ ] Static features unpacking
- [ ] Previous layer unpacking (8×f16)
- [ ] Convolution implementation (1×1, 3×3, 5×5)
@@ -492,10 +492,10 @@ fn main(@builtin(global_invocation_id) id: vec3<u32>) {
```
# Shaders (generated by export script)
-workspaces/main/shaders/cnn_v2_static.wgsl # Static features compute
-workspaces/main/shaders/cnn_v2_layer_0.wgsl # Input layer (generated)
-workspaces/main/shaders/cnn_v2_layer_1.wgsl # Inner layer (generated)
-workspaces/main/shaders/cnn_v2_layer_2.wgsl # Output layer (generated)
+workspaces/main/shaders/cnn_v2/cnn_v2_static.wgsl # Static features compute
+workspaces/main/shaders/cnn_v2/cnn_v2_layer_0.wgsl # Input layer (generated)
+workspaces/main/shaders/cnn_v2/cnn_v2_layer_1.wgsl # Inner layer (generated)
+workspaces/main/shaders/cnn_v2/cnn_v2_layer_2.wgsl # Output layer (generated)
# C++ implementation
src/gpu/effects/cnn_v2_effect.h # Effect class header
@@ -531,7 +531,7 @@ TODO.md # Add CNN v2 task
```
training/train_cnn.py # Original training
src/gpu/effects/cnn_effect.* # Original effect
-workspaces/main/shaders/cnn_*.wgsl # Original shaders
+workspaces/main/shaders/cnn_*.wgsl # Original v1 shaders
```
---