docs: give Phase E's DAW obligations a home in VERIFICATION.md
This commit is contained in:
+39
-1
@@ -1,6 +1,6 @@
|
||||
# DAW verification — post-1.0 work on `dev`
|
||||
|
||||
Checks for Θ, Ξ, and Ψ work that no unit test can close. Build **Release**, install into
|
||||
Checks for Θ, Ξ, Ψ, and Ε work that no unit test can close. Build **Release**, install into
|
||||
`UserPlugins/`, restart REAPER. Panel tail toggle = **None**, project rate 48000, unless a check says otherwise.
|
||||
|
||||
## Precision invariants
|
||||
@@ -59,6 +59,44 @@ Checks for Θ, Ξ, and Ψ work that no unit test can close. Build **Release**, i
|
||||
- [ ] Drag-out to an external app twenty-plus times in a row — audio arrives every time; this is a soak, a single pass is not a gate (`docs/COMPLETED.md:109`)
|
||||
- [ ] Drop a capture onto an FX container — the instrument loads with that capture (`docs/COMPLETED.md:110`)
|
||||
|
||||
## Bank packages
|
||||
|
||||
- [ ] **Run in full.** `docs/verify-package-transfer.md` — the whole cross-machine
|
||||
export/import round trip: writes-one-file, the transfer itself, re-importing the
|
||||
same file never overwrites, the round trip back to the source, the too-new /
|
||||
truncated / mid-payload-corruption refusals (each an exact string), the
|
||||
unsaved-project refusals, and drag-and-drop (`docs/COMPLETED.md:1068`, `PLAN.md:2578`)
|
||||
- [ ] Force a degraded tracking ledger and confirm the import refuses **before the
|
||||
file picker opens**: save a project with a bank, close REAPER, edit the saved
|
||||
`.rpp`'s `owned_files` ext-state value inside its `<REASAMPLER ...>` block — corrupt
|
||||
the JSON for the `Unreadable` case, or bump `"v":2` to `"v":3` for the
|
||||
`FutureVersion` case — reopen the project, then run *ReaSampler: import bank
|
||||
package (.rsbank)*. Read off: the console prints the ledger-refusal block and no
|
||||
file dialog ever appears (`src/core/tracking/origin_ledger.h:95,101`,
|
||||
`src/shell/actions/package_import_action.cpp:161-167`)
|
||||
- [ ] Export dialog: type a destination name with no extension, then again over a
|
||||
name that already carries a different one (e.g. `mybank.bak`) — read off whether
|
||||
`GetUserFileName` appended `.rsbank` itself or ReaSampler's own re-append produced
|
||||
the double-extension result (`mybank.bak.rsbank`) the code expects
|
||||
(`src/shell/package/CLAUDE.md:112-122`)
|
||||
- [ ] Both the export and the import file dialogs open in front of REAPER's main
|
||||
window, not behind it — `GetUserFileName` takes no owner window
|
||||
(`src/shell/package/CLAUDE.md:110-112`)
|
||||
- [ ] With a ReaSampler 9000 instance's editor open on the destination project
|
||||
(Browse view visible), import a `.rsbank` from the docked panel — the browser
|
||||
reflects the new bank without closing or reopening the editor (the bank-generation
|
||||
bump, `src/shell/persist/session.h:114-121`, polled by the instrument at
|
||||
`src/shell/instrument/processor_reload.cpp:444-475`)
|
||||
- [ ] Drag two or more `.rsbank` files onto the docked panel in one drop — each lands
|
||||
as its OWN new bank, never merged into one, and if the tracking ledger is degraded
|
||||
the refusal prints ONCE for the whole drop rather than once per file
|
||||
(`src/shell/panel/panel_window.cpp:63-94`)
|
||||
- [ ] Kill REAPER (or the process) partway through an import so a partial bank file
|
||||
is stranded under its real name in the bank folder, then re-run the same import
|
||||
into the same project — read off what happens. Whether the import verb should
|
||||
pre-clean that stale debris is an open question, not yet decided
|
||||
(`src/shell/package/CLAUDE.md:102-108`)
|
||||
|
||||
## The resample bake
|
||||
|
||||
- [ ] Bake a dialed sound — the banked file sounds like what the editor was playing (`docs/COMPLETED.md:737`)
|
||||
|
||||
Reference in New Issue
Block a user