We all know how to manually offset animation keys (to get asynch cadence for instance).
This is painful to do in a way that lets you play around over an extended session of macro-tweaking, as once you've gone quite far down a certain path and have a change of heart, there's usually no way back other than to scrap what you were doing and start it again.
I'd like to propose Non-Destructive Timeline (anim) Offsetting.
This would be, for instance, a +/- button pair next to any timeline containing keyframes.
It would require you have Loop Start and Loop End values filled in.
When you press +, it offsets the timeline right by one frame, and displays the offset in the timeline's UI, perhaps shading it in a unique color.
When the timeline is offset left or right, any keys that are pushed outside the Loop Range are identified as Out of Range keys.
This is automatically placing Loop Keys at Loop Start & Loop End positions when a key is Out of Range.
The Loop Keys are uneditable as they're generated dynamically.
This would either need the timeline to support negative frame numbers to allow for editing timelines shifted left, or <0 keys to appear editable on the far right.
In essence this is doing exactly the same as we do now, manually, with the difference that the keys are generated by the system, and we can continue editing the out of range keys to affect the loop-in.
Pros:
- You can iteratively tweak your animation later on, or restore it to it's original state at any time.
- Shifting left made simple (which is a PITA to do manually without negative frame support).
- Vastly improves the ability to edit motion curves on offsetted Out-In keys, where you want to preserve and maintain a smooth curve velocity.
Motionbuilder and Max users might be familiar with this concept; this is just a small task-specific advancement on the same idea.