Affiliation withheld
Under review · 2026
Text-driven human motion in a 3D scene is usually cast as one mapping from prompt, scene and goal position to motion. The goal is then the user’s to supply, and a mapping with no internal structure answers only requests whose combination of instruction, scene and goal it has already seen: what bounds generalization is coverage, not capacity.
We supply the missing structure, factoring the task into three planning stages that a diffusion synthesizer renders — a goal planner for where the interaction happens, reading the room through a multi-resolution hash-grid signed distance field grounded to object names by a frozen CLIP encoder; a trajectory planner for how the body travels there; and a motion-state planner for what it does, blended from a learnable bank of reusable motion states. Each stage emits an explicit state that can be read, replaced or reused rather than a latent, so the three can be recombined at inference on configurations never seen together.
We build three hold-outs on LINGO isolating novel action compositions, novel rooms and novel object categories, retrain every baseline under each, and add a scene-contact measure that is not a frame average. Ours takes 19 of the 21 best scores — the lowest translation and orientation error on every axis, the least time spent inside scene geometry — with a third of the strongest baseline’s parameters. Asked to predict the goal rather than receive it, a setting no baseline supports, it still beats baselines that are given it.
Four inputs — the global scene, the instruction, the local scene and the previous motion — are encoded once and consumed by three planners. Each planner emits a quantity a reader can inspect: a goal position, a path, and a motion-state anchor that initialises the diffusion denoiser.

swipe the figure sideways
The motion-state planner reads a learnable bank of motion states through multi-head cosine attention, mixes the retrieved values with temporal queries, and produces the anchor that seeds the denoiser. The bank is updated only during training.

Each axis is the mean of seven per-metric scores — FID, MPJPE, translation, orientation, contact and depth as distance to ground truth, and sustained penetration time — each mapped onto [0, 1] over the six values it takes across three methods and two regimes. One shared range per metric is what makes the diagonal readable: a point on y = x scores the same on a held-out axis as on the split it was fitted to. ReMoGen matches our standard-split score to 0.001 and loses 0.52 under hold-out, where we lose 0.02.
Every case below is held out. All four methods are rendered from the same camera; the green ring marks the start and the red ring the goal position. Baselines were retrained under the identical hold-out.
@inproceedings{anonymous2026planning,
title = {Planning Where, How, and What: Generalizable Text-Driven
Human--Scene Interaction Synthesis},
author = {Anonymous},
booktitle = {Under review},
year = {2026}
}