@retikz/core 0.2.0-alpha.6 → 0.2.0-alpha.8
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/arrows/index.d.ts +13 -0
- package/dist/es/arrows/index.d.ts.map +1 -0
- package/dist/es/arrows/index.js +118 -0
- package/dist/es/arrows/types.d.ts +43 -0
- package/dist/es/arrows/types.d.ts.map +1 -0
- package/dist/es/compile/compile.d.ts +26 -1
- package/dist/es/compile/compile.d.ts.map +1 -1
- package/dist/es/compile/compile.js +37 -4
- package/dist/es/compile/marker-prim.d.ts +22 -0
- package/dist/es/compile/marker-prim.d.ts.map +1 -0
- package/dist/es/compile/marker-prim.js +63 -0
- package/dist/es/compile/node.d.ts +19 -4
- package/dist/es/compile/node.d.ts.map +1 -1
- package/dist/es/compile/node.js +159 -29
- package/dist/es/compile/paint.d.ts +21 -0
- package/dist/es/compile/paint.d.ts.map +1 -0
- package/dist/es/compile/paint.js +94 -0
- package/dist/es/compile/path/index.d.ts +18 -0
- package/dist/es/compile/path/index.d.ts.map +1 -1
- package/dist/es/compile/path/index.js +260 -11
- package/dist/es/compile/path/relative.d.ts.map +1 -1
- package/dist/es/compile/path/relative.js +8 -0
- package/dist/es/compile/path/shrink.d.ts +19 -6
- package/dist/es/compile/path/shrink.d.ts.map +1 -1
- package/dist/es/compile/path/shrink.js +147 -25
- package/dist/es/geometry/bend.d.ts +7 -0
- package/dist/es/geometry/bend.d.ts.map +1 -1
- package/dist/es/geometry/bend.js +26 -1
- package/dist/es/index.d.ts +14 -4
- package/dist/es/index.d.ts.map +1 -1
- package/dist/es/index.js +7 -2
- package/dist/es/ir/index.d.ts +2 -0
- package/dist/es/ir/index.d.ts.map +1 -1
- package/dist/es/ir/json.d.ts +22 -0
- package/dist/es/ir/json.d.ts.map +1 -0
- package/dist/es/ir/json.js +25 -0
- package/dist/es/ir/node.d.ts +262 -9
- package/dist/es/ir/node.d.ts.map +1 -1
- package/dist/es/ir/node.js +9 -2
- package/dist/es/ir/paint.d.ts +154 -0
- package/dist/es/ir/paint.d.ts.map +1 -0
- package/dist/es/ir/paint.js +59 -0
- package/dist/es/ir/path/arrow.d.ts +52 -72
- 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 +637 -87
- package/dist/es/ir/path/path.d.ts.map +1 -1
- package/dist/es/ir/path/path.js +23 -2
- package/dist/es/ir/path/step.d.ts +363 -8
- package/dist/es/ir/path/step.d.ts.map +1 -1
- package/dist/es/ir/path/step.js +17 -4
- package/dist/es/ir/scope.d.ts +1874 -338
- package/dist/es/ir/scope.d.ts.map +1 -1
- package/dist/es/ir/scope.js +2 -1
- package/dist/es/pathGenerators/define.d.ts +16 -0
- package/dist/es/pathGenerators/define.d.ts.map +1 -0
- package/dist/es/pathGenerators/define.js +23 -0
- package/dist/es/pathGenerators/index.d.ts +9 -0
- package/dist/es/pathGenerators/index.d.ts.map +1 -0
- package/dist/es/pathGenerators/types.d.ts +45 -0
- package/dist/es/pathGenerators/types.d.ts.map +1 -0
- package/dist/es/patterns/index.d.ts +10 -0
- package/dist/es/patterns/index.d.ts.map +1 -0
- package/dist/es/patterns/index.js +83 -0
- package/dist/es/patterns/types.d.ts +38 -0
- package/dist/es/patterns/types.d.ts.map +1 -0
- package/dist/es/primitive/ellipse.d.ts +3 -5
- package/dist/es/primitive/ellipse.d.ts.map +1 -1
- package/dist/es/primitive/index.d.ts +1 -0
- package/dist/es/primitive/index.d.ts.map +1 -1
- package/dist/es/primitive/marker.d.ts +160 -0
- package/dist/es/primitive/marker.d.ts.map +1 -0
- package/dist/es/primitive/paint.d.ts +46 -0
- package/dist/es/primitive/paint.d.ts.map +1 -0
- package/dist/es/primitive/path.d.ts +25 -20
- package/dist/es/primitive/path.d.ts.map +1 -1
- package/dist/es/primitive/rect.d.ts +3 -2
- package/dist/es/primitive/rect.d.ts.map +1 -1
- package/dist/es/primitive/scene.d.ts +4 -0
- package/dist/es/primitive/scene.d.ts.map +1 -1
- package/dist/es/shapes/types.d.ts +2 -2
- package/dist/es/shapes/types.d.ts.map +1 -1
- package/dist/lib/arrows/index.cjs +118 -0
- package/dist/lib/arrows/index.d.ts +13 -0
- package/dist/lib/arrows/index.d.ts.map +1 -0
- package/dist/lib/arrows/types.d.ts +43 -0
- package/dist/lib/arrows/types.d.ts.map +1 -0
- package/dist/lib/compile/compile.cjs +38 -5
- package/dist/lib/compile/compile.d.ts +26 -1
- package/dist/lib/compile/compile.d.ts.map +1 -1
- package/dist/lib/compile/marker-prim.cjs +63 -0
- package/dist/lib/compile/marker-prim.d.ts +22 -0
- package/dist/lib/compile/marker-prim.d.ts.map +1 -0
- package/dist/lib/compile/node.cjs +159 -28
- package/dist/lib/compile/node.d.ts +19 -4
- package/dist/lib/compile/node.d.ts.map +1 -1
- package/dist/lib/compile/paint.cjs +94 -0
- package/dist/lib/compile/paint.d.ts +21 -0
- package/dist/lib/compile/paint.d.ts.map +1 -0
- package/dist/lib/compile/path/index.cjs +258 -9
- package/dist/lib/compile/path/index.d.ts +18 -0
- package/dist/lib/compile/path/index.d.ts.map +1 -1
- package/dist/lib/compile/path/relative.cjs +8 -0
- package/dist/lib/compile/path/relative.d.ts.map +1 -1
- package/dist/lib/compile/path/shrink.cjs +147 -25
- package/dist/lib/compile/path/shrink.d.ts +19 -6
- package/dist/lib/compile/path/shrink.d.ts.map +1 -1
- package/dist/lib/geometry/bend.cjs +26 -0
- package/dist/lib/geometry/bend.d.ts +7 -0
- package/dist/lib/geometry/bend.d.ts.map +1 -1
- package/dist/lib/index.cjs +14 -0
- package/dist/lib/index.d.ts +14 -4
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/ir/index.d.ts +2 -0
- package/dist/lib/ir/index.d.ts.map +1 -1
- package/dist/lib/ir/json.cjs +26 -0
- package/dist/lib/ir/json.d.ts +22 -0
- package/dist/lib/ir/json.d.ts.map +1 -0
- package/dist/lib/ir/node.cjs +9 -2
- package/dist/lib/ir/node.d.ts +262 -9
- package/dist/lib/ir/node.d.ts.map +1 -1
- package/dist/lib/ir/paint.cjs +61 -0
- package/dist/lib/ir/paint.d.ts +154 -0
- package/dist/lib/ir/paint.d.ts.map +1 -0
- package/dist/lib/ir/path/arrow.cjs +5 -5
- package/dist/lib/ir/path/arrow.d.ts +52 -72
- package/dist/lib/ir/path/arrow.d.ts.map +1 -1
- package/dist/lib/ir/path/path.cjs +22 -1
- package/dist/lib/ir/path/path.d.ts +637 -87
- package/dist/lib/ir/path/path.d.ts.map +1 -1
- package/dist/lib/ir/path/step.cjs +17 -3
- package/dist/lib/ir/path/step.d.ts +363 -8
- package/dist/lib/ir/path/step.d.ts.map +1 -1
- package/dist/lib/ir/scope.cjs +2 -1
- package/dist/lib/ir/scope.d.ts +1874 -338
- package/dist/lib/ir/scope.d.ts.map +1 -1
- package/dist/lib/pathGenerators/define.cjs +23 -0
- package/dist/lib/pathGenerators/define.d.ts +16 -0
- package/dist/lib/pathGenerators/define.d.ts.map +1 -0
- package/dist/lib/pathGenerators/index.d.ts +9 -0
- package/dist/lib/pathGenerators/index.d.ts.map +1 -0
- package/dist/lib/pathGenerators/types.d.ts +45 -0
- package/dist/lib/pathGenerators/types.d.ts.map +1 -0
- package/dist/lib/patterns/index.cjs +83 -0
- package/dist/lib/patterns/index.d.ts +10 -0
- package/dist/lib/patterns/index.d.ts.map +1 -0
- package/dist/lib/patterns/types.d.ts +38 -0
- package/dist/lib/patterns/types.d.ts.map +1 -0
- package/dist/lib/primitive/ellipse.d.ts +3 -5
- package/dist/lib/primitive/ellipse.d.ts.map +1 -1
- package/dist/lib/primitive/index.d.ts +1 -0
- package/dist/lib/primitive/index.d.ts.map +1 -1
- package/dist/lib/primitive/marker.d.ts +160 -0
- package/dist/lib/primitive/marker.d.ts.map +1 -0
- package/dist/lib/primitive/paint.d.ts +46 -0
- package/dist/lib/primitive/paint.d.ts.map +1 -0
- package/dist/lib/primitive/path.d.ts +25 -20
- package/dist/lib/primitive/path.d.ts.map +1 -1
- package/dist/lib/primitive/rect.d.ts +3 -2
- package/dist/lib/primitive/rect.d.ts.map +1 -1
- package/dist/lib/primitive/scene.d.ts +4 -0
- package/dist/lib/primitive/scene.d.ts.map +1 -1
- package/dist/lib/shapes/types.d.ts +2 -2
- package/dist/lib/shapes/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/es/compile/path/arrow-geometry.d.ts +0 -22
- package/dist/es/compile/path/arrow-geometry.d.ts.map +0 -1
- package/dist/es/compile/path/arrow-geometry.js +0 -40
- package/dist/lib/compile/path/arrow-geometry.cjs +0 -41
- package/dist/lib/compile/path/arrow-geometry.d.ts +0 -22
- package/dist/lib/compile/path/arrow-geometry.d.ts.map +0 -1
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { ValueOf } from '../types';
|
|
3
|
+
/**
|
|
4
|
+
* 内置 pattern motif 名常量(用 const + ValueOf 派生,不用 TS enum)
|
|
5
|
+
* @description 内置 3 motif:`lines`(横向阴影线)/ `dots`(波点)/ `grid`(横竖网格)。
|
|
6
|
+
* 各 motif 的 tile 几何由 `BUILTIN_PATTERNS` 的 `PatternDefinition.emit` 在 compile 期产出。
|
|
7
|
+
*/
|
|
8
|
+
export declare const PATTERN_SHAPES: {
|
|
9
|
+
readonly lines: "lines";
|
|
10
|
+
readonly dots: "dots";
|
|
11
|
+
readonly grid: "grid";
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* 内置 3 pattern motif 名联合
|
|
15
|
+
* @description `BUILTIN_PATTERNS` 的 Record key(保穷尽性约束,不随 `PatternShapeName` 开放而退化为 `string`)
|
|
16
|
+
*/
|
|
17
|
+
export type BuiltinPatternName = ValueOf<typeof PATTERN_SHAPES>;
|
|
18
|
+
/**
|
|
19
|
+
* pattern motif 名:开放字符串
|
|
20
|
+
* @description 内置 `BuiltinPatternName`,或经 `CompileOptions.patterns` 注册的扩展 motif 名;
|
|
21
|
+
* `& {}` 让 IDE 仍对内置 3 名自动补全,同时接受任意非空字符串
|
|
22
|
+
*/
|
|
23
|
+
export type PatternShapeName = BuiltinPatternName | (string & {});
|
|
24
|
+
/**
|
|
25
|
+
* 渐变 stop:位置 + 颜色 + 可选透明度
|
|
26
|
+
* @description offset 0..1(沿渐变轴的位置);color 任意 CSS 颜色(含 `currentColor` 主题反应);opacity 0..1。
|
|
27
|
+
*/
|
|
28
|
+
export declare const GradientStopSchema: z.ZodObject<{
|
|
29
|
+
offset: z.ZodNumber;
|
|
30
|
+
color: z.ZodString;
|
|
31
|
+
opacity: z.ZodOptional<z.ZodNumber>;
|
|
32
|
+
}, "strip", z.ZodTypeAny, {
|
|
33
|
+
offset: number;
|
|
34
|
+
color: string;
|
|
35
|
+
opacity?: number | undefined;
|
|
36
|
+
}, {
|
|
37
|
+
offset: number;
|
|
38
|
+
color: string;
|
|
39
|
+
opacity?: number | undefined;
|
|
40
|
+
}>;
|
|
41
|
+
/**
|
|
42
|
+
* Paint server 规格(渐变 / 图案 / 图片);纯色仍是 `fill` / `stroke` 上的 string,不进此 schema
|
|
43
|
+
* @description 四种 paint server:linear / radial gradient、pattern(图案)、image(图片)。纯 JSON 形态,保 IR 可序列化。
|
|
44
|
+
* linear 方向用 `angle`(度,polar 约定:0°=+x,90°=+y 屏幕下);radial 的 `center` / `radius` 用 objectBoundingBox(0..1,随形状缩放)。
|
|
45
|
+
*/
|
|
46
|
+
export declare const PaintSpecSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
|
|
47
|
+
type: z.ZodLiteral<"linearGradient">;
|
|
48
|
+
stops: z.ZodArray<z.ZodObject<{
|
|
49
|
+
offset: z.ZodNumber;
|
|
50
|
+
color: z.ZodString;
|
|
51
|
+
opacity: z.ZodOptional<z.ZodNumber>;
|
|
52
|
+
}, "strip", z.ZodTypeAny, {
|
|
53
|
+
offset: number;
|
|
54
|
+
color: string;
|
|
55
|
+
opacity?: number | undefined;
|
|
56
|
+
}, {
|
|
57
|
+
offset: number;
|
|
58
|
+
color: string;
|
|
59
|
+
opacity?: number | undefined;
|
|
60
|
+
}>, "many">;
|
|
61
|
+
angle: z.ZodOptional<z.ZodNumber>;
|
|
62
|
+
}, "strip", z.ZodTypeAny, {
|
|
63
|
+
type: "linearGradient";
|
|
64
|
+
stops: {
|
|
65
|
+
offset: number;
|
|
66
|
+
color: string;
|
|
67
|
+
opacity?: number | undefined;
|
|
68
|
+
}[];
|
|
69
|
+
angle?: number | undefined;
|
|
70
|
+
}, {
|
|
71
|
+
type: "linearGradient";
|
|
72
|
+
stops: {
|
|
73
|
+
offset: number;
|
|
74
|
+
color: string;
|
|
75
|
+
opacity?: number | undefined;
|
|
76
|
+
}[];
|
|
77
|
+
angle?: number | undefined;
|
|
78
|
+
}>, z.ZodObject<{
|
|
79
|
+
type: z.ZodLiteral<"radialGradient">;
|
|
80
|
+
stops: z.ZodArray<z.ZodObject<{
|
|
81
|
+
offset: z.ZodNumber;
|
|
82
|
+
color: z.ZodString;
|
|
83
|
+
opacity: z.ZodOptional<z.ZodNumber>;
|
|
84
|
+
}, "strip", z.ZodTypeAny, {
|
|
85
|
+
offset: number;
|
|
86
|
+
color: string;
|
|
87
|
+
opacity?: number | undefined;
|
|
88
|
+
}, {
|
|
89
|
+
offset: number;
|
|
90
|
+
color: string;
|
|
91
|
+
opacity?: number | undefined;
|
|
92
|
+
}>, "many">;
|
|
93
|
+
center: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
|
|
94
|
+
radius: z.ZodOptional<z.ZodNumber>;
|
|
95
|
+
}, "strip", z.ZodTypeAny, {
|
|
96
|
+
type: "radialGradient";
|
|
97
|
+
stops: {
|
|
98
|
+
offset: number;
|
|
99
|
+
color: string;
|
|
100
|
+
opacity?: number | undefined;
|
|
101
|
+
}[];
|
|
102
|
+
radius?: number | undefined;
|
|
103
|
+
center?: [number, number] | undefined;
|
|
104
|
+
}, {
|
|
105
|
+
type: "radialGradient";
|
|
106
|
+
stops: {
|
|
107
|
+
offset: number;
|
|
108
|
+
color: string;
|
|
109
|
+
opacity?: number | undefined;
|
|
110
|
+
}[];
|
|
111
|
+
radius?: number | undefined;
|
|
112
|
+
center?: [number, number] | undefined;
|
|
113
|
+
}>, z.ZodObject<{
|
|
114
|
+
type: z.ZodLiteral<"pattern">;
|
|
115
|
+
shape: z.ZodString;
|
|
116
|
+
color: z.ZodOptional<z.ZodString>;
|
|
117
|
+
background: z.ZodOptional<z.ZodString>;
|
|
118
|
+
size: z.ZodOptional<z.ZodNumber>;
|
|
119
|
+
lineWidth: z.ZodOptional<z.ZodNumber>;
|
|
120
|
+
rotation: z.ZodOptional<z.ZodNumber>;
|
|
121
|
+
}, "strip", z.ZodTypeAny, {
|
|
122
|
+
type: "pattern";
|
|
123
|
+
shape: string;
|
|
124
|
+
size?: number | undefined;
|
|
125
|
+
color?: string | undefined;
|
|
126
|
+
background?: string | undefined;
|
|
127
|
+
lineWidth?: number | undefined;
|
|
128
|
+
rotation?: number | undefined;
|
|
129
|
+
}, {
|
|
130
|
+
type: "pattern";
|
|
131
|
+
shape: string;
|
|
132
|
+
size?: number | undefined;
|
|
133
|
+
color?: string | undefined;
|
|
134
|
+
background?: string | undefined;
|
|
135
|
+
lineWidth?: number | undefined;
|
|
136
|
+
rotation?: number | undefined;
|
|
137
|
+
}>, z.ZodObject<{
|
|
138
|
+
type: z.ZodLiteral<"image">;
|
|
139
|
+
href: z.ZodString;
|
|
140
|
+
fit: z.ZodOptional<z.ZodEnum<["fill", "contain", "cover"]>>;
|
|
141
|
+
}, "strip", z.ZodTypeAny, {
|
|
142
|
+
type: "image";
|
|
143
|
+
href: string;
|
|
144
|
+
fit?: "fill" | "contain" | "cover" | undefined;
|
|
145
|
+
}, {
|
|
146
|
+
type: "image";
|
|
147
|
+
href: string;
|
|
148
|
+
fit?: "fill" | "contain" | "cover" | undefined;
|
|
149
|
+
}>]>;
|
|
150
|
+
/** 渐变 stop 类型 */
|
|
151
|
+
export type IRGradientStop = z.infer<typeof GradientStopSchema>;
|
|
152
|
+
/** Paint server 规格类型(渐变 / 图案 / 图片) */
|
|
153
|
+
export type IRPaintSpec = z.infer<typeof PaintSpecSchema>;
|
|
154
|
+
//# sourceMappingURL=paint.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paint.d.ts","sourceRoot":"","sources":["../../../src/ir/paint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAExC;;;;GAIG;AACH,eAAO,MAAM,cAAc;;;;CAIjB,CAAC;AAEX;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,OAAO,cAAc,CAAC,CAAC;AAEhE;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,kBAAkB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAElE;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;EAMY,CAAC;AAE5C;;;;GAIG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAsEwF,CAAC;AAErH,iBAAiB;AACjB,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAChE,sCAAsC;AACtC,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
//#region src/ir/paint.ts
|
|
3
|
+
/**
|
|
4
|
+
* 内置 pattern motif 名常量(用 const + ValueOf 派生,不用 TS enum)
|
|
5
|
+
* @description 内置 3 motif:`lines`(横向阴影线)/ `dots`(波点)/ `grid`(横竖网格)。
|
|
6
|
+
* 各 motif 的 tile 几何由 `BUILTIN_PATTERNS` 的 `PatternDefinition.emit` 在 compile 期产出。
|
|
7
|
+
*/
|
|
8
|
+
var PATTERN_SHAPES = {
|
|
9
|
+
lines: "lines",
|
|
10
|
+
dots: "dots",
|
|
11
|
+
grid: "grid"
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* 渐变 stop:位置 + 颜色 + 可选透明度
|
|
15
|
+
* @description offset 0..1(沿渐变轴的位置);color 任意 CSS 颜色(含 `currentColor` 主题反应);opacity 0..1。
|
|
16
|
+
*/
|
|
17
|
+
var GradientStopSchema = z.object({
|
|
18
|
+
offset: z.number().min(0).max(1).describe("Stop position along the gradient axis, 0..1"),
|
|
19
|
+
color: z.string().describe("Any CSS color (e.g. \"#08f\", \"navy\", \"currentColor\")"),
|
|
20
|
+
opacity: z.number().min(0).max(1).optional().describe("Stop opacity 0..1; omitted = fully opaque")
|
|
21
|
+
}).describe("A single gradient color stop");
|
|
22
|
+
/**
|
|
23
|
+
* Paint server 规格(渐变 / 图案 / 图片);纯色仍是 `fill` / `stroke` 上的 string,不进此 schema
|
|
24
|
+
* @description 四种 paint server:linear / radial gradient、pattern(图案)、image(图片)。纯 JSON 形态,保 IR 可序列化。
|
|
25
|
+
* linear 方向用 `angle`(度,polar 约定:0°=+x,90°=+y 屏幕下);radial 的 `center` / `radius` 用 objectBoundingBox(0..1,随形状缩放)。
|
|
26
|
+
*/
|
|
27
|
+
var PaintSpecSchema = z.discriminatedUnion("type", [
|
|
28
|
+
z.object({
|
|
29
|
+
type: z.literal("linearGradient"),
|
|
30
|
+
stops: z.array(GradientStopSchema).min(2).describe("Gradient stops, at least 2"),
|
|
31
|
+
angle: z.number().finite().optional().describe("Gradient direction in degrees (polar convention; 0°=+x, 90°=+y screen-down); omitted = renderer default (left→right)")
|
|
32
|
+
}).describe("Linear gradient paint server"),
|
|
33
|
+
z.object({
|
|
34
|
+
type: z.literal("radialGradient"),
|
|
35
|
+
stops: z.array(GradientStopSchema).min(2).describe("Gradient stops, at least 2"),
|
|
36
|
+
center: z.tuple([z.number().finite(), z.number().finite()]).optional().describe("Center in objectBoundingBox units (0..1 relative to the filled shape); omitted = (0.5, 0.5)"),
|
|
37
|
+
radius: z.number().finite().positive().optional().describe("Radius in objectBoundingBox units (0..1); omitted = 0.5")
|
|
38
|
+
}).describe("Radial gradient paint server"),
|
|
39
|
+
z.object({
|
|
40
|
+
type: z.literal("pattern"),
|
|
41
|
+
shape: z.string().min(1).describe("Registered pattern motif name; built-in `lines` (hatching) / `dots` / `grid` (crosshatch), or an extension motif registered via `CompileOptions.patterns`. Any non-empty string passes schema validation; unregistered names are rejected at compile time."),
|
|
42
|
+
color: z.string().optional().describe("Motif color; any CSS color, defaults to `currentColor`"),
|
|
43
|
+
background: z.string().optional().describe("Tile background fill; omitted = transparent"),
|
|
44
|
+
size: z.number().finite().positive().optional().describe("Tile period in user units (line gap / dot spacing); default 8"),
|
|
45
|
+
lineWidth: z.number().finite().positive().optional().describe("Line / grid stroke width; for dots, drives the dot radius. Default 1 (dots default to size/5)"),
|
|
46
|
+
rotation: z.number().finite().optional().describe("Rotate the whole pattern, in degrees")
|
|
47
|
+
}).describe("Pattern paint server (hatching / dots / grid)"),
|
|
48
|
+
z.object({
|
|
49
|
+
type: z.literal("image"),
|
|
50
|
+
href: z.string().min(1).describe("Image URL (http(s) or data URI)"),
|
|
51
|
+
fit: z.enum([
|
|
52
|
+
"fill",
|
|
53
|
+
"contain",
|
|
54
|
+
"cover"
|
|
55
|
+
]).optional().describe("How the image maps to the shape: `fill` (stretch) / `contain` / `cover`. Default `cover`")
|
|
56
|
+
}).describe("Image paint server (fills the shape with an image)")
|
|
57
|
+
]).describe("Paint server spec: gradient / pattern / image. Solid color stays a plain string on `fill` / `stroke`.");
|
|
58
|
+
//#endregion
|
|
59
|
+
export { GradientStopSchema, PATTERN_SHAPES, PaintSpecSchema };
|
|
@@ -15,6 +15,18 @@ export declare const ARROW_SHAPES: {
|
|
|
15
15
|
};
|
|
16
16
|
/** 箭头形状字面量类型 */
|
|
17
17
|
export type ArrowShape = ValueOf<typeof ARROW_SHAPES>;
|
|
18
|
+
/**
|
|
19
|
+
* 内置 7 箭头名联合
|
|
20
|
+
* @description `BUILTIN_ARROWS` 的 Record key(保穷尽性约束,不随 `ArrowShapeName` 开放而退化为 `string`);
|
|
21
|
+
* 等价于历史 `ArrowShape`,独立命名对齐 `node.ts` 的 `BuiltinShapeName` 范式
|
|
22
|
+
*/
|
|
23
|
+
export type BuiltinArrowName = ValueOf<typeof ARROW_SHAPES>;
|
|
24
|
+
/**
|
|
25
|
+
* 箭头形状名:开放字符串
|
|
26
|
+
* @description 内置 `BuiltinArrowName`,或经 `CompileOptions.arrows` 注册的扩展箭头名;
|
|
27
|
+
* `& {}` 让 IDE 仍对内置 7 名自动补全,同时接受任意非空字符串(对齐 `node.ts` 的 `NodeShape`)
|
|
28
|
+
*/
|
|
29
|
+
export type ArrowShapeName = BuiltinArrowName | (string & {});
|
|
18
30
|
/** 箭头默认形状 */
|
|
19
31
|
export declare const DEFAULT_ARROW_SHAPE: "stealth";
|
|
20
32
|
/**
|
|
@@ -31,15 +43,7 @@ export declare const ARROW_MARKER_HOLLOW_DEFAULT_LINE_WIDTH = 1.5;
|
|
|
31
43
|
* @description 顶层 8 字段全 optional;fill 在空心 shape 上 silent no-op(schema 不拒绝、compile/render 丢字段);start/end 子对象用相同字段集(无 start/end 递归)
|
|
32
44
|
*/
|
|
33
45
|
export declare const ArrowEndDetailSchema: z.ZodObject<{
|
|
34
|
-
shape: z.ZodOptional<z.
|
|
35
|
-
readonly normal: "normal";
|
|
36
|
-
readonly open: "open";
|
|
37
|
-
readonly stealth: "stealth";
|
|
38
|
-
readonly diamond: "diamond";
|
|
39
|
-
readonly openDiamond: "openDiamond";
|
|
40
|
-
readonly circle: "circle";
|
|
41
|
-
readonly openCircle: "openCircle";
|
|
42
|
-
}>>;
|
|
46
|
+
shape: z.ZodOptional<z.ZodString>;
|
|
43
47
|
scale: z.ZodOptional<z.ZodNumber>;
|
|
44
48
|
length: z.ZodOptional<z.ZodNumber>;
|
|
45
49
|
width: z.ZodOptional<z.ZodNumber>;
|
|
@@ -50,36 +54,28 @@ export declare const ArrowEndDetailSchema: z.ZodObject<{
|
|
|
50
54
|
}, "strip", z.ZodTypeAny, {
|
|
51
55
|
length?: number | undefined;
|
|
52
56
|
fill?: string | undefined;
|
|
57
|
+
color?: string | undefined;
|
|
53
58
|
opacity?: number | undefined;
|
|
54
|
-
shape?:
|
|
59
|
+
shape?: string | undefined;
|
|
60
|
+
lineWidth?: number | undefined;
|
|
55
61
|
scale?: number | undefined;
|
|
56
62
|
width?: number | undefined;
|
|
57
|
-
color?: string | undefined;
|
|
58
|
-
lineWidth?: number | undefined;
|
|
59
63
|
}, {
|
|
60
64
|
length?: number | undefined;
|
|
61
65
|
fill?: string | undefined;
|
|
66
|
+
color?: string | undefined;
|
|
62
67
|
opacity?: number | undefined;
|
|
63
|
-
shape?:
|
|
68
|
+
shape?: string | undefined;
|
|
69
|
+
lineWidth?: number | undefined;
|
|
64
70
|
scale?: number | undefined;
|
|
65
71
|
width?: number | undefined;
|
|
66
|
-
color?: string | undefined;
|
|
67
|
-
lineWidth?: number | undefined;
|
|
68
72
|
}>;
|
|
69
73
|
/**
|
|
70
74
|
* Path 级箭头详细配置 schema
|
|
71
75
|
* @description 顶层视觉字段(与 `ArrowEndDetailSchema` 同字段集)作为起末共享默认;`start` / `end` 子对象逐字段 merge 顶层(缺省字段继承,已填字段 override)
|
|
72
76
|
*/
|
|
73
77
|
export declare const ArrowDetailSchema: z.ZodObject<{
|
|
74
|
-
shape: z.ZodOptional<z.
|
|
75
|
-
readonly normal: "normal";
|
|
76
|
-
readonly open: "open";
|
|
77
|
-
readonly stealth: "stealth";
|
|
78
|
-
readonly diamond: "diamond";
|
|
79
|
-
readonly openDiamond: "openDiamond";
|
|
80
|
-
readonly circle: "circle";
|
|
81
|
-
readonly openCircle: "openCircle";
|
|
82
|
-
}>>;
|
|
78
|
+
shape: z.ZodOptional<z.ZodString>;
|
|
83
79
|
scale: z.ZodOptional<z.ZodNumber>;
|
|
84
80
|
length: z.ZodOptional<z.ZodNumber>;
|
|
85
81
|
width: z.ZodOptional<z.ZodNumber>;
|
|
@@ -89,15 +85,7 @@ export declare const ArrowDetailSchema: z.ZodObject<{
|
|
|
89
85
|
lineWidth: z.ZodOptional<z.ZodNumber>;
|
|
90
86
|
} & {
|
|
91
87
|
start: z.ZodOptional<z.ZodObject<{
|
|
92
|
-
shape: z.ZodOptional<z.
|
|
93
|
-
readonly normal: "normal";
|
|
94
|
-
readonly open: "open";
|
|
95
|
-
readonly stealth: "stealth";
|
|
96
|
-
readonly diamond: "diamond";
|
|
97
|
-
readonly openDiamond: "openDiamond";
|
|
98
|
-
readonly circle: "circle";
|
|
99
|
-
readonly openCircle: "openCircle";
|
|
100
|
-
}>>;
|
|
88
|
+
shape: z.ZodOptional<z.ZodString>;
|
|
101
89
|
scale: z.ZodOptional<z.ZodNumber>;
|
|
102
90
|
length: z.ZodOptional<z.ZodNumber>;
|
|
103
91
|
width: z.ZodOptional<z.ZodNumber>;
|
|
@@ -108,32 +96,24 @@ export declare const ArrowDetailSchema: z.ZodObject<{
|
|
|
108
96
|
}, "strip", z.ZodTypeAny, {
|
|
109
97
|
length?: number | undefined;
|
|
110
98
|
fill?: string | undefined;
|
|
99
|
+
color?: string | undefined;
|
|
111
100
|
opacity?: number | undefined;
|
|
112
|
-
shape?:
|
|
101
|
+
shape?: string | undefined;
|
|
102
|
+
lineWidth?: number | undefined;
|
|
113
103
|
scale?: number | undefined;
|
|
114
104
|
width?: number | undefined;
|
|
115
|
-
color?: string | undefined;
|
|
116
|
-
lineWidth?: number | undefined;
|
|
117
105
|
}, {
|
|
118
106
|
length?: number | undefined;
|
|
119
107
|
fill?: string | undefined;
|
|
108
|
+
color?: string | undefined;
|
|
120
109
|
opacity?: number | undefined;
|
|
121
|
-
shape?:
|
|
110
|
+
shape?: string | undefined;
|
|
111
|
+
lineWidth?: number | undefined;
|
|
122
112
|
scale?: number | undefined;
|
|
123
113
|
width?: number | undefined;
|
|
124
|
-
color?: string | undefined;
|
|
125
|
-
lineWidth?: number | undefined;
|
|
126
114
|
}>>;
|
|
127
115
|
end: z.ZodOptional<z.ZodObject<{
|
|
128
|
-
shape: z.ZodOptional<z.
|
|
129
|
-
readonly normal: "normal";
|
|
130
|
-
readonly open: "open";
|
|
131
|
-
readonly stealth: "stealth";
|
|
132
|
-
readonly diamond: "diamond";
|
|
133
|
-
readonly openDiamond: "openDiamond";
|
|
134
|
-
readonly circle: "circle";
|
|
135
|
-
readonly openCircle: "openCircle";
|
|
136
|
-
}>>;
|
|
116
|
+
shape: z.ZodOptional<z.ZodString>;
|
|
137
117
|
scale: z.ZodOptional<z.ZodNumber>;
|
|
138
118
|
length: z.ZodOptional<z.ZodNumber>;
|
|
139
119
|
width: z.ZodOptional<z.ZodNumber>;
|
|
@@ -144,79 +124,79 @@ export declare const ArrowDetailSchema: z.ZodObject<{
|
|
|
144
124
|
}, "strip", z.ZodTypeAny, {
|
|
145
125
|
length?: number | undefined;
|
|
146
126
|
fill?: string | undefined;
|
|
127
|
+
color?: string | undefined;
|
|
147
128
|
opacity?: number | undefined;
|
|
148
|
-
shape?:
|
|
129
|
+
shape?: string | undefined;
|
|
130
|
+
lineWidth?: number | undefined;
|
|
149
131
|
scale?: number | undefined;
|
|
150
132
|
width?: number | undefined;
|
|
151
|
-
color?: string | undefined;
|
|
152
|
-
lineWidth?: number | undefined;
|
|
153
133
|
}, {
|
|
154
134
|
length?: number | undefined;
|
|
155
135
|
fill?: string | undefined;
|
|
136
|
+
color?: string | undefined;
|
|
156
137
|
opacity?: number | undefined;
|
|
157
|
-
shape?:
|
|
138
|
+
shape?: string | undefined;
|
|
139
|
+
lineWidth?: number | undefined;
|
|
158
140
|
scale?: number | undefined;
|
|
159
141
|
width?: number | undefined;
|
|
160
|
-
color?: string | undefined;
|
|
161
|
-
lineWidth?: number | undefined;
|
|
162
142
|
}>>;
|
|
163
143
|
}, "strip", z.ZodTypeAny, {
|
|
164
144
|
length?: number | undefined;
|
|
165
145
|
fill?: string | undefined;
|
|
146
|
+
color?: string | undefined;
|
|
166
147
|
opacity?: number | undefined;
|
|
167
|
-
shape?:
|
|
148
|
+
shape?: string | undefined;
|
|
149
|
+
lineWidth?: number | undefined;
|
|
168
150
|
scale?: number | undefined;
|
|
169
151
|
width?: number | undefined;
|
|
170
|
-
color?: string | undefined;
|
|
171
|
-
lineWidth?: number | undefined;
|
|
172
152
|
start?: {
|
|
173
153
|
length?: number | undefined;
|
|
174
154
|
fill?: string | undefined;
|
|
155
|
+
color?: string | undefined;
|
|
175
156
|
opacity?: number | undefined;
|
|
176
|
-
shape?:
|
|
157
|
+
shape?: string | undefined;
|
|
158
|
+
lineWidth?: number | undefined;
|
|
177
159
|
scale?: number | undefined;
|
|
178
160
|
width?: number | undefined;
|
|
179
|
-
color?: string | undefined;
|
|
180
|
-
lineWidth?: number | undefined;
|
|
181
161
|
} | undefined;
|
|
182
162
|
end?: {
|
|
183
163
|
length?: number | undefined;
|
|
184
164
|
fill?: string | undefined;
|
|
165
|
+
color?: string | undefined;
|
|
185
166
|
opacity?: number | undefined;
|
|
186
|
-
shape?:
|
|
167
|
+
shape?: string | undefined;
|
|
168
|
+
lineWidth?: number | undefined;
|
|
187
169
|
scale?: number | undefined;
|
|
188
170
|
width?: number | undefined;
|
|
189
|
-
color?: string | undefined;
|
|
190
|
-
lineWidth?: number | undefined;
|
|
191
171
|
} | undefined;
|
|
192
172
|
}, {
|
|
193
173
|
length?: number | undefined;
|
|
194
174
|
fill?: string | undefined;
|
|
175
|
+
color?: string | undefined;
|
|
195
176
|
opacity?: number | undefined;
|
|
196
|
-
shape?:
|
|
177
|
+
shape?: string | undefined;
|
|
178
|
+
lineWidth?: number | undefined;
|
|
197
179
|
scale?: number | undefined;
|
|
198
180
|
width?: number | undefined;
|
|
199
|
-
color?: string | undefined;
|
|
200
|
-
lineWidth?: number | undefined;
|
|
201
181
|
start?: {
|
|
202
182
|
length?: number | undefined;
|
|
203
183
|
fill?: string | undefined;
|
|
184
|
+
color?: string | undefined;
|
|
204
185
|
opacity?: number | undefined;
|
|
205
|
-
shape?:
|
|
186
|
+
shape?: string | undefined;
|
|
187
|
+
lineWidth?: number | undefined;
|
|
206
188
|
scale?: number | undefined;
|
|
207
189
|
width?: number | undefined;
|
|
208
|
-
color?: string | undefined;
|
|
209
|
-
lineWidth?: number | undefined;
|
|
210
190
|
} | undefined;
|
|
211
191
|
end?: {
|
|
212
192
|
length?: number | undefined;
|
|
213
193
|
fill?: string | undefined;
|
|
194
|
+
color?: string | undefined;
|
|
214
195
|
opacity?: number | undefined;
|
|
215
|
-
shape?:
|
|
196
|
+
shape?: string | undefined;
|
|
197
|
+
lineWidth?: number | undefined;
|
|
216
198
|
scale?: number | undefined;
|
|
217
199
|
width?: number | undefined;
|
|
218
|
-
color?: string | undefined;
|
|
219
|
-
lineWidth?: number | undefined;
|
|
220
200
|
} | undefined;
|
|
221
201
|
}>;
|
|
222
202
|
/** 端点级箭头视觉规格 */
|
|
@@ -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,aAAa;AACb,eAAO,MAAM,mBAAmB,WAAuB,CAAC;AAExD;;;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
|
|
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;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC,OAAO,YAAY,CAAC,CAAC;AAE5D;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,gBAAgB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAE9D,aAAa;AACb,eAAO,MAAM,mBAAmB,WAAuB,CAAC;AAExD;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgE9B,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
|
@@ -33,14 +33,14 @@ var ARROW_MARKER_HOLLOW_DEFAULT_LINE_WIDTH = 1.5;
|
|
|
33
33
|
* @description 顶层 8 字段全 optional;fill 在空心 shape 上 silent no-op(schema 不拒绝、compile/render 丢字段);start/end 子对象用相同字段集(无 start/end 递归)
|
|
34
34
|
*/
|
|
35
35
|
var ArrowEndDetailSchema = z.object({
|
|
36
|
-
shape: z.
|
|
37
|
-
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."),
|
|
38
|
-
length: z.number().nonnegative().optional().describe("Tip length in user units (the dimension along the path direction). Defaults to ~6."),
|
|
39
|
-
width: z.number().nonnegative().optional().describe("Tip width in user units (perpendicular to the path). Defaults to ~6."),
|
|
36
|
+
shape: z.string().min(1).optional().describe("Registered arrow name: built-in 7 (`normal` / `open` / `stealth` / `diamond` / `openDiamond` / `circle` / `openCircle`) or an extension arrow registered via `CompileOptions.arrows`. Any non-empty string passes schema validation; unregistered names are rejected at compile time (throw). Defaults to `stealth`."),
|
|
37
|
+
scale: z.number().finite().positive().optional().describe("Uniform tip scale factor; multiplies `length` and `width` (e.g. `length=10, scale=1.5` → effective 15). Defaults to 1."),
|
|
38
|
+
length: z.number().finite().nonnegative().optional().describe("Tip length in user units (the dimension along the path direction). Defaults to ~6."),
|
|
39
|
+
width: z.number().finite().nonnegative().optional().describe("Tip width in user units (perpendicular to the path). Defaults to ~6."),
|
|
40
40
|
color: z.string().optional().describe("Stroke color override. When omitted, the renderer should inherit the path stroke."),
|
|
41
41
|
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."),
|
|
42
42
|
opacity: z.number().min(0).max(1).optional().describe("Arrow opacity 0..1, independent from the path opacity. When omitted, inherits the path opacity."),
|
|
43
|
-
lineWidth: z.number().nonnegative().optional().describe("Stroke width for hollow shapes (user units). Defaults to 1.5. Solid shapes ignore this field.")
|
|
43
|
+
lineWidth: z.number().finite().nonnegative().optional().describe("Stroke width for hollow shapes (user units). Defaults to 1.5. Solid shapes ignore this field.")
|
|
44
44
|
}).describe("Per-end arrow visual spec: shape + visual fields (scale / length / width / color / fill / opacity / lineWidth). All optional; omitted fields fall through to top-level `arrowDetail` defaults and then built-in defaults.");
|
|
45
45
|
/**
|
|
46
46
|
* Path 级箭头详细配置 schema
|