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