v2.68.10
Immutable
release. Only release title and notes can be modified.
- Track details now render directly from the latest prop: title, artist, cover, and playback progress are never gated on album-color extraction.
- The extracted gradient is independent visual state. While the next cover's colors are pending, the outgoing gradient remains painted instead of dropping to bare paper.
AlbumGradientBackdroppaints gradients on stacked layers because gradient stacks are not reliably interpolable. The incoming layer fades over the outgoing one, then removes spent layers onanimationend; the surface and blurred glow dissolve together.- The background keeps
TIMING_SLOWwithEASING_DEFAULT, a plain ease rather than a spring. Reduced-motion CSS collapses the animation to an effectively instant swap. - Removed the 1.5s handoff timeout, deferred
displayTrack, and WAAPI opacity settle. Only the background animates now. - Added tests proving that next-track content renders while extraction is unresolved and that the previous gradient persists until the replacement resolves.
Browser verification used an intentional 900ms delay on the incoming album-art request. The new title committed 3.9ms after the track prop changed (worst of dark/light measurements), while the old gradient remained fully painted until the new one crossfaded in. Old main showed a bare card during the same delayed extraction window.