From b6c4e0a81d7fd1102bd6c71a430ad403958b710f Mon Sep 17 00:00:00 2001 From: gianlucafiore <50465150+gianlucafiore@users.noreply.github.com> Date: Wed, 14 Oct 2026 10:37:42 -0300 Subject: [PATCH] ui: reuse precise point crosshair for selection without enabling snaps --- src/app/view/mod.rs | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/app/view/mod.rs b/src/app/view/mod.rs index 7a7dc658c..5f3b940cc 100644 --- a/src/app/view/mod.rs +++ b/src/app/view/mod.rs @@ -916,10 +916,13 @@ bg={bg_ms:.1}ms n={view_count}" .hover_highlight .map(|h| tab.scene.is_layer_locked(h)) .unwrap_or(false); - let point_cursor = tab - .active_cmd - .as_ref() - .is_some_and(|cmd| !cmd.needs_entity_pick() && !cmd.is_selection_gathering()); + // Reuse the exact point-picking crosshair (cross + center dot) + // already used by LINE and RECTANG for ordinary selection and + // selection-gathering commands. This changes only cursor drawing, + // not object snapping or the selected world position. + let point_cursor = tab.active_cmd.as_ref().is_none_or(|cmd| { + !cmd.needs_entity_pick() || cmd.is_selection_gathering() + }); let constraint_cursor_badge = if is_paper { None } else { @@ -994,8 +997,7 @@ bg={bg_ms:.1}ms n={view_count}" // apart from both idle and point input (#1661). hide_arms: tab.active_cmd.as_ref().is_some_and(|c| { matches!(c.name(), "XLINE" | "RAY") - || c.needs_entity_pick() - || c.is_selection_gathering() + || (c.needs_entity_pick() && !c.is_selection_gathering()) }), snap_color: self.snap_marker_color, snap_size: self.model_space.snap_marker_size as f32,