ux: drop last-reference confirm from sample remove; silent remove via undo (R-B)

This commit is contained in:
2026-07-26 17:27:05 -04:00
parent 6199a4868d
commit ff4eb26eab
5 changed files with 30 additions and 86 deletions
+4 -5
View File
@@ -947,9 +947,8 @@ timeline item).
stays a latent seam-only parameter, not shipped).
- [x] `bank_panel` remove affordance on the current selection (reuse M5 selection
model, as move/copy do).
- [x] Confirm-on-last-reference guardrail: remove that orphans a file (no other
bank references it) confirms, naming the orphaned-until-prune consequence;
remove of a still-referenced sample does not confirm.
- [x] Silent remove: no confirm dialog; recoverability via batched REAPER undo
(R-B) — one Ctrl-Z restores the index entry; files are never deleted by remove.
- [x] Tests: remove drops the target entry; same-hash entry in another bank
survives; remove-from-pool allowed; last-reference remove leaves an orphan (file
untouched); non-destructive (no file/timeline mutation).
@@ -958,8 +957,8 @@ timeline item).
- **R-A — remove scope.** Settled: **this-bank**. Removes the entry from the bank in
view only; the `scope: this-bank | all-banks` seam stays in the action signature
but all-banks is a latent parameter, not a surfaced verb.
- `hashReferencedElsewhere` cross-bank reference query added to `bank_book` to
support the confirm-on-last-reference guardrail without coupling to the panel.
- `hashReferencedElsewhere` cross-bank reference query in `bank_book` retained as
a tested model API for Phase R prune; the remove shells no longer call it.
- Both `bank_panel` context menu ("Remove selected sample(s)") and Delete key
affordance wired; panel gesture is also one batched undo point (R-B applies).