# 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) 0. **Blender pre-check (before the engine pass).** `Art/blender/site/site_assembly.py` raycasts 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. 1. **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. 2. **No packaging errors.** The packaged build launches, reaches gameplay, and quits cleanly. Logs contain no missing-asset, missing-map, or shader-compile errors. 3. **Licensing.** Every new asset has provenance in `THIRD_PARTY_NOTICES.md`, or is recorded as unresolved and kept out of the build. 4. **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 1. 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. 2. 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. 3. No blocking collision, no invisible walls, no gaps at sidewalk/road seams. 4. 60 FPS at 1440p per the performance check above. 5. Fresh checkout builds against the documented external engine installation. 6. Linux build packaged and launched; controls documented in `Docs/` and shown in-game. 7. Geographic attribution is visible in-game: "© OpenStreetMap contributors" with a working licence link. 8. Tag `v0.1.0`, write the `CHANGELOG.md` entry, then remove the completed section from `TODO.md` (its goal stays in `ROADMAP.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 | — | — | — |