Open Physics
使用时机
- 当智能体需要创建、推进、查询或回放一个确定性的物理世界时。
- 当游戏测试员需要获取接触点、射线投射或求解器诊断信息,而非视觉上的粗略猜测时。
可用性护栏——当前阶段
此仓库是一个预开发脚手架。尚未注册任何 physics_* 工具。
请勿声称某个世界已经过模拟、某个回放已匹配,或某个构建在物理上是正确的。如果计划中的工具不可用,请报告原生核心未实现,并停止操作,而不是替换为其他引擎或生成虚构的输出。
预期的 M0 工作流程
仅在对应工具实际存在后,才能使用此循环:
physics_world_create
→ physics_body_add (针对每个物体)
→ physics_step (固定步数)
→ physics_contacts_report / physics_raycast
→ physics_replay (使用相同的输入日志;要求结果完全一致)
未来实现的规则:
- 保持初始世界描述的显式化和可序列化。
- 绝不要仅凭没有错误就推断模拟成功;必须检查最终状态。
- 将确定性视为可测试的契约:相同的输入和步进日志必须产生相同的输出。
- 在模拟结果中报告最大约束违反和破坏性脉冲。
- 不要将引擎描述为 Havok 或包含 Havok 代码。它是一项原创的洁净室实现。