Spaces:
Sleeping
Sleeping
File size: 3,734 Bytes
03f7730 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 | # SimReady OEM Library β Onboarding
## Step 1: Clone the Foundation Repo
```bash
git lfs install
git clone https://github.com/NVIDIA/simready-foundation.git
cd simready-foundation
```
> Requires [Git LFS](https://git-lfs.com). Run `git lfs pull` if binary files show as pointers.
---
## Step 2: Understand Profiles
Profiles define what your asset must satisfy. Pick the one matching your use case:
| Profile | Use Case |
|---------|----------|
| `Prop-Robotics-Neutral` | Props (format-neutral physics) |
| `Prop-Robotics-Physx` | Props (PhysX-specific) |
| `Prop-Robotics-Isaac` | Props (Isaac Sim ready) |
| `Robot-Body-Neutral` | Robot bodies (neutral) |
| `Robot-Body-Runnable` | Robots runnable in PhysX |
| `Robot-Body-Isaac` | Robots for Isaac Sim |
> β οΈ Profile names are **case-sensitive**.
**Read your profile's authoring guide:**
`nv_core/sr_specs/docs/profiles/<profile-name>.md`
**See formal definitions:**
`nv_core/sr_specs/docs/profiles/profiles.toml`
**Study sample assets:**
`sample_content/common_assets/robots_general/` and `props_general/`
---
## Step 3: Install the SDK
Install the `simready` CLI from the public SimReady OEM SDK distribution.
```bash
pip install simready-oem-sdk
```
> Avoid Anaconda β it causes USD DLL conflicts. The packaging spec is summarized in Step 4 below.
---
## Step 4: Package Your Assets
Follow the SimReady packaging specification (summarized below). Required structure:
```
<asset_name>/
βββ <asset_name>.usd β Interface file (validate THIS)
βββ configuration/
β βββ <asset_name>_base.usd
β βββ <asset_name>_physics.usd
β βββ <asset_name>_sensor.usd
βββ .thumbs/256x256/
βββ <asset_name>.usd.png β 256Γ256 thumbnail (REQUIRED)
```
Embed profile metadata in your interface file's `customLayerData`. See your profile's authoring guide under `nv_core/sr_specs/docs/profiles/<profile-name>.md` in the [NVIDIA/simready-foundation](https://github.com/NVIDIA/simready-foundation) repo for full details.
---
## Step 5: Validate & Fix
```bash
simready validate ./my_asset/my_asset.usd --profile Robot-Body-Runnable
simready fix list # see available auto-fixes
simready fix apply <fix_name> ./my_asset
```
Iterate until all checks pass. For a hosted run that doesn't require local installation, use the **Validator** tab on this Space.
---
## Step 6: Generate a Validation Receipt
```bash
simready validate ./my_asset/my_asset.usd --profile Robot-Body-Runnable --receipt
```
Creates `.simready/validation.json` β **required for submission**.
---
## Step 7: Package with WRAPP (Optional)
```bash
wrapp create my_asset 1.0.0 ./my_asset --repo s3://your-bucket/assets
```
> WRAPP is from [NGC](https://catalog.ngc.nvidia.com/orgs/nvidia/teams/omniverse/collections/wrapp), not pip.
---
## Step 8: Create Manifest & Pre-flight
```bash
simready manifest init my_company --email team@company.com
simready manifest add my_company ./my_asset
simready manifest validate my_company # must pass before submission
```
---
## Step 9: Submit Merge Request
```bash
simready submit my_company
git checkout -b submission/my_company-q2-2026
git add . && git commit -m "Submit assets" && git push origin HEAD
```
Open a PR targeting `main`. Include your manifest + asset directories with receipts.
---
## Further Reading
- [NVIDIA/simready-foundation](https://github.com/NVIDIA/simready-foundation) β public specs, profile authoring guides, sample assets
- [WRAPP on NGC](https://catalog.ngc.nvidia.com/orgs/nvidia/teams/omniverse/collections/wrapp) β packaging tool
- [Git LFS](https://git-lfs.com) β required for the foundation repo's binary assets
|