Repository navigation
Preserve Newton defaults across DexSim configuration API versions - #975
han-xudong wants to merge 1 commit into
Conversation
[Medium impact] The changes reach Newton solver setup and its simulation checks. The PR appears safe to merge, with a non-blocking test gap around explicit-auto solver options.
|
| for solver_cfg in (None, {"solver_type": "auto"}): | ||
| converted = NewtonPhysicsCfg(solver_cfg=solver_cfg).to_dexsim_cfg(gpu_id=0) | ||
| assert converted.solver_cfg == newton_physics.NewtonCfg().solver_cfg |
There was a problem hiding this comment.
These explicit-auto cases supply no solver options, so they still pass if the new DexUni branch condition is reverted. Add a case where auto resolves to grouped DexUniSolverCfg and receives iterations and step_rigid_bodies. Check the resulting vbd_options, not just the compatibility attributes added with setattr. This would catch broken option forwarding without blocking this fix.
Prompt To Fix With AI
This is a comment left during a code review.
Path: tests/sim/test_sim_manager_cfg.py
Line: 167-169
Comment:
**Auto options lack coverage**
These explicit-auto cases supply no solver options, so they still pass if the new DexUni branch condition is reverted. Add a case where `auto` resolves to grouped `DexUniSolverCfg` and receives `iterations` and `step_rigid_bodies`. Check the resulting `vbd_options`, not just the compatibility attributes added with `setattr`. This would catch broken option forwarding without blocking this fix.
---
For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!
Description
Preserve the installed DexSim SDK's Newton solver default when the configuration API no longer exports
AutoSolverCfg. Explicitautomappings resolve to that same default type, including the grouped DexUni option layout; omitted solver configuration and explicit solver selection keep their SDK-defined behavior.Refs #904. This is the independent Newton compatibility prerequisite; USD closed-loop support is handled separately. The existing SDK dependency pin is unchanged.
Type of change
Screenshots
Not applicable.
Checklist
black .command to format the code base.python docs/scripts/check_api_docs.py), if applicableValidation
Validated source commit:
75dc1461488c3242680fadd4c4e104ca235ff195; base:017968d4326c08c4c6d44aa7faddf7221d8d965f.black .using Black 26.10.1python docs/scripts/check_api_docs.pypytest tests/sim/test_sim_manager_cfg.py tests/sim/test_cfg.py tests/sim/test_startup_summary.py tests/sim/test_no_renderer.py --run-gpu -qwith SDK0.5.10.5.1.dev2026110403The runtime cases exercise real NoRender stepping, reset and topology rebuild with explicit MuJoCo Warp and the SDK's default Newton solver. Existing production tests are extended for the missing export and explicit-auto boundaries; no tutorial tests are added. The schema comparison explicitly excludes three asset-loading adapter fields that are not owned by native shape configuration.
The code and docstring describe both SDK API families. Agent context was reviewed read-only and left unchanged at the user's explicit request. The current-SDK matrix uses an explicit local test override; it is not a claim that the candidate is available from the normal package index. This PR retains its existing dependency pin and does not merge or publish any artifact.