Add Hasler tape viewer for the simulator's physics logs

Reads physicslog/*.dat and draws each trip as a Hasler tape or, for vehicles
with an electronic recorder, as an evaluation screen. Tapes are grouped by
launch, and a launch still running can be followed live. Includes whole-tape
PNG export and a summary of times and averages. With the log off, the page
offers to turn it on.
This commit is contained in:
maj00r
2026-11-01 16:06:16 +01:00
parent 82429010d4
commit 6e45f5de59
12 changed files with 2707 additions and 0 deletions

View File

@@ -37,6 +37,7 @@ public sealed class TestInstallation
Executables = new ExecutableLocator(Files, Paths, Environment, Log);
SettingsStore = new SettingsStore(Files, Clock, Log, SettingsPaths, new SettingsSerializer(), Executables);
Tapes = new HaslerTapes(Files, Paths, Log, Clock, new TimetableLocator(Files), () => SimulatorRunning);
}
public InMemoryFileSystem Files { get; }
@@ -57,6 +58,8 @@ public sealed class TestInstallation
public SettingsPaths SettingsPaths { get; }
public ExecutableLocator Executables { get; }
public SettingsStore SettingsStore { get; }
public HaslerTapes Tapes { get; }
public bool SimulatorRunning { get; set; }
/// <summary>Path of a file inside the fake installation.</summary>
public static string At(params string[] segments) => Path.Combine(new[] { Root }.Concat(segments).ToArray());