Baskets
A low-poly supermarket hand basket: a tapered red plastic tub with rows of punched slots, a thick top rim, a slotted floor on two runners and two black U-handles standing up over the middle.

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,368
- Vertices
- 4,368
- Meshes · materials
- 7 · 7
- Size (W × H × D)
- 50 cm × 35 cm × 32 cm
- File
- GLB · 124 KB
- Animation
- Static
- Style
- Low-poly
- Collection
- Supermarket
Palette · named materials
- red — tub: walls, rim, floor, runners (accent; mid grey below brandColours 0.34, fresh green above 0.67)#c32222
- soot black — handle arms and grips (trim)#1b1b22
- white dark — handle pivot bosses (trim)#d7cebc
- white light — blank label plates (trim)#f9f8f6
Use it
import { GLTFLoader } from "three/addons/loaders/GLTFLoader.js";
const gltf = await new GLTFLoader().loadAsync(
"https://assets.stoicsoft.com/1designtool/3d/models/supermarket-baskets/507046b00f/model.glb"
);
scene.add(gltf.scene); // metres, +Y up, front faces +ZHow it was made
The brief given to 1DesignTool's “3D object” template:
Baskets for the Supermarket 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 Supermarket kit (Low-poly style, flat-lowpoly direction): A full grocery store interior. Use ONLY the kit palette, by name: white #f4f1ec, fresh green #3a883a, red #c32222, light wood #ac7d53, white dark #d7cebc, fresh green dark #235223, white light #f9f8f6, fresh green light #5db15d, 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 `brandColours` (0–1, default 0.5) for the kit's "Brand colours" 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 vessels
- three-check PASS · glb-lint PASS
Named parts · 8
- Basket
- Slotted floor and runners
- Slotted walls
- Top rim
- Front handle
- Back handle
- Handle pivots
- Label plates
Note: Size at the defaults: 0.50 m wide across the handle pivots (0.46 m at the rim) × 0.32 m deep × 0.35 m tall with the handles up. The rim sits at 0.22 m. This is a standard 430 × 300 mm hand basket that tapers to 370 × 250 mm at the floor. The origin is the bottom centre, resting on y = 0, and the long side faces +Z. The GLB has 2,368 triangles in 7 meshes (one per part and colour) and no animation clip. The worst case (4 slot rows, maximum depth, handles folded) measures 3,210 triangles. Every material is named exactly after a kit palette colour. The exporter writes one material per mesh, so a colour name can appear more than once: recolour by name. brandColours (the kit's 'Brand colours') recolours the tub: mid grey below 0.34, red from 0.34 to 0.67 (the default), fresh green above 0.67. Handles stay soot black. The label plates are blank, with no text or logo. The handles are posed by handleLift: 0 hangs both folded outside the long walls, 1 stands them up 5° apart so the grips sit side by side. They are baked into the static mesh, not rigged, so the GLB carries the default upright pose. All params are baked at their defaults and only change the geometry when the scene is rebuilt in the viewer. glb-lint: 0 errors and 3 heuristic warnings. The first is duplicate same-colour materials (one per mesh). The second flags rim, handles and pivots as 'detached': this is a false positive, because the rim is embedded in the wall tops and the handle arms sit on the pivot bosses. The third is scale (0.35 m vs the direction's 1 m reference height), which is the real size of a basket. plan-check passes except for its part-id regex, which rejects the hyphen in the slug-based ids this library requires. three-check accepts those ids, and all 8 survive the GLB reload.
About the Baskets 3D model
Baskets is a free low-poly 3D model from the Supermarket set. It measures 50 cm × 35 cm × 32 cm (W × H × D) at real-world scale and is built from 2,368 triangles across 7 meshes, with 8 named parts. Download the 124 KB GLB and drop it into three.js, React Three Fiber, Godot or Blender — free for commercial use, no attribution required.
- Is the Baskets 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), 124 KB: 2,368 triangles, 4,368 vertices and 7 materials, modelled in metres at 50 cm × 35 cm × 32 cm.
- Can I animate Baskets?
- It ships as a static mesh. Its 8 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 Baskets 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 Supermarket →Free under the 1DesignTool 3D library license. Model #4 of 731.







