** Problem **
Right now, when auto-keying is on and and one transforms an object in the 3d view, its motion paths get updated. This makes it easy to iterate over an animation and make sure the object's trajectory looks right.
However, when the animation data is updated in any other way (e.g. through the graph editor, timeline, or action editor), the motion paths don't get updated right away, requiring an extra manual refresh on each incremental change.
** Proposed solution **
This patch makes sure that motion paths get updated whenever keyframe data changes, allowing for easier incremental changes. For now, the active object's motion paths are recomputed on every edit that triggers an "ND_KEYFRAME_PROP" notifier. This is not optimal in regards to performance, but it matches current behaviour for transforms from the viewport when auto keying is on.
I can see a few ways to mitigate performance issues for bigger scenes :
a) Streamline the motionpath update code so that it doesn't take as long
b) Let the user turn live motion path refresh on and off
c) Do less work by only updating the very frames and object that need to be updated, with an approach à la dependency graph (this already happens to an extent, but it could be done with finer granularity)
(c) is definitely the most reliable approach but it also requires the most in-depth change, and I'm not quite sure how to go about it because I don't know the code base enough yet. If someone here has more knowledge about this part of the code, I'd love to hear your input.
**Before**
{F8944697}
**After**
{F8944698}