sidereon 0.26.0

Thin ergonomic API over sidereon-core: SP3 loading and SPP/RTK/PPP positioning solves with rich result structs and one error enum
Documentation
use sidereon::sgp4::{
    DecayLatch as ModuleDecayLatch, DecayLatchedError as ModuleDecayLatchedError, FitConfig,
    Loss as Sgp4Loss, XScale as Sgp4XScale,
};
use sidereon::{DecayLatch, DecayLatchedError, Loss, XScale};

#[test]
fn facade_reexports_fit_loss_and_x_scale_types() {
    let config = FitConfig {
        loss: Loss::Huber,
        x_scale: Some(XScale::Unit),
        ..FitConfig::default()
    };

    assert_eq!(config.loss, Sgp4Loss::Huber);
    assert_eq!(config.x_scale, Some(Sgp4XScale::Unit));
}

#[test]
fn facade_reexports_sgp4_decay_latch_types() {
    let latch = DecayLatch::new();
    let module_latch = ModuleDecayLatch::new();
    assert_eq!(
        latch.first_failing_epoch(),
        module_latch.first_failing_epoch()
    );

    let _root_error: Option<DecayLatchedError> = None;
    let _module_error: Option<ModuleDecayLatchedError> = None;
}