A selected sketch line stops being white, and a refused constraint says why

Two reports, one root: the sketch tab could not show what was selected.

The bed grid landed last commit, and selection was painted pure white — a freshly
drawn line is auto-selected by the creation tool, so the first thing a new line did
was disappear into the grid. Selection now wears design_selection_color(), the same
cyan a picked solid already wears. White is kept for the hover handle alone.

That invisibility is also why "I apply Parallel and NOTHING HAPPENS": drawing two
lines leaves exactly ONE selected (the last), Parallel needs two, so the planner
correctly refused — but the status text named only the requirement, never the current
pick, which reads as a dead button. It now reports how many are selected and how to
pick the second.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011FbJKJAJxxkhDTs9XdZzKA
This commit is contained in:
Tommaso Bianchi
2026-09-01 05:39:28 +02:00
co-authored by Claude Opus 5
parent 741682f874
commit ea32f8dc2f
2 changed files with 18 additions and 7 deletions
+8 -1
View File
@@ -7848,7 +7848,14 @@ void DesignPanel::apply_live_constraint(SketchConstraintType type)
switch (plan.kind) {
case ConstraintPlan::Kind::Reject:
fail(constraint_reject_text(plan.reason, type));
// "I applied Parallel and NOTHING HAPPENS" is this branch. The text named the
// REQUIREMENT ("applies to two lines") but never the CURRENT PICK, and a creation
// tool auto-selects only the entity it just drew — so after drawing two lines exactly
// one is selected and the button correctly refuses. Say how many are picked, or the
// refusal is indistinguishable from a dead button.
fail(wxString::Format(_L("%s — %d selected. Press Esc for the Select tool, click one "
"line, then Shift- or Ctrl-click the other."),
constraint_reject_text(plan.reason, type), int(sel.size())));
return;
case ConstraintPlan::Kind::AskValue:
m_viewport->open_inline_value(plan.prefill, [this, plan, commit](double v) {