# SimReady or Not, Here Comes Gravity: OpenUSD for Simulation

## Pre-Mission Prep: Open the Containment Scene

This course continues in the same Attic Portal you built in Course 1, so the streamed `ovrtx` viewer should already be running. You won’t rebuild the application here - you’ll load this course’s scene into the viewer you already have.

With the portal running, ask your agent to load this course’s containment scene into it:

```text
Goal:      Open the Course 2 containment scene in the Attic Portal that is already running.
Skills:    Use the Realtime Viewer stage-loading and validation references.
Context:   The Session 1 Attic Portal is already running with one ovrtx renderer, one
           ovstream provider, and one browser connection. Load the provided
           OldAttic_Mission_2.usda scene - the glowing Memory Cube above the open-topped
           C-9 containment pod. Keep every USD source file read-only, reuse the single
           renderer, stream, and browser connection, and do not create backup scenes.
Done when: The viewport shows the containment pod beneath the Memory Cube, the browser
           still streams from one renderer over one connection, and the reported scene
           path is OldAttic_Mission_2.usda.
```

Confirm the correct scene is up by locating the containment pod beneath the cube.

![Attic Portal browser view showing the glowing cyan Memory Cube suspended above the open-topped, translucent C-9 containment pod on the attic floor. The R-17 Signal Panel on the right lists Memory Cube Link, Camera View, Robot Vision, and Lidar Link controls, with a green READY status.](images/lab-2-containment-portal.png)

## Case File: Operation Attic Containment — Commission the Physical Scene

**The story:** You are once again the agentic engineer on call for the Museum of Lost Things. In Session 1, you brought the attic’s remote inspection portal online and prepared the scene for machine perception. The museum now wants the Old Attic ready for a future physical-AI retrieval workflow involving the glowing **Memory Cube** - but deployment should not begin until the digital twin can represent and prove the physics of that task.

The museum has delivered **Containment Pod C-9**, an open-topped vessel designed to receive the Memory Cube. It appears in the remote portal as OpenUSD content, but it has not yet been proven as a simulation asset. You are commissioning the environment and evidence a robotics team could later use for training and testing; appearance alone cannot establish whether the objects will participate correctly in simulation.

**The problem:** The portal can render and stream the containment scene, but the deployment team has not proved which objects participate in physics, whether their collision representations preserve the intended task, or whether the rehearsal behaves consistently. Those claims need inspectable asset evidence and repeatable runtime proof before a future robotics workflow can trust the scene.

**Your mission:** Integrate `ovphysx` into the existing Attic Portal, use the first drop test to observe the scene’s current physical state, inspect simulation readiness through a targeted SimReady report, apply and visualize the required corrections, and prove the result through runtime physics evidence. Finally, add direct physics picking and begin packaging the workflow as a reusable skill. Your scene-assembly, FX, proxy-modeling, and validation instincts are what turn visible assets into a trustworthy physical environment.

You’ll work through a structured build, then extend the containment system on your own.

## Key Ingredients

- **OpenUSD** - describes the world: hierarchy, transforms, representations, schemas, and layer ownership.
- **`ovphysx`** - an open-source, USD-native physics library that simulates physical behavior (rigid bodies, colliders, contact, and scene-level gravity).
- **`ovrtx`** - renders the current OpenUSD state; it does not solve contact.
- **`ovstream`** - carries video, commands, input, and application status; it does not call `ovphysx` or `ovrtx` directly.
- **SimReady Foundation** - provides inspectable asset contracts and validation rules that turn “physics is broken” into named, versioned requirements.
- **Agent skills** - version-specific procedures the agent reads to connect physics, validate, conform, compose, and simulate correctly.

## Your Prompt Contract

Every mission brief uses the same four fields.

```text
Goal:      <the outcome this mission step needs>
Skills:    <the exact local skill or focused guidance the agent should read>
Context:   <the application, assets, state, paths, and facts it must not guess>
Done when: <the observable evidence that proves this step worked>
```

**Goal** states what must become true. **Skills** route the agent to current procedures. **Context** protects the facts and boundaries it cannot infer. **Done when** defines proof before implementation begins.

**Your expertise loop:** This course supplies each tested Goal and Skills route. You inspect the 3D problem, make one bounded design or review decision, and send the resulting **Expert Brief** into Context and Done when using the Prompt Builder.

#### IMPORTANT
Review-before-run is the core habit this course builds. Read and understand the generated diff, then run only after the code makes sense to you.

## Two Ways to Work

Every build card asks you to make a decision first, then gives you two paths:

1. **Build it yourself** - fill in the `Context` and `Done when` in your own words, using your Expert Brief. This is where the learning happens.
2. **Check or unblock** - expand the *Show a finished prompt* dropdown to compare against a tested prompt if you get stuck. Treat it as a way to check your work or recover, not the default.

## Before You Start

- **Provided assets:** the protected `OldAttic_Mission_2.usda` containment scene (with the Memory Cube and C-9 pod) and the candidate `C9_ContainmentPod.usda`.
- **Prerequisites:** completion of [Course 1](https://docs.nvidia.com/learning/physical-ai/physical-ai-agent-bootcamp/latest/lab-1-rtx-viewport/index.md), which builds the Attic Portal this course extends.
- **Your AI agent:** if you haven’t already, follow [Initialize Your AI Agent](https://docs.nvidia.com/learning/physical-ai/physical-ai-agent-bootcamp/latest/get-started.md) to start the agent and point it at the skills.

## Download Course Materials

Download the assets, starter code, and NVIDIA agent skills used in this course:

- **Course materials:** [Download the course bundle (`ovlibraries_physicalai.zip`)](https://developer.nvidia.com/downloads/omniverse/learning/courses/physicalaiagentbootcamp/ovlibraries_physicalai.zip)

#### WARNING
The course bundle is roughly **5 GB**. You don’t have to download it to complete this course - you can work through every mission with assets you already have. Grab the bundle only if you want the exact starter assets, code, and agent skills used here.

## In This Course

Work through the pages in order:

1. [Connect ovphysx and Run the First Drop Test](https://docs.nvidia.com/learning/physical-ai/physical-ai-agent-bootcamp/latest/lab-2-simready-physics/connect-ovphysx.md) - add a physics rehearsal probe and read the first piece of runtime evidence.
2. [Inspect What the Scene Is Missing](https://docs.nvidia.com/learning/physical-ai/physical-ai-agent-bootcamp/latest/lab-2-simready-physics/inspect-simready-readiness.md) - run a targeted SimReady report from the portal.
3. [Apply the Simulation-Ready Corrections](https://docs.nvidia.com/learning/physical-ai/physical-ai-agent-bootcamp/latest/lab-2-simready-physics/apply-simready-corrections.md) - route report findings into guarded, visualized fixes.
4. [Prove the Physical Rehearsal](https://docs.nvidia.com/learning/physical-ai/physical-ai-agent-bootcamp/latest/lab-2-simready-physics/prove-the-rehearsal.md) - author a `PhysicsScene` and rerun the drop test for runtime proof.
5. [Pick Up the Physical World](https://docs.nvidia.com/learning/physical-ai/physical-ai-agent-bootcamp/latest/lab-2-simready-physics/pick-and-package.md) - add physics picking and begin packaging a reusable skill.
6. [Knowledge Check](https://docs.nvidia.com/learning/physical-ai/physical-ai-agent-bootcamp/latest/lab-2-simready-physics/knowledge-check.md) - check your understanding of the core concepts.
7. [Review](https://docs.nvidia.com/learning/physical-ai/physical-ai-agent-bootcamp/latest/lab-2-simready-physics/review.md) - mission debrief and what comes next.

---
