e36e1726703a35c882154e59d9804f4080a3a499
The bar's undo is a fixed-width pill because its text changes on every tap and a control that resizes under a thumb reads as the interface twitching. On a phone that leaves the label 78px, so the label is three elements and fitUndoLabel drops the actor whole rather than letting an ellipsis land wherever it lands. That machinery was right. The labels fed to it were not. Two rules follow from "the actor is the half that goes", and six of the fifteen labels broke one. The act has to name the action on its own, because it is what survives. Four labels put a verb in the actor's slot — "dealing" + "the hand", "dealing" + "everybody in", "calling" + "the straddle off" — so dropping the lead left the pill reading "↶ the hand" after every deal of the night, and "↶ the straddle off". Neither names anything. Those are re-split: "the deal", "everybody dealt in", "the straddle called off". The act has to fit, because whatever is left is ellipsised. Measured at 390x844 and 360x640 with a thumb: "hand killed on the clock" wanted 125px of 78, "check on the clock" 99, "waiting for the blind" 103, "posting to come in" 97 — all four came out cut mid-phrase, "↶ waiting for th…". The qualifier goes into a new optional `long`, which is the whole sentence, and the verb stays on the pill. Every short form is a substring of its long form, which is what Label in Name asks of a control that has shortened its own name — and it is what lets `long` be the accessible name rather than only a title a phone has no way to show. Before this the name was whatever was visible: "↶ hand killed U", arrow and keycap included. Both are aria-hidden now. Measured after, on both phone sizes: nothing ellipsised, and every visible form contained in the name. One exception, stated in the code: a five-figure raise. "raise to $12,500" is 86px of 78 and the number is the whole of what it says, so there is no qualifier to move — the leading digits survive, the amount is on that player's seat puck, and the whole of it is on the name. Three comments carrying the old 73px figure are re-measured while I was here. 1353 tests pass, 11 of them new — 3 fail against the old labels. The sweep is clean across 428 audits; contrast unchanged. Co-Authored-By: Claude Opus 5 <[email protected]> Claude-Session: https://claude.ai/code/session_015bnp7xKUPFFSpwkYNFaPgb
Description
No description provided
142 MiB
Languages
JavaScript
68.4%
CSS
14.1%
C#
8%
HTML
4.5%
C++
4.4%
Other
0.5%