Racing Game: best practices?

Hello all, I’m currently working on a racing game project, I`m a little bit confused about “in-game racer position”, “lap checking” “how to handle shortcuts” and “ai”, I found lots of different solutions using splines, checkpoints, but which one is the right one to use in terms of performance and complexity. Can someone with experience in this topic explain the best way to implement these mechanics?

Example track with shortcut