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);
}