pub enum ScenarioKind {
Show 84 variants
Clock,
Inertial,
Integrity,
TimeTransfer,
QuantumTimeTransfer,
QuantumGnssFreeNav,
QuantumAnomalyDetect,
Hybrid,
Fusion,
HybridUkf,
GnssIns,
GnssSim,
Jamming,
Spoof,
SpoofDetect,
Sweep,
SweepNd,
Orbit,
Ephemeris,
LunarIntegrity,
LunarTime,
LunarVlbi,
LunarCombination,
LunarFrameRealise,
LunarService,
LunarDpnt,
LunarStationCoverage,
LunarInterop,
GravityMap,
Terrain,
TerrainSlam,
CombinedAltPnt,
Pvt,
MarsPnt,
ImpairmentEval,
QuantumTrade,
SpaceWeather,
OemInterop,
LaunchWindow,
Reentry,
EoCoverage,
SpacePacket,
AttitudeBudget,
Passes,
LinkBudget,
LunarTimeBudget,
RealtimeFrameEop,
HybridOpticalRf,
CislunarObservability,
CislunarArcRecovery,
ConflictResilience,
LunarAttackSurface,
ApertureDutyCycle,
LunarJamming,
LunarBeacon,
EarthGnssLunar,
InsTrnCoast,
LunarVlbiFim,
TrackingLoop,
AraimReferenceCheck,
LunarFrameCampaign,
LunarLlrDatum,
TelecomTiming,
SlotTiming,
Spectrum,
SolarSystem,
BodyPnt,
ConstellationDesign,
Campaign,
LeoSignal,
LeoPass,
LeoNavmsg,
LeoPvt,
LeoPpp,
NtnPositioning,
LeoPntChain,
ContactSchedule,
AcmLink,
Aocs,
EntryHeating,
EoRadiometry,
AscentLosses,
TimeTransferBudget,
OpticalAtmosphere,
}Expand description
The scenario kinds the engine can dispatch — the typed replacement for matching
on a raw kind string. ScenarioKind::classify resolves a TOML document’s
kind field to one of these; the dispatcher then matches exhaustively on the
enum, so adding a pack is a compile-checked change rather than a string typo.
Variants§
Clock
Inertial
Integrity
TimeTransfer
QuantumTimeTransfer
QuantumAnomalyDetect
Hybrid
Fusion
HybridUkf
GnssIns
GnssSim
Jamming
Spoof
SpoofDetect
Sweep
SweepNd
Orbit
Ephemeris
LunarIntegrity
LunarTime
LunarVlbi
LunarCombination
LunarFrameRealise
LunarService
LunarDpnt
LunarStationCoverage
Lunar reference-station coverage: a Monte Carlo sweep of the differential model over a south-polar user grid and a day of epochs.
LunarInterop
GravityMap
Terrain
TerrainSlam
CombinedAltPnt
Pvt
MarsPnt
ImpairmentEval
QuantumTrade
SpaceWeather
OemInterop
LaunchWindow
Reentry
EoCoverage
SpacePacket
AttitudeBudget
Passes
LinkBudget
LunarTimeBudget
RealtimeFrameEop
HybridOpticalRf
CislunarObservability
CislunarArcRecovery
Independent-estimator corroboration of the cislunar arc-length observability threshold: a seeded Monte-Carlo batch least-squares recovery study whose measurement partials are central finite differences of the forward model, so it shares no Jacobian with the observability Gramian it is tested against.
ConflictResilience
LunarAttackSurface
ApertureDutyCycle
Aperture navigation-versus-communications duty cycle from a contact plan.
LunarJamming
Lunar surface-navigation RF jamming with a per-satellite J/S table.
LunarBeacon
Surface-beacon augmentation of a lunar orbital navigation service.
EarthGnssLunar
Earth-GNSS reception at lunar distance, through the transmit sidelobes.
InsTrnCoast
INS/TRN coasting error growth and the coast durations reaching stated thresholds.
LunarVlbiFim
Lunar-VLBI station-coordinate covariance accumulated from the delay partials over a schedule of baselines and epochs.
TrackingLoop
Tracking-loop loss of lock: C/N0 thresholds with hysteresis, time to lose lock, spoof pull-in versus code and carrier offset rate, and a loop-dynamics denial radius reported alongside the power-ratio one.
AraimReferenceCheck
The engine’s ARAIM HPL/VPL against the published worked numerical examples
of the EU-U.S. Working Group C ARAIM Technical Subgroup reference airborne
algorithm, at the tolerance (TOL_PL) those documents themselves state.
LunarFrameCampaign
Seven-parameter Helmert frame datum driven by a simulated observing campaign: the lunar-VLBI beacon-coordinate information accumulated over a schedule and propagated through the Helmert design, with no transform injected anywhere.
LunarLlrDatum
The same seven-parameter Helmert frame datum driven by a real, archived observing campaign: measured ILRS lunar laser ranging normal points supply the schedule and every observation weight.
TelecomTiming
Telecom timing: time error, MTIE and TDEV of a synthetic GNSS holdover or an ingested series, with PASS/FAIL and margin against transcribed ITU-T masks.
SlotTiming
Slot timing: seconds until a free-running clock leaves a time-indexed slot’s guard, the dominant term, the fix cadence that keeps it inside, and an optional timing protection level for a receiver in orbit.
Spectrum
L-band spectrum: signal and jammer power spectral densities, a time-frequency waterfall, per-band J/S and effective C/N₀, and SigMF/Welch spectral estimates.
SolarSystem
The whole solar system at one epoch: positions, velocities, constants, light times and orbit tracks of the Sun, planets, Pluto and seven major moons.
BodyPnt
Positioning around any solar-system body: a navigation constellation around the body and an optional deep-space ranging link from Earth.
ConstellationDesign
Constellation design: Walker delta/star, explicit and multi-shell designs and the published GNSS presets, with a coverage and dilution-of-precision grid map.
Campaign
Campaign: existing kinds composed into a chained mission timeline, a parameter grid, a seeded Monte Carlo ensemble, or members run under shared conditions.
LeoSignal
Low Earth orbit (LEO) positioning, navigation and timing signal designs: band-limited spectra, code-tracking jitter, acquisition, GNSS compatibility and a band trade.
LeoPass
LEO pass and per-band link budget: geometry, Doppler, ITU-R propagation terms, C/N₀ against the MEO GNSS satellites in view, and a low-energy fix budget.
LEO navigation message: fit a broadcast ephemeris and clock to a LEO orbit, the user algorithm, mid-pass updates, and a documented binary and text encoding.
LeoPvt
Fused MEO and LEO position, velocity and time: Doppler positioning, joint pseudorange fixes with inter-system biases, polar coverage and LEO time transfer.
LeoPpp
Precise point positioning convergence with GNSS only and with LEO augmentation.
NtnPositioning
Positioning from a 5G non-terrestrial-network downlink via the Cramér-Rao bound.
LeoPntChain
One LEO-PNT system end to end: signal design, pass link budget, navigation message and fused MEO + LEO positioning, each stage’s output handed to the next.
ContactSchedule
Ground-contact planning: access windows of several satellites over several stations, DVB-S2 ACM data volume per pass and a conflict-free contact schedule.
AcmLink
One satellite over one station: each pass’s Es/N0 range and the DVB-S2 ACM data
volume against the constant-coding baseline.
Aocs
Reaction-wheel attitude control under MRP feedback, optionally closed on an MEKF.
EntryHeating
3-DoF point-mass atmospheric entry with stagnation-point convective heating.
EoRadiometry
Imager radiometry, MTF at Nyquist, relative edge response and GIQE 4 NIIRS.
AscentLosses
Gravity-turn ascent of a multi-stage vehicle with its gravity, drag, steering and back-pressure losses.
TimeTransferBudget
TWSTFT two-way equation, uncertainty budget and link stability, plus the stability of supplied UTC − UTC(k) and station-clock series.
OpticalAtmosphere
Optical PNT through the atmosphere: clear-air extinction, cloud and turbulence fades, weather-driven availability per site, outage durations coupled to clock holdover, and distance-correlated site diversity, with enhancement-technique what-ifs.
Implementations§
Source§impl ScenarioKind
impl ScenarioKind
Sourcepub fn classify(src: &str) -> Result<ScenarioKind, KshanaError>
pub fn classify(src: &str) -> Result<ScenarioKind, KshanaError>
Resolve the kind field of a TOML scenario to a typed variant. An absent or
clock kind (and, for backward compatibility, any unrecognised kind) maps to
ScenarioKind::Clock, the historical default pack.
Sourcepub fn to_id(&self) -> ScenarioId
pub fn to_id(&self) -> ScenarioId
The registry id for this kind — the canonical kebab string interned as a
crate::registry::ScenarioId.
Trait Implementations§
Source§impl Clone for ScenarioKind
impl Clone for ScenarioKind
impl Copy for ScenarioKind
Source§impl Debug for ScenarioKind
impl Debug for ScenarioKind
impl Eq for ScenarioKind
Source§impl PartialEq for ScenarioKind
impl PartialEq for ScenarioKind
impl StructuralPartialEq for ScenarioKind
Auto Trait Implementations§
impl Freeze for ScenarioKind
impl RefUnwindSafe for ScenarioKind
impl Send for ScenarioKind
impl Sync for ScenarioKind
impl Unpin for ScenarioKind
impl UnsafeUnpin for ScenarioKind
impl UnwindSafe for ScenarioKind
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.