Skip to content
Merged
Show file tree
Hide file tree
Changes from 208 commits
Commits
Show all changes
209 commits
Select commit Hold shift + click to select a range
fa28595
Add USD curve-deformable (cable) discovery scaffold
mzamoramora-nvidia Jun 15, 2026
6da1178
Parse cable material into rod radius and stiffness
mzamoramora-nvidia Jun 15, 2026
0d413e1
Add cable addressability tests
mzamoramora-nvidia Jun 15, 2026
87ce80a
Parse cable density and per-segment orientation from USD
mzamoramora-nvidia Jun 15, 2026
2d8fe06
Add cable multi-world replication test
mzamoramora-nvidia Jun 15, 2026
64b31b9
Add round-trip .usda cable asset + parse-and-simulate test (T7)
mzamoramora-nvidia Jun 15, 2026
79a96b9
Make curve-deformable material reader private; add CHANGELOG
mzamoramora-nvidia Jun 15, 2026
1dabbd9
Import USD surface deformables (cloth) in add_usd
mzamoramora-nvidia Jun 15, 2026
63aad9d
Add per-soft-body addressability for USD TetMesh imports
mzamoramora-nvidia Jun 15, 2026
255e87c
Add CHANGELOG entries for USD cloth import and soft-body addressability
mzamoramora-nvidia Jun 15, 2026
33c44cd
Parse deformable schema canonically under physics: namespace
mzamoramora-nvidia Jun 16, 2026
46c9943
Resolve deformable mass distribution by proposal precedence
mzamoramora-nvidia Jun 16, 2026
ab6347f
Recognize PhysicsVolumeDeformableSimAPI for volume imports
mzamoramora-nvidia Jun 16, 2026
8718b51
Document Newton deformable extension seam; record realignment in CHAN…
mzamoramora-nvidia Jun 16, 2026
5c96681
Consolidate deformable-import CHANGELOG into one PR-level entry
mzamoramora-nvidia Jun 16, 2026
d49dc9a
Trim verbose deformable import comments
mzamoramora-nvidia Jun 16, 2026
0da8c23
Add USD control over cable articulation wrapping
mzamoramora-nvidia Jun 15, 2026
cabe6cc
Gate cable articulation-wrapping control on the Newton resolver
mzamoramora-nvidia Jun 16, 2026
4807fea
Drop stale duplicate deformable-import CHANGELOG bullets
mzamoramora-nvidia Jun 16, 2026
6ac552c
Simplify verbose deformable importer comments
mzamoramora-nvidia Jun 16, 2026
3de3878
Broaden cloth/volume deformable import test coverage
mzamoramora-nvidia Jun 16, 2026
9040077
Fix cable stiffness conversion to use the mean segment length
mzamoramora-nvidia Jun 16, 2026
0b6e34c
Apply ruff format to deformable import + tests
mzamoramora-nvidia Jun 16, 2026
4f5a9dc
Sync TetMesh.create_from_usd docstring/signature with get_tetmesh
mzamoramora-nvidia Jun 16, 2026
3d63535
Validate cable physics:masses length; bake non-uniform cloth scale; d…
mzamoramora-nvidia Jun 16, 2026
8dd94f9
Fix periodic cable closing segment + remap path_cable_map after collapse
mzamoramora-nvidia Jun 16, 2026
accd66b
Isolate deformable vendor namespaces from generic resolver namespaces
mzamoramora-nvidia Jun 16, 2026
8f1ffaa
Document USD deformable import; sync add_usd return docstring
mzamoramora-nvidia Jun 16, 2026
b3bed2e
Use canonical UsdGeom type names in deformable USD docs
mzamoramora-nvidia Jun 17, 2026
b05d759
Merge remote-tracking branch 'githubNewton/main' into mzamoramora/usd…
mzamoramora-nvidia Jun 17, 2026
3ccfc0f
Adopt body_frame_origin=com for imported cables
mzamoramora-nvidia Jun 17, 2026
9825330
Surface as-authored deformable attributes from add_usd
mzamoramora-nvidia Jun 17, 2026
10d5de1
Link the AOUSD deformables proposal from the USD parsing docs
mzamoramora-nvidia Jun 17, 2026
1d85bc7
Fix deformable import review findings
mzamoramora-nvidia Jun 17, 2026
bc5e731
Address CodeRabbit review on deformable attrs and collapse remap
mzamoramora-nvidia Jun 17, 2026
5ff767b
Import deformable cables unwrapped; caller wraps before finalize
mzamoramora-nvidia Jun 22, 2026
9892236
Resolve deformable materials via ComputeBoundMaterial, gated by famil…
mzamoramora-nvidia Jun 22, 2026
9bc37df
Route deformable attribute reads through the resolver
mzamoramora-nvidia Jun 22, 2026
f84b90f
Warn when deformable material moduli are authored on the geometry
mzamoramora-nvidia Jun 22, 2026
272de9c
Document the curve stiffness modulus interpretation
mzamoramora-nvidia Jun 22, 2026
43e33eb
Warn-and-skip cable curves with duplicate consecutive points
mzamoramora-nvidia Jun 22, 2026
a8a16fa
Warn on authored surface rest dihedral angles
mzamoramora-nvidia Jun 22, 2026
242d41b
Flag deformable USD import as experimental in the docs
mzamoramora-nvidia Jun 22, 2026
90b2012
Fan-triangulate polygonal cloth meshes on import
mzamoramora-nvidia Jun 22, 2026
8857245
Honor cable normals interpolation (per-point only)
mzamoramora-nvidia Jun 22, 2026
697fd5e
Read primvars:normals for cables, with precedence over schema normals
mzamoramora-nvidia Jun 22, 2026
44b1bfb
Skip instancing prototypes via IsInPrototype(), not a path string
mzamoramora-nvidia Jun 22, 2026
b607778
Reuse shared mesh triangulation + winding for cloth import
mzamoramora-nvidia Jun 22, 2026
2ce97ec
Simplify cloth scale handling to always bake the world scale
mzamoramora-nvidia Jun 22, 2026
f0210b3
Clarify cloth import auto-triangulates n-gon meshes
mzamoramora-nvidia Jun 22, 2026
623afee
Fall back to shell mass model thickness for cloth density
mzamoramora-nvidia Jun 22, 2026
2093fac
Merge remote-tracking branch 'githubNewton/main' into mzamoramora/usd…
mzamoramora-nvidia Jun 22, 2026
eb1baa9
Drop no-op prototype filter from deformable import
mzamoramora-nvidia Jun 23, 2026
dc725ba
Merge remote-tracking branch 'githubNewton/main' into mzamoramora/usd…
mzamoramora-nvidia Jun 23, 2026
74c4c38
Map cloth surface moduli to the isotropic membrane honestly
mzamoramora-nvidia Jun 23, 2026
fcec4b4
Test that a body-mass override preserves per-point volume weighting
mzamoramora-nvidia Jun 23, 2026
de3642d
Warn that cable per-point masses lose their distribution, not just form
mzamoramora-nvidia Jun 23, 2026
59e3ef6
Lump cable per-point masses onto segments instead of dropping them
mzamoramora-nvidia Jun 23, 2026
0cd567e
Derive cable default radius from the stage linear unit
mzamoramora-nvidia Jun 23, 2026
311485f
Reuse create_cable_stiffness_from_elastic_moduli for cable moduli
mzamoramora-nvidia Jun 23, 2026
a2cd99d
Transform cable normals by the inverse-transpose under non-uniform scale
mzamoramora-nvidia Jun 23, 2026
8e07743
Point deformable proposal references at the AOUSD PR
mzamoramora-nvidia Jun 23, 2026
08ee88e
Derive cable rest length from restShapePoints
mzamoramora-nvidia Jun 23, 2026
99224d2
Merge remote-tracking branch 'githubNewton/main' into mzamoramora/usd…
mzamoramora-nvidia Jun 23, 2026
44213fb
Import USD PhysicsAttachment prims for cable attachments and rod graphs
mzamoramora-nvidia Jun 24, 2026
f526403
Merge remote-tracking branch 'githubNewton/main' into mzamoramora/usd…
mzamoramora-nvidia Jun 24, 2026
d25c2e2
Honor ignore_paths in cable graph weld pre-pass
mzamoramora-nvidia Jun 25, 2026
994cc19
Transform world-target attachment anchors by the import xform
mzamoramora-nvidia Jun 25, 2026
8d99538
Validate curve-to-curve junction indices before welding
mzamoramora-nvidia Jun 25, 2026
a391e89
Warn when welded cable graphs flatten heterogeneous materials
mzamoramora-nvidia Jun 25, 2026
880e6f4
Validate authored deformable masses are finite and non-negative
mzamoramora-nvidia Jun 25, 2026
24e50e2
Add an easy escape hatch to recover legacy get_tetmesh() behavior
mzamoramora-nvidia Jun 25, 2026
86b7e56
Guard USD deformable tests on usd-core and tighten warning checks
mzamoramora-nvidia Jun 25, 2026
02f26b3
Import PhysicsElementCollisionFilter for cable/collider elements
mzamoramora-nvidia Jun 25, 2026
9a95a62
Inline short test-only USD assets into the test files
mzamoramora-nvidia Jun 25, 2026
0ccb8cf
Merge branch 'main' into mzamoramora/usd-deformable-import
mzamoramora-nvidia Jun 25, 2026
6ef63a9
Extract the deformable import pipeline into import_usd_deformable
mzamoramora-nvidia Jun 25, 2026
057225e
Merge branch 'main' into mzamoramora/usd-deformable-import
mzamoramora-nvidia Jun 29, 2026
6a1882e
Make deformable tests pass under --strict-warnings
mzamoramora-nvidia Jun 29, 2026
ec668c6
Deprecate legacy-namespace default in get_tetmesh
mzamoramora-nvidia Jun 29, 2026
e44cfce
Correct deformable import docs
mzamoramora-nvidia Jun 29, 2026
f184d0e
Factor deformable material readers; rename legacy-namespaces constant
mzamoramora-nvidia Jun 29, 2026
f5f69db
Honor paired groups and collider sources in element collision filters
mzamoramora-nvidia Jun 29, 2026
73ae11a
Apply full affine to deformable points for reflective transforms
mzamoramora-nvidia Jun 29, 2026
a08533d
Harden welded cable graphs against degenerate topology
mzamoramora-nvidia Jun 29, 2026
c9465e7
Tidy deformable import internals
mzamoramora-nvidia Jun 29, 2026
18dbc4c
Merge remote-tracking branch 'githubNewton/main' into mzamoramora/usd…
mzamoramora-nvidia Jun 29, 2026
0582d4b
Rename _bind_cable_material to _bind_deformable_material in tests
mzamoramora-nvidia Jun 30, 2026
5ee7024
Drop intra-PR world-anchor entry from CHANGELOG Fixed
mzamoramora-nvidia Jun 30, 2026
2184bdf
Warn on geometry-authored deformable moduli in get_tetmesh
mzamoramora-nvidia Jun 30, 2026
705d36d
Rename test_usd_deformable.py to test_import_usd_deformable.py
mzamoramora-nvidia Jun 30, 2026
e8e89ba
Merge branch 'main' into mzamoramora/usd-deformable-import
mzamoramora-nvidia Jun 30, 2026
8cafb04
Split the deformable importer and its tests into per-family modules
mzamoramora-nvidia Jun 30, 2026
af3b444
Use short SPDX license headers in deformable test modules
mzamoramora-nvidia Jun 30, 2026
9c90e7b
Merge branch 'main' into mzamoramora/usd-deformable-import
mzamoramora-nvidia Jun 30, 2026
debd77f
Apply volume mass precedence only to simulation-API TetMeshes
mzamoramora-nvidia Jun 30, 2026
f064cf4
Use cylinder volume for density-derived cable segment masses
mzamoramora-nvidia Jun 30, 2026
5e31fc0
Transform cable normals and rest points by the full linear map
mzamoramora-nvidia Jun 30, 2026
32a484f
Skip non-simulation TetMeshes under a deformable body
mzamoramora-nvidia Jul 1, 2026
6a9193d
Warn on dropped deformable velocities and fix a tet import crash
mzamoramora-nvidia Jul 1, 2026
cb2461b
Fix: cloth should not be a static rigid collider
mmichelis Jul 1, 2026
a863be1
Set imported cloth particle radius from the surface thickness
mzamoramora-nvidia Jul 1, 2026
71fec0d
Warn that cable restShapePoints only affects stiffness
mzamoramora-nvidia Jul 1, 2026
0eb18c4
De-duplicate deformable importer comments
mzamoramora-nvidia Jul 1, 2026
5179a8a
Wrap imported cables in articulations so add_usd is finalize-ready
mzamoramora-nvidia Jul 1, 2026
97698bc
Record imported deformables as world-tagged builder groups
mzamoramora-nvidia Jul 1, 2026
bc65e4c
Expose imported deformable groups on the finalized Model
mzamoramora-nvidia Jul 1, 2026
d4e3986
Carry deformable groups through add_builder, replicate, and collapse
mzamoramora-nvidia Jul 1, 2026
4e82fa8
Drop add_usd deformable index maps in favor of Model groups
mzamoramora-nvidia Jul 1, 2026
e08e77c
Validate cable physics:masses against authored point count
mzamoramora-nvidia Jul 1, 2026
8e06868
Require explicit world for duplicated deformable group labels
mzamoramora-nvidia Jul 1, 2026
46f7a46
Skip disabled and kinematic deformables instead of importing dynamic
mzamoramora-nvidia Jul 1, 2026
31d2cc6
Weld cable attachments only when hard and coincident
mzamoramora-nvidia Jul 1, 2026
cfbd4fd
Set cloth tri_ka to zero instead of the builder default
mzamoramora-nvidia Jul 1, 2026
c83af53
Add repository-owned mixed-deformable import regression
mzamoramora-nvidia Jul 1, 2026
f6608b2
Document the deformable import contract and limitations
mzamoramora-nvidia Jul 1, 2026
ea63e30
Merge remote-tracking branch 'githubNewton/main' into mzamoramora/usd…
mzamoramora-nvidia Jul 1, 2026
0afd495
Reshape deformable import tests and validate cloth topology
mzamoramora-nvidia Jul 2, 2026
c38009a
Reword the deformable parsing docs in plain language
mzamoramora-nvidia Jul 2, 2026
dc3dd59
Condense the deformable import changelog entries
mzamoramora-nvidia Jul 2, 2026
6e67929
Describe imported deformables independently of a solver
mzamoramora-nvidia Jul 2, 2026
8d15d55
Remove the Model deformable group-lookup API
mzamoramora-nvidia Jul 2, 2026
ff00413
Match parse_usd and add_usd docstring wrapping
mzamoramora-nvidia Jul 2, 2026
60bf621
Keep a deprecation window for vendor TetMesh materials in add_usd
mzamoramora-nvidia Jul 2, 2026
17b8baf
Merge remote-tracking branch 'githubNewton/main' into mzamoramora/usd…
mzamoramora-nvidia Jul 2, 2026
e063671
Trim the deprecation-window comment to its rationale
mzamoramora-nvidia Jul 2, 2026
93752de
Document the legacy TetMesh material exception
mzamoramora-nvidia Jul 2, 2026
feb3e46
Pin the segment attachment u convention with an asymmetric site
mzamoramora-nvidia Jul 2, 2026
c7bb895
Discover USD deformable prims in one stage traversal
mzamoramora-nvidia Jul 2, 2026
54b3e40
Skip deformable context on stages without candidates
mzamoramora-nvidia Jul 2, 2026
e352f29
Merge branch 'main' into mzamoramora/usd-deformable-import
mzamoramora-nvidia Jul 2, 2026
7eaae29
Document the cable restShapePoints subset
mzamoramora-nvidia Jul 2, 2026
d65e081
Merge remote-tracking branch 'githubNewton/main' into mzamoramora/usd…
mzamoramora-nvidia Jul 3, 2026
0fb2549
Drop stale orphan-joint warning check in collapse test
mzamoramora-nvidia Jul 3, 2026
b90d9cc
Make the builder's deformable group registries private
mzamoramora-nvidia Jul 3, 2026
5481e3c
Merge branch 'main' into mzamoramora/usd-deformable-import
mzamoramora-nvidia Jul 3, 2026
fa89b80
Fix element-collision-filter group broadcasting
mzamoramora-nvidia Jul 3, 2026
3f7e103
Preserve junction attachments when a weld graph fails
mzamoramora-nvidia Jul 3, 2026
2b16b1f
Warn on unconverted cloth material without thickness
mzamoramora-nvidia Jul 3, 2026
53e6a70
Report the soft-body density actually used
mzamoramora-nvidia Jul 3, 2026
2f73c19
Gate deformable import results behind deformable_results
mzamoramora-nvidia Jul 3, 2026
3c67e67
Clarify experimental deformable import results
mzamoramora-nvidia Jul 3, 2026
d942f3b
Apply the proposal's Poisson-ratio fallback for volume materials
mzamoramora-nvidia Jul 3, 2026
0fe5ca0
Reject cyclic welded cable components before mutation
mzamoramora-nvidia Jul 3, 2026
ea786a6
Enforce one simulation geometry per deformable body across families
mzamoramora-nvidia Jul 3, 2026
41b68f1
Contain malformed TetMesh failures to the offending prim
mzamoramora-nvidia Jul 3, 2026
eef0ee3
Shift empty cable joint ranges when fixed joints collapse
mzamoramora-nvidia Jul 3, 2026
1ea4a3c
Ignore stray filter indices when groupElemCounts is empty
mzamoramora-nvidia Jul 3, 2026
8ecfb89
Import periodic two-point deformable curves
mzamoramora-nvidia Jul 3, 2026
ef27cf8
Author thickness in the per-point mass test fixture
mzamoramora-nvidia Jul 3, 2026
606f43d
Validate USD volume material density
mzamoramora-nvidia Jul 3, 2026
2551fbe
Validate USD cable topology partitions
mzamoramora-nvidia Jul 3, 2026
93a5b84
Document cable graph result metadata
mzamoramora-nvidia Jul 3, 2026
473aadc
Merge branch 'main' into mzamoramora/usd-deformable-import
mzamoramora-nvidia Jul 3, 2026
231ff34
Use proposal attachment tokens in weld-prepass test
mzamoramora-nvidia Jul 6, 2026
7aaaa37
Merge branch 'main' into mzamoramora/usd-deformable-import
mzamoramora-nvidia Jul 6, 2026
35352cc
Align deformable_results notice with experimental policy
mzamoramora-nvidia Jul 6, 2026
28947b5
Gate deformable collision on PhysicsCollisionAPI
mzamoramora-nvidia Jul 6, 2026
e20b88a
Exclude deformable geometry from native USD physics parsing
mzamoramora-nvidia Jul 6, 2026
aa31827
Merge branch 'main' into mzamoramora/usd-deformable-import
mzamoramora-nvidia Jul 6, 2026
60f8a20
Scope deformable collider walks to proposal colliders
mzamoramora-nvidia Jul 6, 2026
f471682
Keep loop-closing joints through collapse_fixed_joints
mzamoramora-nvidia Jul 6, 2026
2eb2d4d
Read deformable density from PhysicsMaterialAPI
mzamoramora-nvidia Jul 6, 2026
a8d1299
Preserve compliant attachments instead of hardening them
mzamoramora-nvidia Jul 6, 2026
1e00b61
Drop invalid Xform colliders from group test fixtures
mzamoramora-nvidia Jul 6, 2026
e6e0e4e
Align deformable docs and contracts with behavior
mzamoramora-nvidia Jul 6, 2026
e587e3f
Back-fill tests for documented deformable behavior
mzamoramora-nvidia Jul 6, 2026
38a98e2
Skip empty deformable-registry merges in add_builder
mzamoramora-nvidia Jul 6, 2026
9b9c7a2
Retain parallel joints after the collapse tree edge
mzamoramora-nvidia Jul 6, 2026
6b0160c
Pass body_frame_origin in collapse rod tests
mzamoramora-nvidia Jul 6, 2026
7ba1b1e
Merge branch 'main' into mzamoramora/usd-deformable-import
mzamoramora-nvidia Jul 6, 2026
9404f43
Validate attachment stiffness against the proposal range
mzamoramora-nvidia Jul 6, 2026
536bfaf
Skip cloth meshes with zero-area triangles
mzamoramora-nvidia Jul 6, 2026
12be17a
Update weld warning pin to the tightened wording
mzamoramora-nvidia Jul 6, 2026
2a65d22
Determine attachment hardness from stiffness alone
mzamoramora-nvidia Jul 7, 2026
35b24c2
Transform curve normals by the full linear map
mzamoramora-nvidia Jul 7, 2026
6a72bdf
Reject welds that collapse an authored cable segment
mzamoramora-nvidia Jul 7, 2026
7f92a1e
Deduplicate element collision filter shape pairs
mzamoramora-nvidia Jul 7, 2026
0b899c5
Limit deformable body ownership to prim and direct parent
mzamoramora-nvidia Jul 7, 2026
6f7aae8
Cheapen the deformable scouting walk
mzamoramora-nvidia Jul 7, 2026
eff1084
Move mass-precedence comment to the deformable block
mzamoramora-nvidia Jul 7, 2026
4f1f8de
Create one joint for interior point attachment sites
mzamoramora-nvidia Jul 7, 2026
3cb1c86
Align attachment docs with hardness and single-anchor fixes
mzamoramora-nvidia Jul 7, 2026
8861895
Assume default thickness for cloth and cable fallbacks
mzamoramora-nvidia Jul 7, 2026
8b0b87d
Rebuild cable segment inertia when scaling from zero mass
mzamoramora-nvidia Jul 7, 2026
4926668
Warn for every dropped or unembedded deformable geometry
mzamoramora-nvidia Jul 7, 2026
cfd88bc
Merge branch 'main' into mzamoramora/usd-deformable-import
mzamoramora-nvidia Jul 7, 2026
2810adc
Warn on GeomSubset physics material bindings
mzamoramora-nvidia Jul 7, 2026
6285298
Import conflicted deformable bodies as rigid
mzamoramora-nvidia Jul 7, 2026
5ccf7d8
Classify scout prims by exact type name before IsA
mzamoramora-nvidia Jul 7, 2026
cf7c119
Keep disabled deformables' collision geometry as static
mzamoramora-nvidia Jul 7, 2026
118e50b
Assert cable-range preconditions and align deprecation gates
mzamoramora-nvidia Jul 7, 2026
151b546
Share point baking and union-find across deformable passes
mzamoramora-nvidia Jul 7, 2026
3394125
Merge branch 'main' into mzamoramora/usd-deformable-import
mzamoramora-nvidia Jul 7, 2026
e45dbc7
Contain nested TetMeshes by subtree ownership
mzamoramora-nvidia Jul 7, 2026
56b07bc
Distribute authored body mass despite zero fallback density
mzamoramora-nvidia Jul 7, 2026
c638655
Report the representative density for welded cables
mzamoramora-nvidia Jul 7, 2026
2747de3
Merge branch 'main' into mzamoramora/usd-deformable-import
mzamoramora-nvidia Jul 7, 2026
4af8a5d
Tighten deformable import comments
mzamoramora-nvidia Jul 7, 2026
ad8b629
Merge branch 'main' into mzamoramora/usd-deformable-import
mzamoramora-nvidia Jul 7, 2026
eab60a6
Convert body/material cloth density with default thickness
mzamoramora-nvidia Jul 7, 2026
a85385c
Exclude ignored prims from deformable scouting
mzamoramora-nvidia Jul 7, 2026
d46d9d4
Distribute volume body mass despite zero build density
mzamoramora-nvidia Jul 7, 2026
c435cc5
Rename deformable_results to return_deformable_results
mzamoramora-nvidia Jul 7, 2026
bb19d28
Warn when canonical-only get_tetmesh would drop moduli
mzamoramora-nvidia Jul 7, 2026
e9a9e40
Merge branch 'main' into mzamoramora/usd-deformable-import
mzamoramora-nvidia Jul 8, 2026
4387714
Expand USD filtered pairs to deformable shape sets
mzamoramora-nvidia Jul 8, 2026
e9b1cd2
Document deformable import scope and vendor limits
mzamoramora-nvidia Jul 8, 2026
c965a7e
Drop Changed entries duplicated into Deprecated
mzamoramora-nvidia Jul 8, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@

### Added

- Import USD deformable bodies in `ModelBuilder.add_usd()` (experimental; based on the proposed [AOUSD Deformable Body Physics schema](https://github.com/aousd/OpenUSD-proposals/blob/5d89c0ed46a26de92f4d3fefef3bfad6500c07ce/proposals/physics_deformables/wp_deformable_physics.md)). Curves become cables (capsule bodies joined by cable joints, each cable wrapped in its own articulation), meshes become cloth (FEM triangles with bending edges), and tet meshes become soft bodies. Bound deformable materials supply thickness, stiffness, and density, and the proposal's mass precedence (per-point `physics:masses`, then body `mass`/`density`, then material density) is honored. Each imported deformable's element ranges and authored material attributes are returned by prim path when the experimental `add_usd(..., return_deformable_results=True)` option is passed; the returned maps are build-time snapshots (not live selections), and the default return shape carries no deformable entries. Collision participation follows `PhysicsCollisionAPI` / `physics:collisionEnabled`: cables without an enabled collider import without collision, while cloth and volume deformables warn that particle collision cannot be disabled yet. Standard `physics:filteredPairs` pairs involving a cable expand to its segment shapes; pairs naming a cloth or volume deformable warn and are not lowered. Disabled or kinematic deformables and malformed topology warn and are skipped. Cable and cloth material attributes are returned as authored in `path_cable_attrs` / `path_cloth_attrs`, so solvers with richer cable or cloth models can rebuild from the import. See the USD parsing documentation for the supported subset and limitations.
- Import AOUSD proposal `PhysicsAttachment` prims for cables in `ModelBuilder.add_usd()`. Cable `point` / `segment` sites with an `xform` target become hard ball joints, returned in `path_attachment_map` (with `return_deformable_results=True`); cloth/volume attachment sites warn and are kept in `path_attachment_attrs`. A hard, coincident `point`->`point` attachment between two cables welds them into one rod graph; a springy or non-coincident junction warns and is kept as data instead of welded.
- Import AOUSD proposal `PhysicsElementCollisionFilter` prims in `ModelBuilder.add_usd()`: collisions between the paired element groups of `src0` and `src1` are filtered (group counts pair element-wise; a count of `0` or an empty counts array selects all elements). Sources resolve to imported cables, rigid bodies, or collider prims; cloth/volume element sources warn and are skipped.
- Add scalar value-based OpenCV, F-theta, and Kannala-Brandt fisheye camera ray helpers to `SensorTiledCamera.utils`, plus pinhole aperture/focal-length parameters, `compute_camera_transforms_usd()`, `compute_camera_rays_usd_pinhole()`, and optional preallocated ray output writes.
- Add `cloth_stiff_material_hanging` and `cloth_stiff_material_stretch` examples regression-guarding the new Neo-Hookean triangle material (stability under gravity at extreme stiffness, and bulk area-preservation across a Poisson-ratio sweep)
- Add `newton[onnx]` for ONNX policy inference through Warp-NN; `ControllerNeuralMLP`, `ControllerNeuralLSTM`, and RL policy examples can run exported `.onnx` policies without requiring PyTorch for ONNX execution.
Expand Down Expand Up @@ -61,6 +64,10 @@
- Deprecate passing option-heavy helper API parameters positionally, including `ModelBuilder.ShapeConfig`, `ModelBuilder.JointDofConfig`, `Contacts`, `ArticulationView`, and selected `ModelBuilder` body, joint, shape, rod, cloth, soft-body, and FEM helpers. Keep stable identifiers such as `body`, `parent`/`child`, capacity counts, and topology indices positional; migrate calls such as `add_shape_box(body, xform, hx=...)` to `add_shape_box(body, xform=xform, hx=...)`.
- Deprecate loading TorchScript (`torch.jit.save`) and dict (`torch.save`) neural-network checkpoints in `ControllerNeuralMLP` and `ControllerNeuralLSTM` in favor of pt2 archives saved via `torch.export.save`.
- Deprecate omitting `body_frame_origin` in `ModelBuilder.add_rod()` and `ModelBuilder.add_rod_graph()`; the implicit behavior still uses the existing start-node body-frame convention during the deprecation window, but the implicit default will change to `body_frame_origin="com"` in a future release. Pass `body_frame_origin="start"` to preserve the legacy frame or `body_frame_origin="com"` to opt into the future COM-centered frame.
- Change VBD Neo-Hookean membrane/tet damping to an objective metric based on the rate of `C = FᵀF`, so rigid-body rotations no longer generate damping force.
- Change VBD spring damping to act only along the spring axis (damping edge-length rate), so transverse and rigid-rotational motion is no longer damped by springs.
- Deprecate reading legacy vendor-namespaced deformable material attributes (`omniphysics:`, `physxDeformableBody:`) off any bound material in `newton.usd.get_tetmesh()`, `newton.TetMesh.create_from_usd()`, and `ModelBuilder.add_usd()`. They are still read during the deprecation window, with a `DeprecationWarning`; a future release will read only canonical `physics:` attributes from a material applying `PhysicsVolumeDeformableMaterialAPI`. Migrate by authoring the canonical attributes, or keep the old behavior without the warning via `compat_namespaces=newton.usd.DEFORMABLE_LEGACY_NAMESPACES` (`get_tetmesh` / `create_from_usd`) or `schema_resolvers=[..., SchemaResolverPhysx()]` (`add_usd`). `compat_namespaces` is now keyword-only; pass `()` to opt into the canonical-only behavior today.
- Align MJCF and USD margin/gap import with MuJoCo 3.9+. Drop the `mj_margin - mj_gap` subtraction; `Model.shape_margin` now matches authored `margin`, and `Model.shape_gap` matches authored `gap`. Pass `legacy_margin_gap=True` to `ModelBuilder.add_mjcf` or `ModelBuilder.add_usd` to restore the pre-3.9 translation for files authored against MuJoCo <= 3.8.
Comment thread
mzamoramora-nvidia marked this conversation as resolved.
Outdated
- Deprecate the `indices` argument of `MeshAdjacency` in favor of `tri_indices`
- Deprecate `MeshAdjacency.add_edge`; construct a `MeshAdjacency` with `edge_indices` (`[o0, o1, v0, v1]` rows) instead

Expand Down
10 changes: 10 additions & 0 deletions docs/api/newton_usd.rst
Original file line number Diff line number Diff line change
Expand Up @@ -46,3 +46,13 @@ resolver types used by :meth:`newton.ModelBuilder.add_usd`.
has_attribute
type_to_warp
value_to_warp

.. rubric:: Constants

.. list-table::
:header-rows: 1

* - Name
- Value
* - ``DEFORMABLE_LEGACY_NAMESPACES``
- ``('omniphysics', 'physxDeformableBody')``
Loading
Loading