revert: drop PLOTWINDOW forced endpoint snap (#293)

Remove the forces_endpoint_snap mechanism merged in #293:
CadCommand::forces_endpoint_snap, Snapper::snap_forced_corners /
forced_corner_modes, the PlotWindowCommand override, the on_tick +
click-commit wiring, and the associated tests. PLOTWINDOW now uses the
normal snapper like every other command.

Rationale: forcing Endpoint snap on regardless of the global OSNAP master
overrides an explicit user setting and is surprising — a plot window is a
coarse print region that usually wants a margin, not a corner lock, and
the forced set only caught Endpoint (not center/mid/intersection) so it
was a partial, opinionated helper. Parking it pending a design discussion
with the PR author; can be reinstated behind a clearer UX (e.g. respecting
OSNAP, or an opt-in modifier) if justified.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
This commit is contained in:
Hakan SevenandClaude Opus 4.8 committed 2026-07-06 20:35:50 +03:00
1 parent cb41910f12
commit 9490c85b32
4 files changed
+3 -138

No files matched your search

-15
View File
@@ -22,10 +22,6 @@ impl CadCommand for PlotWindowCommand {
"PLOTWINDOW"
}
fn forces_endpoint_snap(&self) -> bool {
true
}
fn prompt(&self) -> String {
if self.p1.is_none() {
"PLOTWINDOW Specify first corner of plot window:".into()
@@ -85,14 +81,3 @@ impl CadCommand for PlotWindowCommand {
// ── Autocomplete registry ─────────────────────────────────
inventory::submit!(crate::command::CommandRegistration { names: &["PLOTWINDOW", "PW"] }); // PlotWindowCommand
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn plot_window_forces_endpoint_snap() {
let cmd = PlotWindowCommand::new();
assert!(cmd.forces_endpoint_snap());
}
}