Module hold_curve

Module hold_curve 

Source
Expand description

HoldCurve: a solved, sampled drop-vs-range curve read by interpolation, and the sampled-trajectory helpers it is built on (MBA-1361/MBA-1362).

Promoted out of the CLI binary (0.33.0 decision-support Task 8) so a library consumer can reuse it without the cli feature – starting with the constant-drop range-card work HoldCurve’s own doc comment already nominates as its next consumer. No feature gate: must compile for wasm32 (pure math over already-resolved inputs; no fs, no clap – CLI argument resolution, InverseSolverLoadArgs::resolve, stays in main.rs and constructs HoldCurveLoad there).

Structs§

CardTruncation
A card that stopped short of the rows it was asked for, in the caller’s DISPLAY unit (MBA-1476 follow-up).
HoldCurve
A solved, sampled drop-vs-range curve expressed in ANGULAR units (MBA-1361/MBA-1362).
HoldCurveLoad
Everything one sampled hold curve needs, already in METRIC (MBA-1361/MBA-1362).
HoldPoint
One point read off a HoldCurve, in the ANGULAR units a hold is expressed in.
SampledFlight
A solved flight: the sampled grid, plus how far the bullet ACTUALLY got (MBA-1476).

Enums§

MarkToRangeOutcome
Result of inverting the hold curve for one mark subtension (MBA-1362).

Constants§

CARD_SAMPLE_INTERVAL_M
Distance interval every DOPE-card surface samples its trajectory on, meters (~1 yard).

Functions§

build_trajectory_components
Shared: build BallisticInputs + atmosphere + wind from common parameters (all in metric)
card_sample_max_range_m
How far out a card’s trajectory must be solved and sampled, given the furthest row it asked for (end_m). Meters in, meters out.
range_not_sampled_message
The one wording every card surface uses when its solved flight supplies NONE of the rows asked for (MBA-1476) — stated in the caller’s display unit, because that is the unit the request named the range in.
run_sampled_flight
Run a trajectory and return its sampled points AND its terminal reach at the given zero angle. See SampledFlight for why the reach is carried out alongside the samples.
run_sampled_trajectory
Run a trajectory and return sampled points at the given zero angle.
sample_at_range
Read a sampled trajectory at an EXACT range by linear interpolation between the two samples that bracket it (MBA-1476).