docs: six media types complete; game detail says Play

- README status: PDF, music metadata, comic metadata, and games are done.
  Six media types work; video remains deferred by design. The stack now covers
  Stump, Kavita, Audiobookshelf, Navidrome, and RomM — only Jellyfin is left.
- IGDB environment variables documented.
- Item detail labels the primary action "Play" for games, not "Read".
This commit is contained in:
mithral 2026-10-09 21:57:40 -04:00
parent b82090ed29
commit 1d7831ac10
2 changed files with 18 additions and 12 deletions

View file

@ -18,23 +18,26 @@ The full plan lives in `~/.opencode/plan/vellum.md`.
| **2b** | FTS5 search | **done** |
| **3** | EPUB reader + progress | **done** |
| **4** | CBZ comic reader | **done** |
| **5** | Job queue, metadata (Open Library, Google Books) | **done** |
| **PDF** | PDF reading (pdf.js) | **done** |
| **5** | Job queue, metadata (Open Library, Google Books, MusicBrainz, ComicVine, IGDB) | **done** |
| **6a** | Audiobooks + music playback | **done** |
| **6c** | Photos + thumbnails | **done** |
| **UI** | Svelte app | **done** |
| 6b | Music metadata, smart playlists | not started |
| 7 | Games (EmulatorJS, IGDB) | not started |
| — | Video (stays on Jellyfin for now) | deferred |
| **7** | Games: ROM scanning, platforms, cloud saves, EmulatorJS | **done** |
| **UI** | Svelte app: home, browse, item pages, readers | **done** |
| 6b | Music smart playlists | not started |
| — | Video (stays on Jellyfin) | deferred |
What works today: an administrator adds libraries pointing at server folders,
scans them, and optionally enriches metadata from Open Library. Users sign in
and read EPUBs, read CBZ comics, listen to audiobooks track-by-track, and
browse photos — with position saved per account, per file. PDF, RAR comics,
games, and video are not implemented.
scans them, and optionally enriches metadata. Users sign in and read EPUBs and
PDFs, read CBZ comics, listen to audiobooks track-by-track, browse photos, and
play emulated games in the browser with their own cloud saves — with position
saved per account, per file.
Five of the six services in the existing stack are covered: **Stump, Kavita,
Audiobookshelf, Navidrome (playback), and RomM** are the intended
replacements. RomM is not yet covered; video stays on Jellyfin.
**Six media types work: ebooks, comics, audiobooks, music, photos, games.**
Video is the only one not implemented, and it stays on Jellyfin on purpose.
Of the services in the existing stack, this covers **Stump, Kavita,
Audiobookshelf, Navidrome, and RomM**. Only Jellyfin (video) is left.
## Quick start
@ -66,6 +69,8 @@ binary runs with no configuration at all.
| `VELLUM_ADMIN_PASSWORD` | *(none)* | Password for that first admin (min 8 chars) |
| `VELLUM_COOKIE_SECURE` | `false` | Set `true` when serving over TLS |
| `VELLUM_COMICVINE_API_KEY` | *(none)* | Enables comic metadata via ComicVine |
| `VELLUM_IGDB_CLIENT_ID` | *(none)* | Enables game metadata via IGDB |
| `VELLUM_IGDB_CLIENT_SECRET` | *(none)* | IGDB client secret (both required) |
| `VELLUM_LOG_LEVEL` | `info` | `debug`, `info`, `warn`, `error` |
| `VELLUM_LOG_FORMAT` | `text` | `text` or `json` |
| `VELLUM_SESSION_TTL` | `720h` | Login session lifetime |

View file

@ -43,6 +43,7 @@
switch (detail?.item.kind) {
case 'audiobooks':
case 'music':
case 'games':
return 'Play'
case 'photos':
return 'View'