package structs // MatchState holds the full game session state. type MatchState struct { Players []*Player `json:"players"` Boards map[string]*Board `json:"boards"` // Multiple named boards: Turn int `json:"turn"` // index in Players[] Winner int `json:"winner"` // -1 = none, >=0 = winner index GameOver bool `json:"game_over"` // true when the match ends Metadata map[string]interface{} `json:"metadata"` // metadata }