my quats maths is uh weak so feel free to correct me, but to do a inverse of a quaternion I would have expected the unmary operator to do that, however it negates all parts, instead of only negating the vector parts (x, y, z)
Could this be changed to be a conjugation operator instead perhaps?