Creates a new tournament.
Tournament data.
Pairing system and optional acceleration method.
All completed rounds.
The current round in progress, if any.
Whether all rounds have been completed.
Tournament metadata (report info, auto-logged comments).
All registered players (including withdrawn).
Total number of rounds in the tournament.
Adds a point adjustment (penalty, bonus). Affects standings. Logs a comment in metadata.
Corrects a result in any round (including completed). Logs a comment. Handles adjourned games (FIDE C.04.2 Art 3.1).
The 1-based round number.
The corrected game result.
Late entry (FIDE C.04.2 Art 2.4). Player joins with their specified
points for missed rounds, paired from next pair() call.
Generates pairings for the next round using the injected pairing system. If a current round exists and all games are complete, promotes it to completedRounds before pairing the next round.
The pairings and byes for the new round.
Records a result for a pairing in the current round. Validates the
pairing exists. Results accumulate on currentRound. The round is
promoted to completedRounds by the next pair() call.
The game result to record.
Serializes the tournament state to a plain object suitable for
JSON.stringify.
Player leaves. No longer paired (FIDE C.04.2 Art 3.2).
Stateful chess tournament orchestrator. Drives any pairing system through a common lifecycle: create, pair, record results, standings, repeat.
Follows the
PositionData/Positionpattern:TournamentDatais the plain data interface,Tournamentis the class that wraps it.Example