Open Physics
使用時機
- 代理需要建立、推進、查詢或重播一個確定性的物理世界。
- 遊戲測試員需要接觸、射線投射或求解器診斷資訊,而非視覺猜測。
可用性護欄 — 當前階段
此儲存庫為 pre-alpha 支架。目前尚無 physics_* 工具被註冊。
不得聲稱世界已被模擬、重播結果一致,或建構結果在物理上是正確的。
如果計劃中的工具不可用,請回報原生核心尚未實作,並停止操作,而非使用其他引擎或偽造輸出。
預期的 M0 工作流程
僅在對應工具實際存在後,才使用此循環:
physics_world_create
→ physics_body_add(針對每個物體)
→ physics_step(固定步數)
→ physics_contacts_report / physics_raycast
→ physics_replay(相同輸入日誌;要求結果完全一致)
未來實作的規則:
- 保持初始世界描述明確且可序列化。
- 絕不能僅因為沒有錯誤就推斷模擬成功;必須檢查最終狀態。
- 將確定性視為可測試的合約:相同的輸入和步驟日誌必須產生相同的輸出。
- 將最大約束違反量和斷裂衝量與模擬結果一併報告。
- 不得將引擎描述為 Havok 或包含 Havok 程式碼。此為原創的乾淨房實作。