| Age | Commit message (Expand) | Author |
| 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-06 | test: remove obsolete test_sequence.cc | skal |
| 2026-03-05 | docs: streamline and align AI context files | skal |
| 2026-03-05 | docs: add control flow braces rule to coding style | skal |
| 2026-03-05 | style: run clang-format to adhere to coding style | skal |
| 2026-03-05 | fix(test): WavDumpBackendTest uses sine tone instead of empty ring buffer | 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-05 | fix(spectool): pre-fill audio buffer before audio_start() in play mode | skal |
| 2026-03-05 | remove dead tool 'specview' | skal |
| 2026-03-05 | remove old .track | skal |
| 2026-03-05 | add training photos | skal |
| 2026-03-05 | music = one big drum sample (for now!) | skal |
| 2026-03-05 | feat(tracker): add /* */ block comment support to .track parser | 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-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): OLA-IDCT synthesis with Hann window to eliminate clicks | skal |
| 2026-03-02 | add mp3 asset | skal |
| 2026-03-02 | feat(audio): MP3 asset support in tracker via decode-at-init | skal |
| 2026-03-01 | feat(audio): add experimental MP3 on-demand range decoder | skal |
| 2026-02-28 | fix(shadertoy): update convert_shadertoy.py shader output path to src/effects/ | 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 Scene2 -> Scene2Effect | skal |
| 2026-02-28 | feat(tools/shadertoy): add --dry-run flag to skip file writing | skal |
| 2026-02-28 | fix(tools/shadertoy): fix Next Steps instructions and update EFFECT_WORKFLOW.md | skal |
| 2026-02-28 | fix(tools/shadertoy): sync templates and script to current codebase conventions | skal |
| 2026-02-28 | fix(shader_editor): sync CommonUniforms to current struct, fix layout | skal |
| 2026-02-28 | refactor: move common/shaders/ to src/shaders/ | skal |
| 2026-02-28 | remove unused util/math.h | skal |
| 2026-02-28 | misc: cleanup comments and formatting in headers | skal |
| 2026-02-28 | refactor(gpu): move RenderPipelineBuilder impl to pipeline_builder.cc | skal |
| 2026-02-28 | refactor(gpu): move SamplerCache impl to .cc, expose single entry point | skal |
| 2026-02-28 | remove SDFEffect base class and sdf_test, update SDF_EFFECT_GUIDE | skal |
| 2026-02-28 | remove vestigial demo_effects.cc | skal |
| 2026-02-28 | replace wgsl type: vec4<f32> -> vec4f .. | skal |
| 2026-02-28 | fix: double-free of external views in NodeRegistry and PASSTHROUGH shader test | skal |
| 2026-02-28 | fix(shaders): deduplicate VertexOutput/vs_main via render/fullscreen_uv_vs sn... | skal |
| 2026-02-27 | remove old files, add new training set | skal |
| 2026-02-23 | docs(build): add WSL (Windows 10) build support and documentation | skal |
| 2026-02-21 | docs: Update WGSL files to use shorter vector and matrix type aliases | skal |