Type
A type represents the identity of an object within a given space. Types are composed of attributes, which define the specific properties and metadata objects of that type can hold.
Creating a type
Types can be organized hierarchically across different levels to create a more structured view. You can rearrange types within this structure at any time — this is a purely visual organization and does not affect the underlying object data or logic.
Mockup, not a screenshot — confirmed against components/Type/CreateTypeForm.tsx. The square control next to Name opens the type's icon picker (TypeIconSelectorWithSearch) — shown here as a plain placeholder since its default icon value wasn't separately confirmed.
Once you start filling in the form, its fields work together the way the properties below describe — picking a type to inherit from, for instance, replaces the need for a separate label attribute:
Mockup, not a screenshot — confirmed against CreateTypeForm.tsx. Picking a type under "Inherit from" disables the Label attribute field, since the inherited type's label attribute is used instead — a real interaction between two of the properties below, not two independent fields.
Properties
| Name | Description |
|---|---|
| Name | The name of the type. |
| Description | An optional description of the type. |
| Inherits from | Whether this type should extend another type (type inheritance). |
| Label attribute | Defines how objects of this type are labeled. |
| Abstract | When enabled, objects cannot be created directly for this type — useful when the type exists only to be extended by concrete subtypes via inheritance. Defaults to false. |