Forge
csharp809ae470
1using CascadeIDE.Cockpit;
2using CascadeIDE.Models;
3
4namespace CascadeIDE.Cockpit.Composition.EnvironmentReadiness;
5
6/// <summary>
7/// Два именованных instrument deck для страницы «готовность окружения» (ADR 0063): одна и та же упорядоченная композиция ячеек,
8/// различается представление — полоса ламп vs текстовые карточки/таблица (без пользовательского TOML).
9/// </summary>
10public 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
View only · write via MCP/CIDE