TL;DR
The run viewer and leaderboards should not feel like separate systems.
The run viewer explains the recorded attempt. The leaderboard decides whether that attempt belongs in ranking context.
Both should resolve back to the same session and vehicle truth.
What the run viewer is for
The run viewer helps the user interpret the run itself.
That includes things like:
- metric tiles,
- graph views,
- quality state,
- and the vehicle attached to the run.
Its job is explanation, not just celebration.
What the leaderboard is for
The leaderboard is the ranking layer.
Its job is to place a run inside a broader comparison context while still preserving trust.
That only works if the leaderboard entry can be traced back to:
- the run,
- the session,
- and the vehicle that produced it.
Why continuity matters
If the viewer and leaderboard feel disconnected, users start asking the wrong questions:
- “Is this the same run?”
- “Why does the leaderboard trust this?”
- “What vehicle actually produced this entry?”
Continuity reduces doubt.
What should stay visible across both surfaces
At minimum, both surfaces should keep consistent access to:
- vehicle identity,
- run validity state,
- the relevant metric,
- and the path back to the recorded attempt.
That is what makes the system feel like one product instead of separate racing widgets.