Navigation: Ability for Multilple Selection in Gesture Navigation
- Dominant language
- C++
- Stars
- 33.6k
- Forks
- 6k
- Avg merge
- 3d 15h
- Merged PRs (30d)
- 196
Description
### Problem description
Currently in Gesture navigation mode it is not possible to select multiple items in 3d view without the use of a keyboard. Selecting subsequent items clears the previous selection, and adding to the selection requires holding the ctrl key. This _greatly_ hinders the ability to use FreeCAD in a tablet workflow.
### Workbench affected?
Part Design
### Steps to reproduce
1. Open any file with a 3d model.
3. Turn navigation mode to Gesture.
4. Open the Part Design workbench
5. Attempt to select multiple faces, edges, or vertexes without using a keyboard.
### Expected behavior
I propose that the Part Design (and any other relevant work benches) behave like the Sketcher workbench for selecting objects. Each subsequent selection should add to the previous selection. Deselection can be triggered with a subsequent click on the selected item. Selection can be cleared through clicking into a non-object area (empty space).
### Actual behavior
Each subsequent selection clears the previous selection. You can not select multiple faces/edges/vertexes using only gesture based navigation. A keyboard is _required_. On screen keyboards do not fill an satisfactory role for pressing modifier keys as they either obstruct the workspace during selection or re-shape the viewport to be unusable, alongside being troublesome to load on-demand when not prompted with a text based input to trigger a launch automatically.
### Development version About Info (in Safe Mode)
```shell
OS: Windows 11 build 26200
Architecture: arm64
Version: 26.3.0dev.20260722 (Git shallow)
Build date: 2026/07/22 23:55:37
Build type: Release
Branch: (HEAD detached at 07bb09e21)
Hash: 07bb09e216b207410af1eb125f5cb61d76761daa
Python 3.14.6, Qt 6.11.1, Coin 4.0.10 (bundled), Pivy 0.6.11 (bundled), Vtk 9.6.2, boost 1_91, Eigen3 5.0.1, PySide 6.11.1
shiboken 6.11.1, SMESH 7.7.1.0, xerces-c 3.3.0, Clipper2 , IfcOpenShell 0.0.0, OCC 8.0.0.p1-4f95ecaa
Locale: English/United States (en_US) [ OS: English/United States (en_US) ]
Stylesheet/Theme/QtStyle: FreeCAD.qss/FreeCAD Dark/
QPA/File dialog/Color dialog: windows/via Win32/via Qt
Navigation Style/Orbit Style/Rotation Mode: Gesture/Turntable/Drag at cursor
Logical DPI/Physical DPI/Pixel Ratio: 96/130.53/2
OpenGL version/vendor/renderer: 4.6 (Compatibility Profile) Mesa 26.2.0-devel (git-c1445345a4)/Microsoft Corporation/D3D12 (Qualcomm(R) Adreno(TM) X1-85 GPU)
Installed mods:
* Fasteners Workbench 0.5.64
* FrameForge 0.2.1
* Lattice2 Workbench 1.1.0
* ShapeStrings 0.2.0
* SheetMetal Workbench 0.8.21
* Woodworking 3.3.20260801
* freecad.gears workbench 1.3.0
```
### Last known good version (optional)
```shell
```
Contributor guide
Research direction
Start by reproducing the selection behavior in Gesture navigation with the Part Design workbench, comparing it with the Sketcher workbench's selection behavior. Trace the gesture-navigation and 3D selection entry points to determine where subsequent selections replace the current selection. Done means faces, edges, and vertices can be added or deselected without a keyboard, with empty-space clicks clearing selection.
Written by the indexing model from the issue text.
Assessment
- Domain
- computer-graphics, desktop
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100