Shared state that survives the night
The map, actors, fog, and turn state are meant to live in one durable battle record. Updates should be incremental and legible: move a token, open a door, clear a ring of fog, and keep the scene intact.
Project
The strongest legacy battlemat copy framed the goal clearly: shared play means a world state with memory, ownership, and consequence. That remains the center of the project.
The map, actors, fog, and turn state are meant to live in one durable battle record. Updates should be incremental and legible: move a token, open a door, clear a ring of fog, and keep the scene intact.
Tokens stop being loose UI markers when they connect back to real character records, portraits, sheets, and player ownership. That is what turns a battle scene into campaign play.
The battlemat is designed to render the canonical scene reliably. It does not invent truth. The authoritative state lives elsewhere and the board shows what has already been committed.
Design Summary
Legacy design notes described the battlemat as the live tactical surface for play: hex-based scenes, initiative, conditions, openings, and objects, all rendered from one scene document. That is still the right abstraction for the public page.
The system goal is plain enough to say without shipping the old app here: players watch a shared board update live while the campaign state tracks position, health, effects, and short narration. The board stays simple. The world behind it stays canonical.