{
 "id": "vehicle.space.cruiser/light-cruiser",
 "version": 2,
 "name": "Light cruiser",
 "summary": "Original 320m space-opera light cruiser: slab hull, recessed hangars, command tower, four articulated twin turrets, point defence and four deep engine bells.",
 "tags": [
  "big",
  "cruiser",
  "cruisers",
  "light",
  "military",
  "sci-fi",
  "space",
  "space-opera",
  "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": 70.004,
   "l": 320.0,
   "h": 60.006
  },
  "source": "measured",
  "scale_to_class": 1.0
 },
 "bounds": {
  "geometry": {
   "min": [
    -35.0,
    -20.057,
    -160.0
   ],
   "max": [
    35.004,
    39.948,
    160.0
   ]
  },
  "footprint": {
   "kind": "rect",
   "minX": -35.0,
   "maxX": 35.004,
   "minZ": -160.0,
   "maxZ": 160.0,
   "source": "measured"
  },
  "collider": {
   "parts": [
    {
     "type": "box",
     "x": 0.002,
     "y": 9.946,
     "z": 0.0,
     "hx": 35.002,
     "hy": 30.003,
     "hz": 160.0
    }
   ],
   "source": "guessed"
  }
 },
 "placement": {
  "role": null,
  "notes": null,
  "source": null
 },
 "sockets": [
  {
   "name": "hardpoint_1",
   "role": "hardpoint",
   "parent": null,
   "pos": [
    -20.615,
    -1.797,
    112.115
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "hardpoint_2",
   "role": "hardpoint",
   "parent": null,
   "pos": [
    -19.42,
    -1.797,
    118.119
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "hardpoint_3",
   "role": "hardpoint",
   "parent": null,
   "pos": [
    20.615,
    -1.797,
    112.115
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "hardpoint_4",
   "role": "hardpoint",
   "parent": null,
   "pos": [
    19.42,
    -1.797,
    118.119
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "light_beacon",
   "role": "light",
   "parent": null,
   "pos": [
    0.0,
    34.95,
    -96.037
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "light_nav_l",
   "role": "light",
   "parent": null,
   "pos": [
    34.856,
    1.997,
    -137.067
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "light_nav_r",
   "role": "light",
   "parent": null,
   "pos": [
    -34.856,
    1.997,
    -137.067
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "muzzle_9",
   "role": "muzzle",
   "parent": null,
   "pos": [
    -7.27,
    0.0,
    160.15
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "muzzle_10",
   "role": "muzzle",
   "parent": null,
   "pos": [
    7.27,
    0.0,
    160.15
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "muzzle_11",
   "role": "muzzle",
   "parent": null,
   "pos": [
    -31.669,
    6.621,
    -106.044
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "muzzle_12",
   "role": "muzzle",
   "parent": null,
   "pos": [
    -31.669,
    7.759,
    -106.044
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "muzzle_13",
   "role": "muzzle",
   "parent": null,
   "pos": [
    31.669,
    7.759,
    -106.044
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "muzzle_14",
   "role": "muzzle",
   "parent": null,
   "pos": [
    31.669,
    6.621,
    -106.044
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "muzzle_15",
   "role": "muzzle",
   "parent": null,
   "pos": [
    -20.672,
    16.077,
    -52.005
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "muzzle_16",
   "role": "muzzle",
   "parent": null,
   "pos": [
    -19.537,
    16.077,
    -52.005
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "muzzle_17",
   "role": "muzzle",
   "parent": null,
   "pos": [
    19.537,
    16.077,
    -52.005
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "muzzle_18",
   "role": "muzzle",
   "parent": null,
   "pos": [
    20.672,
    16.077,
    -52.005
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "muzzle_19",
   "role": "muzzle",
   "parent": null,
   "pos": [
    -30.815,
    6.621,
    9.04
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "muzzle_20",
   "role": "muzzle",
   "parent": null,
   "pos": [
    -30.815,
    7.759,
    9.04
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "muzzle_21",
   "role": "muzzle",
   "parent": null,
   "pos": [
    30.815,
    7.759,
    9.04
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "muzzle_22",
   "role": "muzzle",
   "parent": null,
   "pos": [
    30.815,
    6.621,
    9.04
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "muzzle_23",
   "role": "muzzle",
   "parent": null,
   "pos": [
    -19.626,
    14.793,
    61.078
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "muzzle_24",
   "role": "muzzle",
   "parent": null,
   "pos": [
    -18.491,
    14.793,
    61.078
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "muzzle_25",
   "role": "muzzle",
   "parent": null,
   "pos": [
    18.491,
    14.793,
    61.078
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "muzzle_26",
   "role": "muzzle",
   "parent": null,
   "pos": [
    19.626,
    14.793,
    61.078
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "muzzle_27",
   "role": "muzzle",
   "parent": null,
   "pos": [
    -13.705,
    10.123,
    123.123
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "muzzle_28",
   "role": "muzzle",
   "parent": null,
   "pos": [
    -12.57,
    10.123,
    123.123
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "muzzle_29",
   "role": "muzzle",
   "parent": null,
   "pos": [
    12.57,
    10.123,
    123.123
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "muzzle_30",
   "role": "muzzle",
   "parent": null,
   "pos": [
    13.705,
    10.123,
    123.123
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "muzzle_1",
   "role": "muzzle",
   "parent": null,
   "pos": [
    -2.39,
    16.776,
    58.076
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "muzzle_2",
   "role": "muzzle",
   "parent": null,
   "pos": [
    2.39,
    16.776,
    58.076
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "muzzle_3",
   "role": "muzzle",
   "parent": null,
   "pos": [
    -2.39,
    16.776,
    -41.997
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "muzzle_4",
   "role": "muzzle",
   "parent": null,
   "pos": [
    2.39,
    16.776,
    -41.997
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "muzzle_5",
   "role": "muzzle",
   "parent": null,
   "pos": [
    -2.39,
    -16.776,
    52.071
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "muzzle_6",
   "role": "muzzle",
   "parent": null,
   "pos": [
    2.39,
    -16.776,
    52.071
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "muzzle_7",
   "role": "muzzle",
   "parent": null,
   "pos": [
    -2.39,
    -16.776,
    -46.0
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "muzzle_8",
   "role": "muzzle",
   "parent": null,
   "pos": [
    2.39,
    -16.776,
    -46.0
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "camera_chase",
   "role": "camera",
   "parent": null,
   "pos": [
    0.0,
    89.871,
    -240.142
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "thruster_1",
   "role": "thruster",
   "parent": null,
   "pos": [
    -17.926,
    -8.787,
    -159.983
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "thruster_2",
   "role": "thruster",
   "parent": null,
   "pos": [
    -17.926,
    8.787,
    -159.983
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "thruster_3",
   "role": "thruster",
   "parent": null,
   "pos": [
    17.926,
    -8.787,
    -159.983
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "thruster_4",
   "role": "thruster",
   "parent": null,
   "pos": [
    17.926,
    8.787,
    -159.983
   ],
   "rot": null,
   "source": "authored"
  }
 ],
 "nodes": {
  "body": [
   "Hull"
  ],
  "turrets": [
   "Turret_1",
   "Turret_2",
   "Turret_3",
   "Turret_4"
  ],
  "guns": [
   "Gun_1",
   "Gun_2",
   "Gun_3",
   "Gun_4"
  ],
  "thrusters": [
   "Thruster_1",
   "Thruster_2",
   "Thruster_3",
   "Thruster_4"
  ],
  "muzzles": [
   "Muzzle_1",
   "Muzzle_2",
   "Muzzle_3",
   "Muzzle_4",
   "Muzzle_5",
   "Muzzle_6",
   "Muzzle_7",
   "Muzzle_8",
   "Muzzle_9",
   "Muzzle_10",
   "Muzzle_11",
   "Muzzle_12",
   "Muzzle_13",
   "Muzzle_14",
   "Muzzle_15",
   "Muzzle_16",
   "Muzzle_17",
   "Muzzle_18",
   "Muzzle_19",
   "Muzzle_20",
   "Muzzle_21",
   "Muzzle_22",
   "Muzzle_23",
   "Muzzle_24",
   "Muzzle_25",
   "Muzzle_26",
   "Muzzle_27",
   "Muzzle_28",
   "Muzzle_29",
   "Muzzle_30"
  ],
  "hardpoints": [
   "Hardpoint_1",
   "Hardpoint_2",
   "Hardpoint_3",
   "Hardpoint_4"
  ],
  "moving": {
   "Gun_1": {
    "kind": "gun",
    "axis": [
     1.0,
     0.0,
     0.0
    ],
    "axis_source": "author"
   },
   "Gun_2": {
    "kind": "gun",
    "axis": [
     1.0,
     0.0,
     0.0
    ],
    "axis_source": "author"
   },
   "Gun_3": {
    "kind": "gun",
    "axis": [
     1.0,
     0.0,
     0.0
    ],
    "axis_source": "author"
   },
   "Gun_4": {
    "kind": "gun",
    "axis": [
     1.0,
     0.0,
     0.0
    ],
    "axis_source": "author"
   },
   "Turret_1": {
    "kind": "turret",
    "axis": [
     0.0,
     1.0,
     0.0
    ],
    "axis_source": "author"
   },
   "Turret_2": {
    "kind": "turret",
    "axis": [
     0.0,
     1.0,
     0.0
    ],
    "axis_source": "author"
   },
   "Turret_3": {
    "kind": "turret",
    "axis": [
     0.0,
     1.0,
     0.0
    ],
    "axis_source": "author"
   },
   "Turret_4": {
    "kind": "turret",
    "axis": [
     0.0,
     1.0,
     0.0
    ],
    "axis_source": "author"
   }
  },
  "axes": {
   "Gun_1": [
    1.0,
    0.0,
    0.0
   ],
   "Gun_2": [
    1.0,
    0.0,
    0.0
   ],
   "Gun_3": [
    1.0,
    0.0,
    0.0
   ],
   "Gun_4": [
    1.0,
    0.0,
    0.0
   ],
   "Turret_1": [
    0.0,
    1.0,
    0.0
   ],
   "Turret_2": [
    0.0,
    1.0,
    0.0
   ],
   "Turret_3": [
    0.0,
    1.0,
    0.0
   ],
   "Turret_4": [
    0.0,
    1.0,
    0.0
   ]
  },
  "limits": {
   "Gun_1": [
    -0.2,
    0.9
   ],
   "Gun_2": [
    -0.2,
    0.9
   ],
   "Gun_3": [
    -0.2,
    0.9
   ],
   "Gun_4": [
    -0.2,
    0.9
   ],
   "Turret_1": {
    "yaw": [
     -3.1416,
     3.1416
    ]
   },
   "Turret_2": {
    "yaw": [
     -3.1416,
     3.1416
    ]
   },
   "Turret_3": {
    "yaw": [
     -3.1416,
     3.1416
    ]
   },
   "Turret_4": {
    "yaw": [
     -3.1416,
     3.1416
    ]
   }
  }
 },
 "paint": {
  "encoding": "material factor",
  "material": "Paint",
  "default": [
   0.6,
   0.61,
   0.62
  ],
  "paints": [
   [
    0.6,
    0.61,
    0.62
   ],
   [
    0.2,
    0.24,
    0.29
   ],
   [
    0.25,
    0.29,
    0.18
   ],
   [
    0.63,
    0.48,
    0.3
   ],
   [
    0.86,
    0.89,
    0.9
   ],
   [
    0.07,
    0.12,
    0.22
   ]
  ],
  "names": [
   "Naval grey",
   "Gunmetal",
   "Olive drab",
   "Desert sand",
   "Arctic white",
   "Deep navy"
  ],
  "colour_space": "linear",
  "how": "set the Paint material's color (linear RGB) to recolour; nothing else uses Paint"
 },
 "render": {
  "tris": 197688,
  "verts": 330913,
  "materials": 7,
  "draw_calls": 27,
  "textures": [
   {
    "px": [
     1024,
     1024
    ],
    "fmt": "ktx2"
   },
   {
    "px": [
     512,
     512
    ],
    "fmt": "ktx2"
   },
   {
    "px": [
     1024,
     1024
    ],
    "fmt": "ktx2"
   },
   {
    "px": [
     64,
     64
    ],
    "fmt": "ktx2"
   },
   {
    "px": [
     64,
     64
    ],
    "fmt": "ktx2"
   },
   {
    "px": [
     64,
     64
    ],
    "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": [
     512,
     512
    ],
    "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"
   }
  ],
  "gpu_mb_decoded": 7.6,
  "bytes": 2002568,
  "codec": "draco",
  "extensions": [
   "KHR_draco_mesh_compression",
   "KHR_materials_emissive_strength",
   "KHR_texture_basisu"
  ]
 },
 "rig": null,
 "animations": [],
 "gameplay": {
  "source": "measured",
  "length": 320.0,
  "beam": 70.004,
  "height": 60.006,
  "scale": "capital"
 },
 "techniques": [
  "baked-pbr",
  "draco",
  "paint-factor",
  "repaint-all-round",
  "textured"
 ],
 "provenance": {
  "author": "gpt-6-astra (Blender)",
  "source": "jobs/light-cruiser-v1",
  "kit": "library-author",
  "job": "light-cruiser-v1",
  "feedback": null,
  "imported": "2026-10-07",
  "file_origin": "~/forge-build/forge-assets/jobs/light-cruiser-v1/light-cruiser.glb",
  "parent": {
   "id": "vehicle.space.cruiser/light-cruiser",
   "version": 1,
   "release": "sha256:5831e036719c678d21e2ad8f19d4e529591cb60f658e050f6ee4978203e667f8"
  },
  "variant": {
   "kind": "retexture",
   "note": "painted copy (GPT Image 2 + forge-repaint), same mesh"
  }
 },
 "licence": {
  "kind": "owned",
  "game_use": true,
  "raw_redistribute": false,
  "evidence": "Forge Astra Blender job light-cruiser-v1 (Nano Banana Pro sheet, CC0 Poly Haven textures: blue_metal_plate, metal_plate_02, rusty_metal_02)"
 },
 "quality": {
  "gates": "pass: 8 MB of 24 MB texture budget, 197688 tris",
  "judge": null
 },
 "files": {
  "glb": "sha256:1888b0aa0931efa385293933ed066ffda0f1998da1392cdb0017cd373d6538d8",
  "painted_glb": "sha256:a321289db413795ab377e20d3e2bd2a2df02acfb065b0f31b54824f48d88d229"
 },
 "deps": [],
 "release": "sha256:1592a29a2142146349e3e432572f19bfdb23b7753a632952d6333987dd6a11fe",
 "painted": {
  "editor": "GPT Image 2 (Codex)",
  "method": "forge-repaint all-round (render, image edit, project back)",
  "views_kept": 18,
  "views_tried": 21,
  "pictures": 28,
  "outside_painted": 0.8794380293639723,
  "tris": 199896,
  "bytes": 1982484,
  "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"
 }
}
