Persistent naming: shell inner faces named after the wall face they offset (F<shell>:inner:<face>), sweep and loft faces by start/end caps and the profile curve each side sweeps

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01AS5Tn3xieewUSg3uxrMVdL
This commit is contained in:
bherbruckandClaude Opus 5.5 committed 2026-10-08 14:25:27 +00:00
1 parent 7c611aec0c
commit 23e50e4540
2 files changed
+93 -1

No files matched your search

+11
View File
@@ -1355,6 +1355,17 @@ mod naming {
assert_eq!(sk.map(|z| (z * 1e6).round() / 1e6), Some(10.0));
}
#[test]
fn shell_inner_faces_are_named_after_the_walls() {
let mut s = Session::default();
run(&mut s, "PrimitiveBox", json!({"length": 40, "width": 30, "height": 20, "body_name": "B"}));
run(&mut s, "FusionShellBodyCommand", json!({"faces": [[20, 15, 20]], "thickness": 2}));
let n = face_names(&mut s, "B");
for want in ["F2:inner:F1:-z", "F2:inner:F1:+x", "F2:inner:F1:-x", "F2:inner:F1:+y", "F2:inner:F1:-y"] {
assert!(n.contains(&want.to_string()), "{want} in {n:?}");
}
}
#[test]
fn shell_and_hole_faces_follow_by_name() {
let mut s = Session::default();