# Orbital Mechanics Simulation A 3D orbital mechanics simulation using a 2-body gravitational model with sphere of influence (SOI) transitions. ## Features - 2-body gravitational physics with SOI transitions - Configurable star systems via toml files ## Getting Started ### Cloning the Project ```bash git clone --recursive https://github.com/yourusername/claudes_game.git cd claudes_game git submodule update --init --recursive # If already cloned without --recursive ``` This initializes submodules in both `ext/` (tomlc17) and `example/ext/` (raylib, raygui). ### Dependencies (Debian 13) ```bash sudo apt update sudo apt install -y build-essential g++ make libx11-dev libxcursor-dev \ libxrandr-dev libxinerama-dev libxi-dev libgl1-mesa-dev libglu1-mesa-dev \ libcatch2-dev ``` ### Building ```bash make # Build library (liborbit.a), tests, and visualizer example make lib # Build library only make example # Build visualizer only make rebuild # Clean and rebuild all make clean-all # Clean everything ``` The visualizer (`./build/orbit_sim`) links against the core simulation library. ## Running ```bash ./build/orbit_sim # Run visualizer with default config ``` Pass a config file as argument: `./build/orbit_sim tests/test_moon_orbits.toml` ## Documentation - **[Technical Reference](docs/technical_reference.md)** - Data structures and module overview ## Testing ```bash make test # Run full automated test suite ``` All tests use Catch2 framework with configurable time steps and durations. ## License This project is provided as-is for educational and research purposes.