Renormalize rotation in 2D integration and clean up renormalize
#590
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Objective
Currently, only 3D rotation is renormalized after position integration. However, 2D rotation can also become denormalized over time, sometimes causing crashes with
debug_assertions
.Solution
Add
fast_renormalize
for 2DRotation
and renormalize 2D rotations after position integration.I also renamed the 3D
Rotation::renormalize
method tofast_renormalize
, and made it return the value instead of mutatingself
, to match Bevy 0.15.Migration Guide
The 3D
Rotation::renormalize
method has been renamed tofast_renormalize
, and it returns the value instead of mutatingself
. This was changed to match Bevy 0.15.