Better image position, scale, and rotation

The problem that this feature will solve:

When using an imported image as a reference, it is often necessary to make many adjustments to resize and move the image to align with the physical units. Some of the current behaviours makes this process cumbersome:

  • The origin of the widget resets to a default position whenever the image is deselected and reselected. This means that the origin needs to be repositioned whenever the image is selected. If I am making many small adjustments to align the image and switching between multiple images and sketches, I need to reposition the widget to the same position many times.

  • The widget cannot be manipulated when it is not visible on the screen. For large images, the view needs to be zoomed out which reduces the precision of the manipulator. This makes it difficult to move, rotate, or scale large images which do not fit into the whole screen.

  • The transformation values of the image are not visible or editable after a transformation has been applied. I cannot for example see or edit the scale, angle, or coordinates of an image. I can only incrementally scale, rotate, or move the image. This makes it hard to apply the same values to different images consistently.

Brief description of the outcomes that you expect from this feature:

  • The origin of the widget should remain in the place where it was positioned unless it is repositioned.

  • Make the manipulators for the widget visible even when the origin of the widget is off-screen. For example, show the handle for moving and rotating an image when the view is panned so that the origin is no longer visible.

  • Allow an image to be positioned and scaled by manipulating two anchor points. For example: pick two references points on the image, such as the wheels on a motor car, and align them to two fixed points in a sketch, or vice versa.

  • Allow image transformations to be viewed and edited, e.g. by making them visible in the history.