SchemaForm
The field anatomy
Label above with the required mark, the control, help under it; the chips switch the label tone; widths follow the type, so a number is a third and a short enum is a thirdLabel tone
The column the module writes to.
Choose
Ground the copy in a research pass first.
value
{}Dependent fields and audience tiers
x-when on a sibling and on $settings; x-tier hides admin and team fields from a customer, no branching in the appViewerModule version
value
{}Sections
Cards with Kicker labels in the declared order; advanced starts collapsed and counts what changedContentWhat the module writes.
Research
Advanced
Validation and messages
Errors after blur or Submit, the first error takes focus, plain sentences per keyword, warnings that never block; the host's button says why it cannot actChoice lists, radios and fetched options
Checklist with a per-option hint, chips, a multiselect, an acknowledged radio, and options resolved by the app with loading and a fallbackToggle, then Retry on the model field.
0 of 5 chosen
0 of 4 chosen
Choose
Choose
value
{}Part type matching, from its fixture
The first V1 module schema rendered whole; the admin viewer sees the batch size, the customer does notViewer
0 of 4 chosen
value
{}Content generation, from its fixture
A table of sub-forms: short fields as columns, the prompt and its rules in the expanded row, a list of discriminated rules inside; sections with advanced collapsedViewer
ContentThe fields the module writes for every item.
Output fields
required0 rows of 24
| Field | Kind | Minimum (chars) | Maximum (chars) | |
|---|---|---|---|---|
No rows yet | ||||
Research
value
{}Image generation, from its fixture
A root mode chooser with two branches; the edit branch nests an operation chooser whose groups appear in place; recolour's swatch and the output field track sticky computed defaultsViewer
value
{}Attribute normalization, from its fixture
A table seeded from the file's distinct part types, one fetched multiselect per row with a coverage hint, an acknowledged taxonomy radioViewer
Attributes per part type0 rows
| Part type | Attributes | |
|---|---|---|
Nothing to seed from yet | ||
value
{}Review, snapshot, presets and loading
The same value read in prose by section with an Edit link back, then frozen; a preset the host picks with dirty tracking and Reset; the shape-matched skeletonPreset
Short copy
ContentThe fields the module writes for every item.
Output fields
required1 row of 24
| Field | Kind | Minimum (chars) | Maximum (chars) | |
|---|---|---|---|---|
Research
Advanced
A schema outside the subset
The refusal names the path and the keyword and renders in place of the form; nothing degrades to a text boxThis schema cannot be rendered
/properties/modeanyOf: anyOf is not in the V1 subset; the only union is a discriminated oneOf with x-discriminator/properties/modetype: every field declares one of string, number, integer, boolean, array, object/properties/sizeenum: a numeric enum needs x-labels so nobody ships bare numbers as choices
and 2 more; run lintSchema for the full list.