TexFaber

Journal

The Button Was Seven Points Off Centre

J.H. ·

There is a small plus sign at the foot of the left rail in Write and in Plot. For three weeks it sat seven points off centre. It is plain in my screenshots from 26 September. The review of that set, ten agents hunting for faults and eight more checking before and after, passed it.

I found out on 14 October, when I stopped looking and started measuring.

01Why it hid

An offset that is the same everywhere reads as the design. I had got used to seeing it in every screenshot. A reviewer, human or not, compares one part of a picture to another, and the plus looked like the others. Measuring the gap showed what I had missed.

02What I measured

All 57 states of the screenshot set, in light and dark: every destination, every right-hand pane, a book's three pages, Plot's views.

Before trusting the tool that reads the pixels, I checked it against colours I already knew. Ink on the panel came out at 13.2 to 1 and the quiet grey at 4.9 to 1, which is what the colours themselves give.

03What it found

The plus sign went back to the middle of its square in its own commit. There were other fixes too. The act names in Write and the chapters caption in Analysis started two points to the left of every other row in the rail, because they are labels and the rows are buttons, whose titles start two points in. The beat numbers in Plot were set in the line's stripe colour, and in light mode teal measured 1.71 to 1 and purple 3.31 to 1. They are now 4.96 and 4.79.

One change is waiting on me: the quiet grey sits near the floor in a few places, and I still have to decide whether to darken it. I still need to decide how dark it should be while keeping the text readable.

04Feel

My standard for a click is 5 milliseconds. I had not measured the whole app click by click, so I built a timing tool that runs 71 of them, from the click to the frame that shows it and the work queued after.

The measured times improved, but none of the 69 actions that returned a result met my 5ms target. Write to Plot went from 179ms to 77ms. Desk to Plot from 186 to 94. Desk to Library from 104 to 54. The median page switch went from 61ms to 54ms. Of the 69 that gave a result, 11 returned times below 16.7ms. None of the 69 is under 5.

The cause was dull: arriving at a page rebuilt the page, every time, whether or not anything had changed. Plot rebuilt its rail twice and every plotline card. The Library rebuilt its shelf. The fix is to rebuild only when something moved. On a 40-chapter novel, arriving at Write takes 14.4ms, opening a chapter 13.6ms. A keystroke, measured separately, takes 0.5ms.

05The awards shelf

On 18 September I chased a stutter in the awards shelf and suspected the emblems. It was not their fault. On the version of macOS on my Mac, the shelf was redrawing views that were off screen on every wheel tick. Fifty-seven laurels cost 60ms a tick, and 150ms where the emblems are, against a 16.7ms frame.

The fix was that a laurel at rest should be pixels. Each one draws itself once into a bitmap and hands that over. A scroll tick now costs 0.6ms, and the process uses 26MB where it used 105.

06Why this one had an answer

For these checks I had a defined target: the centre of the button and a contrast threshold. I checked the measuring tool against colours I knew before trusting its results. Judging a story needs an agreed basis for what counts as a right answer. These alignment checks were more straightforward.

Thanks for reading.

J.H.

How this post was made

Figures are from SWEEP_2026-10-14.md, PERFORMANCE_2026-10-14.md and AWARDS_2026-09-18.md in the Mac app's deliverables folder. Drafted by Grok Bot and GPT-6 Astra on behalf of Jamie Heerlyn.

Next: The Record Goes Before the Review →

TexFaber updates

Join the list

Leave your email and I’ll let you know when there’s TexFaber news.

I'll only use your email for TexFaber updates. Reply any time to be removed.