fix(osnap): a POINT snaps as a Node only

A point carried a key vertex, so Endpoint (which outranks Node) claimed
it, and an absolute-size glyph's strokes were indexed for Nearest and
Intersection. Points now offer only their Node, in the indexed and the
unindexed snap paths alike.

Fixes #1570

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
Hakan SevenandClaude Opus 5.5 committed 2026-10-04 20:44:08 +03:00
1 parent d6dfd0d46d
commit fd01a36ad3
4 files changed
+28 -8

No files matched your search

+5
View File
@@ -744,6 +744,11 @@ impl WireModel {
pub fn is_display_only(&self) -> bool {
self.snap_only && self.display_visible
}
/// A POINT's wire: the Node is its only snap; the glyph strokes are drawn
/// but offer no endpoints or segments to snap to.
pub fn is_node_marker(&self) -> bool {
self.key_vertices.is_empty() && matches!(self.snap_pts.as_slice(), [(_, SnapHint::Node)])
}
/// Sentinel AABB that never rejects any snap query.
pub const UNBOUNDED_AABB: [f32; 4] = [
f32::NEG_INFINITY,