{
 "id": "vehicle.rotor.helicopter/chinook-helicopter",
 "version": 2,
 "name": "Chinook-style heavy troop helicopter",
 "summary": "CH-47-style tandem heavy transport; metres, Y-up, nose +Z, articulated rotors/doors/closed ramp, visible cockpit and 16 troop seats.",
 "tags": [
  "chinook",
  "heavy",
  "helicopter",
  "rotor",
  "style",
  "troop",
  "vehicle"
 ],
 "style": "realistic",
 "status": "approved",
 "frame": {
  "contract": "library/rotorcraft-+Z-nose-+X-left-origin-under-mast",
  "up": "+Y",
  "unit": "m",
  "front": "+Z"
 },
 "size": {
  "measured_m": {
   "w": 17.89,
   "l": 29.504,
   "h": 5.7
  },
  "source": "measured",
  "class_band": "vehicle.rotor.helicopter",
  "band_axis": "length",
  "band": [
   9,
   20
  ],
  "in_band": false,
  "scale_to_class": 1.0
 },
 "bounds": {
  "geometry": {
   "min": [
    -8.945,
    0.0,
    -20.652
   ],
   "max": [
    8.945,
    5.7,
    8.852
   ]
  },
  "footprint": {
   "kind": "rect",
   "minX": -8.945,
   "maxX": 8.945,
   "minZ": -20.652,
   "maxZ": 8.852,
   "source": "measured"
  },
  "collider": {
   "parts": [
    {
     "type": "box",
     "x": 0.0,
     "y": 2.85,
     "z": -5.9,
     "hx": 8.945,
     "hy": 2.85,
     "hz": 14.752
    }
   ],
   "source": "guessed"
  }
 },
 "placement": {
  "role": null,
  "notes": null,
  "source": null
 },
 "sockets": [
  {
   "name": "exhaust_l",
   "role": "exhaust",
   "parent": null,
   "pos": [
    1.12,
    3.64,
    -11.71
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "exhaust_r",
   "role": "exhaust",
   "parent": null,
   "pos": [
    -1.12,
    3.64,
    -11.71
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "hardpoint_l1",
   "role": "hardpoint",
   "parent": null,
   "pos": [
    1.8,
    1.1,
    -7.1
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "hardpoint_r1",
   "role": "hardpoint",
   "parent": null,
   "pos": [
    -1.8,
    1.1,
    -7.1
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "light_beacon",
   "role": "light",
   "parent": null,
   "pos": [
    0.0,
    5.248,
    -12.4
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "light_nav_l",
   "role": "light",
   "parent": null,
   "pos": [
    1.986,
    1.428,
    -6.56
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "light_nav_r",
   "role": "light",
   "parent": null,
   "pos": [
    -1.986,
    1.428,
    -6.56
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "seat_copilot",
   "role": "seat",
   "parent": null,
   "pos": [
    -0.57,
    1.64,
    0.55
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "seat_pilot",
   "role": "seat",
   "parent": null,
   "pos": [
    0.57,
    1.64,
    0.55
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "troop_1",
   "role": "seat",
   "parent": null,
   "pos": [
    0.91,
    1.44,
    -1.9
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "troop_2",
   "role": "seat",
   "parent": null,
   "pos": [
    0.91,
    1.44,
    -2.8
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "troop_3",
   "role": "seat",
   "parent": null,
   "pos": [
    0.91,
    1.44,
    -3.7
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "troop_4",
   "role": "seat",
   "parent": null,
   "pos": [
    0.91,
    1.44,
    -4.6
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "troop_5",
   "role": "seat",
   "parent": null,
   "pos": [
    0.91,
    1.44,
    -5.5
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "troop_6",
   "role": "seat",
   "parent": null,
   "pos": [
    0.91,
    1.44,
    -6.4
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "troop_7",
   "role": "seat",
   "parent": null,
   "pos": [
    0.91,
    1.44,
    -7.3
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "troop_8",
   "role": "seat",
   "parent": null,
   "pos": [
    0.91,
    1.44,
    -8.2
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "troop_9",
   "role": "seat",
   "parent": null,
   "pos": [
    -0.91,
    1.44,
    -1.9
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "troop_10",
   "role": "seat",
   "parent": null,
   "pos": [
    -0.91,
    1.44,
    -2.8
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "troop_11",
   "role": "seat",
   "parent": null,
   "pos": [
    -0.91,
    1.44,
    -3.7
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "troop_12",
   "role": "seat",
   "parent": null,
   "pos": [
    -0.91,
    1.44,
    -4.6
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "troop_13",
   "role": "seat",
   "parent": null,
   "pos": [
    -0.91,
    1.44,
    -5.5
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "troop_14",
   "role": "seat",
   "parent": null,
   "pos": [
    -0.91,
    1.44,
    -6.4
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "troop_15",
   "role": "seat",
   "parent": null,
   "pos": [
    -0.91,
    1.44,
    -7.3
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "troop_16",
   "role": "seat",
   "parent": null,
   "pos": [
    -0.91,
    1.44,
    -8.2
   ],
   "rot": null,
   "source": "authored"
  }
 ],
 "nodes": {
  "body": [
   "Fuselage"
  ],
  "wheels": [],
  "steer": [],
  "rotors": [
   "Rotor_Front",
   "Rotor_Rear"
  ],
  "doors": [
   "Door_L",
   "Door_R",
   "Ramp"
  ],
  "axes": {
   "Rotor_Front": [
    0.0001,
    1,
    0.0001
   ],
   "Rotor_Rear": [
    0,
    1,
    0
   ]
  },
  "limits": {}
 },
 "paint": {
  "encoding": "material factor",
  "material": "Paint",
  "default": [
   0.1,
   0.11,
   0.07
  ],
  "paints": [
   [
    0.1,
    0.11,
    0.07
   ],
   [
    0.48,
    0.53,
    0.55
   ],
   [
    0.115,
    0.135,
    0.15
   ],
   [
    0.075,
    0.12,
    0.16
   ],
   [
    0.49,
    0.37,
    0.22
   ],
   [
    0.022,
    0.026,
    0.028
   ]
  ],
  "names": [
   "Olive drab",
   "Air-superiority light grey",
   "Dark grey",
   "Navy blue-grey",
   "Desert sand",
   "Black"
  ],
  "colour_space": "linear",
  "how": "set the Paint material's color (linear RGB) to recolour; nothing else uses Paint"
 },
 "render": {
  "tris": 127768,
  "verts": 162282,
  "materials": 8,
  "draw_calls": 22,
  "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": [
     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"
   },
   {
    "px": [
     512,
     512
    ],
    "fmt": "ktx2"
   },
   {
    "px": [
     512,
     512
    ],
    "fmt": "ktx2"
   },
   {
    "px": [
     512,
     512
    ],
    "fmt": "ktx2"
   },
   {
    "px": [
     256,
     256
    ],
    "fmt": "ktx2"
   },
   {
    "px": [
     256,
     256
    ],
    "fmt": "ktx2"
   },
   {
    "px": [
     256,
     256
    ],
    "fmt": "ktx2"
   },
   {
    "px": [
     1024,
     1024
    ],
    "fmt": "ktx2"
   },
   {
    "px": [
     512,
     512
    ],
    "fmt": "ktx2"
   },
   {
    "px": [
     1024,
     1024
    ],
    "fmt": "ktx2"
   }
  ],
  "gpu_mb_decoded": 9.7,
  "bytes": 762552,
  "codec": "draco",
  "extensions": [
   "KHR_draco_mesh_compression",
   "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/chinook-helicopter-v1",
  "kit": "library-author",
  "job": "chinook-helicopter-v1",
  "feedback": null,
  "imported": "2026-10-07",
  "file_origin": "~/forge-build/forge-assets/jobs/chinook-helicopter-v1/chinook-helicopter.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 chinook-helicopter-v1 (Nano Banana Pro sheet, CC0 Poly Haven textures: blue_metal_plate, fabric_leather_01, rubberized_track)"
 },
 "quality": {
  "gates": "pass: 10 MB of 24 MB texture budget, 127768 tris",
  "judge": null
 },
 "files": {
  "glb": "sha256:599c0855f2b6ddb07ce880911bd8d0fa4179d47481af1d9edcc3d75aa76ae0b1"
 },
 "deps": [],
 "release": "sha256:eba7ad4185a054682298982a0b08f2fff0e02cc97c842d8cc875596a10091b6a"
}
