{
 "id": "vehicle.space.freighter/cargo-hauler",
 "version": 2,
 "name": "Cargo hauler",
 "summary": "Long-haul industrial space cargo hauler (120.0 m long x 28.0 m wide x 24.0 m high, +Z nose, +Y up, origin at centre of mass) with front cab module, open truss spine carrying 12 standard cargo containers, and rear quad-nozzle reactor block.",
 "tags": [
  "big",
  "cargo",
  "civilian",
  "freighter",
  "hauler",
  "industrial",
  "sci-fi",
  "ships",
  "space",
  "vehicle"
 ],
 "style": "realistic",
 "status": "approved",
 "frame": {
  "contract": "library/spacecraft-+Z-nose-+X-left-origin-centre",
  "up": "+Y",
  "unit": "m",
  "front": "+Z"
 },
 "size": {
  "measured_m": {
   "w": 28.0,
   "l": 120.0,
   "h": 24.0
  },
  "source": "measured",
  "scale_to_class": 1.0
 },
 "bounds": {
  "geometry": {
   "min": [
    -14.0,
    -12.0,
    -60.0
   ],
   "max": [
    14.0,
    12.0,
    60.0
   ]
  },
  "footprint": {
   "kind": "rect",
   "minX": -14.0,
   "maxX": 14.0,
   "minZ": -60.0,
   "maxZ": 60.0,
   "source": "measured"
  },
  "collider": {
   "parts": [
    {
     "type": "box",
     "x": 0.0,
     "y": 0.0,
     "z": 0.0,
     "hx": 14.0,
     "hy": 12.0,
     "hz": 60.0
    }
   ],
   "source": "guessed"
  }
 },
 "placement": {
  "role": null,
  "notes": null,
  "source": null
 },
 "sockets": [
  {
   "name": "light_beacon",
   "role": "light",
   "parent": null,
   "pos": [
    1.25,
    12.0,
    -40.5
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "light_nav_l",
   "role": "light",
   "parent": null,
   "pos": [
    14.0,
    0.15,
    -37.8
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "light_nav_r",
   "role": "light",
   "parent": null,
   "pos": [
    -14.0,
    0.15,
    -37.8
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "seat_pilot",
   "role": "seat",
   "parent": null,
   "pos": [
    3.35,
    2.02,
    54.6
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "camera_chase",
   "role": "camera",
   "parent": null,
   "pos": [
    0,
    20,
    -92
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "thruster_1",
   "role": "thruster",
   "parent": null,
   "pos": [
    5.25,
    4.15,
    -60.0
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "thruster_2",
   "role": "thruster",
   "parent": null,
   "pos": [
    -5.25,
    4.15,
    -60.0
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "thruster_3",
   "role": "thruster",
   "parent": null,
   "pos": [
    5.25,
    -4.15,
    -60.0
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "thruster_4",
   "role": "thruster",
   "parent": null,
   "pos": [
    -5.25,
    -4.15,
    -60.0
   ],
   "rot": null,
   "source": "authored"
  }
 ],
 "nodes": {
  "body": [
   "Hull"
  ],
  "doors": [
   "Hatch_Cab"
  ],
  "thrusters": [
   "Thruster_1",
   "Thruster_2",
   "Thruster_3",
   "Thruster_4"
  ],
  "pods": [
   "Pod_Thruster_L",
   "Pod_Thruster_R"
  ],
  "moving": {
   "Pod_Thruster_L": {
    "kind": "tilt",
    "axis": [
     1.0,
     0.0,
     0.0
    ],
    "axis_source": "author"
   },
   "Pod_Thruster_R": {
    "kind": "tilt",
    "axis": [
     1.0,
     0.0,
     0.0
    ],
    "axis_source": "author"
   }
  },
  "axes": {
   "Pod_Thruster_L": [
    1.0,
    0.0,
    0.0
   ],
   "Pod_Thruster_R": [
    1.0,
    0.0,
    0.0
   ]
  },
  "limits": {
   "Pod_Thruster_L": [
    -0.6,
    0.6
   ],
   "Pod_Thruster_R": [
    -0.6,
    0.6
   ]
  }
 },
 "paint": {
  "encoding": "material factor",
  "material": "Paint",
  "default": [
   0.8,
   0.45,
   0.05
  ],
  "paints": [
   [
    0.8,
    0.45,
    0.05
   ],
   [
    0.82,
    0.65,
    0.04
   ],
   [
    0.68,
    0.08,
    0.05
   ],
   [
    0.06,
    0.38,
    0.44
   ],
   [
    0.78,
    0.8,
    0.82
   ],
   [
    0.12,
    0.13,
    0.15
   ]
  ],
  "names": [
   "Industrial Orange",
   "Safety Yellow",
   "Signal Red",
   "Deep Space Teal",
   "Orbital White",
   "Heavy Charcoal"
  ],
  "colour_space": "linear",
  "how": "set the Paint material's color (linear RGB) to recolour; nothing else uses Paint"
 },
 "render": {
  "tris": 92776,
  "verts": 144626,
  "materials": 9,
  "draw_calls": 22,
  "textures": [
   {
    "px": [
     512,
     512
    ],
    "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"
   },
   {
    "px": [
     512,
     512
    ],
    "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"
   },
   {
    "px": [
     512,
     512
    ],
    "fmt": "ktx2"
   },
   {
    "px": [
     512,
     512
    ],
    "fmt": "ktx2"
   },
   {
    "px": [
     1024,
     1024
    ],
    "fmt": "ktx2"
   },
   {
    "px": [
     256,
     256
    ],
    "fmt": "ktx2"
   },
   {
    "px": [
     128,
     128
    ],
    "fmt": "ktx2"
   },
   {
    "px": [
     128,
     128
    ],
    "fmt": "ktx2"
   },
   {
    "px": [
     256,
     256
    ],
    "fmt": "ktx2"
   },
   {
    "px": [
     128,
     128
    ],
    "fmt": "ktx2"
   },
   {
    "px": [
     128,
     128
    ],
    "fmt": "ktx2"
   },
   {
    "px": [
     128,
     128
    ],
    "fmt": "ktx2"
   },
   {
    "px": [
     128,
     128
    ],
    "fmt": "ktx2"
   },
   {
    "px": [
     128,
     128
    ],
    "fmt": "ktx2"
   },
   {
    "px": [
     512,
     512
    ],
    "fmt": "ktx2"
   },
   {
    "px": [
     512,
     512
    ],
    "fmt": "ktx2"
   },
   {
    "px": [
     1024,
     1024
    ],
    "fmt": "ktx2"
   }
  ],
  "gpu_mb_decoded": 12.9,
  "bytes": 1203272,
  "codec": "draco",
  "extensions": [
   "KHR_draco_mesh_compression",
   "KHR_materials_emissive_strength",
   "KHR_texture_basisu"
  ]
 },
 "rig": null,
 "animations": [],
 "gameplay": {
  "source": "measured",
  "length": 120.0,
  "beam": 28.0,
  "height": 24.0,
  "scale": "ship"
 },
 "techniques": [
  "baked-pbr",
  "draco",
  "paint-factor",
  "repaint-all-round",
  "textured"
 ],
 "provenance": {
  "author": "gemini-4-argon via Antigravity (Blender)",
  "source": "jobs/cargo-hauler-v1",
  "kit": "library-author",
  "job": "cargo-hauler-v1",
  "feedback": null,
  "imported": "2026-10-07",
  "file_origin": "~/forge-build/forge-assets/jobs/cargo-hauler-v1/cargo-hauler.glb",
  "method": "picture-to-Blender-and-paint",
  "models": [
   "gemini-4-argon via Antigravity (Blender)",
   "Nano Banana Pro concept sheet",
   "GPT Image 2 paint"
  ],
  "source_picture": "/home/claude-agent/forge-build/forge-assets/jobs/cargo-hauler-v1/sheet.jpg",
  "date": "2026-10-16",
  "licence_evidence": "Forge Gemini 4 Argon (Antigravity CLI) Blender job cargo-hauler-v1 (Nano Banana Pro sheet, CC0 Poly Haven textures: metal_plate_02, rusty_metal_03, rusty_painted_metal)",
  "licence": "owned",
  "parent": {
   "id": "vehicle.space.freighter/cargo-hauler",
   "version": 1,
   "release": "sha256:a2a6fa3619549a3bb657066e2b7c61f90d73afbd63d3507353060c9e7a65a90b"
  },
  "variant": {
   "kind": "retexture",
   "note": "painted copy (GPT Image 2 + forge-repaint), same mesh"
  }
 },
 "licence": {
  "kind": "owned",
  "game_use": true,
  "raw_redistribute": false,
  "evidence": "Forge Gemini 4 Argon (Antigravity CLI) Blender job cargo-hauler-v1 (Nano Banana Pro sheet, CC0 Poly Haven textures: metal_plate_02, rusty_metal_03, rusty_painted_metal)"
 },
 "quality": {
  "gates": "pass: 13 MB of 24 MB texture budget, 92776 tris",
  "judge": null
 },
 "files": {
  "glb": "sha256:44f43968a18dcb6b5a41eab23717dd6c80296a87d13dd05e471806bcabef8761",
  "painted_glb": "sha256:6774fe11e176fa7a053278b1929925f4602e1f8ef499ea9f20d6116abeb220b0"
 },
 "deps": [],
 "release": "sha256:6b4f9e93c23d840f0410e97dbee4ed1c2a588ef82a73770b1d682b2ca28ae957",
 "painted": {
  "editor": "GPT Image 2 (Codex)",
  "method": "forge-repaint all-round (render, image edit, project back)",
  "views_kept": 21,
  "views_tried": 21,
  "pictures": 24,
  "outside_painted": 0.7914685788493027,
  "tris": 92776,
  "bytes": 1426704,
  "gpu_mb_decoded": 7.7,
  "how": "files.painted_glb = a static one-material copy with the repainted texture: no moving parts and no Paint recolour; use files.glb for gameplay"
 },
 "thumbnail": "media/44f43968a18dcb6b5a41eab23717dd6c80296a87d13dd05e471806bcabef8761/thumbnail-977f43a4d6d3ac15.jpg",
 "source_photos": [
  "media/44f43968a18dcb6b5a41eab23717dd6c80296a87d13dd05e471806bcabef8761/source-1-40a9f624512850bf.jpg"
 ],
 "reuse": {
  "omg": true,
  "omu": true,
  "reason": ""
 },
 "visual": {
  "id": "vehicle.space.freighter/cargo-hauler",
  "release": "sha256:6b4f9e93c23d840f0410e97dbee4ed1c2a588ef82a73770b1d682b2ca28ae957",
  "thumbnail_sha256": "977f43a4d6d3ac150fcc049dd7d461a55748f864fcae5c1ec157eecb724c40e8",
  "n": 8,
  "description": "Large sci-fi space freighter or cargo hauler truck with a boxy yellow and blue cab at the front, an open central truss spine carrying two stacked rows of rectangular tan shipping containers, and a bulky grey rear engine block with four thrusters; large vehicle size class.",
  "artwork": false,
  "person": false,
  "model": "forge:build-gemini-4",
  "image_sha256": "5ad8a99c4c9737fd32fd3b69219cc8ca6dc16de9b8943e3b67f6acc7eda26173",
  "safety": {
   "model": "jev",
   "probabilities": {
    "person": 0.01,
    "artwork": 0.04
   },
   "blocked": false,
   "threshold": 0.35,
   "source": "authored"
  }
 }
}
