using System.Text.Json.Serialization; namespace AIStudio.Assistants.VisualBriefing; /// /// Plans one semantic component and its evidence and content dependencies. /// [JsonUnmappedMemberHandling(JsonUnmappedMemberHandling.Disallow)] [CanonicalJsonShape("bdafbeaf")] public sealed class VisualBriefingPlanComponent { /// Gets or sets the globally unique component identifier. [JsonRequired] public string ComponentId { get; set; } = string.Empty; /// Gets or sets the component kind. [JsonRequired] public VisualBriefingComponentKind Kind { get; set; } /// Gets or sets the referenced evidence identifiers. [JsonRequired] public List EvidenceIds { get; set; } = []; /// Gets or sets the component's planned semantic slots. [JsonRequired] public List Slots { get; set; } = []; /// Gets or sets the optional embedded asset identifier. [JsonRequired] public string? AssetId { get; set; } /// Gets or sets the orientation used only by timeline components. [JsonRequired] public VisualBriefingTimelineOrientation? TimelineOrientation { get; set; } }