How genesis-embodied-ai/genesis-world works
Genesis World is a Python-facing physical-AI simulation platform. A user defines a scene from morphologies, materials, and assets; the scene builds a simulator and heterogeneous physics solvers; stepping advances shared state through collision, constraints, and couplers. Sensors and camera rendering expose observations, while recorders persist trajectories or other step data. The tree supports in-repo Pyrender rendering, URDF/USD processing, autodiff, and Quadrants-backed kernels; Nyx and Luisa are documented optional rendering paths but are not implemented in the sampled tree.
Main entry points: scene.py Scene API · simulator.py Simulator · __init__.py Physics Solvers · camera.py Camera Sensors
Components 24
Simulation Interface
- Scene API
genesis/engine/scene.py - Sensor Manager
genesis/engine/sensors/sensor_manager.py - Recorder Manager
genesis/recorders/recorder_manager.py - Scene Visualizer
genesis/vis/visualizer.py
Assets and Models
- Morphologies
genesis/options/morphs.py - URDF Parser
genesis/ext/urdfpy/urdf.py - USD Context
genesis/utils/usd/usd_context.py - Entity Models
genesis/engine/entities/__init__.py
Physics Engine
- Simulator
genesis/engine/simulator.py - Physics Solvers
genesis/engine/solvers/__init__.py - Rigid Solver
genesis/engine/solvers/rigid/rigid_solver.py - Collision Detection
genesis/engine/solvers/rigid/collider/collider.py - Constraint Solver
genesis/engine/solvers/rigid/constraint/solver.py - Physics Couplers
genesis/engine/couplers/sap_coupler.py - Shared State
genesis/engine/states/__init__.py
Sensors and Output
- Camera Sensors
genesis/engine/sensors/camera.py - Pyrender Rasterizer
genesis/vis/rasterizer.py - Trajectory Recorders
genesis/recorders/trajectory.py
Kernel Runtime
- Kernel Data
genesis/utils/array_class.py - Autodiff Runtime
genesis/grad/tensor.py
Other components
- Simulation User
- Quadrants Backend
- Nyx Renderer
- Luisa Renderer
Connections 23
- Simulation User → Scene API: configures
- Scene API → Morphologies: loads models
- Morphologies → URDF Parser: parses URDF
- Morphologies → USD Context: processes USD
- Scene API → Entity Models: creates entities
- Scene API → Simulator: builds simulator
- Simulator → Physics Solvers: advances solvers
- Simulator → Shared State: updates state
- Physics Solvers → Rigid Solver: dispatches rigid
- Rigid Solver → Collision Detection: detects contacts
- Rigid Solver → Constraint Solver: solves constraints
- Simulator → Physics Couplers: coordinates coupling
- Scene API → Sensor Manager: registers sensors
- Sensor Manager → Camera Sensors: dispatches sensors
- Camera Sensors → Pyrender Rasterizer: renders views
- Scene API → Scene Visualizer: controls GUI
- Scene API → Recorder Manager: configures recording
- Recorder Manager → Trajectory Recorders: processes frames
- Physics Solvers → Kernel Data: uses kernel data
- Kernel Data → Quadrants Backend: runs kernels
- Physics Solvers → Autodiff Runtime: supports gradients
- Camera Sensors → Nyx Renderer: optional rendering
- Camera Sensors → Luisa Renderer: optional rendering