PreviewFrameReadback
Reads back a fully rendered preview frame: post-effects, pre-encode.
Every player backend provides one. It is pull-based and allocates its target per request, so it costs nothing until a frame is asked for.
Not a dev.jordond.filmstrip.thumbnail.ThumbnailSource. That one serves many cheap approximate frames, keyframe-snapped and downscaled. This one produces a single exact frame out of the live preview pipeline.