forked from 1b-agent/opencadstudio-upstream
docs: clarify extension exception in OTRACK priority guards
This commit is contained in:
1 parent
6a767390dd
commit
dd3b18e550
1 file changed
+5
-6
@@ -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;
|
||||||
|
|||||||
Reference in new issue
Block a user