跳轉到

歷史記錄 · 2026-08-10

月份索引歷史記錄

重大重構里程碑

2026-08-10 ─ 跟車距離與世界水平穩定視角(issue 000311)

決策檔:D-20260810-01

participant 與 spectator 的跟車鏡頭統一支援 0.30–2.00 m 裝置本機偏好,並由 HUD、滑鼠滾輪、雙指縮放及手把右搖桿 Y 共用調整。車體傾斜、倒置或水平車頭退化時,相機保持世界水平並沿用最後穩定朝向;恢復直立後平滑接回 yaw。

場景遮擋只暫時縮短有效距離,解除後回復偏好。鏡頭距離與穩定狀態維持純 presentation,不進物理、rollback、spectator protocol、room state、ledger 或 checksum。

2026-08-10 ─ MatchResult 固定名單門檻與離場存證(issue 000312、000345)

決策檔:D-20260810-02

MatchResult quorum 改為不分 network/voluntary,一律以 ranking ∪ disconnects 去重後的 original active roster 嚴格多數計算;少數不能藉自陳離場原因縮小分母定稿。

新增本人單簽 RaceLeaveEvent,只立即套用本人斷線計次與信譽 −5,並與後續 MatchResult 以持久 (matchId, peerId) 去重。新增零經濟、零評分、零全域處罰的 RaceAbortEvidenceEvent 保存有界 frame 摘要、已收訊息 digest 與本機觀察。無 quorum 仍 fail-closed,首版接受惡意多數可作廢單場,不引入可信裁判、時間權威或託管保證金。

2026-08-10 ─ 回合唯一 Consensus Anchor 與衝突失效(issue 000315)

決策檔:D-20260810-03

移除未接線且事件結構無法計算的賽內 longest-chain/checksum tiebreak,以及每 60 秒 ledger 快照;改為每回合終局一張 RaceConsensusAnchorEvent。proposer 與 fallback 依原始 roster 穩定排序,每個 peer 每回合最多簽一份,候選必須落在 rollback finality 之外的有界 120-frame tail,證書要求當時 present roster 嚴格多數。

MatchResultEvent 新增 terminalFrame 與逐回合 roundAnchorCids;任一缺失或無效均禁止鑄幣。同回合兩張完整有效證書保存兩張原件與重疊 signer,整場 consensus-invalid,不選鏈、不偽裝成玩家斷線、不直接扣全域信譽。checksum 投票無嚴格多數時也由所有端一致結束整場。

2026-08-10 ─ 小額三層分潤零額項目收斂(issue 000313)

修正 computeRoyaltyShares 與 fold 正額守門的約定落差:70/20/10 拆分及殘留回補完成後,整除結果為 0 的 share 不再進入 MatchResultEvent。保留 fold 端每筆金額必須大於 0 的最後防線,避免一筆零額祖先分潤使整場獎金、使用統計與 recent match 靜默 no-op。

本次不改分潤比例、缺層與殘留歸屬,也不放寬事件 schema;僅明文化 canonical event 不序列化零額項目,並補小額三層分潤及整場套用的迴歸測試。