Food stalls
A low-poly row of two fairground food stalls with candy-striped awnings and scalloped valances, bulb-lit fascias, striped counters and serving windows. A giant popcorn tub and an ice-cream cone sit on the roof.

Left rail: colours and the 4 knobs the agent wrote into this model — they rebuild the geometry and go into your download. Right rail: looks for the viewer. Drag to orbit, scroll to zoom.
- Triangles
- 2,568
- Vertices
- 7,704
- Meshes · materials
- 32 · 32
- Size (W × H × D)
- 5.1 m × 4.3 m × 3.1 m
- File
- GLB · 274 KB
- Animation
- Static
- Style
- Low-poly
- Collection
- Amusement Park
Palette · named materials
- candy red — awning and counter stripes of the first stall, roof trim, side-board frames, popcorn stripes, ketchup, cherry (accent)#c32222
- sky blue — awning and counter stripes of the second stall (accent)#2e67b8
- white — walls, roof, awning and counter stripes, popcorn stripes (body)#f4f1ec
- yellow — fascia bands, side boards, mustard, cone rim, popcorn kernels (accent)#eecd2b
- yellow light — fascia bulbs, warmer glass, popcorn heap (glass)#f0db75
- yellow dark — ice-cream cone (trim)#bda00f
- candy red light — strawberry scoop (accent)#db5757
- candy red dark — popcorn tub base (trim)#821717
- warm white — counter tops, vanilla scoop, popcorn kernels (trim)#f2ede2
- mid grey — plinth and back counters (base)#7d828c
- dark wood — back doors, interior lining, cup shelves (base)#3d2a1c
- soot black — door handles, cone stand (trim)#1b1b22
Use it
import { GLTFLoader } from "three/addons/loaders/GLTFLoader.js";
const gltf = await new GLTFLoader().loadAsync(
"https://assets.stoicsoft.com/1designtool/3d/models/amusement-park-food-stalls/952c99b18f/model.glb"
);
scene.add(gltf.scene); // metres, +Y up, front faces +ZHow it was made
The brief given to 1DesignTool's “3D object” template:
Food stalls for the Amusement Park kit. Design it as one clear asset at believable real-world scale for that setting (state the size in metres in meta.notes), with its main parts modelled and named, readable at thumbnail size and from every orbit angle. This is one part of the Amusement Park kit (Low-poly style, flat-lowpoly direction): Rides, lights and queues. Use ONLY the kit palette, by name: candy red #c32222, yellow #eecd2b, sky blue #2e67b8, white #f4f1ec, candy red dark #821717, yellow dark #bda00f, candy red light #db5757, yellow light #f0db75, soot black #1b1b22, warm white #f2ede2, mid grey #7d828c, dark wood #3d2a1c. Every material's `name` must be exactly the palette colour it uses — the GLB carries these names so the kit recolours as one; an unnamed material fails delivery. Kit knob: expose a param `rideColours` (0–1, default 0.5) for the kit's "Ride colours" setting wherever it makes sense on this part, and keep that id.
- Agent: Claude Code · Claude Opus 5.5 in 1DesignTool
- Generation: 3.37M tokens (95% cached) · ≈ $2.50 at API prices · 5-hour plan +6%
- Direction: Low-poly · family products
- three-check PASS · glb-lint PASS
Named parts · 9
- Food stalls
- Plinth
- Stall walls
- Counters
- Interior
- Fascia and bulbs
- Awnings
- Roofs
- Roof snacks
Note: Size at default params: 5.12 m wide × 3.13 m deep (with 1.0 m awnings) × 4.32 m tall to the top of the ice-cream topper. The stall roofs are at 2.8 m and the counters at 1.04 m. The origin is at the bottom centre of the footprint on y = 0, and the serving windows face +Z. The GLB has 2,568 triangles in 32 meshes, is static, and carries no animation clip. Normals are baked flat (non-indexed geometry). Meshes are merged by colour inside each named part. Every material is named exactly after an Amusement Park palette colour, and all 12 are used. The exporter writes one material per mesh, so a colour name appears on several materials: recolour by name. rideColours (the kit's 'Ride colours') picks a stripe scheme. Below 0.33 the scheme is muted: dark red and warm white awnings, wood-and-white counters. From 0.33 to 0.67 (default 0.5) it is classic: red and blue stripes on white with yellow fascias. Above 0.67 it is bright: stripes on yellow, coloured counters and back walls. stallCount (1–3) adds stalls with a popcorn tub, ice-cream cone and soda cup on the roofs in that order. stallWidth and awningDepth resize the stalls and awnings. The GLB is baked at default params. The params only change geometry when the scene is rebuilt in the viewer. Both extremes were built and checked: 3 × 3.2 m stalls at bright colours (4,434 viewer tris) and 1 × 1.8 m stall at muted colours. Signs and boards are blank, with no text. glb-lint: 0 errors, 6 warnings, all expected: per-mesh material count, duplicate-named materials, non-indexed primitives, nested parts, parts resting on parts in other groups, and the 4.32 m height versus the 1 m reference. plan-check rejects only the hyphens in the slug-based part ids this library requires. The same plan with the slug de-hyphenated passes, and three-check, run with the real hyphenated ids, passes all 24 checks.
About the Food stalls 3D model
Food stalls is a free low-poly 3D model from the Amusement Park set. It measures 5.1 m × 4.3 m × 3.1 m (W × H × D) at real-world scale and is built from 2,568 triangles across 32 meshes, with 9 named parts. Download the 274 KB GLB and drop it into three.js, React Three Fiber, Godot or Blender — free for commercial use, no attribution required.
- Is the Food stalls 3D model free for commercial use?
- Yes. It is free under the 1DesignTool 3D library license: use it in personal and commercial work — games, apps, websites, renders, ads and client projects — and modify it as you like, with no credit required. What you can't do is re-sell or re-distribute the file on its own or inside a model pack.
- What file format is it, and how big is it?
- A single binary glTF 2.0 file (.glb), 274 KB: 2,568 triangles, 7,704 vertices and 32 materials, modelled in metres at 5.1 m × 4.3 m × 3.1 m.
- Can I animate Food stalls?
- It ships as a static mesh. Its 9 named parts are separate nodes, so you can move or animate each one in your engine.
- Which engines and tools can open it?
- Anything that reads glTF 2.0. three.js, React Three Fiber, Babylon.js, Godot 4 and Blender import the GLB directly; Unity and Unreal Engine load it through their glTF importers. The snippets above show the exact code for three.js, React Three Fiber, Godot and Blender.
- How was the Food stalls 3D model made?
- Claude Code (Claude Opus 5.5) generated it inside 1DesignTool's 3D template from a written brief, then the design kit's checks verified the geometry and the GLB before it was published. You can make your own the same way with 1DesignTool.
More like this
All of Amusement Park →
Ticket booths
Amusement Park3,068 tris

Plaza tiles
Amusement Park1,992 tris

Balloons
Amusement Park1,236 tris

Prize toys
Amusement Park2,208 tris

Benches
Amusement Park452 tris

Bins
Amusement Park932 tris

Queue rails
Amusement Park1,744 tris

Coaster cars
Amusement Park3,248 tris
Free under the 1DesignTool 3D library license. Model #16 of 1898.