kernel: crate root follows the emboss, lip and delete-face port

assemble (records rebuilt after removing and adding faces) joins; the boolean guards that re-ran
a failed boolean with a changed tool (bore_guard, candidate_reach, sphere_lens, tangent_cylinders,
touching_walls) are gone; the lens-cut result stays as a boolean test. SMLIB_REV at the fork's
integration head with smlib_merge_faces.

(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:
jyviko
2026-10-22 00:57:52 -04:00
parent 5aec7a7d1b
commit c748aeabfa
3 changed files with 5 additions and 7 deletions
+3 -5
View File
@@ -12,6 +12,7 @@
#![deny(clippy::unwrap_used, clippy::expect_used, clippy::panic, clippy::unimplemented, clippy::todo, clippy::unreachable)]
#![forbid(unsafe_code)]
mod assemble;
mod backend;
mod blend;
mod blend_corner;
@@ -24,12 +25,10 @@ mod body;
mod boolean_diagnostics;
mod boolean_guard;
mod boolean_record;
mod bore_guard;
mod boundary;
mod boundary_network;
mod bridge;
mod build;
mod candidate_reach;
#[cfg(test)]
mod chamfer_sides_curved_tests;
mod clearance;
@@ -125,7 +124,8 @@ mod smlib_sweeps;
#[cfg(test)]
mod smlib_sweeps_tests;
mod smooth_edges;
mod sphere_lens;
#[cfg(test)]
mod sphere_lens_tests;
mod spline_conv;
mod splitface;
mod step;
@@ -143,7 +143,6 @@ mod surfaces;
mod sweep_path;
#[cfg(test)]
mod sweep_rails_tests;
mod tangent_cylinders;
mod tess;
#[cfg(test)]
mod thin_face_tests;
@@ -152,7 +151,6 @@ mod thread_display_tests;
#[cfg(test)]
mod thread_tests;
mod topo;
mod touching_walls;
mod tspline;
#[cfg(test)]
mod untouched_faces_tests;
+1 -1
View File
@@ -51,7 +51,7 @@ fn points(p: &[Vec3]) -> Vec<[f64; 3]> {
/// Runs `op` on `b` in SMLib, tagged as operand 0, and brings the result back with SMLib's
/// history over `[b]` (none where an order cannot be matched).
fn run(name: &str, b: &Body, op: impl FnOnce(&Brep) -> std::result::Result<Brep, SmError>) -> Result<(Body, Option<History>)> {
pub(crate) fn run(name: &str, b: &Body, op: impl FnOnce(&Brep) -> std::result::Result<Brep, SmError>) -> Result<(Body, Option<History>)> {
b.require_brep(name)?;
let (sb, ob) = smlib_body_ordered(b)?;
let tagged = sb.tagged(0).map_err(|e| failed(name, "tag", e))?;
+1 -1
View File
@@ -1 +1 @@
c899502f2bdd0e8e21c25e69eca423f659c9da8f
9c97a665559072ab58b2483465ad8378fc623317