docs: arc42 architecture documentation for Gig Line

Populated from the arc42-template (EN/adoc) with project-specific content
across all 12 sections:

1.  Introduction and Goals — requirements overview, quality goals, stakeholders
2.  Architecture Constraints — technical (engine, collision, coordinates),
    organisational (squash-merge, visual review, provenance), conventions
3.  Context and Scope — business and technical context tables
4.  Solution Strategy — technology decisions, top-level decomposition,
    quality achievement approach
5.  Building Block View — Gameplay (6 C++ classes), Site (7 meshes + 7
    materials), Facades (9 buildings), Art Pipeline, QA & Review; Level 2
    white boxes for input flow and collision model
6.  Runtime View — walk, screenshot capture, QA self-test, build/import
    pipeline scenarios
7.  Deployment View — dev workstation and packaged build infrastructure
8.  Cross-cutting Concepts — coordinate system, collision model, lighting,
    materials, data provenance, QA harness
9.  Architecture Decisions — 7 ADRs (dynamic lighting, UE materials,
    C++ collision helper, grounded reset, core ticker, Y convention,
    headless Blender)
10. Quality Requirements — overview table + 7 measurable scenarios
11. Risks and Technical Debts — 5 risks, 2 debts with mitigations
12. Glossary — 16 domain-specific terms

Master document: Docs/Architecture/architecture.adoc
Config: Docs/Architecture/config.adoc
This commit is contained in:
zwitschi committed 2026-11-08 13:08:35 +01:00
1 parent b577afa730
commit 72705268b5
15 files changed
+610

No files matched your search

@@ -0,0 +1,34 @@
ifndef::imagesdir[:imagesdir: ./images]
[[section-quality-scenarios]]
== Quality Requirements
=== Quality Requirements Overview
[cols="1,2,1" options="header"]
|===
| 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
[cols="1,1,2,2" options="header"]
|===
| 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
|===