Forge
csharpdeeb25a2
1#nullable enable
2
3using CascadeIDE.Cockpit.Composition.HostSurface;
4using CascadeIDE.Features.UiChrome;
5using CascadeIDE.Features.Workspace;
6using CascadeIDE.Features.Workspace.DataAcquisition;
7
8namespace CascadeIDE.Features.UiChrome.Application;
9
10/// <summary>
11/// Накладывает <c>.cascade/workspace.toml</c> репозитория на runtime-метрики UI (слой бандла UiModes + repo, ADR 0021 §2.1).
12/// </summary>
13public static class RepositoryWorkspaceTomlOverlayApplicator
14{
15 public static void Apply(RepositoryWorkspaceToml? bundleLayer, string? solutionDirectory)
16 {
17 var repo = RepositoryWorkspaceTomlLoader.TryLoad(solutionDirectory);
18 var merged = RepositoryWorkspaceTomlMerger.Merge(bundleLayer, repo);
19 UiWorkspaceLayoutRuntimeMetrics.ApplyWorkspaceToml(merged);
20 AttentionZonePanelRuntime.ApplyWorkspaceToml(merged);
21 MarkdownPreviewPlacementRuntime.ApplyWorkspaceToml(merged);
22 LocLimitsRuntime.ApplyWorkspaceToml(merged);
23 InstrumentPlacementRuntime.ApplyWorkspaceInstrumentRouting(merged?.Routing?.Instruments);
24 }
25}
26
View only · write via MCP/CIDE