novaphy.MultiEnvLayout¶
Runtime layout metadata for batched logical environments.
MultiEnvLayout stores one origin per env for viewer, debug, and task-side
metadata. It does not own physics buffers and does not mutate
Model.world_origins.
Constructors¶
| Constructor | Description |
|---|---|
MultiEnvLayout() |
Create one environment with a zero origin. |
MultiEnvLayout(num_envs) |
Create num_envs origins initialized to zero. |
MultiEnvLayout(env_origins) |
Create a layout from an (N, 3) float array. |
Static Constructors¶
| Method | Description |
|---|---|
linear(num_envs, spacing) |
Place env origins at i * spacing. |
grid(num_envs, spacing, columns=0) |
Place env origins on an XZ grid. |
Properties¶
| Property | Description |
|---|---|
num_envs |
Number of logical envs. |
env_origins |
(num_envs, 3) NumPy copy of the stored origins. In-place edits to the returned array do not write back; assigning a complete array to the property updates the origins and synchronizes num_envs. |
Notes¶
The layout is intentionally separate from ModelWorldRange. Layout answers
"where should this env be displayed or annotated?", while world ranges answer
"which flat model/state/control buffer slice belongs to this env?".