Say Paused on both halves while the clock is stopped
A stopped clock looked exactly like a running one. The panel keeps its accent while paused, and isLive() counts a paused side as live, so the delay bar just freezes mid-drain — nothing about either half says the clocks aren't moving. The only tell was the play glyph in the bar, which is small, grey, and upside down for one of the two players. It matters most in the state the app is designed to land in: a match restored from localStorage comes back paused on purpose, and nothing said so. So both halves say it in words, under the delay bar, sized to sit between the bar and the clock: wider than the bar at every screen size, narrower than the clock at m:ss. The band is tighter than it sounds, since "3:00" is only about 2.2x the bar, so part of the width comes from the tracking rather than the glyph size. Measured from 320 to 1024px wide it lands at 1.3-1.4x the delay row and 74-82% of the clock. It is wider than the clock in the last ten seconds of a reserve, where the readout drops to three narrow characters — unavoidable inside these bounds, and the two are never confusable at four times the height. The word hangs off the delay row rather than joining .stack, so the big clock does not move by a pixel when the clock stops. It cannot live inside .delay either: that is opacity:0 whenever no delay is running, and a child can never be more opaque than its parent, which would lose the word on the waiting half, on a spent delay, and at a delay of 0. It takes no colour of its own, so it wears whatever ink the clock above it is wearing, in every theme. The play button lights up while paused, the same --icon-hot a held Reset uses. Both toggles live in render() rather than in paintPlay(), for the reason the comment there already gives: state written from the render loop cannot go stale. Screenshot 2 is redone — the score sheet pauses, so the word shows behind the scrim. The other four are unchanged. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -70,7 +70,10 @@ everything works except installation and the service worker.
|
||||
stray thumb can't wipe a live match. It's absent on a fresh match, where there
|
||||
is nothing yet to wipe.
|
||||
- **Pause** freezes mid-turn and resumes exactly where it stopped, delay
|
||||
included. Opening either sheet pauses automatically. The settings sheet leaves
|
||||
included. Both halves read **Paused** underneath the delay bar while it is, in
|
||||
the same ink as the clock above it, and the play button lights up — so a
|
||||
stopped clock can't be mistaken for a running one from either side of the
|
||||
board. Opening either sheet pauses automatically. The settings sheet leaves
|
||||
it paused — everything in there resets the clocks anyway — while the score
|
||||
sheet picks the turn back up when you close it, so glancing at the score
|
||||
doesn't cost you a tap on play. It's absent whenever there's no clock running
|
||||
|
||||
Reference in New Issue
Block a user