Each stage does one job and hands the next an explicit object, never a hidden activation. Pick a node to see what it produces and watch it run on real data.
picks one discrete action token per entity, per frame
hands over → a token
a real action stream, drawn live
The dashed leg marks where the world stops being a state and becomes pixels — not where generation starts. Everything here is generated. The model is handed two things and nothing else: a short seed of pose frames, and one reference image. From there ActionGPT invents the action stream, PoseGPT invents the articulated state, and only the bridge is not generative — it is closed-form geometry with no weights. In the demo film the first three stages are drawn from a ground-truth-aligned state so that one continuous moment can be followed across all four panels; that is a continuity device for the film, not how the system runs.
Every way of putting a virtual world on screen sits somewhere on one axis. At the left the world is a program and every pixel is the consequence of code. At the right it is a distribution and every pixel is a sample. The interesting question is not which end wins. It is where you put the cut — which parts of a world are exact by construction, and which are worth generating.
Pure program. Geometry, collision and occlusion are exact because they are computed, and nothing outside the authored assets exists. A scene is an explicit tree of authored nodes, so consistency is not a behaviour that has to be learned or defended — it is a property of the data structure.
The engine still owns the simulation and hands over buffers — depth, albedo, normals, motion vectors — and a network turns them into the image. DLSS began as upscaling and has grown into exactly this: NVIDIA now describe DLSS 5 as neural rendering that injects lighting and material response into pixels, not merely more of them. Which is why upscaling and G-buffer neural rendering are one point on this axis rather than two.
Right of the middle, and we are explicit about why: our state is generated too. A learned model invents what happens next, and only the step from state to geometry is a program — a rule-governed operator with no weights in it. So we inherit exactness where a rule can provide it and generate everything else, which is a claim about where the cut belongs rather than about how much generation is good for you.
Pure observation. No state, no program, nothing exact by construction — consistency and control are behaviours that emerge, or fail to. The appeal is obvious: no rig, no assets, no authored world, and whatever the data contains is what the model can produce.
Read left to right and something is given up at every step; read right to left and something is gained. The middle is where a program and a generator each do what they are good at, and it is not obvious that any current system is there. We sit right of it because we generate the world's state and compute only its geometry. That is a claim about where the cut belongs, and the rest of this page is what it buys.
Each clip is one autoregressive rollout. The right of the divider is the pose-control video the deterministic bridge rasterizes from the predicted state; the left is the RGB the observation model paints from it. The geometry the two sides share is never generated.
These are the first nine seconds of seventeen-second rollouts. Later chunks degrade in two ways. The characters sometimes walk past the edge of the scanned terrain, which is a coverage limit of our height field. Appearance also drifts: it is the one quantity carried forward only through the chunk-relay seed frames, so unlike geometry it has no anchor in the state. That is an open problem, and the paper's Limitations section sets out how we intend to attack it.
No control is injected into any of these. Each system is given a first frame and simply allowed to continue, because the only question here is what the picture looks like — not how faithfully any particular moment is reconstructed. Whether a command is actually obeyed is a different question, and it has its own section below.
Ours and the pixel-autoregressive baseline are free rollouts of the same window: the decision model predicts its own action stream and nothing is forced. The commercial systems received a free-combat prompt with no schedule.
Steering this model is a tensor assignment on its own output stream. No gradient, no auxiliary conditioning network, no retraining. Each clip is cut at its injection points, so a marker switches to that moment instantly instead of seeking.
Because the state is a metric articulated skeleton, error can be scored in the world itself, in absolute units, before anything is rendered. The observation layer is the shared ground where any model that emits RGB can be compared.
| Layer | Metric | Marionette | Pixel-AR |
|---|---|---|---|
| Observation | FVD16 ↓ | 741 | 1131 |
| Observation | FVD, final chunk of a long rollout ↓ | 890 | 1424 |
| State | RA-MPJPE @100f, hunter (m) ↓ | 0.274 | no state to score |
| Control | RA-MPJPE, correct action forced (m) ↓ | 0.272 | no state to score |
| Control | RA-MPJPE, wrong action forced (m) ↑ | 0.357 | no state to score |
Two findings worth stating plainly. Driving the same observation model with ground-truth pose instead of predicted pose changes nothing measurable, so the rendering stage, and not the dynamics, is what currently limits us. And per-chunk FVD stays flat for both models over a long rollout even while the pixel-autoregressive baseline is quietly swapping the conditioned monster for a different species, which is why we pair distributional scores with state-layer diagnostics and caution against reading a flat FVD curve as evidence of long-horizon consistency.
Every recording yields both an RGB stream and a per-frame 276-dimensional articulated world state, read out of the game engine, so an action label is the animation the engine actually played and not something a vision model guessed. That correspondence is what makes the dual-layer evaluation possible at all.
The corpus is our previously released WildWorld dataset, and it is richer than the slice we exercise here: 29 monster species with mutually incompatible skeletons, four weapon classes, parties of up to four hunters. We hold most of that fixed and study one-on-one combat so that the state layout, the action vocabulary, and every metric mean the same thing across all of our ablations. The scanned terrain height fields the harness consumes are new to this work.
@article{meng2026marionette,
title = {Marionette: Predicting World States, Rendering Geometry, Painting Appearance},
author = {Meng, Zian and Li, Zhen and Li, Chuanhao and Li, Qiang and Zhang, Kaipeng},
journal = {arXiv preprint arXiv:2608.14530},
year = {2026}
}