Race car on track
A modular 2 m toy-track straight — wooden deck, soot-black road, red-and-white kerbs and yellow centre dashes — with a faceted open-wheel race car revving on its start/finish line under a chequered flag. It snaps end-to-end with other Toy Box modules on a 1 m grid and carries a 6 s seamless loop.

Left rail: colours and the 5 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
- 1,352
- Vertices
- 4,056
- Meshes · materials
- 32 · 32
- Size (W × H × D)
- 1.0 m × 57 cm × 2.0 m
- File
- GLB · 183 KB
- Animation
- scene-motion · 6.0s
- Style
- Low-poly
- Collection
- Toy Box
Palette · named materials
- body#c32222
- bodyDark#821717
- bodyLight#db5757
- driver#2e67b8
- hub#eecd2b
- deck#7d5736
- foot#3d2a1c
- road#1b1b22
- line#f2ede2
- metal#7d828c
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-race-car-on-track/b7e485b32f/model.glb"
);
scene.add(gltf.scene); // metres, +Y up, front faces +Z
const mixer = new THREE.AnimationMixer(gltf.scene);
gltf.animations.forEach((clip) => mixer.clipAction(clip).play());
// in your loop: mixer.update(delta)How it was made
The brief given to 1DesignTool's “3D object” template:
Race car on track 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. It is a modular piece that snaps on a 1 m grid: give it a length in whole metres and put the origin at its snapping end, stated in meta.notes. It moves: author a seamless baked loop (2–12 s) with every pivot exactly at its hinge, axle or swivel, and keep the base still. 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 in 1DesignTool
- Generation: 12.58M tokens (97% cached) · ≈ $11.76 at API prices · 5-hour plan +22%
- Direction: Low-poly · family vehicles
- three-check PASS · glb-lint PASS (0 blocking errors, 4 warnings)
Named parts · 30
- Race car on track
- Track module
- Base slab
- Wood deck
- Road surface
- Kerb blocks (red)
- Kerb blocks (white)
- Centre dashes
- Start/finish line
- Flag post
- Pole
- Pole cap
- Chequered flag
- Race car
- Sprung hull
- Undertray
- Body tub
- Nose cone
- Side pods
- Cockpit opening
- Roll hoop
- Driver helmet
- Front wing
- Rear wing
- Suspension arms
- Exhaust
- Front left wheel
- Front right wheel
- Rear left wheel
- Rear right wheel
Note: Size at default params: 2.000 m long (+Z) x 1.000 m wide x 0.568 m tall; the car itself is 0.68 m long and 0.48 m wide, the flag post tops out at 0.568 m. GRID: this is a modular straight, so the origin is NOT the bounding-box centre — it sits at the bottom centre of the z = 0 END FACE (the snapping end), and the module runs forward to z = trackLength. Butt two copies together at whole-metre spacing and road, kerbs and centre dashes line up. trackLength is in whole metres (step 1). MOTION: the 6 s clip 'scene-motion' is baked rigid-transform tracks. The car revs on the start line rather than driving down the module — wheels spin on their axles, the sprung hull squats about the rear axle and shudders at 2 Hz, the driver's helmet turns at the neck and the flag swivels on the pole axis. Nothing translates along the track, so the loop closes exactly at t = 0/6 s and the piece still tiles; the track, base and post never move. toyEra reshapes the car only (vintage: tall tub, narrow tyres, small wings; modern: low tub, wide tyres, big wings) — it never changes a colour, because the palette is the kit's shared recolour contract. MATERIALS: ten roles, each material named for the exact Toy Box palette colour it carries. The viewer runtime's GLB exporter clones materials per mesh, so the file lists 32 material records drawn from those 10 names (e.g. eight named 'soot black'); a name-keyed recolour still reaches every surface, but a one-line de-duplication in the shared runtime exporter would bring the file back to 10. Geometry is non-indexed with face normals so the facets read flat in any engine without relying on a viewer-side flatShading flag — that is why glb-lint reports 100% non-indexed primitives. The 17 sibling-overlap findings are the deliberate embeds (road into deck, kerbs and dashes into the road, wings into the nose and tub) that keep the piece watertight with no coplanar z-fighting. CHECKS: three-check 24/24 pass at 1280x800 and 390x844 including GLB reload and reduced motion; glb-lint reports 0 errors and 4 warnings, and its overall verdict prints UNVERIFIED only because no requirements.json contract was supplied to it. The loop seam was verified by rendering t = 0 and t = 6 s — the two frames are byte-identical.
More like this
All of Toy Box →Free under the 1DesignTool 3D library license. Model #4 of 395.







