@retikz/core 0.1.0-alpha.5 → 0.1.0-beta.2
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 +20 -3
- package/dist/es/compile/compile.d.ts.map +1 -1
- package/dist/es/compile/compile.js +44 -19
- package/dist/es/compile/index.d.ts +2 -2
- package/dist/es/compile/index.d.ts.map +1 -1
- package/dist/es/compile/layout.d.ts +5 -0
- package/dist/es/compile/layout.d.ts.map +1 -0
- package/dist/es/compile/{view-box.js → layout.js} +4 -4
- package/dist/es/compile/node.d.ts +4 -4
- package/dist/es/compile/node.d.ts.map +1 -1
- package/dist/es/compile/node.js +7 -7
- package/dist/es/compile/path/anchor.d.ts +19 -0
- package/dist/es/compile/path/anchor.d.ts.map +1 -0
- package/dist/es/compile/path/anchor.js +54 -0
- package/dist/es/compile/path/arrow-geometry.d.ts +22 -0
- package/dist/es/compile/path/arrow-geometry.d.ts.map +1 -0
- package/dist/es/compile/path/arrow-geometry.js +40 -0
- package/dist/es/compile/{path.d.ts → path/index.d.ts} +18 -7
- package/dist/es/compile/path/index.d.ts.map +1 -0
- package/dist/es/compile/path/index.js +308 -0
- package/dist/es/compile/path/label.d.ts +18 -0
- package/dist/es/compile/path/label.d.ts.map +1 -0
- package/dist/es/compile/path/label.js +102 -0
- package/dist/es/compile/path/relative.d.ts +8 -0
- package/dist/es/compile/path/relative.d.ts.map +1 -0
- package/dist/es/compile/path/relative.js +48 -0
- package/dist/es/compile/path/shrink.d.ts +18 -0
- package/dist/es/compile/path/shrink.d.ts.map +1 -0
- package/dist/es/compile/path/shrink.js +126 -0
- package/dist/es/compile/path/split.d.ts +15 -0
- package/dist/es/compile/path/split.d.ts.map +1 -0
- package/dist/es/compile/path/split.js +46 -0
- package/dist/es/compile/text-metrics.d.ts +4 -1
- package/dist/es/compile/text-metrics.d.ts.map +1 -1
- package/dist/es/compile/text-metrics.js +11 -5
- package/dist/es/geometry/_transform.d.ts +21 -0
- package/dist/es/geometry/_transform.d.ts.map +1 -0
- package/dist/es/geometry/_transform.js +27 -0
- package/dist/es/geometry/bend.d.ts +1 -1
- package/dist/es/geometry/bend.js +1 -1
- package/dist/es/geometry/circle.d.ts +2 -3
- package/dist/es/geometry/circle.d.ts.map +1 -1
- package/dist/es/geometry/circle.js +1 -16
- package/dist/es/geometry/diamond.d.ts +2 -3
- package/dist/es/geometry/diamond.d.ts.map +1 -1
- package/dist/es/geometry/diamond.js +1 -16
- package/dist/es/geometry/ellipse.d.ts +2 -3
- package/dist/es/geometry/ellipse.d.ts.map +1 -1
- package/dist/es/geometry/ellipse.js +1 -16
- package/dist/es/geometry/polar.d.ts +2 -2
- package/dist/es/geometry/polar.d.ts.map +1 -1
- package/dist/es/geometry/polar.js +2 -6
- package/dist/es/geometry/rect.d.ts.map +1 -1
- package/dist/es/geometry/rect.js +1 -18
- package/dist/es/geometry/segment.d.ts +5 -1
- package/dist/es/geometry/segment.d.ts.map +1 -1
- package/dist/es/index.d.ts +11 -7
- package/dist/es/index.d.ts.map +1 -1
- package/dist/es/index.js +5 -2
- package/dist/es/ir/coordinate.d.ts +1 -1
- package/dist/es/ir/coordinate.js +1 -1
- package/dist/es/ir/font.d.ts +21 -0
- package/dist/es/ir/font.d.ts.map +1 -0
- package/dist/es/ir/font.js +15 -0
- package/dist/es/ir/index.d.ts +2 -0
- package/dist/es/ir/index.d.ts.map +1 -1
- package/dist/es/ir/node.d.ts +32 -143
- package/dist/es/ir/node.d.ts.map +1 -1
- package/dist/es/ir/node.js +7 -31
- package/dist/es/ir/path/arrow.d.ts +14 -14
- package/dist/es/ir/path/arrow.d.ts.map +1 -1
- package/dist/es/ir/path/arrow.js +5 -5
- package/dist/es/ir/path/path.d.ts +19 -19
- package/dist/es/ir/path/path.d.ts.map +1 -1
- package/dist/es/ir/path/path.js +4 -4
- package/dist/es/ir/path/step.d.ts +1 -1
- package/dist/es/ir/path/step.d.ts.map +1 -1
- package/dist/es/ir/path/step.js +8 -8
- package/dist/es/ir/position/at-position.js +1 -1
- package/dist/es/ir/position/offset-position.js +1 -1
- package/dist/es/ir/position/polar-position.d.ts.map +1 -1
- package/dist/es/ir/position/polar-position.js +2 -2
- package/dist/es/ir/position/position.d.ts.map +1 -1
- package/dist/es/ir/position/position.js +1 -1
- package/dist/es/ir/scene.d.ts +128 -128
- package/dist/es/ir/text.d.ts +96 -0
- package/dist/es/ir/text.d.ts.map +1 -0
- package/dist/es/ir/text.js +20 -0
- package/dist/es/parsers/parseTargetSugar.d.ts +4 -0
- package/dist/es/parsers/parseTargetSugar.d.ts.map +1 -1
- package/dist/es/parsers/parseTargetSugar.js +3 -2
- package/dist/es/primitive/ellipse.d.ts +3 -3
- package/dist/es/primitive/ellipse.d.ts.map +1 -1
- package/dist/es/primitive/group.d.ts +23 -7
- package/dist/es/primitive/group.d.ts.map +1 -1
- package/dist/es/primitive/index.d.ts +1 -1
- package/dist/es/primitive/index.d.ts.map +1 -1
- package/dist/es/primitive/layout.d.ts +12 -0
- package/dist/es/primitive/layout.d.ts.map +1 -0
- package/dist/es/primitive/path.d.ts +55 -15
- package/dist/es/primitive/path.d.ts.map +1 -1
- package/dist/es/primitive/rect.d.ts +3 -3
- package/dist/es/primitive/rect.d.ts.map +1 -1
- package/dist/es/primitive/scene.d.ts +4 -4
- package/dist/es/primitive/scene.d.ts.map +1 -1
- package/dist/es/primitive/text.d.ts +10 -3
- package/dist/es/primitive/text.d.ts.map +1 -1
- package/dist/es/types.d.ts +8 -0
- package/dist/es/types.d.ts.map +1 -1
- package/dist/lib/compile/compile.cjs +44 -19
- package/dist/lib/compile/compile.d.ts +20 -3
- package/dist/lib/compile/compile.d.ts.map +1 -1
- package/dist/lib/compile/index.d.ts +2 -2
- package/dist/lib/compile/index.d.ts.map +1 -1
- package/dist/lib/compile/{view-box.cjs → layout.cjs} +4 -4
- package/dist/lib/compile/layout.d.ts +5 -0
- package/dist/lib/compile/layout.d.ts.map +1 -0
- package/dist/lib/compile/node.cjs +7 -7
- package/dist/lib/compile/node.d.ts +4 -4
- package/dist/lib/compile/node.d.ts.map +1 -1
- package/dist/lib/compile/path/anchor.cjs +58 -0
- package/dist/lib/compile/path/anchor.d.ts +19 -0
- package/dist/lib/compile/path/anchor.d.ts.map +1 -0
- package/dist/lib/compile/path/arrow-geometry.cjs +41 -0
- package/dist/lib/compile/path/arrow-geometry.d.ts +22 -0
- package/dist/lib/compile/path/arrow-geometry.d.ts.map +1 -0
- package/dist/lib/compile/path/index.cjs +308 -0
- package/dist/lib/compile/{path.d.ts → path/index.d.ts} +18 -7
- package/dist/lib/compile/path/index.d.ts.map +1 -0
- package/dist/lib/compile/path/label.cjs +103 -0
- package/dist/lib/compile/path/label.d.ts +18 -0
- package/dist/lib/compile/path/label.d.ts.map +1 -0
- package/dist/lib/compile/path/relative.cjs +48 -0
- package/dist/lib/compile/path/relative.d.ts +8 -0
- package/dist/lib/compile/path/relative.d.ts.map +1 -0
- package/dist/lib/compile/path/shrink.cjs +128 -0
- package/dist/lib/compile/path/shrink.d.ts +18 -0
- package/dist/lib/compile/path/shrink.d.ts.map +1 -0
- package/dist/lib/compile/path/split.cjs +46 -0
- package/dist/lib/compile/path/split.d.ts +15 -0
- package/dist/lib/compile/path/split.d.ts.map +1 -0
- package/dist/lib/compile/text-metrics.cjs +11 -5
- package/dist/lib/compile/text-metrics.d.ts +4 -1
- package/dist/lib/compile/text-metrics.d.ts.map +1 -1
- package/dist/lib/geometry/_transform.cjs +28 -0
- package/dist/lib/geometry/_transform.d.ts +21 -0
- package/dist/lib/geometry/_transform.d.ts.map +1 -0
- package/dist/lib/geometry/bend.cjs +1 -1
- package/dist/lib/geometry/bend.d.ts +1 -1
- package/dist/lib/geometry/circle.cjs +5 -20
- package/dist/lib/geometry/circle.d.ts +2 -3
- package/dist/lib/geometry/circle.d.ts.map +1 -1
- package/dist/lib/geometry/diamond.cjs +5 -20
- package/dist/lib/geometry/diamond.d.ts +2 -3
- package/dist/lib/geometry/diamond.d.ts.map +1 -1
- package/dist/lib/geometry/ellipse.cjs +5 -20
- package/dist/lib/geometry/ellipse.d.ts +2 -3
- package/dist/lib/geometry/ellipse.d.ts.map +1 -1
- package/dist/lib/geometry/polar.cjs +2 -6
- package/dist/lib/geometry/polar.d.ts +2 -2
- package/dist/lib/geometry/polar.d.ts.map +1 -1
- package/dist/lib/geometry/rect.cjs +5 -22
- package/dist/lib/geometry/rect.d.ts.map +1 -1
- package/dist/lib/geometry/segment.d.ts +5 -1
- package/dist/lib/geometry/segment.d.ts.map +1 -1
- package/dist/lib/index.cjs +7 -3
- package/dist/lib/index.d.ts +11 -7
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/ir/coordinate.cjs +1 -1
- package/dist/lib/ir/coordinate.d.ts +1 -1
- package/dist/lib/ir/font.cjs +15 -0
- package/dist/lib/ir/font.d.ts +21 -0
- package/dist/lib/ir/font.d.ts.map +1 -0
- package/dist/lib/ir/index.d.ts +2 -0
- package/dist/lib/ir/index.d.ts.map +1 -1
- package/dist/lib/ir/node.cjs +8 -35
- package/dist/lib/ir/node.d.ts +32 -143
- package/dist/lib/ir/node.d.ts.map +1 -1
- package/dist/lib/ir/path/arrow.cjs +5 -5
- package/dist/lib/ir/path/arrow.d.ts +14 -14
- package/dist/lib/ir/path/arrow.d.ts.map +1 -1
- package/dist/lib/ir/path/path.cjs +4 -4
- package/dist/lib/ir/path/path.d.ts +19 -19
- package/dist/lib/ir/path/path.d.ts.map +1 -1
- package/dist/lib/ir/path/step.cjs +8 -8
- package/dist/lib/ir/path/step.d.ts +1 -1
- package/dist/lib/ir/path/step.d.ts.map +1 -1
- package/dist/lib/ir/position/at-position.cjs +1 -1
- package/dist/lib/ir/position/offset-position.cjs +1 -1
- package/dist/lib/ir/position/polar-position.cjs +2 -2
- package/dist/lib/ir/position/polar-position.d.ts.map +1 -1
- package/dist/lib/ir/position/position.cjs +1 -1
- package/dist/lib/ir/position/position.d.ts.map +1 -1
- package/dist/lib/ir/scene.d.ts +128 -128
- package/dist/lib/ir/text.cjs +21 -0
- package/dist/lib/ir/text.d.ts +96 -0
- package/dist/lib/ir/text.d.ts.map +1 -0
- package/dist/lib/parsers/parseTargetSugar.cjs +3 -2
- package/dist/lib/parsers/parseTargetSugar.d.ts +4 -0
- package/dist/lib/parsers/parseTargetSugar.d.ts.map +1 -1
- package/dist/lib/primitive/ellipse.d.ts +3 -3
- package/dist/lib/primitive/ellipse.d.ts.map +1 -1
- package/dist/lib/primitive/group.d.ts +23 -7
- package/dist/lib/primitive/group.d.ts.map +1 -1
- package/dist/lib/primitive/index.d.ts +1 -1
- package/dist/lib/primitive/index.d.ts.map +1 -1
- package/dist/lib/primitive/layout.d.ts +12 -0
- package/dist/lib/primitive/layout.d.ts.map +1 -0
- package/dist/lib/primitive/path.d.ts +55 -15
- package/dist/lib/primitive/path.d.ts.map +1 -1
- package/dist/lib/primitive/rect.d.ts +3 -3
- package/dist/lib/primitive/rect.d.ts.map +1 -1
- package/dist/lib/primitive/scene.d.ts +4 -4
- package/dist/lib/primitive/scene.d.ts.map +1 -1
- package/dist/lib/primitive/text.d.ts +10 -3
- package/dist/lib/primitive/text.d.ts.map +1 -1
- package/dist/lib/types.d.ts +8 -0
- package/dist/lib/types.d.ts.map +1 -1
- package/package.json +12 -4
- package/dist/es/compile/path.d.ts.map +0 -1
- package/dist/es/compile/path.js +0 -636
- package/dist/es/compile/view-box.d.ts +0 -5
- package/dist/es/compile/view-box.d.ts.map +0 -1
- package/dist/es/primitive/view-box.d.ts +0 -12
- package/dist/es/primitive/view-box.d.ts.map +0 -1
- package/dist/lib/compile/path.cjs +0 -636
- package/dist/lib/compile/path.d.ts.map +0 -1
- package/dist/lib/compile/view-box.d.ts +0 -5
- package/dist/lib/compile/view-box.d.ts.map +0 -1
- package/dist/lib/primitive/view-box.d.ts +0 -12
- package/dist/lib/primitive/view-box.d.ts.map +0 -1
package/dist/es/ir/node.d.ts
CHANGED
|
@@ -12,117 +12,6 @@ export declare const NODE_SHAPES: {
|
|
|
12
12
|
};
|
|
13
13
|
/** 节点形状字面量类型 */
|
|
14
14
|
export type NodeShape = ValueOf<typeof NODE_SHAPES>;
|
|
15
|
-
/** 节点字体规格:family/size/weight/style 全部可选,透传 SVG `<text>` font-* 属性 */
|
|
16
|
-
export declare const FontSchema: z.ZodObject<{
|
|
17
|
-
family: z.ZodOptional<z.ZodString>;
|
|
18
|
-
size: z.ZodOptional<z.ZodNumber>;
|
|
19
|
-
weight: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["normal", "bold"]>, z.ZodNumber]>>;
|
|
20
|
-
style: z.ZodOptional<z.ZodEnum<["normal", "italic", "oblique"]>>;
|
|
21
|
-
}, "strip", z.ZodTypeAny, {
|
|
22
|
-
family?: string | undefined;
|
|
23
|
-
size?: number | undefined;
|
|
24
|
-
weight?: number | "normal" | "bold" | undefined;
|
|
25
|
-
style?: "normal" | "italic" | "oblique" | undefined;
|
|
26
|
-
}, {
|
|
27
|
-
family?: string | undefined;
|
|
28
|
-
size?: number | undefined;
|
|
29
|
-
weight?: number | "normal" | "bold" | undefined;
|
|
30
|
-
style?: "normal" | "italic" | "oblique" | undefined;
|
|
31
|
-
}>;
|
|
32
|
-
/** 节点字体规格 IR 类型(所有字段可选,编译期解析默认值) */
|
|
33
|
-
export type IRFont = z.infer<typeof FontSchema>;
|
|
34
|
-
/**
|
|
35
|
-
* 单行文本规格:纯字符串走块级默认,对象形式可覆盖 fill/opacity/font
|
|
36
|
-
* @description 行级覆盖只生效于本行 `<tspan>`;font 子字段未填则继承块级;align/lineHeight 不可被行覆盖
|
|
37
|
-
*/
|
|
38
|
-
export declare const LineSpecSchema: z.ZodUnion<[z.ZodString, z.ZodObject<{
|
|
39
|
-
text: z.ZodString;
|
|
40
|
-
fill: z.ZodOptional<z.ZodString>;
|
|
41
|
-
opacity: z.ZodOptional<z.ZodNumber>;
|
|
42
|
-
font: z.ZodOptional<z.ZodObject<{
|
|
43
|
-
family: z.ZodOptional<z.ZodString>;
|
|
44
|
-
size: z.ZodOptional<z.ZodNumber>;
|
|
45
|
-
weight: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["normal", "bold"]>, z.ZodNumber]>>;
|
|
46
|
-
style: z.ZodOptional<z.ZodEnum<["normal", "italic", "oblique"]>>;
|
|
47
|
-
}, "strip", z.ZodTypeAny, {
|
|
48
|
-
family?: string | undefined;
|
|
49
|
-
size?: number | undefined;
|
|
50
|
-
weight?: number | "normal" | "bold" | undefined;
|
|
51
|
-
style?: "normal" | "italic" | "oblique" | undefined;
|
|
52
|
-
}, {
|
|
53
|
-
family?: string | undefined;
|
|
54
|
-
size?: number | undefined;
|
|
55
|
-
weight?: number | "normal" | "bold" | undefined;
|
|
56
|
-
style?: "normal" | "italic" | "oblique" | undefined;
|
|
57
|
-
}>>;
|
|
58
|
-
}, "strip", z.ZodTypeAny, {
|
|
59
|
-
text: string;
|
|
60
|
-
fill?: string | undefined;
|
|
61
|
-
opacity?: number | undefined;
|
|
62
|
-
font?: {
|
|
63
|
-
family?: string | undefined;
|
|
64
|
-
size?: number | undefined;
|
|
65
|
-
weight?: number | "normal" | "bold" | undefined;
|
|
66
|
-
style?: "normal" | "italic" | "oblique" | undefined;
|
|
67
|
-
} | undefined;
|
|
68
|
-
}, {
|
|
69
|
-
text: string;
|
|
70
|
-
fill?: string | undefined;
|
|
71
|
-
opacity?: number | undefined;
|
|
72
|
-
font?: {
|
|
73
|
-
family?: string | undefined;
|
|
74
|
-
size?: number | undefined;
|
|
75
|
-
weight?: number | "normal" | "bold" | undefined;
|
|
76
|
-
style?: "normal" | "italic" | "oblique" | undefined;
|
|
77
|
-
} | undefined;
|
|
78
|
-
}>]>;
|
|
79
|
-
/** 行规格 IR 类型 */
|
|
80
|
-
export type IRLineSpec = z.infer<typeof LineSpecSchema>;
|
|
81
|
-
/**
|
|
82
|
-
* 节点文本:单字符串或非空多行 LineSpec 数组
|
|
83
|
-
* @description 选数组而非 `\n` 字符串:JSON 友好无 escape,行级覆盖天然落字段
|
|
84
|
-
*/
|
|
85
|
-
export declare const NodeTextSchema: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
|
|
86
|
-
text: z.ZodString;
|
|
87
|
-
fill: z.ZodOptional<z.ZodString>;
|
|
88
|
-
opacity: z.ZodOptional<z.ZodNumber>;
|
|
89
|
-
font: z.ZodOptional<z.ZodObject<{
|
|
90
|
-
family: z.ZodOptional<z.ZodString>;
|
|
91
|
-
size: z.ZodOptional<z.ZodNumber>;
|
|
92
|
-
weight: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["normal", "bold"]>, z.ZodNumber]>>;
|
|
93
|
-
style: z.ZodOptional<z.ZodEnum<["normal", "italic", "oblique"]>>;
|
|
94
|
-
}, "strip", z.ZodTypeAny, {
|
|
95
|
-
family?: string | undefined;
|
|
96
|
-
size?: number | undefined;
|
|
97
|
-
weight?: number | "normal" | "bold" | undefined;
|
|
98
|
-
style?: "normal" | "italic" | "oblique" | undefined;
|
|
99
|
-
}, {
|
|
100
|
-
family?: string | undefined;
|
|
101
|
-
size?: number | undefined;
|
|
102
|
-
weight?: number | "normal" | "bold" | undefined;
|
|
103
|
-
style?: "normal" | "italic" | "oblique" | undefined;
|
|
104
|
-
}>>;
|
|
105
|
-
}, "strip", z.ZodTypeAny, {
|
|
106
|
-
text: string;
|
|
107
|
-
fill?: string | undefined;
|
|
108
|
-
opacity?: number | undefined;
|
|
109
|
-
font?: {
|
|
110
|
-
family?: string | undefined;
|
|
111
|
-
size?: number | undefined;
|
|
112
|
-
weight?: number | "normal" | "bold" | undefined;
|
|
113
|
-
style?: "normal" | "italic" | "oblique" | undefined;
|
|
114
|
-
} | undefined;
|
|
115
|
-
}, {
|
|
116
|
-
text: string;
|
|
117
|
-
fill?: string | undefined;
|
|
118
|
-
opacity?: number | undefined;
|
|
119
|
-
font?: {
|
|
120
|
-
family?: string | undefined;
|
|
121
|
-
size?: number | undefined;
|
|
122
|
-
weight?: number | "normal" | "bold" | undefined;
|
|
123
|
-
style?: "normal" | "italic" | "oblique" | undefined;
|
|
124
|
-
} | undefined;
|
|
125
|
-
}>]>, "many">]>;
|
|
126
15
|
/** 节点文本对齐(TikZ `align=` 同义) */
|
|
127
16
|
export declare const NODE_TEXT_ALIGNS: {
|
|
128
17
|
readonly left: "left";
|
|
@@ -132,7 +21,7 @@ export declare const NODE_TEXT_ALIGNS: {
|
|
|
132
21
|
export type NodeTextAlign = ValueOf<typeof NODE_TEXT_ALIGNS>;
|
|
133
22
|
/**
|
|
134
23
|
* 节点附属标签 label(TikZ `[label=above:foo]` 同义)
|
|
135
|
-
* @description 可挂多个;label 不参与
|
|
24
|
+
* @description 可挂多个;label 不参与 layout。position 支持 8 方向枚举或数字角度(polar 约定:0°=+x,90°=+y 屏幕下方);默认 position='above',distance=4
|
|
136
25
|
*/
|
|
137
26
|
export declare const NodeLabelSchema: z.ZodObject<{
|
|
138
27
|
text: z.ZodString;
|
|
@@ -169,25 +58,25 @@ export declare const NodeLabelSchema: z.ZodObject<{
|
|
|
169
58
|
text: string;
|
|
170
59
|
distance?: number | undefined;
|
|
171
60
|
opacity?: number | undefined;
|
|
172
|
-
position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
|
|
173
61
|
font?: {
|
|
174
62
|
family?: string | undefined;
|
|
175
63
|
size?: number | undefined;
|
|
176
64
|
weight?: number | "normal" | "bold" | undefined;
|
|
177
65
|
style?: "normal" | "italic" | "oblique" | undefined;
|
|
178
66
|
} | undefined;
|
|
67
|
+
position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
|
|
179
68
|
textColor?: string | undefined;
|
|
180
69
|
}, {
|
|
181
70
|
text: string;
|
|
182
71
|
distance?: number | undefined;
|
|
183
72
|
opacity?: number | undefined;
|
|
184
|
-
position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
|
|
185
73
|
font?: {
|
|
186
74
|
family?: string | undefined;
|
|
187
75
|
size?: number | undefined;
|
|
188
76
|
weight?: number | "normal" | "bold" | undefined;
|
|
189
77
|
style?: "normal" | "italic" | "oblique" | undefined;
|
|
190
78
|
} | undefined;
|
|
79
|
+
position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
|
|
191
80
|
textColor?: string | undefined;
|
|
192
81
|
}>;
|
|
193
82
|
/** Node label IR 类型 */
|
|
@@ -287,7 +176,7 @@ export declare const NodeSchema: z.ZodObject<{
|
|
|
287
176
|
strokeWidth: z.ZodOptional<z.ZodNumber>;
|
|
288
177
|
dashed: z.ZodOptional<z.ZodBoolean>;
|
|
289
178
|
dotted: z.ZodOptional<z.ZodBoolean>;
|
|
290
|
-
dashArray: z.ZodOptional<z.
|
|
179
|
+
dashArray: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
|
|
291
180
|
roundedCorners: z.ZodOptional<z.ZodNumber>;
|
|
292
181
|
minimumWidth: z.ZodOptional<z.ZodNumber>;
|
|
293
182
|
minimumHeight: z.ZodOptional<z.ZodNumber>;
|
|
@@ -353,25 +242,25 @@ export declare const NodeSchema: z.ZodObject<{
|
|
|
353
242
|
text: string;
|
|
354
243
|
distance?: number | undefined;
|
|
355
244
|
opacity?: number | undefined;
|
|
356
|
-
position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
|
|
357
245
|
font?: {
|
|
358
246
|
family?: string | undefined;
|
|
359
247
|
size?: number | undefined;
|
|
360
248
|
weight?: number | "normal" | "bold" | undefined;
|
|
361
249
|
style?: "normal" | "italic" | "oblique" | undefined;
|
|
362
250
|
} | undefined;
|
|
251
|
+
position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
|
|
363
252
|
textColor?: string | undefined;
|
|
364
253
|
}, {
|
|
365
254
|
text: string;
|
|
366
255
|
distance?: number | undefined;
|
|
367
256
|
opacity?: number | undefined;
|
|
368
|
-
position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
|
|
369
257
|
font?: {
|
|
370
258
|
family?: string | undefined;
|
|
371
259
|
size?: number | undefined;
|
|
372
260
|
weight?: number | "normal" | "bold" | undefined;
|
|
373
261
|
style?: "normal" | "italic" | "oblique" | undefined;
|
|
374
262
|
} | undefined;
|
|
263
|
+
position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
|
|
375
264
|
textColor?: string | undefined;
|
|
376
265
|
}>, z.ZodArray<z.ZodObject<{
|
|
377
266
|
text: z.ZodString;
|
|
@@ -408,25 +297,25 @@ export declare const NodeSchema: z.ZodObject<{
|
|
|
408
297
|
text: string;
|
|
409
298
|
distance?: number | undefined;
|
|
410
299
|
opacity?: number | undefined;
|
|
411
|
-
position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
|
|
412
300
|
font?: {
|
|
413
301
|
family?: string | undefined;
|
|
414
302
|
size?: number | undefined;
|
|
415
303
|
weight?: number | "normal" | "bold" | undefined;
|
|
416
304
|
style?: "normal" | "italic" | "oblique" | undefined;
|
|
417
305
|
} | undefined;
|
|
306
|
+
position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
|
|
418
307
|
textColor?: string | undefined;
|
|
419
308
|
}, {
|
|
420
309
|
text: string;
|
|
421
310
|
distance?: number | undefined;
|
|
422
311
|
opacity?: number | undefined;
|
|
423
|
-
position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
|
|
424
312
|
font?: {
|
|
425
313
|
family?: string | undefined;
|
|
426
314
|
size?: number | undefined;
|
|
427
315
|
weight?: number | "normal" | "bold" | undefined;
|
|
428
316
|
style?: "normal" | "italic" | "oblique" | undefined;
|
|
429
317
|
} | undefined;
|
|
318
|
+
position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
|
|
430
319
|
textColor?: string | undefined;
|
|
431
320
|
}>, "many">]>>;
|
|
432
321
|
}, "strip", z.ZodTypeAny, {
|
|
@@ -440,9 +329,6 @@ export declare const NodeSchema: z.ZodObject<{
|
|
|
440
329
|
offset: [number, number];
|
|
441
330
|
};
|
|
442
331
|
fill?: string | undefined;
|
|
443
|
-
shape?: "diamond" | "circle" | "rectangle" | "ellipse" | undefined;
|
|
444
|
-
scale?: number | undefined;
|
|
445
|
-
opacity?: number | undefined;
|
|
446
332
|
text?: string | (string | {
|
|
447
333
|
text: string;
|
|
448
334
|
fill?: string | undefined;
|
|
@@ -454,41 +340,44 @@ export declare const NodeSchema: z.ZodObject<{
|
|
|
454
340
|
style?: "normal" | "italic" | "oblique" | undefined;
|
|
455
341
|
} | undefined;
|
|
456
342
|
})[] | undefined;
|
|
343
|
+
opacity?: number | undefined;
|
|
344
|
+
font?: {
|
|
345
|
+
family?: string | undefined;
|
|
346
|
+
size?: number | undefined;
|
|
347
|
+
weight?: number | "normal" | "bold" | undefined;
|
|
348
|
+
style?: "normal" | "italic" | "oblique" | undefined;
|
|
349
|
+
} | undefined;
|
|
350
|
+
shape?: "diamond" | "circle" | "rectangle" | "ellipse" | undefined;
|
|
351
|
+
scale?: number | undefined;
|
|
457
352
|
label?: {
|
|
458
353
|
text: string;
|
|
459
354
|
distance?: number | undefined;
|
|
460
355
|
opacity?: number | undefined;
|
|
461
|
-
position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
|
|
462
356
|
font?: {
|
|
463
357
|
family?: string | undefined;
|
|
464
358
|
size?: number | undefined;
|
|
465
359
|
weight?: number | "normal" | "bold" | undefined;
|
|
466
360
|
style?: "normal" | "italic" | "oblique" | undefined;
|
|
467
361
|
} | undefined;
|
|
362
|
+
position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
|
|
468
363
|
textColor?: string | undefined;
|
|
469
364
|
} | {
|
|
470
365
|
text: string;
|
|
471
366
|
distance?: number | undefined;
|
|
472
367
|
opacity?: number | undefined;
|
|
473
|
-
position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
|
|
474
368
|
font?: {
|
|
475
369
|
family?: string | undefined;
|
|
476
370
|
size?: number | undefined;
|
|
477
371
|
weight?: number | "normal" | "bold" | undefined;
|
|
478
372
|
style?: "normal" | "italic" | "oblique" | undefined;
|
|
479
373
|
} | undefined;
|
|
374
|
+
position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
|
|
480
375
|
textColor?: string | undefined;
|
|
481
376
|
}[] | undefined;
|
|
482
377
|
stroke?: string | undefined;
|
|
483
378
|
strokeWidth?: number | undefined;
|
|
484
379
|
fillOpacity?: number | undefined;
|
|
485
380
|
drawOpacity?: number | undefined;
|
|
486
|
-
font?: {
|
|
487
|
-
family?: string | undefined;
|
|
488
|
-
size?: number | undefined;
|
|
489
|
-
weight?: number | "normal" | "bold" | undefined;
|
|
490
|
-
style?: "normal" | "italic" | "oblique" | undefined;
|
|
491
|
-
} | undefined;
|
|
492
381
|
textColor?: string | undefined;
|
|
493
382
|
id?: string | undefined;
|
|
494
383
|
rotate?: number | undefined;
|
|
@@ -496,7 +385,7 @@ export declare const NodeSchema: z.ZodObject<{
|
|
|
496
385
|
lineHeight?: number | undefined;
|
|
497
386
|
dashed?: boolean | undefined;
|
|
498
387
|
dotted?: boolean | undefined;
|
|
499
|
-
dashArray?:
|
|
388
|
+
dashArray?: number[] | undefined;
|
|
500
389
|
roundedCorners?: number | undefined;
|
|
501
390
|
minimumWidth?: number | undefined;
|
|
502
391
|
minimumHeight?: number | undefined;
|
|
@@ -519,9 +408,6 @@ export declare const NodeSchema: z.ZodObject<{
|
|
|
519
408
|
offset: [number, number];
|
|
520
409
|
};
|
|
521
410
|
fill?: string | undefined;
|
|
522
|
-
shape?: "diamond" | "circle" | "rectangle" | "ellipse" | undefined;
|
|
523
|
-
scale?: number | undefined;
|
|
524
|
-
opacity?: number | undefined;
|
|
525
411
|
text?: string | (string | {
|
|
526
412
|
text: string;
|
|
527
413
|
fill?: string | undefined;
|
|
@@ -533,41 +419,44 @@ export declare const NodeSchema: z.ZodObject<{
|
|
|
533
419
|
style?: "normal" | "italic" | "oblique" | undefined;
|
|
534
420
|
} | undefined;
|
|
535
421
|
})[] | undefined;
|
|
422
|
+
opacity?: number | undefined;
|
|
423
|
+
font?: {
|
|
424
|
+
family?: string | undefined;
|
|
425
|
+
size?: number | undefined;
|
|
426
|
+
weight?: number | "normal" | "bold" | undefined;
|
|
427
|
+
style?: "normal" | "italic" | "oblique" | undefined;
|
|
428
|
+
} | undefined;
|
|
429
|
+
shape?: "diamond" | "circle" | "rectangle" | "ellipse" | undefined;
|
|
430
|
+
scale?: number | undefined;
|
|
536
431
|
label?: {
|
|
537
432
|
text: string;
|
|
538
433
|
distance?: number | undefined;
|
|
539
434
|
opacity?: number | undefined;
|
|
540
|
-
position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
|
|
541
435
|
font?: {
|
|
542
436
|
family?: string | undefined;
|
|
543
437
|
size?: number | undefined;
|
|
544
438
|
weight?: number | "normal" | "bold" | undefined;
|
|
545
439
|
style?: "normal" | "italic" | "oblique" | undefined;
|
|
546
440
|
} | undefined;
|
|
441
|
+
position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
|
|
547
442
|
textColor?: string | undefined;
|
|
548
443
|
} | {
|
|
549
444
|
text: string;
|
|
550
445
|
distance?: number | undefined;
|
|
551
446
|
opacity?: number | undefined;
|
|
552
|
-
position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
|
|
553
447
|
font?: {
|
|
554
448
|
family?: string | undefined;
|
|
555
449
|
size?: number | undefined;
|
|
556
450
|
weight?: number | "normal" | "bold" | undefined;
|
|
557
451
|
style?: "normal" | "italic" | "oblique" | undefined;
|
|
558
452
|
} | undefined;
|
|
453
|
+
position?: number | "above" | "below" | "left" | "right" | "above-left" | "above-right" | "below-left" | "below-right" | undefined;
|
|
559
454
|
textColor?: string | undefined;
|
|
560
455
|
}[] | undefined;
|
|
561
456
|
stroke?: string | undefined;
|
|
562
457
|
strokeWidth?: number | undefined;
|
|
563
458
|
fillOpacity?: number | undefined;
|
|
564
459
|
drawOpacity?: number | undefined;
|
|
565
|
-
font?: {
|
|
566
|
-
family?: string | undefined;
|
|
567
|
-
size?: number | undefined;
|
|
568
|
-
weight?: number | "normal" | "bold" | undefined;
|
|
569
|
-
style?: "normal" | "italic" | "oblique" | undefined;
|
|
570
|
-
} | undefined;
|
|
571
460
|
textColor?: string | undefined;
|
|
572
461
|
id?: string | undefined;
|
|
573
462
|
rotate?: number | undefined;
|
|
@@ -575,7 +464,7 @@ export declare const NodeSchema: z.ZodObject<{
|
|
|
575
464
|
lineHeight?: number | undefined;
|
|
576
465
|
dashed?: boolean | undefined;
|
|
577
466
|
dotted?: boolean | undefined;
|
|
578
|
-
dashArray?:
|
|
467
|
+
dashArray?: number[] | undefined;
|
|
579
468
|
roundedCorners?: number | undefined;
|
|
580
469
|
minimumWidth?: number | undefined;
|
|
581
470
|
minimumHeight?: number | undefined;
|
package/dist/es/ir/node.d.ts.map
CHANGED
|
@@ -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;
|
|
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;AAKxC;;;GAGG;AACH,eAAO,MAAM,WAAW;;;;;CAKd,CAAC;AAEX,gBAAgB;AAChB,MAAM,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC;AAEpD,+BAA+B;AAC/B,eAAO,MAAM,gBAAgB;;;;CAInB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE7D;;;GAGG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkCzB,CAAC;AAEJ,uBAAuB;AACvB,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAE1D,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgLpB,CAAC;AAEJ,sCAAsC;AACtC,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC"}
|
package/dist/es/ir/node.js
CHANGED
|
@@ -2,6 +2,8 @@ import { PositionSchema } from "./position/position.js";
|
|
|
2
2
|
import { PolarPositionSchema } from "./position/polar-position.js";
|
|
3
3
|
import { AT_DIRECTIONS, AtPositionSchema } from "./position/at-position.js";
|
|
4
4
|
import { OffsetPositionSchema } from "./position/offset-position.js";
|
|
5
|
+
import { FontSchema } from "./font.js";
|
|
6
|
+
import { TextBlockSchema } from "./text.js";
|
|
5
7
|
import { z } from "zod";
|
|
6
8
|
//#region src/ir/node.ts
|
|
7
9
|
/**
|
|
@@ -14,32 +16,6 @@ var NODE_SHAPES = {
|
|
|
14
16
|
ellipse: "ellipse",
|
|
15
17
|
diamond: "diamond"
|
|
16
18
|
};
|
|
17
|
-
/** 节点字体规格:family/size/weight/style 全部可选,透传 SVG `<text>` font-* 属性 */
|
|
18
|
-
var FontSchema = z.object({
|
|
19
|
-
family: z.string().optional().describe("CSS font-family string, e.g. \"serif\", \"monospace\", \"Inter, sans-serif\""),
|
|
20
|
-
size: z.number().positive().optional().describe("Font size in user units; falls back to the renderer default when omitted"),
|
|
21
|
-
weight: z.union([z.enum(["normal", "bold"]), z.number()]).optional().describe("CSS font-weight: keyword `normal` / `bold` or numeric 100..900"),
|
|
22
|
-
style: z.enum([
|
|
23
|
-
"normal",
|
|
24
|
-
"italic",
|
|
25
|
-
"oblique"
|
|
26
|
-
]).optional().describe("CSS font-style")
|
|
27
|
-
}).describe("Font properties for the node text label; all fields optional, nested object form.");
|
|
28
|
-
/**
|
|
29
|
-
* 单行文本规格:纯字符串走块级默认,对象形式可覆盖 fill/opacity/font
|
|
30
|
-
* @description 行级覆盖只生效于本行 `<tspan>`;font 子字段未填则继承块级;align/lineHeight 不可被行覆盖
|
|
31
|
-
*/
|
|
32
|
-
var LineSpecSchema = z.union([z.string(), z.object({
|
|
33
|
-
text: z.string().describe("Line content"),
|
|
34
|
-
fill: z.string().optional().describe("Per-line text color; overrides block default"),
|
|
35
|
-
opacity: z.number().min(0).max(1).optional().describe("Per-line opacity 0..1"),
|
|
36
|
-
font: FontSchema.optional().describe("Per-line font overrides; missing fields inherit from block-level `font`")
|
|
37
|
-
})]).describe("Single line of text: bare string for default styling, or an object with per-line `fill` / `opacity` / `font` overrides.");
|
|
38
|
-
/**
|
|
39
|
-
* 节点文本:单字符串或非空多行 LineSpec 数组
|
|
40
|
-
* @description 选数组而非 `\n` 字符串:JSON 友好无 escape,行级覆盖天然落字段
|
|
41
|
-
*/
|
|
42
|
-
var NodeTextSchema = z.union([z.string(), z.array(LineSpecSchema).min(1)]).describe("Text label rendered inside the node: a single string for one line, or a non-empty array of line specs (string for default, object for per-line overrides).");
|
|
43
19
|
/** 节点文本对齐(TikZ `align=` 同义) */
|
|
44
20
|
var NODE_TEXT_ALIGNS = {
|
|
45
21
|
left: "left",
|
|
@@ -48,7 +24,7 @@ var NODE_TEXT_ALIGNS = {
|
|
|
48
24
|
};
|
|
49
25
|
/**
|
|
50
26
|
* 节点附属标签 label(TikZ `[label=above:foo]` 同义)
|
|
51
|
-
* @description 可挂多个;label 不参与
|
|
27
|
+
* @description 可挂多个;label 不参与 layout。position 支持 8 方向枚举或数字角度(polar 约定:0°=+x,90°=+y 屏幕下方);默认 position='above',distance=4
|
|
52
28
|
*/
|
|
53
29
|
var NodeLabelSchema = z.object({
|
|
54
30
|
text: z.string().describe("Label text content; rendered as a single line."),
|
|
@@ -69,7 +45,7 @@ var NodeSchema = z.object({
|
|
|
69
45
|
OffsetPositionSchema
|
|
70
46
|
]).describe("Center point of the node content box; Cartesian [x, y], polar, relative-to-another-node (`at`-style with `direction` / `of` / `distance?`), or offset from a base point (`{ of, offset }` form mirroring TikZ `calc`). All non-Cartesian forms resolve at compile time."),
|
|
71
47
|
rotate: z.number().optional().describe("Rotation in degrees around the node center; positive = clockwise (matches TikZ rotate=...)"),
|
|
72
|
-
text:
|
|
48
|
+
text: TextBlockSchema.optional(),
|
|
73
49
|
align: z.nativeEnum(NODE_TEXT_ALIGNS).optional().describe("Multi-line text alignment within the text block; `left` / `center` / `right`. Defaults to `center` (matches TikZ)."),
|
|
74
50
|
lineHeight: z.number().positive().optional().describe("Line height in user units; falls back to `font.size × 1.2` when omitted."),
|
|
75
51
|
fill: z.string().optional().describe("Background color of the node shape; any CSS color (e.g. \"lightblue\", \"#fafafa\", \"rgba(...)\")"),
|
|
@@ -79,8 +55,8 @@ var NodeSchema = z.object({
|
|
|
79
55
|
strokeWidth: z.number().optional().describe("Border width in user units; defaults to 1 when omitted"),
|
|
80
56
|
dashed: z.boolean().optional().describe("Border style preset: dashed line (TikZ `dashed`); compiled to a default dash pattern. `dashArray` takes precedence."),
|
|
81
57
|
dotted: z.boolean().optional().describe("Border style preset: dotted line (TikZ `dotted`); compiled to a default dot pattern. `dashArray` and `dashed` take precedence."),
|
|
82
|
-
dashArray: z.
|
|
83
|
-
roundedCorners: z.number().nonnegative().optional().describe("Corner radius in user units; only effective on `rectangle` shape
|
|
58
|
+
dashArray: z.array(z.number().finite().nonnegative()).min(1).optional().describe("Explicit stroke dash pattern lengths in user units (e.g. [4, 2]); overrides `dashed` / `dotted`."),
|
|
59
|
+
roundedCorners: z.number().nonnegative().optional().describe("Corner radius in user units; only effective on `rectangle` shape."),
|
|
84
60
|
minimumWidth: z.number().nonnegative().optional().describe("Minimum visual border width in user units; floors the bounding box width."),
|
|
85
61
|
minimumHeight: z.number().nonnegative().optional().describe("Minimum visual border height in user units; floors the bounding box height."),
|
|
86
62
|
minimumSize: z.number().nonnegative().optional().describe("Symmetric alias for `minimumWidth` + `minimumHeight`; axis-specific fields take precedence."),
|
|
@@ -98,4 +74,4 @@ var NodeSchema = z.object({
|
|
|
98
74
|
label: z.union([NodeLabelSchema, z.array(NodeLabelSchema)]).optional().describe("Extra label(s) attached around the node border (TikZ `[label=above:foo]`); single object or array form. Compiled into one TextPrim per label, positioned by `position` direction / angle and `distance`.")
|
|
99
75
|
}).describe("Node primitive: a positioned, optionally textual shape (rectangle / circle / ellipse / diamond)");
|
|
100
76
|
//#endregion
|
|
101
|
-
export {
|
|
77
|
+
export { NODE_SHAPES, NODE_TEXT_ALIGNS, NodeLabelSchema, NodeSchema };
|
|
@@ -20,9 +20,9 @@ export type ArrowShape = ValueOf<typeof ARROW_SHAPES>;
|
|
|
20
20
|
* @description compile 与 render 都引用此表判定 fill 是否丢弃;空心 shape 用 color 主导描边、lineWidth 控描边粗
|
|
21
21
|
*/
|
|
22
22
|
export declare const HOLLOW_ARROW_SHAPES: Set<ArrowShape>;
|
|
23
|
-
/**
|
|
23
|
+
/** 箭头默认尺寸(length / width 的 fallback) */
|
|
24
24
|
export declare const ARROW_MARKER_DEFAULT_SIZE = 6;
|
|
25
|
-
/** 空心 shape 描边默认粗细(lineWidth fallback
|
|
25
|
+
/** 空心 shape 描边默认粗细(lineWidth fallback) */
|
|
26
26
|
export declare const ARROW_MARKER_HOLLOW_DEFAULT_LINE_WIDTH = 1.5;
|
|
27
27
|
/**
|
|
28
28
|
* 端点级箭头视觉规格 schema
|
|
@@ -48,20 +48,20 @@ export declare const ArrowEndDetailSchema: z.ZodObject<{
|
|
|
48
48
|
}, "strip", z.ZodTypeAny, {
|
|
49
49
|
length?: number | undefined;
|
|
50
50
|
fill?: string | undefined;
|
|
51
|
+
opacity?: number | undefined;
|
|
51
52
|
shape?: "normal" | "open" | "stealth" | "diamond" | "openDiamond" | "circle" | "openCircle" | undefined;
|
|
52
53
|
scale?: number | undefined;
|
|
53
54
|
width?: number | undefined;
|
|
54
55
|
color?: string | undefined;
|
|
55
|
-
opacity?: number | undefined;
|
|
56
56
|
lineWidth?: number | undefined;
|
|
57
57
|
}, {
|
|
58
58
|
length?: number | undefined;
|
|
59
59
|
fill?: string | undefined;
|
|
60
|
+
opacity?: number | undefined;
|
|
60
61
|
shape?: "normal" | "open" | "stealth" | "diamond" | "openDiamond" | "circle" | "openCircle" | undefined;
|
|
61
62
|
scale?: number | undefined;
|
|
62
63
|
width?: number | undefined;
|
|
63
64
|
color?: string | undefined;
|
|
64
|
-
opacity?: number | undefined;
|
|
65
65
|
lineWidth?: number | undefined;
|
|
66
66
|
}>;
|
|
67
67
|
/**
|
|
@@ -106,20 +106,20 @@ export declare const ArrowDetailSchema: z.ZodObject<{
|
|
|
106
106
|
}, "strip", z.ZodTypeAny, {
|
|
107
107
|
length?: number | undefined;
|
|
108
108
|
fill?: string | undefined;
|
|
109
|
+
opacity?: number | undefined;
|
|
109
110
|
shape?: "normal" | "open" | "stealth" | "diamond" | "openDiamond" | "circle" | "openCircle" | undefined;
|
|
110
111
|
scale?: number | undefined;
|
|
111
112
|
width?: number | undefined;
|
|
112
113
|
color?: string | undefined;
|
|
113
|
-
opacity?: number | undefined;
|
|
114
114
|
lineWidth?: number | undefined;
|
|
115
115
|
}, {
|
|
116
116
|
length?: number | undefined;
|
|
117
117
|
fill?: string | undefined;
|
|
118
|
+
opacity?: number | undefined;
|
|
118
119
|
shape?: "normal" | "open" | "stealth" | "diamond" | "openDiamond" | "circle" | "openCircle" | undefined;
|
|
119
120
|
scale?: number | undefined;
|
|
120
121
|
width?: number | undefined;
|
|
121
122
|
color?: string | undefined;
|
|
122
|
-
opacity?: number | undefined;
|
|
123
123
|
lineWidth?: number | undefined;
|
|
124
124
|
}>>;
|
|
125
125
|
end: z.ZodOptional<z.ZodObject<{
|
|
@@ -142,78 +142,78 @@ export declare const ArrowDetailSchema: z.ZodObject<{
|
|
|
142
142
|
}, "strip", z.ZodTypeAny, {
|
|
143
143
|
length?: number | undefined;
|
|
144
144
|
fill?: string | undefined;
|
|
145
|
+
opacity?: number | undefined;
|
|
145
146
|
shape?: "normal" | "open" | "stealth" | "diamond" | "openDiamond" | "circle" | "openCircle" | undefined;
|
|
146
147
|
scale?: number | undefined;
|
|
147
148
|
width?: number | undefined;
|
|
148
149
|
color?: string | undefined;
|
|
149
|
-
opacity?: number | undefined;
|
|
150
150
|
lineWidth?: number | undefined;
|
|
151
151
|
}, {
|
|
152
152
|
length?: number | undefined;
|
|
153
153
|
fill?: string | undefined;
|
|
154
|
+
opacity?: number | undefined;
|
|
154
155
|
shape?: "normal" | "open" | "stealth" | "diamond" | "openDiamond" | "circle" | "openCircle" | undefined;
|
|
155
156
|
scale?: number | undefined;
|
|
156
157
|
width?: number | undefined;
|
|
157
158
|
color?: string | undefined;
|
|
158
|
-
opacity?: number | undefined;
|
|
159
159
|
lineWidth?: number | undefined;
|
|
160
160
|
}>>;
|
|
161
161
|
}, "strip", z.ZodTypeAny, {
|
|
162
162
|
length?: number | undefined;
|
|
163
163
|
fill?: string | undefined;
|
|
164
|
+
opacity?: number | undefined;
|
|
164
165
|
shape?: "normal" | "open" | "stealth" | "diamond" | "openDiamond" | "circle" | "openCircle" | undefined;
|
|
165
166
|
scale?: number | undefined;
|
|
166
167
|
width?: number | undefined;
|
|
167
168
|
color?: string | undefined;
|
|
168
|
-
opacity?: number | undefined;
|
|
169
169
|
lineWidth?: number | undefined;
|
|
170
170
|
start?: {
|
|
171
171
|
length?: number | undefined;
|
|
172
172
|
fill?: string | undefined;
|
|
173
|
+
opacity?: number | undefined;
|
|
173
174
|
shape?: "normal" | "open" | "stealth" | "diamond" | "openDiamond" | "circle" | "openCircle" | undefined;
|
|
174
175
|
scale?: number | undefined;
|
|
175
176
|
width?: number | undefined;
|
|
176
177
|
color?: string | undefined;
|
|
177
|
-
opacity?: number | undefined;
|
|
178
178
|
lineWidth?: number | undefined;
|
|
179
179
|
} | undefined;
|
|
180
180
|
end?: {
|
|
181
181
|
length?: number | undefined;
|
|
182
182
|
fill?: string | undefined;
|
|
183
|
+
opacity?: number | undefined;
|
|
183
184
|
shape?: "normal" | "open" | "stealth" | "diamond" | "openDiamond" | "circle" | "openCircle" | undefined;
|
|
184
185
|
scale?: number | undefined;
|
|
185
186
|
width?: number | undefined;
|
|
186
187
|
color?: string | undefined;
|
|
187
|
-
opacity?: number | undefined;
|
|
188
188
|
lineWidth?: number | undefined;
|
|
189
189
|
} | undefined;
|
|
190
190
|
}, {
|
|
191
191
|
length?: number | undefined;
|
|
192
192
|
fill?: string | undefined;
|
|
193
|
+
opacity?: number | undefined;
|
|
193
194
|
shape?: "normal" | "open" | "stealth" | "diamond" | "openDiamond" | "circle" | "openCircle" | undefined;
|
|
194
195
|
scale?: number | undefined;
|
|
195
196
|
width?: number | undefined;
|
|
196
197
|
color?: string | undefined;
|
|
197
|
-
opacity?: number | undefined;
|
|
198
198
|
lineWidth?: number | undefined;
|
|
199
199
|
start?: {
|
|
200
200
|
length?: number | undefined;
|
|
201
201
|
fill?: string | undefined;
|
|
202
|
+
opacity?: number | undefined;
|
|
202
203
|
shape?: "normal" | "open" | "stealth" | "diamond" | "openDiamond" | "circle" | "openCircle" | undefined;
|
|
203
204
|
scale?: number | undefined;
|
|
204
205
|
width?: number | undefined;
|
|
205
206
|
color?: string | undefined;
|
|
206
|
-
opacity?: number | undefined;
|
|
207
207
|
lineWidth?: number | undefined;
|
|
208
208
|
} | undefined;
|
|
209
209
|
end?: {
|
|
210
210
|
length?: number | undefined;
|
|
211
211
|
fill?: string | undefined;
|
|
212
|
+
opacity?: number | undefined;
|
|
212
213
|
shape?: "normal" | "open" | "stealth" | "diamond" | "openDiamond" | "circle" | "openCircle" | undefined;
|
|
213
214
|
scale?: number | undefined;
|
|
214
215
|
width?: number | undefined;
|
|
215
216
|
color?: string | undefined;
|
|
216
|
-
opacity?: number | undefined;
|
|
217
217
|
lineWidth?: number | undefined;
|
|
218
218
|
} | undefined;
|
|
219
219
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arrow.d.ts","sourceRoot":"","sources":["../../../../src/ir/path/arrow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C;;;GAGG;AACH,eAAO,MAAM,YAAY;;;;;;;;CAQf,CAAC;AAEX,gBAAgB;AAChB,MAAM,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,YAAY,CAAC,CAAC;AAEtD;;;GAGG;AACH,eAAO,MAAM,mBAAmB,iBAA6D,CAAC;AAE9F,
|
|
1
|
+
{"version":3,"file":"arrow.d.ts","sourceRoot":"","sources":["../../../../src/ir/path/arrow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C;;;GAGG;AACH,eAAO,MAAM,YAAY;;;;;;;;CAQf,CAAC;AAEX,gBAAgB;AAChB,MAAM,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,YAAY,CAAC,CAAC;AAEtD;;;GAGG;AACH,eAAO,MAAM,mBAAmB,iBAA6D,CAAC;AAE9F,wCAAwC;AACxC,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAE3C,0CAA0C;AAC1C,eAAO,MAAM,sCAAsC,MAAM,CAAC;AAE1D;;;GAGG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2D9B,CAAC;AAEJ;;;GAGG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAS7B,CAAC;AAEF,gBAAgB;AAChB,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AACpE,mBAAmB;AACnB,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
|
package/dist/es/ir/path/arrow.js
CHANGED
|
@@ -22,9 +22,9 @@ var HOLLOW_ARROW_SHAPES = new Set([
|
|
|
22
22
|
"openDiamond",
|
|
23
23
|
"openCircle"
|
|
24
24
|
]);
|
|
25
|
-
/**
|
|
25
|
+
/** 箭头默认尺寸(length / width 的 fallback) */
|
|
26
26
|
var ARROW_MARKER_DEFAULT_SIZE = 6;
|
|
27
|
-
/** 空心 shape 描边默认粗细(lineWidth fallback
|
|
27
|
+
/** 空心 shape 描边默认粗细(lineWidth fallback) */
|
|
28
28
|
var ARROW_MARKER_HOLLOW_DEFAULT_LINE_WIDTH = 1.5;
|
|
29
29
|
/**
|
|
30
30
|
* 端点级箭头视觉规格 schema
|
|
@@ -33,9 +33,9 @@ var ARROW_MARKER_HOLLOW_DEFAULT_LINE_WIDTH = 1.5;
|
|
|
33
33
|
var ArrowEndDetailSchema = z.object({
|
|
34
34
|
shape: z.nativeEnum(ARROW_SHAPES).optional().describe("Arrow tip shape. Defaults to `normal` (filled triangle). Other values: `open` (hollow triangle), `stealth` (sharp barb), `diamond`, `openDiamond`, `circle`, `openCircle`."),
|
|
35
35
|
scale: z.number().positive().optional().describe("Uniform tip scale factor; multiplies `length` and `width` (e.g. `length=10, scale=1.5` → effective 15). Defaults to 1."),
|
|
36
|
-
length: z.number().nonnegative().optional().describe("Tip length in user units (the dimension along the path direction). Defaults to ~6
|
|
37
|
-
width: z.number().nonnegative().optional().describe("Tip width in user units (perpendicular to the path). Defaults to ~6
|
|
38
|
-
color: z.string().optional().describe("Stroke color override. When omitted, the
|
|
36
|
+
length: z.number().nonnegative().optional().describe("Tip length in user units (the dimension along the path direction). Defaults to ~6."),
|
|
37
|
+
width: z.number().nonnegative().optional().describe("Tip width in user units (perpendicular to the path). Defaults to ~6."),
|
|
38
|
+
color: z.string().optional().describe("Stroke color override. When omitted, the renderer should inherit the path stroke."),
|
|
39
39
|
fill: z.string().optional().describe("Fill color override (effective only on solid shapes). Hollow shapes (`open` / `openDiamond` / `openCircle`) silently ignore this field — `color` drives the stroke."),
|
|
40
40
|
opacity: z.number().min(0).max(1).optional().describe("Arrow opacity 0..1, independent from the path opacity. When omitted, inherits the path opacity."),
|
|
41
41
|
lineWidth: z.number().nonnegative().optional().describe("Stroke width for hollow shapes (user units). Defaults to 1.5. Solid shapes ignore this field.")
|