From 4d1df90124418a57cb9ed62eab25497d53a47c8c Mon Sep 17 00:00:00 2001 From: skal Date: Fri, 13 Feb 2026 14:50:09 +0100 Subject: CNN v2 web tool: Fix layer naming and visualization bugs - Align layer naming with codebase: Layer 0/1/2 (not Layer 1/2/3) - Split static features: Static 0-3 (p0-p3) and Static 4-7 (uv,sin,bias) - Fix Layer 2 not appearing: removed isOutput filter from layerOutputs - Fix canvas context switching: force clear before recreation - Disable static buttons in weights mode - Add ASCII pipeline diagram to CNN_V2.md Co-Authored-By: Claude Sonnet 4.5 --- doc/CNN_V2_WEB_TOOL.md | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) (limited to 'doc/CNN_V2_WEB_TOOL.md') diff --git a/doc/CNN_V2_WEB_TOOL.md b/doc/CNN_V2_WEB_TOOL.md index 81549ab..a5162a6 100644 --- a/doc/CNN_V2_WEB_TOOL.md +++ b/doc/CNN_V2_WEB_TOOL.md @@ -6,7 +6,7 @@ Browser-based WebGPU tool for validating CNN v2 inference with layer visualizati --- -## Status (2026-02-13) +## Status (2026-02-13 evening) **Working:** - ✅ WebGPU initialization and device setup @@ -16,13 +16,20 @@ Browser-based WebGPU tool for validating CNN v2 inference with layer visualizati - ✅ Mode switching (Activations/Weights tabs) - ✅ Canvas context management (2D for weights, WebGPU for activations) - ✅ Weight visualization infrastructure (layer selection, grid layout) - -**Not Working:** -- ❌ Layer activation visualization (all black) -- ❌ Weight kernel display (canvases empty, but logging shows execution) - -**Partially Working:** -- ⚠️ Texture readback pipeline (UV gradient test works, data reads fail) +- ✅ Layer naming matches codebase convention (Layer 0, Layer 1, Layer 2) +- ✅ Static features split visualization (Static 0-3, Static 4-7) +- ✅ All layers visible including output layer (Layer 2) + +**Recent Fixes:** +- Fixed Layer 2 not appearing (was excluded from layerOutputs due to isOutput check) +- Fixed canvas context switching (force clear before recreation) +- Added Static 0-3 / Static 4-7 buttons to view all 8 static feature channels +- Aligned naming with train_cnn_v2.py/.wgsl: Layer 0, Layer 1, Layer 2 (not Layer 1, 2, 3) +- Disabled Static buttons in weights mode (no learnable weights) + +**Known Issues:** +- Layer activation visualization may show black if texture data not properly unpacked +- Weight kernel display depends on correct 2D context creation after canvas recreation --- -- cgit v1.2.3