Work out and build the RetroArch store

RETROARCH_STORE.md is the design, written from measurements rather than
documentation: the format samples, thumbnail layout and core names come from
a real RetroArch install on this machine, the core availability from the
libretro buildbot index, and the CRC32s from the catalog itself.

Three findings shaped it. The playlist folder is not necessarily inside the
RetroArch directory — on the machine measured, playlist_directory is under
~/Documents while cores and thumbnails are under ~/Library — so reading
retroarch.cfg is a requirement, not a nicety. Thumbnails must be PNG, and
one of our covers is a GIF, which no store had cared about before. And a
.lpl entry has nowhere to put a description, so desc and author do not
survive the trip.

Built the same day, in three repositories: engines/warpstore (the shared
core, extracted immediately rather than in the second phase the plan
proposed), tools/warp-engine-retroarch-store and tools/ttg-retroarch-store.
The closing section of the design records what the implementation changed
about it.

MORE_STORES.md item 4 is closed, its "a minta" section now points at the
extracted core, and REPO_REFACT.md carries the three new repos —
check-repos.sh is green at 49.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-08-17 18:08:59 +02:00
co-authored by Claude Opus 5
parent 93da0aa13e
commit 0f2fe6de62
5 changed files with 612 additions and 2 deletions
+3
View File
@@ -25,6 +25,7 @@ This file lives in the `devarea` repo (`tools/devarea`). The repo's `scripts/` f
| `engines/inkwell` | `engines` | inkwell | `infra/wiki-pages/pages/engines/inkwell/default.md` | https://wiki.teletypegames.org/engines/inkwell |
| `engines/rubbs` | `engines` | rubbs | `infra/wiki-pages/pages/engines/rubbs/default.md` | https://wiki.teletypegames.org/engines/rubbs |
| `engines/warp_engine` | `engines` | WarpEngine | `infra/wiki-pages/pages/engines/warp-engine/default.md` | https://wiki.teletypegames.org/engines/warp-engine |
| `engines/warpstore` | `engines` | warpstore | `infra/wiki-pages/pages/engines/warpstore/default.md` | https://wiki.teletypegames.org/engines/warpstore |
| `games/blessingofra` | `games` | Blessing of Ra | `infra/wiki-pages/pages/projects/blessingofra/default.md` | https://wiki.teletypegames.org/projects/blessingofra |
| `games/c64-demo` | `games` | Teletype Games C64 Demo | `infra/wiki-pages/pages/projects/c64-demo/default.md` | https://wiki.teletypegames.org/projects/c64-demo |
| `games/impostor` | `games` | Definitely Not an Impostor | `infra/wiki-pages/pages/projects/impostor/default.md` | https://wiki.teletypegames.org/projects/impostor |
@@ -38,7 +39,9 @@ This file lives in the `devarea` repo (`tools/devarea`). The repo's `scripts/` f
| `services/teletypegames` | `services` | Public site | `infra/wiki-pages/pages/infrastructure/public-site/default.md` | https://wiki.teletypegames.org/infrastructure/public-site |
| `services/updater` | `services` | Discord Updater Bot | `infra/wiki-pages/pages/others/updater/default.md` | https://wiki.teletypegames.org/others/updater |
| `tools/ttg-batocera-store` | `tools` | TTG Batocera Store | `infra/wiki-pages/pages/others/ttg-batocera-store/default.md` | https://wiki.teletypegames.org/others/ttg-batocera-store |
| `tools/ttg-retroarch-store` | `tools` | TTG RetroArch Store | `infra/wiki-pages/pages/others/ttg-retroarch-store/default.md` | https://wiki.teletypegames.org/others/ttg-retroarch-store |
| `tools/warp-engine-batocera-store` | `tools` | WarpEngine Batocera Store | `infra/wiki-pages/pages/others/warp-engine-batocera-store/default.md` | https://wiki.teletypegames.org/others/warp-engine-batocera-store |
| `tools/warp-engine-retroarch-store` | `tools` | WarpEngine RetroArch Store | `infra/wiki-pages/pages/others/warp-engine-retroarch-store/default.md` | https://wiki.teletypegames.org/others/warp-engine-retroarch-store |
## Notes