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):

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.
backboard_bounce
fifty_fifty_state
flip_impulse
goal_tags
kickoff_types
labels
loose_possession
player_possession
player_state_span
player_vertical_state
possession_state
settings
timeline
touch_intention
touch_state

Structs§

ActiveFiftyFifty
An in-progress 50/50 contest being tracked.
AerialGoalCalculator
Tags goals scored from an aerial.
AerialGoalCalculatorConfig
Configuration thresholds for the aerial goal-tag calculator.
AirDribbleCalculator
Detects air dribbles from continuous same-player touches.
AirDribbleGoalCalculator
Tags goals scored from an air dribble.
AirDribbleGoalCalculatorConfig
Configuration thresholds for the air-dribble goal-tag calculator.
BackboardBounceCalculator
Detects backboard bounces and attributes them to the player who sent the ball.
BackboardBounceEvent
A ball rebound off the opponent backboard attributed to the player who sent it there.
BackboardBounceState
Per-frame tracking state for backboard bounces.
BackboardCalculator
Derives backboard-play stats from detected backboard bounces.
BallCarryCalculator
Detects ground ball carries from continuous ball-control sequences.
BallCarryEvent
A completed ball carry or air dribble with path, duration, and touch metrics.
BallHalfCalculator
Tracks which half of the field the ball is in over time.
BallHalfCalculatorConfig
Configuration thresholds for ball-half classification.
BallHalfEvent
A change in which half of the field the ball occupies.
BallProximityState
Ball-distance designations the player currently holds. These are not mutually exclusive (the absolute closest player is usually also their team’s closest), so they ride one event as flags rather than separate per-designation streams.
BallSample
A sampled ball state at a frame.
BallThirdCalculator
BallThirdCalculatorConfig
BallThirdEvent
BoostCalculator
Tracks boost-pad pickups and boost respawns per player.
BoostCalculatorConfig
Configuration thresholds for boost pickup/respawn detection.
BoostPickupEvent
A single boost pickup. Replaces the former pickup-comparison + ledger Collected/Stolen/ Overfill events: pad classification, theft, and amounts are all facets of one pickup.
BumpCalculator
Detects player-on-player bumps from player frame state and events.
BumpEvent
A player-on-player bump with attacker/victim and impact context.
BumpGoalCalculator
Tags goals involving a bump.
BumpGoalCalculatorConfig
Configuration thresholds for the bump goal-tag calculator.
CeilingShotCalculator
Detects ceiling shots from ball/player positions and touches.
CeilingShotEvent
A shot taken shortly after a player contacts the ceiling and drops back to the ball.
CeilingShotGoalCalculator
Tags goals scored from a ceiling shot.
CeilingShotGoalCalculatorConfig
Configuration thresholds for the ceiling-shot goal-tag calculator.
CenterCalculator
Detects centering passes during live play.
CenterEvent
A touch moving the ball from a wide position toward the central attacking area.
CompletedBallControlSequence
A finished continuous ball-control sequence with its samples and touches.
ContinuousBallControlCandidate
A candidate ball-control sequence being evaluated.
ContinuousBallControlPlayerStatus
Per-player status within continuous ball-control tracking.
ContinuousBallControlSample
A single sampled frame of a continuous ball-control sequence.
ContinuousBallControlState
Per-frame state of an active continuous ball-control sequence.
ContinuousBallControlTouch
A touch recorded during a continuous ball-control sequence.
ContinuousBallControlTracker
Generic tracker that groups per-frame samples into continuous ball-control sequences.
ControlFollowTracker
Watches the window after a touch to decide, by outcome, whether the touch was a control touch: did the toucher stay with the ball (close and speed-matched) or earn the follow-up touch? Resolutions are applied retroactively to the already-emitted touch event, mirroring how ball-movement credit is finalized.
ControlledPlayCalculator
Detects stretches of controlled play from ball/player positions and touches.
ControlledPlayEvent
A span of sustained controlled play with ball-progress metrics.
CorePlayerGoalContextEvent
Per-player context attached to a goal.
CorePlayerScoreboardEvent
A change to a player’s core scoreboard stats.
CounterAttackGoalCalculator
Tags goals scored on a counter-attack.
DemoCalculator
Detects demolitions from player frame state and frame events.
DemoEventSample
A sampled demolition event.
DemoGoalCalculator
Tags goals involving a demolition.
DemoGoalCalculatorConfig
Configuration thresholds for the demo goal-tag calculator.
DemolitionEvent
A single demolition, linking the demoer (attacker) to the demoee (victim). Each demolition emits exactly one of these events; the attacker side contributes a demo inflicted and the victim side a demo taken.
DetectionConfidence
Multi-dimensional confidence metadata for an event detector.
DodgeEvent
A dodge-start event, optionally carrying an estimated dodge impulse and the orientation trajectory of the dodge.
DodgeImpulse
An estimated dodge impulse derived from a measurable velocity change.
DodgeRefreshedEvent
A frame where a player’s dodge/flip availability is refreshed.
DodgeResetCalculator
Detects flip/dodge resets and resolves their outcomes.
DodgeResetEvent
A frame-level dodge refresh marked as occurring on the ball (a flip reset).
DodgeRotation
Orientation-trajectory features of a dodge, measured from the car’s rotation over a window after onset — independent of the (noisy) velocity impulse.
DoubleTapCalculator
Detects double taps from a backboard-bounce sequence.
DoubleTapEvent
A follow-up touch after an attributed backboard bounce forming a shot-like trajectory.
DoubleTapGoalCalculator
Tags goals scored from a double tap.
DoubleTapGoalCalculatorConfig
Configuration thresholds for the double-tap goal-tag calculator.
EmittedEvent
Link between an event definition and the graph node that emits it.
EmptyNetGoalCalculator
Tags goals scored into an empty net.
EmptyNetGoalCalculatorConfig
Configuration thresholds for the empty-net goal-tag calculator.
EventDefinition
Static, English-language metadata for a stat event type.
EventDefinitionCatalogEntry
One entry in the TypeScript event catalog: the slim, viewer-relevant view of an EventDefinition (id/label/category/hidden + expansion variants). The browser viewer derives its event list from a generated array of these so it can never drift from the Rust registry. Confidence/approach metadata is intentionally omitted — it is host/docs-only.
EventStream
Append-only buffer of emitted events exposing all events and newly added ones.
EventVariant
A concrete event-type key produced by expanding a parent EventDefinition (for example a boost-ledger transaction or a rotation role/depth state).
EventVariantTs
A variant entry in the TypeScript event catalog (owned, ts-rs-exportable).
FiftyFiftyCalculator
Detects 50/50 contests and their outcomes.
FiftyFiftyEvent
A contested ball interaction with touches/pressure from both teams in a short window.
FiftyFiftyState
Shared state of in-progress and resolved 50/50 contests.
FiftyFiftyStateCalculator
Maintains shared 50/50 contest state for downstream consumers.
FirstManChangeEvent
The debounced first man for a team changed from one player to another.
FlickCalculator
Detects flicks from ball/player state and touches.
FlickEvent
A dodge-powered touch following a short controlled carry setup.
FlickGoalCalculator
Tags goals scored from a flick.
FlickGoalCalculatorConfig
Configuration thresholds for the flick goal-tag calculator.
FlipImpulseCalculator
Detects dodge starts / flip impulses from player frame state.
FlipIntoBallGoalCalculator
Tags goals scored by flipping into the ball.
FlipIntoBallGoalCalculatorConfig
Configuration thresholds for the flip-into-ball goal-tag calculator.
FlipResetCandidateEvent
A heuristic underside-touch candidate used to connect old flip-reset follow-up logic.
FlipResetEvent
A flip reset confirmed once later converted by a dodge-powered touch before landing.
FlipResetFollowupDodgeEvent
A dodge that follows and converts a flip reset.
FlipResetGoalCalculator
Tags goals scored after a flip reset.
FlipResetGoalCalculatorConfig
Configuration thresholds for the flip-reset goal-tag calculator.
FlipResetOutcomeEvent
Resolution of a flip reset (an on-ball dodge reset), emitted once per reset at the moment its outcome becomes known: either it was used by a dodge-powered touch (with the reset-to-use latency) or it went unused.
FlipResetTracker
Tracks flip resets and their follow-up dodges.
FrameEventsState
Per-frame discrete game events extracted from the replay.
FrameInfo
Per-frame timing and index metadata.
FrameInput
The bundled per-frame input consumed by analysis-graph source nodes.
GameplayState
Per-frame gameplay state such as game phase and ball-hit flags.
GoalContextEvent
Aggregated context for a single goal.
GoalContextPosition
A position recorded in a goal’s context.
GoalPlayerContext
Per-player context surrounding a goal.
GoalTagAssignment
A goal tag assigned to a specific goal.
GoalTagDefinition
Definition of a goal tag and how it is matched against a goal.
GoalTagDetail
A small categorical descriptor copied from the mechanic event that produced a goal tag (e.g. a flick goal’s flick kind), so consumers can surface mechanic flavor without dereferencing related_events.
GoalTagEventRef
Reference to the event backing a goal tag.
GoalTagEvidence
Evidence linking an event to a tagged goal.
GoalTagMetadata
Metadata describing a goal-tag definition.
GoalTouchContext
Touch context leading into a goal.
HalfFlipCalculator
Detects half-flips from player frame state.
HalfFlipEvent
A dodge sequence that cancels a flip into an opposite facing direction.
HalfVolleyCalculator
Detects half-volleys from ball/player state and touches.
HalfVolleyCalculatorConfig
Configuration thresholds for half-volley detection.
HalfVolleyEvent
A fast touch shortly after the ball bounces off the floor, paired with a recent dodge.
HalfVolleyGoalCalculator
Tags goals scored from a half-volley.
HalfVolleyGoalCalculatorConfig
Configuration thresholds for the half-volley goal-tag calculator.
HighAerialGoalCalculator
Tags goals scored from a high aerial.
HighAerialGoalCalculatorConfig
Configuration thresholds for the high-aerial goal-tag calculator.
InFlightLedger
Holds an unordered set of in-flight items, drives their lifecycle uniformly, and records recognitions so finalized and in-flight events alike can be queried latently.
KeyedInFlightLedger
Holds at most one in-flight item per key, drives their lifecycle uniformly, and records recognitions for latent queries. The keyed analogue of InFlightLedger, for calculators that track a candidate per subject (e.g. per player).
KickoffCalculator
Detects and classifies kickoffs and their outcomes.
KickoffEvent
A kickoff with its type, outcome, and participant context.
KickoffGoalCalculator
Tags goals scored directly off a kickoff.
KickoffSupportEvent
Kickoff event for a supporting player.
KickoffTakerEvent
Kickoff event for the player who challenged the ball.
KnownIssueRef
Lightweight reference to a known detector issue.
LivePlayState
Shared state describing whether the current frame is live play.
LivePlayTracker
Determines whether each frame is live play and its gameplay phase.
LongDistanceGoalCalculator
Tags goals scored from long distance.
LongDistanceGoalCalculatorConfig
Configuration thresholds for the long-distance goal-tag calculator.
LoosePossessionCalculator
Builds the loose team-possession event stream. Self-contained: it derives the per-frame touch input from TouchState and drives its own [LoosePossessionResolver], so it does not perturb the strict possession path. Finalized segments are emitted as soon as the resolver decides them; non-live stretches are coalesced into inactive markers so the stream stays contiguous.
LoosePossessionEvent
A team-possession span under the loose definition: the team that last touched the ball owns it until the opponent demonstrably takes it away.
MatchStatsCalculator
Accumulates match-level scoreboard stats and per-goal context.
MovementCalculator
Tracks per-player movement classification and stats.
MovementEvent
A change in a player’s movement classification.
OneTimerCalculator
Detects one-timers from ball state and upstream pass detection.
OneTimerEvent
A first-touch shot taken off an incoming pass without trapping the ball.
OneTimerGoalCalculator
Tags goals scored from a one-timer.
OneTimerGoalCalculatorConfig
Configuration thresholds for the one-timer goal-tag calculator.
OwnHalfGoalCalculator
Tags goals scored from the shooter’s own half.
OwnHalfGoalCalculatorConfig
Configuration thresholds for the own-half goal-tag calculator.
PassCalculator
Detects passes between teammates.
PassEvent
A same-team touch sequence where one player sends the ball to a different teammate.
PassingGoalCalculator
Tags goals scored off a pass.
PassingGoalCalculatorConfig
Configuration thresholds for the passing goal-tag calculator.
PlayerFrameState
Per-frame per-player state (position, velocity, boost, inputs).
PlayerPossessionCalculator
Builds per-player possession spans from the shared possession tracker state.
PlayerPossessionEvent
A contiguous single-player possession span, merged across field-third changes and brief contested interruptions, enriched with the touch, ball movement, and sustained-control activity that happened while the player owned the ball.
PlayerSample
A sampled player state at a frame.
PlayerSettings
Captured per-player camera/control settings.
PlayerSpanTracker
Builds coalesced PlayerStateSpan streams for one facet: consecutive same-state contributions per player extend the open span, a state change closes it, and an explicit close (the facet stopped applying to the player) ends the span so a later resumption starts fresh.
PlayerStateSpan
A span of game time during which a single player held one categorical state of one positioning facet (field third, ball-relative depth, rotation role, …).
PlayerVerticalSample
A sampled per-player vertical-state measurement.
PlayerVerticalState
Per-player airborne/vertical state.
PlayerVerticalStateCalculator
Tracks per-player airborne/vertical state.
PositioningCalculator
Tracks per-player field positioning over time.
PositioningCalculatorConfig
Configuration thresholds for positioning classification.
PositioningSignalSnapshot
Cumulative per-player continuous totals.
PossessionCalculator
Builds the team-possession event stream from the backdating resolver’s finalized segments.
PossessionEvent
A team-possession span.
PossessionResolution
Outcome of a closed control-follow window. touch_index addresses the touch event whose possession tag should be set; possession is the tag to apply, or None when the window resolved without confirming possession.
PossessionState
Shared current ball-possession state.
PossessionStateCalculator
Maintains shared ball-possession state from touches and live play.
PostWallDodgeEvent
A dodge shortly after leaving a wall.
PowerslideCalculator
Detects powerslide usage from player frame state.
PowerslideEvent
A state-change event for effective grounded powerslide use.
ProducerDefinition
Static metadata for the analysis node and calculator that produce an event.
Recognition
A cheap, early record that an event has been recognized.
ReplayFrameInputBuilder
Builds the per-frame input fed into the analysis graph from replay state.
RespawnEvent
A player respawn (kickoff or post-demo). This is a general lifecycle event, not boost-specific; the boost grant is just one of its effects.
RotationCalculator
Tracks rotational roles over time.
RotationCalculatorConfig
Configuration thresholds for rotation classification.
RushCalculator
Detects rushes/over-commits during live play.
RushCalculatorConfig
Configuration thresholds for rush detection.
RushEvent
A quick possession transition where the attacking team has numbers moving out of its defensive half.
SettingsCalculator
Captures replay/match settings from metadata.
ShotProjectionResolution
Outcome of a closed shot-projection window. touch_index addresses the touch event to upgrade to a shot when is_shot is true.
ShotProjectionTracker
Watches the ball’s free flight after a touch and decides, from the settled trajectory before the next touch, whether the touch sent the ball goalward — recovering shots whose touch-frame velocity had not yet finished updating. Resolutions are applied retroactively to the already-emitted touch event, mirroring ControlFollowTracker.
SpeedFlipCalculator
Detects speed flips from gameplay/ball/player state.
SpeedFlipEvent
A ground-started diagonal dodge/cancel acceleration pattern, primarily for kickoff speed flips.
SustainedPressureGoalCalculator
Tags goals scored after sustained offensive pressure.
TerritorialPressureCalculator
Tracks territorial-pressure sessions during live play.
TerritorialPressureCalculatorConfig
Configuration thresholds for territorial-pressure detection.
TerritorialPressureEvent
A session of sustained territorial pressure by one team.
TimelineEvent
A high-level match timeline event (goal, demo, etc.).
TouchActionResolution
The resolved touch intention with supporting context.
TouchBallMovement
Ball movement produced by a touch.
TouchCalculator
Classifies ball touches into typed touch events.
TouchClassificationEvent
A classified ball touch, carrying its classification as a set of TouchTags (strength kind, surface/height context, action, possession outcome, and a contested flag) rather than fixed fields.
TouchIntentionClassifier
Stateful helper that classifies the intention of each touch.
TouchIntentionFrameContext
Per-frame context a touch intention classification draws on.
TouchState
Shared per-frame raw-touch state.
TouchStateCalculator
Detects raw ball touches per frame from ball/player state and frame events.
TouchTag
One classification tag on a touch: a (group, value) pair, mirroring the StatLabel (key, value) model the accumulators already count by. A touch carries a set of these instead of a fixed list of bespoke fields, so independent classifications coexist (a boom action and an advance possession outcome are separate tags, not rivals for one slot). Within a single-valued group (e.g. kind, surface, possession) at most one tag is present; flag groups (contested) are present or absent.
WallAerialCalculator
Detects wall aerials during live play.
WallAerialEvent
An aerial launched off a side or back wall: the player rides the wall, leaves it while airborne, and hits the ball in the air. Carrying the ball up the wall is not required.
WallAerialShotCalculator
Detects wall-aerial shots during live play.
WallAerialShotEvent
A shot credited to a player shortly after taking off from a wall.
WavedashCalculator
Detects wavedashes from player frame state.
WavedashEvent
A low airborne dodge that lands quickly and converts the dodge into ground speed.
WhiffCalculator
Detects whiffs and beaten-to-ball attempts.
WhiffEvent
A committed attempt near the ball that does not result in that player touching it.

Enums§

ActivityState
Whether the player is participating in the frame: on the field being tracked, or waiting out a demolition.
AirDribbleOrigin
Where an air dribble originated (ground vs wall).
ApproachConfidenceLevel
How plausible and stable the current detector approach is by design.
BallCarryKind
Whether a ball-control sequence was a ground carry or an air dribble.
BallDepthState
The player’s depth relative to the ball along the attacking axis.
BallFrameState
Per-frame ball state (present with position/velocity, or absent).
BoostPickupActivity
Player activity context at the time of a boost pickup.
BoostPickupDetection
How a boost pickup was detected (pad pickup vs inferred).
BoostPickupFieldHalf
Field half where a boost pickup occurred.
BoostPickupPadType
Whether a boost pad is a small or big (full) pad.
BoostPickupPadZone
Field-zone classification for a boost pickup location.
Boundary
A coarse game-flow boundary at which pending analysis work must resolve.
DepthRoleState
The player’s depth-ordered role within their team (most back / most forward / mid by normalized field depth).
DetectionIssueEvidenceLevel
Whether the detector is known to produce incorrect detections or misses.
Disposition
What should happen to an in-flight item, as decided either by a per-frame step or by a Boundary.
EventCategory
Coarse product/domain grouping for an event definition.
FieldHalfState
Which half of the field (relative to the player’s own goal) the player occupies.
FieldThirdState
Which third of the field (relative to the player’s own goal) the player occupies.
FinalizeReason
Why an in-flight item was finalized into an event.
FlickDirection
The handedness of a flick, from the dodge’s own sideways component (dodge_side).
FlickKind
The kind of flick detected, from the dodge direction (see [REVERSE_FLICK_MIN_BACKWARD]).
FlipResetOutcome
How a flip reset (an on-ball dodge reset) was ultimately resolved.
GameplayPhase
The current phase of gameplay (kickoff, active, replay, etc.).
GoalBuildupKind
Classification of how a goal’s buildup developed.
GoalTag
An assignable tag describing how a goal was scored.
GoalTagEventStream
Which event stream a goal tag’s evidence is drawn from.
GoalTagEvidenceKind
The kind of evidence supporting a goal tag.
GoalTagKind
Identifier for a kind of goal tag.
GoalTagModifier
An optional modifier qualifying a goal tag.
GoalTagPerformer
Who performed the tagged action relative to the goal.
KickoffAdvantage
Who the kickoff was ultimately good for once play settled, independent of who won the immediate touch battle. A team gains the advantage by the first of: stringing uncontested touches together long enough to count as real possession (even deep in its own half — losing the opening touch but collecting the ball cleanly is the collector’s advantage), pinning the ball in the opponent’s half with touch engagement and no clean opposing possession, or a qualifying kickoff goal. A kickoff where neither team achieves any of those within the window stays NoAdvantage.
KickoffApproach
How a player approached the kickoff.
KickoffBallDirection
Direction the ball traveled off the kickoff.
KickoffDirection
Direction a player approached the kickoff from.
KickoffFlipDirection
Local left/right direction of the dodge used during a kickoff approach.
KickoffOutcome
Overall outcome of a kickoff.
KickoffPossessionOutcome
Possession outcome following a kickoff.
KickoffSpawnPosition
Spawn position a player took for a kickoff.
KickoffSupportBehavior
Behavior of a supporting (non-taking) player on a kickoff.
KickoffTakerOutcome
Outcome for the player who took the kickoff.
KickoffType
The kickoff formation/type.
KickoffWinStrengthBand
Banded strength of a kickoff win.
PassKind
The kind of pass.
PlayDepthState
Depth relative to the play, used to tag touches with the toucher’s rotation context. This is no longer emitted as its own event stream — the unified ball_depth positioning facet covers depth spans on the timeline — but the rotation calculator still computes it per frame for touch classification.
PlayerVerticalBand
Vertical band a player occupies (ground, low air, high air).
PositioningPossessionState
Possession context used in positioning classification.
Possession
What happened to possession after a touch, assigned retroactively by ControlFollowTracker once the outcome is known. Orthogonal to TouchAction: it answers “did the toucher keep the ball?”, independent of what the touch was trying to do.
RespawnKind
The kind of boost respawn.
RoleState
A player’s rotational role (first/second/third man).
ShadowDefenseState
Whether a defender is shadowing an opponent-controlled attack toward their own net: retreating goal-side of the threat while staying close enough to challenge or save.
TerritorialPressureEndReason
Why a territorial-pressure session ended.
TestingThoroughnessLevel
Rough level of testing behind the detector definition.
TimelineEventKind
Kind of high-level match timeline event.
TouchAction
What a touch was trying to do with the ball, read at contact time.
TruePositiveEvidenceLevel
Whether the detector is known to produce correct detections.
WallAerialWall
Which wall a player took off from, relative to their attack direction.
WallSurface
Coarse wall surface used internally to keep setup/continuity tracking stable while the player slides along a wall. The attack-relative WallAerialWall is computed separately at the moment of the recorded takeoff.
WhiffEventKind
Whether a whiff was a true whiff or a beaten-to-ball attempt.

Constants§

AIR_DRIBBLE_EVENT_DEFINITION
ALL_GOAL_TAG_DEFINITIONS
ALL_PLAYER_VERTICAL_BANDS
ALL_PLAY_DEPTH_STATES
ALL_ROLE_STATES
ASSIST_EVENT_DEFINITION
BACKBOARD_BOUNCE_EVENT_DEFINITION
BALL_CARRY_EVENT_DEFINITION
BALL_DEPTH_EVENT_DEFINITION
BALL_PROXIMITY_EVENT_DEFINITION
BALL_THIRD_EVENT_DEFINITION
BOOST_PICKUP_EVENT_DEFINITION
BOOST_RESPAWN_EVENT_DEFINITION
BUMP_EVENT_DEFINITION
CEILING_SHOT_EVENT_DEFINITION
CENTER_EVENT_DEFINITION
CONTROLLED_PLAY_EVENT_DEFINITION
CORE_PLAYER_SCOREBOARD_EVENT_DEFINITION
DEFAULT_HISTORY_WINDOW_SECONDS
Default span, in seconds, over which finalized recognitions are retained for latent queries. Generous enough for “did X happen recently” questions while keeping the history bounded.
DEMOLITION_EVENT_DEFINITION
DEPTH_ROLE_EVENT_DEFINITION
DODGE_EVENT_DEFINITION
DODGE_RESET_EVENT_DEFINITION
DOUBLE_TAP_EVENT_DEFINITION
FIELD_HALF_EVENT_DEFINITION
FIELD_THIRD_EVENT_DEFINITION
FIFTY_FIFTY_EVENT_DEFINITION
FIRST_MAN_CHANGE_EVENT_DEFINITION
FLICK_EVENT_DEFINITION
FLIP_RESET_EVENT_DEFINITION
GOAL_CONTEXT_EVENT_DEFINITION
GOAL_EVENT_DEFINITION
HALF_FLIP_EVENT_DEFINITION
HALF_VOLLEY_EVENT_DEFINITION
KICKOFF_EVENT_DEFINITION
LOOSE_POSSESSION_EVENT_DEFINITION
MOVEMENT_EVENT_DEFINITION
ONE_TIMER_EVENT_DEFINITION
PASS_EVENT_DEFINITION
PLAYER_ACTIVITY_EVENT_DEFINITION
PLAYER_GROUND_Z_THRESHOLD
PLAYER_HIGH_AIR_Z_THRESHOLD
PLAYER_POSSESSION_EVENT_DEFINITION
POSSESSION_EVENT_DEFINITION
POWERSLIDE_EVENT_DEFINITION
PRESSURE_EVENT_DEFINITION
ROTATION_ROLE_EVENT_DEFINITION
RUSH_EVENT_DEFINITION
SAVE_EVENT_DEFINITION
SHOT_EVENT_DEFINITION
SPEED_FLIP_EVENT_DEFINITION
TERRITORIAL_PRESSURE_EVENT_DEFINITION
TIMELINE_ENVELOPE_EVENT_DEFINITION
TIMELINE_EVENT_DEFINITION
TOUCH_CLASSIFICATION_EVENT_DEFINITION
UNKNOWN_DETECTION_CONFIDENCE
WALL_AERIAL_EVENT_DEFINITION
WALL_AERIAL_SHOT_EVENT_DEFINITION
WAVEDASH_EVENT_DEFINITION
WHIFF_EVENT_DEFINITION

Statics§

EVENT_DEFINITIONS
Distributed catalog of every EventDefinition.

Traits§

InFlightItem
An item that can be held in flight by a ledger.
StatsEvent
Trait implemented by typed stat event payloads.

Functions§

all_event_definitions
All registered event definitions, sorted by id and de-duplicated.
combined_goal_tag_assignments
event_definition
event_definition_catalog
Build the TypeScript-facing catalog from the registry. Sorted/de-duplicated by id (inherited from all_event_definitions) so codegen output is stable.
goal_context_events_with_tags
goal_tag_definition
pending_event_definition
produced_event
produced_event_for
wall_aerial_surface_contact
Whether the car is riding a wall this frame: close to the actual wall surface (within [WALL_SURFACE_CONTACT_MAX_DISTANCE], excluding the goal mouths) with its roof leaning into the field along the inward wall normal. Position alone is not enough — a car aerialing near the wall must not count as being on it.
wall_outward_normal_and_distance
Horizontal outward wall normal and distance from position to the nearest wall surface (the flat side/end walls plus the corner arcs joining them). The distance is negative past the wall plane (e.g. inside a goal).

Type Aliases§

BallDepthEvent
BallProximityEvent
DepthRoleEvent
FieldHalfEvent
FieldThirdEvent
PlayerActivityEvent
RotationRoleEvent
A span of game time during which a player held one rotation role. Spans are only emitted while rotation tracking is active (live play, full 2v2/3v3 rosters), so they never carry RoleState::Unknown.
ShadowDefenseEvent