歷史記錄 · 2026-05-24¶
重大重構里程碑¶
2026-05-24 ─ 去重整理(流程檔精簡公式重述)¶
動機:第三輪審計完成後檢查新企劃資料夾是否有重複內容。Agent 掃描找到 10 個重複主題,分析後確認流程/*.md 內公式重述為真重複(流程檔應為步驟+link,不應重述 spec 公式 + 範例表)。算式表 vs 系統 spec 檔的「公式 vs 設計脈絡」屬互補不算重複,保留。
精簡原則:流程檔每節保留「一句話摘要 + link 指 canonical」,刪除完整公式 / 範例表 / 完整事件清單。
| 檔 / 章節 | 變動 |
|---|---|
| 流程/比賽結算.md §2 比賽獎金 | 完整公式 + 8 人賽範例表 → 摘要+link 經濟系統 §6 + 算式表 §13 |
| 流程/比賽結算.md §3 整除尾數 | 完整論證 → 摘要+link 經濟系統 §13 |
| 流程/比賽結算.md §4 Royalty | 完整公式 + Niche 表 → 摘要+link 算式表 §14 + 經濟系統 §7.1 |
| 流程/比賽結算.md §5 三層分潤 | 完整表 → 摘要+link 經濟系統 §8 + 版權 §3 |
| 流程/比賽結算.md §7 TrueSkill | 完整公式 → 摘要+link 算式表 §20 |
| 流程/比賽結算.md §10 月軟曲線 | 完整公式 → 摘要+link 經濟系統 §5.1 + 算式表 §12 |
| 流程/比賽結算.md §11 24h K=5 | 完整 hash 公式 → 摘要+link 經濟系統 §6.1 |
| 流程/信譽變動.md §2 + §3 加扣分事件 | 完整 10 項事件表 → 摘要+觸發來源表+link 信譽系統 §2.2/§2.3 |
| 流程/信譽變動.md §4 新手保護 | 完整表 → 摘要+link 信譽系統 §4.1 |
| 流程/信譽變動.md §7 信譽連動 | 三個完整子節(仲裁加權 / UGC 評分權重 / 黑名單)→ 摘要+link 算式表 §17-19 + 信譽系統 §2.4 |
| 流程/信譽變動.md §8 UI 顯示 | 兩個完整 UI 範例 → 摘要+link 信譽系統 §3.1/§9 |
| 賽內機制.md §1.3 新手保護 | 完整 4 項表 → 摘要 +link 信譽系統 §4.1 |
算式表 vs 系統 spec 不算重複(保留現狀):
- 算式表是「公式 source of truth」,系統 spec 是「設計脈絡」
- 例如算式表 §15 純三層分潤公式 vs 經濟系統 §8 三層分潤設計理由 + 數學保證 — 兩者互補不重複
- 信譽系統 §3.4 Niche 倍率簡述(已 link)OK 不修
2026-05-24 ─ 第三輪審計 N1-N10 回填(UI/UX 規則層 + drift 修正)¶
動機:Critical + Important 完成後對 8 個未掃舊檔(專案企劃書、economy/overview、ui-mockups 7 檔)做審計,找到 30 項潛在缺漏。分類後 10 項屬規則層級回填,20 項屬 UI/美術技術細節按 D 策略跳過。
Drift 修正(同日掃描發現):
| 檔 / 行 | 舊 | 新 |
|---|---|---|
| 流程/DMCA.md §5 | ⌈M/2⌉+1 |
floor(2N/3)+1(對齊 governance.md) |
| 遊戲機制.md §5 Stats | rolling_resist |
rolling_resistance(對齊 2026-05-23 第二輪 B) |
N1-N10 回填:
| ID | 變動 | 位置 |
|---|---|---|
| N1 | 房主切換三階段(房間等待繼任 / 比賽中 / 結算皆無作用)+ 比賽中無踢人權限 | 流程/配對.md §8 |
| N2 | 13 個頁面 route 完整清單 + 各對應流程 link | 程式架構.md §13 頁面路由 |
| N3 | 設定頁項目級詳細(帳號 / 音訊 / 顯示 / 網路 / 遊戲行為 / 隱私 / 關於 / 開發者)+ 遊戲時長提醒 + 隱私聲明 | 遊戲機制.md §9 擴充 |
| N4 | 房間等待頁 P2P 診斷 + 結算頁勝者展示 + 彩蛋(破壞物數 / 撞擊熱點圖 / 過場) | 流程/配對.md §9 + 流程/比賽結算.md §13 |
| N5 | HUD Fatigue Indicator 防閃爍輪播(dwell 1.5s / 動畫鎖定 / broken 強制切換 / 色盲圖示區分) | 賽內機制.md §2.4.1 |
| N6 | 票數顯示規則(< 5 樣本不足提示 / 5-50 標準 / > 50 公認可靠)+ 隱式 fallback 標籤 | 信譽系統.md §3.1 |
| N7 | 隱式 fallback 公式具體值 implicit = min(4.8, 3.0 + log10(usage+1) × 0.6) + 封頂理由 |
算式表.md §19 |
| N8 | 互動式 Onboarding 4 步(抄助記詞驗證 / 組裝 / 本地測試 / 開放上鏈)+ 新手用語平民化 | 流程/玩家整體旅程.md §5 |
| N9 | 廢棄鑄幣機制明文化(挑戰任務 / 掛網 / 服務證明 + 不採納理由) | 經濟系統.md §3.1 |
| N10 | Niche 加成階梯式平滑過渡(≥4.5×2.0 / 4.0-4.49×1.5 / 3.0-3.99×1.0 / <3.0×0.5)避免邊界跳變 | 經濟系統.md §7.1.1 |
註:N9 用 §3.1 子節而非新 §4,避免 renumber 破壞 §8 / §13 / §14 cross-refs。
D 策略跳過的 UI / 美術技術細節(~17 項):
- 響應式斷點 / 主題系統 / Three.js 同步 / Design Token / SVG 規範 / CJK Subset / 設計 pipeline
- 美術基準比例 / 11 類零件視覺指引 / 建模 SOP
- 行動端 UX 細節 / 色盲 HUD 圖示細節 / HUD 更新頻率分層
- 字級 / 按鍵自訂 / PWA 離線詳細表
2026-05-24 ─ Important 21 項回填(建模容差 / 武器方向 / partition / fork 判定 / 信譽門檻 / 型別系統)¶
決策檔:D-20260524-04
動機:Critical 10 項完成後,依使用者「a」決策繼續 Important 22 項回填。I16(fingerprintVersion pass-through)已在 C8 §5.2.3 涵蓋,實際動工 21 項。
策略:A + D(逐項討論已採我的建議,跳過 implementation 細節)
I7 武器方向設計確認(user 澄清後):採方案 B — 武器最終方向 = chassis Mount_Weapon transform × weapon Mount_Weapon transform 配對結果;組裝階段玩家完全不調整方向(對齊 C4 鐵則)。同顆武器裝不同 chassis 自然有不同行為(chassis 接點朝下 vs 朝側邊 vs 接點位置不同等)。
| ID | 變動 | 位置 |
|---|---|---|
| I1 | Tamiya envelope 165×105×70mm 軟性建議 | 車輛組裝.md §3.4 |
| I2 | Canonical 尺寸 + Lenient ±15% 容差檢核(0-±2mm 嚴謹 / ±2-±15% 軟警告 / >±15% 拒收) | 建模參數.md §7.3 |
| I3 | Voronoi voxel fallback 概念(method = cell_fracture / voxel_fallback) | 建模參數.md §4.1 auto_fragments desc |
| I4 | 強制壓縮設計理由(Draco + KTX2 都是 glTF 2.0 標準 extension)+ 表結構修正 | UGC機制.md §9.3 callout |
| I5 | 8 方向 aero 明示哪 8 方向(±X/±Y/±Z + ±X+Z 30°) | 建模參數.md §4.2 |
| I6 | auto_feature_deviations[] 結構 + auto_volume_estimated 補入 auto_* 欄位清單 | 建模參數.md §4.1 |
| I7 | 武器方向 = mount transform 對接(無自由旋轉角度) | 建模參數.md §3.7.1 |
| I8 | 武器 Scene Graph 結構範例(含鏈條 / launch 子節點) | 建模參數.md §3.7.2 |
| I9 | Tripo launch 武器三條路線(純瀏覽器 / Blender / 雙次 Tripo) | UGC機制.md §9.2.2 |
| I10 | watertight 驗證 + voxelization 備援(融入 auto_volume_cm3 desc) | 建模參數.md §4.1 |
| I11 | Hot/Cold partition 切分時機(apply 純 hot / checkpoint 才搬 cold) | 資料系統.md §9.1 |
| I12 | deriveStateAt 純函數 API(不修本機 cache 推導歷史) | 資料系統.md §15.1 |
| I13 | Cold partition lazy load UX(CID map 預載 + 查時拉內容) | 資料系統.md §10.1 |
| I14 | rigidDiff 取最大分量聚合策略 | 版權.md §5.2.5 |
| I15 | functionalDiff / gpChipDiff OR 邏輯 | 版權.md §5.2.6 |
| I17 | Parent 進黑名單後 fork 仍 20% 分潤(既得權益保護延伸) | 版權.md §3.4 |
| I18 | 連勝「冠軍」定義(最近 5 場全部第 1 名)+ milestone map 防重複頒發 | 信譽系統.md §2.2 |
| I19 | 惡意檢舉者判定三條件 AND(樣本 ≥10 + 準確率 <30% + 上月無前科)+ 新手 UGC <3 抬高閾值 | 信譽系統.md §4.1 / §4.3 |
| I20 | 仲裁參與三條件(信譽 ≥200 + 場數 ≥10 + 註冊 ≥30 天) | 信譽系統.md §8.1 |
| I21 | SignedPayload 介面概念 + 驗章流程(timestamp / nonce / signature) | 資安規範.md §3.4 |
| I22 | Brand 型別定義(ProtocolVersion / Mm / Gram / X1000 / MinorUnits 等)+ 不變式清單擴充 | 程式參數.md §19.1 / §19.2 |
I16 已涵蓋:fingerprintVersion 跨版本 pass-through 已在 C8 §5.2.3 補入
Backlog 剩餘:Detail ~20 項(implementation-level,按 D 策略繼續暫掛)
2026-05-24 ─ Critical 10 項回填(共識安全 + 多訊息協議 + signer 治理 + 物理介面)¶
動機:上一輪場地大改後,平行掃描 project-resources/ 全部 36 個 spec 找出新企劃資料夾遺失決策,整理 50+ 項缺漏(Critical / Important / Detail 分級)。Critical 10 項對齊回填,Important / Detail 暫掛 backlog 後續分批。
策略:A + D(先 Critical,跳過 implementation 細節)
| ID | 變動 | 位置 |
|---|---|---|
| C1 | 整除尾數抹零跨平台論證強化(為何 bigint / 是純粹行為 / 跨 JS 引擎一致 / 浮點 IEEE 754 rounding 風險) |
經濟系統.md §13 |
| C2 | OnboardingMintEvent 重複領取驗證(自簽 + 首次出現 + 金額固定 + DerivedState 快取) | 經濟系統.md §10.1 |
| C3 | 月度跨界 checkMonthRollover 時序保證(每筆 mint 事件處理前必先呼叫,用 event.timestamp 為基準) | 經濟系統.md §5.1 |
| C4 | 賽後結算多訊息協議(4 種訊息 + 30s/5s 時間窗 + 主流程 + 完賽者驗算 + 9 種異常情境含 takeover) | 流程/比賽結算.md §8.1–§8.5 |
| C5 | LoadoutSubmission 賽前流程(60s 提交 + 10s 互驗 + 5 項驗證 + 不上鏈 + 重連 loadoutHash 比對) | 流程/比賽進行.md §1(新增第一章) |
| C6 | Reconnect 15s + 異常斷線位置 + 中途斷線者壓 σ 權重 + Graceful Leave vs 異常斷線 | 流程/比賽進行.md §12(新增) |
| C7 | Signer Set quorum 改為 floor(2N/3)+1(修 drift:原 ⌈M/2⌉+1 違反 governance.md)+ 初始化規範 + signer 變更流程 + 緊急回滾必要欄位 |
流程/治理事件.md §4 / §7 / §8 |
| C8 | Mesh fingerprint 五步驟標準化演算法(平移/PCA/縮放/量化/排序/SHA-256)+ 鏡像偵測(signed_volume)+ fingerprintVersion pass-through + 演算法不變式 | 版權.md §5.2.1–§5.2.4 |
| C9 | DeterministicWorld 介面(step/snapshot/restore/computeChecksum/engineVersion)+ Rapier 版本鎖定(major bump 視同 protocol bump) | 程式架構.md §2.1 |
| C10 | settlement_timeout_seconds (30) + takeover_wait_seconds (5) 常數補入 EconomyConfig | 程式參數.md §17.2 |
Drift 修正:
- 治理事件.md 內所有
⌈M/2⌉+1→floor(2N/3)+1(對齊 governance.md,最低不得低於 3)
Important / Detail 暫掛 backlog(後續分批):
- 零件 / 物理 / 建模(10 項):Tamiya envelope / Canonical 容差 / Voronoi voxel fallback / Draco 量化參數 / 8 方向 aero 預烘焙演算法 / auto_feature_deviations / 武器方向雙層複合 / Tripo launch 三條路線 / volume watertight 等
- 經濟 / 帳本 / 信譽 / 版權(8 項):Hot/Cold partition 時機 / deriveStateAt API / lazy load UX / rigidDiff 取最大分量 / functionalDiff OR 邏輯 / fingerprintVersion 跨版本 / Parent 黑名單分潤保護 / 連勝冠軍定義
- 信譽 / 仲裁 / 治理 / 安全(4 項):檢舉準確率邊界 / 仲裁參與門檻 / SignedPayload 結構 / Brand 型別不變式
- Detail(~20 項):implementation-level 細節按 D 策略跳過
動機:審計建模參數表發現 9 項待清理項目;再對照舊 project-resources/ui-mockups/visual-mockups/track-functional-spec.md 發現新企劃資料夾遺失大量場地系統決策,依舊文檔(已對齊 2026-05-18 後續決策)回填。
建模參數表 9 項清理:
| ID | 變動 | 細節 |
|---|---|---|
| 1 | §1 欄位定義改寫 | required 與 auto 是正交維度;required 定義改為「上鏈時必有值(不論玩家填還是 auto 算)」;補 4 象限對照表 |
| 2 | motor torque_ratio desc |
移除「(含舊 gear_ratio 概念)」歷史包袱文字 |
| 3 | battery 輸出功率 | declared_output_w / output_w 兩名並列 → 只保留 declared_output_w |
| 4 | chip kinetic_ratio 鎖死 | 上鏈後完全 immutable(移除「組裝時可調」例外);跨檔 drift 清查:車輛組裝 §2 移除 chip_kinetic_ratios loadout 欄位 + §4 改寫整章 + §8 移除「編輯 kinetic_ratio」步驟、零件與場景 §8.2 對齊、UGC機制 §3.5 軟提示改 Stage 2、算式表 §3 link 改指 零件與場景 |
| 5 | weapon_branch 結構扁平化 | 廢除 weapon_branch 容器 → 扁平為 3 個獨立 extras:weapon_mechanism / weapon_main_mesh_node / weapon_max_angle_deg;跨檔對齊(建模參數表 §3.7 / 零件與場景 §9.2 / UGC機制 §3.2+§4.2 / 流程/UGC上傳流程 §2+§4 / 遊戲機制 §1+§6 / 算式表 §3) |
| 6 | §3.7.1 加 Pivot 指引 | 末尾加註「Axis / Pivot 透過 empty node 宣告,見 §5.2」避免讀者只看 §3.7 |
| 7 | body 移除 auto_frontal_drag_coef | 「向後相容簡寫」違反 no_mvp_staging;runtime 自己讀 auto_aero.drag_coefs[forward] |
| 8 | auto_empties / auto_inferred desc 詳化 | 從 8 字 desc 改成完整白話:empty node 位置快取(免 traverse GLB)/ fallback 推斷標記(UI 提示玩家補標) |
| 9 | chassis single mount 排版 | Mount_Weapon × 4 易誤讀 → 改 [Mount_Battery, Mount_Motor, Mount_GP_Chip, Mount_Weapon] // 4 個(各一) |
場地章節 13 缺項回填:依舊 track-functional-spec.md 補入,並對齊 2026-05-15~05-23 後續決策(31 材質 / magnet_field entity 廢除 / is_special_fluid→is_fluid / ambient_temp)。
| 缺項 | 回填位置 |
|---|---|
| 場地識別 marker | 建模參數表 §8 開頭:open4wd_track_version: "1.0" 取代舊「type: 'track'」 |
| 跑道結構(open/fixed + waypoints schema) | 建模參數表 §8.1 + §8.2 + 零件與場景 §11.1 |
| 脫離跑道 b-soft 處罰流程(1.6s) | 遊戲機制 §12.2 |
| 掉出場地三層處理(KillZone + 重力 fallback + 橫向不檢核) | 遊戲機制 §12.3 |
| 天氣系統(normal/rain/snow + temperature + 風 + patch;temperature 對齊 ambient_temp 去_celsius 後綴) | 建模參數表 §8.3 + 遊戲機制 §8.3 |
| 重力系統(gravity_direction + gravity_strength_m_s2) | 建模參數表 §8.4 + 遊戲機制 §12.4 |
場地 Empty 命名(Waypoint_N / Checkpoint_N / KillZone_<n> / RespawnPoint_<n>) |
建模參數表 §5.4 |
| 場地規格限制(80MB / 3M tri / 500m AABB / Draco+KTX2 / entity ≤ 100 等) | 建模參數表 §7.2 |
| Entity 詳細 extras(motion_curve / period_ms / amplitude_mm / conveyor_velocity_m_s) | 建模參數表 §9.2 + 零件與場景 §10 |
| Sub-mesh K-means 切割工作流(Option C:auto + manual A/B/C/D) | UGC機制 §9.2.1 |
| 場地標籤系統(terrain_type / difficulty / style / size_class / feature_tags + 冷啟動評分) | 其他 §7 + UGC機制 §9.4 |
| 場地 Stage 1/2/3 特殊規則(檔案 ≤ 80MB / 強制壓縮 / 跑道結構檢核) | UGC機制 §9.1–§9.3 |
| 場地反作弊規則 | UGC機制 §9.5 |
舊文檔處置:project-resources/ui-mockups/visual-mockups/track-functional-spec.md 已被新企劃資料夾完整涵蓋,可視為設計參考保留(決定 Q1:暫不加 deprecated banner)。
Q1-Q6 後續決策(同日收尾):
| Q | 決策 | 動作 |
|---|---|---|
| Q1 | 暫不加 deprecated banner | 無動作 |
| Q2 | track.type 維持 open / fixed 命名 |
無動作(已對齊) |
| Q3 | K_thermal 加進待校準常數清單 | 其他.md §5 新增 K_thermal 條目 |
| Q4 | 集中天氣 / 重力公式到算式表 | 算式表.md §10 重組為「場地物理」並擴充 5 子節(§10.1 entity destructible / §10.2 patch 混合 / §10.3 風力 / §10.4 重力 / §10.5 散熱率);遊戲機制 §8.3 / §12.4 公式區改為 link 指向算式表 |
| Q5 | 視覺水體做法補入零件與場景 §10.2 decoration | 零件與場景 §10.2.1 新增視覺水體設計指南(湖底跑道 mesh + 水面 visual_only + shader + post-processing) |
| Q6 | 場地反作弊放 UGC機制 §9.5 / 資安規範指向 | 資安規範 §11 重組為 §11.1 賽內反作弊 + §11.2 場地 UGC 反作弊(指向 UGC機制 §9.5) |
Drift 修正(auto-fill 後檢測到的命名不一致):
| 欄位 | 舊 → 新 | 理由 |
|---|---|---|
weather.temperature_c |
weather.temperature |
對齊 ambient_temp 去 _celsius 後綴(2026-05-23 統一命名決策) |
ambient_temp_c |
ambient_temp |
同上 |
rolling_resist |
rolling_resistance |
對齊 TS 全名(2026-05-23 第二輪 B) |