{
 "id": "vehicle.two-wheel.bicycle/cargo-bike",
 "version": 1,
 "name": "Cargo Bike",
 "summary": "Two-wheel Dutch bakfiets with plywood child bench, working-part pivots, linked steering, laced wheels and retracted stand.",
 "tags": [
  "bicycle",
  "bike",
  "cargo",
  "two",
  "vehicle",
  "wheel"
 ],
 "style": "realistic",
 "status": "approved",
 "frame": {
  "contract": "library/two-wheel-+Z-front-+X-left",
  "up": "+Y",
  "unit": "m",
  "front": "+Z"
 },
 "size": {
  "measured_m": {
   "w": 0.66,
   "l": 2.55,
   "h": 1.1
  },
  "source": "measured",
  "class_band": "vehicle.two-wheel.bicycle",
  "band_axis": "length",
  "band": [
   1.6,
   1.9
  ],
  "in_band": false,
  "scale_to_class": 1.0
 },
 "bounds": {
  "geometry": {
   "min": [
    -0.33,
    0.0,
    -1.33
   ],
   "max": [
    0.33,
    1.1,
    1.22
   ]
  },
  "footprint": {
   "kind": "rect",
   "minX": -0.33,
   "maxX": 0.33,
   "minZ": -1.33,
   "maxZ": 1.22,
   "source": "measured"
  },
  "collider": {
   "parts": [
    {
     "type": "box",
     "x": 0.0,
     "y": 0.55,
     "z": -0.055,
     "hx": 0.33,
     "hy": 0.55,
     "hz": 1.275
    }
   ],
   "source": "guessed"
  }
 },
 "placement": {
  "role": null,
  "notes": null,
  "source": null
 },
 "sockets": [
  {
   "name": "wheel_f",
   "role": "wheel",
   "parent": "Wheel_F",
   "pos": [
    0.0,
    0.254,
    0.966
   ],
   "rot": [
    0,
    0,
    0,
    1
   ],
   "spin_axis": "X",
   "radius": 0.254,
   "steer": true,
   "source": "measured"
  },
  {
   "name": "wheel_r",
   "role": "wheel",
   "parent": "Wheel_R",
   "pos": [
    0.0,
    0.33,
    -0.966
   ],
   "rot": [
    0,
    0,
    0,
    1
   ],
   "spin_axis": "X",
   "radius": 0.33,
   "steer": false,
   "source": "measured"
  },
  {
   "name": "foot_l",
   "role": "foot",
   "parent": null,
   "pos": [
    0.136,
    0.149,
    -0.46
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "foot_r",
   "role": "foot",
   "parent": null,
   "pos": [
    -0.136,
    0.461,
    -0.56
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "light_head",
   "role": "light",
   "parent": null,
   "pos": [
    0.0,
    0.606,
    1.003
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "light_tail",
   "role": "light",
   "parent": null,
   "pos": [
    0.0,
    0.475,
    -1.33
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "seat_rider",
   "role": "seat",
   "parent": null,
   "pos": [
    0.0,
    0.945,
    -0.82
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "hand_l",
   "role": "hand",
   "parent": null,
   "pos": [
    0.26,
    1.064,
    -0.408
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "hand_r",
   "role": "hand",
   "parent": null,
   "pos": [
    -0.26,
    1.064,
    -0.408
   ],
   "rot": null,
   "source": "authored"
  }
 ],
 "nodes": {
  "body": [
   "Frame"
  ],
  "wheels": [
   "Wheel_F",
   "Wheel_R"
  ],
  "steer": [
   "Fork"
  ],
  "handlebar": [
   "Handlebar"
  ],
  "crank": [
   "Crank",
   "Pedal_L",
   "Pedal_R"
  ],
  "kickstand": [
   "Kickstand"
  ]
 },
 "paint": {
  "encoding": "material factor",
  "material": "Paint",
  "default": [
   0.08,
   0.3,
   0.15
  ],
  "paints": [
   [
    0.08,
    0.3,
    0.15
   ],
   [
    0.028,
    0.067,
    0.13
   ],
   [
    0.28,
    0.038,
    0.027
   ],
   [
    0.72,
    0.62,
    0.43
   ],
   [
    0.055,
    0.062,
    0.065
   ],
   [
    0.035,
    0.23,
    0.25
   ]
  ],
  "names": [
   "Bottle green",
   "Midnight blue",
   "Oxblood",
   "Warm cream",
   "Graphite",
   "Petrol blue"
  ],
  "colour_space": "linear",
  "how": "set the Paint material's color (linear RGB) to recolour; nothing else uses Paint"
 },
 "render": {
  "tris": 49790,
  "verts": 50908,
  "materials": 6,
  "draw_calls": 27,
  "textures": [
   {
    "px": [
     512,
     512
    ],
    "fmt": "ktx2"
   },
   {
    "px": [
     512,
     512
    ],
    "fmt": "ktx2"
   },
   {
    "px": [
     512,
     512
    ],
    "fmt": "ktx2"
   },
   {
    "px": [
     512,
     512
    ],
    "fmt": "ktx2"
   },
   {
    "px": [
     512,
     512
    ],
    "fmt": "ktx2"
   },
   {
    "px": [
     512,
     512
    ],
    "fmt": "ktx2"
   },
   {
    "px": [
     512,
     512
    ],
    "fmt": "ktx2"
   },
   {
    "px": [
     512,
     512
    ],
    "fmt": "ktx2"
   },
   {
    "px": [
     512,
     512
    ],
    "fmt": "ktx2"
   },
   {
    "px": [
     512,
     512
    ],
    "fmt": "ktx2"
   },
   {
    "px": [
     512,
     512
    ],
    "fmt": "ktx2"
   },
   {
    "px": [
     1024,
     1024
    ],
    "fmt": "ktx2"
   },
   {
    "px": [
     1024,
     1024
    ],
    "fmt": "ktx2"
   },
   {
    "px": [
     512,
     512
    ],
    "fmt": "ktx2"
   },
   {
    "px": [
     1024,
     1024
    ],
    "fmt": "ktx2"
   },
   {
    "px": [
     512,
     512
    ],
    "fmt": "ktx2"
   },
   {
    "px": [
     512,
     512
    ],
    "fmt": "ktx2"
   },
   {
    "px": [
     1024,
     1024
    ],
    "fmt": "ktx2"
   }
  ],
  "gpu_mb_decoded": 10.5,
  "bytes": 1165460,
  "codec": "draco",
  "extensions": [
   "KHR_draco_mesh_compression",
   "KHR_materials_clearcoat",
   "KHR_texture_basisu"
  ]
 },
 "rig": null,
 "animations": [],
 "gameplay": {
  "source": "measured",
  "wheelbase": 1.932
 },
 "techniques": [
  "baked-pbr",
  "draco",
  "paint-factor",
  "textured"
 ],
 "provenance": {
  "author": "gpt-6-astra (Blender)",
  "source": "jobs/cargo-bike-v1",
  "kit": "library-author",
  "job": "cargo-bike-v1",
  "feedback": null,
  "imported": "2026-10-07",
  "file_origin": "~/forge-build/forge-assets/jobs/cargo-bike-v1/cargo-bike.glb"
 },
 "licence": {
  "kind": "owned",
  "game_use": true,
  "raw_redistribute": false,
  "evidence": "Forge Astra Blender job cargo-bike-v1 (Nano Banana Pro sheet, CC0 Poly Haven textures: brown_leather, rusty_metal_03)"
 },
 "quality": {
  "gates": "pass: 10 MB of 12 MB texture budget, 49790 tris",
  "judge": null
 },
 "files": {
  "glb": "sha256:f64c4c19c37d6e87fb3c381bb1c1dfa599722c7b8d9004f938737663f3807eb5"
 },
 "deps": [],
 "release": "sha256:0f3623d46dbeebd60f5adbd70877e2cc67b95a28fb2c3c9ae623c9010a82509d"
}
