- Renamed src/bodies.h to src/simulation.h
- Renamed src/bodies.cpp to src/simulation.cpp
- Updated all include references in src/ and tests/
- Updated Makefile to reference simulation.cpp
- Updated documentation references
Claude
- Fix SOI calculation to use semi_major_axis instead of current distance
This caused incorrect SOI radii for eccentric orbits
- Fix orbit direction: change cross product from r×z to z×r for counter-clockwise orbits
- Add parent body change tracking to headless mode for debugging
- Add debug output enabling in test
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Extract argument parsing, headless simulation, and GUI simulation into
separate functions. Add initial state capture for comparison in headless mode.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Add --readable (-r) flag for headless mode that displays:
- Positions in AU instead of meters
- Velocities in km/s instead of m/s
- Polar coordinates (r, θ) in AU and degrees
Changes:
- New command line flag: --readable / -r
- Helper functions for formatted output
- Polar angle calculated from atan2(y,x) and converted to 0-360°
- Periodic updates show: Body(r=X.XX AU, θ=Y.Y°)
- Initial/final states show full cartesian + polar coordinates
Makes verification much easier - can instantly see orbital positions
and confirm bodies return to starting angles after full orbits.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Add --headless/-h flag to run without graphics
- Add --days N flag to specify simulation duration
- Print initial state, periodic updates, and final state
- Useful for testing, debugging, and headless environments
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Orbital mechanics simulation with 2-body physics and SOI transitions.
Core Features:
- 2-body gravitational physics with sphere of influence transitions
- Real-time 3D visualization using raylib
- Configurable star systems via text files
- Interactive controls (camera, pause, speed)
Technical Implementation:
- C-style C++ (structs and functions, no classes)
- Modular architecture (physics, bodies, config loader, renderer)
- Euler integration for orbital mechanics
- SOI detection using Hill sphere approximation
Configuration System:
- Solar system with realistic data (Sun, 8 planets, 5 major moons)
- Binary star system example
- Easy to create custom systems via simple text format
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>