- Shipped
- September 9, 2026 at 3:29 AM UTC
- Author
- Kamo
- Commit
- 80aee0e
The colour and the sound escalate on deliberately different beats — a rate and a state are different vocabularies, and each says something the other cannot. That much is now documented in both files. What was not written down anywhere is the constraint BETWEEN them. The flat tone is the last thing the clock says, so it may never begin while the felt is still amber: that would be the sound giving a final warning the picture has not given yet. Today the colour turns critical at three seconds and the tone starts at two, so the picture leads by one — and nothing stopped somebody moving `clockPressure`'s threshold to 1.5s and inverting them, in two files, with every other test green and both comments still reading as though they were true. One assertion, across seven allowances, and checked against the defect it exists for: dropping critical to 1.5s fails it with "5s allowance: the tone must not lead the colour: expected 2 to be less than or equal to 1". It also handles the case a first draft would have thrown on — a short allowance where the clock opens critical and there is no boundary to find at all. Also, two things a comment would have been the wrong home for: `steps(12)` under reduced motion is a jump every 2.5s on a thirty-second clock, so the last three seconds are one step. That is survivable only because the bar is not the sole channel there — the seconds number still ticks at 1Hz and the colour still escalates on its own timers, neither touched by that rule. Anybody dropping the number on a small clock is removing what makes the coarseness acceptable, and the comment now says so where they will be standing. And `barAnimation()` throws instead of returning empty when its selector matches nothing, while `draws nothing when nobody is on the clock` now proves it can see a bar before asserting the absence of one. That test passed against an element that no longer existed earlier today, when moving an attribute took the selector with it — a DOM query that stops matching does not go red, it goes quiet. Invariant suggested by projects-81.