Entities/Analysis/TablebaseMove.cs

A plain data model representing a tablebase move from Lichess analysis. It holds move notation (UCI and SAN), various distance-to-... metrics (DTZ, precise DTZ, DTM, optional DTW), outcome flags (checkmate, stalemate, variant win/loss, insufficient material), a zeroing flag, and a category string.

#nullable enable annotations

namespace LichessNET.Entities.Analysis;

public class TablebaseMove
{
    public string Uci { get; set; }
    public string San { get; set; }
    public int Dtz { get; set; }
    public int PreciseDtz { get; set; }
    public int Dtm { get; set; }
    public int? Dtw { get; set; }
    public bool Zeroing { get; set; }
    public bool Checkmate { get; set; }
    public bool Stalemate { get; set; }
    public bool VariantWin { get; set; }
    public bool VariantLoss { get; set; }
    public bool InsufficientMaterial { get; set; }
    public string Category { get; set; }
}