namespace ytLive.Services.BackgroundEffects; /// A person-probability mask at the segmenter's own resolution: row-major, /// one value per pixel, 0 = background, 1 = person. public sealed record SegmentationMask(int Width, int Height, float[] Values); /// Seam over the person-segmentation model (TASK 51) so tests inject a fake and /// never run real inference. Returns null when no mask can be produced; callers then pass /// the frame through untouched. public interface IPersonSegmenter { SegmentationMask? Segment(VideoFrame frame); }