Visualize the separate concepts of tooling pivot and graphical data origin
There will be two different dot gizmos, which the Select tool's control bar shall display a dropdown to choose from. A checkbox beside these controls enables or disables the whole feature, and when disabled it uses the center of the current selection's bounding box. The reference point input widget that's presently in the control bar will become specific to the pivot mode— but when the feature's checkbox is unticked to use the bounding box center, we will show none of the 9 selector boxes as active while still letting the user click one to enable pivot mode. This would be grayed out entirely in origin mode. These same controls described above will be added to the Path tool's control bar, as well.
Currently, the pivot is used by the tooling. But that will adapt to the chosen mode once this issue is implemented, so the chosen mode's center of rotation/scaling is used by the following forms of tooling:
- G/R/S
- Resizing the corners of the transform cage when Alt is pressed. (Should transform cage rotation also use the bounding box center by default unless Alt is pressed?)
Albeit with some differences like our choice of labeling, this feature is sort of analogous to Blender's "Transform Pivot Point" menu:
- Bounding Box Center: should behave the same in Graphite as Blender; our equivalent occurs when the mode is disabled so this won't be part of the dropdown menu; this acts equivalently to the centered yellow pivot as it works today in master
- 3D Cursor: equivalent to our pivot but it behaves differently than in Blender; this shouldn't be touched from the behavior already in master
- Individual Origins: should behave the same in Graphite as Blender; this is one of the origin's modes; each selected layer transforms about its own origin position
- Median Point: should behave the same in Graphite as Blender; this is one of the origin's modes; each selected layer transforms about the average position of their shared origins
- Active Element: should behave the same in Graphite as Blender; this is one of the origin's modes; transforms all the selected layers about the origin of the most recently selected layer (stretch goal, possible future follow-up work)
Pivot |
This is the yellow (final color TBD) crosshair symbol. It's the temporary/transient pivot. Equivalent to Blender's 3D cursor, but isn't global to the document nor is it as persistent as the 3D cursor. It's used only for tooling, not part of the node graph data or document format. This is our current implementation, but it will need to be tweaked.
|
Origin |
This is the blue (final color TBD) dowel pin symbol. It's the origin ( (This menu's scale and rotation parameters should also offer a way to edit those values factoring in the current pivot choice which would make it update its location together with the typed value for rotation or scale such that it treats the change as occurring with that temporary pivot.) |