Building Choreo
Dependencies
Requirements for Windows
- node, pnpm, Rust ≥ 1.70.0, CMake ≥ 3.21, Git
 - Visual Studio Community 2022 ≥ 17.13 with C++ programming language selected during installation
 
Requirements for macOS
- node, pnpm, Rust ≥ 1.70.0, CMake ≥ 3.21, Git
 - Xcode ≥ 16.2 command-line tools via 
xcode-select --install 
Requirements for Linux
- node, pnpm, Rust ≥ 1.70.0, CMake ≥ 3.21, Git
 - GCC ≥ 14 via 
sudo apt install g++-14 - Tauri dependencies (see here).
 
Recommended IDE for Tauri
Release Build
Install Node.js dependencies.
Build an NSIS .exe installer on Windows, .dmg bundle on macOS, or .deb package on Linux.
Development Server
Install Node.js dependencies.
Start development server (debug).
Start development server (release).
macOS Cross Compilation
Macs can target either arm64 or x86_64.
Install the desired Rust target.
rustup target install aarch64-apple-darwin  # arm64
rustup target install x86_64-apple-darwin  # x86_64
Create src-tauri/.cargo/config.toml that contains the target used above.
Tech Stack
Application
- React: Frontend UI framework (TypeScript)
 - Vite: Frontend build system (TypeScript)
 - Tauri: Desktop application framework and backend (Rust)
 - TrajoptLib: Generates trajectories with Sleipnir (C++, Rust)
 - Sleipnir: Numerical optimizer (C++)