{
 "id": "vehicle.two-wheel.motorcycle/sport-bike",
 "version": 2,
 "name": "modern fully faired 600 cc sport motorcycle, clip-on bars, rear-set pegs, underseat exhaust (the one on sheet.jpg)",
 "title": "Sport Bike",
 "slug": "sport-bike",
 "refs": [
  "sheet.jpg",
  "previous_final.png",
  "previous_side.png"
 ],
 "size": "2.05 m long, 0.72 m wide at the bars, 1.14 m high, wheelbase 1.40 m, 17 inch wheels",
 "tris": "35k to 80k",
 "mats": 7,
 "effort": "medium",
 "frame": "Front toward +Z, up = +Y, +X = the rider's LEFT side, centred on X = 0; origin (0,0,0) on the ground plane midway between the two axles. Upright (not leaning, not on its stand): both tyres touch y = 0 under the centre line.",
 "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: Frame (everything fixed to the frame), Fork (fork + handlebar + everything that steers, origin ON the steering axis at the head tube, so a game turns it about that axis), Wheel_F (child of Fork, origin at the wheel centre, spins about X), Wheel_R (origin at the wheel centre), Kickstand (origin at its pivot, modelled UP/retracted). Empty nodes (no mesh): Seat_Rider (rider hip point on the saddle/seat), Hand_L, Hand_R (grip centres), Foot_L, Foot_R (footpeg or pedal points), Light_Head, Light_Tail. Spokes, cables, chain, brake lines as thin real geometry, smooth shading. 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.60, 0.02, 0.02] (race 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. The fairing panels are Paint; frame, engine, wheels are not. 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. Lamps: one material named \"Lamps\" with emissive (headlight warm white, tail light red, indicators amber). 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": "motos",
 "feedback": "Art direction critique of v1 (previous_final.png, previous_side.png): the fairing reads as flat detached slabs (the side panel hangs like a plate below the engine) and the nose is a blob; the bike looks like a toy. Rebuild the bodywork as continuous double-curved shells that hug the frame like the sheet: a sharp nose with twin slim headlamps and a tall smoked screen, side fairings wrapping the radiator and engine down to a belly pan under the engine with tight gaps, the tank flowing into a thin upswept tail; aluminium twin-spar frame visible between tank and swingarm, underseat exhaust, rear-sets; aggressive stance (seat 0.82 m, nose down). Match the sheet's side silhouette by overlaying your side render on it. 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."
}