Dotloom TypeScript API
    Preparing search index...

    Type Alias Command

    Command:
        | { entity: NewEntity; id?: EntityId; op: "createEntity" }
        | { id: EntityId; op: "updateEntity"; patch: EntityPatch }
        | { mode?: EditMode; op: "setParams"; values: ParamValue[] }
        | {
            ids: EntityId[];
            op: "transform";
            policy?: TransformPolicy;
            transform: Affine;
        }
        | { ids: EntityId[]; op: "delete"; policy?: DeletePolicy }
        | { id: EntityId; index: number; op: "reorder" }
        | { constraint: ConstraintSpec; id?: ConstraintId; op: "addConstraint" }
        | {
            id: ConstraintId;
            op: "updateConstraint";
            patch: {
                enabled?: boolean;
                label?: string;
                rule?: RuleSpec;
                strength?: Strength;
            };
        }
        | { id: ConstraintId; op: "removeConstraint" }
        | { id?: LayerId; name: string; op: "addLayer" }
        | {
            id: LayerId;
            op: "updateLayer";
            patch: {
                color?: Color;
                locked?: boolean;
                name?: string;
                visible?: boolean;
            };
        }
        | { id: LayerId; op: "removeLayer" }
        | { id: LayerId; index: number; op: "moveLayer" }
        | { id?: GroupId; members: EntityId[]; name?: string; op: "group" }
        | { id: GroupId; op: "ungroup" }
        | { clipboard: Clipboard; offset: Point; op: "paste" }
        | { at: Point; at2?: Point; id: EntityId; op: "split" }
        | { cutters: EntityId[]; id: EntityId; op: "trim"; pick: Point }
        | { boundaries: EntityId[]; end: CurveEnd; id: EntityId; op: "extend" }
        | {
            op: "setSettings";
            patch: {
                displayUnit?: LengthUnit;
                gridSpacing?: number;
                timeAxis?: TimeAxis;
                title?: string;
            };
        }