{
 "id": "vehicle.space.speeder/hover-cargo-skiff",
 "version": 1,
 "name": " open cargo hover skiff (flat utility barge floating over the ground): a long flat deck with railings and cargo crates, a small driver station at the rear with controls, four big lift-fan nacelles at the corners, worn industrial look (the one on sheet.jpg)",
 "title": "Cargo hover skiff",
 "slug": "hover-cargo-skiff",
 "refs": [
  "sheet.jpg"
 ],
 "size": "9.0 m long, 3.8 m wide, 2.4 m high, hovering 0.6 m above the ground",
 "tris": "30k to 90k",
 "mats": 9,
 "effort": "xhigh",
 "frame": "Front toward +Z, up = +Y, +X = the vehicle's LEFT side, centred on X = 0; origin (0,0,0) on the ground plane directly below the middle of the vehicle. It HOVERS: nothing touches y = 0, the lowest point sits at the ride height given in the size line.",
 "nodes": "GAME WEIGHT overrides the budget above: every texture image at most 1024 px, ORM / occlusion maps at most 512 px; share baked texture sets between parts and use tiling materials + trim textures on big surfaces. Separate named mesh nodes: Hull (everything fixed). Every MOVING part is its own node with its object origin ON its pivot (the extra moving parts named in the description). Empty nodes (no mesh): Seat_Driver (and Seat_Passenger / Seat_Gunner where it has them; Seat_Rider on a bike), Hand_L, Hand_R (grip or yoke points), Foot_L, Foot_R, Thruster_1..n (every engine exhaust centre, exhaust toward -Z), Lift_1..n (the centre of every repulsor/lift pad or fan underneath: games put the ground glow and dust there), Camera_Chase, Light_Head_L, Light_Head_R, Light_Tail_L, Light_Tail_R. Materials: glowing engine exhausts and lift pads = \"Engines\" (emissive); lights = \"Lamps\" (emissive); windscreen = \"Glass\" (alpha BLEND). In nodes.json add \"axes\" for every moving node. PAINT CONTRACT (how games get faction colours of one model): the main hull colour lives in ONE material named exactly \"Paint\". Its base colour TEXTURE holds only light neutral detail (near white, with panel lines, grey grime, engine scorch, micro-meteorite pitting and chipped edges baked in) and its baseColorFactor holds the paint colour; default factor = [0.50, 0.42, 0.30] (worn tan). A game changes that factor, so nothing else (bare metal, engines, glass, lamps, weapons, cockpit) may use Paint. Crates are their own material. Extra moving parts: Fan_FL, Fan_FR, Fan_RL, Fan_RR (lift fans, origin on their axis). In nodes.json add \"paints\": six good paints for this model as linear RGB triples with names, the default first, in the spirit of: white, industrial orange, safety yellow, signal red, teal, pale blue, charcoal, sand; and render paints.png: a 3x2 grid of the same 3/4 view in those six paints (EEVEE or low-sample Cycles) to prove the recolour works. MOVING PARTS: never apply transforms to a moving node. Check it in Blender before export: rotate each moving node 30 degrees in a test render; nothing may leave its place. No text, numbers, insignia, faction emblems, flags or logos anywhere (games add their own factions). ORIGINAL DESIGN: never model a famous film, TV, anime or game ship (no X-wing, TIE, Star Destroyer, Millennium Falcon, Enterprise, Serenity, Normandy, Viper, Valkyrie, Gundam, Halo, Homeworld, EVE, Elite or Expanse ship): if the sheet looks like one, keep its proportions and parts but make the silhouette details, nose and engines your own. RENDERS: final.png and paints.png on a plain light ground in soft daylight, with the vehicle hovering. Keep this directory clean: put any helper tools you install (node_modules, vendored three.js, browser checks) under /tmp, never here. Pace: deliver a first complete GLB within about 30 minutes, then use what is left of about 60 minutes to improve what the renders show is weakest. Use Cycles with the GPU (OptiX/CUDA) and modest samples for bakes and renders. ",
 "family": "speeders",
 "pen": "astra",
 "tags": [
  "speeder",
  "skiff",
  "utility"
 ],
 "contract": "hover/v1"
}