namespace LanMountainDesktop.PluginSdk;
///
/// This is the runtime snapshot shape consumed by plugins inside the host process.
/// It is intentionally distinct from the wire DTO with the same name in
/// LanMountainDesktop.PluginIsolation.Contracts.PluginAppearanceSnapshot.
///
public sealed record PluginMaterialSurfaceSnapshot(
string BackgroundColor,
string BorderColor,
double BlurRadius,
double Opacity);
///
/// Runtime-facing appearance snapshot for plugins. This is not the same contract as the
/// wire-format snapshot in LanMountainDesktop.PluginIsolation.Contracts, even though the
/// type name matches.
///
public sealed record PluginAppearanceSnapshot(
PluginCornerRadiusTokens CornerRadiusTokens,
string ThemeVariant,
string? AccentColor = null,
string? SeedColor = null,
string? ColorSource = null,
string? SystemMaterialMode = null,
IReadOnlyDictionary? ColorRoles = null,
IReadOnlyDictionary? MaterialSurfaces = null,
IReadOnlyList? WallpaperSeedCandidates = null);