@retikz/core 0.1.0-alpha.4 → 0.1.0-alpha.5
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 -13
- package/dist/es/compile/compile.d.ts.map +1 -1
- package/dist/es/compile/compile.js +4 -10
- package/dist/es/compile/node.d.ts +40 -59
- package/dist/es/compile/node.d.ts.map +1 -1
- package/dist/es/compile/node.js +51 -43
- package/dist/es/compile/parseTarget.d.ts +3 -8
- package/dist/es/compile/parseTarget.d.ts.map +1 -1
- package/dist/es/compile/parseTarget.js +7 -19
- package/dist/es/compile/path.d.ts +2 -19
- package/dist/es/compile/path.d.ts.map +1 -1
- package/dist/es/compile/path.js +232 -213
- package/dist/es/compile/position.d.ts +4 -8
- package/dist/es/compile/position.d.ts.map +1 -1
- package/dist/es/compile/position.js +10 -10
- package/dist/es/compile/text-metrics.d.ts +2 -4
- package/dist/es/compile/text-metrics.d.ts.map +1 -1
- package/dist/es/compile/view-box.d.ts +1 -4
- package/dist/es/compile/view-box.d.ts.map +1 -1
- package/dist/es/compile/view-box.js +1 -4
- package/dist/es/geometry/arc.d.ts +3 -28
- package/dist/es/geometry/arc.d.ts.map +1 -1
- package/dist/es/geometry/arc.js +4 -31
- package/dist/es/geometry/bend.d.ts +2 -13
- package/dist/es/geometry/bend.d.ts.map +1 -1
- package/dist/es/geometry/bend.js +2 -13
- package/dist/es/geometry/circle.d.ts +5 -13
- package/dist/es/geometry/circle.d.ts.map +1 -1
- package/dist/es/geometry/circle.js +1 -4
- package/dist/es/geometry/diamond.d.ts +9 -24
- package/dist/es/geometry/diamond.d.ts.map +1 -1
- package/dist/es/geometry/diamond.js +4 -14
- package/dist/es/geometry/ellipse.d.ts +9 -15
- package/dist/es/geometry/ellipse.d.ts.map +1 -1
- package/dist/es/geometry/ellipse.js +4 -8
- package/dist/es/geometry/point.d.ts +8 -9
- package/dist/es/geometry/point.d.ts.map +1 -1
- package/dist/es/geometry/point.js +8 -9
- package/dist/es/geometry/polar.d.ts +12 -21
- package/dist/es/geometry/polar.d.ts.map +1 -1
- package/dist/es/geometry/polar.js +7 -14
- package/dist/es/geometry/rect.d.ts +8 -32
- package/dist/es/geometry/rect.d.ts.map +1 -1
- package/dist/es/geometry/rect.js +7 -33
- package/dist/es/geometry/segment.d.ts +11 -18
- package/dist/es/geometry/segment.d.ts.map +1 -1
- package/dist/es/geometry/segment.js +9 -16
- package/dist/es/index.d.ts +6 -10
- package/dist/es/index.d.ts.map +1 -1
- package/dist/es/index.js +4 -3
- package/dist/es/ir/coordinate.d.ts +18 -10
- package/dist/es/ir/coordinate.d.ts.map +1 -1
- package/dist/es/ir/coordinate.js +6 -11
- package/dist/es/ir/node.d.ts +46 -65
- package/dist/es/ir/node.d.ts.map +1 -1
- package/dist/es/ir/node.js +15 -46
- package/dist/es/ir/path/arrow.d.ts +210 -12
- package/dist/es/ir/path/arrow.d.ts.map +1 -1
- package/dist/es/ir/path/arrow.js +39 -12
- package/dist/es/ir/path/path.d.ts +477 -153
- package/dist/es/ir/path/path.d.ts.map +1 -1
- package/dist/es/ir/path/path.js +2 -2
- package/dist/es/ir/path/step.d.ts +395 -223
- package/dist/es/ir/path/step.d.ts.map +1 -1
- package/dist/es/ir/path/step.js +13 -14
- package/dist/es/ir/path/target.d.ts +25 -16
- package/dist/es/ir/path/target.d.ts.map +1 -1
- package/dist/es/ir/path/target.js +8 -6
- package/dist/es/ir/position/at-position.d.ts +4 -11
- package/dist/es/ir/position/at-position.d.ts.map +1 -1
- package/dist/es/ir/position/at-position.js +2 -9
- 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/position/offset-position.d.ts +14 -0
- package/dist/es/ir/position/offset-position.d.ts.map +1 -0
- package/dist/es/ir/position/offset-position.js +14 -0
- package/dist/es/ir/position/polar-position.d.ts +1 -4
- package/dist/es/ir/position/polar-position.d.ts.map +1 -1
- package/dist/es/ir/position/polar-position.js +1 -4
- package/dist/es/ir/scene.d.ts +1200 -386
- package/dist/es/ir/scene.d.ts.map +1 -1
- package/dist/es/parsers/parseTargetSugar.d.ts.map +1 -1
- package/dist/es/parsers/parseTargetSugar.js +6 -19
- package/dist/es/parsers/parseWay.d.ts +26 -118
- package/dist/es/parsers/parseWay.d.ts.map +1 -1
- package/dist/es/parsers/parseWay.js +19 -61
- package/dist/es/primitive/ellipse.d.ts +4 -14
- package/dist/es/primitive/ellipse.d.ts.map +1 -1
- package/dist/es/primitive/group.d.ts +21 -3
- package/dist/es/primitive/group.d.ts.map +1 -1
- package/dist/es/primitive/path.d.ts +67 -7
- package/dist/es/primitive/path.d.ts.map +1 -1
- package/dist/es/primitive/scene.d.ts +2 -4
- package/dist/es/primitive/scene.d.ts.map +1 -1
- package/dist/es/primitive/text.d.ts +9 -32
- package/dist/es/primitive/text.d.ts.map +1 -1
- package/dist/lib/compile/compile.cjs +4 -10
- package/dist/lib/compile/compile.d.ts +6 -13
- package/dist/lib/compile/compile.d.ts.map +1 -1
- package/dist/lib/compile/node.cjs +51 -43
- package/dist/lib/compile/node.d.ts +40 -59
- package/dist/lib/compile/node.d.ts.map +1 -1
- package/dist/lib/compile/parseTarget.cjs +7 -19
- package/dist/lib/compile/parseTarget.d.ts +3 -8
- package/dist/lib/compile/parseTarget.d.ts.map +1 -1
- package/dist/lib/compile/path.cjs +231 -212
- package/dist/lib/compile/path.d.ts +2 -19
- package/dist/lib/compile/path.d.ts.map +1 -1
- package/dist/lib/compile/position.cjs +10 -10
- package/dist/lib/compile/position.d.ts +4 -8
- package/dist/lib/compile/position.d.ts.map +1 -1
- package/dist/lib/compile/text-metrics.d.ts +2 -4
- package/dist/lib/compile/text-metrics.d.ts.map +1 -1
- package/dist/lib/compile/view-box.cjs +1 -4
- package/dist/lib/compile/view-box.d.ts +1 -4
- package/dist/lib/compile/view-box.d.ts.map +1 -1
- package/dist/lib/geometry/arc.cjs +3 -31
- package/dist/lib/geometry/arc.d.ts +3 -28
- package/dist/lib/geometry/arc.d.ts.map +1 -1
- package/dist/lib/geometry/bend.cjs +2 -13
- package/dist/lib/geometry/bend.d.ts +2 -13
- package/dist/lib/geometry/bend.d.ts.map +1 -1
- package/dist/lib/geometry/circle.cjs +1 -4
- package/dist/lib/geometry/circle.d.ts +5 -13
- package/dist/lib/geometry/circle.d.ts.map +1 -1
- package/dist/lib/geometry/diamond.cjs +4 -14
- package/dist/lib/geometry/diamond.d.ts +9 -24
- package/dist/lib/geometry/diamond.d.ts.map +1 -1
- package/dist/lib/geometry/ellipse.cjs +4 -8
- package/dist/lib/geometry/ellipse.d.ts +9 -15
- package/dist/lib/geometry/ellipse.d.ts.map +1 -1
- package/dist/lib/geometry/point.cjs +8 -9
- package/dist/lib/geometry/point.d.ts +8 -9
- package/dist/lib/geometry/point.d.ts.map +1 -1
- package/dist/lib/geometry/polar.cjs +7 -14
- package/dist/lib/geometry/polar.d.ts +12 -21
- package/dist/lib/geometry/polar.d.ts.map +1 -1
- package/dist/lib/geometry/rect.cjs +7 -33
- package/dist/lib/geometry/rect.d.ts +8 -32
- package/dist/lib/geometry/rect.d.ts.map +1 -1
- package/dist/lib/geometry/segment.cjs +9 -16
- package/dist/lib/geometry/segment.d.ts +11 -18
- package/dist/lib/geometry/segment.d.ts.map +1 -1
- package/dist/lib/index.cjs +9 -2
- package/dist/lib/index.d.ts +6 -10
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/ir/coordinate.cjs +6 -11
- package/dist/lib/ir/coordinate.d.ts +18 -10
- package/dist/lib/ir/coordinate.d.ts.map +1 -1
- package/dist/lib/ir/node.cjs +15 -46
- package/dist/lib/ir/node.d.ts +46 -65
- package/dist/lib/ir/node.d.ts.map +1 -1
- package/dist/lib/ir/path/arrow.cjs +43 -11
- package/dist/lib/ir/path/arrow.d.ts +210 -12
- package/dist/lib/ir/path/arrow.d.ts.map +1 -1
- package/dist/lib/ir/path/path.cjs +1 -1
- package/dist/lib/ir/path/path.d.ts +477 -153
- package/dist/lib/ir/path/path.d.ts.map +1 -1
- package/dist/lib/ir/path/step.cjs +13 -14
- package/dist/lib/ir/path/step.d.ts +395 -223
- package/dist/lib/ir/path/step.d.ts.map +1 -1
- package/dist/lib/ir/path/target.cjs +9 -7
- package/dist/lib/ir/path/target.d.ts +25 -16
- package/dist/lib/ir/path/target.d.ts.map +1 -1
- package/dist/lib/ir/position/at-position.cjs +2 -9
- package/dist/lib/ir/position/at-position.d.ts +4 -11
- package/dist/lib/ir/position/at-position.d.ts.map +1 -1
- 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/position/offset-position.cjs +14 -0
- package/dist/lib/ir/position/offset-position.d.ts +14 -0
- package/dist/lib/ir/position/offset-position.d.ts.map +1 -0
- package/dist/lib/ir/position/polar-position.cjs +1 -4
- package/dist/lib/ir/position/polar-position.d.ts +1 -4
- package/dist/lib/ir/position/polar-position.d.ts.map +1 -1
- package/dist/lib/ir/scene.d.ts +1200 -386
- package/dist/lib/ir/scene.d.ts.map +1 -1
- package/dist/lib/parsers/parseTargetSugar.cjs +6 -19
- package/dist/lib/parsers/parseTargetSugar.d.ts.map +1 -1
- package/dist/lib/parsers/parseWay.cjs +19 -61
- package/dist/lib/parsers/parseWay.d.ts +26 -118
- package/dist/lib/parsers/parseWay.d.ts.map +1 -1
- package/dist/lib/primitive/ellipse.d.ts +4 -14
- package/dist/lib/primitive/ellipse.d.ts.map +1 -1
- package/dist/lib/primitive/group.d.ts +21 -3
- package/dist/lib/primitive/group.d.ts.map +1 -1
- package/dist/lib/primitive/path.d.ts +67 -7
- package/dist/lib/primitive/path.d.ts.map +1 -1
- package/dist/lib/primitive/scene.d.ts +2 -4
- package/dist/lib/primitive/scene.d.ts.map +1 -1
- package/dist/lib/primitive/text.d.ts +9 -32
- package/dist/lib/primitive/text.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/es/ir/path/arrow.js
CHANGED
|
@@ -1,16 +1,8 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
1
2
|
//#region src/ir/path/arrow.ts
|
|
2
3
|
/**
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
* 在 string 场景与字面量类型不互通的两个坑。
|
|
6
|
-
*
|
|
7
|
-
* - `normal`:实心三角(默认;最常见)
|
|
8
|
-
* - `open`:空心三角(UML 泛化 / 继承)
|
|
9
|
-
* - `stealth`:尖锐倒钩三角(流图常见、视觉锐利)
|
|
10
|
-
* - `diamond`:实心菱形(UML 组合)
|
|
11
|
-
* - `openDiamond`:空心菱形(UML 聚合)
|
|
12
|
-
* - `circle`:实心圆点(连接点 / dot end)
|
|
13
|
-
* - `openCircle`:空心圆点(白圈 / o-end)
|
|
4
|
+
* 箭头形状常量(用 const 而非 TS enum 避免 reverse-mapping 和字面量不互通)
|
|
5
|
+
* @description normal 实心三角(默认);open 空心三角(UML 泛化/继承);stealth 尖锐倒钩;diamond 实心菱形(UML 组合);openDiamond 空心菱形(聚合);circle 实心圆点;openCircle 空心圆点
|
|
14
6
|
*/
|
|
15
7
|
var ARROW_SHAPES = {
|
|
16
8
|
normal: "normal",
|
|
@@ -21,5 +13,40 @@ var ARROW_SHAPES = {
|
|
|
21
13
|
circle: "circle",
|
|
22
14
|
openCircle: "openCircle"
|
|
23
15
|
};
|
|
16
|
+
/**
|
|
17
|
+
* 空心 shape 集合(fill 字段在这些 shape 上 silent no-op)
|
|
18
|
+
* @description compile 与 render 都引用此表判定 fill 是否丢弃;空心 shape 用 color 主导描边、lineWidth 控描边粗
|
|
19
|
+
*/
|
|
20
|
+
var HOLLOW_ARROW_SHAPES = new Set([
|
|
21
|
+
"open",
|
|
22
|
+
"openDiamond",
|
|
23
|
+
"openCircle"
|
|
24
|
+
]);
|
|
25
|
+
/** marker 默认尺寸(length / width 的 fallback;arrowMarkers viewBox 内的几何也按 10 单位定义) */
|
|
26
|
+
var ARROW_MARKER_DEFAULT_SIZE = 6;
|
|
27
|
+
/** 空心 shape 描边默认粗细(lineWidth fallback;refX / shrink 计算都用它做"back stroke 半宽") */
|
|
28
|
+
var ARROW_MARKER_HOLLOW_DEFAULT_LINE_WIDTH = 1.5;
|
|
29
|
+
/**
|
|
30
|
+
* 端点级箭头视觉规格 schema
|
|
31
|
+
* @description 顶层 8 字段全 optional;fill 在空心 shape 上 silent no-op(schema 不拒绝、compile/render 丢字段);start/end 子对象用相同字段集(无 start/end 递归)
|
|
32
|
+
*/
|
|
33
|
+
var ArrowEndDetailSchema = z.object({
|
|
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
|
+
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 (matching the legacy hardcoded markerWidth)."),
|
|
37
|
+
width: z.number().nonnegative().optional().describe("Tip width in user units (perpendicular to the path). Defaults to ~6 (matching the legacy hardcoded markerHeight)."),
|
|
38
|
+
color: z.string().optional().describe("Stroke color override. When omitted, the marker inherits the path stroke via `context-stroke`."),
|
|
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
|
+
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
|
+
lineWidth: z.number().nonnegative().optional().describe("Stroke width for hollow shapes (user units). Defaults to 1.5. Solid shapes ignore this field.")
|
|
42
|
+
}).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.");
|
|
43
|
+
/**
|
|
44
|
+
* Path 级箭头详细配置 schema
|
|
45
|
+
* @description 顶层视觉字段(与 `ArrowEndDetailSchema` 同字段集)作为起末共享默认;`start` / `end` 子对象逐字段 merge 顶层(缺省字段继承,已填字段 override)
|
|
46
|
+
*/
|
|
47
|
+
var ArrowDetailSchema = ArrowEndDetailSchema.extend({
|
|
48
|
+
start: ArrowEndDetailSchema.optional().describe("Start-end override (effective only when `arrow` includes a start arrow: `<-` / `<->`). Fields merge into the top-level defaults; omitted fields inherit, present fields override."),
|
|
49
|
+
end: ArrowEndDetailSchema.optional().describe("End-end override (effective only when `arrow` includes an end arrow: `->` / `<->`). Fields merge into the top-level defaults; omitted fields inherit, present fields override.")
|
|
50
|
+
}).describe("Path-level arrow detail. Top-level visual fields (shape / scale / length / width / color / fill / opacity / lineWidth) act as shared defaults for both ends; `start` / `end` sub-objects per-field override the defaults.");
|
|
24
51
|
//#endregion
|
|
25
|
-
export { ARROW_SHAPES };
|
|
52
|
+
export { ARROW_MARKER_DEFAULT_SIZE, ARROW_MARKER_HOLLOW_DEFAULT_LINE_WIDTH, ARROW_SHAPES, ArrowDetailSchema, ArrowEndDetailSchema, HOLLOW_ARROW_SHAPES };
|