Geo/tools/ is now every geographic script, with Geo/README.md documenting each one; the Blender-side builders moved beside their outputs in Art/blender/*/ and import their helpers from Geo/tools/osm_common.py. That module gains to_unreal_local() and to_blender_local(): the only place in the repository that multiplies metres by 100, so a second silent scale cannot be introduced. block_height_report.py adds height provenance for the block — 3 of 15 buildings have no height data and render at a placeholder 6.4 m. asset_metadata.py writes and audits <asset>.geo.json sidecars; four now exist (hero-facade, terrain, street, blockout) and the audit recomputes each centre from the origin, failing anything that disagrees.
32 lines
894 B
JSON
32 lines
894 B
JSON
{
|
|
"schema": 1,
|
|
"asset": "blockout",
|
|
"kind": "building",
|
|
"generated_utc": "2026-11-07T11:27:43+00:00",
|
|
"geographic": {
|
|
"crs": "EPSG:26911",
|
|
"source": "Geo/raw/osm-api-map-2026-11-06.osm, demo bounds per Geo/verification/2026-11-06-el-capitan-block.md",
|
|
"centre_easting_m": 376380.0,
|
|
"centre_northing_m": 3774200.0,
|
|
"elevation_navd88_m": 117.0,
|
|
"origin": {
|
|
"easting_m": 376515.389,
|
|
"northing_m": 3774224.083,
|
|
"reference": "Geo/manifests/local-origin.md"
|
|
}
|
|
},
|
|
"unreal": {
|
|
"centre_cm": [
|
|
-13538.9,
|
|
2408.3,
|
|
108.9
|
|
],
|
|
"conversion": "100 uu per metre, applied once in osm_common.to_unreal_local",
|
|
"axes": "X east, Y south (FBX preset flips north), Z up"
|
|
},
|
|
"dims_report": null,
|
|
"notes": [
|
|
"86 meshes from Blosm; affine-corrected from the spherical TM frame into EPSG:26911 (0.0 cm residual)"
|
|
]
|
|
}
|