{
 "slug": "ballista",
 "triangles": 23608,
 "texture_px": 2048,
 "triangles_light": null,
 "texture_px_light": null,
 "files": {
  "glb": {
   "name": "ballista.glb",
   "bytes": 1221908
  },
  "blend": {
   "name": "ballista.blend",
   "bytes": 904697
  },
  "fbx": {
   "name": "ballista.fbx",
   "bytes": 2050908
  },
  "obj": {
   "name": "ballista-obj.zip",
   "bytes": 690825
  },
  "usdz": {
   "name": "ballista.usdz",
   "bytes": 1839772
  }
 },
 "extras": {
  "license": "CC0-1.0",
  "source": "grab3d.com",
  "dimensions_m": "2.546 x 2.585 x 1.865",
  "triangles": 23608,
  "textures": "PBR 2048px: base color, roughness, metallic, normal (baked)",
  "generator": "Created by grab3d",
  "created": "2026-09-26",
  "real_size": "torsion ballista on a small four-wheeled cart, approx. 2.3 x 2.8 x 1.8 m, bow span 2.5 m",
  "notes": "front (shooting direction) faces -Y; drawn and loaded with a blunt, padded bolt (leather cap, red fletching). ballista_turret: origin on the pivot centre of the turntable, rotate about local Z to aim sideways. ballista_crossbow: origin on the fork trunnions, rotate about local X to aim (negative = muzzle up, about -25 to +15 degrees); parent it to the turret. The four wheels rotate about X. Friendly toy-like look, no text",
  "set": "Cozy Medieval Kit"
 },
 "origin": {
  "method": "procedural",
  "detail": "Built procedurally with Blender scripts. The scripts were written with the help of an AI coding assistant. No generative AI model produced the geometry or textures directly.",
  "ai_content": false,
  "ai_assisted_code": true
 }
}