Rich field types

Every field has a type that knows how to validate itself, make a sample value, and draw its own input. The set is rich, and adding a new type is a single registration.

Each field on a resource has a type. The type knows how to check a value, make a believable sample, and draw the right input in the editor. That one idea keeps the whole product consistent.

The built-in types

TypeWhat it is
TextA string value.
NumberA numeric value, which can be limited to whole numbers.
BooleanTrue or false.
DateA date, with or without a time.
EnumerationA fixed set of allowed values, shown as a dropdown.
ReferenceA link to another record, shown as a search-and-pick. Can be a single link or a list.
DerivedA read-only value looked up from a linked record, recomputed on every read so it never goes stale.
ObjectA nested object with its own fields.
ArrayA list whose items are themselves a typed field.
Generated idAn id minted fresh when a record is created.

Built to grow

The types live in one registry that the whole engine reads. Adding a new type means registering it once. Nothing else has to change: not the form, not the checks, not the sample-data step. The set you see today is a floor, not a ceiling.