Sketcher: align click, drag, and box-selection UX with the 3D viewer
- Dominant language
- C++
- Stars
- 33.6k
- Forks
- 6k
- Avg merge
- 3d 15h
- Merged PRs (30d)
- 196
Description
Sketcher edit mode currently behaves differently from the normal 3D viewer with respect to click selection, drag selection, and box selection.
Before treating this as something that should be changed, I think it would be useful to clarify whether this difference is deliberate and still desired.
## Current Sketcher behavior
In Sketcher edit mode:
- plain left-click on a point, edge, or constraint adds it to selection, or removes it if already selected
- selection is typically only cleared by clicking empty space
- left-drag from empty space starts Sketcher rubber-band selection
- box selection adds to the existing selection instead of replacing it
- left-drag starting on geometry or constraints starts a drag/edit interaction instead of a rubber-band selection
## Why this may be worth revisiting
This differs from what users usually expect in the main 3D view, where the default mental model is generally closer to:
- plain click replaces selection
- `Ctrl` click adds/removes
- plain box selection replaces selection
- modifier-assisted box selection adds/removes
That difference may be intentional in Sketcher, since multi-selection is common there and drag behavior is more specialized.
However, it also means:
- selection can accumulate unexpectedly
- box selection behaves differently from the rest of FreeCAD
- viewer-side interaction improvements such as #30135 do not naturally carry over to Sketcher
- it is unclear whether the current behavior is a deliberate UX choice or just historical behavior that has persisted
## Main question
Do we want Sketcher selection behavior to remain intentionally different from the normal 3D viewer?
In particular:
- should plain click in Sketcher remain additive/toggle by default?
- should box selection in Sketcher remain additive by default?
- should Sketcher continue to own a separate rubber-band interaction model, or should it move closer to the shared viewer interaction model while still keeping Sketcher-specific hit-testing and drag behavior?
## Possible direction
If the current behavior is deliberate, it would be good to state that explicitly and document the rationale.
If it is not deliberate, then a follow-up discussion could be about aligning Sketcher more closely with the 3D viewer, while preserving Sketcher-specific drag/edit interactions.
## Related
- #30135
Contributor guide
Assessment
This issue has not been assessed yet.