github tariknz/irdashies v1.0.0

7 hours ago

Features

Gantry Race Control (by @23Kev)

A new race-control view for spectating and replay review on a spare screen.

  • Incident review: Follow a live incident feed, jump the replay directly to an incident, and switch the camera to any driver from the standings.
  • Race-long lap graph: Review trace, position, or gap history that keeps recording while Gantry is closed and survives an app restart.
  • Flexible workspace: Resize the standings and incident panes, browse drivers beside the lap graph, and use standings columns that remain aligned at different window sizes.
  • Reliable detection: Crash detection is more accurate, works while spectating, and avoids duplicate reports during sustained incidents or replay rewinds.

Gantry standings and incident feed

Gantry lap graph showing a full race

Delta Speed (by @CtrlAltDale)

See how much faster or slower you are right now than your session-best clean lap at the same point on track.

  • Choose automatic, km/h, or mph units and optionally show the numeric difference.
  • The colour display fades from neutral toward green when faster or red when slower.
  • A clear empty state explains when a clean reference lap is still needed.

Standings and Session Bar Enhancements (by @toba-k, @Foribald, and @tariknz)

  • Resizable standings: Scale the Standings widget from 50% to 200% to suit your display.
  • More session information: Add fuel, last and best laps, top speed, manufacturer position, and class rank to Standings and Relative session bars.
  • Richer class headers: Use compact Strength of Field values and optional per-manufacturer car counts.
  • Practice estimates: Optionally display hypothetical iRating changes during online practice sessions.

Standings with compact Strength of Field and manufacturer counts

New Standings and Relative session-bar items

Input and Layout Improvements (by @Foribald)

  • ABS bar style: Show ABS activity as a highlighted fill beneath the brake trace, with the original overlay style still available.
  • Clearer gear display: Larger speed and unit text improves readability at smaller widget sizes.
  • Layout alignment markers: Edge midpoint indicators make it easier to centre and align widgets in edit mode.

ABS bar style in the Input widget

Widget edge midpoint markers in layout edit mode

Performance Optimizations (by @tariknz and @23Kev)

  • Reduced unnecessary background processing and display updates across normal dashboards.
  • Improved efficiency when several widgets or displays use the same session information.
  • Kept hidden overlays from consuming unnecessary processing until they become visible again.
  • Smoothed Track Map movement and restored fast, stable Blind Spot Monitor updates.

Bug Fixes

  • Settings window recovery: The settings window is moved back onto a connected display when a monitor is unplugged or rearranged (by @CtrlAltDale).
  • AI class headers: Standings now show useful class headers and driver counts in AI races, even when iRacing omits class names or ratings (by @tariknz).
  • Stable standings layout: Car numbers no longer shift adjacent columns as the displayed driver changes (by @tariknz).
  • Accurate manufacturer totals: Class-header manufacturer counts now use the full field instead of only the visible standings rows (by @tariknz).
  • Fuel label sizing: The AVG 10 consumption label no longer wraps or collapses at larger font sizes (by @tariknz).
  • Country flag columns: Empty flag columns are hidden automatically in AI and offline sessions (by @tariknz).
  • Settings spacing: Nested settings and session-bar reorder controls now have consistent alignment (by @tariknz).
  • Offline reference laps: Clean laps can now power live-position gaps and delta displays in offline sessions where iRacing reports class ID 0 (by @CtrlAltDale).
  • Team-race pit timing: Driver swaps during a pit stop no longer restart the pit timer and shorten the reported stop (by @CtrlAltDale).
  • Replay responsiveness: Track maps, standings, relative timing, and lap-time displays continue updating during paused and slow-motion replays (by @tariknz).
  • Reliable quitting: A stalled save can no longer leave the app running indefinitely after Quit is selected (by @tariknz).
  • Input trace visibility: The brake trace remains visible when ABS highlighting is turned off (by @Foribald).
  • Speed-unit preferences: The steering dial now respects the configured speed-unit layout (by @Foribald).
  • Browser dashboards: Restored session data and the animated live preview on the website (by @CtrlAltDale and @tariknz).
  • Development replay: The telemetry replay tool can launch correctly on Windows (by @CtrlAltDale).
  • Development reliability: Automated tests are more stable on heavily loaded build machines (by @tariknz).

Changelog

  • feat: resize slider in standings widget by @toba-k in #487
  • feat: add raw iRacing telemetry record and replay by @tariknz in #635
  • feat: show edge midpoint markers in layout edit mode by @Foribald in #637
  • feat: add ABS bar style to Input trace + gear display improvements by @Foribald in #638
  • feat: add session bar items - fuel, laps, top speed, manufacturer position, class rank by @Foribald in #640
  • feat: add compact SoF and per-manufacturer car counts to standings class header by @Foribald in #641
  • feat: add native macOS telemetry replay by @tariknz in #642
  • feat: add typed rate-aware channel bus by @tariknz in #650
  • feat: add fuel projection processor by @tariknz in #651
  • feat: migrate fuel renderer to channel snapshots by @tariknz in #652
  • feat: add Gantry race control overlay by @23Kev in #654
  • feat: move lap times to main-process channel by @tariknz in #659
  • feat: move car speeds to main-process channel by @tariknz in #660
  • feat: move reference laps to main-process channel by @tariknz in #661
  • feat: move relative gaps to main-process channel by @tariknz in #662
  • feat: migrate sector timing to channel processor by @tariknz in #663
  • feat: move Standings driver state to typed channel by @tariknz in #664
  • feat: move live positions to standings channel by @tariknz in #665
  • feat: move radio state to channel by @tariknz in #666
  • feat: move session bar data to channels by @tariknz in #667
  • feat: move driver controls to channels by @tariknz in #668
  • feat: move positional status to channels by @tariknz in #669
  • feat: move remaining widgets to channels by @tariknz in #670
  • feat: estimate iRating changes in practice by @tariknz in #689
  • feat: add Delta Speed widget by @CtrlAltDale in #692
  • feat: lap graph that survives a full race, and readable standings columns by @23Kev in #701
  • feat: standings columns that stay aligned, resizable panes, and a driver list on the lap graph by @23Kev in #702
  • fix: allow the telemetry replay runner to start on Windows by @CtrlAltDale in #653
  • fix: keep the settings window reachable when displays change by @CtrlAltDale in #655
  • fix: stabilize channel lifecycle contracts by @tariknz in #672
  • fix: show class headers in AI races by @tariknz in #680
  • fix: stabilize Phase 4 performance evidence by @tariknz in #681
  • fix: stabilize car number column width by @tariknz in #682
  • fix: count all manufacturers in standings by @tariknz in #683
  • fix: prevent fuel average label collapse by @tariknz in #684
  • fix: smooth blind spot monitor by @tariknz in #685
  • fix: hide empty country flag column by @tariknz in #686
  • fix: smooth track map marker movement by @tariknz in #688
  • fix: tidy settings section spacing by @tariknz in #690
  • fix: promote reference laps in CarClassID 0 sessions by @CtrlAltDale in #691
  • fix: restore the site live preview after the channel migration by @CtrlAltDale in #693
  • fix: initialize browser session bridge by @tariknz in #694
  • fix: stabilize tests on loaded CI runners by @tariknz in #695
  • fix: keep pit stop timer running across team race driver changes by @CtrlAltDale in #697
  • fix: measure Gantry speed over a baseline so crash detection is usable by @23Kev in #699
  • fix: keep replay overlays responsive by @tariknz in #700
  • fix: prevent shutdown persistence from blocking quit by @tariknz in #704
  • perf: parallelize CI validation and avoid duplicate packaging by @tariknz in #633
  • perf: poll session data at 2Hz instead of every telemetry tick by @23Kev in #645
  • perf: condition legacy telemetry by widget by @tariknz in #656
  • perf: share channel snapshot selectors by @tariknz in #676
  • perf: add evidence-aware channel benchmarks by @tariknz in #677
  • perf: adopt channel snapshot selectors by @tariknz in #678
  • chore: bump js-yaml from 5.2.1 to 5.2.2 by @dependabot in #636
  • chore: add deterministic telemetry performance benchmarks by @tariknz in #639
  • chore: update npm dependencies by @tariknz in #643
  • chore: add curated replay state harness by @tariknz in #646
  • chore: bump fast-uri from 3.1.4 to 3.1.5 by @dependabot in #647
  • chore: bump undici from 6.27.0 to 6.28.0 by @dependabot in #648
  • chore: extract deterministic fuel projection engine by @tariknz in #649
  • chore: give speed conversion a single home by @CtrlAltDale in #657
  • chore: record PR 656 Fuel performance A/B by @tariknz in #658
  • chore: isolate Telemetry Inspector stream by @tariknz in #671
  • chore: extract standings domain by @tariknz in #673
  • chore: record Phase 4 Windows performance profile by @tariknz in #674
  • chore: centralize processor runtime orchestration by @tariknz in #675
  • chore: add Phase 4.1 performance evidence by @tariknz in #687
  • chore: PRs follow repository publishing conventions by @tariknz in #696
  • chore: remove orphaned frontend modules by @tariknz in #698

New Contributors

Full Changelog: v0.9.0...v1.0.0

Don't miss a new irdashies release

NewReleases is sending notifications on new releases.