Skip to Content
Getting StartedInstallation

Installation

What you will accomplish

A working build of the engine and the viewer, verified by running a command that produces real output.

You do this once per machine. After that you only rebuild when the source changes.

Prerequisites

Varaha Constellation Designer has two parts, and each needs its own toolchain.

PartToolchainWhy
Engine, the part that does the physicsRustThe backend is a Rust workspace
Viewer, the 3D globeNode.jsThe frontend is React and Vite

You only need Node.js if you want the globe. Everything else, including every analysis, runs from the command line with Rust alone.

Steps

Install Rust

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Accept the defaults. When it finishes, open a new terminal so the change to your PATH takes effect.

Verify:

cargo --version

Install Node.js, if you want the viewer

Download the LTS release from nodejs.org  and run the installer. Verify:

node --version

Skip this step if you only intend to use the command line.

Build the engine

From the root of the workspace:

cargo build

The first build compiles every dependency and takes several minutes with a great deal of scrolling output. That is normal. Later builds take seconds.

A release build (cargo build --release) runs analyses substantially faster but takes longer to compile. Use the default debug build while you are learning, and a release build once you are running long simulations.

Verification

Run the engine with no arguments to see the available commands:

cargo run -p orbitforge-cli -- --help

If that prints a usage summary, the engine is built.

Running commands

Every example on this site is written as if orbitforge is on your PATH:

orbitforge simulate --constellation demo.json

If your shell reports command not found, either run it through Cargo:

cargo run -p orbitforge-cli -- simulate --constellation demo.json

or put the built binary on your PATH:

export PATH="$PWD/target/debug:$PATH"

The two forms are equivalent. The Cargo form rebuilds first if the source has changed, which is usually what you want while developing.

Troubleshooting

SymptomCauseFix
linker cc not foundNo C toolchainmacOS: xcode-select --install. Debian or Ubuntu: apt install build-essential
cargo: command not found after installing RustThe shell has not picked up the new PATHOpen a new terminal, or source "$HOME/.cargo/env"
Build fails on an unsupported edition or featureToolchain too oldrustup update
Build succeeds but analyses are slowDebug buildRebuild with cargo build --release

Next steps

Question? Give us feedbackDocuments Varaha Constellation Designer main (pre-release)
Last updated on