User story: Save content to library
**As a** listener, **I want** to save content to my library and organize it into playlists, **so that** I can access it later regardless of which plugin provided it.
User story: Save content to library
As a listener,
I want to save content to my library and organize it into playlists,
so that I can access it later regardless of which plugin provided it.
Priority
Must
Acceptance criteria
- Given I find a track in search results, when I add it to my favorites, then it appears in the library’s Favorites view.
- Given I have tracks from two different plugins in my library, when I view my library, then they are displayed uniformly with no indication of which plugin produced them.
- Given I have saved tracks, when I create a playlist and add tracks from different sources, then the playlist plays through all sources seamlessly.
- Given I have played tracks, when I open playback history, then I see a chronological list with timestamps.
- Given the app is restarted, when I reopen the library, then all saved content and playlists are preserved.
Notes / constraints
- Library uses stable content UUIDs (FR-ID-1). Source plugin is an implementation detail resolved at playback time.
- Queue and library are persisted to disk (NFR-REL-3).
Traceability
- Requirement IDs: FR-CORE-3, FR-ID-1
- NFRs: NFR-REL-3, NFR-REL-4
- Feature docs:
docs/user/features/library.md