| 1 | using CascadeIDE.Cockpit; |
| 2 | using CascadeIDE.Models; |
| 3 | |
| 4 | namespace CascadeIDE.Cockpit.Composition.EnvironmentReadiness; |
| 5 | |
| 6 | /// <summary> |
| 7 | /// Два именованных instrument deck для страницы «готовность окружения» (ADR 0063): одна и та же упорядоченная композиция ячеек, |
| 8 | /// различается представление — полоса ламп vs текстовые карточки/таблица (без пользовательского TOML). |
| 9 | /// </summary> |
| 10 | public static class EnvironmentReadinessInstrumentDeck |
| 11 | { |
| 12 | /// <summary>Якорь вторичного контура (страница MFD), не слот Pfd/Mfd главной сетки.</summary> |
| 13 | public const string SemanticAnchorId = "mfd_shell_environment_readiness"; |
| 14 | |
| 15 | public const string CompactDeckId = "environment_readiness_compact_lamps_v1"; |
| 16 | public const string TextualDeckId = "environment_readiness_textual_detail_v1"; |
| 17 | |
| 18 | /// <summary>Порядок ячеек совпадает с <see cref="CascadeIDE.Features.EnvironmentReadiness.Application.EnvironmentReadinessSnapshotBuilder.BuildAllRowsAsync"/>.</summary> |
| 19 | public static readonly IReadOnlyList<string> OrderedCellIds = |
| 20 | [ |
| 21 | EnvironmentReadinessCellIds.DevToolsSection, |
| 22 | EnvironmentReadinessCellIds.Agent, |
| 23 | EnvironmentReadinessCellIds.CSharpLsp, |
| 24 | EnvironmentReadinessCellIds.MarkdownLsp, |
| 25 | EnvironmentReadinessCellIds.DotnetSdk, |
| 26 | EnvironmentReadinessCellIds.EnvSection, |
| 27 | EnvironmentReadinessCellIds.AgentNotesFile, |
| 28 | EnvironmentReadinessCellIds.AgentNotesCanonPath, |
| 29 | EnvironmentReadinessCellIds.NetcoreDbgPath, |
| 30 | ]; |
| 31 | |
| 32 | /// <summary>Сетка ламп в одну строку (компактный glance).</summary> |
| 33 | public static InstrumentDeckDescriptor CompactLampStrip { get; } = new( |
| 34 | CompactDeckId, |
| 35 | SemanticAnchorId, |
| 36 | InstrumentDeckLayoutPattern.Grid, |
| 37 | OrderedCellIds); |
| 38 | |
| 39 | /// <summary>Те же id; детальный текст — в <see cref="AnnunciatorLampItem.Detail"/>.</summary> |
| 40 | public static InstrumentDeckDescriptor TextualDetail { get; } = new( |
| 41 | TextualDeckId, |
| 42 | SemanticAnchorId, |
| 43 | InstrumentDeckLayoutPattern.Grid, |
| 44 | OrderedCellIds); |
| 45 | } |
| 46 | |