//! FT8 synchronisation — re-exports from the protocol-generic
//! [`crate::core::sync`] module.
//!
//! As of v0.6.0 this module no longer hosts FT8-specific sync code:
//!
//! - `coarse_sync` was removed in #48 step B (commit history). FT8
//! coarse-sync is owned exclusively by
//! [`crate::ft8::decode_block::coarse_sync`], which uses the
//! WSJT-X `sync8.f90`-faithful 16-bin allsum noise estimator.
//! `decode.rs` and `decode_block.rs` call it directly.
//!
//! - `compute_spectra`, `fine_sync_power`, `fine_sync_power_split`,
//! `refine_candidate`, `refine_candidate_double` were removed in
//! #49 cat B (this commit). They were one-line trampolines into
//! `crate::core::sync::*::<Ft8>`. Internal callers
//! (`ft8::decode::process_candidate`) now turbofish the generic
//! functions directly. Out-of-tree FT8 callers should do the same.
//!
//! The re-exports below preserve the [`SyncCandidate`] and
//! [`FineSyncDetail`] types at their FT8-namespaced paths so naming
//! stays stable even though no FT8-specific code lives here anymore.
pub use crate;