Hi. These are my suggestions and mockup, as a user, to improve the Timeline docker.
Changes to the terminology
- Instead of using the word "Frame" (New Frame, Remove Frame etc.) to describe the content of a layer in the timeline, use "Drawing" (New Drawing, Delete Drawing etc.).
- Use "Frame" (or "Cell", a synonym) to describe the slices of time that Drawings can be exposed for.
This change allows you to think this way: "Drawing 1 is exposed on frame 5 for the duration of 3 frames."
This fits better with standard animation workflow and structure, where you have drawings, frames and the exposure of those drawings along those frames.
A layer has a number of drawings. Those drawings are exposed on different frames (or cells) of the timeline.
A drawing is unique and has a name, but it can be repeated multiple times on the timeline, such as mouth drawings for the same viseme while a character is speaking. The mouth drawings are reused.
If you modify a drawing on the timeline (by doing something on the canvas), all other instances of that drawing on the timeline should also show those changes, since they all reference the same content.
Changes to the interface
Exposure
The exposure is the amount of frames that a drawing is visible. Right now, the exposure of a drawing is given by the amount of blank cells between a drawing and the next drawing:
To make this more intuitive, represent exposure by extending the drawings along these cells that they're exposed for, and have blank cells indicate "no drawing" at all.
You don't necessarily have to use this arrow decoration, it can be anything else:
Onion Skin
There's a grey row on the timeline header. Its purpose is not really clear, sometimes it changes?
You can make use of that area or similar to allow users to edit the onion skin length right there, around the playhead (the current frame marker).
Frame Range
Add markers on the timeline that show the active frame range. Dragging these markers changes the corresponding Start and End values of the animation settings.
Changing the frame range to a small part of the timeline should limit the playback (and looping) to that part, useful for polishing a short sequence of the entire scene. Being able to easily make these range changes is very helpful.
Also, these range markers could have a right-click context menu with some preset positions:
- For the Start marker, "First Frame" (zero) and "First Drawing" (the frame of the earliest drawing on the timeline, whichever it may be).
- For the End marker, "Last Drawing" (sets the End marker to the final frame of exposure of the last drawing on the timeline).