Updates ecosystem docs#5581
Conversation
Greptile SummaryThis PR rewrites the Isaac Lab ecosystem documentation page to reflect the new multi-backend setup (PhysX via Isaac Sim and Newton kit-less), replaces the old JPEG ecosystem diagrams with new layered SVG diagrams for light and dark themes, and adds a "Package structure" section cataloguing all first-party packages.
Confidence Score: 4/5Safe to merge; all changes are documentation-only and do not affect runtime behaviour. The rewrite is clear and well-structured. The only gap is that The Package structure section in ecosystem.rst and ecosystem-dark.svg deserve a second look before merging. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
LL["Learning Libraries\n(RSL-RL · skrl · SB3 · RL Games)"]
EXT["Isaac Lab Extensions\n(isaaclab_tasks · isaaclab_assets · isaaclab_rl\nisaaclab_mimic · isaaclab_teleop)"]
CORE["Isaac Lab Core (isaaclab)\nfactory pattern — uniform API"]
PHYSX_PKG["PhysX Backend Packages\nisaaclab_physx · isaaclab_ovphysx · isaaclab_ov"]
NEWTON_PKG["Newton Backend Package\nisaaclab_newton"]
ISAACSIM["Isaac Sim (optional)\nPhysX · RTX · USD · ROS"]
NEWTON["Newton + Warp (kit-less)\nGPU-parallel · MJWarp · VBD"]
GPU["NVIDIA GPU Platform\nCUDA · Warp"]
LL --> EXT
EXT --> CORE
CORE --> PHYSX_PKG
CORE --> NEWTON_PKG
PHYSX_PKG --> ISAACSIM
NEWTON_PKG --> NEWTON
ISAACSIM --> GPU
NEWTON --> GPU
Reviews (1): Last reviewed commit: "Updates ecosystem docs" | Re-trigger Greptile |
| * ``isaaclab_physx`` / ``isaaclab_ovphysx`` — PhysX-backed implementations of articulations, | ||
| rigid bodies, deformable objects, Fabric views, the Isaac RTX renderer, and USD spawners. | ||
| Requires Isaac Sim. |
There was a problem hiding this comment.
isaaclab_ov package missing from RST text
Both SVG diagrams (light and dark) list three PhysX-side backend packages — isaaclab_physx · isaaclab_ovphysx · isaaclab_ov — but the "Package structure" section here only mentions isaaclab_physx and isaaclab_ovphysx. A reader who maps the diagram to the text will find isaaclab_ov undocumented, making it unclear what it provides or when it is required.
| @@ -0,0 +1,93 @@ | |||
| <?xml version="1.0" encoding="UTF-8"?> | |||
There was a problem hiding this comment.
UTF-8 BOM present in
ecosystem-dark.svg
The dark-theme SVG begins with a UTF-8 byte-order mark (\uFEFF), while ecosystem-light.svg does not. Although modern browsers generally tolerate a BOM, some SVG renderers and XML parsers (including strict XML tooling used in documentation build pipelines) reject or mis-parse files that start with a BOM before the XML declaration. Stripping the BOM from ecosystem-dark.svg would make the two files consistent and prevent potential rendering differences.
There was a problem hiding this comment.
📝 Documentation Review
Thanks for updating the ecosystem documentation, @kellyguo11! This is a substantial and well-structured overhaul that significantly improves clarity for new users trying to understand the Isaac Lab architecture.
✅ What looks good
SVG Diagrams: Switching from JPG to SVG for the ecosystem diagrams is the right call — they scale cleanly, work well with dark/light theme switching, and have appropriate alt text for accessibility.
Content Structure: The new section-based organization (Package structure, Where does Isaac Lab fit, Is Isaac Lab a simulator, Why should I use Isaac Lab) makes the document much easier to navigate compared to the previous wall-of-text format.
Technical Accuracy: The multi-backend explanation (PhysX via Isaac Sim vs Newton kit-less) is clear and correctly describes the factory pattern dispatch.
Cross-references: Good use of :doc: and :mod: references (e.g., linking to multi_backend_architecture.rst). I verified the linked document exists.
🔵 Minor Suggestions (non-blocking)
-
"Kit-less" terminology consistency: The document uses both "kit-less" and "without Isaac Sim" to describe the Newton backend. Consider standardizing on one term throughout for clarity.
-
Extension list ordering:
isaaclab_ovappears in the backend packages SVG diagram but isn't explicitly described in the "Physics backends" bullet list. Consider adding a brief mention for completeness. -
Old images cleanup: The old
ecosystem-dark.jpgandecosystem-light.jpgfiles still exist indocs/source/_static/setup/. If they're no longer referenced, consider removing them in a follow-up PR to avoid confusion.
⚠️ CI Note
The "Check for Broken Links" job is failing, but examining the logs shows it's flagging redirects (301/302) rather than actual broken links (404). All new external links added in this PR (Newton, Warp, gymnasium, Hydra, RSL-RL, skrl, Stable Baselines 3, RL Games, Omniverse) resolve correctly. This appears to be a CI configuration issue, not a problem with this PR.
🧪 Test Coverage Note
This is a pure documentation change with no runtime code — no tests are required.
Verdict: Ship it ✅
The documentation improvements are well done and will help users understand the Isaac Lab ecosystem. The minor suggestions above are non-blocking polish items.
There was a problem hiding this comment.
🤖 Isaac Lab Review Bot — Follow-up
New commits (3dfaf30→c1e4b79b): Updated repo_structure.rst and moved visuo_tactile_sensor docs to experimental features.
⚠️ New Finding
Contradictory Isaac Sim dependency info in repo_structure.rst.
Update (4def90a): All previous concerns have been addressed in this commit:
- ✅
isaaclab_ovpackage now documented inecosystem.rstwith proper description - ✅ UTF-8 BOM removed from
ecosystem-dark.svg - ✅ Isaac Sim dependency inconsistency resolved in
repo_structure.rst— tree comments and detailed descriptions are now consistent (both indicate standalone packages require their respective dependencies but do not require Isaac Sim)
Additional changes in this commit (wheel workflow gating, SVG text clarifications) look good. No new issues found.
Update (6a5ad99): Fixed relative image paths in visuo_tactile_sensor.rst — paths updated from ../../../_static/ to ../_static/ to reflect the file's location in experimental-features/. Correct and necessary fix. No new issues.
| │ ├── isaaclab_physx # PhysX backend (requires Isaac Sim) | ||
| │ ├── isaaclab_ovphysx # Standalone PhysX backend (does not require Isaac Sim) | ||
| │ ├── isaaclab_ov # Standalone RTX renderer (does not require Isaac Sim) | ||
| │ ├── isaaclab_newton # Newton backend (kit-less) |
There was a problem hiding this comment.
Inconsistency: The tree comments say isaaclab_ovphysx "does not require Isaac Sim" and isaaclab_ov "does not require Isaac Sim", but the detailed descriptions below (lines 68-70) say both "Requires Isaac Sim."
Please reconcile these — one of them is incorrect. Based on ecosystem.rst which says these require Isaac Sim, I suspect the tree comments should say "(requires Isaac Sim)" instead.
Description
Update ecosystem documentation to reflect the latest multi-backend setup.
Type of change
Checklist
pre-commitchecks with./isaaclab.sh --formatconfig/extension.tomlfileCONTRIBUTORS.mdor my name already exists there