{
  "version": 1,
  "language": "en",
  "title": "Scripted motion and camera controls",
  "description": "Directing the World generates blocks from scripted SMPL motion, camera paths and kept KV history.",
  "caption": "Author-redrawn Directing the World block diagram. Timestep-conditioned SMPL features, camera control and kept video history supply inputs for generation. Generated state supplies input for the next block. The method uses training for motion control before training for camera control. New controls use a higher learning rate. The video prior uses a lower rate or is frozen in the subsequent stage. This diagram does not show detailed frame plans or result images.",
  "alt": "Directing the World flow: scripted SMPL motion, camera paths and retained KV history condition block-wise generation.",
  "sources": [
    "https://arxiv.org/abs/2606.27964",
    "https://whydahuzi.github.io/Directing-the-World.github.io/"
  ],
  "limitations": [
    "The playback is an example. Animation time is not measured runtime.",
    "Prescribed trajectories give no evidence of live tracking-to-display latency.",
    "This diagram shows independent prerequisites together. It makes no claim of execution at the same time."
  ],
  "targets": {
    "timestep": {
      "id": "mechanism-timestep",
      "kind": "node",
      "label": "Denoising timestep τ"
    },
    "smpl": {
      "id": "mechanism-smpl",
      "kind": "node",
      "label": "SMPL scripts"
    },
    "projection": {
      "id": "mechanism-projection",
      "kind": "node",
      "label": "Dynamic projection"
    },
    "camera-path": {
      "id": "mechanism-camera-path",
      "kind": "node",
      "label": "Camera path"
    },
    "camera-control": {
      "id": "mechanism-camera-control",
      "kind": "node",
      "label": "Camera ControlNet"
    },
    "video-history": {
      "id": "mechanism-video-history",
      "kind": "node",
      "label": "Video history"
    },
    "kv": {
      "id": "mechanism-kv",
      "kind": "node",
      "label": "KV memory"
    },
    "rollout": {
      "id": "mechanism-rollout",
      "kind": "node",
      "label": "MMPL rollout"
    },
    "motion-input": {
      "id": "mechanism-motion-input",
      "kind": "edge",
      "label": "motion-input"
    },
    "time-input": {
      "id": "mechanism-time-input",
      "kind": "edge",
      "label": "time-input"
    },
    "camera-input": {
      "id": "mechanism-camera-input",
      "kind": "edge",
      "label": "camera-input"
    },
    "history-input": {
      "id": "mechanism-history-input",
      "kind": "edge",
      "label": "history-input"
    },
    "motion-condition": {
      "id": "mechanism-motion-condition",
      "kind": "edge",
      "label": "motion-condition"
    },
    "camera-condition": {
      "id": "mechanism-camera-condition",
      "kind": "edge",
      "label": "camera-condition"
    },
    "read-history": {
      "id": "mechanism-read-history",
      "kind": "edge",
      "label": "read-history"
    },
    "write-history": {
      "id": "mechanism-write-history",
      "kind": "edge",
      "label": "write-history"
    }
  },
  "stateLabels": {
    "stage": "Stage",
    "artifact": "Artifact"
  },
  "scenarios": [
    {
      "id": "block-rollout",
      "title": "Generate one block and keep its state",
      "description": "Prescribed choreography and camera paths are different from feedback in a live headset loop.",
      "initial": {
        "stage": "Available",
        "artifact": "Scripts, timestep and previous video state available"
      },
      "unselected": [],
      "steps": [
        {
          "title": "Calculate motion features",
          "description": "Dynamic projection uses the current denoising timestep for the SMPL features.",
          "duration": 3000,
          "active": [
            "projection"
          ],
          "paths": [
            "motion-input",
            "time-input"
          ],
          "state": {
            "stage": "Motion conditioning",
            "artifact": "SMPL features adapted to denoising τ"
          }
        },
        {
          "title": "Read camera features and history",
          "description": "The camera path and kept history supply input features.",
          "duration": 3000,
          "active": [
            "camera-control",
            "kv"
          ],
          "paths": [
            "camera-input",
            "history-input"
          ],
          "state": {
            "stage": "Independent inputs available",
            "artifact": "Camera features and previous video state"
          }
        },
        {
          "title": "Supply three inputs for the block",
          "description": "The block receives body control, camera control and kept history.",
          "duration": 3000,
          "active": [
            "rollout"
          ],
          "paths": [
            "motion-condition",
            "camera-condition",
            "read-history"
          ],
          "state": {
            "stage": "Block conditioning",
            "artifact": "Body control, camera control and kept history"
          }
        },
        {
          "title": "Plan and populate the next block",
          "description": "MMPL plans and populates the next block.",
          "duration": 3000,
          "active": [
            "rollout"
          ],
          "paths": [],
          "state": {
            "stage": "Generated block available",
            "artifact": "Block k generated with prescribed controls"
          }
        },
        {
          "title": "Keep generated state",
          "description": "The system keeps the generated state in video history.",
          "duration": 3000,
          "active": [
            "kv"
          ],
          "paths": [
            "write-history"
          ],
          "state": {
            "stage": "History includes the output.",
            "artifact": "Generated block k in kept video history"
          }
        },
        {
          "title": "Supply next-block history",
          "description": "The updated history supplies input for the next block.",
          "duration": 3000,
          "active": [
            "rollout"
          ],
          "paths": [
            "read-history"
          ],
          "state": {
            "stage": "Next block available",
            "artifact": "Block k + 1 can receive updated video history."
          }
        }
      ]
    }
  ]
}
