haoz19/world-tracing-demo

Space

19

stars

46

commits

1

linked in READMEs

Aug 31, 2026

updated

gradio

README

🌍 World Tracing β€” Interactive Demo

Try World Tracing in your browser. Upload a single image (object or scene) or a short 16-frame video clip and the model predicts multilayer pixel-aligned geometry β€” L registered XYZ point layers (per-pixel camera-space points, not a depth map) that together cover the visible surface and the (partially) occluded surfaces behind it.

What you can try here

TabModelInputOutputTypical latency
Objectr75b (1.7 B)RGBA / RGB cutout (504 Γ— 504)6-layer point cloud β†’ interactive viewer~ 13 s
Scener69l (1.5 B)full-frame RGB (840 Γ— 840)6-layer point cloud β†’ interactive viewer~ 17 s
Scene Β· Pro πŸ”’r69l mix (1.5 B)full-frame RGB (840 Γ— 840)6-layer point cloud β†’ interactive viewer~ 17 s
Dynamicr76 (2.1 B)16-frame clip (336 Γ— 336)per-frame 6-layer cloud β†’ interactive WebGL player~ 30 s
Textured Meshr75b + microsoft/TRELLIS.2-4BRGBA / RGB cutouttextured GLB (4096Β² texture, 300 K faces)60-120 s

Scene model updated β€” 2026-06-13: the Scene (and Scene Β· Pro) tabs now run the latest high-resolution (840 Γ— 840) scene model. The public weights are mirrored at haoz19/scene-model-6layer-840.

πŸ”’ Gated mix model (Scene Β· Pro)

The Scene Β· Pro tab serves the latest 840 Γ— 840 mix scene model (indoor and outdoor alike, trained on a larger mixed real + synthetic corpus). Because that corpus includes restricted-license sources, access to these weights is not open yet β€” we plan to open it up in a while. For now the model is gated:

  • Its weights live in a private repo (haoz19/scene-model-6layer-mix). The Space loads them at startup using the HF_TOKEN Space secret (Settings β†’ Variables and secrets β†’ add HF_TOKEN = an HF token from an account with access). Without it the tab is disabled but the rest of the demo runs normally.
  • End-user access is gated by Hugging Face login + an allowlist. Set the WT_MIX_ALLOWLIST Space variable to a comma-separated list of approved HF usernames (defaults to haoz19). To approve someone, just add their username β€” no code change or rebuild logic required.
  • A signed-out or non-allowlisted user can open the tab and see the inputs, but clicking Generate returns a clear message instead of running the model (and never consumes a GPU slice).

The 3 point-cloud tabs render in a custom Three.js viewer with a point size slider. The dynamic tab adds a play / pause / scrub strip. The Textured Mesh tab returns a GLB ready for download / embedding.

Hosted on ZeroGPU

This Space uses Hugging Face ZeroGPU, a dynamic-allocation GPU pool that's free for everyone. Daily quotas apply (unauthenticated 2 min, free account 3.5-5 min, PRO 25+ min). Each reconstruction call requests ≀ 45 s (object / scene) or ≀ 90 s (dynamic) of GPU time.

License

The demo code, the underlying wt package, and the model weights are released under CC BY-NC-ND 4.0 (Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International) β€” non-commercial research use only.

The model checkpoints are hosted at:

Citation

@misc{zhang2026worldtracinggenerativepixelaligned,
  title         = {World Tracing: Generative Pixel-Aligned Geometry Beyond the Visible},
  author        = {Hao Zhang and Mohamed El Banani and Jen-Hao Cheng and Paul Zhang
                   and Yi Hua and Ben Mildenhall and Christoph Lassner
                   and Narendra Ahuja and Gengshan Yang},
  year          = {2026},
  eprint        = {2606.13652},
  archivePrefix = {arXiv},
  primaryClass  = {cs.CV},
  url           = {https://arxiv.org/abs/2606.13652}
}

Contributors

CU
Cursor

22 commits

HA
haoz19

21 commits

Hao-wl

3 commits

haoz19/world-tracing-demo

Space

19

stars

46

commits

1

linked in READMEs

Aug 31, 2026

updated

gradio

README

🌍 World Tracing β€” Interactive Demo

Try World Tracing in your browser. Upload a single image (object or scene) or a short 16-frame video clip and the model predicts multilayer pixel-aligned geometry β€” L registered XYZ point layers (per-pixel camera-space points, not a depth map) that together cover the visible surface and the (partially) occluded surfaces behind it.

What you can try here

TabModelInputOutputTypical latency
Objectr75b (1.7 B)RGBA / RGB cutout (504 Γ— 504)6-layer point cloud β†’ interactive viewer~ 13 s
Scener69l (1.5 B)full-frame RGB (840 Γ— 840)6-layer point cloud β†’ interactive viewer~ 17 s
Scene Β· Pro πŸ”’r69l mix (1.5 B)full-frame RGB (840 Γ— 840)6-layer point cloud β†’ interactive viewer~ 17 s
Dynamicr76 (2.1 B)16-frame clip (336 Γ— 336)per-frame 6-layer cloud β†’ interactive WebGL player~ 30 s
Textured Meshr75b + microsoft/TRELLIS.2-4BRGBA / RGB cutouttextured GLB (4096Β² texture, 300 K faces)60-120 s

Scene model updated β€” 2026-06-13: the Scene (and Scene Β· Pro) tabs now run the latest high-resolution (840 Γ— 840) scene model. The public weights are mirrored at haoz19/scene-model-6layer-840.

πŸ”’ Gated mix model (Scene Β· Pro)

The Scene Β· Pro tab serves the latest 840 Γ— 840 mix scene model (indoor and outdoor alike, trained on a larger mixed real + synthetic corpus). Because that corpus includes restricted-license sources, access to these weights is not open yet β€” we plan to open it up in a while. For now the model is gated:

  • Its weights live in a private repo (haoz19/scene-model-6layer-mix). The Space loads them at startup using the HF_TOKEN Space secret (Settings β†’ Variables and secrets β†’ add HF_TOKEN = an HF token from an account with access). Without it the tab is disabled but the rest of the demo runs normally.
  • End-user access is gated by Hugging Face login + an allowlist. Set the WT_MIX_ALLOWLIST Space variable to a comma-separated list of approved HF usernames (defaults to haoz19). To approve someone, just add their username β€” no code change or rebuild logic required.
  • A signed-out or non-allowlisted user can open the tab and see the inputs, but clicking Generate returns a clear message instead of running the model (and never consumes a GPU slice).

The 3 point-cloud tabs render in a custom Three.js viewer with a point size slider. The dynamic tab adds a play / pause / scrub strip. The Textured Mesh tab returns a GLB ready for download / embedding.

Hosted on ZeroGPU

This Space uses Hugging Face ZeroGPU, a dynamic-allocation GPU pool that's free for everyone. Daily quotas apply (unauthenticated 2 min, free account 3.5-5 min, PRO 25+ min). Each reconstruction call requests ≀ 45 s (object / scene) or ≀ 90 s (dynamic) of GPU time.

License

The demo code, the underlying wt package, and the model weights are released under CC BY-NC-ND 4.0 (Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International) β€” non-commercial research use only.

The model checkpoints are hosted at:

Citation

@misc{zhang2026worldtracinggenerativepixelaligned,
  title         = {World Tracing: Generative Pixel-Aligned Geometry Beyond the Visible},
  author        = {Hao Zhang and Mohamed El Banani and Jen-Hao Cheng and Paul Zhang
                   and Yi Hua and Ben Mildenhall and Christoph Lassner
                   and Narendra Ahuja and Gengshan Yang},
  year          = {2026},
  eprint        = {2606.13652},
  archivePrefix = {arXiv},
  primaryClass  = {cs.CV},
  url           = {https://arxiv.org/abs/2606.13652}
}

Contributors

CU
Cursor

22 commits

HA
haoz19

21 commits

Hao-wl

3 commits