Features
Sector Delta widget (by @dbadashboard)
Brand new widget that shows your live delta to your session-best sector time, or to a loaded ghost lap.
- Per-sector cards with a colour-coded accent (purple / green / yellow / red) so you can see at a glance which sectors you're up or down on
- An in-sector progress bar on the active sector card, plus a live running delta against the reference lap
- Toggle between "Ghost when available" and "Session best only" so you can decide whether ghost laps override your session best
- The Track Map now shares the same data — sectors on the map are colour-coded against the same thresholds, with thin dividers between each sector
Lap Delta column for the Relative widget (by @23Kev)
The Relative widget can now show recent lap-time deltas next to each driver, the same way the Standings widget already does — green when they were faster than you, red when slower. Configurable from 1 to 5 recent laps, and off by default.
Flag indicators in the Relative widget (by @gui-seppe and @creagel)
- Flag contour — when a driver has an active flag (meatball, black flag, slowdown), their row in the Relative widget now shows a coloured contour border. Toggle it off entirely if you'd rather not see them (by @gui-seppe)
- Consistent flag sizes — meatball, black flag, and slowdown flag indicators are now the same size across both Standings and Relative widgets, and a dedicated icon for slowdown was added (by @creagel)
Edit-mode quality of life (by @dbadashboard)
- A small gear button on each widget's edit-mode label opens that widget's settings page directly — no need to dig through the settings menu
- A small X button hides the widget from the overlay (without deleting it — re-enable from settings whenever you want it back)
- The Settings window is now always interactive in edit mode, and renders above overlay windows so you can keep tweaking without exiting edit mode
Highlight the leader on Track Map (by @spikethedog78)
Optional setting that inverts the leader's car colour on the track map so they stand out in the pack. Plays nicely with multi-class colours.
Gaps and intervals in minutes (by @BatMichoo)
Time gaps and intervals 60 seconds and longer now display as M:SS (e.g. 1:05) instead of raw decimal seconds (65.00). Negative values for cars ahead of you also format the same way (-3:48). Sub-60s gaps are unchanged.
Pitlane Helper speed unit (by @23Kev)
A new Speed Unit setting (Auto / MPH / KM/H) on the Pitlane Helper widget. Auto follows your iRacing display units preference. Replaces the old behaviour that guessed the unit from the speed limit numbers and sometimes got it wrong.
Lap Timer "show only when on track" (by @spikethedog78)
The Lap Timer widget gains the same "show only when on track" visibility option that other widgets already had.
Weather widget — precipitation (by @LanceVShoot)
- New precipitation percentage row in the Weather widget, with a toggle in settings
- The widget is also more responsive to narrow sizes — labels (Track, Air, Humidity, etc.) truncate gracefully and disappear under 120px wide, leaving icon + value
More drivers in Standings (by @LanceVShoot)
The Standings settings dropdown now lets you display up to 63 drivers (the full grid).
Twitch chat emoji (by @creagel)
The Twitch chat overlay now renders Twitch emotes inline.
Performance Optimisations (by @tariknz)
- Sector Delta widget — interpolation work is now skipped on every tick when the inputs haven't meaningfully changed, dropping the widget's re-render rate from ~60/sec to a handful, with no visible difference in the live delta
- Quieter logging — the log file no longer floods with internal "Missing tangents" / "P1 missing" / "Unrealistic lapsRemaining" messages from the reference-lap and fuel-calc paths. These are recoverable internal states with safe fallbacks and don't need to be in the log on every frame
Bug Fixes
- Blank overlays after PR #503 — fixed a regression where overlay windows could go completely blank mid-session (most often on multi-display setups, especially during gridding or after session transitions) and never recover without an app restart. Also added per-widget error boundaries so any future widget crash self-recovers within ~2 seconds instead of taking down the whole overlay, plus automatic recreation of any renderer process that actually dies (by @23Kev)
- Multi-class standings positions — driver positions and iRating change in multi-class sessions are now calculated per class, not against the full field, so a P3-in-class driver is no longer shown (or rated) as if they finished P15 overall (by @LanceVShoot)
- Standings ordering for drivers without a lap time — in multi-class sessions, drivers who hadn't yet set a lap time were all assigned the same position number, breaking the order at the bottom of the standings. They now order correctly (by @tariknz)
- Multi-class car colours — class colours in Standings/Relative/Track Map now match the colours iRacing itself uses for each class, instead of an unreliable conversion that often picked the wrong colour (and broke entirely in offline AI sessions) (by @LanceVShoot)
- Tachometer scaling — LEDs and the rounded pill background now scale with whichever of width or height is smaller, so tall+narrow tachometer windows no longer overflow. The pill also hugs the LEDs cleanly instead of stretching to fill the full widget height (by @tariknz)
- iRating change visible in practice and qualifying — iRating change is now shown for the whole official race weekend (practice / qualifying / race), not just during the race subsession. Still hidden in non-official practice sessions (by @LanceVShoot)
- iRating change rendering in Relative widget — fixed a display issue with how iRating change was rendered in the Relative widget (by @spikethedog78)
- Session bar styling — restored the session bar styling that was inadvertently removed alongside the info-bar opacity fix (by @LanceVShoot)
- Relative gap on soon-to-be-lapped cars — fixed wrap-around logic that was incorrectly flipping the gap sign for cars about half a lap away. Now uses physical track distance rather than the time delta to decide whether the car is a lap up or down (by @BatMichoo)
- Info bar opacity actually does something — the opacity slider for the info bar was being overridden by hard-coded opacity. It now affects the bar as expected. Settings layout for session visibility tidied up at the same time (by @spikethedog78)
- Session time during gridding — when iRacing reports
168 hours(a placeholder it sends during gridding), the session bar now shows nothing instead of "168 Hours" (by @LanceVShoot) - Driver tags "Add New" respects active filter — when filtering driver tags by group, clicking Add New now defaults the new tag to the filtered group instead of always falling back to the first preset. Group dropdown also now shows each group's icon and colour inline (by @LanceVShoot)
- Fuel calculator compact mode — the consumption grid now actually applies the compact / ultra-compact styling instead of falling back to the default layout (by @LanceVShoot)
Changelog
- feat: show the flag as contour in the relative widget by @gui-seppe in #345
- feat: add sector delta widget by @dbadashboard in #488
- feat: add Lap Delta column to Relative widget by @23Kev in #489
- feat: add speed unit selection to Pitlane Helper by @23Kev in #490
- feat: Relative/Standings gaps & intervals in minutes by @BatMichoo in #492
- feat: add Gear and X buttons to edit mode widget labels by @dbadashboard in #494
- feat: add precipitation to weather widget by @LanceVShoot in #499
- feat: highlight leader by @spikethedog78 in #503
- feat: twitchchat emoji by @creagel in #508
- fix/feat: "show only when on track" for lap timer by @spikethedog78 in #511
- feat: unified size of flags in standings/relative (meatball, black flag, slowdown) by @creagel in #519
- fix: fuel calculator consumption grid compact styling by @LanceVShoot in #495
- fix: driver tag Add New when groups are filtered by @LanceVShoot in #500
- fix: info bar opacity changes opacity by @spikethedog78 in #504
- fix: session time during gridding by @LanceVShoot in #505
- fix: Relative wrong value on soon to be lapped cars by @BatMichoo in #507
- fix: fixed irating change in relative by @spikethedog78 in #510
- fix: multi-class colors by @LanceVShoot in #512
- fix: sessionBar styling by @LanceVShoot in #513
- fix: show irating change in prac/qual by @LanceVShoot in #515
- fix: standings positions in multi-class by @LanceVShoot in #518
- fix: quiet hot-path logger.warn/info in interpolation and fuel calc by @tariknz in #520
- fix: prevent blank overlay renderers (Infinity class positions, error boundaries, crash recovery) by @23Kev in #521
- fix(standings): position bug + perf(sectordelta): drop 60Hz re-renders by @tariknz in #522
- fix(tachometer): scale LEDs by min(width, height) and let pill hug LEDs by @tariknz in #523
- chore: gemini md by @BatMichoo in #491
- chore: allow more drivers to be displayed in standings by @LanceVShoot in #502
- chore: enrich Storybook mock data with country flags and flag states by @tariknz in #524
New Contributors
- @dbadashboard made their first contribution in #488
Full Changelog: v0.2.1...v0.3.0