Skip to main content

Module stats

Module stats 

Source
Expand description

Replay analysis: detect gameplay mechanics, accumulate stats, and export them.

This module ties together four layers:

  • analysis_graph — the AnalysisNode dependency 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 / *Event types 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 *GoalCalculator types).

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