두 card 제출 뒤 room의 logical timer가 tick마다 번호를 뽑아 mark하고, complete line에서 winner를 정한다
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.
자기 메시지 3개와 loop (archify 미지원 → 인접 화살표에 합침)
• 원문 Room→Room 'Start logical draw timer'와 'Draw number and update marks'(loop Each draw tick)를 첫 BingoNumberDrawnNotify 라벨에 합쳤다. `[loop]` 표시 세 줄이 원문의 draw tick 반복이다 — tick마다 번호 하나를 뽑고 두 card를 mark한 뒤 증가하는 DrawSeq로 notify한다.
• 원문 Room→Room 'Select winner and set Finished' → 뒤따르는 BingoGameEndedNotify 라벨에 합쳤다. Complete line이 처음 생긴 draw에서 winner를 정하고 state를 Finished로 바꾼다.
• 순서: SubmitBingoCardRes 반환 뒤 timer가 시작한다(제출·응답보다 뒤).
domain 소유와 규칙
• 두 player는 start push를 확인한 뒤 서로 다른 deterministic card를 제출한다. Room은 card 크기·숫자 범위·중복을 검증하고 가운데 free cell을 mark한다. 두 card가 모두 준비되면 logical timer가 draw tick을 시작한다.
• Card 검증, draw deck, mark와 winner 판정은 domain module이 소유한다. Client는 번호를 뽑거나 mark를 제출하지 않는다. Session handler와 Framework adapter도 game rule을 구현하지 않는다.