A Christopher Alexander provocation engine for neighborhood imagination. v0.1.
Massing renders regenerated on every deploy, straight from the corrected pattern pipeline —
extruded polygon massing blocks (via cadquery/OpenCascade), still a gut check on scale and
density, not a finished architectural rendering. The 3D model below is live and
interactive — drag to orbit, scroll/pinch to zoom — the same real .glb mesh
available to download further down, not a pre-rendered screenshot. Window and door openings
are real
boolean cuts, placed by a real pattern operator (p221_natural_doors_and_windows —
Alexander's Pattern 221) reading each building's actual wall geometry and floor count, not
decoration. Ground-floor interiors (p127/p129/p130/
p131/p133) are real too — public-to-private depth gradient, common
area, entrance room, room connectivity, stair core — but upper floors still show wall/window
data only, no interior partition (see the largest-building floor plan below, and
tools/vibe-render/render.py in the repo for the full caveats).
The real Military Circle site in Norfolk, VA -- a 97.7-acre assembly of 25 real Norfolk City GIS parcels (MILITARY_CIRCLE_ASSEMBLED, no existing entitlements), run through the full corrected pipeline (P37 → P52 → P29 → P61 → P95 → P108 → P96 → P107 → P127 → P130 → P129 → P131 → P221 → P133). Verified against real satellite imagery -- see crates/street-smarts-ledger/examples/dump_lineage_map.rs for the georeferenced overlay this was checked against. Shown in situ, in the interactive model itself (orbit around it to see): the surrounding gray massing is real neighboring building footprints from Overture Maps (OpenStreetMap + Microsoft ML Buildings, ODbL-1.0), not decoration. Only clean_baseline gets this treatment -- it's the one scenario with a real, geolocated site; the others' fixtures aren't real single addresses in the same way, so there's no honest "surrounding context" to show.
Real parcel/pad footprints, not a diagram -- the site unfolding commit by commit (P37 → per-block P95 → P108), the same HistoryStore chain block_membership answers lineage questions from. Loops automatically.
Generated by scripts/vibe-render.sh during CI deploy.
This tool does not measure your neighborhood. Aliveness is what Alexander called the quality without a name — by definition not fully namable. What you're about to read is a chorus of opinions, each citing its source, encoded in math. The interesting part is where they disagree, or where they tell you what they couldn't see.
The map is one more opinion. Parcels are an administrative cut by Norfolk City GIS — they are not buildings, sidewalks, or the way people walk this place. A neighborhood is more than its polygons. Basemap tiles fetched from openstreetmap.org; if those don't load the parcels still work.
An auto-proposal is one more opinion — the opinion of an algorithm encoding an Alexander pattern. It is NOT a coalition product. The Eastside Commons coalition's proposal is the one labeled "Proposal" above. Generated proposals are signed by the algorithm and the seed, so the coalition can decide for itself whether any variant deserves a conversation.