@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
|
@@ -82,6 +82,7 @@ var import_FocusManager = require("./managers/FocusManager/FocusManager");
|
|
|
82
82
|
var import_FontManager = require("./managers/FontManager/FontManager");
|
|
83
83
|
var import_HistoryManager = require("./managers/HistoryManager/HistoryManager");
|
|
84
84
|
var import_InputsManager = require("./managers/InputsManager/InputsManager");
|
|
85
|
+
var import_PerformanceManager = require("./managers/PerformanceManager/PerformanceManager");
|
|
85
86
|
var import_ScribbleManager = require("./managers/ScribbleManager/ScribbleManager");
|
|
86
87
|
var import_SnapManager = require("./managers/SnapManager/SnapManager");
|
|
87
88
|
var import_SpatialIndexManager = require("./managers/SpatialIndexManager/SpatialIndexManager");
|
|
@@ -155,6 +156,8 @@ class Editor extends import_eventemitter3.default {
|
|
|
155
156
|
});
|
|
156
157
|
this.fonts = new import_FontManager.FontManager(this, fontAssetUrls);
|
|
157
158
|
this.inputs = new import_InputsManager.InputsManager(this);
|
|
159
|
+
this.performance = new import_PerformanceManager.PerformanceManager(this);
|
|
160
|
+
this.disposables.add(() => this.performance.dispose());
|
|
158
161
|
class NewRoot extends import_RootState.RootState {
|
|
159
162
|
static initial = initialState ?? "";
|
|
160
163
|
}
|
|
@@ -648,6 +651,12 @@ class Editor extends import_eventemitter3.default {
|
|
|
648
651
|
* @public
|
|
649
652
|
*/
|
|
650
653
|
snaps;
|
|
654
|
+
/**
|
|
655
|
+
* A manager for performance measurement hooks.
|
|
656
|
+
*
|
|
657
|
+
* @public
|
|
658
|
+
*/
|
|
659
|
+
performance;
|
|
651
660
|
/**
|
|
652
661
|
* A manager for the spatial index, tracking where shapes exist on the canvas.
|
|
653
662
|
*
|
|
@@ -956,6 +965,7 @@ class Editor extends import_eventemitter3.default {
|
|
|
956
965
|
this._flushEventsForTick(0);
|
|
957
966
|
this.complete();
|
|
958
967
|
this.history.undo();
|
|
968
|
+
this.performance._notifyUndoRedo("undo", this.history.getNumUndos(), this.history.getNumRedos());
|
|
959
969
|
return this;
|
|
960
970
|
}
|
|
961
971
|
canUndo() {
|
|
@@ -978,6 +988,7 @@ class Editor extends import_eventemitter3.default {
|
|
|
978
988
|
this._flushEventsForTick(0);
|
|
979
989
|
this.complete();
|
|
980
990
|
this.history.redo();
|
|
991
|
+
this.performance._notifyUndoRedo("redo", this.history.getNumUndos(), this.history.getNumRedos());
|
|
981
992
|
return this;
|
|
982
993
|
}
|
|
983
994
|
canRedo() {
|
|
@@ -7884,6 +7895,7 @@ class Editor extends import_eventemitter3.default {
|
|
|
7884
7895
|
),
|
|
7885
7896
|
{ immediate: true }
|
|
7886
7897
|
);
|
|
7898
|
+
this.performance._notifyCameraOperation("zooming");
|
|
7887
7899
|
this.emit("event", info);
|
|
7888
7900
|
return;
|
|
7889
7901
|
}
|
|
@@ -7945,6 +7957,7 @@ class Editor extends import_eventemitter3.default {
|
|
|
7945
7957
|
immediate: true
|
|
7946
7958
|
});
|
|
7947
7959
|
this.maybeTrackPerformance("Zooming");
|
|
7960
|
+
this.performance._notifyCameraOperation("zooming");
|
|
7948
7961
|
this.root.handleEvent(info);
|
|
7949
7962
|
this.emit("event", info);
|
|
7950
7963
|
return;
|
|
@@ -7954,6 +7967,7 @@ class Editor extends import_eventemitter3.default {
|
|
|
7954
7967
|
immediate: true
|
|
7955
7968
|
});
|
|
7956
7969
|
this.maybeTrackPerformance("Panning");
|
|
7970
|
+
this.performance._notifyCameraOperation("panning");
|
|
7957
7971
|
this.root.handleEvent(info);
|
|
7958
7972
|
this.emit("event", info);
|
|
7959
7973
|
return;
|
|
@@ -8019,6 +8033,7 @@ class Editor extends import_eventemitter3.default {
|
|
|
8019
8033
|
immediate: true
|
|
8020
8034
|
});
|
|
8021
8035
|
this.maybeTrackPerformance("Panning");
|
|
8036
|
+
this.performance._notifyCameraOperation("panning");
|
|
8022
8037
|
return;
|
|
8023
8038
|
}
|
|
8024
8039
|
if (inputs.getIsPointing() && !inputs.getIsDragging() && import_Vec.Vec.Dist2(inputs.getOriginPagePoint(), inputs.getCurrentPagePoint()) * this.getZoomLevel() > (instanceState.isCoarsePointer ? this.options.coarseDragDistanceSquared : this.options.dragDistanceSquared) / cz) {
|