Commit Graph

47 Commits

Author SHA1 Message Date
daniel c40458fc53 docs: reflect ME-import → new-instrument behavior
Update ingest surface (2) + instrument_drop_win entry points in CLAUDE.md;
update the Ingest-through-the-bank spec in CONTEXT.md to shipped behavior.
2026-07-27 13:42:14 -04:00
daniel 5a859cc9bf docs(phase-s): fold velocity->amp transfer-curve editor into S-VIEW (r10)
Per-PerformanceZone state home, new pure velocity_curve module, application at
Voice::start(), Sample-view editor UI. New PLAN points S-VIEW-9 (foundation,
blocked by Wave 1 T-KEYTRK) + S-VIEW-10 (Wave 2 shell). Fork R10-F1 (flat-y=1
default is a non-back-compat behavior change) left open for Daniel.
2026-07-27 13:35:01 -04:00
daniel 3b9b78b82c docs(phase-s): settle S-VIEW velocity persistence + draggable nodes, single-pass on L3
F1 -> preview velocity persists via VST3 component state (v5->v6). F2 -> envelope nodes draggable via new pure envelope_edit module. Drop the two-pass L3 restyle framing; build on the merged L3 LnF. F3 remains open.
2026-07-27 12:57:08 -04:00
daniel 13b23801a0 docs(phase-s): spec three-view editor redesign (S-VIEW) — Sample/Browse/Zone 2026-07-27 12:46:43 -04:00
daniel 6b643bb089 docs(context): record ratified item auto-tag adoption rule
New items adopt the single mode of their track's pre-existing content; active-mode rule retained for new tracks, empty tracks, and multi-mode tracks. Reconciles spec with the fix-drop-lane-strand merge.
2026-07-27 05:04:00 -04:00
daniel 0e9ef05c75 docs(product): spec S18 — VST3 channel isolation (beta ReaSampler 9000 pairs with beta extension only) 2026-07-27 04:16:49 -04:00
daniel 37cb290cbc docs(product): S17 load-capture seam — settle on (B) component-state injection
Fold the decision into the existing phase-s S17 spec: (B) via
TrackFX_SetNamedConfigParm vst_chunk; (A) ext-state handshake rejected.
Flag the shared component-state blob format as an extension<->instrument
coordination dependency.
2026-07-27 04:15:08 -04:00
daniel bf1bf5283c docs(product): reshape S16 to Varispeed/Preserve pitch-engine modes (duration-preserving correction)
Per-zone toggle: Varispeed (classic, cheap) vs Preserve (duration-holding,
WDL_SimplePitchShifter candidate — per-voice RT viability assessed: pre-warm
settles onset latency + queue growth; quality basic; hand-rolled pure module
held as upgrade). Pitch envelope rides either engine. Fork S16-F1: default
mode is Daniel's call.
2026-07-27 04:09:50 -04:00
daniel c64ab687bf docs(product): spec Phase S sampling modes (S15 Trigger/Gate) + pitch envelope (S16)
Gate: AHDSR + loops; Trigger: fade-in / %-length / fade-out, note-off-immune.
Start point joins the instrument-side overrides. Pitch env is a per-frame
ratio multiply on the existing core — no resampler rewrite. WDL swept:
sinc resampler held as optional upgrade; no elastique-class stretch in WDL.
2026-07-27 04:09:50 -04:00
daniel 991c190bb8 docs(product): reframe S10 capture-first (browser + single-capture setup); reverse S4 auto-select; settle S-NAME-1 filename rename 2026-07-27 04:09:50 -04:00
daniel 5de2183ce3 docs: detach design-system (S0-DS/S14) to Phase L; leave pointers
Remove S0-DS and S14 from Phase S PLAN/CONTEXT (moved to Phase L on dev),
restore S10's Depends-on without the kit gate; S10-S13 adopt the Phase L
kit when it lands rather than being gated on it.
2026-07-27 04:09:49 -04:00
daniel 3d6c0ab66a docs(product): system-wide visual design language (S0-DS kit + S14 panel refresh)
LICE verified sufficient from vendored WDL — current editor draws at its
floor (flat fills, raw GDI text); no framework shift needed, D-A holds.
Adds design-language doc (palette, three directions, motion policy),
S0-DS shared drawing kit before S10, S14 panel refresh.
2026-07-27 04:09:49 -04:00
daniel 8c9cf38780 docs(product): scope ReaSampler 9000 UX overhaul (S10-S13) + record instrument name
Post-DAW-test: name the instrument ReaSampler 9000; spec the better-than-RS5K
overhaul — S10 keyboard-strip keymap editor, S11 waveform + draggable loop
points, S12 scroll/search/direct-entry/ADSR, S13 drop-to-load via the S8 relay.
VST3 class UID locked unchangeable; S-NAME-1 (binary filename) is Daniel's call.
2026-07-27 04:09:49 -04:00
daniel ed2df9c1d5 docs: spec Phase S stereo (S7), bank-ingest (S8), change-detection (S9)
Settled 2026-07-26: per-instance mono|stereo mode with automatic bus
negotiation (S3-core extension); ingest routes through the bank, extension-
owned, instrument stays read-only; bank-generation counter for hands-free
recapture refresh. ME + drop-target SDK limits verified; spikes flagged.
2026-07-27 04:09:49 -04:00
daniel 8c65069fc3 docs(phase-q): reconcile gate to S+L3 and add naming-consistency dimension
Correct the Phase Q gate (L2 landed; outstanding is Phase S + Phase L L3;
D2 complete, M9 deferred). Add a grep-verified naming audit (code-organization
§2b) and forks Q-7/Q-8/Q-9; FOREVER-STABLE contract strings excluded.
2026-07-27 03:50:20 -04:00
daniel 9a1bcbcf7a docs: archive Phase L L7 to COMPLETED; reconcile CLAUDE.md + CONTEXT.md + PLAN.md 2026-07-27 03:00:42 -04:00
daniel 7dc77e51b5 docs(product): settle Phase L §L7 forks F1/F2/F3 (capture-time stamp, interchangeable substrate, drag rule + cursor cues + Alt-replace) 2026-07-27 01:19:36 -04:00
daniel e4bcc8f075 docs(product): spec Phase L L7 — capture ordering, card metadata, and selection styling
Persisted gap-preserving per-bank display order + drag-drop reorder (model change, JSON round-trip + migration), decorative bars.beats/s.ms overlay, tertiary-border selection restyle. Model work separated from draw work; forks flagged (meter source, M9 substrate overlap, drag disambiguation).
2026-07-27 01:11:05 -04:00
daniel f250dd0a62 docs: record L6 toolbar polish; reconcile CLAUDE.md + CONTEXT.md 2026-07-27 00:46:08 -04:00
daniel 7961458edd docs: archive Phase L L5 to COMPLETED; reconcile CLAUDE.md + CONTEXT.md + PLAN.md 2026-07-27 00:14:38 -04:00
daniel 0c7b871d8d docs(product): spec Phase L L5 — dock-panel button refinements
Top-toolbar overflow menu for rare capture variants; short button faces + full-name tooltips (drop ReaSampler: prefix); Item/Track x Arrange/Design tag buttons enabled only for the opposite of active mode; remove redundant Toggle; semantic-grouping spacing. Item-level tagging confirmed existing — layout wiring, not feature work. Ungated; sequences after L4; L3 gate intact.
2026-07-26 23:33:13 -04:00
daniel 52ac9b5eea Revert "docs(product): spec S7 drop-and-load — drag capture onto TCP FX button to instantiate ReaSampler 9000 preloaded"
This reverts commit b8e8d47af5.
2026-07-26 23:18:46 -04:00
daniel 0f2bad1617 docs: archive Phase L L4 to COMPLETED; reconcile CLAUDE.md + CONTEXT.md + PLAN.md 2026-07-26 23:18:31 -04:00
daniel b8e8d47af5 docs(product): spec S7 drop-and-load — drag capture onto TCP FX button to instantiate ReaSampler 9000 preloaded 2026-07-26 22:12:26 -04:00
daniel fca311b4bd docs(product): spec Phase L L4 — dock-panel button layout enhancement
Capture+placement move to a top toolbar; Design View tag/switch verbs to the bottom toolbar; footer gains a narrow Arrange|Design toggle + a Tail button (was a click-zone), with warn Prune set apart at the right. Ungated/extension-side; sequences after the palette revision. Layout only.
2026-07-26 21:59:28 -04:00
daniel 6fece8d571 docs(product): DS-2 revised — three-accent pastel palette + REAPER-grey neutrals
Replace the single electric-cyan accent with a pastel lime/teal/purple three-accent system; shift neutral surfaces + text from near-black to REAPER's mid-grey theme family. Font upgrade declined (no bundling). L3 conformed to the new look; gate intact.
2026-07-26 21:48:26 -04:00
daniel a20cb46d65 docs: spec Phase Q (Quality) — structural reorganization pillar
Product framing (docs/product/code-organization.md), PLAN.md $Phase Q
(Q-W1..Q-W6), CONTEXT.md $Phase Q. Gated on tree quiescence; zero-hot-path-cost
acceptance bar. Namespace Q settled; Q-2..Q-6 carry recommendations.
2026-07-26 20:56:31 -04:00
daniel 22f91ac1d1 docs(product): split look-and-feel into Phase L (L1 kit / L2 panel / L3 VST-restyle)
Port visual-design-language.md to dev with DS-1/2/3 settled (B + spectral
strip; LICE + WDL free game; thorough M11-aware panel layout). L1 shared
kit; L2 panel redesign after M11 merges; L3 VST restyle gated on Phase S
landing. Phase S adopts the kit when it lands — not gated.
2026-07-26 19:36:00 -04:00
daniel 813c9f5cc6 docs: archive Phase R (R1-R3) to COMPLETED; reconcile CLAUDE.md + CONTEXT.md 2026-07-26 19:27:03 -04:00
daniel a75174f3d5 docs: archive M10 provenance to COMPLETED; reconcile CLAUDE.md + CONTEXT.md
M10 landed. CLAUDE.md gains provenance/provenance_shell entries, test
target, and a current-state refresh; CONTEXT.md null-test line annotated
(verification action cut, manual only).
2026-07-26 18:16:36 -04:00
daniel ff4eb26eab ux: drop last-reference confirm from sample remove; silent remove via undo (R-B) 2026-07-26 17:27:05 -04:00
daniel 10ceb95ddd docs: scope MIDI-playback instrument as Phase S (native VST3, second artifact)
Settle forks D-A..D-D: bare Steinberg VST3 SDK + LICE editor; split seam
with root-note/loop-points on Sample now; Tier 0-1 committed; embedded
TCP/MCP UI scheduled. Phase S added to PLAN.md and CONTEXT.md spec.
2026-07-26 14:45:02 -04:00
daniel c33cb50632 Merge dev into phase-b-multibank (integrate parallel M7/8 + Phase D work before dev promotion)
# Conflicts:
#	CLAUDE.md
#	CMakeLists.txt
#	src/actions.cpp
#	src/bank_panel.cpp
#	src/persist.h
2026-07-25 23:30:44 -04:00
daniel ccf65415c9 fix(banks): enforce unique bank display names in-model + B3 review minors 2026-07-25 01:29:47 -04:00
daniel 878d807b12 docs: settle removal/prune forks R-A..R-E; add owned-file manifest seam
R-A this-bank; R-B batched REAPER undo points (Phase-B-wide, SDK must-verify);
R-C trash-preferred w/ unlink fallback; R-D owned-file manifest, landed early as
new B-cap capture point; R-E manual action + bank_panel button.
2026-07-24 04:59:28 -04:00
daniel b931dada0a Scope sample-remove (B5) and prune (Phase R) into the plan
Adds the two missing removal capabilities: sample-level remove (Phase B
point B5, index-only) and the prune file-lifecycle path (new Phase R, the
sole file-deleting op), resolving the dangling capture/prune reference.
Adds CONTEXT.md spec, PLAN.md points, and a product note; surfaces forks
R-A..R-E for decision.
2026-07-23 20:21:50 -04:00
daniel 68d3a3dba0 docs(context): reconcile capture spec to two-scope model
Update CONTEXT.md capture sections to two FX scopes (item/track,
chain-independent, no master, always wet): build-order step 7, offline/realtime
render API surface, the capture module sketch, and mark the realtime
wet-master-routing open question resolved (track-tap).
2026-07-23 16:51:33 -04:00
daniel 1688de553b docs: settle Design View two-canvas sub-phase (fixed-lane per-item modes)
Item-level mode separation via REAPER fixed lanes; new content auto-tags to
the active mode; inactive lanes hidden and silenced; a managed-vs-manual lane
index keeps toggles off user comp lanes; capture placement mode-aware.
Precision invariants unaffected; REAPER 7 floor.
2026-07-23 16:32:58 -04:00
daniel bcd7def7c8 docs(design-view): resolve snapshot-durability + reconcile open questions
Reconcile-on-delete shipped; narrow the remaining deferrals to the FX-GUID
keying hazard and dormant-membership compaction. Drop the resolved
snapshot-durability question.
2026-07-23 13:37:10 -04:00
daniel 2c468bb40c docs(multi-bank): settle fork 5 — LICE tabs + both move affordances (Phase B closed)
5a: named-banks tab strip is LICE-drawn (matching M5 grid + Design View
segmented switch), with overflow/scroll in scope from B4 start.
5b: move ships as both a bindable "move to bank" menu and drag-between-regions;
copy stays the deliberate secondary act. Drag mis-drop mitigated by drop-target
highlighting and recoverable by design (index-only, reversible).

Phase B now fully settled (all five forks resolved), ready to scope into
implementation waves; only the active-bank indicator placement polish remains.
2026-07-23 13:13:04 -04:00
daniel dcbe5d7bdc docs(multi-bank): settle Phase B forks 1-4; draft fork-5 options analysis
Fold Daniel's decisions into CONTEXT.md, PLAN.md, and the product notes:
- Fork 1 (persistence): pool folds into the `banks` blob; legacy
  `bank_index` key retired after a one-way lossless migration.
- Fork 2 (delete): delete drops member index entries; add an `evacuate`
  verb (B1 pure op + B3 action) returning members to the pool. Design the
  orphaned-until-prune window and confirm-on-non-empty-delete guardrail.
- Fork 3 (move): move is the default gesture, copy the deliberate secondary.
- Fork 4 (active bank): active-bank and shown-tab stay distinct; the
  active-bank indicator must be visually unmistakable.

Fork 5 (tab rendering + move affordance) remains open with an options
analysis and pending recommendations. Additive; M0-M11 and Phase D untouched.
2026-07-23 13:06:21 -04:00
daniel d9081090fd docs(multi-bank): frame Phase B — pool + named banks spec
Add the multi-bank pillar as Phase B (lettered, parallel to M-line and
Phase D): CONTEXT.md §Multi-bank spec, PLAN.md Phase B block (B1 bank_book
pure / B2 persist / B3 actions / B4 panel split), and docs/product/multi-bank.md
framing. Additive only — BankIndex, the M0–M11 roadmap, and Phase D untouched.
2026-07-23 12:52:06 -04:00
daniel 56f2e3e308 docs(design-view): parent visibility = descendant-derived OR own membership
Untagged folder carrying its own FX/media shows in Arrange (its default) as
well as any mode derived from its children. Parents still never parked.
2026-07-23 06:33:24 -04:00
daniel c7005807a6 docs(design-view): correct reversed untagged-track invariant to "every leaf is managed"
Untagged = Arrange member, fully parked in non-Arrange modes like a tagged
leaf; show-both opts out. Master/parents/mute-solo caveats preserved.
2026-07-23 05:13:54 -04:00
daniel 2d040d6896 Docs: reflect Phase D1 landing
Rename view_model -> view_mode_model across Design View spec docs;
archive D1 to COMPLETED.md; add view_mode_model_tests to CLAUDE.md
targets table and pure-core list.
2026-07-22 20:45:06 -04:00
daniel 06256f05e9 Add Design View phase spec (Phase D), parallel to capture roadmap
CONTEXT.md: additive Design View technical spec section.
PLAN.md: additive Phase D (D1-D5) milestone breakdown.
docs/product/design-view.md: product framing, N-mode reasoning,
screenset differentiation, design-direction calls.
2026-07-22 19:55:23 -04:00
daniel 6fcb811668 Track CONTEXT.md spec and ignore worktrees dir
Commit the authoritative build spec that the docs reference, and add
/.claude/worktrees/ to .gitignore ahead of milestone worktrees.
2026-07-21 21:34:27 -04:00