Skip to main content

ScenarioKind

Enum ScenarioKind 

Source
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

§

QuantumGnssFreeNav

§

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.

§

LeoNavmsg

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.

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

Source

pub fn as_str(self) -> &'static str

The canonical kind string for this variant.

Source

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.

Source

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

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for ScenarioKind

Source§

impl Debug for ScenarioKind

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Eq for ScenarioKind

Source§

impl PartialEq for ScenarioKind

Source§

fn eq(&self, other: &Self) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for ScenarioKind

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V