Things have gotten pretty messy with all these bug reports in disarray, so, here is my attempt to collect them all and update it
Animation Stack Algorithm
[ ] Animation push down stack algorithm
[x] Algorithm handles 0 levels of nesting
[x] Code
[x] Unit test (simple_locrot.test.blend)
[ ] Algorithm handles 1-n levels of nesting
[x] Code
[ ] Unit test (covered by unfinished permutations testing)
[x] Algorithm handles 1 dataref
[x] Code
[x] Unit test (simple_locrot.test.blend)
[ ] Algorithm handles n datarefs
[x] Code
[ ] Unit test
[ ] Correct parent is given
[x] ROOT is used when no nesting
[x] Code
[x] Unit test (covered by simple_locrot.test.blend)
[x] Animated TRIS uses top of stack for parent
[x] Code
[x] Unit Test (testing that nested levels works, basically)
[x] ROOT is used again after last ANIM_end is encountered
[x] Cube
[ ] Unit test
So, as you can see we're missing unit testing for the complex cases
Features
[ ] Multiple location dynamic datarefs (v1: 1, v2: 2, "dref1", v1: 34, v2: 56, "dref2") do not overwrite each other, add keyframes on 1, 2, 3, and 4 - See #640
[ ] Multiple copies of the same dataref with different values (v1:-1, v2: 1, "dref1", v1:444, v2: 777, "dref1") count as 2 datarefs that would take up keyframes 1 - 4
[ ] Code
[ ] Unit test
[x] Show/Hide works
[x] Code
[x] Unit test (show_hide_show.test.blend)
[x] Keyframe Loop #656
[x] Code
[ ] Unit test (keyframe_loop.test.blend)
[x] ANIM_trans/rotate v1,v2,dataref parsed
[x] Code (but, should this matter? After all, we're going to optimize this away right?)
[ ] Unit test
[x] All directives themselves have been covered
Optimizations
Currently we make an empty for each dataref encountered, which creates lots of unneeded empties.
[ ] Flatten and combine animations for all parent-single-child-children
[x] Code
[ ] Unit test (covered by hide_show_hide.test.blend, need cover for proving rotations flatten)
[ ] Turn static ANIM_trans/rotate animations into location/rotation offsets instead of animations
[ ] See #654 and #652
[ ] Turn ANIM_trans/rotate_keys that turned out to be static into an ANIM_trans/rotate directive
Things have gotten pretty messy with all these bug reports in disarray, so, here is my attempt to collect them all and update it
Animation Stack Algorithm
So, as you can see we're missing unit testing for the complex cases
Features
[ ] Multiple location dynamic datarefs (v1: 1, v2: 2, "dref1", v1: 34, v2: 56, "dref2") do not overwrite each other, add keyframes on 1, 2, 3, and 4 - See #640
[ ] Multiple copies of the same dataref with different values (v1:-1, v2: 1, "dref1", v1:444, v2: 777, "dref1") count as 2 datarefs that would take up keyframes 1 - 4
[x] Keyframe Loop #656
[x] ANIM_trans/rotate v1,v2,dataref parsed
[x] All directives themselves have been covered
Optimizations
Currently we make an empty for each dataref encountered, which creates lots of unneeded empties.