流程¶
本檔角色:所有流程的索引 + 各模組流程圖連結 + 圖表工具。 個別流程詳細內容在
流程/子資料夾內各自獨立檔案;本檔不重複內容。
1. 流程索引¶
| 流程 | 檔案 | 主題 |
|---|---|---|
| 玩家整體旅程 | 流程/玩家整體旅程.md | 從首次連線到回頭組裝的完整旅程 |
| UGC 上傳 | 流程/UGC上傳.md | 上傳 / 編輯 / 送出(本機測試 / 上鏈)三階段 |
| 配對 | 流程/配對.md | TrueSkill 配對 + 握手 + 倒數 |
| 比賽進行 | 流程/比賽進行.md | Rollback + 回合唯一共識錨 |
| 比賽結算 | 流程/比賽結算.md | 名次 / 鑄幣 / 分潤 / 信譽 / TrueSkill |
| 衍生(Fork) | 流程/衍生.md | Fork 樹 + 三層分潤 + 反複製檢查 |
| 信譽變動 | 流程/信譽變動.md | 信譽 delta derive 到 DerivedState(無獨立事件) |
| 檢舉與仲裁 | 流程/檢舉與仲裁.md | 一般檢舉(非 DMCA)的仲裁流程 |
| DMCA 版權通報 | 流程/DMCA.md | Provider-scoped Notice / Counter-Notice / 下架與恢復(不上鏈、零信譽足跡) |
| 治理事件 | 流程/治理事件.md | economy-config 治理多簽變更 |
| 升版 | 流程/升版.md | CI build → GitHub Pages → Service Worker |
| 觀戰 | 流程/觀戰.md | 主動觀戰 + 淘汰自動轉觀戰 |
2. 各模組流程圖索引¶
mermaid 流程圖按性質分流:程式/技術流程圖由下表自 13 份 impl-flow frontmatter 與固定表頭投影;業務/治理/遊戲流程位於對應 流程/*.md。
| 模組 | Implementation authority | 技術流程圖 | 產品 canon/流程 |
|---|---|---|---|
anti-piracy/ |
程式架構/anti-piracy.md | 程式架構/程式流程/anti-piracy.md | 版權 · 檢舉與仲裁 |
chat-system/ |
程式架構/chat-system.md | 程式架構/程式流程/chat-system.md | 賽內機制 · 配對 |
i18n/ |
程式架構/i18n.md | 程式架構/程式流程/i18n.md | 語系清單 |
ledger/ |
程式架構/ledger.md | 程式架構/程式流程/ledger.md | 資料系統 · 比賽結算 |
matchmaking/ |
程式架構/matchmaking.md | 程式架構/程式流程/matchmaking.md | 配對 · 比賽結算 |
network-sync/ |
程式架構/network-sync.md | 程式架構/程式流程/network-sync.md | 比賽進行 |
peer-discovery/ |
程式架構/peer-discovery.md | 程式架構/程式流程/peer-discovery.md | 配對 |
pwa-offline/ |
程式架構/pwa-offline.md | 程式架構/程式流程/pwa-offline.md | 玩家整體旅程 · 遊戲機制 |
signaling-service/ |
程式架構/signaling-service.md | 程式架構/程式流程/signaling-service.md | 配對 · 資安規範 |
spectator/ |
程式架構/spectator.md | 程式架構/程式流程/spectator.md | 觀戰 |
testing/ |
程式架構/testing.md | 程式架構/程式流程/testing.md | 程式架構 · 升版 |
ugc-fork/ |
程式架構/ugc-fork.md | 程式架構/程式流程/ugc-fork.md | UGC 機制 · 衍生 |
versioning/ |
程式架構/versioning.md | 程式架構/程式流程/versioning.md | 版本規範 · 升版 |
3. 圖表工具與風格規範¶
全 corpus 圖表一律用 mermaid(in markdown ```mermaid block,GitHub 自動渲染);本地 preview 可用 VS Code Mermaid 擴充或 JetBrains Markdown Mermaid。提交前以 pnpm check:mermaid 驗證圖表語法,並以 pnpm docs:build 驗證完整文件輸出。
方向與規模規則:深流程、依賴鏈與狀態推進優先使用 TD/TB;只有節點確實需要橫向比較時才用 LR。手寫圖超過 30 nodes 或 50 edges 必須拆圖,且不能省略例外或跨圖關係;生成圖由 generate-docs.mjs 使用同一門檻決定性拆分,跨頁邊另列完整可連結表。Markdown fence 與圖內容必須維持 GitHub 原生渲染可讀,不得依賴本站 dialog 才能理解。
3.1 圖型對應¶
| 流程性質 | 圖型 |
|---|---|
| 線性管線(觸發 → 處理 → 寫入) | flowchart TD |
| 多方訊息往返(握手、多簽、仲裁投票) | sequenceDiagram |
| 狀態機(生命週期、狀態遷移) | stateDiagram-v2 |
3.2 flowchart 樣板¶
首行 init + 結尾 classDef 全 corpus 統一,複製即用:
%%{init: {"theme":"base","themeVariables":{"fontSize":"14px","primaryTextColor":"#1f2937","lineColor":"#64748b"},"flowchart":{"curve":"basis"}}}%%
flowchart TD
%% …節點與邊…
%% subgraph 分執行層(虛線透明框):
%% style SG1 fill:transparent,stroke:#b9c4d2,stroke-dasharray:4 3
classDef local fill:#e8f3ec,stroke:#3f8f5f,stroke-width:1.4px,color:#173525;
classDef consensus fill:#fdf3df,stroke:#c08a2d,stroke-width:1.4px,color:#3d2c0d;
classDef chain fill:#e7eefb,stroke:#3f6bb0,stroke-width:1.4px,color:#152848;
classDef fail fill:#fae9e7,stroke:#b4544a,stroke-width:1.4px,color:#471d18;
classDef ui fill:#efeafa,stroke:#7a5cb8,stroke-width:1.4px,color:#2b1d4d;
色彩語意(五類固定,個別圖用到哪幾類就掛哪幾類):
| class | 色 | 語意 |
|---|---|---|
local |
綠 | 本地/單端動作 |
consensus |
黃 | 多方協調(共識、多簽、仲裁、投票、握手) |
chain |
藍 | 帳本/上鏈/全網效果 |
fail |
紅 | 中止/拒絕/降級路徑 |
ui |
紫 | 呈現/使用者介面 |
形狀語意:([…]) 觸發 / 事件、[…] 處理、{…} 決策(分支邊必標 |"是"|/|"否"| 或條件)、[(…)] 帳本 / 資料寫入。
3.3 sequenceDiagram 樣板¶
%%{init: {"theme":"base","themeVariables":{"fontSize":"13px","primaryTextColor":"#1f2937","lineColor":"#64748b","actorBorder":"#3f6bb0","actorBkg":"#e7eefb","noteBkgColor":"#fdf3df","noteBorderColor":"#c08a2d"}}}%%
sequenceDiagram
autonumber
box rgb(232,243,236) 發起方群組
box rgb(231,238,251) 帳本/服務群組
box rgb(253,243,223) 全網/第三方群組
box 三色與 flowchart 色彩語意對齊(綠 = 本地 / 發起、藍 = 帳本 / 服務、黃 = 多方 / 全網);分支用 alt/opt,異常敘述收進 Note。stateDiagram-v2 沿用 flowchart 的 init(fontSize 14)。
3.4 紀律¶
- 圖是骨架、文字是權威:公式、參數、門檻值、§ 引用不進節點標籤;規範細節放圖下方「步驟細目」清單或既有章節,嚴禁圖文兩份規範文字。
- § 引用一律寫成連結:
[§N.M](路徑.md#錨點)(同檔用[§N](#錨點));歷史記錄依歷史快照語意豁免,重編號斷引由連結檢查看守。 - 節點標籤 ≤ 2 行(
<br/>斷行)、保持短;細節一律下沉。 - GitHub 相容紅線:只用廣泛支援語法——禁
fa:圖示(emoji 可、節制)、不用 ELK 佈局、顏色以 classDef 明示不依賴主題深淺。
4. 命名約定¶
| 對象 | 命名 |
|---|---|
| 流程檔 | 使用語意名稱 <中文名>.md(如 配對.md、衍生.md),父層已表達「流程」 |
| Fork → 衍生 | 一致使用「衍生」 |
| DMCA | 保留 DMCA(法律術語) |
| UGC | 保留 UGC(公認術語) |
5. 新增流程的程序¶
加新流程:
- 在
流程/內新增<中文名>.md - 在本檔 §1 索引加一行
- 在 玩家整體旅程.md §2 對應節點加引用
- 補 cross-reference 到其他相關流程檔