Gameplay: designated street crossing + review map fixes #2

Closed
zwitschi wants to merge 0 commits from gameplay-crossing-0.1.0 into main
pull from: gameplay-crossing-0.1.0
Owner

Integrates the completed gameplay-crossing-0.1.0 branch into main.

Gameplay

  • Designated street crossing done (OSM way 385648319): continental zebra markings (0.5 m bars / 0.5 m gaps, 3 m band) at all three signalised crossings, no collision on the paint. Kerbs already flushed at crossings.
  • Enablers fixed on the way: street surfaces were 100% down-facing (winding flipped); terrain buried the street (10.7 m corridor cut added, walk-check 0 holes); LFS-lockable .blend/.umap files check out read-only (builders chmod before saving and fail loudly).
  • Demo views approved 2026-11-07; demo level item closed.

Review map (root cause fixed)

  • EditorLevelLibrary.load_level/new_level are deprecated no-ops in commandlets — both map builders now use the LevelEditorSubsystem.
  • Fixed save-order bug in ue_build_review_map.py (ReviewMap saved before the DemoMap section).
  • Character + cubes restored in all shots; all 14 review + 4 demo PNGs re-rendered and approved.

NPC prefab

  • AGigLineNPCPerson (C++), capsule 1.66 m — head-height check passed, review-npc-prefab approved.

Docs

  • AGENTS.md seeded from PLAN.md; MEMORY.md updated with the LFS-lockable and level-switch traps; Tools/README.md updated.

Merge after review; the branch is 8 commits ahead of main.

Integrates the completed `gameplay-crossing-0.1.0` branch into `main`. ## Gameplay - **Designated street crossing done** (OSM way 385648319): continental zebra markings (0.5 m bars / 0.5 m gaps, 3 m band) at all three signalised crossings, no collision on the paint. Kerbs already flushed at crossings. - **Enablers fixed on the way:** street surfaces were 100% down-facing (winding flipped); terrain buried the street (10.7 m corridor cut added, walk-check 0 holes); LFS-lockable `.blend`/`.umap` files check out read-only (builders chmod before saving and fail loudly). - Demo views approved 2026-11-07; demo level item closed. ## Review map (root cause fixed) - `EditorLevelLibrary.load_level`/`new_level` are deprecated no-ops in commandlets — both map builders now use the `LevelEditorSubsystem`. - Fixed save-order bug in `ue_build_review_map.py` (ReviewMap saved before the DemoMap section). - Character + cubes restored in all shots; all 14 review + 4 demo PNGs re-rendered and approved. ## NPC prefab - `AGigLineNPCPerson` (C++), capsule 1.66 m — head-height check passed, `review-npc-prefab` approved. ## Docs - `AGENTS.md` seeded from `PLAN.md`; `MEMORY.md` updated with the LFS-lockable and level-switch traps; `Tools/README.md` updated. Merge after review; the branch is 8 commits ahead of `main`.
zwitschi added 8 commits 2026-11-07 16:45:32 +01:00
0.5 m white bars with 0.5 m gaps across a 3 m band per crossing, laid
1 cm above the road surface. Makes the mid-block crossing (OSM way
385648319, s=130.1 m) a designated crossing in game. Metadata audit
passes (1 sidecar, 0 problems).
- New C++ AGigLineNPCPerson: reusable NPC/pedestrian prefab built on the MPFB
  human. ACharacter capsule half-height 83 cm (total 1.66 m, head top ~1.66 m
  so a 1.60 m camera doesn't clip), the character skeletal mesh on the built-in
  mesh as the visible body (feet on Z 0), AutoPossessAI for 0.5.0 pedestrians.
  Staged at Z 0 in the review scene; captured as review-npc-prefab.png.
- AGigLineShotActor now names screenshots by stable camera name (no list-index
  prefix): inserting or reordering cameras no longer renumbers files or orphans
  the old ones. Re-rendered all review/demo shots with stable names.
- ue_build_review_map.py: chmod the target .umap before save_map (git marks maps
  444 on checkout, silently making save_map return False and dropping stages).
- Screenshots/README.md, ROADMAP, TODO updated for the prefab + stable names.
- DemoMap.umap rebuilt by the render pipeline (north buildings + demo cameras).
- street_mesh.py: continental zebra markings (0.5 m bars, 0.5 m gaps, 3 m
  band) at all three signalised crossings, triangles not quads (FBX SDK
  refuses to triangulate the crown-twisted quads), stripes +6 cm above the
  DEM so they stay above the road surface; winding flipped so every street
  surface faces up (road/sidewalks/markings were 100% down-facing and
  invisible in engine once the terrain stopped covering them).
- terrain_from_dem.py: cut a 10.7 m corridor around the Hollywood Blvd
  centreline so road, kerbs and sidewalks are not buried under the terrain;
  sidewalks themselves cover the transition band, walk-check stays at 0 holes.
- Blender builders save with a writability guard + fatal failure: *.blend
  is LFS-lockable and checks out read-only; a failed save previously left
  downstream steps building from stale files.
- ue_import_site.py: Crossing_Markings imports with no collision (paint on
  the road); ue_build_demo_map.py stages it and chmods the lockable .umap
  before saving (save_map silently returned False on read-only maps).
- ue_build_review_map.py: demo-crossing camera moved to the real crossing
  (s=130.1 m -> UE -24291,-1340) and fixed the ensure_writable path (was
  missing the .umap suffix, so the chmod never fired).
The skill-pack entry was swept into another session's commit before it could be
committed on its own. Notes that a shared worktree can commit a shared file for
you - or drop the edit if the file is overwritten - and that git log -S is the
way to check before assuming the edit was lost.
Root cause of the empty review frames: EditorLevelLibrary.load_level/new_level
are deprecated no-ops in -nullrhi commandlets, so staged actors landed in the
current world and got saved over the wrong map. Switched both map builders to
the LevelEditorSubsystem and reordered the review builder to save ReviewMap
before the DemoMap section (the switch-back to a map that only exists in
memory silently failed, writing demo content over ReviewMap).

Rebuilt both maps, re-rendered every screenshot; user visual check passed.
Screenshots/README.md cube naming corrected (A grounded, B floating), approval
states updated; TODO.md visual-review notes closed. MEMORY.md records the
deprecated-call and save-order traps.
Author
Owner

Merged manually into main as merge commit 1dbe737 (git merge --no-ff gameplay-crossing-0.1.0, pushed to origin). Closing - conflicts resolved: AGENTS.md kept main's refined version; MEMORY.md unioned; Screenshots/README.md and all 14 re-rendered PNGs taken from the branch (user-approved).

Merged manually into main as merge commit 1dbe737 (git merge --no-ff gameplay-crossing-0.1.0, pushed to origin). Closing - conflicts resolved: AGENTS.md kept main's refined version; MEMORY.md unioned; Screenshots/README.md and all 14 re-rendered PNGs taken from the branch (user-approved).
zwitschi closed this pull request 2026-11-07 16:56:55 +01:00

Pull request closed

This pull request cannot be reopened because the branch was deleted.
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: zwitschi/gig-line#2