added a unique ID to use in graph node.id, link.source and link.target
you were using song names as IDs, but this is not helpful because song names often repeat in the dataset (search for "bulletproof" for example)
thus your selection would then highlight wrong songs when matching just by song name
thus, i added also artist and genre fields into the ID. it's still not unique though, but it's almost unique. the dataset originally had true unique IDs
you were checking songs with selectionSet.has(node.id), but selection is an array and it doesn't have a "has" method. here i created a set based on the IDs of songs and used that below
Spotify Dataset Group Project | 🪦 dv design 2025 spring | Observable