ReadonlyrendererReadonlyplaybackReadonlyfitReadonlycurrentReadonlyplaybackReadonlydurationReadonlymediaReadonlymediaReadonlypresentedReadonlyactiveReadonlyactiveReadonlyactiveOptional ReadonlydrawnOptional ReadonlyplaybackHow far the playback gate reaches on the source this renderer opened. The same option means different things to the two kinds of source, and this reports which one a host got.
Optional ReadonlymaskWhether the raster on screen belongs to a frame other than the one the rest of the annotations were drawn from. Nothing produces this on purpose; a host that sees it true is looking at a mask over the wrong picture.
Optional ReadonlyseekingWhether the playhead has been moved to a frame that is not on screen yet.
playbackState cannot answer this: it keeps reporting what the transport
settled on before the seek, so a seek of any length reads as paused or
playing.
A scrub sets this on every tick, so a host that draws it owes the viewer a
delay before it appears, and owes them scrubbing too: a viewer dragging
the playhead is not waiting for the picture, they are leading it.
Optional so a host holding a state it built before this field existed still satisfies the type.
Optional ReadonlyscrubbingWhether a drag is open on the playhead. True from the first scrub of a gesture until the seek that lands it, which is what separates a viewer leading the picture from one waiting on it.
Optional so a host holding a state it built before this field existed still satisfies the type.
ReadonlydetectionReadonlylastReadonlysource
Detection frame the mask raster on screen belongs to, null when no mask is up. A frame whose raster is not ready yet draws no mask rather than the previous frame's, so this either names
activeDetectionFrameTimeor names nothing.Optional so a host holding a state it built before this field existed still satisfies the type.