c5fecb296fd25a8ab698c148c3616b7b3ccf7d5f
Every gap around a header icon now comes out of the button's own padding: one ring to the screen edge, two where a button meets its neighbour. The box was the size of the mark (28dp) and the separation was bolted on beside it, so on the session header the two marks stood 31dp apart while the outer one was 14dp from the edge of the screen -- a pair that acts on one screen reading as two unrelated marks, one of them falling off it. Measured on the emulator at 40dp: 23dp between the marks, 27dp to the edge, and the same ring above and below. The mark was also not square, which is why an arrow looked taller than it was wide. `Glyph` is a `Text`, and it inherited the body style's 24sp line height around a 17sp mark; this font's ascent and descent add up to exactly one em, so a line height of the point size is the square the glyph draws in. That leading is also what a button's padding had to be measured through. 40dp is Material's own icon-button state layer, and it is what the pressed-state ripple draws -- at 28dp that circle was inscribed in the mark's corners, and beside a title it arrived at the first letter. The touch target comes up with it, from well under the platform's 48dp minimum to within 8dp of it; going the rest of the way would put the marks back 31dp apart. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Languages
Rust
54%
Kotlin
43.6%
Shell
2.4%