| Age | Commit message (Expand) | Author |
| 9 days | fix: code review cleanup — bugs, dead code, factorization (-167 lines) | skal |
| 2026-03-29 | update weights | skal |
| 2026-03-29 | update assets and weights | skal |
| 2026-03-27 | fix(cnn_v3): remove dec0 ReLU, load FiLM MLP at runtime | skal |
| 2026-03-26 | update the weights | skal |
| 2026-03-26 | feat(cnn_v3): upgrade architecture to enc_channels=[8,16] | skal |
| 2026-03-25 | update weights | skal |
| 2026-03-25 | update weights | skal |
| 2026-03-23 | fix(cnn_v3_debug): add CNNv3Effect to debug sequence for prev.r/g/b temporal ... | skal |
| 2026-03-22 | fix(cnn_v3): shadow pass — 5 bugs fixed, labels in gbuf_view | skal |
| 2026-03-22 | feat(shaders): add ray_sphere snippet, use in gbuf_raster impostor | skal |
| 2026-03-22 | refactor(shaders): extract oct-normal encode/decode into math/normal snippet | skal |
| 2026-03-22 | feat(cnn_v3): GBufDeferredEffect — simple deferred render (albedo * shadow) | skal |
| 2026-03-22 | feat(cnn_v3): wire CNNv3Effect into cnn_v3_test sequence | skal |
| 2026-03-22 | feat(cnn_v3): GBufferEffect Pass 2 — SDF shadow raymarching | skal |
| 2026-03-22 | feat(cnn_v3): GBufferEffect internal scene + GBufViewEffect debug wiring | skal |
| 2026-03-22 | feat(cnn_v3): add G-buffer visualizer + web sample loader (Phase 7) | skal |
| 2026-03-22 | new timeline | skal |
| 2026-03-22 | fix(cnn_v3): fix texture format mismatches in cnn_v3_test sequence | skal |
| 2026-03-22 | feat(cnn_v3): wire trained weights into CNNv3Effect + add timeline test sequence | skal |
| 2026-03-22 | feat(cnn_v3): add weight assets to assets.txt, update HOW_TO_CNN export docs | skal |
| 2026-03-21 | feat(cnn_v3): Phase 3 complete — WGSL U-Net inference shaders | skal |
| 2026-03-20 | feat(cnn_v3): Phase 1 complete - GBufferEffect integrated + HOWTO playbook | skal |
| 2026-03-10 | change dither_c64() signature to take 'dimension' directly | skal |
| 2026-03-10 | ntsc: factor common code into snippet; add RGB and YIQ input variants | skal |
| 2026-03-09 | feat: register math/color_c64 snippet in ShaderComposer | skal |
| 2026-03-08 | ntsc effect for real | skal |
| 2026-03-08 | fix: register debug/debug_print snippet in ShaderComposer | skal |
| 2026-03-08 | fix: Correct and simplify test asset manifest | skal |
| 2026-03-08 | feat: Implement dual-mode asset loading and update documentation | skal |
| 2026-03-07 | feat(effects): add Ntsc post-process effect with fisheye distortion | skal |
| 2026-03-06 | feat(effects): add Scratch post-process effect with reusable scratch_lines sn... | skal |
| 2026-03-05 | fix(audio): OLA encoder never ran; version never propagated to decoder | skal |
| 2026-03-05 | music = one big drum sample (for now!) | skal |
| 2026-03-03 | test(assets): add MP3 asset type test (TEST_MP3/ASSET_TEST_MP3) | skal |
| 2026-03-03 | chore(audio): regenerate .spec files as v2 (OLA, Hann, hop=256) | skal |
| 2026-03-03 | feat(assets): replace is_procedural/is_gpu_procedural bools with AssetType en... | skal |
| 2026-03-02 | add mp3 asset | skal |
| 2026-02-28 | refactor(effects): co-locate effect WGSL shaders with their .h/.cc in src/eff... | skal |
| 2026-02-28 | fix(scene2): rewrite broken WGSL shader to fix test_demo_effects crash | skal |
| 2026-02-28 | fix(tools/shadertoy): fix Next Steps instructions and update EFFECT_WORKFLOW.md | skal |
| 2026-02-28 | refactor: move common/shaders/ to src/shaders/ | skal |
| 2026-02-28 | remove SDFEffect base class and sdf_test, update SDF_EFFECT_GUIDE | skal |
| 2026-02-28 | replace wgsl type: vec4<f32> -> vec4f .. | skal |
| 2026-02-28 | fix(shaders): deduplicate VertexOutput/vs_main via render/fullscreen_uv_vs sn... | skal |
| 2026-02-21 | docs: Update WGSL files to use shorter vector and matrix type aliases | skal |
| 2026-02-21 | refactor(wgsl): Use vec*f alias for vector types | skal |
| 2026-02-21 | split raymarching.wgsl in two: with id, or without id. | skal |
| 2026-02-21 | refactor(wgsl): Factorize getScreenCoord helper | skal |
| 2026-02-21 | refine scene1 shader | skal |