| Age | Commit message (Expand) | Author |
| 8 hours | feat(mq_editor): partial spectrum viewer — synth+FFT power display | skal |
| 8 hours | feat(mq_editor): replace replicas with harmonics model | skal |
| 9 hours | fix(mq_editor): swap keys 1/2 — 1=original, 2=synth, 3=partial | skal |
| 9 hours | fix(mq_editor): destroy old viewer listeners on WAV reload | skal |
| 10 hours | feat(mq_editor): movable inner bezier control points + clamp() refactor | skal |
| 10 hours | feat(mq_editor): group toolbar buttons with separators | skal |
| 10 hours | refactor(mq_editor): extract refreshPartialsView() and playOriginal() helpers | skal |
| 10 hours | feat(mq_editor): add Delete key to remove selected partial; remove Test WAV d... | skal |
| 10 hours | fix(mq_editor): key '3' plays partial from t_start; add getAudioBuffer() | skal |
| 11 hours | refactor(mq_editor): extract CSS to style.css, consolidate UI params | skal |
| 13 hours | feat(mq_editor): switch curve interpolation to Lagrange through all control p... | skal |
| 13 hours | docs(mq_editor): document Explore and Contour interactive modes | skal |
| 13 hours | feat(mq_editor): add iso-contour tracking mode for bass/diffuse regions | skal |
| 13 hours | fix(mq_editor): enable explore mode immediately on WAV load | skal |
| 13 hours | feat(mq_editor): add explore mode for interactive partial tracking | skal |
| 13 hours | feat(mq_editor): add clear all partials button | skal |
| 14 hours | perf(mq_editor): move playhead to overlay canvas, avoid full render on tick | skal |
| 14 hours | feat(mq_editor): add new partial, undo/redo | skal |
| 15 hours | fix(mq_editor): exclude below-keep partials from hit-test selection | skal |
| 15 hours | refactor(mq_editor): unify freq+amp into single bezier curve | skal |
| 15 hours | fix(mq_editor): apply coupled anchor drag to freqCurve in viewer canvas | skal |
| 15 hours | feat(mq_editor): drag anchor points P0/P3 with their companion handles | skal |
| 15 hours | feat(mq_editor): add '3' key to solo selected partial + extract getSynthParams() | skal |
| 15 hours | refactor(mq_editor): consolidate duplicates, extract utils.js and app.js | skal |
| 15 hours | feat(mq_editor): expose tracking params in UI with grouped param panel | skal |
| 16 hours | fix(mq_editor): correct phaseInterp quadratic coefficient and stale phase pre... | skal |
| 17 hours | feat(mq_editor): Implement phase-coherent partial tracking | skal |
| 18 hours | feat(mq_editor): implement MQ extraction improvements | skal |
| 19 hours | feat(mq_editor): global r/gain overrides for Resonator (all) mode | skal |
| 19 hours | docs(mq_editor): document LP/HP post-synthesis filter sliders | skal |
| 19 hours | feat(mq_editor): LP/HP filter sliders with frequency display in Synthesis panel | skal |
| 19 hours | feat(mq_editor): global resonator test-mode checkbox in Synthesis panel | skal |
| 19 hours | feat(mq_editor): post-synthesis LP/HP filter pair in synthesizeMQ | skal |
| 19 hours | feat(mq_editor): per-partial two-pole resonator synthesis mode | skal |
| 20 hours | feat(mq_editor): f·Power checkbox, deselect on extract, panel refresh after ... | skal |
| 20 hours | feat(mq_editor): E key for extract, style cleanup, doc update | skal |
| 20 hours | feat(mq_editor): jog sliders for synth params, reset partials on WAV load, pa... | skal |
| 20 hours | feat(mq_editor): spread autodetection, 50% drop-off line, mini-spectrum peak fix | skal |
| 21 hours | feat(mq_editor): tabbed freq/amp/synth panel, spread band viz, UI polish | skal |
| 23 hours | feat(mq_editor): partial selection, amp bezier editor, and editor.js refactor | skal |
| 24 hours | docs(mq_editor): update README to reflect current state | skal |
| 24 hours | refactor(mq_editor): clean coordinate API and remove UI duplication | skal |
| 24 hours | feat(mq_editor): UI improvements and partial detection enhancements | skal |
| 25 hours | feat(mq_editor): validated dual-sine synthesis pipeline, clean code for real ... | skal |
| 25 hours | fix(mq_editor): mini-spectrum and spectrogram display improvements | skal |
| 26 hours | feat(mq_editor): add Test WAV button for in-browser UI testing | skal |
| 26 hours | test(mq_editor): add isolated FFT test page and sine generator | skal |
| 26 hours | feat(mq_editor): log-scale frequency axis with clean freqToY/canvasToFreq API | skal |
| 26 hours | refactor(mq_editor): store only squared amplitude after FFT, drop re/im | skal |
| 26 hours | fix(mq_editor): Catmull-Rom bezier fit, NaN guard, synth FFT toggle | skal |