Skip to content

Enhanced Full-Screen Track Artwork & Transition Fixes - #284

Merged
ajisth69 merged 2 commits into
Clash-Projects:mainfrom
Arunkumar-Anbazhagan:main
Oct 9, 2026
Merged

ajisth69 merged 2 commits into
Clash-Projects:mainfrom
Arunkumar-Anbazhagan:main

Conversation

@Arunkumar-Anbazhagan

Copy link
Copy Markdown
Contributor

📝 Overview

This PR implements full-screen cover art support for both static and animated tracks while maintaining a seamless user experience across the player and lyrics tabs. It introduces smooth crossfades, fixes background flashing, optimizes hardware performance, and ensures all core player interactions remain intact.

🚀 Key Changes

✨ Features & Improvements

• Full-Screen Artwork Support: Added StaticArtworkHero to display full-bleed cover art for static tracks. Features a top-aligned crop and a hardware-accelerated bottom alpha gradient fade.
• Seamless Crossfading: Updated PlayerHost to smoothly crossfade between static full-screen art and the traditional sleeve card view.
• Settings Control: Added a new Full Screen Artwork toggle in SettingsScreen that operates independently of the motion canvas.
• Component Preservation: Integrated full-screen art with existing player gestures, lyrics blur, and contrast scrims.

🐛 Bug Fixes & Performance Optimizations

• Eliminated Visual Flashing: Stopped the tearing down of FluidArtworkBackground during lyrics navigation. The animation loop now pauses on extraBlur instead of discarding the composable subtree, eliminating color clashing and seam lines.
• Deterministic Visuals: Made the FluidArtworkBackground seed deterministic per track (using videoId + title) to prevent random angle and hue shifts when returning to the player.
• Hardware Acceleration: Replaced heavy dynamic blur passes with hardware-accelerated alpha transitions for StaticArtworkHero and CanvasArtworkPlayer, significantly reducing RenderEffect churn.

🛠️ Technical Implementation Details

• State Management: Preserved the rendering pipeline when switching to the lyrics tab to prevent layout destruction and recreation.
• Performance: Offloaded blur transitions to hardware-accelerated alpha channels to improve frame rates and reduce GPU overhead.

… tracks

- Add StaticArtworkHero with top-aligned crop and hardware-accelerated bottom alpha gradient fade
- Update PlayerHost to display full-bleed cover art for static tracks with smooth sleeve card crossfade
- Support lyrics blur and preserve all player gestures and contrast scrims
- Keep Full Screen Artwork setting toggleable in SettingsScreen independent of motion canvas
- Create builds directory with build output and artifact documentation
…yrics transition

- Prevent tearing down FluidArtworkBackground on lyrics navigation; pause animation loop on extraBlur instead of discarding composable subtree
- Make FluidArtworkBackground seed deterministic per track (videoId + title) to prevent random angle and hue shifts on return
- Transition StaticArtworkHero and CanvasArtworkPlayer via hardware-accelerated alpha instead of dynamic blur passes
- Eliminate color clashing, seam lines, and RenderEffect churn across lyrics and player tabs
@ajisth69

ajisth69 commented Oct 9, 2026

Copy link
Copy Markdown
Member

@Arunkumar-Anbazhagan GOAT.

@ajisth69
ajisth69 merged commit d91d6c6 into Clash-Projects:main Oct 9, 2026
@Arunkumar-Anbazhagan

Copy link
Copy Markdown
Contributor Author

Thanks bro

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