{"params":{"colorway":{"type":"choice","default":"sage-green","label":"Colorway","describe":"Curated kit-coherent scheme; sets all ten zones at once. sage-green is the approved moped (sage bodywork over a cream lower skirt, red food box with a cream lid). post-red repaints the body in post-office red and swaps the box to delivery yellow with brighter alloy. city-blue is a slate-blue municipal machine with the darkest tyres and a deep red box. cream-white is an unpainted cream body with a bottle-green box, the lightest scheme. Every scheme keeps the box shell a clear value step off the body, because the box sits directly against the bodywork in every rear view.","options":["sage-green","post-red","city-blue","cream-white"]},"body":{"type":"color","default":"#3F8A5E","label":"Body","describe":"Albedo of every painted body panel: the front leg shield above its cream band, the round headlight nacelle set in that shield, the rear cowl under the saddle and the front mudguard. This is the colour the moped is named by. Keep a clear value step off the cream trim it sits on and off the cargo box behind it."},"trim":{"type":"color","default":"#F0EFEC","label":"Trim / lower skirt","describe":"Albedo of the cream lower bodywork: the bottom third of the leg shield, the deep skirt down both floorboard flanks, the cargo box lid and the rear number plate. Pale warm off-white; it is what breaks the body mass in two horizontally and stops the moped reading as one solid green block from 10 m."},"tyre":{"type":"color","default":"#2E3134","label":"Tyre","describe":"Albedo of both tyres \u2014 tread, both sidewalls and shoulders. The darkest zone on the asset and the two anchors of the silhouette. Avoid pure black, which reads as a hole punched through the model rather than as rubber."},"rim":{"type":"color","default":"#D8DADD","label":"Bright metal","describe":"Albedo of every bright fitting: both wheel centres, both axles, the rear carrier (platform, hoops and struts), the front tray, the handlebar, the mirror stems, the brake levers and the fork column. The lightest zone; it is the sparkle that separates the dark wheels from the dark saddle."},"engine":{"type":"color","default":"#6B7278","label":"Engine / hardware","describe":"Albedo of the mid-grey mechanical parts: crankcase, cylinder, exhaust and muffler, the fork blades and crown, the rear swingarm and shocks, the ribbed floorboard mat and the side stand. Sits between the bright metal and the tyres in value so the machinery under the body reads as one grubby cluster instead of competing with the rack."},"seat":{"type":"color","default":"#3C4145","label":"Saddle / vinyl","describe":"Albedo of the long saddle plus the parts made of the same black plastic and vinyl: both handlebar grips, both mirror heads, the cargo box straps and the muffler tip. One zone, not five: they are the same material on the real machine and would never be recoloured apart."},"boxShell":{"type":"color","default":"#B5462F","label":"Cargo box shell","describe":"Albedo of the rear cargo shell \u2014 the tall insulated food carrier at the cargo default, or the crate at cargo: crate. The single biggest flat colour above the seat line, so it is what a courier livery would actually be printed on. It has no effect at cargo: frame, which carries no box."},"lens":{"type":"color","default":"#E3EDF2","label":"Headlight lens","describe":"Albedo of the round headlight glass by DAY \u2014 pale cold grey-blue, not white. Its own zone purely so a consumer can light it after dark (see the night export), where it becomes a warm white beam. Keep it lighter than the body it is set into or the lamp reads as a hole."},"tail":{"type":"color","default":"#D6452F","label":"Tail lamp","describe":"Albedo of the rear lamp lens on the tail of the cowl. Its own zone, separate from the box shell it sits under and from the amber indicators beside it, so night can burn it red without dragging the bodywork or the box with it."},"indicator":{"type":"color","default":"#F0C24B","label":"Indicator lenses","describe":"Albedo of the four small indicator pods \u2014 two flanking the headlight, two on the tail. Warm amber. They stay unlit at night (a parked machine is not indicating), so this is their colour in every state; keep them clearly distinct from the tail lamp beside them."},"cargo":{"type":"choice","default":"food-box","label":"Cargo","describe":"What the rear carrier is carrying. food-box (default) builds the tall insulated food carrier drawn in the refs: a 0.42 m box standing 0.51 m above the rack with a cream lid overhanging it and two dark straps over the top and down the front. crate swaps it for a low open-topped delivery crate 0.18 m tall, so the whole rear silhouette drops and the rack hoops stand clear above it. frame carries nothing at all, leaving the bare tubular carrier \u2014 the empty machine on its way back to the shop. All three share the identical rack, platform height and hoops, so any of them reads as the same moped.","affects":"geometry","options":["food-box","crate","frame"]},"wheelFacets":{"type":"range","default":12,"label":"Wheel facets","describe":"How many flats each tyre is turned from, and with it how chunky the machine reads. 8 gives a deliberately coarse octagonal tyre whose corners are obvious in the front view; 12 is the shipped default; 16 reads nearly round at street distance. Even values only, so a facet vertex always points straight down and the tyre touches the ground plane instead of resting on a chord. Fenders and bodywork are set off the circumscribed radius, which does not change with the count, so clearances hold at every value.","affects":"geometry","min":8,"max":16,"step":2},"wheelbase":{"type":"range","default":1.2,"label":"Wheelbase","describe":"Distance from the rear axle to the front axle, which sets the overall length from 1.65 m to 1.95 m (1.80 m at the default). REBUILT, not scaled: the wheels, the rear cowl, the saddle and the whole carrier stay exactly where they are, and the floorboard between them gains or loses RIBS at a constant 55 mm pitch \u2014 3 ribs on the short frame, 5 at the default, 8 on the long one \u2014 while the leg shield, fork, front wheel and front tray move forward as one assembly. Triangle count moves with the rib count, which is the tell that something was built rather than stretched.","affects":"geometry","min":1.05,"max":1.35},"windscreen":{"type":"toggle","default":false,"label":"Windscreen","describe":"Adds the bolt-on wind deflector a delivery machine picks up after its first winter: a cream panel 0.35 m tall clamped to the handlebar stem on two short stays, standing just ahead of the bars and leaning back over them. It rides the steering, so it keeps its place in front of the rider at any lock. Off by default, which is the machine the refs draw. On, it fills the gap between the shield top and the mirror heads and makes the machine read taller and more workmanlike from every angle.","affects":"geometry"}},"presets":{"sage-green":{"body":"#3F8A5E","trim":"#F0EFEC","tyre":"#2E3134","rim":"#D8DADD","engine":"#6B7278","seat":"#3C4145","boxShell":"#B5462F","lens":"#E3EDF2","tail":"#D6452F","indicator":"#F0C24B"},"post-red":{"body":"#B5462F","trim":"#F7F5EF","tyre":"#2E3134","rim":"#E4E6E6","engine":"#4E5459","seat":"#2E3134","boxShell":"#F0C24B","lens":"#E3EDF2","tail":"#8E1F1B","indicator":"#E8853A"},"city-blue":{"body":"#5B6E8C","trim":"#E4E6E6","tyre":"#1B1D20","rim":"#D8DADD","engine":"#3C4145","seat":"#2E3134","boxShell":"#D6452F","lens":"#E3EDF2","tail":"#8E1F1B","indicator":"#F0C24B"},"cream-white":{"body":"#F7F5EF","trim":"#ECE8DE","tyre":"#2E3134","rim":"#8A9197","engine":"#6B7278","seat":"#42352A","boxShell":"#2F6B4F","lens":"#E3EDF2","tail":"#D6452F","indicator":"#F0C24B"}},"night":{"lens":{"color":"#FFF1CE","intensity":1,"describe":"headlight beam behind the round lens","albedo":"#e3edf2","findable":true},"tail":{"color":"#FF4A38","intensity":0.55,"describe":"tail lamp glowing under the cargo box","albedo":"#d6452f","findable":true}},"rev":1792408798,"materials":{"body":{"kind":"paint","finish":"matte"},"trim":{"kind":"paint","finish":"matte"},"tyre":{"kind":"rubber","finish":"black"},"rim":{"kind":"metal","finish":"satin"},"engine":{"kind":"metal","finish":"cast"},"seat":{"kind":"plastic","finish":"satin"},"boxShell":{"kind":"plastic","finish":"matte"},"lens":{"kind":"glass","finish":"clear"},"tail":{"kind":"glass","finish":"clear"},"indicator":{"kind":"glass","finish":"clear"}},"materials_note":"what each colour zone is made of: `kind` and `finish` name a procedural PBR material in https://polyfork.dev/materials.mjs (dressByAlbedo finds a zone by its albedo in COLOR_0). A zone not listed has not been classified.","night_note":"match `albedo` in COLOR_0 exactly, make those vertices emissive at `color` and `intensity`, and drop your scene lights. findable false means that colour is no longer in this asset's geometry: skip the zone rather than guessing.","preview_v":1792462550,"mod_v":1792408798}