diff --git a/CLAUDE.md b/CLAUDE.md index 321ec53..b2e49ae 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -7,7 +7,6 @@ ## Architecture - C-style C++ (structs/functions, NO classes/templates) - Raylib (git submodule) for 3D - chose over SFML (no 3D support) -- See docs/verbose_project_overview.md for detailed technical architecture - See docs/implementation_plan.md for data structures reference ## Coding Rules diff --git a/Makefile b/Makefile index 27a7e09..9f10a77 100644 --- a/Makefile +++ b/Makefile @@ -14,7 +14,7 @@ TEST_TARGET = orbit_test # Source files CPP_SOURCES = $(SRC_DIR)/main.cpp \ $(SRC_DIR)/physics.cpp \ - $(SRC_DIR)/bodies.cpp \ + $(SRC_DIR)/simulation.cpp \ $(SRC_DIR)/config_loader.cpp \ $(SRC_DIR)/renderer.cpp @@ -86,12 +86,12 @@ test-build: $(CXX) $(CXXFLAGS) \ -c $(SRC_DIR)/physics.cpp -o build/test_physics.o $(CXX) $(CXXFLAGS) \ - -c $(SRC_DIR)/bodies.cpp -o build/test_bodies.o + -c $(SRC_DIR)/simulation.cpp -o build/test_simulation.o $(CXX) $(CXXFLAGS) \ -c $(SRC_DIR)/config_loader.cpp -o build/test_config_loader.o $(CC) -Wall -Wextra -g -ggdb3 -std=c99 -I./src -I./ext/tomlc17/src \ -c $(SRC_DIR)/../ext/tomlc17/src/tomlc17.c -o build/test_tomlc17.o - $(CXX) build/test_main.o build/test_integration.o build/test_energy.o build/test_orbital_period.o build/test_comet_orbit.o build/test_utilities.o build/test_physics.o build/test_bodies.o build/test_config_loader.o build/test_tomlc17.o \ + $(CXX) build/test_main.o build/test_integration.o build/test_energy.o build/test_orbital_period.o build/test_comet_orbit.o build/test_utilities.o build/test_physics.o build/test_simulation.o build/test_config_loader.o build/test_tomlc17.o \ -o $(TEST_TARGET) -lCatch2Main -lCatch2 -lm # Run automated test suite diff --git a/docs/implementation_plan.md b/docs/implementation_plan.md index 5f699b1..9ec771d 100644 --- a/docs/implementation_plan.md +++ b/docs/implementation_plan.md @@ -18,7 +18,7 @@ struct Vec3 { }; ``` -### CelestialBody (bodies.h) +### CelestialBody (simulation.h) ```cpp struct CelestialBody { char name[64]; @@ -34,7 +34,7 @@ struct CelestialBody { }; ``` -### SimulationState (bodies.h) +### SimulationState (simulation.h) ```cpp struct SimulationState { CelestialBody* bodies; @@ -55,7 +55,7 @@ struct RenderState { }; ``` -### OrbitalElements (bodies.h) +### OrbitalElements (simulation.h) ```cpp struct OrbitalElements { double time_days; @@ -82,7 +82,7 @@ struct AccelerationContext { ### Physics (physics.cpp/h) Vector math and gravity calculations. RK4 (Runge-Kutta 4th order) integration with `rk4_step()`. -### Bodies (bodies.cpp/h) +### Simulation (simulation.cpp/h) Simulation state management and updates. SOI detection using Hill sphere: `r_soi = a * (m/M)^(2/5)`. **Key functions:** diff --git a/docs/session_summaries/2026-01-04-refactor-orbital-elements.md b/docs/session_summaries/2026-01-04-refactor-orbital-elements.md index 592951c..799f582 100644 --- a/docs/session_summaries/2026-01-04-refactor-orbital-elements.md +++ b/docs/session_summaries/2026-01-04-refactor-orbital-elements.md @@ -3,8 +3,8 @@ ## Changes Made Refactored orbital elements calculation from test-specific to reusable code: -- Moved `OrbitalElements` struct from test file to `src/bodies.h` -- Moved `calculate_orbital_elements()` function to `src/bodies.cpp` +- Moved `OrbitalElements` struct from test file to `src/simulation.h` +- Moved `calculate_orbital_elements()` function to `src/simulation.cpp` - Created `tests/test_comet_orbit.cpp` with SOI transition tracking - Added `ParentChange` tracking to detect when comet switches gravitational parent - Removed `tests/test_soi_transitions.cpp` (not useful for detecting actual transitions) diff --git a/src/config_loader.h b/src/config_loader.h index ee3aecd..42c3542 100644 --- a/src/config_loader.h +++ b/src/config_loader.h @@ -1,7 +1,7 @@ #ifndef CONFIG_LOADER_H #define CONFIG_LOADER_H -#include "bodies.h" +#include "simulation.h" #include "../ext/tomlc17/src/tomlc17.h" // Load a system configuration from a file (TOML format) diff --git a/src/main.cpp b/src/main.cpp index 7071925..57b656e 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,5 +1,5 @@ #include "physics.h" -#include "bodies.h" +#include "simulation.h" #include "config_loader.h" #include "renderer.h" #include diff --git a/src/physics.cpp b/src/physics.cpp index 6e85768..fe32d23 100644 --- a/src/physics.cpp +++ b/src/physics.cpp @@ -1,5 +1,5 @@ #include "physics.h" -#include "bodies.h" +#include "simulation.h" #include // Vector addition diff --git a/src/renderer.h b/src/renderer.h index 7f1ed73..7519c4f 100644 --- a/src/renderer.h +++ b/src/renderer.h @@ -1,7 +1,7 @@ #ifndef RENDERER_H #define RENDERER_H -#include "bodies.h" +#include "simulation.h" #include "raylib.h" // Rendering state diff --git a/src/bodies.cpp b/src/simulation.cpp similarity index 99% rename from src/bodies.cpp rename to src/simulation.cpp index 2446cc0..9ec652e 100644 --- a/src/bodies.cpp +++ b/src/simulation.cpp @@ -1,4 +1,4 @@ -#include "bodies.h" +#include "simulation.h" #include #include #include diff --git a/src/bodies.h b/src/simulation.h similarity index 100% rename from src/bodies.h rename to src/simulation.h diff --git a/src/test_utilities.h b/src/test_utilities.h index d351c72..cd532d5 100644 --- a/src/test_utilities.h +++ b/src/test_utilities.h @@ -1,7 +1,7 @@ #ifndef TEST_UTILITIES_H #define TEST_UTILITIES_H -#include "bodies.h" +#include "simulation.h" #include "physics.h" struct OrbitalMetrics { diff --git a/tests/test_comet_orbit.cpp b/tests/test_comet_orbit.cpp index fd27c73..46e593b 100644 --- a/tests/test_comet_orbit.cpp +++ b/tests/test_comet_orbit.cpp @@ -1,6 +1,6 @@ #include #include "../src/physics.h" -#include "../src/bodies.h" +#include "../src/simulation.h" #include "../src/config_loader.h" #include "../src/test_utilities.h" #include diff --git a/tests/test_energy.cpp b/tests/test_energy.cpp index 19e9fae..a773374 100644 --- a/tests/test_energy.cpp +++ b/tests/test_energy.cpp @@ -1,6 +1,6 @@ #include #include "../src/physics.h" -#include "../src/bodies.h" +#include "../src/simulation.h" #include "../src/config_loader.h" #include "../src/test_utilities.h" #include diff --git a/tests/test_orbital_period.cpp b/tests/test_orbital_period.cpp index fa491c6..7ebf2f7 100644 --- a/tests/test_orbital_period.cpp +++ b/tests/test_orbital_period.cpp @@ -1,6 +1,6 @@ #include #include "../src/physics.h" -#include "../src/bodies.h" +#include "../src/simulation.h" #include "../src/config_loader.h" #include "../src/test_utilities.h" #include