Website | Source

Vassal TypeScript interpreter: A browser-native player for VASSAL modules, including iOS Safari. It is not a port of the Java desktop app — it is a TypeScript interpreter of the .vmod module format: it reads a module's buildFile.xml, decodes each piece's trait chain, and reimplements the trait behaviors on an HTML canvas. No Java and no server are required to play; the built site is fully static. It is developed against locally-bundled reference modules that span the format's range — an extension-heavy module (piece-roster extensions, prototypes, cards), a complex module (custom Java classes, hex grids, lazily-loaded board archives, DR/dr dice), and a legacy 3.1-era module — but the code knows formats, not games: no module names or content appear in the repo.


Tags: gamedev   jvm   browser  

Last modified 11 September 2026