Cafe Counter
A coffee shop counter at bar height (1.04 m): a lit pastry display case with croissants, muffins, cakes and cookies, a two-group espresso machine with cups and a grinder facing the barista side (-Z), a POS tablet and card reader, a tip jar, and an optional back bar with shelves and a blank chalk menu board under picture lights. Customers stand at +Z.
- Size
- 3.3 × 2.7 × 2.0 m
- Triangles
- 3,416
Tune it
4 knobs: Length, Front, Machine, Back bar.
Specs
- Size
- 3.3 × 2.7 × 2.0 m width × height × depth
- Triangles
- 3,416 of 6,000
- Draw calls
- 1 one vertex-colour material
- Moving parts
- 3 case_door_0 · slide, case_door_1 · slide, till_drawer · slide
- Knobs
- 4 3 presets
- Night lights
- 3 display, screen, menu_light
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/cafe-counter.mjs';
const cafeCounter = createAsset();
scene.add(cafeCounter); // rests on y = 0, front faces +Zimport { useMemo } from 'react';
import { createAsset } from 'https://gaitkit.com/cdn/cafe-counter.mjs';
export function CafeCounter() {
const model = useMemo(() => createAsset(), []);
return <primitive object={model} />;
}# Import cafe-counter.glb (download below). Moving parts are separate nodes, pivoted on their hinge.
add_child(preload("res://cafe-counter.glb").instantiate())// Import cafe-counter.glb with glTFast (com.unity.cloud.gltfast).
// Drop it in the scene: 1 unit = 1 metre, +Z is its front.Use the gaitkit MCP server: get_variant({ "id": "cafe-counter", "want": "default look" })
then place the result.
# MCP endpoint
https://gaitkit.com/mcpKnobs
| Knob | Type | Values | Default | What it does |
|---|---|---|---|---|
length | range | 2.4 to 3.6, step 0.2 | 3 | Counter length in metres, 2.4 to 3.6. The pastry case sits at the left end, the espresso machine at the right. |
front | choice | wood tile black sage | wood | Counter front: wood (vertical oak slats), tile (white metro tiles under a dark top), black (painted slats under an oak top) or sage (painted panel under a white stone top). |
machine | choice | steel red cream black | red | Espresso machine body colour: steel, red, cream or black. |
backbar | toggle | on / off | true | A back counter and wall behind the barista with shelves of jars and cups and a three-panel blank chalk menu board under picture lights. |
Presets: corner espresso bar {"length":2.4,"front":"black","machine":"steel","backbar":true} · bakery cafe {"length":3.6,"front":"tile","machine":"cream","backbar":true} · kiosk counter {"length":2.6,"front":"sage","machine":"black","backbar":false}
Files
| File | What |
|---|---|
| cafe-counter.glb | GLB, default look · 506 KB |
| cafe-counter.mjs | ES module, every knob live |
| cafe-counter.obj | OBJ, static, no colour |
| cafe-counter-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.