Skip to content

Match gradient bleed to composited backdrop edge (fix page-boundary seam) - #128

Merged
jaasthisenna-jpg merged 1 commit into
mainfrom
claude/nowplaying-bleed-seam-match
Jul 21, 2026
Merged

jaasthisenna-jpg merged 1 commit into
mainfrom
claude/nowplaying-bleed-seam-match

Conversation

@sanylax2

Copy link
Copy Markdown
Collaborator

Summary

Follow-up to the merged gradient-bleed feature (#127). A visible hard-edge/seam remained where the now-playing album backdrop meets the bleed extensions in the Library/Queue pages: the backdrop darkens its edges with a black scrim (0.30 top / 0.35 bottom) plus a 55% blurred-art overlay, but the bleed extensions were drawing the RAW un-scrimmed palette colors — so the bleed read lighter/different than the backdrop edge, producing a brightness jump.

Fix

Darken the bleed extension boundary colors by the same scrim factors (top 0.30 / bottom 0.35) via a new private Color.darkened(by:) helper, so the extension meets the composited backdrop edge. The bottom boundary is an exact match (no art there); the top is a close approximation (a faint blurred-art texture the flat extension can't fully reproduce may remain — see Testing). The now-playing screen is pixel-identical (only the extension endpoint colors changed; geometry and the AlbumBackdrop band are untouched).

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. Device verification pending — specifically dark mode (primary) is targeted; light mode (near-white systemGroupedBackground) and the faint top-edge art residual should be checked on device.

Slack thread: https://continuity-org.slack.com/archives/C0BCTF2C5NK/p1784611489906939


Generated by Claude Code

…nsion colors)

The PagerBackdrop neighbor extensions used the raw palette endpoints, but
AlbumBackdrop composites its gradient with a black scrim (0.30 top / 0.35
bottom), so the bleed abutted a darker rendered edge -> visible seam at the
page boundary. Darken the extension endpoints by the matching scrim factors
via a new private Color.darkened(by:) helper. Now-playing band unchanged.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0152PJuDNPYYxd7SDm4TSvbV
@jaasthisenna-jpg
jaasthisenna-jpg marked this pull request as ready for review July 21, 2026 07:21
@jaasthisenna-jpg
jaasthisenna-jpg merged commit 72bd2bb into main Jul 21, 2026
4 checks passed
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.

3 participants