Under certain circumstances, parallel animations were in fact broken after all, and did not render as expected.
Code Snippet (if applicable) to Reproduce Problem:
// case 1
animate(src, transform=matrix(90, MATRIX_ROTATE), time=10)
animate(alpha=0, time=10, flags=ANIMATION_PARALLEL)
// case 2
animate(src, transform=matrix(1,0,0,0,1,16), time=10)
animate(transform=matrix(0.1,0,0,0,0.1,16), time=10, flags=ANIMATION_PARALLEL)
Expected Results:
Case 1: The object should rotate and fade out at the same time.
Case 2: The object should move up and shrink at the same time.
Actual Results:
Case 1: The object disappear completely, using its final alpha right away.
Case 2: The transforms do not stack correctly, causing the Y translation to be doubled so it's +32 pixels instead of +16.