IFClite TypeScript API
    Preparing search index...

    Interface Mutation

    A single mutation operation

    interface Mutation {
        attributeName?: string;
        entityId: number;
        entityType?: string;
        id: string;
        modelId: string;
        newValue?: PropertyValue;
        oldQuantityType?: number;
        oldUnit?: string | null;
        oldValue?: PropertyValue;
        predefinedType?: string | null;
        propName?: string;
        psetName?: string;
        quantityType?: number;
        sessionKind?: string;
        setOverlay?: { after: SetOverlaySnapshot; before: SetOverlaySnapshot };
        timestamp: number;
        type: MutationType;
        unit?: string;
        unitRemoved?: boolean;
        valueType?: PropertyValueType;
    }
    Index
    attributeName?: string

    Attribute name (IFC entity attributes like Name, Description, ObjectType, Tag, etc.)

    entityId: number

    Entity EXPRESS ID

    entityType?: string

    New IFC class keyword for UPDATE_ENTITY_TYPE (canonical PascalCase, e.g. "IfcColumn").

    id: string

    Unique identifier for this mutation

    modelId: string

    Model ID this mutation applies to

    newValue?: PropertyValue

    New value

    oldQuantityType?: number

    Previous quantity class; absent only in older history entries.

    oldUnit?: string | null

    Previous unit; null records an explicitly absent unit.

    oldValue?: PropertyValue

    Previous value (for undo)

    predefinedType?: string | null

    Optional PredefinedType to set on the retyped entity. Validated against the target class's enum domain at export; an unknown value falls back to USERDEFINED + ObjectType (mirrors IfcOpenShell's reassign_class).

    propName?: string

    Property or quantity name

    psetName?: string

    Property set or quantity set name

    quantityType?: number

    Quantity type (Length, Area, Volume, etc.) — for CREATE/UPDATE_QUANTITY

    sessionKind?: string

    Domain label for a SESSION_EDIT, e.g. a retained native Room layout.

    setOverlay?: { after: SetOverlaySnapshot; before: SetOverlaySnapshot }

    The touched set's overlay state right before and right after a whole-set edit (CREATE_PROPERTY_SET, DELETE_PROPERTY_SET, whole-set CREATE_QUANTITY, DELETE_QUANTITY_SET, DELETE_QUANTITY). These edits rewrite several overlay rows at once and carry no per-row old value, so undo restores before and redo restores after via MutablePropertyView.restoreSetOverlay (#5965).

    timestamp: number

    Timestamp when mutation was created

    Type of mutation

    unit?: string

    Unit (for quantities)

    unitRemoved?: boolean

    Explicitly removed unit in a quantity edit; absent in older histories.

    valueType?: PropertyValueType

    Value type