E1 验收记录#
Learning home · PhysX contents
Course text is primarily Chinese, with English terminology and summaries. The original content is preserved.
任务: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,不新增评分器或独立试验批次。