[PR #61] Live championship positions view #111

Open
opened 2026-05-07 00:18:43 +02:00 by BreizhHardware · 0 comments

📋 Pull Request Information

Original PR: https://github.com/IAmTomShaw/f1-race-replay/pull/61
Author: @JamieGeddes
Created: 12/16/2025
Status: 🔄 Open

Base: mainHead: live-championship-positions


📝 Commits (10+)

  • d6ea8e4 Implement live championship points view (WDC only)
  • 54eb357 Only show live standings option if data is actually available
  • ae243f4 Fix fastest lap indicator showing before race lap completion
  • a016d5d Add missing imports
  • 98400ad Resize championship view component to fit
  • ca1b03e Fix code formatting
  • fd0e2fd Improve performance by caching positions and reducing update frequency
  • 708ff30 Refactor ChampionshipStandingsComponent draw method to simplify
  • 18cedee Rename title to "Live standings"
  • 38e8204 Update file structure in README

📊 Changes

7 files changed (+739 additions, -22 deletions)

View changed files

📝 README.md (+1 -0)
📝 main.py (+3 -0)
📝 src/arcade_replay.py (+5 -1)
📝 src/f1_data.py (+245 -7)
📝 src/interfaces/race_replay.py (+160 -14)
src/lib/utils.py (+28 -0)
📝 src/ui_components.py (+297 -0)

📄 Description

Add live drivers championship points component

What?

Screenshot 2025-12-16 at 23 02 23

Add a visualisation of the current live accrued points for each driver:

  • Projected points are shown based on the current position in the race (25,18,15,12,10,8,6,4,2,1 for grand prix, 8,7,6,5,4,3,2,1 for sprint races).
  • Previous total points accumulated are shown, including any points from a sprint event on the same race weekend.
  • Bonus point for fastest lap is tracked for grand prix races only.

Why?

Allows tracking of the effect on the drivers championship of current race positions, and the potential impact if the current positions were to be maintained.

How?

Added a new ChampionshipStandingsComponent to show the current and projected standings. Evaluate the fastest lap dynamically up to the current point in the race (grand prix only).
The new component should dynamically resize based on visibility of the DriverInfoComponent.
Note the "+ n more entries" label can be slightly confusing, but lists the total number of drivers in the championship, rather than just the current race.


Hopefully this makes for an interesting feature, it's nice to be able to see the impact of position changes late on in a championship year! 🏎️


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/IAmTomShaw/f1-race-replay/pull/61 **Author:** [@JamieGeddes](https://github.com/JamieGeddes) **Created:** 12/16/2025 **Status:** 🔄 Open **Base:** `main` ← **Head:** `live-championship-positions` --- ### 📝 Commits (10+) - [`d6ea8e4`](https://github.com/IAmTomShaw/f1-race-replay/commit/d6ea8e4b337a73b6e113240ee89a513b6d8a9340) Implement live championship points view (WDC only) - [`54eb357`](https://github.com/IAmTomShaw/f1-race-replay/commit/54eb3579baa5d8ca86f7522e113cce035f0bbded) Only show live standings option if data is actually available - [`ae243f4`](https://github.com/IAmTomShaw/f1-race-replay/commit/ae243f4ddd470226f63c42db3d8b0993ab1ec774) Fix fastest lap indicator showing before race lap completion - [`a016d5d`](https://github.com/IAmTomShaw/f1-race-replay/commit/a016d5d0216cd4d45f300cec817c17bc90b60d15) Add missing imports - [`98400ad`](https://github.com/IAmTomShaw/f1-race-replay/commit/98400ad88bd541cc5bda13123c77d11b94e45d88) Resize championship view component to fit - [`ca1b03e`](https://github.com/IAmTomShaw/f1-race-replay/commit/ca1b03e0f3a2a35b75828505722929c2ff4cdc6d) Fix code formatting - [`fd0e2fd`](https://github.com/IAmTomShaw/f1-race-replay/commit/fd0e2fd78afc27434e81bce9d1c8ca3e77e7ee18) Improve performance by caching positions and reducing update frequency - [`708ff30`](https://github.com/IAmTomShaw/f1-race-replay/commit/708ff307581bddfc56db8b60a66411396b540c8e) Refactor ChampionshipStandingsComponent draw method to simplify - [`18cedee`](https://github.com/IAmTomShaw/f1-race-replay/commit/18cedeeeab42b9c2ba5d432785320dad4a00ed09) Rename title to "Live standings" - [`38e8204`](https://github.com/IAmTomShaw/f1-race-replay/commit/38e8204f59bed8ac2f79ad377efc6976d8860a05) Update file structure in README ### 📊 Changes **7 files changed** (+739 additions, -22 deletions) <details> <summary>View changed files</summary> 📝 `README.md` (+1 -0) 📝 `main.py` (+3 -0) 📝 `src/arcade_replay.py` (+5 -1) 📝 `src/f1_data.py` (+245 -7) 📝 `src/interfaces/race_replay.py` (+160 -14) ➕ `src/lib/utils.py` (+28 -0) 📝 `src/ui_components.py` (+297 -0) </details> ### 📄 Description # Add live drivers championship points component ## What? <img width="1704" height="1027" alt="Screenshot 2025-12-16 at 23 02 23" src="https://github.com/user-attachments/assets/911140bf-c6b4-44a8-9fd0-8a25129698dc" /> Add a visualisation of the current live accrued points for each driver: - Projected points are shown based on the current position in the race (25,18,15,12,10,8,6,4,2,1 for grand prix, 8,7,6,5,4,3,2,1 for sprint races). - Previous total points accumulated are shown, including any points from a sprint event on the same race weekend. - Bonus point for fastest lap is tracked for grand prix races only. ## Why? Allows tracking of the effect on the drivers championship of current race positions, and the potential impact if the current positions were to be maintained. ## How? Added a new `ChampionshipStandingsComponent` to show the current and projected standings. Evaluate the fastest lap dynamically up to the current point in the race (grand prix only). The new component should dynamically resize based on visibility of the `DriverInfoComponent`. Note the "+ n more entries" label can be slightly confusing, but lists the total number of drivers in the _championship_, rather than just the current race. --- Hopefully this makes for an interesting feature, it's nice to be able to see the impact of position changes late on in a championship year! 🏎️ --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/f1-race-replay#111
No description provided.