Distinguish active outside-canvas drag feedback from cancellation

This commit is contained in:
2026-09-12 04:59:09 -07:00
parent 60ea483430
commit 0d6f677329
3 changed files with 9 additions and 1 deletions
+5 -1
View File
@@ -564,7 +564,11 @@ impl App {
let mut targets = Vec::new();
let mut preview = None;
let result: Result<String, String> = match hit {
Hit::OutsideViewport => Err("Work drag canceled outside the canvas.".into()),
Hit::OutsideViewport => Err(if release {
"Work drag canceled outside the canvas."
} else {
"Pointer outside canvas · return to choose a destination; releasing here cancels the drag."
}.into()),
_ if !moved => Ok("Work selected".into()),
Hit::Occluded => Err("Aim at exposed performer space or empty canvas; this card, port, connection or control blocks the drop.".into()),
Hit::Ambiguous(indices) => {
@@ -624,6 +624,7 @@ async fn actual_toolbar_hover_inspects_last_full_name_without_authorizing_an_out
);
assert!(f.app.allocation_drag.preview.is_none());
assert!(f.app.allocation_drag.active.is_some());
assert!(f.app.status.starts_with("Pointer outside canvas"));
let inspected = mounted.pixels_at(&f.app, mouse::Cursor::Available(hover));
// Iced's Tooltip overlay draws its child but exposes no Operation
// traversal. Compare the real rendered overlay instead of inventing
@@ -680,6 +681,7 @@ async fn actual_toolbar_hover_inspects_last_full_name_without_authorizing_an_out
.await;
assert!(f.app.allocation_drag.active.is_none());
assert!(f.app.allocation_drag.feedback.is_none());
assert_eq!(f.app.status, "Work drag canceled outside the canvas.");
assert_eq!(f.app.document.bundle(), &before);
assert!(!f.app.document.can_undo());
// A fresh gesture cannot inherit the previous inspection name.
@@ -1,5 +1,7 @@
# User-requested save and stop — 2026-09-12
Historical checkpoint only: the user subsequently clarified that work must continue. The pause interpretation and resume restriction below are superseded by that explicit current instruction; Gitea issues #3 and #15 record resumed ownership. Verification receipts and saved commit identities remain valid.
Codex-956atf stopped at the user's usage-limit request. Resume only on user instruction. All three delegated agents completed; no cargo, rustc or arcadia-studio process remained at the stop check. Linux/WSL and native Computer input remain paused. The earlier same-day handoff is historical and superseded by this checkpoint; live coordination remains Gitea issues #3 and #15.
## Saved allocation work