{
 "id": "vehicle.space.fighter/starfighter-opera",
 "version": 2,
 "name": "Space-opera starfighter",
 "summary": "Original space-opera starfighter (13.5m x 11.0m x 3.4m): sleek arrowhead hull, bubble canopy with full cockpit, canards, swept wings with wingtip laser cannons, underwing missiles, dorsal fin, and twin glowing round engines.",
 "tags": [
  "dogfight",
  "fighter",
  "fighters",
  "opera",
  "sci-fi",
  "space",
  "space-opera",
  "starfighter",
  "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": 11.0,
   "l": 13.5,
   "h": 3.4
  },
  "source": "measured",
  "class_band": "vehicle.space.fighter",
  "band_axis": "length",
  "band": [
   8,
   25
  ],
  "in_band": true,
  "scale_to_class": 1.0
 },
 "bounds": {
  "geometry": {
   "min": [
    -5.5,
    -1.15,
    -6.75
   ],
   "max": [
    5.5,
    2.25,
    6.75
   ]
  },
  "footprint": {
   "kind": "rect",
   "minX": -5.5,
   "maxX": 5.5,
   "minZ": -6.75,
   "maxZ": 6.75,
   "source": "measured"
  },
  "collider": {
   "parts": [
    {
     "type": "box",
     "x": 0.0,
     "y": 0.55,
     "z": 0.0,
     "hx": 5.5,
     "hy": 1.7,
     "hz": 6.75
    }
   ],
   "source": "guessed"
  }
 },
 "placement": {
  "role": null,
  "notes": null,
  "source": null
 },
 "sockets": [
  {
   "name": "hardpoint_1",
   "role": "hardpoint",
   "parent": null,
   "pos": [
    2.75,
    -0.44,
    -1.85
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "hardpoint_2",
   "role": "hardpoint",
   "parent": null,
   "pos": [
    -2.75,
    -0.44,
    -1.85
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "hardpoint_3",
   "role": "hardpoint",
   "parent": null,
   "pos": [
    3.85,
    -0.45,
    -2.3
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "hardpoint_4",
   "role": "hardpoint",
   "parent": null,
   "pos": [
    -3.85,
    -0.45,
    -2.3
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "muzzle_1",
   "role": "muzzle",
   "parent": null,
   "pos": [
    5.32,
    -0.06,
    0.58
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "muzzle_2",
   "role": "muzzle",
   "parent": null,
   "pos": [
    -5.32,
    -0.06,
    0.58
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "light_beacon",
   "role": "light",
   "parent": null,
   "pos": [
    0.0,
    2.25,
    -3.95
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "light_nav_l",
   "role": "light",
   "parent": null,
   "pos": [
    5.5,
    -0.07,
    -3.1
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "light_nav_r",
   "role": "light",
   "parent": null,
   "pos": [
    -5.5,
    -0.07,
    -3.1
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "seat_pilot",
   "role": "seat",
   "parent": null,
   "pos": [
    0.0,
    0.44,
    1.78
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "camera_chase",
   "role": "camera",
   "parent": null,
   "pos": [
    0.0,
    3.8,
    -14.5
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "thruster_1",
   "role": "thruster",
   "parent": null,
   "pos": [
    1.15,
    0.02,
    -6.72
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "thruster_2",
   "role": "thruster",
   "parent": null,
   "pos": [
    -1.15,
    0.02,
    -6.72
   ],
   "rot": null,
   "source": "authored"
  }
 ],
 "nodes": {
  "body": [
   "Hull"
  ],
  "doors": [
   "Canopy"
  ],
  "thrusters": [
   "Thruster_1",
   "Thruster_2"
  ],
  "muzzles": [
   "Muzzle_1",
   "Muzzle_2"
  ],
  "hardpoints": [
   "Hardpoint_1",
   "Hardpoint_2",
   "Hardpoint_3",
   "Hardpoint_4"
  ],
  "moving": {
   "Canopy": {
    "kind": "hinge",
    "axis": [
     1.0,
     0.0,
     0.0
    ],
    "axis_source": "author"
   }
  },
  "axes": {
   "Canopy": [
    1.0,
    0.0,
    0.0
   ]
  },
  "limits": {
   "Canopy": [
    0,
    1.4
   ]
  }
 },
 "paint": {
  "encoding": "material factor",
  "material": "Paint",
  "default": [
   0.75,
   0.74,
   0.7
  ],
  "paints": [
   [
    0.75,
    0.74,
    0.7
   ],
   [
    0.42,
    0.45,
    0.48
   ],
   [
    0.68,
    0.14,
    0.12
   ],
   [
    0.1,
    0.18,
    0.36
   ],
   [
    0.28,
    0.33,
    0.22
   ],
   [
    0.78,
    0.58,
    0.18
   ]
  ],
  "names": [
   "warm white",
   "imperial grey",
   "rebel red",
   "midnight blue",
   "olive",
   "gold"
  ],
  "colour_space": "linear",
  "how": "set the Paint material's color (linear RGB) to recolour; nothing else uses Paint"
 },
 "render": {
  "tris": 74252,
  "verts": 58162,
  "materials": 8,
  "draw_calls": 10,
  "textures": [
   {
    "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": [
     1024,
     1024
    ],
    "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": [
     1024,
     1024
    ],
    "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": [
     512,
     512
    ],
    "fmt": "ktx2"
   },
   {
    "px": [
     512,
     512
    ],
    "fmt": "ktx2"
   },
   {
    "px": [
     512,
     512
    ],
    "fmt": "ktx2"
   },
   {
    "px": [
     512,
     512
    ],
    "fmt": "ktx2"
   }
  ],
  "gpu_mb_decoded": 18.9,
  "bytes": 1056896,
  "codec": "draco",
  "extensions": [
   "KHR_draco_mesh_compression",
   "KHR_materials_emissive_strength",
   "KHR_texture_basisu"
  ]
 },
 "rig": null,
 "animations": [],
 "gameplay": {
  "source": "measured",
  "length": 13.5,
  "beam": 11.0,
  "height": 3.4,
  "scale": "small-craft"
 },
 "techniques": [
  "baked-pbr",
  "draco",
  "paint-factor",
  "repaint-all-round",
  "textured"
 ],
 "provenance": {
  "author": "gemini-4-argon via Antigravity (Blender)",
  "source": "jobs/starfighter-opera-v1",
  "kit": "library-author",
  "job": "starfighter-opera-v1",
  "feedback": null,
  "imported": "2026-10-07",
  "file_origin": "~/forge-build/forge-assets/jobs/starfighter-opera-v1/starfighter-opera.glb",
  "parent": {
   "id": "vehicle.space.fighter/starfighter-opera",
   "version": 1,
   "release": "sha256:22a3d1f3db745e8f6f3083d2dd25f8b6c82d79fbc8fc0b479b2aa394a4a513a0"
  },
  "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 starfighter-opera-v1 (Nano Banana Pro sheet, CC0 Poly Haven textures: metal_plate, metal_plate_02, rubberized_track, rusty_metal_03)"
 },
 "quality": {
  "gates": "pass: 19 MB of 24 MB texture budget, 74252 tris",
  "judge": null
 },
 "files": {
  "glb": "sha256:d8905606f62d55c91faa4820e87b968199a6a5ed73fde56ca515a8758abb8700",
  "painted_glb": "sha256:bd8ecb1cb3d9a156115de20a4b38770b95ea01b38cd2213a73e8427eace98a80"
 },
 "deps": [],
 "release": "sha256:cc5ab5a14500147986cc3251d7660bc4ca5b49e8df23ccf08605dc29f47d1f8c",
 "painted": {
  "editor": "GPT Image 2 (Codex)",
  "method": "forge-repaint all-round (render, image edit, project back)",
  "views_kept": 9,
  "views_tried": 10,
  "pictures": 14,
  "outside_painted": 0.8116020204367286,
  "tris": 74252,
  "bytes": 1185920,
  "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"
 }
}
