Gaitkit Open the lab
Shopfront, A one-storey ground-floor shop generator, 4.2 m tall to the cornice (the same as a City Building ground floor), 1 to 3 bays of 3.2 m wide and 4.4 m deep: cafe, bakery, florist, fashion boutique, hardware store or pharmacy, each with its own goods in deep display windows, a fascia and a hanging blade sign with a pictogram (never text), an optional striped or plain awning and goods out on the sidewalk. The glazed door is rigged ("door", rotates on y); the shop interiors and lamps glow at night; the seed reshuffles colours and goods.
Building · 1 moving part

Shopfront

A one-storey ground-floor shop generator, 4.2 m tall to the cornice (the same as a City Building ground floor), 1 to 3 bays of 3.2 m wide and 4.4 m deep: cafe, bakery, florist, fashion boutique, hardware store or pharmacy, each with its own goods in deep display windows, a fascia and a hanging blade sign with a pictogram (never text), an optional striped or plain awning and goods out on the sidewalk. The glazed door is rigged ("door", rotates on y); the shop interiors and lamps glow at night; the seed reshuffles colours and goods.

Size
6.6 × 4.9 × 6.0 m
Triangles
3,568
Open in the lab Ready for any engine. The download carries the knobs you set here.

Tune it

5 knobs: Shop, Width, Awning, Sidewalk goods, Seed.

Specs

Size
6.6 × 4.9 × 6.0 m
width × height × depth
Triangles
3,568
of 6,000
Draw calls
1
one vertex-colour material
Moving parts
1
door · rotate
Knobs
5
3 presets
Night lights
3
shop, lamp, sign

Passed the validator: real scale, rests on y = 0, front faces +Z, deterministic.

Use it

Code for the specimen as it is set up above; it follows your knobs.

JavaScript
import { createAsset } from 'https://gaitkit.com/cdn/shopfront.mjs';

const shopfront = createAsset();
scene.add(shopfront);                      // rests on y = 0, front faces +Z

// 'door' pivots on its hinge: 0° to 100° around y
shopfront.getObjectByName('door').rotation.y = THREE.MathUtils.degToRad(0);

More in the docs; agents can fetch all of this through MCP.

Knobs

KnobTypeValuesDefaultWhat it does
typechoicecafe bakery florist fashion hardware pharmacycafecafe (cakes and cups in the window, tables and chairs outside, cup sign), bakery (loaves and cakes on tiered shelves, bread crates outside, loaf sign), florist (potted plants and bunches, flower buckets on a stepped stand outside), fashion (mannequins in dresses, a clothes rail outside, hanger sign), hardware (paint cans and a tool wall, a ladder and crates outside, hammer sign), pharmacy (shelves of boxes, green capsule sign; no cross).
baysrange1 to 3, step 12Frontage in 3.2 m bays, matching City Building: 1 (3.2 m kiosk-size shop), 2 (6.4 m), 3 (9.6 m). One bay holds the door.
awningchoicestriped plain nonestripedstriped (classic two-colour canvas awning with a scalloped valance), plain (one colour with a contrasting edge), none (bare fascia, modern look).
sidewalktoggleon / offtruePut the shop's things out front: cafe tables, bread crates, flower buckets, a clothes rail, a ladder and crates, or planters and a bench for the pharmacy, plus an A-board.
seedrange1 to 999, step 13Variation seed: wall, sign and awning colours, which side the door is on and how the goods are arranged.

Presets: corner cafe {"type":"cafe","bays":2,"awning":"striped","seed":3} · flower shop {"type":"florist","bays":1,"awning":"plain","seed":11} · late pharmacy {"type":"pharmacy","bays":2,"awning":"none","sidewalk":false,"seed":5}

Files

FileWhat
shopfront.glbGLB, default look · 505 KB
shopfront.mjsES module, every knob live
shopfront.objOBJ, static, no colour
shopfront-params.jsonknob schema, presets, night zones

Licence

Use it in games, apps, renders and client work, commercially and without credit. Do not resell it as an asset or train a 3D generator on it. The full licence.