v1.5.7

HOLODECK & TOURNAMENTS

Programs, Battle Modes, Staging, and the one-button progression system

Section 01

The Big Picture

The Holodeck is where you create reusable tournament configurations. Think of it as programming your tournament "environment" before you run it.

┌─────────────────────────────────────────────────────────────────────┐
│                           HOLODECK                                  │
│  ┌─────────────────┐    ┌─────────────────┐                        │
│  │   Battle Mode   │    │     Staging     │                        │
│  │  (match rules)  │    │ (structure)     │                        │
│  │                 │    │                 │                        │
│  │  • Point goal   │    │  • Swiss 5R     │                        │
│  │  • Deck size    │    │  • Top 8 SE     │                        │
│  │  • Scoring      │    │  • Championship │                        │
│  │  • Ring out     │    │  • Auto rounds  │                        │
│  └────────┬────────┘    └────────┬────────┘                        │
│           │                      │                                  │
│           └──────────┬───────────┘                                  │
│                      ▼                                              │
│              ┌───────────────┐                                      │
│              │    Program    │  ← Battle Mode + Staging             │
│              │  "WBO Swiss"  │    (optional: League Compliance)     │
│              └───────┬───────┘                                      │
└──────────────────────┼──────────────────────────────────────────────┘
                       │
                       ▼
┌─────────────────────────────────────────────────────────────────────┐
│                         TOURNAMENT                                  │
│                                                                     │
│   Load Program → Register Players → Start → Progress Stages        │
│                                                                     │
│   ┌─────────────────────────────────────────────────────────┐      │
│   │              Tournament Progression                      │      │
│   │                                                          │      │
│   │   Swiss R1 → R2 → R3 → R4 → R5 → Finals → Championship  │      │
│   │         ↑                                                │      │
│   │    "One button to advance"                               │      │
│   └─────────────────────────────────────────────────────────┘      │
└─────────────────────────────────────────────────────────────────────┘

The key insight: Organizers don't need to think about pairing algorithms, round counts, or stage transitions. They load a Program, register players, and tap the FAB to advance. The system handles the complexity.

Section 02

Creating Modules in Holodeck

Battle Mode (Match Rules)

Defines how individual matches are played:

Setting Example
Point Goal First to 7
Deck Size 3v3
Scoring Spin=1, Burst=2, Over=2, Extreme=3
Ring Out Redo round
Win Condition First to X points

Staging (Tournament Structure)

Defines how the tournament progresses:

Setting Example
Stage 1 Swiss Rounds (5 rounds, auto-calculated)
Stage 2 Top 8 Single Elimination
Stage 3 Championship Match
Advancement Top 8 advance from Swiss
Deck Locked Yes (in Finals)

Special: WBO Ranked Auto

When staging is set to WBO Ranked Auto:

  • Structure auto-configures based on player count at tournament start
  • 16 players → Swiss 5R → Top 8 → Championship
  • 40 players → Swiss 6R → Top 16 → Championship
  • No manual round count needed — the system calculates it
Section 03

Assembling Programs

A Program = Battle Mode + Staging (+ optional League Compliance filter)

Program: "WBO Standard"
├── Battle Mode: "WBO Official" (FT7, 3v3, standard scoring)
├── Staging: "Swiss + Finals" (Swiss 5R → Top 8 → Championship)
└── League: "WBO Ranked" (filters to compliant options only)

Creating a Program

Programs are created in Holodeck's Assemble tab:

  • Select League (optional) — filters available options to compliant ones
  • Pick Staging — your tournament structure
  • Pick Battle Mode — your match rules
  • Validation panel shows any compatibility warnings
  • Save → Program ready to use in tournaments

Tip: Create Programs for your common tournament types. "Weekly Locals," "Monthly Championship," "Casual Practice" — load them with one tap when creating a tournament.

Section 04

Programs in Tournament

Creating a Tournament

  • Tournament Room → Create Tournament
  • Load Program from Holodeck (or use a template)
  • Program auto-populates all settings
  • Share QR code for registration

The New Flow (v1.5.6+)

Before, running a tournament required navigating through Shōmen tabs, manually generating rounds, and tracking stage transitions:

Before (with manual Shōmen):
Create → Shōmen Setup → Shōmen Management → Generate Rounds → Judge → Shōmen Results
         (configure)    (manual pairing)     (manual trigger)

Now, the contextual FAB (floating action button) uses the TournamentProgressionService to always show the next logical action:

After (v1.5.6+):
Create with Program → Register Players → Start → FAB drives progression

Floating Action Button State Machine

Tournament State FAB Shows
Players registered, not started "Start Tournament"
Round 1 matches incomplete "Round 1 in progress"
Round 1 complete "Generate Round 2"
Swiss complete "Advance to Finals"
Finals incomplete "Finals in progress"
Finals complete, no championship "Generate Championship"
Championship complete "Complete Tournament"

Key improvement: You never have to ask "what do I do next?" The FAB tells you.

Section 05

Multi-Stage Progression

Rounds as Entities

Each round is a first-class database record:

  • Isolated data per round (no overwriting previous rounds)
  • Cached when complete (never re-fetched unnecessarily)
  • Stage-aware (Swiss R1-R5 vs Finals SF1/SF2/F)

Stage Visualization

The tournament view adapts to show your current position in the bracket:

  • Sticky stage header shows current stage + progress
  • Wheel picker (iOS-style) for stage navigation
  • Round pills show only the current stage's rounds
  • Auto-navigate to new stage when generated
Swiss Stage Finals Stage Championship

Each stage has its own rounds, standings, and progression rules. The system handles the transitions automatically.

Section 06

Summary

Concept Lives In Purpose
Battle Mode Holodeck How matches are played
Staging Holodeck How tournament progresses
Program Holodeck Combines Battle Mode + Staging
Tournament Tournament Room Runs the Program with real players
Progression Service Backend "One button to advance" logic
Rounds as Entities Database Isolated, cached round data

The key insight: Organizers don't need to think about pairing algorithms, round counts, or stage transitions. They load a Program, register players, and tap the FAB to advance. The system handles the complexity.

Continue Learning

↑ Back to top

Holodeck & Tournament Flow — v1.5.6

Last updated: February 2026