{
 "id": "vehicle.car.hatchback/euro-hatchback",
 "version": 2,
 "name": "modern european compact five-door hatchback (city car class) (the one on sheet.jpg)",
 "title": "Euro Hatchback",
 "slug": "euro-hatchback",
 "refs": [
  "sheet.jpg",
  "previous_final.png",
  "previous_side.png"
 ],
 "size": "4.10 m long, 1.78 m wide, 1.47 m high, wheelbase 2.62 m",
 "tris": "50k to 100k",
 "mats": 8,
 "effort": "medium",
 "frame": "Front toward +Z, up = +Y, +X = the vehicle's LEFT side, centred on X = 0; origin (0,0,0) on the ground plane midway between the front and rearmost axles (Forge Garage contract v2). Tyres touch y = 0.",
 "nodes": "GAME WEIGHT overrides the budget above: every texture image at most 1024 px, ORM / occlusion maps at most 512 px, share one baked texture set between parts where you can. Separate named mesh nodes: Body (painted shell and everything fixed to it), Wheel_FL, Wheel_FR, Wheel_RL, Wheel_RR (tyre + rim + brake disc, origin exactly at the wheel centre so a game spins it about X and steers the front ones about Y), SteeringWheel (origin at its hub). Empty nodes (no mesh): Seat_Driver (driver hip point), Door_L, Door_R (where a character gets in), Exhaust, Light_Head_L, Light_Head_R, Light_Tail_L, Light_Tail_R. A simple but believable interior must be visible through the glass: seats, dashboard, steering wheel, door cards, no empty hollow shell. Windows: one material named \"Glass\" (alpha BLEND, tinted, low roughness, real thickness not needed). Lamps: one material named \"Lamps\" with emissive (headlights warm white, tail and brake lights red, indicators amber; emission strength modest, games raise it). PAINT CONTRACT (this is how games get colour variants of one model): the body colour lives in ONE material named exactly \"Paint\". Its base colour TEXTURE holds only light neutral detail (near white, with grey grime, dust and wear baked in) and its baseColorFactor holds the paint colour; default factor = [0.55, 0.03, 0.03] (deep red). A game recolours the vehicle by changing that factor, so nothing else (rubber, chrome, glass, lights, interior, decals) may use the Paint material. Give Paint a clearcoat (KHR_materials_clearcoat 1.0, roughness about 0.05) if it is glossy paint. In nodes.json add \"paints\": six good-looking real paint colours for this model as linear RGB triples (the default first), and render paints.png: a 3x2 grid of the same 3/4 view in those six paints (EEVEE or low-sample Cycles is fine) to prove the recolour works. Pace: deliver a first complete GLB within about 25 minutes, then use what is left of about 45 minutes to improve what the renders show is weakest. Use Cycles with the GPU (OptiX/CUDA) and modest samples for bakes and renders. No logos, badges or readable text anywhere, and do not copy any real manufacturer's signature grille or lamp shape exactly: keep the sheet's proportions and detail level with an original face. ",
 "family": "cars",
 "feedback": "Art direction critique of v1 (previous_final.png, previous_side.png): it reads as a dated 1990s saloon, not the modern compact hatchback on the sheet. Fix the PROPORTIONS first: short bonnet and short overhangs (front about 0.85 m, rear about 0.65 m on the 2.62 m wheelbase, 4.10 m overall); the tailgate is near vertical just behind the rear wheels with a roof spoiler, no boot step; a fast raked windscreen; higher beltline and a lower glasshouse; a strong shoulder line and flared wheel arches; wider track with 17-inch wheels filling the arches (small arch gap); slim modern LED headlamps wrapping into the wings, a wide trapezoid lower grille, thick C-pillar. Smooth subdivided body surfaces with crisp feature lines, panel gaps as thin dark grooves. Overlay your side render on the sheet's side view and match the outline. Keep the contract of the previous version (node names, pivots, Paint material factor, paints in nodes.json, game weight). Start from the previous build script and change what the critique names; deliver the same files."
}