{"params":{"colorway":{"type":"choice","default":"city-asphalt","label":"Colorway","describe":"curated street-surface scheme, all kit-coherent: city-asphalt is the kit default mid-dark neutral tarmac on a warm brown sub-base, fresh-sealed a near-black freshly resurfaced road over a pale aggregate bedding course, sun-bleached a pale grey worn-out avenue held over a dark sub-base so it reads as road rather than sand, wet-slate a cooler blue-grey road on a dark base. Sets all four zone colours at once","options":["city-asphalt","fresh-sealed","sun-bleached","wet-slate"]},"asphalt":{"type":"color","default":"#3f4247","label":"Asphalt","describe":"albedo of the wearing course \u2014 the top face, the crack channel and the top band of the slab edge, about 90% of what the camera sees. This is the NYC kit REGISTERED ROAD SURFACE: the crosswalk and lane-marking decals carry the same hex, so changing it here means changing it there too or the decals read as patches of different tarmac"},"repairPatch":{"type":"color","default":"#4c4f57","label":"Repair patch","describe":"albedo of the resurfacing patches sunk into the road; keep it in the asphalt HUE and one value step lighter, as here, so an oxidised old repair separates from its own rim shadow without reading as a plate of some other material. Push it darker than the asphalt instead for fresh black tar repairs"},"bedding":{"type":"color","default":"#322d2c","label":"Bedding line","describe":"albedo of the middle course of the slab edge, between the asphalt above and the sub-base below \u2014 all three courses are near-equal thirds of the 50 mm slab, because a hairline band on an edge this thin goes sub-pixel and merges with its neighbour. Keep it in VALUE CONTRAST with both: near-black under a mid-grey road as here, or pale aggregate under a near-black one as in fresh-sealed. A bedding tone that merely sits between the other two collapses the edge to a single fused slab"},"base":{"type":"color","default":"#97614a","label":"Sub-base","describe":"albedo of the warm brown bottom course of the slab edge and of the underside \u2014 the compacted earth and ballast the road is laid on"},"footway":{"type":"color","default":"#9f9890","label":"Footway","describe":"albedo of the paving in the corners a junction piece does not carry road through \u2014 flush with the carriageway, separated from it by the gutter channel rather than by a step, since a raised kerb cannot ship on a tile whose borders must stay dead flat. Unused on the default straight piece, which is carriageway edge to edge. Keep it well lighter than the asphalt: it is the only thing telling a player where the road stops"},"roadPaint":{"type":"color","default":"#f5f1e7","label":"Road paint","describe":"albedo of every painted marking \u2014 lane dashes, stop bar and zebra bands alike. This is the kit REGISTERED MARKING WHITE, the hex already carried by the standalone crosswalk and lane decals, so paint applied here and paint laid next to it on a neighbouring tile match. Warm off-white rather than pure white, which would blow out against the asphalt"},"piece":{"type":"choice","default":"straight","label":"Road piece","describe":"which road surface this 8 m tile builds \u2014 the whole kit road program in one asset, so a scene needs no separate junction meshes. straight is the shipped full-width two-lane sheet, carriageway edge to edge; corner turns the road 90 degrees from the near edge to the right-hand edge; t-junction runs the road through and takes a minor arm off it; crossroads opens all four edges; end closes the road into a dead-end stub. Every piece but straight narrows its arms to 5.4 m and fills the corners it does not reach with flush footway, its inner corners cut back by a stepped 45-degree kerb radius and a gutter channel cut along the kerb line \u2014 so no piece is another piece rotated. The footprint is exactly 8 x 8 m at every value, centred on the origin, so any piece drops onto the same grid cell as any other","affects":"geometry","options":["straight","corner","t-junction","crossroads","end"]},"lines":{"type":"toggle","default":false,"label":"Lane markings","describe":"paints the lane markings this piece calls for, as real geometry standing 1.5 mm proud of the road in its own colour zone. DEFAULT OFF, so the bare tile is exactly what it has always been and the paint is something you turn on. What it paints depends on the piece: a straight gets the centre line of a two-lane street, three dashes down the middle phased so the gap across a tile joint matches the gap inside the tile; a corner gets dashes that follow the bend round its arc; a t-junction paints its through road and a stop bar across the approach lane of the minor arm; a crossroads paints its four approaches and nothing through the junction box, which is what a real intersection does; an end runs the centre line up to the turning head and stops","affects":"geometry"},"crossing":{"type":"toggle","default":false,"label":"Zebra crossing","describe":"paints a zebra crossing, again as real proud geometry in the road-paint zone and again DEFAULT OFF. On a junction piece it lays one across every approach just outside the junction box, where a crossing actually sits; on a straight it crosses the middle of the tile and the centre dash steps aside for it. Stripes run along the direction of travel and stop short of the kerb, as a real crossing runs kerb to kerb","affects":"geometry"},"patches":{"type":"choice","default":"none","label":"Repair patches","describe":"repair cuts sunk 12 mm into the road, each an L-jogged outline quantized to the 0.89 m facet lattice and carrying its own oxidised-asphalt albedo. DEFAULT none: the shipped tile is one unbroken tarmac surface, because a mark baked into a tile repeats across a whole paved floor in a grid \u2014 turn patches on per instance, and give neighbouring tiles different sets so the repeat never lines up. sparse cuts two repairs, scattered six spread across all four quadrants covering about 10% of the road, trench-cut one long 3.5 m utility trench down the near lane plus two smaller repairs, broad is the scattered six dug out one further cell ring into resurfacing patches covering about 30%, the nearer ones merging into bigger irregular areas \u2014 a street dug up more than once. Alternate repairs are cut 4 mm deeper than their neighbours, so where two grow together the boundary still reads as two separate pours. Every layout stops a full cell short of all four borders, so the mating edges stay flush","affects":"geometry","options":["none","sparse","scattered","trench-cut","broad"]},"crack":{"type":"choice","default":"none","label":"Crack seam","describe":"a jagged channel cut 14 mm into the asphalt in right-angle knuckles, always in the host colour so the line comes from real shadow rather than paint. DEFAULT none: the shipped tile is crack-free, for the same reason patches are off \u2014 one seam repeated over a paved area reads as a printed pattern. the layouts also step up in width, 50 / 100 / 100 / 150 mm, because at 14 mm deep a narrow channel reads as a drawn line rather than as a shadowed cut: hairline is a single short 3 m seam at the narrowest width, forked a long run down the centre with a branch turning off it, lightning a bolt that steps across most of the tile plus a short separate seam, lightning-wide that same bolt opened to 150 mm for a road due for resurfacing. Depth stays 14 mm throughout \u2014 the slab has no more to give, so a wider seam gets flatter, not deeper. Every layout dies out well inside the borders","affects":"geometry","options":["none","hairline","forked","lightning","lightning-wide"]}},"presets":{"city-asphalt":{"asphalt":"#3f4247","repairPatch":"#4c4f57","bedding":"#322d2c","base":"#97614a","footway":"#9f9890","roadPaint":"#ece5d3"},"fresh-sealed":{"asphalt":"#211f1d","repairPatch":"#322d2c","bedding":"#736e69","base":"#564e4a","footway":"#9f9890","roadPaint":"#ece5d3"},"sun-bleached":{"asphalt":"#736e69","repairPatch":"#9f9890","bedding":"#322d2c","base":"#564e4a","footway":"#cfc6b9","roadPaint":"#ece5d3"},"wet-slate":{"asphalt":"#45525f","repairPatch":"#5b6a78","bedding":"#211f1d","base":"#564e4a","footway":"#7b8b8f","roadPaint":"#ece5d3"}},"rev":1792408799,"materials":{"asphalt":{"kind":"stone","finish":"concrete"},"repairPatch":{"kind":"stone","finish":"concrete"},"bedding":{"kind":"soil","finish":"dry"},"base":{"kind":"soil","finish":"dry"},"footway":{"kind":"stone","finish":"concrete"},"roadPaint":{"kind":"paint","finish":"matte"}},"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":1792470320,"mod_v":1792408799}