@zsviczian/excalidraw 0.18.0-10 → 0.18.0-12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/dist/excalidraw.development.js +61 -61
  2. package/dist/excalidraw.production.min.js +1 -1
  3. package/package.json +1 -1
  4. package/types/{excalidraw/scene → element/src}/Scene.d.ts +8 -11
  5. package/types/element/src/align.d.ts +3 -3
  6. package/types/element/src/binding.d.ts +9 -9
  7. package/types/element/src/dragElements.d.ts +3 -2
  8. package/types/element/src/elbowArrow.d.ts +1 -1
  9. package/types/element/src/flowchart.d.ts +3 -2
  10. package/types/element/src/fractionalIndex.d.ts +2 -2
  11. package/types/element/src/frame.d.ts +1 -1
  12. package/types/element/src/linearElementEditor.d.ts +13 -13
  13. package/types/element/src/mutateElement.d.ts +10 -2
  14. package/types/element/src/resizeElements.d.ts +5 -5
  15. package/types/element/src/sizeHelpers.d.ts +0 -1
  16. package/types/element/src/textElement.d.ts +4 -3
  17. package/types/element/src/zindex.d.ts +3 -3
  18. package/types/excalidraw/actions/actionAddToLibrary.d.ts +3 -3
  19. package/types/excalidraw/actions/actionBoundText.d.ts +2 -2
  20. package/types/excalidraw/actions/actionCanvas.d.ts +30 -30
  21. package/types/excalidraw/actions/actionClipboard.d.ts +6 -6
  22. package/types/excalidraw/actions/actionCropEditor.d.ts +1 -1
  23. package/types/excalidraw/actions/actionDeleteSelected.d.ts +3 -3
  24. package/types/excalidraw/actions/actionElementLink.d.ts +1 -1
  25. package/types/excalidraw/actions/actionElementLock.d.ts +2 -2
  26. package/types/excalidraw/actions/actionEmbeddable.d.ts +1 -1
  27. package/types/excalidraw/actions/actionExport.d.ts +32 -32
  28. package/types/excalidraw/actions/actionFinalize.d.ts +2 -2
  29. package/types/excalidraw/actions/actionFrame.d.ts +6 -6
  30. package/types/excalidraw/actions/actionGroup.d.ts +2 -2
  31. package/types/excalidraw/actions/actionLinearEditor.d.ts +1 -1
  32. package/types/excalidraw/actions/actionMenu.d.ts +1 -1
  33. package/types/excalidraw/actions/actionNavigate.d.ts +1 -1
  34. package/types/excalidraw/actions/actionProperties.d.ts +17 -17
  35. package/types/excalidraw/actions/actionSelectAll.d.ts +1 -1
  36. package/types/excalidraw/actions/actionStyles.d.ts +1 -1
  37. package/types/excalidraw/actions/actionToggleGridMode.d.ts +1 -1
  38. package/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +1 -1
  39. package/types/excalidraw/actions/actionToggleSearchMenu.d.ts +2 -2
  40. package/types/excalidraw/actions/actionToggleStats.d.ts +1 -1
  41. package/types/excalidraw/actions/actionToggleViewMode.d.ts +1 -1
  42. package/types/excalidraw/actions/actionToggleZenMode.d.ts +1 -1
  43. package/types/excalidraw/actions/actionZindex.d.ts +2 -2
  44. package/types/excalidraw/appState.d.ts +15 -15
  45. package/types/excalidraw/components/App.d.ts +4 -1
  46. package/types/excalidraw/components/ElementLinkDialog.d.ts +4 -3
  47. package/types/excalidraw/components/Stats/Angle.d.ts +1 -1
  48. package/types/excalidraw/components/Stats/CanvasGrid.d.ts +1 -1
  49. package/types/excalidraw/components/Stats/CanvasGridSize.d.ts +1 -1
  50. package/types/excalidraw/components/Stats/Dimension.d.ts +1 -1
  51. package/types/excalidraw/components/Stats/DragInput.d.ts +1 -1
  52. package/types/excalidraw/components/Stats/FontSize.d.ts +1 -1
  53. package/types/excalidraw/components/Stats/MultiAngle.d.ts +1 -1
  54. package/types/excalidraw/components/Stats/MultiDimension.d.ts +1 -1
  55. package/types/excalidraw/components/Stats/MultiFontSize.d.ts +1 -1
  56. package/types/excalidraw/components/Stats/MultiPosition.d.ts +1 -1
  57. package/types/excalidraw/components/Stats/Position.d.ts +1 -1
  58. package/types/excalidraw/components/Stats/utils.d.ts +4 -4
  59. package/types/excalidraw/components/hyperlink/Hyperlink.d.ts +3 -2
  60. package/types/excalidraw/fonts/Fonts.d.ts +1 -1
  61. package/types/excalidraw/scene/Renderer.d.ts +1 -1
  62. package/types/excalidraw/scene/types.d.ts +2 -0
  63. package/types/excalidraw/types.d.ts +1 -0
@@ -80,7 +80,7 @@ export declare const actionToggleSearchMenu: {
80
80
  zoom: Readonly<{
81
81
  value: import("../types").NormalizedZoomValue;
82
82
  }>;
83
- openMenu: "shape" | "canvas" | null;
83
+ openMenu: "canvas" | "shape" | null;
84
84
  openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
85
85
  openDialog: {
86
86
  name: "help" | "imageExport" | "jsonExport";
@@ -293,7 +293,7 @@ export declare const actionToggleSearchMenu: {
293
293
  zoom: Readonly<{
294
294
  value: import("../types").NormalizedZoomValue;
295
295
  }>;
296
- openMenu: "shape" | "canvas" | null;
296
+ openMenu: "canvas" | "shape" | null;
297
297
  openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
298
298
  defaultSidebarDockedPreference: boolean;
299
299
  lastPointerDownWith: import("@excalidraw/element/types").PointerType;
@@ -80,7 +80,7 @@ export declare const actionToggleStats: {
80
80
  zoom: Readonly<{
81
81
  value: import("../types").NormalizedZoomValue;
82
82
  }>;
83
- openMenu: "shape" | "canvas" | null;
83
+ openMenu: "canvas" | "shape" | null;
84
84
  openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
85
85
  openSidebar: {
86
86
  name: string;
@@ -77,7 +77,7 @@ export declare const actionToggleViewMode: {
77
77
  zoom: Readonly<{
78
78
  value: import("../types").NormalizedZoomValue;
79
79
  }>;
80
- openMenu: "shape" | "canvas" | null;
80
+ openMenu: "canvas" | "shape" | null;
81
81
  openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
82
82
  openSidebar: {
83
83
  name: string;
@@ -77,7 +77,7 @@ export declare const actionToggleZenMode: {
77
77
  zoom: Readonly<{
78
78
  value: import("../types").NormalizedZoomValue;
79
79
  }>;
80
- openMenu: "shape" | "canvas" | null;
80
+ openMenu: "canvas" | "shape" | null;
81
81
  openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
82
82
  openSidebar: {
83
83
  name: string;
@@ -45,7 +45,7 @@ export declare const actionSendToBack: {
45
45
  category: "element";
46
46
  };
47
47
  perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>) => {
48
- elements: readonly import("@excalidraw/element/types").ExcalidrawElement[] | import("@excalidraw/element/types").ExcalidrawElement[];
48
+ elements: import("@excalidraw/element/types").ExcalidrawElement[] | readonly import("@excalidraw/element/types").ExcalidrawElement[];
49
49
  appState: Readonly<import("../types").AppState>;
50
50
  captureUpdate: "IMMEDIATELY";
51
51
  };
@@ -63,7 +63,7 @@ export declare const actionBringToFront: {
63
63
  category: "element";
64
64
  };
65
65
  perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>) => {
66
- elements: readonly import("@excalidraw/element/types").ExcalidrawElement[] | import("@excalidraw/element/types").ExcalidrawElement[];
66
+ elements: import("@excalidraw/element/types").ExcalidrawElement[] | readonly import("@excalidraw/element/types").ExcalidrawElement[];
67
67
  appState: Readonly<import("../types").AppState>;
68
68
  captureUpdate: "IMMEDIATELY";
69
69
  };
@@ -1,13 +1,18 @@
1
1
  import type { AppState, NormalizedZoomValue } from "./types";
2
2
  export declare const getDefaultAppState: () => Omit<AppState, "offsetTop" | "offsetLeft" | "width" | "height">;
3
3
  export declare const clearAppStateForLocalStorage: (appState: Partial<AppState>) => {
4
- viewBackgroundColor?: string | undefined;
5
4
  name?: string | null | undefined;
5
+ activeTool?: ({
6
+ lastActiveTool: import("./types").ActiveTool | null;
7
+ locked: boolean;
8
+ fromSelection: boolean;
9
+ } & import("./types").ActiveTool) | undefined;
6
10
  zoom?: Readonly<{
7
11
  value: NormalizedZoomValue;
8
12
  }> | undefined;
9
13
  scrollX?: number | undefined;
10
14
  scrollY?: number | undefined;
15
+ viewBackgroundColor?: string | undefined;
11
16
  editingGroupId?: string | null | undefined;
12
17
  selectedElementIds?: Readonly<{
13
18
  [id: string]: true;
@@ -18,23 +23,13 @@ export declare const clearAppStateForLocalStorage: (appState: Partial<AppState>)
18
23
  } | undefined;
19
24
  selectedLinearElement?: import("@excalidraw/element/linearElementEditor").LinearElementEditor | null | undefined;
20
25
  zenModeEnabled?: boolean | undefined;
21
- gridModeEnabled?: boolean | undefined;
22
- objectsSnapModeEnabled?: boolean | undefined;
23
- shouldCacheIgnoreZoom?: boolean | undefined;
24
- exportScale?: number | undefined;
25
- gridSize?: number | undefined;
26
- gridStep?: number | undefined;
27
26
  showWelcomeScreen?: boolean | undefined;
28
- activeTool?: ({
29
- lastActiveTool: import("./types").ActiveTool | null;
30
- locked: boolean;
31
- fromSelection: boolean;
32
- } & import("./types").ActiveTool) | undefined;
33
27
  penMode?: boolean | undefined;
34
28
  penDetected?: boolean | undefined;
35
29
  exportBackground?: boolean | undefined;
36
30
  exportEmbedScene?: boolean | undefined;
37
31
  exportWithDarkMode?: boolean | undefined;
32
+ exportScale?: number | undefined;
38
33
  currentItemStrokeColor?: string | undefined;
39
34
  currentItemBackgroundColor?: string | undefined;
40
35
  currentItemFillStyle?: import("@excalidraw/element/types").FillStyle | undefined;
@@ -51,7 +46,7 @@ export declare const clearAppStateForLocalStorage: (appState: Partial<AppState>)
51
46
  currentItemArrowType?: "round" | "sharp" | "elbow" | undefined;
52
47
  cursorButton?: "up" | "down" | undefined;
53
48
  scrolledOutside?: boolean | undefined;
54
- openMenu?: "shape" | "canvas" | null | undefined;
49
+ openMenu?: "canvas" | "shape" | null | undefined;
55
50
  openSidebar?: {
56
51
  name: string;
57
52
  tab?: string | undefined;
@@ -61,23 +56,28 @@ export declare const clearAppStateForLocalStorage: (appState: Partial<AppState>)
61
56
  previousSelectedElementIds?: {
62
57
  [id: string]: true;
63
58
  } | undefined;
59
+ shouldCacheIgnoreZoom?: boolean | undefined;
60
+ gridSize?: number | undefined;
61
+ gridStep?: number | undefined;
62
+ gridModeEnabled?: boolean | undefined;
64
63
  stats?: {
65
64
  open: boolean;
66
65
  panels: number;
67
66
  } | undefined;
68
67
  currentChartType?: import("@excalidraw/element/types").ChartType | undefined;
68
+ objectsSnapModeEnabled?: boolean | undefined;
69
69
  };
70
70
  export declare const cleanAppStateForExport: (appState: Partial<AppState>) => {
71
71
  viewBackgroundColor?: string | undefined;
72
- gridModeEnabled?: boolean | undefined;
73
72
  gridSize?: number | undefined;
74
73
  gridStep?: number | undefined;
74
+ gridModeEnabled?: boolean | undefined;
75
75
  };
76
76
  export declare const clearAppStateForDatabase: (appState: Partial<AppState>) => {
77
77
  viewBackgroundColor?: string | undefined;
78
- gridModeEnabled?: boolean | undefined;
79
78
  gridSize?: number | undefined;
80
79
  gridStep?: number | undefined;
80
+ gridModeEnabled?: boolean | undefined;
81
81
  };
82
82
  export declare const isEraserActive: ({ activeTool, }: {
83
83
  activeTool: AppState["activeTool"];
@@ -2,10 +2,12 @@ import React from "react";
2
2
  import { type EXPORT_IMAGE_TYPES } from "@excalidraw/common";
3
3
  import { LinearElementEditor } from "@excalidraw/element/linearElementEditor";
4
4
  import { FlowChartCreator } from "@excalidraw/element/flowchart";
5
+ import Scene from "@excalidraw/element/Scene";
6
+ import type { ElementUpdate } from "@excalidraw/element/mutateElement";
5
7
  import type { ExcalidrawElement, ExcalidrawLinearElement, NonDeleted, InitializedExcalidrawImageElement, ExcalidrawImageElement, NonDeletedExcalidrawElement, ExcalidrawFrameLikeElement, ExcalidrawIframeElement, ExcalidrawEmbeddableElement, Ordered } from "@excalidraw/element/types";
8
+ import type { Mutable } from "@excalidraw/common/utility-types";
6
9
  import { ActionManager } from "../actions/manager";
7
10
  import { AnimationFrameHandler } from "../animation-frame-handler";
8
- import Scene from "../scene/Scene";
9
11
  import { Fonts } from "../fonts";
10
12
  import { Renderer } from "../scene/Renderer";
11
13
  import { Emitter } from "../emitter";
@@ -412,6 +414,7 @@ declare class App extends React.Component<AppProps, AppState> {
412
414
  captureUpdate?: SceneData["captureUpdate"];
413
415
  forceFlushSync?: boolean | undefined;
414
416
  }) => void;
417
+ mutateElement: <TElement extends Mutable<ExcalidrawElement>>(element: TElement, updates: ElementUpdate<TElement>, informMutation?: boolean) => TElement;
415
418
  private triggerRender;
416
419
  /**
417
420
  * @returns whether the menu was toggled on or off
@@ -1,10 +1,11 @@
1
- import type { ElementsMap, ExcalidrawElement } from "@excalidraw/element/types";
1
+ import type { ExcalidrawElement } from "@excalidraw/element/types";
2
+ import type Scene from "@excalidraw/element/Scene";
2
3
  import "./ElementLinkDialog.scss";
3
4
  import type { AppProps, UIAppState } from "../types";
4
- declare const ElementLinkDialog: ({ sourceElementId, onClose, elementsMap, appState, generateLinkForSelection, }: {
5
+ declare const ElementLinkDialog: ({ sourceElementId, onClose, appState, scene, generateLinkForSelection, }: {
5
6
  sourceElementId: ExcalidrawElement["id"];
6
- elementsMap: ElementsMap;
7
7
  appState: UIAppState;
8
+ scene: Scene;
8
9
  onClose?: (() => void) | undefined;
9
10
  generateLinkForSelection: AppProps["generateLinkForSelection"];
10
11
  }) => import("react/jsx-runtime").JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import type { ExcalidrawElement } from "@excalidraw/element/types";
2
- import type Scene from "../../scene/Scene";
2
+ import type Scene from "@excalidraw/element/Scene";
3
3
  import type { AppState } from "../../types";
4
4
  interface AngleProps {
5
5
  element: ExcalidrawElement;
@@ -1,4 +1,4 @@
1
- import type Scene from "../../scene/Scene";
1
+ import type Scene from "@excalidraw/element/Scene";
2
2
  import type { AppState } from "../../types";
3
3
  interface PositionProps {
4
4
  property: "gridStep";
@@ -1,4 +1,4 @@
1
- import type Scene from "../../scene/Scene";
1
+ import type Scene from "@excalidraw/element/Scene";
2
2
  import type { AppState } from "../../types";
3
3
  interface PositionProps {
4
4
  property: "gridSize";
@@ -1,5 +1,5 @@
1
1
  import type { ExcalidrawElement } from "@excalidraw/element/types";
2
- import type Scene from "../../scene/Scene";
2
+ import type Scene from "@excalidraw/element/Scene";
3
3
  import type { AppState } from "../../types";
4
4
  interface DimensionDragInputProps {
5
5
  property: "width" | "height";
@@ -1,7 +1,7 @@
1
1
  import type { ElementsMap, ExcalidrawElement } from "@excalidraw/element/types";
2
+ import type Scene from "@excalidraw/element/Scene";
2
3
  import "./DragInput.scss";
3
4
  import type { StatsInputProperty } from "./utils";
4
- import type Scene from "../../scene/Scene";
5
5
  import type { AppState } from "../../types";
6
6
  export type DragInputCallbackType<P extends StatsInputProperty, E = ExcalidrawElement> = (props: {
7
7
  accumulatedChange: number;
@@ -1,5 +1,5 @@
1
1
  import type { ExcalidrawElement } from "@excalidraw/element/types";
2
- import type Scene from "../../scene/Scene";
2
+ import type Scene from "@excalidraw/element/Scene";
3
3
  import type { AppState } from "../../types";
4
4
  interface FontSizeProps {
5
5
  element: ExcalidrawElement;
@@ -1,5 +1,5 @@
1
1
  import type { ExcalidrawElement } from "@excalidraw/element/types";
2
- import type Scene from "../../scene/Scene";
2
+ import type Scene from "@excalidraw/element/Scene";
3
3
  import type { AppState } from "../../types";
4
4
  interface MultiAngleProps {
5
5
  elements: readonly ExcalidrawElement[];
@@ -1,6 +1,6 @@
1
1
  import type { ExcalidrawElement, NonDeletedSceneElementsMap } from "@excalidraw/element/types";
2
+ import type Scene from "@excalidraw/element/Scene";
2
3
  import type { AtomicUnit } from "./utils";
3
- import type Scene from "../../scene/Scene";
4
4
  import type { AppState } from "../../types";
5
5
  interface MultiDimensionProps {
6
6
  property: "width" | "height";
@@ -1,5 +1,5 @@
1
1
  import type { ExcalidrawElement, NonDeletedSceneElementsMap } from "@excalidraw/element/types";
2
- import type Scene from "../../scene/Scene";
2
+ import type Scene from "@excalidraw/element/Scene";
3
3
  import type { AppState } from "../../types";
4
4
  interface MultiFontSizeProps {
5
5
  elements: readonly ExcalidrawElement[];
@@ -1,6 +1,6 @@
1
1
  import type { ElementsMap, ExcalidrawElement } from "@excalidraw/element/types";
2
+ import type Scene from "@excalidraw/element/Scene";
2
3
  import type { AtomicUnit } from "./utils";
3
- import type Scene from "../../scene/Scene";
4
4
  import type { AppState } from "../../types";
5
5
  interface MultiPositionProps {
6
6
  property: "x" | "y";
@@ -1,5 +1,5 @@
1
1
  import type { ElementsMap, ExcalidrawElement } from "@excalidraw/element/types";
2
- import type Scene from "../../scene/Scene";
2
+ import type Scene from "@excalidraw/element/Scene";
3
3
  import type { AppState } from "../../types";
4
4
  interface PositionProps {
5
5
  property: "x" | "y";
@@ -1,5 +1,5 @@
1
- import type { ElementsMap, ExcalidrawElement, NonDeletedExcalidrawElement, NonDeletedSceneElementsMap } from "@excalidraw/element/types";
2
- import type Scene from "../../scene/Scene";
1
+ import type { ElementsMap, ExcalidrawElement, NonDeletedExcalidrawElement } from "@excalidraw/element/types";
2
+ import type Scene from "@excalidraw/element/Scene";
3
3
  import type { AppState } from "../../types";
4
4
  export type StatsInputProperty = "x" | "y" | "width" | "height" | "angle" | "fontSize" | "gridStep" | "gridSize";
5
5
  export declare const SMALLEST_DELTA = 0.01;
@@ -14,9 +14,9 @@ export declare const newOrigin: (x1: number, y1: number, w1: number, h1: number,
14
14
  x: number;
15
15
  y: number;
16
16
  };
17
- export declare const moveElement: (newTopLeftX: number, newTopLeftY: number, originalElement: ExcalidrawElement, elementsMap: NonDeletedSceneElementsMap, elements: readonly NonDeletedExcalidrawElement[], scene: Scene, originalElementsMap: ElementsMap, shouldInformMutation?: boolean) => void;
17
+ export declare const moveElement: (newTopLeftX: number, newTopLeftY: number, originalElement: ExcalidrawElement, scene: Scene, originalElementsMap: ElementsMap, shouldInformMutation?: boolean) => void;
18
18
  export declare const getAtomicUnits: (targetElements: readonly ExcalidrawElement[], appState: AppState) => AtomicUnit[];
19
- export declare const updateBindings: (latestElement: ExcalidrawElement, elementsMap: NonDeletedSceneElementsMap, elements: readonly NonDeletedExcalidrawElement[], scene: Scene, options?: {
19
+ export declare const updateBindings: (latestElement: ExcalidrawElement, scene: Scene, options?: {
20
20
  simultaneouslyUpdated?: readonly ExcalidrawElement[];
21
21
  newSize?: {
22
22
  width: number;
@@ -1,9 +1,10 @@
1
+ import type Scene from "@excalidraw/element/Scene";
1
2
  import type { ElementsMap, ExcalidrawEmbeddableElement, NonDeletedExcalidrawElement } from "@excalidraw/element/types";
2
3
  import "./Hyperlink.scss";
3
4
  import type { AppState, ExcalidrawProps, UIAppState } from "../../types";
4
- export declare const Hyperlink: ({ element, elementsMap, setAppState, onLinkOpen, setToast, updateEmbedValidationStatus, }: {
5
+ export declare const Hyperlink: ({ element, scene, setAppState, onLinkOpen, setToast, updateEmbedValidationStatus, }: {
5
6
  element: NonDeletedExcalidrawElement;
6
- elementsMap: ElementsMap;
7
+ scene: Scene;
7
8
  setAppState: React.Component<any, AppState>["setState"];
8
9
  onLinkOpen: ExcalidrawProps["onLinkOpen"];
9
10
  setToast: (toast: {
@@ -1,7 +1,7 @@
1
1
  import { type FontMetadata } from "@excalidraw/common";
2
2
  import type { ExcalidrawElement, ExcalidrawTextElement } from "@excalidraw/element/types";
3
+ import type Scene from "@excalidraw/element/Scene";
3
4
  import { ExcalidrawFontFace } from "./ExcalidrawFontFace";
4
- import type Scene from "../scene/Scene";
5
5
  export declare class Fonts {
6
6
  static readonly loadedFontsCache: Set<string>;
7
7
  private static _registered;
@@ -1,5 +1,5 @@
1
1
  import type { ExcalidrawElement, NonDeletedExcalidrawElement } from "@excalidraw/element/types";
2
- import type Scene from "./Scene";
2
+ import type Scene from "@excalidraw/element/Scene";
3
3
  import type { AppState } from "../types";
4
4
  export declare class Renderer {
5
5
  private scene;
@@ -95,12 +95,14 @@ export type ScrollBars = {
95
95
  y: number;
96
96
  width: number;
97
97
  height: number;
98
+ deltaMultiplier: number;
98
99
  } | null;
99
100
  vertical: {
100
101
  x: number;
101
102
  y: number;
102
103
  width: number;
103
104
  height: number;
105
+ deltaMultiplier: number;
104
106
  } | null;
105
107
  };
106
108
  export type ElementShape = Drawable | Drawable[] | null;
@@ -666,6 +666,7 @@ export type PointerDownState = Readonly<{
666
666
  export type UnsubscribeCallback = () => void;
667
667
  export interface ExcalidrawImperativeAPI {
668
668
  updateScene: InstanceType<typeof App>["updateScene"];
669
+ mutateElement: InstanceType<typeof App>["mutateElement"];
669
670
  updateLibrary: InstanceType<typeof Library>["updateLibrary"];
670
671
  resetScene: InstanceType<typeof App>["resetScene"];
671
672
  getSceneElementsIncludingDeleted: InstanceType<typeof App>["getSceneElementsIncludingDeleted"];