forked from 1b-agent/opencadstudio-upstream
refactor(snap): widen key_vertices to f64 (world_offset removal P4)
WireModel/LocalWire/BatchEntry key_vertices are now Vec<[f64; 3]>; tessellation keeps them in f64 (no f32 cast at offset subtraction), producers (dimension, leader, multileader) build them from the acadrust f64 source, the block-cache transform keeps f64, and the face3d Face3D quad path splits them into the double-single (high, low) pair. Consumers (snap endpoint/midpoint, xclip) read via f32 at the leaf. Still offset-relative (inert); endpoint/midpoint snap is no longer f32-capped. Co-Authored-By: Claude Opus 4.7 <[email protected]>
This commit is contained in:
1 parent
cd1d3bb619
commit
cca1086696
10 files changed
+54
-40
No files matched your search
@@ -103,7 +103,7 @@ pub fn clip_wires(wires: &mut Vec<WireModel>, poly: &[[f32; 2]]) {
|
||||
w.fill_tris = clip_triangles(&w.fill_tris, poly);
|
||||
}
|
||||
w.key_vertices
|
||||
.retain(|v| point_in_poly(v[0], v[1], poly));
|
||||
.retain(|v| point_in_poly(v[0] as f32, v[1] as f32, poly));
|
||||
w.snap_pts.retain(|(p, _)| point_in_poly(p.x as f32, p.y as f32, poly));
|
||||
w.aabb = recompute_aabb(&w.points, &w.fill_tris);
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user