From f74bcd843c631f82daefe543fca7741fb5bb71f4 Mon Sep 17 00:00:00 2001 From: skal Date: Fri, 20 Mar 2026 08:42:07 +0100 Subject: feat(cnn_v3): G-buffer phase 1 + training infrastructure MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit G-buffer (Phase 1): - Add NodeTypes GBUF_ALBEDO/DEPTH32/R8/RGBA32UINT to NodeRegistry - GBufferEffect: MRT raster pass (albedo+normal_mat+depth) + pack compute - Shaders: gbuf_raster.wgsl (MRT), gbuf_pack.wgsl (feature packing, 32B/px) - Shadow/SDF passes stubbed (placeholder textures), CMake integration deferred Training infrastructure (Phase 2): - blender_export.py: headless EXR export with all G-buffer render passes - pack_blender_sample.py: EXR → per-channel PNGs (oct-normals, 1/z depth) - pack_photo_sample.py: photo → zero-filled G-buffer sample layout handoff(Gemini): G-buffer phases 3-5 remain (U-Net shaders, CNNv3Effect, parity) --- TODO.md | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'TODO.md') diff --git a/TODO.md b/TODO.md index 0ced5e8..e7371ca 100644 --- a/TODO.md +++ b/TODO.md @@ -60,20 +60,22 @@ Ongoing shader code hygiene for granular, reusable snippets. --- -## Future: CNN v3 — U-Net + FiLM +## CNN v3 — U-Net + FiLM [IN PROGRESS] U-Net architecture with FiLM conditioning. Runtime style control via beat/audio. Richer G-buffer input (normals, depth, material IDs). Per-pixel testability across PyTorch / HTML WebGPU / C++ WebGPU. -**Prerequisites:** G-buffer implementation (GEOM_BUFFER.md) **Design:** `cnn_v3/docs/CNN_V3.md` **Phases:** -1. G-buffer prerequisite -2. Training infrastructure (Blender exporter + photo pipeline) -3. WGSL shaders (enc/dec/bottleneck, deterministic ops) -4. C++ effect class + FiLM uniform upload +1. ✅ G-buffer: `GBufferEffect` (MRT raster + pack compute). SDF/shadow passes TODO. + - New NodeTypes: `GBUF_ALBEDO`, `GBUF_DEPTH32`, `GBUF_R8`, `GBUF_RGBA32UINT` + - Shaders: `cnn_v3/shaders/gbuf_raster.wgsl`, `gbuf_pack.wgsl` + - CMake integration deferred +2. ✅ Training infrastructure: `blender_export.py`, `pack_blender_sample.py`, `pack_photo_sample.py` +3. WGSL shaders (enc/dec/bottleneck, FiLM, deterministic ops) +4. C++ CNNv3Effect + FiLM uniform upload 5. Parity validation (test vectors, ≤1/255 per pixel) ## Future: CNN v2 8-bit Quantization -- cgit v1.2.3