2.3 Startup vs reload asymmetry (FramesRegistry)

FramesRegistry validates strictly on construction (fail-fast at startup) and
leniently on hot-reload (skip invalid frames with a warning, keep valid ones
serving). Exposes TryGetByName/TryGetByMac over the current valid set.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-07 14:27:20 +02:00
parent d0fa755534
commit 0dc0da8de1
5 changed files with 462 additions and 5 deletions

View File

@@ -0,0 +1,14 @@
namespace FrameProcessor.Domain;
/// <summary>
/// A configured frame after validation and parsing. All raw strings from
/// <c>frames.json</c> have been converted to their typed values; consumers can use
/// the contents directly without re-validating.
/// </summary>
public sealed record Frame(
FrameName Name,
MacAddress Mac,
Resolution Resolution,
Orientation Orientation,
DitherAlgorithm Dithering,
IReadOnlyList<PaletteEntry> Palette);