The Instant Freeze: Because self.action_timer initializes to 0, current_time > self.action_timer evaluates to True on the very first frame, instantly bypassing the IDLE state.
The Missing Countdown: The player lacks visual telegraphing. In game design and CV applications, state changes must be telegraphed to prevent user frustration.
The Color Blend: OpenCV uses BGR (Blue, Green, Red). (255, 0, 0) is pure Blue, which often blends with dark/cool background feeds. We need a high-contrast "Ice" or "Cyan" overlay to ensure the player's visual motion feedback is still mathematically visible beneath the alpha blend.
The Instant Freeze: Because self.action_timer initializes to 0, current_time > self.action_timer evaluates to True on the very first frame, instantly bypassing the IDLE state.
The Missing Countdown: The player lacks visual telegraphing. In game design and CV applications, state changes must be telegraphed to prevent user frustration.
The Color Blend: OpenCV uses BGR (Blue, Green, Red). (255, 0, 0) is pure Blue, which often blends with dark/cool background feeds. We need a high-contrast "Ice" or "Cyan" overlay to ensure the player's visual motion feedback is still mathematically visible beneath the alpha blend.