@likec4/core 1.48.0 → 1.49.0
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/THIRD-PARTY-LICENSES.md +1012 -0
- package/dist/_chunks/Builder.view-element.mjs +2 -3284
- package/dist/_chunks/LikeC4Model.d.mts +21 -25
- package/dist/_chunks/RichText.mjs +1 -148
- package/dist/_chunks/_types.d.mts +1 -5
- package/dist/_chunks/_types2.d.mts +2 -4
- package/dist/_chunks/assignTagColors.mjs +1 -24
- package/dist/_chunks/calcDriftsFromSnapshot.mjs +1 -379
- package/dist/_chunks/guards.d.mts +2026 -0
- package/dist/_chunks/guards.mjs +4 -0
- package/dist/_chunks/index.d.mts +255 -136
- package/dist/_chunks/libs/@mantine/colors-generator.mjs +2 -3403
- package/dist/_chunks/libs/@radix-ui/colors.mjs +1 -0
- package/dist/_chunks/libs/@ungap/structured-clone.mjs +1 -213
- package/dist/_chunks/libs/bail.mjs +1 -14
- package/dist/_chunks/libs/ccount.mjs +1 -25
- package/dist/_chunks/libs/character-entities-html4.mjs +1 -263
- package/dist/_chunks/libs/character-entities-legacy.mjs +1 -117
- package/dist/_chunks/libs/character-entities.mjs +2 -2136
- package/dist/_chunks/libs/comma-separated-tokens.mjs +1 -18
- package/dist/_chunks/libs/decode-named-character-reference.mjs +1 -21
- package/dist/_chunks/libs/defu.mjs +1 -42
- package/dist/_chunks/libs/devlop.mjs +1 -5
- package/dist/_chunks/libs/escape-string-regexp.mjs +1 -8
- package/dist/_chunks/libs/extend.mjs +1 -77
- package/dist/_chunks/libs/graphology-dag.mjs +1 -703
- package/dist/_chunks/libs/graphology.mjs +1 -4565
- package/dist/_chunks/libs/hast-util-sanitize.mjs +1 -863
- package/dist/_chunks/libs/hast-util-to-html.mjs +9 -2696
- package/dist/_chunks/libs/is-plain-obj.mjs +1 -9
- package/dist/_chunks/libs/longest-streak.mjs +1 -30
- package/dist/_chunks/libs/markdown-table.mjs +2 -290
- package/dist/_chunks/libs/mdast-util-find-and-replace.mjs +1 -653
- package/dist/_chunks/libs/mdast-util-from-markdown.mjs +3 -8522
- package/dist/_chunks/libs/mdast-util-gfm.mjs +15 -2393
- package/dist/_chunks/libs/mdast-util-to-hast.mjs +11 -1803
- package/dist/_chunks/libs/micromark-extension-gfm.mjs +1 -2243
- package/dist/_chunks/libs/mnemonist.d.mts +1 -91
- package/dist/_chunks/libs/mnemonist.mjs +1 -1978
- package/dist/_chunks/libs/natural-compare-lite.mjs +9 -42
- package/dist/_chunks/libs/ohash.mjs +1 -0
- package/dist/_chunks/libs/rehype-sanitize.mjs +1 -29
- package/dist/_chunks/libs/rehype-stringify.mjs +1 -34
- package/dist/_chunks/libs/remark-gfm.mjs +1 -36
- package/dist/_chunks/libs/remark-github-blockquote-alert.mjs +3 -100
- package/dist/_chunks/libs/remark-parse.mjs +1 -39
- package/dist/_chunks/libs/remark-rehype.mjs +1 -171
- package/dist/_chunks/libs/remeda.mjs +1 -702
- package/dist/_chunks/libs/trough.mjs +1 -158
- package/dist/_chunks/libs/unified.mjs +1 -2212
- package/dist/_chunks/rolldown-runtime.mjs +1 -42
- package/dist/_chunks/{index3.d.mts → theme.d.mts} +15 -13
- package/dist/_chunks/{index7.d.mts → to-text.d.mts} +165 -29
- package/dist/_chunks/to-text.mjs +1 -0
- package/dist/_chunks/vector.d.mts +198 -0
- package/dist/_chunks/vector.mjs +1 -0
- package/dist/builder/index.d.mts +2 -8
- package/dist/builder/index.mjs +1 -662
- package/dist/compute-view/index.d.mts +86 -15
- package/dist/compute-view/index.mjs +2 -262
- package/dist/geometry/index.d.mts +2 -2
- package/dist/geometry/index.mjs +1 -3
- package/dist/index.d.mts +9 -13
- package/dist/index.mjs +1 -27
- package/dist/model/index.d.mts +4 -14
- package/dist/model/index.mjs +1 -11
- package/dist/styles/index.d.mts +2 -8
- package/dist/styles/index.mjs +1 -30
- package/dist/types/index.d.mts +3 -9
- package/dist/types/index.mjs +1 -15
- package/dist/utils/graphology/index.d.mts +1 -1
- package/dist/utils/graphology/index.mjs +1 -3
- package/dist/utils/index.d.mts +4 -11
- package/dist/utils/index.mjs +1 -17
- package/package.json +13 -12
- package/dist/_chunks/LikeC4Styles.mjs +0 -691
- package/dist/_chunks/RichText.d.mts +0 -84
- package/dist/_chunks/_aux.d.mts +0 -289
- package/dist/_chunks/_aux.mjs +0 -18
- package/dist/_chunks/connection.mjs +0 -0
- package/dist/_chunks/const.d.mts +0 -43
- package/dist/_chunks/const.mjs +0 -33
- package/dist/_chunks/expression-model.d.mts +0 -192
- package/dist/_chunks/expression-model.mjs +0 -103
- package/dist/_chunks/expression.d.mts +0 -347
- package/dist/_chunks/expression.mjs +0 -107
- package/dist/_chunks/find.d.mts +0 -82
- package/dist/_chunks/find.mjs +0 -646
- package/dist/_chunks/find2.d.mts +0 -78
- package/dist/_chunks/find2.mjs +0 -287
- package/dist/_chunks/fqnRef.d.mts +0 -58
- package/dist/_chunks/fqnRef.mjs +0 -41
- package/dist/_chunks/geometry.mjs +0 -335
- package/dist/_chunks/index2.d.mts +0 -937
- package/dist/_chunks/index4.d.mts +0 -62
- package/dist/_chunks/index5.d.mts +0 -42
- package/dist/_chunks/index6.d.mts +0 -43
- package/dist/_chunks/index8.d.mts +0 -144
- package/dist/_chunks/invariant.mjs +0 -18
- package/dist/_chunks/iterable.mjs +0 -146
- package/dist/_chunks/libs/graphology-types.d.mts +0 -601
- package/dist/_chunks/libs/graphology.d.mts +0 -6
- package/dist/_chunks/mnemonist.d.mts +0 -1
- package/dist/_chunks/mnemonist.mjs +0 -0
- package/dist/_chunks/model.mjs +0 -1898
- package/dist/_chunks/model2.mjs +0 -0
- package/dist/_chunks/relationships-view.mjs +0 -132
- package/dist/_chunks/scalar.d.mts +0 -109
- package/dist/_chunks/scalar.mjs +0 -84
- package/dist/_chunks/utils.mjs +0 -483
- package/dist/compute-view/relationships-view/index.d.mts +0 -16
- package/dist/compute-view/relationships-view/index.mjs +0 -7
- package/dist/model/connection/deployment/index.d.mts +0 -12
- package/dist/model/connection/deployment/index.mjs +0 -9
- package/dist/model/connection/index.d.mts +0 -14
- package/dist/model/connection/index.mjs +0 -10
- package/dist/model/connection/model/index.d.mts +0 -12
- package/dist/model/connection/model/index.mjs +0 -8
- package/dist/types/RichText.d.mts +0 -3
- package/dist/types/RichText.mjs +0 -7
- package/dist/types/_aux.d.mts +0 -3
- package/dist/types/_aux.mjs +0 -3
- package/dist/types/expression-model.d.mts +0 -6
- package/dist/types/expression-model.mjs +0 -7
- package/dist/types/expression.d.mts +0 -5
- package/dist/types/expression.mjs +0 -7
- package/dist/types/fqnRef.d.mts +0 -4
- package/dist/types/fqnRef.mjs +0 -7
- package/dist/types/scalar.d.mts +0 -2
- package/dist/types/scalar.mjs +0 -7
- package/dist/utils/iterable/index.d.mts +0 -9
- package/dist/utils/iterable/index.mjs +0 -3
- package/dist/utils/mnemonist.d.mts +0 -2
- package/dist/utils/mnemonist.mjs +0 -12
|
@@ -1,335 +0,0 @@
|
|
|
1
|
-
import { Z as t } from "./libs/remeda.mjs";
|
|
2
|
-
import { t as invariant } from "./invariant.mjs";
|
|
3
|
-
|
|
4
|
-
//#region src/geometry/bbox.ts
|
|
5
|
-
let BBox;
|
|
6
|
-
(function(_BBox) {
|
|
7
|
-
function center({ x, y, width, height }) {
|
|
8
|
-
return {
|
|
9
|
-
x: x + width / 2,
|
|
10
|
-
y: y + height / 2
|
|
11
|
-
};
|
|
12
|
-
}
|
|
13
|
-
_BBox.center = center;
|
|
14
|
-
function toPoints({ x, y, width, height }) {
|
|
15
|
-
return [
|
|
16
|
-
{
|
|
17
|
-
x,
|
|
18
|
-
y
|
|
19
|
-
},
|
|
20
|
-
{
|
|
21
|
-
x: x + width,
|
|
22
|
-
y
|
|
23
|
-
},
|
|
24
|
-
{
|
|
25
|
-
x: x + width,
|
|
26
|
-
y: y + height
|
|
27
|
-
},
|
|
28
|
-
{
|
|
29
|
-
x,
|
|
30
|
-
y: y + height
|
|
31
|
-
}
|
|
32
|
-
];
|
|
33
|
-
}
|
|
34
|
-
_BBox.toPoints = toPoints;
|
|
35
|
-
function fromPoints(points) {
|
|
36
|
-
const { x1, y1, x2, y2 } = RectBox.fromPoints(points);
|
|
37
|
-
return {
|
|
38
|
-
x: x1,
|
|
39
|
-
y: y1,
|
|
40
|
-
width: x2 - x1,
|
|
41
|
-
height: y2 - y1
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
_BBox.fromPoints = fromPoints;
|
|
45
|
-
function merge(...boxes) {
|
|
46
|
-
invariant(t(boxes, 1), "No boxes provided");
|
|
47
|
-
if (boxes.length === 1) return boxes[0];
|
|
48
|
-
let minX = boxes[0].x;
|
|
49
|
-
let minY = boxes[0].y;
|
|
50
|
-
let maxX = boxes[0].x + boxes[0].width;
|
|
51
|
-
let maxY = boxes[0].y + boxes[0].height;
|
|
52
|
-
for (let i = 1; i < boxes.length; i++) {
|
|
53
|
-
const box = boxes[i];
|
|
54
|
-
minX = Math.min(minX, box.x);
|
|
55
|
-
minY = Math.min(minY, box.y);
|
|
56
|
-
maxX = Math.max(maxX, box.x + box.width);
|
|
57
|
-
maxY = Math.max(maxY, box.y + box.height);
|
|
58
|
-
}
|
|
59
|
-
return {
|
|
60
|
-
x: Math.floor(minX),
|
|
61
|
-
y: Math.floor(minY),
|
|
62
|
-
width: Math.round(maxX - minX),
|
|
63
|
-
height: Math.round(maxY - minY)
|
|
64
|
-
};
|
|
65
|
-
}
|
|
66
|
-
_BBox.merge = merge;
|
|
67
|
-
function fromRectBox(rect) {
|
|
68
|
-
return {
|
|
69
|
-
x: Math.min(rect.x1, rect.x2),
|
|
70
|
-
y: Math.min(rect.y1, rect.y2),
|
|
71
|
-
width: Math.abs(rect.x2 - rect.x1),
|
|
72
|
-
height: Math.abs(rect.y2 - rect.y1)
|
|
73
|
-
};
|
|
74
|
-
}
|
|
75
|
-
_BBox.fromRectBox = fromRectBox;
|
|
76
|
-
function toRectBox(box) {
|
|
77
|
-
return {
|
|
78
|
-
x1: box.x,
|
|
79
|
-
y1: box.y,
|
|
80
|
-
x2: box.x + box.width,
|
|
81
|
-
y2: box.y + box.height
|
|
82
|
-
};
|
|
83
|
-
}
|
|
84
|
-
_BBox.toRectBox = toRectBox;
|
|
85
|
-
function expand(box, plus) {
|
|
86
|
-
if (plus === 0) return box;
|
|
87
|
-
return {
|
|
88
|
-
x: box.x - plus,
|
|
89
|
-
y: box.y - plus,
|
|
90
|
-
width: box.width + plus * 2,
|
|
91
|
-
height: box.height + plus * 2
|
|
92
|
-
};
|
|
93
|
-
}
|
|
94
|
-
_BBox.expand = expand;
|
|
95
|
-
function shrink(box, minus) {
|
|
96
|
-
if (minus === 0) return box;
|
|
97
|
-
return {
|
|
98
|
-
x: box.x + minus,
|
|
99
|
-
y: box.y + minus,
|
|
100
|
-
width: box.width - minus * 2,
|
|
101
|
-
height: box.height - minus * 2
|
|
102
|
-
};
|
|
103
|
-
}
|
|
104
|
-
_BBox.shrink = shrink;
|
|
105
|
-
function includes(a, b) {
|
|
106
|
-
if (a === b) return true;
|
|
107
|
-
return a.x <= b.x && a.y <= b.y && a.x + a.width >= b.x + b.width && a.y + a.height >= b.y + b.height;
|
|
108
|
-
}
|
|
109
|
-
_BBox.includes = includes;
|
|
110
|
-
})(BBox || (BBox = {}));
|
|
111
|
-
let RectBox;
|
|
112
|
-
(function(_RectBox) {
|
|
113
|
-
function center({ x1, y1, x2, y2 }) {
|
|
114
|
-
return {
|
|
115
|
-
x: (x1 + x2) / 2,
|
|
116
|
-
y: (y1 + y2) / 2
|
|
117
|
-
};
|
|
118
|
-
}
|
|
119
|
-
_RectBox.center = center;
|
|
120
|
-
function fromPoints(points) {
|
|
121
|
-
invariant(points.length > 0, "At least one point is required");
|
|
122
|
-
let minX = Infinity;
|
|
123
|
-
let minY = Infinity;
|
|
124
|
-
let maxX = -Infinity;
|
|
125
|
-
let maxY = -Infinity;
|
|
126
|
-
for (const [x, y] of points) {
|
|
127
|
-
minX = Math.min(minX, x);
|
|
128
|
-
minY = Math.min(minY, y);
|
|
129
|
-
maxX = Math.max(maxX, x);
|
|
130
|
-
maxY = Math.max(maxY, y);
|
|
131
|
-
}
|
|
132
|
-
return {
|
|
133
|
-
x1: minX,
|
|
134
|
-
y1: minY,
|
|
135
|
-
x2: maxX,
|
|
136
|
-
y2: maxY
|
|
137
|
-
};
|
|
138
|
-
}
|
|
139
|
-
_RectBox.fromPoints = fromPoints;
|
|
140
|
-
function merge(...boxes) {
|
|
141
|
-
invariant(boxes.length > 0, "No boxes provided");
|
|
142
|
-
let minX = Infinity;
|
|
143
|
-
let minY = Infinity;
|
|
144
|
-
let maxX = -Infinity;
|
|
145
|
-
let maxY = -Infinity;
|
|
146
|
-
for (const box of boxes) {
|
|
147
|
-
minX = Math.min(minX, box.x1);
|
|
148
|
-
minY = Math.min(minY, box.y1);
|
|
149
|
-
maxX = Math.max(maxX, box.x2);
|
|
150
|
-
maxY = Math.max(maxY, box.y2);
|
|
151
|
-
}
|
|
152
|
-
return {
|
|
153
|
-
x1: minX,
|
|
154
|
-
y1: minY,
|
|
155
|
-
x2: maxX,
|
|
156
|
-
y2: maxY
|
|
157
|
-
};
|
|
158
|
-
}
|
|
159
|
-
_RectBox.merge = merge;
|
|
160
|
-
function toBBox(box) {
|
|
161
|
-
return {
|
|
162
|
-
x: box.x1,
|
|
163
|
-
y: box.y1,
|
|
164
|
-
width: box.x2 - box.x1,
|
|
165
|
-
height: box.y2 - box.y1
|
|
166
|
-
};
|
|
167
|
-
}
|
|
168
|
-
_RectBox.toBBox = toBBox;
|
|
169
|
-
function includes(a, b) {
|
|
170
|
-
if (a === b) return true;
|
|
171
|
-
return a.x1 <= b.x1 && a.y1 <= b.y1 && a.x2 >= b.x2 && a.y2 >= b.y2;
|
|
172
|
-
}
|
|
173
|
-
_RectBox.includes = includes;
|
|
174
|
-
})(RectBox || (RectBox = {}));
|
|
175
|
-
|
|
176
|
-
//#endregion
|
|
177
|
-
//#region src/geometry/vector.ts
|
|
178
|
-
var Vector = class Vector {
|
|
179
|
-
constructor(x, y) {
|
|
180
|
-
this.x = x;
|
|
181
|
-
this.y = y;
|
|
182
|
-
}
|
|
183
|
-
static create(...args) {
|
|
184
|
-
if (args.length === 2) return new Vector(args[0], args[1]);
|
|
185
|
-
return new Vector(args[0].x, args[0].y);
|
|
186
|
-
}
|
|
187
|
-
/**
|
|
188
|
-
* Adds two vectors.
|
|
189
|
-
* @param a The first vector.
|
|
190
|
-
* @param b The second vector.
|
|
191
|
-
* @returns The sum of the two vectors.
|
|
192
|
-
*/
|
|
193
|
-
static add(a, b) {
|
|
194
|
-
return {
|
|
195
|
-
x: a.x + b.x,
|
|
196
|
-
y: a.y + b.y
|
|
197
|
-
};
|
|
198
|
-
}
|
|
199
|
-
/**
|
|
200
|
-
* Subtracts two vectors.
|
|
201
|
-
* @param a The first vector.
|
|
202
|
-
* @param b The second vector.
|
|
203
|
-
* @returns The difference of the two vectors.
|
|
204
|
-
*/
|
|
205
|
-
static subtract(a, b) {
|
|
206
|
-
return {
|
|
207
|
-
x: a.x - b.x,
|
|
208
|
-
y: a.y - b.y
|
|
209
|
-
};
|
|
210
|
-
}
|
|
211
|
-
/**
|
|
212
|
-
* Multiplies a vector by a scalar.
|
|
213
|
-
* @param a The vector.
|
|
214
|
-
* @param b The scalar.
|
|
215
|
-
* @returns The scaled vector.
|
|
216
|
-
*/
|
|
217
|
-
static multiply(a, b) {
|
|
218
|
-
return {
|
|
219
|
-
x: a.x * b,
|
|
220
|
-
y: a.y * b
|
|
221
|
-
};
|
|
222
|
-
}
|
|
223
|
-
/**
|
|
224
|
-
* Divides a vector by a scalar.
|
|
225
|
-
* @param a The vector.
|
|
226
|
-
* @param b The scalar.
|
|
227
|
-
* @returns The scaled vector.
|
|
228
|
-
*/
|
|
229
|
-
static divide(a, b) {
|
|
230
|
-
return {
|
|
231
|
-
x: a.x / b,
|
|
232
|
-
y: a.y / b
|
|
233
|
-
};
|
|
234
|
-
}
|
|
235
|
-
/**
|
|
236
|
-
* Calculates the dot product of the vectors.
|
|
237
|
-
* @param a The first vector.
|
|
238
|
-
* @param b The second vector.
|
|
239
|
-
* @returns The dot product.
|
|
240
|
-
*/
|
|
241
|
-
static dot(a, b) {
|
|
242
|
-
return a.x * b.x + a.y * b.y;
|
|
243
|
-
}
|
|
244
|
-
/**
|
|
245
|
-
* Adds the given vector to this vector.
|
|
246
|
-
* @param b The vector to add.
|
|
247
|
-
* @returns A new vector that is the sum of this vector and the given vector.
|
|
248
|
-
*/
|
|
249
|
-
add(b) {
|
|
250
|
-
return new Vector(this.x + b.x, this.y + b.y);
|
|
251
|
-
}
|
|
252
|
-
/**
|
|
253
|
-
* Subtracts the given vector from this vector.
|
|
254
|
-
* @param b The vector to subtract.
|
|
255
|
-
* @returns A new vector that is the difference of this vector and the given vector.
|
|
256
|
-
*/
|
|
257
|
-
subtract(b) {
|
|
258
|
-
return new Vector(this.x - b.x, this.y - b.y);
|
|
259
|
-
}
|
|
260
|
-
/**
|
|
261
|
-
* Multiplies this vector by a scalar.
|
|
262
|
-
* @param b The scalar to multiply by.
|
|
263
|
-
* @returns A new vector that is the product of this vector and the given scalar.
|
|
264
|
-
*/
|
|
265
|
-
multiply(b) {
|
|
266
|
-
return new Vector(this.x * b, this.y * b);
|
|
267
|
-
}
|
|
268
|
-
/**
|
|
269
|
-
* Divides this vector by a scalar.
|
|
270
|
-
* @param b The scalar to divide by.
|
|
271
|
-
* @returns A new vector that is the quotient of this vector and the given scalar.
|
|
272
|
-
*/
|
|
273
|
-
divide(b) {
|
|
274
|
-
return new Vector(this.x / b, this.y / b);
|
|
275
|
-
}
|
|
276
|
-
/**
|
|
277
|
-
* Calculates the dot product of this vector and another vector.
|
|
278
|
-
* @param b The other vector.
|
|
279
|
-
* @returns The dot product.
|
|
280
|
-
*/
|
|
281
|
-
dot(b) {
|
|
282
|
-
return this.x * b.x + this.y * b.y;
|
|
283
|
-
}
|
|
284
|
-
/**
|
|
285
|
-
* Calculates the cross product of this vector and another vector.
|
|
286
|
-
* The cross product of two 2D vectors is a scalar value: a.x * b.y - a.y * b.x
|
|
287
|
-
* @param b The other vector.
|
|
288
|
-
* @returns The cross product as a scalar.
|
|
289
|
-
*/
|
|
290
|
-
cross(b) {
|
|
291
|
-
return this.x * b.y - this.y * b.x;
|
|
292
|
-
}
|
|
293
|
-
/**
|
|
294
|
-
* Calculates the length (magnitude) of this vector.
|
|
295
|
-
* @returns The length of the vector.
|
|
296
|
-
*/
|
|
297
|
-
length() {
|
|
298
|
-
if (this.x === 0 && this.y === 0) return 0;
|
|
299
|
-
return Math.sqrt(this.x ** 2 + this.y ** 2);
|
|
300
|
-
}
|
|
301
|
-
/**
|
|
302
|
-
* Normalizes the vector (makes it unit length, i.e., has a length of 1).
|
|
303
|
-
* @returns A new vector that is the normalized version of this vector.
|
|
304
|
-
*/
|
|
305
|
-
normalize() {
|
|
306
|
-
const len = this.length();
|
|
307
|
-
if (len === 0) return new Vector(0, 0);
|
|
308
|
-
return new Vector(this.x / len, this.y / len);
|
|
309
|
-
}
|
|
310
|
-
/**
|
|
311
|
-
* Rounds the components of the vector to the nearest integers.
|
|
312
|
-
* @returns A new vector with rounded components.
|
|
313
|
-
*/
|
|
314
|
-
round() {
|
|
315
|
-
return new Vector(Math.round(this.x), Math.round(this.y));
|
|
316
|
-
}
|
|
317
|
-
/**
|
|
318
|
-
* Converts the vector to a plain object.
|
|
319
|
-
* @returns An object with x and y properties.
|
|
320
|
-
*/
|
|
321
|
-
toObject() {
|
|
322
|
-
return {
|
|
323
|
-
x: this.x,
|
|
324
|
-
y: this.y
|
|
325
|
-
};
|
|
326
|
-
}
|
|
327
|
-
};
|
|
328
|
-
function vector(...args) {
|
|
329
|
-
if (args.length === 1 && args[0] instanceof Vector) return args[0];
|
|
330
|
-
if (args.length === 2) return new Vector(args[0], args[1]);
|
|
331
|
-
return new Vector(args[0].x, args[0].y);
|
|
332
|
-
}
|
|
333
|
-
|
|
334
|
-
//#endregion
|
|
335
|
-
export { RectBox as i, vector as n, BBox as r, Vector as t };
|