Skip to content

Make timed mode a real session: gate the start, run one countdown, show results on expiry #1

Description

@RagibAhashan

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions