Forge
csharpdeeb25a2
1using CascadeIDE.Models;
2
3namespace CascadeIDE.Features.UiChrome;
4
5/// <summary>Корень <c>UiModes/index.toml</c>: <c>[bundle]</c> со списком режимов.</summary>
6public sealed class UiModesIndexToml
7{
8 public UiModesBundleToml? Bundle { get; set; }
9}
10
11/// <summary>TOML: <c>[bundle]</c>.</summary>
12public sealed class UiModesBundleToml
13{
14 public int SchemaVersion { get; set; }
15 public List<string> Modes { get; set; } = [];
16}
17
18/// <summary>Секция <c>[chrome]</c> в <c>workspace.toml</c> (ADR 0010).</summary>
19public sealed class UiWorkspaceChromeToml
20{
21 public int? PfdRegionDefaultWidthPixels { get; set; }
22 public double? MainGridColumnSplitterWidthPixels { get; set; }
23 public int? BottomPanelMinRowPixels { get; set; }
24 public int? MfdRegionCollapsedWidthPixels { get; set; }
25 public int? MfdRegionExpandedDefaultWidthPixels { get; set; }
26 public int? MfdRegionExpandedPowerWidthPixels { get; set; }
27 public int? MfdRegionExpandedAgentChatWidthPixels { get; set; }
28
29 /// <summary>
30 /// Куда показывать preview Markdown: <c>mfd</c>, <c>separate_window</c> (или <c>window</c>);
31 /// TOML: <c>markdown_preview_placement</c>.
32 /// </summary>
33 public string? MarkdownPreviewPlacement { get; set; }
34}
35
36/// <summary>TOML: <c>[loc_limits]</c> — ось размера файла (не EICAS).</summary>
37public sealed class UiWorkspaceLocLimitsToml
38{
39 /// <summary>TOML: <c>medium_min</c>. При <c>loc &gt;= medium_min</c> — не ниже Medium.</summary>
40 public int? MediumMin { get; set; }
41
42 /// <summary>TOML: <c>high_min</c>. При <c>loc &gt;= high_min</c> — High.</summary>
43 public int? HighMin { get; set; }
44}
45
46/// <summary>TOML: <c>[meta]</c> — наследование, семья, заголовок, тема.</summary>
47public sealed class UiModeMetaToml
48{
49 public string? Inherits { get; set; }
50 public string? Family { get; set; }
51 public string? MainWindowTitle { get; set; }
52 public string? ThemeSlot { get; set; }
53}
54
55/// <summary>TOML: <c>[layout]</c> — видимость панелей и раскладка.</summary>
56public sealed class UiModeLayoutToml
57{
58 public bool? PfdRegionExpanded { get; set; }
59 public bool? BuildOutputVisible { get; set; }
60 public bool? TerminalVisible { get; set; }
61 public bool? MfdRegionExpanded { get; set; }
62 public int? EditorGroupCount { get; set; }
63 public bool? SelectTerminalTabWhenTerminalShown { get; set; }
64 public int? MfdRegionExpandedWidthPixels { get; set; }
65 public bool? InstrumentationDockVisible { get; set; }
66 public bool? ActiveTaskStrip { get; set; }
67}
68
69/// <summary>TOML: <c>[capabilities]</c> (ADR 0010).</summary>
70public sealed class UiModeCapabilitiesToml
71{
72 public bool? QuickActions { get; set; }
73 public bool? AgentOperationsPanel { get; set; }
74 public bool? AgentTrace { get; set; }
75 public bool? AutonomousAgentTelemetry { get; set; }
76 public bool? IdeHealthOnTerminalTab { get; set; }
77 public int? IdeHealthMainColumnSpan { get; set; }
78 public bool? InstrumentationTabs { get; set; }
79 public bool? HypothesesTab { get; set; }
80 public bool? RiskSummaryCard { get; set; }
81 public bool? ResultSummaryCard { get; set; }
82 public bool? IdeHealthStrip { get; set; }
83 public string? IdeHealthSurface { get; set; }
84 public bool? ProblemsPanel { get; set; }
85 public bool? EicasAlertsBar { get; set; }
86}
87
88/// <summary>Один режим: <c>UiModes/&lt;Id&gt;.toml</c> — <c>[meta]</c>, <c>[layout]</c>, <c>[capabilities]</c>.</summary>
89public sealed class UiModeFileToml
90{
91 public UiModeMetaToml? Meta { get; set; }
92 public UiModeLayoutToml? Layout { get; set; }
93 public UiModeCapabilitiesToml? Capabilities { get; set; }
94}
95
View only · write via MCP/CIDE