Skip to main content

Architecture decisions

Generated page

This page is generated from docs/adr by docs:collect. Edit the source, not this page.

One record per architecture decision, numbered in the order they were taken. A decision that replaces another says so in its record.

ADRDecisionStatusDate
0001Typings are generated from vendored raw Patch files plus a hand-curated Overlayaccepted2026-09-23
0002The toolchain follows typescript-to-lua's TypeScript peer, and library tests run the compiled Lua on real Lua 5.3accepted2026-09-23
0003Creation throws, lookup returns undefined; the Handle registry upgrades to the more specific Wrapperaccepted2026-09-23
0004Doc comments follow TSDoc with declared custom tags, examples are included from compiled files, and library coverage is gatedaccepted2026-09-23
0005The docs site runs on Docusaurus, is versioned per library release by CI, and generates the migration table from a rename mapaccepted2026-09-23
0006The Template owns code, the World Editor owns data, and every library release must build the Template before it shipsaccepted2026-09-23
0007Guards live in three layers, and the runtime layer sits behind one dev-mode flagaccepted2026-09-23
0008Every Wrapper covers all natives owned by its handle type, measured by a generated report, and Blizzard.j is never mirroredaccepted2026-09-23
0009Packages are versioned independently with Changesets, and each one declares the game Patch it supportsaccepted2026-09-23
0010The Probe runner copies the Template's minimal pipeline instead of depending on the Templateaccepted2026-09-29