{"params":{"colorway":{"type":"choice","default":"oak","label":"Colorway","describe":"curated scheme, sets all six albedos at once and keeps the value ladder (iron darkest, then brace, post, leaf, grain, snow). oak = the approved warm mid-brown gate with a dark chocolate brace; weathered-grey = colour drained out to lichened silver-grey timber, the only non-brown scheme; sun-bleached = pale driftwood tan, the lightest gate, with grey-brown iron; dark-oiled = a near-black creosoted gate that sinks into shade, the darkest scheme; mossy = red-brown timber whose diagonals have gone deep forest green, so the brace reads as the overgrown shaded side","options":["oak","weathered-grey","sun-bleached","dark-oiled","mossy"]},"season":{"type":"choice","default":"summer","label":"Season","describe":"the kit-wide season axis, and on this part it is a GEOMETRY knob that ONLY ANSWERS IN WINTER. A gate is a BUILT thing: nobody repaints the timber for autumn and the weather does not move a post, so spring, summer and autumn are the SAME BUILD, vertex for vertex and hex for hex \u2014 three identical pictures is the correct answer here, not a dead knob. WINTER adds real geometry and nothing else: a thin snow cap on every upward-facing timber that would actually collect it \u2014 both post heads and the top face of every rail \u2014 in the kit-wide `snow` zone, which emits ZERO triangles at the other three seasons. The season never tints, warms, cools or desaturates the palette; the timber, iron and grain hexes are what the colorway and your own colour knobs say, in all four seasons, so you can light the gate for whatever season your scene is in. The footprint never moves. Composes with every other knob.","affects":"geometry","options":["spring","summer","autumn","winter"]},"openAngle":{"type":"range","default":0,"label":"Open angle","describe":"the rest angle the leaf is BUILT at, in degrees about the hinge on the +X post, so a scene can drop in a gate that is already off the latch without animating anything. 0 = shut across the opening, the approved build, the shutting stile all but touching its post; 4 = just off the catch, the small unlatched slouch a working gate has all day; 10 = standing ajar with a 0.30 m gap at the latch post and the whole leaf swung clear of it. The leaf always swings FORWARD (+Z, the braced face), which is the only way it can go \u2014 the other way it would pass through the shutting post. This knob sets the pose; the rig group `gate-leaf` animates on from it through a full 35 degree swing.","affects":"geometry","min":0,"max":10,"step":2},"bars":{"type":"range","default":5,"label":"Bars","describe":"how many horizontal rails fill the leaf, REBUILT not stretched: the rail section (0.085 x 0.065 m), the bottom rail at 0.21 m and the top rail at 0.95 m are all fixed, and the rails in between are respaced evenly, so the triangle count really moves with the knob. 4 = an airy paddock gate with 0.25 m gaps a lamb walks through; 5 = the approved five-bar farm gate at the kit fence pitch of 0.185 m; 7 = a close-barred stock-proof gate whose leaf reads almost solid at a distance.","affects":"geometry","min":4,"max":7,"step":1},"bracing":{"type":"choice","default":"triangle","label":"Bracing","describe":"the diagonal timber inside the leaf, which is the feature that separates a gate from a length of fence. triangle = two diagonals meeting at an apex on the top rail just left of centre and running down to both bottom corners, the approved reference \u039b; cross = one corner-to-corner X filling the whole leaf, the heaviest and most carpentered; single = one plain diagonal rising from the hanging stile at the bottom to the shutting stile at the top, the humblest farm Z. Rails, stiles, posts and outline are identical at every value \u2014 only the diagonals change.","affects":"geometry","options":["triangle","cross","single"]},"postGirth":{"type":"range","default":1,"label":"Post girth","describe":"multiplier on the gateposts square section, 0.20 m at 1.0. The posts grow INWARD only \u2014 their outer faces stay pinned to the 2.00 m kit fence module at every value, so the gate always butts a fence run \u2014 which means the leaf is rebuilt to the new clear span: stiles, rails, braces, hinge and ring all re-solve. 0.8 = slim 0.16 m sawn posts under a wide airy leaf; 1.35 = squat 0.27 m baulks that eat 0.14 m of the opening and make the gate read as a heavy farmyard entrance.","affects":"geometry","min":0.8,"max":1.35,"step":0.05},"tone":{"type":"range","default":0.35,"label":"Tone variation","describe":"How far each sawn board \u2014 every rail, stile, brace and post \u2014 drifts from its base colour, as separately sawn stock does. 0 is a uniform machine-made surface, 0.35 a normal batch, 1 a deliberately mixed reclaimed one. Only the four TIMBER zones vary; the ironwork and the snow are left exactly as painted. Changes no geometry at any value: the triangle, mesh and material counts are identical at 0 and at 1.","min":0,"max":1,"step":0.05},"post":{"type":"color","default":"#8d6741","label":"Posts","describe":"albedo of both gateposts below their sawn heads \u2014 the heaviest mass and the anchor value of the asset. Keep it a clear step DARKER than the leaf timber or the barred frame fuses into the posts at a distance"},"leaf":{"type":"color","default":"#b78742","label":"Leaf timber","describe":"albedo of the swinging leaf timber: both stiles including their rounded heads, and every horizontal rail. The largest zone on the object and the lightest of the three structural browns"},"brace":{"type":"color","default":"#764f35","label":"Brace","describe":"albedo of the diagonal braces alone. This is the feature that says gate rather than fence, so it wants a real value step DOWN from the rails it crosses \u2014 the triangle stops reading at thumbnail size when brace and leaf sit within a few points of each other"},"grain":{"type":"color","default":"#cea772","label":"End grain","describe":"albedo of the sawn end grain on the two post heads: the chamfered shoulder and the flat top face. The one pale highlight of the asset, and the face a catalogue thumbnail shot from above sees most of"},"iron":{"type":"color","default":"#422d25","label":"Ironwork","describe":"albedo of all the hardware: both strap hinges and their bolt studs, the hinge brackets and pintles on the post, and the ring handle with its staple. Near-black is correct here and only here \u2014 it is hardware, not a painted shadow. Keep it well below the post value or the strap disappears into the timber"},"snow":{"type":"color","default":"#e6e4e2","label":"Snow","describe":"albedo of the kit-wide `snow` zone, the thin caps that appear on the post heads and the rail top faces at season = winter and nowhere else. One name and one zone across the whole kit so a buyer repaints winter once. It emits zero triangles at every other season, so this knob has no visible effect unless season is winter"},"scale":{"type":"range","default":1,"label":"Scale","describe":"Scales the whole model; 1 is as built. Real-world size is in this range (real length is 3-4.5 m, as built 2 m).","affects":"geometry","min":1,"max":2.5,"step":0.05}},"presets":{"oak":{"post":"#8d6741","leaf":"#b78742","brace":"#764f35","grain":"#cea772","iron":"#422d25","snow":"#cac6c2"},"weathered-grey":{"post":"#68584a","leaf":"#8b8473","brace":"#593c2a","grain":"#a59e89","iron":"#422d25","snow":"#cac6c2"},"sun-bleached":{"post":"#b28e6e","leaf":"#cea772","brace":"#8d6741","grain":"#b6aea7","iron":"#68584a","snow":"#cac6c2"},"dark-oiled":{"post":"#593c2a","leaf":"#764f35","brace":"#422d25","grain":"#8d6741","iron":"#68584a","snow":"#cac6c2"},"mossy":{"post":"#764f35","leaf":"#ab704e","brace":"#475936","grain":"#b28e6e","iron":"#422d25","snow":"#cac6c2"}},"rev":1792625659,"materials":{"post":{"kind":"wood","finish":"oiled"},"leaf":{"kind":"wood","finish":"oiled"},"brace":{"kind":"wood","finish":"oiled"},"grain":{"kind":"wood","finish":"raw"},"iron":{"kind":"metal","finish":"cast"},"snow":{"kind":"snow","finish":"powder"}},"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.","preview_v":1792625672,"mod_v":1792625659}