loginowskid commited on
Commit
03f7730
Β·
verified Β·
1 Parent(s): df09cf0

Sync from simready-oem-library-pm@5cf67ff7

Browse files
Files changed (3) hide show
  1. README.md +44 -44
  2. VALIDATE.md +130 -130
  3. tools/hf_space/README_HEADER.md +4 -3
README.md CHANGED
@@ -1,44 +1,44 @@
1
- ---
2
- title: Simready Validator
3
- emoji: 🏒
4
- colorFrom: indigo
5
- colorTo: gray
6
- sdk: docker
7
- pinned: false
8
- ---
9
-
10
- # SimReady Validator
11
-
12
- A hosted validator for [SimReady](https://github.com/NVIDIA/simready-foundation)
13
- asset packages. Submit a HuggingFace dataset, pick a profile, and the Space
14
- runs the SimReady foundation rules against it and reports back what passed,
15
- what failed, and why β€” without copying your assets off HuggingFace.
16
-
17
- ## Using the validator
18
-
19
- Click the **App** tab above to open the validator UI. In the form:
20
-
21
- | Field | What to enter |
22
- |---|---|
23
- | **Dataset** | The HuggingFace dataset slug you want to validate (e.g. `your-org/your-asset-bundle`). The dataset must be readable by this Space's `HF_TOKEN`. |
24
- | **Profile** | The SimReady profile that matches your asset type β€” props vs. robots, neutral vs. PhysX vs. Isaac. See the validation guide for the full list. |
25
- | **Version** | Profile version. Leave at `1.0.0` unless your profile is pinned to a different release. |
26
- | **Open PR on dataset with verdict** | When ticked, the verdict is written back to the dataset as a `validation/results.json` pull request. Leave off for ad-hoc smoke tests. |
27
-
28
- Click **Validate** and the log streams in real time. When it finishes the
29
- results.json appears in the **HTML report** download.
30
-
31
- ## Going deeper
32
-
33
- - **[Partner walkthrough β†’ VALIDATE.md](./blob/main/VALIDATE.md)** β€” the full nine-step guide from cloning the foundation repo to submitting your assets. Read this first if you're packaging assets for SimReady for the first time.
34
- - **[NVIDIA/simready-foundation](https://github.com/NVIDIA/simready-foundation)** β€” public spec repo with profile authoring guides and sample assets.
35
- - **[WRAPP on NGC](https://catalog.ngc.nvidia.com/orgs/nvidia/teams/omniverse/collections/wrapp)** β€” packaging tool referenced in the walkthrough.
36
-
37
- ## About this Space
38
-
39
- The validator reads the requested HuggingFace dataset in place via
40
- `huggingface_hub.snapshot_download` β€” assets stay on HuggingFace, no
41
- transfer onto NVIDIA infrastructure. Running on a `t4-medium` GPU
42
- tier. PhysX / MDL rules that require an Isaac Sim runtime are not
43
- covered here yet (Isaac Sim isn't in the Space image β€” that's a
44
- separate workstream).
 
1
+ ---
2
+ title: Simready Validator
3
+ emoji: 🏒
4
+ colorFrom: indigo
5
+ colorTo: gray
6
+ sdk: docker
7
+ pinned: false
8
+ ---
9
+
10
+ # SimReady Validator
11
+
12
+ A hosted validator for [SimReady](https://github.com/NVIDIA/simready-foundation)
13
+ asset packages. Submit a HuggingFace dataset, pick a profile, and the Space
14
+ runs the SimReady foundation rules against it and reports back what passed,
15
+ what failed, and why β€” without copying your assets off HuggingFace.
16
+
17
+ ## Using the validator
18
+
19
+ Click the **App** tab above to open the validator UI. In the form:
20
+
21
+ | Field | What to enter |
22
+ |---|---|
23
+ | **Dataset** | The HuggingFace dataset slug you want to validate (e.g. `your-org/your-asset-bundle`). The dataset must be readable by this Space's `HF_TOKEN`. |
24
+ | **Profile** | The SimReady profile that matches your asset type β€” props vs. robots, neutral vs. PhysX vs. Isaac. See the validation guide for the full list. |
25
+ | **Version** | Profile version. Leave at `1.0.0` unless your profile is pinned to a different release. |
26
+ | **Open PR on dataset with verdict** | When ticked, the verdict is written back to the dataset as a `validation/results.json` pull request. Leave off for ad-hoc smoke tests. |
27
+
28
+ Click **Validate** and the log streams in real time. When it finishes the
29
+ results.json appears in the **HTML report** download.
30
+
31
+ ## Going deeper
32
+
33
+ - **[Partner walkthrough β†’ VALIDATE.md](./blob/main/VALIDATE.md)** β€” the full nine-step guide from cloning the foundation repo to submitting your assets. Read this first if you're packaging assets for SimReady for the first time.
34
+ - **[NVIDIA/simready-foundation](https://github.com/NVIDIA/simready-foundation)** β€” public spec repo with profile authoring guides and sample assets.
35
+ - **[WRAPP on NGC](https://catalog.ngc.nvidia.com/orgs/nvidia/teams/omniverse/collections/wrapp)** β€” packaging tool referenced in the walkthrough.
36
+
37
+ ## About this Space
38
+
39
+ The validator reads the requested HuggingFace dataset in place via
40
+ `huggingface_hub.snapshot_download` β€” assets stay on HuggingFace, no
41
+ transfer onto NVIDIA infrastructure. Running on a `t4-medium` GPU
42
+ tier. PhysX / MDL rules that require an Isaac Sim runtime are not
43
+ covered here yet (Isaac Sim isn't in the Space image β€” that's a
44
+ separate workstream).
VALIDATE.md CHANGED
@@ -1,130 +1,130 @@
1
- # SimReady OEM Library β€” Onboarding
2
-
3
- ## Step 1: Clone the Foundation Repo
4
-
5
- ```bash
6
- git lfs install
7
- git clone https://github.com/NVIDIA/simready-foundation.git
8
- cd simready-foundation
9
- ```
10
-
11
- > Requires [Git LFS](https://git-lfs.com). Run `git lfs pull` if binary files show as pointers.
12
-
13
- ---
14
-
15
- ## Step 2: Understand Profiles
16
-
17
- Profiles define what your asset must satisfy. Pick the one matching your use case:
18
-
19
- | Profile | Use Case |
20
- |---------|----------|
21
- | `Prop-Robotics-Neutral` | Props (format-neutral physics) |
22
- | `Prop-Robotics-Physx` | Props (PhysX-specific) |
23
- | `Prop-Robotics-Isaac` | Props (Isaac Sim ready) |
24
- | `Robot-Body-Neutral` | Robot bodies (neutral) |
25
- | `Robot-Body-Runnable` | Robots runnable in PhysX |
26
- | `Robot-Body-Isaac` | Robots for Isaac Sim |
27
-
28
- > ⚠️ Profile names are **case-sensitive**.
29
-
30
- **Read your profile's authoring guide:**
31
- `nv_core/sr_specs/docs/profiles/<profile-name>.md`
32
-
33
- **See formal definitions:**
34
- `nv_core/sr_specs/docs/profiles/profiles.toml`
35
-
36
- **Study sample assets:**
37
- `sample_content/common_assets/robots_general/` and `props_general/`
38
-
39
- ---
40
-
41
- ## Step 3: Install the SDK
42
-
43
- Install the `simready` CLI from the public SimReady OEM SDK distribution.
44
-
45
- ```bash
46
- pip install simready-oem-sdk
47
- ```
48
-
49
- > Avoid Anaconda β€” it causes USD DLL conflicts. The packaging spec is summarized in Step 4 below.
50
-
51
- ---
52
-
53
- ## Step 4: Package Your Assets
54
-
55
- Follow the SimReady packaging specification (summarized below). Required structure:
56
-
57
- ```
58
- <asset_name>/
59
- β”œβ”€β”€ <asset_name>.usd ← Interface file (validate THIS)
60
- β”œβ”€β”€ configuration/
61
- β”‚ β”œβ”€β”€ <asset_name>_base.usd
62
- β”‚ β”œβ”€β”€ <asset_name>_physics.usd
63
- β”‚ └── <asset_name>_sensor.usd
64
- └── .thumbs/256x256/
65
- └── <asset_name>.usd.png ← 256Γ—256 thumbnail (REQUIRED)
66
- ```
67
-
68
- 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.
69
-
70
- ---
71
-
72
- ## Step 5: Validate & Fix
73
-
74
- ```bash
75
- simready validate ./my_asset/my_asset.usd --profile Robot-Body-Runnable
76
- simready fix list # see available auto-fixes
77
- simready fix apply <fix_name> ./my_asset
78
- ```
79
-
80
- Iterate until all checks pass. For a hosted run that doesn't require local installation, use the **Validator** tab on this Space.
81
-
82
- ---
83
-
84
- ## Step 6: Generate a Validation Receipt
85
-
86
- ```bash
87
- simready validate ./my_asset/my_asset.usd --profile Robot-Body-Runnable --receipt
88
- ```
89
-
90
- Creates `.simready/validation.json` β€” **required for submission**.
91
-
92
- ---
93
-
94
- ## Step 7: Package with WRAPP (Optional)
95
-
96
- ```bash
97
- wrapp create my_asset 1.0.0 ./my_asset --repo s3://your-bucket/assets
98
- ```
99
-
100
- > WRAPP is from [NGC](https://catalog.ngc.nvidia.com/orgs/nvidia/teams/omniverse/collections/wrapp), not pip.
101
-
102
- ---
103
-
104
- ## Step 8: Create Manifest & Pre-flight
105
-
106
- ```bash
107
- simready manifest init my_company --email team@company.com
108
- simready manifest add my_company ./my_asset
109
- simready manifest validate my_company # must pass before submission
110
- ```
111
-
112
- ---
113
-
114
- ## Step 9: Submit Merge Request
115
-
116
- ```bash
117
- simready submit my_company
118
- git checkout -b submission/my_company-q2-2026
119
- git add . && git commit -m "Submit assets" && git push origin HEAD
120
- ```
121
-
122
- Open a PR targeting `main`. Include your manifest + asset directories with receipts.
123
-
124
- ---
125
-
126
- ## Further Reading
127
-
128
- - [NVIDIA/simready-foundation](https://github.com/NVIDIA/simready-foundation) β€” public specs, profile authoring guides, sample assets
129
- - [WRAPP on NGC](https://catalog.ngc.nvidia.com/orgs/nvidia/teams/omniverse/collections/wrapp) β€” packaging tool
130
- - [Git LFS](https://git-lfs.com) β€” required for the foundation repo's binary assets
 
1
+ # SimReady OEM Library β€” Onboarding
2
+
3
+ ## Step 1: Clone the Foundation Repo
4
+
5
+ ```bash
6
+ git lfs install
7
+ git clone https://github.com/NVIDIA/simready-foundation.git
8
+ cd simready-foundation
9
+ ```
10
+
11
+ > Requires [Git LFS](https://git-lfs.com). Run `git lfs pull` if binary files show as pointers.
12
+
13
+ ---
14
+
15
+ ## Step 2: Understand Profiles
16
+
17
+ Profiles define what your asset must satisfy. Pick the one matching your use case:
18
+
19
+ | Profile | Use Case |
20
+ |---------|----------|
21
+ | `Prop-Robotics-Neutral` | Props (format-neutral physics) |
22
+ | `Prop-Robotics-Physx` | Props (PhysX-specific) |
23
+ | `Prop-Robotics-Isaac` | Props (Isaac Sim ready) |
24
+ | `Robot-Body-Neutral` | Robot bodies (neutral) |
25
+ | `Robot-Body-Runnable` | Robots runnable in PhysX |
26
+ | `Robot-Body-Isaac` | Robots for Isaac Sim |
27
+
28
+ > ⚠️ Profile names are **case-sensitive**.
29
+
30
+ **Read your profile's authoring guide:**
31
+ `nv_core/sr_specs/docs/profiles/<profile-name>.md`
32
+
33
+ **See formal definitions:**
34
+ `nv_core/sr_specs/docs/profiles/profiles.toml`
35
+
36
+ **Study sample assets:**
37
+ `sample_content/common_assets/robots_general/` and `props_general/`
38
+
39
+ ---
40
+
41
+ ## Step 3: Install the SDK
42
+
43
+ Install the `simready` CLI from the public SimReady OEM SDK distribution.
44
+
45
+ ```bash
46
+ pip install simready-oem-sdk
47
+ ```
48
+
49
+ > Avoid Anaconda β€” it causes USD DLL conflicts. The packaging spec is summarized in Step 4 below.
50
+
51
+ ---
52
+
53
+ ## Step 4: Package Your Assets
54
+
55
+ Follow the SimReady packaging specification (summarized below). Required structure:
56
+
57
+ ```
58
+ <asset_name>/
59
+ β”œβ”€β”€ <asset_name>.usd ← Interface file (validate THIS)
60
+ β”œβ”€β”€ configuration/
61
+ β”‚ β”œβ”€β”€ <asset_name>_base.usd
62
+ β”‚ β”œβ”€β”€ <asset_name>_physics.usd
63
+ β”‚ └── <asset_name>_sensor.usd
64
+ └── .thumbs/256x256/
65
+ └── <asset_name>.usd.png ← 256Γ—256 thumbnail (REQUIRED)
66
+ ```
67
+
68
+ 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.
69
+
70
+ ---
71
+
72
+ ## Step 5: Validate & Fix
73
+
74
+ ```bash
75
+ simready validate ./my_asset/my_asset.usd --profile Robot-Body-Runnable
76
+ simready fix list # see available auto-fixes
77
+ simready fix apply <fix_name> ./my_asset
78
+ ```
79
+
80
+ Iterate until all checks pass. For a hosted run that doesn't require local installation, use the **Validator** tab on this Space.
81
+
82
+ ---
83
+
84
+ ## Step 6: Generate a Validation Receipt
85
+
86
+ ```bash
87
+ simready validate ./my_asset/my_asset.usd --profile Robot-Body-Runnable --receipt
88
+ ```
89
+
90
+ Creates `.simready/validation.json` β€” **required for submission**.
91
+
92
+ ---
93
+
94
+ ## Step 7: Package with WRAPP (Optional)
95
+
96
+ ```bash
97
+ wrapp create my_asset 1.0.0 ./my_asset --repo s3://your-bucket/assets
98
+ ```
99
+
100
+ > WRAPP is from [NGC](https://catalog.ngc.nvidia.com/orgs/nvidia/teams/omniverse/collections/wrapp), not pip.
101
+
102
+ ---
103
+
104
+ ## Step 8: Create Manifest & Pre-flight
105
+
106
+ ```bash
107
+ simready manifest init my_company --email team@company.com
108
+ simready manifest add my_company ./my_asset
109
+ simready manifest validate my_company # must pass before submission
110
+ ```
111
+
112
+ ---
113
+
114
+ ## Step 9: Submit Merge Request
115
+
116
+ ```bash
117
+ simready submit my_company
118
+ git checkout -b submission/my_company-q2-2026
119
+ git add . && git commit -m "Submit assets" && git push origin HEAD
120
+ ```
121
+
122
+ Open a PR targeting `main`. Include your manifest + asset directories with receipts.
123
+
124
+ ---
125
+
126
+ ## Further Reading
127
+
128
+ - [NVIDIA/simready-foundation](https://github.com/NVIDIA/simready-foundation) β€” public specs, profile authoring guides, sample assets
129
+ - [WRAPP on NGC](https://catalog.ngc.nvidia.com/orgs/nvidia/teams/omniverse/collections/wrapp) β€” packaging tool
130
+ - [Git LFS](https://git-lfs.com) β€” required for the foundation repo's binary assets
tools/hf_space/README_HEADER.md CHANGED
@@ -38,6 +38,7 @@ results.json appears in the **HTML report** download.
38
 
39
  The validator reads the requested HuggingFace dataset in place via
40
  `huggingface_hub.snapshot_download` β€” assets stay on HuggingFace, no
41
- transfer onto NVIDIA infrastructure. Hardware is `cpu-upgrade`
42
- (8 vCPU, 32 GB); Kit-rooted PhysX / MDL rule coverage requires a GPU
43
- tier and isn't enabled here yet.
 
 
38
 
39
  The validator reads the requested HuggingFace dataset in place via
40
  `huggingface_hub.snapshot_download` β€” assets stay on HuggingFace, no
41
+ transfer onto NVIDIA infrastructure. Running on a `t4-medium` GPU
42
+ tier. PhysX / MDL rules that require an Isaac Sim runtime are not
43
+ covered here yet (Isaac Sim isn't in the Space image β€” that's a
44
+ separate workstream).