- Rewrite precalc_moon_orbits.py to output orbit params as dotted keys
(orbit.semi_major_axis = ...) instead of nested tables, conforming
to TOML 1.0 spec for Python compatibility
- Add print_cpp_expected_values() helper to script output
- Add new test_moon_orbits.cpp replacing old_tests version:
* MoonData struct now carries int parent_index instead of pointer
* Eliminate opaque pointer arithmetic for parent index comparison
* Collect failures in vector during sim loops, assert once at end
(reduces assertions from 763,230 to 43 per test)
- Add test_moon_orbits.toml generated from precalc script