docs: convert all architecture .adoc sections to markdown, prettier-format all .md

- Converted 13 individual .adoc section files to .md via
  asciidoctor→docbook5→pandoc(gfm) + post-processing, placed alongside
  the .adoc sources in Docs/Architecture/
- Rebuilt architecture.md from the individual section .md files
- Ran prettier --write on all .md in the repo (23 files changed):
  normalised table column alignment, trailing whitespace, line breaks
- Added .agents/ to .prettierignore (vendored third-party content)
- All .md now passes prettier --check
This commit is contained in:
zwitschi committed 2026-11-08 13:33:44 +01:00
1 parent e93c27054a
commit 5aa883eaff
29 files changed
+604 -161

No files matched your search

+14 -43
View File
@@ -1,9 +1,6 @@
# Screenshots — visual review
Rendered in-game captures of the current project content, generated by
[`Tools/render_screenshots.sh`](../Tools/render_screenshots.sh). The PNGs are
committed alongside this README so a reviewer sees exactly what the build
rendered.
Rendered in-game captures of the current project content, generated by [`Tools/render_screenshots.sh`](../Tools/render_screenshots.sh). The PNGs are committed alongside this README so a reviewer sees exactly what the build rendered.
## How to regenerate
@@ -11,20 +8,13 @@ rendered.
Tools/render_screenshots.sh
```
Rebuilds `Game/GigLine/Content/Test/ReviewMap.umap` from current content, runs
the game on it (and on the DemoMap for the walkable views), walks the fixed
camera list via `AGigLineShotActor`, captures each shot, copies the PNGs here
and exits — about a minute. The camera list lives in
`Tools/ue_build_review_map.py`; add new shots there, remove retired ones here.
Rebuilds `Game/GigLine/Content/Test/ReviewMap.umap` from current content, runs the game on it (and on the DemoMap for the walkable views), walks the fixed camera list via `AGigLineShotActor`, captures each shot, copies the PNGs here and exits — about a minute. The camera list lives in `Tools/ue_build_review_map.py`; add new shots there, remove retired ones here.
> Naming: shots use their stable camera name (no index prefix), so adding or
> reordering cameras never renumbers files or orphans the old ones. Click an
> image for the full-size PNG.
> Naming: shots use their stable camera name (no index prefix), so adding or reordering cameras never renumbers files or orphans the old ones. Click an image for the full-size PNG.
## Shot list
All shots ☑ approved 2026-11-07, including the block frontage pass that added
the neighbouring buildings and corrected the hero and north-building placement.
All shots ☑ approved 2026-11-07, including the block frontage pass that added the neighbouring buildings and corrected the hero and north-building placement.
| # | File | Preview | Map | View | What it shows |
| --- | --- | --- | --- | --- | --- |
@@ -45,41 +35,22 @@ the neighbouring buildings and corrected the hero and north-building placement.
## Scene conventions
- **Review map** (`/Game/Test/ReviewMap`): 160 m floor, top face at Z 0; the
character measures Z 0..83 cm. One warm key light plus sky fill.
- **Cubes**: `Cube_ScaleTest_A` rests on the floor, `Cube_ScaleTest_B` floats at
Z 2 m; both are exactly 1 m — the scale reference.
- **Demo map** (`/Game/Hollywood/DemoMap`): fixed daytime — sun at pitch −50 /
yaw 120 (intensity 4, warm), sky light 2.6, sky atmosphere, height fog, fixed
exposure.
- **Materials**: every exported surface carries a look-developed material built
in `Tools/ue_build_demo_map.py` (`ensure_material`) because Blender's flat
diffuse colours do not survive the FBX → Unreal import. Each has an explicit
roughness and a subtle world-space noise blend between two shades:
`M_Asphalt` (0.92), `M_Concrete` (0.88), `M_KerbConcrete` (0.85),
`M_Ground` (0.98), `M_RoadPaint` (0.62), `M_FacadeStone` (0.72) and
`M_Stucco` (0.86) for the north-side buildings.
- **Lighting is dynamic-only** (`r.AllowStaticLighting=False`, all lights
Movable), so no lighting build is ever required.
- **Attribution overlay**: every shot carries the required ODbL credit in the
bottom-left (`© OpenStreetMap contributors` / `Data © OpenStreetMap
contributors, ODbL 1.0 — openstreetmap.org/copyright`), drawn by
`AGigLineHUD`. Screenshots are requested with the UI shown so the obligation
is visible in review.
- **Review map** (`/Game/Test/ReviewMap`): 160 m floor, top face at Z 0; the character measures Z 0..83 cm. One warm key light plus sky fill.
- **Cubes**: `Cube_ScaleTest_A` rests on the floor, `Cube_ScaleTest_B` floats at Z 2 m; both are exactly 1 m — the scale reference.
- **Demo map** (`/Game/Hollywood/DemoMap`): fixed daytime — sun at pitch −50 / yaw 120 (intensity 4, warm), sky light 2.6, sky atmosphere, height fog, fixed exposure.
- **Materials**: every exported surface carries a look-developed material built in `Tools/ue_build_demo_map.py` (`ensure_material`) because Blender's flat diffuse colours do not survive the FBX → Unreal import. Each has an explicit roughness and a subtle world-space noise blend between two shades: `M_Asphalt` (0.92), `M_Concrete` (0.88), `M_KerbConcrete` (0.85), `M_Ground` (0.98), `M_RoadPaint` (0.62), `M_FacadeStone` (0.72) and `M_Stucco` (0.86) for the north-side buildings.
- **Lighting is dynamic-only** (`r.AllowStaticLighting=False`, all lights Movable), so no lighting build is ever required.
- **Attribution overlay**: every shot carries the required ODbL credit in the bottom-left (`© OpenStreetMap contributors` / `Data © OpenStreetMap contributors, ODbL 1.0 — openstreetmap.org/copyright`), drawn by `AGigLineHUD`. Screenshots are requested with the UI shown so the obligation is visible in review.
## What to look for
- **Ground contact**: feet meet the plane with no gap and no shadow seam.
- **Scale**: everything checks against the 1 m cubes.
- **Façade rhythm**: six columns at 4.96 m across 25.75 m should read as the
photographs in silhouette.
- **Façade rhythm**: six columns at 4.96 m across 25.75 m should read as the photographs in silhouette.
## Known cosmetic issues
- Floor speckle from the `Constant3Vector` wiring in `Tools/ue_build_review_map.py`.
- Hero façade renders pale — Blender flat colours with no normal/roughness, so
it reads as untextured stone (the `0.1.4` façade patch, not a lighting bug).
- Banners and window panels float detached from the colonnade wall (next
modelling pass).
- Between kerb and building line, the walkable surface is the terrain mesh, not
a modelled pavement.
- Hero façade renders pale — Blender flat colours with no normal/roughness, so it reads as untextured stone (the `0.1.4` façade patch, not a lighting bug).
- Banners and window panels float detached from the colonnade wall (next modelling pass).
- Between kerb and building line, the walkable surface is the terrain mesh, not a modelled pavement.