Temporal processing
core/temporal_processing/ implements the cross-frame machinery, all persisted in TrackerState:
BBoxPolicydecides when the object detector reruns (redetect_interval, plus pluggable fitness checks such askeypoints_within_bbox_ratioor bbox-area-collapse detection) and what to use when it doesn't: a crop predicted from the previous frame's keypoints. Prediction includes anti-collapse guards documented extensively in source: a per-frame shrink rate limit, a floor tied to the detector's last actual measurement, and an absolute pixel floor, without these the keypoint-derived crop can ratchet smaller until the subject can never be reacquired.apply_bbox_emasmooths the crop across frames.OneEuroFilter/KalmanFiltersmooth keypoint coordinates; gap-fill and velocity-anomaly rejection are configurable. One current caveat, stated in source: the per-frame timestep is hardcoded to 1.0, so filter cutoffs are in frame units rather than Hz.KeypointResetPolicyrecovers stuck stateful detectors after consecutive empty detections, with backoff so an off-frame subject doesn't trigger resets forever. Off by default; FreeMoCap enables it (10 misses) for MediaPipe.