Skip to content

feat: album-aware theme tinting and full-screen background#29

Merged
joshhbk merged 1 commit intomainfrom
feature/album-tinted-background
Feb 1, 2026
Merged

feat: album-aware theme tinting and full-screen background#29
joshhbk merged 1 commit intomainfrom
feature/album-tinted-background

Conversation

@joshhbk
Copy link
Owner

@joshhbk joshhbk commented Feb 1, 2026

Summary

  • Theme colors now blend with album art's dominant color instead of replacing it entirely
  • Removed the rectangular "now playing" panel - full-screen tinted background with subtle grain
  • Swipe gesture still cycles through themes, but each theme "tints" the album color rather than overriding it

Changes

  • ColorBlending.swift (new): HSB color utilities for hue interpolation, luminance calculation
  • TintedThemeProvider.swift (new): Computes blended colors from album + theme
  • Shaders.metal: Simplified to subtle grain texture (removed directional brushing)
  • BrushedMetalBackground.swift: Now reads theme from environment, full-screen coverage
  • ClassicPlayerLayout.swift: Removed ShuffleBodyView wrapper, content floats directly
  • PlayerView.swift: Integrated TintedThemeProvider, uses new background

Test plan

  • Play songs with different album art colors
  • Swipe left/right to change themes - color should shift while staying harmonious with album
  • Verify text readability on light and dark blended colors
  • Check empty state (no songs) falls back to pure theme color
  • Device tilt should not cause visible artifacts on background

🤖 Generated with Claude Code

- Add ColorBlending utilities for HSB color manipulation
- Add TintedThemeProvider to blend album colors with theme hues
- Replace rectangular panel with full-screen tinted background
- Simplify brushed metal shader to subtle grain texture
- Song info and click wheel now float directly on background

The theme swipe gesture still works - each theme now "tints" the
album's dominant color rather than replacing it entirely.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@joshhbk joshhbk merged commit 6f2dc2f into main Feb 1, 2026
1 check failed
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