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
+5 -6
View File
@@ -797,12 +797,11 @@ model capability.
## Guardrails
- **Confirm on last-reference remove; don't confirm otherwise.** A remove that
drops the *last* index reference to a file orphans it (until prune) — confirm
that case, naming the consequence ("…its file remains on disk until pruned"). A
remove of a sample still referenced by another bank is cheap and re-derivable
(re-copy it back) and needs no confirmation. The confirmation is *earned by
actual orphan risk*, not fired on every remove.
- **Removes are silent — no confirm dialog.** Recoverability is provided by the
batched REAPER undo (R-B): one Ctrl-Z restores the index entry, whether or not
the sample was a last reference. Files are never deleted by remove
(orphaned-until-prune is unchanged). `hashReferencedElsewhere` is a tested
model API retained for Phase R prune; it has no shell caller in the remove path.
- **Undo (fork R-B, SETTLED 2026-07-24 — batched REAPER undo points, Phase-B-wide).**
Bank/index mutations integrate into REAPER's undo system as **batched undo points**
(`Undo_BeginBlock` / `Undo_EndBlock`): the related index mutations of one bank