Tools/blosm_blockout.py imports the committed extract in 3Dsimple mode and reports per-building dimensions so a units failure is visible in the log. The result (87 meshes) is committed as the blockout baseline: hero 25.68 x 54.88 x 14.50 m against 25.75 x 54.88 m of OSM geometry, so the import is 1:1 metres. Two headless defects needed working around: the asset-directory check that fires before mode is honoured, and an empty default-level table sending the add-on down a broken relative import. Member fetching stays off so the import does not depend on Overpass.
24 lines
1.5 KiB
Markdown
24 lines
1.5 KiB
Markdown
# Tools
|
||
|
||
Repeatable import/export and processing helpers. Anything that was done twice by hand belongs here.
|
||
|
||
## Conventions
|
||
|
||
- One script, one job. No interactive prompts; every input is an argument.
|
||
- Each script documents its input format, output format, and the exact tool version it was tested with.
|
||
- Blender scripts run headless (`blender --background --python`), so they can be re-run for a regression check.
|
||
- No credentials, no absolute machine paths, no writes outside the project by default.
|
||
- A script that produces game content logs what it produced, so `Game/Content` can be audited against it.
|
||
|
||
## Helpers
|
||
|
||
- `check-lfs.sh` — repository guard: fails if `git-lfs` or the `lfs` filter is missing, or if an LFS-tracked file was committed as a plain blob.
|
||
- `blosm_blockout.py` — headless Blosm import of the committed `.osm` extract into a `.blend`, with a per-building scale report. Exact invocation in `Art/blender/README.md`.
|
||
- `commons_fetch.py` — Wikimedia Commons reference fetcher. Search or exact `File:` titles, 1600 px thumbnails, provenance `sidecar.json` per folder. Writes only into the gitignored `Art/reference/`; reference images are never committed.
|
||
|
||
## Planned helpers
|
||
- Blender export preset runner (named presets, metric scale assertion)
|
||
- Blender→Unreal scale test (export a known-size cube, verify 100× conversion)
|
||
- OSM extract fetch and manifest writer (records date, bounds, checksum)
|
||
- QGIS processing steps as batch scripts, so the geo cleanup is reproducible rather than GUI-only
|