v0.6.5
Added
- Global hotkey
Ctrl+Alt+Ctoggles CSV logging on/off, mirroring the tray Start logging / Stop logging action. - Polling and rendering decoupled across threads — source runs on its own
QThread; UI repaints atQScreen.refreshRate()Hz. FrameBustransports the latest snapshot (deep-copied, under lock) to the UI and a bounded queue to the CSV writer thread.- Tray submenu Polling Hz — 30 / 60 / 100 / 120 / 144 / 250; choice persisted via
settings.json. - Tray actions Start logging / Stop logging + Open logs folder; CSV writes on a dedicated thread off the polling worker.
- CSV schema auto-built from
dataclasses.fields()onTelemetryFrame; new fields appear in the next session's file automatically. - New
overlay.pathsmodule —positions.jsonandlogs/sit next to the executable (CWD in dev);LIVE_TELEMETRY_DATA_DIRoverrides. - Countdown screen shows the detected game name above the digit, both centred at the detection-screen font size.
- AC EVO: KERS fields exposed (
has_kers,battery_temp_c, lap-cap flags, overtake/heat/deploy/recharge maps); chips KMAX/CMAX/OT/HEAT. - AC1: per-car ACD data plumbed to widgets — torque curve drives rev-bar tint, per-compound curves drive tyre temps, ideal psi surfaced.
WheelData.susp_vflag — true whensusp_m_tis rolling-max calibrated; suspension mid-band paints blue in that mode.
Changed
- AC1 boost bar: dropped
static.maxTurboBoostseed (unreliable on mods); right-edge now tracks rolling max of observedturbo_boost. - Engine rev-bar colour: uses per-car torque curve from ACD on AC1; otherwise self-calibrates from observed
current_bhppeak RPM. - Boost and KERS battery bar slots fully transparent on NA / ICE-only cars — no more black stripes at the top of the engine widget.
- AC EVO ABS blink merges all three signals (
absInActionint,absintensity float,graphics.abs_activebool); same logic for TC. - Per-wheel ABS heuristic on AC EVO uses documented
slipRatio(notwheelSlip); threshold 0.10 → 0.03 — fires before the wheel is lost. - Brake disk now always rendered on AC1 (neutral white base + blue ABS blink); other games keep temp-curve tint + white blink.
- AC1 + AC EVO: per-wheel body-roll height correction — per-axle
rideHeightsplit by relative suspension travel across the axle. - Engine
max_turbo_boostdefault 1.2 → 0.0 so NA cars on every source hide the boost slot via the existing> 0.05gate. - Default polling rate moved from CLI-only
--hzto a persisted setting changeable at runtime;--hz 0(new default) uses persisted value.
Fixed
- AC1 suspension calibration: removed 5 % headroom and 2× initial seed; static
suspensionMaxTravelnow trusted as-is. ACC/Rally too. - AC1 tyre-wear bar: raw
tyreWearis a grip/health value (~0.06 useful range), not a linear 0-100 % counter — remapped onto 0..1. - KERS deploy-power on AC EVO now gates on
physics.ersIsCharginginstead of inferring direction from SoC drop; robust at SoC 0 / 1. has_brake_temp=Falseon AC1 no longer hides the whole brake column — icon stays for ABS/lock blink, only the°Clabel is suppressed.- Dropped wasted writes to
brake_t/brake_t_normon AC1 (consumed only whenhas_brake_temp=True). - Sibling project fix:
lt_wheel_info.pybody-roll correction mixed Python-API and SHM reads across wheels — now consistent on both sides.
Full Changelog: v0.6.0...v0.6.5