This release bumps mjlab to MuJoCo and MuJoCo Warp 3.11, broadens visual domain randomization to lights and textures, and fixes a family of partial-reset bugs that caused state leakage between environments.
Breaking changes
CollisionCfgno longer silently defaultscontype,conaffinity,condim, andpriorityto MuJoCo's values. All four must be set explicitly; add a".*"catch-all entry for dict values that should cover every matched geom.CommandTerm._update_commandgains anenv_idsparameter (Nonefor the regular per-step call, reset ids when called fromreset()). Custom command terms must add it; construction raises aTypeErrorwith migration instructions if it is missing.ViewerConfigis now keyword-only.
Visual domain randomization
Six new dr.light_* functions randomize light diffuse, specular, ambient, attenuation, cutoff, and exponent. LightCfg exposes the corresponding static fields. TextureCfg can now load textures from image files, and dr.mat_texid randomizes which texture fills a material slot. A new GeomCfg spec editor patches geom attributes (group, collision fields) by name pattern.
Partial-reset correctness
reset(env_ids=...) previously leaked state into environments that were not reset: commands advanced an extra step, observation buffers received a duplicate frame, and interval-event timers carried over from the previous episode. All three are fixed. auto_reset and an explicit reset() now produce identical state.
Quality of life
- The offscreen renderer operates on a model copy, so render-only tweaks (extent, shadows, reflections) no longer bleed into the simulation model.
ViewerConfiggainsgeom_groupandsite_groupfor controlling which visualization groups the offscreen renderer draws.MetricsTermCfgsupportsreduce="sum"for reporting accumulated episode totals.init_velocity_probno longer restores the pre-reset pose or teleports root velocity on mid-episode resamples.CircularBufferlag retrieval clamps to the oldest retained frame instead of wrapping.- Camera sensor caches are invalidated after
sense(), fixing stale observations.
This release includes significant contributions from @bd-pmorais (visual domain randomization, GeomCfg, MuJoCo 3.11 bump) and @bd-mlutter (ViewerConfig improvements, offscreen renderer isolation, metrics).
Full changelog: v1.5.3...v1.6.0