Tools/shadow_gap.py measures the vertical pixel gap between an object's lowest pixels and the top of its shadow, as a fraction of the object's height, and calls it contact or floating. It classifies a shadow by per-channel scaling - a shadow darkens every channel by the same proportion, an object does not - which separates the two where an absolute delta cannot. Four unit tests cover contact, floating, an empty box and the border median. On the real spawn view it returns 'unknown': the crop contains two surfaces (pale wall behind, dark road below) and one global background cannot classify both. Recorded as the next step, not presented as working. The spawn height is measured and cleared: tracing down from 30 m, the topmost surface under the player is Z 366 and the capsule's feet are at 369 - 3 cm, the capsule skin. If the character still reads as floating, the gap is between the rendered pavement and its collision surface, not the spawn Z, and that is what to measure next.
Gig Line
A Linux-first Unreal Engine game about walking and driving through a real city. The first release, 0.1.0, is a walkable exterior demo around 6840 Hollywood Blvd / El Capitan Entertainment Centre, covering the south-side frontage between Highland Avenue and Orange Drive plus the north-side frontage within 50 m of the boulevard.
Status
0.1.0 is in progress. The workstation, engine, geo pipeline and project bootstrap are done and verified; a walkable DemoMap exists with terrain, street, sidewalks, kerbs and the hero façade placed from measured coordinates. Façades are still blockouts, and materials are flat colours — both are planned patches.
Current tasks are in TODO.md and the development plan is in ROADMAP.md; what was learned the hard way is in MEMORY.md.
Layout
| Path | Contents |
|---|---|
Game/ |
Unreal project, configuration, source, game-ready content |
Art/ |
Editable Blender sources, blockouts, terrain, street, hero façade, and a local (uncommitted) reference library |
Geo/ |
Source manifests, permitted geographic data, and every geographic tool |
Tools/ |
Unreal-side importers, level builders, and reference gathering |
Docs/ |
Setup, toolchain pins, build and content pipeline, licensing, release checks |
Screenshots/ |
Rendered review captures and their approval state |
Getting started
git lfs install # required: content, images, audio, and geo files are LFS-tracked
git lfs pull
Tools/check-lfs.sh # verifies the lfs filter is active and files are stored as pointers
The engine is installed outside the repository and pinned in Docs/toolchain.md. Setup is in Docs/setup.md; building and the content pipeline are in Docs/build.md.
Documents
- TODO.md — living task list, source of truth for progress
- ROADMAP.md — development plan: milestone goals, scope, and release gates
- MEMORY.md — shared session memory: discoveries, traps, decisions
- AGENTS.md — contributor and agent rules
- PLAN.md — scope, stack, release policy, timeline
- Docs/toolchain.md · Docs/environment.md — pins and workstation audit
- Docs/build.md — fresh-checkout build and content pipeline
- Docs/release-checks.md — release gates
- Docs/licensing.md · THIRD_PARTY_NOTICES.md — licensing
- CHANGELOG.md — release history
Licensing
Code licence is an open decision (MIT proposed). Engine, art, and geographic data are licensed separately; see Docs/licensing.md.