建议目录职责

text
project/
├── .fastsim/project.yaml       # Registry 与可信根
├── runs/                       # 本次应用声明
├── scenarios/                  # 可复用 Scenario 组件
├── components/
│   ├── index.yaml              # Registry index
│   ├── robots/                 # 版本化 Manifest
│   ├── objects/
│   └── sensors/
└── assets/                     # Manifest 引用的受控资源

目录名不是自动发现协议;真正的解析入口仍是 Project 中显式登记的 Registry index。

选择正确的 kind

environment 表示场景底座;object 表示普通刚体;articulation 表示非机器人铰接物;robot 是具备控制语义的 articulation 特化;sensor、light、deformable 与 fluid 具有各自明确合同。不要为了复用一段加载代码而把所有内容伪装成 object 或 robot。

后端 variants

同一组件可以为 isaaclabmujocopybullet 或通用 * 提供不同资源。Variant 应保持组件稳定语义与 frame/joint 身份,并准确声明能力差异;它不能改变 Run 选择的后端。

资源完整性

USD、URDF、MJCF、mesh、纹理与参数文件均应作为 Manifest 资源记录来源与摘要。Vendor 源资产应保留,转换后的 USD 或简化 mesh 放入新的版本化派生目录,并在 Manifest 中记录 provenance。

实例覆盖

初始 pose、实例名称与本次参数放在 Scenario。共享几何、joint 语义和标准 frame 放在组件 release。若覆盖改变组件身份或物理含义,应发布新 release,而不是把长期修复藏在单个 Run 中。

概念关系见Project、Registry 与 ComponentScenario 与 Scene