Gaitkit Open the lab
Bicycle, A 1.75 m bicycle as an upright city step-through, a drop-bar road bike or a knobbly mountain bike. Wheels spin with distance driven, the crank and pedals turn once every two wheel turns (crank, pedal_L, pedal_R), the front end steers (steer); a small lamp glows at night.
Vehicle · Rolls with distance

Bicycle

A 1.75 m bicycle as an upright city step-through, a drop-bar road bike or a knobbly mountain bike. Wheels spin with distance driven, the crank and pedals turn once every two wheel turns (crank, pedal_L, pedal_R), the front end steers (steer); a small lamp glows at night.

Size
0.48 × 1.1 × 1.7 m
Triangles
1,408
Open in the lab Loop clip inside. The download carries the knobs you set here.

Tune it

4 knobs: Style, Frame colour, Front basket, Rear rack.

Specs

Size
0.48 × 1.1 × 1.7 m
width × height × depth
Triangles
1,408
of 6,000
Draw calls
1
one vertex-colour material
Loop clip
4.273 m
of travel per cycle
Moving parts
6
wheel_0 · spin, wheel_1 · spin, crank · spin, pedal_L · spin, pedal_R · spin, steer · rotate
Knobs
4
3 presets
Night lights
2
headlight, taillight

Passed the validator: real scale, rests on y = 0, front faces +Z, deterministic.

Use it

Code for the specimen as it is set up above; it follows your knobs.

JavaScript
import { createAsset } from 'https://gaitkit.com/cdn/bicycle.mjs';

const bicycle = createAsset();
scene.add(bicycle);                      // rests on y = 0, front faces +Z

let dist = 0;
renderer.setAnimationLoop(() => {
  dist += speed * clock.getDelta();
  bicycle.position.z = dist;
  bicycle.userData.tick(dist);            // wheels roll exactly with the distance
  renderer.render(scene, camera);
});

More in the docs; agents can fetch all of this through MCP.

Knobs

KnobTypeValuesDefaultWhat it does
stylechoicecity road mountaincitycity (step-through frame, upright swept bars, fenders and chain guard), road (diamond frame, drop bars, thin tyres), mountain (sloping frame, flat wide bar, fat knobbly tyres, suspension fork).
paintchoicemint cobalt coral mustard cream graphitemintFrame colour: mint, cobalt (blue), coral (red-pink), mustard (yellow), cream, graphite (dark grey).
baskettoggleon / offfalseA wicker basket on the handlebars that turns with the steering.
racktoggleon / offfalseA rear carrier over the back wheel with a canvas pannier bag on one side.

Presets: market run {"style":"city","paint":"cream","basket":true,"rack":true} · sunday ride {"style":"road","paint":"cobalt","basket":false} · trail {"style":"mountain","paint":"mustard","basket":false}

Files

FileWhat
bicycle.glbGLB, default look · 185 KB
bicycle.mjsES module, every knob live
bicycle.objOBJ, static, no colour
bicycle-params.jsonknob schema, presets, night zones

Licence

Use it in games, apps, renders and client work, commercially and without credit. Do not resell it as an asset or train a 3D generator on it. The full licence.