Yeah, some great points, I see how this could quickly grow into an overcomplex feature! Also it would certainly require some experimentation and iteration so that it could be naturally integrated into the workflow while bringing more benefits than side effects...
As a reference, I'm working with a 30-frames wide running animation. It has 8 'real' keyframes which define the movement. However, after adding basic secondary motion and finetuning some weird mid frames, I've got 20 out of the 30 frames made into keyframes. I'm now way beyond the overall motion adjustments threshold! 😃
I have to admit this is not reeeeeally a problem for me. I knew about this leap of faith moment, so I kinda planned for it. But since we're discussing the matter, here's an updated understanding on how this could work based on all I read:
-What if we could select what we consider the Main Keyframes and give them names - such as "Right Foot touches ground", "Anticipation Frame", etc.
-The orange inclined square icon that appears in the Dopesheet for said keyframe would be different - maybe a different shape, a little bigger and in a different color from 'regular' keyframes.
-With a 'Adjust Main Keyframes' button turned on, only those keyframes would appear in the Dopesheet. Also, if you dragged one of these keyframes' position over the timeline to change the timing of the overall motion, all keyframes between that and the two adjacent 'Main Keyframes' would be resized proportionally. Yeah, that would kinda move them between frames, which could optionally be set to always stick to natural numbers instead.
-When you transform a keyframe into a "Main Keyframe", each and every change that is keyed to happen at that frame is now part of the Main Keyframe.
-However, if you keep editing the animation AFTER you have set the Main Keyframes, then it would work like this:
-[b]If you have "Edit Main Keyframes" turned ON[/b] (therefore only showing Main Keyframes in the timeline), all changes you make become part of these Main Keyframes.
-[b]If you have "Edit Main Keyframes" turned OFF[/b], you would be seeing the whole dopesheet as usual. If you made changes to any frames other than the Main Keyframes, it is business as usual (and those keyframes would be resized through the timeline as explained above if you moved an adjacent Main Keyframe). If you made changes to the Main Keyframes while in that mode, those changes would apply but would NOT be part of the Main Keyframe - the system could internally handle these changes as actually being an invisible, separate keyframe that changes the skeleton 0.01 milisecond after the Main Keyframe. This way you would have the freedom to keep editing stuff as usual and, internally and for the runtimes, it would all keep working as usual. And the secondary changes that you make to the keyframes that happen to 'overlap' with Main Keyframes would still 'obey' the Main Keyframes and apply on top of it, as relative changes.
Ok, my brain is burning. Does it make any sense? 😃