{"params":{"colorway":{"type":"choice","default":"meadow","label":"Colorway","describe":"curated three-step green ladder for the whole tuft. meadow = the shipped mid-green mix; deep-shade = the same ladder two rungs darker, for grass under a canopy or in a rock shadow; sun-bleached = two rungs lighter and more olive, for open field; dry-straw = late-summer dead grass in the kit browns. Sets all three blade colours at once; an explicit bladeDark/bladeMid/bladeLight overrides the preset for that step.","options":["meadow","deep-shade","sun-bleached","dry-straw"]},"bladeDark":{"type":"color","default":"#3d6b34","label":"Dark blades","describe":"albedo of the darkest step of the ladder \u2014 2 of the 8 blades at the default count, the contrast punch that stops the clump reading as one flat green mass. Uniform along each blade it paints, root to tip."},"bladeMid":{"type":"color","default":"#5f9a4b","label":"Mid blades","describe":"albedo of the middle step \u2014 3 of the 8 blades at the default count, the clump's dominant green and the tone that matches the kit ground tiles."},"bladeLight":{"type":"color","default":"#77b258","label":"Light blades","describe":"albedo of the lightest step \u2014 3 of the 8 blades at the default count, the sunlit-crown tone that carries the tuft's read from 10 m."},"blades":{"type":"range","default":8,"label":"Blades","describe":"how many blades the tuft grows (integer 5-10). Blades are placed round the ring at an even pitch plus a hand-authored per-blade azimuth deviation, so the clump never reads regular. 5 is a sparse young tuft with wide open gaps and ground showing through the middle; 8 is the shipped density; 10 is a full clump whose crown nearly closes. The authored tier mix (tall inner / leaning mid / short filler / swept outer), lengths and tones cycle through the same table in azimuth order, so the pinched base and the tiered silhouette hold at every count.","affects":"geometry","min":5,"max":10},"tallness":{"type":"range","default":1,"label":"Tallness","describe":"length of every blade, which is this tuft's defining dimension (0.35 m tall at 1.0). REBUILT, not scaled: the cross-section pitch along a blade is held at its shipped value (0.044 m on the tallest blade), so the ring count follows the length (5 rings at 0.65, 8 at 1.0, 9 at 1.08) and a longer blade's bow stays as smooth as the default's. Blade WIDTH and the root ring are untouched, so 0.65 is a short broad-strapped clump about 0.23 m tall with visibly stubbier blades, and 1.08 a 0.38 m tussock with proportionally slimmer, longer ones. The swept blades reach further out as they lengthen, so the crown widens with it. The range is skewed downward because the tuft is already as wide as it is tall.","affects":"geometry","min":0.65,"max":1.08},"splay":{"type":"range","default":1,"label":"Splay","describe":"how far the blades lay away from vertical, as a multiplier on every blade's tip tilt (the outermost blade reaches 84 degrees at 1.0). 0.55 is a tight upright brush, clearly taller than wide, with the outer blades pulled in to about 46 degrees; 1.0 is the shipped fan, about as wide as it is tall; 1.15 is an open rosette whose swept blades lay past horizontal to about 97 degrees and drop their tips back toward the ground. Blade count, length and width are untouched \u2014 this is posture only, so the tuft goes from roughly 0.26 m to 0.38 m across while its height falls. Effective tilt is capped at 105 degrees so no tip can arc back down through the ground plane.","affects":"geometry","min":0.55,"max":1.15}},"presets":{"meadow":{"bladeDark":"#3d6b34","bladeMid":"#5f9a4b","bladeLight":"#77b258"},"deep-shade":{"bladeDark":"#1c3323","bladeMid":"#2f4f2e","bladeLight":"#4c8140"},"sun-bleached":{"bladeDark":"#6f8f3c","bladeMid":"#8fa84a","bladeLight":"#c8d98a"},"dry-straw":{"bladeDark":"#75563b","bladeMid":"#a5855e","bladeLight":"#c2a479"}},"rev":1787907231,"materials":{"bladeDark":{"kind":"foliage","finish":"leaf"},"bladeMid":{"kind":"foliage","finish":"leaf"},"bladeLight":{"kind":"foliage","finish":"leaf"}},"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":1792491986,"mod_v":1787907231}