using RobotNet10.NavigationTune.Shared.Models; namespace RobotNet10.NavigationTune.Shared.Hubs; /// /// DTOs for SignalR messages /// public class TelemetryUpdateDto { public long TimestampMs { get; set; } public double X { get; set; } public double Y { get; set; } public double Theta { get; set; } public double LinearVelocity { get; set; } public double AngularVelocity { get; set; } public double CrossTrackError { get; set; } public double HeadingError { get; set; } public double DistanceToGoal { get; set; } public double CommandedLinearVelocity { get; set; } public double CommandedAngularVelocity { get; set; } } public class TestStatusUpdateDto { public Guid TestRunId { get; set; } public TestStatus Status { get; set; } public double ProgressPercent { get; set; } public string? Message { get; set; } } public class SafetyEventDto { public Guid TestRunId { get; set; } public ViolationType Type { get; set; } public ViolationSeverity Severity { get; set; } public string Message { get; set; } = string.Empty; public DateTime Timestamp { get; set; } }