Track recording commands, events and storage runtime
track_runtime.h Explicitly define TrackCommandKind, TrackEventKind, RecorderStatus, TrackPointBuffer, TrackStateMachine, TrackStorageWorker and file/bus ports.
Commands
StartNewTrack, StopTrack, AppendPoint, Flush, ListTracks. There is currently no Pause or Resume.
Resource rules
Point buffer has a fixed capacity; it flushes at 8 o'clock by default; the worker has only one pending command at the same time; StopTrack and Flush are critical commands.