| Age | Commit message (Expand) | Author |
| 12 hours | feat(mq_editor): per-partial two-pole resonator synthesis mode | skal |
| 13 hours | feat(mq_editor): f·Power checkbox, deselect on extract, panel refresh after ... | skal |
| 13 hours | feat(mq_editor): E key for extract, style cleanup, doc update | skal |
| 13 hours | feat(mq_editor): jog sliders for synth params, reset partials on WAV load, pa... | skal |
| 13 hours | feat(mq_editor): spread autodetection, 50% drop-off line, mini-spectrum peak fix | skal |
| 14 hours | feat(mq_editor): tabbed freq/amp/synth panel, spread band viz, UI polish | skal |
| 16 hours | feat(mq_editor): partial selection, amp bezier editor, and editor.js refactor | skal |
| 17 hours | docs(mq_editor): update README to reflect current state | skal |
| 17 hours | refactor(mq_editor): clean coordinate API and remove UI duplication | skal |
| 17 hours | feat(mq_editor): UI improvements and partial detection enhancements | skal |
| 17 hours | feat(mq_editor): validated dual-sine synthesis pipeline, clean code for real ... | skal |
| 18 hours | fix(mq_editor): mini-spectrum and spectrogram display improvements | skal |
| 18 hours | feat(mq_editor): add Test WAV button for in-browser UI testing | skal |
| 18 hours | test(mq_editor): add isolated FFT test page and sine generator | skal |
| 18 hours | feat(mq_editor): log-scale frequency axis with clean freqToY/canvasToFreq API | skal |
| 19 hours | refactor(mq_editor): store only squared amplitude after FFT, drop re/im | skal |
| 19 hours | fix(mq_editor): Catmull-Rom bezier fit, NaN guard, synth FFT toggle | skal |
| 25 hours | feat(mq_editor): sort partials by amplitude, keep% slider for reconstruction | skal |
| 26 hours | feat(mq_editor): peaks display, STFT cache refactor, threshold reactivity | skal |
| 27 hours | clean-up pass mq-partials | skal |
| 27 hours | feat(mq_editor): Complete Phase 2 - JS synthesizer with STFT cache | skal |
| 28 hours | docs(mq_editor): Update Phase 1 completion status | skal |
| 28 hours | feat(mq_editor): Improve partial tracking and add audio playback | skal |
| 29 hours | fix(mq_editor): Improve spectrogram visualization and navigation | skal |
| 32 hours | feat(mq_editor): Phase 1 - MQ extraction and visualization (SPECTRAL_BRUSH_2) | skal |
| 35 hours | feat(uniforms): Add noise field with per-frame random values | skal |
| 36 hours | fix(build): Resolve clean build failure from generated timeline header | skal |
| 37 hours | refactor(codegen): Use gpu_init helper in seq_compiler.py | skal |
| 37 hours | fix(build): Resolve Windows cross-compilation failures | skal |
| 39 hours | style: replace C++ casts with C-style casts | skal |
| 39 hours | feat: add time-based effect activation with auto-passthrough | skal |
| 40 hours | fix: seq_compiler includes effects/shaders.h | skal |
| 40 hours | style: Apply clang-format | skal |
| 40 hours | refactor: move shaders.{h,cc} to src/effects and remove v2 suffix | skal |
| 40 hours | docs: streamline timeline editor documentation | skal |
| 40 hours | docs: update timeline editor documentation for v2 format | skal |
| 40 hours | feat: add Sequence V2 format support to timeline editor | skal |
| 2 days | fix: make test_demo use workspace files, remove obsolete tools/test_demo.* | skal |
| 2 days | fix: add sequence index to generated class names | skal |
| 2 days | refactor: remove WIN32 platform checks from seq_compiler.py | skal |
| 2 days | refactor: remove C++ seq_compiler and Gantt chart references | skal |
| 2 days | refactor: remove END_DEMO directive, auto-calculate from sequences | skal |
| 2 days | fix: calculate beat_phase for FlashEffect and refactor uniforms | skal |
| 2 days | feat: Add FlashEffect for audio/visual sync testing | skal |
| 2 days | fix(build): add missing headers and enum casts for strict compilation | skal |
| 2 days | refactor: remove v2 versioning artifacts, establish Sequence as canonical system | skal |
| 2 days | fix(tests): port tests to v2 API, fix FATAL_CHECK logic | skal |
| 3 days | feat(sequence): complete v2 migration with DAG-based routing | skal |
| 3 days | feat(sequence): integrate v2 timeline with main loop | skal |
| 3 days | fix(cnn): rename CNNLayerParams to CNNv1LayerParams | skal |