Commit Graph

72 Commits

Author SHA1 Message Date
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 4a3551b3b9 S7: stereo channel mode — core channel dimension, v4 mode state, VST3 bus negotiation, editor toggle
Per-instance mono|stereo (default mono, byte-identical). Stereo grows SampleData a 2nd
channel + a per-channel VoiceEngine render; decodeChannels applies the cross-mode policy;
setBusArrangements pins the mode's arrangement and restartComponent(kIoChanged) re-negotiates.
2026-07-27 04:09:50 -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 e9498c4290 docs(plan): tick S6 checkboxes; mark IReaperUIEmbedInterface must-verify as verified-by-S6 2026-07-27 04:09:49 -04:00
daniel fdcb2db04c docs(plan): tick S5 checkboxes; reconcile performance-map persistence wording to component state 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 6ae843345c Merge ps-w3-tier0: S4 Tier 0 — the bank plays (MIDI to core, live-state seam, LICE sample-pick) 2026-07-27 04:07:09 -04:00
daniel bb066fe1ab docs(plan): tick S3 checkboxes; resolve VST-host bridge must-verify entry 2026-07-27 04:07:09 -04:00
daniel 0cde457224 S4 Tier 0: the bank plays — VST3 marshals MIDI to the S3 core, reads the live bank + resolves WAV the M4 way, mono downmix, lock-free load handoff, LICE sample-pick 2026-07-27 04:07:09 -04:00
daniel 8dd74c6b3a docs(plan): tick S1/S2 checkboxes; correct bridge-read text to VST3 mechanism 2026-07-27 04:07:08 -04:00
daniel 5595ba42f9 docs: record settled L3 decision — beta title band stays textual, no channel accent
Daniel (2026-07-27): the S18 beta channel title band gets no distinct
visual accent; L3 restyles it in the standard B pastel palette and the
beta-vs-stable distinction stays purely textual. Closes the one open fork
from the L3 readiness review.
2026-07-27 03:51:47 -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 a434ef47f8 docs(plan): ground L3 readiness against landed Phase S surfaces
Both VST draw shells still draw flat off a local pre-L1 palette — L3
restyle confirmed live, not a born-in-kit no-op. Name the concrete gate
files, add the palette-reconcile point, enumerate the landed editor set.
2026-07-27 03:42:24 -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 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 d33e25751c docs: archive Phase L L2 to COMPLETED; reconcile CLAUDE.md + PLAN.md 2026-07-26 21:10:20 -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 2755c143d7 docs: archive Phase L L1 to COMPLETED; reconcile CLAUDE.md + PLAN.md 2026-07-26 20:31:19 -04:00
daniel 261dab880c docs: defer M9 slots indefinitely (Daniel, 2026-07-26)
Explicit deferral note on the PLAN M9 section; CLAUDE.md repo-state
phrase aligned. An extra for when wanted, not scheduled work.
2026-07-26 20:19:29 -04:00
daniel ec05af35ef docs: archive M11 completion (drag-out) to COMPLETED; reconcile CLAUDE.md
Native OS drag-out landed (copy-only, prune stays sole deleter).
Milestone 11 complete; M9 slots is the last M-numbered milestone.
2026-07-26 20:11:51 -04:00
daniel 73f81ffbb7 docs: archive M11 wave 1 to COMPLETED; reconcile CLAUDE.md
Batch capture + panel action buttons/labels landed; conform-on-insert
verified already shipped; resample-and-mute-source cut by Daniel
(Design View park/hide supersedes it). Drag-out remains in PLAN.
2026-07-26 19:41:23 -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 6a6d305cf2 docs: archive Phase V (V1-V4) to COMPLETED; reconcile CLAUDE.md
Phase V landed: app_version module, ext-state version stamp, show-version
action, beta-in-isolation channel build. CLAUDE.md gains the module entry,
version key, test target, and beta-build note.
2026-07-26 16:56:04 -04:00
daniel c66f44ba1f docs: archive Phase B (B1-B5, B-cap, R-B) to COMPLETED; reconcile CLAUDE.md 2026-07-26 15:51:13 -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 1bba95a0e8 docs(plan): settle Phase V forks V1-V4
V1 semver via project(VERSION), ext-state version stamp first-wave.
V2 plain -beta suffix. V3 console line + panel readout. V4 reverses
prior rec: beta ships as a separate coexisting binary with isolated
ext-state namespace + command-id prefix.
2026-07-26 07:01:56 -04:00
daniel cce9016279 docs: frame versioning scheme + beta side-channel (Phase V)
Add docs/product/versioning-and-release.md and a PLAN.md Phase V pointer
laying out release versioning and the beta side-channel as decidable
options (V1-V4, unsettled - awaiting Daniel).
2026-07-26 05:48:45 -04:00
daniel a786915451 docs: record D2-W3-B landing; mark Phase D2 complete; preserve deferred panel indicator
Move D2-W3-B (item-level mode actions + W3-A polish) from PLAN.md to COMPLETED.md.
Phase D2 two-canvas sub-phase functionally complete; panel UI indicator explicitly
deferred, not dropped.
2026-07-25 14:12:12 -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 b9046b2842 Add M11 polish points: keybinding help labels + action trigger buttons
Bank_panel labels surface each capture action's current key binding
(kbd_getTextFromCmd, unbound-safe); clickable buttons fire the actions
through the existing command-id contract. Pure/shell split noted per point.
2026-07-23 20:18:01 -04:00
daniel 92827c59be Lock M10 provenance spec to Daniel's fork picks (P1=a, P2=a)
Settle the reshaped Milestone 10: thin capture-recipe fingerprint and
bank-only re-capture; P3/P4 closed as moot. Remove the pending-picks
banner in PLAN.md and stamp the provenance product note as settled.
2026-07-23 20:10:54 -04:00
daniel 1743df135b Reshape M10 to provenance-only, reconciled with dual-canvas
Cut the null-test verify action and pre-FX-dry mechanism (Daniel's
call); keep provenance + re-capture-from-source. Sample.provenance
already exists/round-trips (M1), so M10 populates and consumes it. Add
docs/product/provenance.md with dual-canvas forks P1-P4 and the leaned
bank-only path; rewrite PLAN.md M10 as a proposal pending fork picks.
2026-07-23 20:04:54 -04:00
daniel 938c85a223 docs: add wav_trim to CLAUDE.md targets/architecture; fix stale M8 note in PLAN
Reflect the T2 wav_trim pure module and its test target. Correct the M10
null-test note: M8 realtime landed as a post-fader track tap, not pre-FX.
2026-07-23 18:33:12 -04:00
daniel 4241ef4408 docs: reflect D2-W2 landing in PLAN.md / COMPLETED.md
Remove D2-W2 from PLAN.md; append completed entry to COMPLETED.md.
Track-level auto-tag/park live; item-lane DAW verify deferred to
post-D2-W3 (lane minting). D2-W3 left open.
2026-07-23 18:30:43 -04:00