feat(遊戲化): 新增大廳、附身、時間流、後日談進度等遊戲化系統功能

新增角色大廳(lobby)邀約與通話、附身(possession)、時鐘(clock)抽象、
時間流與睡眠負債、後日談進度、行為選擇與旁觀反應等模組,並補齊對應冒煙
測試(R~V)與單元測試;同步調整 web/mobile 對應頁面與元件。

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-20 09:10:26 +08:00
co-authored by Claude Sonnet 5
parent 127a59dafd
commit 1bea06e3cd
195 changed files with 17219 additions and 738 deletions
+5 -1
View File
@@ -59,7 +59,11 @@ pnpm run smoke A # 執行 A 群組冒煙測試;all 表示依序執行 A~R
4. **程序常駐與重啟**:用 systemd unit(或 pm2)分別管理 api/web 兩個
Node 行程,設定 `Restart=on-failure`;健康檢查沿用 `GET /health`
(api)與首頁 200(web),與 `scripts/dev-restart.mjs` 開發環境用的
檢查邏輯一致。
檢查邏輯一致。**房間自走(T37 起)需要 api 常駐**——排程與 api 同行程
(node-cron,見 `apps/api/src/room/room-scheduler.service.ts`),api 停機
期間房間不會推進,重啟後只會補推進一次接上目前時間,不會補齊停機期間
錯過的輪數;因排程未加分散式鎖,**api 只能起一個實例**,多實例會讓同一
房間被重複推進。
5. **反向代理/TLS**:nginx 或雲端負載平衡器終止 TLS 後轉發到 api/web
對應埠號,對外只曝露 443。