1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
//! Standalone simulation runner for JEOD physics.
//!
//! Provides a [`Simulation`] struct for batch propagation, scripting, and
//! Tier 3 cross-validation tests. Owns all state and runs the `astrodyn`
//! pipeline internally.
//!
//! ECS adapters should **not** depend on this crate — use the per-body
//! functions from `astrodyn` directly instead.
//!
//! # Example
//! ```
//! use astrodyn_runner::SimulationBuilderExt;
//! use astrodyn::recipes::Mission;
//!
//! let mut sim = Mission::iss_leo().into_builder().build().unwrap();
//! sim.step_n(10);
//! let output = sim.body(0);
//! assert!(output.trans.position.raw_si().length() > 6_000_000.0);
//! ```
pub use ;
pub use StepError;
// Re-export astrodyn so downstream tests can access types through either path.
pub use astrodyn;
pub use RotationModel;
// Re-export the runner-side terminal-method extension trait from `builder`.
pub use SimulationBuilderExt;
// (Phase-10 cleanup, issue #253) The 12 types relocated from `astrodyn_runner`
// to `astrodyn` in Phase 6 of #101 are no longer re-exported here. Consumers
// import them directly from `astrodyn`:
// `use astrodyn::{VehicleConfig, GravitySourceEntry, SrpModel, ...};`
//
// `astrodyn_runner::astrodyn` is still re-exported above so any straggling
// `astrodyn_runner::astrodyn::VehicleConfig`-style paths continue to compile.
// Re-export FrameId for downstream API.
pub use FrameId;
// `Simulation` and its supporting public types live in the `simulation`
// submodule (issue #253). Re-exported here for API stability.
pub use ;
pub use PhaseTimings;