Skip to content

Layout

schema is not layout. A field can keep the same id, validation, default value, and backend meaning while moving between one page, tabs, wizard steps, or a custom shell.

layout handles screen structure:

Layout ideaMeaning
stackedFields and reports render in order.
splitBuilt-in two-area primitive layout.
wizardStep-by-step navigation over layout nodes.
tabsTab navigation over layout nodes.
sectionGrouping node; can also behave as disclosure.
headless layoutcreateFormView() returns render-ready nodes and navigation state for your UI.

The same layout config can go through built-in kit mounts or a custom host. Built-in paths use mountForm(). Custom hosts use createFormView().

Keep field semantics out of layout metadata. Put labels, validation, ids, and backend keys in schema. Put grouping, ordering, steps, tabs, and review screens in layout.