Skip to content

What's covered today

View Markdown llms-full.txt

At spec release 2026.08.0 every Rigyd conversion targets one profile, Robotics-Prop, and current output passes it with zero errors. This includes both rigid and articulated simulation props: runtime-neutral enough to use in Isaac Sim, Isaac Lab, MuJoCo, Gazebo, or another OpenUSD-aware simulator. Runtime-specific support — Isaac, PhysX, MuJoCo, Newton — is scored as optional features inside the profile, described below.

Reports scored at 2026.06.0 or earlier name the three profiles that preceded it — Prop-Robotics-Neutral, -Physx and -Isaac — and are not re-scored. See Reports from earlier releases.

  • Stage-level conformance — defaultPrim, upAxis = Z, metersPerUnit = 1.0, kilogramsPerUnit, and a single root UsdGeomXform.
  • Naming and on-disk layout — prim, file, and folder names that survive a round-trip through Linux, Windows, and the Omniverse Nucleus path resolver, with no absolute paths in references.
  • Geometry — valid topology, indexed primvars, consistent face winding, normals on non-subdivided meshes, points within 32-bit float precision, and sane RTX world-space bounds.
  • Visual materials — UsdPreviewSurface bindings that resolve, texture colour spaces set correctly, dimensions within RTX limits.
  • Rigid-body physics — UsdPhysics RigidBodyAPI and MassAPI applied correctly, mass and inertia coherent with collision volume, no skewed transforms.
  • Collision — CollisionAPI and MeshCollisionAPI on the right prims, and invisible colliders marked purpose = "guide" so they don’t render but still simulate.
  • SimReady metadata — SR.004: provenance fields in the root layer — author, the source asset’s license, category and Wikidata Q-code — alongside extents, mass and rigid-body count; SR.002: a 256×256 thumbnail at .thumbs/256x256/<name>.usd.png beside the USD file.
  • Semantic labels — SL.001–SL.003, SL.MAT.001, SL.QCODE.001, SL.TIME.001: SemanticsLabelsAPI labels on /Root (class and wikidata_qcode) inherited by every renderable prim, a material label on every Material, well-formed Q-codes, and no time samples on label attributes.
  • Visual materials, current form — VM.PS.002 (each renderable prim’s material connects a UsdPreviewSurface) and VM.TEX.003 (UsdPreviewSurface colour-space conventions). VM.TEX.002 is deprecated in favour of VM.TEX.005.

The physics-material and grasp checks (PMT.001, GSP.001), the PhysX collider pair and Isaac composition are still checked on every asset; at 2026.08.0 they belong to optional features.

Robotics-Prop marks runtime support as optional. An unmet optional feature never fails the profile; its unmet codes are listed in profiles["Robotics-Prop"].optional_unmet, and profiles["Robotics-Prop"].optional_features maps each feature id to its name. A feature is met when none of its codes appears in optional_unmet, so “passes for Isaac” is status === "PASS" with ISA.001 absent from optional_unmet.

FeatureFeature idsCodesToday
IsaacFET_100_ISAACISA.001 (+ PHYSX.COL.001/002)Met
PhysXFET_000_PHYSX, FET_003_PHYSXRV.001–RV.003, RV.010–RV.011, NP.006, SR.001, PHYSX.COL.001–002Not met — RV.* runtime variants not authored
NewtonFET_000_NEWTON, FET_003_NEWTONRV.004–RV.006, RV.010–RV.011, NP.006, SR.001, NEWTON.COL.001–002, NEWTON.MAS.001, NEWTON.MAT.001Not met
MuJoCoFET_000_MUJOCO, FET_003_MUJOCORV.007–RV.009, RV.010–RV.011, NP.006, SR.001, MUJOCO.COL.001–002Not met
Multi-bodyFET_004_STANDARDJT.001–JT.003, JT.ART.002–JT.ART.004, RB.MB.001N/A on a single-body prop; checked on articulated ones
MDLFET_006_MDLVM.BIND.002, VM.MDL.001–VM.MDL.003, VM.TEX.005Not met — VM.MDL.003, VM.TEX.005

The profile also lists OpenPBR, display colour, non-visual materials and grasp as optional features; their codes appear in optional_unmet the same way. On today’s delivered props optional_unmet holds 32 codes, all from those features and the PhysX, Newton, MuJoCo and MDL rows above.

/Root carries a collision_mode variantSet with two variants:

VariantGeometryUse it when
sdf (default selection)A signed-distance field over the visual mesh itselfYou are running PhysX on GPU. This is what PhysX and Isaac Sim ask for, and it gives stable contact on fine features.
convexHullThe convex decomposition (CoACD hulls under /Root/Collisions)You are running CPU dynamics, or any runtime without SDF support — PhysX simulates SDF colliders on GPU only.

The hull geometry itself is authored outside the variantSet, so a viewer can draw /Root/Collisions/* with no variant selection and no payload support. Only the physics opinions are variant-scoped. The SDF variant costs no extra geometry: its collider is an internal reference to /Root/Visual, so the points are stored once and resolve through composition.

For articulated assets, collision detail follows each part’s declared role. Graspable surfaces receive the finest SDF resolution, and so do parts that fit another part (a battery slot’s walls, a connector’s nose), which are also decomposed one at a time so no hull bridges the opening between them. Structural parts use the measured default, and incidental contact can use a smaller budget. Decorative parts remain in the visible model but are excluded from mass and collision generation. This keeps handles and controls precise without spending the same collision budget on trim.

All sixteen profiles are scored on every conversion, not just the one we target — the ones we do not target are the only thing that says what is left to do. This is a delivered prop at spec release 2026.08.0; a rigid upload and an articulated composition score the same:

ProfileRequirementsStatusUnmet
Robotics-Prop (targeted)97PASS— (32 optional-feature codes in optional_unmet)
Robot-Body114PASS— (56 in optional_unmet)
Robot-Gripper118PASS— (59 in optional_unmet)
Package-Candidate3PASS—
Package6INCOMPLETE5 unwritten
Package-NoBOM5INCOMPLETE4 unwritten
Open-Taxonomy-COCO · -Cityscapes · -ADE20K · -PascalVOC · -SUNRGBD · -ImageNet1K13 eachINCOMPLETE1 unwritten each — the dataset-vocabulary rule (COCO.001, …)
Sensor-IMU · -Joint · -Camera · -LiDAR1 · 1 · 6 · 4INCOMPLETEall unwritten

Each entry in report.validation.profiles carries a one-line note describing where a passing asset can be used, plus targeted and — when we do not aim at it — not_targeted_because.

StatusMeans
PASSEvery requirement in the profile was checked, and none failed
FAILAt least one requirement failed — failing[] names them
INCOMPLETENothing failed, but some requirements have no rule written yet — unchecked[] names them

INCOMPLETE is not a soft pass. It means we do not know. PASS is a claim about what we checked, so we only make it when we checked all of it — the Package profiles above report INCOMPLETE because they describe a distribution package rather than a single asset file, and we have a rule for only one of their requirements. The Open-Taxonomy and Sensor profiles are INCOMPLETE for the same reason: we label in our own category list plus Wikidata, not in COCO or ADE20K vocabularies, and a prop is not a sensor.

Where we disagree with NVIDIA’s own validator

Section titled “Where we disagree with NVIDIA’s own validator”

Exactly one place, deliberately, and it is a reading of their prose rather than of their tooling.

RB.MB.001 asks that an asset contain at least two rigid bodies. A prop has one. NVIDIA’s own profile pages for Prop-Robotics-Neutral and -Physx (the prop profiles before 2026.08.0) carry a section headed “Multi-body physics (conditional)” which settles it:

Single-rigid-body props are valid for this profile when they satisfy FET003_BASE_NEUTRAL. […] For props with exactly one rigid body, multi-body physics is not applicable and must not block profile conformance.

Their validator does not read that clause. Measured on our verification asset at 2026.06.0, it fails Prop-Robotics-Neutral on RB.MB.001 while passing Prop-Robotics-Physx and -Isaac, which reach the same feature through a dependency it does not evaluate — so the tool contradicts both their prose and itself. The prose is the authority, so we honour it: on an asset stamped as a Prop, RB.MB.001 reports N/A with na_reason: "not-applicable-to-asset" and the sentence quoted in the message.

The exemption is narrow. A multi-body asset gets a real answer either way, and an articulated asset that somehow shipped a single body still fails — this is for props that are single-body by design, not for a plan that collapsed.

At 2026.08.0 RB.MB.001 belongs to the optional multi-body feature of Robotics-Prop, so it can no longer block the profile in either tool. We keep the N/A on single-body props so the code does not appear in optional_unmet for a feature that does not apply.

counts.warnings never affects a profile verdict — ours counts only errors against a profile, and NVIDIA’s filters to errors before computing a pass. Label warnings advisory if you surface them, and don’t let them colour a pass/fail badge.

One warning appears on essentially every asset and is expected: VG.MESH.001 wants all geometry to be non-subdivided meshes, while GSP.001 requires the grasp vector to be a BasisCurves line. Those two requirements cannot both be satisfied literally. NVIDIA’s validator raises the same warning on the same assets.

For the per-requirement status of every code in the registry, see Full requirement coverage.