Skip to content

Add headless window capture API#281

Open
yuecideng wants to merge 2 commits into
mainfrom
feat/window-capture
Open

Add headless window capture API#281
yuecideng wants to merge 2 commits into
mainfrom
feat/window-capture

Conversation

@yuecideng
Copy link
Copy Markdown
Contributor

@yuecideng yuecideng commented May 25, 2026

Description

Adds SimulationManager.capture_window() for single-frame RGB capture using the same hidden-camera approach as viewer window recording. When a viewer window is open, the capture camera follows the current viewer pose; in headless runs it renders from a provided pose or a default look-at pose.

Also updates scripts/tutorials/sim/create_scene.py with --capture-window, --capture-path, and --max-steps so the feature can be verified non-interactively.

Fixes #

Type of change

  • New feature (non-breaking change which adds functionality)
  • Enhancement (non-breaking change which improves an existing functionality)

Screenshots

Not applicable. Verification writes ./outputs/window_capture/create_scene_verify.png locally.

Verification

  • python -m py_compile embodichain/lab/sim/sim_manager.py scripts/tutorials/sim/create_scene.py
  • black --check embodichain/lab/sim/sim_manager.py scripts/tutorials/sim/create_scene.py
  • python scripts/tutorials/sim/create_scene.py --headless --max-steps 5 --capture-window --capture-path ./outputs/window_capture/create_scene_verify.png
  • Verified generated image is 1920x1080 RGB and nonblank.

Checklist

  • I have run the black . command to format the code base.
  • I have made corresponding changes to the documentation
  • I have added tests that prove my fix is effective or that my feature works
  • Dependencies have been updated, if applicable.

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