Fix forever repaint of big scenes #5071
Merged
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.
What
When first loading a scene, before the user interacts, we want to center the eye-camera on the scene, so each frame we call "interpolate to the default eye". This should be fine, because we have an early-out if we're already at target. However, the interpolation code had a rounding error meaning we reached very close to our goal, but not quite there. In particular, in
arkit_scenes
it would lead to a forever repaint, since the eye-camera would never reach its target, and so thus would require more animation.This manifested in
arkit_scenes
now due to another bug (#5070) causing enormous point clouds, making the rounding errors larger than usual.Checklist
main
build: app.rerun.ionightly
build: app.rerun.io