Methodology¶
reblock is one composable pipeline. Every stage is a swappable Hydra
component, and every run writes its output to disk, so a result reproduces from a single command:
data → screen → region_builder → method → eval → render
The pipeline¶
- Data. Load building footprints and existing streets for a city — geometry only. No parcel graph is built at this stage.
- Screen. Score every block in the metro and flag the most access-starved ones. The shipped default reads nothing but building count, area, and perimeter, so it sweeps an entire city in a single cheap pass; the peel-based metrics cost more, and pay that cost inside the screen rather than after it. See Screening.
- Region builder. Grow each flagged block into a right-sized, multi-block region before any road is proposed, so the roads that follow can stay continuous across block boundaries instead of stopping at the edge of one separately-solved block. From here the pipeline works a region at a time, deriving its parcel graph — who neighbours whom, and how many parcels deep each one sits from a street — for the survivors rather than for the whole metro. See Screening.
- Method. Run a pluggable reblocker that proposes new roads for the region — the roads themselves, and how many, are entirely the method's choice.
- Eval. Grade the result the same way for every method: permeability — how easily every parcel can reach a street — bought against displacement, the homes it costs.
- Render. Draw the proposed roads and the before/after maps used throughout Results.
Glossary¶
- Density (
n/A) — buildings per unit block area. - Compactness (
A/P²) — how round a block is; high for a disc, low for a sliver. - The depth proxy (
√(nA)/P) — a closed-form estimate of access depth, cheap enough to compute for every block in a metro. - Permeability — how easily every parcel in a region can reach a street once roads are added.
- Displacement — the homes a road set costs.