namespace TraceCad.Core.Model;

public sealed record ReferenceTransform(
    double OriginX,
    double OriginY,
    double ScaleX,
    double ScaleY,
    double RotationDeg);

public sealed record ReferenceCalibration(
    double TargetLineLengthMm,
    double MeasuredLineLengthMm,
    double ErrorMm,
    double EstimatedAccuracyMm,
    double ScaleCorrectionFactor,
    bool MeetsTargetAccuracy,
    bool ControlLineDetected);

public sealed record ReferenceImage(
    string ImagePath,
    double Opacity,
    bool Locked,
    ReferenceTransform Transform)
{
    public ReferenceCalibration? Calibration { get; init; }
}
