Metadata-Version: 2.5
Name: simready-foundation-tier-isaac
Version: 0.0.1a6
Summary: SimReady Foundation tier: Isaac Sim robot validation (composition, robot core, robot materials) and the isaac profiles/features that build on the core tier
Project-URL: Documentation, https://docs.omniverse.nvidia.com/content-capabilities
Author: NVIDIA
Requires-Python: <3.13,>=3.10
Requires-Dist: numpy
Requires-Dist: simready-foundation-tier-core>=0.0.1a6
Requires-Dist: usd-validation-nvidia>=1.19.3
Provides-Extra: test
Requires-Dist: pytest; extra == 'test'
Provides-Extra: usd
Requires-Dist: usd-core>=22.11; extra == 'usd'
Description-Content-Type: text/markdown

# SimReady tier: Foundation Tier-Isaac

A separately-publishable wheel containing the **Isaac Sim** slice of SimReady
foundation validation: the `isaac_sim` capabilities (composition, robot core,
robot materials) plus the isaac-facing features and profiles that compose them
on top of the core tier.

Distribution: `simready-foundation-tier-isaac`. It **depends on the core tier**
(`simready-foundation-tier-core`), so installing it pulls the base in:

```bash
pip install simready.validate
pip install simready-foundation-tier-isaac   # brings in simready-foundation-tier-core
```

## What's in it

- **Capabilities:** `isaac_sim/{composition, robot_core, robot_materials}`
  (owns `ISA.001`, `RC.*`, `RM.*`).
- **Features:** the isaac robot-core / driven-joints / composition features
  (`FET021`, `FET022_*_ISAAC`, `FET100`), the robot-core *runnable* variant
  (`FET021_ROBOT_CORE_RUNNABLE`, which reuses `RC.*`), `FET023_ROBOT_MATERIALS`.
- **Profiles:** `prop_robotics_isaac`, `robot_body_isaac`, `robot_body_runnable`.

These reference core-owned requirements and features (e.g. `DJ.*`, the neutral /
physx base features) across the wheel boundary; the SimReady loader registers all
tiers' requirements, then all features, then all profiles, so those cross-tier
references resolve regardless of install order.


## Layout

The tier is an ordinary Python package: its content is committed under
`simready/foundation/tier_isaac/` and ships as-is. The only build-time step is
generating the requirements-enum module (codegen), which is shared by every tier
and lives in [`../_tooling`](../_tooling).

```
simready_foundation_tier_isaac/
├── pyproject.toml          # distribution metadata + both entry points + build config
├── README.md
└── simready/foundation/tier_isaac/   # committed package
    ├── __init__.py, _plugin.py, _tier.py        # generic scaffolding
    ├── capabilities/                            # isaac_sim/* + import hub
    ├── features/                                # feature JSON
    └── profiles/                                # profile TOML
```

At build time, codegen adds the one missing piece — `requirements/` — into the wheel:

```
simready/foundation/tier_isaac/
├── … (the committed files above)
└── requirements/           # generated requirement enums (codegen) — NOT committed
```

## Discovery surfaces

The built wheel advertises itself two ways:

- **`usd_validation_nvidia`** → `simready.foundation.tier_isaac:SimReadyPlugin`
  — the asset validator auto-discovers this tier's validators (rules +
  requirements).
- **`simready.tier`** → `simready.foundation.tier_isaac:tier`
  — the SimReady loader discovers this tier's per-layer content sources
  (requirements module + features/profiles dirs) for its layered registration.

## Building

```bash
# from the repo root
./repo.sh build_tiers
```

`repo build_tiers` writes the wheel into this tier's `_build/dist/`.
