Repository navigation
Expand file tree
/
Copy pathindex.html
More file actions
10 lines (10 loc) · 442 KB
/
Copy pathindex.html
File metadata and controls
10 lines (10 loc) · 442 KB
1
2
3
4
5
6
7
8
9
10
<!DOCTYPE html><html lang="en" class="silkscreen_5c214b00-module__BDnqEG__variable plexmono_301f1454-module__3YJGwG__variable"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="./_next/static/media/PlexMono_Regular-s.p.2x6m9-apme3b_.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="./_next/static/media/Silkscreen_Regular-s.p.3es8zrs5x_4vu.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="./branding/computational-robotics.jpg" as="image"/><link rel="preload" as="image" href="./pipeline/lab/preview.webp"/><link rel="preload" as="image" href="./pipeline/kitchen17_2/preview.webp"/><link rel="preload" as="image" href="./pipeline/garden/preview.webp"/><link rel="preload" as="image" href="./pipeline/worldlabs/preview.webp"/><link rel="preload" as="image" href="./pipeline/observatory/preview.webp"/><link rel="preload" as="image" href="./pipeline/lab/capture.webp"/><link rel="preload" as="image" href="./logos/harness/openai.svg"/><link rel="preload" as="image" href="./logos/harness/claude.svg"/><link rel="preload" as="image" href="./logos/harness/gemini.svg"/><link rel="stylesheet" href="./_next/static/chunks/19tluz82gl22_.css" data-precedence="next"/><link rel="stylesheet" href="./_next/static/chunks/1o-poo_vuxfmr.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="./_next/static/chunks/41r27_txhhsed.js"/><script src="./_next/static/chunks/2turxypa9qaj4.js" async=""></script><script src="./_next/static/chunks/01yyx2dlde7l1.js" async=""></script><script src="./_next/static/chunks/turbopack-2m2sx0z1mv1ck.js" async=""></script><script src="./_next/static/chunks/3d-g45tvvtwds.js" async=""></script><script src="./_next/static/chunks/44g6a0c6nkoic.js" async=""></script><script src="./_next/static/chunks/0r5p4pn-wx-hj.js" async=""></script><script src="./_next/static/chunks/035xovek1h4st.js" async=""></script><script src="./_next/static/chunks/2zmrwbr29z_cq.js" async=""></script><link rel="preload" as="image" href="./logos/harness/meta.svg"/><link rel="preload" as="image" href="./logos/harness/zai.svg"/><link rel="preload" as="image" href="./logos/harness/grok.svg"/><link rel="preload" as="image" href="./logos/harness/nvidia.svg"/><meta name="next-size-adjust" content=""/><title>SceneAgent | Harvard Computational Robotics Group</title><meta name="description" content="SceneAgent coordinates object reconstruction, physical modeling, and simulator-based inspection and repair to turn 3D and 4D captures into simulation scenes."/><link rel="author" href="https://computationalrobotics.seas.harvard.edu/"/><meta name="author" content="Luke Hollis"/><link rel="author" href="https://computationalrobotics.seas.harvard.edu/"/><meta name="author" content="Tianxing Fan"/><link rel="author" href="https://computationalrobotics.seas.harvard.edu/"/><meta name="author" content="Heng Yang"/><meta name="keywords" content="SceneAgent,real-to-sim,sim-to-real,3D Gaussian Splatting,simulation environments,predictive physics,robot policy evaluation,policy training,online planning,object segmentation,articulation,deformable objects,digital sisters,robot learning,Harvard Computational Robotics Group"/><meta name="creator" content="Harvard Computational Robotics Group"/><meta name="publisher" content="Harvard Computational Robotics Group"/><meta name="robots" content="index, follow"/><meta name="googlebot" content="index, follow, max-video-preview:-1, max-image-preview:large, max-snippet:-1"/><meta name="citation_title" content="SceneAgent: An Agentic Pipeline from 3D and 4D Captures to Simulation Environments"/><meta name="citation_author" content="Luke Hollis"/><meta name="citation_author" content="Tianxing Fan"/><meta name="citation_author" content="Heng Yang"/><meta name="citation_publication_date" content="2026"/><meta name="citation_publisher" content="Harvard Computational Robotics Group"/><meta name="citation_abstract_html_url" content="https://computationalrobotics.seas.harvard.edu/SceneAgent/"/><meta name="citation_arxiv_id" content="2610.34745"/><meta name="citation_pdf_url" content="https://arxiv.org/pdf/2610.34745"/><link rel="canonical" href="https://computationalrobotics.seas.harvard.edu/SceneAgent/"/><meta property="og:title" content="SceneAgent: An Agentic Pipeline from 3D and 4D Captures to Simulation Environments"/><meta property="og:description" content="An agentic pipeline from 3D Gaussian Splatting, photogrammetry, LiDAR and 4D video captures to interactive simulation environments. Harvard Computational Robotics Group, 2026 preprint."/><meta property="og:url" content="https://computationalrobotics.seas.harvard.edu/SceneAgent/"/><meta property="og:site_name" content="Harvard Computational Robotics Group"/><meta property="og:locale" content="en_US"/><meta property="og:image" content="https://computationalrobotics.seas.harvard.edu/SceneAgent/branding/sceneagent-social-share.jpg"/><meta property="og:image:secure_url" content="https://computationalrobotics.seas.harvard.edu/SceneAgent/branding/sceneagent-social-share.jpg"/><meta property="og:image:type" content="image/jpeg"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta property="og:image:alt" content="SceneAgent: two Franka robot arms over a simulated tabletop scene, above the paper title and subtitle"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:title" content="SceneAgent: An Agentic Pipeline from 3D and 4D Captures to Simulation Environments"/><meta name="twitter:description" content="An agentic pipeline from 3D Gaussian Splatting, photogrammetry, LiDAR and 4D video captures to interactive simulation environments. Harvard Computational Robotics Group, 2026 preprint."/><meta name="twitter:image" content="https://computationalrobotics.seas.harvard.edu/SceneAgent/branding/sceneagent-social-share.jpg"/><meta name="twitter:image:alt" content="SceneAgent: two Franka robot arms over a simulated tabletop scene, above the paper title and subtitle"/><link rel="icon" href="./favicon.png" type="image/png"/><script src="./_next/static/chunks/0cz1d0mv5g_q7.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div class="shell"><nav class="rail" aria-label="Page progress"><div class="rail__track" style="--n:9;--k:0"><div class="rail__line" aria-hidden="true"></div><div class="rail__fill" aria-hidden="true"></div><button type="button" class="rail__item" aria-current="true" title="Intro"><span class="rail__dot" aria-hidden="true"></span><span class="rail__label px">Intro</span></button><button type="button" class="rail__item" aria-current="false" title="Pipeline"><span class="rail__dot" aria-hidden="true"></span><span class="rail__label px">Pipeline</span></button><button type="button" class="rail__item" aria-current="false" title="Physics prior"><span class="rail__dot" aria-hidden="true"></span><span class="rail__label px">Physics prior</span></button><button type="button" class="rail__item" aria-current="false" title="Agents"><span class="rail__dot" aria-hidden="true"></span><span class="rail__label px">Agents</span></button><button type="button" class="rail__item" aria-current="false" title="Hybrid scenes"><span class="rail__dot" aria-hidden="true"></span><span class="rail__label px">Hybrid scenes</span></button><button type="button" class="rail__item" aria-current="false" title="Digital twins and sisters"><span class="rail__dot" aria-hidden="true"></span><span class="rail__label px">Digital twins and sisters</span></button><button type="button" class="rail__item" aria-current="false" title="Policy training"><span class="rail__dot" aria-hidden="true"></span><span class="rail__label px">Policy training</span></button><button type="button" class="rail__item" aria-current="false" title="Evaluation"><span class="rail__dot" aria-hidden="true"></span><span class="rail__label px">Evaluation</span></button><button type="button" class="rail__item" aria-current="false" title="Citation"><span class="rail__dot" aria-hidden="true"></span><span class="rail__label px">Citation</span></button></div></nav><main><section id="top" style="background:var(--paper);padding:40px var(--chapter-pad) 56px"><div style="max-width:calc(var(--page-w) - 2 * var(--chapter-pad))"><div class="cover__brand"><a class="lab-logo" href="https://computationalrobotics.seas.harvard.edu/"><img src="./branding/computational-robotics.jpg" alt="Harvard Computational Robotics Group" width="2286" height="299"/></a></div><div style="border-top:3px solid var(--ink);padding-top:10px;display:flex;justify-content:space-between;font-size:13px;line-height:1.45;color:var(--ink)"><div>Harvard Computational Robotics Group<br/>School of Engineering and Applied Sciences, Harvard University</div><div style="text-align:right">Preprint<br/>2026</div></div><figure style="margin:0;min-width:0"><div style="position:relative;border:1px solid var(--hairline);background:var(--ink);aspect-ratio:16 / 9;overflow:hidden;margin-top:40px"><video src="./videos/cover_video.mp4" poster="./videos/cover_video.jpg" muted="" loop="" playsInline="" preload="metadata" aria-label="SceneAgent cover video" style="position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block"></video></div></figure><h1 class="cover__title">SceneAgent</h1><div style="margin-top:12px;max-width:640px;font-size:14px;color:var(--text-muted)">An Agentic Pipeline from 3D and 4D Captures to Simulation Environments</div><div style="margin-top:24px;font-size:15px;font-weight:700;color:var(--ink)"><span><a href="mailto:lhollis@g.harvard.edu">Luke Hollis</a><sup>1<!-- -->*</sup>, </span><span><a href="mailto:tianxing_fan@seas.harvard.edu">Tianxing Fan</a><sup>1<!-- -->*</sup>, </span><span><a href="mailto:hankyang@seas.harvard.edu">Heng Yang</a><sup>1</sup></span></div><div style="margin-top:8px;font-size:13px;line-height:1.5;color:var(--text-muted)"><span><sup>1</sup> <a href="https://computationalrobotics.seas.harvard.edu/" target="_blank" rel="noopener">Harvard Computational Robotics Group, School of Engineering and Applied Sciences, Harvard University</a></span><br/><sup>*</sup> <!-- -->Equal contribution</div><div style="margin-top:24px;display:flex;align-items:center;gap:16px;flex-wrap:wrap"><a href="https://arxiv.org/abs/2610.34745" target="_blank" rel="noopener" style="font-family:var(--font-sans);font-weight:700;font-size:13px;padding:6px 14px;border:1px solid transparent;cursor:pointer;opacity:1;transition:background 120ms, color 120ms;line-height:1.2;display:inline-flex;align-items:center;gap:8px;text-decoration:none;background:var(--accent);color:var(--text-on-accent);text-transform:uppercase"><svg width="14" height="14" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg>Paper</a><button type="button" disabled="" style="font-family:var(--font-sans);font-weight:700;font-size:13px;padding:6px 14px;border:1px solid transparent;cursor:default;opacity:0.4;transition:background 120ms, color 120ms;line-height:1.2;display:inline-flex;align-items:center;gap:8px;text-decoration:none;background:transparent;color:var(--ink);border-color:var(--ink);text-transform:uppercase"><svg width="14" height="14" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true"><path d="M8 0c4.42 0 8 3.58 8 8a8.013 8.013 0 0 1-5.45 7.59c-.4.08-.55-.17-.55-.38 0-.27.01-1.13.01-2.2 0-.75-.25-1.23-.54-1.48 1.78-.2 3.65-.88 3.65-3.95 0-.88-.31-1.59-.82-2.15.08-.2.36-1.02-.08-2.12 0 0-.67-.22-2.2.82-.64-.18-1.32-.27-2-.27-.68 0-1.36.09-2 .27-1.53-1.03-2.2-.82-2.2-.82-.44 1.1-.16 1.92-.08 2.12-.51.56-.82 1.28-.82 2.15 0 3.06 1.86 3.75 3.64 3.95-.23.2-.44.55-.51 1.07-.46.21-1.61.55-2.33-.66-.15-.24-.6-.83-1.23-.82-.67.01-.27.38.01.53.34.19.73.9.82 1.13.16.45.68 1.31 2.69.94 0 .67.01 1.3.01 1.49 0 .21-.15.45-.55.38A7.995 7.995 0 0 1 0 8c0-4.42 3.58-8 8-8Z"></path></svg>Code</button><span style="font-size:12px;text-transform:uppercase;color:var(--text-muted)">[coming soon]</span></div><p class="chapter__text">Visual captures provide detailed scene appearance, but converting them into interactive simulation environments requires object reconstruction, physical modeling, and correction of intermediate errors. We present SceneAgent, an agentic pipeline that coordinates these steps through simulator-based visual inspection and repair. The pipeline processes 3D Gaussian Splatting (3DGS), photogrammetry, LiDAR captures, AI-generated 3DGS scenes, and 4D videos of dynamic scenes, and combines object segmentation, physical parameter estimation, part decomposition, articulation, and deformable simulation. To support policy learning, SceneAgent generates diverse object variants (“digital sisters”) and scripted demonstrations. On a cluttered bin scene from GraspClutter6D, SceneAgent raises F1 at 1 cm for every coding agent with scorable outputs both with and without its skills, and its reconstructions are better than SimFoundry: all agent configurations exceed SimFoundry's F1 score, with a best of 60.75% versus 6.9%. On three dynamic scenes from 4DCodeBench, SceneAgent raises the mean dynamic IoU of Gemini 4 Argon from 0.86% to 99.09%. We further demonstrate diverse simulated interactions and preliminary policy transfer to a real robot.</p></div></section><section class="chapter chapter--bleed" id="pipeline"><div class="chapter__rule" aria-hidden="true"></div><div class="chapter__head"><div class="chapter__num" aria-hidden="true">1</div><div><h2 class="chapter__title">From Real-world Scenes into Simulation</h2><p class="chapter__lead">Our pipeline supports converting 3D capture data from 3DGS, photogrammetry, and LiDAR into usable scenes that can be used across a wide range of simulators, such as Isaac Lab, MuJoCo, and Unreal Engine.</p></div></div><div class="chapter__text"><p>We initially infer semantic features for each 3d Gaussian and save them in a codebook for rapid lookup, inspired by the method from LangSplat. We then segment the foreground objects in the scene from the background and crop their 3d Gaussians from the background. We then predictively infill these cropped regions. For each object, we predict a physics material with a combination of semantic features, inference against a per-gaussian predictive physics model, and use VLM to estimate features such as friction coefficient, rigidity, mass, and density.</p><p>From this data, we then bake a physics material for each object and then decompose that object into smaller pieces. We then add articulations to the objects as necessary so they can perform actions as they would in real life. Finally, we generate versions of each object with slight variations–instead of digital twins, we term these digital sisters. We then use a VLM to inspect and review each of these steps as well as the transform of the converted objects in the scene.</p></div><div class="chapter__exhibit chapter__exhibit--bleed" data-bleed=""><div class="pipeline-selector" role="group" aria-label="Choose a scene for the diagram and viewer"><button type="button" aria-pressed="true" aria-label="01 Computational Robotics Lab Clamp" aria-controls="pipeline-scene-diagram pipeline-scene-viewer"><span class="pipeline-selector__image"><img src="./pipeline/lab/preview.webp" alt=""/></span><span class="pipeline-selector__label"><b>01</b><strong>Computational Robotics Lab</strong></span></button><button type="button" aria-pressed="false" aria-label="02 Kitchen (CollectData) Blender" aria-controls="pipeline-scene-diagram pipeline-scene-viewer"><span class="pipeline-selector__image"><img src="./pipeline/kitchen17_2/preview.webp" alt=""/></span><span class="pipeline-selector__label"><b>02</b><strong>Kitchen (CollectData)</strong></span></button><button type="button" aria-pressed="false" aria-label="03 Greenhouse Flower (Rudbeckia hirta)" aria-controls="pipeline-scene-diagram pipeline-scene-viewer"><span class="pipeline-selector__image"><img src="./pipeline/garden/preview.webp" alt=""/></span><span class="pipeline-selector__label"><b>03</b><strong>Greenhouse</strong></span></button><button type="button" aria-pressed="false" aria-label="04 Generated 3DGS Kitchen (World Labs) Hawaiian pizza" aria-controls="pipeline-scene-diagram pipeline-scene-viewer"><span class="pipeline-selector__image"><img src="./pipeline/worldlabs/preview.webp" alt=""/></span><span class="pipeline-selector__label"><b>04</b><strong>Generated 3DGS Kitchen (World Labs)</strong></span></button><button type="button" aria-pressed="false" aria-label="05 Observatory (Matterport) Telescope" aria-controls="pipeline-scene-diagram pipeline-scene-viewer"><span class="pipeline-selector__image"><img src="./pipeline/observatory/preview.webp" alt=""/></span><span class="pipeline-selector__label"><b>05</b><strong>Observatory (Matterport)</strong></span></button></div><div id="pipeline-scene-diagram"><div class="pipeline-diagram" data-scene="lab" aria-label="Computational Robotics Lab: Clamp through SceneAgent's six steps"><canvas aria-hidden="true"></canvas><div class="pipeline-input"><h3>Clamp</h3><img class="pipeline-input__scene" src="./pipeline/lab/capture.webp" alt="The red-handled bar clamp on the lab's white table in the original 3D Gaussian capture"/><p class="pipeline-prompt" aria-label="Prompt: convert the 3DGS capture of our lab into a simulation scene with its clamp's jaw and screw articulated"><span aria-hidden="true">> </span><span class="pipeline-prompt__text"></span><span class="pipeline-prompt__cursor" data-done="false" aria-hidden="true"></span></p></div><div class="pipeline-arrow" aria-hidden="true">→</div><section class="scene-agent" aria-labelledby="scene-agent-title"><div class="scene-agent__header"><h3 id="scene-agent-title">SceneAgent</h3><p>Processes each 3D object for predictive physics, decomposition, and object properties</p></div><div class="scene-agent__grid"><div class="scene-agent__cell"><div class="pipeline-viewport " aria-hidden="true"></div><h4><span>01</span>3DGS</h4><p>Convert input RGB or other 3D data</p></div><div class="scene-agent__cell"><div class="pipeline-viewport " aria-hidden="true"></div><h4><span>02</span>Semantic features</h4><p>Use GroundingDINO + SAM to assign semantic features to each 3D Gaussian</p></div><div class="scene-agent__cell"><div class="pipeline-viewport " aria-hidden="true"></div><h4><span>03</span>Predictive physics</h4><p>Generate predictive per-Gaussian physics priors to bake physics material</p></div><div class="scene-agent__cell"><div class="pipeline-viewport " aria-hidden="true"></div><h4><span>04</span>Object decomposition</h4><p>Decompose each object into individual parts as needed</p></div><div class="scene-agent__cell"><div class="pipeline-viewport " aria-hidden="true"></div><h4><span>05</span>Articulation</h4><p>Articulate any movable parts within each object</p></div><div class="scene-agent__cell"><div class="pipeline-viewport " aria-hidden="true"></div><h4><span>06</span>Object sisters</h4><p>Generated object variations with geometric or visual differences</p></div></div></section><div class="pipeline-arrow" aria-hidden="true">→</div><div class="pipeline-output"><div role="img" aria-label="Computational Robotics Lab: complete scene objects with HCRG lab robot + two Sharpa Wave hands, without a background"><div class="pipeline-viewport pipeline-output__scene" aria-hidden="true"></div></div><h3><span>07</span> Package scene in Universal Scene Description format</h3><p>Share usable variations of the full scene as USDZ for NVIDIA Isaac Lab, MuJoCo, Unreal Engine, and other simulators.</p></div></div></div><div class="chapter__caption"><div style="font-family:var(--font-sans);font-size:10px;font-weight:700;line-height:1.5;letter-spacing:0.02em;color:var(--accent);margin-left:auto;flex-shrink:0">1.2</div></div></div><div class="chapter__exhibit chapter__exhibit--bleed sub" data-bleed=""><h3 class="pipeline-step"><span>08</span> Interactive viewer</h3><div id="pipeline-scene-viewer"><div class="scene-playback" data-scene="lab"><button type="button" class="stage scene-hold"><img src="./pipeline/lab/preview.webp" alt="Computational Robotics Lab: HCRG lab robot + two Sharpa Wave hands"/><span class="scene-hold__control"><span class="scene-hold__play"><i aria-hidden="true"></i>Play the scene</span><span class="scene-hold__note">Tap to start the interactive viewer.</span></span></button></div></div><div class="chapter__caption"><div style="font-family:var(--font-sans);font-size:10px;font-weight:700;line-height:1.5;letter-spacing:0.02em;color:var(--ink)">Figure 1 Pipeline architecture. We support converting input RGB image sequences (from video or as images), pre-existing 3DGS or photogrammetry assets, and LiDAR scans. Output is in Universal Scene Description format (USDZ) and able to be used in a wide range of simulation tools such as Isaac Lab, MuJoCo, and Unreal Engine.</div><div style="font-family:var(--font-sans);font-size:10px;font-weight:700;line-height:1.5;letter-spacing:0.02em;color:var(--accent);margin-left:auto;flex-shrink:0">1.3</div></div></div><div class="chapter__text"><p>After we convert the scene, we created an interactive viewer built with<!-- --> <a href="https://threejs.org/" target="_blank" rel="noopener">Three.js</a> <!-- -->to assist in positioning the robot(s) as needed within the scene and making further edits. This allows for adding objects from NVIDIA Omniverse or further cropping and modifying the background 3DGS as well as fixing any imperfections with conversion.</p><p>The final converted scene is exported in Universal Scene Description format so that it can be used in modern simulation environments, such as Isaac Lab, MuJoCo, and Unreal Engine. We tested on the Franka Emika Panda, following a modified DROID setup with the Universal Manipulation Interface gripper, so our featured simulation examples use this setup.</p></div><div class="chapter__exhibit sub"><div class="HarnessEval-module__FZyAJW__key"><span><i class="HarnessEval-module__FZyAJW__skills"></i>with SceneAgent</span><span><i class="HarnessEval-module__FZyAJW__other"></i>without</span></div><div class="HarnessEval-module__FZyAJW__graphs"><figure class="HarnessEval-module__FZyAJW__graph"><figcaption class="HarnessEval-module__FZyAJW__graphTitle">F1 at 1 cm (%) ↑ higher is better</figcaption><div class="HarnessEval-module__FZyAJW__group"><span class="HarnessEval-module__FZyAJW__name"><img class="HarnessEval-module__FZyAJW__logo" src="./logos/harness/openai.svg" alt=""/><span class="HarnessEval-module__FZyAJW__who">Codex<span class="HarnessEval-module__FZyAJW__model" data-print-only="">GPT-6 Astra<!-- --> · <!-- -->max</span></span></span><span class="HarnessEval-module__FZyAJW__bars"><span class="HarnessEval-module__FZyAJW__cell"><i class="HarnessEval-module__FZyAJW__skills" style="--w:0.8678571428571429"></i><b>60.75</b></span><span class="HarnessEval-module__FZyAJW__cell"><i class="HarnessEval-module__FZyAJW__other" style="--w:0.13585714285714284"></i><b>9.51</b></span></span></div><div class="HarnessEval-module__FZyAJW__group"><span class="HarnessEval-module__FZyAJW__name"><img class="HarnessEval-module__FZyAJW__logo" src="./logos/harness/claude.svg" alt=""/><span class="HarnessEval-module__FZyAJW__who">Claude Code<span class="HarnessEval-module__FZyAJW__model" data-print-only="">Opus 5.5<!-- --> · <!-- -->max</span></span></span><span class="HarnessEval-module__FZyAJW__bars"><span class="HarnessEval-module__FZyAJW__cell"><i class="HarnessEval-module__FZyAJW__skills" style="--w:0.8637142857142858"></i><b>60.46</b></span><span class="HarnessEval-module__FZyAJW__cell"><i class="HarnessEval-module__FZyAJW__other" style="--w:0.07971428571428571"></i><b>5.58</b></span></span></div><div class="HarnessEval-module__FZyAJW__group"><span class="HarnessEval-module__FZyAJW__name"><img class="HarnessEval-module__FZyAJW__logo" src="./logos/harness/gemini.svg" alt=""/><span class="HarnessEval-module__FZyAJW__who">Antigravity<span class="HarnessEval-module__FZyAJW__model" data-print-only="">Gemini 4 Argon<!-- --> · <!-- -->highest</span></span></span><span class="HarnessEval-module__FZyAJW__bars"><span class="HarnessEval-module__FZyAJW__cell"><i class="HarnessEval-module__FZyAJW__skills" style="--w:0.7464285714285714"></i><b>52.25</b></span><span class="HarnessEval-module__FZyAJW__cell"><i class="HarnessEval-module__FZyAJW__other" style="--w:0.03371428571428571"></i><b>2.36</b></span></span></div><div class="HarnessEval-module__FZyAJW__group"><span class="HarnessEval-module__FZyAJW__name"><img class="HarnessEval-module__FZyAJW__logo" src="./logos/harness/meta.svg" alt=""/><span class="HarnessEval-module__FZyAJW__who">Muse<span class="HarnessEval-module__FZyAJW__model" data-print-only="">Muse 1.0 Wonder<!-- --> · <!-- -->highest</span></span></span><span class="HarnessEval-module__FZyAJW__bars"><span class="HarnessEval-module__FZyAJW__cell"><i class="HarnessEval-module__FZyAJW__skills" style="--w:0.5912857142857143"></i><b>41.39</b></span><span class="HarnessEval-module__FZyAJW__cell"><i class="HarnessEval-module__FZyAJW__other" style="--w:0.08214285714285714"></i><b>5.75</b></span></span></div><div class="HarnessEval-module__FZyAJW__group"><span class="HarnessEval-module__FZyAJW__name"><img class="HarnessEval-module__FZyAJW__logo" src="./logos/harness/zai.svg" alt=""/><span class="HarnessEval-module__FZyAJW__who">GLM-5.3 (Stirrup)<span class="HarnessEval-module__FZyAJW__model" data-print-only="">GLM-5.3<!-- --> · <!-- -->highest</span></span></span><span class="HarnessEval-module__FZyAJW__bars"><span class="HarnessEval-module__FZyAJW__cell"><i class="HarnessEval-module__FZyAJW__skills" style="--w:0.5778571428571428"></i><b>40.45</b></span><span class="HarnessEval-module__FZyAJW__cell"><i class="HarnessEval-module__FZyAJW__other" style="--w:0.09899999999999999"></i><b>6.93</b></span></span></div><div class="HarnessEval-module__FZyAJW__group"><span class="HarnessEval-module__FZyAJW__name"><img class="HarnessEval-module__FZyAJW__logo" src="./logos/harness/grok.svg" alt=""/><span class="HarnessEval-module__FZyAJW__who">Grok CLI<span class="HarnessEval-module__FZyAJW__model" data-print-only="">Grok 4.7<!-- --> · <!-- -->highest</span></span></span><span class="HarnessEval-module__FZyAJW__bars"><span class="HarnessEval-module__FZyAJW__cell"><i class="HarnessEval-module__FZyAJW__skills" style="--w:0.7528571428571429"></i><b>52.70</b></span><span class="HarnessEval-module__FZyAJW__cell"><i class="HarnessEval-module__FZyAJW__other" style="--w:0.10271428571428572"></i><b>7.19</b></span></span></div><div class="HarnessEval-module__FZyAJW__group"><span class="HarnessEval-module__FZyAJW__name"><img class="HarnessEval-module__FZyAJW__logo" src="./logos/harness/nvidia.svg" alt=""/><span class="HarnessEval-module__FZyAJW__who"><a href="https://arxiv.org/pdf/2606.28276" target="_blank" rel="noopener">SimFoundry</a><span class="HarnessEval-module__FZyAJW__model" data-print-only="">NVlabs<!-- --> · <!-- -->stage 10, native scale</span></span></span><span class="HarnessEval-module__FZyAJW__bars"><span class="HarnessEval-module__FZyAJW__cell"><i class="HarnessEval-module__FZyAJW__other" style="--w:0.09857142857142857"></i><b>6.9</b></span></span></div></figure><figure class="HarnessEval-module__FZyAJW__graph"><figcaption class="HarnessEval-module__FZyAJW__graphTitle">Chamfer distance (cm) ↓ lower is better</figcaption><div class="HarnessEval-module__FZyAJW__group"><span class="HarnessEval-module__FZyAJW__name"><img class="HarnessEval-module__FZyAJW__logo" src="./logos/harness/openai.svg" alt=""/><span class="HarnessEval-module__FZyAJW__who">Codex<span class="HarnessEval-module__FZyAJW__model" data-print-only="">GPT-6 Astra<!-- --> · <!-- -->max</span></span></span><span class="HarnessEval-module__FZyAJW__bars"><span class="HarnessEval-module__FZyAJW__cell"><i class="HarnessEval-module__FZyAJW__skills" style="--w:0.20299999999999999"></i><b>2.03</b></span><span class="HarnessEval-module__FZyAJW__cell"><i class="HarnessEval-module__FZyAJW__other" style="--w:0.6639999999999999"></i><b>6.64</b></span></span></div><div class="HarnessEval-module__FZyAJW__group"><span class="HarnessEval-module__FZyAJW__name"><img class="HarnessEval-module__FZyAJW__logo" src="./logos/harness/claude.svg" alt=""/><span class="HarnessEval-module__FZyAJW__who">Claude Code<span class="HarnessEval-module__FZyAJW__model" data-print-only="">Opus 5.5<!-- --> · <!-- -->max</span></span></span><span class="HarnessEval-module__FZyAJW__bars"><span class="HarnessEval-module__FZyAJW__cell"><i class="HarnessEval-module__FZyAJW__skills" style="--w:0.143"></i><b>1.43</b></span><span class="HarnessEval-module__FZyAJW__cell"><i class="HarnessEval-module__FZyAJW__other" style="--w:0.663"></i><b>6.63</b></span></span></div><div class="HarnessEval-module__FZyAJW__group"><span class="HarnessEval-module__FZyAJW__name"><img class="HarnessEval-module__FZyAJW__logo" src="./logos/harness/gemini.svg" alt=""/><span class="HarnessEval-module__FZyAJW__who">Antigravity<span class="HarnessEval-module__FZyAJW__model" data-print-only="">Gemini 4 Argon<!-- --> · <!-- -->highest</span></span></span><span class="HarnessEval-module__FZyAJW__bars"><span class="HarnessEval-module__FZyAJW__cell"><i class="HarnessEval-module__FZyAJW__skills" style="--w:0.183"></i><b>1.83</b></span><span class="HarnessEval-module__FZyAJW__cell"><i class="HarnessEval-module__FZyAJW__other" style="--w:0.9890000000000001"></i><b>9.89</b></span></span></div><div class="HarnessEval-module__FZyAJW__group"><span class="HarnessEval-module__FZyAJW__name"><img class="HarnessEval-module__FZyAJW__logo" src="./logos/harness/meta.svg" alt=""/><span class="HarnessEval-module__FZyAJW__who">Muse<span class="HarnessEval-module__FZyAJW__model" data-print-only="">Muse 1.0 Wonder<!-- --> · <!-- -->highest</span></span></span><span class="HarnessEval-module__FZyAJW__bars"><span class="HarnessEval-module__FZyAJW__cell"><i class="HarnessEval-module__FZyAJW__skills" style="--w:0.18"></i><b>1.80</b></span><span class="HarnessEval-module__FZyAJW__cell"><i class="HarnessEval-module__FZyAJW__other" style="--w:0.736"></i><b>7.36</b></span></span></div><div class="HarnessEval-module__FZyAJW__group"><span class="HarnessEval-module__FZyAJW__name"><img class="HarnessEval-module__FZyAJW__logo" src="./logos/harness/zai.svg" alt=""/><span class="HarnessEval-module__FZyAJW__who">GLM-5.3 (Stirrup)<span class="HarnessEval-module__FZyAJW__model" data-print-only="">GLM-5.3<!-- --> · <!-- -->highest</span></span></span><span class="HarnessEval-module__FZyAJW__bars"><span class="HarnessEval-module__FZyAJW__cell"><i class="HarnessEval-module__FZyAJW__skills" style="--w:0.343"></i><b>3.43</b></span><span class="HarnessEval-module__FZyAJW__cell"><i class="HarnessEval-module__FZyAJW__other" style="--w:0.7190000000000001"></i><b>7.19</b></span></span></div><div class="HarnessEval-module__FZyAJW__group"><span class="HarnessEval-module__FZyAJW__name"><img class="HarnessEval-module__FZyAJW__logo" src="./logos/harness/grok.svg" alt=""/><span class="HarnessEval-module__FZyAJW__who">Grok CLI<span class="HarnessEval-module__FZyAJW__model" data-print-only="">Grok 4.7<!-- --> · <!-- -->highest</span></span></span><span class="HarnessEval-module__FZyAJW__bars"><span class="HarnessEval-module__FZyAJW__cell"><i class="HarnessEval-module__FZyAJW__skills" style="--w:0.251"></i><b>2.51</b></span><span class="HarnessEval-module__FZyAJW__cell"><i class="HarnessEval-module__FZyAJW__other" style="--w:0.62"></i><b>6.20</b></span></span></div><div class="HarnessEval-module__FZyAJW__group"><span class="HarnessEval-module__FZyAJW__name"><img class="HarnessEval-module__FZyAJW__logo" src="./logos/harness/nvidia.svg" alt=""/><span class="HarnessEval-module__FZyAJW__who"><a href="https://arxiv.org/pdf/2606.28276" target="_blank" rel="noopener">SimFoundry</a><span class="HarnessEval-module__FZyAJW__model" data-print-only="">NVlabs<!-- --> · <!-- -->stage 10, native scale</span></span></span><span class="HarnessEval-module__FZyAJW__bars"><span class="HarnessEval-module__FZyAJW__cell"><i class="HarnessEval-module__FZyAJW__other" style="--w:0.429"></i><b>4.29</b></span></span></div></figure></div><div class="chapter__caption"><div style="font-family:var(--font-sans);font-size:10px;font-weight:700;line-height:1.5;letter-spacing:0.02em;color:var(--ink)">Reconstruction of a cluttered bin scene from GraspClutter6D (hard/000091, 20 YCB objects) with and without SceneAgent skills, and with SimFoundry. Higher F1 at 1 cm and lower Chamfer distance indicate closer agreement with the dataset's ground-truth object meshes.</div><div style="font-family:var(--font-sans);font-size:10px;font-weight:700;line-height:1.5;letter-spacing:0.02em;color:var(--accent);margin-left:auto;flex-shrink:0">1.4</div></div></div><div class="chapter__exhibit sub"><div class="StageTokens-module__IlP1JG__key"><span><i class="StageTokens-module__IlP1JG__skills"></i>with SceneAgent</span><span><i class="StageTokens-module__IlP1JG__other"></i>without</span></div><div class="StageTokens-module__IlP1JG__scroll"><div class="StageTokens-module__IlP1JG__chart" role="table" aria-label="Tokens (M) by stage"><div class="StageTokens-module__IlP1JG__title">Tokens (M) by stage</div><div class="StageTokens-module__IlP1JG__row StageTokens-module__IlP1JG__head" style="--cols:6" role="row"><span role="columnheader"></span><span class="StageTokens-module__IlP1JG__harness" role="columnheader"><b>Codex</b><span>GPT-6 Astra</span><span>total <!-- -->271.2<!-- --> / <!-- -->10.0</span></span><span class="StageTokens-module__IlP1JG__harness" role="columnheader"><b>Claude Code</b><span>Opus 5.5</span><span>total <!-- -->838.2<!-- --> / <!-- -->20.6</span></span><span class="StageTokens-module__IlP1JG__harness" role="columnheader"><b>Antigravity</b><span>Gemini 4 Argon</span><span>total <!-- -->65.2<!-- --> / <!-- -->15.5</span></span><span class="StageTokens-module__IlP1JG__harness" role="columnheader"><b>Muse</b><span>Muse 1.0 Wonder</span><span>total <!-- -->208.4<!-- --> / <!-- -->8.6</span></span><span class="StageTokens-module__IlP1JG__harness" role="columnheader"><b>Stirrup</b><span>GLM-5.3</span><span>total <!-- -->305.5<!-- --> / <!-- -->91.6</span></span><span class="StageTokens-module__IlP1JG__harness" role="columnheader"><b>Grok CLI</b><span>Grok 4.7</span><span>total <!-- -->118.4<!-- --> / <!-- -->11.6</span></span></div><div class="StageTokens-module__IlP1JG__row" style="--cols:6" role="row"><span class="StageTokens-module__IlP1JG__stage" role="rowheader"><b>S0<!-- --> <!-- -->Setup</b><span>skill discovery</span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S0 Setup, Codex with SceneAgent: 0M tokens" aria-label="S0 Setup, Codex with SceneAgent: 0M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0"></i><b>0</b></span><span class="StageTokens-module__IlP1JG__cell" title="S0 Setup, Codex without: <0.1M tokens" aria-label="S0 Setup, Codex without: <0.1M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0.00006652173913043478"></i><b><0.1</b></span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S0 Setup, Claude Code with SceneAgent: 0M tokens" aria-label="S0 Setup, Claude Code with SceneAgent: 0M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0"></i><b>0</b></span><span class="StageTokens-module__IlP1JG__cell" title="S0 Setup, Claude Code without: <0.1M tokens" aria-label="S0 Setup, Claude Code without: <0.1M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0.00007608695652173914"></i><b><0.1</b></span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S0 Setup, Antigravity with SceneAgent: <0.1M tokens" aria-label="S0 Setup, Antigravity with SceneAgent: <0.1M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0.00008434782608695653"></i><b><0.1</b></span><span class="StageTokens-module__IlP1JG__cell" title="S0 Setup, Antigravity without: 0.2M tokens" aria-label="S0 Setup, Antigravity without: 0.2M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0.00076"></i><b>0.2</b></span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S0 Setup, Muse with SceneAgent: 0M tokens" aria-label="S0 Setup, Muse with SceneAgent: 0M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0"></i><b>0</b></span><span class="StageTokens-module__IlP1JG__cell" title="S0 Setup, Muse without: 0M tokens" aria-label="S0 Setup, Muse without: 0M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0"></i><b>0</b></span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S0 Setup, Stirrup with SceneAgent: 0.2M tokens" aria-label="S0 Setup, Stirrup with SceneAgent: 0.2M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0.0006721739130434783"></i><b>0.2</b></span><span class="StageTokens-module__IlP1JG__cell" title="S0 Setup, Stirrup without: 0M tokens" aria-label="S0 Setup, Stirrup without: 0M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0"></i><b>0</b></span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S0 Setup, Grok CLI with SceneAgent: 0M tokens" aria-label="S0 Setup, Grok CLI with SceneAgent: 0M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0"></i><b>0</b></span><span class="StageTokens-module__IlP1JG__cell" title="S0 Setup, Grok CLI without: 0.3M tokens" aria-label="S0 Setup, Grok CLI without: 0.3M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0.0014573913043478262"></i><b>0.3</b></span></span></div><div class="StageTokens-module__IlP1JG__row" style="--cols:6" role="row"><span class="StageTokens-module__IlP1JG__stage" role="rowheader"><b>S1<!-- --> <!-- -->Cameras and 3DGS</b><span>COLMAP, Splatfacto</span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S1 Cameras and 3DGS, Codex with SceneAgent: 7.0M tokens" aria-label="S1 Cameras and 3DGS, Codex with SceneAgent: 7.0M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0.03021913043478261"></i><b>7.0</b></span><span class="StageTokens-module__IlP1JG__cell" title="S1 Cameras and 3DGS, Codex without: 0.5M tokens" aria-label="S1 Cameras and 3DGS, Codex without: 0.5M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0.0021656521739130434"></i><b>0.5</b></span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S1 Cameras and 3DGS, Claude Code with SceneAgent: 185.1M tokens" aria-label="S1 Cameras and 3DGS, Claude Code with SceneAgent: 185.1M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0.8046904347826087"></i><b>185.1</b></span><span class="StageTokens-module__IlP1JG__cell" title="S1 Cameras and 3DGS, Claude Code without: 2.6M tokens" aria-label="S1 Cameras and 3DGS, Claude Code without: 2.6M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0.011392173913043478"></i><b>2.6</b></span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S1 Cameras and 3DGS, Antigravity with SceneAgent: 6.9M tokens" aria-label="S1 Cameras and 3DGS, Antigravity with SceneAgent: 6.9M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0.029866521739130434"></i><b>6.9</b></span><span class="StageTokens-module__IlP1JG__cell" title="S1 Cameras and 3DGS, Antigravity without: 1.8M tokens" aria-label="S1 Cameras and 3DGS, Antigravity without: 1.8M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0.007960434782608695"></i><b>1.8</b></span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S1 Cameras and 3DGS, Muse with SceneAgent: 4.6M tokens" aria-label="S1 Cameras and 3DGS, Muse with SceneAgent: 4.6M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0.01995913043478261"></i><b>4.6</b></span><span class="StageTokens-module__IlP1JG__cell" title="S1 Cameras and 3DGS, Muse without: 0.7M tokens" aria-label="S1 Cameras and 3DGS, Muse without: 0.7M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0.0032539130434782607"></i><b>0.7</b></span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S1 Cameras and 3DGS, Stirrup with SceneAgent: 25.1M tokens" aria-label="S1 Cameras and 3DGS, Stirrup with SceneAgent: 25.1M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0.10904130434782608"></i><b>25.1</b></span><span class="StageTokens-module__IlP1JG__cell" title="S1 Cameras and 3DGS, Stirrup without: 1.7M tokens" aria-label="S1 Cameras and 3DGS, Stirrup without: 1.7M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0.007389130434782609"></i><b>1.7</b></span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S1 Cameras and 3DGS, Grok CLI with SceneAgent: 13.0M tokens" aria-label="S1 Cameras and 3DGS, Grok CLI with SceneAgent: 13.0M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0.05663260869565217"></i><b>13.0</b></span><span class="StageTokens-module__IlP1JG__cell" title="S1 Cameras and 3DGS, Grok CLI without: 0M tokens" aria-label="S1 Cameras and 3DGS, Grok CLI without: 0M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0"></i><b>0</b></span></span></div><div class="StageTokens-module__IlP1JG__row" style="--cols:6" role="row"><span class="StageTokens-module__IlP1JG__stage" role="rowheader"><b>S2<!-- --> <!-- -->2D masks</b><span>grounded masks, visual QA</span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S2 2D masks, Codex with SceneAgent: 29.0M tokens" aria-label="S2 2D masks, Codex with SceneAgent: 29.0M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0.12619434782608696"></i><b>29.0</b></span><span class="StageTokens-module__IlP1JG__cell" title="S2 2D masks, Codex without: 0.1M tokens" aria-label="S2 2D masks, Codex without: 0.1M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0.0002217391304347826"></i><b>0.1</b></span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S2 2D masks, Claude Code with SceneAgent: 77.7M tokens" aria-label="S2 2D masks, Claude Code with SceneAgent: 77.7M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0.33765391304347825"></i><b>77.7</b></span><span class="StageTokens-module__IlP1JG__cell" title="S2 2D masks, Claude Code without: 1.8M tokens" aria-label="S2 2D masks, Claude Code without: 1.8M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0.007958260869565217"></i><b>1.8</b></span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S2 2D masks, Antigravity with SceneAgent: 7.8M tokens" aria-label="S2 2D masks, Antigravity with SceneAgent: 7.8M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0.03403695652173913"></i><b>7.8</b></span><span class="StageTokens-module__IlP1JG__cell" title="S2 2D masks, Antigravity without: 3.0M tokens" aria-label="S2 2D masks, Antigravity without: 3.0M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0.012990434782608695"></i><b>3.0</b></span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S2 2D masks, Muse with SceneAgent: 3.3M tokens" aria-label="S2 2D masks, Muse with SceneAgent: 3.3M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0.014320434782608695"></i><b>3.3</b></span><span class="StageTokens-module__IlP1JG__cell" title="S2 2D masks, Muse without: 0.9M tokens" aria-label="S2 2D masks, Muse without: 0.9M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0.004045217391304348"></i><b>0.9</b></span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S2 2D masks, Stirrup with SceneAgent: 14.6M tokens" aria-label="S2 2D masks, Stirrup with SceneAgent: 14.6M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0.0632804347826087"></i><b>14.6</b></span><span class="StageTokens-module__IlP1JG__cell" title="S2 2D masks, Stirrup without: 3.4M tokens" aria-label="S2 2D masks, Stirrup without: 3.4M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0.01482391304347826"></i><b>3.4</b></span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S2 2D masks, Grok CLI with SceneAgent: 36.3M tokens" aria-label="S2 2D masks, Grok CLI with SceneAgent: 36.3M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0.15763260869565215"></i><b>36.3</b></span><span class="StageTokens-module__IlP1JG__cell" title="S2 2D masks, Grok CLI without: 0.3M tokens" aria-label="S2 2D masks, Grok CLI without: 0.3M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0.0014573913043478262"></i><b>0.3</b></span></span></div><div class="StageTokens-module__IlP1JG__row" style="--cols:6" role="row"><span class="StageTokens-module__IlP1JG__stage" role="rowheader"><b>S3<!-- --> <!-- -->3D instances</b><span>SplatGraph clustering</span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S3 3D instances, Codex with SceneAgent: 2.2M tokens" aria-label="S3 3D instances, Codex with SceneAgent: 2.2M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0.009485217391304347"></i><b>2.2</b></span><span class="StageTokens-module__IlP1JG__cell" title="S3 3D instances, Codex without: 0.6M tokens" aria-label="S3 3D instances, Codex without: 0.6M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0.002432173913043478"></i><b>0.6</b></span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S3 3D instances, Claude Code with SceneAgent: 44.3M tokens" aria-label="S3 3D instances, Claude Code with SceneAgent: 44.3M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0.19252521739130435"></i><b>44.3</b></span><span class="StageTokens-module__IlP1JG__cell" title="S3 3D instances, Claude Code without: 1.1M tokens" aria-label="S3 3D instances, Claude Code without: 1.1M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0.004852173913043479"></i><b>1.1</b></span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S3 3D instances, Antigravity with SceneAgent: 5.8M tokens" aria-label="S3 3D instances, Antigravity with SceneAgent: 5.8M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0.025350869565217392"></i><b>5.8</b></span><span class="StageTokens-module__IlP1JG__cell" title="S3 3D instances, Antigravity without: 0M tokens" aria-label="S3 3D instances, Antigravity without: 0M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0"></i><b>0</b></span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S3 3D instances, Muse with SceneAgent: 2.2M tokens" aria-label="S3 3D instances, Muse with SceneAgent: 2.2M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0.009354782608695654"></i><b>2.2</b></span><span class="StageTokens-module__IlP1JG__cell" title="S3 3D instances, Muse without: 0M tokens" aria-label="S3 3D instances, Muse without: 0M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0"></i><b>0</b></span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S3 3D instances, Stirrup with SceneAgent: 4.3M tokens" aria-label="S3 3D instances, Stirrup with SceneAgent: 4.3M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0.018863913043478262"></i><b>4.3</b></span><span class="StageTokens-module__IlP1JG__cell" title="S3 3D instances, Stirrup without: 0M tokens" aria-label="S3 3D instances, Stirrup without: 0M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0"></i><b>0</b></span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S3 3D instances, Grok CLI with SceneAgent: 3.0M tokens" aria-label="S3 3D instances, Grok CLI with SceneAgent: 3.0M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0.01306913043478261"></i><b>3.0</b></span><span class="StageTokens-module__IlP1JG__cell" title="S3 3D instances, Grok CLI without: 0M tokens" aria-label="S3 3D instances, Grok CLI without: 0M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0"></i><b>0</b></span></span></div><div class="StageTokens-module__IlP1JG__row" style="--cols:6" role="row"><span class="StageTokens-module__IlP1JG__stage" role="rowheader"><b>S4<!-- --> <!-- -->Physics priors</b><span>semantics, materials</span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S4 Physics priors, Codex with SceneAgent: 14.4M tokens" aria-label="S4 Physics priors, Codex with SceneAgent: 14.4M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0.06247652173913044"></i><b>14.4</b></span><span class="StageTokens-module__IlP1JG__cell" title="S4 Physics priors, Codex without: 0M tokens" aria-label="S4 Physics priors, Codex without: 0M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0"></i><b>0</b></span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S4 Physics priors, Claude Code with SceneAgent: 37.1M tokens" aria-label="S4 Physics priors, Claude Code with SceneAgent: 37.1M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0.16142"></i><b>37.1</b></span><span class="StageTokens-module__IlP1JG__cell" title="S4 Physics priors, Claude Code without: 1.6M tokens" aria-label="S4 Physics priors, Claude Code without: 1.6M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0.006907391304347826"></i><b>1.6</b></span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S4 Physics priors, Antigravity with SceneAgent: 8.2M tokens" aria-label="S4 Physics priors, Antigravity with SceneAgent: 8.2M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0.035641304347826086"></i><b>8.2</b></span><span class="StageTokens-module__IlP1JG__cell" title="S4 Physics priors, Antigravity without: 0M tokens" aria-label="S4 Physics priors, Antigravity without: 0M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0"></i><b>0</b></span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S4 Physics priors, Muse with SceneAgent: 10.8M tokens" aria-label="S4 Physics priors, Muse with SceneAgent: 10.8M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0.04679826086956522"></i><b>10.8</b></span><span class="StageTokens-module__IlP1JG__cell" title="S4 Physics priors, Muse without: 0M tokens" aria-label="S4 Physics priors, Muse without: 0M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0"></i><b>0</b></span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S4 Physics priors, Stirrup with SceneAgent: 19.6M tokens" aria-label="S4 Physics priors, Stirrup with SceneAgent: 19.6M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0.08500652173913044"></i><b>19.6</b></span><span class="StageTokens-module__IlP1JG__cell" title="S4 Physics priors, Stirrup without: 4.4M tokens" aria-label="S4 Physics priors, Stirrup without: 4.4M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0.01916"></i><b>4.4</b></span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S4 Physics priors, Grok CLI with SceneAgent: 8.2M tokens" aria-label="S4 Physics priors, Grok CLI with SceneAgent: 8.2M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0.03557695652173913"></i><b>8.2</b></span><span class="StageTokens-module__IlP1JG__cell" title="S4 Physics priors, Grok CLI without: 1.1M tokens" aria-label="S4 Physics priors, Grok CLI without: 1.1M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0.0048573913043478256"></i><b>1.1</b></span></span></div><div class="StageTokens-module__IlP1JG__row" style="--cols:6" role="row"><span class="StageTokens-module__IlP1JG__stage" role="rowheader"><b>S5<!-- --> <!-- -->Mesh generation</b><span>SAM-3D meshes</span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S5 Mesh generation, Codex with SceneAgent: 36.1M tokens" aria-label="S5 Mesh generation, Codex with SceneAgent: 36.1M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0.15705652173913043"></i><b>36.1</b></span><span class="StageTokens-module__IlP1JG__cell" title="S5 Mesh generation, Codex without: 0.1M tokens" aria-label="S5 Mesh generation, Codex without: 0.1M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0.0005708695652173913"></i><b>0.1</b></span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S5 Mesh generation, Claude Code with SceneAgent: 212.7M tokens" aria-label="S5 Mesh generation, Claude Code with SceneAgent: 212.7M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0.9248108695652174"></i><b>212.7</b></span><span class="StageTokens-module__IlP1JG__cell" title="S5 Mesh generation, Claude Code without: 3.1M tokens" aria-label="S5 Mesh generation, Claude Code without: 3.1M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0.013678695652173913"></i><b>3.1</b></span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S5 Mesh generation, Antigravity with SceneAgent: 9.3M tokens" aria-label="S5 Mesh generation, Antigravity with SceneAgent: 9.3M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0.040422608695652174"></i><b>9.3</b></span><span class="StageTokens-module__IlP1JG__cell" title="S5 Mesh generation, Antigravity without: 6.1M tokens" aria-label="S5 Mesh generation, Antigravity without: 6.1M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0.02670434782608696"></i><b>6.1</b></span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S5 Mesh generation, Muse with SceneAgent: 33.0M tokens" aria-label="S5 Mesh generation, Muse with SceneAgent: 33.0M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0.14332999999999999"></i><b>33.0</b></span><span class="StageTokens-module__IlP1JG__cell" title="S5 Mesh generation, Muse without: 3.4M tokens" aria-label="S5 Mesh generation, Muse without: 3.4M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0.01474695652173913"></i><b>3.4</b></span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S5 Mesh generation, Stirrup with SceneAgent: 30.5M tokens" aria-label="S5 Mesh generation, Stirrup with SceneAgent: 30.5M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0.13250739130434783"></i><b>30.5</b></span><span class="StageTokens-module__IlP1JG__cell" title="S5 Mesh generation, Stirrup without: 7.4M tokens" aria-label="S5 Mesh generation, Stirrup without: 7.4M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0.03231956521739131"></i><b>7.4</b></span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S5 Mesh generation, Grok CLI with SceneAgent: 20.7M tokens" aria-label="S5 Mesh generation, Grok CLI with SceneAgent: 20.7M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0.0900313043478261"></i><b>20.7</b></span><span class="StageTokens-module__IlP1JG__cell" title="S5 Mesh generation, Grok CLI without: 1.6M tokens" aria-label="S5 Mesh generation, Grok CLI without: 1.6M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0.006800434782608696"></i><b>1.6</b></span></span></div><div class="StageTokens-module__IlP1JG__row" style="--cols:6" role="row"><span class="StageTokens-module__IlP1JG__stage" role="rowheader"><b>S6<!-- --> <!-- -->Pose and export</b><span>registration, settling, USD</span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S6 Pose and export, Codex with SceneAgent: 176.6M tokens" aria-label="S6 Pose and export, Codex with SceneAgent: 176.6M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0.767885652173913"></i><b>176.6</b></span><span class="StageTokens-module__IlP1JG__cell" title="S6 Pose and export, Codex without: 4.8M tokens" aria-label="S6 Pose and export, Codex without: 4.8M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0.02102391304347826"></i><b>4.8</b></span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S6 Pose and export, Claude Code with SceneAgent: 225.4M tokens" aria-label="S6 Pose and export, Claude Code with SceneAgent: 225.4M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0.9801069565217391"></i><b>225.4</b></span><span class="StageTokens-module__IlP1JG__cell" title="S6 Pose and export, Claude Code without: 4.1M tokens" aria-label="S6 Pose and export, Claude Code without: 4.1M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0.017739130434782608"></i><b>4.1</b></span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S6 Pose and export, Antigravity with SceneAgent: 24.8M tokens" aria-label="S6 Pose and export, Antigravity with SceneAgent: 24.8M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0.10804086956521738"></i><b>24.8</b></span><span class="StageTokens-module__IlP1JG__cell" title="S6 Pose and export, Antigravity without: 3.1M tokens" aria-label="S6 Pose and export, Antigravity without: 3.1M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0.013638260869565218"></i><b>3.1</b></span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S6 Pose and export, Muse with SceneAgent: 55.6M tokens" aria-label="S6 Pose and export, Muse with SceneAgent: 55.6M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0.2418591304347826"></i><b>55.6</b></span><span class="StageTokens-module__IlP1JG__cell" title="S6 Pose and export, Muse without: 1.3M tokens" aria-label="S6 Pose and export, Muse without: 1.3M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0.005738695652173913"></i><b>1.3</b></span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S6 Pose and export, Stirrup with SceneAgent: 142.5M tokens" aria-label="S6 Pose and export, Stirrup with SceneAgent: 142.5M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0.6193960869565217"></i><b>142.5</b></span><span class="StageTokens-module__IlP1JG__cell" title="S6 Pose and export, Stirrup without: 45.0M tokens" aria-label="S6 Pose and export, Stirrup without: 45.0M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0.19550782608695652"></i><b>45.0</b></span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S6 Pose and export, Grok CLI with SceneAgent: 32.6M tokens" aria-label="S6 Pose and export, Grok CLI with SceneAgent: 32.6M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0.14158130434782606"></i><b>32.6</b></span><span class="StageTokens-module__IlP1JG__cell" title="S6 Pose and export, Grok CLI without: 5.0M tokens" aria-label="S6 Pose and export, Grok CLI without: 5.0M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0.02185826086956522"></i><b>5.0</b></span></span></div><div class="StageTokens-module__IlP1JG__row" style="--cols:6" role="row"><span class="StageTokens-module__IlP1JG__stage" role="rowheader"><b>S7<!-- --> <!-- -->Rendering</b><span>render, verification</span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S7 Rendering, Codex with SceneAgent: 5.9M tokens" aria-label="S7 Rendering, Codex with SceneAgent: 5.9M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0.025849565217391304"></i><b>5.9</b></span><span class="StageTokens-module__IlP1JG__cell" title="S7 Rendering, Codex without: 3.9M tokens" aria-label="S7 Rendering, Codex without: 3.9M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0.017164347826086956"></i><b>3.9</b></span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S7 Rendering, Claude Code with SceneAgent: 55.9M tokens" aria-label="S7 Rendering, Claude Code with SceneAgent: 55.9M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0.2431395652173913"></i><b>55.9</b></span><span class="StageTokens-module__IlP1JG__cell" title="S7 Rendering, Claude Code without: 6.2M tokens" aria-label="S7 Rendering, Claude Code without: 6.2M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0.027084347826086957"></i><b>6.2</b></span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S7 Rendering, Antigravity with SceneAgent: 2.3M tokens" aria-label="S7 Rendering, Antigravity with SceneAgent: 2.3M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0.01019391304347826"></i><b>2.3</b></span><span class="StageTokens-module__IlP1JG__cell" title="S7 Rendering, Antigravity without: 1.2M tokens" aria-label="S7 Rendering, Antigravity without: 1.2M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0.0053204347826086955"></i><b>1.2</b></span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S7 Rendering, Muse with SceneAgent: 99.0M tokens" aria-label="S7 Rendering, Muse with SceneAgent: 99.0M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0.43045347826086955"></i><b>99.0</b></span><span class="StageTokens-module__IlP1JG__cell" title="S7 Rendering, Muse without: 2.2M tokens" aria-label="S7 Rendering, Muse without: 2.2M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0.009542608695652174"></i><b>2.2</b></span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S7 Rendering, Stirrup with SceneAgent: 68.8M tokens" aria-label="S7 Rendering, Stirrup with SceneAgent: 68.8M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0.2993008695652174"></i><b>68.8</b></span><span class="StageTokens-module__IlP1JG__cell" title="S7 Rendering, Stirrup without: 29.7M tokens" aria-label="S7 Rendering, Stirrup without: 29.7M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0.12906782608695652"></i><b>29.7</b></span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S7 Rendering, Grok CLI with SceneAgent: 4.7M tokens" aria-label="S7 Rendering, Grok CLI with SceneAgent: 4.7M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0.020329565217391304"></i><b>4.7</b></span><span class="StageTokens-module__IlP1JG__cell" title="S7 Rendering, Grok CLI without: 3.2M tokens" aria-label="S7 Rendering, Grok CLI without: 3.2M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0.014086521739130435"></i><b>3.2</b></span></span></div><p class="StageTokens-module__IlP1JG__note">GraspClutter6D hard/000091: tokens each conversion stage used in the single conversion run. All cells share one scale. Header totals are the sums over S0-S7, with SceneAgent / without.</p></div></div><div class="chapter__caption"><div style="font-family:var(--font-sans);font-size:10px;font-weight:700;line-height:1.5;letter-spacing:0.02em;color:var(--ink)">Tokens used in each conversion stage of the GraspClutter6D bin scene (hard/000091), with and without SceneAgent skills.</div><div style="font-family:var(--font-sans);font-size:10px;font-weight:700;line-height:1.5;letter-spacing:0.02em;color:var(--accent);margin-left:auto;flex-shrink:0">1.5</div></div></div><div class="chapter__exhibit chapter__exhibit--bleed sub" data-bleed=""><div class="HarnessEval-module__FZyAJW__feature"><div class="HarnessEval-module__FZyAJW__featurePlate"><figure style="margin:0;min-width:0"><div style="position:relative;border:1px solid var(--hairline);background:var(--ink);aspect-ratio:16 / 9;overflow:hidden"><video src="./videos/harness/codex_skills_1.mp4" poster="./videos/harness/codex_skills_1.jpg" muted="" loop="" playsInline="" controls="" preload="metadata" aria-label="Render from SceneAgent with GPT-6 Astra" style="position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:50% 50%;display:block"></video><div class="HarnessEval-module__FZyAJW__tag HarnessEval-module__FZyAJW__tagSkills" aria-hidden="true"><b><img class="HarnessEval-module__FZyAJW__tagLogo" src="./logos/harness/openai.svg" alt=""/>SceneAgent<!-- --> / <!-- -->GPT-6 Astra</b></div></div></figure></div><div class="HarnessEval-module__FZyAJW__featureText"><h3>SceneAgent / GPT-6 Astra (Codex)</h3><p>SceneAgent converted a short input video from the CollectData Messy Kitchen capture into a simulation that could be used for policy evaluation and training in Isaac Lab, MuJoCo, and Unreal Engine.</p><p>The renders below come from the other harnesses. Each ran without SceneAgent.</p></div></div><div class="HarnessEval-module__FZyAJW__renders"><figure style="margin:0;min-width:0"><div style="position:relative;border:1px solid var(--hairline);background:var(--ink);aspect-ratio:16 / 9;overflow:hidden"><video src="./videos/harness/codex_no_skills_1.mp4" poster="./videos/harness/codex_no_skills_1.jpg" muted="" loop="" playsInline="" controls="" preload="metadata" aria-label="Render from Codex with GPT-6 Astra, without SceneAgent" style="position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:50% 50%;display:block"></video><div class="HarnessEval-module__FZyAJW__tag" aria-hidden="true"><b><img class="HarnessEval-module__FZyAJW__tagLogo" src="./logos/harness/openai.svg" alt=""/>Codex<!-- --> / <!-- -->GPT-6 Astra</b><span>without SceneAgent</span></div></div></figure><figure style="margin:0;min-width:0"><div style="position:relative;border:1px solid var(--hairline);background:var(--ink);aspect-ratio:16 / 9;overflow:hidden"><video src="./videos/harness/claude.mp4" poster="./videos/harness/claude.jpg" muted="" loop="" playsInline="" controls="" preload="metadata" aria-label="Render from Claude Code with Opus 5.5, without SceneAgent" style="position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:50% 50%;display:block"></video><div class="HarnessEval-module__FZyAJW__tag" aria-hidden="true"><b><img class="HarnessEval-module__FZyAJW__tagLogo" src="./logos/harness/claude.svg" alt=""/>Claude Code<!-- --> / <!-- -->Opus 5.5</b><span>without SceneAgent</span></div></div></figure><figure style="margin:0;min-width:0"><div style="position:relative;border:1px solid var(--hairline);background:var(--ink);aspect-ratio:16 / 9;overflow:hidden"><video src="./videos/harness/zcode.mp4" poster="./videos/harness/zcode.jpg" muted="" loop="" playsInline="" controls="" preload="metadata" aria-label="Render from ZCode with GLM 5.3, without SceneAgent" style="position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:50% 50%;display:block"></video><div class="HarnessEval-module__FZyAJW__tag" aria-hidden="true"><b><img class="HarnessEval-module__FZyAJW__tagLogo" src="./logos/harness/zai.svg" alt=""/>ZCode<!-- --> / <!-- -->GLM 5.3</b><span>without SceneAgent</span></div></div></figure><figure style="margin:0;min-width:0"><div style="position:relative;border:1px solid var(--hairline);background:var(--ink);aspect-ratio:16 / 9;overflow:hidden"><video src="./videos/harness/grok.mp4" poster="./videos/harness/grok.jpg" muted="" loop="" playsInline="" controls="" preload="metadata" aria-label="Render from Grok Build with Grok 4.7, without SceneAgent" style="position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:50% 50%;display:block"></video><div class="HarnessEval-module__FZyAJW__tag" aria-hidden="true"><b><img class="HarnessEval-module__FZyAJW__tagLogo" src="./logos/harness/grok.svg" alt=""/>Grok Build<!-- --> / <!-- -->Grok 4.7</b><span>without SceneAgent</span></div></div></figure><figure style="margin:0;min-width:0"><div style="position:relative;border:1px solid var(--hairline);background:var(--ink);aspect-ratio:16 / 9;overflow:hidden"><video src="./videos/harness/muse.mp4" poster="./videos/harness/muse.jpg" muted="" loop="" playsInline="" controls="" preload="metadata" aria-label="Render from Muse with Muse Spark 1.3, without SceneAgent" style="position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:50% 50%;display:block"></video><div class="HarnessEval-module__FZyAJW__tag" aria-hidden="true"><b><img class="HarnessEval-module__FZyAJW__tagLogo" src="./logos/harness/meta.svg" alt=""/>Muse<!-- --> / <!-- -->Muse Spark 1.3</b><span>without SceneAgent</span></div></div></figure><figure style="margin:0;min-width:0"><div style="position:relative;border:1px solid var(--hairline);background:var(--ink);aspect-ratio:16 / 9;overflow:hidden"><video src="./videos/harness/antigravity.mp4" poster="./videos/harness/antigravity.jpg" muted="" loop="" playsInline="" controls="" preload="metadata" aria-label="Render from Antigravity with Gemini 3.8 Flash, without SceneAgent" style="position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:50% 50%;display:block"></video><div class="HarnessEval-module__FZyAJW__tag" aria-hidden="true"><b><img class="HarnessEval-module__FZyAJW__tagLogo" src="./logos/harness/gemini.svg" alt=""/>Antigravity<!-- --> / <!-- -->Gemini 3.8 Flash</b><span>without SceneAgent</span></div></div></figure></div><div class="chapter__caption"><div style="font-family:var(--font-sans);font-size:10px;font-weight:700;line-height:1.5;letter-spacing:0.02em;color:var(--accent);margin-left:auto;flex-shrink:0">1.6</div></div></div><h3 class="chapter__subtitle sub">4DCodeBench</h3><div class="chapter__text"><p>We also ran SceneAgent on<!-- --> <a class="text-link" href="https://4dcodebench.com/" target="_blank" rel="noopener">4DCodeBench</a>, a benchmark in which coding agents rebuild a dynamic scene from a video as a simulation program.</p></div><div class="chapter__exhibit sub"><div class="FourDCodeBench-module__Epj9mq__graphScroll"><div class="FourDCodeBench-module__Epj9mq__graph"><svg viewBox="0 26.14 472 306.368" font-family="Arial, Helvetica, sans-serif" role="group" aria-label="4DCodeBench dynamic IoU against mean tokens per task"><defs><filter id="fdcb-shadow" x="-30%" y="-30%" width="160%" height="160%"><feGaussianBlur stdDeviation="0.52"></feGaussianBlur></filter><clipPath id="fdcb-axes"><rect x="44.84" y="26.14" width="429.72" height="273.128"></rect></clipPath></defs><line x1="44.84" x2="44.84" y1="55.08" y2="299.268" stroke="var(--hairline)" stroke-width="0.8"></line><line x1="95.603" x2="95.603" y1="55.08" y2="299.268" stroke="var(--hairline)" stroke-width="0.8"></line><line x1="162.708" x2="162.708" y1="55.08" y2="299.268" stroke="var(--hairline)" stroke-width="0.8"></line><line x1="213.471" x2="213.471" y1="55.08" y2="299.268" stroke="var(--hairline)" stroke-width="0.8"></line><line x1="264.234" x2="264.234" y1="55.08" y2="299.268" stroke="var(--hairline)" stroke-width="0.8"></line><line x1="331.339" x2="331.339" y1="55.08" y2="299.268" stroke="var(--hairline)" stroke-width="0.8"></line><line x1="382.102" x2="382.102" y1="55.08" y2="299.268" stroke="var(--hairline)" stroke-width="0.8"></line><line x1="432.866" x2="432.866" y1="55.08" y2="299.268" stroke="var(--hairline)" stroke-width="0.8"></line><line x1="44.84" x2="462.56000000000006" y1="284.07" y2="284.07" stroke="var(--hairline)" stroke-width="0.8"></line><line x1="44.84" x2="462.56000000000006" y1="243.54" y2="243.54" stroke="var(--hairline)" stroke-width="0.8"></line><line x1="44.84" x2="462.56000000000006" y1="203.011" y2="203.011" stroke="var(--hairline)" stroke-width="0.8"></line><line x1="44.84" x2="462.56000000000006" y1="162.482" y2="162.482" stroke="var(--hairline)" stroke-width="0.8"></line><line x1="44.84" x2="462.56000000000006" y1="121.953" y2="121.953" stroke="var(--hairline)" stroke-width="0.8"></line><line x1="44.84" x2="462.56000000000006" y1="81.424" y2="81.424" stroke="var(--hairline)" stroke-width="0.8"></line><line x1="44.84" x2="44.84" y1="55.08" y2="299.268" stroke="var(--ink)" stroke-width="1.1"></line><line x1="44.84" x2="462.56000000000006" y1="299.268" y2="299.268" stroke="var(--ink)" stroke-width="1.1"></line><text x="44.84" y="310.028" font-size="8" text-anchor="middle" fill="var(--ink)">1</text><text x="95.603" y="310.028" font-size="8" text-anchor="middle" fill="var(--ink)">2</text><text x="162.708" y="310.028" font-size="8" text-anchor="middle" fill="var(--ink)">5</text><text x="213.4715" y="310.028" font-size="8" text-anchor="middle" fill="var(--ink)">10</text><text x="264.2345" y="310.028" font-size="8" text-anchor="middle" fill="var(--ink)">20</text><text x="331.3395" y="310.028" font-size="8" text-anchor="middle" fill="var(--ink)">50</text><text x="382.102" y="310.028" font-size="8" text-anchor="middle" fill="var(--ink)">100</text><text x="432.86600000000004" y="310.028" font-size="8" text-anchor="middle" fill="var(--ink)">200</text><text x="37.6125" y="286.95" font-size="8" text-anchor="middle" fill="var(--ink)">0</text><text x="34.305" y="246.42" font-size="8" text-anchor="middle" fill="var(--ink)">0.2</text><text x="34.2825" y="205.891" font-size="8" text-anchor="middle" fill="var(--ink)">0.4</text><text x="34.2825" y="165.362" font-size="8" text-anchor="middle" fill="var(--ink)">0.6</text><text x="34.2825" y="124.833" font-size="8" text-anchor="middle" fill="var(--ink)">0.8</text><text x="34.26" y="84.304" font-size="8" text-anchor="middle" fill="var(--ink)">1.0</text><text x="253.7" y="324.948" font-size="9" text-anchor="middle" fill="var(--ink)">Mean tokens per task (M, log scale)</text><text transform="translate(18.54 177.1745) rotate(-90)" font-size="8.5" text-anchor="middle" dominant-baseline="central" fill="var(--ink)">Dynamic IoU, mean of Z_06, B_09, Z_12</text><polyline points="72.605,284.07 72.605,268.446 79.808,258.759 105.743,250.998 123.768,239.933 148.121,230.875 241.93,222.121 462.56,222.121" fill="none" stroke="var(--gray-mid)" stroke-width="1.5" stroke-dasharray="7.5 4.5" clip-path="url(#fdcb-axes)"></polyline><g class="FourDCodeBench-module__Epj9mq__badge" transform="translate(241.93 222.121)" tabindex="0" role="img" aria-label="Claude Opus 5.5 [High], Claude Code: dynamic IoU 0.306, 14.75M tokens"><circle r="12.256" fill="transparent"></circle><circle cx="0.312" cy="0.728" r="9.256" fill="#262626" opacity="0.51" filter="url(#fdcb-shadow)"></circle><circle r="9.256" fill="var(--ink)"></circle><circle r="8.892" fill="var(--gray-label)"></circle><circle r="7.176" fill="#fff"></circle><image href="./logos/4dcodebench/claude.png" x="-5.2" y="-5.2" width="10.4" height="10.4"></image></g><g class="FourDCodeBench-module__Epj9mq__badge" transform="translate(266.983 228.301)" tabindex="0" role="img" aria-label="Claude Opus 5 [High], Claude Code: dynamic IoU 0.275, 20.77M tokens"><circle r="12.256" fill="transparent"></circle><circle cx="0.312" cy="0.728" r="9.256" fill="#262626" opacity="0.51" filter="url(#fdcb-shadow)"></circle><circle r="9.256" fill="var(--ink)"></circle><circle r="8.892" fill="var(--gray-label)"></circle><circle r="7.176" fill="#fff"></circle><image href="./logos/4dcodebench/claude.png" x="-5.2" y="-5.2" width="10.4" height="10.4"></image></g><g class="FourDCodeBench-module__Epj9mq__badge" transform="translate(246.282 228.788)" tabindex="0" role="img" aria-label="Claude Fable 5.1 [High], Claude Code: dynamic IoU 0.273, 15.65M tokens"><circle r="12.256" fill="transparent"></circle><circle cx="0.312" cy="0.728" r="9.256" fill="#262626" opacity="0.51" filter="url(#fdcb-shadow)"></circle><circle r="9.256" fill="var(--ink)"></circle><circle r="8.892" fill="var(--gray-label)"></circle><circle r="7.176" fill="#fff"></circle><image href="./logos/4dcodebench/claude.png" x="-5.2" y="-5.2" width="10.4" height="10.4"></image></g><g class="FourDCodeBench-module__Epj9mq__badge" transform="translate(148.121 230.875)" tabindex="0" role="img" aria-label="GPT-6 Astra [High], Codex: dynamic IoU 0.263, 4.10M tokens"><circle r="12.256" fill="transparent"></circle><circle cx="0.312" cy="0.728" r="9.256" fill="#262626" opacity="0.51" filter="url(#fdcb-shadow)"></circle><circle r="9.256" fill="var(--ink)"></circle><circle r="8.892" fill="var(--gray-label)"></circle><circle r="7.176" fill="#fff"></circle><image href="./logos/4dcodebench/gpt.png" x="-5.2" y="-5.2" width="10.4" height="10.4"></image></g><g class="FourDCodeBench-module__Epj9mq__badge" transform="translate(181.175 233.834)" tabindex="0" role="img" aria-label="GPT-6 Astra [Max], Codex: dynamic IoU 0.248, 6.43M tokens"><circle r="12.256" fill="transparent"></circle><circle cx="0.312" cy="0.728" r="9.256" fill="#262626" opacity="0.51" filter="url(#fdcb-shadow)"></circle><circle r="9.256" fill="var(--ink)"></circle><circle r="8.892" fill="var(--gray-label)"></circle><circle r="7.176" fill="#fff"></circle><image href="./logos/4dcodebench/gpt.png" x="-5.2" y="-5.2" width="10.4" height="10.4"></image></g><g class="FourDCodeBench-module__Epj9mq__badge" transform="translate(297.236 237.542)" tabindex="0" role="img" aria-label="MiniMax M3 [Default], Stirrup: dynamic IoU 0.230, 31.39M tokens"><circle r="12.256" fill="transparent"></circle><circle cx="0.312" cy="0.728" r="9.256" fill="#262626" opacity="0.51" filter="url(#fdcb-shadow)"></circle><circle r="9.256" fill="var(--ink)"></circle><circle r="8.892" fill="var(--gray-label)"></circle><circle r="7.176" fill="#fff"></circle><image href="./logos/4dcodebench/minimax.png" x="-5.2" y="-5.2" width="10.4" height="10.4"></image></g><g class="FourDCodeBench-module__Epj9mq__badge" transform="translate(284.675 239.65)" tabindex="0" role="img" aria-label="GPT-5.6 Luna [Max], Codex: dynamic IoU 0.219, 26.44M tokens"><circle r="12.256" fill="transparent"></circle><circle cx="0.312" cy="0.728" r="9.256" fill="#262626" opacity="0.51" filter="url(#fdcb-shadow)"></circle><circle r="9.256" fill="var(--ink)"></circle><circle r="8.892" fill="var(--gray-label)"></circle><circle r="7.176" fill="#fff"></circle><image href="./logos/4dcodebench/gpt.png" x="-5.2" y="-5.2" width="10.4" height="10.4"></image></g><g class="FourDCodeBench-module__Epj9mq__badge" transform="translate(123.768 239.933)" tabindex="0" role="img" aria-label="GPT-5.6 Sol [High], Codex: dynamic IoU 0.218, 2.94M tokens"><circle r="12.256" fill="transparent"></circle><circle cx="0.312" cy="0.728" r="9.256" fill="#262626" opacity="0.51" filter="url(#fdcb-shadow)"></circle><circle r="9.256" fill="var(--ink)"></circle><circle r="8.892" fill="var(--gray-label)"></circle><circle r="7.176" fill="#fff"></circle><image href="./logos/4dcodebench/gpt.png" x="-5.2" y="-5.2" width="10.4" height="10.4"></image></g><g class="FourDCodeBench-module__Epj9mq__badge" transform="translate(356.279 241.271)" tabindex="0" role="img" aria-label="Qwen3.8 Flash [XHigh], Stirrup: dynamic IoU 0.211, 70.28M tokens"><circle r="12.256" fill="transparent"></circle><circle cx="0.312" cy="0.728" r="9.256" fill="#262626" opacity="0.51" filter="url(#fdcb-shadow)"></circle><circle r="9.256" fill="var(--ink)"></circle><circle r="8.892" fill="var(--gray-label)"></circle><circle r="7.176" fill="#fff"></circle><image href="./logos/4dcodebench/qwen.png" x="-5.2" y="-5.2" width="10.4" height="10.4"></image></g><g class="FourDCodeBench-module__Epj9mq__badge" transform="translate(105.743 250.998)" tabindex="0" role="img" aria-label="GPT-6 Astra [Low], Codex: dynamic IoU 0.163, 2.30M tokens"><circle r="12.256" fill="transparent"></circle><circle cx="0.312" cy="0.728" r="9.256" fill="#262626" opacity="0.51" filter="url(#fdcb-shadow)"></circle><circle r="9.256" fill="var(--ink)"></circle><circle r="8.892" fill="var(--gray-label)"></circle><circle r="7.176" fill="#fff"></circle><image href="./logos/4dcodebench/gpt.png" x="-5.2" y="-5.2" width="10.4" height="10.4"></image></g><g class="FourDCodeBench-module__Epj9mq__badge" transform="translate(318.932 255.294)" tabindex="0" role="img" aria-label="Gemini 3.8 Flash [High], Antigravity: dynamic IoU 0.142, 42.21M tokens"><circle r="12.256" fill="transparent"></circle><circle cx="0.312" cy="0.728" r="9.256" fill="#262626" opacity="0.51" filter="url(#fdcb-shadow)"></circle><circle r="9.256" fill="var(--ink)"></circle><circle r="8.892" fill="var(--gray-label)"></circle><circle r="7.176" fill="#fff"></circle><image href="./logos/4dcodebench/gemini.png" x="-5.2" y="-5.2" width="10.4" height="10.4"></image></g><g class="FourDCodeBench-module__Epj9mq__badge" transform="translate(306.488 258.111)" tabindex="0" role="img" aria-label="DeepSeek v4.1 Flash [High], Stirrup: dynamic IoU 0.128, 35.61M tokens"><circle r="12.256" fill="transparent"></circle><circle cx="0.312" cy="0.728" r="9.256" fill="#262626" opacity="0.51" filter="url(#fdcb-shadow)"></circle><circle r="9.256" fill="var(--ink)"></circle><circle r="8.892" fill="var(--gray-label)"></circle><circle r="7.176" fill="#fff"></circle><image href="./logos/4dcodebench/deepseek.png" x="-5.2" y="-5.2" width="10.4" height="10.4"></image></g><g class="FourDCodeBench-module__Epj9mq__badge" transform="translate(79.808 258.759)" tabindex="0" role="img" aria-label="GPT-5.6 Terra [High], Codex: dynamic IoU 0.125, 1.61M tokens"><circle r="12.256" fill="transparent"></circle><circle cx="0.312" cy="0.728" r="9.256" fill="#262626" opacity="0.51" filter="url(#fdcb-shadow)"></circle><circle r="9.256" fill="var(--ink)"></circle><circle r="8.892" fill="var(--gray-label)"></circle><circle r="7.176" fill="#fff"></circle><image href="./logos/4dcodebench/gpt.png" x="-5.2" y="-5.2" width="10.4" height="10.4"></image></g><g class="FourDCodeBench-module__Epj9mq__badge" transform="translate(215.615 264.656)" tabindex="0" role="img" aria-label="MiMo v2.5 [Default], Stirrup: dynamic IoU 0.096, 10.30M tokens"><circle r="12.256" fill="transparent"></circle><circle cx="0.312" cy="0.728" r="9.256" fill="#262626" opacity="0.51" filter="url(#fdcb-shadow)"></circle><circle r="9.256" fill="var(--ink)"></circle><circle r="8.892" fill="var(--gray-label)"></circle><circle r="7.176" fill="#fff"></circle><image href="./logos/4dcodebench/mimo.png" x="-5.2" y="-5.2" width="10.4" height="10.4"></image></g><g class="FourDCodeBench-module__Epj9mq__badge" transform="translate(418.8 267.493)" tabindex="0" role="img" aria-label="GLM-5.3 Flash [Max], Stirrup: dynamic IoU 0.082, 165.1M tokens"><circle r="12.256" fill="transparent"></circle><circle cx="0.312" cy="0.728" r="9.256" fill="#262626" opacity="0.51" filter="url(#fdcb-shadow)"></circle><circle r="9.256" fill="var(--ink)"></circle><circle r="8.892" fill="var(--gray-label)"></circle><circle r="9.308" fill="none" stroke="var(--ink)" stroke-width="0.104" pathLength="360" stroke-dasharray="12 18"></circle><circle r="8.033999999999999" fill="none" stroke="#fff" stroke-width="1.7159999999999993" pathLength="360" stroke-dasharray="12 18"></circle><circle r="8.814" fill="none" stroke="var(--ink)" stroke-width="0.156"></circle><circle r="7.176" fill="#fff"></circle><image href="./logos/4dcodebench/glm.png" x="-5.2" y="-5.2" width="10.4" height="10.4"></image></g><g class="FourDCodeBench-module__Epj9mq__badge" transform="translate(72.605 268.446)" tabindex="0" role="img" aria-label="Gemma-4 31B, Stirrup: dynamic IoU 0.077, 1.46M tokens"><circle r="12.256" fill="transparent"></circle><circle cx="0.312" cy="0.728" r="9.256" fill="#262626" opacity="0.51" filter="url(#fdcb-shadow)"></circle><circle r="9.256" fill="var(--ink)"></circle><circle r="8.892" fill="var(--gray-label)"></circle><circle r="9.308" fill="none" stroke="var(--ink)" stroke-width="0.104" pathLength="360" stroke-dasharray="12 18"></circle><circle r="8.033999999999999" fill="none" stroke="#fff" stroke-width="1.7159999999999993" pathLength="360" stroke-dasharray="12 18"></circle><circle r="8.814" fill="none" stroke="var(--ink)" stroke-width="0.156"></circle><circle r="7.176" fill="#fff"></circle><image href="./logos/4dcodebench/gemma.png" x="-5.2" y="-5.2" width="10.4" height="10.4"></image></g><g class="FourDCodeBench-module__Epj9mq__badge" transform="translate(162.297 278.801)" tabindex="0" role="img" aria-label="Muse Glimmer [High], Stirrup: dynamic IoU 0.026, 4.97M tokens"><circle r="12.256" fill="transparent"></circle><circle cx="0.312" cy="0.728" r="9.256" fill="#262626" opacity="0.51" filter="url(#fdcb-shadow)"></circle><circle r="9.256" fill="var(--ink)"></circle><circle r="8.892" fill="var(--gray-label)"></circle><circle r="7.176" fill="#fff"></circle><image href="./logos/4dcodebench/muse_glimmer.png" x="-5.2" y="-5.2" width="10.4" height="10.4"></image></g><g class="FourDCodeBench-module__Epj9mq__badge" transform="translate(104.845 281.861)" tabindex="0" role="img" aria-label="Mistral Medium 3.5, Stirrup: dynamic IoU 0.011, 2.27M tokens"><circle r="12.256" fill="transparent"></circle><circle cx="0.312" cy="0.728" r="9.256" fill="#262626" opacity="0.51" filter="url(#fdcb-shadow)"></circle><circle r="9.256" fill="var(--ink)"></circle><circle r="8.892" fill="var(--gray-label)"></circle><circle r="9.308" fill="none" stroke="var(--ink)" stroke-width="0.104" pathLength="360" stroke-dasharray="12 18"></circle><circle r="8.033999999999999" fill="none" stroke="#fff" stroke-width="1.7159999999999993" pathLength="360" stroke-dasharray="12 18"></circle><circle r="8.814" fill="none" stroke="var(--ink)" stroke-width="0.156"></circle><circle r="7.176" fill="#fff"></circle><image href="./logos/4dcodebench/mistral.png" x="-5.2" y="-5.2" width="10.4" height="10.4"></image></g><g class="FourDCodeBench-module__Epj9mq__badge" transform="translate(242.43 83.268)" tabindex="0" role="img" aria-label="Gemini 4 Argon + SceneAgent, Antigravity: dynamic IoU 0.991, 14.85M tokens"><circle r="12.256" fill="transparent"></circle><circle cx="0.312" cy="0.728" r="9.256" fill="#262626" opacity="0.51" filter="url(#fdcb-shadow)"></circle><circle r="9.256" fill="var(--ink)"></circle><circle r="8.892" fill="var(--accent)"></circle><circle r="7.176" fill="#fff"></circle><image href="./logos/4dcodebench/gemini.png" x="-5.2" y="-5.2" width="10.4" height="10.4"></image></g><g class="FourDCodeBench-module__Epj9mq__badge" transform="translate(215.28 282.327)" tabindex="0" role="img" aria-label="Gemini 4 Argon, no skills, Antigravity: dynamic IoU 0.009, 10.25M tokens"><circle r="12.256" fill="transparent"></circle><circle cx="0.312" cy="0.728" r="9.256" fill="#262626" opacity="0.51" filter="url(#fdcb-shadow)"></circle><circle r="9.256" fill="var(--ink)"></circle><circle r="8.892" fill="var(--gray-label)"></circle><circle r="9.308" fill="none" stroke="var(--ink)" stroke-width="0.104" pathLength="360" stroke-dasharray="12 18"></circle><circle r="8.033999999999999" fill="none" stroke="#fff" stroke-width="1.7159999999999993" pathLength="360" stroke-dasharray="12 18"></circle><circle r="8.814" fill="none" stroke="var(--ink)" stroke-width="0.156"></circle><circle r="7.176" fill="#fff"></circle><image href="./logos/4dcodebench/gemini.png" x="-5.2" y="-5.2" width="10.4" height="10.4"></image></g><g class="FourDCodeBench-module__Epj9mq__badge" transform="translate(344.486 127.127)" tabindex="0" role="img" aria-label="GPT-6 Astra + SceneAgent, Codex: dynamic IoU 0.774, 59.83M tokens"><circle r="12.256" fill="transparent"></circle><circle cx="0.312" cy="0.728" r="9.256" fill="#262626" opacity="0.51" filter="url(#fdcb-shadow)"></circle><circle r="9.256" fill="var(--ink)"></circle><circle r="8.892" fill="var(--accent)"></circle><circle r="7.176" fill="#fff"></circle><image href="./logos/4dcodebench/gpt.png" x="-5.2" y="-5.2" width="10.4" height="10.4"></image></g><g class="FourDCodeBench-module__Epj9mq__badge" transform="translate(430.35 170.683)" tabindex="0" role="img" aria-label="Claude Opus 5.5 + SceneAgent, Claude Code: dynamic IoU 0.560, 193.2M tokens"><circle r="12.256" fill="transparent"></circle><circle cx="0.312" cy="0.728" r="9.256" fill="#262626" opacity="0.51" filter="url(#fdcb-shadow)"></circle><circle r="9.256" fill="var(--ink)"></circle><circle r="8.892" fill="var(--accent)"></circle><circle r="7.176" fill="#fff"></circle><image href="./logos/4dcodebench/claude.png" x="-5.2" y="-5.2" width="10.4" height="10.4"></image></g><g class="FourDCodeBench-module__Epj9mq__badge" transform="translate(397.349 204.477)" tabindex="0" role="img" aria-label="GLM-5.3 + SceneAgent, Stirrup: dynamic IoU 0.393, 123.1M tokens"><circle r="12.256" fill="transparent"></circle><circle cx="0.312" cy="0.728" r="9.256" fill="#262626" opacity="0.51" filter="url(#fdcb-shadow)"></circle><circle r="9.256" fill="var(--ink)"></circle><circle r="8.892" fill="var(--accent)"></circle><circle r="7.176" fill="#fff"></circle><image href="./logos/4dcodebench/glm.png" x="-5.2" y="-5.2" width="10.4" height="10.4"></image></g><g class="FourDCodeBench-module__Epj9mq__badge" transform="translate(356.917 149.31)" tabindex="0" role="img" aria-label="Grok 4.7 + SceneAgent, Grok CLI: dynamic IoU 0.665, 70.90M tokens"><circle r="12.256" fill="transparent"></circle><circle cx="0.312" cy="0.728" r="9.256" fill="#262626" opacity="0.51" filter="url(#fdcb-shadow)"></circle><circle r="9.256" fill="var(--ink)"></circle><circle r="8.892" fill="var(--accent)"></circle><circle r="7.176" fill="#fff"></circle><image href="./logos/4dcodebench/grok.png" x="-5.2" y="-5.2" width="10.4" height="10.4"></image></g><g><g><rect x="179.77" y="201.793" width="56.946" height="8.616" fill="#fff" opacity="0.88"></rect><text x="180.658" y="208.081" font-size="7.4" font-weight="400" fill="var(--ink)">Claude Opus 5.5</text></g><g><rect x="237.01" y="201.793" width="21.126" height="8.616" fill="#fff" opacity="0.88"></rect><text x="237.898" y="208.081" font-size="7.4" font-weight="400" fill="var(--text-muted)">[High]</text></g></g><g><line x1="276.922" y1="143.589" x2="267.985" y2="219.76" stroke="var(--gray-cool)" stroke-width="0.6"></line><g><rect x="251.992" y="134.973" width="50.871" height="8.616" fill="#fff" opacity="0.88"></rect><text x="252.88" y="141.261" font-size="7.4" font-weight="400" fill="var(--ink)">Claude Opus 5</text></g><g><rect x="303.157" y="134.973" width="21.126" height="8.616" fill="#fff" opacity="0.88"></rect><text x="304.045" y="141.261" font-size="7.4" font-weight="400" fill="var(--text-muted)">[High]</text></g></g><g><line x1="196.957" y1="186.076" x2="239.78" y2="223.158" stroke="var(--gray-cool)" stroke-width="0.6"></line><g><rect x="163.014" y="177.46" width="57.936" height="8.616" fill="#fff" opacity="0.88"></rect><text x="163.902" y="183.748" font-size="7.4" font-weight="400" fill="var(--ink)">Claude Fable 5.1</text></g><g><rect x="221.244" y="177.46" width="21.126" height="8.616" fill="#fff" opacity="0.88"></rect><text x="222.132" y="183.748" font-size="7.4" font-weight="400" fill="var(--text-muted)">[High]</text></g></g><g><line x1="155.408" y1="162.163" x2="149.028" y2="222.323" stroke="var(--gray-cool)" stroke-width="0.6"></line><g><rect x="134.93" y="153.547" width="41.871" height="8.616" fill="#fff" opacity="0.88"></rect><text x="135.818" y="159.835" font-size="7.4" font-weight="400" fill="var(--ink)">GPT-6 Astra</text></g><g><rect x="177.095" y="153.547" width="21.126" height="8.616" fill="#fff" opacity="0.88"></rect><text x="177.983" y="159.835" font-size="7.4" font-weight="400" fill="var(--text-muted)">[High]</text></g></g><g><g><rect x="168.245" y="213.506" width="41.871" height="8.616" fill="#fff" opacity="0.88"></rect><text x="169.133" y="219.794" font-size="7.4" font-weight="400" fill="var(--ink)">GPT-6 Astra</text></g><g><rect x="210.41" y="213.506" width="19.821" height="8.616" fill="#fff" opacity="0.88"></rect><text x="211.298" y="219.794" font-size="7.4" font-weight="400" fill="var(--text-muted)">[Max]</text></g></g><g><g><rect x="282.488" y="217.214" width="41.466" height="8.616" fill="#fff" opacity="0.88"></rect><text x="283.376" y="223.502" font-size="7.4" font-weight="400" fill="var(--ink)">MiniMax M3</text></g><g><rect x="324.248" y="217.214" width="29.316" height="8.616" fill="#fff" opacity="0.88"></rect><text x="325.136" y="223.502" font-size="7.4" font-weight="400" fill="var(--text-muted)">[Default]</text></g></g><g><line x1="239.169" y1="154.938" x2="280.605" y2="232.074" stroke="var(--gray-cool)" stroke-width="0.6"></line><g><rect x="213.062" y="146.322" width="47.586" height="8.616" fill="#fff" opacity="0.88"></rect><text x="213.95" y="152.61" font-size="7.4" font-weight="400" fill="var(--ink)">GPT-5.6 Luna</text></g><g><rect x="260.942" y="146.322" width="19.821" height="8.616" fill="#fff" opacity="0.88"></rect><text x="261.83" y="152.61" font-size="7.4" font-weight="400" fill="var(--text-muted)">[Max]</text></g></g><g><line x1="146.319" y1="197.221" x2="127.783" y2="232.328" stroke="var(--gray-cool)" stroke-width="0.6"></line><g><rect x="127.68" y="188.605" width="41.826" height="8.616" fill="#fff" opacity="0.88"></rect><text x="128.568" y="194.893" font-size="7.4" font-weight="400" fill="var(--ink)">GPT-5.6 Sol</text></g><g><rect x="169.8" y="188.605" width="21.126" height="8.616" fill="#fff" opacity="0.88"></rect><text x="170.688" y="194.893" font-size="7.4" font-weight="400" fill="var(--text-muted)">[High]</text></g></g><g><line x1="380.51" y1="221.559" x2="362.95" y2="235.844" stroke="var(--gray-cool)" stroke-width="0.6"></line><g><rect x="360.191" y="212.943" width="51.231" height="8.616" fill="#fff" opacity="0.88"></rect><text x="361.079" y="219.231" font-size="7.4" font-weight="400" fill="var(--ink)">Qwen3.8 Flash</text></g><g><rect x="411.716" y="212.943" width="26.031" height="8.616" fill="#fff" opacity="0.88"></rect><text x="412.604" y="219.231" font-size="7.4" font-weight="400" fill="var(--text-muted)">[XHigh]</text></g></g><g><line x1="136.455" y1="251.494" x2="114.342" y2="251.137" stroke="var(--gray-cool)" stroke-width="0.6"></line><g><rect x="136.455" y="247.525" width="41.871" height="8.616" fill="#fff" opacity="0.88"></rect><text x="137.343" y="253.813" font-size="7.4" font-weight="400" fill="var(--ink)">GPT-6 Astra</text></g><g><rect x="178.62" y="247.525" width="19.416" height="8.616" fill="#fff" opacity="0.88"></rect><text x="179.508" y="253.813" font-size="7.4" font-weight="400" fill="var(--text-muted)">[Low]</text></g></g><g><g><rect x="322.844" y="268.676" width="57.486" height="8.616" fill="#fff" opacity="0.88"></rect><text x="323.732" y="274.964" font-size="7.4" font-weight="400" fill="var(--ink)">Gemini 3.8 Flash</text></g><g><rect x="380.624" y="268.676" width="21.126" height="8.616" fill="#fff" opacity="0.88"></rect><text x="381.512" y="274.964" font-size="7.4" font-weight="400" fill="var(--text-muted)">[High]</text></g></g><g><line x1="322.375" y1="189.399" x2="308.425" y2="249.732" stroke="var(--gray-cool)" stroke-width="0.6"></line><g><rect x="287.204" y="180.783" width="72.336" height="8.616" fill="#fff" opacity="0.88"></rect><text x="288.092" y="187.071" font-size="7.4" font-weight="400" fill="var(--ink)">DeepSeek v4.1 Flash</text></g><g><rect x="359.834" y="180.783" width="21.126" height="8.616" fill="#fff" opacity="0.88"></rect><text x="360.722" y="187.071" font-size="7.4" font-weight="400" fill="var(--text-muted)">[High]</text></g></g><g><line x1="106.322" y1="174.047" x2="82.377" y2="250.552" stroke="var(--gray-cool)" stroke-width="0.6"></line><g><rect x="83.72" y="165.431" width="47.901" height="8.616" fill="#fff" opacity="0.88"></rect><text x="84.608" y="171.719" font-size="7.4" font-weight="400" fill="var(--ink)">GPT-5.6 Terra</text></g><g><rect x="131.915" y="165.431" width="21.126" height="8.616" fill="#fff" opacity="0.88"></rect><text x="132.803" y="171.719" font-size="7.4" font-weight="400" fill="var(--text-muted)">[High]</text></g></g><g><g><rect x="202.028" y="244.328" width="35.661" height="8.616" fill="#fff" opacity="0.88"></rect><text x="202.916" y="250.616" font-size="7.4" font-weight="400" fill="var(--ink)">MiMo v2.5</text></g><g><rect x="237.983" y="244.328" width="29.316" height="8.616" fill="#fff" opacity="0.88"></rect><text x="238.871" y="250.616" font-size="7.4" font-weight="400" fill="var(--text-muted)">[Default]</text></g></g><g><g><rect x="383.577" y="247.165" width="50.331" height="8.616" fill="#fff" opacity="0.88"></rect><text x="384.465" y="253.453" font-size="7.4" font-weight="400" fill="var(--ink)">GLM-5.3 Flash</text></g><g><rect x="434.202" y="247.165" width="19.821" height="8.616" fill="#fff" opacity="0.88"></rect><text x="435.09" y="253.453" font-size="7.4" font-weight="400" fill="var(--text-muted)">[Max]</text></g></g><g><line x1="72.605" y1="199.734" x2="72.605" y2="259.846" stroke="var(--gray-cool)" stroke-width="0.6"></line><g><rect x="47.732" y="191.118" width="49.746" height="8.616" fill="#fff" opacity="0.88"></rect><text x="48.62" y="197.406" font-size="7.4" font-weight="400" fill="var(--ink)">Gemma-4 31B</text></g></g><g><g><rect x="126.736" y="258.473" width="49.701" height="8.616" fill="#fff" opacity="0.88"></rect><text x="127.624" y="264.761" font-size="7.4" font-weight="400" fill="var(--ink)">Muse Glimmer</text></g><g><rect x="176.731" y="258.473" width="21.126" height="8.616" fill="#fff" opacity="0.88"></rect><text x="177.619" y="264.761" font-size="7.4" font-weight="400" fill="var(--text-muted)">[High]</text></g></g><g><line x1="104.845" y1="213.149" x2="104.845" y2="273.261" stroke="var(--gray-cool)" stroke-width="0.6"></line><g><rect x="72.862" y="204.533" width="63.966" height="8.616" fill="#fff" opacity="0.88"></rect><text x="73.75" y="210.821" font-size="7.4" font-weight="400" fill="var(--ink)">Mistral Medium 3.5</text></g></g><g><g><rect x="217.929" y="62.433" width="119.553" height="9.219" fill="#fff" opacity="0.88"></rect><text x="218.913" y="69.228" font-size="8.2" font-weight="700" fill="var(--ink)">Gemini 4 Argon + SceneAgent</text></g></g><g><g><rect x="226.992" y="278.854" width="83.001" height="8.616" fill="#fff" opacity="0.88"></rect><text x="227.88" y="285.142" font-size="7.4" font-weight="400" fill="var(--ink)">Gemini 4 Argon, no skills</text></g></g><g><g><rect x="291.797" y="106.293" width="105.378" height="9.218" fill="#fff" opacity="0.88"></rect><text x="292.781" y="113.087" font-size="8.2" font-weight="700" fill="var(--ink)">GPT-6 Astra + SceneAgent</text></g></g><g><g><rect x="282.856" y="165.033" width="123.108" height="9.219" fill="#fff" opacity="0.88"></rect><text x="283.84" y="171.828" font-size="8.2" font-weight="700" fill="var(--ink)">Claude Opus 5.5 + SceneAgent</text></g></g><g><g><rect x="366.856" y="149.033" width="91.113" height="9.219" fill="#fff" opacity="0.88"></rect><text x="367.84" y="155.828" font-size="8.2" font-weight="700" fill="var(--ink)">GLM-5.3 + SceneAgent</text></g></g><g><g><rect x="360.733" y="128.476" width="91.608" height="9.218" fill="#fff" opacity="0.88"></rect><text x="361.717" y="135.27" font-size="8.2" font-weight="700" fill="var(--ink)">Grok 4.7 + SceneAgent</text></g></g><g class="FourDCodeBench-module__Epj9mq__key" role="button" tabindex="0" aria-pressed="true" aria-label="Hide with SceneAgent" opacity="1"><rect x="3.6639999999999997" y="37.9" width="80.268" height="16" fill="transparent"></rect><g transform="translate(5.664 45.9)"><circle cx="10" r="5" fill="none" stroke="var(--accent)" stroke-width="2.1" pathLength="100"></circle></g><text x="26.432" y="45.9" font-size="7.2" dominant-baseline="central" fill="var(--ink)">with SceneAgent</text></g><g class="FourDCodeBench-module__Epj9mq__key" role="button" tabindex="0" aria-pressed="true" aria-label="Hide model + harness" opacity="1"><rect x="86.264" y="37.9" width="80.268" height="16" fill="transparent"></rect><g transform="translate(88.264 45.9)"><circle cx="10" r="5" fill="none" stroke="var(--gray-label)" stroke-width="2.1" pathLength="100"></circle></g><text x="109.032" y="45.9" font-size="7.2" dominant-baseline="central" fill="var(--ink)">model + harness</text></g><g class="FourDCodeBench-module__Epj9mq__key" role="button" tabindex="0" aria-pressed="true" aria-label="Hide collapsed or broken world" opacity="1"><rect x="170.28" y="37.9" width="117.268" height="16" fill="transparent"></rect><g transform="translate(172.28 45.9)"><circle cx="10" r="5" fill="none" stroke="var(--text-muted)" stroke-width="2.1" pathLength="100" stroke-dasharray="17 8"></circle></g><text x="193.048" y="45.9" font-size="7.2" dominant-baseline="central" fill="var(--ink)">collapsed or broken world</text></g><g class="FourDCodeBench-module__Epj9mq__key" role="button" tabindex="0" aria-pressed="true" aria-label="Hide baseline Pareto frontier" opacity="1"><rect x="290.64" y="37.9" width="113.56800000000004" height="16" fill="transparent"></rect><g transform="translate(292.64 45.9)"><line x1="1" x2="19" y1="0" y2="0" stroke="var(--gray-mid)" stroke-width="1.5" stroke-dasharray="7.5 4.5"></line></g><text x="313.408" y="45.9" font-size="7.2" dominant-baseline="central" fill="var(--ink)">baseline Pareto frontier</text></g></svg></div></div><div class="chapter__caption"><div style="font-family:var(--font-sans);font-size:10px;font-weight:700;line-height:1.5;letter-spacing:0.02em;color:var(--accent);margin-left:auto;flex-shrink:0">1.7</div></div></div><div class="chapter__exhibit sub"><div class="StageTokens-module__IlP1JG__key"><span><i class="StageTokens-module__IlP1JG__skills"></i>with SceneAgent</span><span><i class="StageTokens-module__IlP1JG__other"></i>without</span></div><div class="StageTokens-module__IlP1JG__scroll"><div class="StageTokens-module__IlP1JG__chart" role="table" aria-label="Mean tokens per task (M) by stage"><div class="StageTokens-module__IlP1JG__title">Mean tokens per task (M) by stage</div><div class="StageTokens-module__IlP1JG__row StageTokens-module__IlP1JG__head" style="--cols:5" role="row"><span role="columnheader"></span><span class="StageTokens-module__IlP1JG__harness" role="columnheader"><b>Codex</b><span>GPT-6 Astra</span><span>total <!-- -->83.7<!-- --> / <!-- -->6.4</span></span><span class="StageTokens-module__IlP1JG__harness" role="columnheader"><b>Claude Code</b><span>Opus 5.5</span><span>total <!-- -->193.2<!-- --> / <!-- -->155.9</span></span><span class="StageTokens-module__IlP1JG__harness" role="columnheader"><b>Antigravity</b><span>Gemini 4 Argon</span><span>total <!-- -->14.8<!-- --> / <!-- -->10.3</span></span><span class="StageTokens-module__IlP1JG__harness" role="columnheader"><b>GLM-5.3 (Stirrup)</b><span>GLM-5.3</span><span>total <!-- -->123.1<!-- --> / <!-- -->102.8</span></span><span class="StageTokens-module__IlP1JG__harness" role="columnheader"><b>Grok CLI</b><span>Grok 4.7</span><span>total <!-- -->70.9<!-- --> / <!-- -->14.2</span></span></div><div class="StageTokens-module__IlP1JG__row" style="--cols:5" role="row"><span class="StageTokens-module__IlP1JG__stage" role="rowheader"><b>S0<!-- --> <!-- -->Setup</b><span>skill discovery</span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S0 Setup, Codex with SceneAgent: 5.2M tokens" aria-label="S0 Setup, Codex with SceneAgent: 5.2M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0.043658333333333334"></i><b>5.2</b></span><span class="StageTokens-module__IlP1JG__cell" title="S0 Setup, Codex without: 0.5M tokens" aria-label="S0 Setup, Codex without: 0.5M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0.004291666666666667"></i><b>0.5</b></span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S0 Setup, Claude Code with SceneAgent: 0.2M tokens" aria-label="S0 Setup, Claude Code with SceneAgent: 0.2M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0.0015416666666666667"></i><b>0.2</b></span><span class="StageTokens-module__IlP1JG__cell" title="S0 Setup, Claude Code without: 0.1M tokens" aria-label="S0 Setup, Claude Code without: 0.1M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0.0005416666666666666"></i><b>0.1</b></span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S0 Setup, Antigravity with SceneAgent: 1.0M tokens" aria-label="S0 Setup, Antigravity with SceneAgent: 1.0M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0.008616666666666667"></i><b>1.0</b></span><span class="StageTokens-module__IlP1JG__cell" title="S0 Setup, Antigravity without: 0.3M tokens" aria-label="S0 Setup, Antigravity without: 0.3M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0.0020916666666666666"></i><b>0.3</b></span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S0 Setup, GLM-5.3 (Stirrup) with SceneAgent: 0.2M tokens" aria-label="S0 Setup, GLM-5.3 (Stirrup) with SceneAgent: 0.2M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0.0013083333333333334"></i><b>0.2</b></span><span class="StageTokens-module__IlP1JG__cell" title="S0 Setup, GLM-5.3 (Stirrup) without: <0.1M tokens" aria-label="S0 Setup, GLM-5.3 (Stirrup) without: <0.1M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0.00013333333333333334"></i><b><0.1</b></span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S0 Setup, Grok CLI with SceneAgent: 1.7M tokens" aria-label="S0 Setup, Grok CLI with SceneAgent: 1.7M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0.014108333333333334"></i><b>1.7</b></span><span class="StageTokens-module__IlP1JG__cell" title="S0 Setup, Grok CLI without: 0.1M tokens" aria-label="S0 Setup, Grok CLI without: 0.1M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0.0011333333333333334"></i><b>0.1</b></span></span></div><div class="StageTokens-module__IlP1JG__row" style="--cols:5" role="row"><span class="StageTokens-module__IlP1JG__stage" role="rowheader"><b>S1<!-- --> <!-- -->Video and camera</b><span>frames, camera fit</span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S1 Video and camera, Codex with SceneAgent: 12.3M tokens" aria-label="S1 Video and camera, Codex with SceneAgent: 12.3M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0.10268333333333332"></i><b>12.3</b></span><span class="StageTokens-module__IlP1JG__cell" title="S1 Video and camera, Codex without: 0.9M tokens" aria-label="S1 Video and camera, Codex without: 0.9M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0.007508333333333334"></i><b>0.9</b></span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S1 Video and camera, Claude Code with SceneAgent: 11.5M tokens" aria-label="S1 Video and camera, Claude Code with SceneAgent: 11.5M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0.09575"></i><b>11.5</b></span><span class="StageTokens-module__IlP1JG__cell" title="S1 Video and camera, Claude Code without: 7.7M tokens" aria-label="S1 Video and camera, Claude Code without: 7.7M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0.0643"></i><b>7.7</b></span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S1 Video and camera, Antigravity with SceneAgent: 0.2M tokens" aria-label="S1 Video and camera, Antigravity with SceneAgent: 0.2M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0.00205"></i><b>0.2</b></span><span class="StageTokens-module__IlP1JG__cell" title="S1 Video and camera, Antigravity without: 0.5M tokens" aria-label="S1 Video and camera, Antigravity without: 0.5M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0.003933333333333333"></i><b>0.5</b></span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S1 Video and camera, GLM-5.3 (Stirrup) with SceneAgent: 22.0M tokens" aria-label="S1 Video and camera, GLM-5.3 (Stirrup) with SceneAgent: 22.0M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0.18309166666666668"></i><b>22.0</b></span><span class="StageTokens-module__IlP1JG__cell" title="S1 Video and camera, GLM-5.3 (Stirrup) without: 8.5M tokens" aria-label="S1 Video and camera, GLM-5.3 (Stirrup) without: 8.5M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0.070425"></i><b>8.5</b></span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S1 Video and camera, Grok CLI with SceneAgent: 9.5M tokens" aria-label="S1 Video and camera, Grok CLI with SceneAgent: 9.5M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0.07889166666666667"></i><b>9.5</b></span><span class="StageTokens-module__IlP1JG__cell" title="S1 Video and camera, Grok CLI without: 1.2M tokens" aria-label="S1 Video and camera, Grok CLI without: 1.2M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0.009866666666666666"></i><b>1.2</b></span></span></div><div class="StageTokens-module__IlP1JG__row" style="--cols:5" role="row"><span class="StageTokens-module__IlP1JG__stage" role="rowheader"><b>S2<!-- --> <!-- -->Static scene</b><span>tank, obstacles</span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S2 Static scene, Codex with SceneAgent: 8.3M tokens" aria-label="S2 Static scene, Codex with SceneAgent: 8.3M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0.06945"></i><b>8.3</b></span><span class="StageTokens-module__IlP1JG__cell" title="S2 Static scene, Codex without: 0.8M tokens" aria-label="S2 Static scene, Codex without: 0.8M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0.0064333333333333334"></i><b>0.8</b></span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S2 Static scene, Claude Code with SceneAgent: 26.5M tokens" aria-label="S2 Static scene, Claude Code with SceneAgent: 26.5M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0.22095"></i><b>26.5</b></span><span class="StageTokens-module__IlP1JG__cell" title="S2 Static scene, Claude Code without: 28.7M tokens" aria-label="S2 Static scene, Claude Code without: 28.7M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0.23935"></i><b>28.7</b></span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S2 Static scene, Antigravity with SceneAgent: 0.1M tokens" aria-label="S2 Static scene, Antigravity with SceneAgent: 0.1M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0.0012333333333333332"></i><b>0.1</b></span><span class="StageTokens-module__IlP1JG__cell" title="S2 Static scene, Antigravity without: 0.5M tokens" aria-label="S2 Static scene, Antigravity without: 0.5M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0.003966666666666666"></i><b>0.5</b></span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S2 Static scene, GLM-5.3 (Stirrup) with SceneAgent: 25.1M tokens" aria-label="S2 Static scene, GLM-5.3 (Stirrup) with SceneAgent: 25.1M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0.20910833333333334"></i><b>25.1</b></span><span class="StageTokens-module__IlP1JG__cell" title="S2 Static scene, GLM-5.3 (Stirrup) without: 19.1M tokens" aria-label="S2 Static scene, GLM-5.3 (Stirrup) without: 19.1M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0.15941666666666665"></i><b>19.1</b></span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S2 Static scene, Grok CLI with SceneAgent: 10.0M tokens" aria-label="S2 Static scene, Grok CLI with SceneAgent: 10.0M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0.0831"></i><b>10.0</b></span><span class="StageTokens-module__IlP1JG__cell" title="S2 Static scene, Grok CLI without: 5.2M tokens" aria-label="S2 Static scene, Grok CLI without: 5.2M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0.04335833333333334"></i><b>5.2</b></span></span></div><div class="StageTokens-module__IlP1JG__row" style="--cols:5" role="row"><span class="StageTokens-module__IlP1JG__stage" role="rowheader"><b>S3<!-- --> <!-- -->Physics simulation</b><span>continuum, MPM, fluid</span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S3 Physics simulation, Codex with SceneAgent: 30.4M tokens" aria-label="S3 Physics simulation, Codex with SceneAgent: 30.4M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0.2531333333333333"></i><b>30.4</b></span><span class="StageTokens-module__IlP1JG__cell" title="S3 Physics simulation, Codex without: 1.9M tokens" aria-label="S3 Physics simulation, Codex without: 1.9M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0.01608333333333333"></i><b>1.9</b></span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S3 Physics simulation, Claude Code with SceneAgent: 115.9M tokens" aria-label="S3 Physics simulation, Claude Code with SceneAgent: 115.9M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0.9658333333333334"></i><b>115.9</b></span><span class="StageTokens-module__IlP1JG__cell" title="S3 Physics simulation, Claude Code without: 82.8M tokens" aria-label="S3 Physics simulation, Claude Code without: 82.8M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0.6897583333333334"></i><b>82.8</b></span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S3 Physics simulation, Antigravity with SceneAgent: 10.7M tokens" aria-label="S3 Physics simulation, Antigravity with SceneAgent: 10.7M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0.0891"></i><b>10.7</b></span><span class="StageTokens-module__IlP1JG__cell" title="S3 Physics simulation, Antigravity without: 7.1M tokens" aria-label="S3 Physics simulation, Antigravity without: 7.1M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0.05898333333333334"></i><b>7.1</b></span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S3 Physics simulation, GLM-5.3 (Stirrup) with SceneAgent: 19.9M tokens" aria-label="S3 Physics simulation, GLM-5.3 (Stirrup) with SceneAgent: 19.9M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0.16576666666666667"></i><b>19.9</b></span><span class="StageTokens-module__IlP1JG__cell" title="S3 Physics simulation, GLM-5.3 (Stirrup) without: 18.2M tokens" aria-label="S3 Physics simulation, GLM-5.3 (Stirrup) without: 18.2M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0.15133333333333335"></i><b>18.2</b></span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S3 Physics simulation, Grok CLI with SceneAgent: 5.0M tokens" aria-label="S3 Physics simulation, Grok CLI with SceneAgent: 5.0M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0.04140833333333334"></i><b>5.0</b></span><span class="StageTokens-module__IlP1JG__cell" title="S3 Physics simulation, Grok CLI without: 1.2M tokens" aria-label="S3 Physics simulation, Grok CLI without: 1.2M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0.010366666666666666"></i><b>1.2</b></span></span></div><div class="StageTokens-module__IlP1JG__row" style="--cols:5" role="row"><span class="StageTokens-module__IlP1JG__stage" role="rowheader"><b>S4<!-- --> <!-- -->Surface meshing</b><span>persistent dynamics</span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S4 Surface meshing, Codex with SceneAgent: 7.4M tokens" aria-label="S4 Surface meshing, Codex with SceneAgent: 7.4M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0.061649999999999996"></i><b>7.4</b></span><span class="StageTokens-module__IlP1JG__cell" title="S4 Surface meshing, Codex without: 0.8M tokens" aria-label="S4 Surface meshing, Codex without: 0.8M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0.006966666666666666"></i><b>0.8</b></span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S4 Surface meshing, Claude Code with SceneAgent: 14.5M tokens" aria-label="S4 Surface meshing, Claude Code with SceneAgent: 14.5M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0.12065"></i><b>14.5</b></span><span class="StageTokens-module__IlP1JG__cell" title="S4 Surface meshing, Claude Code without: 10.4M tokens" aria-label="S4 Surface meshing, Claude Code without: 10.4M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0.08666666666666667"></i><b>10.4</b></span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S4 Surface meshing, Antigravity with SceneAgent: 0.2M tokens" aria-label="S4 Surface meshing, Antigravity with SceneAgent: 0.2M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0.0020666666666666667"></i><b>0.2</b></span><span class="StageTokens-module__IlP1JG__cell" title="S4 Surface meshing, Antigravity without: 0.4M tokens" aria-label="S4 Surface meshing, Antigravity without: 0.4M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0.0033250000000000003"></i><b>0.4</b></span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S4 Surface meshing, GLM-5.3 (Stirrup) with SceneAgent: 13.0M tokens" aria-label="S4 Surface meshing, GLM-5.3 (Stirrup) with SceneAgent: 13.0M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0.10794166666666666"></i><b>13.0</b></span><span class="StageTokens-module__IlP1JG__cell" title="S4 Surface meshing, GLM-5.3 (Stirrup) without: 1.4M tokens" aria-label="S4 Surface meshing, GLM-5.3 (Stirrup) without: 1.4M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0.012033333333333333"></i><b>1.4</b></span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S4 Surface meshing, Grok CLI with SceneAgent: 20.7M tokens" aria-label="S4 Surface meshing, Grok CLI with SceneAgent: 20.7M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0.17289166666666667"></i><b>20.7</b></span><span class="StageTokens-module__IlP1JG__cell" title="S4 Surface meshing, Grok CLI without: 1.5M tokens" aria-label="S4 Surface meshing, Grok CLI without: 1.5M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0.012683333333333333"></i><b>1.5</b></span></span></div><div class="StageTokens-module__IlP1JG__row" style="--cols:5" role="row"><span class="StageTokens-module__IlP1JG__stage" role="rowheader"><b>S5<!-- --> <!-- -->Rendering</b><span>Cycles, visual QA</span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S5 Rendering, Codex with SceneAgent: 16.6M tokens" aria-label="S5 Rendering, Codex with SceneAgent: 16.6M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0.13847500000000001"></i><b>16.6</b></span><span class="StageTokens-module__IlP1JG__cell" title="S5 Rendering, Codex without: 1.0M tokens" aria-label="S5 Rendering, Codex without: 1.0M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0.008041666666666666"></i><b>1.0</b></span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S5 Rendering, Claude Code with SceneAgent: 12.6M tokens" aria-label="S5 Rendering, Claude Code with SceneAgent: 12.6M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0.10495"></i><b>12.6</b></span><span class="StageTokens-module__IlP1JG__cell" title="S5 Rendering, Claude Code without: 16.3M tokens" aria-label="S5 Rendering, Claude Code without: 16.3M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0.13579166666666667"></i><b>16.3</b></span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S5 Rendering, Antigravity with SceneAgent: 2.1M tokens" aria-label="S5 Rendering, Antigravity with SceneAgent: 2.1M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0.01738333333333333"></i><b>2.1</b></span><span class="StageTokens-module__IlP1JG__cell" title="S5 Rendering, Antigravity without: 0.3M tokens" aria-label="S5 Rendering, Antigravity without: 0.3M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0.002625"></i><b>0.3</b></span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S5 Rendering, GLM-5.3 (Stirrup) with SceneAgent: 26.1M tokens" aria-label="S5 Rendering, GLM-5.3 (Stirrup) with SceneAgent: 26.1M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0.21725"></i><b>26.1</b></span><span class="StageTokens-module__IlP1JG__cell" title="S5 Rendering, GLM-5.3 (Stirrup) without: 46.9M tokens" aria-label="S5 Rendering, GLM-5.3 (Stirrup) without: 46.9M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0.39114166666666667"></i><b>46.9</b></span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S5 Rendering, Grok CLI with SceneAgent: 15.5M tokens" aria-label="S5 Rendering, Grok CLI with SceneAgent: 15.5M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0.12950833333333334"></i><b>15.5</b></span><span class="StageTokens-module__IlP1JG__cell" title="S5 Rendering, Grok CLI without: 3.2M tokens" aria-label="S5 Rendering, Grok CLI without: 3.2M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0.026583333333333334"></i><b>3.2</b></span></span></div><div class="StageTokens-module__IlP1JG__row" style="--cols:5" role="row"><span class="StageTokens-module__IlP1JG__stage" role="rowheader"><b>S6<!-- --> <!-- -->Checker</b><span>clean-room rebuild</span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S6 Checker, Codex with SceneAgent: 3.4M tokens" aria-label="S6 Checker, Codex with SceneAgent: 3.4M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0.028441666666666664"></i><b>3.4</b></span><span class="StageTokens-module__IlP1JG__cell" title="S6 Checker, Codex without: 0.5M tokens" aria-label="S6 Checker, Codex without: 0.5M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0.004291666666666667"></i><b>0.5</b></span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S6 Checker, Claude Code with SceneAgent: 12.1M tokens" aria-label="S6 Checker, Claude Code with SceneAgent: 12.1M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0.10071666666666666"></i><b>12.1</b></span><span class="StageTokens-module__IlP1JG__cell" title="S6 Checker, Claude Code without: 9.9M tokens" aria-label="S6 Checker, Claude Code without: 9.9M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0.08268333333333334"></i><b>9.9</b></span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S6 Checker, Antigravity with SceneAgent: 0.4M tokens" aria-label="S6 Checker, Antigravity with SceneAgent: 0.4M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0.0032916666666666667"></i><b>0.4</b></span><span class="StageTokens-module__IlP1JG__cell" title="S6 Checker, Antigravity without: 1.3M tokens" aria-label="S6 Checker, Antigravity without: 1.3M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0.0105"></i><b>1.3</b></span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S6 Checker, GLM-5.3 (Stirrup) with SceneAgent: 17.0M tokens" aria-label="S6 Checker, GLM-5.3 (Stirrup) with SceneAgent: 17.0M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0.14173333333333332"></i><b>17.0</b></span><span class="StageTokens-module__IlP1JG__cell" title="S6 Checker, GLM-5.3 (Stirrup) without: 8.6M tokens" aria-label="S6 Checker, GLM-5.3 (Stirrup) without: 8.6M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0.07184166666666666"></i><b>8.6</b></span></span><span class="StageTokens-module__IlP1JG__bars" role="cell"><span class="StageTokens-module__IlP1JG__cell" title="S6 Checker, Grok CLI with SceneAgent: 8.5M tokens" aria-label="S6 Checker, Grok CLI with SceneAgent: 8.5M tokens"><i class="StageTokens-module__IlP1JG__skills" style="--w:0.07090833333333334"></i><b>8.5</b></span><span class="StageTokens-module__IlP1JG__cell" title="S6 Checker, Grok CLI without: 1.7M tokens" aria-label="S6 Checker, Grok CLI without: 1.7M tokens"><i class="StageTokens-module__IlP1JG__other" style="--w:0.014416666666666666"></i><b>1.7</b></span></span></div><p class="StageTokens-module__IlP1JG__note">4DCodeBench B_09, Z_06 and Z_12: mean over the three cases of the tokens each conversion stage used. All cells share one scale. Header totals are the sums over S0-S6, with SceneAgent / without.</p></div></div><div class="chapter__caption"><div style="font-family:var(--font-sans);font-size:10px;font-weight:700;line-height:1.5;letter-spacing:0.02em;color:var(--ink)">4DCodeBench mean tokens per task by conversion stage, with and without SceneAgent skills, on the synthetic tasks Z_06, B_09 and Z_12.</div><div style="font-family:var(--font-sans);font-size:10px;font-weight:700;line-height:1.5;letter-spacing:0.02em;color:var(--accent);margin-left:auto;flex-shrink:0">1.8</div></div></div><div class="chapter__text"><p>The goal of 4DCodeBench is to convert a single input video into an executable program that regenerates the dynamic scene, with its geometry, motion and appearance. Each coding agent watches the video in a sandboxed harness and writes the program. The program is then rendered and scored against the video on appearance, dynamic IoU, optical flow, point tracks, depth and 3D trajectories. Its 200 tasks cover rigid, deformable, fluid and fracture behavior in 100 real clips and 100 synthetic scenes.</p></div><div class="chapter__exhibit chapter__exhibit--bleed sub" data-bleed=""><div class="FourDCodeBench-module__Epj9mq__pairs"><div class="FourDCodeBench-module__Epj9mq__pair"><figure style="margin:0;min-width:0"><div style="position:relative;border:1px solid var(--hairline);background:var(--ink);aspect-ratio:16 / 9;overflow:hidden"><video src="./videos/4dcodebench/B_09_source.mp4" poster="./videos/4dcodebench/B_09_source.jpg" muted="" loop="" playsInline="" controls="" preload="metadata" aria-label="B_09 water tank, the goal to create" style="position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:50% 50%;display:block"></video><div class="FourDCodeBench-module__Epj9mq__tag" aria-hidden="true"><b>Goal to create</b><span>B_09 water tank</span></div></div></figure><figure style="margin:0;min-width:0"><div style="position:relative;border:1px solid var(--hairline);background:var(--ink);aspect-ratio:16 / 9;overflow:hidden"><video src="./videos/4dcodebench/B_09_target.mp4" poster="./videos/4dcodebench/B_09_target.jpg" muted="" loop="" playsInline="" controls="" preload="metadata" aria-label="B_09 water tank, created by SceneAgent" style="position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:50% 50%;display:block"></video><div class="FourDCodeBench-module__Epj9mq__tag FourDCodeBench-module__Epj9mq__tagSceneAgent" aria-hidden="true"><b>Created by SceneAgent</b><span>B_09 water tank</span></div></div></figure></div><div class="FourDCodeBench-module__Epj9mq__pair"><figure style="margin:0;min-width:0"><div style="position:relative;border:1px solid var(--hairline);background:var(--ink);aspect-ratio:16 / 9;overflow:hidden"><video src="./videos/4dcodebench/Z_06_source.mp4" poster="./videos/4dcodebench/Z_06_source.jpg" muted="" loop="" playsInline="" controls="" preload="metadata" aria-label="Z_06 water and ball, the goal to create" style="position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:50% 50%;display:block"></video><div class="FourDCodeBench-module__Epj9mq__tag" aria-hidden="true"><b>Goal to create</b><span>Z_06 water and ball</span></div></div></figure><figure style="margin:0;min-width:0"><div style="position:relative;border:1px solid var(--hairline);background:var(--ink);aspect-ratio:16 / 9;overflow:hidden"><video src="./videos/4dcodebench/Z_06_target.mp4" poster="./videos/4dcodebench/Z_06_target.jpg" muted="" loop="" playsInline="" controls="" preload="metadata" aria-label="Z_06 water and ball, created by SceneAgent" style="position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:50% 50%;display:block"></video><div class="FourDCodeBench-module__Epj9mq__tag FourDCodeBench-module__Epj9mq__tagSceneAgent" aria-hidden="true"><b>Created by SceneAgent</b><span>Z_06 water and ball</span></div></div></figure></div><div class="FourDCodeBench-module__Epj9mq__pair"><figure style="margin:0;min-width:0"><div style="position:relative;border:1px solid var(--hairline);background:var(--ink);aspect-ratio:16 / 9;overflow:hidden"><video src="./videos/4dcodebench/Z_12_source.mp4" poster="./videos/4dcodebench/Z_12_source.jpg" muted="" loop="" playsInline="" controls="" preload="metadata" aria-label="Z_12 watermelon smash, the goal to create" style="position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:50% 50%;display:block"></video><div class="FourDCodeBench-module__Epj9mq__tag" aria-hidden="true"><b>Goal to create</b><span>Z_12 watermelon smash</span></div></div></figure><figure style="margin:0;min-width:0"><div style="position:relative;border:1px solid var(--hairline);background:var(--ink);aspect-ratio:16 / 9;overflow:hidden"><video src="./videos/4dcodebench/Z_12_target.mp4" poster="./videos/4dcodebench/Z_12_target.jpg" muted="" loop="" playsInline="" controls="" preload="metadata" aria-label="Z_12 watermelon smash, created by SceneAgent" style="position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:50% 50%;display:block"></video><div class="FourDCodeBench-module__Epj9mq__tag FourDCodeBench-module__Epj9mq__tagSceneAgent" aria-hidden="true"><b>Created by SceneAgent</b><span>Z_12 watermelon smash</span></div></div></figure></div></div><div class="chapter__caption"><div style="font-family:var(--font-sans);font-size:10px;font-weight:700;line-height:1.5;letter-spacing:0.02em;color:var(--accent);margin-left:auto;flex-shrink:0">1.9</div></div></div><div class="chapter__text"><p>We measured SceneAgent with frontier models on the videos that performed worst in 4DCodeBench and saw improvements.</p></div></section><section class="chapter chapter--bleed" id="marker-physics"><div class="chapter__rule" aria-hidden="true"></div><div class="chapter__head"><div class="chapter__num" aria-hidden="true">2</div><div><h2 class="chapter__title">Predictive Per-Gaussian Physics Prior</h2><p class="chapter__lead">We infer predictive physics features for each simulated object via a combination of semantic features, object decomposition, and VLM labeling.</p></div></div><div class="chapter__exhibit chapter__exhibit--bleed" data-bleed=""><div class="MarkerStages-module__Hc3VfW__figure"><div class="MarkerStages-module__Hc3VfW__compound"><figure class="MarkerStages-module__Hc3VfW__panel" data-stage="masks"><div class="MarkerStages-module__Hc3VfW__view"><div class="MarkerStages-module__Hc3VfW__thumb"><img src="./marker/thumbs/01_masks.webp" alt="Masks" loading="lazy"/></div></div><figcaption class="MarkerStages-module__Hc3VfW__label"><b>01</b><strong>Masks</strong><span class="MarkerStages-module__Hc3VfW__tools"></span></figcaption></figure><figure class="MarkerStages-module__Hc3VfW__panel" data-stage="gaussians"><div class="MarkerStages-module__Hc3VfW__view"><div class="MarkerStages-module__Hc3VfW__thumb"><img src="./marker/thumbs/02_gaussians.webp" alt="Gaussians" loading="lazy"/></div></div><figcaption class="MarkerStages-module__Hc3VfW__label"><b>02</b><strong>Gaussians</strong><span class="MarkerStages-module__Hc3VfW__tools"></span></figcaption></figure><figure class="MarkerStages-module__Hc3VfW__panel" data-stage="mesh"><div class="MarkerStages-module__Hc3VfW__view"><div class="MarkerStages-module__Hc3VfW__thumb"><img src="./marker/thumbs/03_mesh.webp" alt="Mesh" loading="lazy"/></div></div><figcaption class="MarkerStages-module__Hc3VfW__label"><b>03</b><strong>Mesh</strong><span class="MarkerStages-module__Hc3VfW__tools"></span></figcaption></figure><figure class="MarkerStages-module__Hc3VfW__panel" data-stage="parts"><div class="MarkerStages-module__Hc3VfW__view"><div class="MarkerStages-module__Hc3VfW__thumb"><img src="./marker/thumbs/04_parts.webp" alt="Parts" loading="lazy"/></div></div><figcaption class="MarkerStages-module__Hc3VfW__label"><b>04</b><strong>Parts</strong><span class="MarkerStages-module__Hc3VfW__tools"></span></figcaption></figure><figure class="MarkerStages-module__Hc3VfW__panel" data-stage="hidden"><div class="MarkerStages-module__Hc3VfW__view"><div class="MarkerStages-module__Hc3VfW__thumb"><img src="./marker/thumbs/05_hidden.webp" alt="Under the cap" loading="lazy"/></div></div><figcaption class="MarkerStages-module__Hc3VfW__label"><b>05</b><strong>Under the cap</strong><span class="MarkerStages-module__Hc3VfW__tools"></span></figcaption></figure><figure class="MarkerStages-module__Hc3VfW__panel" data-stage="friction"><div class="MarkerStages-module__Hc3VfW__view"><div class="MarkerStages-module__Hc3VfW__thumb"><img src="./marker/thumbs/06_friction.webp" alt="Cap friction" loading="lazy"/></div></div><figcaption class="MarkerStages-module__Hc3VfW__label"><b>06</b><strong>Cap friction</strong><span class="MarkerStages-module__Hc3VfW__tools"></span></figcaption></figure><figure class="MarkerStages-module__Hc3VfW__panel MarkerStages-module__Hc3VfW__main" data-stage="writing"><div class="MarkerStages-module__Hc3VfW__view"><button type="button" class="stage scene-hold"><img src="./marker/thumbs/07_writing.webp" alt="Writing" loading="lazy"/><span class="scene-hold__control"><span class="scene-hold__play"><i aria-hidden="true"></i>Open the viewer</span></span></button></div><figcaption class="MarkerStages-module__Hc3VfW__label"><b>07</b><strong>Writing</strong><span class="MarkerStages-module__Hc3VfW__tools"></span></figcaption></figure></div></div><div class="chapter__caption"><div style="font-family:var(--font-sans);font-size:10px;font-weight:700;line-height:1.5;letter-spacing:0.02em;color:var(--accent);margin-left:auto;flex-shrink:0">2.1</div></div></div><div class="chapter__text"><p>For example, the pipeline processes a dry erase marker with the object decomposition of the cap, infill generation of the tip, and predictive friction coefficient holding the cap onto the marker tip.</p></div><div class="chapter__text"><p>Similarly, we are able to use this workflow to create materials in the OpenUSD standard that represent physics properties heterogeneously distributed throughout an object. For example, this hat has a higher rigidity around the brim.</p></div><div class="chapter__exhibit sub"><div class="PhysicsChapters-module__IAVxNa__pair"><figure style="margin:0;min-width:0;font-family:var(--font-sans)"><div style="position:relative;border:1px solid var(--hairline);background:var(--ink);aspect-ratio:4 / 3;overflow:hidden"><img src="./physics-prior/hat/capture.webp" alt="The scanned corduroy cap" loading="lazy" style="position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;padding:0"/></div><figcaption style="margin-top:10px"><div style="font-family:var(--font-sans);font-size:10px;font-weight:700;line-height:1.5;letter-spacing:0.02em;color:var(--text-muted)">3d Capture</div></figcaption></figure><figure style="margin:0;min-width:0;font-family:var(--font-sans)"><div style="position:relative;border:1px solid var(--hairline);background:var(--ink);aspect-ratio:4 / 3;overflow:hidden"><img src="./physics-prior/hat/stiffness.webp" alt="The cap colored by the stiffness used in the simulator" loading="lazy" style="position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;padding:0"/></div><figcaption style="margin-top:10px"><div style="font-family:var(--font-sans);font-size:10px;font-weight:700;line-height:1.5;letter-spacing:0.02em;color:var(--text-muted)">Rigidity in the physics material in the OpenUSD. Higher rigidity is red, lower is blue.</div></figcaption></figure></div><div class="chapter__caption"><div style="font-family:var(--font-sans);font-size:10px;font-weight:700;line-height:1.5;letter-spacing:0.02em;color:var(--ink)">We predict physics properties for unlabeled capture with VLMs and semantic per-Gaussian features. The prior predicts material, mass, friction and a 0–1 rigidity for every Gaussian.</div><div style="font-family:var(--font-sans);font-size:10px;font-weight:700;line-height:1.5;letter-spacing:0.02em;color:var(--accent);margin-left:auto;flex-shrink:0">2.2</div></div></div><div class="chapter__exhibit sub"><div class="PhysicsChapters-module__IAVxNa__flowWrap"><svg class="PhysicsChapters-module__IAVxNa__flow" viewBox="0 0 960 324" role="img" aria-label="Workflow: masked crops of each object go through DINOv2 and OpenCLIP to one vector per object, copied to the object's Gaussians. Each Gaussian with its position, size, opacity and color goes through the physics prior to a distribution. Distributions average to the object, parts inherit the object's record, and the distributions also form a field on the splat."><defs><marker id="flow-arrow" viewBox="0 0 8 8" refX="7" refY="4" markerWidth="7" markerHeight="7" orient="auto-start-reverse"><path d="M0,0 L8,4 L0,8 z" class="PhysicsChapters-module__IAVxNa__flowHead"></path></marker></defs><g><rect x="20" y="16" width="250" height="64" rx="2" class="PhysicsChapters-module__IAVxNa__flowBox"></rect><text x="145" y="43" text-anchor="middle" class="PhysicsChapters-module__IAVxNa__flowTitle">masked crops</text><text x="145" y="62" text-anchor="middle" class="PhysicsChapters-module__IAVxNa__flowSub">object k</text></g><g><rect x="355" y="16" width="250" height="64" rx="2" class="PhysicsChapters-module__IAVxNa__flowBox"></rect><text x="480" y="43" text-anchor="middle" class="PhysicsChapters-module__IAVxNa__flowTitle">DINOv2 + OpenCLIP</text><text x="480" y="62" text-anchor="middle" class="PhysicsChapters-module__IAVxNa__flowSub">one vector per object</text></g><g><rect x="690" y="16" width="250" height="64" rx="2" class="PhysicsChapters-module__IAVxNa__flowBox"></rect><text x="815" y="43" text-anchor="middle" class="PhysicsChapters-module__IAVxNa__flowTitle">copied to k’s Gaussians</text><text x="815" y="62" text-anchor="middle" class="PhysicsChapters-module__IAVxNa__flowSub">the rest get the scene mean</text></g><g><rect x="690" y="130" width="250" height="64" rx="2" class="PhysicsChapters-module__IAVxNa__flowBox"></rect><text x="815" y="157" text-anchor="middle" class="PhysicsChapters-module__IAVxNa__flowTitle">Gaussian i</text><text x="815" y="176" text-anchor="middle" class="PhysicsChapters-module__IAVxNa__flowSub">+ its position, size, opacity, color</text></g><g><rect x="355" y="130" width="250" height="64" rx="2" class="PhysicsChapters-module__IAVxNa__flowHot"></rect><text x="480" y="167" text-anchor="middle" class="PhysicsChapters-module__IAVxNa__flowHotText">physics prior</text></g><g><rect x="20" y="130" width="250" height="64" rx="2" class="PhysicsChapters-module__IAVxNa__flowBox"></rect><text x="145" y="167" text-anchor="middle" class="PhysicsChapters-module__IAVxNa__flowTitle">distribution pᵢ</text></g><g><rect x="20" y="244" width="250" height="64" rx="2" class="PhysicsChapters-module__IAVxNa__flowBox"></rect><text x="145" y="271" text-anchor="middle" class="PhysicsChapters-module__IAVxNa__flowTitle">object</text><text x="145" y="290" text-anchor="middle" class="PhysicsChapters-module__IAVxNa__flowSub">mean over k’s Gaussians</text></g><g><rect x="355" y="244" width="250" height="64" rx="2" class="PhysicsChapters-module__IAVxNa__flowBox"></rect><text x="480" y="271" text-anchor="middle" class="PhysicsChapters-module__IAVxNa__flowTitle">part</text><text x="480" y="290" text-anchor="middle" class="PhysicsChapters-module__IAVxNa__flowSub">inherits the object’s record</text></g><g><rect x="690" y="244" width="250" height="64" rx="2" class="PhysicsChapters-module__IAVxNa__flowBox"></rect><text x="815" y="281" text-anchor="middle" class="PhysicsChapters-module__IAVxNa__flowTitle">field on the splat</text></g><g class="PhysicsChapters-module__IAVxNa__flowLine" marker-end="url(#flow-arrow)"><path d="M270,48 H351" marker-end="url(#flow-arrow)"></path><path d="M605,48 H686" marker-end="url(#flow-arrow)"></path><path d="M815,80 V126" marker-end="url(#flow-arrow)"></path><path d="M690,162 H609" marker-end="url(#flow-arrow)"></path><path d="M355,162 H274" marker-end="url(#flow-arrow)"></path><path d="M145,194 V240" marker-end="url(#flow-arrow)"></path><path d="M270,276 H351" marker-end="url(#flow-arrow)"></path><path d="M145,210 H815 V240" marker-end="url(#flow-arrow)"></path></g></svg></div><div class="chapter__caption"><div style="font-family:var(--font-sans);font-size:10px;font-weight:700;line-height:1.5;letter-spacing:0.02em;color:var(--ink)">Workflow from input images to physics properties on segmented objects</div><div style="font-family:var(--font-sans);font-size:10px;font-weight:700;line-height:1.5;letter-spacing:0.02em;color:var(--accent);margin-left:auto;flex-shrink:0">2.3</div></div></div><div class="chapter__text"><p>Similar to rigidity, we infer destruction mechanics from the predictive physics properties of each object. This is important for accomplishing a wider range of common tasks that require deforming scene objects, such as cooking and cleaning.</p></div><div class="chapter__exhibit chapter__exhibit--bleed" data-bleed=""><div class="clips" style="grid-template-columns:repeat(3, minmax(0, 1fr))"><figure style="margin:0;min-width:0"><div style="position:relative;border:1px solid var(--hairline);background:var(--ink);aspect-ratio:4 / 3;overflow:hidden"><video src="./videos/parchment_free_fracture.mp4" poster="./videos/parchment_free_fracture.jpg" muted="" loop="" playsInline="" controls="" preload="metadata" aria-label="A Dexmate robot with two Sharpa hands pulls parchment from a roll, tears a sheet free, and lays it over a bowl of fruit." style="position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block"></video></div><figcaption style="margin-top:10px"><div style="font-family:var(--font-sans);font-size:10px;font-weight:700;line-height:1.5;letter-spacing:0.02em;color:var(--text-muted)">A Dexmate robot with two Sharpa hands pulls parchment from a roll, tears a sheet free, and lays it over a bowl of fruit.</div></figcaption></figure><figure style="margin:0;min-width:0"><div style="position:relative;border:1px solid var(--hairline);background:var(--ink);aspect-ratio:4 / 3;overflow:hidden"><video src="./videos/parchment_free_fracture_tear.mp4" poster="./videos/parchment_free_fracture_tear.jpg" muted="" loop="" playsInline="" preload="metadata" aria-label="Close view of the parchment tearing" style="position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block"></video></div></figure><figure style="margin:0;min-width:0"><div style="position:relative;border:1px solid var(--hairline);background:var(--ink);aspect-ratio:4 / 3;overflow:hidden"><video src="./videos/parchment_free_fracture_hands.mp4" poster="./videos/parchment_free_fracture_hands.jpg" muted="" loop="" playsInline="" preload="metadata" aria-label="The same run from a camera that follows the hands" style="position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block"></video></div></figure></div><div class="chapter__caption"><div style="font-family:var(--font-sans);font-size:10px;font-weight:700;line-height:1.5;letter-spacing:0.02em;color:var(--accent);margin-left:auto;flex-shrink:0">2.4</div></div></div><div class="chapter__text"><p>Beyond rigid and articulated objects, we also simulate liquids, soft solids, cutting and fracture. Milk is simulated with the material point method (MPM) and position-based fluids, while the jelly and watermelon use cohesive finite elements in Newton and the salmon uses a cohesive volumetric network over the region the knife cuts.</p></div><div class="chapter__exhibit chapter__exhibit--bleed sub" data-bleed=""><div class="PhysicsChapters-module__IAVxNa__materials"><figure style="margin:0;min-width:0"><div style="position:relative;border:1px solid var(--hairline);background:var(--ink);aspect-ratio:16 / 9;overflow:hidden"><video src="./videos/materials/milk.mp4" poster="./videos/materials/milk.jpg" muted="" loop="" playsInline="" controls="" preload="metadata" aria-label="Milk spill" style="position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block"></video></div><figcaption style="margin-top:10px"><div style="font-family:var(--font-sans);font-size:10px;font-weight:700;line-height:1.5;letter-spacing:0.02em;color:var(--text-muted)">Milk spill</div></figcaption></figure><figure style="margin:0;min-width:0"><div style="position:relative;border:1px solid var(--hairline);background:var(--ink);aspect-ratio:16 / 9;overflow:hidden"><video src="./videos/materials/jelly.mp4" poster="./videos/materials/jelly.jpg" muted="" loop="" playsInline="" controls="" preload="metadata" aria-label="Jelly under hand contact" style="position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block"></video></div><figcaption style="margin-top:10px"><div style="font-family:var(--font-sans);font-size:10px;font-weight:700;line-height:1.5;letter-spacing:0.02em;color:var(--text-muted)">Jelly under hand contact</div></figcaption></figure><figure style="margin:0;min-width:0"><div style="position:relative;border:1px solid var(--hairline);background:var(--ink);aspect-ratio:16 / 9;overflow:hidden"><video src="./videos/materials/watermelon.mp4" poster="./videos/materials/watermelon.jpg" muted="" loop="" playsInline="" controls="" preload="metadata" aria-label="Watermelon impact and fracture" style="position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block"></video></div><figcaption style="margin-top:10px"><div style="font-family:var(--font-sans);font-size:10px;font-weight:700;line-height:1.5;letter-spacing:0.02em;color:var(--text-muted)">Watermelon impact and fracture</div></figcaption></figure><figure style="margin:0;min-width:0"><div style="position:relative;border:1px solid var(--hairline);background:var(--ink);aspect-ratio:16 / 9;overflow:hidden"><video src="./videos/materials/salmon.mp4" poster="./videos/materials/salmon.jpg" muted="" loop="" playsInline="" controls="" preload="metadata" aria-label="Salmon cutting" style="position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block"></video></div><figcaption style="margin-top:10px"><div style="font-family:var(--font-sans);font-size:10px;font-weight:700;line-height:1.5;letter-spacing:0.02em;color:var(--text-muted)">Salmon cutting</div></figcaption></figure><figure style="margin:0;min-width:0"><div style="position:relative;border:1px solid var(--hairline);background:var(--ink);aspect-ratio:16 / 9;overflow:hidden"><video src="./videos/materials/totoro.mp4" poster="./videos/materials/totoro.jpg" muted="" loop="" playsInline="" controls="" preload="metadata" aria-label="Totoro with Panda and Sharpa hands" style="position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block"></video></div><figcaption style="margin-top:10px"><div style="font-family:var(--font-sans);font-size:10px;font-weight:700;line-height:1.5;letter-spacing:0.02em;color:var(--text-muted)">Totoro with Panda and Sharpa hands</div></figcaption></figure></div><div class="chapter__caption"><div style="font-family:var(--font-sans);font-size:10px;font-weight:700;line-height:1.5;letter-spacing:0.02em;color:var(--accent);margin-left:auto;flex-shrink:0">2.5</div></div></div><div class="chapter__text"><p>Each run is simulated forward from contact, and Isaac Lab renders the recorded states with RTX path tracing. When a cut or a fracture opens an object, its scanned appearance follows the new surfaces. The material parameters are priors that we have not yet calibrated against measured interactions. The Totoro render shows the scanned appearance of a plush toy; its fabric, seam and stuffing mechanics have not been evaluated.</p></div></section><section class="chapter chapter--bleed" id="agents"><div class="chapter__rule" aria-hidden="true"></div><div class="chapter__head"><div class="chapter__num" aria-hidden="true">3</div><div><h2 class="chapter__title">Agentic Pipeline for SceneAgent</h2><p class="chapter__lead">We provide a team of agents to convert many types of 3d captures into fully usable simulation scenes ready for training in Isaac Lab, MuJoCo, or Unreal. The easiest way to convert a 3d capture is by an agent swarm that processes each step of the pipeline and visually inspects and reviews it for errors.</p></div></div><div class="chapter__exhibit chapter__exhibit--bleed" data-bleed=""><div class="spread" role="img" aria-label="The agentic workflow: 21 agents and skills in four stages, Input, Conversion, Sisters and Policy, processing 3d capture data into usable simulation scenes and policies."><div class="spread__grid" style="--spread-fluid:minmax(0, 300fr) minmax(0, 90fr) minmax(0, 300fr) minmax(0, 90fr) minmax(0, 300fr) minmax(0, 90fr) minmax(0, 300fr) minmax(0, 90fr) minmax(0, 300fr);--spread-fixed:calc(300px * var(--s)) minmax(0, 1fr) calc(300px * var(--s)) minmax(0, 1fr) calc(300px * var(--s)) minmax(0, 1fr) calc(300px * var(--s)) minmax(0, 1fr) calc(300px * var(--s))"><svg class="spread__col" viewBox="0 0 300 1189" style="font-family:Helvetica, "Helvetica Neue", Arimo, Arial, sans-serif"><g><text x="0" y="30" font-size="30" font-weight="700" fill="var(--accent)">00</text><text x="50" y="30" font-size="30" font-weight="700" fill="var(--ink)">Input</text><text x="0" y="71" font-size="24" fill="var(--text-muted)">Process 3D data from RGB</text><text x="0" y="99" font-size="24" fill="var(--text-muted)">images, photogrammetry,</text><text x="0" y="127" font-size="24" fill="var(--text-muted)">3dgs, LiDAR, or video</text></g><line x1="0" y1="44.5" x2="300" y2="44.5" stroke="var(--ink)"></line><g><g class="agent-node" role="img" aria-label="01 Orchestrator: Plans and manages the agents across the stages of conversion and sister generation"><rect x="0.5" y="181.5" width="299" height="199" fill="var(--paper)" stroke="var(--ink)"></rect><g transform="translate(16 199) scale(5)" fill="currentColor" shape-rendering="crispEdges" aria-hidden="true"><g class="agent-sprite" style="--i:0"><g class="agent-sprite__leg"><rect x="4" y="6" width="1" height="1"></rect><rect x="6" y="6" width="1" height="1"></rect><rect x="8" y="6" width="1" height="1"></rect></g><g class="agent-sprite__body"><rect x="2" y="3" width="9" height="1"></rect><rect x="2" y="4" width="2" height="1"></rect><rect x="5" y="4" width="3" height="1"></rect><rect x="9" y="4" width="2" height="1"></rect><rect x="2" y="5" width="9" height="1"></rect></g><g class="agent-sprite__tool"><rect x="6" y="0" width="1" height="1"></rect><rect x="6" y="1" width="1" height="1"></rect><rect x="6" y="2" width="1" height="1"></rect></g></g></g><text x="93" y="217.9" font-size="22" font-weight="700" fill="var(--accent)">01</text><text x="126.5" y="217.9" font-size="22" font-weight="700" fill="var(--ink)">Orchestrator</text><text x="16" y="262" font-size="21" fill="var(--text-body)">Plans and manages the</text><text x="16" y="288" font-size="21" fill="var(--text-body)">agents across the stages of</text><text x="16" y="314" font-size="21" fill="var(--text-body)">conversion and sister</text><text x="16" y="340" font-size="21" fill="var(--text-body)">generation</text><text x="16" y="366" font-size="12.5" font-family="var(--font-pixel)" fill="var(--text-label)">SCENEAGENT-RUN-PIPELINE</text></g><line x1="150" y1="381" x2="150" y2="403" stroke="var(--text-label)"></line></g><g><g class="agent-node" role="img" aria-label="02 Ingest: Ingests data in various forms for processing to 3dgs"><rect x="0.5" y="403.5" width="299" height="147" fill="var(--paper)" stroke="var(--ink)"></rect><g transform="translate(16 421) scale(5)" fill="currentColor" shape-rendering="crispEdges" aria-hidden="true"><g class="agent-sprite" style="--i:1"><g class="agent-sprite__leg"><rect x="4" y="6" width="1" height="1"></rect><rect x="6" y="6" width="1" height="1"></rect><rect x="8" y="6" width="1" height="1"></rect></g><g class="agent-sprite__body"><rect x="2" y="3" width="9" height="1"></rect><rect x="2" y="4" width="2" height="1"></rect><rect x="5" y="4" width="3" height="1"></rect><rect x="9" y="4" width="2" height="1"></rect><rect x="2" y="5" width="9" height="1"></rect></g><g class="agent-sprite__tool"><rect x="2" y="0" width="9" height="1"></rect><rect x="4" y="1" width="5" height="1"></rect></g></g></g><text x="93" y="439.9" font-size="22" font-weight="700" fill="var(--accent)">02</text><text x="126.5" y="439.9" font-size="22" font-weight="700" fill="var(--ink)">Ingest</text><text x="16" y="484" font-size="21" fill="var(--text-body)">Ingests data in various</text><text x="16" y="510" font-size="21" fill="var(--text-body)">forms for processing to 3dgs</text><text x="16" y="536" font-size="12.5" font-family="var(--font-pixel)" fill="var(--text-label)">SCENEAGENT-INGEST-DATA</text></g><line x1="150" y1="551" x2="150" y2="573" stroke="var(--text-label)"></line></g><g><g class="agent-node" role="img" aria-label="03 Video to 4D: Turns a video of a person using a scene into a 4D USD and MJCF package"><rect x="0.5" y="573.5" width="299" height="173" fill="var(--paper)" stroke="var(--ink)"></rect><g transform="translate(16 591) scale(5)" fill="currentColor" shape-rendering="crispEdges" aria-hidden="true"><g class="agent-sprite" style="--i:2"><g class="agent-sprite__leg"><rect x="4" y="6" width="1" height="1"></rect><rect x="6" y="6" width="1" height="1"></rect><rect x="8" y="6" width="1" height="1"></rect></g><g class="agent-sprite__body"><rect x="2" y="3" width="9" height="1"></rect><rect x="2" y="4" width="2" height="1"></rect><rect x="5" y="4" width="3" height="1"></rect><rect x="9" y="4" width="2" height="1"></rect><rect x="2" y="5" width="9" height="1"></rect></g><g class="agent-sprite__tool"><rect x="3" y="0" width="5" height="1"></rect><rect x="10" y="0" width="1" height="1"></rect><rect x="3" y="1" width="8" height="1"></rect></g></g></g><text x="93" y="609.9" font-size="22" font-weight="700" fill="var(--accent)">03</text><text x="126.5" y="609.9" font-size="22" font-weight="700" fill="var(--ink)">Video to 4D</text><text x="16" y="654" font-size="21" fill="var(--text-body)">Turns a video of a person</text><text x="16" y="680" font-size="21" fill="var(--text-body)">using a scene into a 4D</text><text x="16" y="706" font-size="21" fill="var(--text-body)">USD and MJCF package</text><text x="16" y="732" font-size="12.5" font-family="var(--font-pixel)" fill="var(--text-label)">SCENEAGENT-VIDEO-TO-4D</text></g><line x1="150" y1="747" x2="150" y2="769" stroke="var(--text-label)"></line></g><g><g class="agent-node" role="img" aria-label="04 Step runner: Runs each pipeline step and reviews its masks, fields, objects and parts"><rect x="0.5" y="769.5" width="299" height="173" fill="var(--paper)" stroke="var(--ink)"></rect><g transform="translate(16 787) scale(5)" fill="currentColor" shape-rendering="crispEdges" aria-hidden="true"><g class="agent-sprite" style="--i:3"><g class="agent-sprite__leg"><rect x="4" y="6" width="1" height="1"></rect><rect x="6" y="6" width="1" height="1"></rect><rect x="8" y="6" width="1" height="1"></rect></g><g class="agent-sprite__body"><rect x="2" y="3" width="9" height="1"></rect><rect x="2" y="4" width="2" height="1"></rect><rect x="5" y="4" width="3" height="1"></rect><rect x="9" y="4" width="2" height="1"></rect><rect x="2" y="5" width="9" height="1"></rect></g><g class="agent-sprite__tool"><rect x="4" y="0" width="1" height="1"></rect><rect x="6" y="0" width="1" height="1"></rect><rect x="8" y="0" width="1" height="1"></rect><rect x="4" y="1" width="1" height="1"></rect><rect x="6" y="1" width="1" height="1"></rect><rect x="8" y="1" width="1" height="1"></rect></g></g></g><text x="93" y="805.9" font-size="22" font-weight="700" fill="var(--accent)">04</text><text x="126.5" y="805.9" font-size="22" font-weight="700" fill="var(--ink)">Step runner</text><text x="16" y="850" font-size="21" fill="var(--text-body)">Runs each pipeline step and</text><text x="16" y="876" font-size="21" fill="var(--text-body)">reviews its masks, fields,</text><text x="16" y="902" font-size="21" fill="var(--text-body)">objects and parts</text><text x="16" y="928" font-size="12.5" font-family="var(--font-pixel)" fill="var(--text-label)">SCENEAGENT-RUN-STEP</text></g></g></svg><div class="spread__gutter" aria-hidden="true"><svg viewBox="0 0 90 1189" preserveAspectRatio="none"><polyline points="0,856 45,856 45,268 90,268" fill="none" stroke="var(--text-label)" vector-effect="non-scaling-stroke"></polyline></svg></div><svg class="spread__col" viewBox="0 0 300 1189" style="font-family:Helvetica, "Helvetica Neue", Arimo, Arial, sans-serif"><g><text x="0" y="30" font-size="30" font-weight="700" fill="var(--accent)">01</text><text x="50" y="30" font-size="30" font-weight="700" fill="var(--ink)">Conversion</text><text x="0" y="71" font-size="24" fill="var(--text-muted)">Segment and predict properties for objects in the scan, then</text><text x="0" y="99" font-size="24" fill="var(--text-muted)">package and inspect the scene</text></g><line x1="0" y1="44.5" x2="300" y2="44.5" stroke="var(--ink)"></line><g><g class="agent-node" role="img" aria-label="05 Alignment: Fits asset scale, position and rotation to cameras, masks and Gaussians"><rect x="0.5" y="181.5" width="299" height="173" fill="var(--paper)" stroke="var(--ink)"></rect><g transform="translate(16 199) scale(5)" fill="currentColor" shape-rendering="crispEdges" aria-hidden="true"><g class="agent-sprite" style="--i:4"><g class="agent-sprite__leg"><rect x="4" y="6" width="1" height="1"></rect><rect x="6" y="6" width="1" height="1"></rect><rect x="8" y="6" width="1" height="1"></rect></g><g class="agent-sprite__body"><rect x="2" y="3" width="9" height="1"></rect><rect x="2" y="4" width="2" height="1"></rect><rect x="5" y="4" width="3" height="1"></rect><rect x="9" y="4" width="2" height="1"></rect><rect x="2" y="5" width="9" height="1"></rect></g><g class="agent-sprite__tool"><rect x="2" y="0" width="1" height="1"></rect><rect x="4" y="0" width="5" height="1"></rect><rect x="10" y="0" width="1" height="1"></rect></g></g></g><text x="93" y="217.9" font-size="22" font-weight="700" fill="var(--accent)">05</text><text x="126.5" y="217.9" font-size="22" font-weight="700" fill="var(--ink)">Alignment</text><text x="16" y="262" font-size="21" fill="var(--text-body)">Fits asset scale, position</text><text x="16" y="288" font-size="21" fill="var(--text-body)">and rotation to cameras,</text><text x="16" y="314" font-size="21" fill="var(--text-body)">masks and Gaussians</text><text x="16" y="340" font-size="12.5" font-family="var(--font-pixel)" fill="var(--text-label)">SCENEAGENT-ALIGN-SCENE</text></g><line x1="150" y1="355" x2="150" y2="377" stroke="var(--text-label)"></line></g><g><g class="agent-node" role="img" aria-label="06 Infill: Fills the background behind removed objects from detected planes"><rect x="0.5" y="377.5" width="299" height="173" fill="var(--paper)" stroke="var(--ink)"></rect><g transform="translate(16 395) scale(5)" fill="currentColor" shape-rendering="crispEdges" aria-hidden="true"><g class="agent-sprite" style="--i:5"><g class="agent-sprite__leg"><rect x="4" y="6" width="1" height="1"></rect><rect x="6" y="6" width="1" height="1"></rect><rect x="8" y="6" width="1" height="1"></rect></g><g class="agent-sprite__body"><rect x="2" y="3" width="9" height="1"></rect><rect x="2" y="4" width="2" height="1"></rect><rect x="5" y="4" width="3" height="1"></rect><rect x="9" y="4" width="2" height="1"></rect><rect x="2" y="5" width="9" height="1"></rect></g><g class="agent-sprite__tool"><rect x="2" y="0" width="3" height="1"></rect><rect x="8" y="0" width="3" height="1"></rect><rect x="2" y="1" width="9" height="1"></rect></g></g></g><text x="93" y="413.9" font-size="22" font-weight="700" fill="var(--accent)">06</text><text x="126.5" y="413.9" font-size="22" font-weight="700" fill="var(--ink)">Infill</text><text x="16" y="458" font-size="21" fill="var(--text-body)">Fills the background behind</text><text x="16" y="484" font-size="21" fill="var(--text-body)">removed objects from</text><text x="16" y="510" font-size="21" fill="var(--text-body)">detected planes</text><text x="16" y="536" font-size="12.5" font-family="var(--font-pixel)" fill="var(--text-label)">SCENEAGENT-RUN-STEP</text></g><line x1="150" y1="551" x2="150" y2="573" stroke="var(--text-label)"></line></g><g><g class="agent-node" role="img" aria-label="07 Orientation: Runs Isaac Lab sweeps that orient the 3DGS background to the scene"><rect x="0.5" y="573.5" width="299" height="173" fill="var(--paper)" stroke="var(--ink)"></rect><g transform="translate(16 591) scale(5)" fill="currentColor" shape-rendering="crispEdges" aria-hidden="true"><g class="agent-sprite" style="--i:6"><g class="agent-sprite__leg"><rect x="4" y="6" width="1" height="1"></rect><rect x="6" y="6" width="1" height="1"></rect><rect x="8" y="6" width="1" height="1"></rect></g><g class="agent-sprite__body"><rect x="2" y="3" width="9" height="1"></rect><rect x="2" y="4" width="2" height="1"></rect><rect x="5" y="4" width="3" height="1"></rect><rect x="9" y="4" width="2" height="1"></rect><rect x="2" y="5" width="9" height="1"></rect></g><g class="agent-sprite__tool"><rect x="5" y="0" width="3" height="1"></rect><rect x="6" y="1" width="1" height="1"></rect></g></g></g><text x="93" y="609.9" font-size="22" font-weight="700" fill="var(--accent)">07</text><text x="126.5" y="609.9" font-size="22" font-weight="700" fill="var(--ink)">Orientation</text><text x="16" y="654" font-size="21" fill="var(--text-body)">Runs Isaac Lab sweeps that</text><text x="16" y="680" font-size="21" fill="var(--text-body)">orient the 3DGS</text><text x="16" y="706" font-size="21" fill="var(--text-body)">background to the scene</text><text x="16" y="732" font-size="12.5" font-family="var(--font-pixel)" fill="var(--text-label)">SCENEAGENT-ORIENT-BACKGROUND</text></g><line x1="150" y1="747" x2="150" y2="769" stroke="var(--text-label)"></line></g><g><g class="agent-node" role="img" aria-label="08 Physics: Fuses a per-Gaussian physics prior with a VLM into material properties"><rect x="0.5" y="769.5" width="299" height="173" fill="var(--paper)" stroke="var(--ink)"></rect><g transform="translate(16 787) scale(5)" fill="currentColor" shape-rendering="crispEdges" aria-hidden="true"><g class="agent-sprite" style="--i:7"><g class="agent-sprite__leg"><rect x="4" y="6" width="1" height="1"></rect><rect x="6" y="6" width="1" height="1"></rect><rect x="8" y="6" width="1" height="1"></rect></g><g class="agent-sprite__body"><rect x="2" y="3" width="9" height="1"></rect><rect x="2" y="4" width="2" height="1"></rect><rect x="5" y="4" width="3" height="1"></rect><rect x="9" y="4" width="2" height="1"></rect><rect x="2" y="5" width="9" height="1"></rect></g><g class="agent-sprite__tool"><rect x="5" y="0" width="3" height="1"></rect><rect x="5" y="1" width="3" height="1"></rect></g></g></g><text x="93" y="805.9" font-size="22" font-weight="700" fill="var(--accent)">08</text><text x="126.5" y="805.9" font-size="22" font-weight="700" fill="var(--ink)">Physics</text><text x="16" y="850" font-size="21" fill="var(--text-body)">Fuses a per-Gaussian</text><text x="16" y="876" font-size="21" fill="var(--text-body)">physics prior with a VLM</text><text x="16" y="902" font-size="21" fill="var(--text-body)">into material properties</text><text x="16" y="928" font-size="12.5" font-family="var(--font-pixel)" fill="var(--text-label)">SCENEAGENT-RUN-STEP</text></g><line x1="150" y1="943" x2="150" y2="965" stroke="var(--text-label)"></line></g><g><g class="agent-node" role="img" aria-label="09 Parts: Decomposes objects with PartSAM, CubePart completes hidden geometry"><rect x="0.5" y="965.5" width="299" height="173" fill="var(--paper)" stroke="var(--ink)"></rect><g transform="translate(16 983) scale(5)" fill="currentColor" shape-rendering="crispEdges" aria-hidden="true"><g class="agent-sprite" style="--i:8"><g class="agent-sprite__leg"><rect x="4" y="6" width="1" height="1"></rect><rect x="6" y="6" width="1" height="1"></rect><rect x="8" y="6" width="1" height="1"></rect></g><g class="agent-sprite__body"><rect x="2" y="3" width="9" height="1"></rect><rect x="2" y="4" width="2" height="1"></rect><rect x="5" y="4" width="3" height="1"></rect><rect x="9" y="4" width="2" height="1"></rect><rect x="2" y="5" width="9" height="1"></rect></g><g class="agent-sprite__tool"><rect x="3" y="0" width="1" height="1"></rect><rect x="5" y="0" width="3" height="1"></rect><rect x="9" y="0" width="1" height="1"></rect><rect x="3" y="1" width="1" height="1"></rect><rect x="5" y="1" width="3" height="1"></rect><rect x="9" y="1" width="1" height="1"></rect></g></g></g><text x="93" y="1001.9" font-size="22" font-weight="700" fill="var(--accent)">09</text><text x="126.5" y="1001.9" font-size="22" font-weight="700" fill="var(--ink)">Parts</text><text x="16" y="1046" font-size="21" fill="var(--text-body)">Decomposes objects with</text><text x="16" y="1072" font-size="21" fill="var(--text-body)">PartSAM, CubePart</text><text x="16" y="1098" font-size="21" fill="var(--text-body)">completes hidden geometry</text><text x="16" y="1124" font-size="12.5" font-family="var(--font-pixel)" fill="var(--text-label)">SCENEAGENT-RUN-STEP</text></g></g></svg><div class="spread__gutter" aria-hidden="true"><svg viewBox="0 0 90 1189" preserveAspectRatio="none"><polyline points="0,44.5 90,44.5" fill="none" stroke="var(--ink)" vector-effect="non-scaling-stroke"></polyline><polyline points="0,1052 45,1052 45,276.5 90,276.5" fill="none" stroke="var(--text-label)" vector-effect="non-scaling-stroke"></polyline></svg></div><svg class="spread__col" viewBox="0 0 300 1189" style="font-family:Helvetica, "Helvetica Neue", Arimo, Arial, sans-serif"><line x1="0" y1="44.5" x2="300" y2="44.5" stroke="var(--ink)"></line><g><g class="agent-node" role="img" aria-label="10 Articulation: Proposes joints with Articulate Anything and reviews the motion in Isaac"><rect x="0.5" y="181.5" width="299" height="190" fill="var(--paper)" stroke="var(--ink)"></rect><g transform="translate(16 199) scale(5)" fill="currentColor" shape-rendering="crispEdges" aria-hidden="true"><g class="agent-sprite" style="--i:9"><g class="agent-sprite__leg"><rect x="4" y="6" width="1" height="1"></rect><rect x="6" y="6" width="1" height="1"></rect><rect x="8" y="6" width="1" height="1"></rect></g><g class="agent-sprite__body"><rect x="2" y="3" width="9" height="1"></rect><rect x="2" y="4" width="2" height="1"></rect><rect x="5" y="4" width="3" height="1"></rect><rect x="9" y="4" width="2" height="1"></rect><rect x="2" y="5" width="9" height="1"></rect></g><g class="agent-sprite__tool"><rect x="2" y="0" width="2" height="1"></rect><rect x="9" y="0" width="2" height="1"></rect><rect x="3" y="1" width="7" height="1"></rect></g></g></g><text x="93" y="217.9" font-size="22" font-weight="700" fill="var(--accent)">10</text><text x="126.5" y="217.9" font-size="22" font-weight="700" fill="var(--ink)">Articulation</text><text x="16" y="262" font-size="21" fill="var(--text-body)">Proposes joints with</text><text x="16" y="288" font-size="21" fill="var(--text-body)">Articulate Anything and</text><text x="16" y="314" font-size="21" fill="var(--text-body)">reviews the motion in Isaac</text><text x="16" y="340" font-size="12.5" font-family="var(--font-pixel)" fill="var(--text-label)">SCENEAGENT-ARTICULATE-NATIVE-</text><text x="16" y="357" font-size="12.5" font-family="var(--font-pixel)" fill="var(--text-label)">ASSETS</text></g><line x1="150" y1="372" x2="150" y2="394" stroke="var(--text-label)"></line></g><g><g class="agent-node" role="img" aria-label="11 Fracture: Simulates soft bodies, tearing and fracture with Warp material models"><rect x="0.5" y="394.5" width="299" height="173" fill="var(--paper)" stroke="var(--ink)"></rect><g transform="translate(16 412) scale(5)" fill="currentColor" shape-rendering="crispEdges" aria-hidden="true"><g class="agent-sprite" style="--i:10"><g class="agent-sprite__leg"><rect x="4" y="6" width="1" height="1"></rect><rect x="6" y="6" width="1" height="1"></rect><rect x="8" y="6" width="1" height="1"></rect></g><g class="agent-sprite__body"><rect x="2" y="3" width="9" height="1"></rect><rect x="2" y="4" width="2" height="1"></rect><rect x="5" y="4" width="3" height="1"></rect><rect x="9" y="4" width="2" height="1"></rect><rect x="2" y="5" width="9" height="1"></rect></g><g class="agent-sprite__tool"><rect x="3" y="0" width="3" height="1"></rect><rect x="7" y="0" width="2" height="1"></rect><rect x="4" y="1" width="2" height="1"></rect><rect x="7" y="1" width="3" height="1"></rect></g></g></g><text x="93" y="430.9" font-size="22" font-weight="700" fill="var(--accent)">11</text><text x="126.5" y="430.9" font-size="22" font-weight="700" fill="var(--ink)">Fracture</text><text x="16" y="475" font-size="21" fill="var(--text-body)">Simulates soft bodies,</text><text x="16" y="501" font-size="21" fill="var(--text-body)">tearing and fracture with</text><text x="16" y="527" font-size="21" fill="var(--text-body)">Warp material models</text><text x="16" y="553" font-size="12.5" font-family="var(--font-pixel)" fill="var(--text-label)">SCENEAGENT-SIMULATE-FRACTURE</text></g><line x1="150" y1="568" x2="150" y2="590" stroke="var(--text-label)"></line></g><g><g class="agent-node" role="img" aria-label="12 4D timeseries: Completes the scene around a 4D interaction and infills actor shadows"><rect x="0.5" y="590.5" width="299" height="173" fill="var(--paper)" stroke="var(--ink)"></rect><g transform="translate(16 608) scale(5)" fill="currentColor" shape-rendering="crispEdges" aria-hidden="true"><g class="agent-sprite" style="--i:11"><g class="agent-sprite__leg"><rect x="4" y="6" width="1" height="1"></rect><rect x="6" y="6" width="1" height="1"></rect><rect x="8" y="6" width="1" height="1"></rect></g><g class="agent-sprite__body"><rect x="2" y="3" width="9" height="1"></rect><rect x="2" y="4" width="2" height="1"></rect><rect x="5" y="4" width="3" height="1"></rect><rect x="9" y="4" width="2" height="1"></rect><rect x="2" y="5" width="9" height="1"></rect></g><g class="agent-sprite__tool"><rect x="6" y="0" width="4" height="1"></rect><rect x="3" y="1" width="7" height="1"></rect></g></g></g><text x="93" y="626.9" font-size="22" font-weight="700" fill="var(--accent)">12</text><text x="126.5" y="626.9" font-size="22" font-weight="700" fill="var(--ink)">4D timeseries</text><text x="16" y="671" font-size="21" fill="var(--text-body)">Completes the scene</text><text x="16" y="697" font-size="21" fill="var(--text-body)">around a 4D interaction and</text><text x="16" y="723" font-size="21" fill="var(--text-body)">infills actor shadows</text><text x="16" y="749" font-size="12.5" font-family="var(--font-pixel)" fill="var(--text-label)">SCENEAGENT-TIMESERIES-4D-SCENE</text></g><line x1="150" y1="764" x2="150" y2="786" stroke="var(--text-label)"></line></g><g><g class="agent-node" role="img" aria-label="13 Packager: Publishes the package for the SceneAgent editor and Isaac Lab"><rect x="0.5" y="786.5" width="299" height="190" fill="var(--paper)" stroke="var(--ink)"></rect><g transform="translate(16 804) scale(5)" fill="currentColor" shape-rendering="crispEdges" aria-hidden="true"><g class="agent-sprite" style="--i:12"><g class="agent-sprite__leg"><rect x="4" y="6" width="1" height="1"></rect><rect x="6" y="6" width="1" height="1"></rect><rect x="8" y="6" width="1" height="1"></rect></g><g class="agent-sprite__body"><rect x="2" y="3" width="9" height="1"></rect><rect x="2" y="4" width="2" height="1"></rect><rect x="5" y="4" width="3" height="1"></rect><rect x="9" y="4" width="2" height="1"></rect><rect x="2" y="5" width="9" height="1"></rect></g><g class="agent-sprite__tool"><rect x="4" y="0" width="5" height="1"></rect><rect x="4" y="1" width="5" height="1"></rect></g></g></g><text x="93" y="822.9" font-size="22" font-weight="700" fill="var(--accent)">13</text><text x="126.5" y="822.9" font-size="22" font-weight="700" fill="var(--ink)">Packager</text><text x="16" y="867" font-size="21" fill="var(--text-body)">Publishes the package for</text><text x="16" y="893" font-size="21" fill="var(--text-body)">the SceneAgent editor and</text><text x="16" y="919" font-size="21" fill="var(--text-body)">Isaac Lab</text><text x="16" y="945" font-size="12.5" font-family="var(--font-pixel)" fill="var(--text-label)">SCENEAGENT-PACKAGE-DATA-</text><text x="16" y="962" font-size="12.5" font-family="var(--font-pixel)" fill="var(--text-label)">PROCESSED</text></g><line x1="150" y1="977" x2="150" y2="999" stroke="var(--text-label)"></line></g><g><g class="agent-node" role="img" aria-label="14 Inspector: Reviews the exported scene in Isaac Lab and reports fixes"><rect x="0.5" y="999.5" width="299" height="173" fill="var(--paper)" stroke="var(--ink)"></rect><g transform="translate(16 1017) scale(5)" fill="currentColor" shape-rendering="crispEdges" aria-hidden="true"><g class="agent-sprite" style="--i:13"><g class="agent-sprite__leg"><rect x="4" y="6" width="1" height="1"></rect><rect x="6" y="6" width="1" height="1"></rect><rect x="8" y="6" width="1" height="1"></rect></g><g class="agent-sprite__body"><rect x="2" y="3" width="9" height="1"></rect><rect x="2" y="4" width="2" height="1"></rect><rect x="5" y="4" width="3" height="1"></rect><rect x="9" y="4" width="2" height="1"></rect><rect x="2" y="5" width="9" height="1"></rect></g><g class="agent-sprite__tool"><rect x="4" y="0" width="4" height="1"></rect><rect x="4" y="1" width="2" height="1"></rect></g></g></g><text x="93" y="1035.9" font-size="22" font-weight="700" fill="var(--accent)">14</text><text x="126.5" y="1035.9" font-size="22" font-weight="700" fill="var(--ink)">Inspector</text><text x="16" y="1080" font-size="21" fill="var(--text-body)">Reviews the exported scene</text><text x="16" y="1106" font-size="21" fill="var(--text-body)">in Isaac Lab and reports</text><text x="16" y="1132" font-size="21" fill="var(--text-body)">fixes</text><text x="16" y="1158" font-size="12.5" font-family="var(--font-pixel)" fill="var(--text-label)">SCENEAGENT-INSPECT-ISAAC</text></g></g></svg><div class="spread__gutter" aria-hidden="true"><svg viewBox="0 0 90 1189" preserveAspectRatio="none"><polyline points="0,1086 45,1086 45,268 90,268" fill="none" stroke="var(--text-label)" vector-effect="non-scaling-stroke"></polyline></svg></div><svg class="spread__col" viewBox="0 0 300 1189" style="font-family:Helvetica, "Helvetica Neue", Arimo, Arial, sans-serif"><g><text x="0" y="30" font-size="30" font-weight="700" fill="var(--accent)">02</text><text x="50" y="30" font-size="30" font-weight="700" fill="var(--ink)">Sisters</text><text x="0" y="71" font-size="24" fill="var(--text-muted)">From the processed digital</text><text x="0" y="99" font-size="24" fill="var(--text-muted)">twin, generate a family of</text><text x="0" y="127" font-size="24" fill="var(--text-muted)">object and scene sisters</text></g><line x1="0" y1="44.5" x2="300" y2="44.5" stroke="var(--ink)"></line><g><g class="agent-node" role="img" aria-label="15 Augmentation: Expands the twin into object and scene sisters and passes objects on"><rect x="0.5" y="181.5" width="299" height="173" fill="var(--paper)" stroke="var(--ink)"></rect><g transform="translate(16 199) scale(5)" fill="currentColor" shape-rendering="crispEdges" aria-hidden="true"><g class="agent-sprite" style="--i:14"><g class="agent-sprite__leg"><rect x="4" y="6" width="1" height="1"></rect><rect x="6" y="6" width="1" height="1"></rect><rect x="8" y="6" width="1" height="1"></rect></g><g class="agent-sprite__body"><rect x="2" y="3" width="9" height="1"></rect><rect x="2" y="4" width="2" height="1"></rect><rect x="5" y="4" width="3" height="1"></rect><rect x="9" y="4" width="2" height="1"></rect><rect x="2" y="5" width="9" height="1"></rect></g><g class="agent-sprite__tool"><rect x="3" y="0" width="1" height="1"></rect><rect x="6" y="0" width="1" height="1"></rect><rect x="9" y="0" width="1" height="1"></rect><rect x="3" y="1" width="7" height="1"></rect></g></g></g><text x="93" y="217.9" font-size="22" font-weight="700" fill="var(--accent)">15</text><text x="126.5" y="217.9" font-size="22" font-weight="700" fill="var(--ink)">Augmentation</text><text x="16" y="262" font-size="21" fill="var(--text-body)">Expands the twin into object</text><text x="16" y="288" font-size="21" fill="var(--text-body)">and scene sisters and</text><text x="16" y="314" font-size="21" fill="var(--text-body)">passes objects on</text><text x="16" y="340" font-size="12.5" font-family="var(--font-pixel)" fill="var(--text-label)">SCENEAGENT-GENERATE-SISTERS</text></g><line x1="150" y1="355" x2="150" y2="377" stroke="var(--text-label)"></line></g><g><g class="agent-node" role="img" aria-label="16 Object sisters: Proposes objects that keep the affordance and vary shape and appearance"><rect x="0.5" y="377.5" width="299" height="173" fill="var(--paper)" stroke="var(--ink)"></rect><g transform="translate(16 395) scale(5)" fill="currentColor" shape-rendering="crispEdges" aria-hidden="true"><g class="agent-sprite" style="--i:15"><g class="agent-sprite__leg"><rect x="4" y="6" width="1" height="1"></rect><rect x="6" y="6" width="1" height="1"></rect><rect x="8" y="6" width="1" height="1"></rect></g><g class="agent-sprite__body"><rect x="2" y="3" width="9" height="1"></rect><rect x="2" y="4" width="2" height="1"></rect><rect x="5" y="4" width="3" height="1"></rect><rect x="9" y="4" width="2" height="1"></rect><rect x="2" y="5" width="9" height="1"></rect></g><g class="agent-sprite__tool"><rect x="3" y="0" width="2" height="1"></rect><rect x="8" y="0" width="2" height="1"></rect><rect x="3" y="1" width="2" height="1"></rect><rect x="8" y="1" width="2" height="1"></rect></g></g></g><text x="93" y="413.9" font-size="22" font-weight="700" fill="var(--accent)">16</text><text x="126.5" y="413.9" font-size="22" font-weight="700" fill="var(--ink)">Object sisters</text><text x="16" y="458" font-size="21" fill="var(--text-body)">Proposes objects that keep</text><text x="16" y="484" font-size="21" fill="var(--text-body)">the affordance and vary</text><text x="16" y="510" font-size="21" fill="var(--text-body)">shape and appearance</text><text x="16" y="536" font-size="12.5" font-family="var(--font-pixel)" fill="var(--text-label)">SCENEAGENT-OBJECT-SISTERS</text></g><line x1="150" y1="551" x2="150" y2="573" stroke="var(--text-label)"></line></g><g><g class="agent-node" role="img" aria-label="17 Scene sisters: Samples layouts from spatial relations around a task anchor"><rect x="0.5" y="573.5" width="299" height="173" fill="var(--paper)" stroke="var(--ink)"></rect><g transform="translate(16 591) scale(5)" fill="currentColor" shape-rendering="crispEdges" aria-hidden="true"><g class="agent-sprite" style="--i:16"><g class="agent-sprite__leg"><rect x="4" y="6" width="1" height="1"></rect><rect x="6" y="6" width="1" height="1"></rect><rect x="8" y="6" width="1" height="1"></rect></g><g class="agent-sprite__body"><rect x="2" y="3" width="9" height="1"></rect><rect x="2" y="4" width="2" height="1"></rect><rect x="5" y="4" width="3" height="1"></rect><rect x="9" y="4" width="2" height="1"></rect><rect x="2" y="5" width="9" height="1"></rect></g><g class="agent-sprite__tool"><rect x="3" y="0" width="1" height="1"></rect><rect x="9" y="0" width="1" height="1"></rect><rect x="2" y="1" width="9" height="1"></rect></g></g></g><text x="93" y="609.9" font-size="22" font-weight="700" fill="var(--accent)">17</text><text x="126.5" y="609.9" font-size="22" font-weight="700" fill="var(--ink)">Scene sisters</text><text x="16" y="654" font-size="21" fill="var(--text-body)">Samples layouts from</text><text x="16" y="680" font-size="21" fill="var(--text-body)">spatial relations around a</text><text x="16" y="706" font-size="21" fill="var(--text-body)">task anchor</text><text x="16" y="732" font-size="12.5" font-family="var(--font-pixel)" fill="var(--text-label)">SCENEAGENT-SCENE-SISTERS</text></g><line x1="150" y1="747" x2="150" y2="769" stroke="var(--text-label)"></line></g><g><g class="agent-node" role="img" aria-label="18 Task sisters: Varies the instruction and goal of the task in each sister scene"><rect x="0.5" y="769.5" width="299" height="173" fill="var(--paper)" stroke="var(--ink)"></rect><g transform="translate(16 787) scale(5)" fill="currentColor" shape-rendering="crispEdges" aria-hidden="true"><g class="agent-sprite" style="--i:17"><g class="agent-sprite__leg"><rect x="4" y="6" width="1" height="1"></rect><rect x="6" y="6" width="1" height="1"></rect><rect x="8" y="6" width="1" height="1"></rect></g><g class="agent-sprite__body"><rect x="2" y="3" width="9" height="1"></rect><rect x="2" y="4" width="2" height="1"></rect><rect x="5" y="4" width="3" height="1"></rect><rect x="9" y="4" width="2" height="1"></rect><rect x="2" y="5" width="9" height="1"></rect></g><g class="agent-sprite__tool"><rect x="8" y="0" width="2" height="1"></rect><rect x="3" y="1" width="5" height="1"></rect></g></g></g><text x="93" y="805.9" font-size="22" font-weight="700" fill="var(--accent)">18</text><text x="126.5" y="805.9" font-size="22" font-weight="700" fill="var(--ink)">Task sisters</text><text x="16" y="850" font-size="21" fill="var(--text-body)">Varies the instruction and</text><text x="16" y="876" font-size="21" fill="var(--text-body)">goal of the task in each</text><text x="16" y="902" font-size="21" fill="var(--text-body)">sister scene</text><text x="16" y="928" font-size="12.5" font-family="var(--font-pixel)" fill="var(--text-label)">SCENEAGENT-TASK-SISTERS</text></g></g></svg><div class="spread__gutter" aria-hidden="true"><svg viewBox="0 0 90 1189" preserveAspectRatio="none"><polyline points="0,856 45,856 45,281 90,281" fill="none" stroke="var(--text-label)" vector-effect="non-scaling-stroke"></polyline></svg></div><svg class="spread__col" viewBox="0 0 300 1189" style="font-family:Helvetica, "Helvetica Neue", Arimo, Arial, sans-serif"><g><text x="0" y="30" font-size="30" font-weight="700" fill="var(--accent)">03</text><text x="50" y="30" font-size="30" font-weight="700" fill="var(--ink)">Policy</text><text x="0" y="71" font-size="24" fill="var(--text-muted)">Evaluate and train robot</text><text x="0" y="99" font-size="24" fill="var(--text-muted)">policies on twins and</text><text x="0" y="127" font-size="24" fill="var(--text-muted)">sisters, in simulation and</text><text x="0" y="155" font-size="24" fill="var(--text-muted)">on hardware</text></g><line x1="0" y1="44.5" x2="300" y2="44.5" stroke="var(--ink)"></line><g><g class="agent-node" role="img" aria-label="19 Researcher: Tests policy in real world and identifies failure modes, designs sisters around failure modes"><rect x="0.5" y="181.5" width="299" height="199" fill="var(--paper)" stroke="var(--ink)"></rect><g transform="translate(16 199) scale(5)" fill="currentColor" shape-rendering="crispEdges" aria-hidden="true"><g class="agent-sprite" style="--i:18"><g class="agent-sprite__leg"><rect x="4" y="6" width="1" height="1"></rect><rect x="6" y="6" width="1" height="1"></rect><rect x="8" y="6" width="1" height="1"></rect></g><g class="agent-sprite__body"><rect x="2" y="3" width="9" height="1"></rect><rect x="2" y="4" width="2" height="1"></rect><rect x="5" y="4" width="3" height="1"></rect><rect x="9" y="4" width="2" height="1"></rect><rect x="2" y="5" width="9" height="1"></rect></g><g class="agent-sprite__tool"><rect x="4" y="0" width="5" height="1"></rect><rect x="4" y="1" width="1" height="1"></rect><rect x="8" y="1" width="1" height="1"></rect></g></g></g><text x="93" y="217.9" font-size="22" font-weight="700" fill="var(--accent)">19</text><text x="126.5" y="217.9" font-size="22" font-weight="700" fill="var(--ink)">Researcher</text><text x="16" y="262" font-size="21" fill="var(--text-body)">Tests policy in real world</text><text x="16" y="288" font-size="21" fill="var(--text-body)">and identifies failure modes,</text><text x="16" y="314" font-size="21" fill="var(--text-body)">designs sisters around</text><text x="16" y="340" font-size="21" fill="var(--text-body)">failure modes</text><text x="16" y="366" font-size="12.5" font-family="var(--font-pixel)" fill="var(--text-label)">SCENEAGENT-POLICY-AUTORESEARCH</text></g><line x1="150" y1="381" x2="150" y2="403" stroke="var(--text-label)"></line></g><g><g class="agent-node" role="img" aria-label="20 Evaluator: Evaluates policies across sisters with fixed seeds and measured outcomes"><rect x="0.5" y="403.5" width="299" height="173" fill="var(--paper)" stroke="var(--ink)"></rect><g transform="translate(16 421) scale(5)" fill="currentColor" shape-rendering="crispEdges" aria-hidden="true"><g class="agent-sprite" style="--i:19"><g class="agent-sprite__leg"><rect x="4" y="6" width="1" height="1"></rect><rect x="6" y="6" width="1" height="1"></rect><rect x="8" y="6" width="1" height="1"></rect></g><g class="agent-sprite__body"><rect x="2" y="3" width="9" height="1"></rect><rect x="2" y="4" width="2" height="1"></rect><rect x="5" y="4" width="3" height="1"></rect><rect x="9" y="4" width="2" height="1"></rect><rect x="2" y="5" width="9" height="1"></rect></g><g class="agent-sprite__tool"><rect x="3" y="0" width="2" height="1"></rect><rect x="6" y="0" width="1" height="1"></rect><rect x="8" y="0" width="2" height="1"></rect><rect x="6" y="1" width="1" height="1"></rect></g></g></g><text x="93" y="439.9" font-size="22" font-weight="700" fill="var(--accent)">20</text><text x="126.5" y="439.9" font-size="22" font-weight="700" fill="var(--ink)">Evaluator</text><text x="16" y="484" font-size="21" fill="var(--text-body)">Evaluates policies across</text><text x="16" y="510" font-size="21" fill="var(--text-body)">sisters with fixed seeds and</text><text x="16" y="536" font-size="21" fill="var(--text-body)">measured outcomes</text><text x="16" y="562" font-size="12.5" font-family="var(--font-pixel)" fill="var(--text-label)">SCENEAGENT-POLICY-EVAL</text></g><line x1="150" y1="577" x2="150" y2="599" stroke="var(--text-label)"></line></g><g><g class="agent-node" role="img" aria-label="21 Trainer: Finetunes policy in digital sister environments with VLM controlled corrections"><rect x="0.5" y="599.5" width="299" height="173" fill="var(--paper)" stroke="var(--ink)"></rect><g transform="translate(16 617) scale(5)" fill="currentColor" shape-rendering="crispEdges" aria-hidden="true"><g class="agent-sprite" style="--i:20"><g class="agent-sprite__leg"><rect x="4" y="6" width="1" height="1"></rect><rect x="6" y="6" width="1" height="1"></rect><rect x="8" y="6" width="1" height="1"></rect></g><g class="agent-sprite__body"><rect x="2" y="3" width="9" height="1"></rect><rect x="2" y="4" width="2" height="1"></rect><rect x="5" y="4" width="3" height="1"></rect><rect x="9" y="4" width="2" height="1"></rect><rect x="2" y="5" width="9" height="1"></rect></g><g class="agent-sprite__tool"><rect x="2" y="0" width="1" height="1"></rect><rect x="4" y="0" width="1" height="1"></rect><rect x="8" y="0" width="1" height="1"></rect><rect x="10" y="0" width="1" height="1"></rect><rect x="2" y="1" width="9" height="1"></rect></g></g></g><text x="93" y="635.9" font-size="22" font-weight="700" fill="var(--accent)">21</text><text x="126.5" y="635.9" font-size="22" font-weight="700" fill="var(--ink)">Trainer</text><text x="16" y="680" font-size="21" fill="var(--text-body)">Finetunes policy in digital</text><text x="16" y="706" font-size="21" fill="var(--text-body)">sister environments with</text><text x="16" y="732" font-size="21" fill="var(--text-body)">VLM controlled corrections</text><text x="16" y="758" font-size="12.5" font-family="var(--font-pixel)" fill="var(--text-label)">SCENEAGENT-ADAPT-VLA-POLICIES</text></g></g></svg></div></div><div class="chapter__caption"><div style="font-family:var(--font-sans);font-size:10px;font-weight:700;line-height:1.5;letter-spacing:0.02em;color:var(--ink)">Figure 4 · An overview of the full agentic pipeline with various tools and skills for processing 3d capture data into usable simulation scenes</div><div style="font-family:var(--font-sans);font-size:10px;font-weight:700;line-height:1.5;letter-spacing:0.02em;color:var(--accent);margin-left:auto;flex-shrink:0">3.2</div></div></div><div class="chapter__text"><p>Our agentic workflow processes 3D capture data of diverse origins into fully usable simulation scenes in Isaac Lab, MuJoCo, or Unreal Engine. The agents are helpful in this case specifically because of the diversity of data formats of 3d data and error-prone nature of object conversion and decomposition models. For example, a common failure mode is that the 3d object segmentation will incorrectly transform the scale, rotation, or placement of the objects in the scene, and agents can take camera renders from within Isaac Lab to visually inspect the conversion results and rapidly correct such small errors.</p></div><div class="chapter__exhibit chapter__exhibit--bleed" data-bleed=""><div class="clips" style="grid-template-columns:repeat(3, minmax(0, 1fr))"><figure style="margin:0;min-width:0"><div style="position:relative;border:1px solid var(--hairline);background:var(--ink);aspect-ratio:4 / 3;overflow:hidden"><video src="./videos/objects/sony_radio_clean.mp4" poster="./videos/objects/sony_radio_clean.jpg" muted="" loop="" playsInline="" preload="metadata" aria-label="Sony radio · full control articulation" style="position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block"></video></div><figcaption style="margin-top:10px"><div style="font-family:var(--font-sans);font-size:10px;font-weight:700;line-height:1.5;letter-spacing:0.02em;color:var(--text-muted)">Sony CFS-43, photogrammetry of a radio cassette player and articulations of its door, keys, knobs, and selector</div></figcaption></figure><figure style="margin:0;min-width:0"><div style="position:relative;border:1px solid var(--hairline);background:var(--ink);aspect-ratio:4 / 3;overflow:hidden"><video src="./videos/stegosaurus_walking.mp4" poster="./videos/stegosaurus_walking.jpg" muted="" loop="" playsInline="" preload="metadata" aria-label="Stegosaurus · walking" style="position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block"></video></div><figcaption style="margin-top:10px"><div style="font-family:var(--font-sans);font-size:10px;font-weight:700;line-height:1.5;letter-spacing:0.02em;color:var(--text-muted)">A 3dgs of a stegosaurus skeleton from the AMNH, fully articulated and walking (without hand-created animations)</div></figcaption></figure><figure style="margin:0;min-width:0"><div style="position:relative;border:1px solid var(--hairline);background:var(--ink);aspect-ratio:4 / 3;overflow:hidden"><video src="./videos/objects/ge90_engine_orbit_zoom.mp4" poster="./videos/objects/ge90_engine_orbit_zoom.jpg" muted="" loop="" playsInline="" preload="metadata" aria-label="Jet engine · orbit and detail zoom" style="position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block"></video></div><figcaption style="margin-top:10px"><div style="font-family:var(--font-sans);font-size:10px;font-weight:700;line-height:1.5;letter-spacing:0.02em;color:var(--text-muted)">A jet engine with processed turbofan, articulated and running based on engine schematics</div></figcaption></figure><figure style="margin:0;min-width:0"><div style="position:relative;border:1px solid var(--hairline);background:var(--ink);aspect-ratio:4 / 3;overflow:hidden"><video src="./videos/objects/sceneagent_bencini_camera.mp4" poster="./videos/objects/sceneagent_bencini_camera.jpg" muted="" loop="" playsInline="" preload="metadata" aria-label="Bencini cine camera · orbit and detail zoom" style="position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block"></video></div><figcaption style="margin-top:10px"><div style="font-family:var(--font-sans);font-size:10px;font-weight:700;line-height:1.5;letter-spacing:0.02em;color:var(--text-muted)">A Bencini cine camera converted into a usable simulation asset, with usable frame-rate dial and battery compartment</div></figcaption></figure><figure style="margin:0;min-width:0"><div style="position:relative;border:1px solid var(--hairline);background:var(--ink);aspect-ratio:4 / 3;overflow:hidden"><video src="./videos/objects/sceneagent_cessna_cockpit.mp4" poster="./videos/objects/sceneagent_cessna_cockpit.jpg" muted="" loop="" playsInline="" preload="metadata" aria-label="Cessna cockpit · orbit and detail zoom" style="position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block"></video></div><figcaption style="margin-top:10px"><div style="font-family:var(--font-sans);font-size:10px;font-weight:700;line-height:1.5;letter-spacing:0.02em;color:var(--text-muted)">A Cessna cockpit, converted into simulation asset with extreme detail in its instrument panel, switches, and placards</div></figcaption></figure><figure style="margin:0;min-width:0"><div style="position:relative;border:1px solid var(--hairline);background:var(--ink);aspect-ratio:4 / 3;overflow:hidden"><video src="./videos/objects/sceneagent_motorcycle.mp4" poster="./videos/objects/sceneagent_motorcycle.jpg" muted="" loop="" playsInline="" preload="metadata" aria-label="Motorcycle · orbit and detail zoom" style="position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block"></video></div><figcaption style="margin-top:10px"><div style="font-family:var(--font-sans);font-size:10px;font-weight:700;line-height:1.5;letter-spacing:0.02em;color:var(--text-muted)">A motorcycle converted from 3d capture into a usable simulation asset, including many details</div></figcaption></figure></div><div class="chapter__caption"><div style="font-family:var(--font-sans);font-size:10px;font-weight:700;line-height:1.5;letter-spacing:0.02em;color:var(--accent);margin-left:auto;flex-shrink:0">3.3</div></div></div><div class="chapter__text"><p>One of the most unique and beneficial aspects about our agentic workflow is that it can support converting multiple different data types from diverse sources with useful results. For example, it can similarly process input RGB images and align them with structure-from-motion with colmap and then train a 3DGS scene with NerfStudio’s <code>splatfacto</code> big and inspect, review, and correct any results, such as the per image color calibration of the input images. The same pipeline will equally process public internet 3d capture data from photogrammetry or pre-existing 3DGS .ply files.</p></div><div class="chapter__exhibit chapter__exhibit--bleed" data-bleed=""><div class="clips" style="grid-template-columns:repeat(3, minmax(0, 1fr))"><figure style="margin:0;min-width:0"><div style="position:relative;border:1px solid var(--hairline);background:var(--ink);aspect-ratio:16 / 9;overflow:hidden"><video src="./videos/deformables_textile_rack_orbit.mp4" poster="./videos/deformables_textile_rack_orbit.jpg" muted="" loop="" playsInline="" preload="metadata" aria-label="Textile rack · orbit" style="position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block"></video></div><figcaption style="margin-top:10px"><div style="font-family:var(--font-sans);font-size:10px;font-weight:700;line-height:1.5;letter-spacing:0.02em;color:var(--text-muted)">A patterned textile draped over a garment rack, orbited to read the folds from every side</div></figcaption></figure><figure style="margin:0;min-width:0"><div style="position:relative;border:1px solid var(--hairline);background:var(--ink);aspect-ratio:16 / 9;overflow:hidden"><video src="./videos/deformables_hoodie_lift_drape.mp4" poster="./videos/deformables_hoodie_lift_drape.jpg" muted="" loop="" playsInline="" preload="metadata" aria-label="Hoodie · lift and drape" style="position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block"></video></div><figcaption style="margin-top:10px"><div style="font-family:var(--font-sans);font-size:10px;font-weight:700;line-height:1.5;letter-spacing:0.02em;color:var(--text-muted)">A hoodie lifted from a surface and left to drape under gravity</div></figcaption></figure><figure style="margin:0;min-width:0"><div style="position:relative;border:1px solid var(--hairline);background:var(--ink);aspect-ratio:16 / 9;overflow:hidden"><video src="./videos/deformables_towel_rack_orbit.mp4" poster="./videos/deformables_towel_rack_orbit.jpg" muted="" loop="" playsInline="" preload="metadata" aria-label="Towel rack · orbit" style="position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block"></video></div><figcaption style="margin-top:10px"><div style="font-family:var(--font-sans);font-size:10px;font-weight:700;line-height:1.5;letter-spacing:0.02em;color:var(--text-muted)">Three towels hung on a wall rack, orbited to read the folds from every side</div></figcaption></figure><figure style="margin:0;min-width:0"><div style="position:relative;border:1px solid var(--hairline);background:var(--ink);aspect-ratio:16 / 9;overflow:hidden"><video src="./videos/deformables_firefighter_hose_unwind.mp4" poster="./videos/deformables_firefighter_hose_unwind.jpg" muted="" loop="" playsInline="" preload="metadata" aria-label="Firefighter hose · unwind" style="position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block"></video></div><figcaption style="margin-top:10px"><div style="font-family:var(--font-sans);font-size:10px;font-weight:700;line-height:1.5;letter-spacing:0.02em;color:var(--text-muted)">A coiled firefighter hose unwinding under soft-body dynamics</div></figcaption></figure><figure style="margin:0;min-width:0"><div style="position:relative;border:1px solid var(--hairline);background:var(--ink);aspect-ratio:16 / 9;overflow:hidden"><video src="./videos/liquid_death_hat_physics.mp4" poster="./videos/liquid_death_hat_physics.jpg" muted="" loop="" playsInline="" preload="metadata" aria-label="Liquid Death hat · physics" style="position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block"></video></div><figcaption style="margin-top:10px"><div style="font-family:var(--font-sans);font-size:10px;font-weight:700;line-height:1.5;letter-spacing:0.02em;color:var(--text-muted)">A Liquid Death corduroy cap with soft-body physics, deforming under contact dynamics</div></figcaption></figure><figure style="margin:0;min-width:0"><div style="position:relative;border:1px solid var(--hairline);background:var(--ink);aspect-ratio:16 / 9;overflow:hidden"><video src="./videos/deformables_extension_cord_unwind.mp4" poster="./videos/deformables_extension_cord_unwind.jpg" muted="" loop="" playsInline="" preload="metadata" aria-label="Extension cord · unwind" style="position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block"></video></div><figcaption style="margin-top:10px"><div style="font-family:var(--font-sans);font-size:10px;font-weight:700;line-height:1.5;letter-spacing:0.02em;color:var(--text-muted)">An extension cord uncoiling from its wound state</div></figcaption></figure></div><div class="chapter__caption"><div style="font-family:var(--font-sans);font-size:10px;font-weight:700;line-height:1.5;letter-spacing:0.02em;color:var(--accent);margin-left:auto;flex-shrink:0">3.4</div></div></div><div class="chapter__text"><p>Likewise, it is able to turn synthetic datasets from generative 3DGS models (such as World Labs Marble, NVIDIA Lyra, or TenCent Hy-World). One can prompt the pipeline to convert the full scene into segmented 3d objects with predictive physics properties or instead focus only foreground objects. The first is much more time-consuming and error prone at this point, but we believe that future iterations of the pipeline will easily improve this.</p></div><div class="chapter__text"><p>We imagine a future application of this agentic workflow running on individual in-home or in-factory robots that can 3d capture a space, process that space on-device only with an NVIDIA Jetson Orin or Thor or equivalent, and then train a finetune of its policy on the results with no data leaving device. We hope that this will continue the use of 3DGS in the future to be part of the solution to the data problem of generalist robotic policy development in the future.</p></div></section><section class="chapter chapter--bleed" id="hybrid"><div class="chapter__rule" aria-hidden="true"></div><div class="chapter__head"><div class="chapter__num" aria-hidden="true">4</div><div><h2 class="chapter__title">Hybrid Scenes with 3d Captures and Digital Art</h2><p class="chapter__lead">We convert individual 3d captured objects into simulation assets with our SceneAgent pipeline and incorporate them into synthetic scenes prepared by 3d artists.</p></div></div><div class="chapter__exhibit chapter__exhibit--bleed" data-bleed=""><div class="clips" style="grid-template-columns:repeat(3, minmax(0, 1fr))"><figure style="margin:0;min-width:0"><div style="position:relative;border:1px solid var(--hairline);background:var(--ink);aspect-ratio:4 / 3;overflow:hidden"><video src="./videos/kitchen_apple.mp4" poster="./videos/kitchen_apple.jpg" muted="" loop="" playsInline="" preload="metadata" aria-label="Kitchen · apple" style="position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block"></video></div><figcaption style="margin-top:10px"><div style="font-family:var(--font-sans);font-size:10px;font-weight:700;line-height:1.5;letter-spacing:0.02em;color:var(--text-muted)">Hybrid scenes from available assets in Isaac Lab, a Kitchen scene picking fruit, similar to RoboCasa</div></figcaption></figure><figure style="margin:0;min-width:0"><div style="position:relative;border:1px solid var(--hairline);background:var(--ink);aspect-ratio:4 / 3;overflow:hidden"><video src="./videos/warehouse_pack.mp4" poster="./videos/warehouse_pack.jpg" muted="" loop="" playsInline="" preload="metadata" aria-label="Warehouse · pack" style="position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block"></video></div><figcaption style="margin-top:10px"><div style="font-family:var(--font-sans);font-size:10px;font-weight:700;line-height:1.5;letter-spacing:0.02em;color:var(--text-muted)">Contact rich tasks picking tightly packed vertical cylinders</div></figcaption></figure><figure style="margin:0;min-width:0"><div style="position:relative;border:1px solid var(--hairline);background:var(--ink);aspect-ratio:4 / 3;overflow:hidden"><video src="./videos/chem_lab_sort.mp4" poster="./videos/chem_lab_sort.jpg" muted="" loop="" playsInline="" preload="metadata" aria-label="Chemistry lab · sort" style="position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block"></video></div><figcaption style="margin-top:10px"><div style="font-family:var(--font-sans);font-size:10px;font-weight:700;line-height:1.5;letter-spacing:0.02em;color:var(--text-muted)">Chemistry lab, sorting vials into beakers</div></figcaption></figure><figure style="margin:0;min-width:0"><div style="position:relative;border:1px solid var(--hairline);background:var(--ink);aspect-ratio:4 / 3;overflow:hidden"><video src="./videos/datacenter_cable.mp4" poster="./videos/datacenter_cable.jpg" muted="" loop="" playsInline="" preload="metadata" aria-label="Data center · cable" style="position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block"></video></div><figcaption style="margin-top:10px"><div style="font-family:var(--font-sans);font-size:10px;font-weight:700;line-height:1.5;letter-spacing:0.02em;color:var(--text-muted)">Picking and plugging cables into a data center server rack</div></figcaption></figure><figure style="margin:0;min-width:0"><div style="position:relative;border:1px solid var(--hairline);background:var(--ink);aspect-ratio:4 / 3;overflow:hidden"><video src="./videos/studio_cardboard_fold.mp4" poster="./videos/studio_cardboard_fold.jpg" muted="" loop="" playsInline="" preload="metadata" aria-label="Studio · cardboard fold" style="position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block"></video></div><figcaption style="margin-top:10px"><div style="font-family:var(--font-sans);font-size:10px;font-weight:700;line-height:1.5;letter-spacing:0.02em;color:var(--text-muted)">Two arms folding a cardboard packaging in simulation, packing a deformable object</div></figcaption></figure><figure style="margin:0;min-width:0"><div style="position:relative;border:1px solid var(--hairline);background:var(--ink);aspect-ratio:4 / 3;overflow:hidden"><video src="./videos/studio_succulent_watering.mp4" poster="./videos/studio_succulent_watering.jpg" muted="" loop="" playsInline="" preload="metadata" aria-label="Studio · succulent watering" style="position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block"></video></div><figcaption style="margin-top:10px"><div style="font-family:var(--font-sans);font-size:10px;font-weight:700;line-height:1.5;letter-spacing:0.02em;color:var(--text-muted)">Hybrid digital art and 3d capture scene with a Franka Emika Panda arm watering a succulent with an eyedropper</div></figcaption></figure></div><div class="chapter__caption"><div style="font-family:var(--font-sans);font-size:10px;font-weight:700;line-height:1.5;letter-spacing:0.02em;color:var(--accent);margin-left:auto;flex-shrink:0">3.2</div></div></div><div class="chapter__text"><p>Because many backgrounds and environments are redundant across common tasks, we combine specific 3d captured objects processed with our SceneAgent pipeline with other existing art assets created by 3d artists, such as in the NVIDIA Omniverse asset repository. This allows for rapid development of common scenes for policy evaluation along with scenes with specific objects for individual tasks.</p><p>For example, when a manipulator may need to learn how to use a specific part, say for a new healthcare device or a new cooling fan in a server rack, that specific part individually could be 3d captured and processed in our pipeline and then incorporated into a pre-existing hospital or data center scene such as the default environments that accompany NVIDIA Isaac Lab.</p></div><div class="chapter__exhibit chapter__exhibit--bleed sub" data-bleed=""><div class="clips" style="grid-template-columns:repeat(3, minmax(0, 1fr))"><figure style="margin:0;min-width:0"><div style="position:relative;border:1px solid var(--hairline);background:var(--ink);aspect-ratio:4 / 3;overflow:hidden"><video src="./videos/sharpa_hand_flower_scoop_realtime.mp4" poster="./videos/sharpa_hand_flower_scoop_realtime.jpg" muted="" loop="" playsInline="" preload="metadata" aria-label="Studio · Sharpa hand, real time" style="position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block"></video></div><figcaption style="margin-top:10px"><div style="font-family:var(--font-sans);font-size:10px;font-weight:700;line-height:1.5;letter-spacing:0.02em;color:var(--text-muted)">A Sharpa dexterous hand scooping to cup a delicate flower in its palm</div></figcaption></figure><figure style="margin:0;min-width:0"><div style="position:relative;border:1px solid var(--hairline);background:var(--ink);aspect-ratio:4 / 3;overflow:hidden"><video src="./videos/hands_clipping_in_gpu.mp4" poster="./videos/hands_clipping_in_gpu.jpg" muted="" loop="" playsInline="" preload="metadata" aria-label="Dexterous hands · GPU installation" style="position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block"></video></div><figcaption style="margin-top:10px"><div style="font-family:var(--font-sans);font-size:10px;font-weight:700;line-height:1.5;letter-spacing:0.02em;color:var(--text-muted)">Two dextrous Sharpa hands clipping a GPU into place into a motherboard</div></figcaption></figure><figure style="margin:0;min-width:0"><div style="position:relative;border:1px solid var(--hairline);background:var(--ink);aspect-ratio:4 / 3;overflow:hidden"><video src="./videos/hands_sunglasses_5x.mp4" poster="./videos/hands_sunglasses_5x.jpg" muted="" loop="" playsInline="" preload="metadata" aria-label="Dexterous hands · sunglasses, 5× speed" style="position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block"></video></div><figcaption style="margin-top:10px"><div style="font-family:var(--font-sans);font-size:10px;font-weight:700;line-height:1.5;letter-spacing:0.02em;color:var(--text-muted)">Sharpa hand picking up and unfolding sunglasses then putting them on a face</div></figcaption></figure><figure style="margin:0;min-width:0"><div style="position:relative;border:1px solid var(--hairline);background:var(--ink);aspect-ratio:4 / 3;overflow:hidden"><video src="./videos/dexmate_sharpa_pizza_and_dishes.mp4" poster="./videos/dexmate_sharpa_pizza_and_dishes.jpg" muted="" loop="" playsInline="" preload="metadata" aria-label="Kitchen · Dexmate dual Sharpa" style="position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block"></video></div><figcaption style="margin-top:10px"><div style="font-family:var(--font-sans);font-size:10px;font-weight:700;line-height:1.5;letter-spacing:0.02em;color:var(--text-muted)">A Dexmate mobile robot with dual Sharpa dexterous hands serving a pizza slice onto a plate and clearing the dishes to the sink</div></figcaption></figure><figure style="margin:0;min-width:0"><div style="position:relative;border:1px solid var(--hairline);background:var(--ink);aspect-ratio:4 / 3;overflow:hidden"><video src="./videos/studio_sunglasses_noir.mp4" poster="./videos/studio_sunglasses_noir.jpg" muted="" loop="" playsInline="" preload="metadata" aria-label="Studio · Sharpa sunglasses, noir" style="position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block"></video></div><figcaption style="margin-top:10px"><div style="font-family:var(--font-sans);font-size:10px;font-weight:700;line-height:1.5;letter-spacing:0.02em;color:var(--text-muted)">Two Sharpa dexterous hands lifting and unfolding a pair of sunglasses, then setting them on a bust</div></figcaption></figure><figure style="margin:0;min-width:0"><div style="position:relative;border:1px solid var(--hairline);background:var(--ink);aspect-ratio:4 / 3;overflow:hidden"><video src="./videos/sharpa_hello_world_lift_then_uncap.mp4" poster="./videos/sharpa_hello_world_lift_then_uncap.jpg" muted="" loop="" playsInline="" preload="metadata" aria-label="Studio · Sharpa lift and uncap" style="position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block"></video></div><figcaption style="margin-top:10px"><div style="font-family:var(--font-sans);font-size:10px;font-weight:700;line-height:1.5;letter-spacing:0.02em;color:var(--text-muted)">Dual robot arms lifting a marker into a Sharpa dexterous hand, uncapping it, and writing Hello World on a whiteboard</div></figcaption></figure></div><div class="chapter__caption"><div style="font-family:var(--font-sans);font-size:10px;font-weight:700;line-height:1.5;letter-spacing:0.02em;color:var(--accent);margin-left:auto;flex-shrink:0">3.3</div></div></div><div class="chapter__text"><p>The generated environments can be adapted for policy evaluation and training for multiple embodiments, and we believe that they will be especially useful for training dextrous hands. Whereas manipulators like the UMI gripper on the Franka Emika Panda can benefit from more accurate physics properties on objects in simulation, dextrous hands must learn to accomplish much more complex tasks with deformable fabrics, plastics, sticky surfaces, and similar challenges. We hope in future simulations to have a pipeline with increased accuracy around specifically supporting packing in plastic bags and applying stickers to diverse surfaces.</p><p>Alternative methods of course may use generative diffusion- or autogressive-based world models to generate the multi-view video used for policy evaluation and finetuning. Our method may be beneficial because it is much less computationally intensive than methods relying on generative video models and can be precise for specific environments or parts.</p></div></section><section class="chapter chapter--bleed" id="cousins"><div class="chapter__rule" aria-hidden="true"></div><div class="chapter__head"><div class="chapter__num" aria-hidden="true">5</div><div><h2 class="chapter__title">Digital Twins and Sisters</h2><p class="chapter__lead">In order to increase training generalizability from simulation back to the real world, we create slight variations of each object in the scenes converted by the pipeline.</p></div></div><div class="chapter__exhibit"><div class="cousin-rails"><div class="cousin-gallery"><div class="cousin-gallery__toolbar"><div><b>Flower (Rudbeckia hirta)</b><span class="px"> <!-- -->9<!-- --> sisters</span></div><div class="cousin-gallery__actions"><span class="px" aria-live="polite">Loading 0 / 10</span><button type="button" aria-label="Previous sisters of Flower (Rudbeckia hirta)" disabled="" style="font-family:var(--font-sans);font-weight:700;font-size:13px;padding:6px 14px;border:1px solid transparent;cursor:default;opacity:0.4;transition:background 120ms, color 120ms;line-height:1.2;display:inline-flex;align-items:center;gap:8px;text-decoration:none;background:transparent;color:var(--ink);border-color:var(--ink)">←</button><button type="button" aria-label="Next sisters of Flower (Rudbeckia hirta)" style="font-family:var(--font-sans);font-weight:700;font-size:13px;padding:6px 14px;border:1px solid transparent;cursor:pointer;opacity:1;transition:background 120ms, color 120ms;line-height:1.2;display:inline-flex;align-items:center;gap:8px;text-decoration:none;background:transparent;color:var(--ink);border-color:var(--ink)">→</button></div></div><div class="cousin-gallery__viewport" tabindex="0" aria-label="Horizontally scrolling sisters of Flower (Rudbeckia hirta)"><div class="cousin-gallery__track"><canvas aria-hidden="true"></canvas><article class="cousin-family"><div class="cousin-family__view" aria-hidden="true"></div><div class="cousin-family__cap"><div class="cousin-family__index"><b>00</b><span>original</span></div></div></article><article class="cousin-family"><div class="cousin-family__view" aria-hidden="true"></div><div class="cousin-family__cap"><div class="cousin-family__index"><b>01</b></div></div></article><article class="cousin-family"><div class="cousin-family__view" aria-hidden="true"></div><div class="cousin-family__cap"><div class="cousin-family__index"><b>02</b></div></div></article><article class="cousin-family"><div class="cousin-family__view" aria-hidden="true"></div><div class="cousin-family__cap"><div class="cousin-family__index"><b>03</b></div></div></article><article class="cousin-family"><div class="cousin-family__view" aria-hidden="true"></div><div class="cousin-family__cap"><div class="cousin-family__index"><b>04</b></div></div></article><article class="cousin-family"><div class="cousin-family__view" aria-hidden="true"></div><div class="cousin-family__cap"><div class="cousin-family__index"><b>05</b></div></div></article><article class="cousin-family"><div class="cousin-family__view" aria-hidden="true"></div><div class="cousin-family__cap"><div class="cousin-family__index"><b>06</b></div></div></article><article class="cousin-family"><div class="cousin-family__view" aria-hidden="true"></div><div class="cousin-family__cap"><div class="cousin-family__index"><b>07</b></div></div></article><article class="cousin-family"><div class="cousin-family__view" aria-hidden="true"></div><div class="cousin-family__cap"><div class="cousin-family__index"><b>08</b></div></div></article><article class="cousin-family"><div class="cousin-family__view" aria-hidden="true"></div><div class="cousin-family__cap"><div class="cousin-family__index"><b>09</b></div></div></article></div></div></div><div class="cousin-gallery"><div class="cousin-gallery__toolbar"><div><b>Sony CFS-43</b><span class="px"> <!-- -->9<!-- --> sisters</span></div><div class="cousin-gallery__actions"><span class="px" aria-live="polite">Loading 0 / 10</span><button type="button" aria-label="Previous sisters of Sony CFS-43" disabled="" style="font-family:var(--font-sans);font-weight:700;font-size:13px;padding:6px 14px;border:1px solid transparent;cursor:default;opacity:0.4;transition:background 120ms, color 120ms;line-height:1.2;display:inline-flex;align-items:center;gap:8px;text-decoration:none;background:transparent;color:var(--ink);border-color:var(--ink)">←</button><button type="button" aria-label="Next sisters of Sony CFS-43" style="font-family:var(--font-sans);font-weight:700;font-size:13px;padding:6px 14px;border:1px solid transparent;cursor:pointer;opacity:1;transition:background 120ms, color 120ms;line-height:1.2;display:inline-flex;align-items:center;gap:8px;text-decoration:none;background:transparent;color:var(--ink);border-color:var(--ink)">→</button></div></div><div class="cousin-gallery__viewport" tabindex="0" aria-label="Horizontally scrolling sisters of Sony CFS-43"><div class="cousin-gallery__track"><canvas aria-hidden="true"></canvas><article class="cousin-family"><div class="cousin-family__view" aria-hidden="true"></div><div class="cousin-family__cap"><div class="cousin-family__index"><b>00</b><span>original</span></div></div></article><article class="cousin-family"><div class="cousin-family__view" aria-hidden="true"></div><div class="cousin-family__cap"><div class="cousin-family__index"><b>01</b></div></div></article><article class="cousin-family"><div class="cousin-family__view" aria-hidden="true"></div><div class="cousin-family__cap"><div class="cousin-family__index"><b>02</b></div></div></article><article class="cousin-family"><div class="cousin-family__view" aria-hidden="true"></div><div class="cousin-family__cap"><div class="cousin-family__index"><b>03</b></div></div></article><article class="cousin-family"><div class="cousin-family__view" aria-hidden="true"></div><div class="cousin-family__cap"><div class="cousin-family__index"><b>04</b></div></div></article><article class="cousin-family"><div class="cousin-family__view" aria-hidden="true"></div><div class="cousin-family__cap"><div class="cousin-family__index"><b>05</b></div></div></article><article class="cousin-family"><div class="cousin-family__view" aria-hidden="true"></div><div class="cousin-family__cap"><div class="cousin-family__index"><b>06</b></div></div></article><article class="cousin-family"><div class="cousin-family__view" aria-hidden="true"></div><div class="cousin-family__cap"><div class="cousin-family__index"><b>07</b></div></div></article><article class="cousin-family"><div class="cousin-family__view" aria-hidden="true"></div><div class="cousin-family__cap"><div class="cousin-family__index"><b>08</b></div></div></article><article class="cousin-family"><div class="cousin-family__view" aria-hidden="true"></div><div class="cousin-family__cap"><div class="cousin-family__index"><b>09</b></div></div></article></div></div></div><div class="cousin-gallery"><div class="cousin-gallery__toolbar"><div><b>Pink teacup</b><span class="px"> <!-- -->9<!-- --> sisters</span></div><div class="cousin-gallery__actions"><span class="px" aria-live="polite">Loading 0 / 10</span><button type="button" aria-label="Previous sisters of Pink teacup" disabled="" style="font-family:var(--font-sans);font-weight:700;font-size:13px;padding:6px 14px;border:1px solid transparent;cursor:default;opacity:0.4;transition:background 120ms, color 120ms;line-height:1.2;display:inline-flex;align-items:center;gap:8px;text-decoration:none;background:transparent;color:var(--ink);border-color:var(--ink)">←</button><button type="button" aria-label="Next sisters of Pink teacup" style="font-family:var(--font-sans);font-weight:700;font-size:13px;padding:6px 14px;border:1px solid transparent;cursor:pointer;opacity:1;transition:background 120ms, color 120ms;line-height:1.2;display:inline-flex;align-items:center;gap:8px;text-decoration:none;background:transparent;color:var(--ink);border-color:var(--ink)">→</button></div></div><div class="cousin-gallery__viewport" tabindex="0" aria-label="Horizontally scrolling sisters of Pink teacup"><div class="cousin-gallery__track"><canvas aria-hidden="true"></canvas><article class="cousin-family"><div class="cousin-family__view" aria-hidden="true"></div><div class="cousin-family__cap"><div class="cousin-family__index"><b>00</b><span>original</span></div></div></article><article class="cousin-family"><div class="cousin-family__view" aria-hidden="true"></div><div class="cousin-family__cap"><div class="cousin-family__index"><b>01</b></div></div></article><article class="cousin-family"><div class="cousin-family__view" aria-hidden="true"></div><div class="cousin-family__cap"><div class="cousin-family__index"><b>02</b></div></div></article><article class="cousin-family"><div class="cousin-family__view" aria-hidden="true"></div><div class="cousin-family__cap"><div class="cousin-family__index"><b>03</b></div></div></article><article class="cousin-family"><div class="cousin-family__view" aria-hidden="true"></div><div class="cousin-family__cap"><div class="cousin-family__index"><b>04</b></div></div></article><article class="cousin-family"><div class="cousin-family__view" aria-hidden="true"></div><div class="cousin-family__cap"><div class="cousin-family__index"><b>05</b></div></div></article><article class="cousin-family"><div class="cousin-family__view" aria-hidden="true"></div><div class="cousin-family__cap"><div class="cousin-family__index"><b>06</b></div></div></article><article class="cousin-family"><div class="cousin-family__view" aria-hidden="true"></div><div class="cousin-family__cap"><div class="cousin-family__index"><b>07</b></div></div></article><article class="cousin-family"><div class="cousin-family__view" aria-hidden="true"></div><div class="cousin-family__cap"><div class="cousin-family__index"><b>08</b></div></div></article><article class="cousin-family"><div class="cousin-family__view" aria-hidden="true"></div><div class="cousin-family__cap"><div class="cousin-family__index"><b>09</b></div></div></article></div></div></div><div class="cousin-rails__more"><button type="button" aria-expanded="false" style="font-family:var(--font-sans);font-weight:700;font-size:13px;padding:6px 14px;border:1px solid transparent;cursor:pointer;opacity:1;transition:background 120ms, color 120ms;line-height:1.2;display:inline-flex;align-items:center;gap:8px;text-decoration:none;background:transparent;color:var(--ink);border-color:var(--ink)">Show more</button></div></div><div class="chapter__caption"><div style="font-family:var(--font-sans);font-size:10px;font-weight:700;line-height:1.5;letter-spacing:0.02em;color:var(--accent);margin-left:auto;flex-shrink:0">5.2</div></div></div><div class="chapter__text"><p>Instead of digital twins, these are rather “digital sisters,” not exact replicas of reality but similar variations that reflect the range of diversity that a manipulator may encounter in real-world scenarios. We also randomize placement of objects and lighting to continue to improve policy performance in real-world rollouts.</p><p>In our initial testing, this increases real-world task completion rates after training in our converted simulation digital sister scenes, but we are continuing to test and evaluate how different lighting, placement, and generative 3d models influence policy performance from simulation back to the real world.</p><p>We chose to randomize each of these factors when composing full digital sister scenes, but future work could test each in isolation to verify its influence on policy generalizability during finetuning to study which is best to spend more iterations on.</p></div><div class="chapter__exhibit sub"><div class="clips" style="grid-template-columns:repeat(2, minmax(0, 1fr))"><figure style="margin:0;min-width:0"><div style="position:relative;border:1px solid var(--hairline);background:var(--ink);aspect-ratio:4 / 3;overflow:hidden"><video src="./videos/warehouse_suitcase_suitcase.mp4" poster="./videos/warehouse_suitcase_suitcase.jpg" muted="" loop="" playsInline="" preload="metadata" aria-label="Warehouse · a different suitcase" style="position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block"></video></div><figcaption style="margin-top:10px"><div style="font-family:var(--font-sans);font-size:10px;font-weight:700;line-height:1.5;letter-spacing:0.02em;color:var(--text-muted)">Contact rich tasks with predictive physics, such as rolling a red rubber ball from one side of the suitcase to the other</div></figcaption></figure><figure style="margin:0;min-width:0"><div style="position:relative;border:1px solid var(--hairline);background:var(--ink);aspect-ratio:4 / 3;overflow:hidden"><video src="./videos/studio_flower_noir_cinema.mp4" poster="./videos/studio_flower_noir_cinema.jpg" muted="" loop="" playsInline="" preload="metadata" aria-label="Studio · flower grasp, relit" style="position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block"></video></div><figcaption style="margin-top:10px"><div style="font-family:var(--font-sans);font-size:10px;font-weight:700;line-height:1.5;letter-spacing:0.02em;color:var(--text-muted)">Picking up delicate items such as the flower 3d capture from the previous greenhouse scene in hybrid digital art and 3d capture environments</div></figcaption></figure></div><div class="chapter__caption"><div style="font-family:var(--font-sans);font-size:10px;font-weight:700;line-height:1.5;letter-spacing:0.02em;color:var(--accent);margin-left:auto;flex-shrink:0">5.3</div></div></div><div class="chapter__text"><p>Along with the typical tasks being trained in simulation policy, we are seeking to understand better how the predictive physics properties can help us achieve a series of contact-rich tasks, such as rolling a red rubber ball from one side of the suitcase to another with a gripper on the Franka arm or picking a columnar object from a tightly packed box.</p><p>In future iterations, we also hope to study further how small perturbations of the physics properties may also influence training in simulation. For example, if an object’s mass, friction coefficient, or rigidity are varied slightly between versions, will this help our policy during finetuning more accurately grasp and manipulate deformable objects or objects with heterogeneous physics properties (such as shoes, hats, cardboard boxes, and similar).</p></div><div class="chapter__exhibit chapter__exhibit--bleed" data-bleed=""><figure class="FigurePolicyWorkflow-module__aSKegq__figure" aria-labelledby="policy-workflow-title"><header class="FigurePolicyWorkflow-module__aSKegq__header"><svg class="FigurePolicyWorkflow-module__aSKegq__agent" viewBox="0 0 65 35" aria-hidden="true"><g transform="translate(0 0) scale(5)" fill="currentColor" shape-rendering="crispEdges" aria-hidden="true"><g class="agent-sprite" style="--i:0"><g class="agent-sprite__leg"><rect x="4" y="6" width="1" height="1"></rect><rect x="6" y="6" width="1" height="1"></rect><rect x="8" y="6" width="1" height="1"></rect></g><g class="agent-sprite__body"><rect x="2" y="3" width="9" height="1"></rect><rect x="2" y="4" width="2" height="1"></rect><rect x="5" y="4" width="3" height="1"></rect><rect x="9" y="4" width="2" height="1"></rect><rect x="2" y="5" width="9" height="1"></rect></g><g class="agent-sprite__tool"><rect x="2" y="0" width="1" height="1"></rect><rect x="4" y="0" width="1" height="1"></rect><rect x="8" y="0" width="1" height="1"></rect><rect x="10" y="0" width="1" height="1"></rect><rect x="2" y="1" width="9" height="1"></rect></g></g></g></svg><div><h3 id="policy-workflow-title">Agentic Policy Evaluation and Training</h3><p>Automate evaluations and repair failure modes in digital sisters of Tasks and Scenes</p></div></header><div class="FigurePolicyWorkflow-module__aSKegq__layout"><div class="FigurePolicyWorkflow-module__aSKegq__simulationFrame" aria-hidden="true"></div><p class="FigurePolicyWorkflow-module__aSKegq__simulationTitle">SceneAgent Simulations<span class="FigurePolicyWorkflow-module__aSKegq__srOnly">: steps 02 through 05</span></p><ol class="FigurePolicyWorkflow-module__aSKegq__stages" role="list"><li id="policy-step-real-evaluation" class="FigurePolicyWorkflow-module__aSKegq__stage" data-stage="real-evaluation"><div class="FigurePolicyWorkflow-module__aSKegq__media"><img src="./policy-workflow/real-failure.svg" width="356" height="240" alt="A Franka Emika Panda with a Sharpa hand attempts a thumb-and-index pinch while the flower remains in its glass." loading="lazy" decoding="async"/><svg class="FigurePolicyWorkflow-module__aSKegq__arrow " viewBox="0 0 104 18" aria-hidden="true"><defs><marker id="policy-flow-01" markerWidth="8" markerHeight="7" refX="7" refY="3.5" orient="auto" markerUnits="userSpaceOnUse"><path d="M0 0 8 3.5 0 7Z" fill="currentColor"></path></marker></defs><path d="M12 9H91" fill="none" stroke="currentColor" stroke-width="2" marker-end="url(#policy-flow-01)"></path></svg></div><h4><span>01</span>Real-world evaluation</h4><p>Review robot recordings and state to identify failure modes. In this example, a stem pinch leaves the flower in the glass.</p></li><li id="policy-step-digital-sisters" class="FigurePolicyWorkflow-module__aSKegq__stage" data-stage="digital-sisters"><div class="FigurePolicyWorkflow-module__aSKegq__media"><img src="./policy-workflow/digital-sisters.svg" width="356" height="240" alt="Four digital sisters show the same Panda and Sharpa hand approaching the flower and glass in different positions." loading="lazy" decoding="async"/><svg class="FigurePolicyWorkflow-module__aSKegq__arrow " viewBox="0 0 104 18" aria-hidden="true"><defs><marker id="policy-flow-02" markerWidth="8" markerHeight="7" refX="7" refY="3.5" orient="auto" markerUnits="userSpaceOnUse"><path d="M0 0 8 3.5 0 7Z" fill="currentColor"></path></marker></defs><path d="M12 9H91" fill="none" stroke="currentColor" stroke-width="2" marker-end="url(#policy-flow-02)"></path></svg></div><h4><span>02</span>Digital twin + sisters</h4><p>Vary task and scene in simulation from 3D capture or 4D reconstruction. Change objects, placement, or lighting to test likely causes of failure.</p></li><li id="policy-step-policy-evaluation" class="FigurePolicyWorkflow-module__aSKegq__stage" data-stage="policy-evaluation"><div class="FigurePolicyWorkflow-module__aSKegq__media"><img src="./policy-workflow/simulation-evaluation.svg" width="356" height="240" alt="The current policy repeats the unsuccessful pinch in a simulated flower-from-glass task." loading="lazy" decoding="async"/></div><h4><span>03</span>Policy evaluation</h4><p>Test the current policy in simulation with scene and task sisters. Review the rollouts to find where the failure persists.</p></li><li id="policy-step-expert-revision" class="FigurePolicyWorkflow-module__aSKegq__stage" data-stage="expert-revision"><div class="FigurePolicyWorkflow-module__aSKegq__media"><img src="./policy-workflow/expert-revision.svg" width="356" height="240" alt="The corrected Sharpa hand faces palm upward and supports the flower head from underneath, with the stem between its fingers." loading="lazy" decoding="async"/><svg class="FigurePolicyWorkflow-module__aSKegq__arrow FigurePolicyWorkflow-module__aSKegq__reverse" viewBox="0 0 104 18" aria-hidden="true"><defs><marker id="policy-flow-04" markerWidth="8" markerHeight="7" refX="7" refY="3.5" orient="auto" markerUnits="userSpaceOnUse"><path d="M0 0 8 3.5 0 7Z" fill="currentColor"></path></marker></defs><path d="M12 9H91" fill="none" stroke="currentColor" stroke-width="2" marker-end="url(#policy-flow-04)"></path></svg></div><h4><span>04</span>Expert revision</h4><p>An agent revises controller code and reruns the task. Here, the correction supports the flower from below with the palm and fingers, with the stem between them.</p></li><li id="policy-step-policy-training" class="FigurePolicyWorkflow-module__aSKegq__stage" data-stage="policy-training"><div class="FigurePolicyWorkflow-module__aSKegq__media"><img src="./policy-workflow/policy-training.svg" width="356" height="240" alt="Three close-ups show the corrected hand approaching, supporting, and lifting the flower clear of the glass." loading="lazy" decoding="async"/><svg class="FigurePolicyWorkflow-module__aSKegq__arrow FigurePolicyWorkflow-module__aSKegq__reverse" viewBox="0 0 104 18" aria-hidden="true"><defs><marker id="policy-flow-05" markerWidth="8" markerHeight="7" refX="7" refY="3.5" orient="auto" markerUnits="userSpaceOnUse"><path d="M0 0 8 3.5 0 7Z" fill="currentColor"></path></marker></defs><path d="M12 9H91" fill="none" stroke="currentColor" stroke-width="2" marker-end="url(#policy-flow-05)"></path></svg></div><ol class="FigurePolicyWorkflow-module__aSKegq__actions" aria-label="Corrected lift sequence"><li>01 Approach</li><li>02 Support</li><li>03 Lift</li></ol><h4><span>05</span>Policy training</h4><p>Fine-tune on simulated recordings that pass the task's success check. Compare the new and previous checkpoints on the same validation trials.</p></li><li id="policy-step-real-improvement" class="FigurePolicyWorkflow-module__aSKegq__stage" data-stage="real-improvement"><div class="FigurePolicyWorkflow-module__aSKegq__media"><img src="./policy-workflow/real-improvement.svg" width="356" height="240" alt="The intended improved behavior: the Panda and Sharpa hand lift the flower on an open palm, leaving the glass empty." loading="lazy" decoding="async"/></div><h4><span>06</span>Real-world improvement</h4><p>Re-evaluate the new policy and note any failure modes to restart the cycle. Bring the new recordings back into the next round of evaluation and training.</p></li></ol><a class="FigurePolicyWorkflow-module__aSKegq__retry" href="#policy-step-policy-evaluation" aria-label="Revise and rerun: return to policy evaluation in simulation"><svg viewBox="0 0 64 64" aria-hidden="true"><defs><marker id="policy-retry-head" markerWidth="8" markerHeight="7" refX="7" refY="3.5" orient="auto" markerUnits="userSpaceOnUse"><path d="M0 0 8 3.5 0 7Z" fill="currentColor"></path></marker></defs><path d="M39 8A25 25 0 0 1 39 56" fill="none" stroke="currentColor" stroke-width="2" marker-end="url(#policy-retry-head)"></path><path d="M25 56A25 25 0 0 1 25 8" fill="none" stroke="currentColor" stroke-width="2" marker-end="url(#policy-retry-head)"></path></svg><span>Revise / rerun</span></a><a class="FigurePolicyWorkflow-module__aSKegq__restart" href="#policy-step-real-evaluation"><svg viewBox="0 0 20 48" aria-hidden="true"><path d="M10 44V6M4 12 10 6 16 12" fill="none" stroke="currentColor" stroke-width="2"></path></svg><span>Restart with<br/> new failure modes</span></a></div></figure><div class="chapter__caption"><div style="font-family:var(--font-sans);font-size:10px;font-weight:700;line-height:1.5;letter-spacing:0.02em;color:var(--ink)">From real-world failures to simulation, policy training, and real-world re-evaluation</div><div style="font-family:var(--font-sans);font-size:10px;font-weight:700;line-height:1.5;letter-spacing:0.02em;color:var(--accent);margin-left:auto;flex-shrink:0">5.4</div></div><section id="policy-sisters" class="PolicySistersExhibit-module__HUDwJq__exhibit" aria-labelledby="policy-sisters-title"><header class="PolicySistersExhibit-module__HUDwJq__heading"><div><h3 id="policy-sisters-title">Policy performance across digital sisters</h3><p>We evaluated pi0.5 on a simple task across perturbations of lighting, geometry, and visual appearance of objects.</p></div><div class="PolicySistersExhibit-module__HUDwJq__legend" aria-label="Success color scale from zero percent orange to one hundred percent cyan"><div class="PolicySistersExhibit-module__HUDwJq__legendHeading"><b>Place in bowl success</b><span>10<!-- --> paired trials per cell</span></div><div class="PolicySistersExhibit-module__HUDwJq__legendRamp"></div><div class="PolicySistersExhibit-module__HUDwJq__ticks"><span>0<!-- -->%</span><span>25<!-- -->%</span><span>50<!-- -->%</span><span>75<!-- -->%</span><span>100<!-- -->%</span></div></div></header><div class="PolicySistersExhibit-module__HUDwJq__panels"><div class="PolicySistersExhibit-module__HUDwJq__sceneColumn"><div class="PolicySistersExhibit-module__HUDwJq__sceneMount"><button type="button" class="PolicySistersExhibit-module__HUDwJq__held"><img src="./policy-sisters/previews/baseline/external_left.webp" width="640" height="480" alt="Recorded preview: Original objects · Neutral" loading="lazy"/><span>Start viewer</span></button></div></div><div class="PolicySistersExhibit-module__HUDwJq__results"><div class="PolicySistersExhibit-module__HUDwJq__scroll" role="region" tabindex="0" aria-label="Sister performance grid; scroll horizontally on small screens"><table class="PolicySistersExhibit-module__HUDwJq__matrix"><caption class="PolicySistersExhibit-module__HUDwJq__srOnly">Policy success across six object states and nine lighting setups. Select a cell to inspect the corresponding scene. Arrow keys move between cells.</caption><colgroup><col/><col span="9"/></colgroup><thead><tr><th scope="col">Object sister ↓<br/>Lighting →</th><th scope="col" title="6500 K · centered soft area light">Neutral</th><th scope="col" title="2700 K tungsten cast">Strong warm</th><th scope="col" title="12000 K + blue gel">Strong cool</th><th scope="col" title="8% of neutral light power">Very dim</th><th scope="col" title="4× neutral light power">Very bright</th><th scope="col" title="Low left source · 6 cm emitter · deep shadows">Hard left</th><th scope="col" title="Low right source · 6 cm emitter · deep shadows">Hard right</th><th scope="col" title="Rear key source · 5% ambient fill">Backlit</th><th scope="col" title="22° cone · 8 cm source · dark surroundings">Overhead spot</th></tr></thead><tbody><tr><th scope="row">Original objects<small>Reference objects</small></th><td><button type="button" class="PolicySistersExhibit-module__HUDwJq__cell" data-scene="baseline" data-rate="0.1" data-outcome="place" style="--cell-color:#f4893d" aria-pressed="true" aria-label="Original objects · Neutral. Place in bowl: 10%, 1 of 10 completed trials. 95% Wilson interval 1.8 to 40.4 percent." title="Original objects · Neutral. Place in bowl: 10%, 1 of 10 completed trials. 95% Wilson interval 1.8 to 40.4 percent." tabindex="0"><strong>10%<span aria-hidden="true">●</span></strong><img src="./policy-sisters/previews/baseline/external_left.webp" width="96" height="72" alt="" loading="lazy" decoding="async"/><small>1<!-- --> / <!-- -->10</small></button></td><td><button type="button" class="PolicySistersExhibit-module__HUDwJq__cell" data-scene="warm" data-rate="0.2" data-outcome="place" style="--cell-color:#f29c58" aria-pressed="false" aria-label="Original objects · Strong warm. Place in bowl: 20%, 2 of 10 completed trials. 95% Wilson interval 5.7 to 51.0 percent." title="Original objects · Strong warm. Place in bowl: 20%, 2 of 10 completed trials. 95% Wilson interval 5.7 to 51.0 percent." tabindex="-1"><strong>20%<span aria-hidden="true">↗</span></strong><img src="./policy-sisters/previews/warm/external_left.webp" width="96" height="72" alt="" loading="lazy" decoding="async"/><small>2<!-- --> / <!-- -->10</small></button></td><td><button type="button" class="PolicySistersExhibit-module__HUDwJq__cell" data-scene="cool" data-rate="0.2" data-outcome="place" style="--cell-color:#f29c58" aria-pressed="false" aria-label="Original objects · Strong cool. Place in bowl: 20%, 2 of 10 completed trials. 95% Wilson interval 5.7 to 51.0 percent." title="Original objects · Strong cool. Place in bowl: 20%, 2 of 10 completed trials. 95% Wilson interval 5.7 to 51.0 percent." tabindex="-1"><strong>20%<span aria-hidden="true">↗</span></strong><img src="./policy-sisters/previews/cool/external_left.webp" width="96" height="72" alt="" loading="lazy" decoding="async"/><small>2<!-- --> / <!-- -->10</small></button></td><td><button type="button" class="PolicySistersExhibit-module__HUDwJq__cell" data-scene="dim" data-rate="0.2" data-outcome="place" style="--cell-color:#f29c58" aria-pressed="false" aria-label="Original objects · Very dim. Place in bowl: 20%, 2 of 10 completed trials. 95% Wilson interval 5.7 to 51.0 percent." title="Original objects · Very dim. Place in bowl: 20%, 2 of 10 completed trials. 95% Wilson interval 5.7 to 51.0 percent." tabindex="-1"><strong>20%<span aria-hidden="true">↗</span></strong><img src="./policy-sisters/previews/dim/external_left.webp" width="96" height="72" alt="" loading="lazy" decoding="async"/><small>2<!-- --> / <!-- -->10</small></button></td><td><button type="button" class="PolicySistersExhibit-module__HUDwJq__cell" data-scene="bright" data-rate="0.4" data-outcome="place" style="--cell-color:#edc18f" aria-pressed="false" aria-label="Original objects · Very bright. Place in bowl: 40%, 4 of 10 completed trials. 95% Wilson interval 16.8 to 68.7 percent." title="Original objects · Very bright. Place in bowl: 40%, 4 of 10 completed trials. 95% Wilson interval 16.8 to 68.7 percent." tabindex="-1"><strong>40%<span aria-hidden="true">↗</span></strong><img src="./policy-sisters/previews/bright/external_left.webp" width="96" height="72" alt="" loading="lazy" decoding="async"/><small>4<!-- --> / <!-- -->10</small></button></td><td><button type="button" class="PolicySistersExhibit-module__HUDwJq__cell" data-scene="key_left" data-rate="0.1" data-outcome="place" style="--cell-color:#f4893d" aria-pressed="false" aria-label="Original objects · Hard left. Place in bowl: 10%, 1 of 10 completed trials. 95% Wilson interval 1.8 to 40.4 percent." title="Original objects · Hard left. Place in bowl: 10%, 1 of 10 completed trials. 95% Wilson interval 1.8 to 40.4 percent." tabindex="-1"><strong>10%<span aria-hidden="true">↗</span></strong><img src="./policy-sisters/previews/key_left/external_left.webp" width="96" height="72" alt="" loading="lazy" decoding="async"/><small>1<!-- --> / <!-- -->10</small></button></td><td><button type="button" class="PolicySistersExhibit-module__HUDwJq__cell" data-scene="key_right" data-rate="0.6" data-outcome="place" style="--cell-color:#c4d8b9" aria-pressed="false" aria-label="Original objects · Hard right. Place in bowl: 60%, 6 of 10 completed trials. 95% Wilson interval 31.3 to 83.2 percent." title="Original objects · Hard right. Place in bowl: 60%, 6 of 10 completed trials. 95% Wilson interval 31.3 to 83.2 percent." tabindex="-1"><strong>60%<span aria-hidden="true">↗</span></strong><img src="./policy-sisters/previews/key_right/external_left.webp" width="96" height="72" alt="" loading="lazy" decoding="async"/><small>6<!-- --> / <!-- -->10</small></button></td><td><button type="button" class="PolicySistersExhibit-module__HUDwJq__cell" data-scene="backlit" data-rate="0.4" data-outcome="place" style="--cell-color:#edc18f" aria-pressed="false" aria-label="Original objects · Backlit. Place in bowl: 40%, 4 of 10 completed trials. 95% Wilson interval 16.8 to 68.7 percent." title="Original objects · Backlit. Place in bowl: 40%, 4 of 10 completed trials. 95% Wilson interval 16.8 to 68.7 percent." tabindex="-1"><strong>40%<span aria-hidden="true">↗</span></strong><img src="./policy-sisters/previews/backlit/external_left.webp" width="96" height="72" alt="" loading="lazy" decoding="async"/><small>4<!-- --> / <!-- -->10</small></button></td><td><button type="button" class="PolicySistersExhibit-module__HUDwJq__cell" data-scene="spotlight" data-rate="0.3" data-outcome="place" style="--cell-color:#efae74" aria-pressed="false" aria-label="Original objects · Overhead spot. Place in bowl: 30%, 3 of 10 completed trials. 95% Wilson interval 10.8 to 60.3 percent." title="Original objects · Overhead spot. Place in bowl: 30%, 3 of 10 completed trials. 95% Wilson interval 10.8 to 60.3 percent." tabindex="-1"><strong>30%<span aria-hidden="true">↗</span></strong><img src="./policy-sisters/previews/spotlight/external_left.webp" width="96" height="72" alt="" loading="lazy" decoding="async"/><small>3<!-- --> / <!-- -->10</small></button></td></tr><tr><th scope="row">Box length -5%<small>Geometry</small></th><td><button type="button" class="PolicySistersExhibit-module__HUDwJq__cell" data-scene="box_length_-5pct" data-rate="0.1" data-outcome="place" style="--cell-color:#f4893d" aria-pressed="false" aria-label="Box length -5% · Neutral. Place in bowl: 10%, 1 of 10 completed trials. 95% Wilson interval 1.8 to 40.4 percent." title="Box length -5% · Neutral. Place in bowl: 10%, 1 of 10 completed trials. 95% Wilson interval 1.8 to 40.4 percent." tabindex="-1"><strong>10%<span aria-hidden="true">↗</span></strong><img src="./policy-sisters/previews/box_length_-5pct/external_left.webp" width="96" height="72" alt="" loading="lazy" decoding="async"/><small>1<!-- --> / <!-- -->10</small></button></td><td><button type="button" class="PolicySistersExhibit-module__HUDwJq__cell" data-scene="box_length_-5pct__warm" data-rate="0.1" data-outcome="place" style="--cell-color:#f4893d" aria-pressed="false" aria-label="Box length -5% · Strong warm. Place in bowl: 10%, 1 of 10 completed trials. 95% Wilson interval 1.8 to 40.4 percent." title="Box length -5% · Strong warm. Place in bowl: 10%, 1 of 10 completed trials. 95% Wilson interval 1.8 to 40.4 percent." tabindex="-1"><strong>10%<span aria-hidden="true">↗</span></strong><img src="./policy-sisters/previews/box_length_-5pct__warm/external_left.webp" width="96" height="72" alt="" loading="lazy" decoding="async"/><small>1<!-- --> / <!-- -->10</small></button></td><td><button type="button" class="PolicySistersExhibit-module__HUDwJq__cell" data-scene="box_length_-5pct__cool" data-rate="0" data-outcome="place" style="--cell-color:#f77622" aria-pressed="false" aria-label="Box length -5% · Strong cool. Place in bowl: 0%, 0 of 10 completed trials. 95% Wilson interval 0.0 to 27.8 percent." title="Box length -5% · Strong cool. Place in bowl: 0%, 0 of 10 completed trials. 95% Wilson interval 0.0 to 27.8 percent." tabindex="-1"><strong>0%<span aria-hidden="true">↗</span></strong><img src="./policy-sisters/previews/box_length_-5pct__cool/external_left.webp" width="96" height="72" alt="" loading="lazy" decoding="async"/><small>0<!-- --> / <!-- -->10</small></button></td><td><button type="button" class="PolicySistersExhibit-module__HUDwJq__cell" data-scene="box_length_-5pct__dim" data-rate="0.1" data-outcome="place" style="--cell-color:#f4893d" aria-pressed="false" aria-label="Box length -5% · Very dim. Place in bowl: 10%, 1 of 10 completed trials. 95% Wilson interval 1.8 to 40.4 percent." title="Box length -5% · Very dim. Place in bowl: 10%, 1 of 10 completed trials. 95% Wilson interval 1.8 to 40.4 percent." tabindex="-1"><strong>10%<span aria-hidden="true">↗</span></strong><img src="./policy-sisters/previews/box_length_-5pct__dim/external_left.webp" width="96" height="72" alt="" loading="lazy" decoding="async"/><small>1<!-- --> / <!-- -->10</small></button></td><td><button type="button" class="PolicySistersExhibit-module__HUDwJq__cell" data-scene="box_length_-5pct__bright" data-rate="0.2" data-outcome="place" style="--cell-color:#f29c58" aria-pressed="false" aria-label="Box length -5% · Very bright. Place in bowl: 20%, 2 of 10 completed trials. 95% Wilson interval 5.7 to 51.0 percent." title="Box length -5% · Very bright. Place in bowl: 20%, 2 of 10 completed trials. 95% Wilson interval 5.7 to 51.0 percent." tabindex="-1"><strong>20%<span aria-hidden="true">↗</span></strong><img src="./policy-sisters/previews/box_length_-5pct__bright/external_left.webp" width="96" height="72" alt="" loading="lazy" decoding="async"/><small>2<!-- --> / <!-- -->10</small></button></td><td><button type="button" class="PolicySistersExhibit-module__HUDwJq__cell" data-scene="box_length_-5pct__key_left" data-rate="0.3" data-outcome="place" style="--cell-color:#efae74" aria-pressed="false" aria-label="Box length -5% · Hard left. Place in bowl: 30%, 3 of 10 completed trials. 95% Wilson interval 10.8 to 60.3 percent." title="Box length -5% · Hard left. Place in bowl: 30%, 3 of 10 completed trials. 95% Wilson interval 10.8 to 60.3 percent." tabindex="-1"><strong>30%<span aria-hidden="true">↗</span></strong><img src="./policy-sisters/previews/box_length_-5pct__key_left/external_left.webp" width="96" height="72" alt="" loading="lazy" decoding="async"/><small>3<!-- --> / <!-- -->10</small></button></td><td><button type="button" class="PolicySistersExhibit-module__HUDwJq__cell" data-scene="box_length_-5pct__key_right" data-rate="0.7" data-outcome="place" style="--cell-color:#9edcc8" aria-pressed="false" aria-label="Box length -5% · Hard right. Place in bowl: 70%, 7 of 10 completed trials. 95% Wilson interval 39.7 to 89.2 percent." title="Box length -5% · Hard right. Place in bowl: 70%, 7 of 10 completed trials. 95% Wilson interval 39.7 to 89.2 percent." tabindex="-1"><strong>70%<span aria-hidden="true">↗</span></strong><img src="./policy-sisters/previews/box_length_-5pct__key_right/external_left.webp" width="96" height="72" alt="" loading="lazy" decoding="async"/><small>7<!-- --> / <!-- -->10</small></button></td><td><button type="button" class="PolicySistersExhibit-module__HUDwJq__cell" data-scene="box_length_-5pct__backlit" data-rate="0.1" data-outcome="place" style="--cell-color:#f4893d" aria-pressed="false" aria-label="Box length -5% · Backlit. Place in bowl: 10%, 1 of 10 completed trials. 95% Wilson interval 1.8 to 40.4 percent." title="Box length -5% · Backlit. Place in bowl: 10%, 1 of 10 completed trials. 95% Wilson interval 1.8 to 40.4 percent." tabindex="-1"><strong>10%<span aria-hidden="true">↗</span></strong><img src="./policy-sisters/previews/box_length_-5pct__backlit/external_left.webp" width="96" height="72" alt="" loading="lazy" decoding="async"/><small>1<!-- --> / <!-- -->10</small></button></td><td><button type="button" class="PolicySistersExhibit-module__HUDwJq__cell" data-scene="box_length_-5pct__spotlight" data-rate="0.4" data-outcome="place" style="--cell-color:#edc18f" aria-pressed="false" aria-label="Box length -5% · Overhead spot. Place in bowl: 40%, 4 of 10 completed trials. 95% Wilson interval 16.8 to 68.7 percent." title="Box length -5% · Overhead spot. Place in bowl: 40%, 4 of 10 completed trials. 95% Wilson interval 16.8 to 68.7 percent." tabindex="-1"><strong>40%<span aria-hidden="true">↗</span></strong><img src="./policy-sisters/previews/box_length_-5pct__spotlight/external_left.webp" width="96" height="72" alt="" loading="lazy" decoding="async"/><small>4<!-- --> / <!-- -->10</small></button></td></tr><tr><th scope="row">Box length +5%<small>Geometry</small></th><td><button type="button" class="PolicySistersExhibit-module__HUDwJq__cell" data-scene="box_length_+5pct" data-rate="0.2" data-outcome="place" style="--cell-color:#f29c58" aria-pressed="false" aria-label="Box length +5% · Neutral. Place in bowl: 20%, 2 of 10 completed trials. 95% Wilson interval 5.7 to 51.0 percent." title="Box length +5% · Neutral. Place in bowl: 20%, 2 of 10 completed trials. 95% Wilson interval 5.7 to 51.0 percent." tabindex="-1"><strong>20%<span aria-hidden="true">↗</span></strong><img src="./policy-sisters/previews/box_length_%2B5pct/external_left.webp" width="96" height="72" alt="" loading="lazy" decoding="async"/><small>2<!-- --> / <!-- -->10</small></button></td><td><button type="button" class="PolicySistersExhibit-module__HUDwJq__cell" data-scene="box_length_+5pct__warm" data-rate="0" data-outcome="place" style="--cell-color:#f77622" aria-pressed="false" aria-label="Box length +5% · Strong warm. Place in bowl: 0%, 0 of 10 completed trials. 95% Wilson interval 0.0 to 27.8 percent." title="Box length +5% · Strong warm. Place in bowl: 0%, 0 of 10 completed trials. 95% Wilson interval 0.0 to 27.8 percent." tabindex="-1"><strong>0%<span aria-hidden="true">↗</span></strong><img src="./policy-sisters/previews/box_length_%2B5pct__warm/external_left.webp" width="96" height="72" alt="" loading="lazy" decoding="async"/><small>0<!-- --> / <!-- -->10</small></button></td><td><button type="button" class="PolicySistersExhibit-module__HUDwJq__cell" data-scene="box_length_+5pct__cool" data-rate="0" data-outcome="place" style="--cell-color:#f77622" aria-pressed="false" aria-label="Box length +5% · Strong cool. Place in bowl: 0%, 0 of 10 completed trials. 95% Wilson interval 0.0 to 27.8 percent." title="Box length +5% · Strong cool. Place in bowl: 0%, 0 of 10 completed trials. 95% Wilson interval 0.0 to 27.8 percent." tabindex="-1"><strong>0%<span aria-hidden="true">↗</span></strong><img src="./policy-sisters/previews/box_length_%2B5pct__cool/external_left.webp" width="96" height="72" alt="" loading="lazy" decoding="async"/><small>0<!-- --> / <!-- -->10</small></button></td><td><button type="button" class="PolicySistersExhibit-module__HUDwJq__cell" data-scene="box_length_+5pct__dim" data-rate="0.3" data-outcome="place" style="--cell-color:#efae74" aria-pressed="false" aria-label="Box length +5% · Very dim. Place in bowl: 30%, 3 of 10 completed trials. 95% Wilson interval 10.8 to 60.3 percent." title="Box length +5% · Very dim. Place in bowl: 30%, 3 of 10 completed trials. 95% Wilson interval 10.8 to 60.3 percent." tabindex="-1"><strong>30%<span aria-hidden="true">↗</span></strong><img src="./policy-sisters/previews/box_length_%2B5pct__dim/external_left.webp" width="96" height="72" alt="" loading="lazy" decoding="async"/><small>3<!-- --> / <!-- -->10</small></button></td><td><button type="button" class="PolicySistersExhibit-module__HUDwJq__cell" data-scene="box_length_+5pct__bright" data-rate="0.5" data-outcome="place" style="--cell-color:#ead4aa" aria-pressed="false" aria-label="Box length +5% · Very bright. Place in bowl: 50%, 5 of 10 completed trials. 95% Wilson interval 23.7 to 76.3 percent." title="Box length +5% · Very bright. Place in bowl: 50%, 5 of 10 completed trials. 95% Wilson interval 23.7 to 76.3 percent." tabindex="-1"><strong>50%<span aria-hidden="true">↗</span></strong><img src="./policy-sisters/previews/box_length_%2B5pct__bright/external_left.webp" width="96" height="72" alt="" loading="lazy" decoding="async"/><small>5<!-- --> / <!-- -->10</small></button></td><td><button type="button" class="PolicySistersExhibit-module__HUDwJq__cell" data-scene="box_length_+5pct__key_left" data-rate="0.2" data-outcome="place" style="--cell-color:#f29c58" aria-pressed="false" aria-label="Box length +5% · Hard left. Place in bowl: 20%, 2 of 10 completed trials. 95% Wilson interval 5.7 to 51.0 percent." title="Box length +5% · Hard left. Place in bowl: 20%, 2 of 10 completed trials. 95% Wilson interval 5.7 to 51.0 percent." tabindex="-1"><strong>20%<span aria-hidden="true">↗</span></strong><img src="./policy-sisters/previews/box_length_%2B5pct__key_left/external_left.webp" width="96" height="72" alt="" loading="lazy" decoding="async"/><small>2<!-- --> / <!-- -->10</small></button></td><td><button type="button" class="PolicySistersExhibit-module__HUDwJq__cell" data-scene="box_length_+5pct__key_right" data-rate="0.8" data-outcome="place" style="--cell-color:#78e0d7" aria-pressed="false" aria-label="Box length +5% · Hard right. Place in bowl: 80%, 8 of 10 completed trials. 95% Wilson interval 49.0 to 94.3 percent." title="Box length +5% · Hard right. Place in bowl: 80%, 8 of 10 completed trials. 95% Wilson interval 49.0 to 94.3 percent." tabindex="-1"><strong>80%<span aria-hidden="true">↗</span></strong><img src="./policy-sisters/previews/box_length_%2B5pct__key_right/external_left.webp" width="96" height="72" alt="" loading="lazy" decoding="async"/><small>8<!-- --> / <!-- -->10</small></button></td><td><button type="button" class="PolicySistersExhibit-module__HUDwJq__cell" data-scene="box_length_+5pct__backlit" data-rate="0.3" data-outcome="place" style="--cell-color:#efae74" aria-pressed="false" aria-label="Box length +5% · Backlit. Place in bowl: 30%, 3 of 10 completed trials. 95% Wilson interval 10.8 to 60.3 percent." title="Box length +5% · Backlit. Place in bowl: 30%, 3 of 10 completed trials. 95% Wilson interval 10.8 to 60.3 percent." tabindex="-1"><strong>30%<span aria-hidden="true">↗</span></strong><img src="./policy-sisters/previews/box_length_%2B5pct__backlit/external_left.webp" width="96" height="72" alt="" loading="lazy" decoding="async"/><small>3<!-- --> / <!-- -->10</small></button></td><td><button type="button" class="PolicySistersExhibit-module__HUDwJq__cell" data-scene="box_length_+5pct__spotlight" data-rate="0.4" data-outcome="place" style="--cell-color:#edc18f" aria-pressed="false" aria-label="Box length +5% · Overhead spot. Place in bowl: 40%, 4 of 10 completed trials. 95% Wilson interval 16.8 to 68.7 percent." title="Box length +5% · Overhead spot. Place in bowl: 40%, 4 of 10 completed trials. 95% Wilson interval 16.8 to 68.7 percent." tabindex="-1"><strong>40%<span aria-hidden="true">↗</span></strong><img src="./policy-sisters/previews/box_length_%2B5pct__spotlight/external_left.webp" width="96" height="72" alt="" loading="lazy" decoding="async"/><small>4<!-- --> / <!-- -->10</small></button></td></tr><tr><th scope="row">Box cool<small>Color</small></th><td><button type="button" class="PolicySistersExhibit-module__HUDwJq__cell" data-scene="box_cool" data-rate="0" data-outcome="place" style="--cell-color:#f77622" aria-pressed="false" aria-label="Box cool · Neutral. Place in bowl: 0%, 0 of 10 completed trials. 95% Wilson interval 0.0 to 27.8 percent." title="Box cool · Neutral. Place in bowl: 0%, 0 of 10 completed trials. 95% Wilson interval 0.0 to 27.8 percent." tabindex="-1"><strong>0%<span aria-hidden="true">↗</span></strong><img src="./policy-sisters/previews/box_cool/external_left.webp" width="96" height="72" alt="" loading="lazy" decoding="async"/><small>0<!-- --> / <!-- -->10</small></button></td><td><button type="button" class="PolicySistersExhibit-module__HUDwJq__cell" data-scene="box_cool__warm" data-rate="0.1" data-outcome="place" style="--cell-color:#f4893d" aria-pressed="false" aria-label="Box cool · Strong warm. Place in bowl: 10%, 1 of 10 completed trials. 95% Wilson interval 1.8 to 40.4 percent." title="Box cool · Strong warm. Place in bowl: 10%, 1 of 10 completed trials. 95% Wilson interval 1.8 to 40.4 percent." tabindex="-1"><strong>10%<span aria-hidden="true">↗</span></strong><img src="./policy-sisters/previews/box_cool__warm/external_left.webp" width="96" height="72" alt="" loading="lazy" decoding="async"/><small>1<!-- --> / <!-- -->10</small></button></td><td><button type="button" class="PolicySistersExhibit-module__HUDwJq__cell" data-scene="box_cool__cool" data-rate="0.1" data-outcome="place" style="--cell-color:#f4893d" aria-pressed="false" aria-label="Box cool · Strong cool. Place in bowl: 10%, 1 of 10 completed trials. 95% Wilson interval 1.8 to 40.4 percent." title="Box cool · Strong cool. Place in bowl: 10%, 1 of 10 completed trials. 95% Wilson interval 1.8 to 40.4 percent." tabindex="-1"><strong>10%<span aria-hidden="true">↗</span></strong><img src="./policy-sisters/previews/box_cool__cool/external_left.webp" width="96" height="72" alt="" loading="lazy" decoding="async"/><small>1<!-- --> / <!-- -->10</small></button></td><td><button type="button" class="PolicySistersExhibit-module__HUDwJq__cell" data-scene="box_cool__dim" data-rate="0.4" data-outcome="place" style="--cell-color:#edc18f" aria-pressed="false" aria-label="Box cool · Very dim. Place in bowl: 40%, 4 of 10 completed trials. 95% Wilson interval 16.8 to 68.7 percent." title="Box cool · Very dim. Place in bowl: 40%, 4 of 10 completed trials. 95% Wilson interval 16.8 to 68.7 percent." tabindex="-1"><strong>40%<span aria-hidden="true">↗</span></strong><img src="./policy-sisters/previews/box_cool__dim/external_left.webp" width="96" height="72" alt="" loading="lazy" decoding="async"/><small>4<!-- --> / <!-- -->10</small></button></td><td><button type="button" class="PolicySistersExhibit-module__HUDwJq__cell" data-scene="box_cool__bright" data-rate="0.3" data-outcome="place" style="--cell-color:#efae74" aria-pressed="false" aria-label="Box cool · Very bright. Place in bowl: 30%, 3 of 10 completed trials. 95% Wilson interval 10.8 to 60.3 percent." title="Box cool · Very bright. Place in bowl: 30%, 3 of 10 completed trials. 95% Wilson interval 10.8 to 60.3 percent." tabindex="-1"><strong>30%<span aria-hidden="true">↗</span></strong><img src="./policy-sisters/previews/box_cool__bright/external_left.webp" width="96" height="72" alt="" loading="lazy" decoding="async"/><small>3<!-- --> / <!-- -->10</small></button></td><td><button type="button" class="PolicySistersExhibit-module__HUDwJq__cell" data-scene="box_cool__key_left" data-rate="0.1" data-outcome="place" style="--cell-color:#f4893d" aria-pressed="false" aria-label="Box cool · Hard left. Place in bowl: 10%, 1 of 10 completed trials. 95% Wilson interval 1.8 to 40.4 percent." title="Box cool · Hard left. Place in bowl: 10%, 1 of 10 completed trials. 95% Wilson interval 1.8 to 40.4 percent." tabindex="-1"><strong>10%<span aria-hidden="true">↗</span></strong><img src="./policy-sisters/previews/box_cool__key_left/external_left.webp" width="96" height="72" alt="" loading="lazy" decoding="async"/><small>1<!-- --> / <!-- -->10</small></button></td><td><button type="button" class="PolicySistersExhibit-module__HUDwJq__cell" data-scene="box_cool__key_right" data-rate="0.8" data-outcome="place" style="--cell-color:#78e0d7" aria-pressed="false" aria-label="Box cool · Hard right. Place in bowl: 80%, 8 of 10 completed trials. 95% Wilson interval 49.0 to 94.3 percent." title="Box cool · Hard right. Place in bowl: 80%, 8 of 10 completed trials. 95% Wilson interval 49.0 to 94.3 percent." tabindex="-1"><strong>80%<span aria-hidden="true">↗</span></strong><img src="./policy-sisters/previews/box_cool__key_right/external_left.webp" width="96" height="72" alt="" loading="lazy" decoding="async"/><small>8<!-- --> / <!-- -->10</small></button></td><td><button type="button" class="PolicySistersExhibit-module__HUDwJq__cell" data-scene="box_cool__backlit" data-rate="0.3" data-outcome="place" style="--cell-color:#efae74" aria-pressed="false" aria-label="Box cool · Backlit. Place in bowl: 30%, 3 of 10 completed trials. 95% Wilson interval 10.8 to 60.3 percent." title="Box cool · Backlit. Place in bowl: 30%, 3 of 10 completed trials. 95% Wilson interval 10.8 to 60.3 percent." tabindex="-1"><strong>30%<span aria-hidden="true">↗</span></strong><img src="./policy-sisters/previews/box_cool__backlit/external_left.webp" width="96" height="72" alt="" loading="lazy" decoding="async"/><small>3<!-- --> / <!-- -->10</small></button></td><td><button type="button" class="PolicySistersExhibit-module__HUDwJq__cell" data-scene="box_cool__spotlight" data-rate="0.1" data-outcome="place" style="--cell-color:#f4893d" aria-pressed="false" aria-label="Box cool · Overhead spot. Place in bowl: 10%, 1 of 10 completed trials. 95% Wilson interval 1.8 to 40.4 percent." title="Box cool · Overhead spot. Place in bowl: 10%, 1 of 10 completed trials. 95% Wilson interval 1.8 to 40.4 percent." tabindex="-1"><strong>10%<span aria-hidden="true">↗</span></strong><img src="./policy-sisters/previews/box_cool__spotlight/external_left.webp" width="96" height="72" alt="" loading="lazy" decoding="async"/><small>1<!-- --> / <!-- -->10</small></button></td></tr><tr><th scope="row">Box fiber<small>Texture</small></th><td><button type="button" class="PolicySistersExhibit-module__HUDwJq__cell" data-scene="box_fiber" data-rate="0" data-outcome="place" style="--cell-color:#f77622" aria-pressed="false" aria-label="Box fiber · Neutral. Place in bowl: 0%, 0 of 10 completed trials. 95% Wilson interval 0.0 to 27.8 percent." title="Box fiber · Neutral. Place in bowl: 0%, 0 of 10 completed trials. 95% Wilson interval 0.0 to 27.8 percent." tabindex="-1"><strong>0%<span aria-hidden="true">↗</span></strong><img src="./policy-sisters/previews/box_fiber/external_left.webp" width="96" height="72" alt="" loading="lazy" decoding="async"/><small>0<!-- --> / <!-- -->10</small></button></td><td><button type="button" class="PolicySistersExhibit-module__HUDwJq__cell" data-scene="box_fiber__warm" data-rate="0" data-outcome="place" style="--cell-color:#f77622" aria-pressed="false" aria-label="Box fiber · Strong warm. Place in bowl: 0%, 0 of 10 completed trials. 95% Wilson interval 0.0 to 27.8 percent." title="Box fiber · Strong warm. Place in bowl: 0%, 0 of 10 completed trials. 95% Wilson interval 0.0 to 27.8 percent." tabindex="-1"><strong>0%<span aria-hidden="true">↗</span></strong><img src="./policy-sisters/previews/box_fiber__warm/external_left.webp" width="96" height="72" alt="" loading="lazy" decoding="async"/><small>0<!-- --> / <!-- -->10</small></button></td><td><button type="button" class="PolicySistersExhibit-module__HUDwJq__cell" data-scene="box_fiber__cool" data-rate="0.1" data-outcome="place" style="--cell-color:#f4893d" aria-pressed="false" aria-label="Box fiber · Strong cool. Place in bowl: 10%, 1 of 10 completed trials. 95% Wilson interval 1.8 to 40.4 percent." title="Box fiber · Strong cool. Place in bowl: 10%, 1 of 10 completed trials. 95% Wilson interval 1.8 to 40.4 percent." tabindex="-1"><strong>10%<span aria-hidden="true">↗</span></strong><img src="./policy-sisters/previews/box_fiber__cool/external_left.webp" width="96" height="72" alt="" loading="lazy" decoding="async"/><small>1<!-- --> / <!-- -->10</small></button></td><td><button type="button" class="PolicySistersExhibit-module__HUDwJq__cell" data-scene="box_fiber__dim" data-rate="0" data-outcome="place" style="--cell-color:#f77622" aria-pressed="false" aria-label="Box fiber · Very dim. Place in bowl: 0%, 0 of 10 completed trials. 95% Wilson interval 0.0 to 27.8 percent." title="Box fiber · Very dim. Place in bowl: 0%, 0 of 10 completed trials. 95% Wilson interval 0.0 to 27.8 percent." tabindex="-1"><strong>0%<span aria-hidden="true">↗</span></strong><img src="./policy-sisters/previews/box_fiber__dim/external_left.webp" width="96" height="72" alt="" loading="lazy" decoding="async"/><small>0<!-- --> / <!-- -->10</small></button></td><td><button type="button" class="PolicySistersExhibit-module__HUDwJq__cell" data-scene="box_fiber__bright" data-rate="0.2" data-outcome="place" style="--cell-color:#f29c58" aria-pressed="false" aria-label="Box fiber · Very bright. Place in bowl: 20%, 2 of 10 completed trials. 95% Wilson interval 5.7 to 51.0 percent." title="Box fiber · Very bright. Place in bowl: 20%, 2 of 10 completed trials. 95% Wilson interval 5.7 to 51.0 percent." tabindex="-1"><strong>20%<span aria-hidden="true">↗</span></strong><img src="./policy-sisters/previews/box_fiber__bright/external_left.webp" width="96" height="72" alt="" loading="lazy" decoding="async"/><small>2<!-- --> / <!-- -->10</small></button></td><td><button type="button" class="PolicySistersExhibit-module__HUDwJq__cell" data-scene="box_fiber__key_left" data-rate="0.4" data-outcome="place" style="--cell-color:#edc18f" aria-pressed="false" aria-label="Box fiber · Hard left. Place in bowl: 40%, 4 of 10 completed trials. 95% Wilson interval 16.8 to 68.7 percent." title="Box fiber · Hard left. Place in bowl: 40%, 4 of 10 completed trials. 95% Wilson interval 16.8 to 68.7 percent." tabindex="-1"><strong>40%<span aria-hidden="true">↗</span></strong><img src="./policy-sisters/previews/box_fiber__key_left/external_left.webp" width="96" height="72" alt="" loading="lazy" decoding="async"/><small>4<!-- --> / <!-- -->10</small></button></td><td><button type="button" class="PolicySistersExhibit-module__HUDwJq__cell" data-scene="box_fiber__key_right" data-rate="0.8" data-outcome="place" style="--cell-color:#78e0d7" aria-pressed="false" aria-label="Box fiber · Hard right. Place in bowl: 80%, 8 of 10 completed trials. 95% Wilson interval 49.0 to 94.3 percent." title="Box fiber · Hard right. Place in bowl: 80%, 8 of 10 completed trials. 95% Wilson interval 49.0 to 94.3 percent." tabindex="-1"><strong>80%<span aria-hidden="true">↗</span></strong><img src="./policy-sisters/previews/box_fiber__key_right/external_left.webp" width="96" height="72" alt="" loading="lazy" decoding="async"/><small>8<!-- --> / <!-- -->10</small></button></td><td><button type="button" class="PolicySistersExhibit-module__HUDwJq__cell" data-scene="box_fiber__backlit" data-rate="0" data-outcome="place" style="--cell-color:#f77622" aria-pressed="false" aria-label="Box fiber · Backlit. Place in bowl: 0%, 0 of 10 completed trials. 95% Wilson interval 0.0 to 27.8 percent." title="Box fiber · Backlit. Place in bowl: 0%, 0 of 10 completed trials. 95% Wilson interval 0.0 to 27.8 percent." tabindex="-1"><strong>0%<span aria-hidden="true">↗</span></strong><img src="./policy-sisters/previews/box_fiber__backlit/external_left.webp" width="96" height="72" alt="" loading="lazy" decoding="async"/><small>0<!-- --> / <!-- -->10</small></button></td><td><button type="button" class="PolicySistersExhibit-module__HUDwJq__cell" data-scene="box_fiber__spotlight" data-rate="0.2" data-outcome="place" style="--cell-color:#f29c58" aria-pressed="false" aria-label="Box fiber · Overhead spot. Place in bowl: 20%, 2 of 10 completed trials. 95% Wilson interval 5.7 to 51.0 percent." title="Box fiber · Overhead spot. Place in bowl: 20%, 2 of 10 completed trials. 95% Wilson interval 5.7 to 51.0 percent." tabindex="-1"><strong>20%<span aria-hidden="true">↗</span></strong><img src="./policy-sisters/previews/box_fiber__spotlight/external_left.webp" width="96" height="72" alt="" loading="lazy" decoding="async"/><small>2<!-- --> / <!-- -->10</small></button></td></tr><tr><th scope="row">Box print<small>Texture</small></th><td><button type="button" class="PolicySistersExhibit-module__HUDwJq__cell" data-scene="box_print" data-rate="0" data-outcome="place" style="--cell-color:#f77622" aria-pressed="false" aria-label="Box print · Neutral. Place in bowl: 0%, 0 of 10 completed trials. 95% Wilson interval 0.0 to 27.8 percent." title="Box print · Neutral. Place in bowl: 0%, 0 of 10 completed trials. 95% Wilson interval 0.0 to 27.8 percent." tabindex="-1"><strong>0%<span aria-hidden="true">↗</span></strong><img src="./policy-sisters/previews/box_print/external_left.webp" width="96" height="72" alt="" loading="lazy" decoding="async"/><small>0<!-- --> / <!-- -->10</small></button></td><td><button type="button" class="PolicySistersExhibit-module__HUDwJq__cell" data-scene="box_print__warm" data-rate="0" data-outcome="place" style="--cell-color:#f77622" aria-pressed="false" aria-label="Box print · Strong warm. Place in bowl: 0%, 0 of 10 completed trials. 95% Wilson interval 0.0 to 27.8 percent." title="Box print · Strong warm. Place in bowl: 0%, 0 of 10 completed trials. 95% Wilson interval 0.0 to 27.8 percent." tabindex="-1"><strong>0%<span aria-hidden="true">↗</span></strong><img src="./policy-sisters/previews/box_print__warm/external_left.webp" width="96" height="72" alt="" loading="lazy" decoding="async"/><small>0<!-- --> / <!-- -->10</small></button></td><td><button type="button" class="PolicySistersExhibit-module__HUDwJq__cell" data-scene="box_print__cool" data-rate="0.4" data-outcome="place" style="--cell-color:#edc18f" aria-pressed="false" aria-label="Box print · Strong cool. Place in bowl: 40%, 4 of 10 completed trials. 95% Wilson interval 16.8 to 68.7 percent." title="Box print · Strong cool. Place in bowl: 40%, 4 of 10 completed trials. 95% Wilson interval 16.8 to 68.7 percent." tabindex="-1"><strong>40%<span aria-hidden="true">↗</span></strong><img src="./policy-sisters/previews/box_print__cool/external_left.webp" width="96" height="72" alt="" loading="lazy" decoding="async"/><small>4<!-- --> / <!-- -->10</small></button></td><td><button type="button" class="PolicySistersExhibit-module__HUDwJq__cell" data-scene="box_print__dim" data-rate="0" data-outcome="place" style="--cell-color:#f77622" aria-pressed="false" aria-label="Box print · Very dim. Place in bowl: 0%, 0 of 10 completed trials. 95% Wilson interval 0.0 to 27.8 percent." title="Box print · Very dim. Place in bowl: 0%, 0 of 10 completed trials. 95% Wilson interval 0.0 to 27.8 percent." tabindex="-1"><strong>0%<span aria-hidden="true">↗</span></strong><img src="./policy-sisters/previews/box_print__dim/external_left.webp" width="96" height="72" alt="" loading="lazy" decoding="async"/><small>0<!-- --> / <!-- -->10</small></button></td><td><button type="button" class="PolicySistersExhibit-module__HUDwJq__cell" data-scene="box_print__bright" data-rate="0.5" data-outcome="place" style="--cell-color:#ead4aa" aria-pressed="false" aria-label="Box print · Very bright. Place in bowl: 50%, 5 of 10 completed trials. 95% Wilson interval 23.7 to 76.3 percent." title="Box print · Very bright. Place in bowl: 50%, 5 of 10 completed trials. 95% Wilson interval 23.7 to 76.3 percent." tabindex="-1"><strong>50%<span aria-hidden="true">↗</span></strong><img src="./policy-sisters/previews/box_print__bright/external_left.webp" width="96" height="72" alt="" loading="lazy" decoding="async"/><small>5<!-- --> / <!-- -->10</small></button></td><td><button type="button" class="PolicySistersExhibit-module__HUDwJq__cell" data-scene="box_print__key_left" data-rate="0" data-outcome="place" style="--cell-color:#f77622" aria-pressed="false" aria-label="Box print · Hard left. Place in bowl: 0%, 0 of 10 completed trials. 95% Wilson interval 0.0 to 27.8 percent." title="Box print · Hard left. Place in bowl: 0%, 0 of 10 completed trials. 95% Wilson interval 0.0 to 27.8 percent." tabindex="-1"><strong>0%<span aria-hidden="true">↗</span></strong><img src="./policy-sisters/previews/box_print__key_left/external_left.webp" width="96" height="72" alt="" loading="lazy" decoding="async"/><small>0<!-- --> / <!-- -->10</small></button></td><td><button type="button" class="PolicySistersExhibit-module__HUDwJq__cell" data-scene="box_print__key_right" data-rate="0.8" data-outcome="place" style="--cell-color:#78e0d7" aria-pressed="false" aria-label="Box print · Hard right. Place in bowl: 80%, 8 of 10 completed trials. 95% Wilson interval 49.0 to 94.3 percent." title="Box print · Hard right. Place in bowl: 80%, 8 of 10 completed trials. 95% Wilson interval 49.0 to 94.3 percent." tabindex="-1"><strong>80%<span aria-hidden="true">↗</span></strong><img src="./policy-sisters/previews/box_print__key_right/external_left.webp" width="96" height="72" alt="" loading="lazy" decoding="async"/><small>8<!-- --> / <!-- -->10</small></button></td><td><button type="button" class="PolicySistersExhibit-module__HUDwJq__cell" data-scene="box_print__backlit" data-rate="0" data-outcome="place" style="--cell-color:#f77622" aria-pressed="false" aria-label="Box print · Backlit. Place in bowl: 0%, 0 of 10 completed trials. 95% Wilson interval 0.0 to 27.8 percent." title="Box print · Backlit. Place in bowl: 0%, 0 of 10 completed trials. 95% Wilson interval 0.0 to 27.8 percent." tabindex="-1"><strong>0%<span aria-hidden="true">↗</span></strong><img src="./policy-sisters/previews/box_print__backlit/external_left.webp" width="96" height="72" alt="" loading="lazy" decoding="async"/><small>0<!-- --> / <!-- -->10</small></button></td><td><button type="button" class="PolicySistersExhibit-module__HUDwJq__cell" data-scene="box_print__spotlight" data-rate="0.2" data-outcome="place" style="--cell-color:#f29c58" aria-pressed="false" aria-label="Box print · Overhead spot. Place in bowl: 20%, 2 of 10 completed trials. 95% Wilson interval 5.7 to 51.0 percent." title="Box print · Overhead spot. Place in bowl: 20%, 2 of 10 completed trials. 95% Wilson interval 5.7 to 51.0 percent." tabindex="-1"><strong>20%<span aria-hidden="true">↗</span></strong><img src="./policy-sisters/previews/box_print__spotlight/external_left.webp" width="96" height="72" alt="" loading="lazy" decoding="async"/><small>2<!-- --> / <!-- -->10</small></button></td></tr></tbody></table></div></div></div></section><div class="chapter__caption"><div style="font-family:var(--font-sans);font-size:10px;font-weight:700;line-height:1.5;letter-spacing:0.02em;color:var(--accent);margin-left:auto;flex-shrink:0">5.5</div></div></div><div class="chapter__text"><p>Digital sisters of scenes and tasks let agents systematically vary objects, layouts, and goals to expose policy failure modes. Agents can automate these evaluations, repair failures in simulation, and generate successful demonstrations for training before testing the updated policy on the real robot.</p></div></section><section class="chapter" id="policy-training"><div class="chapter__rule" aria-hidden="true"></div><div class="chapter__head"><div class="chapter__num" aria-hidden="true">6</div><div><h2 class="chapter__title">SceneAgent pipeline: Policy training</h2><p class="chapter__lead">The policy training part of the SceneAgent pipeline starts from a reconstructed, interactive simulation of a robot's workspace: a Gaussian-splat scene with segmented object meshes and predicted physics. Agents use the digital twin and its sisters to evaluate policies, repair failure modes, and generate demonstrations for training before returning to the real robot.</p></div></div><div class="chapter__text"><p>The SceneAgent pipeline generally consists of two major blocks: (i) a demonstration factory that generates thousands of expert episodes with photo-realistic observations inside the twin; (ii) policy training on these episodes alone, and zero-shot transfer to real world environment.</p><p>The demonstration factory creates demonstrations for policy training with two scalable blocks: initial state randomization; and a physics-bounded scripted expert for generating motion control. Randomization creates possible distributions where the reality may be in at large scales: the objects are placed anywhere in the region on the table that the real task uses, the manipulated object's size varies, and the camera and robot base are perturbed around their calibrated poses. Sampled layouts are also physics-bounded: objects are dropped and settled under physics, so every initial state is one that the real table could actually present.</p><p>The scripted expert supplies the actions: it plans from prescient ground-truth object poses inside the simulator and pairs a pick-and-place routine — locate, approach, descend, grasp, lift, carry, lower, release, retreat — to the sampled poses. Finally, a success gate checks whether the object truly ended up in the container and discards episodes that fail. In each recorded episode, observations are rendered by depth-compositing a mesh foreground (robot and objects) over the Gaussian-splat background of the deployment environment.</p><p>The model-agnostic training uses the simulation-generated demonstration episodes for imitation-learning: camera streams are paired with the expert's actions in a standard format, and each episode carries a natural-language instruction sampled from many phrasings of the task. The pipeline then finetunes a pretrained vision language action model on the demonstration dataset via LoRA.</p></div></section><section class="chapter" id="sim2real"><div class="chapter__rule" aria-hidden="true"></div><div class="chapter__head"><div class="chapter__num" aria-hidden="true">7</div><div><h2 class="chapter__title">SceneAgent Evaluation in Progress</h2><p class="chapter__lead">After fine-tuning a Vision-Language-Action (VLA) model policy in simulation only, we run the policy in the real world and see improvement in performance. We are still completing the evaluation of our pipeline and will update this with our results soon.</p></div></div><div class="chapter__exhibit"><figure style="margin:0;min-width:0"><div style="position:relative;border:0;background:var(--paper);aspect-ratio:16 / 9;overflow:hidden"><video src="./videos/evaluation/real_sim_wrist_episodes_1_5_18_mosaic_real15s.mp4" poster="./videos/evaluation/real_sim_wrist_episodes_1_5_18_mosaic_real15s.jpg" muted="" loop="" playsInline="" preload="metadata" aria-label="Evaluation mosaic · episodes 1, 5, and 18 from left to right; real world, simulation, and wrist camera from top to bottom; real-world rollouts sped up to 15 seconds" style="position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block"></video></div></figure><div class="chapter__caption"><div style="font-family:var(--font-sans);font-size:10px;font-weight:700;line-height:1.5;letter-spacing:0.02em;color:var(--ink)">Policy evaluation in realworld on the Franka Emika Panda after finetuning in simulation.</div><div style="font-family:var(--font-sans);font-size:10px;font-weight:700;line-height:1.5;letter-spacing:0.02em;color:var(--accent);margin-left:auto;flex-shrink:0">7.2</div></div></div><div class="chapter__exhibit sub"><div class="clips" style="grid-template-columns:repeat(3, minmax(0, 1fr))"><figure style="margin:0;min-width:0;font-family:var(--font-sans)"><div style="position:relative;border:1px solid var(--hairline);background:var(--paper);aspect-ratio:842 / 369;overflow:hidden"><img src="./figures/evaluation_layout_1.webp" alt="Trial layout for episode 1: the egg and the basket in plan view about P0" loading="lazy" style="position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;padding:0"/></div></figure><figure style="margin:0;min-width:0;font-family:var(--font-sans)"><div style="position:relative;border:1px solid var(--hairline);background:var(--paper);aspect-ratio:842 / 369;overflow:hidden"><img src="./figures/evaluation_layout_5.webp" alt="Trial layout for episode 5: the egg and the basket in plan view about P0" loading="lazy" style="position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;padding:0"/></div></figure><figure style="margin:0;min-width:0;font-family:var(--font-sans)"><div style="position:relative;border:1px solid var(--hairline);background:var(--paper);aspect-ratio:842 / 369;overflow:hidden"><img src="./figures/evaluation_layout_18.webp" alt="Trial layout for episode 18: the egg and the basket in plan view about P0" loading="lazy" style="position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;padding:0"/></div></figure></div><div class="chapter__caption"><div style="font-family:var(--font-sans);font-size:10px;font-weight:700;line-height:1.5;letter-spacing:0.02em;color:var(--accent);margin-left:auto;flex-shrink:0">7.3</div></div></div><div class="chapter__text"><p>After finetuning generalist VLAs such as Physical Intelligence’s pi0.5 and NVIDIA’s GR00T 1.6 in simulation only on the digital twin and sisters, we see similar performance in the real world as in simulation. Initial results show a positive increase in task completion rates in the real world after training for 10,000 episodes in simulation of our lab space and example objects processed through our SceneAgent pipeline.</p><p>We are still evaluating the results and are optimistic about the results of real world performance improvements after training in converted 3DGS scenes to use in simulation with predictive physics. We will update our work with the full results soon.</p></div></section><section class="chapter" id="citation"><div class="chapter__rule" aria-hidden="true"></div><div class="chapter__head"><div class="chapter__num" aria-hidden="true">8</div><div><h2 class="chapter__title">Citation</h2></div></div><div class="chapter__exhibit"><figure style="margin:0;min-width:0"><div style="position:relative;border:1px solid var(--hairline);background:var(--ink);aspect-ratio:16 / 9;overflow:hidden"><video src="./videos/dexmate_typing_on_laptop.mp4" poster="./videos/dexmate_typing_on_laptop.jpg" muted="" loop="" playsInline="" controls="" preload="metadata" aria-label="A Dexmate robot typing on a laptop" style="position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block"></video></div></figure></div><div class="chapter__exhibit sub"><div style="font-family:var(--font-sans);background:var(--surface-card);border:1px solid var(--hairline);padding:0;box-shadow:none;color:var(--text-body)"><pre style="font-size:12px;line-height:1.6;padding:20px;color:var(--text-body)">@misc{sceneagent2026,
title = {SceneAgent: An Agentic Pipeline from 3D and 4D
Captures to Simulation Environments},
author = {Luke Hollis and Tianxing Fan and Heng Yang},
year = {2026},
eprint = {2610.34745},
archivePrefix = {arXiv},
primaryClass = {cs.RO},
url = {https://arxiv.org/abs/2610.34745}
}</pre></div></div><div class="chapter__text"><p>The code, processed scenes, and example converted objects will be released with our paper soon.</p></div><div class="chapter__exhibit sub"><h3 class="chapter__subtitle">Featured Art and 3D Captures</h3><ol class="credits"><li><b>[<!-- -->1<!-- -->]</b><span>CollectDataIO, <!-- -->“<a href="https://huggingface.co/datasets/CollectDataIO/tidy-up-kitchens" target="_blank" rel="noopener noreferrer">Tidy Up: U.S. Kitchens Before and After Cleaning</a>,” <!-- -->Hugging Face<!-- -->.</span></li><li><b>[<!-- -->2<!-- -->]</b><span>3dhdscan, <!-- -->“<a href="https://sketchfab.com/3d-models/rudbeckia-flower-eee1a1ebdb614f38a722b52e26ebe038" target="_blank" rel="noopener noreferrer">Rudbeckia flower</a>,” <!-- -->Sketchfab<!-- -->, CC BY 4.0<!-- -->.</span></li><li><b>[<!-- -->3<!-- -->]</b><span>JordanFry, <!-- -->“<a href="https://poly.cam/capture/0072f705-655d-4860-8468-2f12968e503c" target="_blank" rel="noopener noreferrer">Vintage Sony radio CFS-43</a>,” <!-- -->Polycam<!-- -->.</span></li><li><b>[<!-- -->4<!-- -->]</b><span>TechnologicalFrostfang2470, <!-- -->“<a href="https://poly.cam/capture/cae4a43a-87aa-4ed8-9e21-cff222662d0b" target="_blank" rel="noopener noreferrer">Totoro</a>,” <!-- -->Polycam<!-- -->.</span></li><li><b>[<!-- -->5<!-- -->]</b><span>netgis, <!-- -->“<a href="https://sketchfab.com/3d-models/chinese-statue-e0ccdb444522470f9e6567870e63c40c" target="_blank" rel="noopener noreferrer">Chinese statue</a>,” <!-- -->Sketchfab<!-- -->, CC BY-NC 4.0<!-- -->.</span></li><li><b>[<!-- -->6<!-- -->]</b><span>Lassi Kaukonen, <!-- -->“<a href="https://sketchfab.com/3d-models/asus-z170-p-motherboard-b998596cfc4945a0bc7b016005c39321" target="_blank" rel="noopener noreferrer">Asus Z170-P motherboard</a>,” <!-- -->Sketchfab<!-- -->, CC BY 4.0<!-- -->.</span></li><li><b>[<!-- -->7<!-- -->]</b><span>Igor.Jop, <!-- -->“<a href="https://sketchfab.com/3d-models/rx-480-gpu-61e69f50bcd44c7284bef31a8f21c6a7" target="_blank" rel="noopener noreferrer">RX 480 GPU</a>,” <!-- -->Sketchfab<!-- -->, CC BY 4.0<!-- -->.</span></li><li><b>[<!-- -->8<!-- -->]</b><span>MTP, <!-- -->“<a href="https://poly.cam/capture/BB04FF30-6D58-4BE8-8706-3227D1FD8EBF" target="_blank" rel="noopener noreferrer">Stegosaurus composite skeleton, American Museum of Natural History</a>,” <!-- -->Polycam<!-- -->.</span></li><li><b>[<!-- -->9<!-- -->]</b><span>redline3678, <!-- -->“<a href="https://poly.cam/capture/C80F9BB5-E4DE-4466-9018-25C1F271C250" target="_blank" rel="noopener noreferrer">Bencini Comet Universal 444 camera (1977)</a>,” <!-- -->Polycam<!-- -->.</span></li><li><b>[<!-- -->10<!-- -->]</b><span>wlanfr3ak, <!-- -->“<a href="https://poly.cam/capture/5DF483F7-5ECB-48EA-BDFC-EA4FD93A5A2C" target="_blank" rel="noopener noreferrer">Cessna C172R cockpit</a>,” <!-- -->Polycam<!-- -->.</span></li><li><b>[<!-- -->11<!-- -->]</b><span>ZanyFalcon4404, <!-- -->“<a href="https://poly.cam/capture/7B46071B-A067-4ACF-A4EE-DC568F65217F" target="_blank" rel="noopener noreferrer">Motorcycle</a>,” <!-- -->Polycam<!-- -->.</span></li><li><b>[<!-- -->12<!-- -->]</b><span>Pandora, <!-- -->“<a href="https://poly.cam/capture/BB7E52C7-BE42-4F57-9839-0969215A6C50" target="_blank" rel="noopener noreferrer">Towel rack</a>,” <!-- -->Polycam<!-- -->.</span></li><li><b>[<!-- -->13<!-- -->]</b><span>AutomatedStarfish942, <!-- -->“<a href="https://poly.cam/capture/0E267738-A32F-4160-8AE6-A55A804B87CC" target="_blank" rel="noopener noreferrer">Red towel</a>,” <!-- -->Polycam<!-- -->.</span></li><li><b>[<!-- -->14<!-- -->]</b><span>Artist, <!-- -->“<a href="https://poly.cam/capture/973DB233-4029-4CB4-8A15-22BF483C42CB" target="_blank" rel="noopener noreferrer">Dept Artisté anorak</a>,” <!-- -->Polycam<!-- -->.</span></li><li><b>[<!-- -->15<!-- -->]</b><span>drewjosh, <!-- -->“<a href="https://poly.cam/capture/158AE9E1-ED96-4661-B02D-8308B7F576FA" target="_blank" rel="noopener noreferrer">Firefighter hose</a>,” <!-- -->Polycam<!-- -->.</span></li><li><b>[<!-- -->16<!-- -->]</b><span>sisamm, <!-- -->“<a href="https://poly.cam/capture/0EB1FB71-49AE-4FC3-B2A5-785AF793EFE0" target="_blank" rel="noopener noreferrer">Electric extension lead</a>,” <!-- -->Polycam<!-- -->.</span></li><li><b>[<!-- -->17<!-- -->]</b><span>stevieburd, <!-- -->“<a href="https://poly.cam/capture/28520EB0-CAFB-400C-B93C-6BB9D3795262" target="_blank" rel="noopener noreferrer">Liquid Death hat</a>,” <!-- -->Polycam<!-- -->.</span></li></ol></div></section><footer class="colophon"><div class="colophon__field"><div class="colophon__content"><a class="lab-logo" href="https://computationalrobotics.seas.harvard.edu/"><img src="./branding/computational-robotics.jpg" alt="Harvard Computational Robotics Group" width="2286" height="299"/></a><div class="colophon__credit"><div style="font-family:var(--font-sans);font-size:13px;font-weight:700;line-height:1.5;letter-spacing:0.02em;color:var(--gray-cool);text-align:right">Harvard Computational Robotics Group<br/>School of Engineering and Applied Sciences<br/>Harvard University</div></div></div></div></footer></main></div><!--$--><!--/$--><script type="application/ld+json">{"@context":"https://schema.org","@type":"ScholarlyArticle","headline":"SceneAgent: An Agentic Pipeline from 3D and 4D Captures to Simulation Environments","name":"SceneAgent","description":"SceneAgent coordinates object reconstruction, physical modeling, and simulator-based inspection and repair to turn 3D and 4D captures into simulation scenes.","abstract":"Visual captures provide detailed scene appearance, but converting them into interactive simulation environments requires object reconstruction, physical modeling, and correction of intermediate errors. We present SceneAgent, an agentic pipeline that coordinates these steps through simulator-based visual inspection and repair. The pipeline processes 3D Gaussian Splatting (3DGS), photogrammetry, LiDAR captures, AI-generated 3DGS scenes, and 4D videos of dynamic scenes, and combines object segmentation, physical parameter estimation, part decomposition, articulation, and deformable simulation. To support policy learning, SceneAgent generates diverse object variants (“digital sisters”) and scripted demonstrations. On a cluttered bin scene from GraspClutter6D, SceneAgent raises F1 at 1 cm for every coding agent with scorable outputs both with and without its skills, and its reconstructions are better than SimFoundry: all agent configurations exceed SimFoundry's F1 score, with a best of 60.75% versus 6.9%. On three dynamic scenes from 4DCodeBench, SceneAgent raises the mean dynamic IoU of Gemini 4 Argon from 0.86% to 99.09%. We further demonstrate diverse simulated interactions and preliminary policy transfer to a real robot.","author":[{"@type":"Person","name":"Luke Hollis","affiliation":{"@type":"Organization","name":"Harvard Computational Robotics Group, School of Engineering and Applied Sciences, Harvard University","url":"https://computationalrobotics.seas.harvard.edu/"}},{"@type":"Person","name":"Tianxing Fan","affiliation":{"@type":"Organization","name":"Harvard Computational Robotics Group, School of Engineering and Applied Sciences, Harvard University","url":"https://computationalrobotics.seas.harvard.edu/"}},{"@type":"Person","name":"Heng Yang","affiliation":{"@type":"Organization","name":"Harvard Computational Robotics Group, School of Engineering and Applied Sciences, Harvard University","url":"https://computationalrobotics.seas.harvard.edu/"}}],"publisher":{"@type":"Organization","name":"Harvard Computational Robotics Group","url":"https://computationalrobotics.seas.harvard.edu/"},"datePublished":"2026","creativeWorkStatus":"Preprint","image":"https://computationalrobotics.seas.harvard.edu/SceneAgent/branding/sceneagent-social-share.jpg","url":"https://computationalrobotics.seas.harvard.edu/SceneAgent/","mainEntityOfPage":"https://computationalrobotics.seas.harvard.edu/SceneAgent/","inLanguage":"en","keywords":"SceneAgent, real-to-sim, sim-to-real, 3D Gaussian Splatting, simulation environments, predictive physics, robot policy evaluation, policy training, online planning, object segmentation, articulation, deformable objects, digital sisters, robot learning, Harvard Computational Robotics Group"}</script><script src="./_next/static/chunks/41r27_txhhsed.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[28422,[\"./_next/static/chunks/3d-g45tvvtwds.js\"],\"default\"]\n3:I[4703,[\"./_next/static/chunks/3d-g45tvvtwds.js\"],\"default\"]\n7:I[76400,[\"./_next/static/chunks/3d-g45tvvtwds.js\"],\"default\",1]\n:HL[\"./_next/static/chunks/19tluz82gl22_.css\",\"style\"]\n:HL[\"./_next/static/media/PlexMono_Regular-s.p.2x6m9-apme3b_.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"./_next/static/media/Silkscreen_Regular-s.p.3es8zrs5x_4vu.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"./_next/static/chunks/1o-poo_vuxfmr.css\",\"style\"]\n4:Tc2f,"])</script><script>self.__next_f.push([1,"{\"@context\":\"https://schema.org\",\"@type\":\"ScholarlyArticle\",\"headline\":\"SceneAgent: An Agentic Pipeline from 3D and 4D Captures to Simulation Environments\",\"name\":\"SceneAgent\",\"description\":\"SceneAgent coordinates object reconstruction, physical modeling, and simulator-based inspection and repair to turn 3D and 4D captures into simulation scenes.\",\"abstract\":\"Visual captures provide detailed scene appearance, but converting them into interactive simulation environments requires object reconstruction, physical modeling, and correction of intermediate errors. We present SceneAgent, an agentic pipeline that coordinates these steps through simulator-based visual inspection and repair. The pipeline processes 3D Gaussian Splatting (3DGS), photogrammetry, LiDAR captures, AI-generated 3DGS scenes, and 4D videos of dynamic scenes, and combines object segmentation, physical parameter estimation, part decomposition, articulation, and deformable simulation. To support policy learning, SceneAgent generates diverse object variants (“digital sisters”) and scripted demonstrations. On a cluttered bin scene from GraspClutter6D, SceneAgent raises F1 at 1 cm for every coding agent with scorable outputs both with and without its skills, and its reconstructions are better than SimFoundry: all agent configurations exceed SimFoundry's F1 score, with a best of 60.75% versus 6.9%. On three dynamic scenes from 4DCodeBench, SceneAgent raises the mean dynamic IoU of Gemini 4 Argon from 0.86% to 99.09%. We further demonstrate diverse simulated interactions and preliminary policy transfer to a real robot.\",\"author\":[{\"@type\":\"Person\",\"name\":\"Luke Hollis\",\"affiliation\":{\"@type\":\"Organization\",\"name\":\"Harvard Computational Robotics Group, School of Engineering and Applied Sciences, Harvard University\",\"url\":\"https://computationalrobotics.seas.harvard.edu/\"}},{\"@type\":\"Person\",\"name\":\"Tianxing Fan\",\"affiliation\":{\"@type\":\"Organization\",\"name\":\"Harvard Computational Robotics Group, School of Engineering and Applied Sciences, Harvard University\",\"url\":\"https://computationalrobotics.seas.harvard.edu/\"}},{\"@type\":\"Person\",\"name\":\"Heng Yang\",\"affiliation\":{\"@type\":\"Organization\",\"name\":\"Harvard Computational Robotics Group, School of Engineering and Applied Sciences, Harvard University\",\"url\":\"https://computationalrobotics.seas.harvard.edu/\"}}],\"publisher\":{\"@type\":\"Organization\",\"name\":\"Harvard Computational Robotics Group\",\"url\":\"https://computationalrobotics.seas.harvard.edu/\"},\"datePublished\":\"2026\",\"creativeWorkStatus\":\"Preprint\",\"image\":\"https://computationalrobotics.seas.harvard.edu/SceneAgent/branding/sceneagent-social-share.jpg\",\"url\":\"https://computationalrobotics.seas.harvard.edu/SceneAgent/\",\"mainEntityOfPage\":\"https://computationalrobotics.seas.harvard.edu/SceneAgent/\",\"inLanguage\":\"en\",\"keywords\":\"SceneAgent, real-to-sim, sim-to-real, 3D Gaussian Splatting, simulation environments, predictive physics, robot policy evaluation, policy training, online planning, object segmentation, articulation, deformable objects, digital sisters, robot learning, Harvard Computational Robotics Group\"}"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]},\"$undefined\",\"$undefined\",16],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"./_next/static/chunks/19tluz82gl22_.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"./_next/static/chunks/3d-g45tvvtwds.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"silkscreen_5c214b00-module__BDnqEG__variable plexmono_301f1454-module__3YJGwG__variable\",\"children\":[\"$\",\"body\",null,{\"children\":[[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}],[\"$\",\"script\",null,{\"type\":\"application/ld+json\",\"dangerouslySetInnerHTML\":{\"__html\":\"$4\"}}]]}]}]]}],{\"children\":[\"$L5\",{},null,false,null]},null,false,null],\"$L6\",false]],\"m\":\"$undefined\",\"G\":[\"$7\",[\"$L8\"]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"IDFios-ORNLYB3IgjAciq\"}\n"])</script><script>self.__next_f.push([1,"9:I[88409,[\"./_next/static/chunks/3d-g45tvvtwds.js\",\"./_next/static/chunks/44g6a0c6nkoic.js\",\"./_next/static/chunks/0r5p4pn-wx-hj.js\",\"./_next/static/chunks/035xovek1h4st.js\",\"./_next/static/chunks/2zmrwbr29z_cq.js\"],\"SideNav\"]\na:I[90112,[\"./_next/static/chunks/3d-g45tvvtwds.js\",\"./_next/static/chunks/44g6a0c6nkoic.js\",\"./_next/static/chunks/0r5p4pn-wx-hj.js\",\"./_next/static/chunks/035xovek1h4st.js\",\"./_next/static/chunks/2zmrwbr29z_cq.js\"],\"VideoPlate\"]\nb:I[45828,[\"./_next/static/chunks/3d-g45tvvtwds.js\",\"./_next/static/chunks/44g6a0c6nkoic.js\",\"./_next/static/chunks/0r5p4pn-wx-hj.js\",\"./_next/static/chunks/035xovek1h4st.js\",\"./_next/static/chunks/2zmrwbr29z_cq.js\"],\"ButtonLink\"]\nc:I[45828,[\"./_next/static/chunks/3d-g45tvvtwds.js\",\"./_next/static/chunks/44g6a0c6nkoic.js\",\"./_next/static/chunks/0r5p4pn-wx-hj.js\",\"./_next/static/chunks/035xovek1h4st.js\",\"./_next/static/chunks/2zmrwbr29z_cq.js\"],\"Button\"]\n1d:I[36215,[\"./_next/static/chunks/3d-g45tvvtwds.js\"],\"ViewportBoundary\"]\n1f:I[36215,[\"./_next/static/chunks/3d-g45tvvtwds.js\"],\"MetadataBoundary\"]\n20:\"$Sreact.suspense\"\n:HL[\"./branding/computational-robotics.jpg\",\"image\"]\n"])</script><script>self.__next_f.push([1,"5:[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"div\",null,{\"className\":\"shell\",\"children\":[[\"$\",\"$L9\",null,{}],[\"$\",\"main\",null,{\"children\":[[\"$\",\"section\",null,{\"id\":\"top\",\"style\":{\"background\":\"var(--paper)\",\"padding\":\"40px var(--chapter-pad) 56px\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"maxWidth\":\"calc(var(--page-w) - 2 * var(--chapter-pad))\"},\"children\":[[\"$\",\"div\",null,{\"className\":\"cover__brand\",\"children\":[\"$\",\"a\",null,{\"className\":\"lab-logo\",\"href\":\"https://computationalrobotics.seas.harvard.edu/\",\"children\":[\"$\",\"img\",null,{\"src\":\"./branding/computational-robotics.jpg\",\"alt\":\"Harvard Computational Robotics Group\",\"width\":2286,\"height\":299}]}]}],[\"$\",\"div\",null,{\"style\":{\"borderTop\":\"3px solid var(--ink)\",\"paddingTop\":10,\"display\":\"flex\",\"justifyContent\":\"space-between\",\"fontSize\":13,\"lineHeight\":1.45,\"color\":\"var(--ink)\"},\"children\":[[\"$\",\"div\",null,{\"children\":[\"Harvard Computational Robotics Group\",[\"$\",\"br\",null,{}],\"School of Engineering and Applied Sciences, Harvard University\"]}],[\"$\",\"div\",null,{\"style\":{\"textAlign\":\"right\"},\"children\":[\"Preprint\",[\"$\",\"br\",null,{}],\"2026\"]}]]}],[\"$\",\"$La\",null,{\"src\":\"./videos/cover_video.mp4\",\"poster\":\"./videos/cover_video.jpg\",\"ratio\":\"16 / 9\",\"alt\":\"SceneAgent cover video\",\"controls\":false,\"style\":{\"marginTop\":40}}],[\"$\",\"h1\",null,{\"className\":\"cover__title\",\"children\":\"SceneAgent\"}],[\"$\",\"div\",null,{\"style\":{\"marginTop\":12,\"maxWidth\":640,\"fontSize\":14,\"color\":\"var(--text-muted)\"},\"children\":\"An Agentic Pipeline from 3D and 4D Captures to Simulation Environments\"}],[\"$\",\"div\",null,{\"style\":{\"marginTop\":24,\"fontSize\":15,\"fontWeight\":700,\"color\":\"var(--ink)\"},\"children\":[[\"$\",\"span\",\"Luke Hollis\",{\"children\":[[\"$\",\"a\",null,{\"href\":\"mailto:lhollis@g.harvard.edu\",\"children\":\"Luke Hollis\"}],[\"$\",\"sup\",null,{\"children\":[1,\"*\"]}],\", \"]}],[\"$\",\"span\",\"Tianxing Fan\",{\"children\":[[\"$\",\"a\",null,{\"href\":\"mailto:tianxing_fan@seas.harvard.edu\",\"children\":\"Tianxing Fan\"}],[\"$\",\"sup\",null,{\"children\":[1,\"*\"]}],\", \"]}],[\"$\",\"span\",\"Heng Yang\",{\"children\":[[\"$\",\"a\",null,{\"href\":\"mailto:hankyang@seas.harvard.edu\",\"children\":\"Heng Yang\"}],[\"$\",\"sup\",null,{\"children\":[1,\"\"]}],\"\"]}]]}],[\"$\",\"div\",null,{\"style\":{\"marginTop\":8,\"fontSize\":13,\"lineHeight\":1.5,\"color\":\"var(--text-muted)\"},\"children\":[[[\"$\",\"span\",\"1\",{\"children\":[[\"$\",\"sup\",null,{\"children\":1}],\" \",[\"$\",\"a\",null,{\"href\":\"https://computationalrobotics.seas.harvard.edu/\",\"target\":\"_blank\",\"rel\":\"noopener\",\"children\":\"Harvard Computational Robotics Group, School of Engineering and Applied Sciences, Harvard University\"}]]}]],[\"$\",\"br\",null,{}],[\"$\",\"sup\",null,{\"children\":\"*\"}],\" \",\"Equal contribution\"]}],[\"$\",\"div\",null,{\"style\":{\"marginTop\":24,\"display\":\"flex\",\"alignItems\":\"center\",\"gap\":16,\"flexWrap\":\"wrap\"},\"children\":[[\"$\",\"$Lb\",null,{\"size\":\"sm\",\"href\":\"https://arxiv.org/abs/2610.34745\",\"target\":\"_blank\",\"rel\":\"noopener\",\"style\":{\"textTransform\":\"uppercase\"},\"children\":[[\"$\",\"svg\",null,{\"width\":\"14\",\"height\":\"14\",\"viewBox\":\"0 0 16 16\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\",\"children\":[\"$\",\"path\",null,{\"d\":\"M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z\"}]}],\"Paper\"]}],[\"$\",\"$Lc\",null,{\"size\":\"sm\",\"variant\":\"secondary\",\"disabled\":true,\"style\":{\"textTransform\":\"uppercase\"},\"children\":[[\"$\",\"svg\",null,{\"width\":\"14\",\"height\":\"14\",\"viewBox\":\"0 0 16 16\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\",\"children\":[\"$\",\"path\",null,{\"d\":\"M8 0c4.42 0 8 3.58 8 8a8.013 8.013 0 0 1-5.45 7.59c-.4.08-.55-.17-.55-.38 0-.27.01-1.13.01-2.2 0-.75-.25-1.23-.54-1.48 1.78-.2 3.65-.88 3.65-3.95 0-.88-.31-1.59-.82-2.15.08-.2.36-1.02-.08-2.12 0 0-.67-.22-2.2.82-.64-.18-1.32-.27-2-.27-.68 0-1.36.09-2 .27-1.53-1.03-2.2-.82-2.2-.82-.44 1.1-.16 1.92-.08 2.12-.51.56-.82 1.28-.82 2.15 0 3.06 1.86 3.75 3.64 3.95-.23.2-.44.55-.51 1.07-.46.21-1.61.55-2.33-.66-.15-.24-.6-.83-1.23-.82-.67.01-.27.38.01.53.34.19.73.9.82 1.13.16.45.68 1.31 2.69.94 0 .67.01 1.3.01 1.49 0 .21-.15.45-.55.38A7.995 7.995 0 0 1 0 8c0-4.42 3.58-8 8-8Z\"}]}],\"Code\"]}],[\"$\",\"span\",null,{\"style\":{\"fontSize\":12,\"textTransform\":\"uppercase\",\"color\":\"var(--text-muted)\"},\"children\":\"[coming soon]\"}]]}],\"$Ld\"]}]}],\"$Le\",\"$Lf\",\"$L10\",\"$L11\",\"$L12\",\"$L13\",\"$L14\",\"$L15\",\"$L16\"]}]]}],[\"$L17\",\"$L18\",\"$L19\",\"$L1a\",\"$L1b\"],\"$L1c\"]}]\n"])</script><script>self.__next_f.push([1,"6:[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L1d\",null,{\"children\":\"$L1e\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L1f\",null,{\"children\":[\"$\",\"$20\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L21\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}]\n8:[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"./_next/static/chunks/19tluz82gl22_.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]\n"])</script><script>self.__next_f.push([1,"23:I[7838,[\"./_next/static/chunks/3d-g45tvvtwds.js\",\"./_next/static/chunks/44g6a0c6nkoic.js\",\"./_next/static/chunks/0r5p4pn-wx-hj.js\",\"./_next/static/chunks/035xovek1h4st.js\",\"./_next/static/chunks/2zmrwbr29z_cq.js\"],\"PipelineChapter\"]\n24:I[55573,[\"./_next/static/chunks/3d-g45tvvtwds.js\",\"./_next/static/chunks/44g6a0c6nkoic.js\",\"./_next/static/chunks/0r5p4pn-wx-hj.js\",\"./_next/static/chunks/035xovek1h4st.js\",\"./_next/static/chunks/2zmrwbr29z_cq.js\"],\"MarkerFigure\"]\n50:I[79999,[\"./_next/static/chunks/3d-g45tvvtwds.js\",\"./_next/static/chunks/44g6a0c6nkoic.js\",\"./_next/static/chunks/0r5p4pn-wx-hj.js\",\"./_next/static/chunks/035xovek1h4st.js\",\"./_next/static/chunks/2zmrwbr29z_cq.js\"],\"CousinsGallery\"]\n5d:I[36215,[\"./_next/static/chunks/3d-g45tvvtwds.js\"],\"OutletBoundary\"]\n22:T4db,Visual captures provide detailed scene appearance, but converting them into interactive simulation environments requires object reconstruction, physical modeling, and correction of intermediate errors. We present SceneAgent, an agentic pipeline that coordinates these steps through simulator-based visual inspection and repair. The pipeline processes 3D Gaussian Splatting (3DGS), photogrammetry, LiDAR captures, AI-generated 3DGS scenes, and 4D videos of dynamic scenes, and combines object segmentation, physical parameter estimation, part decomposition, articulation, and deformable simulation. To support policy learning, SceneAgent generates diverse object variants (“digital sisters”) and scripted demonstrations. On a cluttered bin scene from GraspClutter6D, SceneAgent raises F1 at 1 cm for every coding agent with scorable outputs both with and without its skills, and its reconstructions are better than SimFoundry: all agent configurations exceed SimFoundry's F1 score, with a best of 60.75% versus 6.9%. On three dynamic scenes from 4DCodeBench, SceneAgent raises the mean dynamic IoU of Gemini 4 Argon from 0.86% to 99.09%. We further demonstrate diverse simulated interactions and preliminary policy transfer to a real robot.d:[\"$\",\"p\",null,{\"className\":\"chapter__text\",\"children\":\"$22\"}]\ne:[\"$\",\"$L23\",null,{}]\n"])</script><script>self.__next_f.push([1,"f:[\"$\",\"section\",null,{\"className\":\"chapter chapter--bleed\",\"id\":\"marker-physics\",\"children\":[[\"$\",\"div\",null,{\"className\":\"chapter__rule\",\"aria-hidden\":\"true\"}],[\"$\",\"div\",null,{\"className\":\"chapter__head\",\"children\":[[\"$\",\"div\",null,{\"className\":\"chapter__num\",\"aria-hidden\":\"true\",\"children\":\"2\"}],[\"$\",\"div\",null,{\"children\":[[\"$\",\"h2\",null,{\"className\":\"chapter__title\",\"children\":\"Predictive Per-Gaussian Physics Prior\"}],[\"$\",\"p\",null,{\"className\":\"chapter__lead\",\"children\":\"We infer predictive physics features for each simulated object via a combination of semantic features, object decomposition, and VLM labeling.\"}]]}]]}],[[\"$\",\"div\",null,{\"className\":\"chapter__exhibit chapter__exhibit--bleed\",\"data-bleed\":\"\",\"children\":[[\"$\",\"$L24\",null,{}],[\"$\",\"div\",null,{\"className\":\"chapter__caption\",\"children\":[\"$undefined\",[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"var(--font-sans)\",\"fontSize\":10,\"fontWeight\":700,\"lineHeight\":1.5,\"letterSpacing\":\"0.02em\",\"color\":\"var(--accent)\",\"marginLeft\":\"auto\",\"flexShrink\":0},\"children\":\"2.1\"}]]}]]}],[\"$\",\"div\",null,{\"className\":\"chapter__text\",\"children\":[\"$\",\"p\",null,{\"children\":\"For example, the pipeline processes a dry erase marker with the object decomposition of the cap, infill generation of the tip, and predictive friction coefficient holding the cap onto the marker tip.\"}]}],[[\"$\",\"div\",null,{\"className\":\"chapter__text\",\"children\":[\"$\",\"p\",null,{\"children\":\"Similarly, we are able to use this workflow to create materials in the OpenUSD standard that represent physics properties heterogeneously distributed throughout an object. For example, this hat has a higher rigidity around the brim.\"}]}],[\"$\",\"div\",null,{\"className\":\"chapter__exhibit sub\",\"data-bleed\":\"$undefined\",\"children\":[[\"$\",\"div\",null,{\"className\":\"PhysicsChapters-module__IAVxNa__pair\",\"children\":[[\"$\",\"figure\",null,{\"style\":{\"margin\":0,\"minWidth\":0,\"fontFamily\":\"var(--font-sans)\"},\"children\":[[\"$\",\"div\",null,{\"style\":{\"position\":\"relative\",\"border\":\"1px solid var(--hairline)\",\"background\":\"var(--ink)\",\"aspectRatio\":\"4 / 3\",\"overflow\":\"hidden\"},\"children\":[[\"$\",\"img\",null,{\"src\":\"./physics-prior/hat/capture.webp\",\"alt\":\"The scanned corduroy cap\",\"loading\":\"lazy\",\"style\":{\"position\":\"absolute\",\"inset\":0,\"width\":\"100%\",\"height\":\"100%\",\"objectFit\":\"cover\",\"objectPosition\":\"$undefined\",\"display\":\"block\",\"padding\":0}}],false,false,\"$undefined\"]}],[\"$\",\"figcaption\",null,{\"style\":{\"marginTop\":10},\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"var(--font-sans)\",\"fontSize\":10,\"fontWeight\":700,\"lineHeight\":1.5,\"letterSpacing\":\"0.02em\",\"color\":\"var(--text-muted)\"},\"children\":\"3d Capture\"}]}]]}],[\"$\",\"figure\",null,{\"style\":{\"margin\":0,\"minWidth\":0,\"fontFamily\":\"var(--font-sans)\"},\"children\":[[\"$\",\"div\",null,{\"style\":{\"position\":\"relative\",\"border\":\"1px solid var(--hairline)\",\"background\":\"var(--ink)\",\"aspectRatio\":\"4 / 3\",\"overflow\":\"hidden\"},\"children\":[[\"$\",\"img\",null,{\"src\":\"./physics-prior/hat/stiffness.webp\",\"alt\":\"The cap colored by the stiffness used in the simulator\",\"loading\":\"lazy\",\"style\":{\"position\":\"absolute\",\"inset\":0,\"width\":\"100%\",\"height\":\"100%\",\"objectFit\":\"cover\",\"objectPosition\":\"$undefined\",\"display\":\"block\",\"padding\":0}}],false,false,\"$undefined\"]}],[\"$\",\"figcaption\",null,{\"style\":{\"marginTop\":10},\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"var(--font-sans)\",\"fontSize\":10,\"fontWeight\":700,\"lineHeight\":1.5,\"letterSpacing\":\"0.02em\",\"color\":\"var(--text-muted)\"},\"children\":\"Rigidity in the physics material in the OpenUSD. Higher rigidity is red, lower is blue.\"}]}]]}]]}],[\"$\",\"div\",null,{\"className\":\"chapter__caption\",\"children\":[[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"var(--font-sans)\",\"fontSize\":10,\"fontWeight\":700,\"lineHeight\":1.5,\"letterSpacing\":\"0.02em\",\"color\":\"var(--ink)\"},\"children\":\"We predict physics properties for unlabeled capture with VLMs and semantic per-Gaussian features. The prior predicts material, mass, friction and a 0–1 rigidity for every Gaussian.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"var(--font-sans)\",\"fontSize\":10,\"fontWeight\":700,\"lineHeight\":1.5,\"letterSpacing\":\"0.02em\",\"color\":\"var(--accent)\",\"marginLeft\":\"auto\",\"flexShrink\":0},\"children\":\"2.2\"}]]}]]}],[\"$\",\"div\",null,{\"className\":\"chapter__exhibit sub\",\"data-bleed\":\"$undefined\",\"children\":[[\"$\",\"div\",null,{\"className\":\"PhysicsChapters-module__IAVxNa__flowWrap\",\"children\":[\"$\",\"svg\",null,{\"className\":\"PhysicsChapters-module__IAVxNa__flow\",\"viewBox\":\"0 0 960 324\",\"role\":\"img\",\"aria-label\":\"Workflow: masked crops of each object go through DINOv2 and OpenCLIP to one vector per object, copied to the object's Gaussians. Each Gaussian with its position, size, opacity and color goes through the physics prior to a distribution. Distributions average to the object, parts inherit the object's record, and the distributions also form a field on the splat.\",\"children\":[\"$L25\",\"$L26\",\"$L27\",\"$L28\",\"$L29\",\"$L2a\",\"$L2b\",\"$L2c\",\"$L2d\",\"$L2e\",\"$L2f\"]}]}],\"$L30\"]}]],\"$L31\",\"$L32\"]]}]\n"])</script><script>self.__next_f.push([1,"10:[\"$\",\"section\",null,{\"className\":\"chapter chapter--bleed\",\"id\":\"agents\",\"children\":[[\"$\",\"div\",null,{\"className\":\"chapter__rule\",\"aria-hidden\":\"true\"}],[\"$\",\"div\",null,{\"className\":\"chapter__head\",\"children\":[[\"$\",\"div\",null,{\"className\":\"chapter__num\",\"aria-hidden\":\"true\",\"children\":\"3\"}],[\"$\",\"div\",null,{\"children\":[[\"$\",\"h2\",null,{\"className\":\"chapter__title\",\"children\":\"Agentic Pipeline for SceneAgent\"}],[\"$\",\"p\",null,{\"className\":\"chapter__lead\",\"children\":\"We provide a team of agents to convert many types of 3d captures into fully usable simulation scenes ready for training in Isaac Lab, MuJoCo, or Unreal. The easiest way to convert a 3d capture is by an agent swarm that processes each step of the pipeline and visually inspects and reviews it for errors.\"}]]}]]}],[[\"$\",\"div\",null,{\"className\":\"chapter__exhibit chapter__exhibit--bleed\",\"data-bleed\":\"\",\"children\":[[\"$\",\"div\",null,{\"className\":\"spread\",\"role\":\"img\",\"aria-label\":\"The agentic workflow: 21 agents and skills in four stages, Input, Conversion, Sisters and Policy, processing 3d capture data into usable simulation scenes and policies.\",\"children\":[\"$\",\"div\",null,{\"className\":\"spread__grid\",\"style\":{\"--spread-fluid\":\"minmax(0, 300fr) minmax(0, 90fr) minmax(0, 300fr) minmax(0, 90fr) minmax(0, 300fr) minmax(0, 90fr) minmax(0, 300fr) minmax(0, 90fr) minmax(0, 300fr)\",\"--spread-fixed\":\"calc(300px * var(--s)) minmax(0, 1fr) calc(300px * var(--s)) minmax(0, 1fr) calc(300px * var(--s)) minmax(0, 1fr) calc(300px * var(--s)) minmax(0, 1fr) calc(300px * var(--s))\"},\"children\":[[\"$\",\"$1\",\"00-0\",{\"children\":[[\"$\",\"svg\",null,{\"className\":\"spread__col\",\"viewBox\":\"0 0 300 1189\",\"style\":{\"fontFamily\":\"Helvetica, \\\"Helvetica Neue\\\", Arimo, Arial, sans-serif\"},\"children\":[[\"$\",\"g\",null,{\"children\":[[\"$\",\"text\",null,{\"x\":0,\"y\":30,\"fontSize\":30,\"fontWeight\":700,\"fill\":\"var(--accent)\",\"children\":\"00\"}],[\"$\",\"text\",null,{\"x\":50,\"y\":30,\"fontSize\":30,\"fontWeight\":700,\"fill\":\"var(--ink)\",\"children\":\"Input\"}],[[\"$\",\"text\",\"0\",{\"x\":0,\"y\":71,\"fontSize\":24,\"fill\":\"var(--text-muted)\",\"children\":\"Process 3D data from RGB\"}],[\"$\",\"text\",\"1\",{\"x\":0,\"y\":99,\"fontSize\":24,\"fill\":\"var(--text-muted)\",\"children\":\"images, photogrammetry,\"}],[\"$\",\"text\",\"2\",{\"x\":0,\"y\":127,\"fontSize\":24,\"fill\":\"var(--text-muted)\",\"children\":\"3dgs, LiDAR, or video\"}]]]}],[\"$\",\"line\",null,{\"x1\":0,\"y1\":44.5,\"x2\":300,\"y2\":44.5,\"stroke\":\"var(--ink)\"}],[[\"$\",\"g\",\"01\",{\"children\":[[\"$\",\"g\",null,{\"className\":\"agent-node\",\"role\":\"img\",\"aria-label\":\"01 Orchestrator: Plans and manages the agents across the stages of conversion and sister generation\",\"children\":[[\"$\",\"rect\",null,{\"x\":0.5,\"y\":181.5,\"width\":299,\"height\":199,\"fill\":\"var(--paper)\",\"stroke\":\"var(--ink)\"}],[\"$\",\"g\",null,{\"transform\":\"translate(16 199) scale(5)\",\"fill\":\"currentColor\",\"shapeRendering\":\"crispEdges\",\"aria-hidden\":\"true\",\"children\":[\"$\",\"g\",null,{\"className\":\"agent-sprite\",\"style\":{\"--i\":0},\"children\":[[\"$\",\"g\",\"leg\",{\"className\":\"agent-sprite__leg\",\"children\":[[\"$\",\"rect\",\"6-4\",{\"x\":4,\"y\":6,\"width\":1,\"height\":1}],[\"$\",\"rect\",\"6-6\",{\"x\":6,\"y\":6,\"width\":1,\"height\":1}],[\"$\",\"rect\",\"6-8\",{\"x\":8,\"y\":6,\"width\":1,\"height\":1}]]}],[\"$\",\"g\",\"body\",{\"className\":\"agent-sprite__body\",\"children\":[[\"$\",\"rect\",\"3-2\",{\"x\":2,\"y\":3,\"width\":9,\"height\":1}],[\"$\",\"rect\",\"4-2\",{\"x\":2,\"y\":4,\"width\":2,\"height\":1}],[\"$\",\"rect\",\"4-5\",{\"x\":5,\"y\":4,\"width\":3,\"height\":1}],[\"$\",\"rect\",\"4-9\",{\"x\":9,\"y\":4,\"width\":2,\"height\":1}],[\"$\",\"rect\",\"5-2\",{\"x\":2,\"y\":5,\"width\":9,\"height\":1}]]}],[\"$\",\"g\",\"tool\",{\"className\":\"agent-sprite__tool\",\"children\":[[\"$\",\"rect\",\"0-6\",{\"x\":6,\"y\":0,\"width\":1,\"height\":1}],[\"$\",\"rect\",\"1-6\",{\"x\":6,\"y\":1,\"width\":1,\"height\":1}],[\"$\",\"rect\",\"2-6\",{\"x\":6,\"y\":2,\"width\":1,\"height\":1}]]}]]}]}],[\"$\",\"text\",null,{\"x\":93,\"y\":217.9,\"fontSize\":22,\"fontWeight\":700,\"fill\":\"var(--accent)\",\"children\":\"01\"}],[\"$\",\"text\",null,{\"x\":126.5,\"y\":217.9,\"fontSize\":22,\"fontWeight\":700,\"fill\":\"var(--ink)\",\"children\":\"Orchestrator\"}],[[\"$\",\"text\",\"0\",{\"x\":16,\"y\":262,\"fontSize\":21,\"fill\":\"var(--text-body)\",\"children\":\"Plans and manages the\"}],[\"$\",\"text\",\"1\",{\"x\":16,\"y\":288,\"fontSize\":21,\"fill\":\"var(--text-body)\",\"children\":\"agents across the stages of\"}],[\"$\",\"text\",\"2\",{\"x\":16,\"y\":314,\"fontSize\":21,\"fill\":\"var(--text-body)\",\"children\":\"conversion and sister\"}],[\"$\",\"text\",\"3\",{\"x\":16,\"y\":340,\"fontSize\":21,\"fill\":\"var(--text-body)\",\"children\":\"generation\"}]],[[\"$\",\"text\",\"0\",{\"x\":16,\"y\":366,\"fontSize\":12.5,\"fontFamily\":\"var(--font-pixel)\",\"fill\":\"var(--text-label)\",\"children\":\"SCENEAGENT-RUN-PIPELINE\"}]]]}],[\"$\",\"line\",null,{\"x1\":150,\"y1\":381,\"x2\":150,\"y2\":403,\"stroke\":\"var(--text-label)\"}]]}],[\"$\",\"g\",\"02\",{\"children\":[[\"$\",\"g\",null,{\"className\":\"agent-node\",\"role\":\"img\",\"aria-label\":\"02 Ingest: Ingests data in various forms for processing to 3dgs\",\"children\":[\"$L33\",\"$L34\",\"$L35\",\"$L36\",[\"$L37\",\"$L38\"],[\"$L39\"]]}],\"$L3a\"]}],\"$L3b\",\"$L3c\"]]}],\"$L3d\"]}],\"$L3e\",\"$L3f\",\"$L40\",\"$L41\"]}]}],\"$L42\"]}],\"$L43\",\"$L44\",\"$L45\",\"$L46\",\"$L47\",\"$L48\"]]}]\n"])</script><script>self.__next_f.push([1,"11:[\"$\",\"section\",null,{\"className\":\"chapter chapter--bleed\",\"id\":\"hybrid\",\"children\":[[\"$\",\"div\",null,{\"className\":\"chapter__rule\",\"aria-hidden\":\"true\"}],[\"$\",\"div\",null,{\"className\":\"chapter__head\",\"children\":[[\"$\",\"div\",null,{\"className\":\"chapter__num\",\"aria-hidden\":\"true\",\"children\":\"4\"}],[\"$\",\"div\",null,{\"children\":[[\"$\",\"h2\",null,{\"className\":\"chapter__title\",\"children\":\"Hybrid Scenes with 3d Captures and Digital Art\"}],[\"$\",\"p\",null,{\"className\":\"chapter__lead\",\"children\":\"We convert individual 3d captured objects into simulation assets with our SceneAgent pipeline and incorporate them into synthetic scenes prepared by 3d artists.\"}]]}]]}],[[[\"$\",\"$1\",\"scenes\",{\"children\":[false,[\"$\",\"div\",null,{\"className\":\"chapter__exhibit chapter__exhibit--bleed\",\"data-bleed\":\"\",\"children\":[[\"$\",\"div\",null,{\"className\":\"clips\",\"style\":{\"gridTemplateColumns\":\"repeat(3, minmax(0, 1fr))\"},\"children\":[[\"$\",\"$La\",\"kitchen_apple\",{\"src\":\"./videos/kitchen_apple.mp4\",\"poster\":\"./videos/kitchen_apple.jpg\",\"caption\":\"Hybrid scenes from available assets in Isaac Lab, a Kitchen scene picking fruit, similar to RoboCasa\",\"ratio\":\"4 / 3\",\"alt\":\"Kitchen · apple\"}],[\"$\",\"$La\",\"warehouse_pack\",{\"src\":\"./videos/warehouse_pack.mp4\",\"poster\":\"./videos/warehouse_pack.jpg\",\"caption\":\"Contact rich tasks picking tightly packed vertical cylinders\",\"ratio\":\"4 / 3\",\"alt\":\"Warehouse · pack\"}],[\"$\",\"$La\",\"chem_lab_sort\",{\"src\":\"./videos/chem_lab_sort.mp4\",\"poster\":\"./videos/chem_lab_sort.jpg\",\"caption\":\"Chemistry lab, sorting vials into beakers\",\"ratio\":\"4 / 3\",\"alt\":\"Chemistry lab · sort\"}],[\"$\",\"$La\",\"datacenter_cable\",{\"src\":\"./videos/datacenter_cable.mp4\",\"poster\":\"./videos/datacenter_cable.jpg\",\"caption\":\"Picking and plugging cables into a data center server rack\",\"ratio\":\"4 / 3\",\"alt\":\"Data center · cable\"}],[\"$\",\"$La\",\"studio_cardboard_fold\",{\"src\":\"./videos/studio_cardboard_fold.mp4\",\"poster\":\"./videos/studio_cardboard_fold.jpg\",\"caption\":\"Two arms folding a cardboard packaging in simulation, packing a deformable object\",\"ratio\":\"4 / 3\",\"alt\":\"Studio · cardboard fold\"}],[\"$\",\"$La\",\"studio_succulent_watering\",{\"src\":\"./videos/studio_succulent_watering.mp4\",\"poster\":\"./videos/studio_succulent_watering.jpg\",\"caption\":\"Hybrid digital art and 3d capture scene with a Franka Emika Panda arm watering a succulent with an eyedropper\",\"ratio\":\"4 / 3\",\"alt\":\"Studio · succulent watering\"}]]}],[\"$\",\"div\",null,{\"className\":\"chapter__caption\",\"children\":[\"$undefined\",[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"var(--font-sans)\",\"fontSize\":10,\"fontWeight\":700,\"lineHeight\":1.5,\"letterSpacing\":\"0.02em\",\"color\":\"var(--accent)\",\"marginLeft\":\"auto\",\"flexShrink\":0},\"children\":\"3.2\"}]]}]]}]]}],[\"$\",\"$1\",\"hands\",{\"children\":[[\"$\",\"div\",null,{\"className\":\"chapter__text\",\"children\":[[\"$\",\"p\",null,{\"children\":\"Because many backgrounds and environments are redundant across common tasks, we combine specific 3d captured objects processed with our SceneAgent pipeline with other existing art assets created by 3d artists, such as in the NVIDIA Omniverse asset repository. This allows for rapid development of common scenes for policy evaluation along with scenes with specific objects for individual tasks.\"}],[\"$\",\"p\",null,{\"children\":\"For example, when a manipulator may need to learn how to use a specific part, say for a new healthcare device or a new cooling fan in a server rack, that specific part individually could be 3d captured and processed in our pipeline and then incorporated into a pre-existing hospital or data center scene such as the default environments that accompany NVIDIA Isaac Lab.\"}]]}],[\"$\",\"div\",null,{\"className\":\"chapter__exhibit chapter__exhibit--bleed sub\",\"data-bleed\":\"\",\"children\":[[\"$\",\"div\",null,{\"className\":\"clips\",\"style\":{\"gridTemplateColumns\":\"repeat(3, minmax(0, 1fr))\"},\"children\":[[\"$\",\"$La\",\"sharpa_hand_flower_scoop_realtime\",{\"src\":\"./videos/sharpa_hand_flower_scoop_realtime.mp4\",\"poster\":\"./videos/sharpa_hand_flower_scoop_realtime.jpg\",\"caption\":\"A Sharpa dexterous hand scooping to cup a delicate flower in its palm\",\"ratio\":\"4 / 3\",\"alt\":\"Studio · Sharpa hand, real time\"}],\"$L49\",\"$L4a\",\"$L4b\",\"$L4c\",\"$L4d\"]}],\"$L4e\"]}]]}]],\"$L4f\"]]}]\n"])</script><script>self.__next_f.push([1,"12:[\"$\",\"section\",null,{\"className\":\"chapter chapter--bleed\",\"id\":\"cousins\",\"children\":[[\"$\",\"div\",null,{\"className\":\"chapter__rule\",\"aria-hidden\":\"true\"}],[\"$\",\"div\",null,{\"className\":\"chapter__head\",\"children\":[[\"$\",\"div\",null,{\"className\":\"chapter__num\",\"aria-hidden\":\"true\",\"children\":\"5\"}],[\"$\",\"div\",null,{\"children\":[[\"$\",\"h2\",null,{\"className\":\"chapter__title\",\"children\":\"Digital Twins and Sisters\"}],[\"$\",\"p\",null,{\"className\":\"chapter__lead\",\"children\":\"In order to increase training generalizability from simulation back to the real world, we create slight variations of each object in the scenes converted by the pipeline.\"}]]}]]}],[[\"$\",\"div\",null,{\"className\":\"chapter__exhibit\",\"data-bleed\":\"$undefined\",\"children\":[[\"$\",\"$L50\",null,{}],[\"$\",\"div\",null,{\"className\":\"chapter__caption\",\"children\":[\"$undefined\",[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"var(--font-sans)\",\"fontSize\":10,\"fontWeight\":700,\"lineHeight\":1.5,\"letterSpacing\":\"0.02em\",\"color\":\"var(--accent)\",\"marginLeft\":\"auto\",\"flexShrink\":0},\"children\":\"5.2\"}]]}]]}],[\"$\",\"div\",null,{\"className\":\"chapter__text\",\"children\":[[\"$\",\"p\",null,{\"children\":\"Instead of digital twins, these are rather “digital sisters,” not exact replicas of reality but similar variations that reflect the range of diversity that a manipulator may encounter in real-world scenarios. We also randomize placement of objects and lighting to continue to improve policy performance in real-world rollouts.\"}],[\"$\",\"p\",null,{\"children\":\"In our initial testing, this increases real-world task completion rates after training in our converted simulation digital sister scenes, but we are continuing to test and evaluate how different lighting, placement, and generative 3d models influence policy performance from simulation back to the real world.\"}],[\"$\",\"p\",null,{\"children\":\"We chose to randomize each of these factors when composing full digital sister scenes, but future work could test each in isolation to verify its influence on policy generalizability during finetuning to study which is best to spend more iterations on.\"}]]}],[\"$\",\"div\",null,{\"className\":\"chapter__exhibit sub\",\"data-bleed\":\"$undefined\",\"children\":[[\"$\",\"div\",null,{\"className\":\"clips\",\"style\":{\"gridTemplateColumns\":\"repeat(2, minmax(0, 1fr))\"},\"children\":[[\"$\",\"$La\",\"warehouse_suitcase_suitcase\",{\"src\":\"./videos/warehouse_suitcase_suitcase.mp4\",\"poster\":\"./videos/warehouse_suitcase_suitcase.jpg\",\"caption\":\"Contact rich tasks with predictive physics, such as rolling a red rubber ball from one side of the suitcase to the other\",\"ratio\":\"4 / 3\",\"alt\":\"Warehouse · a different suitcase\"}],[\"$\",\"$La\",\"studio_flower_noir_cinema\",{\"src\":\"./videos/studio_flower_noir_cinema.mp4\",\"poster\":\"./videos/studio_flower_noir_cinema.jpg\",\"caption\":\"Picking up delicate items such as the flower 3d capture from the previous greenhouse scene in hybrid digital art and 3d capture environments\",\"ratio\":\"4 / 3\",\"alt\":\"Studio · flower grasp, relit\"}]]}],[\"$\",\"div\",null,{\"className\":\"chapter__caption\",\"children\":[\"$undefined\",[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"var(--font-sans)\",\"fontSize\":10,\"fontWeight\":700,\"lineHeight\":1.5,\"letterSpacing\":\"0.02em\",\"color\":\"var(--accent)\",\"marginLeft\":\"auto\",\"flexShrink\":0},\"children\":\"5.3\"}]]}]]}],[\"$\",\"div\",null,{\"className\":\"chapter__text\",\"children\":[[\"$\",\"p\",null,{\"children\":\"Along with the typical tasks being trained in simulation policy, we are seeking to understand better how the predictive physics properties can help us achieve a series of contact-rich tasks, such as rolling a red rubber ball from one side of the suitcase to another with a gripper on the Franka arm or picking a columnar object from a tightly packed box.\"}],[\"$\",\"p\",null,{\"children\":\"In future iterations, we also hope to study further how small perturbations of the physics properties may also influence training in simulation. For example, if an object’s mass, friction coefficient, or rigidity are varied slightly between versions, will this help our policy during finetuning more accurately grasp and manipulate deformable objects or objects with heterogeneous physics properties (such as shoes, hats, cardboard boxes, and similar).\"}]]}],\"$L51\",\"$L52\"]]}]\n"])</script><script>self.__next_f.push([1,"13:[\"$\",\"section\",null,{\"className\":\"chapter\",\"id\":\"policy-training\",\"children\":[[\"$\",\"div\",null,{\"className\":\"chapter__rule\",\"aria-hidden\":\"true\"}],[\"$\",\"div\",null,{\"className\":\"chapter__head\",\"children\":[[\"$\",\"div\",null,{\"className\":\"chapter__num\",\"aria-hidden\":\"true\",\"children\":\"6\"}],[\"$\",\"div\",null,{\"children\":[[\"$\",\"h2\",null,{\"className\":\"chapter__title\",\"children\":\"SceneAgent pipeline: Policy training\"}],[\"$\",\"p\",null,{\"className\":\"chapter__lead\",\"children\":\"The policy training part of the SceneAgent pipeline starts from a reconstructed, interactive simulation of a robot's workspace: a Gaussian-splat scene with segmented object meshes and predicted physics. Agents use the digital twin and its sisters to evaluate policies, repair failure modes, and generate demonstrations for training before returning to the real robot.\"}]]}]]}],[\"$\",\"div\",null,{\"className\":\"chapter__text\",\"children\":[[\"$\",\"p\",null,{\"children\":\"The SceneAgent pipeline generally consists of two major blocks: (i) a demonstration factory that generates thousands of expert episodes with photo-realistic observations inside the twin; (ii) policy training on these episodes alone, and zero-shot transfer to real world environment.\"}],[\"$\",\"p\",null,{\"children\":\"The demonstration factory creates demonstrations for policy training with two scalable blocks: initial state randomization; and a physics-bounded scripted expert for generating motion control. Randomization creates possible distributions where the reality may be in at large scales: the objects are placed anywhere in the region on the table that the real task uses, the manipulated object's size varies, and the camera and robot base are perturbed around their calibrated poses. Sampled layouts are also physics-bounded: objects are dropped and settled under physics, so every initial state is one that the real table could actually present.\"}],[\"$\",\"p\",null,{\"children\":\"The scripted expert supplies the actions: it plans from prescient ground-truth object poses inside the simulator and pairs a pick-and-place routine — locate, approach, descend, grasp, lift, carry, lower, release, retreat — to the sampled poses. Finally, a success gate checks whether the object truly ended up in the container and discards episodes that fail. In each recorded episode, observations are rendered by depth-compositing a mesh foreground (robot and objects) over the Gaussian-splat background of the deployment environment.\"}],[\"$\",\"p\",null,{\"children\":\"The model-agnostic training uses the simulation-generated demonstration episodes for imitation-learning: camera streams are paired with the expert's actions in a standard format, and each episode carries a natural-language instruction sampled from many phrasings of the task. The pipeline then finetunes a pretrained vision language action model on the demonstration dataset via LoRA.\"}]]}]]}]\n"])</script><script>self.__next_f.push([1,"14:[\"$\",\"section\",null,{\"className\":\"chapter\",\"id\":\"sim2real\",\"children\":[[\"$\",\"div\",null,{\"className\":\"chapter__rule\",\"aria-hidden\":\"true\"}],[\"$\",\"div\",null,{\"className\":\"chapter__head\",\"children\":[[\"$\",\"div\",null,{\"className\":\"chapter__num\",\"aria-hidden\":\"true\",\"children\":\"7\"}],[\"$\",\"div\",null,{\"children\":[[\"$\",\"h2\",null,{\"className\":\"chapter__title\",\"children\":\"SceneAgent Evaluation in Progress\"}],[\"$\",\"p\",null,{\"className\":\"chapter__lead\",\"children\":\"After fine-tuning a Vision-Language-Action (VLA) model policy in simulation only, we run the policy in the real world and see improvement in performance. We are still completing the evaluation of our pipeline and will update this with our results soon.\"}]]}]]}],[[\"$\",\"div\",null,{\"className\":\"chapter__exhibit\",\"data-bleed\":\"$undefined\",\"children\":[[\"$\",\"$La\",\"evaluation/real_sim_wrist_episodes_1_5_18_mosaic_real15s\",{\"src\":\"./videos/evaluation/real_sim_wrist_episodes_1_5_18_mosaic_real15s.mp4\",\"poster\":\"./videos/evaluation/real_sim_wrist_episodes_1_5_18_mosaic_real15s.jpg\",\"ratio\":\"16 / 9\",\"alt\":\"Evaluation mosaic · episodes 1, 5, and 18 from left to right; real world, simulation, and wrist camera from top to bottom; real-world rollouts sped up to 15 seconds\",\"style\":{\"border\":0,\"background\":\"var(--paper)\"}}],[\"$\",\"div\",null,{\"className\":\"chapter__caption\",\"children\":[[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"var(--font-sans)\",\"fontSize\":10,\"fontWeight\":700,\"lineHeight\":1.5,\"letterSpacing\":\"0.02em\",\"color\":\"var(--ink)\"},\"children\":\"Policy evaluation in realworld on the Franka Emika Panda after finetuning in simulation.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"var(--font-sans)\",\"fontSize\":10,\"fontWeight\":700,\"lineHeight\":1.5,\"letterSpacing\":\"0.02em\",\"color\":\"var(--accent)\",\"marginLeft\":\"auto\",\"flexShrink\":0},\"children\":\"7.2\"}]]}]]}],[\"$\",\"div\",null,{\"className\":\"chapter__exhibit sub\",\"data-bleed\":\"$undefined\",\"children\":[[\"$\",\"div\",null,{\"className\":\"clips\",\"style\":{\"gridTemplateColumns\":\"repeat(3, minmax(0, 1fr))\"},\"children\":[[\"$\",\"figure\",\"evaluation_layout_1\",{\"style\":{\"margin\":0,\"minWidth\":0,\"fontFamily\":\"var(--font-sans)\"},\"children\":[[\"$\",\"div\",null,{\"style\":{\"position\":\"relative\",\"border\":\"1px solid var(--hairline)\",\"background\":\"var(--paper)\",\"aspectRatio\":\"842 / 369\",\"overflow\":\"hidden\"},\"children\":[[\"$\",\"img\",null,{\"src\":\"./figures/evaluation_layout_1.webp\",\"alt\":\"Trial layout for episode 1: the egg and the basket in plan view about P0\",\"loading\":\"lazy\",\"style\":{\"position\":\"absolute\",\"inset\":0,\"width\":\"100%\",\"height\":\"100%\",\"objectFit\":\"cover\",\"objectPosition\":\"$undefined\",\"display\":\"block\",\"padding\":0}}],false,false,\"$undefined\"]}],\"$undefined\"]}],[\"$\",\"figure\",\"evaluation_layout_5\",{\"style\":{\"margin\":0,\"minWidth\":0,\"fontFamily\":\"var(--font-sans)\"},\"children\":[[\"$\",\"div\",null,{\"style\":{\"position\":\"relative\",\"border\":\"1px solid var(--hairline)\",\"background\":\"var(--paper)\",\"aspectRatio\":\"842 / 369\",\"overflow\":\"hidden\"},\"children\":[[\"$\",\"img\",null,{\"src\":\"./figures/evaluation_layout_5.webp\",\"alt\":\"Trial layout for episode 5: the egg and the basket in plan view about P0\",\"loading\":\"lazy\",\"style\":{\"position\":\"absolute\",\"inset\":0,\"width\":\"100%\",\"height\":\"100%\",\"objectFit\":\"cover\",\"objectPosition\":\"$undefined\",\"display\":\"block\",\"padding\":0}}],false,false,\"$undefined\"]}],\"$undefined\"]}],[\"$\",\"figure\",\"evaluation_layout_18\",{\"style\":{\"margin\":0,\"minWidth\":0,\"fontFamily\":\"var(--font-sans)\"},\"children\":[[\"$\",\"div\",null,{\"style\":{\"position\":\"relative\",\"border\":\"1px solid var(--hairline)\",\"background\":\"var(--paper)\",\"aspectRatio\":\"842 / 369\",\"overflow\":\"hidden\"},\"children\":[[\"$\",\"img\",null,{\"src\":\"./figures/evaluation_layout_18.webp\",\"alt\":\"Trial layout for episode 18: the egg and the basket in plan view about P0\",\"loading\":\"lazy\",\"style\":{\"position\":\"absolute\",\"inset\":0,\"width\":\"100%\",\"height\":\"100%\",\"objectFit\":\"cover\",\"objectPosition\":\"$undefined\",\"display\":\"block\",\"padding\":0}}],false,false,\"$undefined\"]}],\"$undefined\"]}]]}],[\"$\",\"div\",null,{\"className\":\"chapter__caption\",\"children\":[\"$undefined\",[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"var(--font-sans)\",\"fontSize\":10,\"fontWeight\":700,\"lineHeight\":1.5,\"letterSpacing\":\"0.02em\",\"color\":\"var(--accent)\",\"marginLeft\":\"auto\",\"flexShrink\":0},\"children\":\"7.3\"}]]}]]}],[\"$\",\"div\",null,{\"className\":\"chapter__text\",\"children\":[[\"$\",\"p\",null,{\"children\":\"After finetuning generalist VLAs such as Physical Intelligence’s pi0.5 and NVIDIA’s GR00T 1.6 in simulation only on the digital twin and sisters, we see similar performance in the real world as in simulation. Initial results show a positive increase in task completion rates in the real world after training for 10,000 episodes in simulation of our lab space and example objects processed through our SceneAgent pipeline.\"}],\"$L53\"]}]]]}]\n"])</script><script>self.__next_f.push([1,"15:[\"$\",\"section\",null,{\"className\":\"chapter\",\"id\":\"citation\",\"children\":[[\"$\",\"div\",null,{\"className\":\"chapter__rule\",\"aria-hidden\":\"true\"}],[\"$\",\"div\",null,{\"className\":\"chapter__head\",\"children\":[[\"$\",\"div\",null,{\"className\":\"chapter__num\",\"aria-hidden\":\"true\",\"children\":\"8\"}],[\"$\",\"div\",null,{\"children\":[[\"$\",\"h2\",null,{\"className\":\"chapter__title\",\"children\":\"Citation\"}],\"$undefined\"]}]]}],[[\"$\",\"div\",null,{\"className\":\"chapter__exhibit\",\"data-bleed\":\"$undefined\",\"children\":[\"$\",\"$La\",null,{\"src\":\"./videos/dexmate_typing_on_laptop.mp4\",\"poster\":\"./videos/dexmate_typing_on_laptop.jpg\",\"ratio\":\"16 / 9\",\"controls\":true,\"alt\":\"A Dexmate robot typing on a laptop\"}]}],[\"$\",\"div\",null,{\"className\":\"chapter__exhibit sub\",\"data-bleed\":\"$undefined\",\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"var(--font-sans)\",\"background\":\"var(--surface-card)\",\"border\":\"1px solid var(--hairline)\",\"padding\":0,\"boxShadow\":\"none\",\"color\":\"var(--text-body)\"},\"children\":[\"$\",\"pre\",null,{\"style\":{\"fontSize\":12,\"lineHeight\":1.6,\"padding\":20,\"color\":\"var(--text-body)\"},\"children\":\"@misc{sceneagent2026,\\n title = {SceneAgent: An Agentic Pipeline from 3D and 4D\\n Captures to Simulation Environments},\\n author = {Luke Hollis and Tianxing Fan and Heng Yang},\\n year = {2026},\\n eprint = {2610.34745},\\n archivePrefix = {arXiv},\\n primaryClass = {cs.RO},\\n url = {https://arxiv.org/abs/2610.34745}\\n}\"}]}]}],[\"$\",\"div\",null,{\"className\":\"chapter__text\",\"children\":[\"$\",\"p\",null,{\"children\":\"The code, processed scenes, and example converted objects will be released with our paper soon.\"}]}],[\"$\",\"div\",null,{\"className\":\"chapter__exhibit sub\",\"data-bleed\":\"$undefined\",\"children\":[[\"$\",\"h3\",null,{\"className\":\"chapter__subtitle\",\"children\":\"Featured Art and 3D Captures\"}],[\"$\",\"ol\",null,{\"className\":\"credits\",\"children\":[[\"$\",\"li\",\"kitchens\",{\"children\":[[\"$\",\"b\",null,{\"children\":[\"[\",1,\"]\"]}],[\"$\",\"span\",null,{\"children\":[\"CollectDataIO, \",\"“\",[\"$\",\"a\",null,{\"href\":\"https://huggingface.co/datasets/CollectDataIO/tidy-up-kitchens\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"children\":\"Tidy Up: U.S. Kitchens Before and After Cleaning\"}],\",” \",\"Hugging Face\",\"\",\".\"]}]]}],[\"$\",\"li\",\"flower\",{\"children\":[[\"$\",\"b\",null,{\"children\":[\"[\",2,\"]\"]}],[\"$\",\"span\",null,{\"children\":[\"3dhdscan, \",\"“\",[\"$\",\"a\",null,{\"href\":\"https://sketchfab.com/3d-models/rudbeckia-flower-eee1a1ebdb614f38a722b52e26ebe038\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"children\":\"Rudbeckia flower\"}],\",” \",\"Sketchfab\",\", CC BY 4.0\",\".\"]}]]}],[\"$\",\"li\",\"radio\",{\"children\":[[\"$\",\"b\",null,{\"children\":[\"[\",3,\"]\"]}],[\"$\",\"span\",null,{\"children\":[\"JordanFry, \",\"“\",[\"$\",\"a\",null,{\"href\":\"https://poly.cam/capture/0072f705-655d-4860-8468-2f12968e503c\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"children\":\"Vintage Sony radio CFS-43\"}],\",” \",\"Polycam\",\"\",\".\"]}]]}],[\"$\",\"li\",\"totoro\",{\"children\":[[\"$\",\"b\",null,{\"children\":[\"[\",4,\"]\"]}],[\"$\",\"span\",null,{\"children\":[\"TechnologicalFrostfang2470, \",\"“\",[\"$\",\"a\",null,{\"href\":\"https://poly.cam/capture/cae4a43a-87aa-4ed8-9e21-cff222662d0b\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"children\":\"Totoro\"}],\",” \",\"Polycam\",\"\",\".\"]}]]}],[\"$\",\"li\",\"statue\",{\"children\":[[\"$\",\"b\",null,{\"children\":[\"[\",5,\"]\"]}],[\"$\",\"span\",null,{\"children\":[\"netgis, \",\"“\",[\"$\",\"a\",null,{\"href\":\"https://sketchfab.com/3d-models/chinese-statue-e0ccdb444522470f9e6567870e63c40c\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"children\":\"Chinese statue\"}],\",” \",\"Sketchfab\",\", CC BY-NC 4.0\",\".\"]}]]}],[\"$\",\"li\",\"motherboard\",{\"children\":[[\"$\",\"b\",null,{\"children\":[\"[\",6,\"]\"]}],[\"$\",\"span\",null,{\"children\":[\"Lassi Kaukonen, \",\"“\",[\"$\",\"a\",null,{\"href\":\"https://sketchfab.com/3d-models/asus-z170-p-motherboard-b998596cfc4945a0bc7b016005c39321\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"children\":\"Asus Z170-P motherboard\"}],\",” \",\"Sketchfab\",\", CC BY 4.0\",\".\"]}]]}],[\"$\",\"li\",\"gpu\",{\"children\":[[\"$\",\"b\",null,{\"children\":[\"[\",7,\"]\"]}],[\"$\",\"span\",null,{\"children\":[\"Igor.Jop, \",\"“\",[\"$\",\"a\",null,{\"href\":\"https://sketchfab.com/3d-models/rx-480-gpu-61e69f50bcd44c7284bef31a8f21c6a7\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"children\":\"RX 480 GPU\"}],\",” \",\"Sketchfab\",\", CC BY 4.0\",\".\"]}]]}],[\"$\",\"li\",\"stegosaurus\",{\"children\":[[\"$\",\"b\",null,{\"children\":[\"[\",8,\"]\"]}],[\"$\",\"span\",null,{\"children\":[\"MTP, \",\"“\",[\"$\",\"a\",null,{\"href\":\"https://poly.cam/capture/BB04FF30-6D58-4BE8-8706-3227D1FD8EBF\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"children\":\"Stegosaurus composite skeleton, American Museum of Natural History\"}],\",” \",\"Polycam\",\"\",\".\"]}]]}],\"$L54\",\"$L55\",\"$L56\",\"$L57\",\"$L58\",\"$L59\",\"$L5a\",\"$L5b\",\"$L5c\"]}]]}]]]}]\n"])</script><script>self.__next_f.push([1,"16:[\"$\",\"footer\",null,{\"className\":\"colophon\",\"children\":[\"$\",\"div\",null,{\"className\":\"colophon__field\",\"children\":[\"$\",\"div\",null,{\"className\":\"colophon__content\",\"children\":[[\"$\",\"a\",null,{\"className\":\"lab-logo\",\"href\":\"https://computationalrobotics.seas.harvard.edu/\",\"children\":[\"$\",\"img\",null,{\"src\":\"./branding/computational-robotics.jpg\",\"alt\":\"Harvard Computational Robotics Group\",\"width\":2286,\"height\":299}]}],[\"$\",\"div\",null,{\"className\":\"colophon__credit\",\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"var(--font-sans)\",\"fontSize\":13,\"fontWeight\":700,\"lineHeight\":1.5,\"letterSpacing\":\"0.02em\",\"color\":\"var(--gray-cool)\",\"textAlign\":\"right\"},\"children\":[\"Harvard Computational Robotics Group\",[\"$\",\"br\",null,{}],\"School of Engineering and Applied Sciences\",[\"$\",\"br\",null,{}],\"Harvard University\"]}]}]]}]}]}]\n17:[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"./_next/static/chunks/1o-poo_vuxfmr.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]\n18:[\"$\",\"script\",\"script-0\",{\"src\":\"./_next/static/chunks/44g6a0c6nkoic.js\",\"async\":true,\"nonce\":\"$undefined\"}]\n19:[\"$\",\"script\",\"script-1\",{\"src\":\"./_next/static/chunks/0r5p4pn-wx-hj.js\",\"async\":true,\"nonce\":\"$undefined\"}]\n1a:[\"$\",\"script\",\"script-2\",{\"src\":\"./_next/static/chunks/035xovek1h4st.js\",\"async\":true,\"nonce\":\"$undefined\"}]\n1b:[\"$\",\"script\",\"script-3\",{\"src\":\"./_next/static/chunks/2zmrwbr29z_cq.js\",\"async\":true,\"nonce\":\"$undefined\"}]\n1c:[\"$\",\"$L5d\",null,{\"children\":[\"$\",\"$20\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@5e\"}]}]\n"])</script><script>self.__next_f.push([1,"25:[\"$\",\"defs\",null,{\"children\":[\"$\",\"marker\",null,{\"id\":\"flow-arrow\",\"viewBox\":\"0 0 8 8\",\"refX\":\"7\",\"refY\":\"4\",\"markerWidth\":\"7\",\"markerHeight\":\"7\",\"orient\":\"auto-start-reverse\",\"children\":[\"$\",\"path\",null,{\"d\":\"M0,0 L8,4 L0,8 z\",\"className\":\"PhysicsChapters-module__IAVxNa__flowHead\"}]}]}]\n26:[\"$\",\"g\",\"masked crops\",{\"children\":[[\"$\",\"rect\",null,{\"x\":20,\"y\":16,\"width\":250,\"height\":64,\"rx\":2,\"className\":\"PhysicsChapters-module__IAVxNa__flowBox\"}],[\"$\",\"text\",null,{\"x\":145,\"y\":43,\"textAnchor\":\"middle\",\"className\":\"PhysicsChapters-module__IAVxNa__flowTitle\",\"children\":\"masked crops\"}],[\"$\",\"text\",null,{\"x\":145,\"y\":62,\"textAnchor\":\"middle\",\"className\":\"PhysicsChapters-module__IAVxNa__flowSub\",\"children\":\"object k\"}]]}]\n27:[\"$\",\"g\",\"DINOv2 + OpenCLIP\",{\"children\":[[\"$\",\"rect\",null,{\"x\":355,\"y\":16,\"width\":250,\"height\":64,\"rx\":2,\"className\":\"PhysicsChapters-module__IAVxNa__flowBox\"}],[\"$\",\"text\",null,{\"x\":480,\"y\":43,\"textAnchor\":\"middle\",\"className\":\"PhysicsChapters-module__IAVxNa__flowTitle\",\"children\":\"DINOv2 + OpenCLIP\"}],[\"$\",\"text\",null,{\"x\":480,\"y\":62,\"textAnchor\":\"middle\",\"className\":\"PhysicsChapters-module__IAVxNa__flowSub\",\"children\":\"one vector per object\"}]]}]\n28:[\"$\",\"g\",\"copied to k’s Gaussians\",{\"children\":[[\"$\",\"rect\",null,{\"x\":690,\"y\":16,\"width\":250,\"height\":64,\"rx\":2,\"className\":\"PhysicsChapters-module__IAVxNa__flowBox\"}],[\"$\",\"text\",null,{\"x\":815,\"y\":43,\"textAnchor\":\"middle\",\"className\":\"PhysicsChapters-module__IAVxNa__flowTitle\",\"children\":\"copied to k’s Gaussians\"}],[\"$\",\"text\",null,{\"x\":815,\"y\":62,\"textAnchor\":\"middle\",\"className\":\"PhysicsChapters-module__IAVxNa__flowSub\",\"children\":\"the rest get the scene mean\"}]]}]\n29:[\"$\",\"g\",\"Gaussian i\",{\"children\":[[\"$\",\"rect\",null,{\"x\":690,\"y\":130,\"width\":250,\"height\":64,\"rx\":2,\"className\":\"PhysicsChapters-module__IAVxNa__flowBox\"}],[\"$\",\"text\",null,{\"x\":815,\"y\":157,\"textAnchor\":\"middle\",\"className\":\"PhysicsChapters-module__IAVxNa__flowTitle\",\"children\":\"Gaussian i\"}],[\"$\",\"text\",null,{\"x\":815,\"y\":176,\"textAnchor\":\"middle\",\"className\":\"PhysicsChapters-module__IAVxNa__flowSub\",\"children\":\"+ its position, size, opacity, color\"}]]}]\n2a:[\"$\",\"g\",\"physics prior\",{\"children\":[[\"$\",\"rect\",null,{\"x\":355,\"y\":130,\"width\":250,\"height\":64,\"rx\":2,\"className\":\"PhysicsChapters-module__IAVxNa__flowHot\"}],[\"$\",\"text\",null,{\"x\":480,\"y\":167,\"textAnchor\":\"middle\",\"className\":\"PhysicsChapters-module__IAVxNa__flowHotText\",\"children\":\"physics prior\"}],\"$undefined\"]}]\n2b:[\"$\",\"g\",\"distribution pᵢ\",{\"children\":[[\"$\",\"rect\",null,{\"x\":20,\"y\":130,\"width\":250,\"height\":64,\"rx\":2,\"className\":\"PhysicsChapters-module__IAVxNa__flowBox\"}],[\"$\",\"text\",null,{\"x\":145,\"y\":167,\"textAnchor\":\"middle\",\"className\":\"PhysicsChapters-module__IAVxNa__flowTitle\",\"children\":\"distribution pᵢ\"}],\"$undefined\"]}]\n2c:[\"$\",\"g\",\"object\",{\"children\":[[\"$\",\"rect\",null,{\"x\":20,\"y\":244,\"width\":250,\"height\":64,\"rx\":2,\"className\":\"PhysicsChapters-module__IAVxNa__flowBox\"}],[\"$\",\"text\",null,{\"x\":145,\"y\":271,\"textAnchor\":\"middle\",\"className\":\"PhysicsChapters-module__IAVxNa__flowTitle\",\"children\":\"object\"}],[\"$\",\"text\",null,{\"x\":145,\"y\":290,\"textAnchor\":\"middle\",\"className\":\"PhysicsChapters-module__IAVxNa__flowSub\",\"children\":\"mean over k’s Gaussians\"}]]}]\n2d:[\"$\",\"g\",\"part\",{\"children\":[[\"$\",\"rect\",null,{\"x\":355,\"y\":244,\"width\":250,\"height\":64,\"rx\":2,\"className\":\"PhysicsChapters-module__IAVxNa__flowBox\"}],[\"$\",\"text\",null,{\"x\":480,\"y\":271,\"textAnchor\":\"middle\",\"className\":\"PhysicsChapters-module__IAVxNa__flowTitle\",\"children\":\"part\"}],[\"$\",\"text\",null,{\"x\":480,\"y\":290,\"textAnchor\":\"middle\",\"className\":\"PhysicsChapters-module__IAVxNa__flowSub\",\"children\":\"inherits the object’s record\"}]]}]\n2e:[\"$\",\"g\",\"field on the splat\",{\"children\":[[\"$\",\"rect\",null,{\"x\":690,\"y\":244,\"width\":250,\"height\":64,\"rx\":2,\"className\":\"PhysicsChapters-module__IAVxNa__flowBox\"}],[\"$\",\"text\",null,{\"x\":815,\"y\":281,\"textAnchor\":\"middle\",\"className\":\"PhysicsChapters-module__IAVxNa__flowTitle\",\"children\":\"field on the splat\"}],\"$undefined\"]}]\n2f:[\"$\",\"g\",null,{\"className\":\"PhysicsChapters-module__IAVxNa__flowLine\",\"markerEnd\":\"url(#flow-arrow)\",\"chi"])</script><script>self.__next_f.push([1,"ldren\":[[\"$\",\"path\",null,{\"d\":\"M270,48 H351\",\"markerEnd\":\"url(#flow-arrow)\"}],[\"$\",\"path\",null,{\"d\":\"M605,48 H686\",\"markerEnd\":\"url(#flow-arrow)\"}],[\"$\",\"path\",null,{\"d\":\"M815,80 V126\",\"markerEnd\":\"url(#flow-arrow)\"}],[\"$\",\"path\",null,{\"d\":\"M690,162 H609\",\"markerEnd\":\"url(#flow-arrow)\"}],[\"$\",\"path\",null,{\"d\":\"M355,162 H274\",\"markerEnd\":\"url(#flow-arrow)\"}],[\"$\",\"path\",null,{\"d\":\"M145,194 V240\",\"markerEnd\":\"url(#flow-arrow)\"}],[\"$\",\"path\",null,{\"d\":\"M270,276 H351\",\"markerEnd\":\"url(#flow-arrow)\"}],[\"$\",\"path\",null,{\"d\":\"M145,210 H815 V240\",\"markerEnd\":\"url(#flow-arrow)\"}]]}]\n30:[\"$\",\"div\",null,{\"className\":\"chapter__caption\",\"children\":[[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"var(--font-sans)\",\"fontSize\":10,\"fontWeight\":700,\"lineHeight\":1.5,\"letterSpacing\":\"0.02em\",\"color\":\"var(--ink)\"},\"children\":\"Workflow from input images to physics properties on segmented objects\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"var(--font-sans)\",\"fontSize\":10,\"fontWeight\":700,\"lineHeight\":1.5,\"letterSpacing\":\"0.02em\",\"color\":\"var(--accent)\",\"marginLeft\":\"auto\",\"flexShrink\":0},\"children\":\"2.3\"}]]}]\n"])</script><script>self.__next_f.push([1,"31:[[\"$\",\"div\",null,{\"className\":\"chapter__text\",\"children\":[\"$\",\"p\",null,{\"children\":\"Similar to rigidity, we infer destruction mechanics from the predictive physics properties of each object. This is important for accomplishing a wider range of common tasks that require deforming scene objects, such as cooking and cleaning.\"}]}],[\"$\",\"div\",null,{\"className\":\"chapter__exhibit chapter__exhibit--bleed\",\"data-bleed\":\"\",\"children\":[[\"$\",\"div\",null,{\"className\":\"clips\",\"style\":{\"gridTemplateColumns\":\"repeat(3, minmax(0, 1fr))\"},\"children\":[[\"$\",\"$La\",null,{\"src\":\"./videos/parchment_free_fracture.mp4\",\"poster\":\"./videos/parchment_free_fracture.jpg\",\"ratio\":\"4 / 3\",\"controls\":true,\"alt\":\"A Dexmate robot with two Sharpa hands pulls parchment from a roll, tears a sheet free, and lays it over a bowl of fruit.\",\"caption\":\"A Dexmate robot with two Sharpa hands pulls parchment from a roll, tears a sheet free, and lays it over a bowl of fruit.\"}],[\"$\",\"$La\",null,{\"src\":\"./videos/parchment_free_fracture_tear.mp4\",\"poster\":\"./videos/parchment_free_fracture_tear.jpg\",\"ratio\":\"4 / 3\",\"alt\":\"Close view of the parchment tearing\",\"caption\":\"\"}],[\"$\",\"$La\",null,{\"src\":\"./videos/parchment_free_fracture_hands.mp4\",\"poster\":\"./videos/parchment_free_fracture_hands.jpg\",\"ratio\":\"4 / 3\",\"alt\":\"The same run from a camera that follows the hands\",\"caption\":\"\"}]]}],[\"$\",\"div\",null,{\"className\":\"chapter__caption\",\"children\":[\"$undefined\",[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"var(--font-sans)\",\"fontSize\":10,\"fontWeight\":700,\"lineHeight\":1.5,\"letterSpacing\":\"0.02em\",\"color\":\"var(--accent)\",\"marginLeft\":\"auto\",\"flexShrink\":0},\"children\":\"2.4\"}]]}]]}]]\n"])</script><script>self.__next_f.push([1,"32:[[\"$\",\"div\",null,{\"className\":\"chapter__text\",\"children\":[\"$\",\"p\",null,{\"children\":\"Beyond rigid and articulated objects, we also simulate liquids, soft solids, cutting and fracture. Milk is simulated with the material point method (MPM) and position-based fluids, while the jelly and watermelon use cohesive finite elements in Newton and the salmon uses a cohesive volumetric network over the region the knife cuts.\"}]}],[\"$\",\"div\",null,{\"className\":\"chapter__exhibit chapter__exhibit--bleed sub\",\"data-bleed\":\"\",\"children\":[[\"$\",\"div\",null,{\"className\":\"PhysicsChapters-module__IAVxNa__materials\",\"children\":[[\"$\",\"$La\",\"milk\",{\"src\":\"./videos/materials/milk.mp4\",\"poster\":\"./videos/materials/milk.jpg\",\"ratio\":\"16 / 9\",\"controls\":true,\"alt\":\"Milk spill\",\"caption\":\"Milk spill\"}],[\"$\",\"$La\",\"jelly\",{\"src\":\"./videos/materials/jelly.mp4\",\"poster\":\"./videos/materials/jelly.jpg\",\"ratio\":\"16 / 9\",\"controls\":true,\"alt\":\"Jelly under hand contact\",\"caption\":\"Jelly under hand contact\"}],[\"$\",\"$La\",\"watermelon\",{\"src\":\"./videos/materials/watermelon.mp4\",\"poster\":\"./videos/materials/watermelon.jpg\",\"ratio\":\"16 / 9\",\"controls\":true,\"alt\":\"Watermelon impact and fracture\",\"caption\":\"Watermelon impact and fracture\"}],[\"$\",\"$La\",\"salmon\",{\"src\":\"./videos/materials/salmon.mp4\",\"poster\":\"./videos/materials/salmon.jpg\",\"ratio\":\"16 / 9\",\"controls\":true,\"alt\":\"Salmon cutting\",\"caption\":\"Salmon cutting\"}],[\"$\",\"$La\",\"totoro\",{\"src\":\"./videos/materials/totoro.mp4\",\"poster\":\"./videos/materials/totoro.jpg\",\"ratio\":\"16 / 9\",\"controls\":true,\"alt\":\"Totoro with Panda and Sharpa hands\",\"caption\":\"Totoro with Panda and Sharpa hands\"}]]}],[\"$\",\"div\",null,{\"className\":\"chapter__caption\",\"children\":[\"$undefined\",[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"var(--font-sans)\",\"fontSize\":10,\"fontWeight\":700,\"lineHeight\":1.5,\"letterSpacing\":\"0.02em\",\"color\":\"var(--accent)\",\"marginLeft\":\"auto\",\"flexShrink\":0},\"children\":\"2.5\"}]]}]]}],[\"$\",\"div\",null,{\"className\":\"chapter__text\",\"children\":[\"$\",\"p\",null,{\"children\":\"Each run is simulated forward from contact, and Isaac Lab renders the recorded states with RTX path tracing. When a cut or a fracture opens an object, its scanned appearance follows the new surfaces. The material parameters are priors that we have not yet calibrated against measured interactions. The Totoro render shows the scanned appearance of a plush toy; its fabric, seam and stuffing mechanics have not been evaluated.\"}]}]]\n"])</script><script>self.__next_f.push([1,"33:[\"$\",\"rect\",null,{\"x\":0.5,\"y\":403.5,\"width\":299,\"height\":147,\"fill\":\"var(--paper)\",\"stroke\":\"var(--ink)\"}]\n34:[\"$\",\"g\",null,{\"transform\":\"translate(16 421) scale(5)\",\"fill\":\"currentColor\",\"shapeRendering\":\"crispEdges\",\"aria-hidden\":\"true\",\"children\":[\"$\",\"g\",null,{\"className\":\"agent-sprite\",\"style\":{\"--i\":1},\"children\":[[\"$\",\"g\",\"leg\",{\"className\":\"agent-sprite__leg\",\"children\":[[\"$\",\"rect\",\"6-4\",{\"x\":4,\"y\":6,\"width\":1,\"height\":1}],[\"$\",\"rect\",\"6-6\",{\"x\":6,\"y\":6,\"width\":1,\"height\":1}],[\"$\",\"rect\",\"6-8\",{\"x\":8,\"y\":6,\"width\":1,\"height\":1}]]}],[\"$\",\"g\",\"body\",{\"className\":\"agent-sprite__body\",\"children\":[[\"$\",\"rect\",\"3-2\",{\"x\":2,\"y\":3,\"width\":9,\"height\":1}],[\"$\",\"rect\",\"4-2\",{\"x\":2,\"y\":4,\"width\":2,\"height\":1}],[\"$\",\"rect\",\"4-5\",{\"x\":5,\"y\":4,\"width\":3,\"height\":1}],[\"$\",\"rect\",\"4-9\",{\"x\":9,\"y\":4,\"width\":2,\"height\":1}],[\"$\",\"rect\",\"5-2\",{\"x\":2,\"y\":5,\"width\":9,\"height\":1}]]}],[\"$\",\"g\",\"tool\",{\"className\":\"agent-sprite__tool\",\"children\":[[\"$\",\"rect\",\"0-2\",{\"x\":2,\"y\":0,\"width\":9,\"height\":1}],[\"$\",\"rect\",\"1-4\",{\"x\":4,\"y\":1,\"width\":5,\"height\":1}]]}]]}]}]\n35:[\"$\",\"text\",null,{\"x\":93,\"y\":439.9,\"fontSize\":22,\"fontWeight\":700,\"fill\":\"var(--accent)\",\"children\":\"02\"}]\n36:[\"$\",\"text\",null,{\"x\":126.5,\"y\":439.9,\"fontSize\":22,\"fontWeight\":700,\"fill\":\"var(--ink)\",\"children\":\"Ingest\"}]\n37:[\"$\",\"text\",\"0\",{\"x\":16,\"y\":484,\"fontSize\":21,\"fill\":\"var(--text-body)\",\"children\":\"Ingests data in various\"}]\n38:[\"$\",\"text\",\"1\",{\"x\":16,\"y\":510,\"fontSize\":21,\"fill\":\"var(--text-body)\",\"children\":\"forms for processing to 3dgs\"}]\n39:[\"$\",\"text\",\"0\",{\"x\":16,\"y\":536,\"fontSize\":12.5,\"fontFamily\":\"var(--font-pixel)\",\"fill\":\"var(--text-label)\",\"children\":\"SCENEAGENT-INGEST-DATA\"}]\n3a:[\"$\",\"line\",null,{\"x1\":150,\"y1\":551,\"x2\":150,\"y2\":573,\"stroke\":\"var(--text-label)\"}]\n"])</script><script>self.__next_f.push([1,"3b:[\"$\",\"g\",\"03\",{\"children\":[[\"$\",\"g\",null,{\"className\":\"agent-node\",\"role\":\"img\",\"aria-label\":\"03 Video to 4D: Turns a video of a person using a scene into a 4D USD and MJCF package\",\"children\":[[\"$\",\"rect\",null,{\"x\":0.5,\"y\":573.5,\"width\":299,\"height\":173,\"fill\":\"var(--paper)\",\"stroke\":\"var(--ink)\"}],[\"$\",\"g\",null,{\"transform\":\"translate(16 591) scale(5)\",\"fill\":\"currentColor\",\"shapeRendering\":\"crispEdges\",\"aria-hidden\":\"true\",\"children\":[\"$\",\"g\",null,{\"className\":\"agent-sprite\",\"style\":{\"--i\":2},\"children\":[[\"$\",\"g\",\"leg\",{\"className\":\"agent-sprite__leg\",\"children\":[[\"$\",\"rect\",\"6-4\",{\"x\":4,\"y\":6,\"width\":1,\"height\":1}],[\"$\",\"rect\",\"6-6\",{\"x\":6,\"y\":6,\"width\":1,\"height\":1}],[\"$\",\"rect\",\"6-8\",{\"x\":8,\"y\":6,\"width\":1,\"height\":1}]]}],[\"$\",\"g\",\"body\",{\"className\":\"agent-sprite__body\",\"children\":[[\"$\",\"rect\",\"3-2\",{\"x\":2,\"y\":3,\"width\":9,\"height\":1}],[\"$\",\"rect\",\"4-2\",{\"x\":2,\"y\":4,\"width\":2,\"height\":1}],[\"$\",\"rect\",\"4-5\",{\"x\":5,\"y\":4,\"width\":3,\"height\":1}],[\"$\",\"rect\",\"4-9\",{\"x\":9,\"y\":4,\"width\":2,\"height\":1}],[\"$\",\"rect\",\"5-2\",{\"x\":2,\"y\":5,\"width\":9,\"height\":1}]]}],[\"$\",\"g\",\"tool\",{\"className\":\"agent-sprite__tool\",\"children\":[[\"$\",\"rect\",\"0-3\",{\"x\":3,\"y\":0,\"width\":5,\"height\":1}],[\"$\",\"rect\",\"0-10\",{\"x\":10,\"y\":0,\"width\":1,\"height\":1}],[\"$\",\"rect\",\"1-3\",{\"x\":3,\"y\":1,\"width\":8,\"height\":1}]]}]]}]}],[\"$\",\"text\",null,{\"x\":93,\"y\":609.9,\"fontSize\":22,\"fontWeight\":700,\"fill\":\"var(--accent)\",\"children\":\"03\"}],[\"$\",\"text\",null,{\"x\":126.5,\"y\":609.9,\"fontSize\":22,\"fontWeight\":700,\"fill\":\"var(--ink)\",\"children\":\"Video to 4D\"}],[[\"$\",\"text\",\"0\",{\"x\":16,\"y\":654,\"fontSize\":21,\"fill\":\"var(--text-body)\",\"children\":\"Turns a video of a person\"}],[\"$\",\"text\",\"1\",{\"x\":16,\"y\":680,\"fontSize\":21,\"fill\":\"var(--text-body)\",\"children\":\"using a scene into a 4D\"}],[\"$\",\"text\",\"2\",{\"x\":16,\"y\":706,\"fontSize\":21,\"fill\":\"var(--text-body)\",\"children\":\"USD and MJCF package\"}]],[[\"$\",\"text\",\"0\",{\"x\":16,\"y\":732,\"fontSize\":12.5,\"fontFamily\":\"var(--font-pixel)\",\"fill\":\"var(--text-label)\",\"children\":\"SCENEAGENT-VIDEO-TO-4D\"}]]]}],[\"$\",\"line\",null,{\"x1\":150,\"y1\":747,\"x2\":150,\"y2\":769,\"stroke\":\"var(--text-label)\"}]]}]\n"])</script><script>self.__next_f.push([1,"3c:[\"$\",\"g\",\"04\",{\"children\":[[\"$\",\"g\",null,{\"className\":\"agent-node\",\"role\":\"img\",\"aria-label\":\"04 Step runner: Runs each pipeline step and reviews its masks, fields, objects and parts\",\"children\":[[\"$\",\"rect\",null,{\"x\":0.5,\"y\":769.5,\"width\":299,\"height\":173,\"fill\":\"var(--paper)\",\"stroke\":\"var(--ink)\"}],[\"$\",\"g\",null,{\"transform\":\"translate(16 787) scale(5)\",\"fill\":\"currentColor\",\"shapeRendering\":\"crispEdges\",\"aria-hidden\":\"true\",\"children\":[\"$\",\"g\",null,{\"className\":\"agent-sprite\",\"style\":{\"--i\":3},\"children\":[[\"$\",\"g\",\"leg\",{\"className\":\"agent-sprite__leg\",\"children\":[[\"$\",\"rect\",\"6-4\",{\"x\":4,\"y\":6,\"width\":1,\"height\":1}],[\"$\",\"rect\",\"6-6\",{\"x\":6,\"y\":6,\"width\":1,\"height\":1}],[\"$\",\"rect\",\"6-8\",{\"x\":8,\"y\":6,\"width\":1,\"height\":1}]]}],[\"$\",\"g\",\"body\",{\"className\":\"agent-sprite__body\",\"children\":[[\"$\",\"rect\",\"3-2\",{\"x\":2,\"y\":3,\"width\":9,\"height\":1}],[\"$\",\"rect\",\"4-2\",{\"x\":2,\"y\":4,\"width\":2,\"height\":1}],[\"$\",\"rect\",\"4-5\",{\"x\":5,\"y\":4,\"width\":3,\"height\":1}],[\"$\",\"rect\",\"4-9\",{\"x\":9,\"y\":4,\"width\":2,\"height\":1}],[\"$\",\"rect\",\"5-2\",{\"x\":2,\"y\":5,\"width\":9,\"height\":1}]]}],[\"$\",\"g\",\"tool\",{\"className\":\"agent-sprite__tool\",\"children\":[[\"$\",\"rect\",\"0-4\",{\"x\":4,\"y\":0,\"width\":1,\"height\":1}],[\"$\",\"rect\",\"0-6\",{\"x\":6,\"y\":0,\"width\":1,\"height\":1}],[\"$\",\"rect\",\"0-8\",{\"x\":8,\"y\":0,\"width\":1,\"height\":1}],[\"$\",\"rect\",\"1-4\",{\"x\":4,\"y\":1,\"width\":1,\"height\":1}],[\"$\",\"rect\",\"1-6\",{\"x\":6,\"y\":1,\"width\":1,\"height\":1}],[\"$\",\"rect\",\"1-8\",{\"x\":8,\"y\":1,\"width\":1,\"height\":1}]]}]]}]}],[\"$\",\"text\",null,{\"x\":93,\"y\":805.9,\"fontSize\":22,\"fontWeight\":700,\"fill\":\"var(--accent)\",\"children\":\"04\"}],[\"$\",\"text\",null,{\"x\":126.5,\"y\":805.9,\"fontSize\":22,\"fontWeight\":700,\"fill\":\"var(--ink)\",\"children\":\"Step runner\"}],[[\"$\",\"text\",\"0\",{\"x\":16,\"y\":850,\"fontSize\":21,\"fill\":\"var(--text-body)\",\"children\":\"Runs each pipeline step and\"}],[\"$\",\"text\",\"1\",{\"x\":16,\"y\":876,\"fontSize\":21,\"fill\":\"var(--text-body)\",\"children\":\"reviews its masks, fields,\"}],[\"$\",\"text\",\"2\",{\"x\":16,\"y\":902,\"fontSize\":21,\"fill\":\"var(--text-body)\",\"children\":\"objects and parts\"}]],[[\"$\",\"text\",\"0\",{\"x\":16,\"y\":928,\"fontSize\":12.5,\"fontFamily\":\"var(--font-pixel)\",\"fill\":\"var(--text-label)\",\"children\":\"SCENEAGENT-RUN-STEP\"}]]]}],false]}]\n"])</script><script>self.__next_f.push([1,"3d:[\"$\",\"div\",null,{\"className\":\"spread__gutter\",\"aria-hidden\":\"true\",\"children\":[\"$\",\"svg\",null,{\"viewBox\":\"0 0 90 1189\",\"preserveAspectRatio\":\"none\",\"children\":[false,[\"$\",\"polyline\",null,{\"points\":\"0,856 45,856 45,268 90,268\",\"fill\":\"none\",\"stroke\":\"var(--text-label)\",\"vectorEffect\":\"non-scaling-stroke\"}]]}]}]\n"])</script><script>self.__next_f.push([1,"3e:[\"$\",\"$1\",\"01-1\",{\"children\":[[\"$\",\"svg\",null,{\"className\":\"spread__col\",\"viewBox\":\"0 0 300 1189\",\"style\":{\"fontFamily\":\"Helvetica, \\\"Helvetica Neue\\\", Arimo, Arial, sans-serif\"},\"children\":[[\"$\",\"g\",null,{\"children\":[[\"$\",\"text\",null,{\"x\":0,\"y\":30,\"fontSize\":30,\"fontWeight\":700,\"fill\":\"var(--accent)\",\"children\":\"01\"}],[\"$\",\"text\",null,{\"x\":50,\"y\":30,\"fontSize\":30,\"fontWeight\":700,\"fill\":\"var(--ink)\",\"children\":\"Conversion\"}],[[\"$\",\"text\",\"0\",{\"x\":0,\"y\":71,\"fontSize\":24,\"fill\":\"var(--text-muted)\",\"children\":\"Segment and predict properties for objects in the scan, then\"}],[\"$\",\"text\",\"1\",{\"x\":0,\"y\":99,\"fontSize\":24,\"fill\":\"var(--text-muted)\",\"children\":\"package and inspect the scene\"}]]]}],[\"$\",\"line\",null,{\"x1\":0,\"y1\":44.5,\"x2\":300,\"y2\":44.5,\"stroke\":\"var(--ink)\"}],[[\"$\",\"g\",\"05\",{\"children\":[[\"$\",\"g\",null,{\"className\":\"agent-node\",\"role\":\"img\",\"aria-label\":\"05 Alignment: Fits asset scale, position and rotation to cameras, masks and Gaussians\",\"children\":[[\"$\",\"rect\",null,{\"x\":0.5,\"y\":181.5,\"width\":299,\"height\":173,\"fill\":\"var(--paper)\",\"stroke\":\"var(--ink)\"}],[\"$\",\"g\",null,{\"transform\":\"translate(16 199) scale(5)\",\"fill\":\"currentColor\",\"shapeRendering\":\"crispEdges\",\"aria-hidden\":\"true\",\"children\":[\"$\",\"g\",null,{\"className\":\"agent-sprite\",\"style\":{\"--i\":4},\"children\":[[\"$\",\"g\",\"leg\",{\"className\":\"agent-sprite__leg\",\"children\":[[\"$\",\"rect\",\"6-4\",{\"x\":4,\"y\":6,\"width\":1,\"height\":1}],[\"$\",\"rect\",\"6-6\",{\"x\":6,\"y\":6,\"width\":1,\"height\":1}],[\"$\",\"rect\",\"6-8\",{\"x\":8,\"y\":6,\"width\":1,\"height\":1}]]}],[\"$\",\"g\",\"body\",{\"className\":\"agent-sprite__body\",\"children\":[[\"$\",\"rect\",\"3-2\",{\"x\":2,\"y\":3,\"width\":9,\"height\":1}],[\"$\",\"rect\",\"4-2\",{\"x\":2,\"y\":4,\"width\":2,\"height\":1}],[\"$\",\"rect\",\"4-5\",{\"x\":5,\"y\":4,\"width\":3,\"height\":1}],[\"$\",\"rect\",\"4-9\",{\"x\":9,\"y\":4,\"width\":2,\"height\":1}],[\"$\",\"rect\",\"5-2\",{\"x\":2,\"y\":5,\"width\":9,\"height\":1}]]}],[\"$\",\"g\",\"tool\",{\"className\":\"agent-sprite__tool\",\"children\":[[\"$\",\"rect\",\"0-2\",{\"x\":2,\"y\":0,\"width\":1,\"height\":1}],[\"$\",\"rect\",\"0-4\",{\"x\":4,\"y\":0,\"width\":5,\"height\":1}],[\"$\",\"rect\",\"0-10\",{\"x\":10,\"y\":0,\"width\":1,\"height\":1}]]}]]}]}],[\"$\",\"text\",null,{\"x\":93,\"y\":217.9,\"fontSize\":22,\"fontWeight\":700,\"fill\":\"var(--accent)\",\"children\":\"05\"}],[\"$\",\"text\",null,{\"x\":126.5,\"y\":217.9,\"fontSize\":22,\"fontWeight\":700,\"fill\":\"var(--ink)\",\"children\":\"Alignment\"}],[[\"$\",\"text\",\"0\",{\"x\":16,\"y\":262,\"fontSize\":21,\"fill\":\"var(--text-body)\",\"children\":\"Fits asset scale, position\"}],[\"$\",\"text\",\"1\",{\"x\":16,\"y\":288,\"fontSize\":21,\"fill\":\"var(--text-body)\",\"children\":\"and rotation to cameras,\"}],[\"$\",\"text\",\"2\",{\"x\":16,\"y\":314,\"fontSize\":21,\"fill\":\"var(--text-body)\",\"children\":\"masks and Gaussians\"}]],[[\"$\",\"text\",\"0\",{\"x\":16,\"y\":340,\"fontSize\":12.5,\"fontFamily\":\"var(--font-pixel)\",\"fill\":\"var(--text-label)\",\"children\":\"SCENEAGENT-ALIGN-SCENE\"}]]]}],[\"$\",\"line\",null,{\"x1\":150,\"y1\":355,\"x2\":150,\"y2\":377,\"stroke\":\"var(--text-label)\"}]]}],[\"$\",\"g\",\"06\",{\"children\":[[\"$\",\"g\",null,{\"className\":\"agent-node\",\"role\":\"img\",\"aria-label\":\"06 Infill: Fills the background behind removed objects from detected planes\",\"children\":[[\"$\",\"rect\",null,{\"x\":0.5,\"y\":377.5,\"width\":299,\"height\":173,\"fill\":\"var(--paper)\",\"stroke\":\"var(--ink)\"}],[\"$\",\"g\",null,{\"transform\":\"translate(16 395) scale(5)\",\"fill\":\"currentColor\",\"shapeRendering\":\"crispEdges\",\"aria-hidden\":\"true\",\"children\":[\"$\",\"g\",null,{\"className\":\"agent-sprite\",\"style\":{\"--i\":5},\"children\":[[\"$\",\"g\",\"leg\",{\"className\":\"agent-sprite__leg\",\"children\":[[\"$\",\"rect\",\"6-4\",{\"x\":4,\"y\":6,\"width\":1,\"height\":1}],[\"$\",\"rect\",\"6-6\",{\"x\":6,\"y\":6,\"width\":1,\"height\":1}],[\"$\",\"rect\",\"6-8\",{\"x\":8,\"y\":6,\"width\":1,\"height\":1}]]}],[\"$\",\"g\",\"body\",{\"className\":\"agent-sprite__body\",\"children\":[[\"$\",\"rect\",\"3-2\",{\"x\":2,\"y\":3,\"width\":9,\"height\":1}],[\"$\",\"rect\",\"4-2\",{\"x\":2,\"y\":4,\"width\":2,\"height\":1}],[\"$\",\"rect\",\"4-5\",{\"x\":5,\"y\":4,\"width\":3,\"height\":1}],[\"$\",\"rect\",\"4-9\",{\"x\":9,\"y\":4,\"width\":2,\"height\":1}],[\"$\",\"rect\",\"5-2\",{\"x\":2,\"y\":5,\"width\":9,\"height\":1}]]}],[\"$\",\"g\",\"tool\",{\"className\":\"agent-sprite__tool\",\"children\":[[\"$\",\"rect\",\"0-2\",{\"x\":2,\"y\":0,\"width\":3,\"height\":1}],[\"$\",\"rect\",\"0-8\",{\"x\":8,\"y\":0,\"width\":3,\"height\":1}],[\"$\",\"rect\",\"1-2\",{\"x\":2,\"y\":1,\"width\":9,\"height\":1}]]}]]}]}],[\"$\",\"text\",null,{\"x\":93,\"y\":413.9,\"fontSize\":22,\"fontWeight\":700,\"fill\":\"var(--accent)\",\"children\":\"06\"}],[\"$\",\"text\",null,{\"x\":126.5,\"y\":413.9,\"fontSize\":22,\"fontWeight\":700,\"fill\":\"var(--ink)\",\"children\":\"Infill\"}],[[\"$\",\"text\",\"0\",{\"x\":16,\"y\":458,\"fontSize\":21,\"fill\":\"var(--text-body)\",\"children\":\"Fills the background behind\"}],[\"$\",\"text\",\"1\",{\"x\":16,\"y\":484,\"fontSize\":21,\"fill\":\"var(--text-body)\",\"children\":\"removed objects from\"}],[\"$\",\"text\",\"2\",{\"x\":16,\"y\":510,\"fontSize\":21,\"fill\":\"var(--text-body)\",\"children\":\"detected planes\"}]],[[\"$\",\"text\",\"0\",{\"x\":16,\"y\":536,\"fontSize\":12.5,\"fontFamily\":\"var(--font-pixel)\",\"fill\":\"var(--text-label)\",\"children\":\"SCENEAGENT-RUN-STEP\"}]]]}],[\"$\",\"line\",null,{\"x1\":150,\"y1\":551,\"x2\":150,\"y2\":573,\"stroke\":\"var(--text-label)\"}]]}],[\"$\",\"g\",\"07\",{\"children\":[[\"$\",\"g\",null,{\"className\":\"agent-node\",\"role\":\"img\",\"aria-label\":\"07 Orientation: Runs Isaac Lab sweeps that orient the 3DGS background to the scene\",\"children\":[[\"$\",\"rect\",null,{\"x\":0.5,\"y\":573.5,\"width\":299,\"height\":173,\"fill\":\"var(--paper)\",\"stroke\":\"var(--ink)\"}],[\"$\",\"g\",null,{\"transform\":\"translate(16 591) scale(5)\",\"fill\":\"currentColor\",\"shapeRendering\":\"crispEdges\",\"aria-hidden\":\"true\",\"children\":\"$L5f\"}],\"$L60\",\"$L61\",[\"$L62\",\"$L63\",\"$L64\"],[\"$L65\"]]}],\"$L66\"]}],\"$L67\",\"$L68\"]]}],\"$L69\"]}]\n"])</script><script>self.__next_f.push([1,"3f:[\"$\",\"$1\",\"01-2\",{\"children\":[[\"$\",\"svg\",null,{\"className\":\"spread__col\",\"viewBox\":\"0 0 300 1189\",\"style\":{\"fontFamily\":\"Helvetica, \\\"Helvetica Neue\\\", Arimo, Arial, sans-serif\"},\"children\":[false,[\"$\",\"line\",null,{\"x1\":0,\"y1\":44.5,\"x2\":300,\"y2\":44.5,\"stroke\":\"var(--ink)\"}],[[\"$\",\"g\",\"10\",{\"children\":[[\"$\",\"g\",null,{\"className\":\"agent-node\",\"role\":\"img\",\"aria-label\":\"10 Articulation: Proposes joints with Articulate Anything and reviews the motion in Isaac\",\"children\":[[\"$\",\"rect\",null,{\"x\":0.5,\"y\":181.5,\"width\":299,\"height\":190,\"fill\":\"var(--paper)\",\"stroke\":\"var(--ink)\"}],[\"$\",\"g\",null,{\"transform\":\"translate(16 199) scale(5)\",\"fill\":\"currentColor\",\"shapeRendering\":\"crispEdges\",\"aria-hidden\":\"true\",\"children\":[\"$\",\"g\",null,{\"className\":\"agent-sprite\",\"style\":{\"--i\":9},\"children\":[[\"$\",\"g\",\"leg\",{\"className\":\"agent-sprite__leg\",\"children\":[[\"$\",\"rect\",\"6-4\",{\"x\":4,\"y\":6,\"width\":1,\"height\":1}],[\"$\",\"rect\",\"6-6\",{\"x\":6,\"y\":6,\"width\":1,\"height\":1}],[\"$\",\"rect\",\"6-8\",{\"x\":8,\"y\":6,\"width\":1,\"height\":1}]]}],[\"$\",\"g\",\"body\",{\"className\":\"agent-sprite__body\",\"children\":[[\"$\",\"rect\",\"3-2\",{\"x\":2,\"y\":3,\"width\":9,\"height\":1}],[\"$\",\"rect\",\"4-2\",{\"x\":2,\"y\":4,\"width\":2,\"height\":1}],[\"$\",\"rect\",\"4-5\",{\"x\":5,\"y\":4,\"width\":3,\"height\":1}],[\"$\",\"rect\",\"4-9\",{\"x\":9,\"y\":4,\"width\":2,\"height\":1}],[\"$\",\"rect\",\"5-2\",{\"x\":2,\"y\":5,\"width\":9,\"height\":1}]]}],[\"$\",\"g\",\"tool\",{\"className\":\"agent-sprite__tool\",\"children\":[[\"$\",\"rect\",\"0-2\",{\"x\":2,\"y\":0,\"width\":2,\"height\":1}],[\"$\",\"rect\",\"0-9\",{\"x\":9,\"y\":0,\"width\":2,\"height\":1}],[\"$\",\"rect\",\"1-3\",{\"x\":3,\"y\":1,\"width\":7,\"height\":1}]]}]]}]}],[\"$\",\"text\",null,{\"x\":93,\"y\":217.9,\"fontSize\":22,\"fontWeight\":700,\"fill\":\"var(--accent)\",\"children\":\"10\"}],[\"$\",\"text\",null,{\"x\":126.5,\"y\":217.9,\"fontSize\":22,\"fontWeight\":700,\"fill\":\"var(--ink)\",\"children\":\"Articulation\"}],[[\"$\",\"text\",\"0\",{\"x\":16,\"y\":262,\"fontSize\":21,\"fill\":\"var(--text-body)\",\"children\":\"Proposes joints with\"}],[\"$\",\"text\",\"1\",{\"x\":16,\"y\":288,\"fontSize\":21,\"fill\":\"var(--text-body)\",\"children\":\"Articulate Anything and\"}],[\"$\",\"text\",\"2\",{\"x\":16,\"y\":314,\"fontSize\":21,\"fill\":\"var(--text-body)\",\"children\":\"reviews the motion in Isaac\"}]],[[\"$\",\"text\",\"0\",{\"x\":16,\"y\":340,\"fontSize\":12.5,\"fontFamily\":\"var(--font-pixel)\",\"fill\":\"var(--text-label)\",\"children\":\"SCENEAGENT-ARTICULATE-NATIVE-\"}],[\"$\",\"text\",\"1\",{\"x\":16,\"y\":357,\"fontSize\":12.5,\"fontFamily\":\"var(--font-pixel)\",\"fill\":\"var(--text-label)\",\"children\":\"ASSETS\"}]]]}],[\"$\",\"line\",null,{\"x1\":150,\"y1\":372,\"x2\":150,\"y2\":394,\"stroke\":\"var(--text-label)\"}]]}],[\"$\",\"g\",\"11\",{\"children\":[[\"$\",\"g\",null,{\"className\":\"agent-node\",\"role\":\"img\",\"aria-label\":\"11 Fracture: Simulates soft bodies, tearing and fracture with Warp material models\",\"children\":[[\"$\",\"rect\",null,{\"x\":0.5,\"y\":394.5,\"width\":299,\"height\":173,\"fill\":\"var(--paper)\",\"stroke\":\"var(--ink)\"}],[\"$\",\"g\",null,{\"transform\":\"translate(16 412) scale(5)\",\"fill\":\"currentColor\",\"shapeRendering\":\"crispEdges\",\"aria-hidden\":\"true\",\"children\":[\"$\",\"g\",null,{\"className\":\"agent-sprite\",\"style\":{\"--i\":10},\"children\":[[\"$\",\"g\",\"leg\",{\"className\":\"agent-sprite__leg\",\"children\":[[\"$\",\"rect\",\"6-4\",{\"x\":4,\"y\":6,\"width\":1,\"height\":1}],[\"$\",\"rect\",\"6-6\",{\"x\":6,\"y\":6,\"width\":1,\"height\":1}],[\"$\",\"rect\",\"6-8\",{\"x\":8,\"y\":6,\"width\":1,\"height\":1}]]}],[\"$\",\"g\",\"body\",{\"className\":\"agent-sprite__body\",\"children\":[[\"$\",\"rect\",\"3-2\",{\"x\":2,\"y\":3,\"width\":9,\"height\":1}],[\"$\",\"rect\",\"4-2\",{\"x\":2,\"y\":4,\"width\":2,\"height\":1}],[\"$\",\"rect\",\"4-5\",{\"x\":5,\"y\":4,\"width\":3,\"height\":1}],[\"$\",\"rect\",\"4-9\",{\"x\":9,\"y\":4,\"width\":2,\"height\":1}],[\"$\",\"rect\",\"5-2\",{\"x\":2,\"y\":5,\"width\":9,\"height\":1}]]}],[\"$\",\"g\",\"tool\",{\"className\":\"agent-sprite__tool\",\"children\":[[\"$\",\"rect\",\"0-3\",{\"x\":3,\"y\":0,\"width\":3,\"height\":1}],[\"$\",\"rect\",\"0-7\",{\"x\":7,\"y\":0,\"width\":2,\"height\":1}],[\"$\",\"rect\",\"1-4\",{\"x\":4,\"y\":1,\"width\":2,\"height\":1}],[\"$\",\"rect\",\"1-7\",{\"x\":7,\"y\":1,\"width\":3,\"height\":1}]]}]]}]}],[\"$\",\"text\",null,{\"x\":93,\"y\":430.9,\"fontSize\":22,\"fontWeight\":700,\"fill\":\"var(--accent)\",\"children\":\"11\"}],[\"$\",\"text\",null,{\"x\":126.5,\"y\":430.9,\"fontSize\":22,\"fontWeight\":700,\"fill\":\"var(--ink)\",\"children\":\"Fracture\"}],[[\"$\",\"text\",\"0\",{\"x\":16,\"y\":475,\"fontSize\":21,\"fill\":\"var(--text-body)\",\"children\":\"Simulates soft bodies,\"}],[\"$\",\"text\",\"1\",{\"x\":16,\"y\":501,\"fontSize\":21,\"fill\":\"var(--text-body)\",\"children\":\"tearing and fracture with\"}],[\"$\",\"text\",\"2\",{\"x\":16,\"y\":527,\"fontSize\":21,\"fill\":\"var(--text-body)\",\"children\":\"Warp material models\"}]],[[\"$\",\"text\",\"0\",{\"x\":16,\"y\":553,\"fontSize\":12.5,\"fontFamily\":\"var(--font-pixel)\",\"fill\":\"var(--text-label)\",\"children\":\"SCENEAGENT-SIMULATE-FRACTURE\"}]]]}],[\"$\",\"line\",null,{\"x1\":150,\"y1\":568,\"x2\":150,\"y2\":590,\"stroke\":\"var(--text-label)\"}]]}],[\"$\",\"g\",\"12\",{\"children\":[[\"$\",\"g\",null,{\"className\":\"agent-node\",\"role\":\"img\",\"aria-label\":\"12 4D timeseries: Completes the scene around a 4D interaction and infills actor shadows\",\"children\":[[\"$\",\"rect\",null,{\"x\":0.5,\"y\":590.5,\"width\":299,\"height\":173,\"fill\":\"var(--paper)\",\"stroke\":\"var(--ink)\"}],[\"$\",\"g\",null,{\"transform\":\"translate(16 608) scale(5)\",\"fill\":\"currentColor\",\"shapeRendering\":\"crispEdges\",\"aria-hidden\":\"true\",\"children\":[\"$\",\"g\",null,{\"className\":\"agent-sprite\",\"style\":{\"--i\":11},\"children\":[[\"$\",\"g\",\"leg\",{\"className\":\"agent-sprite__leg\",\"children\":[[\"$\",\"rect\",\"6-4\",{\"x\":4,\"y\":6,\"width\":1,\"height\":1}],[\"$\",\"rect\",\"6-6\",{\"x\":6,\"y\":6,\"width\":1,\"height\":1}],[\"$\",\"rect\",\"6-8\",{\"x\":8,\"y\":6,\"width\":1,\"height\":1}]]}],\"$L6a\",\"$L6b\"]}]}],\"$L6c\",\"$L6d\",[\"$L6e\",\"$L6f\",\"$L70\"],[\"$L71\"]]}],\"$L72\"]}],\"$L73\",\"$L74\"]]}],\"$L75\"]}]\n"])</script><script>self.__next_f.push([1,"40:[\"$\",\"$1\",\"02-3\",{\"children\":[[\"$\",\"svg\",null,{\"className\":\"spread__col\",\"viewBox\":\"0 0 300 1189\",\"style\":{\"fontFamily\":\"Helvetica, \\\"Helvetica Neue\\\", Arimo, Arial, sans-serif\"},\"children\":[[\"$\",\"g\",null,{\"children\":[[\"$\",\"text\",null,{\"x\":0,\"y\":30,\"fontSize\":30,\"fontWeight\":700,\"fill\":\"var(--accent)\",\"children\":\"02\"}],[\"$\",\"text\",null,{\"x\":50,\"y\":30,\"fontSize\":30,\"fontWeight\":700,\"fill\":\"var(--ink)\",\"children\":\"Sisters\"}],[[\"$\",\"text\",\"0\",{\"x\":0,\"y\":71,\"fontSize\":24,\"fill\":\"var(--text-muted)\",\"children\":\"From the processed digital\"}],[\"$\",\"text\",\"1\",{\"x\":0,\"y\":99,\"fontSize\":24,\"fill\":\"var(--text-muted)\",\"children\":\"twin, generate a family of\"}],[\"$\",\"text\",\"2\",{\"x\":0,\"y\":127,\"fontSize\":24,\"fill\":\"var(--text-muted)\",\"children\":\"object and scene sisters\"}]]]}],[\"$\",\"line\",null,{\"x1\":0,\"y1\":44.5,\"x2\":300,\"y2\":44.5,\"stroke\":\"var(--ink)\"}],[[\"$\",\"g\",\"15\",{\"children\":[[\"$\",\"g\",null,{\"className\":\"agent-node\",\"role\":\"img\",\"aria-label\":\"15 Augmentation: Expands the twin into object and scene sisters and passes objects on\",\"children\":[[\"$\",\"rect\",null,{\"x\":0.5,\"y\":181.5,\"width\":299,\"height\":173,\"fill\":\"var(--paper)\",\"stroke\":\"var(--ink)\"}],[\"$\",\"g\",null,{\"transform\":\"translate(16 199) scale(5)\",\"fill\":\"currentColor\",\"shapeRendering\":\"crispEdges\",\"aria-hidden\":\"true\",\"children\":[\"$\",\"g\",null,{\"className\":\"agent-sprite\",\"style\":{\"--i\":14},\"children\":[[\"$\",\"g\",\"leg\",{\"className\":\"agent-sprite__leg\",\"children\":[[\"$\",\"rect\",\"6-4\",{\"x\":4,\"y\":6,\"width\":1,\"height\":1}],[\"$\",\"rect\",\"6-6\",{\"x\":6,\"y\":6,\"width\":1,\"height\":1}],[\"$\",\"rect\",\"6-8\",{\"x\":8,\"y\":6,\"width\":1,\"height\":1}]]}],[\"$\",\"g\",\"body\",{\"className\":\"agent-sprite__body\",\"children\":[[\"$\",\"rect\",\"3-2\",{\"x\":2,\"y\":3,\"width\":9,\"height\":1}],[\"$\",\"rect\",\"4-2\",{\"x\":2,\"y\":4,\"width\":2,\"height\":1}],[\"$\",\"rect\",\"4-5\",{\"x\":5,\"y\":4,\"width\":3,\"height\":1}],[\"$\",\"rect\",\"4-9\",{\"x\":9,\"y\":4,\"width\":2,\"height\":1}],[\"$\",\"rect\",\"5-2\",{\"x\":2,\"y\":5,\"width\":9,\"height\":1}]]}],[\"$\",\"g\",\"tool\",{\"className\":\"agent-sprite__tool\",\"children\":[[\"$\",\"rect\",\"0-3\",{\"x\":3,\"y\":0,\"width\":1,\"height\":1}],[\"$\",\"rect\",\"0-6\",{\"x\":6,\"y\":0,\"width\":1,\"height\":1}],[\"$\",\"rect\",\"0-9\",{\"x\":9,\"y\":0,\"width\":1,\"height\":1}],[\"$\",\"rect\",\"1-3\",{\"x\":3,\"y\":1,\"width\":7,\"height\":1}]]}]]}]}],[\"$\",\"text\",null,{\"x\":93,\"y\":217.9,\"fontSize\":22,\"fontWeight\":700,\"fill\":\"var(--accent)\",\"children\":\"15\"}],[\"$\",\"text\",null,{\"x\":126.5,\"y\":217.9,\"fontSize\":22,\"fontWeight\":700,\"fill\":\"var(--ink)\",\"children\":\"Augmentation\"}],[[\"$\",\"text\",\"0\",{\"x\":16,\"y\":262,\"fontSize\":21,\"fill\":\"var(--text-body)\",\"children\":\"Expands the twin into object\"}],[\"$\",\"text\",\"1\",{\"x\":16,\"y\":288,\"fontSize\":21,\"fill\":\"var(--text-body)\",\"children\":\"and scene sisters and\"}],[\"$\",\"text\",\"2\",{\"x\":16,\"y\":314,\"fontSize\":21,\"fill\":\"var(--text-body)\",\"children\":\"passes objects on\"}]],[[\"$\",\"text\",\"0\",{\"x\":16,\"y\":340,\"fontSize\":12.5,\"fontFamily\":\"var(--font-pixel)\",\"fill\":\"var(--text-label)\",\"children\":\"SCENEAGENT-GENERATE-SISTERS\"}]]]}],[\"$\",\"line\",null,{\"x1\":150,\"y1\":355,\"x2\":150,\"y2\":377,\"stroke\":\"var(--text-label)\"}]]}],[\"$\",\"g\",\"16\",{\"children\":[[\"$\",\"g\",null,{\"className\":\"agent-node\",\"role\":\"img\",\"aria-label\":\"16 Object sisters: Proposes objects that keep the affordance and vary shape and appearance\",\"children\":[[\"$\",\"rect\",null,{\"x\":0.5,\"y\":377.5,\"width\":299,\"height\":173,\"fill\":\"var(--paper)\",\"stroke\":\"var(--ink)\"}],[\"$\",\"g\",null,{\"transform\":\"translate(16 395) scale(5)\",\"fill\":\"currentColor\",\"shapeRendering\":\"crispEdges\",\"aria-hidden\":\"true\",\"children\":[\"$\",\"g\",null,{\"className\":\"agent-sprite\",\"style\":{\"--i\":15},\"children\":[[\"$\",\"g\",\"leg\",{\"className\":\"agent-sprite__leg\",\"children\":[[\"$\",\"rect\",\"6-4\",{\"x\":4,\"y\":6,\"width\":1,\"height\":1}],[\"$\",\"rect\",\"6-6\",{\"x\":6,\"y\":6,\"width\":1,\"height\":1}],[\"$\",\"rect\",\"6-8\",{\"x\":8,\"y\":6,\"width\":1,\"height\":1}]]}],[\"$\",\"g\",\"body\",{\"className\":\"agent-sprite__body\",\"children\":[[\"$\",\"rect\",\"3-2\",{\"x\":2,\"y\":3,\"width\":9,\"height\":1}],[\"$\",\"rect\",\"4-2\",{\"x\":2,\"y\":4,\"width\":2,\"height\":1}],[\"$\",\"rect\",\"4-5\",{\"x\":5,\"y\":4,\"width\":3,\"height\":1}],[\"$\",\"rect\",\"4-9\",{\"x\":9,\"y\":4,\"width\":2,\"height\":1}],[\"$\",\"rect\",\"5-2\",{\"x\":2,\"y\":5,\"width\":9,\"height\":1}]]}],[\"$\",\"g\",\"tool\",{\"className\":\"agent-sprite__tool\",\"children\":[[\"$\",\"rect\",\"0-3\",{\"x\":3,\"y\":0,\"width\":2,\"height\":1}],[\"$\",\"rect\",\"0-8\",{\"x\":8,\"y\":0,\"width\":2,\"height\":1}],[\"$\",\"rect\",\"1-3\",{\"x\":3,\"y\":1,\"width\":2,\"height\":1}],[\"$\",\"rect\",\"1-8\",{\"x\":8,\"y\":1,\"width\":2,\"height\":1}]]}]]}]}],[\"$\",\"text\",null,{\"x\":93,\"y\":413.9,\"fontSize\":22,\"fontWeight\":700,\"fill\":\"var(--accent)\",\"children\":\"16\"}],[\"$\",\"text\",null,{\"x\":126.5,\"y\":413.9,\"fontSize\":22,\"fontWeight\":700,\"fill\":\"var(--ink)\",\"children\":\"Object sisters\"}],[[\"$\",\"text\",\"0\",{\"x\":16,\"y\":458,\"fontSize\":21,\"fill\":\"var(--text-body)\",\"children\":\"Proposes objects that keep\"}],[\"$\",\"text\",\"1\",{\"x\":16,\"y\":484,\"fontSize\":21,\"fill\":\"var(--text-body)\",\"children\":\"the affordance and vary\"}],[\"$\",\"text\",\"2\",{\"x\":16,\"y\":510,\"fontSize\":21,\"fill\":\"var(--text-body)\",\"children\":\"shape and appearance\"}]],[[\"$\",\"text\",\"0\",{\"x\":16,\"y\":536,\"fontSize\":12.5,\"fontFamily\":\"var(--font-pixel)\",\"fill\":\"var(--text-label)\",\"children\":\"SCENEAGENT-OBJECT-SISTERS\"}]]]}],[\"$\",\"line\",null,{\"x1\":150,\"y1\":551,\"x2\":150,\"y2\":573,\"stroke\":\"var(--text-label)\"}]]}],[\"$\",\"g\",\"17\",{\"children\":[[\"$\",\"g\",null,{\"className\":\"agent-node\",\"role\":\"img\",\"aria-label\":\"17 Scene sisters: Samples layouts from spatial relations around a task anchor\",\"children\":[[\"$\",\"rect\",null,{\"x\":0.5,\"y\":573.5,\"width\":299,\"height\":173,\"fill\":\"var(--paper)\",\"stroke\":\"var(--ink)\"}],\"$L76\",\"$L77\",\"$L78\",[\"$L79\",\"$L7a\",\"$L7b\"],[\"$L7c\"]]}],\"$L7d\"]}],\"$L7e\"]]}],\"$L7f\"]}]\n"])</script><script>self.__next_f.push([1,"41:[\"$\",\"$1\",\"03-4\",{\"children\":[[\"$\",\"svg\",null,{\"className\":\"spread__col\",\"viewBox\":\"0 0 300 1189\",\"style\":{\"fontFamily\":\"Helvetica, \\\"Helvetica Neue\\\", Arimo, Arial, sans-serif\"},\"children\":[[\"$\",\"g\",null,{\"children\":[[\"$\",\"text\",null,{\"x\":0,\"y\":30,\"fontSize\":30,\"fontWeight\":700,\"fill\":\"var(--accent)\",\"children\":\"03\"}],[\"$\",\"text\",null,{\"x\":50,\"y\":30,\"fontSize\":30,\"fontWeight\":700,\"fill\":\"var(--ink)\",\"children\":\"Policy\"}],[[\"$\",\"text\",\"0\",{\"x\":0,\"y\":71,\"fontSize\":24,\"fill\":\"var(--text-muted)\",\"children\":\"Evaluate and train robot\"}],[\"$\",\"text\",\"1\",{\"x\":0,\"y\":99,\"fontSize\":24,\"fill\":\"var(--text-muted)\",\"children\":\"policies on twins and\"}],[\"$\",\"text\",\"2\",{\"x\":0,\"y\":127,\"fontSize\":24,\"fill\":\"var(--text-muted)\",\"children\":\"sisters, in simulation and\"}],[\"$\",\"text\",\"3\",{\"x\":0,\"y\":155,\"fontSize\":24,\"fill\":\"var(--text-muted)\",\"children\":\"on hardware\"}]]]}],[\"$\",\"line\",null,{\"x1\":0,\"y1\":44.5,\"x2\":300,\"y2\":44.5,\"stroke\":\"var(--ink)\"}],[[\"$\",\"g\",\"19\",{\"children\":[[\"$\",\"g\",null,{\"className\":\"agent-node\",\"role\":\"img\",\"aria-label\":\"19 Researcher: Tests policy in real world and identifies failure modes, designs sisters around failure modes\",\"children\":[[\"$\",\"rect\",null,{\"x\":0.5,\"y\":181.5,\"width\":299,\"height\":199,\"fill\":\"var(--paper)\",\"stroke\":\"var(--ink)\"}],[\"$\",\"g\",null,{\"transform\":\"translate(16 199) scale(5)\",\"fill\":\"currentColor\",\"shapeRendering\":\"crispEdges\",\"aria-hidden\":\"true\",\"children\":[\"$\",\"g\",null,{\"className\":\"agent-sprite\",\"style\":{\"--i\":18},\"children\":[[\"$\",\"g\",\"leg\",{\"className\":\"agent-sprite__leg\",\"children\":[[\"$\",\"rect\",\"6-4\",{\"x\":4,\"y\":6,\"width\":1,\"height\":1}],[\"$\",\"rect\",\"6-6\",{\"x\":6,\"y\":6,\"width\":1,\"height\":1}],[\"$\",\"rect\",\"6-8\",{\"x\":8,\"y\":6,\"width\":1,\"height\":1}]]}],[\"$\",\"g\",\"body\",{\"className\":\"agent-sprite__body\",\"children\":[[\"$\",\"rect\",\"3-2\",{\"x\":2,\"y\":3,\"width\":9,\"height\":1}],[\"$\",\"rect\",\"4-2\",{\"x\":2,\"y\":4,\"width\":2,\"height\":1}],[\"$\",\"rect\",\"4-5\",{\"x\":5,\"y\":4,\"width\":3,\"height\":1}],[\"$\",\"rect\",\"4-9\",{\"x\":9,\"y\":4,\"width\":2,\"height\":1}],[\"$\",\"rect\",\"5-2\",{\"x\":2,\"y\":5,\"width\":9,\"height\":1}]]}],[\"$\",\"g\",\"tool\",{\"className\":\"agent-sprite__tool\",\"children\":[[\"$\",\"rect\",\"0-4\",{\"x\":4,\"y\":0,\"width\":5,\"height\":1}],[\"$\",\"rect\",\"1-4\",{\"x\":4,\"y\":1,\"width\":1,\"height\":1}],[\"$\",\"rect\",\"1-8\",{\"x\":8,\"y\":1,\"width\":1,\"height\":1}]]}]]}]}],[\"$\",\"text\",null,{\"x\":93,\"y\":217.9,\"fontSize\":22,\"fontWeight\":700,\"fill\":\"var(--accent)\",\"children\":\"19\"}],[\"$\",\"text\",null,{\"x\":126.5,\"y\":217.9,\"fontSize\":22,\"fontWeight\":700,\"fill\":\"var(--ink)\",\"children\":\"Researcher\"}],[[\"$\",\"text\",\"0\",{\"x\":16,\"y\":262,\"fontSize\":21,\"fill\":\"var(--text-body)\",\"children\":\"Tests policy in real world\"}],[\"$\",\"text\",\"1\",{\"x\":16,\"y\":288,\"fontSize\":21,\"fill\":\"var(--text-body)\",\"children\":\"and identifies failure modes,\"}],[\"$\",\"text\",\"2\",{\"x\":16,\"y\":314,\"fontSize\":21,\"fill\":\"var(--text-body)\",\"children\":\"designs sisters around\"}],[\"$\",\"text\",\"3\",{\"x\":16,\"y\":340,\"fontSize\":21,\"fill\":\"var(--text-body)\",\"children\":\"failure modes\"}]],[[\"$\",\"text\",\"0\",{\"x\":16,\"y\":366,\"fontSize\":12.5,\"fontFamily\":\"var(--font-pixel)\",\"fill\":\"var(--text-label)\",\"children\":\"SCENEAGENT-POLICY-AUTORESEARCH\"}]]]}],[\"$\",\"line\",null,{\"x1\":150,\"y1\":381,\"x2\":150,\"y2\":403,\"stroke\":\"var(--text-label)\"}]]}],[\"$\",\"g\",\"20\",{\"children\":[[\"$\",\"g\",null,{\"className\":\"agent-node\",\"role\":\"img\",\"aria-label\":\"20 Evaluator: Evaluates policies across sisters with fixed seeds and measured outcomes\",\"children\":[[\"$\",\"rect\",null,{\"x\":0.5,\"y\":403.5,\"width\":299,\"height\":173,\"fill\":\"var(--paper)\",\"stroke\":\"var(--ink)\"}],[\"$\",\"g\",null,{\"transform\":\"translate(16 421) scale(5)\",\"fill\":\"currentColor\",\"shapeRendering\":\"crispEdges\",\"aria-hidden\":\"true\",\"children\":[\"$\",\"g\",null,{\"className\":\"agent-sprite\",\"style\":{\"--i\":19},\"children\":[[\"$\",\"g\",\"leg\",{\"className\":\"agent-sprite__leg\",\"children\":[[\"$\",\"rect\",\"6-4\",{\"x\":4,\"y\":6,\"width\":1,\"height\":1}],[\"$\",\"rect\",\"6-6\",{\"x\":6,\"y\":6,\"width\":1,\"height\":1}],[\"$\",\"rect\",\"6-8\",{\"x\":8,\"y\":6,\"width\":1,\"height\":1}]]}],[\"$\",\"g\",\"body\",{\"className\":\"agent-sprite__body\",\"children\":[[\"$\",\"rect\",\"3-2\",{\"x\":2,\"y\":3,\"width\":9,\"height\":1}],[\"$\",\"rect\",\"4-2\",{\"x\":2,\"y\":4,\"width\":2,\"height\":1}],[\"$\",\"rect\",\"4-5\",{\"x\":5,\"y\":4,\"width\":3,\"height\":1}],[\"$\",\"rect\",\"4-9\",{\"x\":9,\"y\":4,\"width\":2,\"height\":1}],[\"$\",\"rect\",\"5-2\",{\"x\":2,\"y\":5,\"width\":9,\"height\":1}]]}],[\"$\",\"g\",\"tool\",{\"className\":\"agent-sprite__tool\",\"children\":[[\"$\",\"rect\",\"0-3\",{\"x\":3,\"y\":0,\"width\":2,\"height\":1}],[\"$\",\"rect\",\"0-6\",{\"x\":6,\"y\":0,\"width\":1,\"height\":1}],[\"$\",\"rect\",\"0-8\",{\"x\":8,\"y\":0,\"width\":2,\"height\":1}],[\"$\",\"rect\",\"1-6\",{\"x\":6,\"y\":1,\"width\":1,\"height\":1}]]}]]}]}],[\"$\",\"text\",null,{\"x\":93,\"y\":439.9,\"fontSize\":22,\"fontWeight\":700,\"fill\":\"var(--accent)\",\"children\":\"20\"}],[\"$\",\"text\",null,{\"x\":126.5,\"y\":439.9,\"fontSize\":22,\"fontWeight\":700,\"fill\":\"var(--ink)\",\"children\":\"Evaluator\"}],[[\"$\",\"text\",\"0\",{\"x\":16,\"y\":484,\"fontSize\":21,\"fill\":\"var(--text-body)\",\"children\":\"Evaluates policies across\"}],[\"$\",\"text\",\"1\",{\"x\":16,\"y\":510,\"fontSize\":21,\"fill\":\"var(--text-body)\",\"children\":\"sisters with fixed seeds and\"}],[\"$\",\"text\",\"2\",{\"x\":16,\"y\":536,\"fontSize\":21,\"fill\":\"var(--text-body)\",\"children\":\"measured outcomes\"}]],[[\"$\",\"text\",\"0\",{\"x\":16,\"y\":562,\"fontSize\":12.5,\"fontFamily\":\"var(--font-pixel)\",\"fill\":\"var(--text-label)\",\"children\":\"SCENEAGENT-POLICY-EVAL\"}]]]}],[\"$\",\"line\",null,{\"x1\":150,\"y1\":577,\"x2\":150,\"y2\":599,\"stroke\":\"var(--text-label)\"}]]}],[\"$\",\"g\",\"21\",{\"children\":[[\"$\",\"g\",null,{\"className\":\"agent-node\",\"role\":\"img\",\"aria-label\":\"21 Trainer: Finetunes policy in digital sister environments with VLM controlled corrections\",\"children\":[\"$L80\",\"$L81\",\"$L82\",\"$L83\",[\"$L84\",\"$L85\",\"$L86\"],[\"$L87\"]]}],false]}]]]}],\"$undefined\"]}]\n"])</script><script>self.__next_f.push([1,"42:[\"$\",\"div\",null,{\"className\":\"chapter__caption\",\"children\":[[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"var(--font-sans)\",\"fontSize\":10,\"fontWeight\":700,\"lineHeight\":1.5,\"letterSpacing\":\"0.02em\",\"color\":\"var(--ink)\"},\"children\":\"Figure 4 · An overview of the full agentic pipeline with various tools and skills for processing 3d capture data into usable simulation scenes\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"var(--font-sans)\",\"fontSize\":10,\"fontWeight\":700,\"lineHeight\":1.5,\"letterSpacing\":\"0.02em\",\"color\":\"var(--accent)\",\"marginLeft\":\"auto\",\"flexShrink\":0},\"children\":\"3.2\"}]]}]\n43:[\"$\",\"div\",null,{\"className\":\"chapter__text\",\"children\":[\"$\",\"p\",null,{\"children\":\"Our agentic workflow processes 3D capture data of diverse origins into fully usable simulation scenes in Isaac Lab, MuJoCo, or Unreal Engine. The agents are helpful in this case specifically because of the diversity of data formats of 3d data and error-prone nature of object conversion and decomposition models. For example, a common failure mode is that the 3d object segmentation will incorrectly transform the scale, rotation, or placement of the objects in the scene, and agents can take camera renders from within Isaac Lab to visually inspect the conversion results and rapidly correct such small errors.\"}]}]\n"])</script><script>self.__next_f.push([1,"44:[\"$\",\"div\",null,{\"className\":\"chapter__exhibit chapter__exhibit--bleed\",\"data-bleed\":\"\",\"children\":[[\"$\",\"div\",null,{\"className\":\"clips\",\"style\":{\"gridTemplateColumns\":\"repeat(3, minmax(0, 1fr))\"},\"children\":[[\"$\",\"$La\",\"objects/sony_radio_clean\",{\"src\":\"./videos/objects/sony_radio_clean.mp4\",\"poster\":\"./videos/objects/sony_radio_clean.jpg\",\"caption\":\"Sony CFS-43, photogrammetry of a radio cassette player and articulations of its door, keys, knobs, and selector\",\"ratio\":\"4 / 3\",\"alt\":\"Sony radio · full control articulation\"}],[\"$\",\"$La\",\"stegosaurus_walking\",{\"src\":\"./videos/stegosaurus_walking.mp4\",\"poster\":\"./videos/stegosaurus_walking.jpg\",\"caption\":\"A 3dgs of a stegosaurus skeleton from the AMNH, fully articulated and walking (without hand-created animations)\",\"ratio\":\"4 / 3\",\"alt\":\"Stegosaurus · walking\"}],[\"$\",\"$La\",\"objects/ge90_engine_orbit_zoom\",{\"src\":\"./videos/objects/ge90_engine_orbit_zoom.mp4\",\"poster\":\"./videos/objects/ge90_engine_orbit_zoom.jpg\",\"caption\":\"A jet engine with processed turbofan, articulated and running based on engine schematics\",\"ratio\":\"4 / 3\",\"alt\":\"Jet engine · orbit and detail zoom\"}],[\"$\",\"$La\",\"objects/sceneagent_bencini_camera\",{\"src\":\"./videos/objects/sceneagent_bencini_camera.mp4\",\"poster\":\"./videos/objects/sceneagent_bencini_camera.jpg\",\"caption\":\"A Bencini cine camera converted into a usable simulation asset, with usable frame-rate dial and battery compartment\",\"ratio\":\"4 / 3\",\"alt\":\"Bencini cine camera · orbit and detail zoom\"}],[\"$\",\"$La\",\"objects/sceneagent_cessna_cockpit\",{\"src\":\"./videos/objects/sceneagent_cessna_cockpit.mp4\",\"poster\":\"./videos/objects/sceneagent_cessna_cockpit.jpg\",\"caption\":\"A Cessna cockpit, converted into simulation asset with extreme detail in its instrument panel, switches, and placards\",\"ratio\":\"4 / 3\",\"alt\":\"Cessna cockpit · orbit and detail zoom\"}],[\"$\",\"$La\",\"objects/sceneagent_motorcycle\",{\"src\":\"./videos/objects/sceneagent_motorcycle.mp4\",\"poster\":\"./videos/objects/sceneagent_motorcycle.jpg\",\"caption\":\"A motorcycle converted from 3d capture into a usable simulation asset, including many details\",\"ratio\":\"4 / 3\",\"alt\":\"Motorcycle · orbit and detail zoom\"}]]}],[\"$\",\"div\",null,{\"className\":\"chapter__caption\",\"children\":[\"$undefined\",[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"var(--font-sans)\",\"fontSize\":10,\"fontWeight\":700,\"lineHeight\":1.5,\"letterSpacing\":\"0.02em\",\"color\":\"var(--accent)\",\"marginLeft\":\"auto\",\"flexShrink\":0},\"children\":\"3.3\"}]]}]]}]\n"])</script><script>self.__next_f.push([1,"45:[\"$\",\"div\",null,{\"className\":\"chapter__text\",\"children\":[\"$\",\"p\",null,{\"children\":[\"One of the most unique and beneficial aspects about our agentic workflow is that it can support converting multiple different data types from diverse sources with useful results. For example, it can similarly process input RGB images and align them with structure-from-motion with colmap and then train a 3DGS scene with NerfStudio’s \",[\"$\",\"code\",null,{\"children\":\"splatfacto\"}],\" big and inspect, review, and correct any results, such as the per image color calibration of the input images. The same pipeline will equally process public internet 3d capture data from photogrammetry or pre-existing 3DGS .ply files.\"]}]}]\n"])</script><script>self.__next_f.push([1,"46:[\"$\",\"div\",null,{\"className\":\"chapter__exhibit chapter__exhibit--bleed\",\"data-bleed\":\"\",\"children\":[[\"$\",\"div\",null,{\"className\":\"clips\",\"style\":{\"gridTemplateColumns\":\"repeat(3, minmax(0, 1fr))\"},\"children\":[[\"$\",\"$La\",\"deformables_textile_rack_orbit\",{\"src\":\"./videos/deformables_textile_rack_orbit.mp4\",\"poster\":\"./videos/deformables_textile_rack_orbit.jpg\",\"caption\":\"A patterned textile draped over a garment rack, orbited to read the folds from every side\",\"ratio\":\"16 / 9\",\"alt\":\"Textile rack · orbit\"}],[\"$\",\"$La\",\"deformables_hoodie_lift_drape\",{\"src\":\"./videos/deformables_hoodie_lift_drape.mp4\",\"poster\":\"./videos/deformables_hoodie_lift_drape.jpg\",\"caption\":\"A hoodie lifted from a surface and left to drape under gravity\",\"ratio\":\"16 / 9\",\"alt\":\"Hoodie · lift and drape\"}],[\"$\",\"$La\",\"deformables_towel_rack_orbit\",{\"src\":\"./videos/deformables_towel_rack_orbit.mp4\",\"poster\":\"./videos/deformables_towel_rack_orbit.jpg\",\"caption\":\"Three towels hung on a wall rack, orbited to read the folds from every side\",\"ratio\":\"16 / 9\",\"alt\":\"Towel rack · orbit\"}],[\"$\",\"$La\",\"deformables_firefighter_hose_unwind\",{\"src\":\"./videos/deformables_firefighter_hose_unwind.mp4\",\"poster\":\"./videos/deformables_firefighter_hose_unwind.jpg\",\"caption\":\"A coiled firefighter hose unwinding under soft-body dynamics\",\"ratio\":\"16 / 9\",\"alt\":\"Firefighter hose · unwind\"}],[\"$\",\"$La\",\"liquid_death_hat_physics\",{\"src\":\"./videos/liquid_death_hat_physics.mp4\",\"poster\":\"./videos/liquid_death_hat_physics.jpg\",\"caption\":\"A Liquid Death corduroy cap with soft-body physics, deforming under contact dynamics\",\"ratio\":\"16 / 9\",\"alt\":\"Liquid Death hat · physics\"}],[\"$\",\"$La\",\"deformables_extension_cord_unwind\",{\"src\":\"./videos/deformables_extension_cord_unwind.mp4\",\"poster\":\"./videos/deformables_extension_cord_unwind.jpg\",\"caption\":\"An extension cord uncoiling from its wound state\",\"ratio\":\"16 / 9\",\"alt\":\"Extension cord · unwind\"}]]}],[\"$\",\"div\",null,{\"className\":\"chapter__caption\",\"children\":[\"$undefined\",[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"var(--font-sans)\",\"fontSize\":10,\"fontWeight\":700,\"lineHeight\":1.5,\"letterSpacing\":\"0.02em\",\"color\":\"var(--accent)\",\"marginLeft\":\"auto\",\"flexShrink\":0},\"children\":\"3.4\"}]]}]]}]\n"])</script><script>self.__next_f.push([1,"47:[\"$\",\"div\",null,{\"className\":\"chapter__text\",\"children\":[\"$\",\"p\",null,{\"children\":\"Likewise, it is able to turn synthetic datasets from generative 3DGS models (such as World Labs Marble, NVIDIA Lyra, or TenCent Hy-World). One can prompt the pipeline to convert the full scene into segmented 3d objects with predictive physics properties or instead focus only foreground objects. The first is much more time-consuming and error prone at this point, but we believe that future iterations of the pipeline will easily improve this.\"}]}]\n48:[\"$\",\"div\",null,{\"className\":\"chapter__text\",\"children\":[\"$\",\"p\",null,{\"children\":\"We imagine a future application of this agentic workflow running on individual in-home or in-factory robots that can 3d capture a space, process that space on-device only with an NVIDIA Jetson Orin or Thor or equivalent, and then train a finetune of its policy on the results with no data leaving device. We hope that this will continue the use of 3DGS in the future to be part of the solution to the data problem of generalist robotic policy development in the future.\"}]}]\n49:[\"$\",\"$La\",\"hands_clipping_in_gpu\",{\"src\":\"./videos/hands_clipping_in_gpu.mp4\",\"poster\":\"./videos/hands_clipping_in_gpu.jpg\",\"caption\":\"Two dextrous Sharpa hands clipping a GPU into place into a motherboard\",\"ratio\":\"4 / 3\",\"alt\":\"Dexterous hands · GPU installation\"}]\n4a:[\"$\",\"$La\",\"hands_sunglasses_5x\",{\"src\":\"./videos/hands_sunglasses_5x.mp4\",\"poster\":\"./videos/hands_sunglasses_5x.jpg\",\"caption\":\"Sharpa hand picking up and unfolding sunglasses then putting them on a face\",\"ratio\":\"4 / 3\",\"alt\":\"Dexterous hands · sunglasses, 5× speed\"}]\n4b:[\"$\",\"$La\",\"dexmate_sharpa_pizza_and_dishes\",{\"src\":\"./videos/dexmate_sharpa_pizza_and_dishes.mp4\",\"poster\":\"./videos/dexmate_sharpa_pizza_and_dishes.jpg\",\"caption\":\"A Dexmate mobile robot with dual Sharpa dexterous hands serving a pizza slice onto a plate and clearing the dishes to the sink\",\"ratio\":\"4 / 3\",\"alt\":\"Kitchen · Dexmate dual Sharpa\"}]\n4c:[\"$\",\"$La\",\"studio_sunglasses_noir\",{\"src\":\"./videos/studio_sunglasses_noir.mp4\",\"poster\":\"./videos/studio_sunglasses_noir.jpg\",\"caption\":\"Two Sharpa dexterous hands lifting and unfolding a pair of sunglasses, then setting them on a bust\",\"ratio\":\"4 / 3\",\"alt\":\"Studio · Sharpa sunglasses, noir\"}]\n4d:[\"$\",\"$La\",\"sharpa_hello_world_lift_then_uncap\",{\"src\":\"./videos/sharpa_hello_world_lift_then_uncap.mp4\",\"poster\":\"./videos/sharpa_hello_world_lift_then_uncap.jpg\",\"caption\":\"Dual robot arms lifting a marker into a Sharpa dexterous hand, uncapping it, and writing Hello World on a whiteboard\",\"ratio\":\"4 / 3\",\"alt\":\"Studio · Sharpa lift and uncap\"}]\n4e:[\"$\",\"div\",null,{\"className\":\"chapter__caption\",\"children\":[\"$undefined\",[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"var(--font-sans)\",\"fontSize\":10,\"fontWeight\":700,\"lineHeight\":1.5,\"letterSpacing\":\"0.02em\",\"color\":\"var(--accent)\",\"marginLeft\":\"auto\",\"flexShrink\":0},\"children\":\"3.3\"}]]}]\n4f:[\"$\",\"div\",null,{\"className\":\"chapter__text\",\"children\":[[\"$\",\"p\",null,{\"children\":\"The generated environments can be adapted for policy evaluation and training for multiple embodiments, and we believe that they will be especially useful for training dextrous hands. Whereas manipulators like the UMI gripper on the Franka Emika Panda can benefit from more accurate physics properties on objects in simulation, dextrous hands must learn to accomplish much more complex tasks with deformable fabrics, plastics, sticky surfaces, and similar challenges. We hope in future simulations to have a pipeline with increased accuracy around specifically supporting packing in plastic bags and applying stickers to diverse surfaces.\"}],[\"$\",\"p\",null,{\"children\":\"Alternative methods of course may use generative diffusion- or autogressive-based world models to generate the multi-view video used for policy evaluation and finetuning. Our method may be beneficial because it is much less computationally intensive than methods relying on generative video models and can be precise for specific environments or parts.\"}]]}]\n"])</script><script>self.__next_f.push([1,"51:[\"$\",\"div\",null,{\"className\":\"chapter__exhibit chapter__exhibit--bleed\",\"data-bleed\":\"\",\"children\":[[\"$\",\"figure\",null,{\"className\":\"FigurePolicyWorkflow-module__aSKegq__figure\",\"aria-labelledby\":\"policy-workflow-title\",\"children\":[[\"$\",\"header\",null,{\"className\":\"FigurePolicyWorkflow-module__aSKegq__header\",\"children\":[[\"$\",\"svg\",null,{\"className\":\"FigurePolicyWorkflow-module__aSKegq__agent\",\"viewBox\":\"0 0 65 35\",\"aria-hidden\":\"true\",\"children\":[\"$\",\"g\",null,{\"transform\":\"translate(0 0) scale(5)\",\"fill\":\"currentColor\",\"shapeRendering\":\"crispEdges\",\"aria-hidden\":\"true\",\"children\":[\"$\",\"g\",null,{\"className\":\"agent-sprite\",\"style\":{\"--i\":0},\"children\":[[\"$\",\"g\",\"leg\",{\"className\":\"agent-sprite__leg\",\"children\":[[\"$\",\"rect\",\"6-4\",{\"x\":4,\"y\":6,\"width\":1,\"height\":1}],[\"$\",\"rect\",\"6-6\",{\"x\":6,\"y\":6,\"width\":1,\"height\":1}],[\"$\",\"rect\",\"6-8\",{\"x\":8,\"y\":6,\"width\":1,\"height\":1}]]}],[\"$\",\"g\",\"body\",{\"className\":\"agent-sprite__body\",\"children\":[[\"$\",\"rect\",\"3-2\",{\"x\":2,\"y\":3,\"width\":9,\"height\":1}],[\"$\",\"rect\",\"4-2\",{\"x\":2,\"y\":4,\"width\":2,\"height\":1}],[\"$\",\"rect\",\"4-5\",{\"x\":5,\"y\":4,\"width\":3,\"height\":1}],[\"$\",\"rect\",\"4-9\",{\"x\":9,\"y\":4,\"width\":2,\"height\":1}],[\"$\",\"rect\",\"5-2\",{\"x\":2,\"y\":5,\"width\":9,\"height\":1}]]}],[\"$\",\"g\",\"tool\",{\"className\":\"agent-sprite__tool\",\"children\":[[\"$\",\"rect\",\"0-2\",{\"x\":2,\"y\":0,\"width\":1,\"height\":1}],[\"$\",\"rect\",\"0-4\",{\"x\":4,\"y\":0,\"width\":1,\"height\":1}],[\"$\",\"rect\",\"0-8\",{\"x\":8,\"y\":0,\"width\":1,\"height\":1}],[\"$\",\"rect\",\"0-10\",{\"x\":10,\"y\":0,\"width\":1,\"height\":1}],[\"$\",\"rect\",\"1-2\",{\"x\":2,\"y\":1,\"width\":9,\"height\":1}]]}]]}]}]}],[\"$\",\"div\",null,{\"children\":[[\"$\",\"h3\",null,{\"id\":\"policy-workflow-title\",\"children\":\"Agentic Policy Evaluation and Training\"}],[\"$\",\"p\",null,{\"children\":\"Automate evaluations and repair failure modes in digital sisters of Tasks and Scenes\"}]]}]]}],[\"$\",\"div\",null,{\"className\":\"FigurePolicyWorkflow-module__aSKegq__layout\",\"children\":[[\"$\",\"div\",null,{\"className\":\"FigurePolicyWorkflow-module__aSKegq__simulationFrame\",\"aria-hidden\":\"true\"}],[\"$\",\"p\",null,{\"className\":\"FigurePolicyWorkflow-module__aSKegq__simulationTitle\",\"children\":[\"SceneAgent Simulations\",[\"$\",\"span\",null,{\"className\":\"FigurePolicyWorkflow-module__aSKegq__srOnly\",\"children\":\": steps 02 through 05\"}]]}],[\"$\",\"ol\",null,{\"className\":\"FigurePolicyWorkflow-module__aSKegq__stages\",\"role\":\"list\",\"children\":[[\"$\",\"li\",\"real-evaluation\",{\"id\":\"policy-step-real-evaluation\",\"className\":\"FigurePolicyWorkflow-module__aSKegq__stage\",\"data-stage\":\"real-evaluation\",\"children\":[[\"$\",\"div\",null,{\"className\":\"FigurePolicyWorkflow-module__aSKegq__media\",\"children\":[[\"$\",\"img\",null,{\"src\":\"./policy-workflow/real-failure.svg\",\"width\":356,\"height\":240,\"alt\":\"A Franka Emika Panda with a Sharpa hand attempts a thumb-and-index pinch while the flower remains in its glass.\",\"loading\":\"lazy\",\"decoding\":\"async\"}],[\"$\",\"svg\",null,{\"className\":\"FigurePolicyWorkflow-module__aSKegq__arrow \",\"viewBox\":\"0 0 104 18\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"defs\",null,{\"children\":[\"$\",\"marker\",null,{\"id\":\"policy-flow-01\",\"markerWidth\":\"8\",\"markerHeight\":\"7\",\"refX\":\"7\",\"refY\":\"3.5\",\"orient\":\"auto\",\"markerUnits\":\"userSpaceOnUse\",\"children\":[\"$\",\"path\",null,{\"d\":\"M0 0 8 3.5 0 7Z\",\"fill\":\"currentColor\"}]}]}],[\"$\",\"path\",null,{\"d\":\"M12 9H91\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"markerEnd\":\"url(#policy-flow-01)\"}]]}],null]}],\"$undefined\",[\"$\",\"h4\",null,{\"children\":[[\"$\",\"span\",null,{\"children\":\"01\"}],\"Real-world evaluation\"]}],[\"$\",\"p\",null,{\"children\":\"Review robot recordings and state to identify failure modes. In this example, a stem pinch leaves the flower in the glass.\"}]]}],[\"$\",\"li\",\"digital-sisters\",{\"id\":\"policy-step-digital-sisters\",\"className\":\"FigurePolicyWorkflow-module__aSKegq__stage\",\"data-stage\":\"digital-sisters\",\"children\":[[\"$\",\"div\",null,{\"className\":\"FigurePolicyWorkflow-module__aSKegq__media\",\"children\":[[\"$\",\"img\",null,{\"src\":\"./policy-workflow/digital-sisters.svg\",\"width\":356,\"height\":240,\"alt\":\"Four digital sisters show the same Panda and Sharpa hand approaching the flower and glass in different positions.\",\"loading\":\"lazy\",\"decoding\":\"async\"}],[\"$\",\"svg\",null,{\"className\":\"FigurePolicyWorkflow-module__aSKegq__arrow \",\"viewBox\":\"0 0 104 18\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"defs\",null,{\"children\":[\"$\",\"marker\",null,{\"id\":\"policy-flow-02\",\"markerWidth\":\"8\",\"markerHeight\":\"7\",\"refX\":\"7\",\"refY\":\"3.5\",\"orient\":\"auto\",\"markerUnits\":\"userSpaceOnUse\",\"children\":[\"$\",\"path\",null,{\"d\":\"M0 0 8 3.5 0 7Z\",\"fill\":\"currentColor\"}]}]}],[\"$\",\"path\",null,{\"d\":\"M12 9H91\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"markerEnd\":\"url(#policy-flow-02)\"}]]}],null]}],\"$undefined\",\"$L88\",\"$L89\"]}],\"$L8a\",\"$L8b\",\"$L8c\",\"$L8d\"]}],\"$L8e\",\"$L8f\"]}]]}],\"$L90\",\"$L91\",\"$L92\"]}]\n"])</script><script>self.__next_f.push([1,"52:[\"$\",\"div\",null,{\"className\":\"chapter__text\",\"children\":[\"$\",\"p\",null,{\"children\":\"Digital sisters of scenes and tasks let agents systematically vary objects, layouts, and goals to expose policy failure modes. Agents can automate these evaluations, repair failures in simulation, and generate successful demonstrations for training before testing the updated policy on the real robot.\"}]}]\n53:[\"$\",\"p\",null,{\"children\":\"We are still evaluating the results and are optimistic about the results of real world performance improvements after training in converted 3DGS scenes to use in simulation with predictive physics. We will update our work with the full results soon.\"}]\n54:[\"$\",\"li\",\"bencini\",{\"children\":[[\"$\",\"b\",null,{\"children\":[\"[\",9,\"]\"]}],[\"$\",\"span\",null,{\"children\":[\"redline3678, \",\"“\",[\"$\",\"a\",null,{\"href\":\"https://poly.cam/capture/C80F9BB5-E4DE-4466-9018-25C1F271C250\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"children\":\"Bencini Comet Universal 444 camera (1977)\"}],\",” \",\"Polycam\",\"\",\".\"]}]]}]\n55:[\"$\",\"li\",\"cessna\",{\"children\":[[\"$\",\"b\",null,{\"children\":[\"[\",10,\"]\"]}],[\"$\",\"span\",null,{\"children\":[\"wlanfr3ak, \",\"“\",[\"$\",\"a\",null,{\"href\":\"https://poly.cam/capture/5DF483F7-5ECB-48EA-BDFC-EA4FD93A5A2C\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"children\":\"Cessna C172R cockpit\"}],\",” \",\"Polycam\",\"\",\".\"]}]]}]\n56:[\"$\",\"li\",\"motorcycle\",{\"children\":[[\"$\",\"b\",null,{\"children\":[\"[\",11,\"]\"]}],[\"$\",\"span\",null,{\"children\":[\"ZanyFalcon4404, \",\"“\",[\"$\",\"a\",null,{\"href\":\"https://poly.cam/capture/7B46071B-A067-4ACF-A4EE-DC568F65217F\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"children\":\"Motorcycle\"}],\",” \",\"Polycam\",\"\",\".\"]}]]}]\n57:[\"$\",\"li\",\"towel-rack\",{\"children\":[[\"$\",\"b\",null,{\"children\":[\"[\",12,\"]\"]}],[\"$\",\"span\",null,{\"children\":[\"Pandora, \",\"“\",[\"$\",\"a\",null,{\"href\":\"https://poly.cam/capture/BB7E52C7-BE42-4F57-9839-0969215A6C50\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"children\":\"Towel rack\"}],\",” \",\"Polycam\",\"\",\".\"]}]]}]\n58:[\"$\",\"li\",\"red-towel\",{\"children\":[[\"$\",\"b\",null,{\"children\":[\"[\",13,\"]\"]}],[\"$\",\"span\",null,{\"children\":[\"AutomatedStarfish942, \",\"“\",[\"$\",\"a\",null,{\"href\":\"https://poly.cam/capture/0E267738-A32F-4160-8AE6-A55A804B87CC\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"children\":\"Red towel\"}],\",” \",\"Polycam\",\"\",\".\"]}]]}]\n59:[\"$\",\"li\",\"hoodie\",{\"children\":[[\"$\",\"b\",null,{\"children\":[\"[\",14,\"]\"]}],[\"$\",\"span\",null,{\"children\":[\"Artist, \",\"“\",[\"$\",\"a\",null,{\"href\":\"https://poly.cam/capture/973DB233-4029-4CB4-8A15-22BF483C42CB\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"children\":\"Dept Artisté anorak\"}],\",” \",\"Polycam\",\"\",\".\"]}]]}]\n5a:[\"$\",\"li\",\"hose\",{\"children\":[[\"$\",\"b\",null,{\"children\":[\"[\",15,\"]\"]}],[\"$\",\"span\",null,{\"children\":[\"drewjosh, \",\"“\",[\"$\",\"a\",null,{\"href\":\"https://poly.cam/capture/158AE9E1-ED96-4661-B02D-8308B7F576FA\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"children\":\"Firefighter hose\"}],\",” \",\"Polycam\",\"\",\".\"]}]]}]\n5b:[\"$\",\"li\",\"cord\",{\"children\":[[\"$\",\"b\",null,{\"children\":[\"[\",16,\"]\"]}],[\"$\",\"span\",null,{\"children\":[\"sisamm, \",\"“\",[\"$\",\"a\",null,{\"href\":\"https://poly.cam/capture/0EB1FB71-49AE-4FC3-B2A5-785AF793EFE0\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"children\":\"Electric extension lead\"}],\",” \",\"Polycam\",\"\",\".\"]}]]}]\n5c:[\"$\",\"li\",\"hat\",{\"children\":[[\"$\",\"b\",null,{\"children\":[\"[\",17,\"]\"]}],[\"$\",\"span\",null,{\"children\":[\"stevieburd, \",\"“\",[\"$\",\"a\",null,{\"href\":\"https://poly.cam/capture/28520EB0-CAFB-400C-B93C-6BB9D3795262\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"children\":\"Liquid Death hat\"}],\",” \",\"Polycam\",\"\",\".\"]}]]}]\n"])</script><script>self.__next_f.push([1,"93:I[30409,[\"./_next/static/chunks/3d-g45tvvtwds.js\",\"./_next/static/chunks/44g6a0c6nkoic.js\",\"./_next/static/chunks/0r5p4pn-wx-hj.js\",\"./_next/static/chunks/035xovek1h4st.js\",\"./_next/static/chunks/2zmrwbr29z_cq.js\"],\"PolicySistersExhibit\"]\n5f:[\"$\",\"g\",null,{\"className\":\"agent-sprite\",\"style\":{\"--i\":6},\"children\":[[\"$\",\"g\",\"leg\",{\"className\":\"agent-sprite__leg\",\"children\":[[\"$\",\"rect\",\"6-4\",{\"x\":4,\"y\":6,\"width\":1,\"height\":1}],[\"$\",\"rect\",\"6-6\",{\"x\":6,\"y\":6,\"width\":1,\"height\":1}],[\"$\",\"rect\",\"6-8\",{\"x\":8,\"y\":6,\"width\":1,\"height\":1}]]}],[\"$\",\"g\",\"body\",{\"className\":\"agent-sprite__body\",\"children\":[[\"$\",\"rect\",\"3-2\",{\"x\":2,\"y\":3,\"width\":9,\"height\":1}],[\"$\",\"rect\",\"4-2\",{\"x\":2,\"y\":4,\"width\":2,\"height\":1}],[\"$\",\"rect\",\"4-5\",{\"x\":5,\"y\":4,\"width\":3,\"height\":1}],[\"$\",\"rect\",\"4-9\",{\"x\":9,\"y\":4,\"width\":2,\"height\":1}],[\"$\",\"rect\",\"5-2\",{\"x\":2,\"y\":5,\"width\":9,\"height\":1}]]}],[\"$\",\"g\",\"tool\",{\"className\":\"agent-sprite__tool\",\"children\":[[\"$\",\"rect\",\"0-5\",{\"x\":5,\"y\":0,\"width\":3,\"height\":1}],[\"$\",\"rect\",\"1-6\",{\"x\":6,\"y\":1,\"width\":1,\"height\":1}]]}]]}]\n60:[\"$\",\"text\",null,{\"x\":93,\"y\":609.9,\"fontSize\":22,\"fontWeight\":700,\"fill\":\"var(--accent)\",\"children\":\"07\"}]\n61:[\"$\",\"text\",null,{\"x\":126.5,\"y\":609.9,\"fontSize\":22,\"fontWeight\":700,\"fill\":\"var(--ink)\",\"children\":\"Orientation\"}]\n62:[\"$\",\"text\",\"0\",{\"x\":16,\"y\":654,\"fontSize\":21,\"fill\":\"var(--text-body)\",\"children\":\"Runs Isaac Lab sweeps that\"}]\n63:[\"$\",\"text\",\"1\",{\"x\":16,\"y\":680,\"fontSize\":21,\"fill\":\"var(--text-body)\",\"children\":\"orient the 3DGS\"}]\n64:[\"$\",\"text\",\"2\",{\"x\":16,\"y\":706,\"fontSize\":21,\"fill\":\"var(--text-body)\",\"children\":\"background to the scene\"}]\n65:[\"$\",\"text\",\"0\",{\"x\":16,\"y\":732,\"fontSize\":12.5,\"fontFamily\":\"var(--font-pixel)\",\"fill\":\"var(--text-label)\",\"children\":\"SCENEAGENT-ORIENT-BACKGROUND\"}]\n66:[\"$\",\"line\",null,{\"x1\":150,\"y1\":747,\"x2\":150,\"y2\":769,\"stroke\":\"var(--text-label)\"}]\n"])</script><script>self.__next_f.push([1,"67:[\"$\",\"g\",\"08\",{\"children\":[[\"$\",\"g\",null,{\"className\":\"agent-node\",\"role\":\"img\",\"aria-label\":\"08 Physics: Fuses a per-Gaussian physics prior with a VLM into material properties\",\"children\":[[\"$\",\"rect\",null,{\"x\":0.5,\"y\":769.5,\"width\":299,\"height\":173,\"fill\":\"var(--paper)\",\"stroke\":\"var(--ink)\"}],[\"$\",\"g\",null,{\"transform\":\"translate(16 787) scale(5)\",\"fill\":\"currentColor\",\"shapeRendering\":\"crispEdges\",\"aria-hidden\":\"true\",\"children\":[\"$\",\"g\",null,{\"className\":\"agent-sprite\",\"style\":{\"--i\":7},\"children\":[[\"$\",\"g\",\"leg\",{\"className\":\"agent-sprite__leg\",\"children\":[[\"$\",\"rect\",\"6-4\",{\"x\":4,\"y\":6,\"width\":1,\"height\":1}],[\"$\",\"rect\",\"6-6\",{\"x\":6,\"y\":6,\"width\":1,\"height\":1}],[\"$\",\"rect\",\"6-8\",{\"x\":8,\"y\":6,\"width\":1,\"height\":1}]]}],[\"$\",\"g\",\"body\",{\"className\":\"agent-sprite__body\",\"children\":[[\"$\",\"rect\",\"3-2\",{\"x\":2,\"y\":3,\"width\":9,\"height\":1}],[\"$\",\"rect\",\"4-2\",{\"x\":2,\"y\":4,\"width\":2,\"height\":1}],[\"$\",\"rect\",\"4-5\",{\"x\":5,\"y\":4,\"width\":3,\"height\":1}],[\"$\",\"rect\",\"4-9\",{\"x\":9,\"y\":4,\"width\":2,\"height\":1}],[\"$\",\"rect\",\"5-2\",{\"x\":2,\"y\":5,\"width\":9,\"height\":1}]]}],[\"$\",\"g\",\"tool\",{\"className\":\"agent-sprite__tool\",\"children\":[[\"$\",\"rect\",\"0-5\",{\"x\":5,\"y\":0,\"width\":3,\"height\":1}],[\"$\",\"rect\",\"1-5\",{\"x\":5,\"y\":1,\"width\":3,\"height\":1}]]}]]}]}],[\"$\",\"text\",null,{\"x\":93,\"y\":805.9,\"fontSize\":22,\"fontWeight\":700,\"fill\":\"var(--accent)\",\"children\":\"08\"}],[\"$\",\"text\",null,{\"x\":126.5,\"y\":805.9,\"fontSize\":22,\"fontWeight\":700,\"fill\":\"var(--ink)\",\"children\":\"Physics\"}],[[\"$\",\"text\",\"0\",{\"x\":16,\"y\":850,\"fontSize\":21,\"fill\":\"var(--text-body)\",\"children\":\"Fuses a per-Gaussian\"}],[\"$\",\"text\",\"1\",{\"x\":16,\"y\":876,\"fontSize\":21,\"fill\":\"var(--text-body)\",\"children\":\"physics prior with a VLM\"}],[\"$\",\"text\",\"2\",{\"x\":16,\"y\":902,\"fontSize\":21,\"fill\":\"var(--text-body)\",\"children\":\"into material properties\"}]],[[\"$\",\"text\",\"0\",{\"x\":16,\"y\":928,\"fontSize\":12.5,\"fontFamily\":\"var(--font-pixel)\",\"fill\":\"var(--text-label)\",\"children\":\"SCENEAGENT-RUN-STEP\"}]]]}],[\"$\",\"line\",null,{\"x1\":150,\"y1\":943,\"x2\":150,\"y2\":965,\"stroke\":\"var(--text-label)\"}]]}]\n"])</script><script>self.__next_f.push([1,"68:[\"$\",\"g\",\"09\",{\"children\":[[\"$\",\"g\",null,{\"className\":\"agent-node\",\"role\":\"img\",\"aria-label\":\"09 Parts: Decomposes objects with PartSAM, CubePart completes hidden geometry\",\"children\":[[\"$\",\"rect\",null,{\"x\":0.5,\"y\":965.5,\"width\":299,\"height\":173,\"fill\":\"var(--paper)\",\"stroke\":\"var(--ink)\"}],[\"$\",\"g\",null,{\"transform\":\"translate(16 983) scale(5)\",\"fill\":\"currentColor\",\"shapeRendering\":\"crispEdges\",\"aria-hidden\":\"true\",\"children\":[\"$\",\"g\",null,{\"className\":\"agent-sprite\",\"style\":{\"--i\":8},\"children\":[[\"$\",\"g\",\"leg\",{\"className\":\"agent-sprite__leg\",\"children\":[[\"$\",\"rect\",\"6-4\",{\"x\":4,\"y\":6,\"width\":1,\"height\":1}],[\"$\",\"rect\",\"6-6\",{\"x\":6,\"y\":6,\"width\":1,\"height\":1}],[\"$\",\"rect\",\"6-8\",{\"x\":8,\"y\":6,\"width\":1,\"height\":1}]]}],[\"$\",\"g\",\"body\",{\"className\":\"agent-sprite__body\",\"children\":[[\"$\",\"rect\",\"3-2\",{\"x\":2,\"y\":3,\"width\":9,\"height\":1}],[\"$\",\"rect\",\"4-2\",{\"x\":2,\"y\":4,\"width\":2,\"height\":1}],[\"$\",\"rect\",\"4-5\",{\"x\":5,\"y\":4,\"width\":3,\"height\":1}],[\"$\",\"rect\",\"4-9\",{\"x\":9,\"y\":4,\"width\":2,\"height\":1}],[\"$\",\"rect\",\"5-2\",{\"x\":2,\"y\":5,\"width\":9,\"height\":1}]]}],[\"$\",\"g\",\"tool\",{\"className\":\"agent-sprite__tool\",\"children\":[[\"$\",\"rect\",\"0-3\",{\"x\":3,\"y\":0,\"width\":1,\"height\":1}],[\"$\",\"rect\",\"0-5\",{\"x\":5,\"y\":0,\"width\":3,\"height\":1}],[\"$\",\"rect\",\"0-9\",{\"x\":9,\"y\":0,\"width\":1,\"height\":1}],[\"$\",\"rect\",\"1-3\",{\"x\":3,\"y\":1,\"width\":1,\"height\":1}],[\"$\",\"rect\",\"1-5\",{\"x\":5,\"y\":1,\"width\":3,\"height\":1}],[\"$\",\"rect\",\"1-9\",{\"x\":9,\"y\":1,\"width\":1,\"height\":1}]]}]]}]}],[\"$\",\"text\",null,{\"x\":93,\"y\":1001.9,\"fontSize\":22,\"fontWeight\":700,\"fill\":\"var(--accent)\",\"children\":\"09\"}],[\"$\",\"text\",null,{\"x\":126.5,\"y\":1001.9,\"fontSize\":22,\"fontWeight\":700,\"fill\":\"var(--ink)\",\"children\":\"Parts\"}],[[\"$\",\"text\",\"0\",{\"x\":16,\"y\":1046,\"fontSize\":21,\"fill\":\"var(--text-body)\",\"children\":\"Decomposes objects with\"}],[\"$\",\"text\",\"1\",{\"x\":16,\"y\":1072,\"fontSize\":21,\"fill\":\"var(--text-body)\",\"children\":\"PartSAM, CubePart\"}],[\"$\",\"text\",\"2\",{\"x\":16,\"y\":1098,\"fontSize\":21,\"fill\":\"var(--text-body)\",\"children\":\"completes hidden geometry\"}]],[[\"$\",\"text\",\"0\",{\"x\":16,\"y\":1124,\"fontSize\":12.5,\"fontFamily\":\"var(--font-pixel)\",\"fill\":\"var(--text-label)\",\"children\":\"SCENEAGENT-RUN-STEP\"}]]]}],false]}]\n"])</script><script>self.__next_f.push([1,"69:[\"$\",\"div\",null,{\"className\":\"spread__gutter\",\"aria-hidden\":\"true\",\"children\":[\"$\",\"svg\",null,{\"viewBox\":\"0 0 90 1189\",\"preserveAspectRatio\":\"none\",\"children\":[[\"$\",\"polyline\",null,{\"points\":\"0,44.5 90,44.5\",\"fill\":\"none\",\"stroke\":\"var(--ink)\",\"vectorEffect\":\"non-scaling-stroke\"}],[\"$\",\"polyline\",null,{\"points\":\"0,1052 45,1052 45,276.5 90,276.5\",\"fill\":\"none\",\"stroke\":\"var(--text-label)\",\"vectorEffect\":\"non-scaling-stroke\"}]]}]}]\n6a:[\"$\",\"g\",\"body\",{\"className\":\"agent-sprite__body\",\"children\":[[\"$\",\"rect\",\"3-2\",{\"x\":2,\"y\":3,\"width\":9,\"height\":1}],[\"$\",\"rect\",\"4-2\",{\"x\":2,\"y\":4,\"width\":2,\"height\":1}],[\"$\",\"rect\",\"4-5\",{\"x\":5,\"y\":4,\"width\":3,\"height\":1}],[\"$\",\"rect\",\"4-9\",{\"x\":9,\"y\":4,\"width\":2,\"height\":1}],[\"$\",\"rect\",\"5-2\",{\"x\":2,\"y\":5,\"width\":9,\"height\":1}]]}]\n6b:[\"$\",\"g\",\"tool\",{\"className\":\"agent-sprite__tool\",\"children\":[[\"$\",\"rect\",\"0-6\",{\"x\":6,\"y\":0,\"width\":4,\"height\":1}],[\"$\",\"rect\",\"1-3\",{\"x\":3,\"y\":1,\"width\":7,\"height\":1}]]}]\n6c:[\"$\",\"text\",null,{\"x\":93,\"y\":626.9,\"fontSize\":22,\"fontWeight\":700,\"fill\":\"var(--accent)\",\"children\":\"12\"}]\n6d:[\"$\",\"text\",null,{\"x\":126.5,\"y\":626.9,\"fontSize\":22,\"fontWeight\":700,\"fill\":\"var(--ink)\",\"children\":\"4D timeseries\"}]\n6e:[\"$\",\"text\",\"0\",{\"x\":16,\"y\":671,\"fontSize\":21,\"fill\":\"var(--text-body)\",\"children\":\"Completes the scene\"}]\n6f:[\"$\",\"text\",\"1\",{\"x\":16,\"y\":697,\"fontSize\":21,\"fill\":\"var(--text-body)\",\"children\":\"around a 4D interaction and\"}]\n70:[\"$\",\"text\",\"2\",{\"x\":16,\"y\":723,\"fontSize\":21,\"fill\":\"var(--text-body)\",\"children\":\"infills actor shadows\"}]\n71:[\"$\",\"text\",\"0\",{\"x\":16,\"y\":749,\"fontSize\":12.5,\"fontFamily\":\"var(--font-pixel)\",\"fill\":\"var(--text-label)\",\"children\":\"SCENEAGENT-TIMESERIES-4D-SCENE\"}]\n72:[\"$\",\"line\",null,{\"x1\":150,\"y1\":764,\"x2\":150,\"y2\":786,\"stroke\":\"var(--text-label)\"}]\n"])</script><script>self.__next_f.push([1,"73:[\"$\",\"g\",\"13\",{\"children\":[[\"$\",\"g\",null,{\"className\":\"agent-node\",\"role\":\"img\",\"aria-label\":\"13 Packager: Publishes the package for the SceneAgent editor and Isaac Lab\",\"children\":[[\"$\",\"rect\",null,{\"x\":0.5,\"y\":786.5,\"width\":299,\"height\":190,\"fill\":\"var(--paper)\",\"stroke\":\"var(--ink)\"}],[\"$\",\"g\",null,{\"transform\":\"translate(16 804) scale(5)\",\"fill\":\"currentColor\",\"shapeRendering\":\"crispEdges\",\"aria-hidden\":\"true\",\"children\":[\"$\",\"g\",null,{\"className\":\"agent-sprite\",\"style\":{\"--i\":12},\"children\":[[\"$\",\"g\",\"leg\",{\"className\":\"agent-sprite__leg\",\"children\":[[\"$\",\"rect\",\"6-4\",{\"x\":4,\"y\":6,\"width\":1,\"height\":1}],[\"$\",\"rect\",\"6-6\",{\"x\":6,\"y\":6,\"width\":1,\"height\":1}],[\"$\",\"rect\",\"6-8\",{\"x\":8,\"y\":6,\"width\":1,\"height\":1}]]}],[\"$\",\"g\",\"body\",{\"className\":\"agent-sprite__body\",\"children\":[[\"$\",\"rect\",\"3-2\",{\"x\":2,\"y\":3,\"width\":9,\"height\":1}],[\"$\",\"rect\",\"4-2\",{\"x\":2,\"y\":4,\"width\":2,\"height\":1}],[\"$\",\"rect\",\"4-5\",{\"x\":5,\"y\":4,\"width\":3,\"height\":1}],[\"$\",\"rect\",\"4-9\",{\"x\":9,\"y\":4,\"width\":2,\"height\":1}],[\"$\",\"rect\",\"5-2\",{\"x\":2,\"y\":5,\"width\":9,\"height\":1}]]}],[\"$\",\"g\",\"tool\",{\"className\":\"agent-sprite__tool\",\"children\":[[\"$\",\"rect\",\"0-4\",{\"x\":4,\"y\":0,\"width\":5,\"height\":1}],[\"$\",\"rect\",\"1-4\",{\"x\":4,\"y\":1,\"width\":5,\"height\":1}]]}]]}]}],[\"$\",\"text\",null,{\"x\":93,\"y\":822.9,\"fontSize\":22,\"fontWeight\":700,\"fill\":\"var(--accent)\",\"children\":\"13\"}],[\"$\",\"text\",null,{\"x\":126.5,\"y\":822.9,\"fontSize\":22,\"fontWeight\":700,\"fill\":\"var(--ink)\",\"children\":\"Packager\"}],[[\"$\",\"text\",\"0\",{\"x\":16,\"y\":867,\"fontSize\":21,\"fill\":\"var(--text-body)\",\"children\":\"Publishes the package for\"}],[\"$\",\"text\",\"1\",{\"x\":16,\"y\":893,\"fontSize\":21,\"fill\":\"var(--text-body)\",\"children\":\"the SceneAgent editor and\"}],[\"$\",\"text\",\"2\",{\"x\":16,\"y\":919,\"fontSize\":21,\"fill\":\"var(--text-body)\",\"children\":\"Isaac Lab\"}]],[[\"$\",\"text\",\"0\",{\"x\":16,\"y\":945,\"fontSize\":12.5,\"fontFamily\":\"var(--font-pixel)\",\"fill\":\"var(--text-label)\",\"children\":\"SCENEAGENT-PACKAGE-DATA-\"}],[\"$\",\"text\",\"1\",{\"x\":16,\"y\":962,\"fontSize\":12.5,\"fontFamily\":\"var(--font-pixel)\",\"fill\":\"var(--text-label)\",\"children\":\"PROCESSED\"}]]]}],[\"$\",\"line\",null,{\"x1\":150,\"y1\":977,\"x2\":150,\"y2\":999,\"stroke\":\"var(--text-label)\"}]]}]\n"])</script><script>self.__next_f.push([1,"74:[\"$\",\"g\",\"14\",{\"children\":[[\"$\",\"g\",null,{\"className\":\"agent-node\",\"role\":\"img\",\"aria-label\":\"14 Inspector: Reviews the exported scene in Isaac Lab and reports fixes\",\"children\":[[\"$\",\"rect\",null,{\"x\":0.5,\"y\":999.5,\"width\":299,\"height\":173,\"fill\":\"var(--paper)\",\"stroke\":\"var(--ink)\"}],[\"$\",\"g\",null,{\"transform\":\"translate(16 1017) scale(5)\",\"fill\":\"currentColor\",\"shapeRendering\":\"crispEdges\",\"aria-hidden\":\"true\",\"children\":[\"$\",\"g\",null,{\"className\":\"agent-sprite\",\"style\":{\"--i\":13},\"children\":[[\"$\",\"g\",\"leg\",{\"className\":\"agent-sprite__leg\",\"children\":[[\"$\",\"rect\",\"6-4\",{\"x\":4,\"y\":6,\"width\":1,\"height\":1}],[\"$\",\"rect\",\"6-6\",{\"x\":6,\"y\":6,\"width\":1,\"height\":1}],[\"$\",\"rect\",\"6-8\",{\"x\":8,\"y\":6,\"width\":1,\"height\":1}]]}],[\"$\",\"g\",\"body\",{\"className\":\"agent-sprite__body\",\"children\":[[\"$\",\"rect\",\"3-2\",{\"x\":2,\"y\":3,\"width\":9,\"height\":1}],[\"$\",\"rect\",\"4-2\",{\"x\":2,\"y\":4,\"width\":2,\"height\":1}],[\"$\",\"rect\",\"4-5\",{\"x\":5,\"y\":4,\"width\":3,\"height\":1}],[\"$\",\"rect\",\"4-9\",{\"x\":9,\"y\":4,\"width\":2,\"height\":1}],[\"$\",\"rect\",\"5-2\",{\"x\":2,\"y\":5,\"width\":9,\"height\":1}]]}],[\"$\",\"g\",\"tool\",{\"className\":\"agent-sprite__tool\",\"children\":[[\"$\",\"rect\",\"0-4\",{\"x\":4,\"y\":0,\"width\":4,\"height\":1}],[\"$\",\"rect\",\"1-4\",{\"x\":4,\"y\":1,\"width\":2,\"height\":1}]]}]]}]}],[\"$\",\"text\",null,{\"x\":93,\"y\":1035.9,\"fontSize\":22,\"fontWeight\":700,\"fill\":\"var(--accent)\",\"children\":\"14\"}],[\"$\",\"text\",null,{\"x\":126.5,\"y\":1035.9,\"fontSize\":22,\"fontWeight\":700,\"fill\":\"var(--ink)\",\"children\":\"Inspector\"}],[[\"$\",\"text\",\"0\",{\"x\":16,\"y\":1080,\"fontSize\":21,\"fill\":\"var(--text-body)\",\"children\":\"Reviews the exported scene\"}],[\"$\",\"text\",\"1\",{\"x\":16,\"y\":1106,\"fontSize\":21,\"fill\":\"var(--text-body)\",\"children\":\"in Isaac Lab and reports\"}],[\"$\",\"text\",\"2\",{\"x\":16,\"y\":1132,\"fontSize\":21,\"fill\":\"var(--text-body)\",\"children\":\"fixes\"}]],[[\"$\",\"text\",\"0\",{\"x\":16,\"y\":1158,\"fontSize\":12.5,\"fontFamily\":\"var(--font-pixel)\",\"fill\":\"var(--text-label)\",\"children\":\"SCENEAGENT-INSPECT-ISAAC\"}]]]}],false]}]\n"])</script><script>self.__next_f.push([1,"75:[\"$\",\"div\",null,{\"className\":\"spread__gutter\",\"aria-hidden\":\"true\",\"children\":[\"$\",\"svg\",null,{\"viewBox\":\"0 0 90 1189\",\"preserveAspectRatio\":\"none\",\"children\":[false,[\"$\",\"polyline\",null,{\"points\":\"0,1086 45,1086 45,268 90,268\",\"fill\":\"none\",\"stroke\":\"var(--text-label)\",\"vectorEffect\":\"non-scaling-stroke\"}]]}]}]\n76:[\"$\",\"g\",null,{\"transform\":\"translate(16 591) scale(5)\",\"fill\":\"currentColor\",\"shapeRendering\":\"crispEdges\",\"aria-hidden\":\"true\",\"children\":[\"$\",\"g\",null,{\"className\":\"agent-sprite\",\"style\":{\"--i\":16},\"children\":[[\"$\",\"g\",\"leg\",{\"className\":\"agent-sprite__leg\",\"children\":[[\"$\",\"rect\",\"6-4\",{\"x\":4,\"y\":6,\"width\":1,\"height\":1}],[\"$\",\"rect\",\"6-6\",{\"x\":6,\"y\":6,\"width\":1,\"height\":1}],[\"$\",\"rect\",\"6-8\",{\"x\":8,\"y\":6,\"width\":1,\"height\":1}]]}],[\"$\",\"g\",\"body\",{\"className\":\"agent-sprite__body\",\"children\":[[\"$\",\"rect\",\"3-2\",{\"x\":2,\"y\":3,\"width\":9,\"height\":1}],[\"$\",\"rect\",\"4-2\",{\"x\":2,\"y\":4,\"width\":2,\"height\":1}],[\"$\",\"rect\",\"4-5\",{\"x\":5,\"y\":4,\"width\":3,\"height\":1}],[\"$\",\"rect\",\"4-9\",{\"x\":9,\"y\":4,\"width\":2,\"height\":1}],[\"$\",\"rect\",\"5-2\",{\"x\":2,\"y\":5,\"width\":9,\"height\":1}]]}],[\"$\",\"g\",\"tool\",{\"className\":\"agent-sprite__tool\",\"children\":[[\"$\",\"rect\",\"0-3\",{\"x\":3,\"y\":0,\"width\":1,\"height\":1}],[\"$\",\"rect\",\"0-9\",{\"x\":9,\"y\":0,\"width\":1,\"height\":1}],[\"$\",\"rect\",\"1-2\",{\"x\":2,\"y\":1,\"width\":9,\"height\":1}]]}]]}]}]\n77:[\"$\",\"text\",null,{\"x\":93,\"y\":609.9,\"fontSize\":22,\"fontWeight\":700,\"fill\":\"var(--accent)\",\"children\":\"17\"}]\n78:[\"$\",\"text\",null,{\"x\":126.5,\"y\":609.9,\"fontSize\":22,\"fontWeight\":700,\"fill\":\"var(--ink)\",\"children\":\"Scene sisters\"}]\n79:[\"$\",\"text\",\"0\",{\"x\":16,\"y\":654,\"fontSize\":21,\"fill\":\"var(--text-body)\",\"children\":\"Samples layouts from\"}]\n7a:[\"$\",\"text\",\"1\",{\"x\":16,\"y\":680,\"fontSize\":21,\"fill\":\"var(--text-body)\",\"children\":\"spatial relations around a\"}]\n7b:[\"$\",\"text\",\"2\",{\"x\":16,\"y\":706,\"fontSize\":21,\"fill\":\"var(--text-body)\",\"children\":\"task anchor\"}]\n7c:[\"$\",\"text\",\"0\",{\"x\":16,\"y\":732,\"fontSize\":12.5,\"fontFamily\":\"var(--font-pixel)\",\"fill\":\"var(--text-label)\",\"children\":\"SCENEAGENT-SCENE-SISTERS\"}]\n7d:[\"$\",\"line\",null,{\"x1\":150,\"y1\":747,\"x2\":150,\"y2\":769,\"stroke\":\"var(--text-label)\"}]\n"])</script><script>self.__next_f.push([1,"7e:[\"$\",\"g\",\"18\",{\"children\":[[\"$\",\"g\",null,{\"className\":\"agent-node\",\"role\":\"img\",\"aria-label\":\"18 Task sisters: Varies the instruction and goal of the task in each sister scene\",\"children\":[[\"$\",\"rect\",null,{\"x\":0.5,\"y\":769.5,\"width\":299,\"height\":173,\"fill\":\"var(--paper)\",\"stroke\":\"var(--ink)\"}],[\"$\",\"g\",null,{\"transform\":\"translate(16 787) scale(5)\",\"fill\":\"currentColor\",\"shapeRendering\":\"crispEdges\",\"aria-hidden\":\"true\",\"children\":[\"$\",\"g\",null,{\"className\":\"agent-sprite\",\"style\":{\"--i\":17},\"children\":[[\"$\",\"g\",\"leg\",{\"className\":\"agent-sprite__leg\",\"children\":[[\"$\",\"rect\",\"6-4\",{\"x\":4,\"y\":6,\"width\":1,\"height\":1}],[\"$\",\"rect\",\"6-6\",{\"x\":6,\"y\":6,\"width\":1,\"height\":1}],[\"$\",\"rect\",\"6-8\",{\"x\":8,\"y\":6,\"width\":1,\"height\":1}]]}],[\"$\",\"g\",\"body\",{\"className\":\"agent-sprite__body\",\"children\":[[\"$\",\"rect\",\"3-2\",{\"x\":2,\"y\":3,\"width\":9,\"height\":1}],[\"$\",\"rect\",\"4-2\",{\"x\":2,\"y\":4,\"width\":2,\"height\":1}],[\"$\",\"rect\",\"4-5\",{\"x\":5,\"y\":4,\"width\":3,\"height\":1}],[\"$\",\"rect\",\"4-9\",{\"x\":9,\"y\":4,\"width\":2,\"height\":1}],[\"$\",\"rect\",\"5-2\",{\"x\":2,\"y\":5,\"width\":9,\"height\":1}]]}],[\"$\",\"g\",\"tool\",{\"className\":\"agent-sprite__tool\",\"children\":[[\"$\",\"rect\",\"0-8\",{\"x\":8,\"y\":0,\"width\":2,\"height\":1}],[\"$\",\"rect\",\"1-3\",{\"x\":3,\"y\":1,\"width\":5,\"height\":1}]]}]]}]}],[\"$\",\"text\",null,{\"x\":93,\"y\":805.9,\"fontSize\":22,\"fontWeight\":700,\"fill\":\"var(--accent)\",\"children\":\"18\"}],[\"$\",\"text\",null,{\"x\":126.5,\"y\":805.9,\"fontSize\":22,\"fontWeight\":700,\"fill\":\"var(--ink)\",\"children\":\"Task sisters\"}],[[\"$\",\"text\",\"0\",{\"x\":16,\"y\":850,\"fontSize\":21,\"fill\":\"var(--text-body)\",\"children\":\"Varies the instruction and\"}],[\"$\",\"text\",\"1\",{\"x\":16,\"y\":876,\"fontSize\":21,\"fill\":\"var(--text-body)\",\"children\":\"goal of the task in each\"}],[\"$\",\"text\",\"2\",{\"x\":16,\"y\":902,\"fontSize\":21,\"fill\":\"var(--text-body)\",\"children\":\"sister scene\"}]],[[\"$\",\"text\",\"0\",{\"x\":16,\"y\":928,\"fontSize\":12.5,\"fontFamily\":\"var(--font-pixel)\",\"fill\":\"var(--text-label)\",\"children\":\"SCENEAGENT-TASK-SISTERS\"}]]]}],false]}]\n"])</script><script>self.__next_f.push([1,"7f:[\"$\",\"div\",null,{\"className\":\"spread__gutter\",\"aria-hidden\":\"true\",\"children\":[\"$\",\"svg\",null,{\"viewBox\":\"0 0 90 1189\",\"preserveAspectRatio\":\"none\",\"children\":[false,[\"$\",\"polyline\",null,{\"points\":\"0,856 45,856 45,281 90,281\",\"fill\":\"none\",\"stroke\":\"var(--text-label)\",\"vectorEffect\":\"non-scaling-stroke\"}]]}]}]\n80:[\"$\",\"rect\",null,{\"x\":0.5,\"y\":599.5,\"width\":299,\"height\":173,\"fill\":\"var(--paper)\",\"stroke\":\"var(--ink)\"}]\n81:[\"$\",\"g\",null,{\"transform\":\"translate(16 617) scale(5)\",\"fill\":\"currentColor\",\"shapeRendering\":\"crispEdges\",\"aria-hidden\":\"true\",\"children\":[\"$\",\"g\",null,{\"className\":\"agent-sprite\",\"style\":{\"--i\":20},\"children\":[[\"$\",\"g\",\"leg\",{\"className\":\"agent-sprite__leg\",\"children\":[[\"$\",\"rect\",\"6-4\",{\"x\":4,\"y\":6,\"width\":1,\"height\":1}],[\"$\",\"rect\",\"6-6\",{\"x\":6,\"y\":6,\"width\":1,\"height\":1}],[\"$\",\"rect\",\"6-8\",{\"x\":8,\"y\":6,\"width\":1,\"height\":1}]]}],[\"$\",\"g\",\"body\",{\"className\":\"agent-sprite__body\",\"children\":[[\"$\",\"rect\",\"3-2\",{\"x\":2,\"y\":3,\"width\":9,\"height\":1}],[\"$\",\"rect\",\"4-2\",{\"x\":2,\"y\":4,\"width\":2,\"height\":1}],[\"$\",\"rect\",\"4-5\",{\"x\":5,\"y\":4,\"width\":3,\"height\":1}],[\"$\",\"rect\",\"4-9\",{\"x\":9,\"y\":4,\"width\":2,\"height\":1}],[\"$\",\"rect\",\"5-2\",{\"x\":2,\"y\":5,\"width\":9,\"height\":1}]]}],[\"$\",\"g\",\"tool\",{\"className\":\"agent-sprite__tool\",\"children\":[[\"$\",\"rect\",\"0-2\",{\"x\":2,\"y\":0,\"width\":1,\"height\":1}],[\"$\",\"rect\",\"0-4\",{\"x\":4,\"y\":0,\"width\":1,\"height\":1}],[\"$\",\"rect\",\"0-8\",{\"x\":8,\"y\":0,\"width\":1,\"height\":1}],[\"$\",\"rect\",\"0-10\",{\"x\":10,\"y\":0,\"width\":1,\"height\":1}],[\"$\",\"rect\",\"1-2\",{\"x\":2,\"y\":1,\"width\":9,\"height\":1}]]}]]}]}]\n82:[\"$\",\"text\",null,{\"x\":93,\"y\":635.9,\"fontSize\":22,\"fontWeight\":700,\"fill\":\"var(--accent)\",\"children\":\"21\"}]\n83:[\"$\",\"text\",null,{\"x\":126.5,\"y\":635.9,\"fontSize\":22,\"fontWeight\":700,\"fill\":\"var(--ink)\",\"children\":\"Trainer\"}]\n84:[\"$\",\"text\",\"0\",{\"x\":16,\"y\":680,\"fontSize\":21,\"fill\":\"var(--text-body)\",\"children\":\"Finetunes policy in digital\"}]\n85:[\"$\",\"text\",\"1\",{\"x\":16,\"y\":706,\"fontSize\":21,\"fill\":\"var(--text-body)\",\"children\":\"sister environments with\"}]\n86:[\"$\",\"text\",\"2\",{\"x\":16,\"y\":732,\"fontSize\":21,\"fill\":\"var(--text-body)\",\"children\":\"VLM controlled corrections\"}]\n87:[\"$\",\"text\",\"0\",{\"x\":16,\"y\":758,\"fontSize\":12.5,\"fontFamily\":\"var(--font-pixel)\",\"fill\":\"var(--text-label)\",\"children\":\"SCENEAGENT-ADAPT-VLA-POLICIES\"}]\n88:[\"$\",\"h4\",null,{\"children\":[[\"$\",\"span\",null,{\"children\":\"02\"}],\"Digital twin + sisters\"]}]\n89:[\"$\",\"p\",null,{\"children\":\"Vary task and scene in simulation from 3D capture or 4D reconstruction. Change objects, placement, or lighting to test likely causes of failure.\"}]\n8a:[\"$\",\"li\",\"policy-evaluation\",{\"id\":\"policy-step-policy-evaluation\",\"className\":\"FigurePolicyWorkflow-module__aSKegq__stage\",\"data-stage\":\"policy-evaluation\",\"children\":[[\"$\",\"div\",null,{\"className\":\"FigurePolicyWorkflow-module__aSKegq__media\",\"children\":[[\"$\",\"img\",null,{\"src\":\"./policy-workflow/simulation-evaluation.svg\",\"width\":356,\"height\":240,\"alt\":\"The current policy repeats the unsuccessful pinch in a simulated flower-from-glass task.\",\"loading\":\"lazy\",\"decoding\":\"async\"}],null,null]}],\"$undefined\",[\"$\",\"h4\",null,{\"children\":[[\"$\",\"span\",null,{\"children\":\"03\"}],\"Policy evaluation\"]}],[\"$\",\"p\",null,{\"children\":\"Test the current policy in simulation with scene and task sisters. Review the rollouts to find where the failure persists.\"}]]}]\n"])</script><script>self.__next_f.push([1,"8b:[\"$\",\"li\",\"expert-revision\",{\"id\":\"policy-step-expert-revision\",\"className\":\"FigurePolicyWorkflow-module__aSKegq__stage\",\"data-stage\":\"expert-revision\",\"children\":[[\"$\",\"div\",null,{\"className\":\"FigurePolicyWorkflow-module__aSKegq__media\",\"children\":[[\"$\",\"img\",null,{\"src\":\"./policy-workflow/expert-revision.svg\",\"width\":356,\"height\":240,\"alt\":\"The corrected Sharpa hand faces palm upward and supports the flower head from underneath, with the stem between its fingers.\",\"loading\":\"lazy\",\"decoding\":\"async\"}],null,[\"$\",\"svg\",null,{\"className\":\"FigurePolicyWorkflow-module__aSKegq__arrow FigurePolicyWorkflow-module__aSKegq__reverse\",\"viewBox\":\"0 0 104 18\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"defs\",null,{\"children\":[\"$\",\"marker\",null,{\"id\":\"policy-flow-04\",\"markerWidth\":\"8\",\"markerHeight\":\"7\",\"refX\":\"7\",\"refY\":\"3.5\",\"orient\":\"auto\",\"markerUnits\":\"userSpaceOnUse\",\"children\":[\"$\",\"path\",null,{\"d\":\"M0 0 8 3.5 0 7Z\",\"fill\":\"currentColor\"}]}]}],[\"$\",\"path\",null,{\"d\":\"M12 9H91\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"markerEnd\":\"url(#policy-flow-04)\"}]]}]]}],\"$undefined\",[\"$\",\"h4\",null,{\"children\":[[\"$\",\"span\",null,{\"children\":\"04\"}],\"Expert revision\"]}],[\"$\",\"p\",null,{\"children\":\"An agent revises controller code and reruns the task. Here, the correction supports the flower from below with the palm and fingers, with the stem between them.\"}]]}]\n"])</script><script>self.__next_f.push([1,"8c:[\"$\",\"li\",\"policy-training\",{\"id\":\"policy-step-policy-training\",\"className\":\"FigurePolicyWorkflow-module__aSKegq__stage\",\"data-stage\":\"policy-training\",\"children\":[[\"$\",\"div\",null,{\"className\":\"FigurePolicyWorkflow-module__aSKegq__media\",\"children\":[[\"$\",\"img\",null,{\"src\":\"./policy-workflow/policy-training.svg\",\"width\":356,\"height\":240,\"alt\":\"Three close-ups show the corrected hand approaching, supporting, and lifting the flower clear of the glass.\",\"loading\":\"lazy\",\"decoding\":\"async\"}],null,[\"$\",\"svg\",null,{\"className\":\"FigurePolicyWorkflow-module__aSKegq__arrow FigurePolicyWorkflow-module__aSKegq__reverse\",\"viewBox\":\"0 0 104 18\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"defs\",null,{\"children\":[\"$\",\"marker\",null,{\"id\":\"policy-flow-05\",\"markerWidth\":\"8\",\"markerHeight\":\"7\",\"refX\":\"7\",\"refY\":\"3.5\",\"orient\":\"auto\",\"markerUnits\":\"userSpaceOnUse\",\"children\":[\"$\",\"path\",null,{\"d\":\"M0 0 8 3.5 0 7Z\",\"fill\":\"currentColor\"}]}]}],[\"$\",\"path\",null,{\"d\":\"M12 9H91\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"markerEnd\":\"url(#policy-flow-05)\"}]]}]]}],[\"$\",\"ol\",null,{\"className\":\"FigurePolicyWorkflow-module__aSKegq__actions\",\"aria-label\":\"Corrected lift sequence\",\"children\":[[\"$\",\"li\",\"01 Approach\",{\"children\":\"01 Approach\"}],[\"$\",\"li\",\"02 Support\",{\"children\":\"02 Support\"}],[\"$\",\"li\",\"03 Lift\",{\"children\":\"03 Lift\"}]]}],[\"$\",\"h4\",null,{\"children\":[[\"$\",\"span\",null,{\"children\":\"05\"}],\"Policy training\"]}],[\"$\",\"p\",null,{\"children\":\"Fine-tune on simulated recordings that pass the task's success check. Compare the new and previous checkpoints on the same validation trials.\"}]]}]\n"])</script><script>self.__next_f.push([1,"8d:[\"$\",\"li\",\"real-improvement\",{\"id\":\"policy-step-real-improvement\",\"className\":\"FigurePolicyWorkflow-module__aSKegq__stage\",\"data-stage\":\"real-improvement\",\"children\":[[\"$\",\"div\",null,{\"className\":\"FigurePolicyWorkflow-module__aSKegq__media\",\"children\":[[\"$\",\"img\",null,{\"src\":\"./policy-workflow/real-improvement.svg\",\"width\":356,\"height\":240,\"alt\":\"The intended improved behavior: the Panda and Sharpa hand lift the flower on an open palm, leaving the glass empty.\",\"loading\":\"lazy\",\"decoding\":\"async\"}],null,null]}],\"$undefined\",[\"$\",\"h4\",null,{\"children\":[[\"$\",\"span\",null,{\"children\":\"06\"}],\"Real-world improvement\"]}],[\"$\",\"p\",null,{\"children\":\"Re-evaluate the new policy and note any failure modes to restart the cycle. Bring the new recordings back into the next round of evaluation and training.\"}]]}]\n8e:[\"$\",\"a\",null,{\"className\":\"FigurePolicyWorkflow-module__aSKegq__retry\",\"href\":\"#policy-step-policy-evaluation\",\"aria-label\":\"Revise and rerun: return to policy evaluation in simulation\",\"children\":[[\"$\",\"svg\",null,{\"viewBox\":\"0 0 64 64\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"defs\",null,{\"children\":[\"$\",\"marker\",null,{\"id\":\"policy-retry-head\",\"markerWidth\":\"8\",\"markerHeight\":\"7\",\"refX\":\"7\",\"refY\":\"3.5\",\"orient\":\"auto\",\"markerUnits\":\"userSpaceOnUse\",\"children\":[\"$\",\"path\",null,{\"d\":\"M0 0 8 3.5 0 7Z\",\"fill\":\"currentColor\"}]}]}],[\"$\",\"path\",null,{\"d\":\"M39 8A25 25 0 0 1 39 56\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"markerEnd\":\"url(#policy-retry-head)\"}],[\"$\",\"path\",null,{\"d\":\"M25 56A25 25 0 0 1 25 8\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"markerEnd\":\"url(#policy-retry-head)\"}]]}],[\"$\",\"span\",null,{\"children\":\"Revise / rerun\"}]]}]\n8f:[\"$\",\"a\",null,{\"className\":\"FigurePolicyWorkflow-module__aSKegq__restart\",\"href\":\"#policy-step-real-evaluation\",\"children\":[[\"$\",\"svg\",null,{\"viewBox\":\"0 0 20 48\",\"aria-hidden\":\"true\",\"children\":[\"$\",\"path\",null,{\"d\":\"M10 44V6M4 12 10 6 16 12\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\"}]}],[\"$\",\"span\",null,{\"children\":[\"Restart with\",[\"$\",\"br\",null,{}],\" new failure modes\"]}]]}]\n90:[\"$\",\"div\",null,{\"className\":\"chapter__caption\",\"children\":[[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"var(--font-sans)\",\"fontSize\":10,\"fontWeight\":700,\"lineHeight\":1.5,\"letterSpacing\":\"0.02em\",\"color\":\"var(--ink)\"},\"children\":\"From real-world failures to simulation, policy training, and real-world re-evaluation\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"var(--font-sans)\",\"fontSize\":10,\"fontWeight\":700,\"lineHeight\":1.5,\"letterSpacing\":\"0.02em\",\"color\":\"var(--accent)\",\"marginLeft\":\"auto\",\"flexShrink\":0},\"children\":\"5.4\"}]]}]\n91:[\"$\",\"$L93\",null,{}]\n92:[\"$\",\"div\",null,{\"className\":\"chapter__caption\",\"children\":[\"$undefined\",[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"var(--font-sans)\",\"fontSize\":10,\"fontWeight\":700,\"lineHeight\":1.5,\"letterSpacing\":\"0.02em\",\"color\":\"var(--accent)\",\"marginLeft\":\"auto\",\"flexShrink\":0},\"children\":\"5.5\"}]]}]\n"])</script><script>self.__next_f.push([1,"1e:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"21:[[\"$\",\"title\",\"0\",{\"children\":\"SceneAgent | Harvard Computational Robotics Group\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"SceneAgent coordinates object reconstruction, physical modeling, and simulator-based inspection and repair to turn 3D and 4D captures into simulation scenes.\"}],[\"$\",\"link\",\"2\",{\"rel\":\"author\",\"href\":\"https://computationalrobotics.seas.harvard.edu/\"}],[\"$\",\"meta\",\"3\",{\"name\":\"author\",\"content\":\"Luke Hollis\"}],[\"$\",\"link\",\"4\",{\"rel\":\"author\",\"href\":\"https://computationalrobotics.seas.harvard.edu/\"}],[\"$\",\"meta\",\"5\",{\"name\":\"author\",\"content\":\"Tianxing Fan\"}],[\"$\",\"link\",\"6\",{\"rel\":\"author\",\"href\":\"https://computationalrobotics.seas.harvard.edu/\"}],[\"$\",\"meta\",\"7\",{\"name\":\"author\",\"content\":\"Heng Yang\"}],[\"$\",\"meta\",\"8\",{\"name\":\"keywords\",\"content\":\"SceneAgent,real-to-sim,sim-to-real,3D Gaussian Splatting,simulation environments,predictive physics,robot policy evaluation,policy training,online planning,object segmentation,articulation,deformable objects,digital sisters,robot learning,Harvard Computational Robotics Group\"}],[\"$\",\"meta\",\"9\",{\"name\":\"creator\",\"content\":\"Harvard Computational Robotics Group\"}],[\"$\",\"meta\",\"10\",{\"name\":\"publisher\",\"content\":\"Harvard Computational Robotics Group\"}],[\"$\",\"meta\",\"11\",{\"name\":\"robots\",\"content\":\"index, follow\"}],[\"$\",\"meta\",\"12\",{\"name\":\"googlebot\",\"content\":\"index, follow, max-video-preview:-1, max-image-preview:large, max-snippet:-1\"}],[\"$\",\"meta\",\"13\",{\"name\":\"citation_title\",\"content\":\"SceneAgent: An Agentic Pipeline from 3D and 4D Captures to Simulation Environments\"}],[\"$\",\"meta\",\"14\",{\"name\":\"citation_author\",\"content\":\"Luke Hollis\"}],[\"$\",\"meta\",\"15\",{\"name\":\"citation_author\",\"content\":\"Tianxing Fan\"}],[\"$\",\"meta\",\"16\",{\"name\":\"citation_author\",\"content\":\"Heng Yang\"}],[\"$\",\"meta\",\"17\",{\"name\":\"citation_publication_date\",\"content\":\"2026\"}],[\"$\",\"meta\",\"18\",{\"name\":\"citation_publisher\",\"content\":\"Harvard Computational Robotics Group\"}],[\"$\",\"meta\",\"19\",{\"name\":\"citation_abstract_html_url\",\"content\":\"https://computationalrobotics.seas.harvard.edu/SceneAgent/\"}],[\"$\",\"meta\",\"20\",{\"name\":\"citation_arxiv_id\",\"content\":\"2610.34745\"}],[\"$\",\"meta\",\"21\",{\"name\":\"citation_pdf_url\",\"content\":\"https://arxiv.org/pdf/2610.34745\"}],[\"$\",\"link\",\"22\",{\"rel\":\"canonical\",\"href\":\"https://computationalrobotics.seas.harvard.edu/SceneAgent/\"}],[\"$\",\"meta\",\"23\",{\"property\":\"og:title\",\"content\":\"SceneAgent: An Agentic Pipeline from 3D and 4D Captures to Simulation Environments\"}],[\"$\",\"meta\",\"24\",{\"property\":\"og:description\",\"content\":\"An agentic pipeline from 3D Gaussian Splatting, photogrammetry, LiDAR and 4D video captures to interactive simulation environments. Harvard Computational Robotics Group, 2026 preprint.\"}],[\"$\",\"meta\",\"25\",{\"property\":\"og:url\",\"content\":\"https://computationalrobotics.seas.harvard.edu/SceneAgent/\"}],[\"$\",\"meta\",\"26\",{\"property\":\"og:site_name\",\"content\":\"Harvard Computational Robotics Group\"}],[\"$\",\"meta\",\"27\",{\"property\":\"og:locale\",\"content\":\"en_US\"}],[\"$\",\"meta\",\"28\",{\"property\":\"og:image\",\"content\":\"https://computationalrobotics.seas.harvard.edu/SceneAgent/branding/sceneagent-social-share.jpg\"}],[\"$\",\"meta\",\"29\",{\"property\":\"og:image:secure_url\",\"content\":\"https://computationalrobotics.seas.harvard.edu/SceneAgent/branding/sceneagent-social-share.jpg\"}],[\"$\",\"meta\",\"30\",{\"property\":\"og:image:type\",\"content\":\"image/jpeg\"}],[\"$\",\"meta\",\"31\",{\"property\":\"og:image:width\",\"content\":\"1200\"}],[\"$\",\"meta\",\"32\",{\"property\":\"og:image:height\",\"content\":\"630\"}],[\"$\",\"meta\",\"33\",{\"property\":\"og:image:alt\",\"content\":\"SceneAgent: two Franka robot arms over a simulated tabletop scene, above the paper title and subtitle\"}],[\"$\",\"meta\",\"34\",{\"property\":\"og:type\",\"content\":\"website\"}],[\"$\",\"meta\",\"35\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"36\",{\"name\":\"twitter:title\",\"content\":\"SceneAgent: An Agentic Pipeline from 3D and 4D Captures to Simulation Environments\"}],[\"$\",\"meta\",\"37\",{\"name\":\"twitter:description\",\"content\":\"An agentic pipeline from 3D Gaussian Splatting, photogrammetry, LiDAR and 4D video captures to interactive simulation environments. Harvard Computational Robotics Group, 2026 preprint.\"}],\"$L94\",\"$L95\",\"$L96\",\"$L97\"]\n"])</script><script>self.__next_f.push([1,"5e:null\n"])</script><script>self.__next_f.push([1,"98:I[29447,[\"./_next/static/chunks/3d-g45tvvtwds.js\"],\"IconMark\"]\n94:[\"$\",\"meta\",\"38\",{\"name\":\"twitter:image\",\"content\":\"https://computationalrobotics.seas.harvard.edu/SceneAgent/branding/sceneagent-social-share.jpg\"}]\n95:[\"$\",\"meta\",\"39\",{\"name\":\"twitter:image:alt\",\"content\":\"SceneAgent: two Franka robot arms over a simulated tabletop scene, above the paper title and subtitle\"}]\n96:[\"$\",\"link\",\"40\",{\"rel\":\"icon\",\"href\":\"./favicon.png\",\"type\":\"image/png\"}]\n97:[\"$\",\"$L98\",\"41\",{}]\n"])</script></body></html>