@retikz/core 0.1.0-alpha.3 → 0.1.0-alpha.4
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/es/compile/compile.d.ts +6 -0
- package/dist/es/compile/compile.d.ts.map +1 -1
- package/dist/es/compile/compile.js +30 -1
- package/dist/es/compile/node.d.ts +23 -2
- package/dist/es/compile/node.d.ts.map +1 -1
- package/dist/es/compile/node.js +94 -4
- package/dist/es/compile/position.d.ts +8 -5
- package/dist/es/compile/position.d.ts.map +1 -1
- package/dist/es/compile/position.js +32 -5
- package/dist/es/index.d.ts +2 -2
- package/dist/es/index.d.ts.map +1 -1
- package/dist/es/index.js +4 -2
- package/dist/es/ir/coordinate.d.ts +57 -0
- package/dist/es/ir/coordinate.d.ts.map +1 -0
- package/dist/es/ir/coordinate.js +27 -0
- package/dist/es/ir/index.d.ts +1 -0
- package/dist/es/ir/index.d.ts.map +1 -1
- package/dist/es/ir/node.d.ts +264 -5
- package/dist/es/ir/node.d.ts.map +1 -1
- package/dist/es/ir/node.js +28 -3
- package/dist/es/ir/position/at-position.d.ts +50 -0
- package/dist/es/ir/position/at-position.d.ts.map +1 -0
- package/dist/es/ir/position/at-position.js +30 -0
- package/dist/es/ir/position/index.d.ts +1 -0
- package/dist/es/ir/position/index.d.ts.map +1 -1
- package/dist/es/ir/scene.d.ts +551 -15
- package/dist/es/ir/scene.d.ts.map +1 -1
- package/dist/es/ir/scene.js +6 -1
- package/dist/lib/compile/compile.cjs +30 -1
- package/dist/lib/compile/compile.d.ts +6 -0
- package/dist/lib/compile/compile.d.ts.map +1 -1
- package/dist/lib/compile/node.cjs +94 -4
- package/dist/lib/compile/node.d.ts +23 -2
- package/dist/lib/compile/node.d.ts.map +1 -1
- package/dist/lib/compile/position.cjs +32 -5
- package/dist/lib/compile/position.d.ts +8 -5
- package/dist/lib/compile/position.d.ts.map +1 -1
- package/dist/lib/index.cjs +6 -0
- package/dist/lib/index.d.ts +2 -2
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/ir/coordinate.cjs +27 -0
- package/dist/lib/ir/coordinate.d.ts +57 -0
- package/dist/lib/ir/coordinate.d.ts.map +1 -0
- package/dist/lib/ir/index.d.ts +1 -0
- package/dist/lib/ir/index.d.ts.map +1 -1
- package/dist/lib/ir/node.cjs +28 -2
- package/dist/lib/ir/node.d.ts +264 -5
- package/dist/lib/ir/node.d.ts.map +1 -1
- package/dist/lib/ir/position/at-position.cjs +31 -0
- package/dist/lib/ir/position/at-position.d.ts +50 -0
- package/dist/lib/ir/position/at-position.d.ts.map +1 -0
- package/dist/lib/ir/position/index.d.ts +1 -0
- package/dist/lib/ir/position/index.d.ts.map +1 -1
- package/dist/lib/ir/scene.cjs +6 -1
- package/dist/lib/ir/scene.d.ts +551 -15
- package/dist/lib/ir/scene.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/lib/ir/node.d.ts
CHANGED
|
@@ -157,6 +157,75 @@ export declare const NODE_TEXT_ALIGNS: {
|
|
|
157
157
|
};
|
|
158
158
|
/** 多行文本对齐字面量类型 */
|
|
159
159
|
export type NodeTextAlign = ValueOf<typeof NODE_TEXT_ALIGNS>;
|
|
160
|
+
/**
|
|
161
|
+
* 节点附属标签(label)——TikZ `[label=above:foo]` / `[label={[red]30:foo}]` 同义。
|
|
162
|
+
*
|
|
163
|
+
* 一个 Node 可挂多个 label(数组形态);label 自身不参与 viewBox(视觉外延少时可接受)。
|
|
164
|
+
*
|
|
165
|
+
* `position` 接受两种形态:
|
|
166
|
+
* - 8 方向枚举(`above` / `right` / `above-left` ...):标签贴在 node 该方向边界外
|
|
167
|
+
* - 数字角度:以 node 中心为原点,按该角度方向投射;约定与 polar 一致(0° = +x,90° = +y 屏幕下方)
|
|
168
|
+
*
|
|
169
|
+
* 默认 `position = 'above'`,`distance = 4`(user units,标签与 node 边界的距离)。
|
|
170
|
+
*/
|
|
171
|
+
export declare const NodeLabelSchema: z.ZodObject<{
|
|
172
|
+
text: z.ZodString;
|
|
173
|
+
position: z.ZodOptional<z.ZodUnion<[z.ZodNativeEnum<{
|
|
174
|
+
readonly above: "above";
|
|
175
|
+
readonly below: "below";
|
|
176
|
+
readonly left: "left";
|
|
177
|
+
readonly right: "right";
|
|
178
|
+
readonly 'above-left': "above-left";
|
|
179
|
+
readonly 'above-right': "above-right";
|
|
180
|
+
readonly 'below-left': "below-left";
|
|
181
|
+
readonly 'below-right': "below-right";
|
|
182
|
+
}>, z.ZodNumber]>>;
|
|
183
|
+
distance: z.ZodOptional<z.ZodNumber>;
|
|
184
|
+
textColor: z.ZodOptional<z.ZodString>;
|
|
185
|
+
opacity: z.ZodOptional<z.ZodNumber>;
|
|
186
|
+
font: z.ZodOptional<z.ZodObject<{
|
|
187
|
+
family: z.ZodOptional<z.ZodString>;
|
|
188
|
+
size: z.ZodOptional<z.ZodNumber>;
|
|
189
|
+
weight: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["normal", "bold"]>, z.ZodNumber]>>;
|
|
190
|
+
style: z.ZodOptional<z.ZodEnum<["normal", "italic", "oblique"]>>;
|
|
191
|
+
}, "strip", z.ZodTypeAny, {
|
|
192
|
+
family?: string | undefined;
|
|
193
|
+
size?: number | undefined;
|
|
194
|
+
weight?: number | "normal" | "bold" | undefined;
|
|
195
|
+
style?: "normal" | "italic" | "oblique" | undefined;
|
|
196
|
+
}, {
|
|
197
|
+
family?: string | undefined;
|
|
198
|
+
size?: number | undefined;
|
|
199
|
+
weight?: number | "normal" | "bold" | undefined;
|
|
200
|
+
style?: "normal" | "italic" | "oblique" | undefined;
|
|
201
|
+
}>>;
|
|
202
|
+
}, "strip", z.ZodTypeAny, {
|
|
203
|
+
text: string;
|
|
204
|
+
distance?: number | undefined;
|
|
205
|
+
position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
|
|
206
|
+
opacity?: number | undefined;
|
|
207
|
+
font?: {
|
|
208
|
+
family?: string | undefined;
|
|
209
|
+
size?: number | undefined;
|
|
210
|
+
weight?: number | "normal" | "bold" | undefined;
|
|
211
|
+
style?: "normal" | "italic" | "oblique" | undefined;
|
|
212
|
+
} | undefined;
|
|
213
|
+
textColor?: string | undefined;
|
|
214
|
+
}, {
|
|
215
|
+
text: string;
|
|
216
|
+
distance?: number | undefined;
|
|
217
|
+
position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
|
|
218
|
+
opacity?: number | undefined;
|
|
219
|
+
font?: {
|
|
220
|
+
family?: string | undefined;
|
|
221
|
+
size?: number | undefined;
|
|
222
|
+
weight?: number | "normal" | "bold" | undefined;
|
|
223
|
+
style?: "normal" | "italic" | "oblique" | undefined;
|
|
224
|
+
} | undefined;
|
|
225
|
+
textColor?: string | undefined;
|
|
226
|
+
}>;
|
|
227
|
+
/** Node label IR 类型——单条 label 的字段集 */
|
|
228
|
+
export type IRNodeLabel = z.infer<typeof NodeLabelSchema>;
|
|
160
229
|
export declare const NodeSchema: z.ZodObject<{
|
|
161
230
|
type: z.ZodLiteral<"node">;
|
|
162
231
|
id: z.ZodOptional<z.ZodString>;
|
|
@@ -166,7 +235,28 @@ export declare const NodeSchema: z.ZodObject<{
|
|
|
166
235
|
readonly ellipse: "ellipse";
|
|
167
236
|
readonly diamond: "diamond";
|
|
168
237
|
}>>;
|
|
169
|
-
position: z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodType<import('./position').PolarPosition, z.ZodTypeDef, import('./position').PolarPosition
|
|
238
|
+
position: z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodType<import('./position').PolarPosition, z.ZodTypeDef, import('./position').PolarPosition>, z.ZodObject<{
|
|
239
|
+
direction: z.ZodNativeEnum<{
|
|
240
|
+
readonly above: "above";
|
|
241
|
+
readonly below: "below";
|
|
242
|
+
readonly left: "left";
|
|
243
|
+
readonly right: "right";
|
|
244
|
+
readonly 'above-left': "above-left";
|
|
245
|
+
readonly 'above-right': "above-right";
|
|
246
|
+
readonly 'below-left': "below-left";
|
|
247
|
+
readonly 'below-right': "below-right";
|
|
248
|
+
}>;
|
|
249
|
+
of: z.ZodString;
|
|
250
|
+
distance: z.ZodOptional<z.ZodNumber>;
|
|
251
|
+
}, "strip", z.ZodTypeAny, {
|
|
252
|
+
direction: "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right";
|
|
253
|
+
of: string;
|
|
254
|
+
distance?: number | undefined;
|
|
255
|
+
}, {
|
|
256
|
+
direction: "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right";
|
|
257
|
+
of: string;
|
|
258
|
+
distance?: number | undefined;
|
|
259
|
+
}>]>;
|
|
170
260
|
rotate: z.ZodOptional<z.ZodNumber>;
|
|
171
261
|
text: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
|
|
172
262
|
text: z.ZodString;
|
|
@@ -253,9 +343,124 @@ export declare const NodeSchema: z.ZodObject<{
|
|
|
253
343
|
weight?: number | "normal" | "bold" | undefined;
|
|
254
344
|
style?: "normal" | "italic" | "oblique" | undefined;
|
|
255
345
|
}>>;
|
|
346
|
+
label: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
|
|
347
|
+
text: z.ZodString;
|
|
348
|
+
position: z.ZodOptional<z.ZodUnion<[z.ZodNativeEnum<{
|
|
349
|
+
readonly above: "above";
|
|
350
|
+
readonly below: "below";
|
|
351
|
+
readonly left: "left";
|
|
352
|
+
readonly right: "right";
|
|
353
|
+
readonly 'above-left': "above-left";
|
|
354
|
+
readonly 'above-right': "above-right";
|
|
355
|
+
readonly 'below-left': "below-left";
|
|
356
|
+
readonly 'below-right': "below-right";
|
|
357
|
+
}>, z.ZodNumber]>>;
|
|
358
|
+
distance: z.ZodOptional<z.ZodNumber>;
|
|
359
|
+
textColor: z.ZodOptional<z.ZodString>;
|
|
360
|
+
opacity: z.ZodOptional<z.ZodNumber>;
|
|
361
|
+
font: z.ZodOptional<z.ZodObject<{
|
|
362
|
+
family: z.ZodOptional<z.ZodString>;
|
|
363
|
+
size: z.ZodOptional<z.ZodNumber>;
|
|
364
|
+
weight: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["normal", "bold"]>, z.ZodNumber]>>;
|
|
365
|
+
style: z.ZodOptional<z.ZodEnum<["normal", "italic", "oblique"]>>;
|
|
366
|
+
}, "strip", z.ZodTypeAny, {
|
|
367
|
+
family?: string | undefined;
|
|
368
|
+
size?: number | undefined;
|
|
369
|
+
weight?: number | "normal" | "bold" | undefined;
|
|
370
|
+
style?: "normal" | "italic" | "oblique" | undefined;
|
|
371
|
+
}, {
|
|
372
|
+
family?: string | undefined;
|
|
373
|
+
size?: number | undefined;
|
|
374
|
+
weight?: number | "normal" | "bold" | undefined;
|
|
375
|
+
style?: "normal" | "italic" | "oblique" | undefined;
|
|
376
|
+
}>>;
|
|
377
|
+
}, "strip", z.ZodTypeAny, {
|
|
378
|
+
text: string;
|
|
379
|
+
distance?: number | undefined;
|
|
380
|
+
position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
|
|
381
|
+
opacity?: number | undefined;
|
|
382
|
+
font?: {
|
|
383
|
+
family?: string | undefined;
|
|
384
|
+
size?: number | undefined;
|
|
385
|
+
weight?: number | "normal" | "bold" | undefined;
|
|
386
|
+
style?: "normal" | "italic" | "oblique" | undefined;
|
|
387
|
+
} | undefined;
|
|
388
|
+
textColor?: string | undefined;
|
|
389
|
+
}, {
|
|
390
|
+
text: string;
|
|
391
|
+
distance?: number | undefined;
|
|
392
|
+
position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
|
|
393
|
+
opacity?: number | undefined;
|
|
394
|
+
font?: {
|
|
395
|
+
family?: string | undefined;
|
|
396
|
+
size?: number | undefined;
|
|
397
|
+
weight?: number | "normal" | "bold" | undefined;
|
|
398
|
+
style?: "normal" | "italic" | "oblique" | undefined;
|
|
399
|
+
} | undefined;
|
|
400
|
+
textColor?: string | undefined;
|
|
401
|
+
}>, z.ZodArray<z.ZodObject<{
|
|
402
|
+
text: z.ZodString;
|
|
403
|
+
position: z.ZodOptional<z.ZodUnion<[z.ZodNativeEnum<{
|
|
404
|
+
readonly above: "above";
|
|
405
|
+
readonly below: "below";
|
|
406
|
+
readonly left: "left";
|
|
407
|
+
readonly right: "right";
|
|
408
|
+
readonly 'above-left': "above-left";
|
|
409
|
+
readonly 'above-right': "above-right";
|
|
410
|
+
readonly 'below-left': "below-left";
|
|
411
|
+
readonly 'below-right': "below-right";
|
|
412
|
+
}>, z.ZodNumber]>>;
|
|
413
|
+
distance: z.ZodOptional<z.ZodNumber>;
|
|
414
|
+
textColor: z.ZodOptional<z.ZodString>;
|
|
415
|
+
opacity: z.ZodOptional<z.ZodNumber>;
|
|
416
|
+
font: z.ZodOptional<z.ZodObject<{
|
|
417
|
+
family: z.ZodOptional<z.ZodString>;
|
|
418
|
+
size: z.ZodOptional<z.ZodNumber>;
|
|
419
|
+
weight: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["normal", "bold"]>, z.ZodNumber]>>;
|
|
420
|
+
style: z.ZodOptional<z.ZodEnum<["normal", "italic", "oblique"]>>;
|
|
421
|
+
}, "strip", z.ZodTypeAny, {
|
|
422
|
+
family?: string | undefined;
|
|
423
|
+
size?: number | undefined;
|
|
424
|
+
weight?: number | "normal" | "bold" | undefined;
|
|
425
|
+
style?: "normal" | "italic" | "oblique" | undefined;
|
|
426
|
+
}, {
|
|
427
|
+
family?: string | undefined;
|
|
428
|
+
size?: number | undefined;
|
|
429
|
+
weight?: number | "normal" | "bold" | undefined;
|
|
430
|
+
style?: "normal" | "italic" | "oblique" | undefined;
|
|
431
|
+
}>>;
|
|
432
|
+
}, "strip", z.ZodTypeAny, {
|
|
433
|
+
text: string;
|
|
434
|
+
distance?: number | undefined;
|
|
435
|
+
position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
|
|
436
|
+
opacity?: number | undefined;
|
|
437
|
+
font?: {
|
|
438
|
+
family?: string | undefined;
|
|
439
|
+
size?: number | undefined;
|
|
440
|
+
weight?: number | "normal" | "bold" | undefined;
|
|
441
|
+
style?: "normal" | "italic" | "oblique" | undefined;
|
|
442
|
+
} | undefined;
|
|
443
|
+
textColor?: string | undefined;
|
|
444
|
+
}, {
|
|
445
|
+
text: string;
|
|
446
|
+
distance?: number | undefined;
|
|
447
|
+
position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
|
|
448
|
+
opacity?: number | undefined;
|
|
449
|
+
font?: {
|
|
450
|
+
family?: string | undefined;
|
|
451
|
+
size?: number | undefined;
|
|
452
|
+
weight?: number | "normal" | "bold" | undefined;
|
|
453
|
+
style?: "normal" | "italic" | "oblique" | undefined;
|
|
454
|
+
} | undefined;
|
|
455
|
+
textColor?: string | undefined;
|
|
456
|
+
}>, "many">]>>;
|
|
256
457
|
}, "strip", z.ZodTypeAny, {
|
|
257
458
|
type: "node";
|
|
258
|
-
position: [number, number] | import('./position').PolarPosition
|
|
459
|
+
position: [number, number] | import('./position').PolarPosition | {
|
|
460
|
+
direction: "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right";
|
|
461
|
+
of: string;
|
|
462
|
+
distance?: number | undefined;
|
|
463
|
+
};
|
|
259
464
|
fill?: string | undefined;
|
|
260
465
|
text?: string | (string | {
|
|
261
466
|
text: string;
|
|
@@ -268,6 +473,31 @@ export declare const NodeSchema: z.ZodObject<{
|
|
|
268
473
|
style?: "normal" | "italic" | "oblique" | undefined;
|
|
269
474
|
} | undefined;
|
|
270
475
|
})[] | undefined;
|
|
476
|
+
label?: {
|
|
477
|
+
text: string;
|
|
478
|
+
distance?: number | undefined;
|
|
479
|
+
position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
|
|
480
|
+
opacity?: number | undefined;
|
|
481
|
+
font?: {
|
|
482
|
+
family?: string | undefined;
|
|
483
|
+
size?: number | undefined;
|
|
484
|
+
weight?: number | "normal" | "bold" | undefined;
|
|
485
|
+
style?: "normal" | "italic" | "oblique" | undefined;
|
|
486
|
+
} | undefined;
|
|
487
|
+
textColor?: string | undefined;
|
|
488
|
+
} | {
|
|
489
|
+
text: string;
|
|
490
|
+
distance?: number | undefined;
|
|
491
|
+
position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
|
|
492
|
+
opacity?: number | undefined;
|
|
493
|
+
font?: {
|
|
494
|
+
family?: string | undefined;
|
|
495
|
+
size?: number | undefined;
|
|
496
|
+
weight?: number | "normal" | "bold" | undefined;
|
|
497
|
+
style?: "normal" | "italic" | "oblique" | undefined;
|
|
498
|
+
} | undefined;
|
|
499
|
+
textColor?: string | undefined;
|
|
500
|
+
}[] | undefined;
|
|
271
501
|
shape?: "diamond" | "circle" | "rectangle" | "ellipse" | undefined;
|
|
272
502
|
stroke?: string | undefined;
|
|
273
503
|
strokeWidth?: number | undefined;
|
|
@@ -280,6 +510,7 @@ export declare const NodeSchema: z.ZodObject<{
|
|
|
280
510
|
weight?: number | "normal" | "bold" | undefined;
|
|
281
511
|
style?: "normal" | "italic" | "oblique" | undefined;
|
|
282
512
|
} | undefined;
|
|
513
|
+
textColor?: string | undefined;
|
|
283
514
|
id?: string | undefined;
|
|
284
515
|
rotate?: number | undefined;
|
|
285
516
|
align?: "left" | "right" | "center" | undefined;
|
|
@@ -294,7 +525,6 @@ export declare const NodeSchema: z.ZodObject<{
|
|
|
294
525
|
scale?: number | undefined;
|
|
295
526
|
xScale?: number | undefined;
|
|
296
527
|
yScale?: number | undefined;
|
|
297
|
-
textColor?: string | undefined;
|
|
298
528
|
innerXSep?: number | undefined;
|
|
299
529
|
innerYSep?: number | undefined;
|
|
300
530
|
outerSep?: number | undefined;
|
|
@@ -302,7 +532,11 @@ export declare const NodeSchema: z.ZodObject<{
|
|
|
302
532
|
margin?: number | undefined;
|
|
303
533
|
}, {
|
|
304
534
|
type: "node";
|
|
305
|
-
position: [number, number] | import('./position').PolarPosition
|
|
535
|
+
position: [number, number] | import('./position').PolarPosition | {
|
|
536
|
+
direction: "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right";
|
|
537
|
+
of: string;
|
|
538
|
+
distance?: number | undefined;
|
|
539
|
+
};
|
|
306
540
|
fill?: string | undefined;
|
|
307
541
|
text?: string | (string | {
|
|
308
542
|
text: string;
|
|
@@ -315,6 +549,31 @@ export declare const NodeSchema: z.ZodObject<{
|
|
|
315
549
|
style?: "normal" | "italic" | "oblique" | undefined;
|
|
316
550
|
} | undefined;
|
|
317
551
|
})[] | undefined;
|
|
552
|
+
label?: {
|
|
553
|
+
text: string;
|
|
554
|
+
distance?: number | undefined;
|
|
555
|
+
position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
|
|
556
|
+
opacity?: number | undefined;
|
|
557
|
+
font?: {
|
|
558
|
+
family?: string | undefined;
|
|
559
|
+
size?: number | undefined;
|
|
560
|
+
weight?: number | "normal" | "bold" | undefined;
|
|
561
|
+
style?: "normal" | "italic" | "oblique" | undefined;
|
|
562
|
+
} | undefined;
|
|
563
|
+
textColor?: string | undefined;
|
|
564
|
+
} | {
|
|
565
|
+
text: string;
|
|
566
|
+
distance?: number | undefined;
|
|
567
|
+
position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
|
|
568
|
+
opacity?: number | undefined;
|
|
569
|
+
font?: {
|
|
570
|
+
family?: string | undefined;
|
|
571
|
+
size?: number | undefined;
|
|
572
|
+
weight?: number | "normal" | "bold" | undefined;
|
|
573
|
+
style?: "normal" | "italic" | "oblique" | undefined;
|
|
574
|
+
} | undefined;
|
|
575
|
+
textColor?: string | undefined;
|
|
576
|
+
}[] | undefined;
|
|
318
577
|
shape?: "diamond" | "circle" | "rectangle" | "ellipse" | undefined;
|
|
319
578
|
stroke?: string | undefined;
|
|
320
579
|
strokeWidth?: number | undefined;
|
|
@@ -327,6 +586,7 @@ export declare const NodeSchema: z.ZodObject<{
|
|
|
327
586
|
weight?: number | "normal" | "bold" | undefined;
|
|
328
587
|
style?: "normal" | "italic" | "oblique" | undefined;
|
|
329
588
|
} | undefined;
|
|
589
|
+
textColor?: string | undefined;
|
|
330
590
|
id?: string | undefined;
|
|
331
591
|
rotate?: number | undefined;
|
|
332
592
|
align?: "left" | "right" | "center" | undefined;
|
|
@@ -341,7 +601,6 @@ export declare const NodeSchema: z.ZodObject<{
|
|
|
341
601
|
scale?: number | undefined;
|
|
342
602
|
xScale?: number | undefined;
|
|
343
603
|
yScale?: number | undefined;
|
|
344
|
-
textColor?: string | undefined;
|
|
345
604
|
innerXSep?: number | undefined;
|
|
346
605
|
innerYSep?: number | undefined;
|
|
347
606
|
outerSep?: number | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../../src/ir/node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAGxC;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,WAAW;;;;;CAKd,CAAC;AAEX,mCAAmC;AACnC,MAAM,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC;AAEpD;;;;;GAKG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;EAwBpB,CAAC;AAEJ,oCAAoC;AACpC,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAEhD;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAsBxB,CAAC;AAEJ,4BAA4B;AAC5B,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAExD;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAIxB,CAAC;AAEJ,yCAAyC;AACzC,eAAO,MAAM,gBAAgB;;;;CAInB,CAAC;AAEX,kBAAkB;AAClB,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE7D,eAAO,MAAM,UAAU
|
|
1
|
+
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../../src/ir/node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAGxC;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,WAAW;;;;;CAKd,CAAC;AAEX,mCAAmC;AACnC,MAAM,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC;AAEpD;;;;;GAKG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;EAwBpB,CAAC;AAEJ,oCAAoC;AACpC,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAEhD;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAsBxB,CAAC;AAEJ,4BAA4B;AAC5B,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAExD;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAIxB,CAAC;AAEJ,yCAAyC;AACzC,eAAO,MAAM,gBAAgB;;;;CAInB,CAAC;AAEX,kBAAkB;AAClB,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE7D;;;;;;;;;;GAUG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkCzB,CAAC;AAEJ,sCAAsC;AACtC,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAE1D,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+KpB,CAAC;AAEJ,4CAA4C;AAC5C,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
let zod = require("zod");
|
|
2
|
+
//#region src/ir/position/at-position.ts
|
|
3
|
+
/**
|
|
4
|
+
* 节点相对方向常量。8 方向(4 主向 + 4 对角),按视觉语义:
|
|
5
|
+
* - above: y 减小(视觉上方)
|
|
6
|
+
* - below: y 增大(视觉下方)
|
|
7
|
+
* - left: x 减小(视觉左方)
|
|
8
|
+
* - right: x 增大(视觉右方)
|
|
9
|
+
* - 4 对角:两轴各 1/√2 单位向量分量(对角距离与 distance 等长)
|
|
10
|
+
*
|
|
11
|
+
* 与 TikZ `positioning` library 的 `above of` / `right of` / `above right of` 对齐
|
|
12
|
+
* (TikZ y 向上、retikz y 向下,但 `above` 视觉语义在两边一致——视觉上方)。
|
|
13
|
+
*/
|
|
14
|
+
var AT_DIRECTIONS = {
|
|
15
|
+
above: "above",
|
|
16
|
+
below: "below",
|
|
17
|
+
left: "left",
|
|
18
|
+
right: "right",
|
|
19
|
+
"above-left": "above-left",
|
|
20
|
+
"above-right": "above-right",
|
|
21
|
+
"below-left": "below-left",
|
|
22
|
+
"below-right": "below-right"
|
|
23
|
+
};
|
|
24
|
+
var AtPositionSchema = zod.z.object({
|
|
25
|
+
direction: zod.z.nativeEnum(AT_DIRECTIONS).describe("Direction from the referenced node toward this node, in visual convention (above = visually upward, screen y-)."),
|
|
26
|
+
of: zod.z.string().min(1).describe("Id of the referenced node or coordinate; must be defined earlier in the IR (forward references rejected, mirroring polar `origin` and string targets)."),
|
|
27
|
+
distance: zod.z.number().positive().optional().describe("Distance from the referenced node center to this node center in user units. Falls back to the Tikz `nodeDistance` compile-time context, then to 1.")
|
|
28
|
+
}).describe("Relative position: place this node at `direction` direction from `of`, `distance` away. Mirrors TikZ `[<direction>=<distance> of <id>]` from the positioning library.");
|
|
29
|
+
//#endregion
|
|
30
|
+
exports.AT_DIRECTIONS = AT_DIRECTIONS;
|
|
31
|
+
exports.AtPositionSchema = AtPositionSchema;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { ValueOf } from '../../types';
|
|
3
|
+
/**
|
|
4
|
+
* 节点相对方向常量。8 方向(4 主向 + 4 对角),按视觉语义:
|
|
5
|
+
* - above: y 减小(视觉上方)
|
|
6
|
+
* - below: y 增大(视觉下方)
|
|
7
|
+
* - left: x 减小(视觉左方)
|
|
8
|
+
* - right: x 增大(视觉右方)
|
|
9
|
+
* - 4 对角:两轴各 1/√2 单位向量分量(对角距离与 distance 等长)
|
|
10
|
+
*
|
|
11
|
+
* 与 TikZ `positioning` library 的 `above of` / `right of` / `above right of` 对齐
|
|
12
|
+
* (TikZ y 向上、retikz y 向下,但 `above` 视觉语义在两边一致——视觉上方)。
|
|
13
|
+
*/
|
|
14
|
+
export declare const AT_DIRECTIONS: {
|
|
15
|
+
readonly above: "above";
|
|
16
|
+
readonly below: "below";
|
|
17
|
+
readonly left: "left";
|
|
18
|
+
readonly right: "right";
|
|
19
|
+
readonly 'above-left': "above-left";
|
|
20
|
+
readonly 'above-right': "above-right";
|
|
21
|
+
readonly 'below-left': "below-left";
|
|
22
|
+
readonly 'below-right': "below-right";
|
|
23
|
+
};
|
|
24
|
+
/** at 方向字面量类型;由 `AT_DIRECTIONS` 派生 */
|
|
25
|
+
export type AtDirection = ValueOf<typeof AT_DIRECTIONS>;
|
|
26
|
+
export declare const AtPositionSchema: z.ZodObject<{
|
|
27
|
+
direction: z.ZodNativeEnum<{
|
|
28
|
+
readonly above: "above";
|
|
29
|
+
readonly below: "below";
|
|
30
|
+
readonly left: "left";
|
|
31
|
+
readonly right: "right";
|
|
32
|
+
readonly 'above-left': "above-left";
|
|
33
|
+
readonly 'above-right': "above-right";
|
|
34
|
+
readonly 'below-left': "below-left";
|
|
35
|
+
readonly 'below-right': "below-right";
|
|
36
|
+
}>;
|
|
37
|
+
of: z.ZodString;
|
|
38
|
+
distance: z.ZodOptional<z.ZodNumber>;
|
|
39
|
+
}, "strip", z.ZodTypeAny, {
|
|
40
|
+
direction: "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right";
|
|
41
|
+
of: string;
|
|
42
|
+
distance?: number | undefined;
|
|
43
|
+
}, {
|
|
44
|
+
direction: "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right";
|
|
45
|
+
of: string;
|
|
46
|
+
distance?: number | undefined;
|
|
47
|
+
}>;
|
|
48
|
+
/** 相对定位的 IR 类型——`{ direction, of, distance? }`,与 `IRPosition` / `PolarPosition` 在 union 里平级 */
|
|
49
|
+
export type IRAtPosition = z.infer<typeof AtPositionSchema>;
|
|
50
|
+
//# sourceMappingURL=at-position.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"at-position.d.ts","sourceRoot":"","sources":["../../../../src/ir/position/at-position.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C;;;;;;;;;;GAUG;AACH,eAAO,MAAM,aAAa;;;;;;;;;CAShB,CAAC;AAEX,sCAAsC;AACtC,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,aAAa,CAAC,CAAC;AAExD,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;EAuB1B,CAAC;AAEJ,+FAA+F;AAC/F,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ir/position/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ir/position/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC"}
|
package/dist/lib/ir/scene.cjs
CHANGED
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
const require_path = require("./path/path.cjs");
|
|
2
2
|
const require_node = require("./node.cjs");
|
|
3
|
+
const require_coordinate = require("./coordinate.cjs");
|
|
3
4
|
let zod = require("zod");
|
|
4
5
|
//#region src/ir/scene.ts
|
|
5
|
-
var ChildSchema = zod.z.discriminatedUnion("type", [
|
|
6
|
+
var ChildSchema = zod.z.discriminatedUnion("type", [
|
|
7
|
+
require_node.NodeSchema,
|
|
8
|
+
require_path.PathSchema,
|
|
9
|
+
require_coordinate.CoordinateSchema
|
|
10
|
+
]).describe("Top-level scene child: a node, a path, or a coordinate placeholder; discriminator field is `type`");
|
|
6
11
|
var SceneSchema = zod.z.object({
|
|
7
12
|
version: zod.z.literal(1).describe("IR major version number; bump only on breaking schema changes"),
|
|
8
13
|
type: zod.z.literal("scene").describe("Discriminator marking this object as the root scene"),
|