Expand description
Replay analysis: detect gameplay mechanics, accumulate stats, and export them.
This module ties together four layers:
analysis_graph— theAnalysisNodedependency DAG that drives everything. Start here for the runtime model.- Calculators — the detection logic wrapped by analysis nodes. Each
detects one mechanic or maintains one piece of derived state and emits
typed events implementing [
StatsEvent]. They are re-exported at this module’s root (the*Calculator/*Eventtypes in the item list below). accumulators— plain structs that fold a calculator’s events into running per-player / per-team / per-match totals over the replay.- [
export] — the report-facing stat-field model: each accumulator implements [StatFieldProvider] to publish its values as labeled, unit-tagged [ExportedStat]s. timeline— assembles per-frame stat timelines for playback UIs.
§The calculators
Calculators group by what they produce (browse them via the [StatsEvent]
Implementors list, or the *Calculator entries in the item list):
- Mechanics — [
FlickCalculator], [HalfFlipCalculator], [SpeedFlipCalculator], [WavedashCalculator], [PowerslideCalculator], [FlipImpulseCalculator], [DodgeResetCalculator], [WallAerialCalculator], [WallAerialShotCalculator], [CeilingShotCalculator], [DoubleTapCalculator], [HalfVolleyCalculator], [OneTimerCalculator], [BallCarryCalculator] (carries / air dribbles). - Play & contests — [
TouchCalculator], [PassCalculator], [CenterCalculator], [KickoffCalculator], [BumpCalculator], [DemoCalculator], [RushCalculator], [ControlledPlayCalculator], [TerritorialPressureCalculator], [WhiffCalculator], [FiftyFiftyCalculator], [BackboardCalculator]. - Derived state — [
PossessionCalculator], [PlayerPossessionCalculator], [PositioningCalculator], [RotationCalculator], [MovementCalculator], [BoostCalculator], [PlayerVerticalStateCalculator], [LivePlayTracker]. - Match-level — [
MatchStatsCalculator] and the goal-tag calculators (the*GoalCalculatortypes).
See the stats-runtime guide and the confidence guide.
Re-exports§
pub use crate::boost_pad_locations::standard_soccar_boost_pad_layout;pub use accumulators::*;pub use labels::*;pub use timeline::*;
Modules§
- accumulators
- Accumulators: plain structs that fold a calculator’s per-frame events into running totals over a replay.
- analysis_
graph - The analysis-graph runtime: a dependency DAG of
AnalysisNodes that turn raw replay frames into derived state, gameplay events, and stats. - labels
- timeline