Der Druck
Der Strich allein macht noch keine Zeichnung. Was in den ersten Fassungen nach Vektorgrafik aussah, waren nicht die Linien – es waren die Flächen und das Blatt darunter.
Drei Handgriffe machen daraus einen Druck: die Farbfläche sitzt nicht exakt in ihrer Kontur, sie blutet an ihrem Rand ins Papier aus, und das Papier ist nie gleichmäßig. Dazu kommt die Frage, wer die Farben überhaupt kennt – und die Antwort ist: niemand außer der Palette.
Fehlregister
flaeche() legt die Fläche nicht dorthin, wo ihre Kontur
ist. Sie wird um 0.008 bis 0.016
Einheitsmaß verschoben und um bis zu 1,5 % anders groß gezeichnet: die
Farbplatte trifft die Strichplatte nicht genau. Mal steht die Farbe
über die Linie, mal bleibt auf der anderen Seite ein heller Saum.
Richtung und Maß hängen am Seed, also am Kopf –
einmal je Stift aus der Spur 'register' gezogen. Ein
Blatt, auf dem jede Fläche in eine andere Richtung rutscht, wäre kein
Fehlregister, sondern ein Wackelkontakt.
Eine Platte je Farbe
Eine Presse hat je Farbe eine Platte, und jede sitzt ein wenig anders. Trotzdem liegt hier fast alles auf DERSELBEN: Haut, Haar, Lippen und Zierrat rutschen gemeinsam gegen den Strich, sonst sähe ein Kopf aus wie ein Wackelkontakt.
Eine Ausnahme gibt es. Der Stoff am Hals – Hemdkragen, Wollsaum –
nennt platte: 'kleid' und bekommt damit eine eigene
Richtung, aus demselben Seed gezogen. Er ist nicht der Kopf, er ist
das, worauf der Kopf sitzt, und im Druck wäre er ein eigener
Durchgang. Dort unten sieht man das Register am besten: es ist die
größte zusammenhängende Fläche am unteren Rand, und die Rippen der
Strickerei liegen als Tinte darauf, ohne mitzurutschen.
Ausbluten
Unter jeder Druckfläche liegt dieselbe Fläche noch einmal: 3 % größer,
bei 14 % Deckung. Die Farbe läuft ein wenig ins Papier, und der Rand
ist dadurch ein Saum statt einer Kante. Es ist derselbe Handgriff wie
der Saum um einen punkt() – dort mit 7 % und 16 %, weil
eine Sommersprosse kleiner ist als eine Wange.
Wofür der Druck NICHT gilt
Gedruckt wird von selbst: der Stift druckt, und eine Fläche muss darum
nicht bitten. Nur wer trocken bleiben will, sagt es –
trocken: true. Umgekehrt herum stand die Regel einmal als
druck: true an siebzehn einzelnen Aufrufen, und eine
Gegenprobe ohne Druck war nur über einen nachgebauten Zeichenweg zu
haben. Jetzt ist sie das letzte Argument von macheStift.
Drei Arten von Flächen bleiben trocken:
| Fläche | Grund |
|---|---|
| Hals, Ohr, Hutband | Sie müssen an etwas anschließen. Ein Hals, der um ein Prozent verrutscht, ist ein Spalt unter dem Kinn; ein Band, das von der Krone rutscht, hängt in der Luft. |
| Pflaster, Zähne, Zunge | Zierrat, klein genug, dass ein Versatz nicht nach Druck aussieht, sondern nach Fehler. |
| Die Tönung des Brillenglases | Beides zugleich. Sie muss an die Fassung anschließen, und der Versatz ist ein festes Maß im Kopfraum: auf der Haut ein Fünfzigstel ihrer Breite, auf einem Glas ein Sechzehntel. Der Versatz wächst nicht mit der Fläche mit – deshalb ist die Frage nie „Presse an oder aus", sondern wie groß er im Verhältnis zu DIESER Fläche ist. |
Das Papier
Das Korn wird einmal in eine 128er-Kachel gezeichnet und danach als Muster über das ganze Blatt gefüllt. Neu gewürfelt sähe es bei jedem Bild anders aus – aus Papier würde Fernsehrauschen. Davon abgesehen wären ein paar tausend Punkte je Bild teurer als der ganze Rest der Zeichnung.
Im Korn liegen zwei Dinge: Punkte (900, sehr blass) und Fasern (70 kurze Striche in zufälliger Richtung, noch blasser). Nur Punkte sind Rauschen. Fasern sind Papier.
Dazu wird das Blatt zu den Rändern hin um zwei, drei Prozent dunkler – ein radialer Verlauf, dessen Mitte etwas oberhalb der Blattmitte sitzt, dort, wo das Licht herkäme. Ein Papier, das überall exakt denselben Ton hat, ist ein Bildschirm.
Farbe als Rollen
Kein Zeichenschritt nennt je einen Hexwert. Er fragt nach
p.tinte oder p.akzent. Das ist dieselbe
Trennung wie bei den CSS-Tokens dieser Seite – nur dass Canvas keine
Variablen kennt und die Auflösung deshalb in
palette.ts passieren muss.
| Rolle | wofür |
|---|---|
| tinte | der Strich. Alles Gezeichnete außer Haar und Akzent. |
| tinteWeich | zurückgenommener Strich: Ohrmuschel, Fältchen. |
| sprosse | Sommersprossen – ein warmer Ton zwischen Rot und Braun. In Tinte lasen sie sich als Stoppeln. |
| haut | die Kopffläche. Sehr hell – sie trägt keine Farbe, sie trägt einen Hauch. |
| hautTief | der Schatten der Kopffläche an ihrer Unterkante. |
| schatten | der weiche Schatten IM Kopf, zur abgewandten Seite. Halbdurchsichtig, weil er über der Haut liegt und ihren Ton behalten soll. |
| blank | das Helle im Gesicht: Zähne, der Glanz im Auge, helle Ringe auf dunklem Zierrat. Nah am Papier, mit einem Hauch des Hauttons – nicht die Haut selbst, die kann dunkel sein. |
| akzent | Wangen, Lippen, Zunge – immer dunkler als die Haut. |
| sternFarbe(t) | keine feste Rolle, sondern eine Tabelle: acht poppige Töne für die Sterne im Auge. Der Akzent allein war zu wenig – neun Köpfe mit demselben Korallenstern sind ein Stempel. |
| haar | Haar und Bart teilen sich eine Farbe: zwei Töne im selben Gesicht lesen sich als zwei Personen. |
| stoff | Kopfbedeckung. Setzt sich vom Haar ab, sonst verschwindet sie darin. |
| stoffTief | derselbe Stoff, dunkler und etwas bunter: das Band am Hut. Eine eigene Farbe wäre ein zweites Kleidungsstück am Kopf. |
| pflaster | ein Pflaster: heller als die Haut, mit einem Hauch Sand. |
haarDunkel ist keine Farbe
Neben den zehn Farben steht ein boolean. Auf schwarzem
Haar ist ein Strich in Tinte nichts; dort muss die Zeichnung
ausgespart werden – hell statt dunkel. Die Frage, ob
das nötig ist, beantwortet die Palette selbst
(haarDunkel: hl < 0.5).
Symptom: Die Strähnen auf dunklem Haar sind unsichtbar, auf blondem viel zu hart.
Ursache: Die Zeichnung wollte die Helligkeit aus der
Farbe ablesen. Die Farbe ist zu diesem Zeitpunkt aber ein
CSS-String – wer sie befragen will, müsste
rgb(…) parsen und nach OKLCH zurückrechnen, in jedem
Bild, für jede Strähne.
Lösung: Der Merker wird dort gesetzt, wo die
Helligkeit noch eine Zahl ist – in machePalette.
OKLCH: sieben Hauttöne und was ihnen folgt
Bis zum 17.08.2026 hatten alle Köpfe dieselbe Helligkeit:
L = 0.955, C = 0.007, nur der Farbton
wanderte. Das war eine Regel gegen ein echtes Problem – Helligkeit,
die als Zufall auf einen Ton gestreut wird, sieht im Raster nach
Fehldruck aus – mit einer falschen Folge: alle Köpfe waren fast weiß.
Jetzt liegt die Helligkeit in der Tabelle, Zeile für Zeile von Hand
gesetzt, zusammen mit der Buntheit: L von 0.72 bis 0.955,
C von 0.06 herunter auf 0.012. Dunklere Haut braucht mehr
Buntheit, sonst wird sie grau; helle fast keine, sonst wird sie
orange. Dazu Gewichte – die kräftigen Zeilen kommen vor, aber selten
(zusammen gut ein Zehntel der Köpfe) – und ab
HAUT_BUNT_AB = 0.88 eine zweite Liste mit Farben: Minze,
Flieder, Rosé, Eis, Moos, Beere. Das Blatt ist kein Ausweisfoto.
Nach unten endet die Tabelle bei L = 0.72. Das ist eine
Aussage über diesen Stil, nicht über Menschen: er zeichnet mit einem
dunklen Strich (Tinte um 0.27) auf die Fläche, und alles im Gesicht
– Lidbögen, Nase, Fältchen, Stoppeln – ist derselbe Strich. Unter
0.7 saufen diese Züge ab. Ein dunklerer Kopf bräuchte ausgesparte,
helle Züge, also einen zweiten Zeichenweg; solange es den nicht
gibt, wäre eine dunklere Zeile ein Versprechen, das die Presse nicht
hält.
Was auf der Haut liegt, rechnet von ihrer Helligkeit aus:
hautTief (Schatten) einen Schritt darunter,
akzent (Wangen, Lippen) 0.13 darunter,
sprosse 0.22 darunter, pflaster darüber. Und
was hell sein muss – Zähne, der Glanz im Auge, helle Ringe
auf dunklem Zierrat – nimmt die neue Rolle blank statt
der Haut. Vorher war das die Hautfarbe; das ging nur, solange jede
Haut fast weiß war.
Haar: zehn Naturtöne, sieben gefärbte
Vorher waren es sechs Naturtöne, von denen drei dasselbe dunkle Braun meinten – ein Blatt sah aus wie eine Familie. Jetzt reichen sie von Schwarz über Kupfer und Asche bis Weiß, und die warmen unterscheiden sich in der Buntheit, nicht nur in der Helligkeit: Kupfer ist nicht hellbraun, es ist bunter. Auch hier Gewichte: Ocker und Kupfer sind die lautesten Töne auf dem Blatt und stünden gleichverteilt auf jedem zweiten Kopf.
Ab BUNT_AB = 0.82 greift die zweite Liste – knapp ein
Fünftel der Köpfe. Die gefärbten dürfen poppig sein, aber sie dürfen
das Blatt nicht sprengen: höchstens die Buntheit des Akzents (0.115).
Ein Neonpink mit C = 0.25 wäre auf einem Blatt aus Papier
und Bleistift ein Aufkleber.
Und selten. Neun gefärbte Köpfe nebeneinander sind kein Merkmal mehr, sondern die Regel.
Die Grenze der CSS-Rollen
Die Seite hat ihre eigenen Rollen-Token
(--flaeche, --vordergrund, …). Sie decken die
Seite ab, nicht das Canvas: dort löst kein Browser
eine Variable auf. Deshalb gibt es die Rollen zweimal – in CSS für das
Dokument, in palette.ts für die Zeichnung.
Über die Brücke gehen genau zwei Rollen:
--marke-canvas für die Beschriftung unter den Köpfen und
--flaeche für den Schleier über dem Raster. Beide stehen
namentlich in scripts/check-rollen.mjs, und eine dritte
kommt nicht dazu, ohne dass jemand sie dort einträgt. Mehr dazu bei
den Schichten und den
Fallen.