Layout
sizing, spacing, alignment. The ui-gallery page Layout, painted with no terminal and no window at each of the documented profiles:
bash
ui-gallery --render --page layout --profile full|enhanced|baseline sparkles:ui sizing, spacing, alignment tokyo-night
Welcome ▕ Layout · sizing, spacing, alignment █
Primitives ▕ █
▸ Layout ▕ █
Tracks ▕ Four passes, each O(n): natural width up, allocation down, height-for- █
Text ▕ width up, placement down. Nothing iterates to a fixed point — the █
Themes ▕ width/height cycle is broken by ordering. █
Slots ▕ █
Decoration ▕ ┌─────────────────────────────────────────────────────────────────────┐ █
Effects ▕ │ the knobs │ █
Grid ▕ │ width fit grow fixed percent │ █
Components ▕ │ value 12 │ █
Tree ▕ │ alignX start center end │ █
Property tree ▕ │ alignY start center end │ █
Table ▕ │ gap 1 padding 1 │ █
Scrolling ▕ │ third band visible hidden collapsed │ █
State ▕ └─────────────────────────────────────────────────────────────────────┘ █
Split ▕ █
Dock ▕ ┌─────────────────────────────────────────────────────────────────────┐ █
Terminal ▕ │ the row │ █
▕ │ │ █
▕ │ first second third │ ░
▕ │ │ ░
▕ └─────────────────────────────────────────────────────────────────────┘ ░
▕ ░
▕ ┌─────────────────────────────────────────────────────────────────────┐ ░
▕ │ what each width means │ ░
▕ │ fit shrink-wrap the content (the default) │ ░
▕ │ grow(n) take a weighted share of what is left │ ░
▕ │ fixed(n) exactly n cells │ ░
▕
pages w width mode a align x A align y g gap p padding v third's visibility ? keys q quit sparkles:ui sizing, spacing, alignment tokyo-night
Welcome ▕ Layout · sizing, spacing, alignment █
Primitives ▕ █
▸ Layout ▕ █
Tracks ▕ Four passes, each O(n): natural width up, allocation down, height-for- █
Text ▕ width up, placement down. Nothing iterates to a fixed point — the █
Themes ▕ width/height cycle is broken by ordering. █
Slots ▕ █
Decoration ▕ ┌─────────────────────────────────────────────────────────────────────┐ █
Effects ▕ │ the knobs │ █
Grid ▕ │ width fit grow fixed percent │ █
Components ▕ │ value 12 │ █
Tree ▕ │ alignX start center end │ █
Property tree ▕ │ alignY start center end │ █
Table ▕ │ gap 1 padding 1 │ █
Scrolling ▕ │ third band visible hidden collapsed │ █
State ▕ └─────────────────────────────────────────────────────────────────────┘ █
Split ▕ █
Dock ▕ ┌─────────────────────────────────────────────────────────────────────┐ █
Terminal ▕ │ the row │ █
▕ │ │ █
▕ │ first second third │ ░
▕ │ │ ░
▕ └─────────────────────────────────────────────────────────────────────┘ ░
▕ ░
▕ ┌─────────────────────────────────────────────────────────────────────┐ ░
▕ │ what each width means │ ░
▕ │ fit shrink-wrap the content (the default) │ ░
▕ │ grow(n) take a weighted share of what is left │ ░
▕ │ fixed(n) exactly n cells │ ░
▕
pages w width mode a align x A align y g gap p padding v third's visibility ? keys q quit sparkles:ui sizing, spacing, alignment tokyo-night
Welcome | Layout * sizing, spacing, alignment #
Primitives | #
> Layout | #
Tracks | Four passes, each O(n): natural width up, allocation down, height-for- #
Text | width up, placement down. Nothing iterates to a fixed point - the #
Themes | width/height cycle is broken by ordering. #
Slots | #
Decoration | +---------------------------------------------------------------------+ #
Effects | | the knobs | #
Grid | | width fit grow fixed percent | #
Components | | value 12 | #
Tree | | alignX start center end | #
Property tree | | alignY start center end | #
Table | | gap 1 padding 1 | #
Scrolling | | third band visible hidden collapsed | #
State | +---------------------------------------------------------------------+ #
Split | #
Dock | +---------------------------------------------------------------------+ #
Terminal | | the row | #
| | | #
| | first second third | |
| | | |
| +---------------------------------------------------------------------+ |
| |
| +---------------------------------------------------------------------+ |
| | what each width means | |
| | fit shrink-wrap the content (the default) | |
| | grow(n) take a weighted share of what is left | |
| | fixed(n) exactly n cells | |
|
pages w width mode a align x A align y g gap p padding v third's visibility ? 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 ×19 (alpha)text
color-folded ×113 (colorDepth)
alpha-flattened ×19 (alpha)text
color-dropped ×113 (colorDepth)
ascii-border ×4 (unicode)
ascii-scrollbar ×1 (unicode)
ascii-glyph ×3 (unicode)
alpha-flattened ×19 (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.