Skip to content

DRAFT: variations in eval runner#779

Draft
alexmillane wants to merge 70 commits into
mainfrom
alex/feature/variations_in_eval_runner
Draft

DRAFT: variations in eval runner#779
alexmillane wants to merge 70 commits into
mainfrom
alex/feature/variations_in_eval_runner

Conversation

@alexmillane

Copy link
Copy Markdown
Collaborator

Summary

Connects the eval_runner.py to the variations.

Detailed description

  • Expands our Job/json to add a field for variations.
  • Passes those variations into the ArenaEnvBuilder for building.
  • Added a small example droid_pnp_variations_config.json that demonstrates how to use this feature and added it to the (placeholder) docs.

Introduce the variation framework: a VariationBase with build-time and
run-time flavors, a SamplerBase abstraction with uniform and categorical
samplers, and two concrete variations -- HDR dome-light image selection
(build-time) and camera extrinsic decalibration (run-time).

Variations attach to any Asset (scene objects or embodiments) and are
collected by ArenaEnvBuilder, which applies build-time variations before
scene composition and folds run-time variations into the event manager
cfg. All variations default to disabled so existing envs are unchanged.

The variations package exposes its API lazily (PEP 562 __getattr__):
camera_decalibration pulls in torch and isaaclab.sensors, and importing
that pair before the SimulationApp launches corrupts USD's Python
bindings. Lazy exports keep importing the package -- or its lightweight
base/sampler submodules -- safe at module-load time (e.g. pytest
collection).

Signed-off-by: alex <amillane@nvidia.com>
- Rename camera_decalibration.py -> camera_decalibration_variation.py
- Drop package-level re-exports; import concrete classes from submodules
- Remove sampler/variation listener plumbing (deferred to a follow-up MR)
- Hoist a compulsory sampler_cfg field onto VariationBaseCfg and rename the
  per-variation sampler field to sampler_cfg
- Replace UniformSampler.event_shape with an abstract SamplerBase.shape_per_sample
- Drop the camera variation's unused mode field (all variations fire on reset)
- Move attribute docs onto each member and trim docstrings to one line

Signed-off-by: alex <amillane@nvidia.com>
Agents drove the container with bare `docker exec` (root), while users
attach via run_docker.sh as their host user (su $(id -un)). Root-run
commands left root-owned files in shared caches (/tmp/Assets, ~/.config)
that the host user could not read, breaking their later interactive runs.

Update AGENTS.md and the dev-container/run-tests skills to route every
in-container command through `su $(id -un) -c`, mirroring run_docker.sh.

Signed-off-by: alex <amillane@nvidia.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant