(..again apologies that this commit contains all my prior commits from D7511 and D7532)
This is built on D7532 to improve the animator's workflow when their mindset is to use the NLA as an animation layer system. This diff allows the tweak strip to be evaluated outside its strip bounds if flagged for action length syncing. It also allows keys to be inserted outside the strip's bounds.
Problem
The animator can not view the NLA result outside of the strip bounds. This is expected behaviour. However, if they have flagged the strip to sync with the action bounds then their expectation is for the strip to evaluate based on the action bounds, not the only-updated-on-tweak-exit strip bounds. Further, it's not possible to insert keys outside of the strip bounds. This results in a workflow where the animator must determine the strip bounds before making adjustments to the action. This isn't trivial to determine so it's a trial and error process.
Solution
The NLA system now evaluates the strip based on the action bounds if it's flagged for syncing. Now the animator can freely insert and modify keys outside of the strip bounds. They will never have to touch the strip bounds directly. Changing the evaluation bounds is a simple as moving keys around.
This addresses T63675
Old: Unable to Insert Keys outside synced strip bounds
{F8495377}
New: Able to insert keys outside synced strip bounds
{F8495378}
Old: Unable to view NLA result outside synced strip bounds
{F8495380}
New: Able to view NLA result outside synced strip bounds
{F8495381}