@tldraw/editor 4.6.0-next.e0f85e824397 → 4.6.0-next.e390fde97eab
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.
- package/dist-cjs/index.d.ts +297 -3
- package/dist-cjs/index.js +5 -1
- package/dist-cjs/index.js.map +2 -2
- package/dist-cjs/lib/components/MenuClickCapture.js +16 -1
- package/dist-cjs/lib/components/MenuClickCapture.js.map +2 -2
- package/dist-cjs/lib/editor/Editor.js +15 -0
- package/dist-cjs/lib/editor/Editor.js.map +2 -2
- package/dist-cjs/lib/editor/managers/PerformanceManager/PerformanceApiAdapter.js +80 -0
- package/dist-cjs/lib/editor/managers/PerformanceManager/PerformanceApiAdapter.js.map +7 -0
- package/dist-cjs/lib/editor/managers/PerformanceManager/PerformanceManager.js +466 -0
- package/dist-cjs/lib/editor/managers/PerformanceManager/PerformanceManager.js.map +7 -0
- package/dist-cjs/lib/editor/managers/PerformanceManager/perf-types.js +17 -0
- package/dist-cjs/lib/editor/managers/PerformanceManager/perf-types.js.map +7 -0
- package/dist-cjs/lib/editor/shapes/ShapeUtil.js +2 -2
- package/dist-cjs/lib/editor/shapes/ShapeUtil.js.map +2 -2
- package/dist-cjs/lib/editor/shapes/group/GroupShapeUtil.js +1 -1
- package/dist-cjs/lib/editor/shapes/group/GroupShapeUtil.js.map +2 -2
- package/dist-cjs/lib/editor/shapes/shared/getPerfectDashProps.js +6 -0
- package/dist-cjs/lib/editor/shapes/shared/getPerfectDashProps.js.map +2 -2
- package/dist-cjs/lib/editor/tools/StateNode.js +14 -17
- package/dist-cjs/lib/editor/tools/StateNode.js.map +2 -2
- package/dist-cjs/lib/utils/runtime.js +2 -1
- package/dist-cjs/lib/utils/runtime.js.map +2 -2
- package/dist-cjs/lib/utils/sync/hardReset.js +0 -8
- package/dist-cjs/lib/utils/sync/hardReset.js.map +2 -2
- package/dist-cjs/version.js +3 -3
- package/dist-cjs/version.js.map +1 -1
- package/dist-esm/index.d.mts +297 -3
- package/dist-esm/index.mjs +5 -1
- package/dist-esm/index.mjs.map +2 -2
- package/dist-esm/lib/components/MenuClickCapture.mjs +16 -1
- package/dist-esm/lib/components/MenuClickCapture.mjs.map +2 -2
- package/dist-esm/lib/editor/Editor.mjs +15 -0
- package/dist-esm/lib/editor/Editor.mjs.map +2 -2
- package/dist-esm/lib/editor/managers/PerformanceManager/PerformanceApiAdapter.mjs +60 -0
- package/dist-esm/lib/editor/managers/PerformanceManager/PerformanceApiAdapter.mjs.map +7 -0
- package/dist-esm/lib/editor/managers/PerformanceManager/PerformanceManager.mjs +438 -0
- package/dist-esm/lib/editor/managers/PerformanceManager/PerformanceManager.mjs.map +7 -0
- package/dist-esm/lib/editor/managers/PerformanceManager/perf-types.mjs +1 -0
- package/dist-esm/lib/editor/managers/PerformanceManager/perf-types.mjs.map +7 -0
- package/dist-esm/lib/editor/shapes/ShapeUtil.mjs +2 -2
- package/dist-esm/lib/editor/shapes/ShapeUtil.mjs.map +2 -2
- package/dist-esm/lib/editor/shapes/group/GroupShapeUtil.mjs +1 -1
- package/dist-esm/lib/editor/shapes/group/GroupShapeUtil.mjs.map +2 -2
- package/dist-esm/lib/editor/shapes/shared/getPerfectDashProps.mjs +6 -0
- package/dist-esm/lib/editor/shapes/shared/getPerfectDashProps.mjs.map +2 -2
- package/dist-esm/lib/editor/tools/StateNode.mjs +14 -17
- package/dist-esm/lib/editor/tools/StateNode.mjs.map +2 -2
- package/dist-esm/lib/utils/runtime.mjs +2 -1
- package/dist-esm/lib/utils/runtime.mjs.map +2 -2
- package/dist-esm/lib/utils/sync/hardReset.mjs +0 -8
- package/dist-esm/lib/utils/sync/hardReset.mjs.map +2 -2
- package/dist-esm/version.mjs +3 -3
- package/dist-esm/version.mjs.map +1 -1
- package/package.json +7 -7
- package/src/index.ts +15 -0
- package/src/lib/components/MenuClickCapture.tsx +20 -0
- package/src/lib/editor/Editor.ts +16 -0
- package/src/lib/editor/managers/PerformanceManager/PerformanceApiAdapter.ts +82 -0
- package/src/lib/editor/managers/PerformanceManager/PerformanceManager.test.ts +522 -0
- package/src/lib/editor/managers/PerformanceManager/PerformanceManager.ts +583 -0
- package/src/lib/editor/managers/PerformanceManager/perf-types.ts +196 -0
- package/src/lib/editor/shapes/ShapeUtil.ts +2 -2
- package/src/lib/editor/shapes/group/GroupShapeUtil.tsx +1 -1
- package/src/lib/editor/shapes/shared/getPerfectDashProps.ts +7 -0
- package/src/lib/editor/tools/StateNode.ts +16 -18
- package/src/lib/utils/runtime.ts +3 -1
- package/src/lib/utils/sync/hardReset.ts +0 -8
- package/src/version.ts +3 -3
|
@@ -116,6 +116,7 @@ import { FocusManager } from "./managers/FocusManager/FocusManager.mjs";
|
|
|
116
116
|
import { FontManager } from "./managers/FontManager/FontManager.mjs";
|
|
117
117
|
import { HistoryManager } from "./managers/HistoryManager/HistoryManager.mjs";
|
|
118
118
|
import { InputsManager } from "./managers/InputsManager/InputsManager.mjs";
|
|
119
|
+
import { PerformanceManager } from "./managers/PerformanceManager/PerformanceManager.mjs";
|
|
119
120
|
import { ScribbleManager } from "./managers/ScribbleManager/ScribbleManager.mjs";
|
|
120
121
|
import { SnapManager } from "./managers/SnapManager/SnapManager.mjs";
|
|
121
122
|
import { SpatialIndexManager } from "./managers/SpatialIndexManager/SpatialIndexManager.mjs";
|
|
@@ -189,6 +190,8 @@ class Editor extends EventEmitter {
|
|
|
189
190
|
});
|
|
190
191
|
this.fonts = new FontManager(this, fontAssetUrls);
|
|
191
192
|
this.inputs = new InputsManager(this);
|
|
193
|
+
this.performance = new PerformanceManager(this);
|
|
194
|
+
this.disposables.add(() => this.performance.dispose());
|
|
192
195
|
class NewRoot extends RootState {
|
|
193
196
|
static initial = initialState ?? "";
|
|
194
197
|
}
|
|
@@ -682,6 +685,12 @@ class Editor extends EventEmitter {
|
|
|
682
685
|
* @public
|
|
683
686
|
*/
|
|
684
687
|
snaps;
|
|
688
|
+
/**
|
|
689
|
+
* A manager for performance measurement hooks.
|
|
690
|
+
*
|
|
691
|
+
* @public
|
|
692
|
+
*/
|
|
693
|
+
performance;
|
|
685
694
|
/**
|
|
686
695
|
* A manager for the spatial index, tracking where shapes exist on the canvas.
|
|
687
696
|
*
|
|
@@ -990,6 +999,7 @@ class Editor extends EventEmitter {
|
|
|
990
999
|
this._flushEventsForTick(0);
|
|
991
1000
|
this.complete();
|
|
992
1001
|
this.history.undo();
|
|
1002
|
+
this.performance._notifyUndoRedo("undo", this.history.getNumUndos(), this.history.getNumRedos());
|
|
993
1003
|
return this;
|
|
994
1004
|
}
|
|
995
1005
|
canUndo() {
|
|
@@ -1012,6 +1022,7 @@ class Editor extends EventEmitter {
|
|
|
1012
1022
|
this._flushEventsForTick(0);
|
|
1013
1023
|
this.complete();
|
|
1014
1024
|
this.history.redo();
|
|
1025
|
+
this.performance._notifyUndoRedo("redo", this.history.getNumUndos(), this.history.getNumRedos());
|
|
1015
1026
|
return this;
|
|
1016
1027
|
}
|
|
1017
1028
|
canRedo() {
|
|
@@ -7918,6 +7929,7 @@ class Editor extends EventEmitter {
|
|
|
7918
7929
|
),
|
|
7919
7930
|
{ immediate: true }
|
|
7920
7931
|
);
|
|
7932
|
+
this.performance._notifyCameraOperation("zooming");
|
|
7921
7933
|
this.emit("event", info);
|
|
7922
7934
|
return;
|
|
7923
7935
|
}
|
|
@@ -7979,6 +7991,7 @@ class Editor extends EventEmitter {
|
|
|
7979
7991
|
immediate: true
|
|
7980
7992
|
});
|
|
7981
7993
|
this.maybeTrackPerformance("Zooming");
|
|
7994
|
+
this.performance._notifyCameraOperation("zooming");
|
|
7982
7995
|
this.root.handleEvent(info);
|
|
7983
7996
|
this.emit("event", info);
|
|
7984
7997
|
return;
|
|
@@ -7988,6 +8001,7 @@ class Editor extends EventEmitter {
|
|
|
7988
8001
|
immediate: true
|
|
7989
8002
|
});
|
|
7990
8003
|
this.maybeTrackPerformance("Panning");
|
|
8004
|
+
this.performance._notifyCameraOperation("panning");
|
|
7991
8005
|
this.root.handleEvent(info);
|
|
7992
8006
|
this.emit("event", info);
|
|
7993
8007
|
return;
|
|
@@ -8053,6 +8067,7 @@ class Editor extends EventEmitter {
|
|
|
8053
8067
|
immediate: true
|
|
8054
8068
|
});
|
|
8055
8069
|
this.maybeTrackPerformance("Panning");
|
|
8070
|
+
this.performance._notifyCameraOperation("panning");
|
|
8056
8071
|
return;
|
|
8057
8072
|
}
|
|
8058
8073
|
if (inputs.getIsPointing() && !inputs.getIsDragging() && Vec.Dist2(inputs.getOriginPagePoint(), inputs.getCurrentPagePoint()) * this.getZoomLevel() > (instanceState.isCoarsePointer ? this.options.coarseDragDistanceSquared : this.options.dragDistanceSquared) / cz) {
|