-
Notifications
You must be signed in to change notification settings - Fork 373
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Scroll wheel zoom has extreme overshoot (on macOS) #4664
Labels
Milestone
Comments
kpreid
added
👀 needs triage
This issue needs to be triaged by the Rerun team
😤 annoying
Something in the UI / SDK is annoying to use
labels
Jan 3, 2024
We apply a smoothing to the scroll input that causes this latency. I'll take a quick stab at fixing it. |
4 tasks
Fix in #4668 |
Wumpf
added
🪳 bug
Something isn't working
and removed
👀 needs triage
This issue needs to be triaged by the Rerun team
labels
Jan 4, 2024
Wumpf
pushed a commit
that referenced
this issue
Jan 4, 2024
### What Switch from linear interpolation to exponential. Now 90% of the scroll delta is applied within 0.1 seconds. This is long enough to feel smooth, but short enough to feel responsive. This feels great on my Mac * Closes #4664 ### Checklist * [x] I have read and agree to [Contributor Guide](https://github.com/rerun-io/rerun/blob/main/CONTRIBUTING.md) and the [Code of Conduct](https://github.com/rerun-io/rerun/blob/main/CODE_OF_CONDUCT.md) * [x] I've included a screenshot or gif (if applicable) * [x] I have tested the web demo (if applicable): * Using newly built examples: [app.rerun.io](https://app.rerun.io/pr/4668/index.html) * Using examples from latest `main` build: [app.rerun.io](https://app.rerun.io/pr/4668/index.html?manifest_url=https://app.rerun.io/version/main/examples_manifest.json) * Using full set of examples from `nightly` build: [app.rerun.io](https://app.rerun.io/pr/4668/index.html?manifest_url=https://app.rerun.io/version/nightly/examples_manifest.json) * [x] The PR title and labels are set such as to maximize their usefulness for the next release's CHANGELOG - [PR Build Summary](https://build.rerun.io/pr/4668) - [Docs preview](https://rerun.io/preview/6b5b07e83b24740b8b916fd9fc69ab86b54acef9/docs) <!--DOCS-PREVIEW--> - [Examples preview](https://rerun.io/preview/6b5b07e83b24740b8b916fd9fc69ab86b54acef9/examples) <!--EXAMPLES-PREVIEW--> - [Recent benchmark results](https://build.rerun.io/graphs/crates.html) - [Wasm size tracking](https://build.rerun.io/graphs/sizes.html)
I'd personally prefer even more direct control, but it's much better now. Thanks! |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Describe the annoyance
When zooming a 3D space view, it is easy to zoom in or out way too much — because the zoom continues for a very long time after I stop moving the scroll wheel. It feels like some layer of input processing is inappropriately applying touchpad-style flinging to my wheel input (which then works poorly because wheels don't report the end of quick motion like a touchpad would).
Also, both wheel-based and touchpad-based zooming have a behavior where the rate of change of the displayed zoom seems to be held constant until it (apparently) catches up to an invisible target value. This is bad for precise control, because it means I can't predict when I've hit the desired target and stop my physical input motion there; I have to wait until it stops and then adjust. (Note that typical flinging implementations convey the distance that will be covered via a gradually decreasing velocity.)
It might be that the fling-ish behavior would be much more controllable if the constant-rate behavior was removed, but the combination is definitely An Annoyance and if it were up to me, I'd remove both.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Zoom tracks the motion of the wheel proportionally.
Actual behavior: After a movement of more than about 5 steps, zooming continues for about a second, often reducing the scene to a point if zooming out.
Your goals
Quickly scale data to a convenient viewing size (when auto-fitting doesn't work).
Screenshots
In this recording, I am making only brief motions of the scroll wheel but, if they are not very small, zooming continues for around a second afterward, with no hint as to when it is going to stop:
Screen.Recording.2024-01-03.at.10.15.19.mp4
Desktop (please complete the following information):
The text was updated successfully, but these errors were encountered: