跳轉到

歷史記錄 · 2026-06-04

月份索引歷史記錄

重大重構里程碑

2026-06-04~05 ─ project-resources → 企劃 新舊脫鉤大重構(29 模組 + 3 資料夾慣例 + 去重 audit)

決策檔:D-20260604-01D-20260604-02D-20260604-03D-20260604-04D-20260604-05

動機:[D5(2026-05-31)] 定 企劃/ = canon、project-resources/ = 純歷史,但 canon 內散落 ~120+ 裸指標(詳見 xxx/spec.md)指向已過時的 project-resources 模組 spec(如 protocol_version: number 對 canon 的 string)。本批切斷 canon 對 stale project-resources 的依賴:實作細節遷入新 程式架構/<module>.md(英文檔名、蒸餾 + reconcile)、領域設計留 canon 主檔、re-point 所有指標。一次成立、不因後續規則變動重做。

遷移落點(29 模組)

變動 位置
27 模組 → 程式架構/ versioning / ledger / economy / ugc-fork / anti-piracy / dmca / reputation / ugc-rating / moderation / key-manager / security / network-sync / matchmaking / i18n / seo / peer-discovery / pinning-service / signaling-service / pwa-offline / interfaces / testing / physics-engine / spectator / chat-system / settings / builtin-assets / system-constants → 程式架構/*.md(英文檔名對應 src/);各 canon 主檔 re-point、程式架構 §9.1 索引表 程式架構/ + 各 canon
ui-mockups → 美術資源/ design/art 性質、非 src/ runtime → 建 美術資源/ 資料夾(繁中檔名)放 設計系統 / 前端技術策略 / 頁面線框 / UGC卡片;HUD 細化救進 賽內機制 §2.4;binary 美術資產複製 final 27MB 至 美術資源/visual-mockups/、原始 + WIP 留 project-resources 美術資源.md + 美術資源/
audio-system → 其他/(待定) 音樂相關待定(總覽 §82 / 其他 §2),不進 程式架構/ → 建 其他/ 資料夾 + 其他/audio-system.md 其他.md §2、總覽 §82
physics-engine / system-constants 全 defer physics-engine.md 只留引擎管線、算式 defer 算式表 §1–§11;system-constants.md 只留套件結構、值 defer 程式參數表(兩者早已是當前權威) physics-engine.md、system-constants.md
⭐ 3 資料夾新慣例 程式架構/ = 已拍板 src/ 實作(英文檔名、程式架構.md 索引);美術資源/ = canon 細化同名資料夾(繁中、美術資源.md 索引);其他/ = 待定/未拍板模組(其他.md 索引)

脫鉤期間裁決(新決定,前述里程碑未涵蓋)

裁決 內容 位置
Checkpoint 三同名拆開 賽道 Checkpoint_<n>(防抄近路)/ 賽內快照 RaceSnapshotEvent(在場 ⌊N/2⌋+1、physics checksum、ephemeral、每 60s)/ 帳本檢查點 LedgerCheckpointEvent(治理 ⌊2N/3⌋+1、狀態整併·同步·裁剪);兩 quorum 各管各皆正確;跨 ~14 檔正名(CHECKPOINT_* 常數沿用 = 賽內快照) 資料系統 / ledger.md / 賽內機制 / 程式參數表 等
退役統一 狀態純 derive 吃「自動條件 + 手動 UgcMaintenanceEvent reason:'retire'」;UgcRetireEvent 折進 maintenance;違規走 blacklist 資料系統 §3/§13、ledger.md §7
fork × 退役分潤正交 分潤跟血緣、與可用性狀態(黑名單/退役/unusable/yanked)正交;只需 forkLineage 不需 GLB pin 版權 §3.4、衍生流程 §8
C1 黑名單純仲裁 廢「加權檢舉數 ≥5 直接黑名單」快速路徑 + 舊 reportWeight(0.5/1/1.5);所有檢舉走隨機抽合格仲裁者 → 加權(log10(rep+10))投票 >60% 信譽系統 §2.4、moderation.md
C2 高評分里程碑 per-CID 每個 voteCount ≥10 且 ≥4.5★ 的 UGC 作者各 +20(awardedCids 去重),取代「累計 5 個」 信譽系統 §1/§2.2/§3.4、ugc-rating.md
C3 隱式評分整數查表 算式表 §19 浮點 min(4.8, 3.0+log10(usage+1)×0.6)implicitRatingX100 整數查表(0→300 / 1-9→360 / 10-99→420 / 100-999→480 / 封頂 480),消除跨硬體浮點 consensus 不一致 算式表 §19
SignedPayload nonce 安全修正 簽章涵蓋 payload + timestamp + nonce + signer(原只簽 payload = 可改時戳重放);驗章 ±30s + nonce set 防重放 資安規範 §3.4、key-manager.md §9
配對窗口定案 ±50 / +10每秒 / ±500±5 / +5每10秒 / ±30(displayRating = μ-3σ 尺度;舊值會秒配所有人) 賽內機制 §1.2、程式參數表 §6、matchmaking.md
結算簽章協議歸位 比賽結算簽章交換協議(SettlementProposal/Signature/Reject/Takeover + buildRaceResultCandidate + reviewAndSignRaceResult + pubsub topic)從 matchmaking 夾帶移到正確的家 ledger.md §5(屬 RaceResultEvent 共識) ledger.md §5
i18n 複數改 ICU 手寫 .zero/.one/.other → ICU MessageFormat(語系清單 §8 口徑) i18n.md、語系清單 §8
舊專案名汰除 mini-4wdopen4wd / open-4wd(bootstrap·relay·repo·CACHE_NAME·idb 名) 多檔
廢棄資訊鐵則 權威檔(程式架構/ + 所有 spec)絕不留 reconcile/已移除/舊→新/日期等廢棄敘述;歸本檔。2026-06-05 全 21 程式架構/ 檔掃淨 全 程式架構/

結構慣例(隨脫鉤確立)

內容 位置
header「對應模組」連實作 8 檔 header「對應模組 xxx/」→ 連 [程式架構/xxx.md] 信譽系統 / 版權 / 部署資訊 / 資安規範 / 語系清單 / 觀戰流程 / 經濟系統 / 程式架構
流程 §2 diagrams 三分流 技術流程圖 → 程式架構/程式流程/(13 檔);業務/遊戲流程留現有 流程/*.md(內容完整、不另遷);混合模組(matchmaking/ugc-fork/spectator/chat-system)拆兩邊;§2 已 0 個 project-resources 指標 流程 §2、程式架構/程式流程/

去重 audit + 漂移修正(2026-06-05;脫鉤搬遷每棒只查 footprint + 設計主檔、未比對流程/*.md → 產生重複且部分漂移;4 agent 全面 audit)

變動
A 漂移 配對窗口 / 重連窗口 流程/配對.md 仍舊值 ±50/+10/±500 → 修正 + 砍廢棄 +100 boost;matchmaking.md 重連「30 秒」→ 15 秒
A 漂移 weapon_triggerweapon 8-skill enum 統一(interfaces / ugc-fork / 賽內機制 §2.4 / 頁面線框)
A 漂移 fork tie-break / 版本欄位數 ledger.md「timestamp 先到」→ lexicographic-checksum;遊戲機制「5 欄位」→ 6 欄位
A 漂移 標準化步驟 / CSP / SignedPayload / 快取表分歧 版權 §5.2.1(6 步 vs anti-piracy 8)/ 資安 §4 CSP / §3.4 / 部署 §6.2 → trim 成摘要 + 引用權威
B 去重 公式類 Bayesian / 隱式查表 / 評分權重 / derive / voteWeight → 留 算式表 §16–19 權威,impl 引用
B 去重 規則 / 介面 / 常數 CVE 表→資安 §9;仲裁門檻→信譽系統 §8.1;LedgerApi / I18nService / checkCompatibility / HREFLANG → 留 impl / 程式參數表 §16 權威、canon 引用
minor ROLLBACK_FRAME_BUFFER vs StateBuffer 非衝突(回滾視窗 7-10 ≠ 緩衝容量 12);程式參數表 §8 加具名 STATE_BUFFER_MAX_FRAMES=12 + 不變式 ≥ 視窗

過程 artifact:完整脫鉤進度 / 每棒 reconcile 細節留在維護者本機工作筆記(未入 repo)。Q2③(頻繁斷線信譽懲罰) 仍暫緩(見 2026-06-02 條目)。

2026-06-04 ─ UGC機制 審視(標籤翻正 + Fork ancestors 瘦身 + AI mesh 工作流搬位)

決策檔:D-20260604-06

動機:UGC機制.md 逐題審視(8 題)。主線:該檔多處把零件層 / 通用規則誤標為「整車」(屬組裝、不在上鏈範圍)或塞進「場地專屬」(實為零件 / 場地通用)。Q1/Q2/Q4/Q5/Q7 為 2026-06-02 批次;Q6/Q8 為 2026-06-04 批次;Q3 純解釋(watertight 作用)無 edit。

變動 位置
Stage 1 不擋場地 tris 移除「整車場景超過 TRACK_TRIANGLE_COUNT_MAX 拒收」(錯標 + 場地走自動 decimate + Stage 3 檢核當後盾,Stage 1 不必擋) UGC機制 §2.2、UGC上傳流程 §3
禁止材質剃除而非拒收 Stage 1 自動剃除違規材質指派 → 變未指派,Stage 2 重指派;Stage 3 仍嚴格拒收殘留 UGC機制 §2.2 / §4.2、UGC上傳流程 §3
§3.1 拆幾何即算 vs 材質後算 volume / bbox / surface_area / watertight / decimate 不依賴材質可先算;mass_g / centroid 依賴材質密度(reactive 重算) UGC機制 §3.1
移除組裝層約束誤植 §4.2 刪「整車質量 50–500g / 整車 AABB 250×130×100 / 武器無 chip 但裝載」三列(屬 loadout 層、車輛組裝.md 檢核);mass_g 標籤改「部件質量」;保留「單一零件內多材質密度比 50:1」 UGC機制 §4.2、UGC上傳流程 §4
≥1 mesh + 安全性 改通用 「至少 1 mesh」「無可執行內容 / 外連 URL」從場地專屬 §9.1 搬到通用 §2.2(零件原本缺這兩道,是漏洞) UGC機制 §2.2 / §9.1、UGC上傳流程 §3
Fork ancestors 瘦身(Q6) per-record ancestors 由全鏈收斂為至多 2 筆 = [parent, grandparent](= royalty maxDepth − 1,本人即 record 自身);更深血緣靠 parent 邊逐跳上溯重建(ForkTreeDerivedState) UGC機制 §5.2 / §5.3 / §5.4、版權 §3.1 / §4、衍生流程 §1 / §2 / §3、資料系統 §4
移除 FORK_DEPTH_MAX(Q6) ancestors 不再隨鏈深增長 → 無儲存膨脹;深鏈受每次 fork 燒幣(50 / 500)經濟設限,毋須深度上限 程式參數表 §3、UGC機制 §5.3、版權 §4、衍生流程 §3
AI 單一 mesh 工作流搬位(Q8) §9.2.1(K-means 切割 / 材質指派)→ 新 §3.7「零件 / 場地共用」、§9.2.2(launch 武器三路線)→ 新 §3.8「零件」;未指派 cluster 預設材質由固定 asphalt 一般化為「該 scope 預設(場地 asphalt / 零件依 type)」;§9.2 留指標、「三階段」筆誤改「四階段」 UGC機制 §3.7 / §3.8 / §9.2

Q6 caveat:治理若調 revShare.maxDepth > 3,舊 record 的曾祖以上層靠 parent 邊回推補齊即可。 Q2③(頻繁斷線信譽懲罰)暫緩:見 2026-06-02 斷線結算條目,待信譽系統審查時 reconcile。