summaryrefslogtreecommitdiff
path: root/TODO.md
diff options
context:
space:
mode:
authorskal <pascal.massimino@gmail.com>2026-03-21 08:52:53 +0100
committerskal <pascal.massimino@gmail.com>2026-03-21 08:52:53 +0100
commitfe008df92f7a68d81c9bedb4328da7001e0775f0 (patch)
tree2c0182ef4df3b682ee5aa3ab22dcf3e2af08a4ed /TODO.md
parenta4ff60233fce134e8f779ef001872dfd9a8f9923 (diff)
feat(cnn_v3): Phase 4 complete — CNNv3Effect C++ + FiLM uniform upload
- cnn_v3/src/cnn_v3_effect.{h,cc}: full Effect subclass with 5 compute passes (enc0→enc1→bottleneck→dec1→dec0), shared weights storage buffer, per-pass uniform buffers, set_film_params() API - Fixed WGSL/C++ struct alignment: vec3u has align=16, so CnnV3Params4ch is 64 bytes and CnnV3ParamsEnc1 is 96 bytes (not 48/80) - Weight offsets computed as explicit formulas (e.g. 20*4*9+4) for clarity - Registered in CMake, shaders.h/cc, demo_effects.h, test_demo_effects.cc - 35/35 tests pass handoff(Gemini): CNN v3 Phase 5 next — parity validation (Python ref vs WGSL)
Diffstat (limited to 'TODO.md')
-rw-r--r--TODO.md2
1 files changed, 1 insertions, 1 deletions
diff --git a/TODO.md b/TODO.md
index 86c3e37..e33072f 100644
--- a/TODO.md
+++ b/TODO.md
@@ -76,7 +76,7 @@ PyTorch / HTML WebGPU / C++ WebGPU.
- Howto: `cnn_v3/docs/HOWTO.md`
2. ✅ Training infrastructure: `blender_export.py`, `pack_blender_sample.py`, `pack_photo_sample.py`
3. ✅ WGSL shaders: cnn_v3_common (snippet), enc0, enc1, bottleneck, dec1, dec0
-4. C++ CNNv3Effect + FiLM uniform upload
+4. ✅ C++ CNNv3Effect + FiLM uniform upload
5. Parity validation (test vectors, ≤1/255 per pixel)
## Future: CNN v2 8-bit Quantization