Commit Graph

3 Commits

Author SHA1 Message Date
Axel Meyer
530bceaddd Add map inspector that emits a human-readable stats report
Counts set vs empty cells per layer, lists the top-10 most frequent
non-empty GIDs with decoded components, and reports roof coverage.
When an atlas registry is supplied, atlas-id+tile-name annotations
are added; without one the report still works using indices only.
2026-05-23 16:55:56 +02:00
Axel Meyer
e96431b44f Add text-DSL parser with line-numbered errors
Two-pass-free line-based scanner. Each directive carries its source
line so downstream validation errors can be attributed correctly.
Parser checks syntax only — atlas/tile resolution and bounds checks
are deferred to the builder so each tier has one responsibility.
2026-05-23 14:19:10 +02:00
Axel Meyer
a3ff2f5e6e Add atlas-spec loader with duplicate handling
loadAtlasDirs walks one level deep into each --atlas-dir, picks up
*/tiles.atlas.json, and builds bidirectional name/id maps. On
duplicate atlas_id across paths the first registration wins and a
warning string is returned (callers decide whether to print).
2026-05-23 13:50:10 +02:00