Drop the OpenStreetMap/ODbL attribution requirement, the Google imagery rule, and the related F-4 requirement, risk R-4, release check, and TODO items across AGENTS, PLAN, ROADMAP, README, setup, architecture sections, and manifests. OSM data is now documented as local private use only. Also normalize numbered-list indentation in the architecture docs.
45 lines
3.3 KiB
Markdown
45 lines
3.3 KiB
Markdown
# 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. 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 | — | — | — |
|