MNL, Race
Standard Formatting Instructions – MNL Race Results
Use this as a checklist whenever you paste raw Club Speed race data into an MNL race thought.
Always format each race (Race 1, Race 2, etc.) to match the current, canonical example –
[[thought:e22fadd5-7e5d-4704-9355-2855ca198da6|2026, VLK, MNL, 1, Winter, Round 1, Pro, Race 1, Race]].
1. Race Classification
- Use the heading
### Race Classification. - Immediately under it, create this table (no blank line, no separator row):
|Pos|Racer|Grid|+/-|Fastest Lap|Interval|Gap|Laps|Avg Lap|ProSkill|Kart #|
|1|Example Driver|1|0|38.316|-|-|16|39.709|8651||
- Column rules
Best Lap→Fastest Lap.Grid= starting position from the linked qualifying session (or-if not present).+/-= Grid_start – Pos_finish (use+Nfor positions gained,-Nfor positions lost,0if unchanged).Gap= gap to the race leader (e.g.2.365,38.054,1L).Interval= gap to the car immediately ahead:- P1:
-(or blank) inInterval. - Pn (time gap):
Interval(Pn) = Gap(Pn) - Gap(Pn-1), formatted as+X.XXX. - If
Gapis lap‑based (e.g.1L), leaveIntervalblank.
- P1:
- Name cleanup
- Strip suffixes like
- P,- Nfrom racer names in the table.
- Strip suffixes like
- Kart # entry rules
- Include the
Kart #column in the Race Classification table structure for all MNL races. - Only fill in
Kart #for drivers where you have a direct, documented source (e.g. that driver’s Driver thought / notes, event sheets, or another clearly identified kart log). - Do not infer or guess kart numbers from other drivers or patterns in the data.
- If there is no reliable kart data for a driver, leave the
Kart #cell blank.
- Include the
- Layout & style
- Do not use the standard markdown
|---|---|separator row. - Do not indent table rows with tabs; start at column 0 (as in Race 1).
- Always use the
column-widths:-1,2,141,...attribute above so Race thoughts render consistently.
- Do not use the standard markdown
2. Pit Stops (Estimated)
- Use the heading
### Pit Stops (Estimated). - Table pattern (match
Race 1, Raceexactly):
|Racer|Pit Lap #|Pit Lap Time|Avg Lap|Pit Time|
|Example Driver|7|51.041|39.709|11.332|
- Computation rules
- For each driver:
Pit Lap #= lap with the longest lap time.Pit Lap Time= that lap’s time.Avg Lap= driver’sAvg Lapfrom the Race Classification table.Pit Time ≈ Pit Lap Time – Avg Lap, formatted as0.000.
- Exactly one pit entry per driver.
- For each driver:
- Sort the table by Pit Time ascending (shortest stop first).
- Add the footnote:
Pit Time ≈ Pit Lap Time – Avg Lap (race Avg Lap from classification table).
3. Lap Data (Export-Ready)
- Use the heading
### Lap Data (Export-Ready)after the pit stop section. - For each driver, add a subsection and table. At a minimum, use the basic format:
#### Driver Name
|Lap|Lap Time|Pos|+/-|Pit Time|Cum Time|
|Grid||<grid pos>|0|-|0.000|
|1|xx.xxx|...|...|0.000|...|
|...|...|...|...|...|...|
- Basic conventions
Gridrow first, then laps1–N.Lap Timein0.000format.Pos= Club Speed position ([n]) for that lap; grid row = starting grid.+/-:- Grid =
0. - Lap 1:
Pos_1 – GridPos. - Lap n≥2:
Pos_n – Pos_{n-1}.
- Grid =
Pit Time:-on Grid.Pit Timevalue from the Pit Stops table on the pit lap.0.000on all non‑pit laps.
Cum Time:- Grid =
0.000. - Lap 1:
LapTime_1. - Lap n≥2:
CumTime_{n-1} + LapTime_n.
- Grid =
- Advanced (optional but recommended for canonical examples)
- For detailed race analysis, you can extend each table (as in Race 1) with:
|Lap|Lap Time|Pos|+/-|Pit Time|Cum Time|Ahead|Gap Ahead|Behind|Gap Behind|
- Where
Ahead/Behindand gaps are computed by cross‑referencing all drivers’PosandCum Timeper lap. - Use the Race 1 thought ([[thought:e22fadd5-7e5d-4704-9355-2855ca198da6|Race 1, Race]]) as the style reference for these extra columns.
- Where
4. Raw Club Speed Data
- Use the heading
### Raw Club Speed Dataafter all formatted sections. - Paste the full raw Club Speed export below that heading.
- Do not delete raw lap data; only replace/clean the messy summary block at the top when you create Race Classification and Pit Stops.
- Keep the
Lap Times by Racersection intact; it is the source for lap tables.
5. Canonical Example Reference
Whenever you are unsure about:
- Spacing, indentation, or header names,
- Column order or widths,
- How to represent gaps, intervals, or pit data,
Open the current canonical example race and mirror its structure:
- [[thought:e22fadd5-7e5d-4704-9355-2855ca198da6|2026, VLK, MNL, 1, Winter, Round 1, Pro, Race 1, Race]] – primary style reference.
All new MNL race thoughts should follow this template so Race 1 and Race 2 (and future races) look and behave identically from the start.
6. Optional: Create a Heat Summary on the Parent Thought
For each heat (e.g. Heat 1b, Heat 1c, Heat 2a), you can create a concise Heat Summary on the parent heat thought that combines the race and qualifying data.
Where:
- Parent thought: the heat node (e.g.
2026, VLK, MNL, 1, Winter, Round 1, Pro, Heat 1b). - Child thoughts: one Race thought and one Qualifying thought already formatted using
MNL, RaceandMNL, Qualifying.
Target layout on the parent heat thought:
Session (Heat Parent)
- Qualifying: <time>
- Race: <time>
Race Classification
| Pos | Racer | Grid | +/- | Fastest Lap | Interval | Gap | Laps | Avg Lap | ProSkill | Kart # |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Example Driver | 1 | 0 | 38.316 | - | - | 16 | 39.709 | 8651 | |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
Pit Stops (Estimated)
| Racer | Pit Lap # | Pit Lap Time | Avg Lap | Pit Time |
|---|---|---|---|---|
| Example Driver | 7 | 51.041 | 39.709 | 11.332 |
| ... | ... | ... | ... | ... |
Pit Time ≈ Pit Lap Time – Avg Lap (race Avg Lap from classification table).
Qualifying / Grid
| Pos | Racer | Lap Time | Interval | Gap | ProSkill | +/- |
|---|---|---|---|---|---|---|
| 1 | Example Driver | 39.321 | - | - | 8618 | +34 |
| ... | ... | ... | ... | ... | ... | ... |
How to populate it:
- From the Race thought (formatted with
MNL, Race):- Copy the filled Race Classification table into the parent’s
### Race Classificationsection. - Copy the filled Pit Stops (Estimated) table into the parent’s
### Pit Stops (Estimated)section (including the pit‑time footnote).
- Copy the filled Race Classification table into the parent’s
- From the Qualifying thought (formatted with
MNL, Qualifying):- Copy the Grid table (without the Session heading) into the parent’s
### Qualifying / Gridsection.
- Copy the Grid table (without the Session heading) into the parent’s
- Do not include on the parent heat thought:
- The raw Club Speed data.
- Lap‑by‑lap tables.
- Qualifying
Sessionsummary. - "Source" backlinks – the graph links between parent/children already provide that context.
The parent heat thought then becomes a compact, at‑a‑glance summary of the heat:
- Race results and pit estimates up top.
- Qualifying grid at the bottom.
- All detailed analysis and raw data remain in the child Race and Qualifying thoughts.