Commit Graph

  • 0fe4166d7d loop: crossfade the Gate sustain seam, and unshadow the loop handles that made loop points look gone daniel 2026-07-31 17:36:36 -04:00
  • a90ccd9a00 docs: record the palette rework and retire the overlay-contrast wart it resolved daniel 2026-07-31 16:52:44 -04:00
  • 1307007b91 Merge palette-darker-teal: deep-teal secondary, an owned spectral mid, and an overlay trace that clears the indicator floor daniel 2026-07-31 16:46:56 -04:00
  • a19d645a49 palette: enlarge the region title into WCAG large class; repoint the grabbed envelope handle off hue daniel 2026-07-31 14:07:01 -04:00
  • 91f71f92bd palette: give the spectral mid and the envelope trace their own roles daniel 2026-07-31 13:27:20 -04:00
  • e1e668a521 docs: close out Θ-W3-T2 into COMPLETED, collapse the W3 wave, and record the overlay contrast wart as open daniel 2026-07-31 13:20:33 -04:00
  • 87754477a7 Merge Θ-W3-T2: one staged-envelope system — per-segment curves, the sustain-less AHD, and one overlay shared by all three envelopes daniel 2026-07-31 13:11:12 -04:00
  • 04e4f875af instrument: reassign loop-marker role off tertiary, onto secondary daniel 2026-07-31 12:40:15 -04:00
  • 03fb471c92 instrument: fix AHD DecayEnd overlay/grab defect, pin flaky curve test, close comment/doc findings daniel 2026-07-31 10:19:45 -04:00
  • 2fa1405b06 instrument: fix AHD node-tracking/tie-break/live-latch defects and close staged-envelope-curve test gaps daniel 2026-07-31 09:52:17 -04:00
  • d60ab1524a instrument: latch the note done at the read-head run-off, fit the migrated fades, and lift the curve dial and overlay selection into pure modules daniel 2026-07-31 09:17:04 -04:00
  • 13e8c5c4d9 instrument: one staged-envelope system — per-segment curves, the sustain-less AHD, and a shared overlay for all three envelopes daniel 2026-07-31 08:37:57 -04:00
  • 87d7ceb066 docs: close out Ξ-W1-T1, Ξ-W1-T2 and Θ-W3-T1 into COMPLETED; map the note directory; document the Release build daniel 2026-07-31 07:02:54 -04:00
  • 98594df878 Merge Θ-W3-T1: live parameter delivery to sounding voices, holding normalized stage position across time edits daniel 2026-07-31 06:44:04 -04:00
  • 8dc76f4a1f Merge Ξ-W1-T2: the programmed capture-signal model, its domain closed at construction daniel 2026-07-31 06:44:00 -04:00
  • 60aeda1a3e Merge Ξ-W1-T1: one tracking ledger and one authority behind prune protection and replace-vs-add daniel 2026-07-31 06:43:54 -04:00
  • efd1e41f46 instrument: narrow the live-param publish lock to its own mutex, off the reload's decode daniel 2026-07-30 21:54:20 -04:00
  • bbc7dc70bb instrument: snap live params onto a fresh voice, roll a live drag back on capture loss, serialize the seqlock's two writers daniel 2026-07-30 21:39:56 -04:00
  • 1dade0bfcf instrument: deliver continuous playback params live to sounding voices via a seqlock block, holding normalized stage position across time edits daniel 2026-07-30 21:03:05 -04:00
  • dddecc5734 note: close out the model — correct an inert mutation claim, retag four non-discriminating assertions, assert Tempo's closure, fix three doc/test accuracy gaps daniel 2026-07-30 21:03:02 -04:00
  • a80eb76c1f note: close every value type's domain at construction, so resolveNote is finite for every constructible input daniel 2026-07-30 20:37:12 -04:00
  • 6287534454 fix: classify future-version ledgers with changed record shape correctly, not as corrupt daniel 2026-07-30 20:25:46 -04:00
  • d923b352ae fix: harden note-program model against corrupt tempo/division/denomination records daniel 2026-07-30 20:11:06 -04:00
  • 45b87dc2ff tracking: read the ledger's version, not just write it; clear owned on any block; channel-correct prune recovery daniel 2026-07-30 20:11:05 -04:00
  • 834a6ddcc7 note: land the programmed capture-signal model — division ladder, tempo resolution, anchored offsets, one record and one resolver daniel 2026-07-30 19:44:15 -04:00
  • 7f70d94228 tracking: one ledger, one authority — prune protection and replace-vs-add answered from the same records, fail-safe on unreadable state daniel 2026-07-30 19:44:11 -04:00
  • 7bd911d58b docs: spec live-parameter delivery as Theta-W3-T1 daniel 2026-07-30 18:33:01 -04:00
  • 413967a205 docs: close out Θ-W2-T1 filter-voice-path into COMPLETED daniel 2026-07-30 18:23:42 -04:00
  • 9b1a49c640 Merge Θ-W2-T1: per-voice filter between pitch and amp, its own deck, continuous corner sweep daniel 2026-07-30 18:19:12 -04:00
  • 0cfd9b6236 filter: sweep the corner continuously; raise the editor floor to 840x620 daniel 2026-07-30 18:12:10 -04:00
  • 39389c1183 fix: guard filter tail NaNs, skip static-filter envelope work, pin stereo filter path, correct stale comments daniel 2026-07-30 17:35:45 -04:00
  • 67215509cb feat: run the per-voice filter between the pitch and amp stages, with its own deck daniel 2026-07-30 15:26:14 -04:00
  • c9c708a338 docs: record the CMake build-system split in COMPLETED; note the multi-config ctest flag daniel 2026-07-30 12:44:46 -04:00
  • 4bef71b05a Merge cmake-cleanup: per-directory CMakeLists split, shared target helpers, and one-mechanism core/ linkage daniel 2026-07-30 12:41:56 -04:00
  • 5420550ff3 fix: correct app CMakeLists comments, drop dead bridge_marshal link edge daniel 2026-07-30 12:40:37 -04:00
  • 68765da031 build: route every core/ TU into reaper_reasampler through exactly one static-library link edge, never a direct compile daniel 2026-07-30 12:28:39 -04:00
  • d04045be69 build: split the 1423-line root CMakeLists into per-directory files with shared target helpers daniel 2026-07-30 12:19:18 -04:00
  • 25c63fb807 docs: close out Θ-W1-T3 and Θ-W2-T2/T3 into COMPLETED; add the filter directory to the architecture map daniel 2026-07-30 11:16:21 -04:00
  • b9d85161e5 Merge Θ-W2-T3: full-width piano strip with uniform key widths, note tooltips, one toolbar font daniel 2026-07-30 11:09:57 -04:00
  • 1aea481688 Merge Θ-W1-T3: TPT/SVF filter with HP-BP-LP and HP-notch-LP morph laws and a drive stage daniel 2026-07-30 11:09:44 -04:00
  • 3cb6b9de21 Fix filter test/doc claims: retracted DF1 limit-cycle rationale, notch-depth overreach, stale drive-branch wording daniel 2026-07-30 10:56:25 -04:00
  • d2364eb5ac Add an Oberheim-SEM morph law to the SVF filter: HP->notch->LP alongside HP->BP->LP, selected at prepare() time, free on the per-sample path daniel 2026-07-30 10:22:49 -04:00
  • f12700c997 Filter review fixes: gate softLimit on drive, correct flush/DF1 measurement claims, pin control-law test literals, fix stale bypass state daniel 2026-07-30 09:57:37 -04:00
  • 902030bfba Rebuild the instrument filter as a TPT/SVF with a continuous HP-BP-LP morph and a configurable drive stage daniel 2026-07-30 09:14:13 -04:00
  • 7d42d7ed29 Make the high-pass feedback tap a fixed 1/48000 s interval so resonance stops scaling with sample rate; 48k and 44.1k bit-identical daniel 2026-07-30 08:01:28 -04:00
  • 7af3c0c630 Fix filter DSP click-train flush and finish namespace nesting + test coverage daniel 2026-07-30 07:00:41 -04:00
  • 78e112d1f9 Port Cortex-M4 resonant filter to a pure vtable-free core/instrument/engine/filter module with 0.1-10 Q and log cutoff daniel 2026-07-30 00:09:06 -04:00
  • e89568c1a8 Clear stale hover on capture-loss and Alt-delete; derive gutter test via chromeRects daniel 2026-07-30 10:39:27 -04:00
  • 9812690b96 Fix stale hover latch on drag release, tooltip anchor, border off-by-one; pin gutter golden test, drop DPI framing daniel 2026-07-30 09:35:18 -04:00
  • ae23ee0882 Rebuild the chrome band: full-width piano strip with uniform key widths, note tooltips, one toolbar font daniel 2026-07-30 09:14:07 -04:00
  • ea52b14f2a Merge Θ-W2-T2: stacked L/R waveform lanes with a type-enforced full-height overlay contract daniel 2026-07-30 10:59:47 -04:00
  • dfed1c77bb Fix waveform_view comment accuracy, cut duplicate comments, align xToFrame to OverlayArea daniel 2026-07-30 10:35:27 -04:00
  • fb12c53522 Type-enforce the waveform overlay contract, narrow waveformLanes to LaneSplit, fix laneCount/cache/path-fallback bugs daniel 2026-07-30 09:35:11 -04:00
  • 99fab6a4b6 docs: move Θ-W1-T1 and Θ-W1-T2 into COMPLETED with recorded deviations daniel 2026-07-30 09:13:56 -04:00
  • 2a0d10fab5 Stack L/R waveform lanes in stereo mode, with overlays drawn once at full band height daniel 2026-07-30 09:04:57 -04:00
  • 81f5861ba4 Merge Θ-W1-T2: fix drag-out audio loss and FX-container drops, re-home ingest daniel 2026-07-30 08:44:49 -04:00
  • 98c07d768f Merge Θ-W1-T1: retire the zone system, re-seam the engine and Sample face into bands daniel 2026-07-30 08:44:42 -04:00
  • e304f2b031 Fix embed use-after-free, restore golden fixture + refs tests, drop dead note_entry daniel 2026-07-30 08:01:22 -04:00
  • 8d4ccbf841 Retire the zone system: one capture = one parameter set, and re-seam the engine and Sample face into bands daniel 2026-07-30 07:15:54 -04:00
  • c91bf03ef4 Fix drag-drop review findings: unify teardown, gate FX-add on outside-panel, trim comments daniel 2026-07-30 06:56:20 -04:00
  • 875d5b4632 Fix drag-handoff bugs: gate FX re-resolve on outside-panel, cache unresolvable OS-drag verdict, block double FX-add retry daniel 2026-07-30 00:09:00 -04:00
  • 0800760833 Fix drag-out losing audio and FX-container drops losing the capture; re-home ingest under shell/actions daniel 2026-07-29 23:49:53 -04:00
  • cd704cb0ad temp-cortex filter dump daniel 2026-07-29 23:45:20 -04:00
  • 8c620f88e4 temp-cortex filter dump daniel 2026-07-29 23:36:00 -04:00
  • a689fb75eb docs: add PLAN.md — post-1.0 roadmap consolidating TODO-1.0's seventeen items daniel 2026-07-29 23:09:53 -04:00
  • be37192fe9 docs: record comment-reduction pass in COMPLETED, add comment conventions to CLAUDE.md daniel 2026-07-29 21:22:37 -04:00
  • 949dc3af7c Merge comment-reduction: cut source comment volume ~42% tree-wide across 12 tracks daniel 2026-07-29 21:16:52 -04:00
  • 47ccadf726 Restore review-flagged comment content cut too aggressively in comment reduction daniel 2026-07-29 21:15:00 -04:00
  • 9d037fb233 Merge 12 comment-reduction tracks: cut source comment volume ~42% tree-wide daniel 2026-07-29 20:49:57 -04:00
  • 58c6d49261 Cut shell/actions, bank_ops, app comment bloat ~48% (comments only, zero code change) daniel 2026-07-29 20:49:31 -04:00
  • 8dac5b4a54 Cut core/wire and shell/persist comment bloat ~46% (comments only, zero code change) daniel 2026-07-29 20:49:28 -04:00
  • 80df142605 Cut core/view and shell/view comment bloat ~65% (comments only, zero code change) daniel 2026-07-29 20:49:26 -04:00
  • 12ffe377e5 Cut core/capture and core/version comment bloat ~45% (comments only, zero code change) daniel 2026-07-29 20:49:23 -04:00
  • 65ca1e1f9d Cut core/model, reclaim, json, util comment bloat ~26% (comments only, zero code change) daniel 2026-07-29 20:49:06 -04:00
  • 3d3415f943 Cut core/ui and core/audio comment bloat ~60% (comments only, zero code change) daniel 2026-07-29 20:49:02 -04:00
  • 54f5f24506 Cut shell/capture comment bloat ~33% (comments only, zero code change) daniel 2026-07-29 20:48:59 -04:00
  • cc36dd59c7 Cut shell/panel comment bloat ~47% (comments only, zero code change) daniel 2026-07-29 20:48:56 -04:00
  • d4d29146c7 Cut shell/instrument comment bloat ~34% (comments only, zero code change) daniel 2026-07-29 20:48:43 -04:00
  • ccd9968be1 Cut core/instrument/ui comment bloat ~49% (comments only, zero code change) daniel 2026-07-29 20:48:39 -04:00
  • 354192ae27 Cut core/instrument/map comment bloat ~30% (comments only, zero code change) daniel 2026-07-29 20:48:35 -04:00
  • 3599d97836 Cut core/instrument/engine comment bloat ~33% (comments only, zero code change) daniel 2026-07-29 20:48:32 -04:00
  • 85cc340e58 docs: correct FB1 guardrail — r11 did bump ComponentState v7-v8 for masterGainLinear daniel 2026-07-29 15:29:00 -04:00
  • 1f24c4b095 docs: 1.0 documentation restructure daniel 2026-07-29 15:09:48 -04:00
  • b34a543b81 Merge bump-1-0-0: version 1.0.0 1.0.0 daniel 2026-07-29 14:23:52 -04:00
  • 1a62e10467 1.0.0 daniel 2026-07-29 14:23:44 -04:00
  • 8a9e2a1194 Merge phase-q: Phase Q — Quality (1.0 structural reorganization) complete daniel 2026-07-29 14:09:49 -04:00
  • f529554673 docs: CLAUDE.md post-Phase-Q architecture refresh — core/shell/app module map, split-TU realities, registration-table mechanism; contract text unchanged daniel 2026-07-29 14:06:56 -04:00
  • 4d2316b77c docs(phase-q): record Q-W4/Q-W5/Q-W6 landings — all seven waves structurally complete; remaining: DAW verification batch, CLAUDE.md refresh, dev merge daniel 2026-07-29 13:57:44 -04:00
  • d1202b3174 Merge pq-w6-table: Q-W6 — OCP registration table (adding an action touches one row); bank verbs lifted to shell/bank_ops(Session&); persist.h umbrella, wav_trim shim, and core/namespaces.h all retired; grow-loop rehomed to core/wire; FOREVER-STABLE strings byte-identical; 61/61 green daniel 2026-07-29 13:51:47 -04:00
  • cd12b97631 Q-W6 review follow-ups: drop stale wav_trim clause, fix stale include comment, idempotent action-table clear, reflow ragged comment, align session.h trailing comments daniel 2026-07-29 13:51:35 -04:00
  • f3be4d8cce Q-W6: registration table (OCP) in main.cpp; bank verbs -> shell/bank_ops(Session&); persist.h + wav_trim + namespaces.h shims deleted; 61/61 daniel 2026-07-29 13:40:09 -04:00
  • 4831e0e172 Merge pq-w5-persist: Q-W5 — persist split into session/ext_state_io/prune_fs (deletion authority concentrated); GetProjExtState grow-loop unified in bridge_marshal (T2-04); bank_book_json extraction via private static nameKey; persist.h compat umbrella; 61/61 green daniel 2026-07-29 13:07:32 -04:00
  • 0c39a716a5 docs: scope deletion-authority wording to bank folder + guard growing-read NUL terminator daniel 2026-07-29 13:06:15 -04:00
  • 75aa93f913 Q-W5: persist → session/ext_state_io/prune_fs (deletion authority concentrated); one GetProjExtState grow-loop in bridge_marshal (T2-04, ×3 rewired); bank_book JSON codec → bank_book_json via private static nameKey; persist.h stays umbrella. 61/61 green. daniel 2026-07-29 12:56:06 -04:00
  • bbbb69ee55 Merge pq-w4-actions: Q-W4 — actions.cpp split into design_view_actions/bank_actions/prune_action + action_registry; bank verbs deduped to promptless bankOp* inner verbs in panel_bank_ops; command-ids byte-identical; persistBankOp guards; 61/61 green daniel 2026-07-29 13:06:31 -04:00
  • 4f587258b2 fix: guard persistBankOp/persistBook against a null session; rename promptText to promptBankName daniel 2026-07-29 13:06:12 -04:00
  • 430e117620 Q-W4: split actions.cpp into design_view_actions/bank_actions/prune_action + shared action_registry; bank verbs deduped into promptless bankOp* inner verbs in panel_bank_ops (one mutation home, two UX skins); command-id strings byte-identical; actions.h shim carrier retired daniel 2026-07-29 12:56:02 -04:00
  • 5232227323 docs(phase-q): record Q-W2 + Q-W2v + Q-W3 landings — points to COMPLETED.md; ceiling overages recorded, in-DAW verification marked pending, Q-W4 dedupe-shape notes preserved daniel 2026-07-29 11:43:22 -04:00
  • 3bcd4dcc7b Merge pq-w3-main: Q-W3 — main.cpp → pointers+entry+dispatch via 4 capture hoists; one pure wav_codec RIFF owner (golden hash pinned); ICaptureBackend deleted; capture_realtime rename + finalize split; stampCaptureSample dedupe; makeUniqueTag monotonic counter; 61/61 green daniel 2026-07-29 11:37:13 -04:00
  • 6108673c84 Q-W3 rebase fix: hoisted capture TUs include the Q-W2 panel seam headers (panel_bank_ops/panel_input) instead of the deleted bank_panel.h daniel 2026-07-29 11:36:32 -04:00