Repository navigation
Soften now-playing gradient-to-black seam at the page boundary - #124
Merged
Merged
Conversation
The scroll crossfade darkened the entire now-playing backdrop by a single uniform opacity, so mid-page the half-darkened gradient met the neighbor page's solid systemGroupedBackground fill in a crisp horizontal step. Replace the uniform tint in NowPlayingBackgroundFade with a directional vertical LinearGradient (systemGroupedBackground -> clear) that dissolves the backdrop into the neighbor's background only from the abutting edge (top when paging to Library, bottom when paging to Up Next), ramping smoothly into the artwork gradient. The page boundary becomes background-on-background (no seam) and the fall-off is continuous (no crisp line). At rest every stop is clear, so the full gradient shows untouched. Still a leaf reading scrollFraction, so the heavy backdrop / now-playing bodies aren't invalidated per frame. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0152PJuDNPYYxd7SDm4TSvbV
sanylax0
approved these changes
Jul 21, 2026
sanylax0
marked this pull request as ready for review
July 21, 2026 06:37
Collaborator
Author
|
Superseded by #127 — replaced the edge-crossfade with a shared backdrop that bleeds the gradient halfway into the Library/Queue pages per updated design feedback. Generated by Claude Code |
Collaborator
Author
|
Correction to the comment above: #124 was already merged into Generated by Claude Code |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
When paging between the now-playing screen and the Library/Queue (Up Next) pages, the album gradient met the neighbor page's solid
systemGroupedBackground(pure black in dark mode) with a hard horizontal line. This was because the scroll crossfade (shipped in #123) darkened the entire backdrop by a single uniform opacity, so mid-scroll a uniformly-dimmed gradient abutted the neighbor's solid background — a crisp step at the page seam.Fix
NowPlayingBackgroundFadenow uses a directional verticalLinearGradient(systemGroupedBackground→ clear) that darkens only from the edge abutting the neighbor page inward (top edge when paging toward Library, bottom edge toward Up Next). The backdrop dissolves smoothly into the neighbor's black/white background with no hard line, and at rest (scrollFraction == 1) every stop is clear so the album gradient is untouched. Text/control legibility is preserved (only darkening is added).Performance
Still an isolated leaf view reading
scrollFraction, so the heavy backdrop/now-playing bodies aren't invalidated per scroll frame; no live.blur— consistent with the app's jetsam/memory guardrails.File changed:
App/Continuity/Views/MainPagerView.swift.Testing
App-target SwiftUI can't be compiled on Linux CI (only ContinuityCore is Linux-testable); validated by review of SwiftUI API + Swift syntax; device verification pending.
Slack thread: https://continuity-org.slack.com/archives/C0BCTF2C5NK/p1784611489906939
Generated by Claude Code