建议目录职责
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
同一组件可以为 isaaclab、mujoco、pybullet 或通用 * 提供不同资源。Variant 应保持组件稳定语义与 frame/joint 身份,并准确声明能力差异;它不能改变 Run 选择的后端。
资源完整性
USD、URDF、MJCF、mesh、纹理与参数文件均应作为 Manifest 资源记录来源与摘要。Vendor 源资产应保留,转换后的 USD 或简化 mesh 放入新的版本化派生目录,并在 Manifest 中记录 provenance。
实例覆盖
初始 pose、实例名称与本次参数放在 Scenario。共享几何、joint 语义和标准 frame 放在组件 release。若覆盖改变组件身份或物理含义,应发布新 release,而不是把长期修复藏在单个 Run 中。