Package-level declarations
Types
Replay a recorded trace through an algorithm and score the result.
Stable algorithm identity. A string so that persisted rows survive refactors of the enum-ish set.
Everything needed to resume a journey across process death.
Device-derived scaling, computed once at the platform edge and handed in.
Which running total a fix's displacement was added to.
One location sample, stripped to what a distance algorithm can legitimately use.
What happened to a fix. Diagnostic granularity — never branch business logic on this.
What a map-matching provider reported for one MatchRequest.
One point as a map-matching request wants it: a coordinate, how much to trust it, and when it was recorded.
Decide what to present when the client's own distance and a map-matched distance disagree.
Everything one map-matching request needs, serialization-agnostic.
The seam that lets more than one mileage algorithm exist at the same time.
Where algorithms are looked up by id.
Trust the source; filter nothing.
The outcome of one reconciliation. Both source figures are always present — see MatchReconciliation — so a caller that disagrees with presentedDistanceM can still recover whichever figure it dropped.
The seam between "distance we computed from raw fixes" and "distance a road network says we drove".
What one replay produced.
A decorator that adds the three corrections TieredGpsAlgorithm structurally cannot make, without touching it.
Journey-scoped inputs that are not properties of any single fix.
Kalman-smoothed, speed-adaptive GPS cleaning — the algorithm Mileway's LocationProcessor actually runs today, extracted onto the MileageAlgorithm seam so its thresholds can be swept and its output can be shadow-compared against other algorithms.
One request-sized window of a longer trace.
Read and write recorded GPS traces, so a real drive becomes a regression test.
Turn a raw fix stream into something a map-matching provider can actually be asked about.
A named set of knob values for one algorithm.