01
Each component is a builder. Configure with method chains, then call with children to compose. Data enters through pointers, read fresh on every render pass.
The template syntax
VBox.Gap(2).Border(BorderRounded).CascadeStyle(&theme)(
Text(&title).Bold().FG(Cyan),
HBox.Gap(1)(
Text(&count),
Space(),
Text("items"),
),
List(&items).Render(func(item *string) any {
return Text(item)
}).BindNav("j", "k"),
)
VBox nests HBox, List pulls from a slice, Text binds a *string. The tree compiles once; pointers dereference each frame.
Loading API reference...