{"params":{"colorway":{"type":"choice","default":"stony-grey","label":"Colorway","describe":"Curated kit-coherent schemes for the same rock. stony-grey is the default grey-brown regolith; iron-rust is an oxidised metallic body whose pits read as dark red oxide; carbon-dark is a near-black carbonaceous chondrite with cold pale ejecta; ice-pale is a bright icy body whose crater interiors read cold blue. Every scheme keeps the same light-to-dark ladder: ejecta rim, body, crater wall, crater floor.","options":["stony-grey","iron-rust","carbon-dark","ice-pale"]},"rock":{"type":"color","default":"#85736b","label":"Rock","describe":"Albedo of the whole asteroid mass \u2014 the one regolith colour covering every facet that is not a crater apron or a crater interior. This is the colour the object reads as from any distance."},"rim":{"type":"color","default":"#a59b91","label":"Ejecta rim","describe":"Albedo of the sloped apron ringing each crater \u2014 freshly exposed stone, one value step LIGHTER than the body. This ring is what makes a pit read as a crater at thumbnail size; keep it lighter than the rock or the craters go mute."},"wall":{"type":"color","default":"#54555e","label":"Crater wall","describe":"Albedo of the sloped walls inside each crater \u2014 a wide value step below the body, so the pit reads as a shadowed recess even under flat lighting. Keep it between the rock and the crater floor or the bowl flattens out."},"floor":{"type":"color","default":"#3f424b","label":"Crater floor","describe":"Albedo of the flat floor at the bottom of each crater \u2014 the darkest zone on the model, one further step below the walls, which is what gives a pit visible depth instead of reading as a dark hexagon painted on the rock."},"facets":{"type":"range","default":4,"label":"Facet density","describe":"Geodesic frequency of the shell, so it rebuilds the whole surface rather than smoothing it: 3 is a chunky boulder of ~180 big planes, 4 the shipped asteroid at ~320, 5 a finer ~500-plane body that reads more distant and rounded. The triangle count moves with it; craters scale to the facet size automatically.","affects":"geometry","min":3,"max":5,"step":1},"craters":{"type":"range","default":6,"label":"Craters","describe":"How many impact craters are cut into the shell, taken in order from a fixed layout so the first 6 are exactly the shipped ones and every added crater lands on a side that had none. 3 leaves a mostly pristine rock with only the three hero-facing pits; 8 is a heavily battered body cratered on all six views, including the top pole and the underside. Each crater cuts a vertex fan out of the shell and costs about 36 triangles, which is what caps this at 8: nine would put the finest facet density over the triangle budget.","affects":"geometry","min":3,"max":8,"step":1},"lumpiness":{"type":"range","default":1,"label":"Lumpiness","describe":"Amplitude of the four low-frequency bulges and the three valleys cut between them, as a multiple of the shipped form. 0.15 all but removes them, leaving a squat equant chunk whose character comes from the fracture flats alone; 1.0 is the shipped potato with bulges standing ~20% of the radius proud and valleys biting ~13% back in; 1.6 is a violently irregular chunk with deep re-entrant crevices that self-shade. Moves the silhouette at every value and changes no triangle count.","affects":"geometry","min":0.15,"max":1.6,"step":0.05},"flatten":{"type":"range","default":0.88,"label":"Flatten","describe":"How squat the body is: the vertical extent as a fraction of the horizontal one, applied to the form BEFORE the fracture planes and the craters are cut, so the flats re-cut and the craters stay round and normal to the surface instead of being squashed into ellipses the way a host-side y-scale would squash them. 1.0 is an equant boulder, 0.88 the shipped body, 0.68 a flattened slab of belt debris.","affects":"geometry","min":0.68,"max":1,"step":0.02},"jag":{"type":"range","default":0.45,"label":"Jaggedness","describe":"How far each vertex is thrown off the lobed base form, which changes the silhouette rather than the triangle count. 0 is a smooth lobed potato with a soft outline, 0.45 the shipped chunky rock, 1 a violently shattered body with deep facet valleys and a saw-toothed profile.","affects":"geometry","min":0,"max":1,"step":0.05}},"presets":{"stony-grey":{"rock":"#85736b","rim":"#a59b91","wall":"#54555e","floor":"#3f424b"},"iron-rust":{"rock":"#8d5f59","rim":"#e0d7d5","wall":"#5c3d41","floor":"#672a26"},"carbon-dark":{"rock":"#63646b","rim":"#8d94a2","wall":"#3f424b","floor":"#20242f"},"ice-pale":{"rock":"#d8dade","rim":"#eaeaea","wall":"#577ca7","floor":"#405f88"}},"rev":1792408798,"materials":{"rock":{"kind":"stone","finish":"rough"},"rim":{"kind":"stone","finish":"rough"},"wall":{"kind":"stone","finish":"rough"},"floor":{"kind":"stone","finish":"rough"}},"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":1792466016,"mod_v":1792408798}