/** * Screen geometry and typography, in one place. * * The panel is 800x480 and strictly 1-bit: there is no grey to lean on, so * hierarchy has to come from size, weight and solid inversion. Nothing here * may introduce a shadow, a gradient or a hairline — they dither into mud on * e-ink and cost a redraw for nothing. */ export const SCREEN_WIDTH = 800; export const SCREEN_HEIGHT = 480; export const BLACK = '#000000'; export const WHITE = '#ffffff'; export const PADDING = 24; /** * Where the week sits. * * A bottom band gives each day a 114px column, and that width is what caps * the type size. A side band gives roughly 230px and a 68px row instead — * twice the room in both directions, at the cost of narrowing the main block. */ export type WeekPlacement = 'bottom' | 'right' | 'left'; export const SIDE_BAND_WIDTH = 232; export const HEADER_HEIGHT = 76; export const WEEK_HEIGHT = 112; export const BANNER_HEIGHT = 84; /** Solid rules only; anything thinner than 2px breaks up on e-ink. */ export const RULE = 3; export const SANS = 'Inter'; export const SERIF = 'Source Serif 4';