ReadonlyBoardThe nine cells.
ReadonlyGameEmits once when the game ends.
ReadonlyMovedEmits every mark placed, whoever placed it.
ReadonlyResultHow the game ended; null while it is on.
ReadonlyTurnWhose turn it is; null once the game is over.
The mark the person at the keyboard plays. A click only places this mark.
The component's root element (what a picture of the board is taken of).
How many marks are on the board.
ProtectedOnThe person clicked a cell.
Places a mark. The ONE way a mark gets placed: the board's own click handler and any other caller go through here, so the rules are enforced once.
The mark to place.
The cell, 0 to 8.
Puts a known position on the board (a board re-created after the panel was collapsed, or a resumed session). Emits nothing: the position is not a move.
The nine cells.
Whose turn it is.
ReadonlyStatusOne line for the status area (also a live region, so a screen reader hears the game progress).
A tic-tac-toe board the signed-in person plays on by clicking.
Xis the person's mark (UserMark).