Appearance
Board events
Board events describe stable observations after local filtering and global position mapping. They are separate from game-engine domain events: ROAD_PLACED reports a physical change, not a legal purchase.
| Event | Meaning |
|---|---|
ROAD_PLACED | A road is now identified at a previously empty road position |
ROAD_REMOVED | A known road position is now stably empty |
BUILDING_PLACED | A building is now identified at a previously empty intersection |
BUILDING_REMOVED | A known building position is now stably empty |
BUILDING_CHANGED | The stable building identity/type changed |
LAND_CHANGED | A land reading changed |
ROBBER_PLACED / ROBBER_REMOVED | A stable robber contact changed |
HEX_CONNECTED / HEX_DISCONNECTED | Device availability changed |
These are candidate semantic names. Payloads, ordering, timestamps, and schema versions have not been finalized. Replacement by a different road owner and transitions involving unknown readings need explicit semantics before implementation.
An eventual event envelope should preserve source, position, previous observation, and new observation. Sequence or revision information will be needed to detect missed updates and duplicate delivery; no field sizes are assigned here.
On reconnect, request a fresh snapshot before treating differences as placements or removals. Communication failures are availability changes, not empty sensors. See Hex Manager.