Skip to content

Full requirement coverage

View Markdown llms-full.txt

Every requirement in the SimReady Foundation registry at release 2026.08.0 — 202 codes — with what Rigyd does about each. The list is generated from NVIDIA’s own published metadata, vendored verbatim, so a code appears here if and only if it appears in their specification.

Profiles — which published profiles pull the requirement in:

TagProfile
PropRobotics-Prop, as a required code — targeted, and passing
Prop opt: featureRobotics-Prop, only through the named optional feature(s); see optional features
BodyRobot-Body, required or optional
GripRobot-Gripper, required or optional
Pkgthe Package* family
Taxthe Open-Taxonomy-* family
Senthe Sensor-* family
—in the registry, but no published profile requires it

Rigyd — whether we have a rule for it:

ValueMeaning
CheckedA rule runs on every conversion. Reports PASS, WARNING, ERROR, or N/A with na_reason: "not-applicable-to-asset" when the requirement is required but vacuous — an untextured asset and a texture colour-space rule, say.
PlannedNo rule written yet. If a placeholder check exists it reports N/A with na_reason: "planned"; otherwise the code appears in each relevant profile’s unchecked[], or in optional_unmet[] when only an optional feature asks for it. A planned required code makes that profile INCOMPLETE rather than passing it; a planned optional code leaves its feature unmet.

A requirement outside every profile we target additionally reports N/A with na_reason: "not-in-profile" in the top-level checks[], with the raw finding preserved in measured_status. Those three values are the whole na_reason vocabulary — nothing else appears, and neither instrument may extend it.

Of the 202 codes, 93 are checked and 109 are planned. Robotics-Prop pulls in 97: all 46 of its required codes are checked, which is what lets it report PASS rather than INCOMPLETE, and 19 of the 51 codes reached only through its optional features are checked.

CodeRequirementProfilesRigyd
NP.001Prims shall follow consistent naming conventions—Checked
NP.002USD files shall follow consistent naming conventionsProp · Body · Grip · TaxChecked
NP.003Asset directories shall use consistent naming and logical organizationProp · Body · Grip · TaxChecked
NP.004File and directory paths shall not exceed platform limitsProp · Body · Grip · TaxChecked
NP.005Assets must follow a specific folder structure with the asset name as the root folderProp · Body · Grip · TaxChecked
NP.006Asset metadata must be stored in the USD file or a sidecar JSON fileProp opt: MuJoCo, Newton, PhysX · Body · Grip · TaxChecked
NP.007All references must use relative pathsProp · Body · Grip · TaxChecked
NP.008All asset, reference, and payload paths must resolve to files that existProp · Body · Grip · TaxChecked
CodeRequirementProfilesRigyd
AA.001Asset references should use anchored pathsProp · Body · Grip · PkgChecked
AA.002Asset must use only supported file typesProp · Body · GripChecked
AA.OV.001Texture UDIMs are not supported in USDZ files in NVIDIA Omniverse—Checked
CodeRequirementProfilesRigyd
SR.001The asset stage must contain all required metadata fields in root-layer customLayerDataProp opt: MuJoCo, Newton, PhysX · Body · Grip · TaxChecked
SR.002The SimReady asset file should contain a thumbnail that is representative of the assetProp · Body · Grip · PkgChecked
SR.003Required SimReady provenance fields must be authored inside the root-layer SimReady_Metadata dictionary—Planned
SR.004Required SimReady provenance fields must be present in the union of USD custom layer data and an optional sidecar JSON fileProp · Body · Grip · PkgChecked
CodeRequirementProfilesRigyd
UN.001Stage must specify upAxis to define the orientation of the stage—Checked
UN.002Stage must specify metersPerUnit to define the linear unit scale—Checked
UN.003Stage must specify kilogramsPerUnit to define the mass unit scale, if physics objects are present in the stage—Checked
UN.004Must apply corrective transforms for different units—Checked
UN.005Stage must specify timeCodesPerSecond, if timesamples are present in the stage—Checked
UN.006Stage must specify upAxis = “Z” to define the orientation of the stageProp · Body · GripChecked
UN.007Stage must specify metersPerUnit = 1.0 to define the linear unit scaleProp · Body · GripChecked
CodeRequirementProfilesRigyd
HI.001All prims in the hierarchy must be direct or indirect descendents of a single root root prim, preventing scattered or disconnected Xform hierarchiesProp · Body · GripChecked
HI.002Every UsdGeomGprim must have a parent Xform with specific transform operations and hierarchy constraints—Checked
HI.003The root prim of a hierarchy must be transformable, meaning its’ prim type must inherit from UsdGeomXformable and be capable of receiving transform operationsProp · Body · GripChecked
HI.004Stage must specify a default prim to define the root entry pointProp · Body · GripChecked
HI.005Transformations (translate, rotate, scale, pivot) on prims that are intended to be translated, rotated or scaled by users (e.g. the root prim of an asset) should conform to the UsdGeomXformCommonAPI—Checked
HI.006All prims representing distinct objects or groups that require placement, posing or animation shall inherit from UsdGeomXformable—Checked
HI.007This is a placeholder requirement to maintain sequential numbering in the hierarchy requirements—Checked
HI.008Geometry should be grouped under parent Xforms in a way that is logical for the object’s structure and intended use in layouts or simulations—Checked
HI.009For assets (e.g., a robot with multiple articulated joints), the hierarchy should reflect the kinematic chain, with appropriate Xforms for each transformable link—Planned
HI.010Assets must not contain undefined prims (overs)Prop · Body · Grip · TaxChecked
CodeRequirementProfilesRigyd
VG.001Assets must contain at least one Imageable Geometry—Checked
VG.002Boundable geometry primitives must have valid extent valuesProp · Body · GripChecked
VG.003Only include geometry that contributes to visualization or simulation—Planned
VG.004Use efficient mesh boundaries for performance—Planned
VG.005Meshes should maintain appropriate scale and boundary volumes—Planned
VG.006Meshes should not overlap unnecessarily—Planned
VG.007Mesh geometry must be manifold—Planned
VG.008Meshes should not share the exact same spaceProp · Body · GripChecked
VG.009Use indexed primvars when values are repeated—Checked
VG.010Use subdivision only when needed for smooth surfaces or displacement—Checked
VG.011Only include primvars that are actively used—Checked
VG.012Combine small meshes into larger ones where appropriate—Planned
VG.013Use appropriate tessellation density for geometry—Planned
VG.014Mesh topology must be validProp · Body · GripChecked
VG.015Use time samples only when attribute values change—Checked
VG.016Each vertex position should be unique—Planned
VG.017Avoid tessellating primitive shapes—Checked
VG.018Mesh topology should be without unused vertices, edges, or faces—Planned
VG.019Faces should have non-zero area—Planned
VG.020The values of points must not exceed the limit at which a given precision can be represented using 32-bit floats—Checked
VG.021Meshes must be triangulated for optimal rendering performance and compatibility when considering automatic collider creation (convex-hull, convex-decomposition, etc…). Triangulating mesh will provide predictable results versus n-gons—Checked
VG.022Transparent physical bodies should be watertight to allow for simulation of light transmission and refraction—Planned
VG.023Meshes should be positioned with xform ops rather than by “baking” transformations into point positions—Checked
VG.024Repeated occurrences of identically shaped objects should have identical mesh connectivity—Planned
VG.025Geometry shall be defined as such that the asset is correctly positioned and oriented at the origin (0,0,0)Prop · Body · GripChecked
VG.026The pivot point of an asset should be positioned logically: at the center of the object’s base for ground plane objects, and at the center of rotation for objects that rotate around specific points—Planned
VG.027All non-subdivided meshes must have normalsProp · Body · GripChecked
VG.028Mesh normals values must be valid to produce correct shadingProp · Body · GripChecked
VG.029The winding order of faces in a mesh must correctly represent the orientation (front/back) of the faceProp · Body · GripChecked
VG.MESH.001All geometry shall be represented as non-subdivided mesh primitives using the UsdGeomMesh schemaProp · Body · GripChecked
VG.RTX.001World space bounds must not exceed RTX limit—Checked
CodeRequirementProfilesRigyd
DISP.001Every renderable geometry prim must resolve a display colour, authored on the prim or inherited from an ancestorProp opt: Display color · Body · GripPlanned
DISP.002Authored display colour values must lie within the range a consumer can interpretProp opt: Display color · Body · GripPlanned
DISP.003Display opacity, where authored, must lie within its valid range and agree with its declared interpolationProp opt: Display color · Body · GripPlanned
CodeRequirementProfilesRigyd
VM.BIND.001A material binding inside a payload must target a material inside that payloadProp · Body · GripChecked
VM.BIND.002Shader inputs must use the type their specification declares and hold a finite valueProp opt: MDL, OpenPBR · Body · GripChecked
VM.MAT.001Each renderable GPrim must have a computed material bound to itProp · Body · GripChecked
VM.MDL.001An MDL shader’s info:mdl:sourceAsset must name an existing .mdl file by an anchored pathProp opt: MDL · Body · GripChecked
VM.MDL.002An MDL shader must use the current schema attributes, not the deprecated mdlMaterial formProp opt: MDL · Body · GripChecked
VM.MDL.003A renderable GPrim’s material must connect an MDL surface on outputs:mdl:surfaceProp opt: MDL · Body · GripPlanned
VM.PBR.001A renderable GPrim’s material must provide a physically based final surfaceProp opt: OpenPBR · Body · GripPlanned
VM.PBR.002OpenPBR input attributes must hold values within their defined min/maxProp opt: OpenPBR · Body · GripPlanned
VM.PBR.003Shader ids must name a declared node, connections must have an existing target, and the material must connect a surface terminalProp opt: OpenPBR · Body · GripPlanned
VM.PS.001UsdPreviewSurface inputs must use the types and token values the specification declaresProp · Body · GripChecked
VM.PS.002A renderable GPrim’s material must connect a UsdPreviewSurface on outputs:surfaceProp · Body · GripChecked
VM.TEX.001Texture dimensions must not exceed 16,384 pixels on either axisProp · Body · GripChecked
VM.TEX.002Deprecated. See VM.TEX.005 for the current requirement—Checked
VM.TEX.003UsdPreviewSurface materials and textures must use correct color space conventionsProp · Body · GripChecked
VM.TEX.004OpenPBR materials and textures must use correct color space conventionsProp opt: OpenPBR · Body · GripPlanned
VM.TEX.005MDL materials and textures must use correct color space conventionsProp opt: MDL · Body · GripPlanned
CodeRequirementProfilesRigyd
NVM.001Materials must specify additional “non-visual” material attributesProp opt: Non-visual materialsPlanned
NVM.002Materials must specify a base material typeProp opt: Non-visual materialsPlanned
NVM.003Materials must specify surface coatingProp opt: Non-visual materialsPlanned
NVM.004Attributes must be on bound materialsProp opt: Non-visual materialsPlanned
NVM.005Properties must be consistent with visual materialsProp opt: Non-visual materialsPlanned
NVM.006Properties must not be time-varyingProp opt: Non-visual materialsPlanned
CodeRequirementProfilesRigyd
SL.001All renderable geometry must be semantically labeledProp · TaxChecked
SL.002Deprecated SemanticsAPI labels must be migrated to the SemanticsLabelsAPI schemaProp · TaxChecked
SL.003Semantic labels must use the SemanticsLabelsAPI schemaProp · TaxChecked
SL.MAT.001Material prims must be labeled with a non-empty SemanticsLabelsAPI:material labelPropChecked
SL.QCODE.001If the Wikidata ontology is used, Q-Codes must be well-formed (Q followed by one or more digits). Values should reference a real Wikidata entity, but the validator checks format only — it does not contact wikidata.orgPropChecked
SL.TIME.001For the NVIDIA RTX perception pipeline, semantic label attributes must use static (non-time-varying) valuesPropChecked

Each Open-Taxonomy-* profile asks that labels in one public dataset’s vocabulary be members of that vocabulary. We label in our own category list plus Wikidata, so these are planned rather than failing.

CodeRequirementProfilesRigyd
ADE.001Every SemanticsLabelsAPI:ade20k label value must be a member of the ADE20K (150) taxonomyTaxPlanned
CITY.001Every SemanticsLabelsAPI:cityscapes label value must be a member of the Cityscapes (fine) taxonomyTaxPlanned
COCO.001Every SemanticsLabelsAPI:coco label value must be a member of the COCO (instances) taxonomyTaxPlanned
IN1K.001Every SemanticsLabelsAPI:imagenet_1k label value must be a member of the ImageNet-1K taxonomyTaxPlanned
SUN.001Every SemanticsLabelsAPI:sunrgbd label value must be a member of the SUN RGB-D (10) taxonomyTaxPlanned
VOC.001Every SemanticsLabelsAPI:pascal_voc label value must be a member of the PASCAL VOC (20) taxonomyTaxPlanned
CodeRequirementProfilesRigyd
RB.001Assets must contain at least one rigid bodyProp · Body · GripChecked
RB.003Rigid bodies have to be UsdGeomXformable primsProp · Body · GripChecked
RB.005Rigid bodies cannot be part of a scene graph instanceProp · Body · GripChecked
RB.006Rigid bodies can not be nested unless xformOp reset xform stack is usedGripChecked
RB.007Rigid bodies or their descendant collision shapes must have a mass specificationProp · Body · GripChecked
RB.008Rigid bodies or their descendent collision shapes may have detailed mass properties including density, center of mass, and inertia tensor. When authored, these detailed mass properties must be internally consistent—Checked
RB.009Rigid bodies have to be UsdGeomXformable prims without skew matrixProp · Body · GripChecked
RB.010Invisible collision meshes must have their purpose attribute set to ‘guide’ to be properly excluded from renderingProp · Body · GripChecked
RB.011Every rigid body must have a valid (positive) physics:mass on itself or on at least one of its child colliders. Nested rigid body subtrees are excluded from the traversal. Negative mass is always a failureProp opt: MuJoCo multi-body, Newton multi-body, PhysX multi-body · Body · GripChecked
RB.012Rigid bodies should not be nested unless they are connected by a jointProp opt: MuJoCo multi-body, Newton multi-body, PhysX multi-body · Body · GripChecked
RB.013Enabled rigid bodies must have collision geometry—Planned
RB.COL.001Colliding Gprims must apply the Collision APIProp · Body · GripChecked
RB.COL.002UsdPhysicsMeshCollisionAPI may only be applied to UsdGeom.Mesh prims, and any prim with MeshCollisionAPI must also have UsdPhysicsCollisionAPI appliedProp · Body · GripChecked
RB.COL.003The Mesh Collision API can only be assigned to Mesh PrimsProp · Body · GripChecked
RB.COL.004The collision shape scale must be uniform for the following geometries: Sphere, Capsule, Cylinder, Cone & PointsProp · Body · GripChecked
RB.MB.001Assets must contain at least two rigid bodiesProp opt: MuJoCo multi-body, Multi-body, Newton multi-body, PhysX multi-body · Body · GripChecked
CodeRequirementProfilesRigyd
JT.001Rigid bodies which are not free floating should be connected using jointsProp opt: MuJoCo multi-body, Multi-body, Newton multi-body, PhysX multi-body · Body · GripChecked
JT.002Targets set to Body0 and Body1 relationships must existProp opt: MuJoCo multi-body, Multi-body, Newton multi-body, PhysX multi-body · Body · GripChecked
JT.003Body0 and Body1 relationships must not have more than one targetProp opt: MuJoCo multi-body, Multi-body, Newton multi-body, PhysX multi-body · Body · GripChecked
JT.ART.001For stable and fast simulations of kinematic chains, an asset should define an articulation—Checked
JT.ART.002Articulation roots cannot be nestedProp opt: MuJoCo multi-body, Multi-body, Newton multi-body, PhysX multi-body · Body · GripChecked
JT.ART.003Articulations are not allowed on kinematic bodiesProp opt: MuJoCo multi-body, Multi-body, Newton multi-body, PhysX multi-body · Body · GripChecked
JT.ART.004Articulations are not allowed on static bodiesProp opt: MuJoCo multi-body, Multi-body, Newton multi-body, PhysX multi-body · Body · GripChecked
CodeRequirementProfilesRigyd
DJ.001Validate that each driven joint has correct drive configuration and joint state, including required limits and consistency checks against the current joint state valuesBody · GripPlanned
DJ.002Driven joints must implement proper joint state API for simulation state managementBody · GripPlanned
DJ.003Driven joints must maintain correct transform relationships and state consistencyBody · GripPlanned
DJ.004PhysX driven joints must implement drive API or mimic functionality for controlled motionBody · GripPlanned
DJ.005PhysX driven joints must have appropriate maximum velocity limits configuredBody · GripPlanned
DJ.006Drive joint parameters must be within reasonable ranges for stable simulation. The joint parameters should not be excessively big and should be natural numbersBody · GripPlanned
DJ.007Mimic API configuration must be properly validated for coordinated joint motionBody · GripPlanned
DJ.008Robot schema joints must exist and be properly defined for Isaac Sim integrationBody · GripPlanned
DJ.009Robot schema links must exist and be properly connected to joints for kinematic chain definitionBody · GripPlanned
DJ.010Robot joint and link relationships must be validated for proper kinematic tree structureBody · GripPlanned
DJ.011The articulation must have no loops and at most one joint between any two bodies. Only joints that participate in the articulation are checked; joints with physics:excludeFromArticulation = true are ignoredBody · GripPlanned
CodeRequirementProfilesRigyd
BA.001An articulated USD stage must contain exactly one prim with the UsdPhysicsArticulationRootAPI appliedBody · GripChecked
BA.002Collision meshes on non-adjacent links in the articulation hierarchy must not overlap or intersectBody · GripPlanned
CodeRequirementProfilesRigyd
COL.001Every mesh collider (Mesh prim with USDPhysics.CollisionAPI and USDPhysics.MeshCollisionAPI) must have an SDF (Signed Distance Field) approximation for efficient collision detection—Checked
CodeRequirementProfilesRigyd
PHYSX.COL.001CollisionAPI may only be applied to a UsdGeom Gprim or to an Xform that has PhysxMeshMergeCollisionAPI and whose collisionmeshes collection includes at least one GprimProp opt: Isaac, PhysX, PhysX multi-body · Body · GripChecked
PHYSX.COL.002MeshCollisionAPI may only be applied to a UsdGeom Mesh or to a prim that has PhysxMeshMergeCollisionAPI. CollisionAPI is required whenever MeshCollisionAPI is appliedProp opt: Isaac, PhysX, PhysX multi-body · Body · GripChecked

New at 2026.08.0: each physics runtime is a variant set on the default prim whose Enabled option composes that runtime’s layer. We do not author these variant sets yet, which is why the PhysX, Newton and MuJoCo features are unmet.

CodeRequirementProfilesRigyd
RV.001The asset’s default prim must expose a PhysX physics runtime variant set with Disabled and Enabled options, defaulting to DisabledProp opt: PhysX · Body · GripPlanned
RV.002The PhysX variant set’s Enabled option must compose its runtime layer with an anchored prepend payload that resolves to ./runnables/physics/physx.usd(a)Prop opt: PhysX · Body · GripPlanned
RV.003The PhysX variant set must be documented in customLayerData.SimReady_Metadata.Variants.Physics.PhysX, declaring its prim, variantSetName, and activateOptionProp opt: PhysX · Body · GripPlanned
RV.004The asset’s default prim must expose a Newton physics runtime variant set with Disabled and Enabled options, defaulting to DisabledProp opt: Newton · Body · GripPlanned
RV.005The Newton variant set’s Enabled option must compose its runtime layer with an anchored prepend payload that resolves to ./runnables/physics/newton.usd(a)Prop opt: Newton · Body · GripPlanned
RV.006The Newton variant set must be documented in customLayerData.SimReady_Metadata.Variants.Physics.Newton, declaring its prim, variantSetName, and activateOptionProp opt: Newton · Body · GripPlanned
RV.007The asset’s default prim must expose a MuJoCo physics runtime variant set with Disabled and Enabled options, defaulting to DisabledProp opt: MuJoCo · Body · GripPlanned
RV.008The MuJoCo variant set’s Enabled option must compose its runtime layer with an anchored prepend payload that resolves to ./runnables/physics/mujoco.usd(a)Prop opt: MuJoCo · Body · GripPlanned
RV.009The MuJoCo variant set must be documented in customLayerData.SimReady_Metadata.Variants.Physics.MuJoCo, declaring its prim, variantSetName, and activateOptionProp opt: MuJoCo · Body · GripPlanned
RV.010Each physics runtime variant set must isolate all runtime data in its payload: the Enabled option may compose the runtime only through the prepend payload arc and must author no inline prim overrides, and the Disabled option must be emptyProp opt: MuJoCo, Newton, PhysX · Body · GripPlanned
RV.011When a single physics runtime variant is selected, the composed stage must contain only that runtime’s physics schemas and attributes plus the runtime-neutral base. Foreign-runtime schemas and conflicting attribute values are not allowedProp opt: MuJoCo, Newton, PhysX · Body · GripPlanned
CodeRequirementProfilesRigyd
MUJOCO.BA.001MuJoCo articulations must use standard UsdPhysics.ArticulationRootAPI and must not author unsupported MuJoCo-specific articulation-root schemasBody · GripPlanned
MUJOCO.COL.001MuJoCo collision shapes must apply MjcCollisionAPI on valid USD collision geometryProp opt: MuJoCo, MuJoCo multi-body · Body · GripPlanned
MUJOCO.COL.002MuJoCo mesh collision data must use valid MjcMeshCollisionAPI and convex-hull mesh collision authoringProp opt: MuJoCo, MuJoCo multi-body · Body · GripPlanned
MUJOCO.DJ.001MuJoCo driven joints must use standard UsdPhysics.Joint prims with MjcJointAPI applied to every non-fixed articulation jointBody · GripPlanned
MUJOCO.DJ.002MuJoCo actuator prims must target valid MuJoCo-driven USD physics joints and author valid actuator parameter valuesBody · GripPlanned
MUJOCO.GR.001MuJoCo gripper site prims must apply MjcSiteAPIGripPlanned
CodeRequirementProfilesRigyd
NEWTON.BA.001Newton articulation roots must use standard UsdPhysics.ArticulationRootAPI and author explicit Newton self-collision configurationBody · GripPlanned
NEWTON.COL.001Newton colliders must use a valid Newton collision schemaProp opt: Newton, Newton multi-body · Body · GripPlanned
NEWTON.COL.002Authored Newton SDF attributes must be validProp opt: Newton, Newton multi-body · Body · GripPlanned
NEWTON.DJ.001Every actuated Newton articulation joint must be driven by a standard UsdPhysics.DriveAPI, by a NewtonActuator, or be coupled to a leader joint by NewtonMimicAPI, and those actuation values must be validBody · GripPlanned
NEWTON.DJ.002Authored Newton joint tuning must use NewtonJointAPI (or the equivalent newton:* attributes) on UsdPhysics.Joint prims with valid valuesBody · GripPlanned
NEWTON.DJ.003When NewtonMimicAPI is applied, it must be on a UsdPhysics.Joint, target a valid leader joint, and author valid mimic coefficientsBody · GripPlanned
NEWTON.MAS.001NewtonMassAPI must be applied on an Xformable, and any authored Newton mass attributes must be validProp opt: Newton, Newton multi-body · Body · GripPlanned
NEWTON.MAT.001NewtonMaterialAPI must be applied on a physics Material — a UsdShade.Material that also carries PhysicsMaterialAPIProp opt: Newton, Newton multi-body · Body · GripPlanned
CodeRequirementProfilesRigyd
PMT.001Every collider (prim with PhysicsCollisionAPI) must have a material:binding:physics relationship to a physics materialProp opt: GraspChecked
CodeRequirementProfilesRigyd
GSP.001In order for an asset to be considered graspable, an asset must have at least 1 line object defined within the asset. A line is at least 2 points in space, and this line must intersect the asset that needs to be grasped by the robotic grippersProp opt: GraspChecked
CodeRequirementProfilesRigyd
GR.001Every gripper site prim must be an Xform with token simready:attactment:socketType = "Gripper" authored, positioned at the grasp center between the finger padsGripPlanned
GR.002Every gripper site prim must contain a child BasisCurves prim named gripper_forward_axis with at least 2 points defining the gripper approach directionGripPlanned
GR.003Every gripper site prim must contain a child BasisCurves prim named gripper_grip_line with at least 2 points defining the axis of the imaginary tube the gripper can graspGripPlanned
GR.004Every gripper site prim must declare a gripper_maxOpening float attribute with a positive value (in meters) recording the maximum jaw separationGripPlanned
GR.ISA.001Every gripper site prim must have IsaacSiteAPI applied and isaac:Description authored so Isaac Sim tooling can discover and configure it automaticallyGripPlanned
CodeRequirementProfilesRigyd
ISA.001The asset must be composed correctly for Isaac Sim using one of the supported layer layouts and a reference or payload arc to its base layerProp opt: Isaac · Body · GripChecked
CodeRequirementProfilesRigyd
RM.001Materials must not contain nested materials to avoid unexpected rendering behaviorBodyPlanned
RM.002Materials must only be defined in the top-level Looks prim following USD best practices for material organizationBodyPlanned
CodeRequirementProfilesRigyd
RC.001Robot asset folders contain only referenced, required files. No stray or unused content. At the main level of a robot asset, only the interface layer is present. All other required content is bundled on subfolders related to it specific usageBody · GripPlanned
RC.002Robot USDs avoid local override layers that mask upstream schemas or physics—Planned
RC.003Canonical robot and prim naming conventions for stable references and toolsBody · GripPlanned
RC.004The robot interface asset file should contain a thumbnail. The thumbnail should be representative of the robotBody · GripPlanned
RC.005Validates that physics attributes are authored in the physics layerBody · GripPlanned
RC.006Validates that physics schema are authored in the physics layerBody · GripPlanned
RC.007Robot USDs declare and use the required schemas and physics attributesBody · GripPlanned
RC.008Robot assets must declare a valid robot type on the default prim. The isaac:robotType attribute must be present, must be one of the schema-defined allowed tokens, and must not be "Default". Allowed values are : “End Effector”, “Manipulator”, “Humanoid”, “Wheeled”, “Holonomic”, “Quadruped”, “Mobile Manipulators”, “Aerial”Body · GripPlanned
RC.009The root joint (the first target of isaac:physics:robotJoints) must be pinned for robot types that require a fixed base (e.g. Manipulator, End Effector) and must not be pinned for other robot typesBody · GripPlanned
CodeRequirementProfilesRigyd
ROS.001The stage must contain at least one OmniGraph node whose node:type starts with isaacsim.ros2.bridge.BodyPlanned
CodeRequirementProfilesRigyd
PKG.BOM.001The BOM is a metadata file identified by the name com.nvidia.simready.packaging.bom.json. It MUST list all content files in the package with per-item fields, using forward-slash relative paths with no duplicatesPkgPlanned
PKG.CONF.001Packages MAY include conformance metadata files recording SimReady Foundations validation results, following defined naming and JSON schema conventionsPkgPlanned
PKG.CONF.002Packages MAY include an OpenUSD root layers metadata file declaring the top-level USD entry points that should be validated as self-contained assets—Planned
PKG.DEF.001Each package MUST have exactly one valid package definition with a globally unique, case-insensitive, immutable identity, placed at the package root alongside a .metadata/ folderPkgPlanned
PKG.HASH.001Hash fields MUST be objects containing at least a sha256 key with lowercase hexadecimal value. Implementations SHOULD also include blake3 and/or blake2b when available, for performance. When content_hash or package_hash are present, their sha256 values MUST be computed using the deterministic algorithms defined in this requirementPkgPlanned
PKG.META.001Metadata files MUST be JSON with UTF-8 encoding, use reverse domain naming, and follow write-once semanticsPkgPlanned

The four Sensor-* profiles describe sensor assets — an IMU, a joint-state sensor, a camera render product, a LiDAR — not props.

CodeRequirementProfilesRigyd
LI.001LiDAR sensors must be represented as OmniLidar prims with OmniSensorGenericLidarCoreAPI applied. The legacy UsdGeom.Camera with cameraSensorType=“lidar” pattern is not allowedSenPlanned
LI.002Every emitter state array attribute on an OmniLidar prim must have the same length as omni:sensor:Core:numberOfEmitters, and all emitter state arrays must be mutually consistent in lengthSenPlanned
LI.003The omni:sensor:Core:scanRateBaseHz attribute on an OmniLidar prim must be at least 0.466 HzSenPlanned
LI.004For solid-state OmniLidar prims, the sum of all elements in omni:sensor:Core:numRaysPerLine must equal omni:sensor:Core:numberOfEmittersSenPlanned
PS.001An IsaacImuSensor prim must be a descendant of a prim that has PhysicsRigidBodyAPI appliedSenPlanned
PS.002An IsaacJointStateSensor prim must also have PhysicsArticulationRootAPI appliedSenPlanned
RP.001A RenderProduct prim must have a camera relationship targeting a valid primSenPlanned
RP.002A RenderProduct prim must have an orderedVars relationship containing at least one valid UsdRender.Var primSenPlanned
RP.003A RenderVar prim must have a non-empty sourceName attributeSenPlanned
RP.004RenderVar prims whose sourceName starts with “semantic” must use BLOSC compressionSenPlanned
RP.005The srtx:compression:type attribute on a RenderVar prim, if present, must be one of the four supported codec values: hevc, h264, av1, or bloscSenPlanned
RP.006RenderVar prims with sourceName = "GenericModelOutput" should use BLOSC compression (srtx:compression:type = "blosc")SenPlanned