Layout From Backend Metadata
Recommended shape:
- backend returns schema
- backend optionally returns layout metadata
- frontend converts metadata to
FormLayoutConfig
Avoid embedding app-specific view rules into the raw field schema unless the rule is genuinely semantic.
Pseudo-transform:
const layout = { kind: "wizard", steps: apiLayout.steps.map((step) => ({ id: step.id, title: step.title, children: step.fields.map((fieldId) => ({ kind: "field", field: fieldId })), })),};Validate immediately by passing it to createFormView().