C#
The .NET binding wraps the C ABI. Construct a TimeMachine and drive it with Command(json) -> json.
bash
dotnet add package Wickra.TimeMachinecsharp
using Wickra.TimeMachine;
using var tm = new TimeMachine("{}");
tm.Command("{\"cmd\":\"load\",\"data\":\"<jsonl records>\"}");
var snapshot = tm.Command("{\"cmd\":\"seek\",\"ts\":20}");
Console.WriteLine(snapshot);