docs(product): reframe S10 capture-first (browser + single-capture setup); reverse S4 auto-select; settle S-NAME-1 filename rename
This commit is contained in:
@@ -7,10 +7,15 @@ the **product framing behind a scoped phase**. Its build roadmap lives in **PLAN
|
||||
*why* (the plugin-format reasoning, the bare-VST3-vs-JUCE assessment, the settled
|
||||
decision record).
|
||||
|
||||
Status: framed by product-designer (2026-07-26), **revised 2026-07-26 (r5)**. r5 records
|
||||
the post-DAW-test directives on the S1–S6 instrument: the product name **ReaSampler 9000**
|
||||
and the **"better than RS5K" UX overhaul** (Phase S points S10–S13) — see the Addendum in
|
||||
§4. r4 (below) settled the four residual forks D-A..D-D. The
|
||||
Status: framed by product-designer (2026-07-26), **revised 2026-07-26 (r6)**. r6 records the
|
||||
**workflow-first reframe of S10** (Daniel, 2026-07-26): the editor's default face becomes a
|
||||
**capture browser + guided single-capture setup**, a fresh instance is **silent with a "pick
|
||||
a capture" empty state** (reversing the S4 first-sample auto-play), and multi-zone editing is
|
||||
demoted to an opt-in Zones panel — see the r6 Addendum in §4. r6 also settles **S-NAME-1**
|
||||
(rename the binary filename too, UID locked). r5 records the post-DAW-test directives on the
|
||||
S1–S6 instrument: the product name **ReaSampler 9000** and the **"better than RS5K" UX
|
||||
overhaul** (Phase S points S10–S13) — see the r5 Addendum in §4. r4 (below) settled the four
|
||||
residual forks D-A..D-D. The
|
||||
"no PLAN.md footprint" era is **over** — with D-A through D-D settled (below), the
|
||||
instrument was scoped into **Phase S** (codename Daniel's: "S" for Sampler, because "D"
|
||||
collides with the existing Design View phase). **PLAN.md §Phase S is now the
|
||||
@@ -676,8 +681,9 @@ Instrument"), the S6 embed-strip label, and the docs. **Compat guard (load-beari
|
||||
orphans every existing instance. The name change is **display-string-only** on the code
|
||||
side. *Fork S-NAME-1 (Daniel's call):* the on-disk **binary filename** — renaming it
|
||||
(`reasampler_9000.vst3`) carries compat weight (REAPER keys a saved project's plugin
|
||||
reference partly by filename), so the lean is **keep the filename, change only display
|
||||
strings**; flagged, not decided.
|
||||
reference partly by filename), so the r5 lean was **keep the filename, change only display
|
||||
strings**; flagged, not decided. *(Now SETTLED in r6, below: rename the filename too, UID
|
||||
locked, compat is a DAW-verify — the r5 lean is superseded.)*
|
||||
|
||||
**The UX bar is "better than ReaSamplOMatic5000."** Verdict verbatim: "okay it works, but
|
||||
the UX is awful." The S1–S6 editor was spike-grade — a clickable list, zone rows with
|
||||
@@ -711,6 +717,59 @@ is no hard ordering, but the live wound is the editor. Honest counter: if the st
|
||||
*sound* is what blocks real use, S7-first is defensible — but "it works, the UX is awful"
|
||||
names the editor as the wound.
|
||||
|
||||
### Addendum — S10 workflow-first reframe + S-NAME-1 settled (Daniel, 2026-07-26, r6)
|
||||
|
||||
After the r5 UX-overhaul directive was specced (keymap-first S10), Daniel reframed the
|
||||
workflow before S10 was implemented. This **revises S10** and settles S-NAME-1. Settled
|
||||
directions, not open forks — recorded here per the doc's settled-decisions convention; PLAN.md
|
||||
§S10 and CONTEXT.md §Phase S (workflow hierarchy) carry the spec.
|
||||
|
||||
**The reframe, verbatim (Daniel, 2026-07-26):** *"We need to think hard about the workflow
|
||||
with this plugin. Have a giant list of 'item' blocks is visually useless. When the plugin is
|
||||
loaded, we should not have any samples selected. We also need to show the peaks for each
|
||||
capture. Filters for a specific bank would be useful. We need to be graphic and descriptive
|
||||
with the controls, and guide the user QUICKLY towards setting up a sampler. Most of the time
|
||||
the zones won't be used, but it's a nice-to-have. So we should optimize the UX for working
|
||||
with individual captures, not a huge list of everything."*
|
||||
|
||||
**What changed in S10 (the hierarchy is Daniel's; details are product judgment):**
|
||||
|
||||
1. **Primary flow = one capture, fast.** The metric is **time-to-first-note**: open → pick a
|
||||
capture → see it → play it. The default face serves the single capture, not a keymap.
|
||||
2. **Fresh instance is SILENT — nothing auto-selected (policy reversal of S4).** The S4
|
||||
"first sample plays" convenience is **removed**: open with no stored selection → the
|
||||
instrument plays nothing and shows a **"pick a capture" empty state**, not auto-play of
|
||||
sample #1. Concretely retires the `selectSample` first-sample fallback (`sample_map.cpp`)
|
||||
and the processor's Tier-0 fallback that resolved it (an empty stored id → silence). This
|
||||
is a deliberate reversal of the S4 default, recorded as such — not a regression.
|
||||
3. **Capture browser, not an item list.** Scannable cards with **peak thumbnails** (the
|
||||
`Sample` peaks bank_model already carries — the same data the dock panel thumbnails draw),
|
||||
name, root/key badge, and a **bank filter** (bank_book named banks). "A giant list of item
|
||||
blocks" is the named anti-pattern; the browser is designed for scanning by eye. `SampleChoice`
|
||||
grows to carry the peaks + badge + bank (today it is only `{id, displayName}`).
|
||||
4. **Graphic, descriptive controls with a guided fast path.** Once a capture is picked, a
|
||||
prominent single-capture setup surface (root note, play-mode basics, level); the keyboard
|
||||
strip serves the single-capture case first (shows the capture's root).
|
||||
5. **Zones demoted to an opt-in "Zones" panel (S10-Z), not the default face.** "Most of the
|
||||
time the zones won't be used." The keyboard-strip drag machinery is still built (it serves
|
||||
both the single-capture root-set and the opt-in zoning), but multi-zone editing is behind a
|
||||
toggle. Some S12 list ergonomics **pulled into S10**: the browser card layout, peak
|
||||
thumbnails, and bank filter are S10's; S12 keeps **scroll** + **type-to-filter search**
|
||||
layered over the S10 browser. S11's waveform is the same surface S10 shows for the picked
|
||||
capture ("see it"). No renumber — S11/S12/S13 keep their numbers and their boundaries were
|
||||
annotated, not moved wholesale.
|
||||
|
||||
**S-NAME-1 → SETTLED: rename the binary filename too.** The r5 lean (keep the filename,
|
||||
display-strings-only) is superseded. The on-disk module is renamed to match the product (e.g.
|
||||
`reasampler_9000.vst3`) — full surface: **CMake `OUTPUT_NAME`**, factory vendor/name strings,
|
||||
editor title, embed label. The **VST3 class UID stays locked** as the compat anchor.
|
||||
**Compat is a DAW-verify, not an asserted fact:** the working assumption is REAPER rebinds a
|
||||
saved instance by class UID (not filename), so a rename with an unchanged UID keeps saved
|
||||
projects working — but a web check surfaced a JUCE/VST3-replace-VST2 case suggesting REAPER's
|
||||
binding can be more nuanced than "UID only" (an FXID match is involved), so UID-only rebinding
|
||||
is **not** safe to assert from source. Verify by save-rename-reopen in the DAW; if REAPER keys
|
||||
partly on filename, fall back to keeping the filename and record that as shipped.
|
||||
|
||||
---
|
||||
|
||||
## Where this landed
|
||||
@@ -738,11 +797,14 @@ Two further directions set post-scoping (2026-07-26; see the Addendum in §4):
|
||||
|
||||
Post-DAW-test directives (2026-07-26; see the "product name + UX overhaul" Addendum in §4):
|
||||
|
||||
7. **Product name → `ReaSampler 9000`** (display-string-only; VST3 class UID unchanged;
|
||||
binary filename = fork S-NAME-1, Daniel's call).
|
||||
8. **UX overhaul → "better than RS5K"** (**S10–S13**): direct-manipulation keyboard-strip
|
||||
keymap editor (S10), waveform + draggable loop points (S11), scale/ergonomics — scroll,
|
||||
search, direct numeric entry, ADSR (S12), and drop-to-load folding in the S8 relay (S13).
|
||||
7. **Product name → `ReaSampler 9000`** (VST3 class UID unchanged; **binary filename renamed
|
||||
too — S-NAME-1 SETTLED r6**, compat is a DAW-verify).
|
||||
8. **UX overhaul → workflow-first, "better than RS5K"** (**S10–S13**; S10 **reframed r6**):
|
||||
S10 = **capture browser (peak thumbnails + bank filter) + guided single-capture setup**,
|
||||
**silent-on-open / no auto-select** (reverses S4), multi-zone editing demoted to an opt-in
|
||||
Zones panel (S10-Z); S11 waveform + draggable loop points; S12 scroll/search over the S10
|
||||
browser + numeric entry + ADSR; S13 drop-to-load folding in the S8 relay. Metric:
|
||||
time-to-first-note.
|
||||
9. **Visual design language → modern/sleek, system-wide — moved to its own Phase L
|
||||
(2026-07-26).** The look-and-feel work (a shared LICE drawing kit + the surfaces that
|
||||
adopt it) was originally drafted here as Phase S points S0-DS + S14; it has been **lifted
|
||||
|
||||
Reference in New Issue
Block a user