steerlab

steerlab design system

One source for how anything steerlab makes should look: research notes, the research page, the README, the web demo, images, diagrams and 3D scenes. Read it before designing; update it when a decision changes.

Identity

steerlab is a control desk. It turns a model’s insides into something you can watch, push with a fader, and measure. Every visual choice comes from that idea or from steerlab’s own data, never from another lab’s look.

Principles:

  1. Show the real thing. Hero art is drawn from the experiment’s own data; figures come from results/. Illustration explains a mechanism, it never decorates.
  2. Two colours, two meanings. Steer orange is what steering does (the pushed activations, the effect). Fader blue is the control (settings, sliders, the steering layer). Grey is everything else, including the random-direction controls.
  3. Measured, not hyped. Numbers lead (counts and intervals), with the random control next to them.
  4. A publication on light paper, screens on dark. Pages are light; art, demos and 3D scenes sit on the Ember ground, like screens on the desk.

Colour

Token Light Dark Meaning and use
--canvas #ffffff #121516 Page background. Light is the default; dark only from the reader’s switch, never the system setting
--ink #1d272a #e8ecec Text
--ink-soft #586468 #a7b1b3 Secondary text, captions
--ink-faint #8a9497 #7b8689 Labels, meta
--rule #e3e7e8 #2a3133 Hairlines, borders
--panel #f5f6f4 #1b2022 Code blocks only (no boxed prose)
--accent steer orange #c9561c #e07a3f What steering does: steered data, the direction arrow, headline numbers
--accent-soft #f8e6dc #3a2419 Highlighted table row, emphasised words in quoted replies
--control fader blue #4a86e8 #6f9ff0 Controls and settings: faders, sliders, channel tags, the steering layer in art
--ground Ember #15110e #15110e Art, 3D scenes, the web demo (its own palette)

Art palette on the Ember ground: stream greys #6f675f → #a39a90, steered #f2b48e → #e07a3f → #c9561c, control #4a86e8, text #d9d2ca. Never use orange for decoration or blue for data.

Type

Role Face Use
Display Bricolage Grotesque 700 (650 for small labels) Titles (44px, −0.025em), section headings (32 / 22px), card titles, figure labels
Body Source Serif 4 400, 17px / 1.65, 18px between paragraphs Reading text, summaries (dek 19px), quotes (italic)
Mono JetBrains Mono Eyebrows, meta labels, table headers, channel tags, fader values, code
Chalk Kalam 400, inside a figure only The chalkboard figure that works maths out by hand (sandbagging episode 1), on its own board palette like the hand-drawn diagrams

Load from Google Fonts with display=swap. Curly quotes and apostrophes in text. Numbers in tables are tabular.

Layout

Components

Art

docs/assets/logo.png: the stream mark (parallel lines, one nudged off course by an arrow), orange on a dark rounded tile with transparent corners. Use it at 64px or more; do not recolour it or put it on orange.

Process

  1. Read this file.
  2. Build, then screenshot at 1440px and 390px, light and dark.
  3. For anything visual and public, run a two-model design review (GPT-6 Astra and Claude critique independently, then review each other’s lists) and apply what they agree on.
  4. Record new decisions here.

Decision log