v0.4.5 - 2026-08-28
Release Notes
The release LAN was the point of. Two people, two machines, one network: one
drives and the other watches — every screen, not a summary — and it works
between the terminal and the window in any combination.
Numbered 0.4.5 rather than 0.4.3: the version this jumps over is the one where
the two front ends spoke different protocols, and nothing was released from it.
The frame does not change. Every shm-bridge.exe and every installed panel
from v0.4.0 onward keeps working, and nobody has to fetch a bridge.
Added
-
Watch somebody else's session, on your own screens.
LANis the tenth
tab (0):Sshares this session,Wwatches,Enteraims at whoever the
cursor is on in the list of machines,Oswitches everything off keeping the
addresses. Nothing else is asked — the port, the rate and being findable are
chosen, and the one thing left is who to send to.What arrives is the whole reading, so the watching machine finds the laps,
builds the traces, draws the map's line and runs its own engineer. A spectator
gets every tab, in their own units and their own language, rather than four
sentences written on somebody else's machine. -
The copies find each other. A couple of hundred bytes every two seconds
on a multicast group everybody joins, carrying a name, a role, a port, the car
and the track — and nothing about the driving. Nobody reads an IP address out
loud unless the network refuses multicast, and typing one still works.
Announcing is a switch of its own: off does not stop you seeing anybody. -
The terminal and the window speak one protocol. Either can watch either.
Both machines have to be on 0.4.5: v0.4.2's window put a reading's parts
at the top level rather than under one key, so its datagrams cannot be read —
the shape changed, not just the name. The name is still recognised, which is
what lets the screen say "that copy is older" instead of "something arrived
that is not a session". Discovery is compatible: an older copy still shows
up in the list. -
Settings → SHARING
[G]— readings a second, only-while-on-track, the
quiet timeout, being findable, and whether a session is accepted from the
whole network or only from this machine. -
lan_probe— a probe that says which of the four halves of the network is
at fault: this machine's address, the port, the group, and whether anything is
arriving.docs/lan.mdis the walkthrough, with its real output in it.
Fixed
- The tyre pressure a car is judged against is its own class's. Reported on
Overtake: "this app will always give you false information ... esp when it
comes to tyre pressure". Every car was held to one figure — 27.5 psi, which is
a GT3's — so a single-seater sitting exactly on its own 21 psi was told to
inflate all four, on every lap, and the alert band it was outside was a band
it should never have been inside. The class table has carried a hot pressure
per class since v0.4.0 and the window's PRESSURES view was already reading it;
the advice was the half that was not. The alert band moves with the target,
and a number the driver typed still outranks the table. - A car with no wing is no longer told to change one. From the same report:
"I'm setting up a road car, and its telling me to adjust front downforce."
Road and vintage cars now get the mechanical half of the same fix — softer
front springs or anti-roll bar for understeer, softer rear for oversteer —
and nothing is invented to fill the gap. Advice about a part the car does not
have is worse than no advice: it is the line that makes somebody stop
believing the other seven. - The camber advice no longer contradicts itself. Told to add negative
camber on a car already at -3.5°, a driver would read the reason first — and
it said "the outer shoulder is not being loaded through corners", which is the
reason to take camber out. Too little negative camber means the tyre stands
up and the outer shoulder takes the load; that is what it says now, in the
same words the lap debrief has always used. The message names the edge as
well: "outer edge hotter" or "heated too evenly", rather than "contact patch
inefficient" beside a number the reader had to interpret. engineer_probeprints the tread it judged. Inner, middle, outer, the
inner-minus-outer that every camber verdict is made of, and the camber the
wheel is running. When that advice was questioned there was no way to ask the
program what it had read — only what it had concluded.- A lap saved by an older release loads again. Selecting your own reference
lap could answer "not a saved lap: missing fieldrpms". That field was
added to a sample and not to the format's rules, so every lap saved before it
stopped opening — and the laps most worth keeping are the oldest ones.x,
yandrpmsdefault now, and the rule is written where the next field will
be added: one that arrives after the format shipped defaults, the ones that
were there from the first version do not, so a genuinely wrong file still
fails rather than loading as a lap of zeroes. The regression test uses the
actual file that failed. - The demo fills the Analysis tab. It built one lap, and that tab is the
half of this program that is about comparing: with a single lap the picker
had one entry, there was no reference to overlay, the sector table had
nothing to subtract and the delta was flat. Five laps now, a second and a
half apart and slower in the corners rather than everywhere. - An empty mapping is no longer read as a running game. On Linux the bridge
creates the shared-memory pages when it starts and leaves them when the game
quits, so a reader gets aReadingof zeros whether or not anything is
running.games::Reading::car_is_loadedis the shared answer — the car's
name or its rev limit, not the status, because Assetto Corsa reports
Status::Offin the menus and in the garage. A watched session obeys the
same rule: a friend who has not started their game reads as waiting rather
than as a nameless car at 0 km/h.
Changed
- The summary receiver is gone from the terminal. Two sockets cannot hold
one port, and of the two the session is the one worth having.
broadcast::receiveris untouched in the core for relays and for anything
outside this project, andbroadcast_tostill sends the summary alongside. - The settings categories, their captions and the letter that opens each are one
list now. The footer's[A/S/D/F/G/H]is built from it, so it cannot go stale
the way[A/S/D]did twice. - Sharing and listening each have a switch of their own, so turning either
off keeps the address it was using rather than making somebody type it again
next time. - A receiver reports the port it actually got. Asking for port zero means
"any free one", and a screen has to be able to say which one that was. - The hint check walks the tab strip rather than a list of nine tabs written
out by hand — a tenth added to the program and not to the test is exactly the
failure that test exists to catch, one level up.
Known
- Both machines have to be on 0.4.5 to watch each other. There is no
half-working mode with v0.4.2, and the screen says so by name rather than
calling the datagram noise. - A whole reading is 1917 bytes, which is two IP fragments rather than one.
On a switched network that is nothing; over a mesh VPN it is why the rate is
a setting and why the LAN screen counts the readings that never arrived. - Assetto Corsa Competizione's advice thresholds are still Assetto Corsa's.
Camber and tread verdicts are withheld there and cannot be wrong; the brake
and pad numbers are owed a driven stint.docs/plan-acc.md§10 is the item,
and it is why the graphical front end still offers one game.
ac_tui 0.4.5
Install ac_tui 0.4.5
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/Rgosh/ac-pro-engineer/releases/download/v0.4.5/ac_tui-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/Rgosh/ac-pro-engineer/releases/download/v0.4.5/ac_tui-installer.ps1 | iex"Download ac_tui 0.4.5
| File | Platform | Checksum |
|---|---|---|
| ac_tui-x86_64-pc-windows-gnu.zip | x64 MinGW | checksum |
| ac_tui-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
shm-bridge 0.4.5
Install shm-bridge 0.4.5
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/Rgosh/ac-pro-engineer/releases/download/v0.4.5/shm-bridge-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/Rgosh/ac-pro-engineer/releases/download/v0.4.5/shm-bridge-installer.ps1 | iex"Download shm-bridge 0.4.5
| File | Platform | Checksum |
|---|---|---|
| shm-bridge-x86_64-pc-windows-gnu.zip | x64 MinGW | checksum |