I am currently implementing gizmos in my engine (or rather continuing the implementation I made a year ago). I had implemented a way to choose whether transformations are applied based on local space or global space, which is pretty easy for translation and rotation, but not so much for scale. What I would like to do is apply global space scaling without skewing the axes, ideally without using matrices as extracting scale from a matrix is hard to do right. My solution currently (which does no...