One idea at a time · 1
The column decides the face.
“The width of the columns influences the size of the typeface. As a rule the narrower the column, the smaller the typeface. If the column is too narrow and the face too large, too few words can be placed on a line and the rapid change from one line to the next fatigues the eye.” — Müller-Brockmann, p.57.
So in this library the type size is not a setting. It is a consequence:
sizeForMeasure() takes the column and returns the largest face, within
the book's legible range of 8–12 point (p.18), that still puts about eight words on
a line. Drag the column.
The face steps down in whole points as the column narrows — sizes are never fractional, because a face is a thing a founder casts, not a number a slider makes. Watch the words-per-line reading: the rule holds it near eight the whole way.