| 1 | namespace CascadeIDE.Cockpit.Composition.WorkspaceHealth; |
| 2 | |
| 3 | /// <summary> |
| 4 | /// Именованная колода канала IDE Health на оси композиции (ADR 0063): порядок логических сегментов build → tests → debug → git, |
| 5 | /// совпадает с <see cref="IdeHealthSurfaceCompositor"/> и не зависит от <see cref="ContentRepresentation"/> (Strip/Page). |
| 6 | /// </summary> |
| 7 | public static class IdeHealthInstrumentDeck |
| 8 | { |
| 9 | /// <summary>Стабильный id колоды для тестов и трассировки (не ключ пользовательского TOML).</summary> |
| 10 | public const string DeckId = "ide_health_channel_v1"; |
| 11 | |
| 12 | /// <summary>Семантический контекст якоря для канала IDE Health (нижний хром / mount), не слот Pfd/Mfd целиком.</summary> |
| 13 | public const string SemanticAnchorId = "ide_health"; |
| 14 | |
| 15 | /// <summary>Логические ячейки сегментов в порядке композитора (согласованы с <see cref="IdeHealthSurfaceCompositor.Compose"/>).</summary> |
| 16 | public static readonly IReadOnlyList<string> OrderedSegmentIds = new[] |
| 17 | { |
| 18 | IdeHealthSegmentIds.Build, |
| 19 | IdeHealthSegmentIds.Tests, |
| 20 | IdeHealthSegmentIds.Debug, |
| 21 | IdeHealthSegmentIds.Git, |
| 22 | }; |
| 23 | |
| 24 | /// <summary>Каноническое описание колоды IDE Health: горизонтальная композиция сегментов (полоса или страница — отдельная ось).</summary> |
| 25 | public static InstrumentDeckDescriptor Default { get; } = new( |
| 26 | DeckId, |
| 27 | SemanticAnchorId, |
| 28 | InstrumentDeckLayoutPattern.Grid, |
| 29 | OrderedSegmentIds); |
| 30 | } |
| 31 | |
| 32 | /// <summary>Стабильные идентификаторы ячеек deck канала IDE Health (внутренний контракт, не TOML).</summary> |
| 33 | public static class IdeHealthSegmentIds |
| 34 | { |
| 35 | public const string Build = "ide_health_segment_build"; |
| 36 | public const string Tests = "ide_health_segment_tests"; |
| 37 | public const string Debug = "ide_health_segment_debug"; |
| 38 | public const string Git = "ide_health_segment_git"; |
| 39 | } |
| 40 | |