Pretext klingt nach einem akademischen Nischenprojekt. Aber wer die interaktiven Demos öffnet, versteht sofort: Das hier löst echte Probleme, die viele Entwickler mit Heuristiken und DOM-Hacks zu umgehen versuchen.

Fünf Demo-Kategorien zeigen die Bandbreite. Jede adressiert einen klassischen Schmerzpunkt beim Text-Layout im Browser.

1. The Editorial Engine

Die Editorial Engine Demo ist das beeindruckendste Showcase: ein mehrspaltiges Layout mit draggable Orbs. Man zieht Kreise über die Seite, und der Text fliesst in Echtzeit um sie herum, Zeile für Zeile angepasst. Bei 60fps.

Das ist exakt das Problem, bei dem normale Browser-Lösungen versagen. Text um beliebig geformte Hindernisse fliessen zu lassen, erfordert präzise Kenntnis der Zeilenbreiten an jeder Position. CSS kann das nicht. Canvas normalerweise auch nicht. Pretext macht es möglich, weil layout() unterschiedliche Zeilenbreiten für jeden einzelnen Absatz unterstützt.

Die Editorial Engine ist das stärkste Argument für Pretext: Sie zeigt dass das was man in Print-Design als selbstverständlich kennt, im Web endlich ohne Tricks möglich ist.

2. Fluid Smoke — Typografisches ASCII

Die Fluid Smoke Demo macht etwas komplett anderes: Sie rendert eine Fluidsimulation als Typografie. Statt Pixel werden Schriftzeichen verwendet, deren visuelle Gewichtung der Dichte der Simulation entspricht.

Das funktioniert nur, weil Pretext präzise weiss wie breit jedes einzelne Zeichen ist, auch bei Proportionalschriften wo jeder Buchstabe unterschiedlich breit ist. Ein simpler Grid-Ansatz würde hier scheitern.

3. Justification Compared — CSS vs. Knuth-Plass

Der Justification-Vergleich stellt drei Algorithmen nebeneinander: CSS-Blocksatz (greedy), CSS mit Silbentrennung, und Knuth-Plass optimal. Der Unterschied ist augenfällig. CSS-Blocksatz erzeugt "Flüsse" (rivers), unschöne Weissräume die sich diagonal durch den Text ziehen. Knuth-Plass, der Algorithmus aus TeX, verteilt Abstände optimal über den gesamten Absatz.

Mit Pretext ist Knuth-Plass im Browser implementierbar, ohne eine einzige DOM-Messung.

4. Shrinkwrap Showdown

Der Shrinkwrap-Vergleich löst ein deceptively einfaches Problem: Wie findet man die exakt engste Breite für einen mehrzeiligen Text? CSS fit-content ist unzuverlässig. Pretext findet den Wert durch Binärsuche über das Arithmetik-Modell, ohne Layout-Queries.

5. Variable Typographic ASCII

Die Variable ASCII Demo kombiniert ein Partikelsystem mit typografischem Rendering: Jedes Partikel wird als Buchstabe dargestellt, ausgewählt nach Helligkeit und Breite über drei verschiedene Font-Weights. Das Ergebnis ist ein lebendiges typografisches Bild.

RTL und Emoji-Support

Ein oft übersehener Aspekt von Pretext: Die Bibliothek unterstützt vollständig alle Sprachen. Arabisch, Hebräisch und andere RTL-Texte werden korrekt gemessen. Emojis mit ihren variablen Breiten werden präzise behandelt. Mixed-Bidi-Text, wo Arabisch und Englisch gemischt werden, funktioniert korrekt.

Das sind Bereiche, in denen viele Canvas-basierte Lösungen kapitulieren oder sich auf Näherungswerte verlassen. Pretext macht keine Kompromisse.

5 Interaktive Demos
Zeilenbreiten-Varianten pro Absatz
60fps Editorial Engine Reflow

Pretext sounds like an academic niche project. But anyone who opens the interactive demos immediately understands: this solves real problems that many developers try to work around with heuristics and DOM hacks.

Five demo categories show the breadth. Each addresses a classic pain point with text layout in the browser.

1. The Editorial Engine

The Editorial Engine Demo is the most impressive showcase: a multi-column layout with draggable orbs. You drag circles across the page, and the text flows around them in real time, adjusted line by line. At 60fps.

This is exactly the problem where normal browser solutions fail. Making text flow around arbitrarily shaped obstacles requires precise knowledge of line widths at every position. CSS can't do it. Neither can Canvas, normally. Pretext makes it possible because layout() supports different line widths for each individual paragraph.

The Editorial Engine is the strongest argument for Pretext: it shows that what you take for granted in print design is finally possible on the web without tricks.

2. Fluid Smoke — Typographic ASCII

The Fluid Smoke Demo does something completely different: it renders a fluid simulation as typography. Instead of pixels, characters are used, whose visual weight corresponds to the density of the simulation.

This only works because Pretext knows precisely how wide each individual character is, even with proportional fonts where every letter has a different width. A simple grid approach would fail here.

3. Justification Compared — CSS vs. Knuth-Plass

The justification comparison places three algorithms side by side: CSS block justification (greedy), CSS with hyphenation, and Knuth-Plass optimal. The difference is striking. CSS justification creates "rivers," unsightly white spaces that run diagonally through the text. Knuth-Plass, the algorithm from TeX, distributes spacing optimally across the entire paragraph.

With Pretext, Knuth-Plass is implementable in the browser without a single DOM measurement.

4. Shrinkwrap Showdown

The shrinkwrap comparison solves a deceptively simple problem: how do you find the exact tightest width for multi-line text? CSS fit-content is unreliable. Pretext finds the value through binary search over the arithmetic model, without layout queries.

5. Variable Typographic ASCII

The Variable ASCII Demo combines a particle system with typographic rendering: each particle is represented as a letter, selected by brightness and width across three different font weights. The result is a living typographic image.

RTL and Emoji Support

An often overlooked aspect of Pretext: the library fully supports all languages. Arabic, Hebrew, and other RTL texts are measured correctly. Emojis with their variable widths are handled precisely. Mixed-bidi text, where Arabic and English are mixed, works correctly.

These are areas where many Canvas-based solutions give up or rely on approximations. Pretext makes no compromises.

5 Interactive Demos
Line width variants per paragraph
60fps Editorial Engine Reflow