Coffee Table
A low living-room table at real height (42 cm), 0.9 to 1.4 m long: a rectangular, oval or round top with a bevelled edge on a chamfered apron, four legs (tapered, splayed mid-century with brass caps, black hairpins or chunky block legs), an optional slatted lower shelf with magazines and a front drawer that slides out (drawer_0). Four Home Furniture styles: scandi oak, mid-century walnut, white modern, rustic pine. A pair of art books and a ceramic bowl sit on top.
- Size
- 1.1 × 0.50 × 0.60 m
- Triangles
- 1,192
Tune it
5 knobs: Style, Shape, Length, Storage, Legs.
Specs
- Size
- 1.1 × 0.50 × 0.60 m width × height × depth
- Triangles
- 1,192 of 6,000
- Draw calls
- 1 one vertex-colour material
- Moving parts
- 1 drawer_0 · slide
- Knobs
- 5 3 presets
- Night lights
- 0 none
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/coffee-table.mjs';
const coffeeTable = createAsset();
scene.add(coffeeTable); // rests on y = 0, front faces +Zimport { useMemo } from 'react';
import { createAsset } from 'https://gaitkit.com/cdn/coffee-table.mjs';
export function CoffeeTable() {
const model = useMemo(() => createAsset(), []);
return <primitive object={model} />;
}# Import coffee-table.glb (download below). Moving parts are separate nodes, pivoted on their hinge.
add_child(preload("res://coffee-table.glb").instantiate())// Import coffee-table.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": "coffee-table", "want": "default look" })
then place the result.
# MCP endpoint
https://gaitkit.com/mcpKnobs
| Knob | Type | Values | Default | What it does |
|---|---|---|---|---|
style | choice | scandi oak mid-century walnut white modern rustic pine | mid-century walnut | scandi oak (pale oak, tapered legs, knob), mid-century walnut (dark walnut, splayed legs with brass caps, brass-lipped grip), white modern (white top, black hairpin legs, black bar pull), rustic pine (thick pine top, chunky block legs, iron bin pull). Matches the other Home Furniture pieces. |
shape | choice | rect oval round | rect | rect (rectangle, about 55% as deep as long), oval (an ellipse of the same footprint), round (a circle as wide as 80% of the length). |
size | range | 0.9 to 1.4, step 0.1 | 1.1 | Length in metres, 0.9 to 1.4. Height is always 42 cm. |
storage | choice | shelf drawer both none | both | shelf (a slatted lower shelf with a stack of magazines), drawer (a shallow front drawer that slides out), both, or none (an open table on its legs). |
legs | choice | auto tapered splayed hairpin block | auto | auto (the style's own legs), tapered (round tapered legs), splayed (angled mid-century legs with brass caps), hairpin (black steel wire legs), block (chunky square farmhouse legs). |
Presets: mid-century lounge {"style":"mid-century walnut","shape":"oval","size":1.2,"storage":"shelf"} · farmhouse coffee table {"style":"rustic pine","shape":"rect","size":1.3,"storage":"both"} · nordic round {"style":"scandi oak","shape":"round","size":1,"storage":"none","legs":"tapered"}
Files
| File | What |
|---|---|
| coffee-table.glb Pro | GLB, default look · 222 KB |
| coffee-table.mjs Pro | ES module, every knob live |
| coffee-table.obj Pro | OBJ, static; colours in the .mtl |
| coffee-table.mtl | OBJ colours; keep it next to the .obj |
| coffee-table-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.