From a570f4ac16ef280f4177f165b5e277836c902faf Mon Sep 17 00:00:00 2001 From: Matus Mastena Date: Sat, 12 Sep 2026 16:20:17 +0200 Subject: [PATCH] Turn object snap on by default The running snap set was already seeded with endpoint, midpoint, centre, node, quadrant, intersection and nearest, but the master suppress bit was set, so none of them did anything until the user found the status-bar pill. Snapping is what makes a drawing close rather than nearly close; it should be live from the first click. Only fresh configs change. A stored settings.json keeps whatever osmode it already holds, and a legacy file carrying its own $OSMODE still overrides on open. --- src/app/settings.rs | 6 ++++-- src/snap.rs | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/app/settings.rs b/src/app/settings.rs index 30c262533..fb9b3ed61 100644 --- a/src/app/settings.rs +++ b/src/app/settings.rs @@ -646,8 +646,10 @@ impl Default for UserSettings { literal_spaces: false, command_history_height: crate::ui::command_line::HISTORY_HEIGHT_DEFAULT, // Snapper::default(): END|MID|CEN|NODE|QUAD|INT|NEA (575), master - // off (suppress bit 16384). - osmode: 575 | OSMODE_SUPPRESS, + // on. Object snap is a drafting aid users expect to be live from + // the first click; the suppress bit (16384) is left for the user + // to set via the status-bar pill or OSNAP. + osmode: 575, texteditmode: false, quick_dimension_snap_priority: 0, dimension_continue_mode: 1, diff --git a/src/snap.rs b/src/snap.rs index 78e215382..28f8e0631 100644 --- a/src/snap.rs +++ b/src/snap.rs @@ -278,7 +278,7 @@ impl Default for Snapper { // would catch nearly every cursor position, masking the discrete // vertex/edge/face snaps. Opt in via the 3D Object Snap tab. Self { - snap_enabled: false, + snap_enabled: true, enabled, snap3d_enabled: true, enabled3d,