Skip to content

Commit a0ac249

Browse files
vidurv-nvidiamyurasov-nv
authored andcommitted
Raise TypeError for invalid collision_cfg instead of silent fallback
When collision_cfg is not None but lacks to_dict(), the previous code silently fell back to empty kwargs, ignoring all user settings. Now raises a clear TypeError so misconfiguration surfaces immediately.
1 parent e48fbf6 commit a0ac249

1 file changed

Lines changed: 6 additions & 1 deletion

File tree

source/isaaclab_newton/isaaclab_newton/physics/newton_manager.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -571,7 +571,12 @@ def _create_collision_pipeline(cls, model: Model):
571571
# Pipeline parameters from collision_cfg (or defaults)
572572
collision_cfg = cfg.collision_cfg
573573
if collision_cfg is not None:
574-
pipeline_kwargs = {k: v for k, v in collision_cfg.to_dict().items() if v is not None} if hasattr(collision_cfg, "to_dict") else {}
574+
if not hasattr(collision_cfg, "to_dict"):
575+
raise TypeError(
576+
f"collision_cfg {type(collision_cfg)} does not implement to_dict(). "
577+
"Only @configclass instances are supported."
578+
)
579+
pipeline_kwargs = {k: v for k, v in collision_cfg.to_dict().items() if v is not None}
575580
else:
576581
pipeline_kwargs = {"broad_phase": "explicit"}
577582

0 commit comments

Comments
 (0)