Skip to content

fix(desktop): slide the lyric sheet on the macOS spring - #9

Merged
aodjo merged 1 commit into
developfrom
fix/lyrics-spring
Sep 6, 2026
Merged

aodjo merged 1 commit into
developfrom
fix/lyrics-spring

Conversation

@aodjo

@aodjo aodjo commented Sep 6, 2026

Copy link
Copy Markdown
Owner

The scrolling lyrics reached 96% of their travel a quarter of the way through
the time they were given, so a line change read as a jump rather than a
glide, and the cascade delay tore the rows apart to 42px gaps before snapping
them back to 29px.

The spring constants did not match SwiftUI's spring(duration:bounce:): that
spring's duration is one period of the underlying oscillator, so the
normalised frequency is a full turn of the circle rather than 11.5, and the
damping ratio is one minus the bounce.

Measured on a headless render of the view, frames every 40ms:

before after
travel complete ~180ms ~470ms
widest row gap mid-slide 42px 37px

Also here: the highlight follows the line being sung rather than the focused
row, so an instrumental gap dims the sheet the way macOS does instead of
leaving a line lit; the crossfade eases at both ends; and a slide draws the
rows it is travelling from, so a seek no longer pops them in.

https://claude.ai/code/session_0164R7Zuagx737iKYbuuSjnA

Copilot AI lite review requested due to automatic review settings September 6, 2026 13:38
@aodjo
aodjo merged commit cc25841 into develop Sep 6, 2026
7 of 8 checks passed

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@aodjo
aodjo deleted the fix/lyrics-spring branch September 6, 2026 13:38
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.

2 participants