mirror of
https://github.com/bherbruck/solidcraft.git
synced 2026-11-05 19:45:54 +00:00
Lid ring sketch test: find the ring under the pick, not by main's kernel's name
On SMLib the lip join's exact history names the lid underside's ring a piece of the lid's own start (F14:start#[...]), as the naming rule says for a face that came from the feature's input; main's kernel named it after the case's top it rests on (F2:top). The test looked the ring up by that name and so stopped before the attachment it guards. It now takes the underside piece under the pick point, which the cap certificate attaches on either kernel. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SdcgEu4Lr3moCCisdZShKz
This commit is contained in:
@@ -825,9 +825,11 @@ fn a_sketch_on_the_mirrored_half_of_a_combined_body_sits_on_that_half() {
|
||||
}
|
||||
}
|
||||
/// The sensor enclosure's lid rests on the case, and its lip, joined below it, parts its underside
|
||||
/// into a ring and a panel. The ring is named after the case's top it rests on, so the lid's cap
|
||||
/// certificate finds only the panel: the ring is another piece of the same face and takes a sketch
|
||||
/// attached by that certificate, as it did before #8278 (#9465, nightly action matrix).
|
||||
/// into a ring and a panel. Where the join names the ring after the case's top it rests on, the
|
||||
/// lid's cap certificate finds only the panel: the ring is another piece of the same face and takes
|
||||
/// a sketch attached by that certificate, as it did before #8278 (#9465, nightly action matrix).
|
||||
/// Where the join's history names it a piece of the lid's own start (SMLib), the certificate finds
|
||||
/// it directly. Either way the ring is the underside piece under the pick, whatever its name.
|
||||
#[test]
|
||||
fn a_sketch_on_the_ring_of_a_lid_underside_parted_by_its_lip_keeps_the_cap() {
|
||||
let mut s = Session::default();
|
||||
@@ -840,8 +842,10 @@ fn a_sketch_on_the_ring_of_a_lid_underside_parted_by_its_lip_keeps_the_cap() {
|
||||
.filter(|index| lid.body.planar_face(*index).is_some_and(|plane| plane.normal().dot(-Vec3::Z) > 0.999 && (plane.origin.z - 25.).abs() < 1e-6))
|
||||
.collect();
|
||||
assert!(down.len() > 1, "the lip parts the lid's underside: {down:?}");
|
||||
let ring = *down.iter().find(|index| names[**index] == "F2:top").unwrap_or_else(|| panic!("the ring, among {names:?}"));
|
||||
let pick = json!({"body":"Lid","index":ring,"face":[12.0, 29.266_666_666_665, 25.0]});
|
||||
let at = Vec3::new(12.0, 29.266_666_666_665, 25.0);
|
||||
let under = solidcraft_doc::naming::face_name_at_body(lid, at);
|
||||
let ring = *down.iter().find(|index| under.as_ref() == Some(&names[**index])).unwrap_or_else(|| panic!("the ring ({under:?}), among {names:?}"));
|
||||
let pick = json!({"body":"Lid","index":ring,"face":[at.x, at.y, at.z]});
|
||||
drop(world);
|
||||
let id = run(&mut s, "sketch.create", json!({"name":"On ring","plane":pick,"project_edges":false}))["sketch"].as_u64().unwrap();
|
||||
run(&mut s, "sketch.finish", json!({}));
|
||||
|
||||
@@ -10,7 +10,6 @@
|
||||
# Baseline: develop 38fd4a4f6 (CI run 41157648345, x86_64 Linux), after the SMLib eaa998a pin.
|
||||
solidcraft-cli::action_matrix::action_matrix_sample 3 baseline actions fail on SMLib: 2 shells (Bad Loop Orient on issue-616-lid-ribs; status 1001 on filleted-shelled-box, shelled again open at an inner wall), 1 fillet (SmSurfOfRevolution Test #7 on oblique_cut_of_cylinder)
|
||||
solidcraft-cli::naming_corpus::corpus_designs_name_alike_every_build_and_fail_where_a_reference_is_gone oracle/83-boundary-loop-thicken does not load: step 8, SMLib thicken status 1001
|
||||
solidcraft-engine::cmd::sketch::face::tests::a_sketch_on_the_ring_of_a_lid_underside_parted_by_its_lip_keeps_the_cap main's test: on SMLib the ring is named F14:start#[...], the lid's own start, not F2:top, the case's top it rests on, so the lookup finds no ring
|
||||
solidcraft-engine::cmd::sketch::ids_tests::a_curve_id_that_cannot_be_written_into_a_name_is_refused main's test: an extruded circle on SMLib has a seam edge, the side face on both its sides, named F2:side:c1 with no second face
|
||||
solidcraft-engine::tests::fillet_fit_taper_closes_to_a_point SMLib fillet status 1001 on the taper fit (radius 16 closing to 0)
|
||||
solidcraft-kernel::blend::corner_tests::a_round_ending_in_an_earlier_round_matches_both_together SMLib fillet status 1001 on the round that ends in the earlier one
|
||||
|
||||
Reference in New Issue
Block a user