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.
This commit is contained in:
+24
-1
@@ -1196,7 +1196,30 @@ invariants.
|
||||
mute-after-capture workflow; a mute action would be redundant with the dual-canvas
|
||||
architecture. Mirror of the null-test cut precedent ("Cut (fixed by Daniel)").
|
||||
|
||||
**Remaining in M11:** Native OS drag-out (not built in wave 1 — still in PLAN.md).
|
||||
## Milestone 11 — polish (wave 2 / completion)
|
||||
**Goal:** Native OS drag-out — the final M11 polish item. CONTEXT.md Build order 11,
|
||||
§Non-goals (drag-out deferred to last).
|
||||
**Verify (gates 24/24 both configs):** Drag-out places a valid file in the OS target
|
||||
without regressing the precision invariants; copy-only semantics throughout (no source
|
||||
deletion on drop); internal move/copy drag unchanged.
|
||||
|
||||
- [x] **`drag_out` pure module** (gesture-boundary decision): internal drag becomes
|
||||
OS-bound when the pointer leaves the panel client rect; path-list assembly with
|
||||
dedupe and missing-file skip. No REAPER types at the boundary. New CTest target
|
||||
`drag_out_tests`.
|
||||
- [x] **`drag_out_win` shell** (Windows): OLE `DoDragDrop` / `CF_HDROP`. Copy-only
|
||||
structurally — `DROPEFFECT_MOVE` is not offered and no source-deletion path exists;
|
||||
prune remains the sole file-deleter. macOS/Linux via `SWELL_InitiateDragDropOfFileList`
|
||||
with a documented copy-semantics caveat (SWELL does not expose a drop-effect query).
|
||||
- [x] `bank_panel` additive hook only — internal move/copy drag unchanged.
|
||||
|
||||
**Notes/decisions:**
|
||||
- Copy-only is structural, not a policy flag: `DROPEFFECT_MOVE` is never offered on
|
||||
Windows, so the OS never signals a move. The SWELL path cannot query drop-effect;
|
||||
copy semantics are documented as a known caveat for macOS/Linux.
|
||||
- Prune remains the sole authority for deleting files off disk; drag-out does not
|
||||
remove the source file or any bank index entry.
|
||||
- This wave completes **Milestone 11** in full.
|
||||
|
||||
## Phase R forks — settled 2026-07-24
|
||||
- **Fork R-C — deletion mechanism.** Settled: **trash-preferred, unlink fallback.**
|
||||
|
||||
Reference in New Issue
Block a user