Skip to content

feat: add F1 25 telemetry support with Open HUD renderer - #4

Closed
LinyL4 wants to merge 12 commits into
rgracey:mainfrom
LinyL4:dev/f1-foundation
Closed

LinyL4 wants to merge 12 commits into
rgracey:mainfrom
LinyL4:dev/f1-foundation

Conversation

@LinyL4

@LinyL4 LinyL4 commented Sep 18, 2026

Copy link
Copy Markdown

Summary

F1 25 / F1 2026 Season Pack compatibility

  • Adds a native F1 plugin with two UDP decoders: F1 25 (packet format 2025,
    specification v3) and the F1 25: 2026 Season Pack (packet format 2026).
  • Selects the decoder by packet-format identifier and validates header fields
    accordingly. Live 2026 Season Pack builds that report game year 25 while
    using the documented 2026 layouts are accepted alongside the documented 26.
  • Adds live UDP diagnostics and an F1 UDP setup/forwarding guide
    (docs/F1_UDP.md), plus a README support entry.

Telemetry / plugin architecture

  • Extends the core telemetry model with the fields the F1 decoders supply
    (source protocol/format, steering, track position, assists, and related
    state) and adapts the AMS2, ACC, iRacing, and mock plugins to the updated
    trait/model.
  • Registers the F1 plugin and adds its settings.

Renderer / 60 Hz visualization

  • Caps visualization rebuilds behind a 60 Hz gate so high-rate UDP input no
    longer drives redundant redraws.

Open HUD

  • Adds the additive, wgpu-based Open HUD: per-channel color palettes, pedal
    meter, shift lights, steering arc, and large gear/speed readouts with
    radial underglow and a bundled display face.

Verification

  • cargo test --release --locked --target x86_64-pc-windows-gnu: 46 passed, 0 failed
  • Release build succeeds
  • git diff --check clean
  • 34 pre-existing float-literal future-compat warnings, unchanged

Non-goals

  • No performance testing performed
  • No changes to the existing telemetry pipeline semantics, VisualizationSnapshot,
    caching, or the Classic renderer.

@LinyL4 LinyL4 closed this Sep 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant