The long-term shape of the project is:
- UI code is local to the client
- remote network access is limited to:
- game images
- the catalog data contract
That makes the product a good fit for mobile wrappers or native clients because:
- the interface can ship bundled with the app
- the dataset can be updated independently
- updates are explicit and versioned
- offline caching is straightforward
The browser app already consumes the manifest-first JSON contract and still keeps CSV fallback support as a safety net during the transition.
Core files:
main.js: catalog refresh pipelineserver.js: local static serverindex.html: app shelljs/app.js: filtering, sorting, rendering, and UI statecss/styles.css: frontend stylingdata/title-overrides.json: manual title aliases for difficult HLTB matchesdata/catalog-manifest.json: stable manifest for shared clientsdata/catalog.json: stable current JSON datasetdata/catalogs/: immutable versioned JSON datasetsdata/list.csv: generated CSV exportdata/metadata.json: generated refresh metadata