Skip to content

unienv_interface.world.env_composer

WorldEnv

WorldEnv(world: World[BArrayType, BDeviceType, BDtypeType, BRNGType], node_or_nodes: Union[WorldNode[ContextType, ObsType, ActType, BArrayType, BDeviceType, BDtypeType, BRNGType], Iterable[WorldNode[Any, Any, Any, BArrayType, BDeviceType, BDtypeType, BRNGType]]], *, render_mode: Optional[str] = 'auto')

Bases: Env[BArrayType, ContextType, ObsType, ActType, RenderFrame, BDeviceType, BDtypeType, BRNGType]

Composes an Env from a World and one or more WorldNode instances.

If multiple nodes are passed, they are automatically wrapped in a CombinedWorldNode.

Bind a world and node tree into one stateful environment facade.

node instance-attribute

node = node_or_nodes

world instance-attribute

world = world

rng instance-attribute

rng = random_number_generator(device=device)

observation_space property

observation_space

action_space property

action_space

context_space property

context_space

backend property

backend

device property

device

batch_size property

batch_size

render_mode property

render_mode: Optional[str]

render_fps property

render_fps: Optional[int]

metadata class-attribute instance-attribute

metadata: dict[str, Any] = {'render_modes': []}

unwrapped property

unwrapped: Env

prev_wrapper_layer property

prev_wrapper_layer: Optional[Env]

get_node

get_node(nested_keys: Union[str, Sequence[str]]) -> Optional[WorldNode[Any, Any, Any, BArrayType, BDeviceType, BDtypeType, BRNGType]]

Look up a node by name or nested path.

get_nodes_by_fn

get_nodes_by_fn(fn: Callable[[WorldNode[Any, Any, Any, BArrayType, BDeviceType, BDtypeType, BRNGType]], bool]) -> list[WorldNode[Any, Any, Any, BArrayType, BDeviceType, BDtypeType, BRNGType]]

Collect nodes in the tree that satisfy fn.

get_nodes_by_type

get_nodes_by_type(node_type: Type[WorldNode[Any, Any, Any, BArrayType, BDeviceType, BDtypeType, BRNGType]]) -> list[WorldNode[Any, Any, Any, BArrayType, BDeviceType, BDtypeType, BRNGType]]

Collect nodes in the tree that are instances of node_type.

reload

reload(*, mask: Optional[BArrayType] = None, seed: Optional[int] = None, **kwargs) -> Tuple[ContextType, ObsType, Dict[str, Any]]

Reload the environment - reload scene with entities from nodes.

Flow
  1. world.reload() - World prepares (clear, load assets)
  2. node.reload() - Nodes add entities to scene
  3. world.after_reload() - World compiles scene with all entities
  4. node.after_reload() - Nodes cache entity references

reset

reset(*, mask: Optional[BArrayType] = None, seed: Optional[int] = None, reload: bool = False, **kwargs) -> Tuple[ContextType, ObsType, Dict[str, Any]]

Reset the composed environment, optionally forcing a full reload.

step

step(action: ActType) -> Tuple[ObsType, Union[SupportsFloat, BArrayType], Union[bool, BArrayType], Union[bool, BArrayType], Dict[str, Any]]

Run one control step through the node/world composition.

render

render() -> RenderFrame | Sequence[RenderFrame] | None

Render via the root node when rendering is enabled.

close

close()

Close the node tree and the underlying world.

sample_space

sample_space(space: Space) -> Any

Sample from space using and updating self.rng.

sample_action

sample_action() -> ActType

Sample one action from action_space.

sample_observation

sample_observation() -> ObsType

Sample one observation from observation_space.

sample_context

sample_context() -> Optional[ContextType]

Sample one context value if context_space is defined.

update_observation_post_reset

update_observation_post_reset(old_obs: ObsType, newobs_masked: ObsType, mask: BArrayType) -> ObsType

Merge masked reset observations back into a full batched observation.

update_context_post_reset

update_context_post_reset(old_context: ContextType, new_context: ContextType, mask: BArrayType) -> ContextType

Merge masked reset contexts back into a full batched context.

has_wrapper_attr

has_wrapper_attr(name: str) -> bool

Checks if the attribute name exists in the environment.

get_wrapper_attr

get_wrapper_attr(name: str) -> Any

Gets the attribute name from the environment.

set_wrapper_attr

set_wrapper_attr(name: str, value: Any)

Sets the attribute name on the environment with value.