About this project
Genesis World is a simulation platform aimed at physical AI development, particularly robotics and embodied AI learning. It bundles a unified multi-physics engine, a photorealistic renderer called Nyx, and a cross-platform compiler named Quadrants behind a Pythonic simulation interface. The project was previously known as Genesis, began as an academic effort in December 2024, and is now supported by Genesis AI. It is licensed under Apache 2.0.
The platform is organized into four layers. The Simulation Interface provides the user-facing API: asset parsing for formats such as URDF, MJCF, OBJ, GLB and USD, entity accessors, controllers, sensors, parallel and heterogeneous environments, and a built-in GUI. The Physics layer is a unified multi-physics engine integrating rigid body dynamics, FEM, MPM, particle methods (PBD and SPH), the uipc backend, an explicit coupler, and SAP, all sharing one scene and one state. The Render layer offers three camera-sensor rendering paths: Nyx, Luisa (a DSL ray tracer), and Pyrender (a rasterizer). The Compiler layer, Quadrants, lowers Python kernel code to CUDA, AMD ROCm, Apple Metal, Vulkan, x86 and ARM64, and carries autodiff, GPU graphs and fastcache machinery.
The repository ships a catalogue of runnable demos grouped into Physics, Rendering and Simulation Interface sections. Physics examples cover rigid body scenarios such as Franka cube manipulation, collision towers and contact manifolds; deformable and fluid solvers including FEM constraints, MPM tutorials, sand wheels, SPH coupling, PBD liquids and cloth, stable fluid smoke, and IPC robot cloth teleoperation; multi-solver coupling cases such as cloth on rigid, rigid plus MPM attachment, cutting a dragon, water wheels and flush cubes; and SAP coupling examples. Rendering examples include following an entity, animated cameras, and Nyx walkthroughs for hello-world, attached cameras, PBR materials, light types, 3D Gaussian splats, object picking and multi-camera multi-environment setups. Simulation Interface examples cover robot control, ImGui joint control, heterogeneous environments, domain randomization, sensors such as depth cameras, IMU, lidar, tactile sandboxes, contact force, surface distance and temperature grids, GUI debug drawing and mesh point picking, mouse interaction, differential IK controllers, batched IK, drone hover training, and advanced worm and muscle tutorials.
Installation is via pip with the genesis-world package, requiring Python 3.10 to below 3.14, after installing PyTorch. A development install uses pip install -e ".[dev]" from a cloned repository. Optional extras include pyuipc for the IPC solver on Linux or Windows x86 with an NVIDIA GPU, and gs-nyx for the Nyx renderer. Quadrants is bundled automatically. The project also documents a uv-based workflow with uv sync and platform-specific PyTorch installation commands for CUDA, CPU and Apple Silicon, plus running examples through uv run.
The project welcomes contributions including pull requests, bug reports and usability suggestions, and directs users to GitHub Issues and Discussions for support. It acknowledges a range of open-source dependencies and references, including Taichi (the origin of the Quadrants fork), libuipc, FluidLab, SPH_Taichi, Ten Minute Physics, PBF3D, MuJoCo, libccd, PyRender, LuisaCompute, LuisaRender, Madrona and Madrona-mjx. Documentation is hosted on Read the Docs for Genesis World, Quadrants and Nyx.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.