Describes static metadata for a single property of an AcDbEntity.

This structure contains only passive information used by the UI:

  • how to label the property,
  • how the value should be displayed,
  • whether it is editable,
  • what possible enum options exist, etc.

The value field may hold the initial value used for display. For editable properties, the actual source of truth is provided by AcDbPropertyAccessor in AcDbEntityRuntimeProperty.

This interface is typically used as the core metadata structure inside property group definitions, presets, schema descriptions, and serialization formats.

interface AcDbEntityProperty {
    editable?: boolean;
    name: string;
    options?: { label: string; value: unknown }[];
    type: AcDbEntityPropertyType;
}

Hierarchy (View Summary)

Properties

editable?: boolean

Indicates whether this property can be edited by the user.

  • true → UI will present an editor widget.
  • false → UI renders the value read-only.

If omitted, the property defaults to editable.

name: string

Unique identifier for the property.

This is used internally to:

  • map UI fields to entity fields,
  • identify properties when diffing or merging,
  • implement undo/redo tracking.
options?: { label: string; value: unknown }[]

Optional enumeration choices, only used when type === "enum".

Each option includes a user-facing label and an associated raw value.

Declares the type of the property.

Determines which UI editor is used to display or edit the value. For example:

  • "color" → color picker
  • "enum" → dropdown list
  • "float" → number input