{"version":1,"record":{"id":"gen-agent-23-mvnf7xvs-6vjzt","agentId":"agent-23","agentName":"Abner Poonjobby","prompt":"Mario Kart styled KART and RIDER. Keep distance between for easy splitting. Rider should be wearing a uniquly themed racing jumpsuit (styled after the character). The Kart should have a unique body shape again, artistically themed around character. Super high details but mid poly range-- Smart use of colors, Have fun with it.","model":"openai/gpt-6-luna-pro","agentic":false,"slices":1,"sliceSteps":4,"code":"const group = new THREE.Group();\ngroup.name = 'Starcap Kart And Rider';\n\nSCENE.setAtmosphere('studio');\nSCENE.setLighting({\n  hemi: { sky: '#c9dcff', ground: '#20283a', intensity: 0.65 },\n  sun: { color: '#dbe8ff', intensity: 2.1, position: [3, 5, -6] },\n  ambient: { color: '#ffffff', intensity: 0.28 },\n  shadows: true\n});\nSCENE.setExposure(1.05);\n\nconst lavender = new THREE.MeshStandardMaterial({ name: 'Lilac Brushed Alloy', color: 0xc0a5d1, roughness: 0.34, metalness: 1.0 });\nconst cobalt = new THREE.MeshStandardMaterial({ name: 'Cobalt Enamel', color: 0x164fce, roughness: 0.3, metalness: 0.0 });\nconst birch = new THREE.MeshStandardMaterial({ name: 'Pale Birch', color: 0xe4d3ae, roughness: 0.7, metalness: 0.0 });\nconst rubber = new THREE.MeshStandardMaterial({ name: 'Racing Tire Rubber', color: 0x20232a, roughness: 0.92, metalness: 0.0 });\nconst steel = new THREE.MeshStandardMaterial({ name: 'Brushed Steel', color: 0x8795a6, roughness: 0.32, metalness: 1.0 });\nconst dark = new THREE.MeshStandardMaterial({ name: 'Dark Graphite', color: 0x252b37, roughness: 0.5, metalness: 0.0 });\nconst cream = new THREE.MeshStandardMaterial({ name: 'Warm Ivory', color: 0xf4eddd, roughness: 0.48, metalness: 0.0 });\nconst signature = new THREE.MeshStandardMaterial({ name: 'Lime Signature Accent', color: 0xf2fb74, roughness: 0.36, metalness: 0.0 });\n\nfunction addMesh(parent, name, geometry, material, position, rotation, scale) {\n  const mesh = new THREE.Mesh(geometry, material);\n  mesh.name = name;\n  mesh.position.set(position[0], position[1], position[2]);\n  if (rotation) mesh.rotation.set(rotation[0], rotation[1], rotation[2]);\n  if (scale) mesh.scale.set(scale[0], scale[1], scale[2]);\n  parent.add(mesh);\n  return mesh;\n}\n\nfunction addLink(parent, name, start, end, radius, material, radialSegments = 12) {\n  const a = new THREE.Vector3(start[0], start[1], start[2]);\n  const b = new THREE.Vector3(end[0], end[1], end[2]);\n  const direction = new THREE.Vector3().subVectors(b, a);\n  const mesh = new THREE.Mesh(new THREE.CylinderGeometry(radius, radius, direction.length(), radialSegments), material);\n  mesh.name = name;\n  mesh.position.copy(a).add(b).multiplyScalar(0.5);\n  mesh.quaternion.setFromUnitVectors(new THREE.Vector3(0, 1, 0), direction.normalize());\n  parent.add(mesh);\n  return mesh;\n}\n\nconst kart = new THREE.Group();\nkart.name = 'Cobalt Comet Kart';\nkart.position.set(-1.25, 0, 0);\ngroup.add(kart);\n\nconst kartHull = GEO.createHull({\n  length: 1.52,\n  chine: 'hard',\n  keel: 'round',\n  samples: 28,\n  stations: [\n    { t: 0.00, beam: 0.025, chine: 0.018, chineY: 0.35, keelY: 0.31, gunY: 0.43 },\n    { t: 0.08, beam: 0.27, chine: 0.19, chineY: 0.25, keelY: 0.20, gunY: 0.47 },\n    { t: 0.22, beam: 0.43, chine: 0.34, chineY: 0.19, keelY: 0.15, gunY: 0.47 },\n    { t: 0.48, beam: 0.47, chine: 0.37, chineY: 0.18, keelY: 0.14, gunY: 0.45 },\n    { t: 0.72, beam: 0.43, chine: 0.34, chineY: 0.19, keelY: 0.15, gunY: 0.46 },\n    { t: 0.90, beam: 0.34, chine: 0.27, chineY: 0.22, keelY: 0.18, gunY: 0.47 },\n    { t: 1.00, beam: 0.23, chine: 0.18, chineY: 0.25, keelY: 0.21, gunY: 0.44 }\n  ]\n});\naddMesh(kart, 'Kart.Hull.LilacShell', kartHull.geometry, lavender, [0, 0, 0]);\n\naddMesh(kart, 'Kart.Deck.BirchInset', kartHull.buildDeck({ y: 0.405, inset: 0.045, thickness: 0.025 }), birch, [0, 0, 0]);\n\nfor (const side of [-1, 1]) {\n  const s = side < 0 ? 'Left' : 'Right';\n  addMesh(kart, `Kart.SidePod.${s}`, new THREE.BoxGeometry(0.055, 0.13, 0.68), cobalt, [side * 0.432, 0.31, -0.04], [0, 0, side * -0.08]);\n  addMesh(kart, `Kart.SidePodTrim.${s}`, new THREE.BoxGeometry(0.016, 0.025, 0.56), steel, [side * 0.464, 0.34, -0.04]);\n  addMesh(kart, `Kart.Wheel.${s}.Front.Tire`, new THREE.CylinderGeometry(0.22, 0.22, 0.145, 20), rubber, [side * 0.48, 0.22, 0.43], [0, 0, Math.PI / 2]);\n  addMesh(kart, `Kart.Wheel.${s}.Rear.Tire`, new THREE.CylinderGeometry(0.22, 0.22, 0.145, 20), rubber, [side * 0.48, 0.22, -0.43], [0, 0, Math.PI / 2]);\n  for (const axle of ['Front', 'Rear']) {\n    const z = axle === 'Front' ? 0.43 : -0.43;\n    addMesh(kart, `Kart.Wheel.${s}.${axle}.Hub`, new THREE.CylinderGeometry(0.105, 0.105, 0.157, 16), steel, [side * 0.48, 0.22, z], [0, 0, Math.PI / 2]);\n    addMesh(kart, `Kart.Wheel.${s}.${axle}.CobaltCap`, new THREE.CylinderGeometry(0.064, 0.064, 0.164, 12), cobalt, [side * 0.48, 0.22, z], [0, 0, Math.PI / 2]);\n  }\n}\n\naddMesh(kart, 'Kart.Bumper.Front', new THREE.BoxGeometry(0.62, 0.075, 0.09), steel, [0, 0.24, 0.69], [0, 0, 0]);\naddMesh(kart, 'Kart.Bumper.Rear', new THREE.BoxGeometry(0.58, 0.065, 0.075), steel, [0, 0.24, -0.68]);\naddMesh(kart, 'Kart.Nose.CobaltStripe', new THREE.BoxGeometry(0.075, 0.018, 0.34), cobalt, [0, 0.435, 0.31], [0.05, 0, 0]);\naddMesh(kart, 'Kart.Nose.LimeBadge', new THREE.SphereGeometry(0.038, 12, 8), signature, [0, 0.45, 0.52]);\naddMesh(kart, 'Kart.Dashboard', new THREE.BoxGeometry(0.38, 0.075, 0.17), dark, [0, 0.48, 0.18], [-0.12, 0, 0]);\naddMesh(kart, 'Kart.Dashboard.Gauge', new THREE.CylinderGeometry(0.035, 0.035, 0.018, 16), cream, [0, 0.525, 0.16]);\naddMesh(kart, 'Kart.Seat.Base', new THREE.BoxGeometry(0.34, 0.085, 0.31), dark, [0, 0.48, -0.18]);\naddMesh(kart, 'Kart.Seat.Cushion', new THREE.BoxGeometry(0.29, 0.085, 0.25), birch, [0, 0.535, -0.18]);\naddMesh(kart, 'Kart.Seat.Back', new THREE.BoxGeometry(0.31, 0.31, 0.09), cobalt, [0, 0.69, -0.34], [-0.12, 0, 0]);\n\naddLink(kart, 'Kart.Steering.Column', [0, 0.49, 0.24], [0, 0.64, 0.40], 0.025, steel);\naddMesh(kart, 'Kart.Steering.Wheel', new THREE.TorusGeometry(0.12, 0.018, 8, 20), dark, [0, 0.65, 0.405]);\naddMesh(kart, 'Kart.Steering.Hub', new THREE.SphereGeometry(0.032, 12, 8), steel, [0, 0.65, 0.405]);\naddLink(kart, 'Kart.Steering.Spoke.Left', [-0.105, 0.65, 0.405], [0, 0.65, 0.405], 0.009, steel, 8);\naddLink(kart, 'Kart.Steering.Spoke.Right', [0.105, 0.65, 0.405], [0, 0.65, 0.405], 0.009, steel, 8);\nfor (let i = 0; i < 5; i++) {\n  addMesh(kart, `Kart.Hood.Vent.${String(i + 1).padStart(2, '0')}`, new THREE.BoxGeometry(0.018, 0.012, 0.12), dark, [-0.14 + i * 0.07, 0.438, 0.045], [0.06, 0, 0]);\n}\n\nconst rider = new THREE.Group();\nrider.name = 'Starcap Racer';\nrider.position.set(1.28, 0, 0);\ngroup.add(rider);\n\naddMesh(rider, 'Rider.Pelvis.Suit', new THREE.SphereGeometry(0.19, 16, 12), cobalt, [0, 0.55, -0.02], [0, 0, 0], [1.0, 0.76, 0.9]);\naddMesh(rider, 'Rider.Torso.LilacSuit', new THREE.SphereGeometry(0.235, 18, 14), lavender, [0, 0.78, -0.06], [0.2, 0, 0], [0.9, 1.12, 0.75]);\naddMesh(rider, 'Rider.Chest.Panel', new THREE.BoxGeometry(0.21, 0.11, 0.025), cobalt, [0, 0.79, 0.106], [-0.12, 0, 0]);\naddMesh(rider, 'Rider.Chest.Emblem', new THREE.SphereGeometry(0.035, 12, 8), signature, [0, 0.80, 0.127]);\n\naddLink(rider, 'Rider.Leg.Left.Thigh', [-0.115, 0.56, 0.00], [-0.16, 0.31, 0.18], 0.095, cobalt);\naddLink(rider, 'Rider.Leg.Left.Shin', [-0.16, 0.31, 0.18], [-0.16, 0.15, 0.31], 0.075, lavender);\naddLink(rider, 'Rider.Leg.Right.Thigh', [0.115, 0.56, 0.00], [0.16, 0.31, 0.18], 0.095, cobalt);\naddLink(rider, 'Rider.Leg.Right.Shin', [0.16, 0.31, 0.18], [0.16, 0.15, 0.31], 0.075, lavender);\naddMesh(rider, 'Rider.Boot.Left', new THREE.BoxGeometry(0.14, 0.09, 0.23), birch, [-0.16, 0.085, 0.35], [0.05, 0, 0]);\naddMesh(rider, 'Rider.Boot.Right', new THREE.BoxGeometry(0.14, 0.09, 0.23), birch, [0.16, 0.085, 0.35], [0.05, 0, 0]);\naddMesh(rider, 'Rider.Boot.Left.Sole', new THREE.BoxGeometry(0.145, 0.025, 0.23), dark, [-0.16, 0.04, 0.35]);\naddMesh(rider, 'Rider.Boot.Right.Sole', new THREE.BoxGeometry(0.145, 0.025, 0.23), dark, [0.16, 0.04, 0.35]);\n\naddLink(rider, 'Rider.Arm.Left.Upper', [-0.18, 0.87, -0.045], [-0.32, 0.77, 0.105], 0.068, cobalt);\naddLink(rider, 'Rider.Arm.Left.Forearm', [-0.32, 0.77, 0.105], [-0.27, 0.66, 0.28], 0.058, lavender);\naddLink(rider, 'Rider.Arm.Right.Upper', [0.18, 0.87, -0.045], [0.32, 0.77, 0.105], 0.068, cobalt);\naddLink(rider, 'Rider.Arm.Right.Forearm', [0.32, 0.77, 0.105], [0.27, 0.66, 0.28], 0.058, lavender);\naddMesh(rider, 'Rider.Glove.Left', new THREE.SphereGeometry(0.064, 12, 8), birch, [-0.27, 0.65, 0.29]);\naddMesh(rider, 'Rider.Glove.Right', new THREE.SphereGeometry(0.064, 12, 8), birch, [0.27, 0.65, 0.29]);\naddMesh(rider, 'Rider.Display.SteeringWheel', new THREE.TorusGeometry(0.105, 0.014, 8, 18), dark, [0, 0.66, 0.31]);\naddMesh(rider, 'Rider.Display.SteeringHub', new THREE.SphereGeometry(0.025, 10, 8), steel, [0, 0.66, 0.31]);\n\naddMesh(rider, 'Rider.Neck', new THREE.CylinderGeometry(0.075, 0.085, 0.12, 12), birch, [0, 0.94, -0.04]);\naddMesh(rider, 'Rider.Face', new THREE.SphereGeometry(0.18, 18, 14), birch, [0, 1.055, 0.005], [0, 0, 0], [0.92, 1.02, 0.82]);\naddMesh(rider, 'Rider.Ear.Left', new THREE.SphereGeometry(0.048, 12, 8), birch, [-0.17, 1.045, 0.005]);\naddMesh(rider, 'Rider.Ear.Right', new THREE.SphereGeometry(0.048, 12, 8), birch, [0.17, 1.045, 0.005]);\naddMesh(rider, 'Rider.Eye.Left', new THREE.SphereGeometry(0.018, 10, 8), dark, [-0.055, 1.07, 0.151]);\naddMesh(rider, 'Rider.Eye.Right', new THREE.SphereGeometry(0.018, 10, 8), dark, [0.055, 1.07, 0.151]);\naddMesh(rider, 'Rider.Helmet.ConeCrown', new THREE.CylinderGeometry(0.13, 0.25, 0.29, 16, 1), cobalt, [0, 1.265, -0.015]);\naddMesh(rider, 'Rider.Helmet.BluntTopStep', new THREE.CylinderGeometry(0.135, 0.135, 0.045, 16), lavender, [0, 1.432, -0.015]);\naddMesh(rider, 'Rider.Helmet.Brim', new THREE.CylinderGeometry(0.315, 0.315, 0.065, 20), lavender, [0, 1.12, -0.015]);\naddMesh(rider, 'Rider.Helmet.BrimUnderside', new THREE.CylinderGeometry(0.265, 0.265, 0.025, 20), cobalt, [0, 1.083, -0.015]);\naddMesh(rider, 'Rider.Helmet.Crest', new THREE.SphereGeometry(0.047, 12, 8), signature, [0, 1.465, -0.015]);\n\nfor (let i = 0; i < 12; i++) {\n  const angle = (i / 12) * Math.PI * 2;\n  const x = Math.cos(angle) * 0.305;\n  const z = Math.sin(angle) * 0.305 - 0.015;\n  addMesh(rider, `Rider.Helmet.Serration.${String(i + 1).padStart(2, '0')}`, new THREE.ConeGeometry(0.047, 0.075, 4), birch, [x, 1.115, z], [0, -angle, 0]);\n}\n\nreturn group;","tone":{"background":"#2a2d36","lighting":{"hemi":{"sky":"#c9dcff","ground":"#20283a","intensity":0.65},"sun":{"color":"#dbe8ff","intensity":2.1,"position":[3,5,-6]},"ambient":{"color":"#ffffff","intensity":0.28}},"fog":null,"shadows":true,"toneMapping":"aces","exposure":1.05},"animations":[],"usage":{"requests":1,"generations":0,"promptTokens":32593,"completionTokens":16724,"totalTokens":49317,"cost":0.01055153385,"activeMs":0,"ratingSum":0,"ratingCount":0,"judgeCost":0},"startedAt":1792908149320,"completedAt":1792908239548,"durationMs":90228,"report":"Parts: 80 meshes, 6923 triangles. Size: 3.49 x 1.51 x 1.52 (X x Y x Z). Lowest point Y=0.000.\nGeometry defects found by the validator:\n- Rider.Helmet.Serration.01 [primitive]: 4 degenerate (zero-area) triangles\n- Rider.Helmet.Serration.02 [primitive]: 4 degenerate (zero-area) triangles\n- Rider.Helmet.Serration.03 [primitive]: 4 degenerate (zero-area) triangles\n- Rider.Helmet.Serration.04 [primitive]: 4 degenerate (zero-area) triangles\n- Rider.Helmet.Serration.05 [primitive]: 4 degenerate (zero-area) triangles\n- Rider.Helmet.Serration.06 [primitive]: 4 degenerate (zero-area) triangles","sliceCount":1,"sliceIds":["gen-agent-23-mvnf7xvs-6vjzt-s1"],"judging":{"status":"done","judges":[{"model":"deepseek/deepseek-v4.1-flash-1017","label":"DeepSeek v4.1 Flash","error":"The judge did not return valid JSON scores.","durationMs":25579},{"scores":{"silhouette":6,"proportion":6,"detail":5,"materials":4,"assembly":6,"readability":6},"average":5.5,"notes":"The kart and distinctive cone-helmeted rider are recognizable, with a clear blue-and-ivory theme and enough separate parts to suggest a deliberate build. The overly dark, nearly black kart shell and sparse visible cockpit detail are the weakest aspects.","model":"openai/gpt-6-luna","label":"GPT-6 Luna","usage":{"prompt_tokens":6367,"completion_tokens":631,"total_tokens":6998,"cost":0.001100187,"is_byok":false,"prompt_tokens_details":{"cached_tokens":0,"cache_write_tokens":6364,"audio_tokens":0,"video_tokens":0},"cost_details":{"upstream_inference_cost":0.0011113,"upstream_inference_prompt_cost":0.0007958,"upstream_inference_completions_cost":0.0003155},"completion_tokens_details":{"reasoning_tokens":545,"image_tokens":0,"audio_tokens":0}},"durationMs":11608},{"scores":{"silhouette":6,"proportion":5,"detail":6,"materials":6,"assembly":6,"readability":6},"average":5.833333333333333,"notes":"The rider reads clearly as a cobalt-and-lilac racer with a spiked cone helmet and the kart is a recognizable low buggy, though the kart hull is dark and hard to read in renders. The kart body is generic rather than strongly character-themed, and the rider's arms and legs are simple capsules that look somewhat disjointed.","model":"anthropic/claude-haiku-5.5","label":"Claude Haiku 5.5","usage":{"prompt_tokens":8649,"completion_tokens":165,"total_tokens":8814,"cost":0.000937926,"is_byok":false,"prompt_tokens_details":{"cached_tokens":0,"cache_write_tokens":0,"audio_tokens":0,"video_tokens":0},"cost_details":{"upstream_inference_cost":0.0009474,"upstream_inference_prompt_cost":0.0008649,"upstream_inference_completions_cost":0.0000825},"completion_tokens_details":{"reasoning_tokens":0,"image_tokens":0,"audio_tokens":0}},"durationMs":13581}],"score":5.666666666666666,"cost":0.0020381130000000003,"tokens":15812,"at":1792908265389},"thumbUrl":"https://futurelabs.now/apps/images/u2/gen-agent-23-mvnf7xvs-6vjzt.png"},"slices":[{"id":"gen-agent-23-mvnf7xvs-6vjzt-s1","index":1,"summary":"Single shot","final":false,"code":"const group = new THREE.Group();\ngroup.name = 'Starcap Kart And Rider';\n\nSCENE.setAtmosphere('studio');\nSCENE.setLighting({\n  hemi: { sky: '#c9dcff', ground: '#20283a', intensity: 0.65 },\n  sun: { color: '#dbe8ff', intensity: 2.1, position: [3, 5, -6] },\n  ambient: { color: '#ffffff', intensity: 0.28 },\n  shadows: true\n});\nSCENE.setExposure(1.05);\n\nconst lavender = new THREE.MeshStandardMaterial({ name: 'Lilac Brushed Alloy', color: 0xc0a5d1, roughness: 0.34, metalness: 1.0 });\nconst cobalt = new THREE.MeshStandardMaterial({ name: 'Cobalt Enamel', color: 0x164fce, roughness: 0.3, metalness: 0.0 });\nconst birch = new THREE.MeshStandardMaterial({ name: 'Pale Birch', color: 0xe4d3ae, roughness: 0.7, metalness: 0.0 });\nconst rubber = new THREE.MeshStandardMaterial({ name: 'Racing Tire Rubber', color: 0x20232a, roughness: 0.92, metalness: 0.0 });\nconst steel = new THREE.MeshStandardMaterial({ name: 'Brushed Steel', color: 0x8795a6, roughness: 0.32, metalness: 1.0 });\nconst dark = new THREE.MeshStandardMaterial({ name: 'Dark Graphite', color: 0x252b37, roughness: 0.5, metalness: 0.0 });\nconst cream = new THREE.MeshStandardMaterial({ name: 'Warm Ivory', color: 0xf4eddd, roughness: 0.48, metalness: 0.0 });\nconst signature = new THREE.MeshStandardMaterial({ name: 'Lime Signature Accent', color: 0xf2fb74, roughness: 0.36, metalness: 0.0 });\n\nfunction addMesh(parent, name, geometry, material, position, rotation, scale) {\n  const mesh = new THREE.Mesh(geometry, material);\n  mesh.name = name;\n  mesh.position.set(position[0], position[1], position[2]);\n  if (rotation) mesh.rotation.set(rotation[0], rotation[1], rotation[2]);\n  if (scale) mesh.scale.set(scale[0], scale[1], scale[2]);\n  parent.add(mesh);\n  return mesh;\n}\n\nfunction addLink(parent, name, start, end, radius, material, radialSegments = 12) {\n  const a = new THREE.Vector3(start[0], start[1], start[2]);\n  const b = new THREE.Vector3(end[0], end[1], end[2]);\n  const direction = new THREE.Vector3().subVectors(b, a);\n  const mesh = new THREE.Mesh(new THREE.CylinderGeometry(radius, radius, direction.length(), radialSegments), material);\n  mesh.name = name;\n  mesh.position.copy(a).add(b).multiplyScalar(0.5);\n  mesh.quaternion.setFromUnitVectors(new THREE.Vector3(0, 1, 0), direction.normalize());\n  parent.add(mesh);\n  return mesh;\n}\n\nconst kart = new THREE.Group();\nkart.name = 'Cobalt Comet Kart';\nkart.position.set(-1.25, 0, 0);\ngroup.add(kart);\n\nconst kartHull = GEO.createHull({\n  length: 1.52,\n  chine: 'hard',\n  keel: 'round',\n  samples: 28,\n  stations: [\n    { t: 0.00, beam: 0.025, chine: 0.018, chineY: 0.35, keelY: 0.31, gunY: 0.43 },\n    { t: 0.08, beam: 0.27, chine: 0.19, chineY: 0.25, keelY: 0.20, gunY: 0.47 },\n    { t: 0.22, beam: 0.43, chine: 0.34, chineY: 0.19, keelY: 0.15, gunY: 0.47 },\n    { t: 0.48, beam: 0.47, chine: 0.37, chineY: 0.18, keelY: 0.14, gunY: 0.45 },\n    { t: 0.72, beam: 0.43, chine: 0.34, chineY: 0.19, keelY: 0.15, gunY: 0.46 },\n    { t: 0.90, beam: 0.34, chine: 0.27, chineY: 0.22, keelY: 0.18, gunY: 0.47 },\n    { t: 1.00, beam: 0.23, chine: 0.18, chineY: 0.25, keelY: 0.21, gunY: 0.44 }\n  ]\n});\naddMesh(kart, 'Kart.Hull.LilacShell', kartHull.geometry, lavender, [0, 0, 0]);\n\naddMesh(kart, 'Kart.Deck.BirchInset', kartHull.buildDeck({ y: 0.405, inset: 0.045, thickness: 0.025 }), birch, [0, 0, 0]);\n\nfor (const side of [-1, 1]) {\n  const s = side < 0 ? 'Left' : 'Right';\n  addMesh(kart, `Kart.SidePod.${s}`, new THREE.BoxGeometry(0.055, 0.13, 0.68), cobalt, [side * 0.432, 0.31, -0.04], [0, 0, side * -0.08]);\n  addMesh(kart, `Kart.SidePodTrim.${s}`, new THREE.BoxGeometry(0.016, 0.025, 0.56), steel, [side * 0.464, 0.34, -0.04]);\n  addMesh(kart, `Kart.Wheel.${s}.Front.Tire`, new THREE.CylinderGeometry(0.22, 0.22, 0.145, 20), rubber, [side * 0.48, 0.22, 0.43], [0, 0, Math.PI / 2]);\n  addMesh(kart, `Kart.Wheel.${s}.Rear.Tire`, new THREE.CylinderGeometry(0.22, 0.22, 0.145, 20), rubber, [side * 0.48, 0.22, -0.43], [0, 0, Math.PI / 2]);\n  for (const axle of ['Front', 'Rear']) {\n    const z = axle === 'Front' ? 0.43 : -0.43;\n    addMesh(kart, `Kart.Wheel.${s}.${axle}.Hub`, new THREE.CylinderGeometry(0.105, 0.105, 0.157, 16), steel, [side * 0.48, 0.22, z], [0, 0, Math.PI / 2]);\n    addMesh(kart, `Kart.Wheel.${s}.${axle}.CobaltCap`, new THREE.CylinderGeometry(0.064, 0.064, 0.164, 12), cobalt, [side * 0.48, 0.22, z], [0, 0, Math.PI / 2]);\n  }\n}\n\naddMesh(kart, 'Kart.Bumper.Front', new THREE.BoxGeometry(0.62, 0.075, 0.09), steel, [0, 0.24, 0.69], [0, 0, 0]);\naddMesh(kart, 'Kart.Bumper.Rear', new THREE.BoxGeometry(0.58, 0.065, 0.075), steel, [0, 0.24, -0.68]);\naddMesh(kart, 'Kart.Nose.CobaltStripe', new THREE.BoxGeometry(0.075, 0.018, 0.34), cobalt, [0, 0.435, 0.31], [0.05, 0, 0]);\naddMesh(kart, 'Kart.Nose.LimeBadge', new THREE.SphereGeometry(0.038, 12, 8), signature, [0, 0.45, 0.52]);\naddMesh(kart, 'Kart.Dashboard', new THREE.BoxGeometry(0.38, 0.075, 0.17), dark, [0, 0.48, 0.18], [-0.12, 0, 0]);\naddMesh(kart, 'Kart.Dashboard.Gauge', new THREE.CylinderGeometry(0.035, 0.035, 0.018, 16), cream, [0, 0.525, 0.16]);\naddMesh(kart, 'Kart.Seat.Base', new THREE.BoxGeometry(0.34, 0.085, 0.31), dark, [0, 0.48, -0.18]);\naddMesh(kart, 'Kart.Seat.Cushion', new THREE.BoxGeometry(0.29, 0.085, 0.25), birch, [0, 0.535, -0.18]);\naddMesh(kart, 'Kart.Seat.Back', new THREE.BoxGeometry(0.31, 0.31, 0.09), cobalt, [0, 0.69, -0.34], [-0.12, 0, 0]);\n\naddLink(kart, 'Kart.Steering.Column', [0, 0.49, 0.24], [0, 0.64, 0.40], 0.025, steel);\naddMesh(kart, 'Kart.Steering.Wheel', new THREE.TorusGeometry(0.12, 0.018, 8, 20), dark, [0, 0.65, 0.405]);\naddMesh(kart, 'Kart.Steering.Hub', new THREE.SphereGeometry(0.032, 12, 8), steel, [0, 0.65, 0.405]);\naddLink(kart, 'Kart.Steering.Spoke.Left', [-0.105, 0.65, 0.405], [0, 0.65, 0.405], 0.009, steel, 8);\naddLink(kart, 'Kart.Steering.Spoke.Right', [0.105, 0.65, 0.405], [0, 0.65, 0.405], 0.009, steel, 8);\nfor (let i = 0; i < 5; i++) {\n  addMesh(kart, `Kart.Hood.Vent.${String(i + 1).padStart(2, '0')}`, new THREE.BoxGeometry(0.018, 0.012, 0.12), dark, [-0.14 + i * 0.07, 0.438, 0.045], [0.06, 0, 0]);\n}\n\nconst rider = new THREE.Group();\nrider.name = 'Starcap Racer';\nrider.position.set(1.28, 0, 0);\ngroup.add(rider);\n\naddMesh(rider, 'Rider.Pelvis.Suit', new THREE.SphereGeometry(0.19, 16, 12), cobalt, [0, 0.55, -0.02], [0, 0, 0], [1.0, 0.76, 0.9]);\naddMesh(rider, 'Rider.Torso.LilacSuit', new THREE.SphereGeometry(0.235, 18, 14), lavender, [0, 0.78, -0.06], [0.2, 0, 0], [0.9, 1.12, 0.75]);\naddMesh(rider, 'Rider.Chest.Panel', new THREE.BoxGeometry(0.21, 0.11, 0.025), cobalt, [0, 0.79, 0.106], [-0.12, 0, 0]);\naddMesh(rider, 'Rider.Chest.Emblem', new THREE.SphereGeometry(0.035, 12, 8), signature, [0, 0.80, 0.127]);\n\naddLink(rider, 'Rider.Leg.Left.Thigh', [-0.115, 0.56, 0.00], [-0.16, 0.31, 0.18], 0.095, cobalt);\naddLink(rider, 'Rider.Leg.Left.Shin', [-0.16, 0.31, 0.18], [-0.16, 0.15, 0.31], 0.075, lavender);\naddLink(rider, 'Rider.Leg.Right.Thigh', [0.115, 0.56, 0.00], [0.16, 0.31, 0.18], 0.095, cobalt);\naddLink(rider, 'Rider.Leg.Right.Shin', [0.16, 0.31, 0.18], [0.16, 0.15, 0.31], 0.075, lavender);\naddMesh(rider, 'Rider.Boot.Left', new THREE.BoxGeometry(0.14, 0.09, 0.23), birch, [-0.16, 0.085, 0.35], [0.05, 0, 0]);\naddMesh(rider, 'Rider.Boot.Right', new THREE.BoxGeometry(0.14, 0.09, 0.23), birch, [0.16, 0.085, 0.35], [0.05, 0, 0]);\naddMesh(rider, 'Rider.Boot.Left.Sole', new THREE.BoxGeometry(0.145, 0.025, 0.23), dark, [-0.16, 0.04, 0.35]);\naddMesh(rider, 'Rider.Boot.Right.Sole', new THREE.BoxGeometry(0.145, 0.025, 0.23), dark, [0.16, 0.04, 0.35]);\n\naddLink(rider, 'Rider.Arm.Left.Upper', [-0.18, 0.87, -0.045], [-0.32, 0.77, 0.105], 0.068, cobalt);\naddLink(rider, 'Rider.Arm.Left.Forearm', [-0.32, 0.77, 0.105], [-0.27, 0.66, 0.28], 0.058, lavender);\naddLink(rider, 'Rider.Arm.Right.Upper', [0.18, 0.87, -0.045], [0.32, 0.77, 0.105], 0.068, cobalt);\naddLink(rider, 'Rider.Arm.Right.Forearm', [0.32, 0.77, 0.105], [0.27, 0.66, 0.28], 0.058, lavender);\naddMesh(rider, 'Rider.Glove.Left', new THREE.SphereGeometry(0.064, 12, 8), birch, [-0.27, 0.65, 0.29]);\naddMesh(rider, 'Rider.Glove.Right', new THREE.SphereGeometry(0.064, 12, 8), birch, [0.27, 0.65, 0.29]);\naddMesh(rider, 'Rider.Display.SteeringWheel', new THREE.TorusGeometry(0.105, 0.014, 8, 18), dark, [0, 0.66, 0.31]);\naddMesh(rider, 'Rider.Display.SteeringHub', new THREE.SphereGeometry(0.025, 10, 8), steel, [0, 0.66, 0.31]);\n\naddMesh(rider, 'Rider.Neck', new THREE.CylinderGeometry(0.075, 0.085, 0.12, 12), birch, [0, 0.94, -0.04]);\naddMesh(rider, 'Rider.Face', new THREE.SphereGeometry(0.18, 18, 14), birch, [0, 1.055, 0.005], [0, 0, 0], [0.92, 1.02, 0.82]);\naddMesh(rider, 'Rider.Ear.Left', new THREE.SphereGeometry(0.048, 12, 8), birch, [-0.17, 1.045, 0.005]);\naddMesh(rider, 'Rider.Ear.Right', new THREE.SphereGeometry(0.048, 12, 8), birch, [0.17, 1.045, 0.005]);\naddMesh(rider, 'Rider.Eye.Left', new THREE.SphereGeometry(0.018, 10, 8), dark, [-0.055, 1.07, 0.151]);\naddMesh(rider, 'Rider.Eye.Right', new THREE.SphereGeometry(0.018, 10, 8), dark, [0.055, 1.07, 0.151]);\naddMesh(rider, 'Rider.Helmet.ConeCrown', new THREE.CylinderGeometry(0.13, 0.25, 0.29, 16, 1), cobalt, [0, 1.265, -0.015]);\naddMesh(rider, 'Rider.Helmet.BluntTopStep', new THREE.CylinderGeometry(0.135, 0.135, 0.045, 16), lavender, [0, 1.432, -0.015]);\naddMesh(rider, 'Rider.Helmet.Brim', new THREE.CylinderGeometry(0.315, 0.315, 0.065, 20), lavender, [0, 1.12, -0.015]);\naddMesh(rider, 'Rider.Helmet.BrimUnderside', new THREE.CylinderGeometry(0.265, 0.265, 0.025, 20), cobalt, [0, 1.083, -0.015]);\naddMesh(rider, 'Rider.Helmet.Crest', new THREE.SphereGeometry(0.047, 12, 8), signature, [0, 1.465, -0.015]);\n\nfor (let i = 0; i < 12; i++) {\n  const angle = (i / 12) * Math.PI * 2;\n  const x = Math.cos(angle) * 0.305;\n  const z = Math.sin(angle) * 0.305 - 0.015;\n  addMesh(rider, `Rider.Helmet.Serration.${String(i + 1).padStart(2, '0')}`, new THREE.ConeGeometry(0.047, 0.075, 4), birch, [x, 1.115, z], [0, -angle, 0]);\n}\n\nreturn group;","thumbUrl":"https://futurelabs.now/apps/images/u2/gen-agent-23-mvnf7xvs-6vjzt-s1.png"}],"glbUrl":null}