{
 "id": "vehicle.car.sedan/family-sedan",
 "version": 2,
 "name": "modern mid-size four-door family saloon / sedan with a separate boot (the one on sheet.jpg)",
 "title": "Family Sedan",
 "slug": "family-sedan",
 "refs": [
  "sheet.jpg",
  "previous_final.png",
  "previous_side.png"
 ],
 "size": "4.80 m long, 1.84 m wide, 1.45 m high, wheelbase 2.80 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.02, 0.05, 0.16] (dark metallic blue). 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 flat slab from the side and dated from the front. The bonnet sits too high and flat, the body sides are flat with no sculpting, the glasshouse is low and the roof does not flow into the boot, the wheel arches show a pale liner gap. Fix: a lower bonnet sloping to the front, a crisp shoulder line from the headlamps to the tail lamps, body sides with tumblehome (curving inward toward the roof), taller side windows with a thin bright window surround, a roof arc that flows into a short high boot deck, 18-inch wheels filling the arches with DARK arch liners, slimmer modern headlamps and a lower front bumper with intakes. Smooth subdivided panels. 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."
}