The frame to judge a checkpoint's visual criteria against.
A tour visits each section in turn, so a section is on screen for a few steps
and then gone. Judging every pending criterion against the single end-state
frame therefore asks the judge to confirm eleven things in a picture that can
show at most the last one — which is why a tour that replayed every step
perfectly still scored 0/11 and was reported incomplete.
Selection is by the checkpoint's own URL assertion rather than by step index,
because replay captures frames PRE-action: the frame showing what step N did is
the one captured at step N+1. Matching on URL sidesteps that offset entirely.
The LAST match wins — later frames of the same section have had more time to
settle. Returns undefined when the checkpoint names no URL, or when the
trajectory never reached it; the caller then falls back to the end state.
The frame to judge a checkpoint's visual criteria against.
A tour visits each section in turn, so a section is on screen for a few steps and then gone. Judging every pending criterion against the single end-state frame therefore asks the judge to confirm eleven things in a picture that can show at most the last one — which is why a tour that replayed every step perfectly still scored 0/11 and was reported incomplete.
Selection is by the checkpoint's own URL assertion rather than by step index, because replay captures frames PRE-action: the frame showing what step N did is the one captured at step N+1. Matching on URL sidesteps that offset entirely. The LAST match wins — later frames of the same section have had more time to settle. Returns undefined when the checkpoint names no URL, or when the trajectory never reached it; the caller then falls back to the end state.