Puzzle pieces
A child's chunky four-piece jigsaw lying on the floor: three painted wooden pieces locked together and a yellow piece slid out and turned beside its empty slot. Built flat-shaded in the Toy Box kit palette, so the knob-and-socket fit reads from any angle and at thumbnail size.

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
- 960
- Vertices
- 1,488
- Meshes · materials
- 8 · 8
- Size (W × H × D)
- 24 cm × 2 cm × 22 cm
- File
- GLB · 50 KB
- Animation
- Static
- Style
- Low-poly
- Collection
- Toy Box
Palette · named materials
- blue#2e67b8
- primary red#c32222
- primary red light#db5757
- yellow#eecd2b
- wood#7d5736
Use it
import { GLTFLoader } from "three/addons/loaders/GLTFLoader.js";
const gltf = await new GLTFLoader().loadAsync(
"https://assets.stoicsoft.com/1designtool/3d/models/toy-box-kit-puzzle-pieces/26e7599b4c/model.glb"
);
scene.add(gltf.scene); // metres, +Y up, front faces +ZHow it was made
The brief given to 1DesignTool's “3D object” template:
Puzzle pieces for the Toy Box 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 Toy Box kit (Low-poly style, flat-lowpoly direction): A child's floor seen from toy height. Use ONLY the kit palette, by name: primary red #c32222, blue #2e67b8, yellow #eecd2b, wood #7d5736, primary red dark #821717, blue dark #1f457a, primary red light #db5757, blue light #6190d1, 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 `toyEra` (0–1, default 0.5) for the kit's "Toy era" setting wherever it makes sense on this part, and keep that id.
- Agent: Claude Code · Claude Opus 5.5 in 1DesignTool
- Generation: 3.59M tokens (96% cached) · ≈ $2.24 at API prices · 5-hour plan +8%, weekly plan +1%
- Direction: Low-poly · family products
- three-check PASS · glb-lint PASS
Named parts · 13
- Puzzle pieces
- Piece A (blue)
- Piece A cap
- Piece A body
- Piece B (red)
- Piece B cap
- Piece B body
- Piece C (light red)
- Piece C cap
- Piece C body
- Loose piece (yellow)
- Loose piece cap
- Loose piece body
Note: Real-world scale: 0.243 m wide x 0.218 m deep x 0.018 m tall at default parameters (each piece is an 8.5 cm square, 1.8 cm thick, like a toddler's chunky wooden jigsaw). Origin is at the bottom centre of the footprint, every piece rests on y = 0, metres, +Y up, the loose piece sits front-right (+X/+Z). 960 triangles, 8 meshes. Each piece is a colour cap over a wood body extruded from one outline; knobs and sockets come from one shared edge curve and each piece is inset by 0.6 mm, so locked pieces show an even seam and never share a face. Material NAMES are the Toy Box palette colour names verbatim ('blue', 'primary red', 'primary red light', 'yellow', 'wood'), which is how the kit recolours the set; meta.palette.role carries those same names. 'wood' appears four times in the GLB because the exporter clones the material per mesh; every copy has the same name and colour, so name-based recolouring still works. Flat shading is baked into the normals, so the facets survive in Blender/Godot/Unity. Static asset: no animation clip. 'toyEra' is the kit's Toy era knob and changes geometry only, never colour: 0 gives a vintage wooden jigsaw (thin paint layer over a thick wood body, square corners, small knobs on a pinched neck), 1 gives a modern chunky toddler puzzle (thick colour cap, rounded outer corners, bigger knobs). 'looseOut' is measured in piece widths; its minimum of 0.6 is where the loose piece's knobs still clear the neighbouring pieces at the biggest knob size (checked in top-view captures, design-check/3d/params/). All four params were rebuilt and captured at their range corners. glb-lint reports three non-blocking heuristic warnings: duplicate 'wood' materials (the per-mesh clone above); 'detached-parts' on the four caps, because each cap rests face-to-face on its body and the AABB test only counts volume overlap; and 'scale', which compares an 18 mm-tall flat toy against the direction's 1 m reference height. Run bare ('glb-lint.mjs model.glb --plan design-plan.md') the verdict is UNVERIFIED with 0 errors, because no requirements contract is passed. With the contract the kit's quality-sync.mjs builds from the plan (.1design/quality/index.html/requirements.json) the verdict is PASS with 0 errors.
More like this
All of Toy Box →
Dice
Toy Box884 tris

Race car on track
Toy Box1,352 tris

Pull-along duck
Toy Box1,400 tris

Spinning top
Toy Box600 tris

Toy train
Toy Box2,214 tris

Toy tools
Toy Box888 tris

Stacking rings
Toy Box1,988 tris

Sliding portrait
Haunted Mansion1,904 tris
Free under the 1DesignTool 3D library license. Model #35 of 485.