跳轉到

歷史記錄 · 2026-07-05

月份索引歷史記錄

重大重構里程碑

2026-07-05 ─ 企劃/ 全 corpus 收官掃描:跨檔一致性大掃除(細項 4、跨 8 檔;無中級以上發現)

打法=20+ 組歷史 drift 詞家族全量掃(steering/lock_steer/trackMusic/customBgm/playlist/強制橫向/ngsw/environmental/parts-tree/trackPreferences/partyId/ModerationActionEvent/piracy-arbitration-loss/physics-cheat/low-quality/plagiarism/UploadDispute/舊 route 名/rollback-needed/加入版本/上鏈 (Stage 3)——全 0 殘留、僅剩合法否定句)+鐵則違規掃(MVP/v1.x 措辭 0)+死鏈與錨點抽查(其他/ 死鏈 0、visual-mockups 僅 archive 指標、資料系統 §6/賽內 §2.6/頁面線框 §8·§13 入站全通)+find-simplified-chinese.py 全掃+檔頭角色行盤點。修 4:①程式架構 :291 editor 索引列「上鏈驅動」→「送出驅動(雙出口)」(分岔同族第 3 處)②日期註記 ×5 去除(違「權威檔只寫現況」鐵則——定案日期=歷程:賽內機制 :136/其他.md :3/編輯器操作 :323/版權 :309 MIT/audio-system :5)③美術方向.md 補「本檔角色」行(正規 spec 檔唯一缺漏)④歷史記錄 :12「删除」→「刪除」(全 corpus 唯一真簡體字;「里程碑」全為工具誤報)。觀察維持:程式流程/ 13 檔=純圖集慣例無角色行、提示詞/ 4 檔=參考件 banner 慣例、K 族 TBD+economy TODO=合法待校準/待實作註記。企劃/ 全 corpus 收官掃描結案。

2026-07-05 ─ 總覽.md 首輪複審:三階段圖送出分岔鏡像+定位列補強(中1細項4+順帶 2、跨 3 檔)

26 根層檔 vs 索引 26/26 全覆蓋、分類歸位乾淨。修:⭐中1「三階段創作流程」節分岔漏網(:21 圖「上鏈 (Stage 3)」+:30 表列)→「送出 (Stage 3:本機測試 / 上鏈)」+表列補雙出口(出口 A 免燒幣 local:<uuid>/出口 B IPFS+ledger+燒幣);順帶同款圖 ×2:UGC上傳.md :9+UGC機制.md :9(中2 修檔頭與 §6 時漏的一行圖)。細項 4:①P2P bullet「無中心化伺服器」→「無必要中心」(部署資訊定案措辭家族)+「signaling / pinning / TURN 皆可自架」②FFA bullet 補「多回合積分賽(1–5 回合)」③資料夾指標對稱(程式架構列補「實作細化 30 檔在 程式架構/」、流程列改「跨模組流程索引(12 流程檔在 流程/)+圖表工具」)④其他列括號改「其他/ 待定模組暫存區、目前全空」。grep:上鏈 (Stage 3 全 corpus 0 殘留。總覽.md 首輪結案、無待辦。

2026-07-05 ─ 流程.md+流程/ 資料夾首輪複審:07 改版漏掃鏡像清理(中5細項9+順帶 5、跨 ~14 檔)

決策檔:D-20260705-01

同日二輪多角度複審(常數對帳/事件 schema 孤例/跨檔鏡像/時序;中2細項1、跨 ~9 檔):⭐中1 治理事件單一事件族收斂(使用者核)——SignerSetUpdateEventEmergencyRollbackEventrationale 全 corpus 只存在於治理事件.md(事件結構權威 資料系統 §12 無此二型別、ledger :357 明文「增減 signer 走 ConfigUpdateEvent」)+§1「寫 ledger(pending state)」在 append-only 帳本不成立 → 治理變更只有一種事件:提案與簽章收集在 signer 間 P2P、達 quorum 才單筆 ConfigUpdateEvent 上鏈;signer set 變更=改 EconomyConfig.governanceSigners 新欄位(quorum 以 prevEpoch 的 signer set 計、新成員本筆不計票);緊急回滾=一筆設回舊值的 ConfigUpdateEvent(epoch 照 +1、rationale 記事故——內容回退非鏈回退);rationale 欄位補進 資料系統 §12(透明度要件);透明度句改「達標事件全上鏈、未達標提案不留帳本足跡」。跨檔:治理流程 §1/§4.2/§7/§9/§11+資料系統 §12+程式參數表 §17.1(governanceSigners 欄)+§17.2(新列)+ledger.md §8。⭐中2 UGC機制 送出分岔鏡像缺——檔頭「上傳/編輯/上鏈/Fork」+§6 標題與對照表(狀態欄「草稿」×2=A2 詞彙違規、缺本機測試列)→ 對齊 UGC上傳流程 §5:§6 改「上傳/編輯/送出 三階段對照」四列(session ×2/出口 A local:<uuid> 本機完成品/出口 B published)+分岔權威註;入站鏡像 車輛組裝 :4+總覽 :50 同步。細項 1=loadout 提交窗裸值掛名:新常數 LOADOUT_SUBMIT_WINDOW_SEC(60)/LOADOUT_VERIFY_WINDOW_SEC(10)(程式參數表 §7、初估待 playtest)+比賽進行流程 §1.1・matchmaking.md §5 兩處引用+其他.md §2 補「賽前/結算時序」初估行(連同 ROOM_PINNED_CHECKPOINT_MAX_AGE_HOURS/SETTLEMENT_BASE_MAX_LAG_SEC 既有初估一併入索引)。乾淨面:流程檔引用常數 30+ 顆對 程式參數表 名值全對(CHECKPOINT_MULTISIG_THRESHOLD=滿員值 desc ✓/PEER_SCORE float=本地 libp2p 非共識 ✓);流程.md §2 索引 vs 程式流程/ 13 檔全覆蓋;跨流程接縫(配對→進行→結算→再戰、淘汰→觀戰)互指完整;Match/Round/Race 三層命名一致。流程.md+流程/ 二輪結案、無待辦。

12 流程檔+索引首度整體複審。乾淨面:檢舉與仲裁流程=07 全批完整落地/UGC上傳(送出分岔後)/升版/治理/玩家整體旅程主體全對齊。修:

中 5:①比賽進行流程 §6 checksum 舊 rollback 復原模型(07-05 network-sync 改 strike 制的漏網)→ 改寫=等待窗 30 frame(逾窗視同缺席不阻塞多數決)、mismatch 只累積 strike 不 rollback 不中斷(決定性重播治不了真分歧)、連續 ≥ DESYNC_STRIKE_LIMIT(3) → persistent-desync 踢出計棄賽+DesyncEvent;§4 尾註「0.5 秒以上判定 desync」→ 等待容差窗語意。②同檔 §9 HUD 舊表復活(「時速|大字」——無時速欄;A1 批殺過美術資源同款)→ 整表刪改指 賽內機制 §2.4、留「無數字預警」設計選擇句。③比賽結算流程 §12「簽章 hash 不一致→觸發仲裁」與同檔 §9「無仲裁路徑」自打 → 拒簽/湊不滿=無結算無事件;「全玩家斷線…推算可能名次」→ 無事件即無名次。④配對流程缺 07 新機制鏡像:個人封鎖清單觸點(§1 過濾+房主拒加入、§9 中途進房提示一鍵離開)+最終驗證補 B 軸 schema 檢核+Room.pinnedCheckpointCid 新鮮度 ≤72h(比賽進行流程 §1.3 驗證表同補一列)。⑤DMCA流程 §11「通知留在 ledger event」違反自家不上鏈鐵則 → 通知=client 比對隨版下架清單+詳情頁狀態。

細項 9:流程.md §2 anti-piracy 列「信譽加權投票」→ 上傳期灰區仲裁+§1 UGC 列補送出分岔/信譽變動流程 §9 dmca 列「版權違規→扣分」→ 零信譽足跡(與自家 §2 對齊)/衍生流程 §5「信譽加權檢舉」→ 檢舉+仲裁、「70–90% 進仲裁」→ similarity-pending 隔離/結算 §8 門檻表「2(無獎金)|—」→ 2(void 場事件照寫、空 settlement 仍走完整簽章——經濟 §6.2)/hot_match_quarters desc 錯(「帳本檢查點 proposer」→ recentMatches 保留窗近 N quarter 供 24h K=5 判定;程式參數表 :316+治理流程 §2.4 兩處同修;quarter=UTC 年+季、ledger.md :150 已定義)/升版流程 §1+§3 CI 補 validate 家族(invariants/spec↔const schema/i18n/themes——testing.md validate job 權威)/觀戰流程(6/5 舊檔)接觀戰改版:join gate 三欄(allowSpectators/密碼/maxSpectators、權威=matchmaking §4)+§6 改指三欄+預設視角=跟領先車+C 鍵指 賽內 §2.4.2/治理流程 §8「表決選項 approve/reject/abstain」→ 簽或不簽(事件僅載 signatures)/配對 §2 公開配對=固定 8(2–8 為建房設定)。

順帶(驗證掃描撈出、同族殘留跨 canon 檔):UGC機制 :231+版權 §5.4 標題「信譽加權檢舉」→「檢舉+仲裁」(層名誤導——檢舉不加權、加權的是仲裁投票;「信譽加權投票」一詞在 信譽系統/算式表 §17/anti-piracy §6 屬正確用法保留)/anti-piracy.md :4 門檻括號「70–90% 仲裁」→ similarity-pending 隔離待仲裁/遊戲機制 :229 又一顆時速幽靈(「HUD 僅顯示必要狀態(時速、目前圈數)」)→ 名次/圈數/電量+「無時速欄」明記。grep 驗證:信譽加權檢舉70–90% 仲裁時速(修正句除外)/rollback 到上一個通知留在 全 corpus live 0 殘留。

2026-07-05 ─ 美術資源.md+資料夾總複審:提示詞/ 改制、開源 License=MIT 定案、音訊/動畫殭屍常數清理(中5細項8、跨 ~15 檔)

決策檔:D-20260705-02D-20260706-10

背景:使用者已自行整理圖檔(參考圖檔/=UI 資產原始圖 109/轉svg 83/轉透明 12、參考雛形/=13 頁 × desktop/mobile 概念稿+moodboard)並建立 提示詞/ 資料夾,文檔整理授權執行;美術資源.md 首度正式複審。

資料夾重組(使用者模型「提示詞集中、活文件」)visual-mockups/ 解散——4 份提示詞改中文名入 提示詞/(asset-image-prompts→零件參考圖.md/track-image-prompts→場地參考圖.md/ui-asset-prompts→UI資產.md/ui-image-prompts→頁面概念圖.md)、asset-art-direction.md→美術方向.md(非提示詞、歸資料夾根)、README.md 刪除(129 行與 project-resources 工作區側 README 整份重複);收納規則 canon 化(美術資源.md §8):實作需生圖→提示詞一律收 提示詞/、產出精選收 參考圖檔/參考雛形、原始與測試品留 project-resources(archive)。stat-gp-chip 圖檔 ×2(原始圖 png+轉svg)改名 stat-chip(沿 2026-06-11「新區域 binary 改名」先例、使用者核)。四提示詞+美術方向全加「參考件(非 spec)」檔頭;入站引用全量修(builtin-assets :94、程式架構 :345、前端技術策略 §15、提示詞互引、相對路徑深度)。

⭐開源 License 定案 = MIT(使用者裁):版權.md §11 改定案(主+周邊 repo 各附 LICENSE;turn repo coturn 本體=上游 BSD 引用)+§1 表「待選」句、美術資源.md §11 鏡像;seo.md :57 JSON-LD 既有 license Apache-2.0 硬編 drift 順修(待選期間就寫死了錯值)→ MIT+引 §11。

⭐音訊改版殭屍常數(程式參數表):§13 CROSSFADE_DURATION_MS=1500(canon=BGM_CROSSFADE_MS=1000、兩顆並存)+VOICE_VOLUME=0.9(遊戲無語音、聊天純文字、三路混音無 voice 路)刪除;BGM_CROSSFADE_MSTHEME_RESERVED_SFX 自 §14「ui/layout」歸位 §13 ui/audio(audio-system.md 引用 ×3 同步;§14 改題「ui/layout(版面)與主題常數」、THEME_RESERVED_TOKENS/THEME_SIZE_MAX_MB 留 §14 引用不動)。

⭐動畫時長權威收斂:原四處各講各話(頁面線框 §13「160–200ms」/前端技術策略 §7「240·320」/程式參數表 §12 FADE 300·SLIDE 250/§5 token 例)→ 視覺時長=design token --anim-*(名錄與預設值權威=themes/default/theme.json、設計級距表=前端技術策略 §7);程式參數表 §12 改「動畫行為常數」只留 RACE_COUNTDOWN_DIGIT_MS/TOAST_DURATION_MS/REDUCED_MOTION_FACTOR(FADE/SLIDE 刪列、system-constants.md 取用範例改 TOAST);頁面線框 §13 去數字改引級距。

場地卡音訊殘留+UGC卡片改制接線:①「音樂標記」×2(頁面線框 :30/UGC卡片 :23)=場地綁音樂已砍的漏網鏡像→刪;同列「地形 tag(mud/water/grass/wind)」舊 enum→標籤三軸引 UGC機制 §9.4.1 權威。②UGC卡片 badge「Disputed(爭議中)」→similarity-pending(灰區宣告上鏈、經濟隔離)+Local 措辭對齊本機測試資產(local:<uuid>)+「socket」→Mount_* 前綴規則;§3 評分顯示表補兩列(similarity-pending=評分入口禁用〔五擋之一〕、黑名單=不顯示評分入口)。

細項:美術資源.md 整檔重寫(16→13 節、§5 wireframe/§6 參考成品錨點保號;幻影清除=「1024×768 tablet」viewport 從不存在、「陰影三級」設計系統無此節、圓角「4/8/16」→4/8;§5 手列頁面清單與 頁面線框 實況不符→去列舉改指向;§10 升版表「token→minor」錯→美術/文檔/主題資源(含 token)=patch、結構性變更走 Conventional Commits——指向 版本規範 §3/§4 不重立法)/設計系統.md §2 補 token 記法註(dot=語意簡寫、CSS 變數循前端 §5 慣例、值=default 主題設計來源)+§5 元件例子對齊 settings 實況(「色盲·IPFS·提醒/配額」→色盲模式·Pinning 節點/音量三軸)/前端技術策略 §7 補權威句+:60「GLB ≤ 80MB」正名(UGC 拒收線≠效能預算;公版分級 ≤100KB/500KB/4MB)/壓後項結案:場地參考圖.md 依「參考件化」裁決加 ⚠️ 重生成前需重對警示(不做整檔重對)、頁面概念圖 :234「GP」→chip、其他.md §5 壓後節刪除(末節、零重編號——待辦索引現況 4 節)。grep 驗證:舊檔名/音樂標記VOICE_VOLUMECROSSFADE_DURATION_MSFADE_DURATION_MSDisputed待選stat-gp-chip 全 corpus live 0 殘留(visual-mockups 僅餘 project-resources 工作區指標、屬正確)。

同日「本機測試」措辭統一(使用者核)+二輪多角度複審(細項 8、跨 ~10 檔):①「本地測試」→「本機測試」全 corpus 對齊送出分岔命名(×12:部署資訊 ×2/interfaces LocalAssetStorage 註/moderation local-test 文案 ×2/玩家整體旅程 ×3〔含「local 測試車位」〕/程式流程 signaling-service 圖/頁面線框 ×3/頁面概念圖 ×2;歷史記錄照鐵則不動)——「本地車位放的就是本機測試資產」同族異名收斂。②二輪(角度=深層引用/術語殘留/canon 對帳/主檔自檢/斷點對帳)修 8:頁面概念圖 :233 page-wireframes.md 深引漏網/UI資產 :607·:660 ui-tech-strategy §16.1/16.2 ×2(→前端技術策略 §16 B/C 類)/零件參考圖 :741 節題「general_rotate」→「單 actuator mesh_node(最後一顆已知術語殘留出清;canon 對應=建模參數表 :115「1 個 mesh_node actuator=舊 general_rotate 單轉」)/頁面線框 :4 檔頭「page-wireframes 的 Mermaid 結構圖」來源句→archive 指標/⭐主檔 §4 卡片 ASCII「信譽星」幻影(資產卡不顯創作者信譽——信譽分=數字、只在創作者卡/個人頁,UGC卡片 §2 權威)→去星+補權威句/設計系統 §3「§字型」→§16、§5「§共用元件」→§4 錨點精確化/總覽.md 美術資源列補新結構。乾淨面:零件 8 類含 roller=canon 坐實(建模參數表 :35,美術方向/零件參考圖無誤)/80MB=TRACK_GLB_SIZE_MAX_MB 拒收線指標正確/audio 槽×18 路由、icon currentColor×前端 §3、字型雙檔(Noto=思源)、參考成品計數(27=13×2+1/109/83/12)全互恰。⭐斷點雙尺度已裁收斂(使用者核):前端技術策略 §10 五級(480/768/1024/1440)與三級常數(程式參數表 §14=640/1024/1440、頁面線框 §13 同源)對同一「切欄」決定給出矛盾值(640 vs 768)→ 三級為唯一尺度(權威=程式參數表 §14)、前端 §10 砍五級表改引常數+明文「不另設細粒度斷點尺度」;示意圖輸出「手機 375」→390×844(對齊工作區 mockup 尺寸)。美術資源.md+資料夾二輪結案、無待辦。

2026-07-05 ─ A1 編輯器整體版面定案+比賽頁方向政策翻案(跨 6 檔)

決策檔:D-20260705-03

A1(編輯器操作.md 新 §0.5):互動 spec(§1–§5)散落的版面線索(頂部 toolbar/側欄/頁籤/banner)收斂為總圖——PC(Blender/Unity 家族、§0 已定調)=工具列單列(undo・redo・清空|編輯↔預覽|3D|上鏈右錨 §5.3 照抄)+banner 帶(常駐計數列、「拒收 > 軟警告 > 提示」排序、收納 §3.1/§4.3/§2.3/§5.1 全部 banner)+左直向頁籤欄可收合(零件集/場地集;直向優於頂部橫排——場地 7 頁籤不搶垂直空間)+中央 top-down 正交 viewport+右側欄四子分頁(屬性〔預設、跟選取走〕/圖層 §1.6/統計整車總覽 §5.2/拒收清單 §5.2——後兩者 spec 早有提及、首次給正式的家)+底部狀態列;Mobile(Figma/Procreate 家族)=精簡頂列(低頻收 ☰)+全幅 viewport+右下浮動 undo/redo/3D(§1.3 Mobile 按鈕落點)+三段式 bottom sheet(半開=常用欄+看得到場景、全開=純表單頁)+底部頁籤列(拇指區、§1.5 點選切換)。通則:①純表單頁籤 viewport 仍顯示、僅無「點空白」動作(§1.2 原「沒 viewport」措辭修正——weather 預覽 patch/chip 體積提示都要看模型)②方向不強制③快捷鍵總表=C1 待定。頁面線框.md 插入 §4 編輯器(§4–12 → §5–13、賽內 §2.4/§14 兩處 §7→§8 引用同步)。

⭐比賽頁方向政策翻案(使用者裁):原 canon「比賽頁強制橫向」(前端技術策略 §10)——經說明瀏覽器無 OS 級鎖定(manifest orientation iOS 無視/orientation.lock 需全螢幕且 iOS 不支援/實質只能內容層遮罩)後,使用者裁「可以建議但不應該強制、必須適應性排版讓手機直向也能玩」 → 全站不強制:比賽頁改建議橫向(直向進賽一次性「建議橫向」toast、可記住不再提示、不阻擋)+直向適應=同錨點緊湊化(小地圖預設收合〔本就可收合〕、資訊列縮排、Skill 按鈕維持底部拇指區;橫向為設計基準)——落 賽內機制 §2.4 新段+前端技術策略 §10 改寫(含「瀏覽器無鎖定能力」技術註)。順帶修既有 drift:美術資源 §3 HUD 簡表(時速右下/小地圖左下)與權威賽內 §2.4(無時速欄/小地圖右上可收合)漂移 → 舊表移除、改指權威不重列。其他.md §5 更新(A1 定案;C1+多 actuator UI 轉正+editor.md 三項解鎖)。

同日 C1 快捷鍵總表定案(編輯器操作.md 新 §0.6、使用者補平台軸):三原則=不覆蓋瀏覽器保留鍵(Ctrl/⌘+W・T・NF5Tab 留給 a11y focus 鏈)/輸入欄 focus 時單鍵全停用/Mobile 無快捷鍵(§0.5 按鈕)。平台對應(使用者指出缺漏後補):Windows/Linux=Ctrl 原樣、macOS=⌘ 映射(Delete=Backspace 行為、精簡鍵盤 Fn 組合瀏覽器層自動)、平板+外接鍵盤=偵測鍵盤事件即啟用(iPadOS 走 mac 對應)、手把=編輯器不支援。鍵表:Ctrl+Z/⇧Z/Y(§1.3 收攏+別名)/Ctrl+S 攔截+toast(A2 無草稿、防瀏覽器存檔對話框)/Esc 逐層退出/Home 重置視角(§1.1 去「建議」)/V 3D toggle(不用 Tab)/F focus 選中(同 §5.2 跳轉行為)/+− 縮放/Delete/Backspace 刪除(§4.1.2 推廣全元件)/方向鍵 nudge 1mm、Shift=10mmPgUp/PgDn 深度軸(僅自由 DOF)/1–7 頁籤/Space 編輯↔預覽(播放語意)。順帶發現缺口:設定頁「自訂按鍵」存在但比賽操控預設鍵位從未 spec → 其他.md 新 §6 待補(歸屬候選=賽內機制 §2 操控段;壓後項改 §7)。編輯器 A1+C1 全結案;剩兩個純執行項(多 actuator UI 轉正、editor.md 建檔)。

同日編輯器線收官(兩執行項完成、跨 5 檔):①多 actuator UI 轉正——其他/武器多轉子.md 草案依 §0.5 版面改寫併入 編輯器操作.md §3.2 新小節「多 actuator 編輯流程」:列表式面板(住右側欄屬性/Mobile bottom sheet 全開;比照 skill_slots 多列、上限 8 達標灰掉)、四個開放問題全解——多 pivot 區分=每 actuator 專屬色標+編號+列↔3D 雙向連動(點列=F focus/點 pivot=高亮列);payload 切換=segmented control「剛體|鏈條」(鏈條下拉列自動掃描的 Chain_Segment_* 串、選串即歸屬、鏈序依 children 非手排);speed_weight=數值+Σ正規化快慢條;Mobile=gizmo 命中區放大+actuator ≥ 3 顯「桌面更順手」軟提示降級可用;預覽效能=kinematic transform N ≤ 8 非議題。草案檔改占位(可刪)。②程式架構/editor.md 建檔§9.1 = 30 檔):wave A Worker 管線(幾何走 physics-engine WASM、上游=Stage 1 Sanitize Worker)/K-means/viewport=o4-3d-stage preset workshop/檢核引擎與收件端共用同一 validator 模組(防「編輯器放行、全網拒收」規則漂移)/session A2 無草稿(唯一持久化=視覺層偏好 localStorage;產出=CID 或 local: 本機測試資產)/上鏈 wave B 驅動;程式架構 §4 editor row 去「待建」、編輯器操作檔頭改指實作檔。其他.md §5 編輯器節出清(兩執行項畢業)→ 鍵位表 §6→§5、壓後 §7→§6。編輯器全線(版面/快捷鍵/多 actuator UI/實作檔)閉環。*

同日比賽鍵位表定案+ steering 幽靈清除(使用者抓漏、跨 4 檔):鍵位表 v1 草案含「轉向」——使用者質疑「應該沒有轉向吧?」→ 查證坐實:迷你四驅車無轉向(滾輪貼牆自走=設計本體)、橫向位移 = swerve_leftswerve_right 技能{ type: 'steering'; value: -1..1 } 全 corpus 只存在 interfaces.md :105 一處=早期殘留(2026-05-16 清 lock_steer 那批的漏網)、賽內 §2.4 HUD 從無轉向控件、8 skills 含 swerve 皆與 no-steering 一致 → InputEvent 收斂為單一 skill-trigger+「無轉向」註。鍵位表 v2 落 賽內機制新 §2.4.2 操控與預設鍵位:唯一 gameplay 輸入 = skill 1–4(鍵盤 14 Hold/手把 A/B/X/Y/觸控底部鈕)+ meta(Enter 聊天・Esc 選單・M 小地圖・C 淘汰後視角循環〔自由視角 WASD+滑鼠〕;手把 StartBackRB/LB);鍵盤+手把可重綁(settings「自訂按鍵」範圍註+對接列)、觸控佈局固定;聊天 focus 停用其他鍵;不做陀螺儀/傾斜。其他.md 鍵位待辦出清(壓後 §6→§5、待辦索引剩 5 節)。

同日 其他.md 調整鏈總複審(其他/武器多轉子.md 經授權刪除、其他/ 資料夾全空):多輪重編號(10→9→7→6→7→6→5 節)後全量掃描入站引用——修 2 條漏網:遊戲機制 :120 候選 §5→§4(音樂畢業批只改了零件與場景、漏此條)+builtin-assets.md :4 待校準常數 §5→§2(首輪重構時即漏——當時 grep 被 head_limit 截斷、該條排在歷史命中之後未進輸出;⚠️教訓:重編號的入站引用掃描不得用截斷輸出、需全量核對)。其餘全對:零件與場景 §4/總覽 §1/程式參數表・材質表(已改指 audio-system・資產政策,無 其他.md 引用)/UGC機制 §9.4.1 標籤落地無 renumber 副作用/§2 常數清單含全部新初估(BGM_CROSSFADE・THEME_RESERVED_SFX 等)/武器多轉子其他/audio-system live 引用 0(僅歷史)。header 括號更新「目前全空——audio-system 與 武器多轉子 UI 皆已轉正」。其他.md 調整鏈複審結案:現況 5 節(鐵則/待校準常數/playtest 機制/候選/壓後)、引用全通。

同日 §4 候選節查證=殭屍待辦、出清(使用者裁「直接寫正確資訊、不寫舊資訊已評估」):追原始資料(本機討論筆記 2026-05-17 快照+project-resources 封存)——三項全部早有結論:F1–F10 場地細項 2026-05-10 已全數落實(經舊 track-functional-spec → 2026-05-24 回填建模參數表 §8);P15「Battery Surge」2026-05-15 裁不收(passive 違反技能全 active 純度/motor torque_ratio archetype 可表達/boost 可代);W01「Heavy Slam」同日裁不收(runtime 改 mass 違反 deterministic 基底參數原則/thrust ram=現行 general_pushgeneral_actuated 實現)。裁決當年只寫進 asset-functional-spec §14.1(deprecated 區)從未遷移 → 三處 live spec 殭屍敘述(遊戲機制「少數候選保留」/零件與場景「等待 spec 成熟」/其他.md §4)。出清=只寫現況:遊戲機制 §6 改「60 機制已全數涵蓋或收斂」+新機制提案判斷標準三條 canon 化(①與 8 skill/武器三分支重疊②違反 deterministic 物理(runtime 改基底參數)③可由 archetype 表達——任一命中不收;原僅存本機工作筆記);零件與場景 §13 整節刪(末節、零 renumber);其他.md §4 刪。順帶自本機工作筆記撈回一條真待議被動武器強化機制(2026-05-25 擱置:passive 佔 weapon 槽 kinetic_ratio=佔位值 runtime 忽略;未來或給強化補償「不耗能不可操控」劣勢、方向未定等 playtest)→ 補進 其他.md 新 §4(壓後=§5)。待辦索引現況 5 節:鐵則/待校準常數/playtest 機制/passive 強化擱置/壓後。

2026-07-05 ─ 編輯器操作.md 首輪複審:灰區改制漏網鏡像、A2 詞彙違規(中2細項4、單檔)

決策檔:D-20260705-05

首次正式逐檔複審(2026-05-28 成檔;含同日 §0.5/§0.6/§3.2 新增的自檢——版面圖與各互動節落點全互恰)。乾淨面:checkpoint 順序=checkpoints[]、玩家上限公式、patch 預估、weather 值域、chip 8 enum、燒幣 50/500 標籤全對;武器多轉子引用零殘留。修:

  • 中1 §5.2 拒收表 70–90% 列=灰區改制前殘句(「進仲裁+等待人工確認」=上傳暫緩舊模型;07-03 跨 12 檔改制未含本檔)→ 改 similarity-pending 照常上鏈+經濟隔離五擋;≥90% 列補「可申訴(上傳期仲裁)+仲裁判抄下架品命中→降級 pending 不硬擋(對象分層)」。
  • 中2 §5.3「草稿清除/草稿保留」×2=A2 詞彙違規(當時 drift 修齊掃三處、此二漏網)→「編輯 session 狀態清除/保留(記憶體、A2 無草稿)」。
  • 細項 4:§1.3 清空 Mobile 欄「同上」→「☰ 選單(§0.5)」+刪「UI 放不下可砍」猶豫句(版面已定)/§0.6 手把列「另表」→ 指 賽內機制 §2.4.2(鍵位表已有家)/§6 跨檔表補 程式架構/editor.md+前端技術策略.md 兩列。

觀察維持:§1.2 長按多選「軟需求」標記=誠實優先級非猶豫句;§0.6 nudge 步長不掛常數表(純編輯器 UX 值)。編輯器操作.md 首輪結案。

同日二輪多角度複審+⭐送出分岔模型定案(使用者模型;中3細項2、跨 6 檔):角度=常數對帳/流程斷頭/經濟語意/手勢衝突。⭐中1 本機測試資產產生流程=全 corpus 斷頭(碎片俱在——local:<uuid> 前綴/IndexedDB stores/editor.md 產出物句/遷移命運表/matchmaking 禁用——但「怎麼產生」無檔描述、UGC上傳流程零提及 local)→ 使用者定模型「共用管線、末端分岔」:上傳→編輯→送出(wave B+嚴格檢核共用)→ 出口 A 本機測試(免燒幣、跳過反複製/similarity/文字黑名單純鏈上關卡、存 local、可覆寫可重開可轉正)/出口 B 上鏈(燒幣 modal→CID→IPFS→ledger)——優於我原「紅框清零可存」提案(那會存出無 wave B 產物的半成品、測試物理與正式品不一致;使用者模型保證本機品=上鏈品物理一致、可存即保證可上鏈)。落檔:UGC上傳流程 §2 流程改分岔形+§5 對照表補「本機測試」列+「草稿」標籤改 session(A2 詞彙)+§2.1 清空句去「暫緩可砍」;編輯器操作 §0.5 送出雙鈕(PC 雙鈕右錨/Mobile 單「送出」點開選)+§5.3 改寫「送出(本機測試/上鏈)」雙出口+§1.7 進場路徑二(重開 local 資產、wave A 沿用不重算);editor.md §5 改送出驅動;頁面線框 §4 同步。中2 §4.1.7「相鄰容差實作建議 <1mm 由實作層決定」與 canon ROUTEPOINT_MIN_SPACING_MM=100(06-11 定案)直接打架 → 改引常數+loop 例外。中3「燒幣已退回」=不存在的退款模型(burn 內嵌上鏈事件、事件未落地即無扣款)→「未發生扣款」。細項 2:Mobile tap vs drag 位移閾值分流原則句(§1.5;單指空白的點/拖雙義)/lap_mode 1m 門檻常數化 LAP_MODE_LOOP_DISTANCE_MM=1000(程式參數表 §3 新列;建模 ×2+編輯器 §4.1.8+UGC上傳流程 :44 四處掛名——跨檔同值漂移面收斂)。順帶:UGC上傳流程 §2 :60「70–90 進仲裁」=同檔內部殘句(§4 表已改對、流程圖漏)→ 同步 similarity-pending。乾淨面:Mount 門檻=建模 §6 合法鏡像、1440=8×180 衍生值、loop 視覺 1m=推斷門檻本尊。編輯器操作.md 二輪結案。

同日三輪保險複審(送出分岔鏡像殘留、細項 6、跨 2 檔):二輪改制落地後全檔殘留掃描——§0.6 Ctrl+S toast「完成後由右上『上鏈』」→「右上送出(本機測試/上鏈)」/§3.1「任一紅框→上鏈按鈕灰掉」→ 送出雙鈕/⭐§5.2 前言 gate 語意修正:原「按下『上鏈』前,UI 跑完 wave B+嚴格檢核;未過→上鏈按鈕灰掉」把按前 gate 與按後檢核混為一談(按前灰掉只能反映即時紅框;wave B+嚴格檢核依 §5.3 是按下送出後才跑)→ 改寫「送出前置 gate=即時紅框(§3/§4 各表)→雙鈕灰掉;按下送出後才跑 wave B+嚴格 schema,未過→退回編輯器」/§5.2 fingerprint 兩列補 scope 註「僅出口 B 適用;出口 A 跳過純鏈上關卡」/「至少 1 sub-mesh 指派才能進 Stage 3」→「才能送出(Stage 3 gate 條件之一)」(編輯器操作+UGC機制.md :121 同句鏡像)/§6 對接表 editor.md 列「上鏈驅動」→「送出驅動雙出口」。grep 驗證:上鏈按鈕右上『上鏈』才能進 Stage 3 全 corpus 0 殘留。編輯器操作.md 三輪結案。

2026-07-05 ─ 其他.md 首輪複審+瘦身:已定案項出清、改制為待辦集中索引(刪 2 搬 1 改編 7+新增 3 節、跨 8 檔)

決策檔:D-20260704-01

  • :舊 §1 晶片命名(權威 = 總覽 命名約定、早已定案);舊 §3 主題邊界表(脫鉤期觀察清單、7 列全已歸位、無再分類需求)。
  • :舊 §7 場地標籤 enum → UGC機制.md 新 §9.4.1(權威)——canon 資料不該住待辦檔;原 UGC機制「Tag enum 完整見其他.md」指標行改為內容本體(terrain 7/difficulty 4/style 4/size_class 自由/feature_tags ≤ 5/系統衍生 rating·use_count)。
  • 保留改編(重編號):音樂待定 §2→§1(補 BGM 主題化承接面指標)/五項鐵則 §4→§2(標「防混淆備忘、非待辦」)/待校準常數 §5→§3補近期新初估 6 族SOLVER_VELOCITY/POSITION_ITERATIONSTRUESKILL_BETA_X1000/TAU_X10000TOPIC_RATE_*SANITIZE_EXTRAS_MAX_*THEME_SIZE_MAX_MB+THEME_RESERVED_TOKENS 清單・maxSpectators 10–50)/候選 §6→§5/企劃書補修 §8→§6/材質廢止理由待建 §9→§7/多 actuator UI §10→併入新 §8。
  • 新增§4 待 playtest 後決定的機制(仲裁參與激勵/settlement base lag 窗並行放大殘餘/canFileReport 自佔告位——原散在各檔的 playtest 觀察項集中索引);§8 編輯器暫緩項(A1 版面+C1 快捷鍵未決〔4 項已決〕/多 actuator UI 草案待 A1/程式架構/editor.md 待 A1 後建);§9 壓後項(track-image-prompts 重對+ui-image-prompts「GP」/GLB <100KB vs 50K 面張力)。
  • 入站引用修 6:零件與場景 :245(§7→§5、順修既有錯鏈——原指 §7 但候選清單實為舊 §6)/總覽 §4→§2/程式參數表 §2→§1/遊戲機制 §6→§5+§2→§1/材質表 §9→§7;總覽 其他 row 描述改「待辦集中索引」;檔頭去「22 個主題」stale 句。

其他.md 首輪結案 → 企劃/ 逐檔複審 checklist 全數完成。

同日待辦逐項裁決(使用者):①企劃書補修 → 定案「確定不修」(現行規格以 企劃/ 為主)——待辦自索引移除;project-resources/專案企劃書.md 檔頭原「本文件為權威設計藍圖……實作以本文件為準」句與裁決直接矛盾 → 改「早期願景/歷史參考(封存、不再更新)、現行規格一律以 企劃/ 為準」routing 註(封存區加角色註合乎慣例、其餘內容依裁決不動)。②材質廢止理由文檔 → 即建(使用者:檔不會空、空的是清單;格式評估=純 md 正確——理由是給人讀的散文、/help 管線原生吃 *.md SWR、無需 JSON registry)——新 canon 資產政策.md:§1 絕版品模型玩家面摘要(永久可玩/Stage 2·3 擋新用/房內軟提示不點名/可逆)+§2 廢止材質登記空表(材質 id/中文名/廢止日/理由/影響/來源 PR,DEPRECATED_MATERIAL_IDS 變更同一 PR 登記);未來 B 軸 yank 玩家面說明可同居本檔;材質表 §11.3「待建」改直指、總覽 跨切面補 row。③音樂討論排程 = GLB 張力結案後的下一題(其他.md §1 註記);A1/C1(§6)與 playtest 項(§4)維持不動。其他.md 再瘦身為 7 節(刪 企劃書+廢止理由兩節、編輯器暫緩 §8→§6、壓後 §9→§7;無外部引用受影響——材質表改指資產政策)。

同日 GLB 管線張力結案(使用者裁三數字、跨 3 檔):診斷=「50K 面+1024 紋理」為 asset-image-prompts 的 Tripo3D 生成階段高模建議值、「<100KB/檔」為 builtin-assets §7 出貨預算——兩階段被寫成同一件事、管線缺中間優化步驟(50K 面 Draco 後 100–300KB+1024 KTX2 紋理 100–700KB=物理上不可能同時成立)。定案=出貨預算分級零件 ≤ 100KB/檔(視覺 ≤ 8K tri;公版純色設計免點陣紋理用材質色/頂點色、必要時 ≤ 256²)/場地 ≤ 500KB/檔(visual ≤ 50K tri、紋理 ≤ 1024 KTX2)/總計 3MB → 4MB(cache-first lazy 不進首載 precache、無首載衝擊);管線補「Tripo3D 高模 → decimate/retopo → Draco+KTX2 → CI 驗 per-file 上限」;asset-image-prompts :12/:839 兩處補「生成用高模、非出貨值」註(convert script 註補 decimate)。UGC 側天花板(場地 3M visual tri 等)不動——張力只存在 builtin 自家管線。其他.md 壓後項移除;壓後只剩 track-image-prompts 美術重對

同日音樂系統定案+audio-system 轉正(使用者模型、跨 14 檔):使用者提播放槽模型——「可設定使用點」的完整清單(首頁 BGM/按鈕 SE…)=槽位名錄非檔案清單、有檔才播(槽空=靜音非錯誤)、default 初期可全空(經費現實;機制一次完整、檔案是慢慢長的資料)、主題按名錄供檔、轉場規則=同曲不中斷/異曲淡出淡入/無曲僅淡出。評估採納+四銳化:①三態語意(路徑/省略=fallback default/null=明確靜音)②CI「default 完備」開音訊例外——只放寬檔案不放寬名錄(default manifest 必列全部音訊 key、值可 null;程式碼引用集 ⊆ default keys 照舊)③保留 SFX 槽 THEME_RESERVED_SFX(sfx-countdown/race-start/part-broken/elimination 初版;主題供檔一律忽略恆取 default——與保留 token 同構;default 空=全網靜音、補檔自動生效)④轉場常數 BGM_CROSSFADE_MS=1000(初估)。兩項砍除定案:場地不內嵌/綁定音樂(版權審核面+體積+管線成本;舊檔 §3 OPEN4WD_track_music extension 廢)+不提供玩家自訂 BGM(使用者裁:複雜度不值、各平台已有慣用背景音樂軟體;舊檔 §4+cached-bgm IndexedDB store+customBgmIdsselectedCustomBgmId settings 欄位+部署資訊歸零表列全清除;混音四路→三路 master ← sfx/bgm、trackMusicVolumebgmVolume)。落檔:程式架構/audio-system.md(§2 槽位名錄首版=BGM 7 槽按路由分域+SE 10 槽含 4 保留;世界音效標第二批;§4 轉場表;§5 三路 AudioService+iOS 首擊解鎖+LUFS −16 供檔規範承接;§6 CI);其他/audio-system.md 改占位 redirect(可刪);引用面 12 檔改指新位置(使用技術「四路」→三路、版權第三方資源列改主題 PR 聲明、流程.md、主題系統 §10、程式參數表 :250+§14 兩新常數、遊戲機制 §9 音訊 row〔場地音樂音量→背景音樂音量、去自訂 BGM〕、settings.md ×4、程式架構 §4/§9/§9.1 補 audio-system.md 列(28→29 檔)、pwa-offline、部署資訊、總覽 命名約定 bullet 刪);其他.md §1 音樂節畢業(6 節、其他/ 資料夾註「目前空缺」;總覽 鐵則 ref §2→§1、零件與場景 §5→§4)。音樂待定正式結案;其他/ 待定模組歸零。

同日音訊落地複審(遺漏 3+接縫 4 全修、跨 6 檔;其他/audio-system.md 占位檔經使用者授權刪除):掃描抓到——程式流程/pwa-offline 圖殘留 cached-bgm 節點(→ 改 recent-teammates+補 blocklist,順修圖與 §5 store 清單的既有落差)/「BGM 於下一曲生效」×2(主題系統 §6+themes.md §2)=舊歌單思維殘留(loop BGM 沒有「下一曲」)→ 改「當前槽重解析、異檔即 crossfade(audio-system §4)」=主題切換與場景轉場同一套規則。自查接縫——主題系統 §7+themes.md §5 補音訊 CI 三條(default 名錄必列值可 null/保留 SFX 供檔警告/解碼煙測;§6 完備句補音訊例外註)/themes.md resolveAssetnull 靜音分支+保留 SFX 恆 default 分支(原碼 !== undefined 會把 null 當供檔、組出壞 URL;ThemeManifest.assets 型別改 string | nullresolveAsset 回傳 string | null)/audio-system §2.1 補未映射路由規則/settings/dmca 等=維持當前 BGM 不轉場)/程式架構 §3 免責註補 audio-system ← themes 上行邊。音訊系統落地複審結案、無殘留自訂 BGMcustomBgmcached-bgmtrackMusicVolume場地音樂OPEN4WD_track_music 全 corpus 僅剩歷史與否定句)。

2026-07-05 ─ 主題系統.md 首輪複審:藝廊排序砍軸、退役 themeId guard、CI 完備機器定義(中2細項5、跨 2 檔)

2026-07-04 新檔的首次正式複審(含 themes.md impl 與落地後全部後續變更的對齊)。乾淨面:id 正則結構(default 免尾碼例外兩檔皆註、最小合法形 x-abc123)、§6 Three.js token 鏡像與 §10 前端技術策略列(本週收斂後補)就位、程式參數表 §14 兩常數、版本規範 patch 家族、settings/遊戲機制/i18n dict/audio 承接/總覽 全通、分類新增=資料 patch 與 i18n dict patch 同級。修:

  • 中1 藝廊排序「加入版本」無資料來源(manifest 無此欄、git 歷史 runtime 拿不到)→ 使用者裁:移除該排序軸(藝廊=分類分組+名稱/作者排序;不加 addedIn 欄位)。
  • 中2 persisted themeId 查無(退役下架)行為未定義 → §8 補「回 default+提示、不留懸空狀態」+themes.md §1 setTheme guard 註。
  • 細項 5:§7「default 完備」補機器定義(程式碼引用集 ⊆ default 提供集——CI 掃 var(--*)resolveAsset('key') 字面值;其他主題 keys ⊆ default keys=錯字防呆紅)/§7 補 token 值禁 url((資產一律走 assets 映射、防繞資產隔離)/name.en 必填(使用者裁;fallback 鏈前提、與 i18n「en 缺 key 升 error」同哲學;§5 註同步、fallback 鏈簡化為「缺語系 → en」)/§9 review 清單補「a11y 對比抽查+5 代表頁截圖」(與 前端技術策略 §14 對齊)/themes.md §2 applyTokens 改「保留 token 恆取 default 值」(原 skip 寫法在套 default 時也跳過、正確性暗靠 build :root 基準——改寫後語意自明)。

觀察維持:切換當下離線 → setTheme 失敗留原主題;單一 category 刻意單軸。主題系統.md 首輪結案。

同日二輪多角度複審(攻擊面/SW 升版互動/掃描可靠性/下架閉環;中1細項4+使用者加碼1、跨 5 檔):⭐中1 升版離線破圖窗——client 升版=CACHE_NAME 換新、lazy 快取的非 default 主題整組被清(邊角案例:升版+之後未上線使用+離線啟動 → 選用主題資產 cache miss+無網路=破圖)→ 升版後自癒:首次啟動背景重跑 setTheme(當前主題) 補滿、離線資產缺暫以 default 呈現不改 persisted(回線自動恢復;§6+themes.md §4)。順帶釐清:核心玩法(比賽/配對/帳本)必須連線,離線=外圍活動(車庫/編輯本機測試資產/瀏覽快取內容),破圖窗只影響外圍。細項 4SVG 資產攻擊面坐實(前端技術策略 §3 有 SafeHtmlPipe inline 路徑=主題 SVG 若走到即 XSS)→ §7 補 SVG sanitize(禁 <script>on*/外部引用)+前端技術策略 §3 補「主題 SVG(不可信來源)一律 <img>/CSS url、禁 inline」兩檔互指/key·token 引用禁動態組字串(lint;§7 完備掃描的前提、否則 resolveAsset('icon-'+name) 靜默漏報)/pwa-offline PRECACHE_ASSETS 鏡像缺坐實(grep 零命中)→ 補 themes/default 全資產註+順帶補全語系 i18n 字典四行(i18n.md §6 宣稱有、同一清單也漏)/§5.1 補「法律清除 git 歷史走 GitHub DMCA(repo 側、與鏈上/client 下架清單分屬兩層)」。⭐使用者加碼:manifest version 欄位移除(零消費者、semver 對皮膚無語意、修訂歷史由 git 承載;§5+themes.md §1 同步——首輪觀察項升級為刪除)。觀察維持:不加 descriptionlicense 欄(PR 模板扛授權聲明)、檔案數靠 20MB 總量蓋。主題系統.md 二輪結案、無待辦。

2026-07-05 ─ 程式架構/ 資料夾複審:9 檔首度深讀(協議三檔分裂、事件誤穿 SignedPayload、input 簽章帳、B 軸賽前檢核)(高1中6細項7、跨 12 檔)

決策檔:D-20260705-06D-20260604-04

範圍:28 檔中 19 檔已隨 canon 夥伴多輪深審(本輪僅檔頭+殘留掃描);interfaces / physics-engine / network-sync / matchmaking / key-manager / peer-discovery / signaling-service / spectator / system-constants 九檔首度全文深讀。乾淨面:28 檔頭格式一致;key-manager(lib 選型/加密鏈/consensusNow 劃界註)、system-constants(治理鐵則/quorum/兩軌)、spectator 主體(淘汰=致命 broken、10Hz、不簽章不跑物理)、matchmaking multi-round(carRotation 長度檢核、maxPlayers=min(auto_player_max))全對。修:

  • 高1 配對/房間訊息協議三檔分裂MatchRequest 兩套 schema(matchmaking §2 vs peer-discovery §2——後者含全 corpus 無 canon 的 trackPreferencespartyId 幽靈欄位)+SignalMessage 同名不同義(interfaces 3 型 vs signaling-service 7 型)+sendToRoomcheckRoomExistsjoin-requestjoin-as-spectator 三檔使用零宣告 → payload schema 權威 = matchmaking §2(幽靈欄位刪)、大廳/房間訊息一律 SignedPayload<T> 封裝(刪內嵌 signature 欄、sender=signer;資安 §3.4 nonce+timestamp 要求)、interfaces §2 補 sendToRoomcheckRoomExists 兩方法、wire 型名分流 SignalingWireMessage(signaling-service §2 補 join/room-state/error 家族列、房主端裁決註)。
  • 中1 interfaces Ledger 事件誤穿 SignedPayloadreadEventsonEventSignedPayload<LedgerEvent>+:23「帶簽章酬載統一用」過度宣稱——同資安三輪 §3.4 款漏網)→ 改 LedgerEvent(BaseEvent.signature/多簽)、:23 限定 P2P 即時訊息+補資料系統 §11 劃界句。
  • 中2 network-sync input 簽章內部矛盾(:19 宣稱 sign+nonce+timestamp〔資安 :208 canon 確認要簽〕但 §6 編碼無簽章欄位、頻寬帳 10B 全漏)→ §6 格式補 [sig:64]Race Sign Key 簽、nonce=frame 單調防重放、timestamp 由 frame 推得)+頻寬帳重算(Input ~74B;60Hz 送 ~4.4KB/s、8 人房收 ~31KB/s)+§8 預算列「送 ≤10/收 ≤40 KB/s」。
  • 中3 checksum 去同步兩修:①mismatch→rollback-needed 分支刪除(決定性重播同批 input 必得同結果、治不了真分歧;且分歧點多在 StateBuffer 12 frame 窗外)→ mismatch 只累積 strike(ChecksumResultmismatch);②「desync 容差 30 frame」語意釘為 checksum 等待窗(逾窗未到=該輪缺席、不阻塞多數決;resolve() 補 currentFrame 參數;賽內機制 §2.3 同句精確化)。
  • 中4 matchmaking 賽前驗證缺 B 軸檢核validateLoadoutSubmission 補第 7 檢核(版本規範 §24:依 room pinned checkpoint 動態 min-supported、unusable 拒、降版本映射載入時套用)+RoompinnedCheckpointCid 欄(版本規範 §20、ROOM_PINNED_CHECKPOINT_MAX_AGE_HOURS)。
  • 中5 KeyManager 合約分裂 → interfaces §6 照 key-manager.md §2 重寫為同一契約(原 sign(identity,…)Identity 只有公鑰欄位=簽不了名;隱式當前解鎖身分+verify(message, sig, peerId) 才是真形狀、matchmaking 用法即此)。
  • 中6 pinning-service.md 檔頭殘稿「對應 src/pinning-service/」→ open-4wd-pinning repo(Go)、client 端僅 PinningProvider(首輪主檔裁定的漏網鏡像)。
  • 細項 7:physics-engine §1 圖時間尺度分流(主檔 O3 鏡像)+§8 補單執行緒列(§6.6 鏡像)/solver iterations 8/4 掛新常數 SOLVER_VELOCITY_ITERATIONSSOLVER_POSITION_ITERATIONS(程式參數表 §2、初估、protocol 級)/§7 技能列補 kinetic_ratio(1–100 整數)語意、精確式歸算式表 §3/matchmaking TrueSkill 裸值掛常數(既有 TRUESKILL_SIGMA_MINFREQUENT_DISCONNECT_THRESHOLD;新 TRUESKILL_BETA_X1000=4166TRUESKILL_TAU_X10000=833 初估)+房號 33^6→34^6(字元表實數 34)×2/network-sync :207 ⌊N/2⌋+1→⌊在場/2⌋+1(N=結束時在場;資安二輪款漏網鏡像)/peer-discovery 幽靈掃除GlobalChatTrackDiscovery topic+TrackAnnouncement 全 corpus 無 canon → 刪(含程式流程圖 2 處;聊天=房間 DataChannel 無全域聊天、UGC 目錄=ledger derive 不走 gossip 廣告)+bootstrap 清單刪 bootstrap.libp2p.io 兩行(外部網路節點、不跑 /open4wd/kad/1.0.0)+example.com 標佔位+AppPeerScore 改讀 getEffectiveScore(07-03 讀點契約漏網鏡像)/spectator §8 觀戰三欄(allowSpectators/maxSpectators/spectatorPasswordRequired)歸 matchmaking Room 權威、本檔不另定義。

同日 D1 結案+部署模型定案(使用者問答衍生、跨 7 檔):STUN/TURN/節點/repo 關係多輪釐清(STUN=NAT 鏡子、幾封包即退場;TURN=打洞失敗中繼、流量計費;打洞=單 flow・短壽命・限來源的 NAT 映射非開洞,固有代價僅 IP 互見〔資安 §14 已接受〕;四種基礎設施節點盤點;signaling 與 pinning 不合併——技術棧/自架者畫像/必要性曲線三理由〔Worker 免費全球邊緣 vs 有硬碟真機器;signaling 有 GossipSub 純 P2P 替代、pinning 角色無替代〕;pinning「官方那台非永久必須、角色是」=資料不滅+檢查點 pin+DMCA 法遵層)→ 使用者定模型 「一 repo=一部署單元=一條 CI」:①D1 裁 (a) 且升級為獨立 repo open-4wd-turn(coturn 設定+k8s manifests+CI 部署官方 k8s;原「config 掛 signaling repo」提案作廢——部署目標不同 Cloudflare vs k8s;client STUN 預設=官方 coturn → stun.l.google.com 公網保底、設定頁可自填;TURN token=signaling 發放+coturn shared secret〔REST API auth〕驗證=跨 repo 部署變數耦合;k8s 需 UDP+relay port range 註)②bootstrap 清單搬主 repobootstrap/list.txt、社群 PR 加節點、open-4wd-bootstrap-list 獨立 repo 取消;維持執行期 GitHub raw 抓取語意=不進 bundle 不隨版〔bootstrap 過期須能不發版即更新〕;版本規範 §4 補「bootstrap/ 無 bump」path 列)③repo 總表定案=主 repo(含 bootstrap 清單)+open-4wd-pinning(Go、k8s、兼 bootstrap 節點與 DMCA 後端)+open-4wd-signaling(Cloudflare Worker)+open-4wd-turn。落檔:部署資訊 §1(連向補 TURN/STUN+便利層句)/§4.3 整節改寫「TURN + STUN(coturn,open-4wd-turn repo)」/§5 清單搬家/§14 signaling 列、signaling-service §6(iceServers 官方優先+shared secret 句)、peer-discovery §8(raw URL 改主 repo 路徑)、程式架構 §11(+TURN/STUN+bootstrap 兩列)、版本規範 §4、使用技術 §9(+TURN 列)。程式架構/ 資料夾複審全結案(含 D1)。

同日資料夾二輪保險複審(中2細項6+圖1、跨 7 檔):角度=首輪修改自檢/程式流程 13 圖掃描/裸值常數對帳/共用型別一致性。乾淨面=⌊N/2⌋ 全資料夾 7 處引用的 N 定義集中 ledger.md :41(=結束時在場)、算式表 §16–§21 錨點全對、其餘 12 張流程圖無 rollback-needed/幽靈殘留、SNAPSHOT_INTERVAL_FRAMESSNAPSHOT_CHECKSUM_BYTESPEER_DESYNC_TOLERANCE_FRAMES 本就有常數名。修:⭐中1 Signature 同名三定義(interfaces.md = string hex 孤例 vs key-manager.md = Uint8Array vs 權威 = 程式參數表 §19.1 Brand 型別 Uint8Array;wire [sig:64]/dag-cbor 皆 binary)→ interfaces.md 改 Uint8Array(hex 僅顯示/log)/⭐中2(首輪自造接縫)NetworkMessage union 補簽章欄(§6 wire 已補 [sig:64] 但 §1 型別沒跟)→ input/checksum variant 補 signature: Signature、sync-request/sync-response/leave 低頻三型註明走標準 SignedPayload/細項 6:peer-discovery :219 MatchOffer 懸空型別補出處註(首輪刪本檔定義時漏的)/network-sync 裸值改引常數(% 120SNAPSHOT_INTERVAL_FRAMES>= 30PEER_DESYNC_TOLERANCE_FRAMESDESYNC_LIMIT新常數 DESYNC_STRIKE_LIMIT=3)/程式參數表 PEER_DESYNC_TOLERANCE_FRAMES desc 更新為等待窗語意(原「0.5 秒判定 desync」過時)/spectator 新常數 SPECTATOR_BROADCAST_INTERVAL_MS=100(10Hz)/topic 限速新常數 TOPIC_RATE_WINDOW_MS=60000TOPIC_RATE_MAX_PER_WINDOW=30(初估)+ code 引用/signaling wire room-staterecommendedSource(spectator join 回應期待值、wire 表原漏)/程式流程/network-sync「Checksum 解決流程」圖改新模型(「所有 peer 都送來?」無限等 → 等待窗+以已到票計票;「否→rollback 至 N 重播」舊分支 → strike++ 不 rollback;% 120 標常數名;平手 4-4 → 中止維持——無多數派可信)。資料夾二輪結案、無待辦。

同日 — 三 repo 規格檔建立(新資料夾 部署資訊/、比照 美術資源/ 的 canon 同名資料夾慣例)open-4wd-pinning.mdopen-4wd-signaling.mdopen-4wd-turn.md 三檔,定位 = repo 層規格——目錄結構、部署變數與 secrets 表(標注 fork 自架必改欄)、CI/CD 管線與部署後 smoke、社群自架指南(含免 CI 路徑)、維運 runbook、耦合點表;與 程式架構/pinning-service.md・signaling-service.md 的實作層分工(協議/API/演算法不重列、互為指標)。要點:pinning 檔含「節點退場前確認全網 ≥ REPLICATION_FACTOR」與「社群節點 DMCA API 預設關(受理即有處理義務)」;signaling 檔含 all-in-one compose(+coturn 一台全包)與「保留 /turn-token 須配自架 turn」注意;turn 檔因無 impl 檔多背 coturn 設定重點(use-auth-secret REST auth/denied-peer-ip 內網全段防跳板/quota・max-bps 帽/hostNetwork 單 node 單 replica/純 STUN 自架=零設定)。對接:部署資訊 §3/§4/§4.3 補 repo 規格指標、pinning-service/signaling-service 檔頭回指、總覽 部署資訊 row 註「三 repo 規格見 部署資訊/」。同日三檔自審(細項 5 全修):pinning CI 敘述兩檔打架(impl §5「SSH kubectl」vs repo 檔「KUBE_CONFIG+smoke+auto-undo」)→ CI 權威歸 repo 檔 §4、impl §5 改指標留 k8s 形狀/Cluster 組態檔名對齊 service.json(ipfs-cluster 標準檔名)/signaling impl §3 路由清單補 /turn-token(repo 檔具體化的 token 發放落點、原漏)/部署資訊 §3 補「官方節點非永久必須(可交棒)、pinning 角色必須有人扮演」canon 句(repo 檔 §1 原引用落空)/部署資訊 §14 補三 repo 規格列+程式參數表 TURN_TOKEN_TTL_SEC desc 補齊(原空欄)。三 repo 規格檔結案。

2026-07-05 ─ 程式架構.md 二輪多角度複審:editor 模組+路由補齊、dt 雙權威釘死、測試矩陣對齊(高1中3細項4、跨 4 檔)

決策檔:D-20260707-01

乾淨面:§9.1 28 列 ↔ 程式架構/ 資料夾 28 檔全對;§3/§4/§5/§9 四名單模組集合互恰(pinning-service 僅 §4/§9.1 = 外部 repo 合理);TIME_STEP_X1000/MAX_SUBSTEPS/INTEGER_SCALE/ORBITDB_REPLICATION_FACTOR 對上程式參數表;§8 @open4wd/system-constants 套件名、§10「PWA Manifest(四語系)」(pwa-offline §1 = /manifest.{lang}.json ×4)查證為真;版本規範 §8 / interfaces §8 / 版權 §6.1 / 建模 §8.4 / 美術資源 §5 / seo §6–§7 錨點全通;六大介面順序 = interfaces.md §2–§7。修:

  • 高1 Stage 2 編輯器子系統缺席(裁:獨立模組):§13 宣稱「完整路由」但無編輯器頁、五份模組名單無 editor、全 corpus 零 src/editor——編輯器操作.md 全套 modeless 互動 spec+UGC上傳流程 §157「Stage 2 編輯器(網頁端)大部分玩家用此」+上傳完成自動進入,證實為站內完整頁面且邏輯量大(GLB 解析/K-means/材質 paint/extras/spline)。補:§3 依賴圖自成一層(physics-engine + material-params + builtin-assets 之後)/ §4 客戶端與 UX 補 row(互動 spec = 編輯器操作.md、實作細節文檔待建)/ §5 開發順序插 step 3(後續順延、共 12 步)/ §9 tree 補 editor/ / §13 補 /editor(含上傳入口、編輯本機測試資產)→ 14 routes;§9.1 不加列(無 impl 檔、保 28↔28 對應)。
  • 中1 dt 雙權威矛盾:§2.1 dt = 1.0/60.0(= physics-engine.md :39)vs §6.1「TIME_STEP_X1000: 16 ms」同檔自打——16ms = 62.5Hz ≠ 1/60 = 16.67ms、照字面 /1000 回推的實作會讓所有 ×dt 公式快 4.2%;幀↔秒換算全 corpus 以 60 fps 為基 → dt 權威 = 1/60 s 精確。修:程式參數表 §2 desc 釘死(名目毫秒標示、非計算用、dt = 1/FIXED_FRAMERATE_HZ、勿 /1000 回推)+程式架構 §6.1 同句;其餘 3 鏡像(賽內機制/network-sync/使用技術)僅引名目 60Hz 不動。
  • 中2 §7.1 測試矩陣與 testing.md 互指不對齊:§7.1 宣稱 Chrome/Firefox「Win 必測」但 testing.md CI e2e = {ubuntu, macos} × {chromium, firefox, webkit} 無 windows runner;§7.1 無 mobile-safari、testing.md 5 projects 含 iPhone 14 → §7.1 重寫照 testing.md 權威(5 projects / CI OS / ubuntu×webkit 排除 / Edge = Chromium 家族不另列 / mobile = Playwright 裝置模擬非真機)+使用者裁補「本地 Windows 測試」:testing.md §4 新註——CI 僅 unit 含 windows,e2e / determinism 由 Windows 開發機 npx playwright testnpm run test:determinism 本地跑同套 fixture 補位、釋出前手動過一輪。
  • 中3 §3 依賴圖上行邊:ugc-rating ⇄ reputation 互饋(評分權重讀 getEffectiveScore ↔ 高評分里程碑回饋 delta)、economy ← moderation 黑名單閘、matchmaking ← versioning 開賽前驗證 → 圖下加免責註(開發分層建議、非嚴格 DAG、interfaces/stub 解耦先行);分層本身不動。
  • 細項 4:§11 pinning/signaling「玩家自架(template repo)」半錯 → 官方預設節點(pinning 背 DMCA 即時層+訂閱檢查點 pin)+玩家可自架 / §9.1 reputation row 首詞「事件」→「純 derive(無獨立事件:來源事件→delta)」/ §9.1 anti-piracy row+anti-piracy.md 頭行「仲裁投票、信譽加權」07-02 收斂殘稿 → 「上傳期 pending / 爭議路由(仲裁歸 moderation、本模組只供相似度證據)」/ §4 themes row 補 主題系統.md 連結(原整檔 0 處指到設計檔)。

觀察維持不動:§2 圖 DerivedState 節點為概念總覽(每幀管線權威 = physics-engine.md);頁面線框.md 11 頁 vs 14 routes(/settings、/dmca、/editor 三頁 wireframe 未建,editor 綁 編輯器操作 A1 未決)。程式架構.md 二輪結案(跨 4 檔:程式架構 / anti-piracy / testing / 程式參數表)。

同日三輪保險複審(中1細項3全修、跨 3 檔):乾淨面=二輪改動自檢全落對;§12 ↔ interfaces.md §8 同句(介面 semver 對應 protocol_version);§1 SignalingProvider「Worker / Star / GossipSub」= signaling-service.md :4 fallback 順序原文;/garage/edit/:id → 車輛組裝 §8(Loadout 編輯流程)錨點正確;corpus「16ms」殘留(比賽進行流程 §3 標題/network-sync・physics-engine perf 表)全為幀時限 perf budget 非 dt 宣稱、合法不動。修:⭐中1 §13 與 seo.md 可索引頁集合不對齊——seo.md §1 metadata 表/§6 SSG prerender/§7 Lighthouse 承諾 /(首頁完整 metadata、非 redirect)、/about(靜態)、/track/:cid/parts/:cid(SSG top-N 詳情登陸頁)四條,§13「完整路由」全缺、全 corpus 僅 seo.md 定義=語系二輪剝前綴接縫修完後的下一層殘洞(剝完前綴 router 仍查無路由、SSG ~2500 登陸 URL 404)→ §13 補 4 條 → 18 routes/ = landing 未登入可瀏覽//about = 關於靜態〔使用者裁留〕/兩 detail = SSG 收錄・分享登陸頁,指 零件與場景+seo §1);反向砍 seo.md 不可行(top-N 詳情頁 = SSG 策略核心)。細項 3:總覽.md 系統規範表補 [編輯器操作.md] 列(2026-05-28 成檔至今未索引)/編輯器操作.md 檔頭補對應模組 backlink(src/editor/+路由 /editor、實作文檔待建——二輪新造接縫收尾)/本檔檔頭角色行補「程式碼層次、頁面路由」(原低估涵蓋、總覽 :63 已如此介紹本檔)。觀察落檔不動:parts 有詳情頁無展示廳(既定頁面集合非對稱);seo.md metadata 表反向缺 /tracks/showcase/vehicles 列(seo.md 側完備性、輪到該檔複審時處理);頁面線框 11 頁 vs 18 routes。程式架構.md 三輪結案(累計三輪)。

同日 — ui 模組拆分+前端技術策略對接(使用者提問「ui 放頁面?改名 view?共用元件會不會傷主題自由度?表單檢核?」衍生、跨 8 檔):查證發現共用元件庫已是 canon(設計系統.md §5 元件規則+前端技術策略.md §4 o4-*「全站強制」三層〔基礎/遊戲化/容器〕;§13 per-page 背景策略保每頁獨立設計——頁面獨特性來自 3D 場景/構圖/variant、共用只在原子層)→ 裁 ui/pages/(18 routes 構圖層、每頁獨立設計)+ ui-kit/(o4-* 實作、權威 = 前端技術策略.md §4),勝過 view 改名;o4- 全站強制 = 主題 token 覆蓋率保證、共用元件不縮主題自由度(主題邊界 = token 詞彙量、與元件共用無關)。程式架構 §3/§4/§5/§9 四名單同步+依賴圖免責註補 editor ← ui-kit+testing.md coverage 'src/ui''src/pages'(ui-kit 走全域門檻)。⭐前端技術策略.md 舊主題模型收斂(該檔不在主題系統 12 檔對接批、本次撈出 drift):§14「首版單一主題 warm-dark/settings 不放切換 UI/加主題 = 改 scss+service」與 主題系統.md(manifest 資源包、零程式變更、themeId 顯示分類)相撞 → §14 改寫指權威+§5 token 段釘「token 名錄與預設值權威 = themes/default/theme.jsonsrc/styles/tokens/*.scss = build 自 default manifest 生成基準(禁手改雙權威)、主題覆寫 = runtime applyTokensdata-theme」+檔頭對應 src/app/src/ui-kit/src/pages/src/styles/。⭐Three.js token 鏡像(該檔獨有真需求:Three.js 不讀 CSS 變數 → ThemeService 維護鏡像、setTheme 同步 ambient/fog/lights/o4-3d-stage preset)補進 themes.md §2+主題系統.md §6/§10(雙向對接列)。表單檢核兩層模型落檔(前端技術策略新 §4.1):UI 層 = Angular Reactive Forms+共用 form-field 元件+錯誤訊息走 i18n 新 validation.* 分組(語系清單 §3+i18n.md §1);規則權威在領域層(validator 門檻值一律取 @open4wd/system-constants/領域模組、表單層禁重寫——跨檔漂移紀律的程式碼層延伸);表單過檢 ≠ 被接受*(真擋點 = 領域/共識層收件驗證、schema;改裝 client 可跳過表單 = 資安規範同一信任邊界)。

同日四輪複審+命名/結構優化(使用者點名評估;中3+命名2+優化4+細項1 全修、跨 6 檔):中1 §7.4 ↔ testing.md §4 CI 雙向不對齊(§7.4 稱每 PR 跑「跨瀏覽器 fixture」但 determinism job = release 觸發;缺 integration/fuzz;testing.md 反向無 invariants/schema/i18n/themes 檢核落點)→ testing.md §4 補 validate jobcheck:invariants/spec↔const/i18n:validatethemes:validate,push/PR)+§7.4 改指權威+五 job 觸發摘要/中2 §8 import 規則精確化(「走 interfaces 抽象」對展示層字面不成立:pages→o4-、editor→ui-kit、materials.ts 直讀 → 限定「基礎設施族(六大介面)」、資料模組與展示層直接 import)/中3 新 §6.6 單執行緒物理(deterministic build ⊥ SIMD/parallel+主站無 COOP/COEP→SAB 不可用=物理必然單執行緒,determinism 條件補列、引 使用技術 §14)。命名(評估後改 2 留 5):/parts/:cid/part/:cid(與 /track/:cid 單數對齊;seo.md §1 同步)//showcase/vehicles/vehicles(與 /tracks 對稱、showcase 前綴下僅一路由;頁面線框 §9+ui-image-prompts ×2+ui-asset-prompts 同步);evaluated-and-keep=material-params(名符其實)/pinning·signaling-service(-service=可部署服務家族)/chat-system·audio-system(-system 冗字但 51 處×22 檔+檔名連動、churn/效益比差)。優化:O1 §9 tree 依 §3 層序重排(builtin-assets 歸位 material-params 旁、ugc-rating 歸 layer 6 群、seo/versioning/pwa-offline 尾段正序;歷次就地插入的積累)/O2 §9.1 28 列表照層序重排(原=歷史順序)/O3 §2 圖時間尺度分流(DerivedState 改支線標「賽後、非每幀管線」——二輪起觀察項落地)/O4 §4 矩陣去兩個非模組列(零件晶片/場地規範 → 表下領域規範註記、矩陣回歸模組 1:1)。細項:§13 補 /race/:id 語意註(:id=matchId、頁面隨回合進行、result=match 總結算——Match/Round/Race 正名對齊)。grep 驗證:/showcase/vehicles/parts/:cid 全 corpus 0 殘留(僅歷史)。程式架構.md 四輪結案(累計四輪)。*