Skip to content

Commit f887335

Browse files
committed
Fix circular import in utils/warp by lazy-importing SceneEntityCfg
Move SceneEntityCfg import from module-level to inside resolve_asset_cfg() to break the circular dependency chain: utils.warp -> managers.scene_entity_cfg -> managers.manager_base -> utils.warp
1 parent 0fd4ec1 commit f887335

1 file changed

Lines changed: 6 additions & 1 deletion

File tree

  • source/isaaclab_experimental/isaaclab_experimental/utils/warp

source/isaaclab_experimental/isaaclab_experimental/utils/warp/utils.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,12 @@
99
from typing import TYPE_CHECKING
1010

1111
import torch
12-
from isaaclab_experimental.managers.scene_entity_cfg import SceneEntityCfg
1312

1413
import warp as wp
1514

1615
if TYPE_CHECKING:
16+
from isaaclab_experimental.managers.scene_entity_cfg import SceneEntityCfg
17+
1718
from isaaclab.envs import ManagerBasedEnv
1819

1920

@@ -210,6 +211,10 @@ def zero_masked_2d(mask: wp.array(dtype=wp.bool), values: wp.array(dtype=wp.floa
210211

211212

212213
def resolve_asset_cfg(cfg: dict, env: ManagerBasedEnv) -> SceneEntityCfg:
214+
# Lazy import to avoid circular dependency:
215+
# utils.warp -> managers.scene_entity_cfg -> managers.manager_base -> utils.warp
216+
from isaaclab_experimental.managers.scene_entity_cfg import SceneEntityCfg
217+
213218
asset_cfg = None
214219

215220
for value in cfg.values():

0 commit comments

Comments
 (0)