How would you implement a Jumpsquat?

In competitive fighting games, a Jumpsquat is a period of time where a character prepares to jump. Essentially, after a jump input is pressed:

  1. the “Jumpsquat” animation is played
  2. an allocated amount of time is set to show the character preparing to jump
  3. after the timer is up, the character proceeds to jump

I have another forum post where I attempt to replicate this idea but it’s plagued with a bug I don’t know how to understand or fix - you can have a look here if you’re interested: Can Jump is True but Jump will occasionally fail

I’d like to hear your ideas about where I went wrong and how you would go about this.