Extract and reconcile the Comedy Store proportions via the vision tool
Full build / Import + headless tests (push) Successful in 41s
Full build / Full desktop build + optional release (push) Skipped

This commit is contained in:
zwitschi committed 2026-11-03 21:50:20 +01:00
1 parent 8e113a4110
commit 7dd8251a0c
2 files changed
+27 -7

No files matched your search

+9 -5
View File
@@ -423,14 +423,18 @@ facade evidence is still the 2009 CC BY frame. The 8 downloaded candidates are i
Nothing is committed until the licence gate on any promoted reference and the map-budget tests
pass. The current `_build_comedy_store_building()` stays as the fallback.*
- [ ] Extract the real proportions from the local frames (facade width/height, canopy depth and
slope, blade-sign diameter and pole height, red curtain bay count, entrance recess, kerb
setback, hillside rise) and reconcile them against the current 27 m / 8.4 m / 12.2 m spec
in `WorldBuilder.VENUE_SPECS["joke_shop"]` and `docs/joke-shop-map.md`.
- [x] Extract the real proportions and reconcile: vision-read `tmp/research/comedy-store/` frames
via `tools/describe_image.py` and recorded the reconciled table in `docs/joke-shop-map.md`
§Measured proportions. Key finding: the game facade is proportionally **taller** than the
real (3.2:1 vs ~6:1) — the main shape-language deviation; canopy pitch, blade-sign diameter,
entrance and roofline all match closely. Curtain-bay count is crop-dependent (3–7), so 7 is
accepted as a readable stylization.
- [ ] Rank the shape-language gaps between the current procedural building and the four scene
pairs: canopy fascia depth, blade-sign shape/position, curtain-bay rhythm, entrance recess,
hillside silhouette and the neighbouring hotel/parking mass. Write the top-five fix list
with measurements.
with measurements. (First finding from the proportions pass: the 8.4 m facade wall is the
biggest deviation — the real hall is a low ~5.5–6 m single-storey front, so a facade-height
reduction plus a rounded west corner would bring the silhouette closest to the reference.)
- [ ] Rebuild the canopy + blade sign as library props or procedural geometry through the assisted
pipeline (`blender_assets.py inspect` → scripted edits → `audit`/`fit`), keeping the 4,000
prop-triangle budget; verify against the street/strip concept pairs before committing.
+18 -2
View File
@@ -27,6 +27,22 @@ signature-covered canopy, with the circular blade sign above the roof, red
curtains along the frontage and the main entrance set toward the west end. The
hillside houses behind it are part of the silhouette from the sidewalk.
## Measured proportions (vision-extracted from the local frames, 2026-11-03)
`tools/describe_image.py` was used to read the gitignored `tmp/research/comedy-store/` frames
(the harness cannot display images directly). Two frames disagreed on crop-dependent details, so
the ranges below are the reconciled reading; the game spec is a deliberate compression.
| Feature | Reference reading | Game spec | Reconciliation |
| --- | --- | --- | --- |
| Street frontage | ~35–40 m wide, parapet ~5.5–6 m (≈6:1 width:height), rounded corner | 27 m × 8.4 m (≈3.2:1) | Game is narrower **and** proportionally taller; the taller wall is the main shape-language deviation |
| Canopy | ~4–4.5 m projection, tilts forward noticeably | 4.9 m at 11° | Close; the forward pitch is confirmed |
| Fascia band | black, 30–40 cm deep, marquee-bulb string | black `SignatureCanopy` fascia + `CanopySignatures` + bulbs | Matches; signatures now white |
| Circular blade sign | ~3–4 m diameter white disc, red serif wordmark, pole-mounted | 3.9 m white disc, black wordmark, pole | Diameter matches; the game wordmark is black (fictional `THE JOKE SHOP`) |
| Red curtain bays | 3–5 visible depending on frame, floor-length, tied-back mid-bay | 7 tied-back drapes | Count is crop-dependent; 7 is a readable stylization, not a defect |
| Entrance | west end, recessed at the rounded corner | west end at x = -8.8, recessed | Matches |
| Roofline | taller dark mass rises behind the right half | `RoofPlant` box at x = 5.5 | Matches |
## How the map maps to the real site
| Real element | Game implementation |
@@ -35,7 +51,7 @@ hillside houses behind it are part of the silhouette from the sidewalk.
| Deep overhanging canopy | 4.9 m sloped slab dropping about 1 m to the outer fascia; the fascia carries white signature lettering and the club name |
| Signature-covered front | Two `Label3D` signature bands on the fascia plus a smaller wall panel, so the handwriting reads at gameplay distance without dozens of decals |
| Circular blade sign | 3.9 m white disc with a black rim on a roof pole; `THE JOKE SHOP` lettering faces the street |
| Red curtains | Four three-fold velvet bays with tiebacks between the entrance and the east end; a red velvet entrance curtain |
| Red curtains | Seven tied-back velvet drapes between the entrance and the east end — each cinched into an hourglass with a scalloped hem and dark recess between bays; a red velvet entrance curtain |
| West-end entrance | Recessed opening at x = -8.8 m with a low step, brass pulls and the door-lock indicator |
| Warm practicals | Sconces along the wall, canopy downlights, entrance wash and three ground uplights; all off in daylight and switched by `set_night_mode()` |
| Neighbouring low-rise frontage | Cream Mediterranean block west (balconies, red awning) and white commercial block east (ribbon windows, lobby) |
@@ -51,7 +67,7 @@ hillside houses behind it are part of the silhouette from the sidewalk.
Hollywood block and a crosswalk in front of the entrance.
- **Playable area:** x = -15…15, z = -0.6…14.0. The guard starts on the west
side of the entrance at (-4.8, 0.1, 1.4), facing the approach.
- **Map budget:** the headless audit measures **22,680 triangles across 454
- **Map budget:** the headless audit measures **25,828 triangles across 518
meshes**, well inside the 150k/700 test budget.
The same geometry serves the day and late-night looks. There is no second baked