mirror of
https://github.com/bherbruck/solidcraft.git
synced 2026-11-03 18:45:55 +00:00
kernel: the faceted boolean is SMLib's boolean with the mesh made a polyhedral solid
faceted_boolean (a body with a closed triangle mesh) faceted the body's curved faces and ran its own BSP polygon boolean, then rebuilt a truck solid. It now builds the mesh into a solid: each run of coplanar triangles sharing edges (corners within `tol` of each other's planes) one planar face, its boundary chained into loops (split where a loop passes a vertex twice, holes given to the innermost outer loop), sewn with sew_touching; SMLib's boolean takes it with the body, whose faces stay exact. The history over [a, mesh] is the boolean's over [a, tool] with the tool's own over the mesh substituted: each tool face from its triangles, each tool edge the meeting of the runs either side. Deleted with the BSP and the rebuild: planar_boolean and sliced_planar_boolean (the truck boolean's exact fallback for touching planar faces: on SMLib the boolean is one path), reassembled and split_beside (prism_local's), components_in_order (truck shell order) and the tests of what no longer exists (face_planes diagnostics, the planar fallback beside a plate's small rounds). lib.rs (coordinator): `pub use polybool::faceted_boolean;` (planar_boolean is gone). (not built: base in progress) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017itGh5fpMEousnZ91cYcVt
This commit is contained in:
+161
-1274
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user