Skip to content

docs: align README + MIGRATION with Isaac Phase 1 in main#54

Merged
yinsong1986 merged 1 commit into
strands-labs:mainfrom
yinsong1986:docs/align-with-isaac-phase1
May 28, 2026
Merged

docs: align README + MIGRATION with Isaac Phase 1 in main#54
yinsong1986 merged 1 commit into
strands-labs:mainfrom
yinsong1986:docs/align-with-isaac-phase1

Conversation

@yinsong1986
Copy link
Copy Markdown
Contributor

Summary

Top-level docs claimed Isaac Sim would "land in v0.3.0+" as future work, but PR #44 / #45 / #46 / #47 / #51 (R6 + R7 Phase 1) all merged to main on 2026-05-26. This PR updates README.md + examples/MIGRATION.md to reflect what's actually shipped vs what's still pending. No code touched.

Inconsistencies fixed

README.md

# Where Was Now
1 Status banner (line 7) "Backend code lands in v0.3.0+ (Isaac)" — future-tense Explicit Phase 1 / Phase 2 split. Names what works today (entry-points, IsaacConfig, lifecycle scaffolding, procedural builders, URDF/MJCF/USD loaders) vs what's still no-op (add_object, add_camera, replicate, per-IsaacSimulation _load_*_robot stubs)
2 Quick-start preamble "become copy-paste-runnable when R6/#13 and R7/#14 (Isaac) ship" "Isaac Sim Phase 1 has shipped — the snippet below is copy-paste-runnable today on a host with Isaac Sim 2024.x+ installed". Newton snippets remain gated on R11/#18
3 Isaac quick-start snippet create_simulation("isaac", rtx_mode="path_traced", ...)rtx_mode is not an IsaacConfig field; would TypeError at construction create_simulation("isaac", render_mode="rtx_pathtracing", ...) — matches the field actually defined at strands_robots_sim/isaac/config.py:render_mode. Plus a second snippet for the loaders module (load_urdf / load_mjcf / load_usd) since that's the working URDF / MJCF / USD ingestion path today
4 Stage 2 R5 checkbox [ ] [x] (#26 merged)
5 Stage 3 R6 checkbox [ ] [x] with PR link (#44 merged)
6 Stage 3 R7 checkbox [ ] Split into R7 (Phase 1) [x] linking the four merged PRs (#45 / #46 / #47 / #51) and R7 (Phase 2) [ ] for the still-no-op data-plane wiring

examples/MIGRATION.md

# Where Was Now
7 [isaac] install line (~line 28) Commented-out + "Heavy GPU-only backends ship in later 0.x releases" Uncommented; inline note "Phase 1 shipped; data-plane in Phase 2". Newton remains commented (Stage 4 pending)
8 "After — same task on Isaac Sim" heading "Stage 3, future" "Stage 3, Phase 1 shipped"
9 Isaac snippet kwarg Same rtx_mode='path_traced' bug as README Fixed to render_mode='rtx_pathtracing'; added comment noting evaluate_benchmark on a real LIBERO scene still needs Phase 2 data-plane wiring (consistent with the disclosure banner on docs/backends/isaac.md)

Out of scope

Verification

  • git diff --stat: 2 files, +28 / -14 LOC. Pure docs.
  • README + MIGRATION render cleanly under standard markdown (spot-checked table / heading nesting).
  • Both kwarg fixes (render_mode='rtx_pathtracing') verified against current main's IsaacConfig field set (num_envs / device / headless / physics_dt / rendering_dt / render_mode / gravity / ground_plane / stage_path / nucleus_url / camera_width / camera_height / enable_rtx_sensors / verbose / extra).

Cross-references

  • Same kind of post-merge alignment as PR #36 did for examples/README.md after R5: Add LIBERO-on-MuJoCo baseline example (Stage 2) #26's R5 work merged. This is its R7 Phase 1 sibling.
  • Forward-pointing complement to in-flight PR #48 (docs/backends/isaac.md's Phase 1 banner + Loaders section + Architecture file-list — same framing, three doc surfaces in sync).

Top-level docs claimed Isaac would 'land in v0.3.0+' as future work,
but PR strands-labs#44 / strands-labs#45 / strands-labs#46 / strands-labs#47 / strands-labs#51 (R6 + R7 Phase 1) all merged to
main on 2026-05-26. Updates the doc-side framing to reflect what's
actually shipped vs what's still pending.

README.md:

1. Status banner: 'Backend code lands in v0.3.0+ (Isaac)' →
   explicit Phase 1 / Phase 2 split. Names what works today (entry-
   point registration, IsaacConfig, lifecycle scaffolding,
   procedural builders, URDF / MJCF / USD loaders) vs what's still
   no-op (add_object, add_camera, replicate, per-IsaacSimulation
   _load_*_robot stubs).

2. Quick-start preamble: 'become copy-paste-runnable when R6/strands-labs#13
   and R7/strands-labs#14 ship' → 'Isaac Sim Phase 1 has shipped — the snippet
   below is copy-paste-runnable today on a host with Isaac Sim
   2024.x+ installed'. Newton snippets remain gated on R11/strands-labs#18.

3. Isaac Sim quick-start snippet: fixed the kwarg name
   (rtx_mode='path_traced' → render_mode='rtx_pathtracing') so
   it matches the IsaacConfig field actually defined in
   strands_robots_sim/isaac/config.py. The previous spelling
   would TypeError at construction. Added a second snippet showing
   the loaders module (load_urdf / load_mjcf / load_usd) since
   that's the working URDF / MJCF / USD ingestion path today.

4. Status & roadmap section:
   - Stage 2 R5: [ ] → [x] (strands-labs#26 merged).
   - Stage 3 R6: [ ] → [x] with link to strands-labs#44.
   - Stage 3 R7: split into 'Phase 1 [x]' (linking strands-labs#45 / strands-labs#46 /
     strands-labs#47 / strands-labs#51) and 'Phase 2 [ ]' so the next-up scope is visible
     without dropping the historical strands-labs#14 reference.

examples/MIGRATION.md:

1. [isaac] extras line: 'Heavy GPU-only backends ship in later 0.x
   releases' / commented-out pip install → uncommented; comment
   notes 'Phase 1 shipped; data-plane in Phase 2'. Newton stays
   commented (Stage 4 pending).

2. 'After — same task on Isaac Sim' heading: 'Stage 3, future' →
   'Stage 3, Phase 1 shipped'. Snippet kwarg fixed
   (rtx_mode → render_mode; same bug as the README). Added a
   2-line comment noting evaluate_benchmark on a real LIBERO
   scene needs Phase 2 data-plane wiring (matches the disclosure
   banner on docs/backends/isaac.md, so the three doc surfaces
   stay in sync).

examples/README.md is left as-is: its TBD rows reference the
example files (libero/run_isaac.py etc.), which haven't shipped
yet — those issue links (R8/strands-labs#15, R23/strands-labs#27) are still accurate
forward-pointers.

Verification:
- diff stat: 2 files, +28 / -14 LOC. No code touched.
- README + MIGRATION render cleanly under standard markdown
  parsers (verified by spot-checking the table / heading nesting).
- The doc-banner test (test_phase1_doc_banner.py) is on the
  parallel pr5/isaac-docs branch (PR strands-labs#48); the docstring banner
  on docs/backends/isaac.md was already updated there to the same
  framing — this PR brings README + MIGRATION in line.

Cross-references: PR strands-labs#36 (the previous examples/README.md drift
fix) lands the same kind of post-merge alignment for strands-labs#26's R5
work; this is its R7 Phase 1 sibling.
Copy link
Copy Markdown
Member

@cagataycali cagataycali left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approve — verified all factual claims against main @ 06fce4d

Local verification on a fresh clone:

Field-name fix is correct

strands_robots_sim/isaac/config.py lines 62-76 enumerate the exact IsaacConfig field set the PR description claims. render_mode exists (line 67, default "headless"); rtx_mode does not. The pre-PR snippet create_simulation("isaac", rtx_mode="path_traced", ...) would raise TypeError: __init__() got an unexpected keyword argument 'rtx_mode' at construction. rtx_pathtracing is in RENDER_MODES (verified via the __post_init__ check on line 81 + the auto-promotion path on line 116). Fix is exactly right.

Phase 1 surface enumeration matches code

  • Procedural builders: _build_so100 / _build_panda / _build_unitree_g1 exist in strands_robots_sim/isaac/procedural.py (line 98 onwards). Aliases so-100 / so_100 / so101 resolve to so100 (lines 274-277). Registered keys returned by list_procedural_robots() are ["so100", "panda", "unitree_g1"] (line 311).
  • Loaders: load_urdf (line 157), load_mjcf (line 367), load_usd (line 576) all defined in strands_robots_sim/isaac/loaders.py, all returning ProceduralRobot.
  • Lifecycle: IsaacSimulation.create_world / destroy / cleanup are non-stub (PR #47's commit 57929b3).

Phase 2 still-no-op enumeration matches the in-flight banner on PR #48

The add_object / add_camera / replicate / per-IsaacSimulation _load_*_robot stubs / articulation-touching paths under get_observation / send_action / render list in this PR's status banner is identical to the rewritten banner on docs/backends/isaac.md (PR #48 commit 76c3b1f). All three doc surfaces (README.md / examples/MIGRATION.md / docs/backends/isaac.md) will be in sync once both PRs land.

Roadmap checkbox accuracy

  • R5 / #12 → checked: closed by PR #26 (4a89396 on main).
  • R6 / #13 → checked, linked to PR #44.
  • R7 / #14 split into Phase 1 (checked, linked to #45 / #46 / #47 / #51) + Phase 2 (unchecked, data-plane). Preserves the historical issue reference while exposing next-up scope. Good split.
  • R8 / #15 corrected from examples/libero_isaac.py to examples/libero/run_isaac.py — matches the actual examples/libero/run_*.py convention established by #26.

MIGRATION.md kwarg parity

Same rtx_moderender_mode fix as the README. The added 2-line comment about evaluate_benchmark needing Phase 2 data-plane wiring is consistent with the disclosure banner on the in-flight docs/backends/isaac.md rewrite.

Out-of-scope acknowledgment is correct

examples/README.md's TBD rows for libero/run_isaac.py / libero/run_isaac_fleet.py are still forward-accurate (those example files haven't shipped — R8/#15 / R23/#27 are open). Leaving them as-is is the right call.

No code touched, no tests to run

2 files, +28 / -14 LOC, pure docs. Markdown table / heading nesting renders cleanly under a standard parser.

Mergeability

MERGEABLE against current main. No code dependency on PR #48 — the two PRs can land independently in either order, as the description correctly states. Approving.

@cagataycali cagataycali added the docs Documentation label May 28, 2026
@yinsong1986 yinsong1986 merged commit 49741b3 into strands-labs:main May 28, 2026
1 check passed
@github-project-automation github-project-automation Bot moved this from Backlog to Done in Strands Labs - Robots May 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

docs Documentation

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants