Repository navigation
feat(packs): square app icons for 30 packs, plus CS2 - #7
Merged
Merged
Conversation
The small game pills showed a sliver of each game's wide Wikidata
wordmark ("AGI GEN", "ROC LEA"). A pack can now name the game's own
square app icon with `appIcon` (`../app-icons/<slug>.webp`): 128 x 128
WebP, at most 25 KB, checked by its bytes on import.
Sources, all public and key-free: Steam client icons (256/512 px frames
of the .ico), App Store icons (iTunes Lookup), Nintendo eShop square
images, and one each from the Microsoft Store (Trackmania), the Epic
Games Store (Valorant) and Wikimedia Commons (osu!). Each file's origin
is in app-icons/SOURCES.md. Battlefield 6, Chess, League of Legends and
StarCraft II have no square icon from such a source and get none.
The 30 packs that gained one move to x.y.2, so installs pick it up.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
sivert-io
added a commit
to Auto-Tournament/auto-tournament
that referenced
this pull request
Sep 25, 2026
…iver
The 20 px game pills ("Popular here", "Your games") drew the game's
catalogue picture, which for anything that came from Wikidata is the wide
wordmark cropped to a sliver ("AGI GEN", "ROC LEA").
Packs can now carry the game's own square app icon (`appIcon`, a PNG or
WebP beside the pack). It is checked by its bytes on every way in —
upload, community index, catalog feed, bundled snapshot: PNG or WebP,
square, 32-512 px, at most 25 KB — and stored with the pack. It is served
on GET /api/packs/:slug/app-icon (the installed pack's, else the bundled
snapshot's, so popular titles nothing installed runs still have one) and
GET /api/catalog/packs/:slug/app-icon. CS2 ships its own with the module.
Every game summary carries `appIconUrl`.
GameMark now draws, in order: the app icon, the IGDB cover cropped square
from the top, or the initials on a per-game palette tint — never a wide
logo. The picker, profile "Your games", /welcome/games and Home chips use
it; GameThumb (the portrait cover thumb) is gone.
Games saved while search ran on Wikidata kept its wordmark for good once
IGDB was set up. They are now re-resolved against IGDB in the background
(at startup and when IGDB credentials are saved; rate-limited, same slug
or same normalised name only) and gain the IGDB id and cover, keeping
their id and slug.
Bundled packs synced from Auto-Tournament/packs#7 (30 packs at x.y.2).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
sivert-io
added a commit
to Auto-Tournament/auto-tournament
that referenced
this pull request
Sep 25, 2026
…iver (#398) The 20 px game pills ("Popular here", "Your games") drew the game's catalogue picture, which for anything that came from Wikidata is the wide wordmark cropped to a sliver ("AGI GEN", "ROC LEA"). Packs can now carry the game's own square app icon (`appIcon`, a PNG or WebP beside the pack). It is checked by its bytes on every way in — upload, community index, catalog feed, bundled snapshot: PNG or WebP, square, 32-512 px, at most 25 KB — and stored with the pack. It is served on GET /api/packs/:slug/app-icon (the installed pack's, else the bundled snapshot's, so popular titles nothing installed runs still have one) and GET /api/catalog/packs/:slug/app-icon. CS2 ships its own with the module. Every game summary carries `appIconUrl`. GameMark now draws, in order: the app icon, the IGDB cover cropped square from the top, or the initials on a per-game palette tint — never a wide logo. The picker, profile "Your games", /welcome/games and Home chips use it; GameThumb (the portrait cover thumb) is gone. Games saved while search ran on Wikidata kept its wordmark for good once IGDB was set up. They are now re-resolved against IGDB in the background (at startup and when IGDB credentials are saved; rate-limited, same slug or same normalised name only) and gain the IGDB id and cover, keeping their id and slug. Bundled packs synced from Auto-Tournament/packs#7 (30 packs at x.y.2). Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The small game pills in the app ("Popular here", "Your games") showed a cropped sliver of each game's wide Wikidata wordmark ("AGI GEN", "ROC LEA"). This gives every pack that has one the game's own square app icon — the one players see on their phone, desktop or launcher.
What changes
appIcon:../app-icons/<slug>.webp, a path (never a URL) to a square PNG or WebP. Documented in the README;index.jsonandcatalog.jsonentries carryappIconasapp-icons/<slug>.webp.app-icons/: 128 × 128 WebP, 0.8–9.7 KB each (limit 25 KB), for 30 packs plus CS2 (counter-strike-2.webp, kept for the record; the platform ships it with the CS2 module).app-icons/SOURCES.md: the source URL of every file.x.y.2, so installs pick it up.Sources (public, no API key, nothing behind a login)
.ico)artworkUrl512)Wikidata has no square-icon statement (P2910) for any of these, and P154 is the wordmark.
No app icon (no square icon from such a source): Battlefield 6, Chess, League of Legends, StarCraft II. The app falls back to the IGDB cover, then the initials.
Merge order
An instance that does not know
appIconrefuses it as an unknown field (it then installs the offline copy instead). Merge together with the platform PR that reads the field: Auto-Tournament/auto-tournament#398.Game icons are trademarks of their owners and are used only to identify the game.
🤖 Generated with Claude Code