Bracket cut table
Every round’s cut size depends on the bracket size M at the start of that round. Defined in BattleOrchestrator._cutSizeForRound.
| Round | M=2 | M=3 | M=4 | M=5 | M=6 | M=7 | M=8 | M=9 | M=10 |
|---|---|---|---|---|---|---|---|---|---|
| R1 | 0 | 1 | 1 | 1 | 1 | 2 | 1 | 2 | 2 |
| R2 | 1 | 1 | 1 | 2 | 2 | 2 | 3 | 3 | 3 |
| R3 | 1 | 1 | 1 | 3 | 3 | 3 | 3 | 3 | 3 |
| R4 | always cut to top 1 (M − 1) |
Notes
- M=2 starts and R1 = 0 (skip). First elimination happens at R2.
- For M=7 and M=9, R1 cuts 2 (the lookup order checks
M >= 9thenM == 7). - After each cut, M decreases and subsequent rounds re-evaluate the cut against the new bracket.
- R4 always reduces to exactly 1 winner.
Example: 6-fighter bracket
Start: [A B C D E F] M=6
After R1: [B C D E F] M=5 (cut 1)
After R2: [C D E] M=3 (cut 2)
After R3: [D E] M=2 (cut 1)
After R4: [E] M=1 (cut 1 → winner)