Purpose
Use this exact feature skill when the selected profile, validation report, or user request names FET_004_ROBOT_NEWTON. It repairs or stages simulate multi-body physics (robot newton) conformance without drifting into another runtime contract.
Default to FET_004_ROBOT_NEWTON@0.1.0 when the user asks for this feature without a version. Use an older integer version only when the profile, validation report, or user explicitly pins it. If the report names a different FET_###_RUNTIME feature, switch to that feature's matching skill before editing.
Source of Truth
Before changing an asset or package, read:
nv_core/tiers/simready_foundation_tier_core/simready/foundation/tier_core/features/FET_004_ROBOT_NEWTON-0.1.0.jsonnv_core/tiers/simready_foundation_tier_core/simready/foundation/tier_core/features/FET_004_ROBOT_NEWTON.md
Treat the selected JSON manifest as authoritative for dependencies and requirement IDs. Use the feature markdown for human-readable contract details, requirement links, samples, benchmarks, and adapters.
Feature Versions
| Version | Dependencies | Requirements |
|---|---|---|
0.1.0 |
None | RB.COL.003, RB.COL.004, RB.001, RB.003, RB.005, RB.007, RB.009, RB.010, JT.001, JT.002, JT.003, JT.ART.002, JT.ART.003, JT.ART.004, RB.MB.001, NEWTON.COL.001, NEWTON.COL.002, NEWTON.MAS.001, NEWTON.MAT.001, RB.011, RB.012 |
Feature Adapter
When the input already conforms to the neutral base feature, prefer the deterministic feature adapter to author the runtime-specific data first (via the workspace upgrade command; see nv_core/sr_specs/docs/guides/feature_adapters/feature_adapters.md), then repair only the residual requirements below.
| Adapter module | Adapter | Transition | Authors |
|---|---|---|---|
nv_core/cip_specs/asset_handler_modules/neutral_to_newton |
rigid_body_neutral_to_robot_newton |
FET_003_STANDARD@0.1.0 -> FET_004_ROBOT_NEWTON@0.1.0 |
Mesh extents; NewtonCollisionAPI + NewtonMeshCollisionAPI and newton:contactGap = 0 on existing colliders; NewtonMaterialAPI + default friction tuning on bound physics materials. Satisfies NEWTON.COL.001/NEWTON.COL.002/NEWTON.MAT.001. |
- The adapter runs on a staged output stage and never creates geometry, joints, or articulation topology; it only annotates existing prims.
- The robot
RB.*,JT.*,RB.MB.001,RB.011, andRB.012requirements require existing robot link/joint topology and must be repaired manually per the Workflow below. Strict Newton isolation: noMjc*/Physx*data orphysics:approximation = "sdf".
Workflow
- Confirm the input exists and identify the exact selected feature/version from the profile TOML, validation report, or user request.
- Load the selected
FET_004_ROBOT_NEWTONmanifest and the feature markdown before editing. - Load requirement docs linked from the feature markdown for every reported failing requirement.
- Create or use a staged output location unless the user explicitly asks for in-place edits.
- Repair only the requirements listed by the selected
FET_004_ROBOT_NEWTONmanifest and its dependencies. - Rerun the same profile gate or the narrowest available feature/capability validation gate. If runtime evidence is required and unavailable, report that limitation instead of claiming a pass.
- Summarize the selected
FET_004_ROBOT_NEWTONversion, changed files, validation evidence, and the first remaining blocker or next exact feature gate.
Feature Guidance
- Use this robot Newton feature only when the profile pins it or needs its robot-specific collider exemption.
- Preserve robot link and joint semantics; leave robot identity to FET_021_* and driven actuation to FET_022_*.
- Newton collider tuning (
NewtonCollisionAPI/NewtonMeshCollisionAPI/NewtonSDFCollisionAPI,newton:contactGap,newton:maxHullVertices) mirrors theFET_003_NEWTONcollider requirements. Hydroelastic contact (newton:hydroelasticEnabledbool + positivenewton:hydroelasticStiffness) is Newton-only and, when enabled, needs an authored SDF source (newton:sdfMaxResolution/newton:sdfTargetVoxelSize) unless the mesh has an attachedmesh.sdf. - Newton mass override (
NewtonMassAPI,NEWTON.MAS.001) on linkXformables is optional:newton:inertiaempty or 6 finite elements with non-negative diagonal,newton:massModelsolid/shell,newton:shellThicknessfinite> 0(or-infsentinel). Derive inertia from source data; do not invent it. SeeFET_003_NEWTONfor the full attribute list. NewtonMaterialAPI(NEWTON.MAT.001) applies on physicsMaterialprims bound to robot colliders. Aligned with theUsdPhysicsMaterialAPIconvention (PMT.001), validation checks placement only: the schema must sit on aUsdShade.Materialthat also carriesPhysicsMaterialAPI. Thenewton:*tuning values (torsionalFriction,rollingFriction,contact*) are trusted, not value-checked. SeeFET_003_NEWTONfor the full material attribute list.- Newton joint tuning (
NewtonJointAPI/newton:armature), actuation (PhysicsDriveAPIorNewtonActuator+ control law), and articulation-root self-collision (NewtonArticulationRootAPI/newton:selfCollisionEnabled) belong toFET_022_NEWTONandFET_024_NEWTON; author them there when the robot profile pins those features. - Strict Newton isolation (RV.011): no
Mjc*/Physx*data orphysics:approximation = "sdf". - Do not create new geometry to satisfy this feature.
Report Fields
| Field | Meaning |
|---|---|
feature |
Exact feature ID and version, for example FET_004_ROBOT_NEWTON@0.1.0. |
input |
Source asset, package root, or package definition inspected. |
output |
Staged output path, or in-place only when explicitly requested. |
requirements_repaired |
Requirement IDs repaired in this pass. |
validation |
Command or inspection used to verify this exact feature. |
status |
passed, failed, skipped, or blocked. |
next_step |
The next exact feature skill or user/runtime evidence needed. |