Storage
RaceTrack stores track definitions as JSON files and timing data in SQLite.
All mod data is rooted at:
Track layouts are versioned templates and are stored as:
config/RaceTrack/Layouts/<layout_id>/v<version>.json
Notes:
Layout JSON format key: racetrack/layout@1: used for migrating data if config changes
Contains relative geometry (boundaryRel, checkpointsRel, sectors).
Instance Storage
Track instances are world placements and are stored as:
config/RaceTrack/Instances/<instance_id>.json
Notes:
Instance JSON format key: racetrack/instance@2.
Contains world key, absolute boundary/checkpoints, layout linkage, enable flag, and placement origin.
Timing Database
Race timing/session data is stored in:
Notes:
Managed by SQLiteTimingStore via TimingPersistence.
Current schema target is PRAGMA user_version = 4.
sessions stores session lifecycle rows, including:
layout_id, layout_version
started_by, started_at, ended_at
laps stores lap records, including:
session_pk (FK-like link to sessions)
layout_id, layout_version
vehicle_class_id, vehicle_uuid
players stores last-seen names for UUID resolution: