Roadmap
This page describes planned work as intent. None of it is API yet: names, shapes and order may change during implementation. For what exists today, see the concept and guide pages.
In review
Validator registry (0.2.0). Every built-in validation is checked, fields in repeating groups are checked per entry, warnings show as warnings, and apps register typed validators that the designer offers under their own category. See Custom validators.
Planned
V: Validations on containers
Validations attach to groups, repeating groups and the form, not only fields. A repeating group can check each entry and the entries together: an entry count, uniqueness across entries, or a sum or formula check. These go through the same validator registry, with each kind declaring the targets it applies to (field, group, repeating group, form). Authors edit them on the container's Validation tab, and FormView reports them under the container.
R: Extensible rules
- Comparison conditions with string, numeric and date operators, and formula conditions.
- Visibility and enabled effects that target any node, so a group hides as a unit.
- New effects: set required, and set value (calculations).
- Condition and effect kinds in registries, each with a codec, an evaluator and an editor section, with the built-ins registered the same way and a custom case so apps can add their own.
- Rules evaluated per repeating-group entry.
- A form-level Rules panel with When/Then cards and a field-filtered view, and
FormViewacting on option refresh requests.
G: More field types
- Text formats (email, phone, URL) that set the keyboard and add their format validation.
- Input masks and line counts for multiline text.
- Slider and range-slider fields.
- Attachment limits (count, allowed types) edited in the designer and passed to the host's picker.
P: Presentation variants
A typed presentation per field type, edited in a Presentation section: choice as dropdown, radio, checkboxes, chips or a searchable dialog; toggle as switch or checkbox; date pattern and minute step; reference autocomplete settings, a barcode-scanner presentation and create-new through host callbacks. Presentations that need more room raise the element's minimum size.
T: One registration per custom type
A single field-type descriptor carries the codec, a default factory, the minimum size, the formula type, the validators that apply, the fill-time renderer, the inspector property sections and the palette entry. Custom content follows the same shape, and property editors open up to app-built editors. An editor contribution bundles field types, palette categories, validators, rule kinds, presentations and actions into one object. The target: a signature pad registered by one contribution appears in its palette category, drops at its minimum size, shows its own inspector section, renders at fill time, accepts only its validators and round-trips through JSON. Today's four registrations are described in Custom fields.
M: Multi-select editing
Shift-click selects siblings and ⌘-click toggles. The inspector edits the properties the selection shares and shows "Mixed" where values differ. Delete, Wrap in row and Group act on the whole selection as one undo step.
Also planned
- Design check: a collected list of design issues instead of the first exception, so a JSON import reports every problem at once; an issues list in the editor header; and a dirty flag for save and publish gating.
- Canvas: grid item drag and eight-handle resize, and row boundary handles.