namespace AIStudio.Assistants.VisualBriefing; /// /// Derives assistive component text requirements from the planned component kinds. /// internal static class VisualBriefingComponentTexts { /// /// Determines whether a component requires an assistive description from the content model. /// /// The planned component kind. /// Whether an accessibility text is required. private static bool RequiresAccessibilityText(VisualBriefingComponentKind kind) => kind is VisualBriefingComponentKind.CHART or VisualBriefingComponentKind.SIMULATION or VisualBriefingComponentKind.FILTERABLE_TABLE; /// /// Determines whether a component inherits its assistive description from evidence. /// /// The planned component kind. /// Whether AI Studio supplies the accessibility text. internal static bool InheritsAccessibilityText(VisualBriefingComponentKind kind) => kind is VisualBriefingComponentKind.ASSET; /// /// Lists component identifiers requiring model-supplied accessibility texts. /// /// The planned components. /// The component identifiers in plan order. internal static string[] AccessibilityTextKeys(IEnumerable components) => [ .. components.Where(component => RequiresAccessibilityText(component.Kind)).Select(component => component.ComponentId) ]; }