# Orbital Mechanics Simulation A 3D orbital mechanics simulation using a 2-body gravitational model with sphere of influence (SOI) transitions. Built with C-style C++ and raylib. ## Features - 2-body gravitational physics with SOI transitions - Eccentric orbit support (circular and elliptical) - 3D real-time visualization with interactive camera - Configurable star systems via text files - Simulation controls (pause, speed adjustment) - Solar system and binary star example configurations ## 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 ``` ### 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 ``` ### Building ```bash make # Build raylib (first time) and compile sources make rebuild # Clean and rebuild make clean-all # Clean everything including raylib ``` ## Running ```bash ./orbit_sim # Run with the default solar system configuration ./orbit_sim configs/example_binary_star.toml # Run with a custom configuration file: ``` ## Controls - **Arrow Keys**: Rotate and zoom camera - **Space**: Pause/Resume simulation - **+/-**: Speed up/slow down simulation - **I**: Toggle info display - **ESC**: Quit ## Documentation - **[Technical Reference](docs/implementation_plan.md)** - Data structures and module overview - **[Detailed Architecture](docs/verbose_project_overview.md)** - Complete implementation details and data flow - **[Testing Guide](docs/test_verification.md)** - Verification commands and expected behavior - **[Known Issues](docs/config_assumptions.md)** - Configuration bugs and future improvements ## License This project is provided as-is for educational and research purposes.