From 808c3c194c50b2ebc459324c721b10a086581e3d Mon Sep 17 00:00:00 2001 From: Zwitschi Date: Sun, 8 Nov 2026 14:53:26 +0100 Subject: [PATCH] docs: record collision/seam audit evidence; close release check 3 --- Docs/release-checks.md | 25 ++++++++++++++++++++++++- MEMORY.md | 15 +++++++++++++++ TODO.md | 2 +- 3 files changed, 40 insertions(+), 2 deletions(-) diff --git a/Docs/release-checks.md b/Docs/release-checks.md index bf80f32..e3b3e9c 100644 --- a/Docs/release-checks.md +++ b/Docs/release-checks.md @@ -38,7 +38,7 @@ Measured at 1440p on the development workstation: Bazzite, Ryzen 7 7700X, 64 GB | ------- | ----------------------- | ------ | -------- | ---- | | `0.1.0` | Traversal, both sides | — | — | — | | `0.1.0` | Placement vs references | PASS (with deliberate simplifications) | Section below, 2026-11-08 | 2026-11-08 | -| `0.1.0` | Collision and packaging | — | — | — | +| `0.1.0` | Collision and packaging | PASS — no blocking collision, no invisible walls, no seam gaps (see audit note) | `-qaselftest` on the packaged build, 2026-11-08 | 2026-11-08 | | `0.1.0` | 60 FPS at 1440p | — | — | — | | `0.1.0` | Fresh checkout build | — | — | — | | `0.1.0` | Packaged Linux build | — | — | — | @@ -83,3 +83,26 @@ probed from the DemoMap (commandlet, 2026-11-08). Pre-check method: `Tools/judge_screenshot.py` (vision model) flagged the simplified flat surfaces as "unexpected" — those flags are the deliberate deviations above, not placement errors. Final verdict is by human review of the shots in `Screenshots/demo/`. + +## `0.1.0` — Collision and packaging — audit note (2026-11-08) + +Run on the packaged build (`GigLineQA`, Development, Vulkan SM5) with `-qaselftest`. + +- **Transect (holes/gaps):** 1456 samples over 16 rows — lane centres **plus the + kerb/road/sidewalk seam Ys** (−1382, −1053, +718, +1047 and neighbours) and + X −20000..−2000. Result **0 holes**. (The old 84-sample check covered only 3 + lane centres; the seam rows are what this check adds.) +- **Invisible-wall probe:** horizontal traces 30 m long, grounded at 160 cm above + the local ground, along the road and both seam rows. Result **0/35 blocking hits + inside 21 m** — no invisible walls or misplaced blockers in the street envelope. + (First pass used a fixed Z 160 start; the street is at Z ~366, so the probe + started inside the earth and reported every row as a dist-0 blocker. Grounding + the probe fixed that measurement bug.) +- **Walk / reset / pause:** 761 cm in 2 s (Z steady 456), reset 0 cm, pause + `IsGamePaused()=1`, unpause 0 — all PASS. +- Packaging: the packaged build launches, reaches gameplay, and the QA run quits + cleanly. The `GigLineShotActor` screenshot rounds are suppressed under + `-qaselftest` so they cannot quit the run before the audit phases. +- Caveat recorded: ground Z extremes (−12 m / 3000 cm) are trace-start/terrain-edge + artifacts of the widened extent, not walkable holes — the walkable corridor is + continuous (walk + transect both PASS). diff --git a/MEMORY.md b/MEMORY.md index 83ab3ab..5cbea1d 100644 --- a/MEMORY.md +++ b/MEMORY.md @@ -304,3 +304,18 @@ Scope: facts and traps that cost time to establish. Planned work lives in [TODO. - Getting actor world bounds: spawn at loc(0,0,0) means static mesh bbox IS the world footprint (FBX carries the geo offset). Probe by loading the level explicitly (load_level) — a fresh commandlet starts on Untitled otherwise. + +## 2026-11-08 — collision/seam audit done; QA self-test extended + +- `-qaselftest` transect widened from 84 samples (3 lane centres) to **1456 + samples / 16 rows** including kerb/road/sidewalk seam Ys (probed: N side + -1912..-1053, kerb -1382..-1053, road -1382..+1047, kerb +718..+1047, S side + +718..+1447). 0 holes. +- **New wall probe:** ground-referenced horizontal 30 m trace at +160 cm. First + attempt used a fixed Z 160 and started INSIDE the earth (street is at Z ~366) + -> every row reported a dist-0 blocker. Always ground the probe first. +- **Guard:** GigLineShotActor must skip rounds under `-qaselftest`, else + bQuitWhenDone closes the game before the transect phase (observed: game exited + at t=2s with "ShotActor: done (4 shots)" + RequestExit). +- Results on packaged build: walk 761cm/2s, reset 0cm, pause/unpause, transect + 0 holes, wall 0/35 -> all PASS. Evidence recorded in Docs/release-checks.md. diff --git a/TODO.md b/TODO.md index 747d2c0..5d7035f 100644 --- a/TODO.md +++ b/TODO.md @@ -110,7 +110,7 @@ The MPFB character asset is planned as the NPC template (see `ROADMAP.md`). Keep - [x] Player can traverse both sides of the demo without falling through geometry. **Verified 2026-11-08:** Blender pre-check plus an in-engine swept transect (`-qaselftest`) over the north sidewalk, carriageway and south sidewalk from X -14900 to -9420 — 84 samples, 0 holes, ground Z 317..395 (sidewalk 395, road 366, south walk 317). The player spawns at Z 456 and stays there for the whole run (`fall=0`, single Z). - [x] Building placement, street scale, and site identity checked against references. **Done 2026-11-08:** rendered current DemoMap content, probed world-space geometry (road 24.3 m vs ref 20.9–25.9 m; sidewalk centreline offsets 12.5/13.2 vs ref 12.6/13.6 m; hero frontage 26.0 m, setback ~13 m vs ref 25.75/14.5 m; frontage + north buildings in verified OSM positions), recorded PASS + deliberate deviations (flat blockout surfaces → `0.1.4`, kerb upstand → `0.1.1`, kerb-flush ramps → `0.1.1`) in `Docs/release-checks.md`, and fixed the mis-aimed north-buildings camera (was 9.5 km west → 85% sky; now frames the buildings). Final human verdict pending on `Screenshots/demo/*`. -- [A] No blocking collision or packaging defects. Extend the `-qaselftest` transect with seam samples (road↔kerb↔sidewalk boundaries at Y −1382/−1053/+718/+1047 and the crossing edges) and a horizontal walk-height probe for invisible walls / blocking meshes; run on the packaged build and record evidence in `Docs/release-checks.md`. +- [x] No blocking collision or packaging defects. **Done 2026-11-08:** extended `-qaselftest` — transect now 1456 samples / 16 rows including the kerb/road/sidewalk seam Ys (0 holes), plus a ground-referenced 30 m wall probe (0/35 blocking hits; no invisible walls). Walk/reset/pause all PASS on the packaged build; `GigLineShotActor` now skips under `-qaselftest`. Evidence in `Docs/release-checks.md` §`0.1.0` audit note. - [ ] Remove TEMP QA diagnostics (`GigLine SIM` / `GigLine GROUND` log lines and the settle-timer log) from `GigLineCharacter.cpp` before the release tag, or gate them behind a cvar. - [ ] 60 FPS at 1440p on the dev workstation (Bazzite, Ryzen 7 7700X, 64 GB RAM, RTX 5070 Ti 16 GB) using a documented quality preset; record upscaling state; report performance without frame generation. - [ ] Fresh project checkout builds with the documented external engine installation.