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