!DOCTYPE html>
Under review
University of Michigan
World models are a powerful means of reasoning and planning for a variety of applications including robotics. However, many of these world models such as video generation models are high dimensional and computationally expensive, which limits the number of action candidates that can be evaluated by a planner. We show that this cost is avoidable for planners over short horizons which only need local information with respect to the current state.
For a fixed state, the frames reachable by varying a low-dimensional action, a camera movement or an end-effector command, lie on a low-dimensional manifold. We estimate the local shape of that manifold directly via a network trained to estimate how each image region moves per unit of each action axis, supervised by data collected from samples by the generator. A correction head fit to trajectory data describes the shape of this manifold region up to a third-order Taylor polynomial. We call the network estimating the Taylor polynomial describing the manifold shape an action jet, and compute its radius of validity in closed form.
By traversing this approximation of the local manifold shape, we only have to perform inference once per state for any number of candidate actions. We are over 300× faster at sixteen candidates compared to the source generators, and this gap widens with the number of candidates a planner evaluates. We measure against state-of-the-art action-conditioned generators: IRASim and WorldGym on BridgeData V2, a real 7-DoF manipulation benchmark, and DepthSplat, LagerNVS and FrameCrafter on DL3DV scenes. Because only the first-order term comes from the generator and the rest from the data, the action jet also predicts held-out frames more accurately than IRASim, the generator that supplied its tangent, at short horizons and at roughly 104× less compute.
Latent image states live in the space of a frozen image autoencoder : . We split into tokens, each a block of latent pixels, so every token is a vector in . For an image state , let be the set of latent states reachable from by actions in a neighbourhood of zero. This is a smooth surface of dimension at most , fixed by the data distribution including the dynamics. Write for the map that sends an action to the latent state it reaches in the data (its mean, where transitions are stochastic), so that . It is a property of the dataset, not of any model.
A generator trained on that data defines , and where it has learned the data, : an approximate chart of the action-conditioned data manifold. The local shape of is its Taylor expansion,
whose first-order fields span the tangent space. An Action Jet is a network that emits a truncation of that expansion from the current frame, with the first order measured from a generator and everything above it fit to data.
For each generator, state and axis we render at along that axis alone, encode both renders, and difference them into the field
is the estimated action Jacobian for axis , and it says how each token moves per unit of that axis. Both renders show the same room, table and robot, and subtracting removes all of it, so the measurement records the generator's response to the action rather than the quality of its rendering. For stochastic generators we average over samples. The probe needs no gradients, so any model that maps a state and an action to an image can be probed, including multi-step diffusion samplers.
Probing costs two generator passes per axis per state, which a planner scoring many candidates cannot afford. We therefore train a geometry encoder that predicts the action Jacobian from the current frame in one forward pass, supervised by the probed fields.
A ViT reads and one context frame as tokens. For each token it emits a feature vector , used later by the correction head, a basis , and coefficients . Taking to be the factor of the reduced QR decomposition of makes hold by construction, and token 's motion per unit of axis is predicted as . All axes share that one rank- frame, which makes the output a tangent space rather than a set of unrelated fields. The encoder minimises
where the norms are taken over all tokens and acts token-wise. Normalising each axis by its own energy keeps the axes that cause large image motion from dominating the gradient; the second term prices the part of each probed field that lies outside the predicted frame. Stacking tokens gives the encoder's estimate of , and with it the first-order truncation
The first-order chart is a plane and is a curved surface. A correction head adds the second- and third-order terms. Unlike the geometry encoder it is not supervised by the generator: it is trained on recorded transitions, so every term above first order is fit to the data itself. For each token it reads the encoder feature and a noise draw and emits the coefficient fields of
where every field lies in . and are the head's estimates of the second- and third-order coefficients, corrects the first-order term, and are noise-conditioned fill fields for disoccluded content, which is a discontinuous function of the action and has no polynomial form. The prediction for action is
with , which guarantees . The head is trained with the encoder frozen.
Every coefficient field is computed from and , and never from . That is the property the whole method rests on: the fields are extracted once per state, and each candidate action after that costs only a contraction against tensors already in memory. It is also why an Action Jet can be more accurate than the generator it came from. The generator's contribution ends at first order, supplying the directions in which the image can move at each state, including along single axes the dataset never isolates. Recorded data sets every coefficient above it.
The estimate does not hold for actions that move the state too far. A camera moved somewhere with no visual overlap with the current scene cannot have its new view predicted from the old one, and computationally, a Taylor polynomial stops being accurate far from its expansion point. Because the prediction is an explicit polynomial in , that boundary can be computed from the chart's own coefficients rather than found by a sweep.
Let be a unit direction in normalised action units. The predicted displacement from at step length is exactly a cubic,
with , and . Writing , and , the radius of validity is the positive root of ,
past which the nonlinear terms can be as large as the linear one. Inside any number of further candidate actions can be simulated from the current state; outside it, a new chart has to be extracted. The whole quantity costs six evaluations of the correction head and no rendering. It is a property of the Action Jet alone, with no generator and no ground-truth frame anywhere in it, so it is available per state at inference time.
On BridgeData V2 we check it against real held-out frames with no generator in the loop. 99% of single-step transitions and 67% of four-step ones fall inside , and the chart stops beating the do-nothing baseline at . Repeating the whole measurement on a second chart built from a different generator, with nearly orthogonal tangent fields and translation gains a factor of ten apart, puts the crossing at . The two agree about where they stop working to within 8%.
Screening candidate actions with a world model has one shape: every candidate costs a full forward simulation. An action jet pays two network evaluations per state regardless of K, because the action never enters the network. Sixteen candidates cost 1.4× one and sixty-four cost 3.1×, so the cost per candidate falls as breadth grows. Ranking happens in latent space, so the decoder runs once rather than K times.
| world model | NFE / state | K=1 | 16 | 64 | ms / cand |
|---|---|---|---|---|---|
| IRASim | 25K | 5714 | 91431 | — | 5478 |
| WorldGym | 40K | 1240 | 17501 | — | 1094 |
| Action Jet, composed | 8 | 87.8 | 604.3 | 2347.9 | 36.7 |
| Action Jet, single | 2 | 37.9 | 54.0 | 117.5 | 1.8 |
Measured cost in milliseconds of evaluating K candidate four-step futures at one state, identical hardware.
Breadth search on three held-out robot states. A goal-conditioned policy proposes candidate action chunks; the action jet predicts every outcome from a single extraction, and the selector keeps the one whose predicted future is closest to the target.
Kubric scenes are synthetic, so every factor of variation is declared and can be moved on its own: the camera's azimuth, the light's azimuth and the object's position. The generator we chart here is a feed-forward next-frame transformer, which is differentiable, so the field the probe estimates is also available exactly by automatic differentiation. The probed fields match it at cosine 0.87 for the camera, 0.90 for the light and 0.99 for the object. All three axes share one rank-12 frame, and the effective rank of the probed energy in that frame is 3.9, against three true factors. In the grid below each row is a different scene, and each column drives one factor through the 3-jet prediction; the last column moves all three at once.
















3-jet predictions on held-out Kubric scenes. One scene per row. Each column drives one factor, and the last drives all three together.
Only the first order comes from the generator, so an Action Jet is not capped by the model it was distilled from. We check that on two domains that fail in opposite directions: a robot arm, where consecutive frames barely differ and doing nothing is a strong baseline, and indoor scenes, where the camera moves far enough that a prediction has to invent pixels.
Under the recorded actions, the chart predicts the next frame at 24.57 dB against IRASim's 23.34, so it beats the generator that supplied its tangent by 1.2 dB at roughly 100× less compute. By gap 2 the two are level, 22.42 against 22.37, and from gap 3 IRASim pulls ahead by about 0.6-1.0 dB, which is the price of composing steps rather than a limit of the chart. Fine-tuning the decoder on real pixels is worth a further 0.3–0.4 dB at every gap.
On indoor scenes the comparison that matters is against the other method that has to synthesize pixels from two causal frames. Against FrameCrafter, a 25-step diffusion sampler, the chart predicts at 20.5 dB to its 17.4 at gap 1 and 16.8 to 13.7 at gap 4, a margin of 3.0 to 3.3 dB held across the horizon, with LPIPS .159 against .221 narrowing to .279 against .429. The copy-frame control wins LPIPS at gap 1, .136 against .159, and is passed from gap 2 onward. DepthSplat and LagerNVS sit above both, but they re-render real pixels from posed views rather than synthesizing them, so they are an upper bound rather than a competitor. Swapping which of them supplied the tangent moves the result by at most 0.006 LPIPS and 0.08 dB at every gap.
Pixel metrics cannot separate a frame that moved the camera correctly from one that blurred toward the mean, and on this domain the copy control exploits exactly that. So we score the geometry instead: pair each prediction with the real photograph at the same target pose, match with MASt3R, recover the relative camera by PnP, and note that its ground truth is the identity. A photograph against itself gives the instrument's noise, 0.12° and 0.4 px. At gap 4 the chart cuts the control's rotation error by 54% and its reprojection error by 69%, 0.79° and 5.9 px against 1.73° and 19.1 px, and is below the control on 97% of states. It is the only generative method below the control at all: FrameCrafter's frames imply a camera farther from the target than the input frame itself, 2.16° and 51.1 px, below the control on 23% of states. A model can win LPIPS by predicting nothing. It cannot win this.
An extracted chart could describe the dataset's manifold or only the generator we probed. The comparison that separates them is well posed because of where supervision enters: the geometry encoder sees only generator probes, so the tangent field is the one part of the model that the objection “both were trained on the same real frames” cannot reach.
On DL3DV, two charts distilled from architecturally unrelated novel-view generators — DepthSplat, explicit Gaussian splatting on estimated depth, and LagerNVS, a transformer initialised from VGGT — agree at mean per-axis cosine 0.80 against a state-permutation null of 0.00. Their generators agree at 0.75, and because both generators are deterministic that 0.75 is an unattenuated ceiling rather than a noise-limited one. On four of six axes the two learned bases agree with each other more than the generators they came from do.
| tx | ty | tz | rx | ry | rz | mean | |
|---|---|---|---|---|---|---|---|
| DL3DV — DepthSplat and LagerNVS, deterministic generators | |||||||
| learned charts | .77 | .81 | .77 | .84 | .82 | .79 | .80 |
| generators | .72 | .73 | .68 | .69 | .84 | .86 | .75 |
| permutation null | .00 | .00 | .00 | .00 | .00 | .00 | .00 |
| BridgeData V2 — IRASim and WorldGym | |||||||
| learned charts | −.02 | .06 | .08 | −.09 | .09 | .12 | .04 |
| generators | −.02 | .03 | .05 | −.04 | .04 | .05 | .02 |
Tangent agreement between learned charts built from different generators. Where the generators agree, the learned bases recover the shared structure and agree at least as well. Where the generators disagree, on Bridge, the learned charts inherit that disagreement rather than manufacturing consensus — which is what makes the DL3DV result evidence about the data rather than about shared architecture.
Each clip below walks the demonstrated action out from one extracted chart, on a different held-out episode. The surfaces are measured patches of , four tangent pairs at once: the flat grey sheet is the first-order chart alone, the coloured sheet adds the correction head, and the marker tracks the current step. The frames beside them are decoded from that same single extraction. No network is re-run anywhere in the sweep.