Skip to content

Mini player: cover palette + liquid backdrop (library heroes unchanged) - #3

Draft
lasangainc wants to merge 1 commit into
mainfrom
cursor/miniplayer-liquid-palette-5fcf
Draft

Mini player: cover palette + liquid backdrop (library heroes unchanged)#3
lasangainc wants to merge 1 commit into
mainfrom
cursor/miniplayer-liquid-palette-5fcf

Conversation

@lasangainc

Copy link
Copy Markdown
Owner

Summary

  • Replaced the mini player’s flat average-color gradient with a k-means palette sampled from the track artwork (PlayerBackdropPalette: 3–5 swatches + mean luminance for control chrome).
  • Added MiniPlayerLiquidBackdrop: slow-moving blurred ellipses and radial drifts (TimelineView at 30 fps) with screen-style blending, plus the same style of center highlight and trailing edge shading as before.
  • Playlist, album, and artist hero gradients still call ArtworkColorSampler.palette(from:) and HeroArtworkTint; that path is unchanged so library washes do not pick up the liquid look or the new clustering.

Technical notes

  • Shared rgbBitmap(from:size:) helper used by both the existing 64×64 hero sampling and the new 56×56 mini player clustering.
  • Mini player continues to fetch art at maxPixelSize: 96 before sampling.

Testing

  • xcodebuild was not available in the agent environment; please build Lightify for macOS locally to verify.
Open in Web Open in Cursor 

Extract a multi-color PlayerBackdropPalette via k-means on a 56px bitmap
for the mini player only. Add animated blurred blobs (TimelineView)
behind the artwork in compact and lyrics-expanded layouts.

Keep ArtworkPalette and palette(from:) unchanged so playlist, album,
and artist hero gradients still use the existing sampling path.

Co-authored-by: coolbanjo <lasangainc@users.noreply.github.com>
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