deep_time/physics/mod.rs
1//! Relativistic physics core.
2//!
3//! ## Types
4//!
5//! - [`Position`] – Cartesian position (meters)
6//! - [`Velocity`] – Cartesian velocity (m/s)
7//! - [`Spacetime`] – local lapse α, speed β, and optional curvature
8//! - [`Drift`] – quadratic clock polynomial; also builds instantaneous rates
9//!
10//! Import: `use deep_time::physics::{Drift, Position, Spacetime, Velocity}`.
11//!
12//! ## Trajectory (proper time along samples)
13//!
14//! Integration methods live on [`Dt`](../struct.Dt.html): they walk tabulated
15//! states or [`Spacetime`](struct.Spacetime.html) snapshots and accumulate
16//! proper time with a trapezoidal rule.
17//!
18//! | Question | Method |
19//! |----------|--------|
20//! | Δτ over all samples | `proper_time_from_path` / `proper_time_from_states` |
21//! | Δτ on a named arc `[t₁, t₂]` | `proper_time_from_path_between` / `proper_time_from_states_between` |
22//! | Drift Δτ − Δt on `[t₁, t₂]` | `proper_time_drift_from_states` |
23//! | Path vs constant ground/reference rate | `proper_time_differential_vs_rate` |
24//! | Path A vs path B | `proper_time_differential_from_paths` |
25//! | Constant rate only | `proper_time_between_constant_rate` |
26//!
27//! **Typical use:** samples `(time, velocity, Φ)` with Φ in m²/s², pass
28//! `characteristic_length_scale = 0.0`, and call a `*_between` / drift /
29//! differential method. Samples must cover the requested interval.
30//!
31//! Longer guide (concepts, coverage rules, units):
32//! [docs/trajectory.md](https://github.com/ragardner/deep-time/blob/main/docs/trajectory.md).
33//!
34//! Runnable example:
35//! [examples/proper_time_path.rs](https://github.com/ragardner/deep-time/blob/main/examples/proper_time_path.rs).
36//!
37//! Rate-model theory:
38//! [docs/relativity.md](https://github.com/ragardner/deep-time/blob/main/docs/relativity.md).
39
40mod trajectory;
41
42pub mod drift;
43pub mod position;
44pub mod spacetime;
45pub mod velocity;
46
47pub use drift::Drift;
48pub use position::Position;
49pub use spacetime::Spacetime;
50pub use velocity::Velocity;