A tumble interaction allows the user to view the model from any angle by clicking and dragging in the canvas. Let the current position and orientation of the model be initialized and stored globally:
We'll want a relative tumble, so we'll need to track whether a mouse drag is happening and where the pointer has been:
When the user presses the mouse button, make a note of it and start tracking the most recent mouse location.
When the user releases the mouse button, stop tracking.
When the user moves the mouse while the button is down, alter the orientation of the model accordingly.
These functions must be made properties of the