{
 "id": "vehicle.space.shuttle/crew-shuttle",
 "version": 2,
 "name": "Crew shuttle",
 "summary": "Original 26 m near-future lifting-body crew shuttle; real cockpit, closed hinged crew hatch/ramp, twin engines, retracted gear.",
 "tags": [
  "crew",
  "near-future",
  "sci-fi",
  "ships",
  "shuttle",
  "space",
  "transport",
  "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": 18.0,
   "l": 26.0,
   "h": 7.0
  },
  "source": "measured",
  "scale_to_class": 1.0
 },
 "bounds": {
  "geometry": {
   "min": [
    -9.0,
    -2.8,
    -13.0
   ],
   "max": [
    9.0,
    4.2,
    13.0
   ]
  },
  "footprint": {
   "kind": "rect",
   "minX": -9.0,
   "maxX": 9.0,
   "minZ": -13.0,
   "maxZ": 13.0,
   "source": "measured"
  },
  "collider": {
   "parts": [
    {
     "type": "box",
     "x": 0.0,
     "y": 0.7,
     "z": 0.0,
     "hx": 9.0,
     "hy": 3.5,
     "hz": 13.0
    }
   ],
   "source": "guessed"
  }
 },
 "placement": {
  "role": null,
  "notes": null,
  "source": null
 },
 "sockets": [
  {
   "name": "light_beacon",
   "role": "light",
   "parent": null,
   "pos": [
    0.0,
    3.8,
    -1.597
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "light_nav_l",
   "role": "light",
   "parent": null,
   "pos": [
    8.83,
    -1.037,
    -8.896
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "light_nav_r",
   "role": "light",
   "parent": null,
   "pos": [
    -8.83,
    -1.037,
    -8.896
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "seat_pilot",
   "role": "seat",
   "parent": null,
   "pos": [
    1.114,
    0.49,
    7.151
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "camera_chase",
   "role": "camera",
   "parent": null,
   "pos": [
    0.0,
    11.888,
    -28.992
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "thruster_1",
   "role": "thruster",
   "parent": null,
   "pos": [
    -2.039,
    1.53,
    -12.995
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "thruster_2",
   "role": "thruster",
   "parent": null,
   "pos": [
    2.039,
    1.53,
    -12.995
   ],
   "rot": null,
   "source": "authored"
  }
 ],
 "nodes": {
  "body": [
   "Hull"
  ],
  "doors": [
   "Hatch",
   "Ramp"
  ],
  "thrusters": [
   "Thruster_1",
   "Thruster_2"
  ],
  "moving": {
   "Hatch": {
    "kind": "hinge",
    "axis": [
     0.0,
     -1.0,
     0.0
    ],
    "axis_source": "author"
   },
   "Ramp": {
    "kind": "hinge",
    "axis": [
     1.0,
     0.0,
     0.0
    ],
    "axis_source": "author"
   }
  },
  "axes": {
   "Hatch": [
    0.0,
    -1.0,
    0.0
   ],
   "Ramp": [
    1.0,
    0.0,
    0.0
   ]
  },
  "limits": {
   "Hatch": [
    0,
    1.4
   ],
   "Ramp": [
    0,
    1.4
   ]
  }
 },
 "paint": {
  "encoding": "material factor",
  "material": "Paint",
  "default": [
   0.85,
   0.85,
   0.83
  ],
  "paints": [
   [
    0.85,
    0.85,
    0.83
   ],
   [
    0.82,
    0.22,
    0.045
   ],
   [
    0.86,
    0.6,
    0.055
   ],
   [
    0.055,
    0.33,
    0.31
   ],
   [
    0.34,
    0.54,
    0.69
   ],
   [
    0.095,
    0.115,
    0.14
   ]
  ],
  "names": [
   "Ceramic white",
   "Industrial orange",
   "Safety yellow",
   "Deep teal",
   "Pale blue",
   "Charcoal"
  ],
  "colour_space": "linear",
  "how": "set the Paint material's color (linear RGB) to recolour; nothing else uses Paint"
 },
 "render": {
  "tris": 93612,
  "verts": 115881,
  "materials": 8,
  "draw_calls": 15,
  "textures": [
   {
    "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": [
     512,
     512
    ],
    "fmt": "ktx2"
   },
   {
    "px": [
     512,
     512
    ],
    "fmt": "ktx2"
   },
   {
    "px": [
     512,
     512
    ],
    "fmt": "ktx2"
   },
   {
    "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": [
     512,
     512
    ],
    "fmt": "ktx2"
   },
   {
    "px": [
     512,
     512
    ],
    "fmt": "ktx2"
   },
   {
    "px": [
     512,
     512
    ],
    "fmt": "ktx2"
   },
   {
    "px": [
     64,
     64
    ],
    "fmt": "ktx2"
   },
   {
    "px": [
     64,
     64
    ],
    "fmt": "ktx2"
   },
   {
    "px": [
     64,
     64
    ],
    "fmt": "ktx2"
   },
   {
    "px": [
     64,
     64
    ],
    "fmt": "ktx2"
   },
   {
    "px": [
     64,
     64
    ],
    "fmt": "ktx2"
   },
   {
    "px": [
     64,
     64
    ],
    "fmt": "ktx2"
   }
  ],
  "gpu_mb_decoded": 9.5,
  "bytes": 830492,
  "codec": "draco",
  "extensions": [
   "KHR_draco_mesh_compression",
   "KHR_materials_clearcoat",
   "KHR_materials_emissive_strength",
   "KHR_texture_basisu"
  ]
 },
 "rig": null,
 "animations": [],
 "gameplay": {
  "source": "measured",
  "length": 26.0,
  "beam": 18.0,
  "height": 7.0,
  "scale": "small-craft"
 },
 "techniques": [
  "baked-pbr",
  "draco",
  "paint-factor",
  "repaint-all-round",
  "textured"
 ],
 "provenance": {
  "author": "gpt-6-astra (Blender)",
  "source": "jobs/crew-shuttle-v1",
  "kit": "library-author",
  "job": "crew-shuttle-v1",
  "feedback": null,
  "imported": "2026-10-07",
  "file_origin": "~/forge-build/forge-assets/jobs/crew-shuttle-v1/crew-shuttle.glb",
  "parent": {
   "id": "vehicle.space.shuttle/crew-shuttle",
   "version": 1,
   "release": "sha256:471250eb5ab3164209a65f9e338af6a975da8a84e8b163594f899d499e465622"
  },
  "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 crew-shuttle-v1 (Nano Banana Pro sheet, CC0 Poly Haven textures: metal_plate_02, rubber_tiles)"
 },
 "quality": {
  "gates": "pass: 10 MB of 24 MB texture budget, 93612 tris",
  "judge": null
 },
 "files": {
  "glb": "sha256:6ff8b3e7c61854bb99bd1437185c650e547a1eb5d5b387a55eddddf5385a7a86",
  "painted_glb": "sha256:ba12106b0e7250db97aa6ed9cd94e1aa4f7aad42e483ca0d0cee90a82f1aed0c"
 },
 "deps": [],
 "release": "sha256:dca923b91b5523e5d6ff1e77f76c52d21d91868167cf74130bc004d2c5bd028d",
 "painted": {
  "editor": "GPT Image 2 (Codex)",
  "method": "forge-repaint all-round (render, image edit, project back)",
  "views_kept": 8,
  "views_tried": 9,
  "pictures": 11,
  "outside_painted": 0.9526153727476682,
  "tris": 93612,
  "bytes": 1177568,
  "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"
 }
}
