Problem
Timed mode today is per-challenge and the clock is loose:
- The countdown doesn't start until the user types — they get unlimited thinking time before the timer engages.
- The countdown is per-challenge: every advance restarts the clock, so there's no notion of a session score or pace.
- When the timer expires there's no payoff — it just advances to the next challenge silently. There's no place to see how you did.
- Average time per challenge is recorded as ~0 ms for motion-only challenges, because the elapsed timer is started inside the same call that detects success.
Proposed behaviour
Make timed mode a fixed session you race against:
- Blur the editor with a "Press space to start" overlay until the user explicitly begins. This applies the first time timed mode is engaged in a session — subsequent challenges flow without the gate.
- Once started, run a single countdown for the whole session. It does not reset between challenges. Solve as many as you can before it hits zero.
- When the countdown expires, replace the editor with a results view: accuracy, avg time, avg score, fastest, and a per-challenge time chart. Include a restart button that reshuffles and re-arms the gate.
- Start the elapsed timer the moment a challenge becomes interactive (not on first state change), so motion-only challenges record real time.
Out of scope
- Untimed mode behaviour stays the same.
- No persistence of session results across reloads.
Problem
Timed mode today is per-challenge and the clock is loose:
Proposed behaviour
Make timed mode a fixed session you race against:
Out of scope