{"params":{"colorway":{"type":"choice","default":"galvanised","label":"Colorway","describe":"Curated kit-coherent scheme, every zone at once. galvanised is the approved build: weathered grey precast plinth, pale galvanised posts and rails, a dark wire grid, a club-red banner and a brass padlock. club-green is the green powder-coated sports fence on a pale plinth with a cream banner and a bare galvanised repair. anthracite is black powder coat on a pale plinth with a maroon banner. sunday-league is the old ground: blue-grey concrete, near-black wire, the references' mustard banner and a bright new-zinc repair. Every scheme keeps the wire darker than the posts and the repair brighter than the wire. Explicit colour arguments override the preset.","options":["galvanised","club-green","anthracite","sunday-league"]},"matchday":{"type":"range","default":0.6,"label":"Matchday","describe":"Whether there is a game on, spent on geometry wired to the fence and never on a tint; the fence itself (plinth, posts, rails, mesh, damage) is the same build at every value. Below 0.2 (a wet Tuesday) any gate is chained and padlocked shut: a rusty chain loops the latch stile (both meeting stiles on the double gate) and a brass padlock hangs from it, and the leaves cannot open. From 0.3 a dark fixture board in a galvanised frame is tied flat to the fixed bay's mesh at chest height; its face is the decal slot. From 0.5 a red cloth banner is tied by its top edge to the upper mesh and lifts off it in the wind. From 0.85 a scarf is knotted round the mid rail by the post, its tails hanging. On a module with no gate, 0 and 0.1 are the same build.","affects":"geometry","min":0,"max":1,"step":0.1},"piece":{"type":"choice","default":"straight","label":"Piece","describe":"What the module does at its +X end. Every value keeps the same joint at -X: the dead-flat 0.150 x 0.300 m plinth end plus half a 60 mm post cut on the module plane. straight ends at +X on the same joint. end stops the run on a heavy 76 mm terminal post standing on the plinth end. corner turns the run through 90 degrees toward +Z on a 76 mm corner post: a plain 1 m return bay runs from it to a joint at z = +1.000, the two plinths meet on a mitre, and both fronts face inside the corner. The gate knob composes with every piece: the last leaf latches on (or hangs from) whatever stands at +X.","affects":"geometry","options":["straight","end","corner"]},"gate":{"type":"choice","default":"pedestrian","label":"Gate","describe":"What stands beside the fixed bay. none is the plain 1 m run piece. pedestrian (the approved build) is a 2 m module: the fixed bay, a heavy 76 mm hanging post, and a 0.9 m square-section mesh leaf on two round hinge collars, latching into a keep on the +X post; the plinth stops under the posts so the opening is clear to the ground. double is a 4 m module: the fixed bay and a 3 m vehicle opening closed by two 1.44 m leaves meeting in the middle, the first with a drop bolt into the ground. Leaves open toward +Z, into the ground, through the gate-leaf rig parts.","affects":"geometry","options":["none","pedestrian","double"]},"damage":{"type":"range","default":1,"label":"Damage","describe":"How knocked about this bay is, so a long run can mix bays instead of repeating one hole every metre. 0 is an intact bay: a straight top rail, flat mesh seated in the plinth, no repairs. From 0.25 it is mended: a patch of newer, paler mesh wired over the lower left and the mesh edge re-tied to its post. From 0.5 the bottom corner by the +X post is kicked out, torn off the plinth and bent toward the pitch with its wire ends hanging. From 0.75 (and at the approved 1) the top rail is bowed down where the crowd leant on it and the mesh top follows it. Rust at the post feet is age, not damage, and stays at every value; the joint and the gate are untouched.","affects":"geometry","min":0,"max":1,"step":0.25},"concrete":{"type":"color","default":"#8f8d83","label":"Concrete","describe":"Albedo of the precast kick plinth under the whole run and the stubs under the gate posts: the one horizontal band that makes the run read as a boundary."},"steel":{"type":"color","default":"#a8ada6","label":"Posts and rails","describe":"Albedo of the galvanised steelwork: posts and their caps, top and mid rails, gate frames, hinge collars and brackets, the latch and keep, the fixture board's frame and the padlock shackle. Keep it well lighter than the mesh or the grid melts into the posts where it meets them."},"mesh":{"type":"color","default":"#4a5760","label":"Mesh wire","describe":"Albedo of every weldmesh wire, fence and gate alike: one fabric, one tone. Dark so the open grid reads against sky and grass; taken pale it disappears."},"rust":{"type":"color","default":"#9c5a2e","label":"Rust","describe":"Albedo of the corrosion: the flaking collar where each post enters the plinth, the crusts bleeding onto the concrete, and the old chain on a padlocked gate."},"repair":{"type":"color","default":"#e4e5e1","label":"Repair wire","describe":"Albedo of the newer zinc of the mending: the patch of mesh wired over the fixed bay, and every tie-wire twist on the fence (the patch, the post edge, the banner and the fixture board). Brighter than the mesh so the repair reads as new."},"banner":{"type":"color","default":"#c0372f","label":"Banner","describe":"Albedo of the matchday cloth: the banner tied to the upper mesh and the scarf knotted round the mid rail. The club's colour; the kit's seat blue is reserved."},"board":{"type":"color","default":"#33383c","label":"Fixture board","describe":"Albedo of the fixture board's face inside its galvanised frame, the surface the buyer's fixture list or crest decal is printed on."},"lock":{"type":"color","default":"#b57a52","label":"Padlock","describe":"Albedo of the padlock body that holds the gate shut below matchday 0.2."}},"presets":{"galvanised":{"concrete":"#8f8d83","steel":"#a8ada6","mesh":"#4a5760","rust":"#9c5a2e","repair":"#e4e5e1","banner":"#c0372f","board":"#33383c","lock":"#b57a52"},"club-green":{"concrete":"#e4e5e1","steel":"#4e8038","mesh":"#2e5730","rust":"#7c4e33","repair":"#a8ada6","banner":"#fff2d8","board":"#1d2024","lock":"#b57a52"},"anthracite":{"concrete":"#e8e6e1","steel":"#4a5760","mesh":"#1d2024","rust":"#9c5a2e","repair":"#a8ada6","banner":"#8e3f2e","board":"#33383c","lock":"#d8c79a"},"sunday-league":{"concrete":"#7c868c","steel":"#9ba3a6","mesh":"#33383c","rust":"#9c5a2e","repair":"#f6f7f5","banner":"#d8c79a","board":"#2a2019","lock":"#b57a52"}},"decals":[{"name":"fixture-board","size":[0.56,0.34],"at":[-0.5,1.27,0.044],"normal":[0,0,1],"up":[0,1,0],"describe":"the dark face of the fixture board tied to the fixed bay's mesh at chest height (matchday 0.3 and up): where the fixture list or the club crest goes","albedo":"#33383c","mode":"plate","relief_mm":0,"verified":true}],"materials":{"concrete":{"kind":"stone","finish":"concrete"},"steel":{"kind":"metal","finish":"satin"},"mesh":{"kind":"metal","finish":"satin"},"rust":{"kind":"metal","finish":"rusted"},"repair":{"kind":"metal","finish":"brushed"},"banner":{"kind":"fabric","finish":"canvas"},"board":{"kind":"paint","finish":"matte"},"lock":{"kind":"metal","finish":"polished"}},"rev":1792408797,"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":1792426361,"mod_v":1792408797}