X and the toolbar's Construction no longer start a pick tool (Fusion has none): with a selection they convert it, with nothing selected they switch construction mode, outside a sketch they say so. Center Rectangle draws both diagonals as construction, the centre at their crossing, with only the first carrying the midpoint constraint (the second is implied), so a fresh one stays at 4 DOF. Scenarios s30 (pattern a hole) and s32 (cut in the active component) enabled now that b36b332 is on main

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AS5Tn3xieewUSg3uxrMVdL
This commit is contained in:
bherbruckandClaude Opus 5.5 committed 2026-10-08 16:07:33 +00:00
1 parent 90873e51bb
commit 1e8fc25976
6 files changed
+33 -11

No files matched your search

@@ -101,3 +101,19 @@ fn dragging_corners_never_collapses_a_side() {
}
}
}
#[test]
fn center_rectangle_draws_both_diagonals_like_fusion() {
let (mut s, _) = rect("center");
let si = run(&mut s, "sketch.inspect", json!({}));
let curves = si["curves"].as_array().cloned().unwrap_or_default();
// Four sides plus two construction diagonals; the other rectangles have no diagonals.
assert_eq!(curves.len(), 6, "{si}");
assert_eq!(curves.iter().filter(|c| c["construction"] == true).count(), 2, "{si}");
assert_eq!(healthy(&mut s, "center diagonals"), 4);
for k in ["two", "three"] {
let (mut s, _) = rect(k);
let si = run(&mut s, "sketch.inspect", json!({}));
assert_eq!(si["curves"].as_array().map(Vec::len), Some(4), "{k}: {si}");
}
}