namespace LanMountainDesktop.PluginIsolation.Contracts; /// /// Wire request for the IPC appearance snapshot payload. This request targets the /// isolation-contract DTOs, not the runtime SDK snapshot with the same type name. /// public sealed record PluginAppearanceSnapshotRequest(string SessionId); public sealed record PluginMaterialSurfaceSnapshot( string BackgroundColor, string BorderColor, double BlurRadius, double Opacity); /// /// Wire-format appearance snapshot exchanged over IPC. /// Do not treat this as the same type as LanMountainDesktop.PluginSdk.PluginAppearanceSnapshot. /// public sealed record PluginAppearanceSnapshot( string ThemeVariant, string? AccentColor = null, double CornerRadiusScale = 1.0, IReadOnlyDictionary? CornerRadiusTokens = null, IReadOnlyDictionary? ResourceAliases = null, string? SeedColor = null, string? ColorSource = null, string? SystemMaterialMode = null, IReadOnlyDictionary? ColorRoles = null, IReadOnlyDictionary? MaterialSurfaces = null, IReadOnlyList? WallpaperSeedCandidates = null); /// /// Wire notification carrying the IPC appearance snapshot. /// public sealed record PluginAppearanceChangedNotification(PluginAppearanceSnapshot Snapshot);