namespace Kompas.Mcp.Core.Query;

/// <summary>Узел дерева построения детали (операция или системный объект).</summary>
public sealed record FeatureInfo
{
    /// <summary>Порядковый индекс в дереве построения.</summary>
    public required int Index { get; init; }

    /// <summary>Имя узла в дереве (локализовано КОМПАС: «Элемент выдавливания:1», «Скругление:1»…).</summary>
    public required string Name { get; init; }

    /// <summary>
    /// Семантический вид операции, определённый по типу её определения:
    /// origin, sketch, extrusion, cut_extrusion, revolve, cut_revolve, fillet, chamfer, body, other.
    /// </summary>
    public required string Kind { get; init; }

    /// <summary>Ключевые параметры операции для показа («глубина 15.00 мм», «R3.00 мм»), либо null.</summary>
    public string? Detail { get; init; }
}
