Limit the number of repeated calls made to update the _target and _fov traitlets
#10
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 is changing?
Limit the number of repeated calls made to update the
_targetand_fovtraitletsWhy is this needed?
When aladin-lite updates its view, it does so with a smooth animation which updates the fov and target at intervals between the starting and final values to create a smooth animation. This causes issues for attached listeners on the ipyaladin traitlets that are updates as they get triggered for every intermediary value. By limiting to just updating on the final values we can avoid these extra calls.
This is particularly important for reducing the jitter between ipyaladin and imviz when syncing as see in the demo below. As you can see in the demo, its still not perfect, but its greatly improved thanks to this change.
Before:
before-updating-fix.mov
After:
after-fix.mov