Pro Engineer/Features
Longer than most people expect from something that costs nothing.
Open whichever part matters to you. The counts on the right are real — they are checked against the rows before this page is deployed, because a landing page that overstates by six is worse than one that says nothing.
| Assetto Corsa and Competizione | Both read through the same core, so every screen works on either. A simulator is a folder rather than conditionals through the middle of the engineer. |
| You choose which, on the launcher | GAME: < … >, on every platform. Not detected: both games publish under the same three names, so a guess can be confidently wrong, and on Linux the helper has to be in one game's prefix before that game starts. |
| It tells you what your game reports | Before you press start, a list of what that simulator measures and what it does not — so nothing about a missing verdict is a surprise later. |
| Advice that rests on a missing measurement stays quiet | Competizione publishes no tyre wear and no temperatures across the tread, so the wear and camber verdicts are withheld there rather than reporting four unworn tyres as four destroyed ones. |
| "Not measured" is not "measured as zero" | Ride height, wind and track grip read zero on a game that does not publish them. The screens say which it is instead of drawing a car on the tarmac on a still day. |
| Brake pad and disc life | Millimetres per corner, on the game that measures it. Over a GT3 stint that is the consumable deciding the race, and it takes the place of tyre wear. |
| Track limits | A lap the game called invalid is stored as invalid and sets no best sector. |
| The wrong parser cannot attach | Each reader refuses pages declaring the other game's shared-memory version. Reading the wrong ones gives you plausible numbers rather than an error, which is the worse failure. |
| Pinned to a recorded session | The layout was measured off a real stint — a GT3 at Spa, 8376 samples — and the tests assert against those bytes. A page of zeros proves nothing, so nothing was taken on trust. |
| Ten screens, twenty-one views | Dashboard, telemetry, engineer, analysis, strategy, force feedback, setups, records, guide and settings — with sub-views inside most of them. |
| Twenty-seven plottable channels | Speed, pedals, steering, slip, g forces, revs, gear, fuel, brake bias, tyre core and tread temperatures, pressures, wear, suspension travel, load, camber, ride height, TC, ABS, force feedback and conditions. |
| One cursor across everything | Hover a trace and the same point on the track is marked on the map and on every other plot at once. |
| The circuit from the game's own files | Complete from the first frame rather than traced out as you drive, so there is a map before the first lap is finished. |
| Corners with the names they have | Read from the track's own sections: Eau Rouge is Eau Rouge, not T3. |
| The pit lane, drawn apart | Its own colour, because it is a road you may not race on. |
| How wide the road is | Read out of the track's AI line — the width at the cursor, and the circuit's typical width beside the corner count. |
| The road drawn under your line | Which side of the line each half-width belongs to is worked out from your own driving, and until it is, no edge is drawn rather than a guessed one. |
| Zoom to sixty times | Into one corner, with the driven line thinned to the screen instead of to a fixed count — so it stays smooth all the way in. |
| A scale bar | A drawing to scale that does not say what scale it is to is a picture. |
| Your car, from its own model | Outline, wheelbase and track read out of the model the game itself renders — a Miata and a GT3 are different shapes, and a mod nobody has seen works the same way. |
| Tyres the size the car has them | Each tyre's radius and width measured off the wheel in the model, so a fat rear is a fat rear on screen. |
| The car drawn as a drawing | Horizontal sections through the body — the bumper, the arches, the cabin — rather than one filled silhouette. |
| How far the car is leaning | Body roll from the travel at four corners and the measured track width, as an artificial horizon. |
| Tread as a gradient | Inner, middle and outer across the tyre with nothing drawn between them, instead of three tiles with two seams. |
| Readouts beside their own wheel | Laid away from the centreline, so on a narrow car they move apart rather than into each other. |
| Findings that name the corner | “T7 · Les Combes — 0.28 s”, with one instruction resting on two measured numbers, ranked by what each costs. |
| Peaks with a place | “Front brakes up to 675 °C in T1 and T14, over the limit for 4 % of the lap” — rather than a lap maximum with nowhere to go. |
| An unexplained loss says so | When nothing measured differs, it reports that instead of choosing a reason. |
| Any lap against any lap | Not only against your best. Two laps driven differently on purpose say more against each other. |
| The theoretical best lap | Your best sectors assembled, and the gap to it — time you have already proved you can find. |
| How repeatable you are | The spread from your best to your median: half your laps are inside it. |
| When to stop, answered first | One number and which of fuel, the clock or the tyres runs out soonest, with the arithmetic under it. |
| The panel and the bridge, from inside | Installs the in-game panel, says whether CSP is there and which version is installed, and fetches and starts the Proton bridge. |
| It says when the game stops | A paused session keeps a readable mapping and stops changing it; the status line says how long the numbers have been still, so a pause is not mistaken for a hang. |
| Native, not a browser in a window | One file of about twenty megabytes, no web engine and no second process rendering HTML — it opens instantly and leaves the frames in the game. |
| Tyre pressure per corner | Live, in psi, bar or kPa. |
| Inner / middle / outer temperature | All three per corner, not just the middle. The spread says whether a tyre is leaning the right way, which is what camber advice is made of. |
| Distance from your target hot pressure | Per corner, with front and rear targets set separately. |
| Cold pressure calculator | What to set in the garage to arrive at your hot target, from the ambient and track temperature. |
| Brake temperature | Per corner, with a configurable ceiling and an overheating verdict on the lap summary. |
| Tyre wear | Per corner, as a percentage of the tread. |
| Remaining tyre life in laps | From the worst corner rather than the average — a set is finished when one corner is. |
| Camber advice per axle | From the inner-minus-outer spread, keeping the sign. An outer edge running hot wants more negative camber; reading only the magnitude gives exactly the opposite advice. |
| Measured only under load | A tyre says nothing about camber on a straight — both edges run level there. The sample is taken while the car is actually cornering, and the verdict waits for a second of it. |
| Bottoming detection | Counted per corner from the suspension travel, with a ride-height verdict after the lap. |
| Stint length | How long you have been on this set, which is not the lap count. |
| A tyre window per class of car | Formula, GTE/GT2, GT3, GT4 and one-make, touring, road, vintage — read off the car itself, with ranges taken from published operating figures. One band for every car was chosen for road cars, and told a Formula driver that 78 °C was fine. |
| Brake ceilings per axle | The fronts do the work. One number for four corners is either too low for the front or blind to the rear — and at 800 °C it was silent on GT3s, which never reach it and manage brake temperature more than anyone. |
| Your own thresholds always win | Anything you set yourself overrides the table, and a mod car nobody has classified keeps your numbers rather than being pressed into a class it may not belong to. |
| Plain-language advice | "Fronts over 28.4 psi (target 27.5)" with what to do about it. |
| Grouped findings | Four cold tyres is one line. Fronts, rears, left side, right side, all four. |
| Severity ranking | Info, warning, critical, worst first — so the line you read at 200 km/h is the one that matters. |
| Up to eight lines | With a slider for how many reach the overlay, and the number actually sent printed under it. |
| Confidence on every line | A count of corroborating observations and their spread, not a number picked while writing the rule. One observation is never confident however extreme. |
| New advice looks different | From advice that has been on screen for four laps. |
| Cause and check | Why it is happening, and what to look at next run to know whether the change worked. |
| Shift point | Rev bar with a configurable offset from the limiter, so the light comes when you want it. |
| Fuel warning | Raised when what is left falls under the laps you configured. |
| It names which temperature it judged | The mean across the tread where a game publishes one, the core where it does not — and the line says which, so you are never comparing two different measurements without knowing. |
| Pressure targets follow the compound | Slicks, street and wet each have their own band, and on a green track the cold-pressure target is adjusted only where the game actually reports grip. |
| What the engineer made of the lap | Pressures and temperatures against your own windows, camber per axle, brakes, and how it was driven — up to eight lines. |
| Three laps of history | Page back through them with the game paused, in the terminal and in the car. |
| Sector times against the session best | Four tenths spread across a lap is a shrug; four tenths in one sector is a corner to go and look at. |
| Compare with the previous lap or your best | Both, because they answer different questions. |
| What is left | Laps of tyre life and laps of fuel, coloured by whichever runs out first. |
| A clean lap says so | Rather than leaving an empty column that reads as "the analysis did not run". |
| A lap that measured nothing says nothing | Zero pressures are not flat tyres. Every average that was never taken is treated as absent rather than as zero. |
| Corners found in the trace | A stretch where lateral load stays up long enough to be a corner rather than a kink. No track data, so it works on mods and on tracks nobody has written a table for. |
| Where the time went, corner by corner | Each corner is charged the track from its own entry to the next corner's entry — where a bad exit is actually paid for — so the sections add up to the lap's own delta. |
| Only the losses that matter | One key hides every corner that cost less than a tenth. |
| Braking point in metres | How much later or earlier than the reference, measured on the straight before the corner. |
| Entry, minimum and exit speed | All three against the reference, per corner. |
| Throttle timing | How long after the apex you got back on the power, against the reference. |
| Matched by distance, never by index | Two laps can detect a different number of corners. Comparing T5 to T5 by position in the list compares two different corners and invents a delta. |
| Chicanes stay two corners | A left never matches a right, however close together they are. |
| No comparison is not zero | A corner the reference lap does not have is drawn as no answer, because inventing one is worse than admitting it. |
| Direction, apex and peak load | Per corner, with the apex taken at the slowest point rather than the tightest — the timing is what this is for. |
| Ghost delta by distance | Against your own recorded best lap, not whatever reference the game picked. |
| Speed and RPM against time | The whole lap, plotted. |
| Both pedals and steering | Throttle, brake and steering angle traces, so a lock-up or a correction is visible rather than remembered. |
| Track map from your own trace | Drawn from the positions you actually drove, so it needs no track file. |
| Friction circle | The GG diagram: how much of the tyre's grip you are using, and in which direction you are wasting it. |
| Slip ratio | Against throttle, so wheelspin is separable from a car that simply has no grip. |
| Damper histograms | Suspension travel distribution per corner. |
| Sector splits | On tracks with two, three or four sectors, detected rather than assumed. |
| Theoretical optimal lap | From your best sectors, which need not have come from the same lap. |
| Save and load laps | As JSON with full metadata; load one back as a ghost on another day. |
| MoTeC-compatible CSV export | Named after the car, track and lap. |
| Reference times per car and track | Kept between sessions, and worked out from the car's own specifications when there is nothing to compare with yet. |
| The car or the driving | Understeer in the same quantity on every lap while the lap times move about is not following the driving. One that comes and goes with them is. |
| Both halves, or no verdict | Blaming the driving needs the symptom to move and the driving to have moved with it. Four laps driven to the same time carry no variation for a symptom to follow, so nothing is pinned on you. |
| It reports from lap one, and attributes from four | What happened is yours immediately — a two-lap sprint is not silent. Whose it is waits for a stint, because a car that understeers and a driver who turns in too early produce the same trace. |
| An episode is counted once | A slide held for half a lap is one moment, not the hundreds of samples it lasted. Counting per sample is how one long slide arrived as "oversteer, 1454 times". |
| Smoothness | How steadily you use the controls, rather than how fast. |
| Aggression | How hard the car is being asked to work. |
| Trail braking | How much brake is still on while the car is turning. |
| Coasting | The share of the lap on neither pedal — usually the cheapest time on the table. |
| Pedal overlap | Throttle and brake at once, counted. |
| Full throttle percentage | How much of the lap is spent flat. |
| Grip usage | How close to the friction circle's edge you actually run. |
| Lockups and wheelspin | Counted per axle, not guessed from the lap time. |
| Understeer and oversteer moments | Counted over the lap, so one moment is not a verdict. |
| Over-rotation | Steering past what the corner needs, with the worst excess angle — the tyres are scrubbing and the lap time shows it. |
| Consumption from your own laps | Measured lap by lap, not taken from the car's data files — which read zero on lap one anyway. |
| Laps remaining | On what is in the tank, with a configurable safety margin. |
| Fuel needed to finish | And how short you are, for a race of a given length. |
| Fuel per lap, recent history | The last few laps, so a heavy stint is visible rather than averaged away. |
| Race pace history | Lap times across the stint, so you see the drop-off rather than feel it. |
| Tyre life projection | Laps left on this set, beside the fuel, so the shorter one decides the stop. |
| Track conditions | Air and road temperature and grip, with how they have moved during the session. |
| Predicted lap time | From the delta as the lap runs, rather than after it ends. |
| Clipping meter | Whether the wheel is saturating and losing every detail above the clip point — the most common reason a car "feels numb". |
| Four verdicts, not a number | Optimal, light clipping, critical clipping, or a signal too weak to feel. |
| It says which way to go | "Safe to increase gain" or back it off, rather than leaving you to interpret a percentage. |
| Measured over the lap | Counted in frames, so one kerb strike is not a diagnosis. |
| Setup browser | Community setups by car and track, installed into the game without restarting it. |
| It knows which one you are on | Matched against the loaded car's fuel, brake bias and pressures. |
| Setup comparison | Field-by-field difference between two setups — wings, ARBs, camber, toe, springs, dampers, ride height, gearing. |
| Cold pressure targets per setup | Read from the setup file rather than assumed. |
| Nothing is overwritten quietly | Installing a setup is an explicit action, and the file it came from is named. |
| Five windows | The main panel, the engineer, telemetry, status and the lap debrief — opened and closed independently. |
| It installs itself | Every time the application starts, and rewrites itself whenever it differs from the running build. No step to forget. |
| Every block switches off | Independently, from inside the game, and the choice survives closing the window. |
| Readable at 4K | Text drawn at any size rather than at the five fixed tiers the platform offers. |
| It works outside a session | In the garage, in the pits, before the green — and it tells "waiting for the car" apart from "waiting for the application". |
| Its own look | Backing plate from transparent to solid, text size, line spacing, rules between lines, upper case, an editable colour palette. |
| A changed-settings tab | Everything that differs from the defaults, what it was, and a reset beside each line. |
| A typed console | For what has no widget. |
| Two languages in the car | The panel's own words follow the application's language, not the game's. |
| It computes nothing | Lua runs on the render thread, where a millisecond is a sixth of the frame budget at 165 Hz. Everything is worked out on the desktop side and copied in. |
| A diagnosis when it is blank | One screen that says which of the application, the bridge and the panel does not fit — the question this project gets asked most. |
| Somebody else's session on your screens | One person drives; the other sees the dashboard, the traces, the map, the corner table and the engineer — of the driving happening on the other machine. |
| Every screen, not a summary | What travels 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 can ask the same questions the driver can. |
| In your own units and your own language | Because the sentences are written on the machine reading them, not copied from the one that sent the numbers. |
| Either front end, either way round | The terminal watching the window, the window watching the terminal, or two of either. One protocol since v0.4.5. |
| Two keys | S shares, W watches. The port, the rate and being findable are chosen for you; the only thing asked is who to send to. |
| Nobody reads an address out loud | Copies announce themselves on a group everybody joins and appear in each other's list, with the car and the track beside the name. Typing an address still works, for a network that blocks multicast. |
| An announcement says nothing about the driving | A name, a role, a port, the car and the track. A machine with no business here can read every packet on the group and learn a name — and a test keeps it that way. |
| Being findable is its own switch | Off does not stop you seeing anybody: listening is free and says nothing. For a hotel, an office, a LAN party. |
| It says what the link is doing | Who is sending, at what rate, how old the picture is, the worst it has been, and how many readings never came. Heard-from-and-gone-quiet is not the same state as nobody-ever-sent. |
| A watcher never writes a record | Somebody else's lap is not your personal best, and a file that outlives the session is the one place that mistake would be permanent. |
| The friction circle | What the GG diagram is actually telling you, and why the rectangle is slow. |
| Tyre thermodynamics | Molecular friction, the inner/middle/outer matrix, and what each pattern means. |
| Differential tuning | Power lock, coast lock, and what each does to entry and exit. |
| Suspension frequencies | Natural frequency in Hz, the motion ratio trap, packers and bump stops. |
| Dampers | Bump against rebound, and which one you are actually feeling. |
| Aerodynamics | The aero seesaw, rake angle, and the weight penalty of downforce. |
| Braking | Trail braking, lift and coast, and reading the delta. |
| Wet setups | The golden rules of rain, and why steering goes light. |
| Sixteen chapters in all | Written to be read between sessions, in the application, offline. |
| A MODULES tab, and seven things in it | Each says what it costs before you press anything, what it depends on, how large it is and when it last changed. Nothing is on until you turn it on. |
| Off, a module costs nothing at all | Not the code, not the memory, not the frame time — and that is asserted by a test rather than promised. |
| On takes effect at once | No restart. The tab appears, the setting applies, the handbook grows a chapter. |
| The list comes off the site | So a new module or a corrected description needs no new release. With no network, the copy built into the program is used instead. |
| A module too new for your build says so | “Needs Pro Engineer x.y.z”, rather than a button that would do nothing. |
| A tab a module added says where it came from | One line at the top with the module's name and where to turn it off, because a screen the program did not ship should not pretend it did. |
| Some modules add no tab at all | The Logbook changes a table that was already there; Call Outs adds one line across every screen. A module is a part of the program, not necessarily a page. |
| A module can carry its own settings | Drawn on its card, beside the thing they are about, on the page you are already on when you wonder. |
| One module really is a download | Nine ready-made channels, fetched from the site and checked against the checksum it publishes. Everything else ships inside the program and says so. |
| A STUDIO tab: a rail, your document, and what it draws | All three at once. Type a line and the screen it makes is beside it, following the car. |
| One line per thing you want to see | Speed (km/h) = speed. Give it a range and it is a bar; put ~ in front and it is a line over the lap. No shape keywords to remember. |
| Sentences, with the car written into them | "Doing {speed:0} km/h in gear {gear:0}." Put when after it and it appears only while that is true — which is how a warning is written. |
| A canvas, with eight marks on it | Dots, lines, boxes, rings, arcs, text, the whole lap as a shape, and where the car is on it. A rev counter with a needle and a red zone is nine lines. |
| A map of the track you are on, in two lines | path x, y draws the circuit fitted to the canvas; here x, y puts the car on it. |
| Ask your best lap what it did here | best(speed) is what that lap was doing at this place on the track, so speed - best(speed) is the one number every telemetry program exists for. Nothing at all until there is such a lap. |
| Things a formula can do, not only work out | print, warn, alert and title. A row that fired a warning draws itself in that colour. |
| Things it keeps between frames | state best = 0 and remember best = max(best, speed): a peak, a counter, how long something has been true. |
| Seventy-two channels, under nine headings | Every tyre's core and tread temperatures, its pressure, wear and slip; every brake's disc and pad; load, travel and camber at each corner; fuel, bias, the aids, ride heights and the weather. |
| Questions about the whole lap | highest, lowest and average, worked out once when the lap changes rather than at every point of it. |
| Trigonometry, and eleven more functions | Every angle in degrees, in and out, because every angle this program shows is. |
| An editor, not a box of grey text | Colour as you type, a mark under the word that is wrong, names that finish themselves, line numbers, and indentation that keeps itself. |
| Stand in for one of the program's own tabs | instead of DASHBOARD, and your screen is where the dashboard was. It says so every time it is opened. |
| Or one sub-tab of one | instead of ANALYSIS / CORNERS replaces that sub-tab alone; the other seven stay the program's own and the strip stays where it is. |
| The program's own tabs arrive as editable documents | Press a tab's name and its rows are in the editor as they are drawn now — taking a reading off it is deleting a line. What cannot be written in this format is named before you start. |
| Builds: the same program, arranged more than one way | Each its own file under a name, switching in one press, a new one copied from the one you have. |
| What it draws, in a window of its own | A real second window you can put on the other monitor, while the editor takes the whole of the first. |
| Send a screen to somebody as one line | A string that survives being pasted into a chat window. A half-line is refused rather than half-applied. |
| A document can name itself | And it appears on MODULES beside the ones that shipped, saying which tabs it adds and whether every line reads. |
| It cannot hang your window | No loops, no recursion, nothing that allocates while it runs, every jump forward. That is what lets a document somebody wrote run inside a program you are racing beside. |
| A circuit is not flat, and this is the map that says so | Eau Rouge climbs forty metres in three hundred; the Corkscrew drops six storeys. From above, all of them are a bend. |
| The elevation at its own size | The slopes the track really has, not a hill drawn taller to make a point. Tipping it is what shows the slope. |
| The road at its own width | Out of the track's own files — eleven metres at Spa and half that through the Bus Stop. |
| Kerbs, striped the way circuits paint them | At the road's own edges, with the pit lane, the start line, the sector lines, the corner names and the DRS zones. |
| Lit by a sun | A real surface normal and one light, so a climb reads as a climb and a flat road is one brightness whichever way it winds. |
| A free camera | A switch, then W A S D to fly, R and F for up and down, the pointer to look. It cannot go through the road. The turntable is still there and is what it opens with. |
| Air, with distance | Far parts of the circuit fade toward the page, which is most of what makes it read as a place rather than a diagram. |
| Your lap where you actually drove it | From the car's own position, not down the middle of the road — so running wide, clipping an apex and a different line into a corner are visible as what they are. |
| Your quickest lap's line under it | Quiet and unbroken, so you can see whether you took a different line or the same line more slowly. |
| Coloured by what you are looking for | Against your best lap, or by speed, throttle, brake, gear or height. |
| The car, at its own size and in its own shape | Its outline read from its own model, pointing along the road. Zoom into a corner and it is what says how much of the road you were using. |
| Point at the lap and it says what was happening | Speed, gear, the pedal that is down, where round the lap, and how far off your best you were at that exact place. |
| Three levels of detail, and it says what each costs | For a machine the game is already using all of, the road and your lap and nothing else. |
| Five palettes, including a light one | For a daytime desk or a stream overlay. They come from the shared core, so the terminal and the in-game panel offer the same five under the same names. |
| Fifteen things about how it reads | Four text sizes, three spacings, square or soft corners, three weights of border, three heights a panel lifts, bars plain or quartered, how loud a verdict colour is, what sits behind the screens, proportional prose, and one colour instead of two. |
| The big numbers, on their own | The readings you take at a glance get larger and nothing else moves — so a window on a second monitor reads from across the room and still holds as much. |
| Contrast, and warmth | Contrast is distance from the background rather than brightness, which is what the word has to mean on a light palette too. Warmth is for two in the morning, and leaves blue blue. |
| Put it all back, in one press | Every setting, on both screens. |
| Motion, for a machine with frames to spare | Panels rising into place, a cascade down the page, a panel answering the pointer, the worst reading breathing, and the backdrop drifting — each on its own switch. |
| How long is separate from how much | Calm, steady or quick changes what an animation takes rather than how far it travels. They are different tastes. |
| What it will not do is roll a number | An eased number is a number nobody measured, shown as though somebody had. |
| Call Outs: one line, on every screen | The single worst thing the engineer currently has to say, wherever you are. Nothing at all when there is nothing to say, which on a clean car is most of a stint. |
| The Logbook: what you changed, against the times it produced | Every session carries how much its best lap moved from the evening before it in the same car, and a line you write about what you altered — typed straight into the row. |
| Windows, Linux and Steam Deck | Under Proton, with a bridge for the overlay and a diagnostics screen that says which piece does not fit. |
| About 0.1 % of one CPU core | A terminal application, so no GPU cost at all on the desktop side. |
| Reads the game safely | The shared-memory pages are re-read until two reads agree, so a frame caught mid-write is discarded rather than drawn. |
| Nine screens | Dashboard, engineer, telemetry, analysis, setups, strategy, force feedback, settings and the guide. |
| Wide or tall | Every screen has a second layout for a portrait monitor or a narrow window. |
| UDP JSON feed | The computed frame, ten times a second, for writing your own front end in about fifteen lines. |
| Watch another driver | On the same network: their telemetry and their engineer in your own panel. |
| Every key rebindable | Five categories of setting, with conflict detection, and every on-screen hint printed from the binding — so it cannot tell you the wrong key. |
| Works on two keyboard layouts | A rebound letter keeps working in Cyrillic, because a driver in a race does not stop to switch layout. |
| Two languages and three unit systems | English and Russian; psi, bar or kPa; Celsius or Fahrenheit. |
| Themes | An editable palette, in the terminal and in the car. |
| Screenshots of the terminal | One key writes a PNG of what is on screen, for a bug report or a setup thread. |
| A demo mode | Realistic telemetry with no game running, so the screens can be seen before anything is installed. |
| Updates itself | Checks the release page, lists what is available, and can install without you finding it. |
| It writes down why it crashed | A crash log, and a panic handler that puts the terminal back the way it found it. |
| No account, no cloud | Nothing leaves your machine unless you set an address yourself. |
No account, no cloud, no subscription. Nothing leaves your machine unless you set an address yourself.