Battle Maps and Fog of War
Grid combat with tokens, terrain, and hidden areas
Theater-of-the-mind combat is elegant until someone asks how far away the archer is. Battle maps are now in session — a Konva canvas with square grid, draggable tokens, terrain painting, and fog of war that hides unrevealed areas from players while the DM sees all.
Map basics
Each session can attach a battle map with configurable width and height in grid squares. Drop tokens for PCs and NPCs; resize or snap to grid. Pan and zoom locally; positions broadcast via PartyServer so everyone aligns. The map persists on the session record for the next fight in the same adventure.
Fog of war
DMs paint reveal polygons or use brush tools to open sight lines. Players only see layers the server marks visible — attempting to peek by inspecting network traffic still respects server-side fog state. Reveal events log in the activity feed for "who opened the door" moments.
Terrain and drawing
Basic terrain tools mark difficult terrain, obstacles, and labels. We are not aiming for Foundry-level tile packs in v1 — clarity over cosmetics. Import background images from URL for quick scene dressing.
Performance
Large maps (40×40+) stress mobile browsers. We recommend keeping encounter maps under 30 squares per side for smooth panning. Desktop Tauri clients handle heavier canvases better than phone Safari.
The map does not auto-sync with the AI's narration yet — when the DM says the bridge collapses, you still remove the tiles. Deeper integration is on the roadmap.
Battle maps and fog shipped to beta. Map library templates and AI-generated backgrounds arrive in the next release.