this site, measured

everything on this page is generated. the contrast figures are computed from the hex values at build time with the wcag relative luminance formula, the weights are read off the built files, and the last block is measured in your browser rather than mine.

the point is not the numbers. it is that you can check them, and that we had to look at them before you did.

the ledger

every step of the ramp against both grounds, computed here, next to the figure the brand book publishes. the book claims its figures are computed from the hex values rather than estimated. this table is how anyone checks that.

the contrast ledger: every ramp step against both grounds
stephexrole on skyon paper bookagrees
night 000 #0A0C12 the page on dark 1.00 17.95 1.00 / 17.95 yes
night 050 #101420 the one raised band 1.06 16.87 1.06 / 16.87 yes
night 100 #171B27 a card. deliberately unused 1.14 15.78 1.14 / 15.78 yes
night 200 #222736 a decorative hairline 1.31 13.66 1.31 / 13.66 yes
night 300 #31363F the unlit run, the hatch 1.61 11.15 1.61 / 11.15 yes
night 400 #4A4F5C unlit letters, tube mark 2.39 7.52 2.39 / 7.52 yes
night 500 #6E7482 control borders, solid mark 4.17 4.30 4.17 / 4.30 yes
night 600 #8A8F98 secondary text, all notation 6.02 2.98 6.02 / 2.98 yes
night 700 #B7BCC5 body on dark 10.25 1.75 10.25 / 1.75 yes
night 800 #DCDEE4 headings on dark 14.53 1.24 14.53 / 1.24 yes
night 900 #F5F5F7 the page on light 17.95 1.00 17.95 / 1.00 yes
light #FB006B the sign, on dark 4.95 3.63 4.95 / 3.63 yes
light deep #CD016C the sign, on light 3.55 5.05 3.55 / 5.05 yes

13 rows, 26 figures, checked against the book. all of them agree to two decimal places.

the pairs this site actually uses

a ledger of the whole ramp is a table. a ledger of what is on the screen is an audit. the brand book certifies its accent against the two page colours only, so the pairs below are the ones that had to be checked separately.

every text and ground pair used on this site
textonwhererationeedsresult
#B7BCC5 #0A0C12 body on the page 10.25 4.50 pass
#B7BCC5 #101420 body on the raised band 9.64 4.50 pass
#DCDEE4 #0A0C12 headings and display 14.53 4.50 pass
#8A8F98 #0A0C12 secondary text and all notation 6.02 4.50 pass
#8A8F98 #101420 notation on the raised band 5.65 4.50 pass
#FB006B #0A0C12 the lit letters and the focus ring 4.95 3.00 pass
#FB006B #101420 the lit letters on the raised band 4.65 3.00 pass
#0A0C12 #FB006B the label on the one filled button 4.95 4.50 pass
#6E7482 #0A0C12 control borders and the input outline 4.17 3.00 pass
#8A8F98 #0A0C12 the unlit half of a client name, on the page 6.02 4.50 pass
#8A8F98 #101420 the unlit half of a client name, on the raised band 5.65 4.50 pass
#DCDEE4 #101420 headings on the raised band 13.66 4.50 pass
#31363F #F5F5F7 body on paper 11.15 4.50 pass
#0A0C12 #F5F5F7 headings on paper 17.95 4.50 pass
#4A4F5C #F5F5F7 notation on paper 7.52 4.50 pass
#CD016C #F5F5F7 the lit letters on paper 5.05 3.00 pass
#F5F5F7 #CD016C the label on the filled button, on paper 5.05 4.50 pass

17 pairs, 0 failing. the accent measures 4.35 on the card surface the book defines, which fails, so that surface is not used anywhere on this site. the rule is kept by removing the thing that breaks it.

the weight budget

a budget nobody enforces is a wish. this one is a file, the build reads it, and the build fails when a page goes over. the figures below are read off the built output by scripts/report.mjs.

$ npm run build
  measuring the built output ...

  /                        264.1 kb / 288 kb   ok
  /404.html                 41.7 kb / 60 kb   ok
  /book/                    47.0 kb / 90 kb   ok
  /colophon/                55.8 kb / 60 kb   ok
  /contact/                 32.7 kb / 60 kb   ok
  /method/                 138.7 kb / 170 kb   ok
  /pricing/                 34.2 kb / 60 kb   ok
  /privacy/                 32.7 kb / 60 kb   ok
  /report/                  35.3 kb / 60 kb   ok
  /studio/                  35.0 kb / 170 kb   ok
  /work/                    33.5 kb / 140 kb   ok
  /work/measuredplan/       35.8 kb / 60 kb   ok
  /work/solarprojects/      35.4 kb / 60 kb   ok
  /work/survair/            34.8 kb / 60 kb   ok

  third parties: none
  all budgets met.

the accent ceiling is a separate gate: a count of lit objects per page, listed in src/data/site.ts. it is a rule this site imposed on itself and it is not in the brand book.

your browser, just now

everything above was measured on our machine. the three figures below are measured on yours, by your browser, and nothing is sent anywhere.

time to first byte
not measured
largest contentful paint
not measured
cumulative layout shift
not measured

javascript is off, so these three are blank. everything above this line was rendered without it.