Interactive World Map, Minimap, and Cartography
What This System Is
The cartography layer turns existing exploration, navigation, and travel projections into a single spatial presentation contract. It does not own discovery, quest, route, or player-location authority.
Rules And Invariants
WorldCartographyContext combines the authored exploration catalog, the actor's exploration map projection, unified navigation targets, travel topology, travel state, and client-owned presentation preferences. project_world_cartography produces normalized region rectangles, fog state, clustered clickable markers, the current travel-node position, route segments, visible layers, and validation issues.
Coordinates are normalized to 0..10000, keeping the shared domain independent of Bevy pixels and editor canvas sizes. The player UI and editor preview consume the same result.
How Authors Use It
The world map supports bounded pan and zoom, centering on the current travel node, layer selection, fog visibility, marker-kind filters, and north-up or heading-up minimap orientation. Clicking a target row or map marker uses the existing navigation tracking command. Clicking empty atlas space creates a persistent map-only personal pin at the exact projected coordinate; route guidance resolves it through the nearest known travel node without inventing a scene-local position.
Preferences are stored in the versioned client-local navigation preferences document. Existing version-1 documents remain compatible because cartography settings have serde defaults.
Fog and discovery
Fog is derived from the exploration projection's revealed region ids. Cartography never writes exploration state. Unrevealed regions render as uncharted, and ordinary markers inside them are suppressed. A tracked or pinned target may remain visible so existing quest guidance is not silently lost.
Minimap
project_world_minimap uses scene-local tile coordinates and the current player pose. This avoids inventing a scene-to-world transform. It filters targets by scene, configured radius, and marker filters; reports layer differences; and optionally rotates deltas around the player heading.
Targets without world-map coordinates remain valid minimap targets and produce an editor/runtime cartography warning instead of being placed inaccurately on the atlas.
Validation And Debugging
Designers continue to author region bounds, POI map coordinates, travel-node coordinates, and gameplay markers in their owning catalogs. The scene exploration preview uses the shared cartography projection and reports:
- navigation targets missing atlas coordinates;
- targets or travel nodes outside every authored region;
- empty world bounds;
- visible marker, region, and layer counts.
No separate map-marker catalog or duplicated discovery ledger is required.
Examples
Click a discovered POI on the world map to track its existing navigation target. Click empty atlas space to create a personal pin; the map stores the normalized coordinate and route guidance uses the nearest known travel node.