{"params":{"colorway":{"type":"choice","default":"weathered-oak","label":"Colorway","describe":"Curated Pirate Cove schemes. \"weathered-oak\" is the default warm brown timber under an ecru net; \"sun-bleached\" is pale salt-faded driftwood with an almost white net; \"tarred-pine\" is near-black tarred timber under a dirty grey-tan net (the working, well-used rack); \"driftwood-grey\" is silvered grey timber with a cold sea-washed net.","options":["weathered-oak","sun-bleached","tarred-pine","driftwood-grey"]},"wood":{"type":"color","default":"#6B4526","label":"Pole timber","describe":"Albedo of the four trestle poles. The frame reads as thin dark sticks against the pale net, so keep this a clear value step BELOW the net colour or the silhouette of the X-frames dissolves at distance."},"rail":{"type":"color","default":"#9C6B3C","label":"Top rail","describe":"Albedo of the horizontal 2.2m top rail only. Sits a step LIGHTER than the pole timber so the rail still reads where it crosses in front of the trestles; matching it to the poles flattens the whole frame into one stick."},"netCloth":{"type":"color","default":"#DCCBA6","label":"Net","describe":"Albedo of the entire draped net, front and back flaps. This is the largest and lightest zone \u2014 it is the mass that carries recognition at thumbnail size, so it wants to stay pale; a dark net turns the asset into a bare frame."},"rope":{"type":"color","default":"#4A2E1B","label":"Lashings","describe":"Albedo of the two chunky crossing lashings and the four pole collars. The only near-dark accent on the object \u2014 it exists to punctuate the joints, so it should stay darker than the pole timber it wraps."},"cork":{"type":"color","default":"#C9975C","label":"Cork floats","describe":"Albedo of the five float toggles threaded on the net hem. Warm terracotta against the pale net; it needs hue separation rather than value, since the corks are small and sit on top of the lightest zone."},"netSag":{"type":"range","default":1,"label":"Net sag","describe":"How deep the net hangs. At 0.55 the hem is a shallow taut swag clearing 0.59m of daylight under it and the rack reads mostly as bare frame; at 1.0 the hem swings down 0.60m in two lobes; at 1.30 it is a heavy loaded drape whose low points hang within 0.14m of the ground and whose flare bells out hard. Changes the hem outline and the drape flare only \u2014 the fold line on the rail stays level at every value.","affects":"geometry","min":0.55,"max":1.3},"netWidth":{"type":"range","default":1,"label":"Net width","describe":"How much of the 2.2m rail the net covers. At 0.72 it is a narrow 0.96m sheet with a lot of bare rail and open frame either side; at 1.0 it spans 1.34m; at 1.1 it is a 1.47m drape reaching almost to both trestles. Triangle count is unchanged.","affects":"geometry","min":0.72,"max":1.1},"tallness":{"type":"range","default":1,"label":"Tallness","describe":"Scales every height \u2014 rail, crossing, pole tips and the whole net drape \u2014 about the ground plane while the 2.2m width and the 0.77m foot span stay fixed. At 0.85 it is a squat 1.41m knee-high rack with steeply raked legs; at 1.18 it is a lanky 1.96m rack with near-upright legs. Footprint never changes.","affects":"geometry","min":0.85,"max":1.18}},"presets":{"weathered-oak":{"wood":"#6B4526","rail":"#9C6B3C","netCloth":"#DCCBA6","rope":"#4A2E1B","cork":"#C9975C"},"sun-bleached":{"wood":"#A88458","rail":"#C4A46A","netCloth":"#F0E6CE","rope":"#8A8071","cork":"#E0A579"},"tarred-pine":{"wood":"#4A2E1B","rail":"#6B4526","netCloth":"#A79680","rope":"#2A2320","cork":"#9C6B3C"},"driftwood-grey":{"wood":"#5A6462","rail":"#7C8683","netCloth":"#F0F8F6","rope":"#3E4348","cork":"#C9975C"}},"rev":1792408798,"materials":{"wood":{"kind":"wood","finish":"raw"},"rail":{"kind":"wood","finish":"raw"},"netCloth":{"kind":"fabric","finish":"linen"},"rope":{"kind":"fabric","finish":"canvas"},"cork":{"kind":"wood","finish":"raw"}},"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":1792465253,"mod_v":1792408798}