Construction Geometries, a Sketch Palette row that hides construction geometry (#804)

A Sketch Palette toggle (sketch.options show_construction) that hides construction geometry from drawing and picking; saved with the sketch's view options under format 17.

Co-authored-by: William Dunn <william.dunn@quasarke.com>
This commit is contained in:
William Dunn authored and GitHub committed 2026-10-13 15:15:13 -04:00
1 parent 9184994721
commit d302aa1a00
15 files changed
+224 -10

No files matched your search

+2 -2
View File
@@ -855,7 +855,7 @@ fn pick_hits(app: &SolveApp, proj: &Proj, pos: Pos2, other_sketch_points: bool,
let Some(ss) = st.sketch(sid) else { continue };
let bonus = if s.active_sketch == Some(sid) { 2.0 } else { 0.0 };
for (i, c) in ss.sketch.curves.iter().enumerate() {
if c.link.is_some() && ss.sketch.view.hide_projected {
if !solidcraft_engine::view::sketch_curve_visible(&ss.sketch, i) {
continue;
}
let straight = matches!(c.kind, CurveKind::Line { .. });
@@ -2493,7 +2493,7 @@ fn box_select(app: &mut SolveApp, proj: &Proj, bx: BoxSel, add: bool) {
// What the selection filter lets through (window: wholly inside; crossing: touching).
let off = |k: &str| app.ui.pick_off.iter().any(|x| x == k);
for (i, c) in ss.sketch.curves.iter().enumerate().filter(|_| !off("sketch") && !off("sketch_curves")) {
if c.link.is_some() && ss.sketch.view.hide_projected {
if !solidcraft_engine::view::sketch_curve_visible(&ss.sketch, i) {
continue;
}
let sampled = if bx.crossing {