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.
| Part | Toolchain | Why |
|---|---|---|
| Engine, the part that does the physics | Rust | The backend is a Rust workspace |
| Viewer, the 3D globe | Node.js | The 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
macOS and Linux
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | shAccept the defaults. When it finishes, open a new terminal so the change to your PATH takes effect.
Verify:
cargo --versionInstall Node.js, if you want the viewer
Download the LTS release from nodejs.org and run the installer. Verify:
node --versionSkip this step if you only intend to use the command line.
Build the engine
From the root of the workspace:
cargo buildThe 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 -- --helpIf 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.jsonIf your shell reports command not found, either run it through Cargo:
cargo run -p orbitforge-cli -- simulate --constellation demo.jsonor 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
| Symptom | Cause | Fix |
|---|---|---|
linker cc not found | No C toolchain | macOS: xcode-select --install. Debian or Ubuntu: apt install build-essential |
cargo: command not found after installing Rust | The shell has not picked up the new PATH | Open a new terminal, or source "$HOME/.cargo/env" |
| Build fails on an unsupported edition or feature | Toolchain too old | rustup update |
| Build succeeds but analyses are slow | Debug build | Rebuild with cargo build --release |
Next steps
- Quick start to generate a constellation and watch it orbit.
- Your first analysis to get coverage and a link budget out of that same design.
main (pre-release)