My feature wish is each object (solid, sheet, or curve) would have a user definable origin.
I think object origins would simplify some things:
* Each object would have a point from which its position in world space is measured that is independent from its points which can be useful for placement and measuring.
* The origin would be used as the default pivot when the translate, scale, rotate gizmos, place, or radial and rectangular array tools get activated. It wouldn't be neccessary anymore to to pick a new pivot each time for those tools (but still possible!)
* The same pivot can be "shared" this way between those tools
* It could be used as an additional object snap point for other operations
* It would enable "transform setups", an example would be: The origin could be be placed inside the joints of some robotic arm parts, so it's very easy and repeatable to select/rotate the arm (multi select would use only the first selected object's origin so several arm parts can be rotated at once)
Internally, I think the origin would be a translation and rotation offset to the object's local coordinate origin. This way it would move with the object, like the object's control points, but it could also be placed outside of the object.
From an UI perspective the user would be able to translate and rotate the origin after clicking a "modify origin" button when the object is selected. This could activate these hotkeys for example:
* "v" use object snap to set the origin (similar to the gizmo pivots)
* "g" for translating the origin with a gizmo
* "r" for rotating the origin with a gizmo