Current state
We import individual GeoJSON files via per-layer ingestors:
- Cells —
ingest_cells()
- Burgs —
ingest_burgs()
- Routes —
ingest_routes()
- Rivers —
ingest_rivers()
- Markers —
ingest_markers()
Cultures, religions, states, provinces, and regiments are missing.
Proposal
Rather than building five more per-layer GeoJSON ingestors, switch to consuming FMG's full-JSON export in one pass. FMG can export the entire world model — cells, burgs, routes, rivers, markers, cultures, religions, states, provinces, regiments, military, biomes, etc. — as a single JSON document. One ingestor that walks the FMG export and fans out into the relevant tables avoids the format drift we've been hitting between the per-layer GeoJSONs and the FMG source data.
Scope
- Reuse / consolidate the existing per-layer ingest logic where possible (cells/burgs/routes/rivers/markers).
- Add new ingest paths for cultures, religions, states, provinces, regiments.
- Single command / API entrypoint that takes the FMG full-JSON file.
- Per-layer skip flags so a re-import doesn't have to redo cells from scratch.
Out of scope
- Anything that requires running FMG itself; we consume the exported file.
- Live FMG ↔ Questables sync.
Current state
We import individual GeoJSON files via per-layer ingestors:
ingest_cells()ingest_burgs()ingest_routes()ingest_rivers()ingest_markers()Cultures, religions, states, provinces, and regiments are missing.
Proposal
Rather than building five more per-layer GeoJSON ingestors, switch to consuming FMG's full-JSON export in one pass. FMG can export the entire world model — cells, burgs, routes, rivers, markers, cultures, religions, states, provinces, regiments, military, biomes, etc. — as a single JSON document. One ingestor that walks the FMG export and fans out into the relevant tables avoids the format drift we've been hitting between the per-layer GeoJSONs and the FMG source data.
Scope
Out of scope