{
 "id": "vehicle.service.taxi/city-taxi",
 "version": 1,
 "name": "modern european four-door executive saloon / estate city taxi (french riviera nice/cannes style) with sleek bodywork, an illuminated roof 'taxi' sign box on top of the roof, subtle chequered taxi band along the upper door line, multi-spoke alloy wheels, tinted rear passenger windows, and visible interior (the one on sheet.jpg)",
 "title": "City Taxi",
 "slug": "city-taxi",
 "refs": [
  "sheet.jpg",
  "trellis.preview.png",
  "trellis.glb",
  "trellis_info.json"
 ],
 "size": "4.82 m long, 1.85 m wide, 1.56 m high, wheelbase 2.80 m",
 "tris": "50k to 95k",
 "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. Final packed GLB must be <= 1.5 MB (<= 2.0 MB for trucks). Separate named mesh nodes: Body (painted shell, trim, and roof taxi sign housing), Wheel_FL, Wheel_FR, Wheel_RL, Wheel_RR (tyre + rim + brake disc, origin at exact wheel hub centre), SteeringWheel (origin at its hub), Door_FL, Door_FR, Door_RL, Door_RR (separate door mesh nodes with origin on each door's front vertical hinge axis). The roof TAXI sign face uses the emissive 'Lamps' material with warm white/amber glow and 'TAXI' lettering. Empty nodes (no mesh): Seat_Driver (driver hip point), Door_L, Door_R (character entry points), Exhaust, Light_Head_L, Light_Head_R, Light_Tail_L, Light_Tail_R. A believable interior (seats, dashboard, taximeter on console, steering wheel) must be visible through the Glass. 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, roof lightbars / taxi signs emissive; emission strength modest, games raise it). PAINT CONTRACT (this is how games get colour variants of one model): the base body colour lives in ONE material named exactly \"Paint\". Its base colour TEXTURE holds only light neutral detail (near white, with subtle grey grime, panel seams, dust and wear baked in) and its baseColorFactor holds the paint colour; default factor = [0.04, 0.04, 0.05] (deep anthracite black) (never [1,1,1]). A game recolours the vehicle by changing that factor, so nothing else (rubber, chrome, glass, lights, interior, baked livery stripes/decals) may use the Paint material. For liveried service vehicles, put livery stripes/chevrons/markings on a separate \"Livery\" material (or non-Paint material) and use \"Paint\" for the recolourable base body panels. 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. REFERENCE & TRELLIS.2 STARTING MESH: In this directory you have sheet.jpg (the turnaround design sheet), trellis.preview.png (render of the TRELLIS.2 3D shape reference), and trellis.glb (the TRELLIS.2 3D mesh). Do NOT call view_file on trellis.glb (it is a binary GLB; view sheet.jpg and trellis.preview.png with view_file). You may inspect or import trellis.glb in Blender on gex44 as a 3D shape/proportion guide or starting shell, but a raw TRELLIS blob mesh with fused wheels is NOT acceptable: wheels MUST be separate clean cylindrical meshes that spin smoothly without wobble, glass and body panels must be crisp, and all Garage v2 nodes and pivots must be exact. Keep this directory clean: never create node_modules here. Pace: deliver a first complete GLB within about 20 minutes, then refine if needed. Use Cycles with the GPU (OptiX/CUDA) and modest samples for bakes and renders. ",
 "family": "cars",
 "pen": "gemini4",
 "status": "approved",
 "tags": [
  "taxi",
  "city-taxi",
  "cab",
  "service",
  "vehicle",
  "sedan"
 ],
 "aliases": [
  "taxi",
  "city taxi",
  "cab",
  "taxicab",
  "taxi de ville",
  "riviera taxi"
 ]
}