The Vuntra window trick — a passing pedestrian sees a plausible room through the shop glass with real parallax, no geometry. One shared ShaderMaterial does single-cube interior mapping on the existing window mesh (back wall + seeded shelves + side walls + floor/ceiling); per-shop variation via aTangent/aTint/aSeed attributes, still 1 window draw/chunk. §3.5 held via the shared uHour/uNight + aHours: night → open room glows warm, closed room dark. v2 prime law: WINMAP is read from the URL in buildings.js (self-contained — no index.html seam; F just needs a flags-table row). Flag-OFF byte-identical to v1 (windowQuad → v1 hoursQuad, v1 windowMaterial). Proven: flag-off windows MeshStandardMaterial w/ no winmap attrs; flag-on interior ShaderMaterial; worst view 122-168 draws (<=300); 100% procedural (0 fetch delta vs ?noassets baseline); 0 console errors; GOLDEN.hash untouched. Screenshots in docs/shots/laneB/winmap_*. qa.sh --strict GREEN (4/4). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| before | ||
| laneA | ||
| laneB | ||
| laneB_r4 | ||
| laneC | ||
| laneD | ||
| laneE | ||
| references | ||
| v1_tour | ||
| contact.html | ||
| README.md | ||
docs/shots — visual regression + devlog reference tree
Owned by Lane F (each lane also drops its own acceptance screenshots here).
docs/shots/
laneA/ … A: 5 seeds rendered in map.html (spine, arcade, market, milkbars)
laneB/ … B: 3 fixed street cameras (P-key shot harness)
laneC/ … C: 9 types × 5 archetypes interior grid
laneD/ … D: near / mid tiers + busy main street
laneE/ … E: skin contact sheets (new skins vs originals)
v1_tour/ … F: the 10 beauty shots (see tools/shots.py TOUR) — the devlog set
before/ … F: last known-good capture, for side-by-side regression
references/ … real-world reference photos named per shot (street_noon.jpg, arcade.png, …)
contact.html … generated by tools/shots.py — this-run | before | reference
Capture (Lane F, once Lane B's shell + window.DBG hook land)
cd web && python3 -m http.server 8130 # terminal 1
python3 -m venv tools/.venv # once
tools/.venv/bin/pip install playwright
tools/.venv/bin/python -m playwright install chromium
tools/.venv/bin/python tools/shots.py v1_tour --seed 20261990 # terminal 2
open docs/shots/contact.html
Before a risky change, snapshot the good state into before/
(tools/.venv/bin/python tools/shots.py before), then re-run and eyeball contact.html.
The v1 tour list (LANE_F_INTEGRATION §Shots): main-street noon, arcade, market square,
milkbar dusk, night neon, warehouse fringe, residential collar, record interior, opshop
interior, busy crossroads. Adjust TOUR in tools/shots.py as the town evolves.