Merged PR #32: 0.1.5 — hero detail, scene audit, material orphaning fixed Co-authored-by: Zwitschi <zwitschi82@gmail.com>
190 lines
12 KiB
Markdown
190 lines
12 KiB
Markdown
# ROADMAP.md
|
||
|
||
Development roadmap for this project: milestone goals, scope, decisions, and release gates. Actionable tasks, claims, and progress marks live in [TODO.md](TODO.md).
|
||
|
||
## Quality priority
|
||
|
||
**Realism leads; performance is a floor.** Façade identity, proportion, material and light are judged against the reference photographs and drive design decisions. Performance closes the quality list: 60 FPS at 1440p without frame generation is a budget every release must meet, and if realism cannot fit inside it the realism scope is cut deliberately and recorded — never the frame rate.
|
||
|
||
## Status at a glance — 2026-11-08 15:30
|
||
|
||
Workstation, geo pipeline, and engine validation are done. The art pipeline has a first blockout, terrain, and street in metres, in one shared coordinate frame. **Project bootstrap is complete**: `Game/GigLine` builds, packages, and both content-acceptance tests (static-mesh scale, MPFB skeletal character) pass. **`v0.1.0` released 2026-11-08**: the walkable demo, hero façade, verified block frontage, first-person controls, ODbL attribution, and every release check pass (traversal, placement, collision, 60 fps at 1440p, fresh-checkout build, packaged build with controls). Next: the `0.1.1`–`0.1.4` patch series (collision detail, scale/façade corrections, packaging fixes, real building façades), **Next:** `0.1.6` retail frontage (6822, 6806–6820, 6800 — blocked on reference photography for two of the three), then `0.2.0` (player body, third-person camera, animation).
|
||
|
||
| Area | State |
|
||
| --- | --- |
|
||
| Workstation | Bazzite `45.20261105`, driver `615.78.08`, Vulkan good, `git-lfs`/`clang`/`cmake`/`ninja` installed |
|
||
| Tooling | Blender 5.2 + MPFB 2.0.18 + Blosm 2.7.28 working headless; QGIS 4.2.3; PROJ 9.9.0; Unreal 5.8.4 installed |
|
||
| Geo | extract, address + footprints + bounds, CRS + origin, 3DEP DEM, street profile, cross-sections — all verified and committed |
|
||
| Engine | 5.8.4 installed and validated: headless + Vulkan GUI editor launch pass on the RTX 5070 Ti |
|
||
| Blender | blockout (87 meshes), terrain, street (road/kerbs/sidewalks), site assembly — all in one frame, walk-checked |
|
||
| Reference | 72 images local, uncommitted; hero entrance located; inherited eight-step claim overturned |
|
||
| Unreal project | bootstrap complete: C++ project builds, blank Linux build packaged + launch-tested, scale test and MPFB skeletal character accepted |
|
||
|
||
**Next up:** model the hero façade and block frontage from the reference set, then first-person traversal on the site terrain (tasks in [TODO.md](TODO.md)). **Release gate:** `v0.1.0` is tagged only on the owner's explicit go-ahead once the release checks pass — not automatically when the TODO items close.
|
||
|
||
## 0.1.0 — Local setup and walkable Hollywood block (weeks 1–6)
|
||
|
||
**Goal:** a walkable exterior demo around 6840 Hollywood Blvd / El Capitan Entertainment Centre, built on verified geography, in one shared coordinate frame, and validated on the Linux workstation. Setup details are in [Docs/setup.md](Docs/setup.md) and pins in [Docs/toolchain.md](Docs/toolchain.md).
|
||
|
||
**Environment and bootstrap (complete):** the Bazzite workstation, Unreal 5.8.4 (headless and Vulkan GUI launch), the system clang toolchain, and the pinned Blender, MPFB, Blosm, and QGIS versions are in place. The C++ project builds, a blank Linux build packages and launches, and two content-acceptance tests pass: the static-mesh scale test (1 m = 100 cm, axis mapping east → +X, north → −Y, up → +Z) and the MPFB skeletal character import.
|
||
|
||
**Geographic data (complete, with blockout detail open):** the OSM extract, address, footprints, demo bounds, EPSG:26911 frame with a recorded origin, and the 3DEP 1 m DEM are verified and committed. The meter→centimetre conversion lives in one function, and every exporter must call it. Block buildings still need height data for three placeholders and cleaning or detailing of the Blosm blockout.
|
||
|
||
**Review and character (decision):** the review scene is the staging used for all visual approval. Its scope is the character's ground contact, the camera list, and the façade detail shots, and nothing in asset production or gameplay continues past it until these shots pass. The shot list is in `Screenshots/README.md`. Coordinator decision 2026-11-07: **`0.1.0` ships first-person only**, a capsule with a camera and no visible player body. The MPFB character asset (idle pose, warm skin) is the template for later **NPCs** (`0.2.0` body/camera toggle, `0.5.0` pedestrians). It is now a concrete reusable prefab, `AGigLineNPCPerson` (collision capsule + visible body, feet on Z 0), kept standalone and not wired into the `AGigLineCharacter` pawn.
|
||
|
||
**Asset production:** the scale test and the `ue_metric_v1` export and import presets are established. The hero façade first pass is built and screenshot-approved; the north-side buildings (TCL Chinese Theatre, Madame Tussaud's) are staged. Open: reference collection for the door recess and the night frame, the surrounding block frontage, sidewalks, roads and collision, and materials for all assets.
|
||
|
||
**Gameplay:** first-person movement, mouse look, pause, and reset are implemented. The walkable demo map is built but has not been checked by hand. Open: the designated crossing, daytime lighting and ambience.
|
||
|
||
**Publication:** history is rewritten, secrets are scanned, and LFS support is validated.
|
||
|
||
**Release checks:** traversal on both sides of the demo, building placement and street scale checked against references, no blocking collision or packaging defects, 60 FPS at 1440p on the documented preset, a fresh checkout that builds with the documented engine installation, a packaged Linux build with documented controls, and then the `v0.1.0` tag and changelog entry. The detailed checks are tracked in [TODO.md](TODO.md).
|
||
|
||
## 0.1.1 — Collision fixes (patch)
|
||
|
||
**Goal:** fix the collision and walkability defects already visible in the Blender pre-check, and add to the list as the engine pass finds more. Scope: the sidewalk outer edge against terrain (15.8 cm step), the crossing ramp gradient (about 10 % against the 8 % a real ramp uses), the collision authoring pass (complex-as-simple for terrain and street, simple hulls per building), the kerb height assumption, and traversal regression tests. Collision authoring uses the `collision-proxy`, `qa-review`, and `asset-optimization` skills as method guides.
|
||
|
||
## 0.1.2 — Scale and façade corrections (patch)
|
||
|
||
**Goal:** correct building and street proportions against the reference photography. Scope: the three placeholder heights (guessed at 6.4 m), the hero façade detail, and the colonnade proportion (about 45 % of the height against roughly 50–60 % in the photographs). Use the `references`, `archviz`, and `camera-cinematography` skills.
|
||
|
||
## 0.1.3 — Packaging and setup fixes (patch)
|
||
|
||
**Goal:** fix any packaging or build issues found in `0.1.x` and bring `Docs/` up to date. Patches contain fixes only. If a Blender export preset is at fault, check it with the `export-pipeline` and `unreal-export` skills.
|
||
|
||
## 0.1.4 — Proper building façades (patch)
|
||
|
||
**Goal:** replace the flat placeholder surfaces on the blockout buildings with real façades, keeping the existing footprints and massing. Scope: a reusable façade module kit (bay, pilaster, cornice, parapet, window, shopfront, door) exported with `ue_metric_v1`; procedural materials (brick, concrete, stone, render, glass) wired through Unreal material instances; Blosm façade style scripts for the south and north frontages; the hero façade detail pass; and El Capitan Theatre (6838) and the retail neighbours from the reference set. Use the façade, materials, UV, and QA skills named in `TODO.md`.
|
||
|
||
## 0.2.0 — MPFB player body, third-person camera, basic animation (weeks 7–9)
|
||
|
||
**Goal:** a visible, animated player body with a third-person camera and a first/third-person toggle, walking end-to-end in the demo area. The MPFB character is promoted to a reusable NPC prefab for `0.5.0`.
|
||
|
||
## 0.2.1 — Rig fixes (patch)
|
||
|
||
**Goal:** fix skeletal and rigging defects reported after `0.2.0`.
|
||
|
||
## 0.2.2 — Skin and hair tuning (patch)
|
||
|
||
**Goal:** tune skin shading and hair materials on the player character.
|
||
|
||
## 0.2.3 — Camera clipping fixes (patch)
|
||
|
||
**Goal:** fix the remaining camera clipping cases in `0.2.x`.
|
||
|
||
## 0.3.0 — Chaos vehicle, enter/exit, closed driving route (weeks 10–13)
|
||
|
||
**Goal:** one drivable vehicle with Chaos Vehicle physics, enter and exit interaction, and a closed driving route with boundaries.
|
||
|
||
## 0.3.1 — Handling tuning (patch)
|
||
|
||
**Goal:** refine vehicle handling feel based on `0.3.0` feedback.
|
||
|
||
## 0.3.2 — Vehicle collision fixes (patch)
|
||
|
||
**Goal:** fix vehicle collision defects (mesh and physics mismatches).
|
||
|
||
## 0.3.3 — Input fixes (patch)
|
||
|
||
**Goal:** fix vehicle and character input issues in `0.3.x`.
|
||
|
||
## 0.4.0 — Small connected neighborhood and map streaming (weeks 14–17)
|
||
|
||
**Goal:** extend the geo pipeline to a small connected neighborhood with World Partition streaming and HLOD, with no visible seams while walking or driving across it.
|
||
|
||
## 0.4.1 — Seam fixes (patch)
|
||
|
||
**Goal:** fix visible seams between streamed cells.
|
||
|
||
## 0.4.2 — Streaming corrections (patch)
|
||
|
||
**Goal:** correct streaming and loading issues found in `0.4.x`.
|
||
|
||
## 0.4.3 — HLOD tuning (patch)
|
||
|
||
**Goal:** tune HLOD quality and distance settings.
|
||
|
||
## 0.5.0 — Pedestrians, crosswalk behavior, ambient traffic (weeks 18–21)
|
||
|
||
**Goal:** pedestrians that navigate and use the designated crossing, limited ambient traffic on the street network, and simulation cost held within the frame budget. Pedestrians reuse the idle-pose character prefab.
|
||
|
||
## 0.5.1 — Navigation fixes (patch)
|
||
|
||
**Goal:** fix pedestrian navigation issues.
|
||
|
||
## 0.5.2 — Crossing fixes (patch)
|
||
|
||
**Goal:** fix crosswalk behaviour defects.
|
||
|
||
## 0.5.3 — Simulation optimization (patch)
|
||
|
||
**Goal:** optimize pedestrian and traffic simulation cost.
|
||
|
||
## 0.6.0 — Visual/audio pass and evening lighting preset (weeks 22–24)
|
||
|
||
**Goal:** an evening lighting preset alongside the day preset, a neighbourhood-wide visual polish pass, and ambient audio with verified licences.
|
||
|
||
## 0.6.1 — Lighting fixes (patch)
|
||
|
||
**Goal:** fix lighting defects in the day and evening presets.
|
||
|
||
## 0.6.2 — Material corrections (patch)
|
||
|
||
**Goal:** fix material errors found in `0.6.x`.
|
||
|
||
## 0.6.3 — Audio balancing (patch)
|
||
|
||
**Goal:** balance audio levels across the scene.
|
||
|
||
## 0.7.0 — Settings, control rebinding, save/load, accessibility (weeks 25–27)
|
||
|
||
**Goal:** a settings menu for graphics and audio, control rebinding and save/load that persist across restarts, and accessibility basics (FOV, subtitles, colour-blind options where applicable).
|
||
|
||
## 0.7.1 — Save fixes (patch)
|
||
|
||
**Goal:** fix save and load defects.
|
||
|
||
## 0.7.2 — UI fixes (patch)
|
||
|
||
**Goal:** fix UI issues in `0.7.x`.
|
||
|
||
## 0.7.3 — Input persistence fixes (patch)
|
||
|
||
**Goal:** fix rebinding persistence issues.
|
||
|
||
## 0.8.0 — Performance budgets and broader Linux hardware testing (weeks 28–30)
|
||
|
||
**Goal:** define frame-time and VRAM budgets, profile the full neighbourhood against them, test on a broader Linux hardware and VRAM matrix, and re-validate the 1440p quality preset with the upscaling state recorded.
|
||
|
||
## 0.8.1 — VRAM reductions (patch)
|
||
|
||
**Goal:** reduce VRAM usage where profiling shows excess.
|
||
|
||
## 0.8.2 — Frame-time fixes (patch)
|
||
|
||
**Goal:** fix frame-time spikes found in `0.8.x`.
|
||
|
||
## 0.8.3 — Compatibility fixes (patch)
|
||
|
||
**Goal:** fix compatibility issues from the hardware testing matrix.
|
||
|
||
## 0.9.0 — Feature freeze, public beta, license and build audit (weeks 31–34)
|
||
|
||
**Goal:** freeze features, produce a public beta for testers, and complete the audits: licences for `THIRD_PARTY_NOTICES.md` and all MPFB, texture, animation, vehicle, and audio assets; Epic distribution requirements; and a fresh checkout that builds and packages reproducibly.
|
||
|
||
## 0.9.1 — Blocker fixes (patch)
|
||
|
||
**Goal:** fix blockers reported during the public beta.
|
||
|
||
## 0.9.2 — Regression fixes (patch)
|
||
|
||
**Goal:** fix regressions introduced by `0.9.x` fixes.
|
||
|
||
## 0.9.3 — Documentation fixes (patch)
|
||
|
||
**Goal:** update all `Docs/` for accuracy before `1.0.0`.
|
||
|
||
## 1.0.0 — Stable neighborhood-scale walking/driving release (weeks 35–40)
|
||
|
||
**Goal:** a final acceptance sweep across all `0.x` features, confirmation that the agreed scope (neighbourhood-scale walking and driving) is met, and final build, documentation, and licensing verification. `1.0.0` marks the stable scope, not completion of a whole city.
|