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
- Kit
- City Street
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.
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);import { useMemo } from 'react';
import { createAsset } from 'https://gaitkit.com/cdn/shopfront.mjs';
export function Shopfront() {
const model = useMemo(() => createAsset(), []);
return <primitive object={model} />;
}# Import shopfront.glb (download below). Moving parts are separate nodes, pivoted on their hinge.
$Shopfront/door.rotation_degrees.y = 0// Import shopfront.glb with glTFast (com.unity.cloud.gltfast).
transform.Find("door").localEulerAngles = new Vector3(/* y: */ 0, 0, 0);Use the gaitkit MCP server: get_variant({ "id": "shopfront", "want": "default look" })
then place the result.
# MCP endpoint
https://gaitkit.com/mcpKnobs
| Knob | Type | Values | Default | What it does |
|---|---|---|---|---|
type | choice | cafe bakery florist fashion hardware pharmacy | cafe | cafe (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). |
bays | range | 1 to 3, step 1 | 2 | Frontage 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. |
awning | choice | striped plain none | striped | striped (classic two-colour canvas awning with a scalloped valance), plain (one colour with a contrasting edge), none (bare fascia, modern look). |
sidewalk | toggle | on / off | true | Put 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. |
seed | range | 1 to 999, step 1 | 3 | Variation 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
| File | What |
|---|---|
| shopfront.glb | GLB, default look · 505 KB |
| shopfront.mjs | ES module, every knob live |
| shopfront.obj | OBJ, static, no colour |
| shopfront-params.json | knob 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.