diff --git a/editor/src/messages/tool/tool_messages/path_tool.rs b/editor/src/messages/tool/tool_messages/path_tool.rs index dd0d2865d1..fbb17abe6c 100644 --- a/editor/src/messages/tool/tool_messages/path_tool.rs +++ b/editor/src/messages/tool/tool_messages/path_tool.rs @@ -2116,6 +2116,7 @@ impl Fsm for PathToolFsmState { if let Some(segment) = &mut tool_data.segment && let Some(molding_segment_handles) = tool_data.molding_info { + segment.update_closest_point(document.metadata(), &document.network_interface, input.mouse.position); tool_data.temporary_adjacent_handles_while_molding = segment.mold_handle_positions( document, responses, @@ -2125,6 +2126,32 @@ impl Fsm for PathToolFsmState { tool_data.temporary_adjacent_handles_while_molding, ); + let messages = [ + PathToolMessage::PointerOutsideViewport { + toggle_colinear, + equidistant, + move_anchor_with_handles, + snap_angle, + lock_angle, + delete_segment, + break_colinear_molding, + segment_editing_modifier, + } + .into(), + PathToolMessage::PointerMove { + toggle_colinear, + equidistant, + move_anchor_with_handles, + snap_angle, + lock_angle, + delete_segment, + break_colinear_molding, + segment_editing_modifier, + } + .into(), + ]; + tool_data.auto_panning.setup_by_mouse_position(input, viewport, &messages, responses); + return PathToolFsmState::Dragging(tool_data.dragging_state); }