Repair restores a fitted part’s performance back to its as-built spec, and its health to 100%, by spending Engineering Work Units. It is the first tab the game opens after a race, and the tab you live in between weekend sessions. Its central rule: below half of nominal performance, a part is beyond salvage and R&D refuses to touch it.
How to open it
- Car icon → Repair (tab 0).
- Automatically after every race (
RndScreen::new_post_race) — straight out of a GP, the first thing you want is the damage list. - Automatically between weekend sessions in repair-only mode, where it is the only tab and runs on a separate pool.
- Locked during pre-season (
current_phase < 6), like every WU-spending tab.
The two car panels
Side-by-side columns, one per race car, each with the driver header (helmet + flag + name), the baked car image, and a summary line: N damaged parts | Repair: X WU | Y queued.
Every one of the 11 components is listed — healthy ones included — sorted by performance loss, biggest first.
| Column | Meaning |
|---|---|
| Part | Icon + name |
| Quality | The loot-tier chip; the row is tinted by rarity |
| Loss | Penalty scaled so 100% lines up with DESTROYED — a repairable part never shows a misleading “−100%”. A destroyed part shows a red DESTROYED badge instead of a number |
| Condition | Health life-bar, red zone under 30%. A destroyed part reads 0% regardless of raw health |
| Repair | The action button, labelled Repair (N 🔨) |
| Stock | Unfitted spares of that component |
| Action | New $K (buy) or Swap spare at the track |
Health vs performance — two different damages
| Performance damage | Structural (health) damage | |
|---|---|---|
| Field | current_perf below initial_perf | health below 100 |
| Costs lap time | Yes, directly | No, not on its own |
| Repairable | Yes — that is what the WU buy | Restored as a side effect of a perf repair |
| Alone | Row shows — loss and a grey Structural tag, no button | — |
A row with health damage but no perf deficit gets no repair button. That is deliberate: part_needs_repair only fires on initial_perf − current_perf > 0.001. Health matters because it drives the race-ready warnings and, at very low values, mechanical failure risk — but it is not a thing you can buy back on its own.
The repair WU cost formula
deficit = initial_perf − current_perf
efficiency = 0.5 + engineering_level × 0.05 (lv1 = 0.55 … lv10 = 1.00)
arch_mult = engine architecture WU multiplier (V8 1.00 · V10 1.10 · V12 1.15;
1.00 for every non-engine part)
cost = ceil( deficit / efficiency × 100 × arch_mult )
Worked examples at Engineering 5 (efficiency = 0.75), on a part built at initial_perf = 1.00:
| current_perf | Deficit | Cost | Note |
|---|---|---|---|
| 0.98 | 0.02 | 3 WU | Trivial — always queue |
| 0.95 | 0.05 | 7 WU | Cheap |
| 0.88 | 0.12 | 16 WU | Standard post-race job |
| 0.70 | 0.30 | 40 WU | Expensive; check value-per-WU |
| 0.55 | 0.45 | 60 WU | Last repairable band |
| 0.45 | — | 0 WU | DESTROYED — not repairable at all |
Engineering level is a direct discount: the same 0.12 deficit costs 22 WU at level 1 and 12 WU at level 10. Doubling Engineering roughly halves your repair bill and raises the pool, which is why it compounds.
The architecture multiplier only bites on engine work. A V12 costs +15% WU to repair over a V8 — real money over a season on the most damage-prone component.
Destroyed parts
destroyed ⇔ current_perf < initial_perf × 0.5
repair_wu_cost returns 0 in this regime, and collect_repair_candidates skips it entirely so Repair All never wastes a click. The Repair button disappears; two replacement paths remain:
1. Use Spare / swap (free, costs one spare slot)
apply_queued_repair scraps the wreck and bolts on the freshest spare — the unfitted unit with the highest current_perf. No WU charged. If the spare is a different version to the wreck, you get an email so a spec change is never a silent surprise (a trait-fixed v3 quietly appearing on one car’s run plan is exactly the bug this mail exists to prevent).
At the track (weekend loadout locked) this is the only path, exposed as a blue Swap spare button — and only if a race-ready spare actually travelled. Otherwise the cell reads “No spare at track”.
2. New $K (cash)
Buys a pristine copy of the chosen default design, verbatim: improvements and traits baked in, current_perf = initial_perf, health 100.
cost = production_unit_cost(component) × 1.5 (rush production fee)
Legacy parts with no design fall back to the flat new_part_cost. The engine takes a special path: it has no design, so a fresh unit is cloned from the best engine you own — same version, same traits, same pooled vintage, unworn.
Like Production, there is no budget wall — the purchase may push the team into the red. The old behaviour (silently refusing when broke) left a dead button.
The button is hidden entirely during a locked race weekend: there are no purchases at the track.
DNS — what “destroyed” costs you
Any fitted part below the 50% line makes the car unable to start. car_dns_reason returns the first offending component, the Inventory tickbox goes red, and the Next-GP flow warns you. A separate, softer warning level (part_needs_attention) fires when performance collapsed by damage or health < 70% — the car can start, but it should not.
Quick actions
| Button | What it queues |
|---|---|
| Critical Only | Every part with perf_loss_pct ≥ 5 that still fits the pool |
| Best Value | Candidates sorted by value = perf_loss_pct / WU_cost descending, filled until the pool runs out |
| Repair All | Every repairable part (destroyed ones are skipped — they are not repairable) |
| Clear | Empties the repair queue |
perf_loss_pct = deficit / 0.16 × 100 — the 0.16-wide display band, which is also what drives the row colouring (red ≥ 8, amber ≥ 3).
Nothing is spent until Confirm All in the Work Order bar. Each queued repair re-checks the pool at apply time and is skipped if it no longer fits.
The weekend repair pool
Between weekend sessions the tab runs in repair_only mode on its own budget:
weekend_repair_wu = (50 + engineering_level × 10) / 5
lv1 = 12 WU · lv5 = 20 WU · lv10 = 30 WU. It is refilled when practice completes, and it is not your annual development pool — patching a qualifying shunt does not eat your Improve budget.
In this mode:
- Only the Repair tab exists; a banner explains the 1/5 allocation and the destroyed-part rules.
- Confirm shows Continue rather than closing the app (Enter or Escape also exit).
- The Private Testing maintenance reserve is never charged to this pool — only the weekly Engineering pool funds the mule.
- Purchases are off;
Swap sparereplacesNew $K.
Reliability
There is no reliability work on this tab. fiability never degrades from race wear — it only moves through Improve → Reliability steps (12 WU each, +0.007 + eng_level × 0.001 per step, ceiling 1.20) and downward through the performance trade-off. See R&D — Improve.
Advanced
- Value-per-WU beats “most damaged”. A 3-WU repair recovering 4 display points is worth six times a 60-WU repair recovering 25. Use Best Value as the default and only override for a part that is close to the destroyed line.
- The queue is validated every frame.
validate_queuedrops rows already repaired or missing; the Improve validator will trim your improve stacks to make a late repair fit. Queue repairs first. - Improve does not fix wear — and no longer corrupts it. Improving a race-damaged part raises
initial_perf(initial_perf.max(current_perf), raised only, never lowered), so it is merely suboptimal there. Repair first, then improve. - A repair sets
current_perf = initial_perfexactly. If you improved the part since it was built,initial_perfalready carries the gain — repair restores you to the developed level, not to the factory level. - Engine repairs are architecture-taxed. Over a season of heat damage, a V12 costs ~15% more Engineering WU than a V8 to keep at spec — on top of its worse
fiab_mult(0.95) andwear_mult(1.06). - Buying new is a rush order in disguise. At 1.5× production cost, replacing a destroyed floor is $750K. A spare floor built in pre-season cost $500K and is free to fit.
Common mistakes
- Trying to repair a DESTROYED part. It costs 0 WU precisely because R&D cannot do it. Look for the red badge and go straight to Swap spare or New.
- Ignoring the Stock column until race day. The swap path only exists if a spare exists; during a weekend it must also have travelled.
- Leaving a health-only row alone forever. It shows
Structuraland no button, but low health still drives failure risk and the amber warning at < 70%. The fix is replacement (spare or new), not repair. - Spending the annual pool on weekend patching. Between sessions you are on the weekend pool by design — check the banner before panicking that “the pool shrank”.
- Confirming with a fat improve queue already loaded. The repair applies first, then improves get whatever is left; you may not get the development you thought you queued.
- Not raising Engineering. It is the only lever that simultaneously enlarges the pool (
50 + lv×10), cheapens every repair (0.5 + lv×0.05) and speeds reliability gains.
See also
- R&D — the Car App Hub — pools, ordering, the phase-6 lock
- Parts, Damage & Wear — how damage is generated in the race
- R&D — Inventory — spares, DNS tickboxes, equipping
- R&D — Improve — reliability work and the perf trade-off
- R&D — Production — building the spares you will need
- Infrastructure — the Engineering department
- Race Debrief — the post-race damage report
- Weekend Loadout — what travelled to the track