{
 "id": "vehicle.car.sports/sports-coupe",
 "version": 2,
 "name": "low two-door front-engine sports coupe / grand tourer, wide rear haunches, big wheels (the one on sheet.jpg)",
 "title": "Sports Coupe",
 "slug": "sports-coupe",
 "refs": [
  "sheet.jpg",
  "previous_final.png",
  "previous_side.png"
 ],
 "size": "4.45 m long, 1.92 m wide, 1.27 m high, wheelbase 2.55 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.85, 0.55, 0.02] (yellow). 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 1980s box: a flat vertical face, slab sides and a weak rear. The sheet is a modern grand tourer. Fix: a long bonnet that drops to a LOW pointed nose, a wide grille mouth low in the bumper, slim swept-back headlamps; body narrowest at the doors and flaring out into strong, wide rear haunches over the rear wheels; a fastback roof that flows into a short rear deck with a ducktail spoiler and slim full-width tail lamps; vents behind the front wheels; dark sills; 20-inch wheels with low-profile tyres filling the arches with a small gap. All panels smooth, double-curved and subdivided, no flat slabs; crisp feature lines. 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."
}