Files
gig-line/Docs/Architecture/08_concepts.md
T
zwitschi 5aa883eaff 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
2026-11-08 13:33:44 +01:00

2.3 KiB
Raw Blame History

Cross-cutting Concepts

Coordinate system and scale

  • Source CRS: EPSG:26911 (UTM zone 11N). Local origin recorded in Geo/.

  • Blender: metres. East → +X, north → +Y (Blender convention).

  • Unreal: centimetres. East → +X, north → −Y (confirmed from street mesh: Sidewalk_North Y −1912..−1053, Sidewalk_South Y +718..+1447).

  • Conversion: every exporter calls the metre→centimetre function. Import presets (ue_metric_v1, ue_character_v1) are named and repeatable.

Rule: place a building only against a neighbour or street mesh, never in isolation.

Collision model

  • Site meshes (road, sidewalks, kerbs, crossing): STATIC mobility, BlockAll collision profile.

  • Terrain: STATIC, CTF_UseComplexAsSimple (forced by UGigLineAssetTools at build time, saved on the asset — the flag lives on the UStaticMesh/UBodySetup, not the map).

  • Buildings: STATIC, simple collision (convex hull from mesh).

  • Rule: the collision flag must be saved on the asset. Saving only the .umap silently reverts it.

Lighting

  • Dynamic-only: r.AllowStaticLighting=False. All lights are MOVABLE.

  • Fixed daytime rig: directional light (sun, −62° pitch), sky light, exponential height fog, post-process volume with fixed exposure.

  • Rationale: avoids "LIGHTING NEEDS TO BE REBUILT" warnings; no bake step; the scene never changes time of day.

Materials

  • All materials authored in Unreal, not carried from Blender (FBX import loses diffuse colours).

  • World-space-noise blend nodes for cheap procedural variation (asphalt grain, concrete speckle, stucco roughness).

  • Instance parameters where tunable (e.g. wetness, ageing).

Geographic data provenance

  • OSM extract is layout data only — not authoritative for façade, height, or pavement detail.

  • DEM from 3DEP 1 m; elevation verified against cross-sections in Geo/verification/.

  • Reference photography (local, gitignored) drives manual façade work.

  • In-game ODbL attribution drawn by AGigLineHUD every frame, bottom-left.

QA harness

  • -qaselftest: core ticker (not world timer) so pause cannot freeze the test that proves pause works.

  • GigLine SIM / GigLine GROUND: TEMP diagnostic logging, to be removed before release tag.

  • Screenshot approval: human must tick Screenshots/README.md before visual work is marked done.