@tldraw/editor 3.14.0-canary.ee1f3f027485 → 3.14.0-canary.f6a0206007b3
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 +59 -46
- package/dist-cjs/index.js +3 -1
- package/dist-cjs/index.js.map +2 -2
- package/dist-cjs/lib/editor/Editor.js +2 -2
- package/dist-cjs/lib/editor/Editor.js.map +2 -2
- package/dist-cjs/lib/editor/derivations/notVisibleShapes.js +16 -20
- package/dist-cjs/lib/editor/derivations/notVisibleShapes.js.map +3 -3
- package/dist-cjs/lib/editor/shapes/ShapeUtil.js +8 -0
- package/dist-cjs/lib/editor/shapes/ShapeUtil.js.map +2 -2
- package/dist-cjs/lib/editor/shapes/group/GroupShapeUtil.js +6 -0
- package/dist-cjs/lib/editor/shapes/group/GroupShapeUtil.js.map +2 -2
- package/dist-cjs/lib/primitives/Box.js +6 -0
- package/dist-cjs/lib/primitives/Box.js.map +2 -2
- package/dist-cjs/lib/primitives/Vec.js +13 -8
- package/dist-cjs/lib/primitives/Vec.js.map +2 -2
- package/dist-cjs/lib/primitives/geometry/Arc2d.js +41 -21
- package/dist-cjs/lib/primitives/geometry/Arc2d.js.map +2 -2
- package/dist-cjs/lib/primitives/geometry/Circle2d.js +11 -11
- package/dist-cjs/lib/primitives/geometry/Circle2d.js.map +2 -2
- package/dist-cjs/lib/primitives/geometry/CubicBezier2d.js +13 -16
- package/dist-cjs/lib/primitives/geometry/CubicBezier2d.js.map +2 -2
- package/dist-cjs/lib/primitives/geometry/CubicSpline2d.js +4 -4
- package/dist-cjs/lib/primitives/geometry/CubicSpline2d.js.map +2 -2
- package/dist-cjs/lib/primitives/geometry/Edge2d.js +14 -17
- package/dist-cjs/lib/primitives/geometry/Edge2d.js.map +2 -2
- package/dist-cjs/lib/primitives/geometry/Ellipse2d.js +10 -10
- package/dist-cjs/lib/primitives/geometry/Ellipse2d.js.map +2 -2
- package/dist-cjs/lib/primitives/geometry/Point2d.js +6 -6
- package/dist-cjs/lib/primitives/geometry/Point2d.js.map +2 -2
- package/dist-cjs/lib/primitives/geometry/Polygon2d.js +3 -0
- package/dist-cjs/lib/primitives/geometry/Polygon2d.js.map +2 -2
- package/dist-cjs/lib/primitives/geometry/Polyline2d.js +8 -5
- package/dist-cjs/lib/primitives/geometry/Polyline2d.js.map +2 -2
- package/dist-cjs/lib/primitives/geometry/Rectangle2d.js +22 -11
- package/dist-cjs/lib/primitives/geometry/Rectangle2d.js.map +2 -2
- package/dist-cjs/lib/primitives/geometry/Stadium2d.js +22 -22
- package/dist-cjs/lib/primitives/geometry/Stadium2d.js.map +2 -2
- package/dist-cjs/lib/utils/areShapesContentEqual.js +1 -1
- package/dist-cjs/lib/utils/areShapesContentEqual.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 +59 -46
- package/dist-esm/index.mjs +3 -1
- package/dist-esm/index.mjs.map +2 -2
- package/dist-esm/lib/editor/Editor.mjs +2 -2
- package/dist-esm/lib/editor/Editor.mjs.map +2 -2
- package/dist-esm/lib/editor/derivations/notVisibleShapes.mjs +16 -20
- package/dist-esm/lib/editor/derivations/notVisibleShapes.mjs.map +3 -3
- package/dist-esm/lib/editor/shapes/ShapeUtil.mjs +8 -0
- package/dist-esm/lib/editor/shapes/ShapeUtil.mjs.map +2 -2
- package/dist-esm/lib/editor/shapes/group/GroupShapeUtil.mjs +6 -0
- package/dist-esm/lib/editor/shapes/group/GroupShapeUtil.mjs.map +2 -2
- package/dist-esm/lib/primitives/Box.mjs +6 -0
- package/dist-esm/lib/primitives/Box.mjs.map +2 -2
- package/dist-esm/lib/primitives/Vec.mjs +13 -8
- package/dist-esm/lib/primitives/Vec.mjs.map +2 -2
- package/dist-esm/lib/primitives/geometry/Arc2d.mjs +41 -21
- package/dist-esm/lib/primitives/geometry/Arc2d.mjs.map +2 -2
- package/dist-esm/lib/primitives/geometry/Circle2d.mjs +11 -11
- package/dist-esm/lib/primitives/geometry/Circle2d.mjs.map +2 -2
- package/dist-esm/lib/primitives/geometry/CubicBezier2d.mjs +13 -16
- package/dist-esm/lib/primitives/geometry/CubicBezier2d.mjs.map +2 -2
- package/dist-esm/lib/primitives/geometry/CubicSpline2d.mjs +4 -4
- package/dist-esm/lib/primitives/geometry/CubicSpline2d.mjs.map +2 -2
- package/dist-esm/lib/primitives/geometry/Edge2d.mjs +14 -17
- package/dist-esm/lib/primitives/geometry/Edge2d.mjs.map +2 -2
- package/dist-esm/lib/primitives/geometry/Ellipse2d.mjs +11 -11
- package/dist-esm/lib/primitives/geometry/Ellipse2d.mjs.map +2 -2
- package/dist-esm/lib/primitives/geometry/Point2d.mjs +6 -6
- package/dist-esm/lib/primitives/geometry/Point2d.mjs.map +2 -2
- package/dist-esm/lib/primitives/geometry/Polygon2d.mjs +3 -0
- package/dist-esm/lib/primitives/geometry/Polygon2d.mjs.map +2 -2
- package/dist-esm/lib/primitives/geometry/Polyline2d.mjs +8 -5
- package/dist-esm/lib/primitives/geometry/Polyline2d.mjs.map +2 -2
- package/dist-esm/lib/primitives/geometry/Rectangle2d.mjs +22 -11
- package/dist-esm/lib/primitives/geometry/Rectangle2d.mjs.map +2 -2
- package/dist-esm/lib/primitives/geometry/Stadium2d.mjs +22 -22
- package/dist-esm/lib/primitives/geometry/Stadium2d.mjs.map +2 -2
- package/dist-esm/lib/utils/areShapesContentEqual.mjs +1 -1
- package/dist-esm/lib/utils/areShapesContentEqual.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 +1 -0
- package/src/lib/editor/Editor.ts +3 -2
- package/src/lib/editor/derivations/notVisibleShapes.ts +24 -25
- package/src/lib/editor/shapes/ShapeUtil.ts +9 -0
- package/src/lib/editor/shapes/group/GroupShapeUtil.tsx +8 -0
- package/src/lib/primitives/Box.ts +8 -0
- package/src/lib/primitives/Vec.test.ts +2 -2
- package/src/lib/primitives/Vec.ts +13 -8
- package/src/lib/primitives/geometry/Arc2d.ts +42 -23
- package/src/lib/primitives/geometry/Circle2d.ts +12 -12
- package/src/lib/primitives/geometry/CubicBezier2d.test.ts +5 -0
- package/src/lib/primitives/geometry/CubicBezier2d.ts +13 -17
- package/src/lib/primitives/geometry/CubicSpline2d.ts +5 -5
- package/src/lib/primitives/geometry/Edge2d.ts +14 -18
- package/src/lib/primitives/geometry/Ellipse2d.ts +12 -13
- package/src/lib/primitives/geometry/Point2d.ts +6 -6
- package/src/lib/primitives/geometry/Polygon2d.ts +4 -0
- package/src/lib/primitives/geometry/Polyline2d.ts +10 -7
- package/src/lib/primitives/geometry/Rectangle2d.ts +24 -11
- package/src/lib/primitives/geometry/Stadium2d.ts +22 -23
- package/src/lib/utils/areShapesContentEqual.ts +2 -1
- package/src/version.ts +3 -3
|
@@ -7,13 +7,12 @@ import { Geometry2d, Geometry2dOptions } from './Geometry2d'
|
|
|
7
7
|
|
|
8
8
|
/** @public */
|
|
9
9
|
export class Stadium2d extends Geometry2d {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
d: Edge2d
|
|
10
|
+
private _w: number
|
|
11
|
+
private _h: number
|
|
12
|
+
private _a: Arc2d
|
|
13
|
+
private _b: Edge2d
|
|
14
|
+
private _c: Arc2d
|
|
15
|
+
private _d: Edge2d
|
|
17
16
|
|
|
18
17
|
constructor(
|
|
19
18
|
public config: Omit<Geometry2dOptions, 'isClosed'> & {
|
|
@@ -23,45 +22,45 @@ export class Stadium2d extends Geometry2d {
|
|
|
23
22
|
) {
|
|
24
23
|
super({ ...config, isClosed: true })
|
|
25
24
|
const { width: w, height: h } = config
|
|
26
|
-
this.
|
|
27
|
-
this.
|
|
25
|
+
this._w = w
|
|
26
|
+
this._h = h
|
|
28
27
|
|
|
29
28
|
if (h > w) {
|
|
30
29
|
const r = w / 2
|
|
31
|
-
this.
|
|
30
|
+
this._a = new Arc2d({
|
|
32
31
|
start: new Vec(0, r),
|
|
33
32
|
end: new Vec(w, r),
|
|
34
33
|
center: new Vec(w / 2, r),
|
|
35
34
|
sweepFlag: 1,
|
|
36
35
|
largeArcFlag: 1,
|
|
37
36
|
})
|
|
38
|
-
this.
|
|
39
|
-
this.
|
|
37
|
+
this._b = new Edge2d({ start: new Vec(w, r), end: new Vec(w, h - r) })
|
|
38
|
+
this._c = new Arc2d({
|
|
40
39
|
start: new Vec(w, h - r),
|
|
41
40
|
end: new Vec(0, h - r),
|
|
42
41
|
center: new Vec(w / 2, h - r),
|
|
43
42
|
sweepFlag: 1,
|
|
44
43
|
largeArcFlag: 1,
|
|
45
44
|
})
|
|
46
|
-
this.
|
|
45
|
+
this._d = new Edge2d({ start: new Vec(0, h - r), end: new Vec(0, r) })
|
|
47
46
|
} else {
|
|
48
47
|
const r = h / 2
|
|
49
|
-
this.
|
|
48
|
+
this._a = new Arc2d({
|
|
50
49
|
start: new Vec(r, h),
|
|
51
50
|
end: new Vec(r, 0),
|
|
52
51
|
center: new Vec(r, r),
|
|
53
52
|
sweepFlag: 1,
|
|
54
53
|
largeArcFlag: 1,
|
|
55
54
|
})
|
|
56
|
-
this.
|
|
57
|
-
this.
|
|
55
|
+
this._b = new Edge2d({ start: new Vec(r, 0), end: new Vec(w - r, 0) })
|
|
56
|
+
this._c = new Arc2d({
|
|
58
57
|
start: new Vec(w - r, 0),
|
|
59
58
|
end: new Vec(w - r, h),
|
|
60
59
|
center: new Vec(w - r, r),
|
|
61
60
|
sweepFlag: 1,
|
|
62
61
|
largeArcFlag: 1,
|
|
63
62
|
})
|
|
64
|
-
this.
|
|
63
|
+
this._d = new Edge2d({ start: new Vec(w - r, h), end: new Vec(r, h) })
|
|
65
64
|
}
|
|
66
65
|
}
|
|
67
66
|
|
|
@@ -71,7 +70,7 @@ export class Stadium2d extends Geometry2d {
|
|
|
71
70
|
let _d: number
|
|
72
71
|
let p: Vec
|
|
73
72
|
|
|
74
|
-
const { a, b, c, d } = this
|
|
73
|
+
const { _a: a, _b: b, _c: c, _d: d } = this
|
|
75
74
|
for (const part of [a, b, c, d]) {
|
|
76
75
|
p = part.nearestPoint(A)
|
|
77
76
|
_d = Vec.Dist2(p, A)
|
|
@@ -85,12 +84,12 @@ export class Stadium2d extends Geometry2d {
|
|
|
85
84
|
}
|
|
86
85
|
|
|
87
86
|
hitTestLineSegment(A: VecLike, B: VecLike): boolean {
|
|
88
|
-
const { a, b, c, d } = this
|
|
87
|
+
const { _a: a, _b: b, _c: c, _d: d } = this
|
|
89
88
|
return [a, b, c, d].some((edge) => edge.hitTestLineSegment(A, B))
|
|
90
89
|
}
|
|
91
90
|
|
|
92
91
|
getVertices() {
|
|
93
|
-
const { a, b, c, d } = this
|
|
92
|
+
const { _a: a, _b: b, _c: c, _d: d } = this
|
|
94
93
|
return [a, b, c, d].reduce<Vec[]>((a, p) => {
|
|
95
94
|
a.push(...p.vertices)
|
|
96
95
|
return a
|
|
@@ -98,17 +97,17 @@ export class Stadium2d extends Geometry2d {
|
|
|
98
97
|
}
|
|
99
98
|
|
|
100
99
|
getBounds() {
|
|
101
|
-
return new Box(0, 0, this.
|
|
100
|
+
return new Box(0, 0, this._w, this._h)
|
|
102
101
|
}
|
|
103
102
|
|
|
104
103
|
getLength() {
|
|
105
|
-
const { h, w } = this
|
|
104
|
+
const { _h: h, _w: w } = this
|
|
106
105
|
if (h > w) return (PI * (w / 2) + (h - w)) * 2
|
|
107
106
|
else return (PI * (h / 2) + (w - h)) * 2
|
|
108
107
|
}
|
|
109
108
|
|
|
110
109
|
getSvgPathData() {
|
|
111
|
-
const { a, b, c, d } = this
|
|
110
|
+
const { _a: a, _b: b, _c: c, _d: d } = this
|
|
112
111
|
return [a, b, c, d].map((p, i) => p.getSvgPathData(i === 0)).join(' ') + ' Z'
|
|
113
112
|
}
|
|
114
113
|
}
|
package/src/version.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
// This file is automatically generated by internal/scripts/refresh-assets.ts.
|
|
2
2
|
// Do not edit manually. Or do, I'm a comment, not a cop.
|
|
3
3
|
|
|
4
|
-
export const version = '3.14.0-canary.
|
|
4
|
+
export const version = '3.14.0-canary.f6a0206007b3'
|
|
5
5
|
export const publishDates = {
|
|
6
6
|
major: '2024-09-13T14:36:29.063Z',
|
|
7
|
-
minor: '2025-
|
|
8
|
-
patch: '2025-
|
|
7
|
+
minor: '2025-06-03T09:18:36.909Z',
|
|
8
|
+
patch: '2025-06-03T09:18:36.909Z',
|
|
9
9
|
}
|