{
 "id": "vehicle.military-air.bomber/b2-bomber",
 "version": 2,
 "name": "B-2-style stealth bomber",
 "summary": "B-2 Spirit inspired flying wing; 52.4 m span, 21.0 m length, 5.2 m height, gear down, Y-up GLB, nose +Z.",
 "tags": [
  "2",
  "air",
  "b",
  "b2",
  "bomber",
  "military",
  "stealth",
  "style",
  "vehicle"
 ],
 "style": "realistic",
 "status": "approved",
 "frame": {
  "contract": "library/aircraft-+Z-nose-+X-left-origin-under-main-gear",
  "up": "+Y",
  "unit": "m",
  "front": "+Z"
 },
 "size": {
  "measured_m": {
   "w": 52.4,
   "l": 21.0,
   "h": 5.2
  },
  "source": "measured",
  "front_suspect": "wider than long: the front is probably not +Z",
  "class_band": "vehicle.military-air.bomber",
  "band_axis": "length",
  "band": [
   20,
   50
  ],
  "in_band": true,
  "scale_to_class": 1.0
 },
 "bounds": {
  "geometry": {
   "min": [
    -26.2,
    0.0,
    -9.2
   ],
   "max": [
    26.2,
    5.2,
    11.8
   ]
  },
  "footprint": {
   "kind": "rect",
   "minX": -26.2,
   "maxX": 26.2,
   "minZ": -9.2,
   "maxZ": 11.8,
   "source": "measured"
  },
  "collider": {
   "parts": [
    {
     "type": "box",
     "x": 0.0,
     "y": 2.6,
     "z": 1.3,
     "hx": 26.2,
     "hy": 2.6,
     "hz": 10.5
    }
   ],
   "source": "guessed"
  }
 },
 "placement": {
  "role": null,
  "notes": null,
  "source": null
 },
 "sockets": [
  {
   "name": "center_of_mass",
   "role": "center_of_mass",
   "parent": null,
   "pos": [
    0.0,
    3.209,
    -0.3
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "hardpoint_bay_l_1",
   "role": "hardpoint",
   "parent": null,
   "pos": [
    1.55,
    2.607,
    1.0
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "hardpoint_bay_l_2",
   "role": "hardpoint",
   "parent": null,
   "pos": [
    1.55,
    2.607,
    -2.2
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "hardpoint_bay_r_1",
   "role": "hardpoint",
   "parent": null,
   "pos": [
    -1.55,
    2.607,
    1.0
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "hardpoint_bay_r_2",
   "role": "hardpoint",
   "parent": null,
   "pos": [
    -1.55,
    2.607,
    -2.2
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "light_beacon",
   "role": "light",
   "parent": null,
   "pos": [
    0.0,
    4.493,
    -0.8
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "light_nav_l",
   "role": "light",
   "parent": null,
   "pos": [
    25.5,
    3.235,
    -6.174
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "light_nav_r",
   "role": "light",
   "parent": null,
   "pos": [
    -25.5,
    3.235,
    -6.174
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "nozzle_l",
   "role": "nozzle",
   "parent": null,
   "pos": [
    4.5,
    3.284,
    -6.24
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "nozzle_r",
   "role": "nozzle",
   "parent": null,
   "pos": [
    -4.5,
    3.284,
    -6.24
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "seat_copilot",
   "role": "seat",
   "parent": null,
   "pos": [
    -0.58,
    4.201,
    5.5
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "seat_pilot",
   "role": "seat",
   "parent": null,
   "pos": [
    0.58,
    4.201,
    5.5
   ],
   "rot": null,
   "source": "authored"
  }
 ],
 "nodes": {
  "body": [
   "Fuselage"
  ],
  "wheels": [],
  "steer": [],
  "gear": [
   "Gear_L",
   "Gear_Nose",
   "Gear_R"
  ],
  "surfaces": [
   "DragRudder_L",
   "DragRudder_R",
   "Elevon_L",
   "Elevon_R"
  ],
  "doors": [
   "BayDoor_L",
   "BayDoor_R",
   "Canopy"
  ],
  "axes": {
   "DragRudder_L": [
    0.8356,
    -0.014,
    -0.5492
   ],
   "DragRudder_R": [
    0.8352,
    0.0053,
    0.5499
   ],
   "DragRudderLower_L": [
    0.8356,
    0.0035,
    -0.5493
   ],
   "DragRudderLower_R": [
    0.8356,
    0.0038,
    0.5494
   ],
   "Elevon_L": [
    0.9394,
    -0.082,
    -0.3328
   ],
   "Elevon_R": [
    0.9433,
    0.0805,
    0.3219
   ]
  },
  "limits": {
   "DragRudder_L": [
    0,
    0.45
   ],
   "DragRudder_R": [
    0,
    0.45
   ],
   "DragRudderLower_L": [
    -0.45,
    0
   ],
   "DragRudderLower_R": [
    -0.45,
    0
   ],
   "Elevon_L": [
    -0.35,
    0.35
   ],
   "Elevon_R": [
    -0.35,
    0.35
   ]
  }
 },
 "paint": {
  "encoding": "material factor",
  "material": "Paint",
  "default": [
   0.12,
   0.12,
   0.13
  ],
  "paints": [
   [
    0.12,
    0.12,
    0.13
   ],
   [
    0.38,
    0.41,
    0.44
   ],
   [
    0.1,
    0.145,
    0.19
   ],
   [
    0.4,
    0.31,
    0.2
   ],
   [
    0.15,
    0.18,
    0.105
   ],
   [
    0.035,
    0.037,
    0.043
   ]
  ],
  "names": [
   "Dark grey",
   "Air-superiority light grey",
   "Navy blue-grey",
   "Desert sand",
   "Olive",
   "Black"
  ],
  "colour_space": "linear",
  "how": "set the Paint material's color (linear RGB) to recolour; nothing else uses Paint"
 },
 "render": {
  "tris": 195081,
  "verts": 135774,
  "materials": 7,
  "draw_calls": 33,
  "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": [
     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": 7.3,
  "bytes": 1065696,
  "codec": "draco",
  "extensions": [
   "KHR_draco_mesh_compression",
   "KHR_materials_emissive_strength",
   "KHR_materials_ior",
   "KHR_materials_transmission",
   "KHR_texture_basisu"
  ]
 },
 "rig": null,
 "animations": [],
 "gameplay": {
  "source": "measured"
 },
 "techniques": [
  "baked-pbr",
  "draco",
  "paint-factor",
  "textured"
 ],
 "provenance": {
  "author": "gpt-6-astra (Blender)",
  "source": "jobs/b2-bomber-v1",
  "kit": "library-author",
  "job": "b2-bomber-v1",
  "feedback": null,
  "imported": "2026-10-07",
  "file_origin": "~/forge-build/forge-assets/jobs/b2-bomber-v1/b2-bomber.glb",
  "fix": "measured part axes + aim limits (10 Oct 2026 pivot audit)",
  "fixed": "2026-10-10"
 },
 "licence": {
  "kind": "owned",
  "game_use": true,
  "raw_redistribute": false,
  "evidence": "Forge Astra Blender job b2-bomber-v1 (Nano Banana Pro sheet, CC0 Poly Haven textures: metal_plate, rubber_tiles)"
 },
 "quality": {
  "gates": "pass: 7 MB of 24 MB texture budget, 195081 tris",
  "judge": null
 },
 "files": {
  "glb": "sha256:038c6cf20f51472af242561ee1479ae3d4e79f1466c04ceab1b5fff59ca8dfb2"
 },
 "deps": [],
 "release": "sha256:13eb40c954a08af3c14d0dda3875a535597c112b7dc9e0872b5c01e75924fd70"
}
