# Quality Requirements ## Quality Requirements Overview | Category | Requirement | Priority | | --- | --- | --- | | Performance efficiency | 60 FPS at 2560×1440, documented preset, no frame generation | 1 | | Reliability / Terrain | Zero raycast holes across sidewalks and carriageway (84-sample transect) | 1 | | Accuracy / Fidelity | Building placement matches reference photography within ~1 m | 2 | | Accuracy / Fidelity | Street scale (lane width, sidewalk width) within ~10 cm of measured profile | 2 | | Usability | WASD + mouse look, jump, reset (R), pause (Escape) — no tutorial needed | 2 | | Compliance | ODbL attribution visible at runtime | 2 | | Maintainability | Fresh checkout builds with documented engine installation | 2 | | Portability | Linux build packages and runs; Windows build ships | 3 | ## Quality Scenarios | ID | Source/Stimulus | Response | Metric | | --- | --- | --- | --- | | QS-1 | Player walks both sides of the demo | No fall-through, character stays at ground Z | 0 raycast holes in 84-sample transect | | QS-2 | Player holds W for 2 s on flat road | Character moves forward | ≥ 200 cm displacement, Z constant within ±5 cm | | QS-3 | Player presses R | Character teleports to spawn | < 100 cm from `StartLocation` | | QS-4 | Player presses Escape | Game pauses, cursor appears | `IsGamePaused()` = true | | QS-5 | Player presses Escape while paused | Game unpauses, cursor hides | `IsGamePaused()` = false | | QS-6 | Game runs on dev workstation at 1440p | Frame rate stable | ≥ 60 FPS, 99th percentile ≥ 55 FPS | | QS-7 | Fresh checkout + engine install | Build succeeds | Exit code 0, runnable binary produced |