Commit Graph

  • 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
  • 8bc5aa1257 Q-W3 review follow-ups: golden hash literal test, CLAUDE.md wav_codec bullet, dead RecordedCapture field comment, makeUniqueTag residual note daniel 2026-07-29 11:28:55 -04:00
  • 09f7173db2 Q-W3: main.cpp → pointers+entry+dispatch via 4 capture hoists; one pure wav_codec RIFF owner; ICaptureBackend deleted; capture_realtime rename + finalize split; shared stampCaptureSample; makeUniqueTag gains monotonic counter (fixes same-second batch collisions). 60/60 green. daniel 2026-07-29 10:56:11 -04:00
  • d7d7f7e084 Merge pq-w2v-vst: Q-W2v — VST god-modules split (editor 8 face-axis TUs + pure layout hoist, processor 3 TUs, component_state_io codec — extension drops the voice engine), zone_params.h, core/wire putLE; formats frozen, golden full-blob fixture; 61/61 green daniel 2026-07-29 11:30:25 -04:00
  • f0f91f7698 Q-W2v review follow-ups: golden full-blob fixture test, dead-local cleanup, bool-guard static_assert, explicit VelocityCurve qualification daniel 2026-07-29 11:28:52 -04:00
  • ea86f540b8 Q-W2v: split VST god-modules — editor 8 face-axis TUs (+pure layout hoist), processor 3 TUs, component_state_io codec split (extension drops the voice engine), zone_params.h, core/wire putLE; formats frozen, 61/61 green daniel 2026-07-29 10:56:09 -04:00
  • 9d5783453c Merge pq-w2-panel: Q-W2 — bank_panel.cpp (3459 LOC) split into eight shell/panel TUs, per-seam headers, audition direct call-through preserved; anon-namespace follow-ups; 60/60 green daniel 2026-07-29 11:29:27 -04:00
  • 19b12186ac Q-W2 review follow-ups: anon-namespace TU-private panel helpers, fix stale bank_panel.cpp comments, correct shim-transitivity claim daniel 2026-07-29 11:28:48 -04:00
  • 30a4ffd01b Q-W2: split bank_panel.cpp (3459 LOC) into eight shell/panel TUs — reasampler::panel internals, per-seam public headers, shim retired; zero behavior change, 60/60 green daniel 2026-07-29 10:55:58 -04:00
  • b5788c82f6 docs(todo-1.0): record second fourth-batch answer round daniel 2026-07-29 11:18:41 -04:00
  • d8651fb7a7 docs(todo-1.0): item 15 answer round; item 16 retires zone mapping daniel 2026-07-29 11:03:17 -04:00
  • b8e8bb4c75 docs(todo-1.0): item 15 — one-click in-sampler resample (fourth batch, 2026-07-29); five questions await Daniel daniel 2026-07-29 10:39:35 -04:00
  • 9dd3440b75 docs(phase-q): record Q-W0 close + Q-W1 landing — points moved to COMPLETED.md; skipped riders and bank_book nameKey residual preserved daniel 2026-07-29 09:50:37 -04:00
  • 0ce3f4894a Merge pq-w1-layout: Q-W1 safe opener — core/json + core/wire + readFileBytes dedup (5 JSON decoders, 3 cursor copies deleted); core/shell/app relocation + sub-namespaces; ui::Rect unification; slot_map split; BankIndex→BankModel; 60/60 green daniel 2026-07-29 09:42:27 -04:00
  • 2d59bbe35d Q-W1 code-review follow-ups: restore 104 trailing newlines, relocate reasampler_uid.h to core/wire, drop ext_keys namespaces shim, add slot_map_tests, golden serialize literals for 4 modules, namespaces.h/pragma-once ordering sweep. 60/60 green. daniel 2026-07-28 21:33:51 -04:00
  • 847936f813 Q-W1 pt2: core/shell/app relocation + sub-namespaces; one concrete ui::Rect (LTRB fork retired); slot_map split from bank_book; BankIndex→BankModel; 59/59 green daniel 2026-07-28 20:48:56 -04:00
  • 67a41728f3 Q-W1 pt1: extract core/json (json::Reader/Writer), collapse wire Cursor family into core/wire, shared readFileBytes — five JSON decoders and three cursor copies deleted, byte-identical formats, 59/59 green daniel 2026-07-28 19:59:02 -04:00
  • 88e7765ee5 docs(TODO-1.0): filter envelope follows the mode-driven shape; no open questions await a Daniel decision daniel 2026-07-28 20:09:13 -04:00
  • 32785606d4 docs(TODO-1.0): item 14 — Trigger-mode amp fades replaced by AHD with curves; amp envelope shape follows playback mode daniel 2026-07-28 20:04:59 -04:00
  • b2013f2056 docs(TODO-1.0): close item 8 — Hold is a share of the post-A+D remainder, so the length bound holds by construction; 1:1 overlay scoped to sustain-less envelopes daniel 2026-07-28 20:00:26 -04:00
  • 587032ffa4 docs(TODO-1.0): fold second-batch answers — pitch AD becomes AHD, VELOCITY deck supersedes MASTER placement, full-height overlays with linked stereo daniel 2026-07-28 19:49:05 -04:00
  • 113d268553 docs(TODO-1.0): append second batch (items 4-13) — three bugs, loop-point regression plus Gate loop-sustain spec, and seven UI enhancements daniel 2026-07-28 19:31:58 -04:00
  • 546927ee43 Merge pq-w0-fixes: six Q-W0 audit fix-nows + review riders — linked-lag stereo SOLA w/ follower self-heal, prime playable-span bound, provenance cursor hardening, rate-derived gain ramp + fade ceiling; 56/56 green daniel 2026-07-28 19:29:15 -04:00
  • 16b2a1b8ca Q-W0 code-review remediation: pitch_shift follower self-heal, T3-03 rate bail, doc/comment riders daniel 2026-07-28 19:27:12 -04:00
  • 15d293b42f fix(q-w0): six audit fix-nows — linked-lag stereo SOLA, playable-span prime bound, declick dead-state, provenance cursor hardening, rate-derived gain ramp + fade ceiling daniel 2026-07-28 18:44:52 -04:00
  • 35f02cece2 docs(TODO-1.0): fold third answer round — spline point ceiling 128, right-click delete; doc fully settled daniel 2026-07-28 19:04:36 -04:00
  • 678274c19b docs(TODO-1.0): fold second answer round — items 1-2 fully settled, item 3 down to point bounds and popup gesture convergence daniel 2026-07-28 18:59:46 -04:00
  • 78a214b247 docs(phase-q): fold Q-W0 sign-off into PLAN/CONTEXT — all 59 dispositions settled; Q-W2v wave, T4-18 VST placement, ~600 ceiling + structural heuristics, W3 riders (wav_codec, ICaptureBackend, Q-9) daniel 2026-07-28 18:44:48 -04:00
  • a4571cc074 docs(TODO-1.0): fold in Daniel's answers — radio none-state, knot curve-drag, Filter ranges/label, dual-state Spline EGs daniel 2026-07-28 18:44:41 -04:00
  • b06b226182 docs: queue TODO-1.0 — post-1.0 specs for envelope curve dials/overlay radio, MM preamp filter stage, and hard-point Spline EGs daniel 2026-07-28 17:58:19 -04:00