- Converted 13 individual .adoc section files to .md via asciidoctor→docbook5→pandoc(gfm) + post-processing, placed alongside the .adoc sources in Docs/Architecture/ - Rebuilt architecture.md from the individual section .md files - Ran prettier --write on all .md in the repo (23 files changed): normalised table column alignment, trailing whitespace, line breaks - Added .agents/ to .prettierignore (vendored third-party content) - All .md now passes prettier --check
3.4 KiB
Release checks
Every version in TODO.md ends with release checks, and the scope and goal of each version are in ROADMAP.md. A version is not tagged until all of its checks pass. If a check fails, do not tag; open a patch task in TODO.md and report the failing check in CHANGELOG.md.
Record results in the table at the end of this file, with the date, the exact build under test, and the evidence (screenshot, log, or command output). A check without recorded evidence counts as failed.
General checks (every release)
-
Blender pre-check (before the engine pass).
Art/blender/site/site_assembly.pyraycasts both sidewalks and the designated crossing on a 1 m grid and reports holes and step heights. It is evidence, not the check: the engine traversal below is still required. -
Fresh checkout builds. Clone into a clean directory,
git lfs pull, build and package using only the documented external engine installation. No machine-specific paths, no uncommitted steps. -
No packaging errors. The packaged build launches, reaches gameplay, and quits cleanly. Logs contain no missing-asset, missing-map, or shader-compile errors.
-
Licensing. Every new asset has provenance in
THIRD_PARTY_NOTICES.md, or is recorded as unresolved and kept out of the build. -
Version discipline. Patch releases contain fixes, optimisation, docs, or tuning only — no new scope.
Performance check
Measured at 1440p on the development workstation: Bazzite, Ryzen 7 7700X, 64 GB RAM, RTX 5070 Ti 16 GB.
- Record the quality preset, the exact upscaling state (off, DLSS/TSR/FXAA and mode), and the engine version.
- Report frame rate without frame generation and with frame generation, separately.
- Target: 60 FPS at 1440p without frame generation.
- Capture a frame-time graph over a fixed traversal route, not a single sample. State the route.
0.1.0 checks
- Player traverses both the south-side frontage and the north-side frontage of the demo without falling through geometry, including the designated crossing. Walk the route twice: once normally, once with collision debug visualisation enabled.
- Building placement, street width, sidewalk depth, and site identity match the reference photography. Compare side by side and note every deliberate deviation. "Looks right" is not evidence.
- No blocking collision, no invisible walls, no gaps at sidewalk/road seams.
- 60 FPS at 1440p per the performance check above.
- Fresh checkout builds against the documented external engine installation.
- Linux build packaged and launched; controls documented in
Docs/and shown in-game. - Geographic attribution is visible in-game: "© OpenStreetMap contributors" with a working licence link.
- Tag
v0.1.0, write theCHANGELOG.mdentry, then remove the completed section fromTODO.md(its goal stays inROADMAP.md).
Check-record template
| Version | Check | Result | Evidence | Date |
|---|---|---|---|---|
0.1.0 |
Traversal, both sides | — | — | — |
0.1.0 |
Placement vs references | — | — | — |
0.1.0 |
Collision and packaging | — | — | — |
0.1.0 |
60 FPS at 1440p | — | — | — |
0.1.0 |
Fresh checkout build | — | — | — |
0.1.0 |
Packaged Linux build | — | — | — |
0.1.0 |
Attribution display | — | — | — |