using System.Text.Json.Serialization;
namespace Jellyfin.Plugin.JRay.Models;
///
/// One presence window in a .
///
///
/// A window is a claim about scene membership, not a recognition event
/// (SR-002). An actor who turns away, is occluded, or is off-camera while the
/// shot cuts to whoever they are speaking to is still present — so a consumer
/// must never read a boundary as "the face was detected here", and must not
/// merge, split, trim or reorder windows.
///
/// In schema_version 1 this was a bare [start, end] float pair. It
/// became an object in the SR-003 bump so a window can carry the evidence behind
/// it: a consumer that shows presence should be able to say how strongly it is
/// believed and how it was arrived at, which a pair of numbers cannot express.
///
///
// TRACES: JR-002, JR-004 | SR-002, SR-003
public class TruthScene
{
/// Gets or sets the window start, in seconds, inclusive.
[JsonPropertyName("start")]
public double Start { get; set; }
/// Gets or sets the window end, in seconds, inclusive.
[JsonPropertyName("end")]
public double End { get; set; }
///
/// Gets or sets the accumulated posterior that justified this claim, in
/// [0, 1], or null when the producer did not record one.
///
///
/// Optional rather than defaulted to zero: absent and "believed with
/// probability zero" are different statements, and a claim nobody believes
/// would not have been written.
///
[JsonPropertyName("belief")]
public double? Belief { get; set; }
///
/// Gets or sets how the actor was identified: live, deferred
/// or pooled (extraction AR-017).
///
[JsonPropertyName("route")]
public string? Route { get; set; }
}