{"params":{"colorway":{"type":"choice","default":"galvanised","label":"Colorway","describe":"Curated kit-coherent scheme. galvanised is the approved build: bare mill grey tube, a paler pressed kick plate and hubs, black tyres and a navy net over white footballs with dark panels and orange trainers. municipal-blue is the ground's painted blue-grey steel. oxide-works is an old red-oxide repaint on a cart that has been round the back of the store shed for years, with dark netting. school-yard is a pale powder-coated frame with red netting. Every scheme keeps the ball white a true white and the tyres the darkest thing on the part.","options":["galvanised","municipal-blue","oxide-works","school-yard"]},"matchday":{"type":"range","default":0.6,"label":"Matchday","describe":"Whether there is a game on, spent entirely on geometry and never on a tint. Below 0.2 it is a wet Tuesday: the cart is TIPPED BACK on its two wheels with the front legs off the grass, as it is left leaning on a wall \u2014 a leaning cart reaches back further than a standing one, so that value alone lies outside the standing footprint \u2014 and the load has rolled into the back of the cage and sits well down. Standing square from 0.2, with the net door laced tight and its tie hitched short up to the rail. From 0.5 the tie is DROPPED and hangs in a slack loop with the toggle low, ready for the balls to be tipped out. The load itself climbs the whole way: about half a cage at 0, filling and bulging over the rim by the default, and heaped so one ball stands clear above the rail at 1. With sport at american-football the same Tuesday cart also has one gone-flat football lying squashed across the top of its half load. The frame, the footprint, the wheel track and the rim height never move.","affects":"geometry","min":0,"max":1,"step":0.1},"sport":{"type":"choice","default":"soccer","label":"Sport","describe":"Which game the ground is set up for; the kit-wide knob every part whose job is the same in both games carries. soccer is the approved build: the cage heaped with round footballs. american-football keeps the cart itself exactly as it is (frame, wheels, handle, kick plate, net door, footprint and origin) and re-loads it with the kit match ball's american panel at the same size: brown leather balls longer than they are round, pointed at both ends, each with a raised white lace stitched across, lying at mixed angles in a loose pile where no two cut into each other. It follows matchday like the soccer load: half a cage with a flat one lying across the top on a Tuesday, and at kick-off heaped from side bars to back over the rim, the top ball leaning up clear of the rail. A gridiron ball is slimmer than a round one, so the full load is a couple more balls than the soccer one.","affects":"geometry","options":["soccer","american-football"]},"panel":{"type":"choice","default":"football","label":"Ball panel","describe":"What the cart is loaded with when sport is soccer, using the same word as the kit's ball part so a buyer can match them. football is the approved build: round sixty-facet balls, most of them white with three dark pentagon panels each, cut as whole facets, and a few plain warm ones mixed in. rugby re-cuts every ball as an OVAL, longer than it is round and lying whichever way it fell. training is a plain moulded stock with no panels at all, alternating warm and white. The count, the heap and the cage are identical in all three. With sport at american-football the load is always the laced gridiron ball and this knob changes nothing.","affects":"geometry","options":["football","rugby","training"]},"seed":{"type":"range","default":3,"label":"Load seed","describe":"Re-deals the heap. Loose balls never fall the same way twice, so this rolls a different settle: every ball lands in a different hollow, turns onto a different face and takes a different colour out of the stock, while the count, the crest above the rim and the cage itself stay exactly as they are. At sport american-football it re-deals the gridiron pile the same way, including which way each lace faces. Give neighbouring carts in one scene different values and they stop reading as clones.","affects":"geometry","min":1,"max":12,"step":1},"harvested":{"type":"toggle","default":false,"label":"Emptied","describe":"The cart after the balls have been taken out for the session: the cage bare to its floor pan, nothing above the rim, and the net door hanging slack and flat against the frame because there is no longer a load bulging it forward. Everything else \u2014 frame, wheels, handle, kick plate, tie \u2014 is unchanged.","affects":"geometry"},"steel":{"type":"color","default":"#9ba3a6","label":"Galvanised steel","describe":"Albedo of the whole tube frame: the four corner posts, both rail hoops, every cage bar, the tipping handle and the axle. The dominant mass of the part."},"sheet":{"type":"color","default":"#e4e5e1","label":"Pressed sheet","describe":"Albedo of the pressed sheet steel \u2014 the scuffed kick plate, the cage floor pan and the two wheel hubs. One rung lighter than the tube so the plate reads as a different gauge of the same metal rather than as part of the frame."},"rubber":{"type":"color","default":"#1d2024","label":"Tyres","describe":"Albedo of the two solid tyres, the darkest zone on the part."},"net":{"type":"color","default":"#13488c","label":"Net door","describe":"Albedo of the netting across the front and everything that ties it on \u2014 the two lashings over the rim rail, the tie cord and its toggle. Deliberately off the kit's seat blue, which belongs to the seats, dugouts, shutter and gate."},"ballWhite":{"type":"color","default":"#f6f7f5","label":"Ball white","describe":"Albedo of the pale ball bodies, and at sport american-football of the raised lace on every gridiron ball. The kit's true white, the same white as its line paint and goal frames \u2014 a grey lookalike here reads as a dirty ball."},"ballDark":{"type":"color","default":"#33383c","label":"Ball panels","describe":"Albedo of the three dark pentagon panels on each football, every one a whole fan of the ball's facets rather than paint. Unused when the panel knob is set to training, and when sport is american-football."},"ballWarm":{"type":"color","default":"#f2a71b","label":"Ball warm","describe":"Albedo of the plain warm balls mixed through the load \u2014 the training stock. The only chroma in the cage besides the white. Unused when sport is american-football."},"ballLeather":{"type":"color","default":"#8b5e37","label":"Gridiron leather","describe":"Albedo of the brown leather body of every American football in the load. Only visible when sport is american-football; the soccer load never uses it."}},"presets":{"galvanised":{"steel":"#9ba3a6","sheet":"#e4e5e1","rubber":"#1d2024","net":"#13488c","ballWhite":"#f6f7f5","ballDark":"#33383c","ballWarm":"#f2a71b","ballLeather":"#8b5e37"},"municipal-blue":{"steel":"#66757f","sheet":"#a8ada6","rubber":"#1d2024","net":"#13488c","ballWhite":"#f6f7f5","ballDark":"#33383c","ballWarm":"#e8c23a","ballLeather":"#8b5e37"},"oxide-works":{"steel":"#8e3f2e","sheet":"#8f8d83","rubber":"#2a2019","net":"#33383c","ballWhite":"#f6f7f5","ballDark":"#1d2024","ballWarm":"#b0503a","ballLeather":"#8b5e37"},"school-yard":{"steel":"#e4e5e1","sheet":"#9ba3a6","rubber":"#33383c","net":"#c0372f","ballWhite":"#f6f7f5","ballDark":"#4a5760","ballWarm":"#f2a71b","ballLeather":"#8b5e37"}},"decals":[{"name":"kick-plate","size":[0.44,0.078],"at":[0,0.214,0.5],"normal":[0,0,1],"up":[0,1,0],"describe":"the scuffed kick plate across the front of the cart below the cage, the face a groundsman's club stencils its name across","albedo":"#e4e5e1","mode":"plate","relief_mm":0,"verified":true}],"materials":{"steel":{"kind":"metal","finish":"satin"},"sheet":{"kind":"metal","finish":"satin"},"rubber":{"kind":"rubber","finish":"black"},"net":{"kind":"fabric","finish":"knit"},"ballWhite":{"kind":"leather","finish":"grain"},"ballDark":{"kind":"leather","finish":"grain"},"ballWarm":{"kind":"rubber","finish":"black"},"ballLeather":{"kind":"leather","finish":"grain"}},"rev":1792408796,"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.","decals_note":"flat areas on the surface where you can print your own logo, sign or number. `at` is the centre in model space, `normal` points out of the surface, `size` is [width, height] in metres. Bake art with https://polyfork.dev/cdn/sdf.mjs and place it with https://polyfork.dev/cdn/decal.mjs, or use `at`/`normal`/`size` directly in any engine. `albedo` is the colour it prints on. mode `plate` means the face is flat and a quad is enough; `projected` means it is curved (`relief_mm` deep) and the mark has to be projected onto the geometry. Measured on the DEFAULT build: a geometry knob can move the surface a few centimetres; decal.mjs follows it, anywhere else re-measure or keep the defaults.","preview_v":1792424895,"mod_v":1792408796}