One pretrained Diffusion Policy pushed a T-block to a goal from the same 50 initial states under
46 execution schedules (strategy × inference latency d × execution horizon h; 1 step = 100 ms) plus one noise replicate of Sync d=0 h=8 that shows how many outcomes flip by chance alone.
Every predicted action chunk was logged, so you can see which plan every executed action came from.
A Latency Response: how each strategy degrades as inference gets slower, one panel per execution horizon h.
Sync waits while the policy thinks, naive async keeps acting on the old chunk and switches abruptly, inpaint async keeps acting and makes the new chunk continue the old one.
Switch the metric to idle share, staleness or seam gap to see the cost each strategy pays. Click a mark = candidate C, shift-click = reference R; Δ vs R shows paired differences.
B Paired Seed Table: one row per initial state. Left: filled cell = success under that column's schedule (R black, C orange). Rows are grouped by how the outcome changes from R to C; the Re-run column shows how many outcomes flip by chance alone. Right: the same seed's value under R (●) and C (●). Drag over the right part to select seeds: A then recomputes on them.
C Workspace Replay: the episode under R and C side by side, with the chunk being executed, the next chunk still being computed and the latest seam.
D Execution Timeline: when the policy thinks and which chunk each action came from; lollipops are seams. Brush a window, hover a chunk to see its plan in C.
Keyboard: ←/→ step, space play/pause, Esc clears the time window and the seed selection.