FreeCAD / FreeCAD/FreeCAD

Sketcher: align click, drag, and box-selection UX with the 3D viewer

Open
#30,426 4 comments 2 reactions 0 assignees View on GitHub
Mod: Sketcher Topic: User Interface Type: Feature
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.