From f808e6d37ca80f6aadbbc8a1c21b15bad5a16aa4 Mon Sep 17 00:00:00 2001 From: Ayush Amawate <97389618+Ayush2k02@users.noreply.github.com> Date: Wed, 7 Jan 2026 00:34:38 +0530 Subject: [PATCH] Fix freehand tool showing all anchors in overlay (#3585) Use anchor_endpoints() instead of anchor_points() in path_endpoint_overlays() to only show overlays at true path endpoints, not intermediate points --- .../messages/portfolio/document/overlays/utility_functions.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/editor/src/messages/portfolio/document/overlays/utility_functions.rs b/editor/src/messages/portfolio/document/overlays/utility_functions.rs index e1def6c3..26f3a33a 100644 --- a/editor/src/messages/portfolio/document/overlays/utility_functions.rs +++ b/editor/src/messages/portfolio/document/overlays/utility_functions.rs @@ -210,7 +210,7 @@ pub fn path_endpoint_overlays(document: &DocumentMessageHandler, shape_editor: & let selected = shape_editor.selected_shape_state.get(&layer); let is_selected = |selected: Option<&SelectedLayerState>, point: ManipulatorPointId| selected.is_some_and(|selected| selected.is_point_selected(point)); - for point in vector.anchor_points() { + for point in vector.anchor_endpoints() { let Some(position) = vector.point_domain.position_from_id(point) else { continue }; let position = transform.transform_point2(position); overlay_context.manipulator_anchor(position, is_selected(selected, ManipulatorPointId::Anchor(point)), None);