‹ 回 docs.chefsmate.app

ArenaMate 系統地圖

館間聯誼賽 · 賽事流程邏輯圖(規劃中,動工前先確認)。對齊業界大型賽事六階段,標出本次要新增/調整的點。

現況已有 本次新增 / 調整 決策 / 閘門 留給大型賽事模組

① 賽事生命週期(含本次調整)

由上而下=時間順序。金色=本次要改的地方;其餘為現況。

階段一 · 規劃 — 建賽精靈(主辦:館主/管理員)
建立館間聯誼賽
  • 賽事名稱 → 運動 → 賽制(賽制小卡圖解)
  • 對手場館(自動取最近 N/自選)→ 比賽場地(主場/投票)
  • 每隊人數 → 開賽門檻(最少報名隊數)
  • 賽事日期 / 預計比賽期間(排在報名截止「之前」;Gate 驗 報名截止 < 賽事日期)✅ 單日或期間都可
  • 報名截止日(必填)
  • 獎勵 / 獎品(選填,純文字,如「冠軍獎盃+免費月卡」)
  • 賽事說明 / 規則(選填,計分制/是否帶證件/集合時間)
▼ 寄出邀請
階段二 · 報名與資格
各受邀館:接受邀請 → 指定代表隊(一軍/二軍)
收件匣接受;資格=會員制權限。代表隊在此指定(也可稍後改)。
⏳ 報名截止 / 達開賽門檻
名單在此「定案」——這一刻才知道完整參賽單位,才能產生對戰表。
階段三 · 賽制與抽籤  ★本次核心
產生對戰表(是否看實力=賽制決定)
詳見下方 ②。產生後鎖定:代表隊可換,但種子不重排。
階段四 · 賽程編排(主辦)
每場排程:日期 + 時段 + 場地
對戰樹每場各自排,只列該館未被預約的空檔;裁判/線審輪值。
階段四/五 · 戰隊端
戰隊「確認參賽」 → 排陣(站位 / 職位)
賽程卡標記目前階段 → 點該場半場拖頭像排先發。
階段五 · 比賽日營運
報到(GPS 地理圍欄)→ 計分 → 直播 → 自動晉級
  • 報到=GPS 地理圍欄自動記到場(軟性,非硬閘;忘記帶手機照樣由幹部排上場)。開賽閘改「有指派裁判/計分員即可」
  • 現場計分、地圖/館內直播入口、勝隊回填晉級
  • 比分雙方確認 + 爭議標記(勝隊輸入 → 敗隊確認/申訴 → 主辦裁決)(待我細查 match_tab 現況)
階段六 · 結算與收尾
賽事戰報
戰報;戰報可加「賽後檢討」段(下屆改進,低優先)。成績回填場館排名/RP。

② 對戰表產生決策本次討論重點

「選定對手場館後,要不要看派出隊伍的實力?」——答案:由賽制決定要不要看實力

達開賽門檻 → 判斷 formatNeedsSeeding(format)
對戰「結構」會不會被實力影響,只取決於賽制。
否 = 結構與實力無關

單場約戰 · 循環賽

  1. 名單定案即可產生
  2. 派誰都一樣:單場只有 A vs B;循環賽每隊都跟每隊各打一場
  3. 不需 seed,generate(fmt, 名單原序)
是 = 結構受實力影響(要排種子)

單淘汰 · 雙淘汰 · 分組+淘汰

  1. 算各參賽單位實力(cascade ↓)
  2. seedOrder 強→弱排序
  3. 跨表兩端/分散小組擺位(1 vs N,強隊決賽才相遇)
  4. generate(fmt, 種子序)
▼ 產生並鎖定
實力估計的 fallback cascade(看實力時用誰的)
  • 1. 該館派出代表隊的 roster 實力(隊員段位/RP 加總)— 最準
  • 2. 場館實力分 gym_strength — roster 未定時 fallback(現成可用)
  • 3. 距離/報名序 — 全新隊新館無歷史時的中性值
🔒 鎖定後:代表隊可換,但種子不重排
抽籤定了就定了(同真實賽事)。可換 roster,動不了表上位置。
✅ 已定(2026-06-30):產生並鎖定後換隊 不重排種子(抽籤定了就定了,可換 roster 但動不了表上位置)。 種子實力來源:代表隊 roster 優先 → gym_strength 後備 → 報名序
純 Gate(配單元測試): formatNeedsSeeding(fmt)(單淘/雙淘/分組+淘汰=true,單場/循環=false)、 entrantStrength(e)(roster ?? gym_strength ?? 0)、 seedOrder(list)(強→弱)。
現有 BracketGenerator.generate(fmt, seeds, …) 本來就吃 seeds 順序, bracket.dart 也已有「依距離+強度排序」的線路 → 接上去成本低。

③ 新功能優先序

先做順序錨點與種子(影響最大),小欄位順手帶;金錢相關留給大型賽事模組。

優先功能對應階段現在做?
★★★賽事日期 / 期間(順序:排在報名截止前)規劃✅ 本次
★★★種子排序(②,淘汰類依實力 seed)賽制抽籤✅ 本次
★★獎勵 / 獎品欄(選填 free-text)規劃✅ 本次(小)
★★賽事說明 / 規則欄(選填)報名資格✅ 本次(小)
比分雙方確認 + 爭議標記比賽日待查現況再定
賽後檢討(戰報加一段)結算低優先

④ 大型賽事反向遷移(備忘)

館間聯誼賽=刻意簡化版(金錢牽涉少)。區域/全國賽完整版做好後,把重流程拆成各館可選 opt-in 模組。

之後大型賽事完整版(區域聯賽 / 全國賽)
  • 預算規劃 · 報名費收款 · 贊助方案包 · 認證/規則書
  • 獎金分配 · 財務+贊助回饋報告 · 賽後檢討表
▼ 反向遷移成 opt-in 模組
各場館可自由開關(連小聯誼賽也能用)
例:預算規劃下放給小聯誼賽,讓活動更永續。每個模組走既有 4 層(Gate/Primitive/Orchestrator),共用同一套賽事資料模型,不另開平行系統。

備忘文件:docs/ArenaMate_大型賽事架構遷移備忘.md