Newton v1.4.0
Newton v1.4.0 is a feature release centered on composing solvers, making captured and deterministic workflows more portable, expanding articulated dynamics tooling, improving deformable simulation and USD import, and delivering targeted performance gains in graph-captured and large-scale workloads.
For the complete list of changes, see the changelog.
Highlights
-
Experimental coupled solver composition.
SolverCoupled, proxy coupling, and ADMM contacts make it possible to compose MuJoCo, Kamino, VBD, XPBD, and MPM within a single workflow. (#2848) -
Experimental deformable USD workflows. Based on our AOUSD schema proposals,
ModelBuilder.add_usd()can import curves, meshes, tetrahedral meshes, attachments, and element filters as Newton cables, cloth, soft bodies, joints, and collision filters. Tiled-camera rendering now treats cloth and volume topology as meshes without also rendering their vertices as particle spheres. (#3192, #3518) -
Deterministic and portable execution. XPBD, SemiImplicit, Featherstone, VBD, and MuJoCo can opt into deterministic kernel paths for bit-exact repeated rollouts. Supported examples can also capture and replay Warp graphs on CPU. Default solver execution remains unchanged. (#3300, #3387)
-
VBD deformable simulation improvements. VBD gains opt-in full-surface rigid-soft contact that detects soft-triangle edge and face crossings against rigid SDFs, closing gaps that per-particle detection can miss. It also adds per-shape soft-contact margins and more consistent damping behavior across deformable materials, springs, cables, joints, and contacts. (#3262, #2994, #2877)
-
Articulated inverse dynamics. The experimental
eval_inverse_dynamics_passive()andeval_inverse_dynamics_force()APIs populate caller-owned arrays with joint-space mass matrices, gravity and Coriolis forces, and manipulator-equation joint forces for full models or selected articulations. (#2753, #3530) -
Detailed simulation tuning guides. Responding to strong user feedback, Newton 1.4 adds practical, diagnose-first tuning guides for building stable and efficient simulations. The new documentation provides a recommended tuning order, symptom-driven troubleshooting, solver-specific parameter guidance, contact and drive sanity checks, performance tradeoffs, and dedicated MuJoCo guidance. The guidance will expand in future releases.
Performance improvements
-
Much faster launch-heavy CPU workflows. Warp 1.15 CPU graph capture can greatly reduce launch overhead for graphable Newton workloads. A representative XPBD quadruped workload runs about 16 times faster with graph replay. (#3387)
-
Higher-throughput batched MuJoCo simulation. Large GPU workloads for G1, KitchenG1, and Humanoid run about 15% to 26% faster, while challenging Allegro workloads improve by about 11% with MuJoCo Warp 3.10.0.2. (#2980, #3502)
-
Faster simulation and visualization paths. Representative cloth and contact-heavy scenes run about 10% to 13% faster, and ViewerGL rendering is around 10% faster for large multi-world scenes.
Announcements
Breaking changes and removals
-
MuJoCo gap propagation and import semantics changed.
SolverMuJoConow propagates authoredshape_gapinto MuJoCogeom_gapandpair_gap, while MJCF and USD imports no longer subtract gap from margin by default. Shapes without an explicit gap inheritModelBuilder.rigid_gap = 0.1m, which now reaches MuJoCo and may increase detection-only contacts, broad-phase work, and contact-buffer pressure. Uselegacy_margin_gap=Truefor assets authored against MuJoCo 3.8 or earlier. For other scenes, retunebuilder.rigid_gapbefore adding shapes or setShapeConfig.gapper shape;0.0preserves the previous MuJoCo detection envelope. (#2980) -
USD material resolution now follows canonical bindings only. Newton no longer falls back to non-canonical material relationships. Assets that rely only on bare purpose-specific bindings such as
material:binding:preview, or bind to prims that are notMaterialprims, may stop resolving materials. Validate and repair affected assets withusdcheckerorusd-validation-nvidia. (#3350) -
Several simulation defaults and semantics changed. The CoACD threshold now defaults to
0.05; standaloneSolverSemiImplicitenables particle-particle contact forces;SolverFeatherstonesolves floating bases about the root center of mass; and inactive MPM particles no longer participate in grid transfers. Review the changelog for opt-outs and migration guidance before reusing tuned scenes. -
Implicit MPM collider setup is keyword-only. All arguments to
SolverImplicitMPM.setup_collider()must now be passed by name. Migrate positional calls to keywords such ascollider_meshes=,collider_body_ids=, andcollider_particle_ids=. (#3524) -
APIs deprecated in earlier releases were removed. Notable removals include
SensorRaycast, the SensorTiledCamera 1.1 compatibility surface, the externalnewton-actuatorsdependency and legacy actuator signature, top-level equality-constraint compatibility fields, and body armature. Migration paths are listed in the changelog. (#3169, #3168, #3170, #3296, #3153)
New deprecations and upcoming removals
-
Option-heavy solver, builder, shape, joint, and FEM APIs now warn when options are passed positionally. Keep stable identifiers positional and migrate configuration arguments to explicit keywords. (#2993)
-
Migrate from
SensorTiledCamera.configandrender_configtodefault_render_config, set texture and shadow behavior explicitly, and use the renamed camera-ray helpers. Other newly deprecated surfaces includeState.body_q_prev, legacy neural-network checkpoint formats, implicit rod body-frame selection, and the legacy contact-match constants. See the changelog for the complete migration list. (#3408, #3372, #3356, #3498)
Dependency updates
- Newton now requires
warp-lang>=1.15.0. - The simulation extra moves to MuJoCo 3.10 and
mujoco-warp>=3.10.0.2,<3.11. - USD import workflows require
newton-usd-schemas>=0.4.0. - The new
onnxextra adds ONNX policy inference throughwarp-nn[onnx]==0.3.0. - The deprecated
newton-actuatorsdependency is removed; usenewton.actuators.
For complete dependency details, see the pyproject.toml comparison.
Acknowledgments
Thanks to the Newton Project Members and to the following contributors from outside the Newton maintainer, TSC, and project-member groups:
- @han-xudong for URDF package resolution, viewer-state, SemiImplicit, XPBD-contact, and restitution fixes. (#2614, #2658, #3204, #3304, #3287)
- @aneangel for plotting and ViewerUSD improvements. (#2672, #2990, #2992)
- @devshahofficial for the example render-rate cap and USD mesh loading. (#2606, #3214)
- @maxkra15 for clearer USD schema failures and batched MuJoCo geometry fixes. (#3117, #3376)
- @felixmey for stabilizing and regression-testing the cable cross-slide table example. (#3126)
- @huidongc for fixing triangle-mesh construction in
RenderContext. (#3199) - @Langford-H for fixing
ViewerFilerunning state after close. (#3190) - @haoran-whynot for fixing Style3D memory growth without CUDA Graph capture. (#3243)
- @rshahid-nvidia for exposing BVH constructor selection in
ModelBuilder. (#2864) - @Dev-Jahn for fixing Implicit MPM graph capture with iterative linear solvers. (#3191)
- @jpatel3 for preserving unrelated USD articulations during import. (#3218)
- @mehdiataei for fixing CPU frame capture in ViewerGL. (#3093)
- @hujc7 for honoring ignored paths during custom-frequency USD traversal. (#3406)
- @ooctipus for canonical USD material-binding resolution. (#3350)