Skip to content

feat(zoom): spring wheel glide and scroll zoom speed, as on the Mac (#548) - #549

Merged
Maxaubert merged 1 commit into
mainfrom
feat/wheel-spring-glide
Nov 4, 2026
Merged

Maxaubert merged 1 commit into
mainfrom
feat/wheel-spring-glide

Conversation

@Maxaubert

Copy link
Copy Markdown
Owner

Fixes #548.

  • Wheel glide: ZoomController glides to the wheel target with SpringToward in log space (250 ms to 95%), the same spring as caret tracking and as Wind for Mac. It eases in (under 2% of a notch on the first frame, against 8.4% before) and keeps its speed across back-to-back notches. Settling waits for the speed to drop too.
  • wheelZoomSpeed (0.1 to 3, default 0.6 like the Mac): how far a notch zooms relative to the hold speed. Plumbed through config, the template, setWheelSpeed, the schema ("Scroll zoom speed" under Zoom > Level and speed), the defaults fixture and docs 08. Default notch size changes from 1.0 to 0.6 of the hold speed.
  • Tests: ease-in and no overshoot, speed carried across notches, the speed scale. Fixture regenerated.

Verified: build.bat test 675/675, test:rules, Playwright 218/218, signed UIAccess deploy. The owner tested it live: Ctrl+Alt+scroll at 0.5 feels right.

Note for #547 (shared fixtures): its win wheel-glide rows describe the old exponential. Once this merges they match the Mac rows and can become shared.

🤖 Generated with Claude Code

https://claude.ai/code/session_01Kg7JN6HgdB9FaHJsgLxovP

…s on the Mac (#548)

The wheel glide was a first-order approach (tau 80 ms) that moved part of a
notch on the very first frame. It now uses SpringToward in log space
(250 ms to 95%, eases in, keeps its speed across notches), the same as
Wind for Mac. New wheelZoomSpeed (0.1-3, default 0.6 like the Mac) sets
how far a notch zooms relative to the hold speed; Settings > Zoom has
the slider.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Kg7JN6HgdB9FaHJsgLxovP
@Maxaubert
Maxaubert merged commit 3ad5097 into main Nov 4, 2026
1 check passed
@Maxaubert
Maxaubert deleted the feat/wheel-spring-glide branch November 4, 2026 20:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Wheel zoom: spring glide (as on the Mac) and a scroll zoom speed setting

1 participant