summaryrefslogtreecommitdiff
path: root/doc/CNN_EFFECT.md
AgeCommit message (Collapse)Author
19 hoursfeat: CNN RGBD→grayscale with 7-channel augmented inputskal
Upgrade CNN architecture to process RGBD input, output grayscale, with 7-channel layer inputs (RGBD + UV coords + grayscale). Architecture changes: - Inner layers: Conv2d(7→4) output RGBD - Final layer: Conv2d(7→1) output grayscale - All inputs normalized to [-1,1] for tanh activation - Removed CoordConv2d in favor of unified 7-channel input Training (train_cnn.py): - SimpleCNN: 7→4 (inner), 7→1 (final) architecture - Forward: Normalize RGBD/coords/gray to [-1,1] - Weight export: array<array<f32, 8>, 36> (inner), array<f32, 8>, 9> (final) - Dataset: Load RGBA (RGBD) input Shaders (cnn_conv3x3.wgsl): - Added cnn_conv3x3_7to4: 7-channel input → RGBD output - Added cnn_conv3x3_7to1: 7-channel input → grayscale output - Both normalize inputs and use flattened weight arrays Documentation: - CNN_EFFECT.md: Updated architecture, training, weight format - CNN_RGBD_GRAYSCALE_SUMMARY.md: Implementation summary - HOWTO.md: Added training command example Next: Train with RGBD input data Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
23 hoursfeat: Add multi-layer CNN support with framebuffer capture and blend controlskal
Implements automatic layer chaining and generic framebuffer capture API for multi-layer neural network effects with proper original input preservation. Key changes: - Effect::needs_framebuffer_capture() - generic API for pre-render capture - MainSequence: auto-capture to "captured_frame" auxiliary texture - CNNEffect: multi-layer support via layer_index/total_layers params - seq_compiler: expands "layers=N" to N chained effect instances - Shader: @binding(4) original_input available to all layers - Training: generates layer switches and original input binding - Blend: mix(original, result, blend_amount) uses layer 0 input Timeline syntax: CNNEffect layers=3 blend=0.7 Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
25 hoursdocs: Update and streamline CNN training documentationskal
- Document coordinate-aware layer 0 architecture - Add checkpointing examples and options table - Consolidate training workflow with practical examples - Clarify CoordConv2d usage and size impact - Streamline training/README.md structure Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
27 hoursdocs: Add CNN effect documentation and update project statusskal
**New Documentation:** - `doc/CNN_EFFECT.md` (223 lines): Comprehensive implementation guide - Architecture overview (file structure, shader composition) - Usage examples (C++ API, timeline integration) - Training workflow (planned) - Implementation details (convolution signatures, weight storage) - Size budget breakdown (~5-8 KB total) - Testing and troubleshooting **Updated Documentation:** - `doc/CNN.md`: Added implementation status section - Completed items (✅ modular shaders, C++ class, tests) - Pending items (⏳ training script, multi-layer, quantization) - Size impact summary - `PROJECT_CONTEXT.md`: - Added "Effects: CNN post-processing foundation" to Current Status - Added `CNN_EFFECT.md` to Technical Reference list **Summary:** CNN effect foundation complete with modular WGSL architecture, ready for training script integration. All tests passing (36/36). ~5-8 KB footprint. handoff(Claude): Documentation complete for CNN effect implementation