Is your feature request related to a problem? Please describe.
When the physics state of pieces are sent from the server to the client, and when the client wants to set the rotation of a piece, Basis is used. While it does work in representing rotation, it is not optimal in terms of memory usage, calculation speed, and floating-point errors.
Describe the solution you'd like
Using Quat instead uses 4 floats rather than 9, is more resistant to floating-point inaccuracies, and most importantly, slerp is much faster, which is very useful when the piece is being hovered.
Describe alternatives you've considered
Sticking with using Basis, which works, but as mentioned, it is not optimal.
Additional context
This optimisation was spotted in #133.
Is your feature request related to a problem? Please describe. When the physics state of pieces are sent from the server to the client, and when the client wants to set the rotation of a piece,
Basis
is used. While it does work in representing rotation, it is not optimal in terms of memory usage, calculation speed, and floating-point errors.Describe the solution you'd like Using
Quat
instead uses 4 floats rather than 9, is more resistant to floating-point inaccuracies, and most importantly,slerp
is much faster, which is very useful when the piece is being hovered.Describe alternatives you've considered Sticking with using Basis, which works, but as mentioned, it is not optimal.
Additional context This optimisation was spotted in #133.