Demo¶
Block ZAF.9.3.1_1_5810: 6,619 buildings in the Bloekombos and Wallacedene area of Kraaifontein, at 33.8421° S, 18.7413° E. See it in Google Maps ↗
One Cape Town block, from the screen that picks it out to the roads our method builds through it, set beside one of the methods this site ships, and our method set beside the earlier one on a second block. Every control writes to the address bar.
Why this block¶
The shipped screen scores every block in the city from three numbers it gets for free: its buildings \(n\), its area \(A\) and its perimeter \(P\). It multiplies a depth by a density, so only blocks both deep and crowded score high:
In a compact block that depth comes to about half the rings of parcels between the street and the deepest home, because the parcels' columns narrow toward the block's middle; in a long strip, whose columns keep their width, it is all of them.
depth_density_proxy floor. Red fills the 3,169 of 18,309 blocks the screen selects, whatever the survey says; gold, the informal settlements in the City of Cape Town's own survey that it does not; grey, the rest — precision 20.0%, recall 81.9% against that survey. The blue ring marks ZAF.9.3.1_1_5810, the one block the rest of this site follows — a ring rather than an outline because a whole metro fitted into one figure leaves that block far too small for its own boundary to be a shape anyone could pick out. Switch metric, drag the floor, or toggle to Nairobi — 334 of 3,839 blocks at the same absolute floor, with no equivalent informal-structure survey to check them against, so no precision or recall is shown for that city. Colour by score instead, and each block is shaded by its rank among the blocks on its side of the floor: blue below, pale at the floor, red above, on a dark ground. The map opens on the selection because the precision and recall are its red fill's.- 0.1265
- its score, 9.9 times the floor
- 2 of 18,309
- its rank among Cape Town's blocks
- 11
- homes behind each parcel-wide stretch of street
- 115
- homes per hectare
The City's informal-settlement survey misses this block, though it is plainly informal: the survey predates its buildings (the bake-off's caveats).
The screen only picks candidates. A slower screen peels them: it gives each building its own parcel and counts the rings of parcels in from the street.

Shack fires reported near the block¶
News reports from around the block show what a deep, crowded block means in a fire. None is placed inside the block, and none is mapped, since not every report's street can be placed.
-
May 2016
Japhta and Dlayedwa streets, Bloekombos, Kraaifontein. OpenStreetMap puts Dlayedwa Street about 80 m outside the block.
Two shacks were set alight, allegedly with a petrol bomb, and four members of one family died: a woman and three children aged 8 to 13. Neighbours tried to fight it with water and could not.
Cape Times, 23 May 2016: “Four die in suspected arson attack” ↗
-
February 2020
Wallacedene, Kraaifontein, beside the block.
A fire at about 2am burned 28 shacks, displaced 83 people and killed two. Fire engines could not drive in: a community leader said “we have no roads and the shacks are closely clustered”, so crews parked on Mfeketo Street and walked to the fire. The taps gave no water, and residents pulled down shacks to stop it spreading.
GroundUp, 25 February 2020: “Couple dies in shack fire in Kraaifontein” ↗
-
June 2022
Pietersen Road, Wallacedene. OpenStreetMap puts Pietersen Road about 1.2 km south of the block.
Three shacks burned, 11 people were displaced and three siblings died.
News24, 17 June 2022: “Three siblings die in Cape Town fire that displaced 11 people” ↗
-
October 2024
Manuel Street, Wallacedene.
Four people died, three of them children, in one of 48 shack fires across Cape Town that weekend. JP Smith, the City's mayoral committee member for safety and security, said its crews arrive quickly but are “hampered by other factors such as access”; he spoke of the weekend's fires as a whole.
TimesLIVE, 28 October 2024: “Nine people perish in weekend informal settlement fires in Cape Town” ↗
-
July 2025
Maroela Road, Wallacedene. OpenStreetMap puts the Wallacedene stretch of Maroela Road about 630 m south of the block; the road also passes within about 16 m of the block's south edge.
About 20 shacks burned and 60 to 80 people were displaced. A 6-year-old girl died.
Roads through the block¶
Our method, and beside it one of the methods this site ships:
Shock Reblock. Each new road runs from the street, or a road already built, across the block and back to a street or road. At each step the method tries the cheapest routes through the gaps between buildings and builds the one that saves the most escape time for the homes it displaces. Named for thermal-shock cracking: as a quenched ceramic cracks inward from its cold surface and each crack ends on another, each new road here runs in from the street toward the homes with the longest way out and joins the network at both ends, so every road is on a loop.
Loop Network. Builds loops. Each step lays a path from the street to a chosen home and a second path back that shares no edge with the first, and builds the loop that saves the most escape time for the homes it displaces. No dead ends.
Drag the budget: each step lets both methods displace more of the homes' floor area, and both plates and the dots on the plots follow.
At a 5% budget Shock Reblock is ahead, saving 43.1% of the escape time to the Loop Network's 39.2%; at 10% it is narrowly behind, 50.4% to 52.0%; at 15% it is narrowly ahead, 58.6% to 57.5%. Shock Reblock takes 32 minutes to its 15% network, the Loop Network 8.3 minutes.
Our method and the earlier one¶
The original topology algorithm, set beside ours.
On block ZAF.9.3.1_1_41785 in Philippi (See it in Google Maps ↗): the shipped screen's top block, and at 638 buildings small enough for topology to run at all. Topology, run as our optimized port1, builds until every parcel touches a road, which here displaces 91% of the floor area, in 1.9 hours2; Shock Reblock stops at 71%, with no road left that would split a sub-block, in 1.9 minutes. Below, both are cut at the same budgets, each in the order it built its roads, with its run's time to each network.
| Block | Topology, original implementation | Topology, our optimized port | Shock Reblock | Loop Network |
|---|---|---|---|---|
41785638 buildings | about 6.3 hoursexpected1 | 1.9 hoursmeasured2 | 1.9 minutesmeasured, whole run · fastest | —not timed on this block |
58106,619 buildings | Years to centuriesestimated1 | Months to centuriesestimated1 | 32 minutesmeasured, to a 15% budget | 8.3 minutesmeasured, to a 15% budget3 · fastest |
Shock Reblock saves as much escape time as topology's whole network (93.5%) with 36% of the floor area displaced; topology needs 91%.
1 Topology's times are our optimized port's (commit ff74af2) unless marked original. On block 5810, never run, a power law fitted to six timed runs on smaller blocks gives about 1.8 years at its 6,619 buildings; anchored on the largest run instead, 3.2 months to 3.6 centuries. The original implementation (commit 5972772), timed against the port on eleven blocks of 20 to 150 buildings, took 1.3 to 2.4 times as long, building the same networks (two more blocks failed in both). The gap grows with block size, roughly as n0.27; that fit, carried to each block's size (3.3× at 638 buildings, 6.2× at 6,619), gives the original's times.
2 Measured once on this block. The power law fitted to six timed runs on other blocks predicted about 2.1 hours. Nearly the whole run goes to finding its first two roads: after 3.4 seconds of setup, the first lands at 42 minutes (37% of the run) and the second at 1.6 hours; the other 285 take a median 0.63 seconds each.
3 Measured once on this block, in one process on the same workstation as Shock Reblock's run, its numerical libraries held to one thread, the machine's load average 3.9 on its 48 cores. The Loop Network builds its loops in its own order, but each plate shows the shortest stretch of its whole network, taken street-first, that reaches the budget, so its time to a plate is when the run had built every road on it: 8.3 minutes to the 15% network. Its whole run, which builds on past the slider's last budget, took 8.6 minutes.