4713793900
Ports Flutter's CachedIndicator (circle_check_big, size 14, accent, 4px left pad) to all 5 track-row screens (Album, History, Liked, Playlist, Search). CachedTrackIds exposes a reactive Set of trackIds with bytes in Media3's SimpleCache — true on-disk residency (keyed per track via the custom cache key from slice 1), so an evicted track loses its dot. Read through a LocalCachedTrackIds CompositionLocal provided at the app root, mirroring the existing LocalDetailSeedCache pattern, so leaf rows need no per-screen plumbing. The persisted cache is read eagerly, so dots paint for previously-cached tracks even when the library is opened offline. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>