boardgame-ai/
βββ app.py # μ 체 λͺ¨λμ 쑰립νκ³ μ€ννλ μ§μ
μ
βββ requirements.txt # Python μμ‘΄μ± λͺ©λ‘
βββ pyproject.toml # ν¨ν€μ§ μ€μ λ° κ°λ° λꡬ μ€μ
βββ .gitignore # Git μΆμ μ μΈ νμΌ λͺ©λ‘
β
βββ π core/ # 곡μ νμ
Β·μμ (μμ Python, μΈλΆ λΌμ΄λΈλ¬λ¦¬ κΈμ§)
β βββ constants.py # MsgType, CommonPhase, CommonEventType, DEFAULT_PARAMS λ±
β βββ models.py # Player, SeatZone κ³΅ν΅ λ°μ΄ν° λͺ¨λΈ
β βββ events.py # GameEvent, FusionContext μ΄λ²€νΈ μ€ν€λ§
β βββ envelope.py # WSMessage κ³΅ν΅ λ©μμ§ λ΄ν¬
β βββ audio.py # TTSRequest, AudioType, AudioPriority
β βββ player_manager.py # νλ μ΄μ΄ CRUD + μ’μ λ±λ‘ κ³΅ν΅ λ‘μ§
β
βββ π vision/ # κ°μ²΄Β·μ μ€μ² μΈμμ μννλ λΉμ νμ΄νλΌμΈ
β βββ pipeline.py # μ 체 λΉμ νμ΄νλΌμΈ 쑰립
β βββ detectors/ # κ°μ²΄/μ/μ£Όμ¬μ λ κ²μΆ λͺ¨λ
β βββ tracking/ # κ°μ²΄ μΆμ λ° μ£Όμ¬μ ID κ΄λ¦¬ λͺ¨λ
β βββ fusion/ # λΉμ κ²°κ³Όλ₯Ό κ²μ μ΄λ²€νΈλ‘ λ³ννλ λͺ¨λ
β
βββ π games/ # κ²μλ³ FSM, μν, κ·μΉ, μ μ κ³μ° λ‘μ§
β βββ base_fsm.py # FSM κ³΅ν΅ μΈν°νμ΄μ€
β βββ registry.py # κ²μ λ±λ‘ λ° μ ν κ΄λ¦¬
β βββ yacht/ # μνΈλ€μ΄μ€ μ μ© FSM/μν/μ μ λ‘μ§
β βββ werewolf/ # λλμΈκ° μ μ© FSM/μν/νμ λ‘μ§
β
βββ π bridge/ # λΉμ β FSM ν΅μ μΈν°νμ΄μ€ κ³μΈ΅
β βββ interface.py # μΆμ Bridge μΈν°νμ΄μ€ μ μ
β βββ local_bridge.py # μΈνλ‘μΈμ€ μ§μ μ°κ²° (κ°λ°/ν
μ€νΈμ©)
β βββ websocket_bridge.py # WebSocket λΈλ¦¬μ§ (Phase 1 νλ° κ΅¬ν μμ )
β
βββ π audio/ # TTS, ν¨κ³Όμ, BGM λ± μ€λμ€ κ΄λ¦¬
β βββ manager.py # μ€λμ€ μ¬μ νμ μΈν°λ½νΈ κ΄λ¦¬
β βββ tts_engine.py # TTS μμ§ μ°λ λͺ¨λ
β βββ assets/ # ν¨κ³Όμ, λ°°κ²½μμ
, TTS μΊμ νμΌ
β
βββ π backend/ # FastAPI μλ²μ WebSocket ν΅μ μ²λ¦¬
β βββ server.py # FastAPI μ± μμ± λ° μλ² μ€μ
β βββ ws/ # νλΈλ¦Ώκ³Όμ WebSocket ν΅μ μ²λ¦¬ λͺ¨λ
β
βββ π frontend/ # React κΈ°λ° νλΈλ¦Ώ UI λ° κ²μ νλ©΄
β βββ src/
β β βββ hooks/ # WebSocket λ± κ³΅ν΅ νλ‘ νΈ ν
β β βββ pages/ # λ‘λΉ λ° κ²μλ³ λ©μΈ νμ΄μ§
β β βββ components/ # 곡ν΅/κ²μλ³ UI μ»΄ν¬λνΈ
β βββ package.json # νλ‘ νΈμλ μμ‘΄μ± λ° μ€ν¬λ¦½νΈ μ€μ
β βββ vite.config.js # Vite λΉλ μ€μ
β
βββ π weights/ # νμ΅λ λͺ¨λΈ κ°μ€μΉ (Git μ μΈ, Google Drive 곡μ )
β βββ README.md # λͺ
λͺ
κ·μΉ λ° κ΄λ¦¬ λ°©λ²
β
βββ π training/ # κ°μ²΄ μΈμ λͺ¨λΈ νμ΅ μ½λμ μ€μ νμΌ
β βββ yacht/ # μνΈλ€μ΄μ€ νμ΅ λ°μ΄ν° μ€μ
β βββ werewolf/ # λλμΈκ° νμ΅ λ°μ΄ν° μ€μ
β βββ train_colab.ipynb # λͺ¨λΈ νμ΅ μ€ν λ
ΈνΈλΆ
β
βββ π tools/ # μμ§Β·μΆμΆΒ·ν
μ€νΈμ© 보쑰 μ€ν¬λ¦½νΈ
β βββ recorder.py # λ°μ΄ν° μμ§μ© λ
Ήν μ€ν¬λ¦½νΈ
β βββ frame_extractor.py # μμ νλ μ μΆμΆ μ€ν¬λ¦½νΈ
β βββ dice_prototype_v2.py# μ£Όμ¬μ μΈμ νλ‘ν νμ
μ½λ
β
βββ π tests/ # κ²μ λ‘μ§κ³Ό κ·μΉ κ²μ¦μ© ν
μ€νΈ μ½λ
β βββ test_contracts.py # core/ νμ
μ§λ ¬ν·ꡬ쑰 κ³μ½ ν
μ€νΈ (CI νμ)
β βββ test_yacht_fsm.py # μνΈλ€μ΄μ€ FSM ν
μ€νΈ
β βββ test_werewolf_fsm.py# λλμΈκ° FSM ν
μ€νΈ
β βββ test_scoring.py # μ μ κ³μ° ν
μ€νΈ
β βββ test_fusion_rules.py# ν¨μ κ·μΉ ν
μ€νΈ
β
βββ π docs/ # μ€κ³ λ¬Έμμ ν΅μ /λ°μ΄ν° νλ¦ λͺ
μΈ
βββ phase1_spec.md # λΉμ βFSM μΈν°νμ΄μ€ κ³μ½μ (Phase 1)
βββ team_workflow.md # λΈλμΉΒ·PRΒ·CIΒ·κ°μ€μΉ κ΄λ¦¬ κ·μΉ
βββ FSM_μ€κ³.md # FSM μ€κ³ λ¬Έμ
βββ WebSocket_λͺ
μΈ.md # WebSocket λ©μμ§ λͺ
μΈ
βββ λ°μ΄ν°νλ¦_λͺ
μΈ.md # μμ€ν
λ°μ΄ν° νλ¦ λ¬Έμ
βββ diagrams/ # μν€ν
μ² λ° μ€κ³ λ€μ΄μ΄κ·Έλ¨
CSID-DGU/2026-1-CCD-1-takoyaki-02
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Β | Β | |||
Β | Β | |||
Β | Β | |||