Audit -> normalize (16 GLBs + thumbs) -> web/assets/manifest.json (the contract Lanes B/C/D read) -> facade gap-fill. Step 4 facades generated locally on the M3 Ultra via MODELBEAST flux_local (FLUX.2-klein-4B / MLX on MPS): 23 skins, free, ~5.7s each, blank signboard, eyeballed, harvested, mapped to shop types. Every registry type now has >=3 facades (stall 2->4, closing the Lane A gap). Corner-lot -side walls tagged face:"side" with empty types so no shop front ever selects a windowless wall. manifest validates green. Still gated on John (both optional -- the game runs asset-free): publish the 16 GLBs to 3GOD (needs GOD3_PW), MeshGod hero props (~$2.70). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
5.8 KiB
PROCITY facade skins — manual prompt pack (Step 4, route 2)
Free route: paste these into the house image flow (Gemini / Flow) by hand. Route 1 (
pipeline/gen_skins.py) generates the identical set automatically for ~9¢ if the OpenRouter key is available. Either way, review, then save intoweb/assets/gen/under the exact filenames below and re-runpython3 pipeline/build_manifest.pyto catalogue them.
LOCK — prepend to every prompt (the style + POLY bible)
1990s Australian op-shop aesthetic, slightly faded and worn, warm fluorescent lighting,
kitsch but loving, no text unless specified, no watermarks.
Golden rules (why these match the existing 25):
- Blank signboard above the entrance — the game overlays the shop name (never bake text in).
- Flat front elevation, edge to edge — it's a texture on a plane, not a hero shot. No angle, no sky margin, no ground margin (except the wide/house variants which include a sliver).
- Straight-on, overcast daylight. Landscape framing (~16:9) for shopfronts.
- Downsize to ≤1024px before saving (
sips -Z 1024 in.png --out out.jpg).
Shop-type facades (registry gaps) → facade-<name>.jpg
Template: "Straight-on photograph of a small single-storey Australian suburban shop facade, {desc}, blank empty signboard above the entrance, glass shop window and a door, no text or lettering anywhere, overcast daylight, flat front elevation filling the entire frame edge to edge, nothing else visible."
| save as | {desc} |
|---|---|
facade-toy-brights.jpg |
cheerful toy shop, primary-colour painted render, big low display window |
facade-toy-lolly.jpg |
old-fashioned lolly and toy shop, pastel candy-stripe painted front |
facade-book-barn.jpg |
a crammed secondhand book barn, tall dusty windows stacked with books, dark timber |
facade-book-scholarly.jpg |
a genteel antiquarian bookshop, dark green paint, gold-line window, brass fittings |
facade-video-neon.jpg |
a 1990s video rental store, glossy red and blue plastic signage band, poster light-boxes (all blank) |
facade-video-suburban.jpg |
a suburban strip video shop, cream brick, glass double doors, returns chute |
facade-milkbar-corner.jpg |
a classic corner milk bar, cream and green wall tiles, wide wrap-around window, ice-cream awning |
facade-milkbar-fibro.jpg |
a little fibro milk bar with a fly-screen door, a bench out front, faded soft-drink colours |
facade-milkbar-deco.jpg |
a streamline-deco milk bar, curved rendered corner, chrome trim, pastel mint paint |
facade-arcade-entry.jpg |
a covered pedestrian shopping arcade entrance, tiled archway, terrazzo floor, patterned ceiling |
facade-warehouse-roller.jpg |
an industrial discount warehouse shop, red brick with a big corrugated steel roller door, blank banner |
facade-warehouse-tin.jpg |
a corrugated-tin clearance shed shopfront, roller door half up, concrete apron |
facade-market-fruit.jpg |
an open fruit-and-veg shopfront, empty produce crates and astro-turf steps, striped awning |
facade-market-edge.jpg |
a row of humble market-square edge shopfronts under one shared posted verandah, mixed paint colours |
Wide department-store anchors → facade-<name>.jpg (Lane B maps onto a WIDE plane)
Template: "Straight-on photograph of a WIDE two-storey Australian department-store anchor building facade, {desc}, a long blank signboard band across the top, rows of ground-floor display windows and a central entrance, no text or lettering anywhere, overcast daylight, flat front elevation filling the entire frame edge to edge, nothing else visible."
| save as | {desc} |
|---|---|
facade-dept-anchor.jpg |
mid-century mustard-render and glass, cantilevered awning, grand central doors |
facade-dept-emporium.jpg |
a federation-era brick emporium, arched upper windows, ornate parapet |
Corner-lot second faces → facade-<name>-side.jpg (the -side convention)
Corner-lot decision: in v1 Lane B reuses the front facade skin on the side face (documented in
manifest.json→conventions.corner_lots). These blank-sidewalls are the upgrade: a windowless side elevation so corner buildings don't show a duplicated shopfront down the lane.
Template: "Straight-on photograph of the plain windowless side wall of an Australian shop building, {desc}, no shopfront, no door, a faded blank rectangular ghost-sign area, no text or lettering anywhere, overcast daylight, flat elevation filling the entire frame edge to edge."
| save as | {desc} |
|---|---|
facade-brick-side.jpg |
painted red brick, a downpipe, one small high window |
facade-weatherboard-side.jpg |
cream weatherboard boards, a rain downpipe |
facade-render-side.jpg |
weathered pastel painted render with hairline cracks |
Residential fronts → facade-<name>.jpg (lots with use:'house')
Template: "Straight-on photograph of a modest Australian suburban house front, {desc}, front path and a bit of fence, no text anywhere, overcast daylight, flat front elevation filling the entire frame edge to edge, nothing else visible."
| save as | {desc} |
|---|---|
facade-res-terrace.jpg |
a single-fronted Victorian terrace, iron-lace verandah, dark brick, tiny front garden |
facade-res-weatherboard.jpg |
a modest weatherboard cottage, bull-nose verandah, picket fence |
facade-res-fibro.jpg |
a 1950s cream fibro house, hip roof, small steel-framed windows |
facade-res-brickveneer.jpg |
a 1970s brown brick-veneer house, aluminium sliding windows, carport edge |
23 skins total. After harvesting, build_manifest.py auto-catalogues any facade-*.jpg
(new shop-type ones get their types from the map in build_manifest.py — add the new keys
there so they attach to the right shop types; unmapped ones default to ["general"]).