Files
gig-line/Screenshots
zwitschi bc5da3a8ab fix(kit): cap bay count and fill the storey spread; fetch the retail reference
Kit layout, found while starting the retail pass:
- Bays were round(width / 4.96), so 6922 (65.8 m wide) got 13 bays - a window every
  4.96 m across a 37 m block. Capped at MAX_BAYS = 9, widening the module instead.
- Storeys were assumed exactly 310 cm apart, leaving ~1.6 m of bare wall under the
  cornice on a tall building. The spread is now derived from the available height
  (usable / storeys), so the top band lands inside the volume.
  Result: 6922 9x11 (was 13x11), theatre 8x6, 6806 7x3, 6800 4x3, TCL 9x5.

Retail references: fetched Art/reference/retail-neighbours/01-lee-drug-and-neighbor.jpg
(Gb321, CC BY-SA 4.0) - 6800 and its neighbour at street level, confirmed to show
shopfronts and parapets. Commons has nothing for 6822 or 6806-6820, so those two
remain blocked on reference photography; recorded in TODO.

Re-applied the kit, repackaged, screenshots re-rendered and verified 4/4, packaged
QA all PASS.
2026-11-08 22:05:08 +01:00
..

Screenshots — demo-map visual review

Rendered captures of the demo map only — what a player sees when the demo runs. Generated by Tools/render_screenshots.sh; the PNGs are committed so a reviewer sees exactly what the build rendered.

The review staging map (/Game/Test/ReviewMap) is not part of this set: it exists to hold the camera list and the hero detail rig, and it is not what ships.

How to regenerate

Tools/render_screenshots.sh --verify

Stages the demo shot cameras, runs the game on /Game/Hollywood/DemoMap, copies the PNGs into Screenshots/demo/ and then runs Tools/visual_loop.py --verify to check that each shot still shows the content its expectation describes. About a minute.

The shot list

Each shot has an expectation in Tools/visual_targets.json — the content the capture must show — and a verification state produced by --verify: it fails if the frame is blank, the wrong size, or has no tonal range.

# File View Expected content Verified Approved
1 demo/review-demo-spawn-view.png north sidewalk The whole south block: the neoclassical hero façade between its neighbours, both sidewalks and the road in the foreground ☑ 2026-11-09 ☑ 2026-11-09
2 demo/review-demo-street-level.png eye height, north side Street level: the hero colonnade with the adjacent frontage buildings either side, shopfronts at pavement level ☑ 2026-11-09 ☑ 2026-11-09
3 demo/review-demo-crossing.png along the crosswalk The designated mid-block crossing (s=130 m, UE X −14956): zebra bars on the asphalt, south frontage and colonnade behind ☑ 2026-11-09 ☑ 2026-11-09
4 demo/review-demo-north-buildings.png across the Boulevard The two north-side buildings (TCL Chinese Theatre, Madame Tussaud's) from the south side, full height in frame ☑ 2026-11-09 ☑ 2026-11-09

Approval is per shot, in the table above (owner review of the 0.1.4 set, recorded in Docs/reviews/0.1.4-review.md). Add a row when a shot is added; remove the file in the same change when a shot is retired.

The iteration loop (uncommitted)

Tools/visual_loop.py measures each capture against its reference photograph and turns the deltas into modelling actions for the Blender skill packs:

python3 Tools/visual_loop.py --compare --iteration 3   # writes Art/reference/iterations/3/

That directory is gitignored: iterations stay uncommitted until a shot is confirmed, and only confirmed shots are promoted into Screenshots/demo/. The feedback file names the affected skill (blender-modeler, archviz, materials, lookdev, camera-cinematography) so the next modelling pass has a starting point rather than an opinion.

Note the comparison is only meaningful when the shot and the reference frame the same subject — a wide block view measured against a tight façade crop will always report low edge similarity.

Scene conventions

  • Demo map (/Game/Hollywood/DemoMap): fixed daytime — sun pitch −62 / yaw 120 (intensity 4, warm), sky light 2.6, sky atmosphere, height fog, fixed exposure.
  • Cameras: elevation shots sit at their target height (pitch 0, so verticals stay parallel) and use a 42–55° lens to fill the frame from across the street.
  • Materials: every surface carries a look-developed material from Tools/ue_build_demo_map.py — noise-blended base colour, masonry coursing, and a generated texture set (Tools/generate_facade_textures.py) sampled world-aligned. Explicit roughness and specular per surface type.

Known cosmetic issues

  • Hero façade renders pale: the stone material is a graph and a texture set, not a scanned surface (the 0.1.4 façade pass is in progress).
  • Banners sit on the column line rather than flush to the wall (they hang on the columns in the photographs, so this is acceptable).
  • Between kerb and building line the walkable surface is the terrain mesh, not a modelled pavement.
  • The El Capitan Theatre has no marquee or blade sign yet — the feature that makes it read as itself.