{"params":{"colorway":{"type":"choice","default":"sanitation-blue","label":"Colorway","describe":"curated kit-coherent paint scheme; sets every zone albedo at once and always keeps the same value ladder (cab lightest, hopper mid, running gear darkest). sanitation-blue is the shipped truck (white cab, steel blue hopper), city-grey a plain warm-grey works body, municipal-red a brick red hauler body, slate-fleet a grey cab over a dark slate body, works-brown a stone cab over a warm brown body","options":["sanitation-blue","city-grey","municipal-red","slate-fleet","works-brown"]},"cab":{"type":"color","default":"#f1ede6","label":"Cab","describe":"albedo of the whole cab shell \u2014 nose, flanks, roof, front bumper and the four horizontal grille bars. The lightest value on the truck and the zone that makes it read as a white-cab municipal vehicle"},"body":{"type":"color","default":"#7b8b8f","label":"Hopper body","describe":"albedo of the tall hopper shell and its six wrap-around rib hoops; the largest painted area and the colour the truck reads as from 10 m"},"loader":{"type":"color","default":"#45525f","label":"Rear loader","describe":"albedo of the tailgate shell and its flank braces \u2014 the rear third of the truck. Ships a full value rung DARKER than the hopper so the loader reads as a separate assembly bolted to the back rather than a continuation of the body; every colorway keeps that step. The mouth interior is not on this zone, it is on `chassis`"},"chassis":{"type":"color","default":"#322d2c","label":"Chassis & trim","describe":"albedo of every dark fitting AND the whole interior of the rear hopper mouth \u2014 its sloped floor liner, both jamb returns, the soffit and the raked packer blade, plus the frame rails, axle housings, wheel-well closer, rub rails, mirror wings, window gaskets, mud flaps and hangers, the rear light panel, loading sill, battery box and wheel nuts. The darkest painted value, and what makes the mouth read as an opening rather than a panel"},"tyre":{"type":"color","default":"#211f1d","label":"Tyres","describe":"albedo of the four tyre carcasses; a separate zone from the chassis so rubber can be greyed or blacked without changing the steelwork"},"hub":{"type":"color","default":"#9f9890","label":"Wheel hubs","describe":"albedo of the four pale hub discs inside the tyres; light against the tyre is what makes the wheels read as wheels at thumbnail size"},"glass":{"type":"color","default":"#3c4854","label":"Glass","describe":"albedo of the raked windshield pane and the two cab door panes; flat stylized glazing, no transparency and deliberately never lit at night"},"frontLamps":{"type":"color","default":"#f6f4ec","label":"Headlamps","describe":"albedo of the two pale headlamp blocks set outboard in the grille recess. This is the zone `night.frontLamps` burns white"},"marker":{"type":"color","default":"#e0a63a","label":"Marker lamps","describe":"albedo of every amber lens: the two front corner markers, the two cab roof markers, the two cab side markers, the five-lamp row across the top of the tailgate and the two rear indicators. The kit's taxi-amber accent, and the zone `night.marker` burns"},"tailLamps":{"type":"color","default":"#b63735","label":"Tail lamps","describe":"albedo of the two red lenses outboard on the rear light panel; the zone `night.tailLamps` burns dim red"},"loaderState":{"type":"choice","default":"down","label":"Rear loader","describe":"which state of the rear loader this build is. down (shipped) = the tailgate closed onto the hopper, its sloped mouth open to the street ready to load. raised = the whole tailgate assembly \u2014 shell, jambs, packer plate, braces, marker row, tail lamps and rear step \u2014 swung 18 degrees up about the hinge at its top front edge, exactly as the truck tips to discharge: a 0.68 m wedge of daylight opens between the hopper's closed rear wall and the tailgate, the tail swings 0.63 m further back, and the tailgate's rear top rises ~0.41 m above the hopper roof line. The hopper body is a closed shell behind it in either state, so nothing shows through the gap","affects":"geometry","options":["down","raised"]},"bodyLength":{"type":"range","default":1,"label":"Hopper length","describe":"length of the hopper body, REBUILT not scaled: the shell and its rub rails and frame rails change length while every section stays exactly as authored (rib hoop 0.07 x 0.12 m, rub rail 0.10 m, frame rail 0.22 m, wheel 0.96 m), and the body gains or loses whole RIB HOOPS at a fixed 0.60 m pitch, so the triangle count moves with the knob (5 hoops at 0.82, 6 at the shipped default, 7 at 1.15). The rear axle follows the tail so the overhang holds. 0.82 = a 3.36 m stub body, 7.26 m overall; 1.0 = the shipped 4.10 m body, 8.00 m overall; 1.15 = a 4.72 m body, 8.62 m overall. The cab, the tailgate and the wheels are untouched","affects":"geometry","min":0.82,"max":1.15},"bodyHeight":{"type":"range","default":1,"label":"Hopper height","describe":"height of the hopper body, REBUILT not scaled: the shell roof and the tailgate top rise together, the rib hoops grow longer LEGS at their authored 0.07 m section, and the rear mouth grows with them while its sill stays on the same sill line. 0.86 = a 2.11 m squat body whose roof clears the cab by 0.53 m (3.11 m overall); 1.0 = the shipped 2.45 m body, 3.45 m overall; 1.10 = a 2.70 m body standing 1.12 m over the cab (3.70 m overall). The step of the hopper over the cab is the truck's identity, so the range never lets the roof fall to cab height. Note that nothing on this truck REPEATS vertically the way the ribs repeat along its length, so this knob honestly moves vertices at a constant triangle count rather than adding courses; `bodyLength` is the rung that re-counts parts","affects":"geometry","min":0.86,"max":1.1},"wheelFacets":{"type":"choice","default":"10","label":"Wheel facets","describe":"sides of the tyre cross-section: 8 reads as a chunky octagonal toy wheel, 10 is the shipped default, 12 is nearly round. Even counts only, so the wheel always rests on a facet EDGE \u2014 the axle height is re-derived from the apothem at every setting and the truck keeps sitting on y=0","affects":"geometry","options":["8","10","12"]},"beacon":{"type":"toggle","default":false,"label":"Roof beacon","describe":"optional municipal warning kit on the cab roof: a low charcoal plinth carrying a faceted amber beacon drum, 0.30 m across and standing 0.28 m over the roof, on the truck's centre line just behind the windshield header. Off (shipped) = a bare flat cab roof; on = the truck reads as a working municipal vehicle and the beacon joins the `marker` night zone","affects":"geometry"}},"presets":{"sanitation-blue":{"cab":"#e4dcd0","body":"#7b8b8f","loader":"#45525f","chassis":"#322d2c","tyre":"#211f1d","hub":"#9f9890","glass":"#3c4854","frontLamps":"#f0ece0","marker":"#e0a63a","tailLamps":"#b63735"},"city-grey":{"cab":"#e4dcd0","body":"#9f9890","loader":"#62605c","chassis":"#322d2c","tyre":"#211f1d","hub":"#c1b0a1","glass":"#45525f","frontLamps":"#f0ece0","marker":"#e0a63a","tailLamps":"#b63735"},"municipal-red":{"cab":"#e4dcd0","body":"#b63735","loader":"#564e4a","chassis":"#322d2c","tyre":"#211f1d","hub":"#9f9890","glass":"#45525f","frontLamps":"#f0ece0","marker":"#e0a63a","tailLamps":"#c7504d"},"slate-fleet":{"cab":"#9f9890","body":"#62605c","loader":"#463b37","chassis":"#322d2c","tyre":"#211f1d","hub":"#c1b0a1","glass":"#3c4854","frontLamps":"#f0ece0","marker":"#e0a63a","tailLamps":"#b63735"},"works-brown":{"cab":"#c1b0a1","body":"#97614a","loader":"#463b37","chassis":"#322d2c","tyre":"#211f1d","hub":"#cfc6b9","glass":"#45525f","frontLamps":"#f0ece0","marker":"#e0a63a","tailLamps":"#b63735"}},"night":{"frontLamps":{"color":"#fff3d6","intensity":1,"describe":"the two pale blocks set outboard in the grille recess burning as the truck's headlamps \u2014 hard, near-white with a warm cast","albedo":null,"findable":false},"marker":{"color":"#ffab2e","intensity":0.6,"describe":"every amber lens glowing soft: the front corner and cab roof markers, the two cab side markers, the five-lamp row across the top of the tailgate and the two rear indicators \u2014 the running lights a municipal truck leaves on while it works","albedo":"#e0a63a","findable":true},"tailLamps":{"color":"#ff3a2c","intensity":0.55,"describe":"the two outboard rear lenses glowing dim red on the dark rear light panel","albedo":"#b63735","findable":true}},"rev":1792408799,"materials":{"cab":{"kind":"paint","finish":"gloss"},"body":{"kind":"paint","finish":"gloss"},"loader":{"kind":"paint","finish":"gloss"},"chassis":{"kind":"paint","finish":"matte"},"tyre":{"kind":"rubber","finish":"black"},"hub":{"kind":"paint","finish":"matte"},"glass":{"kind":"glass","finish":"clear"},"frontLamps":{"kind":"emissive","finish":"glow"},"marker":{"kind":"emissive","finish":"glow"},"tailLamps":{"kind":"emissive","finish":"glow"}},"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":1792470411,"mod_v":1792408799}