Loading live layout…
Pretext / Live Showcase
Booting module

Interactive paragraph

Measure it. Wrap it. Route it.

Width, height, line materialization, cursor ranges, shrink-wrap, routed flow, preserved spaces, tabs, and multilingual edge cases.

Width
360 px
Font
18 px
Leading
26 px

Line output

layoutWithLines()

Script matrix

Intl, glue rules, URLs, soft hyphens

Fixed-width snapshots from `prepareWithSegments()` and `layoutWithLines()`.

Shrink wrap

walkLineRanges()

Binary-searched widths that keep the same line count with less empty area.

Routed flow

layoutNextLine()

Variable line widths around obstacles, drawn directly to canvas.

Whitespace modes

`normal` vs `pre-wrap`

Tabs follow tab stops. Hard breaks stay explicit. Trailing spaces remain visible.