Browse Source

Remove binary star config and update documentation

- Deleted: configs/example_binary_star.toml
- Updated README.md: removed binary star references, fixed broken doc link
- Updated implementation_plan.md: removed binary star references, added single-root constraint

Documentation now reflects single root body constraint
main
cinnaboot 6 months ago
parent
commit
bc7c646241
  1. 4
      README.md
  2. 62
      configs/example_binary_star.toml
  3. 7
      docs/implementation_plan.md

4
README.md

@ -6,7 +6,7 @@ A 3D orbital mechanics simulation using a 2-body gravitational model with sphere
- 2-body gravitational physics with SOI transitions
- Configurable star systems via toml files
- Solar system and binary star example configurations
- Solar system example configurations
## Getting Started
@ -38,13 +38,11 @@ make clean-all # Clean everything including raylib
```bash
./orbit_sim # Run with the default solar system configuration
./orbit_sim configs/example_binary_star.toml # Run with a custom configuration file:
```
## 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

62
configs/example_binary_star.toml

@ -1,62 +0,0 @@
# Binary Star System with Planets
# A simple example of two stars orbiting each other with planets around them
[[bodies]]
name = "StarA"
mass = 1.5e30
radius = 8.0e8
position = { x = 3.0e11, y = 0.0, z = 0.0 }
parent_index = -1
color = { r = 1.0, g = 1.0, b = 0.2 }
eccentricity = 0.0
semi_major_axis = 0.0
[[bodies]]
name = "StarB"
mass = 1.2e30
radius = 7.0e8
position = { x = -3.7e11, y = 0.0, z = 0.0 }
parent_index = -1
color = { r = 0.3, g = 0.5, b = 1.0 }
eccentricity = 0.0
semi_major_axis = 0.0
[[bodies]]
name = "PlanetA1"
mass = 6.0e24
radius = 7.0e6
position = { x = 3.5e11, y = 0.0, z = 0.0 }
parent_index = 0
color = { r = 0.8, g = 0.3, b = 0.2 }
eccentricity = 0.0
semi_major_axis = 3.5e11
[[bodies]]
name = "PlanetB1"
mass = 4.0e24
radius = 6.0e6
position = { x = -4.2e11, y = 0.0, z = 0.0 }
parent_index = 1
color = { r = 0.2, g = 0.8, b = 0.6 }
eccentricity = 0.0
semi_major_axis = 4.2e11
[[bodies]]
name = "MoonA1"
mass = 1.0e23
radius = 2.0e6
position = { x = 3.52e11, y = 0.0, z = 0.0 }
parent_index = 2
color = { r = 0.7, g = 0.7, b = 0.7 }
eccentricity = 0.0
semi_major_axis = 3.52e11
[[bodies]]
name = "PlanetA2"
mass = 8.0e24
radius = 8.0e6
position = { x = 4.0e11, y = 0.0, z = 0.0 }
parent_index = 0
color = { r = 0.5, g = 0.6, b = 0.3 }
eccentricity = 0.0
semi_major_axis = 4.0e11

7
docs/implementation_plan.md

@ -8,6 +8,7 @@
- RK4 (Runge-Kutta 4th order) integration for physics
- Simple rotations (quaternions deferred)
- raylib for 3D visualization
- Single root body systems only (parent_index = -1 for exactly one body)
## Core Data Structures
@ -102,8 +103,7 @@ TOML-based config parser using tomlc17 library. Auto-calculates circular orbit v
**Config format details:**
- TOML array of tables: `[[bodies]]`
- Comments start with `#`
- `parent_index = -1` indicates root bodies (stars)
- Supports binary/multiple star systems with barycentric orbit calculation
- `parent_index = -1` indicates root body (star)
**Config format (TOML):**
```toml
@ -173,12 +173,11 @@ GUI-only application with interactive 3D visualization.
- Phase 1-4: Core physics, simulation, config loading, and rendering
- Raylib integration with 3D camera
- Distance and size scaling for visualization
- TOML config file system with solar_system.toml, example_binary_star.toml, test_simple.toml
- TOML config file system with solar_system.toml and test_simple.toml
- RK4 (Runge-Kutta 4th order) integration for improved accuracy
- Time scaling controls (speed up/slow down simulation)
- Pause/resume functionality
- Orbital elements calculation
- Binary/multiple star system support with barycentric orbits
### 🔨 Remaining/Future Work
- More accurate integration methods (Newton-Raphson propagation)

Loading…
Cancel
Save