KitwareMedical / KitwareMedical/SlicerVirtualReality
Make the default movable behavior globally configurable
- Dominant language
- C++
- Stars
- 137
- Forks
- 62
- Avg merge
- 8h 8m
- Merged PRs (30d)
- 8
Description
Currently, "Selectable" flag determines is a node can be dragged and it is enabled by default.
In some use cases, it is preferable if nodes are movable by default. In other cases, it is preferable if nodes are not movable by default.
Proposed solution: Instead of using the "Selectable" flag, add a custom `VirtualReality.GrabEnabled` node attribute. If the attribute is not set or set to `default` then the global setting is applied to the node. If the attribute is set to `true` or `false` then that overrides the global setting. The global setting ("All objects are movable by default") should be displayed in the virtual reality module GUI.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by tracing how the Selectable flag currently controls node dragging and how the virtual reality module GUI exposes global settings. Define the GrabEnabled attribute behavior for default, true, and false values, then verify that the GUI setting applies only when the attribute is unset or default and that explicit node values override it.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- ar-vr-xr
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100