PROCITY/pipeline/SKIN_PROMPTS.md
m3ultra 063a959e29 Lane E (assets): pipeline, manifest + 23 on-device facade skins
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>
2026-07-14 13:48:25 +10:00

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 into web/assets/gen/ under the exact filenames below and re-run python3 pipeline/build_manifest.py to 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.jsonconventions.corner_lots). These blank -side walls 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"]).