both cards submitted → the room's logical timer draws numbers each tick → a winner is decided and the room is Finished
Guided views
Explore this system
Step through curated paths without changing the source diagram.
Beat
Next
ReadyChapter 01 / 01
Guided chapter
Diagram guideExplore this system
Inspecting compiled semantics
E ExportT ThemeS Style0 Reset+ Zoom in- Zoom outEsc Close
Find a node
⌕/
No matching nodes
Semantic passport
Verified source
Authored reach
Route probeChoose a start node
Pick two semantic nodes on the diagram
Choose the source, then the destination. Direction matters.
Semantic lensCompare system roles
Choose up to two semantic kinds. One reveals its real traffic; two compare only direct authored relationships.
Choose a kind to inspect its nodes and touching relationships.
Semantic radar
Building overview
Click nodeDrag to pan
Semantic radar needs more MAP space.
Room self-steps (mermaid Room self-messages)
• After both cards are accepted the Room starts the logical draw timer.
• loop 'Each draw tick': the Room draws one number and updates marks, then notifies with an increasing DrawSeq — the diagram renders one representative tick.
• On the draw where a complete line first appears, the Room selects the winner and sets state = Finished, then sends both players BingoGameEndedNotify.
Rule ownership
• Once both players confirm the start push, each submits a different deterministic card. The Room validates card size, number range, and duplicates, and marks the center free cell.
• Card validation, the draw deck, marking, and winner determination are owned by the domain module. The Client doesn't draw numbers or submit marks; the Session handler and Framework adapter don't implement game rules.