From 219c8d4ae3bd37d8b0819fb31e4b472bf72a4e67 Mon Sep 17 00:00:00 2001 From: Brandon Thomas Date: Wed, 7 Oct 2026 16:54:51 -0400 Subject: [PATCH] Direct Selection: keep the spine, mesh and frame overlays while a handle is dragged (#332 follow-up) Co-Authored-By: Claude Opus 5.5 (cherry picked from commit 65a5c24081c733e70ad453318cedadf01ed6451a) --- crates/tools/src/direct.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/crates/tools/src/direct.rs b/crates/tools/src/direct.rs index ce10957c..9a02d3b7 100644 --- a/crates/tools/src/direct.rs +++ b/crates/tools/src/direct.rs @@ -404,13 +404,15 @@ impl Tool for DirectSelectionTool { match &self.state { State::Marquee { start, cur, .. } => vec![Overlay::Marquee(Rect::from_points(*start, *cur))], State::Corner(c) => c.overlays(cx), - State::Handle { .. } => self.guides.clone(), _ => { let mut out = self.spine_overlays(cx); out.extend(self.mesh.overlays(cx)); if !self.group { out.extend(frame_overlays(cx)); } + if matches!(self.state, State::Handle { .. }) { + out.extend(self.guides.iter().cloned()); + } out } }