Per building, emit classification facts (not template choices) into a new per-chunk sidecar, mirroring the existing _names/_parked sidecar pattern.
Includes: neighborhood (point-in-polygon), footprint_shape, width/depth, floor_count, ranked street_facades[] (corner-building correct, design D2), and footprint_hash per the normative algorithm (data-model.md §6.1). Adds --neighborhoods and the --templates gate to sfmap_bake.py.
Seams: osm.py (BuildingWay), chunk.py (classify), serialize.py (sidecar).
Acceptance: baking with --templates writes chunk_CC_RR_buildings.json matching data-model.md §1; deterministic across re-bakes.
From design #266 (sysdesign).
Per building, emit classification facts (not template choices) into a new per-chunk sidecar, mirroring the existing
_names/_parkedsidecar pattern.Includes: neighborhood (point-in-polygon), footprint_shape, width/depth, floor_count, ranked
street_facades[](corner-building correct, design D2), andfootprint_hashper the normative algorithm (data-model.md §6.1). Adds--neighborhoodsand the--templatesgate tosfmap_bake.py.Seams:
osm.py(BuildingWay),chunk.py(classify),serialize.py(sidecar).Acceptance: baking with
--templateswriteschunk_CC_RR_buildings.jsonmatchingdata-model.md §1; deterministic across re-bakes.From design #266 (sysdesign).