Formats
racingmagick supports three telemetry families through the same public model.
MoTeC i2
Extensions:
.ld
.ldxThe .ld file contains the binary log data. .ldx sidecars may contain indexing/metadata depending on the export source.
Use:
const session = await parseMoTeC('race.ld');See MoTeC format notes.
Pi/Cosworth PDS
Extension:
.pdsPDS files can be native recordings or exported variants. Channel naming tends to be ECU/logger-specific, so alias priority and unit normalization are especially important.
Use:
const session = await parsePDS('race.pds');See PDS format notes.
VBOX
Extension:
.vboVBO is text-based and GPS-native. VBO files often include sections for video synchronization and lap timing metadata.
Use:
const session = await parseVBO('race.vbo');See VBO format notes.
Format-independent code
Prefer parseFile() when file extension is known:
const session = await parseFile(path);After parsing, downstream code should use canonical channels and avoid branching on session.format unless it truly needs format-specific metadata.
const lap = session.fastestLap() ?? session.lap(0);
const speed = lap.channelOrThrow('speed');
const throttle = lap.channelOrThrow('throttle');