Gaitkit Sign in Open the lab
Produce Stand, A greengrocer's display stand 1.2 to 2.2 m wide (the produce is shown about 1.4 times real size so it reads): two stepped tiers of slatted crates tilted toward the shopper (+Z), each filled with a seeded heap of apples, oranges, lemons, bananas, grapes, tomatoes, cabbages, carrots, aubergines, peppers or potatoes with a blank chalk price tag, on rustic timber, painted green or modern white frames, under an optional striped awning with a scalloped valance.
Prop · Still

Produce Stand

A greengrocer's display stand 1.2 to 2.2 m wide (the produce is shown about 1.4 times real size so it reads): two stepped tiers of slatted crates tilted toward the shopper (+Z), each filled with a seeded heap of apples, oranges, lemons, bananas, grapes, tomatoes, cabbages, carrots, aubergines, peppers or potatoes with a blank chalk price tag, on rustic timber, painted green or modern white frames, under an optional striped awning with a scalloped valance.

Size
2.1 × 2.2 × 1.5 m
Triangles
1,546
Open in the lab

FreeFree download, no account needed.

Also as , a .zip with the .obj and its .mtl.

Ready for any engine. The download carries the knobs you set here.

Tune it

5 knobs: Finish, Width, Produce, Awning, Seed.

Specs

Size
2.1 × 2.2 × 1.5 m
width × height × depth
Triangles
1,546
of 6,000
Draw calls
1
one vertex-colour material
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.

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

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

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

Knobs

KnobTypeValuesDefaultWhat it does
finishchoicerustic painted modernpaintedrustic (weathered timber frame and pale crates), painted (green-painted greengrocer frame with natural crates) or modern (white frame with black plastic crates).
widthrange1.2 to 2.2, step 0.11.8Frontage in metres, 1.2 to 2.2; a crate per 50 cm on each of the two tiers. Depth 1.1 m.
producechoicemixed fruit vegmixedWhat fills the crates: mixed, fruit (apples, oranges, lemons, bananas, grapes, peaches) or veg (tomatoes, cabbages, carrots, aubergines, peppers, potatoes, onions).
awningchoicered green blue saffron nonegreenStriped cloth awning on two back posts with a scalloped valance: red, green, blue, saffron, or none.
seedrange1 to 60, step 13Shuffles which produce goes in which crate and how the heaps lie.

Presets: village greengrocer {"finish":"painted","produce":"mixed","awning":"green","width":1.8,"seed":3} · orchard stand {"finish":"rustic","produce":"fruit","awning":"red","width":1.4,"seed":7} · city market {"finish":"modern","produce":"veg","awning":"blue","width":2.2,"seed":12}

Files

FileWhat
produce-stand.glbGLB, default look · 523 KB
produce-stand.mjsES module, every knob live
produce-stand.objOBJ, static; colours in the .mtl
produce-stand.mtlOBJ colours; keep it next to the .obj
produce-stand-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.