跳轉到

D-20260524-03|DeterministicWorld 介面+Rapier 版本鎖定

背景與驅動力

平行掃描 project-resources 舊 spec 三十六份、整理 50+ 項缺漏後的 Critical 10 項回填之一:物理引擎當時沒有明文介面契約,引擎版本升級對模擬行為的影響也無規範——P2P 對戰下,任何引擎行為差異都是跨 peer desync 與共識分歧的直接來源。

考慮過的選項

(流水帳未記錄替代方案;本決策以缺漏回填形式成立。)

決定

  • 定義 DeterministicWorld 介面stepsnapshotrestorecomputeChecksumengineVersion 五方法,物理世界一律經此契約驅動。
  • Rapier 版本鎖定:引擎升級受控,major bump 視同 protocol bump。介面現況見 程式架構/physics-engine.md

後果與影響

決定性自此有了介面層錨點:快照 checksum、rollback、共識層驗算全掛在 computeChecksumengineVersion 之上。同軸延伸:接觸係數合成不變式(D-20260609-01)把決定性從介面層推進到參數層,決定性紀律(D-20260707-01)再收束為全專案守則。