The incumbent hysteresis addresses identity selection, but I would also make an identity change an explicit event for the downstream motion state. Otherwise the new person's wrist positions can be compared with the previous person's history, creating an apparent stroke even when both were standing still. The manual anchor override deserves the same reset behavior.
A replay case with an occluded player, a larger newcomer, and a manual reselection would test that boundary directly. After the handoff, rebuild the body-scale history and readiness window before scoring again. That complements your decision to emit no sample when hips are missing: discontinuous identity should also break a motion interval.
The incumbent hysteresis addresses identity selection, but I would also make an identity change an explicit event for the downstream motion state. Otherwise the new person's wrist positions can be compared with the previous person's history, creating an apparent stroke even when both were standing still. The manual anchor override deserves the same reset behavior.
A replay case with an occluded player, a larger newcomer, and a manual reselection would test that boundary directly. After the handoff, rebuild the body-scale history and readiness window before scoring again. That complements your decision to emit no sample when hips are missing: discontinuous identity should also break a motion interval.