MCPcopy Index your code
hub / github.com/World-In-World/world-in-world

github.com/World-In-World/world-in-world @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
9,326 symbols 37,833 edges 677 files 2,789 documented · 30%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

World-in-World logo

Website badge arXiv badge HF badge GitHub badge Demo Badge

World-in-World is a unified closed-loop benchmark and toolkit for evaluating visual world models (WMs) by their embodied utility rather than only image or video appearance. World-in-World provides: (1) a unified online planning strategy that works with different WMs, (2) a unified action API that adapts to text, viewpoint, and low‑level controls, and (3) a task suite covering Active Recognition (AR), Active Embodied QA (A‑EQA), Image‑Goal Navigation (IGNav), and Robotic Manipulation.


📰 News

  • 2025-10-22: Preprint released on arXiv. Landing page and repository initialized.
  • 2025-11-10: Add post‑training instructions and data collection instructions in data collection section.
  • 2026-02-09: Add Manipulation task instructions and environment setup.
  • 2026-04-01: Add OpenPI as proposer in the manipulation task.
  • 2026-04-03: Now supports LIBERO as the backend in the manipulation task. Thanks @DehuiWang01!

✨ Overview

Overview

In this work, we propose World-in-World, which wraps generative World models In a closed-loop World interface to measure their practical utility for embodied agents. We test whether generated worlds actually enhance embodied reasoning and task performance—for example, helping an agent perceive the environment, plan and execute actions, and re-plan based on new observations within such a closed loop. Establishing this evaluation framework is essential for tracking genuine progress across the rapidly expanding landscape of visual world models and embodied AI.


🚧 Repository Status

The release will follow the to‑do list below and will be updated continuously.

Under construction - Full documentation and tutorials for environment setup and task evaluation. - [X] AR, IGNav, AEQA - [X] Manipulation - [X] WM post‑training instructions - [ ] Instructions to add a new WM to World‑in‑World


🚀 Getting Started

1) Documentation structure

2) Checklist for running an evaluation

For any task, complete the following steps in order.

  1. Set up environments.
  2. AR, IGNav, AEQA: set up Habitat‑sim as described in 01_setup_env.md: Environment for Habitat‑sim.
  3. Manipulation: set up wow-manip as described in 01_setup_env.md: Environment for WIW-Manipulation
  4. Download scene datasets.
  5. AR: download MP3D as described in 02_evaluation_datasets.md: Common Steps.
  6. IGNav, AEQA: download HM3D as described in 02_evaluation_datasets.md: Common Steps.
  7. Manipulation: already exists in downstream/world-in-world-manip/wiw_manip/envs/vlm
  8. Download evaluation episodes.
  9. AR: see 02_evaluation_datasets.md: Download AR evaluation episodes.
  10. IGNav: see 02_evaluation_datasets.md: Download IGNav evaluation episodes.
  11. AEQA: see 02_evaluation_datasets.md: Download AEQA evaluation episodes.
  12. Manipulation: already exists in downstream/world-in-world-manip/data
  13. Deploy policies (VLM policy, heuristic policy, diffusion policy).
  14. AR: deploy VLM policy as in 03_run_commands.md: VLM Deployment. If you use a heuristic policy, you can skip the VLM step.
  15. IGNav: deploy VLM policy as in 03_run_commands.md: VLM Deployment. If you use a heuristic policy, you can skip the VLM step.
  16. AEQA: deploy VLM policy as in 03_run_commands.md: VLM Deployment.
  17. Manipulation:
  18. Deploy other task‑related models if needed.
  19. AR: deploy the SAM2 server as in 03_run_commands.md: SAM2 Deployment.
  20. IGNav: no extra task models.
  21. AEQA: deploy the Grounding SAM2 server as in 03_run_commands.md: Grounding SAM2 Deployment.
  22. Manipulation: no extra task models.
  23. Deploy the WM server.
  24. AR, IGNav, AEQA: see 03_run_commands.md: World Model Deployment and WMs for Habitat‑sim Tasks.
  25. Manipulation: see 03_run_commands.md: World Model Deployment and WMs for Manipulation Tasks.
  26. Run the evaluation script.
  27. AR, IGNav, AEQA: see 03_run_commands.md: Run the Evaluation Scripts.
  28. Manipulation: see 03_run_commands.md: Manip pattern.
  29. Accumulate results.
  30. AR, IGNav, AEQA: see 03_run_commands.md: Get evaluation results.
  31. Manipulation: see 03_run_commands.md: Get evaluation results.

After the first run, the environment and datasets are in place. For later runs, you usually only repeat steps 4–8. If you encounter any issue, please feel free to open an issue or contact us.

P.S. if u have any question about the server deployment, you can also refer to 03_run_commands.md: Common questions and 09_WM_server_design.md: WM Server Design Details for troubleshooting.


🏆 Submit Custom Results to the Leaderboard

To submit new results to the leaderboard:

  1. Update this repository. Fork/clone this repo, add your modifications (e.g., custom model inference script) and instructions for how we can reproduce the results, then open a pull request for review.

  2. Update the website leaderboard. Fork/clone the website repo: https://github.com/World-In-World/World-In-World.github.io Edit subpages/leaderboard.html: https://github.com/World-In-World/World-In-World.github.io/blob/main/subpages/leaderboard.html Then open a pull request.

We will review the submission and, once verified, we will merge the changes and update the leaderboard accordingly.


📝 Citation

If you find this work useful, please cite:

@misc{zhang2025worldinworld,
  title        = {World-in-World: World Models in a Closed-Loop World},
  author       = {Zhang, Jiahan and Jiang, Muqing and Dai, Nanru and Lu, Taiming and Uzunoglu, Arda and Zhang, Shunchi and Wei, Yana and Wang, Jiahao and Patel, Vishal M. and Liang, Paul Pu and Khashabi, Daniel and Peng, Cheng and Chellappa, Rama and Shu, Tianmin and Yuille, Alan and Du, Yilun and Chen, Jieneng},
  year         = {2025},
  eprint       = {2510.18135},
  archivePrefix= {arXiv},
}

Core symbols most depended-on inside this repo

to
called by 1919
FTsvd/diffusers-private/diffusers/pipelines/stable_diffusion/stable_unclip_image_normalizer.py
pop
called by 952
FTsvd/diffusers-private/diffusers/utils/outputs.py
requires_backends
called by 884
FTsvd/diffusers-private/diffusers/utils/import_utils.py
to
called by 602
FTsvd/diffusers-private/diffusers/models/modeling_utils.py
get
called by 353
downstream/utils/worker.py
deprecate
called by 329
FTsvd/diffusers-private/diffusers/utils/deprecation_utils.py
set_timesteps
called by 297
FTsvd/diffusers-private/diffusers/schedulers/scheduling_lcm.py
update
called by 280
FTsvd/diffusers-private/diffusers/utils/outputs.py

Shape

Method 6,462
Function 1,490
Class 1,370
Route 4

Languages

Python100%

Modules by API surface

FTsvd/diffusers-private/diffusers/utils/dummy_torch_and_transformers_objects.py604 symbols
FTsvd/diffusers-private/diffusers/utils/dummy_pt_objects.py419 symbols
FTsvd/diffusers-private/diffusers/models/embeddings.py125 symbols
FTsvd/diffusers-private/diffusers/models/attention_processor.py125 symbols
FTsvd/diffusers-private/diffusers/models/unets/unet_2d_blocks.py112 symbols
FTsvd/diffusers-private/diffusers/utils/testing_utils.py67 symbols
FTsvd/diffusers-private/diffusers/pipelines/deprecated/versatile_diffusion/modeling_text_unet.py62 symbols
FTsvd/diffusers-private/diffusers/models/unets/unet_3d_blocks.py58 symbols
FTsvd/diffusers-private/diffusers/utils/dummy_flax_objects.py56 symbols
FTsvd/diffusers-private/diffusers/models/unets/unet_1d_blocks.py56 symbols
FTsvd/diffusers-private/diffusers/models/controlnet_xs.py55 symbols
FTsvd/diffusers-private/diffusers/models/unets/unet_motion_model.py54 symbols

For agents

$ claude mcp add world-in-world \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact