Sparse World Modelslive demo · WORLDS @ IROS 2026

Interactive paper — nothing to install, it runs in this tab

A rule with zero parameters beats the world model.

This is not a video. The real trained checkpoint ( parameters) runs live on live physics, scored frame by frame against eleven trivial rules — the same audit battery as the paper. Your job: make the model look smart.

Drag on the table, or use the arrow keys.

Loading model…

60 fps
  • the finger
  • model says “will move”
  • actually moved
  • predicted position
  • goal
  • Hover a box to inspect it

Try to break it 0/3

How to read the canvas

  1. 1

    You push

    One finger-like pusher. Boxes slide, bump and chain-react under real quasi-static physics.

  2. 2

    The model guesses

    A filled box means the gate said this one will move next frame. The dashed outline is where it thinks the box will land.

  3. 3

    A rule competes

    nearest_to_pusher: whichever box is closest to the finger moves. That is the whole rule — no parameters, no training.

  4. 4

    The scoreboard judges

    Onset F1 only counts boxes that were at rest, so nobody gets free points for “still rolling, still rolling”.

Only frames where something moved more than 2 cm are scored. Without that filter about 95% of steps are the finger wandering with nothing happening, every rule scores near zero, and no number here would be comparable to the paper.

Go deeper

The idea, in plain terms

One finger, a few well-separated boxes. The box closest to the finger is almost always the one that moves, so a single scalar — distance — recovers the label. Filters only choose which scalar.

What the model is genuinely good at

Not detection — copying still objects exactly. Objects the gate leaves off are untouched, so they cannot drift, and the gap over a dense model grows with object count. Set boxes to 12 and watch.

Audit your own benchmark

python -m experiments.audit_battery --test yours.npz --val yours.npz — eleven rules, fitted on validation, applied to test. Verdict: DEGENERATE, MARGINAL or SURVIVES.

Get the code

We document the failures too

Claims of ours that proper baselines refuted are kept in the record, as is the leaky split (25% episode overlap) fixed by build_clean_splits.py. experiments/RESULTS.md is the source of truth.

Read RESULTS