csharpdeeb25a2 | 1 | using CascadeIDE.Cockpit.Composition.Shell; |
| 2 | |
| 3 | namespace CascadeIDE.Cockpit.Composition.HostSurface; |
| 4 | |
| 5 | /// <summary> |
| 6 | /// Привязки слот → <see cref="CockpitInstrumentDescriptor"/> для кадра поверхности (CDS/Skia): не «резолв DI», |
| 7 | /// а манифест того, какие канонические <c>instrument_id</c> считаются смонтированными в каких слотах при текущей геометрии shell. |
| 8 | /// </summary> |
| 9 | public interface ISurfaceSlotInstrumentBindingProvider |
| 10 | { |
| 11 | IReadOnlyList<CockpitInstrumentDescriptor> GetBindings(in SurfaceSlotInstrumentBindingContext context); |
| 12 | } |
| 13 | |
| 14 | /// <param name="Shell">Уже посчитанная оболочка (видимость колонок, ширина Mfd).</param> |
| 15 | /// <param name="SurfaceId"><c>main_window_docked_grid</c> или <c>main_window_plus_mfd_host_top_level</c>.</param> |
| 16 | /// <param name="SafetyLevel">Уровень безопасности канала (safety.observe … safety.autonomous).</param> |
| 17 | public readonly record struct SurfaceSlotInstrumentBindingContext( |
| 18 | MainWindowShellSurfaceComposition Shell, |
| 19 | string SurfaceId, |
| 20 | string SafetyLevel); |
| 21 | |
View only · write via MCP/CIDE