E1 验收记录#

学习首页 · PhysX 目录

任务:PhysX Atlas #2。交付:建模、坐标、状态与时间、C++ 阅读片段、中英文入口、课程与路线状态、固定源码清单。

本项基于 main 的 3c55630d0e200f4425b7fefb1f410571dd1d708d 开发;E0 导读与导航已存在。验收对应包含本记录的 Git 提交,发布/合入状态由 Issue/PR 与提交记录证明,不由这份文档推断。

验收与证据#

#2 要求

本项证据

结论

原生对象、资产、坐标、姿态、惯量、单位/假设

课程 1–4 节;原生字段表、量纲换算、COM 主轴与平行轴关系、cooking/宿主边界

源码课程覆盖

状态维度、所有权、重置、采样阶段

课程 5–7 节;独立刚体与 articulation、cache flags/索引、reset 与序列化边界

源码课程覆盖

API/source 对应与易错点

逐段固定提交链接;第 9 节定位表,第 10 节 7 道题及答案

已自审

版本、核心/宿主/绑定区分

本章开头、版本页;PxReal、Direct GPU 限制

未推断历史宿主核心版本

基础原理路线与后续区别

B0 质量/数据基础、B4 时间契约;curriculum 明确 E3 尚待完整积分/约束/求解推导

没有提前标记完整 B0/B4 完成

静态检查、链接与源码身份

下方命令

通过;不等同运行验收

官方源码提交固定为 da950a3537927784951853c66618036f332ca0ce。sources.json 的 39 个文件已逐个校验 Git blob,并与该提交的官方递归 Git tree 条目核对。课程中的固定 blob 链接均登记在 manifest,行号存在性通过检查;这只能证明文件/行范围身份,语义另经作者阅读自审,未宣称独立 reviewer 审批。

特别复核了三个容易传播错误的地方:

  • getRootGlobalPose 的简短注释与坐标方向容易混淆;实现返回根 Actor 的 global pose,没有取逆。

  • updateMassAndInertia 未指定 COM 时,实现会计算 COM;不把参数注释中的 (0,0,0) 当作最终计算结果。

  • attachShape 注释里的动态三角网格限制不能覆盖全部路径;同版官方 SDF 示例包含动态 triangle mesh 和 CPU/GPU 分支。章节明确区分普通 mesh 与 SDF,未执行示例、未声称完整 SDF 支持矩阵已验证。

实际检查#

检查环境:Linux,Python 3.12.12,g++ 11.4.0。没有安装或构建 PhysX 二进制;C++ 检查使用固定源树的公开头文件。其递归依赖共 102 个头文件,下载内容均通过对应 Git blob 校验;SDK 源码内引用但未公开的 Switch 平台头文件未下载,Linux 预处理路径未使用它们。

在仓库根目录执行(PHYSX_SOURCE 指向含 physx/include 的匹配官方源树或已核验缓存):

git diff --check
python scripts/check_docs.py
python scripts/check_source_links.py --source-root "$PHYSX_SOURCE"
g++ -std=c++17 -DNDEBUG -fsyntax-only -Wall -Wextra \
  -I "$PHYSX_SOURCE/physx/include" examples/e1_state_boundary.cpp

结果:空白检查、相对 Markdown 文件链接、39 个固定源码 blob 与固定源码链接/行范围通过;C++ 语法和类型检查退出码 0,无诊断。新脚本 scripts/check_source_links.py 也通过 Python AST 语法检查。另用 Git tree 对照确认 manifest 不是仅与本地文件自洽。

check_docs.py 不验证远端 URL、Markdown 锚点或语义。check_source_links.py 只读本地匹配源码,不自动联网,固定源码不存在或内容不符会失败。公开来源本轮已从固定提交取得并校验;链接未以 HTTP 页面渲染或浏览器视觉效果验收。

未做与下一步#

未链接 SDK、未执行片段、未创建物理场景;未运行实验、训练、基准、控制器或 GPU;未验收逐位可恢复轨迹。语法/类型检查不证明初始化、链接、运行协议调用者或物理结果正确。已有 CI 仍只运行它声明的文档检查,不能据其绿灯宣称完整 C++ 构建通过。

E1 的有界源码课程已完成。本项合入后,重新审视 #3、#4、#5 的当前状态与先修,优先建议 E2 驱动/机器人/任务接口;SDF 接触与 PGS/TGS 数值语义继续由 E3/E6 展开。后续实验证据复用 DexLab,不新增评分器或独立试验批次。

课程来源 · GitHub · 许可