OSM Footpaths¶
The reblocker whose "proposed roads" are the real informal circulation network — the worn footpaths people already walk, as mapped in OpenStreetMap (largely by Humanitarian OSM digitization) — clipped to the region, minus the parts that merely retrace existing streets. It is the as-built baseline every synthesized method is judged against: what do the actual paths score on the same lenses?
Configuration: conf/method/osm_footpaths.yaml
Head-to-head on one deep block¶
From the method-comparison example: six reblockers on ZAF.9.3.1_1_40972, the deepest topology-tractable block in the Cape Town metro (263 parcels, up to 7 rings deep), graded on permeability (a flow measure of how easily every parcel can reach a street) against displacement.
At this method's full build-out on that block (terminal point of its permeability-vs-displacement frontier):
| homes displaced | permeability |
|---|---|
| 25.7% | 95.4% |
On the settlement-scale benchmark¶
From the Cape Town benchmark — the single-block, 6,619-parcel multiblock_depth_density region.
Roads added busiest-first, each preceded by whatever it needs to reach the street, so every frame is a network you could actually build. The animation stops where the network first reaches the matched-permeability standard — every method's GIF ends at the same benefit, so what differs is the disruption spent getting there. The deep interior drains as the network reaches in:
The same region under the two lenses — truncated to the shared displacement budget (left) and run until it reaches the shared permeability standard (right), coloured by access depth:
| matched displacement | matched permeability |
|---|---|
![]() |
![]() |
Matched displacement: at 3,094 m of road it reaches permeability 24.1%, displacing 1.4% of homes (it converges below the shared budget).
Matched permeability: never reaches the permeability target — it plateaus at 24.1% after 3,094 m of road.


