Skip to main content

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.

Create new type
⌄
Select type
Name
Abstract

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:

Create new type
Laptop
⌄
Portable computers issued to employees
Equipment
Name
Abstract
Abstract means that objects cannot be created for this type. This is useful when using inheritance where this type is extended by a concrete (non-abstract) subtype.

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​

NameDescription
NameThe name of the type.
DescriptionAn optional description of the type.
Inherits fromWhether this type should extend another type (type inheritance).
Label attributeDefines how objects of this type are labeled.
AbstractWhen 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.