Skip to content

Free Transform support negative rotation, track rotation direction for animation intent.

Animation needs might require us to track the intent of a rotation (clockwise vs counter clockwise) and the original use of a normalize call prevented us from allowing negative rotation values -- which I don't think is intended.

@dkazakov Obviously, this patch has a lot of work left to make it functional. Basically, we do need to allow for negative rotation, but normalization should probably be handled differently so that we don't force a rotation between 0 and 360 on the GUI side. What are your thoughts on this?

Also, I've noticed what seems to be a bug in the theta calculation when grabbing the upper left and lower right handles where atan2 causes the rotation in the counter clockwise direction to quickly flip to high clockwise rotation instead. We might be able to solve this by calculating atan2 independent of starting click position and then offset to the correct result after? I might need some insight on this as well.

Lastly, there's the question about normalization in the first place. It seems to me that normalization is a must at some point to tackle floating point inaccuracies -- but whether that range needs to be between 0 and 2*PI or some other range might be something we should talk about. I would also like to continue to normalize transformations to some capacity, but I'm not sure how to do that would causing issues with animation rendering.

BUG:438343

Edited by Eoin O'Neill

Merge request reports