Skip to content

Add a curated mod-asset directory and /api/mods#493

Closed
ptrlrd wants to merge 1 commit into
mainfrom
feat/mod-asset-directory
Closed

Add a curated mod-asset directory and /api/mods#493
ptrlrd wants to merge 1 commit into
mainfrom
feat/mod-asset-directory

Conversation

@ptrlrd

@ptrlrd ptrlrd commented Jun 16, 2026

Copy link
Copy Markdown
Owner

Foundation for the third entity-art fallback (main -> beta -> mod -> placeholder) on the run and live pages, starting from the idea of a provided mod-asset repo.

data/mods.json is a curated, vetted directory of community mods. Each entry points at the mod's image repo and its per-type subpaths. Because the images are named by the in-game entity id, lowercased (relic DAMARU -> relics/damaru.png, the official convention), a modded id maps straight to a raw URL: <raw_base>/<paths[type]>/.. /api/mods serves the directory.

Seeded with WatcherMod (lamali292/WatcherMod). Verified the convention holds and that raw GitHub serves the images (relics/damaru.png -> 200 image/png).

Next step (separate PR): the frontend resolution. For a deck/relic/potion id that resolves in neither the main nor beta catalog, build the mod URL and use it, with a generic placeholder as the final fallback. That touches several entity-image sites across the live components (ticker, deck/relic/potion strips, shop) and the run page, so it is best done with one shared resolver. Hotlinking raw GitHub works for v1; mirroring vetted mods to the CDN is a later robustness step (raw GitHub has no canvas-export CORS and rate limits).

Backend only here: the directory + endpoint.

Foundation for resolving modded entity art as a third fallback after main and
beta on the run and live pages. data/mods.json is a vetted directory of mods
whose image repos are named by the in-game entity id (lowercased), matching the
official convention, so a modded id maps straight to a raw URL
(<raw_base>/<paths[type]>/<id>.<ext>). /api/mods serves the directory. Seeded
with WatcherMod (lamali292/WatcherMod), whose relics/cards/potions follow the
convention (relic DAMARU -> relics/damaru.png, verified 200 on raw GitHub).

Frontend wiring (resolve unresolved ids to the mod URL, with a placeholder as
the final fallback) is the next step, since it touches several entity-image
sites across the live and run components and is best done with one shared
resolver.
@ptrlrd

ptrlrd commented Jun 16, 2026

Copy link
Copy Markdown
Owner Author

Folded into #496, which delivers the whole modded-card feature (directory, ingest, parse, bake, backend serving, and frontend resolution) in one MR.

@ptrlrd ptrlrd closed this Jun 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant