Spatial.rotateUpTo(0,-1,0) broken

Current implementation of Spatial.rotateUp break when I try to turn things exactly upside down. It works for vectors like (0.0001,-1,0).normalizeLocal, but 0,-1,0 is broken. This comes from place where it is doing (0,1,0).crossLocal(0,-1,0) to get rotation axis.
Now that I know that, I can avoid putting that exact vector, but maybe it would be good to handle it explicitly or at least document it won’t work?

I don’t think there is solution other than to document it. These kind of discontinuities cannot really be “worked around”. Similar to how lookAt(Vector3f.UNIT_Y, Vector3f.UNIT_Y) will create an invalid quaternion. Out of an infinity of possible ‘answers’, it’s hard to know which one to pick.

Makes sense. Object I have used is symmetric around Y axis (cone), so I wasn’t really caring about undefined rotation at the end.

You can rotate it in two steps, first forward then downward or so.