Genesis-Embodied-AI/genesis-world
46.0
Weak · 18 September 2026
249.4k
lines of production code
Python
primary language
1
measurement over time
What this system is
Genesis is a high-performance, GPU-accelerated physics simulation engine designed for robotics and multi-physics research. It integrates rigid body dynamics with deformable and fluid solvers (MPM, SPH, FEM, PBD) through advanced contact couplers, enabling complex interactions between diverse materials. The system supports differentiable simulation for gradient-based optimization and provides comprehensive tools for reinforcement learning, including parallel environment execution and vision-based manipulation workflows.
How it got here
2024 — Genesis v1.4.1 engine release and example expansion
39 changes.
This period marks the release of Genesis v1.4.1, featuring a major engine rewrite that migrates the simulation core from GsTaichi to the Quadrants tensor abstraction. The update introduces a structured Pydantic-based configuration system, new physics solvers, and comprehensive gradient-tracking capabilities for differentiable simulation. Concurrently, the project significantly expanded its example suite with detailed tutorials and scripts for robotics, locomotion, and multi-physics coupling.
2025–2026 — Differentiable physics and sensor expansion
35 changes.
This period focused on establishing a modular, differentiable rigid-body simulation engine with advanced contact solvers like SAP and IPC, alongside a comprehensive, unified sensor pipeline. It significantly expanded the ecosystem by introducing USD import capabilities, vision-based manipulation workflows, and interactive viewer plugins, all supported by extensive new test suites ensuring accuracy and performance parity.
Features
Add IPC coupler examples for deformable and rigid body interaction
New examples in the \examples/ipc\ directory demonstrate the IPC (Incremental Potential Contact) coupler, enabling robust contact handling between rigid bodies and deformable objects (FEM/cloth). The included scripts cover basic cloth falling, robotic grasping of deformable cubes, and interactive cloth teleoperation, showcasing two-way coupling and unified contact resolution.
examples/ipc · high confidence
Add URDF parsing library (urdfpy)
The URDF parsing library (urdfpy) has been added to the project, providing classes and utilities for loading, parsing, and manipulating URDF (Unified Robot Description Format) files. This includes support for robot models, joints, links, meshes, and materials, enabling users to define and work with robotic kinematic structures.
genesis/ext/urdfpy · high confidence
Add drone simulation examples with RL training and PID control
The examples/drone directory now includes a complete set of drone simulation scripts. This introduces an interactive drone controller for manual keyboard flight, a pre-programmed automated flight script, and a reinforcement learning environment (HoverEnv) that trains a drone to hover at random target points using the rsl-rl library. Additionally, a quadcopter PID controller is provided for stable point-to-point flight without individual rotor control.
examples/drone · high confidence
Add interactive ImGui overlay for joint control and simulation
A new ImGui-based control panel is now available in the viewer, allowing users to play, pause, step, and reset simulations, as well as adjust joint positions via sliders when paused. The overlay also displays FPS metrics and supports adding entities (files, boxes, spheres, cylinders, planes) with configurable properties like position, scale, and collision mesh processing. This feature is enabled by setting \ViewerOptions.enable\_gui=True\ and requires the \imgui-bundle\ dependency.
genesis/ext/pyrender/overlay · high confidence
Add new sample 3D meshes and procedural generation scripts
The asset library in \genesis/assets/meshes\ has been expanded with new OBJ and MTL files for several objects, including an airplane, bathtub, boat, bunny, cloth, cross-cutter, and dragon, along with axis and bolt/nut meshes. Additionally, a Python script has been added to procedurally generate watertight bolt and nut meshes using ISO-metric thread parameters.
genesis/assets/meshes · high confidence
Add terrain generation utilities to Isaac Gym extension
The \genesis/ext/isaacgym\ module now includes \terrain\_utils.py\, introducing functions to generate various procedural terrains for simulation environments. Users can now create fractal, uniform random, sloped, pyramid-sloped, discrete obstacle, and wave terrains, allowing for more diverse and complex training landscapes in robotics simulations.
genesis/ext/isaacgym · high confidence
Add vision-based manipulation example with behavior cloning and RL training
The examples/manipulation directory now includes a complete workflow for vision-based robotic manipulation, featuring a new GraspEnv simulation environment, a BehaviorCloning module for training policies via imitation learning from an RL teacher, and dedicated scripts (grasp\_train.py and grasp\_eval.py) to train and evaluate both reinforcement learning and behavior cloning models. This addition introduces stereo camera support, multi-task policy heads for action and pose prediction, and requires rsl-rl-lib version 5.0.0 or higher.
examples/manipulation · high confidence
Added Franka Emika Panda robot model assets
Added the MJCF description and OBJ mesh assets for the Franka Emika Panda robot, including the README, finger, hand, and link meshes, to support simulation in MuJoCo 2.3.3 or later.
_genesis/assets/xml/franka\_emika\panda · high confidence
Added Franka Panda MuJoCo simulation assets
Added MuJoCo XML asset files for the Franka Panda robot, including collision and visual meshes, actuator configurations, and joint limits. This enables users to simulate the Franka Panda arm in the Genesis engine using the provided physics and rendering definitions.
_genesis/assets/xml/franka\sim · high confidence
Added MuJoCo asset definitions for new simulation scenarios
Added a collection of MuJoCo XML asset files to the genesis assets library, introducing new simulation environments and test cases. These include variations of the Ant robot (standard, grasp ball, grasp body, grasp ground), a cable simulation using composite and equality constraints, a sleeping dominos chain-reaction scene, four-bar linkage mechanisms (with both connect and weld equality constraints), a detailed humanoid model, and various rigid body interaction tests involving tetrahedrons, spheres, and capsules. These assets enable users to run simulations involving complex kinematic chains, soft-body-like behaviors, and multi-body collisions.
genesis/assets/xml · high confidence
Added PartNet Bottle asset (ID 3763) with mobility and point-cloud data
A new robotic asset for a 'Normal Bottle' (PartNet ID 3763) has been added to the \genesis/assets/urdf/3763\ directory. The package includes a URDF model (\mobility.urdf\) defining a mechanism with a continuous joint (lid rotation) and a prismatic joint (lid sliding), along with a convexified collision variant (\mobility\_vhacd.urdf\). Supporting metadata includes bounding box dimensions, part segmentation labels, and 10,000-point sample files (PLY/PTS) with normals and colors for geometry processing.
genesis/assets/urdf · high confidence
Added Universal Robots UR5e robot description assets
Added the MJCF (MuJoCo XML) description and associated OBJ mesh files for the Universal Robots UR5e robot arm. This includes the robot model, visual meshes for components like the base, forearm, and shoulder, along with a README explaining the derivation from the public URDF and a BSD-3-Clause license file.
_genesis/assets/meshes/chopping-board, genesis/assets/xml/universal\_robots\ur5e · high confidence
Added speed benchmark examples for Anymal C, Franka, and timing analysis
New benchmark scripts have been added to the examples/speed\_benchmark directory to measure simulation throughput and performance characteristics. The anymal\_c.py and franka.py scripts demonstrate high-throughput simulation with 30,000 parallel environments for a quadruped robot and a Franka Emika Panda arm, respectively, highlighting performance metrics like 14.4M and 43M FPS. Additionally, timers.py provides a detailed per-environment timing analysis for a Go2 robot, allowing users to profile constraint solver performance and visualize timing statistics under different control noise modes.
_examples/speed\benchmark · high confidence
Added stacking tower physics assets
Added a new set of physics simulation assets for a stacking tower toy, including a base pole, six colored rings, and a ball. The \generate\_tower.py\ script produces visual and collision meshes (GLB) alongside URDF definitions, ensuring proper collision handling with pre-decomposed convex sub-meshes for the rings.
genesis/assets/tower · high confidence
Genesis engine initial release with Quadrants-based simulation core
The genesis/engine module is introduced as a new simulation engine built on the Quadrants tensor abstraction, replacing the previous GsTaichi dependency. This release adds a comprehensive set of physics solvers (Rigid, MPM, SPH, FEM, PBD, Kinematic, Tool, and Stable Fluids) and their inter-solver couplers (SAP, IPCC, Legacy). It includes new sensor capabilities such as Raycaster, IMU, and point-cloud-based tactile sensors, alongside enhanced rendering features like USD import, fisheye camera support, and batched camera rendering. The engine also introduces interactive scene editing via an ImGui overlay, allowing users to pause, step, reset, and rebuild scenes asynchronously. Additionally, it provides scene serialization and trajectory recording features, enabling users to save and restore simulation states and replay trajectories.
genesis/engine · high confidence
Genesis v1.4.1 release with structured initialization and CLI
Genesis is released as version 1.4.1, introducing a structured \gs.init()\ API that allows users to configure the backend, precision, theme, and performance mode at startup. The package now includes a new \gs launch\ CLI command for visualizing assets and scenes, alongside a \gs play\ command for interactive simulation. The release also brings a new colorized repr system for better debugging, support for elliptic friction cones, and a unified scene loading mechanism for MJCF and URDF files.
genesis · high confidence
Integrated pyrender rendering engine
The pyrender library is now included as an internal extension within the genesis package, providing a complete glTF 2.0-compliant rendering backend. This integration brings core rendering capabilities—including camera, light, material, mesh, and scene management—directly into the project, enabling users to perform high-quality PBR rendering, offscreen rendering, and interactive visualization without relying on an external dependency.
genesis/ext/pyrender · high confidence
Interactive joint control example with ImGui overlay
A new example script demonstrates how to use the ImGui overlay for interactive simulation control and visualization. By setting \enable\_gui=True\ in \ViewerOptions\, users can access a built-in interface for simulation playback, entity browsing with joint sliders, and camera controls without manually managing an interactive scene. The example also shows how to extend the overlay by registering custom panels via the \ImGuiOverlayPlugin\.
examples/gui · high confidence
Interactive viewer plugins with raycasting support
The viewer now supports interactive plugins that can handle window events (mouse, keyboard, resize) and perform raycasting against scene geometry. A new \ViewerPlugin\ base class allows custom plugins to hook into the pyrender viewer lifecycle, while a \RaycasterViewerPlugin\ enables casting rays against visual meshes (opt-in via \material.use\_visual\_raycasting\) or collision geometry to detect hits, supporting features like object picking in the visualization interface.
_genesis/vis/viewer\plugins · high confidence
Introduce Genesis logging subsystem with colored output and timer utilities
This change introduces the \genesis.logging\ module, providing a new \Logger\ class that formats console output with syntax highlighting (e.g., green for debug, blue for info) and supports verbose or compact timestamp modes. It also adds a \TimeElapser\ utility for displaying real-time elapsed time in progress bars or loops, and exposes a \log\ method on the logger to support backoff behavior.
genesis/logging · high confidence
Introduce IPC Robot-Cloth Coupling
Added the IPC (Incremental Potential Contact) coupler, enabling two-way physical interaction between rigid robots and FEM-based cloth entities. This new component manages the communication between the Genesis rigid and FEM solvers and the external IPC simulation engine, allowing users to simulate complex robot-cloth interactions with realistic contact and friction.
_genesis/engine/couplers/ipc\coupler · high confidence
Introduce ToolEntity for mesh-based rigid bodies with GPU collision
Added a new ToolEntity class and its supporting mesh module in the engine's entity system, enabling users to define rigid bodies using mesh files. This implementation migrates the underlying simulation backend from GsTaichi to Quadrants, moving mesh processing, Signed Distance Field (SDF) generation, and collision logic (including normal calculation and velocity coupling) into GPU-accelerated kernels. The entity also supports morph pose offsets for initial positioning and includes checkpointing capabilities for state persistence.
_genesis/engine/entities/tool\entity · high confidence
Introduce USD import support with material baking and collision filtering
Added a new USD parsing module that enables importing USD stages into Genesis as rigid bodies and articulations. The parser handles complex transform decomposition (scaling and reflections baked into mesh geometry), resolves joint anchors relative to relationship targets, and translates USD collision groups and filtered pairs into Genesis contype/conaffinity bitmasks. Material support includes parsing UsdPreviewSurface textures and baking materials via Omniverse Kit when available, with caching to avoid redundant bakes. USDZ archives are automatically decompressed, and the system detects and warns on unsupported features like cross-entity collision filtering.
genesis/utils/usd · high confidence
Introduce cross-platform offscreen OpenGL rendering support
Added a new platform abstraction layer in \genesis/ext/pyrender/platforms\ that enables offscreen OpenGL rendering on macOS (via CGL), Linux/Windows (via EGL), and headless software environments (via OSMesa), alongside a Pyglet-based fallback for on-screen contexts. This allows users to generate renders without a visible display or window, with automatic device detection and proper context lifecycle management to prevent crashes during teardown.
genesis/ext/pyrender/platforms · high confidence
Introduce first-class data recorders and plotters
The simulation now includes a dedicated recording subsystem that allows users to save scene data to files (CSV, NPZ, video) and visualize it in real-time via plotters. This new architecture provides a unified interface for capturing trajectories, sensor data, and simulation states, replacing previous ad-hoc recording mechanisms with a structured, extensible system that supports background processing and configurable sampling rates.
genesis/recorders · high confidence
Introduction of SAP and IPC couplers alongside legacy coupling system
The engine now exposes a new modular coupling architecture in \genesis/engine/couplers\, introducing \SAPCoupler\ (using the Semi-Analytic Primal solver) and \IPCCoupler\ (Incremental Potential Contact) alongside the existing \LegacyCoupler\. This change provides users with advanced contact resolution methods for rigid-FEM, rigid-rigid, and FEM self-collision interactions, while maintaining backward compatibility through the legacy system. The \\_\init\\_.py\ file explicitly exports these three coupler types, making them available for configuration in simulations.
genesis/engine/couplers · high confidence
Introduction of SPH material classes with platform-aware particle sampling
This change introduces the SPH (Smoothed Particle Hydrodynamics) material module, defining base and liquid material classes. The Liquid material class sets the default particle sampler to 'regular' to ensure numerical stability. The base class implements platform-specific default sampling logic, selecting 'pbs' on Linux x86\_64 systems and falling back to 'random' on other platforms (such as Linux ARM) to prevent invalid sampler errors.
genesis/engine/materials/SPH · high confidence
Introduction of a solver state-change subscription system
The solver engine now supports a subscriber mechanism that allows components to react to specific state mutations. The \base\_solver\ module introduces \StateChange\ categories (GEOMETRY and DYNAMICS) and a \mutates\ decorator to tag methods that alter the simulation state. Consumers can register \Subscriber\ handles to receive eager callbacks or lazy pending notifications when these changes occur, with optional filtering by specific links to reduce unnecessary processing.
genesis/engine/solvers · high confidence
Introduction of custom gradient-tracking tensors in the Genesis gradient subsystem
The \genesis/grad\ module now provides a custom \Tensor\ class that extends PyTorch's \torch.Tensor\ to enable end-to-end gradient flow back to Genesis \Scene\ objects. This change introduces scene-aware tensor operations that validate parent tensors originate from the same scene and automatically propagate gradients to the scene via \\_backward()\. Additionally, wrapper functions for standard PyTorch creation ops (e.g., \torch.zeros\, \torch.from\_numpy\) are provided to seamlessly convert PyTorch tensors into these genesis tensors, ensuring consistent device placement and gradient tracking within the genesis ecosystem.
genesis/grad · high confidence
Introduction of the genesis.utils package with new array, geometry, and collision utilities
The genesis.utils package has been introduced, providing foundational utilities for the engine. This includes a new array class system (array\_class.py) that leverages the Quadrants library for tensor operations and defines data kinds for solver states, as well as geometry helpers (geom.py) for transformations and rotations. A new collision utility (collision.py) uses Z3 to synthesize contype/conaffinity bitmasks for contact filtering, and deprecated module wrappers (deprecated\_module\_wrapper.py) are added to manage import transitions.
genesis/utils · high confidence
Introduction of the interactive viewer and rendering subsystem
This change introduces the core visualizer components for the Genesis engine, including the interactive \Viewer\ with cross-platform OpenGL context handling, the \Rasterizer\ for real-time rendering, the \Raytracer\ for high-quality path tracing, and the \BatchRenderer\ for parallel simulation visualization. It also adds the \Camera\ class for capturing RGB, depth, and segmentation images, along with supporting modules for keybindings and rasterizer context management.
genesis/vis · high confidence
Introduction of the new entity system and particle emitter
The \genesis/engine/entities\ module has been replaced with a new implementation that introduces a unified \Entity\ base class and a dedicated \Emitter\ class for generating particles in fluid and material simulations. This change adds support for emitting particles in various shapes (circle, sphere, square, rectangle) with directional control, while also establishing the foundational classes for FEM, MPM, PBD, SPH, Hybrid, and other entity types that now manage their own state, rendering geometry, and solver integration.
genesis/engine/entities · high confidence
New Articulated Body Dynamics (ABD) solver submodule for rigid body simulation
The rigid solver now includes a dedicated \abd\ submodule that implements the core physics computations using the Quadrants framework. This new structure provides specialized modules for forward and inverse kinematics, forward dynamics, and manual reverse-mode differentiation (backward pass), alongside state accessor kernels and utility functions for hibernation and mass matrix operations. This reorganization centralizes the rigid body simulation logic, enabling more efficient computation of joint configurations, velocities, and accelerations while supporting advanced features like inverse kinematics with local offsets and robust gradient propagation for differentiable simulation.
genesis/engine/solvers/rigid/abd · high confidence
New FEM material models and IPC contact parameters
The FEM materials module now includes Elastic, Cloth, and Muscle material classes, with Elastic supporting linear, stable\_neohookean, and linear\_corotated constitutive models. These materials expose friction\_mu and contact\_resistance parameters, allowing per-entity control over IPC contact behavior.
genesis/engine/materials/FEM · high confidence
New Go2 RL training, evaluation, and backflip examples
The examples/locomotion directory now includes a complete set of scripts for the Unitree Go2 robot: go2\_train.py for PPO-based walking policy training, go2\_eval.py for evaluating trained policies, and go2\_backflip.py for a specific backflip demonstration. These examples introduce a new Go2Env base class and a BackflipEnv subclass, require rsl-rl-lib version 5.0.0 or higher, and configure the simulation with specific PD control parameters, observation scales, and termination conditions suitable for reinforcement learning.
examples/locomotion · high confidence
New SAP Coupler examples for FEM and rigid body interactions
Added four new demonstration scripts in the SAP coupler examples directory: \fem\_fixed\_constraint.py\ shows applying vertex constraints to an FEM cube, \fem\_sphere\_and\_cube.py\ demonstrates collision between two FEM bodies, and \franka\_grasp\_fem\_sphere.py\ and \franka\_grasp\_rigid\_cube.py\ illustrate a Franka robot arm grasping FEM and rigid objects respectively, showcasing the coupler's ability to handle rigid-FEM and rigid-rigid interactions.
_examples/sap\coupling · high confidence
New USD import examples for rigid bodies and kitchen assets
Added two new example scripts in the USD examples directory: \import\_stage.py\ demonstrates importing a single rigid body (a refrigerator) with a joint animator, while \kitchen.py\ showcases loading multiple articulated and rigid assets (dishwasher, bottle, full kitchen scene) from the Lightwheel Kitchen dataset, including support for visualization modes and interactive mouse dragging.
examples/usd · high confidence
New collision and fluid simulation examples
Added four new example scripts to demonstrate specific simulation capabilities: contact\_manifold.py compares contact patch and perturbation contact manifolds for box-on-box interfaces; contype.py illustrates how contype and conaffinity bitmasks filter collision pairs between primitive and mesh entities; pyramid.py and tower.py showcase rigid body stacking and collision scenarios with configurable parameters. Additionally, a smoke simulation example was added to the fluid examples directory, demonstrating GPU-accelerated fluid dynamics with animated jet sources.
examples/collision · high confidence
New interactive viewer plugins for keyboard controls and mouse-based object manipulation
The viewer now includes two new plugins: DefaultControlsPlugin, which registers standard keyboard shortcuts for recording video, saving images, toggling render modes (shadows, normals, wireframe), and switching camera projections; and MouseInteractionPlugin, which allows users to click and drag rigid bodies in the simulation using a spring-based force model, with visual feedback for the drag plane and surface normal.
_genesis/vis/viewer\plugins/plugins · high confidence
New kinematic ghost example for Go2 quadruped
Added a new example script (examples/kinematic/go2\_kinematic.py) that demonstrates using a KinematicEntity as a visualization-only 'ghost' reference motion. The example runs a physics-simulated Go2 quadruped alongside a second Go2 entity that follows a sinusoidal joint trajectory without participating in the physics simulation, allowing users to visualize reference motions without affecting simulation performance.
examples/kinematic · high confidence
New modular rigid-body collider with analytical primitive contacts and differentiable GJK
The rigid solver's collision detection has been reorganized into a dedicated \genesis/engine/solvers/rigid/collider\ submodule, introducing specialized analytical contact detectors for sphere-box, capsule-capsule, sphere-sphere, and sphere-capsule pairs to replace iterative fallbacks and improve accuracy. The module integrates a new GJK/EPA implementation with support for differentiable simulation, allowing gradient-based optimization through contact detection, and includes a sweep-and-prune broad-phase algorithm alongside robust contact management and position refinement to eliminate spurious torque and drift on smooth geometries.
genesis/engine/solvers/rigid/collider · high confidence
New rigid-body simulation examples added
Added a suite of new example scripts in the rigid simulation directory, demonstrating capabilities such as accelerometer data retrieval (accelerometer\_duck.py, accelerometer\_franka.py), external wrench application (apply\_external\_wrench.py), custom convex decomposition (authored\_decomp.py), self-screwing mechanics (bolt\_nut\_self\_screw.py), closed-loop linkages (closed\_loop.py), PD and force control (control\_franka.py, control\_mesh.py), multi-GPU distributed training (ddp\_multi\_gpu.py), differential IK (diffik\_controller.py), domain randomization (domain\_randomization.py), friction behavior analysis (friction\_breakaway.py), parallel grasping (grasp\_bottle.py), gravity compensation (gravity\_compensation.py), heterogeneous object simulation (heterogeneous\_simulation.py), and entity hibernation (hibernation.py).
examples/rigid · high confidence
New sensor examples for cameras, tactile, and thermal sensing
Added a suite of new example scripts in the sensors directory demonstrating the latest sensor capabilities. These include camera sensors using Rasterizer, Raytracer, and BatchRenderer backends (camera\_as\_sensor.py), depth cameras with custom vertex deformation support (depth\_camera\_custom\_vverts.py), and LiDAR/DepthCamera for teleoperation (lidar\_teleop.py). The examples also cover tactile sensing with various taxel types (ElastomerTaxel, KinematicTaxel, ProximityTaxel, ContactDepthProbe) on robotic hands and pads (tactile\_franka.py, tactile\_sandbox.py, surface\_distance\_shadowhand.py), as well as thermal sensing via TemperatureGrid (temperature\_grid.py). Additional examples demonstrate IMU with noise modeling (imu\_franka.py), joint torque sensing (joint\_torque\_franka.py), and contact force monitoring on quadrupeds (contact\_force\_go2.py).
examples/sensors · high confidence
New simulation examples for deformable and rigid body coupling
The examples/coupling directory now includes a suite of new demonstration scripts showcasing various physics interactions. These include cloth attached to rigid bodies, MPM particles attached to rigid links, FEM cubes linked with robotic arms, and fluid simulations involving SPH and MPM materials interacting with rigid objects. Additionally, the examples/deformable directory has been expanded with scripts for differentiable pushing, elastic dragon simulation, and FEM constraint handling, providing users with concrete references for implementing complex multi-material and multi-physics scenarios.
examples/coupling · high confidence
New state management and checkpointing infrastructure
The engine now includes a dedicated state management system in \genesis/engine/states\ that defines specific state classes for different entity types (Tool, MPM, SPM, FEM, Rigid) and solvers (Kinematic, Rigid, Tool, MPM). This infrastructure supports saving and restoring simulation states via \SimulatorCheckpoint\ and \SolverCheckpoint\ dataclasses, enabling users to record and replay simulation trajectories or resume simulations from specific points in time.
genesis/engine/states · high confidence
New tutorial examples for Genesis simulation features
Added a comprehensive set of new tutorial scripts in the examples/tutorials directory demonstrating key Genesis capabilities. These include robot control and inverse kinematics (IK) workflows such as motion planning with grasping, multi-link IK, batched IK for parallel environments, and position/velocity control comparisons. The collection also introduces tutorials for soft-body and deformable material simulations using MPM, FEM, and PBD solvers, including advanced examples for hybrid rigid-soft robots, muscle actuation, and worm-like locomotion. Additional tutorials cover scene setup, entity naming and lookup, interactive debugging, parallel simulation execution, selective environment rendering, and visualization techniques including debug object drawing and camera recording.
examples/tutorials · high confidence
New viewer plugin examples for keyboard teleoperation, mouse interaction, and mesh point selection
Added three new example scripts in the viewer\_plugin directory that demonstrate interactive capabilities: keyboard\_teleop.py provides keyboard-based control for a Franka Panda robot (movement, rotation, and gripper); mouse\_interaction.py shows how to grab and manipulate rigid bodies using mouse clicks, with support for visual mesh raycasting; and mesh\_point\_selector.py implements a plugin that allows users to click on mesh surfaces to select and store 3D points with optional grid snapping.
_examples/viewer\plugin · high confidence
Repository configuration and development guidelines added
The repository now includes configuration files to standardize development workflows and documentation. A .gitattributes file enforces LF line endings for shell scripts, configuration files, and Docker-related files to ensure cross-platform consistency. Submodules for the documentation site, LuisaRender, and ParticleMesher are registered in .gitmodules. Pre-commit hooks are configured via .pre-commit-config.yaml to enforce code formatting and linting using Ruff. Documentation builds are configured for Read the Docs via .readthedocs.yaml. Additionally, comprehensive development guidelines are provided in CLAUDE.md and CODING\_GUIDELINES.md, covering coding standards, testing protocols, and API design principles for contributors.
(repo-wide) · high confidence
Architecture
Rigid entity codebase restructured into modular submodules
The rigid entity implementation has been reorganized from a monolithic structure into distinct submodules (description, inertial, rigid\_entity, rigid\_geom, rigid\_joint, rigid\_link, rigid\_equality, drone\_entity, terrain\_entity). This refactoring separates the entity's static description and inertial property calculations from its runtime state and behavior, introducing dedicated classes for equality constraints and drone-specific logic while maintaining the same public API surface for users.
_genesis/engine/entities/rigid\entity · high confidence
Behavioural changes
Introduce PBD material classes with platform-aware particle sampling
Added new Particle-Based Dynamics (PBD) material classes—Cloth, Elastic, Liquid, and Particle—each exposing specific physical parameters like density, friction, and compliance. A key behavioral change is the default particle sampler selection: the 'pbs' sampler is now used by default on Linux x86\_64 systems, while 'random' is used on all other platforms (including Linux ARM), ensuring valid defaults across different architectures.
genesis/engine/materials/PBD · high confidence
Introduce Pydantic-based material definitions with visual raycasting support
The materials module has been rewritten to use Pydantic for strict validation and structured options. This introduces a new \use\_visual\_raycasting\ option on Kinematic and Rigid materials, allowing visual meshes to be exposed to raycaster sensors and viewer plugins. The Rigid material now supports detailed friction parameters (torsional and rolling), SDF grid configuration, and granular IPC coupling controls (including per-link collision and coupling type selection).
genesis/engine/materials · high confidence
Introduce unified sensor pipeline with shared context and metadata
The sensor system has been refactored to use a generic base class that manages shared metadata and cross-type shared contexts, enabling optimized batched updates and resource sharing across different sensor types like cameras, raycasters, and tactile sensors.
genesis/engine/sensors · high confidence
Introduction of the new Quadrant-based Rigid Solver
The rigid body solver has been migrated from the legacy GsTaichi backend to the new Quadrant tensor abstraction. This change introduces a completely rewritten solver implementation (RigidSolver) that leverages Quadrant for GPU acceleration, replacing the previous Taichi-based kernels. For users, this represents a significant architectural shift in how rigid body physics are computed, potentially affecting performance characteristics and requiring compatibility with the new Quadrant infrastructure.
genesis/engine/solvers/rigid · high confidence
MPM materials migrate to Pydantic options and Quadrants backend
The MPM material definitions (Elastic, ElastoPlastic, Liquid, Muscle, Sand, Snow) have been rewritten to use Pydantic for strict configuration validation and the Quadrants library for the underlying solver functions. This introduces platform-specific default particle sampling (using 'pbs' on Linux x86\_64 and 'random' elsewhere) and enforces that Snow materials cannot use the von Mises yield criterion. Users will now see stricter validation on material parameters and potentially different default sampling behavior depending on their hardware architecture.
genesis/engine/materials/MPM · high confidence
New rendering examples and camera follow fix
The examples/rendering directory now includes a demo showcasing the RayTracer renderer with various material and texture configurations, alongside new scripts for camera following (with an option to fix orientation), moving cameras, asynchronous rendering, and performance benchmarking. Additionally, the camera follow behavior has been corrected so that setting fix\_orientation=True properly maintains the camera's orientation while tracking an entity.
examples/rendering · high confidence
New structured sensor options and type registry
The sensor configuration system has been refactored to use a structured, Pydantic-based options hierarchy. This introduces a central \SensorOptions\ base class with common parameters like \history\_length\, \delay\, and \jitter\, along with specific mixins for kinematic and rigid entity attachment. New sensor types are now represented by distinct option classes (e.g., \RasterizerCameraOptions\, \RaytracerCameraOptions\, \TactileProbeSensorOptions\) that enforce validation rules such as preventing history buffers for camera sensors or ensuring valid clipping planes. Additionally, a \types\ namespace is provided to map these option classes to integer tags for efficient sensor identification and retrieval.
genesis/options/sensors · high confidence
Rigid constraint solver refactored into a modular, island-based architecture
The rigid constraint solver has been restructured into a dedicated submodule (genesis/engine/solvers/rigid/constraint) that partitions the simulation into independent contact islands. This change introduces island-aware logic for constraint grouping, parallel linesearch, and backward-pass gradient computation, enabling the solver to process each contact island independently for improved performance and scalability.
genesis/engine/solvers/rigid/constraint · high confidence
Structured, validated configuration system for simulation and rendering
Genesis now uses a unified, Pydantic-based options system for all configuration, replacing the previous ad-hoc parameter handling. This introduces strict validation for scene, solver, morph, surface, and renderer settings, ensuring that incompatible options (such as enabling box-box collision or GJK detection while differentiable mode is active) are rejected at construction time. Users benefit from clearer error messages, consistent default inheritance (where scene options inherit from simulation options), and new capabilities like trajectory recording, profiling, and configurable convex decomposition.
genesis/options · high confidence
Updated pyrender shader suite with new debug and segmentation passes
The GLSL shaders in the pyrender extension have been replaced with a new set of implementations. This update introduces dedicated shaders for rendering debug depth quads, flat-shaded materials, and object segmentation (including double-sided support). The core mesh rendering shaders have been updated to support double-sided geometry via new geometry shaders, and the normal visualization tools now include specific passes for both mesh faces and point clouds.
genesis/ext/pyrender/shaders · high confidence
Test coverage
Added IPC Coupler test suite; Added comprehensive parser test suite for meshes, USD, and textures; Added gradient tape and differentiable simulation tests; Added integration tests for rigid-body and fluid coupling; Added particle simulation test suite; Added rigid body and file morph benchmark tests; Added test coverage for FEM deformable body capabilities; Comprehensive unit tests for sensor subsystem; New core test suite for backend, BVH, and scene lifecycle; New rendering test suite with cross-renderer fixtures; New rigid-body test suite with MuJoCo parity and integration coverage; New test infrastructure for GPU memory monitoring and example validation; New test utilities for image comparison, asset management, and MuJoCo parity.
Dependencies
Add external submodule dependencies and trimesh patch
The genesis/ext directory now includes new submodules for LuisaRender and ParticleMesher, and introduces a patch file (\_trimesh\_patch.py) to handle trimesh loading and fix missing imports.
genesis/ext · high confidence
Initial dependency manifest for Genesis World v1.4.1
The project now includes a \pyproject.toml\ file that formally declares its build system and runtime dependencies. This manifest pins the package version to 1.4.1 and specifies core requirements such as \quadrants==1.3.0\, \pydantic\>=2.13.0\, \numpy\>=1.26.4\, and \mujoco\>=3.2.5\. It also defines optional dependency groups for development (\dev\), documentation (\docs\), rendering (\render\), and USD support (\usd\), establishing the environment needed to install and run the physics engine.
(dependencies) · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Baseline
- First survey — no prior run to compare against. CAI 46.
Lenses
- Code Health 73
- Architecture 98
- Maturity 61
- Readiness 37
- Security 61
- Accessibility 40
Changes since last survey
- 300 commits — 162 feature/other, 138 fixes
By area
- genesis/engine — 146 commits
- (root) — 43 commits
- genesis/ext — 17 commits
- tests/rigid — 16 commits
- genesis/utils — 14 commits
- .github/workflows — 9 commits
- tests/parsers — 5 commits
- examples/rigid — 4 commits
- genesis/options — 4 commits
- genesis/recorders — 4 commits
- genesis/_main.py — 3 commits
- genesis/assets — 3 commits
- .github/ISSUE_TEMPLATE — 2 commits
- .github/genesis_image_ver — 2 commits
- .github/nyx_plugin_commit — 2 commits
- examples/collision — 2 commits
- examples/usd — 2 commits
- genesis/vis — 2 commits
- tests/benchmarks — 2 commits
- tests/conftest.py — 2 commits
Notable commits
- fix: Revert "[MISC] Significantly improve non-batched CPU simulation speed (up to 30%). (#2991)" (#3000)
- fix: [BREAKING][BUG FIX] Record camera videos of any length at a chosen framerate. (#3107)
- fix: [BUG FIX] Always give recorded videos a valid default filename. (#3228)
- fix: [BUG FIX] Apply MeshSet member poses to sampled particles. (#3305)
- fix: [BUG FIX] Correctly render assets that pair a base color with an emissive map. (#3088)
- fix: [BUG FIX] Decode normalized integer glTF accessors instead of reading their raw values. (#3330)
- fix: [BUG FIX] Deduplicate BatchRenderer textures without image_path. (#2940)
- fix: [BUG FIX] Deduplicate textures across GLB submeshes sharing a material. (#2896)
- fix: [BUG FIX] Filter fictitious lateral contacts. (#2902)
- fix: [BUG FIX] Fix 'RigidEntity.plan_path' ignoring runtime joint limits. (#3278)
- fix: [BUG FIX] Fix COM frames of fixed links on aligned bodies breaking thrust points. (#3283)
- fix: [BUG FIX] Fix IPC coupler auto-detecting wrong coup_type for Plane entities. (#2877)
- fix: [BUG FIX] Fix ImGui overlay crash on viewer close. (#2850)
- fix: [BUG FIX] Fix MJCF parsing of 2D textures. (#3036)
- fix: [BUG FIX] Fix Windows offscreen rendering. (#2961)
- fix: [BUG FIX] Fix anisotropic contact manifold. (#3152)
- fix: [BUG FIX] Fix biased convex-convex contact perturbation correction causing drift. (#2889)
- fix: [BUG FIX] Fix buggy hibernation on GPU and correctly report resting force. (#3297)
- fix: [BUG FIX] Fix camera sensor not being refreshed after scene reset. (#3100)
- fix: [BUG FIX] Fix contact tunnelling when enabling grad. (#2873)
- …and 280 more
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
Genesis-Embodied-AI/genesis-world was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 18 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit c27875eb56947808b3105d25d3c09b6dd96484b3 — the exact code this score is about.
- Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-5d04157a340d.