ac774f09fc
The collage builder pulled exactly 4 tracks (in playlist position order) and rendered each track's album cover into a 2x2 cell. A playlist where the first 4 tracks share an album rendered as four identical cells of the same cover; a "Songs like X" mix where two similar artists dominated produced very similar collages. Now pulls 50 rows from the same query and drops adjacent / duplicate covers in Go before passing to the renderer. NULL and empty cover_art_paths are NOT deduped (they each render the fallback glyph in their own cell — the right behavior for a partially-covered playlist). Preserves playlist position order: the first occurrence of each unique cover wins. Five unit tests cover the behavior: drops duplicates, keeps NULLs, handles empty-string paths, preserves order, mixed null/dup case. Tangential to the For-You CTA slice but lands here as a small quality-of-life fix that benefits every playlist's collage.