Simply drag the position gizmo back-n-forth, and the world matrix determinant keeps getting smaller and smaller, which should never happen. This error does not occur if .rotation is used.
In this specific case, the world matrix determinant decreases and stabilizes around 0.86 (after 3 seconds of dragging). There have been cases where it blows up and keeps increasing well beyond 5x and counting. This ofc has major implications on the overall position, rotation + scaling
Thanks Cedric! Does this mean each time we would have to normalize all nodes that use .rotationQuaternion in the render loop? Or would the PR address this by forcing normalization in the node class itself?
Cool! Is this because the gizmos are affecting the quaternion (also why is positionGizmo affecting the quaternion xD)? Or is this more fundamental i.e. should be adjusted each cycle regardless if it’s from gizmo or not
Interested to learn the internals
gizmos work mostly with matrices and matrix is decomposed into translation/rotation and scale once done.
After a while, the conversion between matrix and quaternion drifts a little and you have to normalize it.