6.4 KiB
6.4 KiB
Changelog
All notable changes to this project are documented here.
Format: Keep a Changelog style, versions follow Semantic Versioning. Entries are added when a version section in TODO.md is completed.
Unreleased
Nothing yet.
0.1.1 — 2026-11-08
Collision-fidelity patch. No new scope: street geometry corrections and the QA tooling that measures them.
Fixed
- Sidewalk outer edge ledge. The sidewalk stood the full 0.15 m kerb height above the DEM at both edges, leaving a 15.8 cm lip where the walk route crossed from terrain onto the south sidewalk. The upstand now tapers from full at the road-side edge to zero at the building-side edge; the north route's worst step fell from 15.1 cm to 6.9 cm.
- Crossing ramps too steep. The kerb-flush run was a fixed 1.5 m, giving
~8.7 % (measured 10–13 cm over 1.5 m). The run is now derived from a target
grade (
--max-ramp-grade, default 8 % ⇒ 1.63 m); the crossing steps 3.4 cm at 0.25 m sampling.
Added
- Walk pre-check improvements (
Art/blender/site/site_assembly.py): sampling coverage is independent of--sample(it previously shrank the route), and the report now prints the grade and the arc-length/offset location of the worst step, so a step can be located rather than guessed.
Changed
- Kerb height recorded as final at 0.15 m modelled / 0.13 m as built — a standard 6 in LA kerb; neither the 3DEP DEM nor the reference photography can resolve it further (±2 cm), which is far below the character's 45 cm step height.
Verified
- Site meshes rebuilt and re-imported (7/7, collision flags intact), DemoMap
rebuilt, packaged Development build
EXIT=0. -qaselfteston the packaged build: walk 761 cm in 2 s at steady Z 456, reset 0 cm, pause/unpause, transect 1456 samples across 16 rows / 0 holes, wall probe 0/35 blocking hits.
Known limitations
- One residual 13.4 cm surface step at s≈198 m on the south sidewalk (8.0 cm
at s≈251 m north). It is not a gap and is below the 45 cm
MaxStepHeight, so it does not block traversal; the cause is a sidewalk-strip discontinuity near a centreline vertex, recorded inArt/blender/README.mdas a smoothness refinement. - Kerb radii at junctions, driveway aprons, drainage inlets and pavement joints
remain unmodelled (unchanged from
0.1.0).
Nothing yet.
0.1.0 — 2026-11-08
The first playable release: a walkable exterior demo of the 6840 Hollywood Blvd (El Capitan Entertainment Centre) block in Unreal Engine, built on OpenStreetMap layout data and USGS elevation, with the hero façade and the verified block frontage staged on a walkable street.
Added
- Unreal project (
Game/GigLine) — C++ game module, Enhanced Input, packaged Linux build, and aDemoMapthat a plain launch opens directly. - Walkable demo level — terrain from the 3DEP DEM, Hollywood Blvd carriageway, both sidewalks and kerbs with collision, the designated mid-block crossing, and fixed daytime lighting (sun, sky light, sky atmosphere, height fog, pinned exposure).
- Hero façade for 6840 Hollywood Blvd — six-column neoclassical elevation with
three genuine portal recesses, entablature, parapet and motto band
(
Tools/hero_facade_build.py,Tools/ue_hero_facade_import.py). - Block frontage — the five verified south-side neighbours (6922, 6902, 6838 El Capitan Theatre, 6822 Budget, 6806–6822, 6800 Lee Drug) and the two north-side buildings (TCL Chinese Theatre, Madame Tussaud's) placed at their OSM positions.
- First-person player —
AGigLineCharacter: 1.75 m capsule, 1.60 m eye camera, 4 m/s walk, mouse look, jump, reset (R) and pause (Escape); controls documented inDocs/controls.mdand shown in-game. - In-game ODbL attribution —
AGigLineHUDdraws the OpenStreetMap credit and licence line every frame. - QA harness —
-qaselftest(walk, reset, pause, seam transect, invisible-wall probe, frame-time capture) andTools/input_test.py/Tools/input_emulation.pyfor OS-level virtual keyboard/mouse input. - Documentation — setup, build, toolchain, licensing, ODbL review, release checks, and arc42 architecture docs.
Fixed
- All controls were dead in packaged and PIE builds. The mapping-context
generator wrote key bindings to the deprecated
mappingsarray; UE 5.8 readsDefaultKeyMappings.Mappings, so the cooked game had zero runtime mappings and every key resolved to nothing.Tools/ue_create_input_assets.pynow populates the current field. - "Fall-through" was an 8 m invisible box.
Terrain_DEMshipped only a bounding-box collision proxy; forcing complex-as-simple collision (UGigLineAssetTools) put the player on the actual street. - Reset returned the player to mid-air — the start position is now captured on the first grounded frame.
- Plain launch opened the engine template — the default map now lives in
DefaultEngine.iniand points atDemoMap. - Game target would not compile — removed editor-only API use
(
UStaticMesh::PostEditChange,AActor::GetActorLabel). demo-north-buildingsscreenshot framed 85 % sky (camera 9.5 km west of the buildings); re-pointed to the building mass.
Verified
- Both sides of the demo are traversable: 1456-sample seam transect, 0 holes,
no blocking collision or invisible walls (
-qaselfteston the packaged build). - Placement and street scale match the reference photography and Geo measurements (road 24.3 m, sidewalk offsets 12.5/13.2 m, hero frontage 26.0 m).
- 414 fps average / p99 3.01 ms at 2560×1440 (Epic preset, TSR, VSync off, no frame generation) — far above the 60 fps target.
- Fresh checkout builds and packages with the documented external engine (UE 5.8.4).
Known limitations
- Buildings other than the hero are flat blockout volumes; façade detail,
materials and Blosm style scripts are planned for
0.1.4. - Kerb height (0.13 m as built vs 0.15 m assumed), kerb radii, driveway aprons and
graded crossing ramps are deferred to
0.1.1; crossing ramps are kerb flushes. - One block only; no vehicles, NPCs, audio, or settings UI yet.