| Age | Commit message (Expand) | Author |
| 6 hours | docs: update temporal feedback docs — wire_dag auto-wiring, F16X8 formatHEADmain | skal |
| 7 hours | feat(gbuffer): wire_dag() + find_downstream_output() for temporal feedback | skal |
| 7 hours | feat(cnn_v3): GBufferEffect temporal feedback via post_render() | skal |
| 15 hours | fix(cnn_v3): shadow pass — 5 bugs fixed, labels in gbuf_view | skal |
| 22 hours | feat(cnn_v3): add G-buffer visualizer + web sample loader (Phase 7) | skal |
| 2 days | feat(cnn_v3): Phase 5 complete — parity validation passing (36/36 tests) | skal |
| 2 days | docs: session handoff — CNN v3 Phase 4 complete | skal |
| 4 days | docs: archive stale/completed docs, compact active refs (-1300 lines) | skal |
| 4 days | add a commit rule | skal |
| 4 days | docs(init): add glfw as macOS brew dependency | skal |
| 13 days | docs: document CLASS_TO_HEADER override in EFFECT_WORKFLOW | skal |
| 13 days | ntsc: factor common code into snippet; add RGB and YIQ input variants | skal |
| 13 days | fix: use ShaderComposer in RotatingCube; add rule to CODING_STYLE | skal |
| 13 days | style: require 2-line header comment in all .wgsl files | skal |
| 2026-03-09 | docs: streamline SEQUENCE.md (12 effects, remove v1 migration notes) | skal |
| 2026-03-08 | fix: negate Y in perspective() to correct rasterized 3D orientation | skal |
| 2026-03-08 | docs: update ASSET_SYSTEM.md for WGSL disk-load in dev mode | skal |
| 2026-03-08 | feat: Implement dual-mode asset loading and update documentation | skal |
| 2026-03-08 | fix(shaders): enforce y-up screen-space convention + document coordinate conv... | skal |
| 2026-03-07 | streamline doc | 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 | docs: add control flow braces rule to coding style | skal |
| 2026-03-05 | fix(audio): correct OLA synthesis and extract shared ola_encode/ola_decode | skal |
| 2026-03-05 | fix(spectool): rename --wav flag to wav subcommand for consistency | skal |
| 2026-03-05 | chore: remove dead specplay tool and all references | skal |
| 2026-03-05 | feat(spectool): add --wav decode, IMDCT, and roundtrip test | skal |
| 2026-03-05 | fix(audio): OLA encoder never ran; version never propagated to decoder | skal |
| 2026-03-03 | feat(assets): replace is_procedural/is_gpu_procedural bools with AssetType en... | skal |
| 2026-03-03 | fix(build): add spectool to DEMO_BUILD_TOOLS cmake target | skal |
| 2026-03-02 | docs: update PROJECT_CONTEXT, TODO, COMPLETED for OLA-IDCT | skal |
| 2026-03-02 | feat(audio): MP3 asset support in tracker via decode-at-init | 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 | 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-23 | docs(build): add WSL (Windows 10) build support and documentation | skal |
| 2026-02-21 | refactor(wgsl): Use vec*f alias for vector types | skal |
| 2026-02-21 | refactor(wgsl): Factorize getScreenCoord helper | skal |
| 2026-02-20 | feat(sequence): port Scene1Effect + fix seq_compiler absolute time bug | skal |
| 2026-02-18 | refactor(mq_editor): consolidate duplicates, extract utils.js and app.js | skal |
| 2026-02-18 | feat(mq_editor): implement MQ extraction improvements | skal |
| 2026-02-17 | docs: Archive MQ Editor Phase 2 completion | skal |
| 2026-02-17 | feat(mq_editor): Complete Phase 2 - JS synthesizer with STFT cache | skal |
| 2026-02-17 | docs: Archive MQ Editor Phase 1 completion | skal |
| 2026-02-17 | docs(mq_editor): Update Phase 1 completion status | skal |
| 2026-02-17 | feat(mq_editor): Phase 1 - MQ extraction and visualization (SPECTRAL_BRUSH_2) | skal |
| 2026-02-17 | refactor(effects): Streamline uniforms initialization | skal |
| 2026-02-17 | docs(style): Add rule for WGPU object initialization | skal |
| 2026-02-17 | feat: Rename GPU stub and headless files and update references | skal |