Files
gig-line/Docs/Architecture/02_architecture_constraints.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

Architecture Constraints

Technical Constraints

Constraint Explanation
Engine: Unreal 5.8.4 Pinned; no bundled Linux clang — uses system clang 23.1.4. Game targets use BuildSettingsVersion.V7.
Platform: Linux first Developed and tested on Bazzite Linux (Fedora 45 base). Windows builds ship but are secondary.
GPU: RTX 5070 Ti 16 GB Dev workstation target. Vulkan RHI; open kernel module driver 615.78.08.
No static lighting r.AllowStaticLighting=False. The demo is a fixed daytime scene lit entirely dynamically to avoid "LIGHTING NEEDS TO BE REBUILT" warnings.
Blender→UE via FBX Flat diffuse colours do not survive FBX→Unreal import. All materials are authored in UE.
Terrain collision UE 5.8 exposes CollisionTraceFlag (not bUseComplexAsSimpleCollision); Python cannot set it. Must use C++ helper UGigLineAssetTools::SetComplexCollisionAsSimple.
Coordinate convention South = +Y, north = −Y (ground truth = street mesh orientation). 1 m in Blender = 100 cm in Unreal.

Organisational Constraints

Constraint Explanation
Squash-merge to main Every PR is squash-merged for a linear history. No direct commits to main except integration merges.
Visual review required Any change affecting appearance must produce screenshots for human approval before being marked done.
Asset provenance Every committed asset must have verified licence and redistribution permission recorded in THIRD_PARTY_NOTICES.md.
Reference photography Local only, gitignored, never committed. Used for façade work under fair-use / internal-development rationale.
LFS for binaries .uasset, .umap, .blend tracked with Git LFS; Binaries/, Intermediate/, Saved/ are gitignored.

Conventions

Convention Explanation
Semantic versioning MAJOR.MINOR.PATCH. 0.x documents breaking changes. 1.0.0 = agreed game scope.
Task tracking in TODO.md Single central task list. - [ ] open, - [-] or - [~] in progress, - [x] done, - [A] active, - [D] deferred.
Headless Blender All Blender work driven by bpy scripts in Tools/, not MCP. Blender skills are method guides only.
Named export presets ue_metric_v1 for static meshes, ue_character_v1 for skeletal. Every exporter calls the metre→centimetre conversion.