A browser over exact 3-player Chinese Checkers tablebases.
The star is the current position. Red, yellow, and blue are players A, B, and C. Click a marble to show legal destinations, or click a move in the legal-moves rail to advance the line.
The solver asks several coalition games at once. A solo win means one player can force their own win against the other two. A draw means a spoiler can keep the game outside every forced-win region. A kingmaker means the mover cannot force their own win, but can decide which other player receives a forced win.
The 1-marble and 3-marble modes query exact packed tablebases from a Rust server. The server memory-maps the tablebase files and returns one position at a time: board cells, legal children, the position verdict, and witness moves for the most relevant claim.
The 3-marble tablebase is 14.8 GB and is served from disk-backed storage rather than held entirely in RAM. Common positions are warmed and cached, but first-time random rank lookups can take a few seconds.
The 3-marble tablebase is served from the same packed artifact used by the solver.