five-on-it / packages/world/src/road-profile
packages/world/src/road-profile
The surface a road's ribbon and paint are drawn on, its profile: at each of its points, the ground in columns across it from its left edge to its right, 2 m apart at most (a crowned or a cambered road, a deck's kerbed slab). A level that models its streets in its ground (a city, a town, a region) leans a road over its relief across its width and bends it along between its points; a ribbon drawn flat across at the height of its middle point would sink under the high side's ground and float over the low side's, and the ground's own asphalt would show through it, fighting it for the same pixels (the user's city on its three rises, 2026-10-25). So the client's ribbons (apps/client/src/renderer/roads.ts) and roadPaint's lines stand a little over this surface instead of over the road's points.
The edges are read a little inside them (clear of the kerb standing at a street's edge) and carried straight on out to the edge; what carries the road is the ground there or a deck no higher than the road (supportHeight: a bridge's, never one overhead). Ground found further than 0.6 m (SURFACE_REACH) from the road's own height is something else's (a wall, a pit, a level that models no road), and the road's own height is kept there. Found once per level object. Pure and deterministic. Isomorphic: no DOM, no Node.