| Age | Commit message (Expand) | Author |
| 9 days | fix: audio & effects cleanup — dead code removal, simplifications | skal |
| 9 days | fix: code review cleanup — bugs, dead code, factorization, simplification | skal |
| 9 days | fix: code review cleanup — bugs, dead code, factorization (-167 lines) | 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): GBufferEffect Pass 2 — SDF shadow raymarching | skal |
| 2026-03-22 | feat(cnn_v3): add G-buffer visualizer + web sample loader (Phase 7) | skal |
| 2026-03-21 | feat(cnn_v3): Phase 4 complete — CNNv3Effect C++ + FiLM uniform upload | 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-12 | fix(win): update wgpu-native to v27, unify Windows/macOS API paths | skal |
| 2026-03-11 | factorize render_ntsc() | skal |
| 2026-03-10 | fix(effects): particle sync and heptagon SDF bugs | skal |
| 2026-03-10 | fix(particles): release compute and render pass encoders | 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-10 | rotating_cube: use VSOut, and store to yiq | skal |
| 2026-03-10 | fix: use ShaderComposer in RotatingCube; add rule to CODING_STYLE | skal |
| 2026-03-10 | style: require 2-line header comment in all .wgsl files | skal |
| 2026-03-09 | NTSC: use 6-taps filtering instead of 12-tap | skal |
| 2026-03-09 | refactor: mv get_border_col() to color_c64.wgsl as get_border_c64() | skal |
| 2026-03-09 | feat: register math/color_c64 snippet in ShaderComposer | skal |
| 2026-03-09 | refactor: extract YIQ and C64 dither to common WGSL shaders | skal |
| 2026-03-09 | add dithering | skal |
| 2026-03-08 | ntsc effect for real | skal |
| 2026-03-08 | fix: negate Y in perspective() to correct rasterized 3D orientation | skal |
| 2026-03-08 | fix: register debug/debug_print snippet in ShaderComposer | skal |
| 2026-03-08 | fix: transpose matrices on GPU upload (row-major → column-major) | skal |
| 2026-03-08 | feat: new clouds | skal |
| 2026-03-08 | tweak: scene2.wgsl visual adjustments | skal |
| 2026-03-08 | feat: Implement dual-mode asset loading and update documentation | skal |
| 2026-03-07 | streamline doc | skal |
| 2026-03-07 | feat(tools): add offline WGSL validator + fix ntsc.wgsl syntax | skal |
| 2026-03-07 | fix(cmake): normalize asset paths to fix incremental rebuild tracking | skal |
| 2026-03-07 | feat(effects): add Ntsc post-process effect with fisheye distortion | skal |
| 2026-03-07 | refactor(effects): introduce WgslEffect for shader-only post-process effects | skal |
| 2026-03-06 | feat(effects): add Scratch post-process effect with reusable scratch_lines sn... | skal |
| 2026-03-05 | style: run clang-format to adhere to coding style | skal |
| 2026-02-28 | refactor(effects): co-locate effect WGSL shaders with their .h/.cc in src/eff... | skal |
| 2026-02-28 | fix(tools/shadertoy): fix Next Steps instructions and update EFFECT_WORKFLOW.md | 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 | split raymarching.wgsl in two: with id, or without id. | skal |
| 2026-02-21 | refine scene1 shader | skal |
| 2026-02-20 | feat(scene1): replace ad-hoc camera with CameraParams uniform | skal |
| 2026-02-20 | feat(sequence): port Scene1Effect + fix seq_compiler absolute time bug | skal |
| 2026-02-17 | refactor(effects): Streamline uniforms initialization | skal |
| 2026-02-17 | refactor(gpu): Add RAII wrapper for WGPU resources to eliminate manual cleanup | skal |
| 2026-02-17 | refactor(effects): Factor shared initialization into Effect base class | skal |