Skip to content

Make the paper's Fan and Balloons scenes the defaults - #196

Merged
yichao-liang merged 1 commit into
masterfrom
fig1-scene-defaults
Sep 28, 2026
Merged

yichao-liang merged 1 commit into
masterfrom
fig1-scene-defaults

Conversation

@yichao-liang

Copy link
Copy Markdown
Collaborator

Summary

  • Fan now defaults to the scene of the paper and scripts/configs/empiric: the exposed deck with the downhill ramp, inertial dynamics, no walls and a 3 x 3 grid, which also brings the wide camera. HISTORICAL_ARENA_FLAGS in pybullet_fan.py restores the historical uniform/maze arena, and the tests written for that arena now set it explicitly.
  • Balloons draws its ceiling as an opaque red cap across the chute, the picture the paper figures use, in place of a translucent plate over the whole table. The ceiling is visual only, so no physics changes. The hatch scene keeps the plate.
  • scripts/paper_figures/render_run_videos.py renders a run's labelled video from its recorded states, moved into the current scene layouts as the figures do. Replaying the actions of runs recorded before the layouts changed does not reproduce them in the current env. The project page uses it for the Balloons and Fan videos.
  • The figure exporter's _load_run_config now drops launch flags that the current code no longer defines; restoring older runs failed on them since the agent flags were removed.
  • docs/RENDERING.md documents both.

The committed paper-figure scenes are unchanged: re-exporting the Balloons scenes gives the same ceiling cap.

Test plan

  • CI on this commit: all 14 checks green (run 36432013362).
  • Every Fan and Balloons test file, per file, on this branch and on a clean master: master all pass; the five Fan files that assumed the old arena now pass with HISTORICAL_ARENA_FLAGS (80 passed, the same 4 xfails as master).
  • yapf 0.32.0, isort 5.10.1, docformatter 1.4, mypy 1.8.0 and pylint on the changed files, locally.
  • Rendered the Balloons and Fan paper runs: same frame counts as the originals (556 and 1650).

🤖 Generated with Claude Code

Fan now defaults to the scene of the paper and its benchmark config:
the exposed deck with the downhill ramp, inertial dynamics, no walls and
a 3 x 3 grid, which also brings the wide camera. HISTORICAL_ARENA_FLAGS
in pybullet_fan.py restores the historical uniform/maze arena, and the
tests written for that arena now set it explicitly.

Balloons draws its ceiling as an opaque red cap across the chute, the
picture the paper figures used, in place of a translucent plate over the
whole table. The ceiling is visual only, so no physics changes.

scripts/paper_figures/render_run_videos.py renders a run's labelled
video from its recorded states moved into the current scene layouts, as
the figures do, for runs recorded before those layouts changed. The
figure exporter now drops launch flags that the current code no longer
defines, which broke restoring older runs.
@yichao-liang
yichao-liang merged commit 4c2358d into master Sep 28, 2026
14 checks passed
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