feat(snap): add transparent object snap overrides in active commands

Allow users to temporarily override object snaps during active point prompts by typing at least the first 3 letters of any snap mode (e.g. MID, END, CEN, PER, NON). The override activates for the next point pick only and automatically restores running snaps once consumed or cancelled.
This commit is contained in:
yztink committed 2026-10-10 17:01:12 -07:00
1 parent 68646f5616
commit d5d6733d82
8 files changed
+287 -13

No files matched your search

+2 -13
View File
@@ -940,23 +940,12 @@ impl OpenCADStudio {
}
Message::SnapOverridePick(t) => {
self.snap_override_popup = None;
self.snapper.set_override(t);
let label = crate::snap::ALL_SNAP_MODES
.iter()
.find(|(m, _, _)| *m == t)
.map(|(_, _, l)| *l)
.unwrap_or("Snap");
self.command_line
.push_info(crate::tf!("Snap override: {label} (next pick only).").as_ref());
self.apply_snap_override(crate::snap::SnapOverrideKind::Mode(t));
Task::none()
}
Message::SnapOverrideNone => {
self.snap_override_popup = None;
self.snapper.set_override_none();
self.command_line
.push_info(crate::t!("Snap override: None (next pick only).").as_ref());
self.apply_snap_override(crate::snap::SnapOverrideKind::None);
Task::none()
}