for AssettoCorsa Connector...
Nice project!
I suggest this for line 212 in AssettoCorsaConnector.cs:
if ( (_lastDataSet.PlayerInfo?.CompletedLaps > dataSet.PlayerInfo?.CompletedLaps) || (dataSet.PlayerInfo?.CompletedLaps==0 && dataSet.PlayerInfo?.Timing.LastLapTime > TimeSpan.Zero) )
should fix recognizing the first lap
edit: maybe not if you rely on "CompletedLaps", count laps for yourself...