Skip to content

Project Layout ​

raisim2Lib is the public package workspace. It downloads and uses binary RaiSim and rayrai packages, then provides examples, wrappers, resources, and documentation around those packages. It is not the RaiSim engine source tree, so engine-internal benchmark sources and implementation files are not available here. This page maps the directories users most often need while installing the package and building examples.

Public Workspace Directories ​

PathPurpose
raisimPlatform-specific binary RaiSim package with headers, libraries, and CMake config files. Downloaded by the first CMake configure (or raisim_upgrade); not tracked in Git.
rayraiPlatform-specific binary rayrai package with the renderer library, headers, and CMake config files. Downloaded together with raisim.
examplesC++ example sources and their CMake project. CMake target names include primitive_grid and rayrai_tcp_viewer.
examples/tools/debugOptional manual regression and debug tools; see Regression and Debug Tools.
rscRuntime resources such as robot models, meshes, textures, USD/glTF assets, and example data.
raisimPyOptional Python wrapper build for the binary RaiSim package.
raisimGymTorchReinforcement-learning package built against the binary RaiSim package.
docsDocumentation site: Markdown pages, the VitePress configuration and theme, and the scripts that generate the API reference.
thirdPartyBundled third-party sources: Eigen3 (used by Windows builds) and nanobind (used by raisimPy).
scriptsHelper scripts: the Blender scene exporter (export_blender_scene.py) and the Linux desktop-launcher installer for rayrai_tcp_viewer.
raisim_env.*, raisim_upgrade.*Environment scripts that add the package library directories to the library search path (.sh, .bat, .ps1) and scripts that download a release package into raisim and rayrai (.sh, .ps1).

Build Directories ​

Build directories are generated locally and are not part of the repository. The docs use these names for clarity:

Build directoryTypical use
buildDefault local build for examples and optional wrappers.
build-examplesTop-level build with examples enabled; the example commands in these docs use it.
build-debugDebug build for local debugging.
build-docsCMake-driven docs build.

On Linux and macOS, a top-level build places example executables, together with a copy of rsc, under the examples subdirectory of the build tree. The install target does not copy these source-built examples, and the release package does not ship a separate prebuilt TCP viewer. For example:

bash
./build-examples/examples/primitive_grid
./build-examples/examples/rayrai_tcp_viewer

On Windows, CMake places the example executables under <build-dir>/bin, together with a copy of rsc and the runtime DLLs.

The package example tree documented under Examples contains grouped source directories such as src/server, src/rayrai, src/worlds, src/xml, and src/benchmark. Target names, not source directory names, are the stable user-facing interface.

Installed Package Layout ​

The unpacked release contains separate package prefixes for RaiSim and rayrai:

text
<raisim2Lib>/raisim
<raisim2Lib>/rayrai

Downstream projects use CMAKE_PREFIX_PATH to find these installed packages. See Installation for environment setup and activation.

Where To Add New Things ​

ChangeUsual location
New user-facing C++ exampleexamples/src plus a target registration in examples/CMakeLists.txt.
New example resourcersc. Put example-only resources under a relevant subdirectory there.
New Python wrapper behaviorraisimPy.
New RL package behaviorraisimGymTorch.
New docs pageA Markdown file in docs/sections and an entry in docs/.vitepress/sidebar.mts.

Keep examples focused on demonstrating the public binary-package APIs.

RaiSim — physics for robotics and AI.