docs: clarify extension exception in OTRACK priority guards

This commit is contained in:
gianlucafiore committed 2026-10-15 20:02:39 -03:00
1 parent 6a767390dd
commit dd3b18e550
1 file changed
+5 -6
+5 -6
View File
@@ -2683,10 +2683,9 @@ impl OpenCADStudio {
.unwrap_or(cursor_world); .unwrap_or(cursor_world);
axis_lock_apply(point, base, dir) axis_lock_apply(point, base, dir)
} else if let Some(h) = otrack_hit.filter(|_| { } else if let Some(h) = otrack_hit.filter(|_| {
// A real object snap must win over tracking alignment. // Exact object snaps win over tracking alignment, but
// Otherwise the endpoint glyph can appear at the // Extension is a construction guide and must remain
// corner while the preview/accepted point follows the // eligible for OTRACK intersections.
// tracking line instead.
!self.tabs[i].snap_result.is_some_and(|s| { !self.tabs[i].snap_result.is_some_and(|s| {
!matches!( !matches!(
s.snap_type, s.snap_type,
@@ -4560,8 +4559,8 @@ impl OpenCADStudio {
None None
}; };
if let Some(h) = otrack.filter(|_| { if let Some(h) = otrack.filter(|_| {
// Match the hover path: never override a genuine OSNAP // Match the hover path: preserve exact object snaps, but
// endpoint/intersection with a tracking projection. // allow Extension to resolve a crossing with OTRACK.
!snap_hit.is_some_and(|s| s.snap_type != crate::snap::SnapType::Grid) !snap_hit.is_some_and(|s| s.snap_type != crate::snap::SnapType::Grid)
}) { }) {
pt = h.aligned; pt = h.aligned;