Last updated: 2026-06-17
@hypercrab2000/doom-gzengine-core — game engine WASM scaffold, GZTICK wire format. Cross-repo guide: ../../docs/TESTING.md.
Scaffold only. Tests today cover TypeScript types, GZTICK codec stubs, and host API contracts. Tick parity corpus and WASM binary tests are not started.
| Component | Test status |
|---|---|
| GZTICK v0 TypeScript types | Unit tests |
| Binary read/write codec | Unit tests |
GzEngineHostApi stub |
Unit tests |
GZDoom -dumpgztick fixtures |
Not started |
WASM gzengine_core |
Not started |
| Federated engine+renderer | doom-wad-lab integration (planned) |
npm install
npm test
npm run test:watch
npm run buildAligned with game-engine-vs-renderer.md:
Layer A GZTICK codec — section layout, endian, version bump policy
Layer B Tick fixtures — GZDoom dump vs WASM export per map/tick
Layer C Actor/thinking corpus — zombie, sergeant, imp minimal set
Layer D Federated host — engine WASM + renderer WASM in doom-wad-lab
npm test # codec + types (today)
npm run corpus:tick # GZDoom vs WASM tick parity (planned)
npm run test:engine-render # doom-wad-lab federated integration (planned)Tick ground truth requires gzdoom-project fork with -dumpgztick (not implemented yet). Until then, tests validate format contracts only.
See gzdoom-project/docs/PARITY-TOOLS.md.
- GZTICK schema change → version bump in GZTICK-v0.md + golden fixture update.
- Any fix to tick simulation → add failing fixture before fix.
- Run
doom-wad-core+doom-wad-labsmoke after host API changes.
| Document | Topic |
|---|---|
| ARCHITECTURE.md | Engine vs renderer split |
| GZTICK-v0.md | Wire format draft |
| LICENSING.md | MIT vs future GPL linkage |