replayFramesProvider top-level property
The full ordered frame history of a finished game, fetched once.
A finished game's history is immutable, so this is fetched a single time and cached for the life of the replay screen. A participant receives their own seat's projection; a non-participant replaying a public game receives the observer projection - the shape is identical either way, so the replay UI does not branch on it.
The same range endpoint backs live gap recovery; replay is just the whole range rather than a missing slice of it.
Implementation
@ProviderFor(replayFrames)
final replayFramesProvider = ReplayFramesFamily._();