Market stalls
A low-poly row of three Roman forum market stalls: timber booths on a travertine slab with marble-topped counters, red and terracotta cloth awnings on poles, and wares — amphorae, bronze vessels with a balance scale, and baskets of produce. One knob takes it from a busy market to an abandoned ruin.

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,808
- Vertices
- 8,424
- Meshes · materials
- 16 · 16
- Size (W × H × D)
- 8.1 m × 3.0 m × 3.4 m
- File
- GLB · 211 KB
- Animation
- Static
- Style
- Low-poly
- Collection
- Roman Forum
Palette · named materials
- imperial red — awning cloth on alternate stalls, apples (accent)#c32222
- terracotta — awning cloth on alternate stalls, amphorae, shelf jugs (cloth / ceramic)#be5937
- warm white — back and end walls, awning stripes and valances (wall)#f2ede2
- marble white dark — counter bodies, wall plinths, paving kerb (body)#d7cebc
- marble white — counter tops (trim)#f4f1ec
- mid grey — travertine paving slab (base)#7d828c
- dark wood — posts, beams, rafters, poles, shelves (structure)#3d2a1c
- terracotta dark — counter jugs, amphora handles, shelf baskets (ceramic)#823d26
- bronze — balance scale, bowls, plates, pitcher, bread (metal)#916430
- terracotta light — produce baskets (basket)#d08971
- marble white light — eggs in a basket (produce)#f9f8f6
Use it
import { GLTFLoader } from "three/addons/loaders/GLTFLoader.js";
const gltf = await new GLTFLoader().loadAsync(
"https://assets.stoicsoft.com/1designtool/3d/models/roman-forum-market-stalls/e2098b2fd6/model.glb"
);
scene.add(gltf.scene); // metres, +Y up, front faces +ZHow it was made
The brief given to 1DesignTool's “3D object” template:
Market stalls for the Roman Forum 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 Roman Forum kit (Low-poly style, flat-lowpoly direction): The civic heart of an imperial city. Use ONLY the kit palette, by name: marble white #f4f1ec, terracotta #be5937, imperial red #c32222, bronze #916430, marble white dark #d7cebc, terracotta dark #823d26, marble white light #f9f8f6, terracotta light #d08971, 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 `intactOrRuined` (0–1, default 0.5) for the kit's "Intact or ruined" setting wherever it makes sense on this part, and keep that id.
- Agent: Claude Code · Claude Opus 5.5 in 1DesignTool
- Direction: Low-poly · family scenes
- three-check PASS · glb-lint PASS
Named parts · 7
- Market stalls
- Paving slab
- Back and end walls
- Counters
- Timber frames
- Awnings
- Wares
Note: Size: 8.1 m wide (X) × 3.4 m deep (Z, paving slab including the awning poles) × 3.0 m tall to the back edge of the awnings. Each bay is 2.5 m between post axes; counters stand 0.95 m above the 12 cm paving, with a 0.6 m gap at one end for the seller. The origin is at the bottom centre, the paving rests on y = 0 and the front (counters, awnings) faces +Z. The GLB has 2,808 triangles in 16 meshes. It is static and carries no animation clip. Every material is named exactly after a kit palette colour; 11 of the 12 are used (soot black is unused). The exporter writes one material per mesh, so a colour name can appear on several materials; recolour by name. intactOrRuined (the kit's 'Intact or ruined' knob): below 0.38 the market is in trade; above that each awning tears back from its front edge at its own threshold, leaving sagging strips (at the default 0.5 the middle terracotta awning is torn); above 0.7 the front poles lie on the paving and an amphora topples; above about 0.8 the beams, rafters, shelves and shelf wares are gone and the posts and walls break to seeded heights. At 1.0 no cloth is left, so the awnings part id is absent there. three-check at 1.0 reports only that missing id; the ruined state was rendered as a spot check. stallCount (2–4), awningReach and counterHeight reshape the row. All params are baked into the GLB at their defaults; they only change the geometry when the scene is rebuilt in the viewer. glb-lint: 0 errors, 5 warnings, all expected: duplicate same-named materials from the per-mesh export; deliberately non-indexed geometry for hard flat facets; nested sibling meshes (stripes on cloth, kerb in slab, plinths on walls); and a 3 m height against the direction's 1 m reference height. plan-check rejects only the hyphenated library part ids, because its regex allows no hyphen; the same plan with the slug de-hyphenated passes. three-check and the GLB reload keep all 7 ids.
About the Market stalls 3D model
Market stalls is a free low-poly 3D model from the Roman Forum set. It measures 8.1 m × 3.0 m × 3.4 m (W × H × D) at real-world scale and is built from 2,808 triangles across 16 meshes, with 7 named parts. Download the 211 KB GLB and drop it into three.js, React Three Fiber, Godot or Blender — free for commercial use, no attribution required.
- Is the Market 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), 211 KB: 2,808 triangles, 8,424 vertices and 16 materials, modelled in metres at 8.1 m × 3.0 m × 3.4 m.
- Can I animate Market stalls?
- It ships as a static mesh. Its 7 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 Market 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 Roman Forum →
Water flowing in the aqueduct
Roman Forum3,078 tris

Ox cart
Roman Forum5,528 tris

Litter
Roman Forum2,688 tris

Scroll racks
Roman Forum4,008 tris

Chariot
Roman Forum2,952 tris

Braziers
Roman Forum2,046 tris

Standards
Roman Forum1,688 tris

Fountain
Roman Forum1,844 tris
Free under the 1DesignTool 3D library license. Model #27 of 1157.