Skip to content

Text ​

wrapping and measurement. The ui-gallery page Text, painted with no terminal and no window at each of the documented profiles:

bash
ui-gallery --render --page text --profile full|enhanced|baseline
 sparkles:ui wrapping and measurement                                               tokyo-night 
   Welcome           ▕ Text · wrapping and measurement                                         █
   Primitives        ▕                                                                         █
   Layout            ▕                                                                         █
   Tracks            ▕ Wrapping retains a source ledger and selected projection. Painting,     █
 ▸ Text              ▕ cell hits and copy consume that same plan; source bytes stay available. █
   Themes            ▕                                                                         █
   Slots             ▕ column 34 cells hang 2                                                  █
   Decoration        ▕                                                                         █
   Effects           ▕ ┌─────────────────────────────────────────────────────────────────────┐ █
   Grid              ▕ │ none — one line, clipped by whatever contains it                    │ █
   Components        ▕ │ A widget names a semantic slot, ne                                  │ █
   Tree              ▕ └─────────────────────────────────────────────────────────────────────┘ ░
   Property tree     ▕                                                                         ░
   Table             ▕ ┌─────────────────────────────────────────────────────────────────────┐ ░
   Scrolling         ▕ │ greedy — break as late as possible                                  │ ░
   State             ▕ │ A widget names a semantic slot,                                     │ ░
   Split             ▕ │ never a concrete colour, and the                                    │ ░
   Dock              ▕ │ palette resolves it while the                                       │ ░
   Terminal          ▕ │ display list is built.                                              │ ░
                     ▕ └─────────────────────────────────────────────────────────────────────┘ ░
                     ▕                                                                         ░
                     ▕ ┌─────────────────────────────────────────────────────────────────────┐ ░
                     ▕ │ balanced — minimum squared slack over all but the last line         │ ░
                     ▕ │ A widget names a semantic slot,                                     │ ░
                     ▕ │ never a concrete colour, and the                                    │ ░
                     ▕ │ palette resolves it while the                                       │ ░
                     ▕ │ display list is built.                                              │ ░
                     ▕ └─────────────────────────────────────────────────────────────────────┘ ░
                     ▕                                                                         ░
                     ▕                                                                          
 pages + wider - narrower h hang indent                                         ? keys   q quit 
 sparkles:ui wrapping and measurement                                               tokyo-night 
   Welcome           ▕ Text · wrapping and measurement                                         █
   Primitives        ▕                                                                         █
   Layout            ▕                                                                         █
   Tracks            ▕ Wrapping retains a source ledger and selected projection. Painting,     █
 ▸ Text              ▕ cell hits and copy consume that same plan; source bytes stay available. █
   Themes            ▕                                                                         █
   Slots             ▕ column 34 cells hang 2                                                  █
   Decoration        ▕                                                                         █
   Effects           ▕ ┌─────────────────────────────────────────────────────────────────────┐ █
   Grid              ▕ │ none — one line, clipped by whatever contains it                    │ █
   Components        ▕ │ A widget names a semantic slot, ne                                  │ █
   Tree              ▕ └─────────────────────────────────────────────────────────────────────┘ ░
   Property tree     ▕                                                                         ░
   Table             ▕ ┌─────────────────────────────────────────────────────────────────────┐ ░
   Scrolling         ▕ │ greedy — break as late as possible                                  │ ░
   State             ▕ │ A widget names a semantic slot,                                     │ ░
   Split             ▕ │ never a concrete colour, and the                                    │ ░
   Dock              ▕ │ palette resolves it while the                                       │ ░
   Terminal          ▕ │ display list is built.                                              │ ░
                     ▕ └─────────────────────────────────────────────────────────────────────┘ ░
                     ▕                                                                         ░
                     ▕ ┌─────────────────────────────────────────────────────────────────────┐ ░
                     ▕ │ balanced — minimum squared slack over all but the last line         │ ░
                     ▕ │ A widget names a semantic slot,                                     │ ░
                     ▕ │ never a concrete colour, and the                                    │ ░
                     ▕ │ palette resolves it while the                                       │ ░
                     ▕ │ display list is built.                                              │ ░
                     ▕ └─────────────────────────────────────────────────────────────────────┘ ░
                     ▕                                                                         ░
                     ▕                                                                          
 pages + wider - narrower h hang indent                                         ? keys   q quit 
 sparkles:ui wrapping and measurement                                               tokyo-night 
   Welcome           | Text * wrapping and measurement                                         #
   Primitives        |                                                                         #
   Layout            |                                                                         #
   Tracks            | Wrapping retains a source ledger and selected projection. Painting,     #
 > Text              | cell hits and copy consume that same plan; source bytes stay available. #
   Themes            |                                                                         #
   Slots             | column 34 cells hang 2                                                  #
   Decoration        |                                                                         #
   Effects           | +---------------------------------------------------------------------+ #
   Grid              | | none - one line, clipped by whatever contains it                    | #
   Components        | | A widget names a semantic slot, ne                                  | #
   Tree              | +---------------------------------------------------------------------+ |
   Property tree     |                                                                         |
   Table             | +---------------------------------------------------------------------+ |
   Scrolling         | | greedy - break as late as possible                                  | |
   State             | | A widget names a semantic slot,                                     | |
   Split             | | never a concrete colour, and the                                    | |
   Dock              | | palette resolves it while the                                       | |
   Terminal          | | display list is built.                                              | |
                     | +---------------------------------------------------------------------+ |
                     |                                                                         |
                     | +---------------------------------------------------------------------+ |
                     | | balanced - minimum squared slack over all but the last line         | |
                     | | A widget names a semantic slot,                                     | |
                     | | never a concrete colour, and the                                    | |
                     | | palette resolves it while the                                       | |
                     | | display list is built.                                              | |
                     | +---------------------------------------------------------------------+ |
                     |                                                                         |
                     |                                                                          
 pages + wider - narrower h hang indent                                         ? keys   q quit 

What each profile gives up ​

The frame's degradation report: one line per substitution, and the capability the target lacked. full is empty when the page asks for nothing a terminal cannot do.

text
alpha-flattened ×3 (alpha)
text
color-folded ×74 (colorDepth)
alpha-flattened ×3 (alpha)
text
color-dropped ×74 (colorDepth)
ascii-border ×4 (unicode)
ascii-scrollbar ×1 (unicode)
ascii-glyph ×5 (unicode)
alpha-flattened ×3 (alpha)

These are the files dub test :ui-gallery compares every render against, so a change to this page that is not re-blessed fails CI.