SailGP: add 2x (128x64) support + Extended Standings display - #578
Conversation
Next Race becomes a single static schedule screen at 2x - SailGP title, round, location, race name, date range and start time - with the standings paging a few teams at a time along the bottom instead of a continuous marquee. Standings (flags) becomes a paged vertical leaderboard at 2x: each row is position, country flag, driver last name and points, four teams per page. Driver names come straight from the feed. 1x (64x32) layouts are unchanged. Adds supports2x to the manifest and regenerates both previews. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
New "Team Image" schema dropdown chooses country flags or team logos in the standings (both 1x and 2x); the value maps directly to the flags.json / logos.json feed files. The feed now also carries team_name, so the 2x standings rows show the team name above the driver name (e.g. "BONDS Flying Roos / Slingsby") with points on the right. Flags remain the default. Overlong team names word-wrap-truncate cleanly. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Next Race drops the start-time line and shows the standings two rows of three per page (six teams) using the freed vertical space. Both sliders are slowed a little (standings 75->100, Next Race pages 50->70 frames). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The 2x title bar now shows the current mode next to the brand ("SailGP
Next Race" / "SailGP Season Standings"). Next Race packs the standings
into three rows of three per page (nine teams), so 13 teams fit in two
pages instead of three.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Next Race standings render points in amber (code stays the standings color) so the numbers stop blending into the white schedule text. The leaders are bottom-aligned, and both sliders are slowed a bit more (standings 100->120, Next Race pages 70->95 frames). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The Race Info Color picker now overrides the round/race accent and the Standings Color picker overrides the amber points on the 2x Next Race screen, matching how the pickers already work at 1x. The picker's white default is treated as "not set", so the tuned 2x colors (teal accent, amber points) still show unless the user picks something. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
New 2x-only display option that keeps the Next Race schedule up top (date tightened up to reclaim a line) and lists the full table one team per line: place, full team name (CODE), and points. Shows four teams a page and slides to the next few, distributing 13 teams as 4/3/3/3 so the last page isn't a lonely single row. Falls back to the standard Next Race view at 1x. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Drop the even-out balancing in the extended view; page four at a time and let the last page fall where it may, matching the flag/logo standings paging (13 -> 4/4/4/1, a future 14th team -> 4/4/4/2). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Team Image and Standings Color now only appear when the full Standings display is selected (they don't apply to the Next Race screens), and Race Info Color + US Date format now show for both Next Race screens, including the new Extended Standings view (previously only the standard Next Race). Folds all of this into one datadisplay-driven generated section. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Both Next Race screens display standings, so keep the Standings Color picker available there alongside Race Info Color; only Team Image stays exclusive to the full Standings display. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Code Review
This pull request adds 2x display support (128x64) to the SailGP app, introducing new layouts for standings and next race schedules, along with schema updates to allow selecting team logos or country flags. Feedback highlights the need to correct a comment regarding standings paging, and to add defensive checks to prevent runtime errors when handling missing team codes in the images dictionary or null/empty driver names.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
- Guard the flag/logo image lookups (1x and 2x standings) so a team code missing from the images feed renders an empty slot instead of erroring. - driver_name() returns "" for a null/empty driver name. - Fix stale comment: standings page three rows of three. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
Thanks for the review — addressed all four in 3fd5031:
These are defensive (the feed reliably provides these keys), but happy to harden regardless. |
SailGP — 2x (128×64) support
Adds 2x rendering to SailGP. The existing 1x (64×32) layouts are unchanged; all 2x work is gated behind
canvas.is2x()(manifestsupports2x: true).Display modes
Other touches
Data comes from the existing
jvivona/tidbyt-dataSailGP feed (standings / next-race / flags / logos).Opening as a draft for now.