The figure plays the play: a shooter's jump, a passer's arms and a guard's stance
The figures in the replay used to run between decisions and little else: a shot went up from a player standing flat, a pass left hands that never moved, and the defender on the ball stood like anyone else. Three of those now look like what the game decided.
A shooter leaves the floor by their own jump
When the simulation prices a jump shot, it reads how high that shooter can jump, because the release is timed from it. Every shot now records that height, and the replay lifts the shooter by exactly that much. The jump follows the arc a body falling under gravity takes, and is at its top as the ball leaves the hands, so a player who jumps higher stays in the air longer.
const apex = r.times[k] + e.release_s, away = t - apex, rise = Math.sqrt(2 * e.jump_m / rig.g);
if (Math.abs(away) < rise) out[`${off},${r.handlers[k]}`] = e.jump_m - rig.g / 2 * away * away;
The shooting arm follows the ball out, so the arm is up as the ball goes. From the side the lift is easy to see. From the TV camera, about ten metres back, a jump of nearly half a metre is only about 35 pixels tall, too little to read on its own; there it is the arm going up with the ball that reads as a shot.
A passer's hands go with the ball
After a pass, both of the passer's hands now follow the ball out for a moment, as far as their arms reach and never further. The simulation records when a pass is thrown but not the throwing motion itself, so how long the hands follow is a drawing choice, and it is the same for everyone.
The guard on the ball gets in their stance
The simulation now records which defender is guarding the ball handler at each decision: the nearest defender, or, after a drive gets by, the teammate who rotated over to stop it. While the handler holds the ball, that defender is drawn in a defensive stance, knees bent and one hand out wide. If they are still running to get there, they are drawn running, never frozen mid-stride.
Each of these comes from something the game recorded. A shot with no jump on record is drawn flat, and a moment with no guard on record draws no stance, rather than guessing one.