pub struct SolveRequestV1 {
pub schema_version: SchemaVersionV1,
pub projectile: ProjectileV1,
pub rifle: RifleV1,
pub shot: ShotV1,
pub atmosphere: AtmosphereV1,
pub wind: WindV1,
pub solver: SolverV1,
pub effects: EffectsV1,
pub sampling: SamplingV1,
pub reticle: Option<ReticleRequestV1>,
pub corrections: Option<CorrectionsV1>,
}Expand description
A complete v1 trajectory-solve request.
All dimensional values use SI units named in the field. Every section is mandatory, even when all fields in a section have defaults; this keeps the top-level request shape explicit.
Fields§
§schema_version: SchemaVersionV1Must be exactly SOLVE_JSON_SCHEMA_VERSION_V1.
projectile: ProjectileV1§rifle: RifleV1§shot: ShotV1§atmosphere: AtmosphereV1§wind: WindV1§solver: SolverV1§effects: EffectsV1§sampling: SamplingV1§reticle: Option<ReticleRequestV1>Optional reticle hold-point request (MBA-1361). Absent (the historical shape) leaves
both the solve and the response byte-identical; present adds
SolveSuccessV1::reticle_hold and echoes itself at
ResolvedSolveRequestV1::reticle (0.33.0 decision-support Task 1), and nothing
else. It is a pure post-processing read of the solved samples — it cannot change
the trajectory.
corrections: Option<CorrectionsV1>Optional offline correction sources applied before the solve. Absent (the
historical shape) is byte-identical to every request from before the block
existed; present it is echoed at ResolvedSolveRequestV1::corrections so a
resolved request remains a complete description of the solve (the perturbation
kernel re-solves from it).
Trait Implementations§
Source§impl Clone for SolveRequestV1
impl Clone for SolveRequestV1
Source§fn clone(&self) -> SolveRequestV1
fn clone(&self) -> SolveRequestV1
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for SolveRequestV1
impl Debug for SolveRequestV1
Source§impl<'de> Deserialize<'de> for SolveRequestV1
impl<'de> Deserialize<'de> for SolveRequestV1
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl From<&ResolvedSolveRequestV1> for SolveRequestV1
impl From<&ResolvedSolveRequestV1> for SolveRequestV1
Source§fn from(r: &ResolvedSolveRequestV1) -> Self
fn from(r: &ResolvedSolveRequestV1) -> Self
Source§impl PartialEq for SolveRequestV1
impl PartialEq for SolveRequestV1
Source§impl Serialize for SolveRequestV1
impl Serialize for SolveRequestV1
impl StructuralPartialEq for SolveRequestV1
Auto Trait Implementations§
impl Freeze for SolveRequestV1
impl RefUnwindSafe for SolveRequestV1
impl Send for SolveRequestV1
impl Sync for SolveRequestV1
impl Unpin for SolveRequestV1
impl UnsafeUnpin for SolveRequestV1
impl UnwindSafe for SolveRequestV1
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
impl<T> Scalar for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.