@tldraw/editor 5.4.0 → 5.5.0-canary.02c40fdfa655
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 +5 -2
- package/dist-cjs/index.js +1 -1
- package/dist-cjs/lib/constants.js +2 -0
- package/dist-cjs/lib/constants.js.map +2 -2
- package/dist-cjs/lib/editor/Editor.js +9 -6
- package/dist-cjs/lib/editor/Editor.js.map +2 -2
- package/dist-cjs/lib/editor/managers/EdgeScrollManager/EdgeScrollManager.js +10 -6
- package/dist-cjs/lib/editor/managers/EdgeScrollManager/EdgeScrollManager.js.map +2 -2
- package/dist-cjs/lib/editor/managers/ThemeManager/ThemeManager.js +7 -3
- package/dist-cjs/lib/editor/managers/ThemeManager/ThemeManager.js.map +2 -2
- package/dist-cjs/lib/editor/shapes/group/GroupShapeUtil.js +14 -6
- package/dist-cjs/lib/editor/shapes/group/GroupShapeUtil.js.map +3 -3
- package/dist-cjs/lib/primitives/geometry/Arc2d.js +1 -1
- package/dist-cjs/lib/primitives/geometry/Arc2d.js.map +2 -2
- package/dist-cjs/lib/primitives/geometry/CubicBezier2d.js +1 -1
- package/dist-cjs/lib/primitives/geometry/CubicBezier2d.js.map +2 -2
- package/dist-cjs/lib/primitives/geometry/Edge2d.js +1 -1
- package/dist-cjs/lib/primitives/geometry/Edge2d.js.map +2 -2
- package/dist-cjs/lib/primitives/geometry/Group2d.js +8 -5
- package/dist-cjs/lib/primitives/geometry/Group2d.js.map +2 -2
- package/dist-cjs/lib/primitives/geometry/Point2d.js +1 -1
- package/dist-cjs/lib/primitives/geometry/Point2d.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 +5 -2
- package/dist-esm/index.mjs +1 -1
- package/dist-esm/lib/constants.mjs +2 -0
- package/dist-esm/lib/constants.mjs.map +2 -2
- package/dist-esm/lib/editor/Editor.mjs +10 -6
- package/dist-esm/lib/editor/Editor.mjs.map +2 -2
- package/dist-esm/lib/editor/managers/EdgeScrollManager/EdgeScrollManager.mjs +10 -6
- package/dist-esm/lib/editor/managers/EdgeScrollManager/EdgeScrollManager.mjs.map +2 -2
- package/dist-esm/lib/editor/managers/ThemeManager/ThemeManager.mjs +7 -3
- package/dist-esm/lib/editor/managers/ThemeManager/ThemeManager.mjs.map +2 -2
- package/dist-esm/lib/editor/shapes/group/GroupShapeUtil.mjs +14 -6
- package/dist-esm/lib/editor/shapes/group/GroupShapeUtil.mjs.map +3 -3
- package/dist-esm/lib/primitives/geometry/Arc2d.mjs +1 -1
- package/dist-esm/lib/primitives/geometry/Arc2d.mjs.map +2 -2
- package/dist-esm/lib/primitives/geometry/CubicBezier2d.mjs +1 -1
- package/dist-esm/lib/primitives/geometry/CubicBezier2d.mjs.map +2 -2
- package/dist-esm/lib/primitives/geometry/Edge2d.mjs +1 -1
- package/dist-esm/lib/primitives/geometry/Edge2d.mjs.map +2 -2
- package/dist-esm/lib/primitives/geometry/Group2d.mjs +12 -6
- package/dist-esm/lib/primitives/geometry/Group2d.mjs.map +2 -2
- package/dist-esm/lib/primitives/geometry/Point2d.mjs +1 -1
- package/dist-esm/lib/primitives/geometry/Point2d.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/lib/constants.ts +8 -0
- package/src/lib/editor/Editor.ts +19 -9
- package/src/lib/editor/managers/EdgeScrollManager/EdgeScrollManager.test.ts +35 -4
- package/src/lib/editor/managers/EdgeScrollManager/EdgeScrollManager.ts +13 -7
- package/src/lib/editor/managers/ThemeManager/ThemeManager.test.ts +53 -0
- package/src/lib/editor/managers/ThemeManager/ThemeManager.ts +9 -3
- package/src/lib/editor/shapes/group/GroupShapeUtil.tsx +23 -8
- package/src/lib/primitives/geometry/Arc2d.test.ts +9 -0
- package/src/lib/primitives/geometry/Arc2d.ts +1 -1
- package/src/lib/primitives/geometry/CubicBezier2d.test.ts +13 -0
- package/src/lib/primitives/geometry/CubicBezier2d.ts +1 -1
- package/src/lib/primitives/geometry/Edge2d.test.ts +21 -3
- package/src/lib/primitives/geometry/Edge2d.ts +1 -1
- package/src/lib/primitives/geometry/Group2d.test.ts +26 -5
- package/src/lib/primitives/geometry/Group2d.ts +18 -7
- package/src/lib/primitives/geometry/Point2d.test.ts +14 -3
- package/src/lib/primitives/geometry/Point2d.ts +1 -1
- package/src/version.ts +3 -3
|
@@ -75,6 +75,7 @@ import {
|
|
|
75
75
|
import {
|
|
76
76
|
DEFAULT_ANIMATION_OPTIONS,
|
|
77
77
|
DEFAULT_CAMERA_OPTIONS,
|
|
78
|
+
FRAME_MS_60HZ,
|
|
78
79
|
INTERNAL_POINTER_IDS,
|
|
79
80
|
LEFT_MOUSE_BUTTON,
|
|
80
81
|
MIDDLE_MOUSE_BUTTON,
|
|
@@ -1657,7 +1658,8 @@ class Editor extends EventEmitter {
|
|
|
1657
1658
|
if (direction === "next" || direction === "prev") {
|
|
1658
1659
|
const shapeIds = readingOrderShapes.map((shape2) => shape2.id);
|
|
1659
1660
|
const currentIndex = currentShapeId ? shapeIds.indexOf(currentShapeId) : -1;
|
|
1660
|
-
const
|
|
1661
|
+
const startIndex = currentIndex === -1 && direction === "prev" ? 0 : currentIndex;
|
|
1662
|
+
const adjacentIndex = (startIndex + (direction === "next" ? 1 : -1) + shapeIds.length) % shapeIds.length;
|
|
1661
1663
|
adjacentShapeId = shapeIds[adjacentIndex];
|
|
1662
1664
|
} else {
|
|
1663
1665
|
if (!currentShapeId) return;
|
|
@@ -2537,14 +2539,16 @@ class Editor extends EventEmitter {
|
|
|
2537
2539
|
setCamera(point, opts) {
|
|
2538
2540
|
const { isLocked } = this._cameraOptions.__unsafe__getWithoutCapture();
|
|
2539
2541
|
if (isLocked && !opts?.force) return this;
|
|
2542
|
+
const _point = Vec.Cast(point);
|
|
2543
|
+
if (!Number.isFinite(_point.x) || !Number.isFinite(_point.y) || !Number.isFinite(_point.z)) {
|
|
2544
|
+
throw Error(
|
|
2545
|
+
`Editor.setCamera: expected finite values, got (${_point.x}, ${_point.y}, ${_point.z}).`
|
|
2546
|
+
);
|
|
2547
|
+
}
|
|
2540
2548
|
this.stopCameraAnimation();
|
|
2541
2549
|
if (this.getInstanceState().followingUserId) {
|
|
2542
2550
|
this.stopFollowingUser();
|
|
2543
2551
|
}
|
|
2544
|
-
const _point = Vec.Cast(point);
|
|
2545
|
-
if (!Number.isFinite(_point.x)) _point.x = 0;
|
|
2546
|
-
if (!Number.isFinite(_point.y)) _point.y = 0;
|
|
2547
|
-
if (_point.z === void 0 || !Number.isFinite(_point.z)) point.z = this.getZoomLevel();
|
|
2548
2552
|
const camera = this.getConstrainedCamera(_point, opts);
|
|
2549
2553
|
if (opts?.animation) {
|
|
2550
2554
|
const { width, height } = this.getViewportScreenBounds();
|
|
@@ -2923,7 +2927,7 @@ class Editor extends EventEmitter {
|
|
|
2923
2927
|
newCx += center.x / newCz - center.x / cz;
|
|
2924
2928
|
newCy += center.y / newCz - center.y / cz;
|
|
2925
2929
|
}
|
|
2926
|
-
currentSpeed *= 1 - friction;
|
|
2930
|
+
currentSpeed *= (1 - friction) ** (elapsed / FRAME_MS_60HZ);
|
|
2927
2931
|
if (currentSpeed < speedThreshold) {
|
|
2928
2932
|
cancel();
|
|
2929
2933
|
} else {
|