From 5b9290171532de79dc45ee2c107d48782ea66634 Mon Sep 17 00:00:00 2001 From: Austin Henlotter <167476182+AustinHen@users.noreply.github.com> Date: Sun, 15 Feb 2026 23:23:47 -0500 Subject: [PATCH] Fix Path tool not displaying its hints during G/R/S modes (#3222) * Path tool no longer overrides other hints * Related cleanup --------- Co-authored-by: Keavon Chambers --- editor/src/messages/tool/common_functionality/shape_editor.rs | 1 + editor/src/messages/tool/tool_messages/path_tool.rs | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/editor/src/messages/tool/common_functionality/shape_editor.rs b/editor/src/messages/tool/common_functionality/shape_editor.rs index f102bbb5..0183d65c 100644 --- a/editor/src/messages/tool/common_functionality/shape_editor.rs +++ b/editor/src/messages/tool/common_functionality/shape_editor.rs @@ -1879,6 +1879,7 @@ impl ShapeState { _ => self.sorted_selected_layers(network_interface.document_metadata()).find_map(closest_seg), } } + pub fn get_dragging_state(&self, network_interface: &NodeNetworkInterface) -> PointSelectState { for &layer in self.selected_shape_state.keys() { let Some(vector) = network_interface.compute_modified_vector(layer) else { continue }; diff --git a/editor/src/messages/tool/tool_messages/path_tool.rs b/editor/src/messages/tool/tool_messages/path_tool.rs index 542a6f0a..d07e1984 100644 --- a/editor/src/messages/tool/tool_messages/path_tool.rs +++ b/editor/src/messages/tool/tool_messages/path_tool.rs @@ -3182,10 +3182,9 @@ impl Fsm for PathToolFsmState { PathToolFsmState::Ready } (_, PathToolMessage::SelectedPointUpdated) => { - let colinear = shape_editor.selected_manipulator_angles(&document.network_interface); tool_data.dragging_state = DraggingState { point_select_state: shape_editor.get_dragging_state(&document.network_interface), - colinear, + colinear: shape_editor.selected_manipulator_angles(&document.network_interface), }; let old = tool_data.make_path_editable_is_allowed; @@ -3663,4 +3662,5 @@ fn update_dynamic_hints( PathToolFsmState::SlidingPoint => HintData(vec![HintGroup(vec![HintInfo::mouse(MouseMotion::Rmb, ""), HintInfo::keys([Key::Escape], "Cancel").prepend_slash()])]), }; hint_data.send_layout(responses); + responses.add(ToolMessage::UpdateHints); }