| Age | Commit message (Expand) | Author |
| 6 hours | fix(tools): fetch stb_image_write.h in project_init.sh, fix cnn_test include ... | skal |
| 6 hours | feat(cnn_v3): wire trained weights into CNNv3Effect + add timeline test sequence | skal |
| 10 hours | fix(blender_export): only write plane_distance for PLANE objects | skal |
| 3 days | fix(assets): skip missing binary assets with warning instead of failing | skal |
| 10 days | fix(win): accept SuccessSuboptimal in surface texture status check | skal |
| 12 days | fix(seq_compiler): map NtscYiq to ntsc_effect.h | skal |
| 2026-03-08 | feat: WGSL asset load-from-disk in dev mode | skal |
| 2026-03-08 | feat: Implement dual-mode asset loading and update documentation | skal |
| 2026-03-05 | style: run clang-format to adhere 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-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 | feat(tracker): add /* */ block comment support to .track parser | skal |
| 2026-03-03 | feat(assets): replace is_procedural/is_gpu_procedural bools with AssetType en... | skal |
| 2026-02-28 | fix(shadertoy): update convert_shadertoy.py shader output path to src/effects/ | 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-20 | feat(sequence): port Scene1Effect + fix seq_compiler absolute time bug | skal |
| 2026-02-19 | update tools mq-editor TODO | skal |
| 2026-02-19 | fix(mq_editor): offset playhead to partial t_start when playing single partia... | skal |
| 2026-02-19 | fix(mq_editor): remove duplicate mode toggle, add SINE badge, fix mini-spectr... | skal |
| 2026-02-19 | feat(mq_editor): UI revamp — params panel, layout, partial spectrum | skal |
| 2026-02-19 | fix(mq_editor): jitter + central spectrum invalidation | skal |
| 2026-02-19 | fix(mq_editor): fuse spread_above/below into single spread param | skal |
| 2026-02-18 | fix(mq_editor): partial mini-spectrum — correct FFT, time selection, resona... | skal |
| 2026-02-18 | feat(mq_editor): partial spectrum viewer — synth+FFT power display | skal |
| 2026-02-18 | feat(mq_editor): replace replicas with harmonics model | skal |
| 2026-02-18 | fix(mq_editor): swap keys 1/2 — 1=original, 2=synth, 3=partial | skal |
| 2026-02-18 | fix(mq_editor): destroy old viewer listeners on WAV reload | skal |
| 2026-02-18 | feat(mq_editor): movable inner bezier control points + clamp() refactor | skal |
| 2026-02-18 | feat(mq_editor): group toolbar buttons with separators | skal |
| 2026-02-18 | refactor(mq_editor): extract refreshPartialsView() and playOriginal() helpers | skal |
| 2026-02-18 | feat(mq_editor): add Delete key to remove selected partial; remove Test WAV d... | skal |
| 2026-02-18 | fix(mq_editor): key '3' plays partial from t_start; add getAudioBuffer() | skal |
| 2026-02-18 | refactor(mq_editor): extract CSS to style.css, consolidate UI params | skal |
| 2026-02-18 | feat(mq_editor): switch curve interpolation to Lagrange through all control p... | skal |
| 2026-02-18 | docs(mq_editor): document Explore and Contour interactive modes | skal |
| 2026-02-18 | feat(mq_editor): add iso-contour tracking mode for bass/diffuse regions | skal |
| 2026-02-18 | fix(mq_editor): enable explore mode immediately on WAV load | skal |
| 2026-02-18 | feat(mq_editor): add explore mode for interactive partial tracking | skal |
| 2026-02-18 | feat(mq_editor): add clear all partials button | skal |
| 2026-02-18 | perf(mq_editor): move playhead to overlay canvas, avoid full render on tick | skal |
| 2026-02-18 | feat(mq_editor): add new partial, undo/redo | skal |
| 2026-02-18 | fix(mq_editor): exclude below-keep partials from hit-test selection | skal |