| Age | Commit message (Expand) | Author |
| 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 |
| 2026-02-18 | refactor(mq_editor): unify freq+amp into single bezier curve | skal |
| 2026-02-18 | fix(mq_editor): apply coupled anchor drag to freqCurve in viewer canvas | skal |
| 2026-02-18 | feat(mq_editor): drag anchor points P0/P3 with their companion handles | skal |
| 2026-02-18 | feat(mq_editor): add '3' key to solo selected partial + extract getSynthParams() | skal |
| 2026-02-18 | refactor(mq_editor): consolidate duplicates, extract utils.js and app.js | skal |
| 2026-02-18 | feat(mq_editor): expose tracking params in UI with grouped param panel | skal |
| 2026-02-18 | fix(mq_editor): correct phaseInterp quadratic coefficient and stale phase pre... | skal |
| 2026-02-18 | feat(mq_editor): Implement phase-coherent partial tracking | skal |
| 2026-02-18 | feat(mq_editor): implement MQ extraction improvements | skal |
| 2026-02-18 | feat(mq_editor): global r/gain overrides for Resonator (all) mode | skal |
| 2026-02-18 | docs(mq_editor): document LP/HP post-synthesis filter sliders | skal |
| 2026-02-18 | feat(mq_editor): LP/HP filter sliders with frequency display in Synthesis panel | skal |
| 2026-02-18 | feat(mq_editor): global resonator test-mode checkbox in Synthesis panel | skal |
| 2026-02-18 | feat(mq_editor): post-synthesis LP/HP filter pair in synthesizeMQ | skal |
| 2026-02-18 | feat(mq_editor): per-partial two-pole resonator synthesis mode | skal |
| 2026-02-18 | feat(mq_editor): f·Power checkbox, deselect on extract, panel refresh after ... | skal |
| 2026-02-18 | feat(mq_editor): E key for extract, style cleanup, doc update | skal |
| 2026-02-18 | feat(mq_editor): jog sliders for synth params, reset partials on WAV load, pa... | skal |