{"params":{"colorway":{"type":"choice","default":"training-orange","label":"Colorway","describe":"Curated kit-coherent scheme. The value ladder is the same in every one \u2014 bright pad, a darker trodden top, darker welded tape, darkest webbing \u2014 so only the bag's own tone really changes. training-orange is the approved build, the burnt-orange vinyl of the references. high-vis is the bright amber of the kit's cones and bibs. pitch-green is a grass-green set that hides on the turf. shed-grey is an old unbranded pale-grey set from the back of the store shed.","options":["training-orange","high-vis","pitch-green","shed-grey"]},"matchday":{"type":"range","default":1,"label":"Matchday","describe":"Whether there is a game on, spent entirely on WHERE the bags are, never on a tint. Below 0.35 it is a wet Tuesday and the set is stacked by the store shed in a criss-cross crib, two bags to a layer with each layer turned 90 degrees across the one beneath and bedded on its treads, shoved a few centimetres and a few degrees out of true; a three- or five-bag set is topped by a single bag laid across the pair under it. From 0.35 up they are out on the training strip, laid dead square and parallel at 1 m centres, which is what the default shows. The laid build is deliberately IDENTICAL at every value from 0.4 to 1: \"parallel at 1 m centres\" is a stated dimension of this part, so nothing is allowed to nudge a bag out of line to animate the knob. The bags are the same geometry in both states; stacked, a four-bag set is about 1.3 x 1.3 m and 0.5 m tall instead of 1.3 x 3.3 m and knee-low.","affects":"geometry","min":0,"max":1,"step":0.1},"count":{"type":"range","default":6,"label":"Bags","describe":"How many bags the set has. Laid out they are added symmetrically about the origin at a fixed 1 m pitch, so the row grows 0.5 m at each end per bag: 3 is a short warm-up run 2.3 m deep, 6 a full 5.3 m drill lane. Stacked, the extra bags go up rather than out \u2014 3 is two layers, 6 is three \u2014 and the footprint does not change. The bags themselves are identical at every count; these are manufactured repeats and none of them is resized. The laid set beds in a 1.5 x 3.5 m cell on the kit's 0.5 m grid at the default, and each extra bag adds exactly 1 m (two modules) to that cell; the bag's own 1.2 x 0.28 x 0.25 m is a real size and is not snapped, as with every loose prop in this kit.","affects":"geometry","min":3,"max":6,"step":1},"bagLength":{"type":"range","default":1.5,"label":"Bag length","describe":"Length of each bag in metres, a rebuild rather than a stretch: the section, the 22 mm welt, the 55 mm tucked end bays, the end panels and the handles all keep exactly their own sizes, and only the plain middle bay between the two crease rings gets longer, so the tread plane and the printable area grow with it. 0.9 is a short junior bag whose two end tucks nearly meet, 1.2 the standard senior one, 1.5 a long one. Row spacing stays at 1 m, so at 1.5 the bags are as long as they are far apart.","affects":"geometry","min":0.9,"max":1.5,"step":0.1},"facets":{"type":"range","default":9,"label":"Crown facets","describe":"How many flat planes the rounded crown is cut from, counting the tread as one: 5 is a chunky faceted vault where every plane reads separately at a distance, 7 the approved build, 9 a smoother, softer half-round. The tread's width, the flank height and the overall 0.28 x 0.25 m section are identical at every value \u2014 only the shoulder between flank and tread is subdivided further.","affects":"geometry","min":5,"max":9,"step":2},"pad":{"type":"color","default":"#b0503a","label":"Pad","describe":"Albedo of the vinyl-covered foam: the flanks, the crown shoulders and the flat end panels. The one bright tone of the part and most of its surface."},"tread":{"type":"color","default":"#8e3f2e","label":"Trodden top","describe":"Albedo of the flat tread plane along the crown, scuffed by studs. Keep it a clear step DARKER than the pad \u2014 dirt ground into the vinyl. A tone paler than the pad would read as a highlight baked into the top of a rounded mass."},"tape":{"type":"color","default":"#33383c","label":"Seam tape","describe":"Albedo of the welded seam tape: the proud welt band all round the foot of the bag, carried on round the bottom of each end panel. Dark, so the bag reads as sitting ON the ground rather than sinking into it. The underside itself is pad, not tape \u2014 it is the same vinyl skin."},"handle":{"type":"color","default":"#1d2024","label":"Webbing","describe":"Albedo of the woven carry handle on each end. The darkest zone on the part, so the two loops read as separate objects against the end panels."}},"presets":{"training-orange":{"pad":"#b0503a","tread":"#8e3f2e","tape":"#33383c","handle":"#1d2024"},"high-vis":{"pad":"#f2a71b","tread":"#9c5a2e","tape":"#33383c","handle":"#1d2024"},"pitch-green":{"pad":"#4e8038","tread":"#2e5730","tape":"#33383c","handle":"#1d2024"},"shed-grey":{"pad":"#9ba3a6","tread":"#66757f","tape":"#33383c","handle":"#1d2024"}},"decals":[{"name":"bag-top","size":[0.55,0.1],"at":[0,0.25,2.5],"normal":[0,1,0],"up":[0,0,1],"describe":"the flat trodden top of the front bag, where a club or maker prints its name down the length of a real agility bag. It is the front bag of the DEFAULT four-bag row: `count` rebuilds the row symmetrically about the origin, so the front bag and this area with it move 0.5 m per bag added, and `matchday` below 0.35 stacks the row instead. The area is sized to stay clear of the crease rings at the shortest `bagLength`.","albedo":"#8e3f2e","mode":"plate","relief_mm":0,"verified":true}],"materials":{"pad":{"kind":"plastic","finish":"satin"},"tread":{"kind":"plastic","finish":"matte"},"tape":{"kind":"plastic","finish":"matte"},"handle":{"kind":"fabric","finish":"canvas"}},"rev":1790099552,"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":1792481885,"mod_v":1790099552}