@spectratools/graphic-designer-cli 0.9.0 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -22,6 +22,12 @@ type LayoutSnapshot = {
22
22
  safeFrame: DesignSafeFrame;
23
23
  elements: RenderedElement[];
24
24
  };
25
+ type IterationMeta = {
26
+ iteration: number;
27
+ maxIterations?: number;
28
+ notes?: string;
29
+ previousHash?: string;
30
+ };
25
31
  type RenderMetadata = {
26
32
  schemaVersion: 2;
27
33
  generatorVersion: string;
@@ -35,11 +41,17 @@ type RenderMetadata = {
35
41
  scale: number;
36
42
  };
37
43
  layout: LayoutSnapshot;
44
+ iteration?: IterationMeta;
38
45
  };
39
46
  type RenderResult = {
40
47
  png: Buffer;
41
48
  metadata: RenderMetadata;
42
49
  };
50
+ type RenderDesignOptions = {
51
+ generatorVersion?: string;
52
+ renderedAt?: string;
53
+ iteration?: IterationMeta;
54
+ };
43
55
  type WrittenArtifacts = {
44
56
  imagePath: string;
45
57
  metadataPath: string;
@@ -71,13 +83,12 @@ declare function computeSpecHash(spec: DesignSpec): string;
71
83
  * Defaults to {@link DEFAULT_GENERATOR_VERSION}.
72
84
  * @param options.renderedAt - ISO-8601 timestamp for the render. Defaults to
73
85
  * `new Date().toISOString()`.
86
+ * @param options.iteration - Optional iteration metadata for iterative
87
+ * workflows.
74
88
  * @returns A {@link RenderResult} containing the PNG buffer and full render
75
89
  * metadata (spec hash, artifact hash, layout snapshot, etc.).
76
90
  */
77
- declare function renderDesign(input: DesignSpec, options?: {
78
- generatorVersion?: string;
79
- renderedAt?: string;
80
- }): Promise<RenderResult>;
91
+ declare function renderDesign(input: DesignSpec, options?: RenderDesignOptions): Promise<RenderResult>;
81
92
  /**
82
93
  * Write a render result to disk as a PNG image and a sidecar `.meta.json` file.
83
94
  *
@@ -728,6 +739,80 @@ declare const drawLineSchema: z.ZodObject<{
728
739
  arrowSize?: number | undefined;
729
740
  dash?: number[] | undefined;
730
741
  }>;
742
+ declare const drawArcSchema: z.ZodObject<{
743
+ type: z.ZodLiteral<"arc">;
744
+ center: z.ZodObject<{
745
+ x: z.ZodNumber;
746
+ y: z.ZodNumber;
747
+ }, "strict", z.ZodTypeAny, {
748
+ x: number;
749
+ y: number;
750
+ }, {
751
+ x: number;
752
+ y: number;
753
+ }>;
754
+ radius: z.ZodNumber;
755
+ startAngle: z.ZodNumber;
756
+ endAngle: z.ZodNumber;
757
+ color: z.ZodDefault<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
758
+ width: z.ZodDefault<z.ZodNumber>;
759
+ dash: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
760
+ opacity: z.ZodDefault<z.ZodNumber>;
761
+ shadow: z.ZodOptional<z.ZodObject<{
762
+ color: z.ZodDefault<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
763
+ blur: z.ZodDefault<z.ZodNumber>;
764
+ offsetX: z.ZodDefault<z.ZodNumber>;
765
+ offsetY: z.ZodDefault<z.ZodNumber>;
766
+ }, "strict", z.ZodTypeAny, {
767
+ color: string;
768
+ blur: number;
769
+ offsetX: number;
770
+ offsetY: number;
771
+ }, {
772
+ color?: string | undefined;
773
+ blur?: number | undefined;
774
+ offsetX?: number | undefined;
775
+ offsetY?: number | undefined;
776
+ }>>;
777
+ }, "strict", z.ZodTypeAny, {
778
+ width: number;
779
+ type: "arc";
780
+ color: string;
781
+ opacity: number;
782
+ center: {
783
+ x: number;
784
+ y: number;
785
+ };
786
+ radius: number;
787
+ startAngle: number;
788
+ endAngle: number;
789
+ shadow?: {
790
+ color: string;
791
+ blur: number;
792
+ offsetX: number;
793
+ offsetY: number;
794
+ } | undefined;
795
+ dash?: number[] | undefined;
796
+ }, {
797
+ type: "arc";
798
+ center: {
799
+ x: number;
800
+ y: number;
801
+ };
802
+ radius: number;
803
+ startAngle: number;
804
+ endAngle: number;
805
+ width?: number | undefined;
806
+ color?: string | undefined;
807
+ opacity?: number | undefined;
808
+ shadow?: {
809
+ color?: string | undefined;
810
+ blur?: number | undefined;
811
+ offsetX?: number | undefined;
812
+ offsetY?: number | undefined;
813
+ } | undefined;
814
+ dash?: number[] | undefined;
815
+ }>;
731
816
  declare const drawPointSchema: z.ZodObject<{
732
817
  x: z.ZodNumber;
733
818
  y: z.ZodNumber;
@@ -1441,6 +1526,79 @@ declare const drawCommandSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
1441
1526
  arrow?: "end" | "start" | "both" | "none" | undefined;
1442
1527
  arrowSize?: number | undefined;
1443
1528
  dash?: number[] | undefined;
1529
+ }>, z.ZodObject<{
1530
+ type: z.ZodLiteral<"arc">;
1531
+ center: z.ZodObject<{
1532
+ x: z.ZodNumber;
1533
+ y: z.ZodNumber;
1534
+ }, "strict", z.ZodTypeAny, {
1535
+ x: number;
1536
+ y: number;
1537
+ }, {
1538
+ x: number;
1539
+ y: number;
1540
+ }>;
1541
+ radius: z.ZodNumber;
1542
+ startAngle: z.ZodNumber;
1543
+ endAngle: z.ZodNumber;
1544
+ color: z.ZodDefault<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1545
+ width: z.ZodDefault<z.ZodNumber>;
1546
+ dash: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
1547
+ opacity: z.ZodDefault<z.ZodNumber>;
1548
+ shadow: z.ZodOptional<z.ZodObject<{
1549
+ color: z.ZodDefault<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
1550
+ blur: z.ZodDefault<z.ZodNumber>;
1551
+ offsetX: z.ZodDefault<z.ZodNumber>;
1552
+ offsetY: z.ZodDefault<z.ZodNumber>;
1553
+ }, "strict", z.ZodTypeAny, {
1554
+ color: string;
1555
+ blur: number;
1556
+ offsetX: number;
1557
+ offsetY: number;
1558
+ }, {
1559
+ color?: string | undefined;
1560
+ blur?: number | undefined;
1561
+ offsetX?: number | undefined;
1562
+ offsetY?: number | undefined;
1563
+ }>>;
1564
+ }, "strict", z.ZodTypeAny, {
1565
+ width: number;
1566
+ type: "arc";
1567
+ color: string;
1568
+ opacity: number;
1569
+ center: {
1570
+ x: number;
1571
+ y: number;
1572
+ };
1573
+ radius: number;
1574
+ startAngle: number;
1575
+ endAngle: number;
1576
+ shadow?: {
1577
+ color: string;
1578
+ blur: number;
1579
+ offsetX: number;
1580
+ offsetY: number;
1581
+ } | undefined;
1582
+ dash?: number[] | undefined;
1583
+ }, {
1584
+ type: "arc";
1585
+ center: {
1586
+ x: number;
1587
+ y: number;
1588
+ };
1589
+ radius: number;
1590
+ startAngle: number;
1591
+ endAngle: number;
1592
+ width?: number | undefined;
1593
+ color?: string | undefined;
1594
+ opacity?: number | undefined;
1595
+ shadow?: {
1596
+ color?: string | undefined;
1597
+ blur?: number | undefined;
1598
+ offsetX?: number | undefined;
1599
+ offsetY?: number | undefined;
1600
+ } | undefined;
1601
+ dash?: number[] | undefined;
1444
1602
  }>, z.ZodObject<{
1445
1603
  type: z.ZodLiteral<"bezier">;
1446
1604
  points: z.ZodArray<z.ZodObject<{
@@ -2114,17 +2272,21 @@ declare const connectionElementSchema: z.ZodObject<{
2114
2272
  from: z.ZodString;
2115
2273
  to: z.ZodString;
2116
2274
  style: z.ZodDefault<z.ZodEnum<["solid", "dashed", "dotted"]>>;
2117
- strokeStyle: z.ZodDefault<z.ZodEnum<["solid", "dashed", "dotted"]>>;
2275
+ /** @deprecated Use `style` instead. */
2276
+ strokeStyle: z.ZodOptional<z.ZodEnum<["solid", "dashed", "dotted"]>>;
2118
2277
  arrow: z.ZodDefault<z.ZodEnum<["end", "start", "both", "none"]>>;
2119
2278
  label: z.ZodOptional<z.ZodString>;
2120
2279
  labelPosition: z.ZodDefault<z.ZodEnum<["start", "middle", "end"]>>;
2121
2280
  color: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2281
+ fromColor: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2282
+ toColor: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2122
2283
  width: z.ZodOptional<z.ZodNumber>;
2123
2284
  strokeWidth: z.ZodDefault<z.ZodNumber>;
2124
2285
  arrowSize: z.ZodOptional<z.ZodNumber>;
2125
2286
  arrowPlacement: z.ZodDefault<z.ZodEnum<["endpoint", "boundary"]>>;
2126
2287
  opacity: z.ZodDefault<z.ZodNumber>;
2127
- routing: z.ZodDefault<z.ZodEnum<["auto", "orthogonal", "curve", "arc"]>>;
2288
+ routing: z.ZodDefault<z.ZodEnum<["auto", "orthogonal", "curve", "arc", "straight"]>>;
2289
+ curveMode: z.ZodDefault<z.ZodEnum<["normal", "ellipse"]>>;
2128
2290
  tension: z.ZodDefault<z.ZodNumber>;
2129
2291
  fromAnchor: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["top", "bottom", "left", "right", "center"]>, z.ZodObject<{
2130
2292
  x: z.ZodNumber;
@@ -2152,16 +2314,19 @@ declare const connectionElementSchema: z.ZodObject<{
2152
2314
  from: string;
2153
2315
  to: string;
2154
2316
  style: "solid" | "dashed" | "dotted";
2155
- strokeStyle: "solid" | "dashed" | "dotted";
2156
2317
  arrow: "end" | "start" | "both" | "none";
2157
2318
  labelPosition: "end" | "start" | "middle";
2158
2319
  strokeWidth: number;
2159
2320
  arrowPlacement: "endpoint" | "boundary";
2160
- routing: "auto" | "orthogonal" | "curve" | "arc";
2321
+ routing: "auto" | "orthogonal" | "curve" | "arc" | "straight";
2322
+ curveMode: "normal" | "ellipse";
2161
2323
  tension: number;
2162
2324
  width?: number | undefined;
2163
2325
  label?: string | undefined;
2164
2326
  color?: string | undefined;
2327
+ strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
2328
+ fromColor?: string | undefined;
2329
+ toColor?: string | undefined;
2165
2330
  arrowSize?: number | undefined;
2166
2331
  fromAnchor?: "top" | "center" | "left" | "right" | "bottom" | {
2167
2332
  x: number;
@@ -2183,10 +2348,13 @@ declare const connectionElementSchema: z.ZodObject<{
2183
2348
  strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
2184
2349
  arrow?: "end" | "start" | "both" | "none" | undefined;
2185
2350
  labelPosition?: "end" | "start" | "middle" | undefined;
2351
+ fromColor?: string | undefined;
2352
+ toColor?: string | undefined;
2186
2353
  strokeWidth?: number | undefined;
2187
2354
  arrowSize?: number | undefined;
2188
2355
  arrowPlacement?: "endpoint" | "boundary" | undefined;
2189
- routing?: "auto" | "orthogonal" | "curve" | "arc" | undefined;
2356
+ routing?: "auto" | "orthogonal" | "curve" | "arc" | "straight" | undefined;
2357
+ curveMode?: "normal" | "ellipse" | undefined;
2190
2358
  tension?: number | undefined;
2191
2359
  fromAnchor?: "top" | "center" | "left" | "right" | "bottom" | {
2192
2360
  x: number;
@@ -2432,14 +2600,14 @@ declare const shapeElementSchema: z.ZodObject<{
2432
2600
  }, "strict", z.ZodTypeAny, {
2433
2601
  type: "shape";
2434
2602
  id: string;
2435
- shape: "line" | "circle" | "arrow" | "rectangle" | "rounded-rectangle" | "ellipse";
2603
+ shape: "line" | "circle" | "arrow" | "ellipse" | "rectangle" | "rounded-rectangle";
2436
2604
  strokeWidth: number;
2437
2605
  fill?: string | undefined;
2438
2606
  stroke?: string | undefined;
2439
2607
  }, {
2440
2608
  type: "shape";
2441
2609
  id: string;
2442
- shape: "line" | "circle" | "arrow" | "rectangle" | "rounded-rectangle" | "ellipse";
2610
+ shape: "line" | "circle" | "arrow" | "ellipse" | "rectangle" | "rounded-rectangle";
2443
2611
  fill?: string | undefined;
2444
2612
  strokeWidth?: number | undefined;
2445
2613
  stroke?: string | undefined;
@@ -2618,17 +2786,21 @@ declare const elementSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
2618
2786
  from: z.ZodString;
2619
2787
  to: z.ZodString;
2620
2788
  style: z.ZodDefault<z.ZodEnum<["solid", "dashed", "dotted"]>>;
2621
- strokeStyle: z.ZodDefault<z.ZodEnum<["solid", "dashed", "dotted"]>>;
2789
+ /** @deprecated Use `style` instead. */
2790
+ strokeStyle: z.ZodOptional<z.ZodEnum<["solid", "dashed", "dotted"]>>;
2622
2791
  arrow: z.ZodDefault<z.ZodEnum<["end", "start", "both", "none"]>>;
2623
2792
  label: z.ZodOptional<z.ZodString>;
2624
2793
  labelPosition: z.ZodDefault<z.ZodEnum<["start", "middle", "end"]>>;
2625
2794
  color: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2795
+ fromColor: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2796
+ toColor: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
2626
2797
  width: z.ZodOptional<z.ZodNumber>;
2627
2798
  strokeWidth: z.ZodDefault<z.ZodNumber>;
2628
2799
  arrowSize: z.ZodOptional<z.ZodNumber>;
2629
2800
  arrowPlacement: z.ZodDefault<z.ZodEnum<["endpoint", "boundary"]>>;
2630
2801
  opacity: z.ZodDefault<z.ZodNumber>;
2631
- routing: z.ZodDefault<z.ZodEnum<["auto", "orthogonal", "curve", "arc"]>>;
2802
+ routing: z.ZodDefault<z.ZodEnum<["auto", "orthogonal", "curve", "arc", "straight"]>>;
2803
+ curveMode: z.ZodDefault<z.ZodEnum<["normal", "ellipse"]>>;
2632
2804
  tension: z.ZodDefault<z.ZodNumber>;
2633
2805
  fromAnchor: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["top", "bottom", "left", "right", "center"]>, z.ZodObject<{
2634
2806
  x: z.ZodNumber;
@@ -2656,16 +2828,19 @@ declare const elementSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
2656
2828
  from: string;
2657
2829
  to: string;
2658
2830
  style: "solid" | "dashed" | "dotted";
2659
- strokeStyle: "solid" | "dashed" | "dotted";
2660
2831
  arrow: "end" | "start" | "both" | "none";
2661
2832
  labelPosition: "end" | "start" | "middle";
2662
2833
  strokeWidth: number;
2663
2834
  arrowPlacement: "endpoint" | "boundary";
2664
- routing: "auto" | "orthogonal" | "curve" | "arc";
2835
+ routing: "auto" | "orthogonal" | "curve" | "arc" | "straight";
2836
+ curveMode: "normal" | "ellipse";
2665
2837
  tension: number;
2666
2838
  width?: number | undefined;
2667
2839
  label?: string | undefined;
2668
2840
  color?: string | undefined;
2841
+ strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
2842
+ fromColor?: string | undefined;
2843
+ toColor?: string | undefined;
2669
2844
  arrowSize?: number | undefined;
2670
2845
  fromAnchor?: "top" | "center" | "left" | "right" | "bottom" | {
2671
2846
  x: number;
@@ -2687,10 +2862,13 @@ declare const elementSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
2687
2862
  strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
2688
2863
  arrow?: "end" | "start" | "both" | "none" | undefined;
2689
2864
  labelPosition?: "end" | "start" | "middle" | undefined;
2865
+ fromColor?: string | undefined;
2866
+ toColor?: string | undefined;
2690
2867
  strokeWidth?: number | undefined;
2691
2868
  arrowSize?: number | undefined;
2692
2869
  arrowPlacement?: "endpoint" | "boundary" | undefined;
2693
- routing?: "auto" | "orthogonal" | "curve" | "arc" | undefined;
2870
+ routing?: "auto" | "orthogonal" | "curve" | "arc" | "straight" | undefined;
2871
+ curveMode?: "normal" | "ellipse" | undefined;
2694
2872
  tension?: number | undefined;
2695
2873
  fromAnchor?: "top" | "center" | "left" | "right" | "bottom" | {
2696
2874
  x: number;
@@ -2898,14 +3076,14 @@ declare const elementSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
2898
3076
  }, "strict", z.ZodTypeAny, {
2899
3077
  type: "shape";
2900
3078
  id: string;
2901
- shape: "line" | "circle" | "arrow" | "rectangle" | "rounded-rectangle" | "ellipse";
3079
+ shape: "line" | "circle" | "arrow" | "ellipse" | "rectangle" | "rounded-rectangle";
2902
3080
  strokeWidth: number;
2903
3081
  fill?: string | undefined;
2904
3082
  stroke?: string | undefined;
2905
3083
  }, {
2906
3084
  type: "shape";
2907
3085
  id: string;
2908
- shape: "line" | "circle" | "arrow" | "rectangle" | "rounded-rectangle" | "ellipse";
3086
+ shape: "line" | "circle" | "arrow" | "ellipse" | "rectangle" | "rounded-rectangle";
2909
3087
  fill?: string | undefined;
2910
3088
  strokeWidth?: number | undefined;
2911
3089
  stroke?: string | undefined;
@@ -2958,6 +3136,10 @@ declare const autoLayoutConfigSchema: z.ZodObject<{
2958
3136
  x: number;
2959
3137
  y: number;
2960
3138
  }>>;
3139
+ /** Horizontal radius for shared ellipse used by curveMode: 'ellipse'. */
3140
+ ellipseRx: z.ZodOptional<z.ZodNumber>;
3141
+ /** Vertical radius for shared ellipse used by curveMode: 'ellipse'. */
3142
+ ellipseRy: z.ZodOptional<z.ZodNumber>;
2961
3143
  }, "strict", z.ZodTypeAny, {
2962
3144
  mode: "auto";
2963
3145
  direction: "TB" | "BT" | "LR" | "RL";
@@ -2969,6 +3151,8 @@ declare const autoLayoutConfigSchema: z.ZodObject<{
2969
3151
  x: number;
2970
3152
  y: number;
2971
3153
  } | undefined;
3154
+ ellipseRx?: number | undefined;
3155
+ ellipseRy?: number | undefined;
2972
3156
  aspectRatio?: number | undefined;
2973
3157
  radialRoot?: string | undefined;
2974
3158
  radialRadius?: number | undefined;
@@ -2981,6 +3165,8 @@ declare const autoLayoutConfigSchema: z.ZodObject<{
2981
3165
  x: number;
2982
3166
  y: number;
2983
3167
  } | undefined;
3168
+ ellipseRx?: number | undefined;
3169
+ ellipseRy?: number | undefined;
2984
3170
  algorithm?: "box" | "layered" | "stress" | "force" | "radial" | undefined;
2985
3171
  nodeSpacing?: number | undefined;
2986
3172
  rankSpacing?: number | undefined;
@@ -3009,6 +3195,10 @@ declare const gridLayoutConfigSchema: z.ZodObject<{
3009
3195
  x: number;
3010
3196
  y: number;
3011
3197
  }>>;
3198
+ /** Horizontal radius for shared ellipse used by curveMode: 'ellipse'. */
3199
+ ellipseRx: z.ZodOptional<z.ZodNumber>;
3200
+ /** Vertical radius for shared ellipse used by curveMode: 'ellipse'. */
3201
+ ellipseRy: z.ZodOptional<z.ZodNumber>;
3012
3202
  }, "strict", z.ZodTypeAny, {
3013
3203
  mode: "grid";
3014
3204
  gap: number;
@@ -3018,6 +3208,8 @@ declare const gridLayoutConfigSchema: z.ZodObject<{
3018
3208
  x: number;
3019
3209
  y: number;
3020
3210
  } | undefined;
3211
+ ellipseRx?: number | undefined;
3212
+ ellipseRy?: number | undefined;
3021
3213
  cardMinHeight?: number | undefined;
3022
3214
  cardMaxHeight?: number | undefined;
3023
3215
  }, {
@@ -3027,6 +3219,8 @@ declare const gridLayoutConfigSchema: z.ZodObject<{
3027
3219
  x: number;
3028
3220
  y: number;
3029
3221
  } | undefined;
3222
+ ellipseRx?: number | undefined;
3223
+ ellipseRy?: number | undefined;
3030
3224
  columns?: number | undefined;
3031
3225
  cardMinHeight?: number | undefined;
3032
3226
  cardMaxHeight?: number | undefined;
@@ -3048,6 +3242,10 @@ declare const stackLayoutConfigSchema: z.ZodObject<{
3048
3242
  x: number;
3049
3243
  y: number;
3050
3244
  }>>;
3245
+ /** Horizontal radius for shared ellipse used by curveMode: 'ellipse'. */
3246
+ ellipseRx: z.ZodOptional<z.ZodNumber>;
3247
+ /** Vertical radius for shared ellipse used by curveMode: 'ellipse'. */
3248
+ ellipseRy: z.ZodOptional<z.ZodNumber>;
3051
3249
  }, "strict", z.ZodTypeAny, {
3052
3250
  mode: "stack";
3053
3251
  direction: "vertical" | "horizontal";
@@ -3057,6 +3255,8 @@ declare const stackLayoutConfigSchema: z.ZodObject<{
3057
3255
  x: number;
3058
3256
  y: number;
3059
3257
  } | undefined;
3258
+ ellipseRx?: number | undefined;
3259
+ ellipseRy?: number | undefined;
3060
3260
  }, {
3061
3261
  mode: "stack";
3062
3262
  direction?: "vertical" | "horizontal" | undefined;
@@ -3066,6 +3266,8 @@ declare const stackLayoutConfigSchema: z.ZodObject<{
3066
3266
  x: number;
3067
3267
  y: number;
3068
3268
  } | undefined;
3269
+ ellipseRx?: number | undefined;
3270
+ ellipseRy?: number | undefined;
3069
3271
  }>;
3070
3272
  declare const manualLayoutConfigSchema: z.ZodObject<{
3071
3273
  mode: z.ZodLiteral<"manual">;
@@ -3096,6 +3298,10 @@ declare const manualLayoutConfigSchema: z.ZodObject<{
3096
3298
  x: number;
3097
3299
  y: number;
3098
3300
  }>>;
3301
+ /** Horizontal radius for shared ellipse used by curveMode: 'ellipse'. */
3302
+ ellipseRx: z.ZodOptional<z.ZodNumber>;
3303
+ /** Vertical radius for shared ellipse used by curveMode: 'ellipse'. */
3304
+ ellipseRy: z.ZodOptional<z.ZodNumber>;
3099
3305
  }, "strict", z.ZodTypeAny, {
3100
3306
  mode: "manual";
3101
3307
  positions: Record<string, {
@@ -3108,12 +3314,16 @@ declare const manualLayoutConfigSchema: z.ZodObject<{
3108
3314
  x: number;
3109
3315
  y: number;
3110
3316
  } | undefined;
3317
+ ellipseRx?: number | undefined;
3318
+ ellipseRy?: number | undefined;
3111
3319
  }, {
3112
3320
  mode: "manual";
3113
3321
  diagramCenter?: {
3114
3322
  x: number;
3115
3323
  y: number;
3116
3324
  } | undefined;
3325
+ ellipseRx?: number | undefined;
3326
+ ellipseRy?: number | undefined;
3117
3327
  positions?: Record<string, {
3118
3328
  x: number;
3119
3329
  y: number;
@@ -3148,6 +3358,10 @@ declare const layoutConfigSchema: z.ZodDiscriminatedUnion<"mode", [z.ZodObject<{
3148
3358
  x: number;
3149
3359
  y: number;
3150
3360
  }>>;
3361
+ /** Horizontal radius for shared ellipse used by curveMode: 'ellipse'. */
3362
+ ellipseRx: z.ZodOptional<z.ZodNumber>;
3363
+ /** Vertical radius for shared ellipse used by curveMode: 'ellipse'. */
3364
+ ellipseRy: z.ZodOptional<z.ZodNumber>;
3151
3365
  }, "strict", z.ZodTypeAny, {
3152
3366
  mode: "auto";
3153
3367
  direction: "TB" | "BT" | "LR" | "RL";
@@ -3159,6 +3373,8 @@ declare const layoutConfigSchema: z.ZodDiscriminatedUnion<"mode", [z.ZodObject<{
3159
3373
  x: number;
3160
3374
  y: number;
3161
3375
  } | undefined;
3376
+ ellipseRx?: number | undefined;
3377
+ ellipseRy?: number | undefined;
3162
3378
  aspectRatio?: number | undefined;
3163
3379
  radialRoot?: string | undefined;
3164
3380
  radialRadius?: number | undefined;
@@ -3171,6 +3387,8 @@ declare const layoutConfigSchema: z.ZodDiscriminatedUnion<"mode", [z.ZodObject<{
3171
3387
  x: number;
3172
3388
  y: number;
3173
3389
  } | undefined;
3390
+ ellipseRx?: number | undefined;
3391
+ ellipseRy?: number | undefined;
3174
3392
  algorithm?: "box" | "layered" | "stress" | "force" | "radial" | undefined;
3175
3393
  nodeSpacing?: number | undefined;
3176
3394
  rankSpacing?: number | undefined;
@@ -3198,6 +3416,10 @@ declare const layoutConfigSchema: z.ZodDiscriminatedUnion<"mode", [z.ZodObject<{
3198
3416
  x: number;
3199
3417
  y: number;
3200
3418
  }>>;
3419
+ /** Horizontal radius for shared ellipse used by curveMode: 'ellipse'. */
3420
+ ellipseRx: z.ZodOptional<z.ZodNumber>;
3421
+ /** Vertical radius for shared ellipse used by curveMode: 'ellipse'. */
3422
+ ellipseRy: z.ZodOptional<z.ZodNumber>;
3201
3423
  }, "strict", z.ZodTypeAny, {
3202
3424
  mode: "grid";
3203
3425
  gap: number;
@@ -3207,6 +3429,8 @@ declare const layoutConfigSchema: z.ZodDiscriminatedUnion<"mode", [z.ZodObject<{
3207
3429
  x: number;
3208
3430
  y: number;
3209
3431
  } | undefined;
3432
+ ellipseRx?: number | undefined;
3433
+ ellipseRy?: number | undefined;
3210
3434
  cardMinHeight?: number | undefined;
3211
3435
  cardMaxHeight?: number | undefined;
3212
3436
  }, {
@@ -3216,6 +3440,8 @@ declare const layoutConfigSchema: z.ZodDiscriminatedUnion<"mode", [z.ZodObject<{
3216
3440
  x: number;
3217
3441
  y: number;
3218
3442
  } | undefined;
3443
+ ellipseRx?: number | undefined;
3444
+ ellipseRy?: number | undefined;
3219
3445
  columns?: number | undefined;
3220
3446
  cardMinHeight?: number | undefined;
3221
3447
  cardMaxHeight?: number | undefined;
@@ -3236,6 +3462,10 @@ declare const layoutConfigSchema: z.ZodDiscriminatedUnion<"mode", [z.ZodObject<{
3236
3462
  x: number;
3237
3463
  y: number;
3238
3464
  }>>;
3465
+ /** Horizontal radius for shared ellipse used by curveMode: 'ellipse'. */
3466
+ ellipseRx: z.ZodOptional<z.ZodNumber>;
3467
+ /** Vertical radius for shared ellipse used by curveMode: 'ellipse'. */
3468
+ ellipseRy: z.ZodOptional<z.ZodNumber>;
3239
3469
  }, "strict", z.ZodTypeAny, {
3240
3470
  mode: "stack";
3241
3471
  direction: "vertical" | "horizontal";
@@ -3245,6 +3475,8 @@ declare const layoutConfigSchema: z.ZodDiscriminatedUnion<"mode", [z.ZodObject<{
3245
3475
  x: number;
3246
3476
  y: number;
3247
3477
  } | undefined;
3478
+ ellipseRx?: number | undefined;
3479
+ ellipseRy?: number | undefined;
3248
3480
  }, {
3249
3481
  mode: "stack";
3250
3482
  direction?: "vertical" | "horizontal" | undefined;
@@ -3254,6 +3486,8 @@ declare const layoutConfigSchema: z.ZodDiscriminatedUnion<"mode", [z.ZodObject<{
3254
3486
  x: number;
3255
3487
  y: number;
3256
3488
  } | undefined;
3489
+ ellipseRx?: number | undefined;
3490
+ ellipseRy?: number | undefined;
3257
3491
  }>, z.ZodObject<{
3258
3492
  mode: z.ZodLiteral<"manual">;
3259
3493
  positions: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
@@ -3283,6 +3517,10 @@ declare const layoutConfigSchema: z.ZodDiscriminatedUnion<"mode", [z.ZodObject<{
3283
3517
  x: number;
3284
3518
  y: number;
3285
3519
  }>>;
3520
+ /** Horizontal radius for shared ellipse used by curveMode: 'ellipse'. */
3521
+ ellipseRx: z.ZodOptional<z.ZodNumber>;
3522
+ /** Vertical radius for shared ellipse used by curveMode: 'ellipse'. */
3523
+ ellipseRy: z.ZodOptional<z.ZodNumber>;
3286
3524
  }, "strict", z.ZodTypeAny, {
3287
3525
  mode: "manual";
3288
3526
  positions: Record<string, {
@@ -3295,12 +3533,16 @@ declare const layoutConfigSchema: z.ZodDiscriminatedUnion<"mode", [z.ZodObject<{
3295
3533
  x: number;
3296
3534
  y: number;
3297
3535
  } | undefined;
3536
+ ellipseRx?: number | undefined;
3537
+ ellipseRy?: number | undefined;
3298
3538
  }, {
3299
3539
  mode: "manual";
3300
3540
  diagramCenter?: {
3301
3541
  x: number;
3302
3542
  y: number;
3303
3543
  } | undefined;
3544
+ ellipseRx?: number | undefined;
3545
+ ellipseRy?: number | undefined;
3304
3546
  positions?: Record<string, {
3305
3547
  x: number;
3306
3548
  y: number;
@@ -3725,17 +3967,21 @@ declare const diagramElementSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject
3725
3967
  from: z.ZodString;
3726
3968
  to: z.ZodString;
3727
3969
  style: z.ZodDefault<z.ZodEnum<["solid", "dashed", "dotted"]>>;
3728
- strokeStyle: z.ZodDefault<z.ZodEnum<["solid", "dashed", "dotted"]>>;
3970
+ /** @deprecated Use `style` instead. */
3971
+ strokeStyle: z.ZodOptional<z.ZodEnum<["solid", "dashed", "dotted"]>>;
3729
3972
  arrow: z.ZodDefault<z.ZodEnum<["end", "start", "both", "none"]>>;
3730
3973
  label: z.ZodOptional<z.ZodString>;
3731
3974
  labelPosition: z.ZodDefault<z.ZodEnum<["start", "middle", "end"]>>;
3732
3975
  color: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3976
+ fromColor: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3977
+ toColor: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
3733
3978
  width: z.ZodOptional<z.ZodNumber>;
3734
3979
  strokeWidth: z.ZodDefault<z.ZodNumber>;
3735
3980
  arrowSize: z.ZodOptional<z.ZodNumber>;
3736
3981
  arrowPlacement: z.ZodDefault<z.ZodEnum<["endpoint", "boundary"]>>;
3737
3982
  opacity: z.ZodDefault<z.ZodNumber>;
3738
- routing: z.ZodDefault<z.ZodEnum<["auto", "orthogonal", "curve", "arc"]>>;
3983
+ routing: z.ZodDefault<z.ZodEnum<["auto", "orthogonal", "curve", "arc", "straight"]>>;
3984
+ curveMode: z.ZodDefault<z.ZodEnum<["normal", "ellipse"]>>;
3739
3985
  tension: z.ZodDefault<z.ZodNumber>;
3740
3986
  fromAnchor: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["top", "bottom", "left", "right", "center"]>, z.ZodObject<{
3741
3987
  x: z.ZodNumber;
@@ -3763,16 +4009,19 @@ declare const diagramElementSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject
3763
4009
  from: string;
3764
4010
  to: string;
3765
4011
  style: "solid" | "dashed" | "dotted";
3766
- strokeStyle: "solid" | "dashed" | "dotted";
3767
4012
  arrow: "end" | "start" | "both" | "none";
3768
4013
  labelPosition: "end" | "start" | "middle";
3769
4014
  strokeWidth: number;
3770
4015
  arrowPlacement: "endpoint" | "boundary";
3771
- routing: "auto" | "orthogonal" | "curve" | "arc";
4016
+ routing: "auto" | "orthogonal" | "curve" | "arc" | "straight";
4017
+ curveMode: "normal" | "ellipse";
3772
4018
  tension: number;
3773
4019
  width?: number | undefined;
3774
4020
  label?: string | undefined;
3775
4021
  color?: string | undefined;
4022
+ strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
4023
+ fromColor?: string | undefined;
4024
+ toColor?: string | undefined;
3776
4025
  arrowSize?: number | undefined;
3777
4026
  fromAnchor?: "top" | "center" | "left" | "right" | "bottom" | {
3778
4027
  x: number;
@@ -3794,10 +4043,13 @@ declare const diagramElementSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject
3794
4043
  strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
3795
4044
  arrow?: "end" | "start" | "both" | "none" | undefined;
3796
4045
  labelPosition?: "end" | "start" | "middle" | undefined;
4046
+ fromColor?: string | undefined;
4047
+ toColor?: string | undefined;
3797
4048
  strokeWidth?: number | undefined;
3798
4049
  arrowSize?: number | undefined;
3799
4050
  arrowPlacement?: "endpoint" | "boundary" | undefined;
3800
- routing?: "auto" | "orthogonal" | "curve" | "arc" | undefined;
4051
+ routing?: "auto" | "orthogonal" | "curve" | "arc" | "straight" | undefined;
4052
+ curveMode?: "normal" | "ellipse" | undefined;
3801
4053
  tension?: number | undefined;
3802
4054
  fromAnchor?: "top" | "center" | "left" | "right" | "bottom" | {
3803
4055
  x: number;
@@ -3836,12 +4088,18 @@ declare const diagramLayoutSchema: z.ZodObject<{
3836
4088
  x: number;
3837
4089
  y: number;
3838
4090
  }>>;
4091
+ /** Horizontal radius for shared ellipse used by curveMode: 'ellipse'. */
4092
+ ellipseRx: z.ZodOptional<z.ZodNumber>;
4093
+ /** Vertical radius for shared ellipse used by curveMode: 'ellipse'. */
4094
+ ellipseRy: z.ZodOptional<z.ZodNumber>;
3839
4095
  }, "strict", z.ZodTypeAny, {
3840
4096
  mode: "auto" | "manual";
3841
4097
  diagramCenter?: {
3842
4098
  x: number;
3843
4099
  y: number;
3844
4100
  } | undefined;
4101
+ ellipseRx?: number | undefined;
4102
+ ellipseRy?: number | undefined;
3845
4103
  positions?: Record<string, {
3846
4104
  width: number;
3847
4105
  height: number;
@@ -3854,6 +4112,8 @@ declare const diagramLayoutSchema: z.ZodObject<{
3854
4112
  x: number;
3855
4113
  y: number;
3856
4114
  } | undefined;
4115
+ ellipseRx?: number | undefined;
4116
+ ellipseRy?: number | undefined;
3857
4117
  positions?: Record<string, {
3858
4118
  width: number;
3859
4119
  height: number;
@@ -4131,17 +4391,21 @@ declare const diagramSpecSchema: z.ZodObject<{
4131
4391
  from: z.ZodString;
4132
4392
  to: z.ZodString;
4133
4393
  style: z.ZodDefault<z.ZodEnum<["solid", "dashed", "dotted"]>>;
4134
- strokeStyle: z.ZodDefault<z.ZodEnum<["solid", "dashed", "dotted"]>>;
4394
+ /** @deprecated Use `style` instead. */
4395
+ strokeStyle: z.ZodOptional<z.ZodEnum<["solid", "dashed", "dotted"]>>;
4135
4396
  arrow: z.ZodDefault<z.ZodEnum<["end", "start", "both", "none"]>>;
4136
4397
  label: z.ZodOptional<z.ZodString>;
4137
4398
  labelPosition: z.ZodDefault<z.ZodEnum<["start", "middle", "end"]>>;
4138
4399
  color: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
4400
+ fromColor: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
4401
+ toColor: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
4139
4402
  width: z.ZodOptional<z.ZodNumber>;
4140
4403
  strokeWidth: z.ZodDefault<z.ZodNumber>;
4141
4404
  arrowSize: z.ZodOptional<z.ZodNumber>;
4142
4405
  arrowPlacement: z.ZodDefault<z.ZodEnum<["endpoint", "boundary"]>>;
4143
4406
  opacity: z.ZodDefault<z.ZodNumber>;
4144
- routing: z.ZodDefault<z.ZodEnum<["auto", "orthogonal", "curve", "arc"]>>;
4407
+ routing: z.ZodDefault<z.ZodEnum<["auto", "orthogonal", "curve", "arc", "straight"]>>;
4408
+ curveMode: z.ZodDefault<z.ZodEnum<["normal", "ellipse"]>>;
4145
4409
  tension: z.ZodDefault<z.ZodNumber>;
4146
4410
  fromAnchor: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["top", "bottom", "left", "right", "center"]>, z.ZodObject<{
4147
4411
  x: z.ZodNumber;
@@ -4169,16 +4433,19 @@ declare const diagramSpecSchema: z.ZodObject<{
4169
4433
  from: string;
4170
4434
  to: string;
4171
4435
  style: "solid" | "dashed" | "dotted";
4172
- strokeStyle: "solid" | "dashed" | "dotted";
4173
4436
  arrow: "end" | "start" | "both" | "none";
4174
4437
  labelPosition: "end" | "start" | "middle";
4175
4438
  strokeWidth: number;
4176
4439
  arrowPlacement: "endpoint" | "boundary";
4177
- routing: "auto" | "orthogonal" | "curve" | "arc";
4440
+ routing: "auto" | "orthogonal" | "curve" | "arc" | "straight";
4441
+ curveMode: "normal" | "ellipse";
4178
4442
  tension: number;
4179
4443
  width?: number | undefined;
4180
4444
  label?: string | undefined;
4181
4445
  color?: string | undefined;
4446
+ strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
4447
+ fromColor?: string | undefined;
4448
+ toColor?: string | undefined;
4182
4449
  arrowSize?: number | undefined;
4183
4450
  fromAnchor?: "top" | "center" | "left" | "right" | "bottom" | {
4184
4451
  x: number;
@@ -4200,10 +4467,13 @@ declare const diagramSpecSchema: z.ZodObject<{
4200
4467
  strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
4201
4468
  arrow?: "end" | "start" | "both" | "none" | undefined;
4202
4469
  labelPosition?: "end" | "start" | "middle" | undefined;
4470
+ fromColor?: string | undefined;
4471
+ toColor?: string | undefined;
4203
4472
  strokeWidth?: number | undefined;
4204
4473
  arrowSize?: number | undefined;
4205
4474
  arrowPlacement?: "endpoint" | "boundary" | undefined;
4206
- routing?: "auto" | "orthogonal" | "curve" | "arc" | undefined;
4475
+ routing?: "auto" | "orthogonal" | "curve" | "arc" | "straight" | undefined;
4476
+ curveMode?: "normal" | "ellipse" | undefined;
4207
4477
  tension?: number | undefined;
4208
4478
  fromAnchor?: "top" | "center" | "left" | "right" | "bottom" | {
4209
4479
  x: number;
@@ -4242,12 +4512,18 @@ declare const diagramSpecSchema: z.ZodObject<{
4242
4512
  x: number;
4243
4513
  y: number;
4244
4514
  }>>;
4515
+ /** Horizontal radius for shared ellipse used by curveMode: 'ellipse'. */
4516
+ ellipseRx: z.ZodOptional<z.ZodNumber>;
4517
+ /** Vertical radius for shared ellipse used by curveMode: 'ellipse'. */
4518
+ ellipseRy: z.ZodOptional<z.ZodNumber>;
4245
4519
  }, "strict", z.ZodTypeAny, {
4246
4520
  mode: "auto" | "manual";
4247
4521
  diagramCenter?: {
4248
4522
  x: number;
4249
4523
  y: number;
4250
4524
  } | undefined;
4525
+ ellipseRx?: number | undefined;
4526
+ ellipseRy?: number | undefined;
4251
4527
  positions?: Record<string, {
4252
4528
  width: number;
4253
4529
  height: number;
@@ -4260,6 +4536,8 @@ declare const diagramSpecSchema: z.ZodObject<{
4260
4536
  x: number;
4261
4537
  y: number;
4262
4538
  } | undefined;
4539
+ ellipseRx?: number | undefined;
4540
+ ellipseRy?: number | undefined;
4263
4541
  positions?: Record<string, {
4264
4542
  width: number;
4265
4543
  height: number;
@@ -4315,16 +4593,19 @@ declare const diagramSpecSchema: z.ZodObject<{
4315
4593
  from: string;
4316
4594
  to: string;
4317
4595
  style: "solid" | "dashed" | "dotted";
4318
- strokeStyle: "solid" | "dashed" | "dotted";
4319
4596
  arrow: "end" | "start" | "both" | "none";
4320
4597
  labelPosition: "end" | "start" | "middle";
4321
4598
  strokeWidth: number;
4322
4599
  arrowPlacement: "endpoint" | "boundary";
4323
- routing: "auto" | "orthogonal" | "curve" | "arc";
4600
+ routing: "auto" | "orthogonal" | "curve" | "arc" | "straight";
4601
+ curveMode: "normal" | "ellipse";
4324
4602
  tension: number;
4325
4603
  width?: number | undefined;
4326
4604
  label?: string | undefined;
4327
4605
  color?: string | undefined;
4606
+ strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
4607
+ fromColor?: string | undefined;
4608
+ toColor?: string | undefined;
4328
4609
  arrowSize?: number | undefined;
4329
4610
  fromAnchor?: "top" | "center" | "left" | "right" | "bottom" | {
4330
4611
  x: number;
@@ -4341,6 +4622,8 @@ declare const diagramSpecSchema: z.ZodObject<{
4341
4622
  x: number;
4342
4623
  y: number;
4343
4624
  } | undefined;
4625
+ ellipseRx?: number | undefined;
4626
+ ellipseRy?: number | undefined;
4344
4627
  positions?: Record<string, {
4345
4628
  width: number;
4346
4629
  height: number;
@@ -4433,10 +4716,13 @@ declare const diagramSpecSchema: z.ZodObject<{
4433
4716
  strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
4434
4717
  arrow?: "end" | "start" | "both" | "none" | undefined;
4435
4718
  labelPosition?: "end" | "start" | "middle" | undefined;
4719
+ fromColor?: string | undefined;
4720
+ toColor?: string | undefined;
4436
4721
  strokeWidth?: number | undefined;
4437
4722
  arrowSize?: number | undefined;
4438
4723
  arrowPlacement?: "endpoint" | "boundary" | undefined;
4439
- routing?: "auto" | "orthogonal" | "curve" | "arc" | undefined;
4724
+ routing?: "auto" | "orthogonal" | "curve" | "arc" | "straight" | undefined;
4725
+ curveMode?: "normal" | "ellipse" | undefined;
4440
4726
  tension?: number | undefined;
4441
4727
  fromAnchor?: "top" | "center" | "left" | "right" | "bottom" | {
4442
4728
  x: number;
@@ -4492,6 +4778,8 @@ declare const diagramSpecSchema: z.ZodObject<{
4492
4778
  x: number;
4493
4779
  y: number;
4494
4780
  } | undefined;
4781
+ ellipseRx?: number | undefined;
4782
+ ellipseRy?: number | undefined;
4495
4783
  positions?: Record<string, {
4496
4784
  width: number;
4497
4785
  height: number;
@@ -4887,17 +5175,21 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
4887
5175
  from: z.ZodString;
4888
5176
  to: z.ZodString;
4889
5177
  style: z.ZodDefault<z.ZodEnum<["solid", "dashed", "dotted"]>>;
4890
- strokeStyle: z.ZodDefault<z.ZodEnum<["solid", "dashed", "dotted"]>>;
5178
+ /** @deprecated Use `style` instead. */
5179
+ strokeStyle: z.ZodOptional<z.ZodEnum<["solid", "dashed", "dotted"]>>;
4891
5180
  arrow: z.ZodDefault<z.ZodEnum<["end", "start", "both", "none"]>>;
4892
5181
  label: z.ZodOptional<z.ZodString>;
4893
5182
  labelPosition: z.ZodDefault<z.ZodEnum<["start", "middle", "end"]>>;
4894
5183
  color: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
5184
+ fromColor: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
5185
+ toColor: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
4895
5186
  width: z.ZodOptional<z.ZodNumber>;
4896
5187
  strokeWidth: z.ZodDefault<z.ZodNumber>;
4897
5188
  arrowSize: z.ZodOptional<z.ZodNumber>;
4898
5189
  arrowPlacement: z.ZodDefault<z.ZodEnum<["endpoint", "boundary"]>>;
4899
5190
  opacity: z.ZodDefault<z.ZodNumber>;
4900
- routing: z.ZodDefault<z.ZodEnum<["auto", "orthogonal", "curve", "arc"]>>;
5191
+ routing: z.ZodDefault<z.ZodEnum<["auto", "orthogonal", "curve", "arc", "straight"]>>;
5192
+ curveMode: z.ZodDefault<z.ZodEnum<["normal", "ellipse"]>>;
4901
5193
  tension: z.ZodDefault<z.ZodNumber>;
4902
5194
  fromAnchor: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["top", "bottom", "left", "right", "center"]>, z.ZodObject<{
4903
5195
  x: z.ZodNumber;
@@ -4925,16 +5217,19 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
4925
5217
  from: string;
4926
5218
  to: string;
4927
5219
  style: "solid" | "dashed" | "dotted";
4928
- strokeStyle: "solid" | "dashed" | "dotted";
4929
5220
  arrow: "end" | "start" | "both" | "none";
4930
5221
  labelPosition: "end" | "start" | "middle";
4931
5222
  strokeWidth: number;
4932
5223
  arrowPlacement: "endpoint" | "boundary";
4933
- routing: "auto" | "orthogonal" | "curve" | "arc";
5224
+ routing: "auto" | "orthogonal" | "curve" | "arc" | "straight";
5225
+ curveMode: "normal" | "ellipse";
4934
5226
  tension: number;
4935
5227
  width?: number | undefined;
4936
5228
  label?: string | undefined;
4937
5229
  color?: string | undefined;
5230
+ strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
5231
+ fromColor?: string | undefined;
5232
+ toColor?: string | undefined;
4938
5233
  arrowSize?: number | undefined;
4939
5234
  fromAnchor?: "top" | "center" | "left" | "right" | "bottom" | {
4940
5235
  x: number;
@@ -4956,10 +5251,13 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
4956
5251
  strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
4957
5252
  arrow?: "end" | "start" | "both" | "none" | undefined;
4958
5253
  labelPosition?: "end" | "start" | "middle" | undefined;
5254
+ fromColor?: string | undefined;
5255
+ toColor?: string | undefined;
4959
5256
  strokeWidth?: number | undefined;
4960
5257
  arrowSize?: number | undefined;
4961
5258
  arrowPlacement?: "endpoint" | "boundary" | undefined;
4962
- routing?: "auto" | "orthogonal" | "curve" | "arc" | undefined;
5259
+ routing?: "auto" | "orthogonal" | "curve" | "arc" | "straight" | undefined;
5260
+ curveMode?: "normal" | "ellipse" | undefined;
4963
5261
  tension?: number | undefined;
4964
5262
  fromAnchor?: "top" | "center" | "left" | "right" | "bottom" | {
4965
5263
  x: number;
@@ -5167,14 +5465,14 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
5167
5465
  }, "strict", z.ZodTypeAny, {
5168
5466
  type: "shape";
5169
5467
  id: string;
5170
- shape: "line" | "circle" | "arrow" | "rectangle" | "rounded-rectangle" | "ellipse";
5468
+ shape: "line" | "circle" | "arrow" | "ellipse" | "rectangle" | "rounded-rectangle";
5171
5469
  strokeWidth: number;
5172
5470
  fill?: string | undefined;
5173
5471
  stroke?: string | undefined;
5174
5472
  }, {
5175
5473
  type: "shape";
5176
5474
  id: string;
5177
- shape: "line" | "circle" | "arrow" | "rectangle" | "rounded-rectangle" | "ellipse";
5475
+ shape: "line" | "circle" | "arrow" | "ellipse" | "rectangle" | "rounded-rectangle";
5178
5476
  fill?: string | undefined;
5179
5477
  strokeWidth?: number | undefined;
5180
5478
  stroke?: string | undefined;
@@ -5603,6 +5901,79 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
5603
5901
  arrow?: "end" | "start" | "both" | "none" | undefined;
5604
5902
  arrowSize?: number | undefined;
5605
5903
  dash?: number[] | undefined;
5904
+ }>, z.ZodObject<{
5905
+ type: z.ZodLiteral<"arc">;
5906
+ center: z.ZodObject<{
5907
+ x: z.ZodNumber;
5908
+ y: z.ZodNumber;
5909
+ }, "strict", z.ZodTypeAny, {
5910
+ x: number;
5911
+ y: number;
5912
+ }, {
5913
+ x: number;
5914
+ y: number;
5915
+ }>;
5916
+ radius: z.ZodNumber;
5917
+ startAngle: z.ZodNumber;
5918
+ endAngle: z.ZodNumber;
5919
+ color: z.ZodDefault<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
5920
+ width: z.ZodDefault<z.ZodNumber>;
5921
+ dash: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
5922
+ opacity: z.ZodDefault<z.ZodNumber>;
5923
+ shadow: z.ZodOptional<z.ZodObject<{
5924
+ color: z.ZodDefault<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
5925
+ blur: z.ZodDefault<z.ZodNumber>;
5926
+ offsetX: z.ZodDefault<z.ZodNumber>;
5927
+ offsetY: z.ZodDefault<z.ZodNumber>;
5928
+ }, "strict", z.ZodTypeAny, {
5929
+ color: string;
5930
+ blur: number;
5931
+ offsetX: number;
5932
+ offsetY: number;
5933
+ }, {
5934
+ color?: string | undefined;
5935
+ blur?: number | undefined;
5936
+ offsetX?: number | undefined;
5937
+ offsetY?: number | undefined;
5938
+ }>>;
5939
+ }, "strict", z.ZodTypeAny, {
5940
+ width: number;
5941
+ type: "arc";
5942
+ color: string;
5943
+ opacity: number;
5944
+ center: {
5945
+ x: number;
5946
+ y: number;
5947
+ };
5948
+ radius: number;
5949
+ startAngle: number;
5950
+ endAngle: number;
5951
+ shadow?: {
5952
+ color: string;
5953
+ blur: number;
5954
+ offsetX: number;
5955
+ offsetY: number;
5956
+ } | undefined;
5957
+ dash?: number[] | undefined;
5958
+ }, {
5959
+ type: "arc";
5960
+ center: {
5961
+ x: number;
5962
+ y: number;
5963
+ };
5964
+ radius: number;
5965
+ startAngle: number;
5966
+ endAngle: number;
5967
+ width?: number | undefined;
5968
+ color?: string | undefined;
5969
+ opacity?: number | undefined;
5970
+ shadow?: {
5971
+ color?: string | undefined;
5972
+ blur?: number | undefined;
5973
+ offsetX?: number | undefined;
5974
+ offsetY?: number | undefined;
5975
+ } | undefined;
5976
+ dash?: number[] | undefined;
5606
5977
  }>, z.ZodObject<{
5607
5978
  type: z.ZodLiteral<"bezier">;
5608
5979
  points: z.ZodArray<z.ZodObject<{
@@ -6059,6 +6430,10 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
6059
6430
  x: number;
6060
6431
  y: number;
6061
6432
  }>>;
6433
+ /** Horizontal radius for shared ellipse used by curveMode: 'ellipse'. */
6434
+ ellipseRx: z.ZodOptional<z.ZodNumber>;
6435
+ /** Vertical radius for shared ellipse used by curveMode: 'ellipse'. */
6436
+ ellipseRy: z.ZodOptional<z.ZodNumber>;
6062
6437
  }, "strict", z.ZodTypeAny, {
6063
6438
  mode: "auto";
6064
6439
  direction: "TB" | "BT" | "LR" | "RL";
@@ -6070,6 +6445,8 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
6070
6445
  x: number;
6071
6446
  y: number;
6072
6447
  } | undefined;
6448
+ ellipseRx?: number | undefined;
6449
+ ellipseRy?: number | undefined;
6073
6450
  aspectRatio?: number | undefined;
6074
6451
  radialRoot?: string | undefined;
6075
6452
  radialRadius?: number | undefined;
@@ -6082,6 +6459,8 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
6082
6459
  x: number;
6083
6460
  y: number;
6084
6461
  } | undefined;
6462
+ ellipseRx?: number | undefined;
6463
+ ellipseRy?: number | undefined;
6085
6464
  algorithm?: "box" | "layered" | "stress" | "force" | "radial" | undefined;
6086
6465
  nodeSpacing?: number | undefined;
6087
6466
  rankSpacing?: number | undefined;
@@ -6109,6 +6488,10 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
6109
6488
  x: number;
6110
6489
  y: number;
6111
6490
  }>>;
6491
+ /** Horizontal radius for shared ellipse used by curveMode: 'ellipse'. */
6492
+ ellipseRx: z.ZodOptional<z.ZodNumber>;
6493
+ /** Vertical radius for shared ellipse used by curveMode: 'ellipse'. */
6494
+ ellipseRy: z.ZodOptional<z.ZodNumber>;
6112
6495
  }, "strict", z.ZodTypeAny, {
6113
6496
  mode: "grid";
6114
6497
  gap: number;
@@ -6118,6 +6501,8 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
6118
6501
  x: number;
6119
6502
  y: number;
6120
6503
  } | undefined;
6504
+ ellipseRx?: number | undefined;
6505
+ ellipseRy?: number | undefined;
6121
6506
  cardMinHeight?: number | undefined;
6122
6507
  cardMaxHeight?: number | undefined;
6123
6508
  }, {
@@ -6127,6 +6512,8 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
6127
6512
  x: number;
6128
6513
  y: number;
6129
6514
  } | undefined;
6515
+ ellipseRx?: number | undefined;
6516
+ ellipseRy?: number | undefined;
6130
6517
  columns?: number | undefined;
6131
6518
  cardMinHeight?: number | undefined;
6132
6519
  cardMaxHeight?: number | undefined;
@@ -6147,6 +6534,10 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
6147
6534
  x: number;
6148
6535
  y: number;
6149
6536
  }>>;
6537
+ /** Horizontal radius for shared ellipse used by curveMode: 'ellipse'. */
6538
+ ellipseRx: z.ZodOptional<z.ZodNumber>;
6539
+ /** Vertical radius for shared ellipse used by curveMode: 'ellipse'. */
6540
+ ellipseRy: z.ZodOptional<z.ZodNumber>;
6150
6541
  }, "strict", z.ZodTypeAny, {
6151
6542
  mode: "stack";
6152
6543
  direction: "vertical" | "horizontal";
@@ -6156,6 +6547,8 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
6156
6547
  x: number;
6157
6548
  y: number;
6158
6549
  } | undefined;
6550
+ ellipseRx?: number | undefined;
6551
+ ellipseRy?: number | undefined;
6159
6552
  }, {
6160
6553
  mode: "stack";
6161
6554
  direction?: "vertical" | "horizontal" | undefined;
@@ -6165,6 +6558,8 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
6165
6558
  x: number;
6166
6559
  y: number;
6167
6560
  } | undefined;
6561
+ ellipseRx?: number | undefined;
6562
+ ellipseRy?: number | undefined;
6168
6563
  }>, z.ZodObject<{
6169
6564
  mode: z.ZodLiteral<"manual">;
6170
6565
  positions: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
@@ -6194,6 +6589,10 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
6194
6589
  x: number;
6195
6590
  y: number;
6196
6591
  }>>;
6592
+ /** Horizontal radius for shared ellipse used by curveMode: 'ellipse'. */
6593
+ ellipseRx: z.ZodOptional<z.ZodNumber>;
6594
+ /** Vertical radius for shared ellipse used by curveMode: 'ellipse'. */
6595
+ ellipseRy: z.ZodOptional<z.ZodNumber>;
6197
6596
  }, "strict", z.ZodTypeAny, {
6198
6597
  mode: "manual";
6199
6598
  positions: Record<string, {
@@ -6206,12 +6605,16 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
6206
6605
  x: number;
6207
6606
  y: number;
6208
6607
  } | undefined;
6608
+ ellipseRx?: number | undefined;
6609
+ ellipseRy?: number | undefined;
6209
6610
  }, {
6210
6611
  mode: "manual";
6211
6612
  diagramCenter?: {
6212
6613
  x: number;
6213
6614
  y: number;
6214
6615
  } | undefined;
6616
+ ellipseRx?: number | undefined;
6617
+ ellipseRy?: number | undefined;
6215
6618
  positions?: Record<string, {
6216
6619
  x: number;
6217
6620
  y: number;
@@ -6306,6 +6709,25 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
6306
6709
  offsetY: number;
6307
6710
  } | undefined;
6308
6711
  dash?: number[] | undefined;
6712
+ } | {
6713
+ width: number;
6714
+ type: "arc";
6715
+ color: string;
6716
+ opacity: number;
6717
+ center: {
6718
+ x: number;
6719
+ y: number;
6720
+ };
6721
+ radius: number;
6722
+ startAngle: number;
6723
+ endAngle: number;
6724
+ shadow?: {
6725
+ color: string;
6726
+ blur: number;
6727
+ offsetX: number;
6728
+ offsetY: number;
6729
+ } | undefined;
6730
+ dash?: number[] | undefined;
6309
6731
  } | {
6310
6732
  width: number;
6311
6733
  type: "bezier";
@@ -6507,16 +6929,19 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
6507
6929
  from: string;
6508
6930
  to: string;
6509
6931
  style: "solid" | "dashed" | "dotted";
6510
- strokeStyle: "solid" | "dashed" | "dotted";
6511
6932
  arrow: "end" | "start" | "both" | "none";
6512
6933
  labelPosition: "end" | "start" | "middle";
6513
6934
  strokeWidth: number;
6514
6935
  arrowPlacement: "endpoint" | "boundary";
6515
- routing: "auto" | "orthogonal" | "curve" | "arc";
6936
+ routing: "auto" | "orthogonal" | "curve" | "arc" | "straight";
6937
+ curveMode: "normal" | "ellipse";
6516
6938
  tension: number;
6517
6939
  width?: number | undefined;
6518
6940
  label?: string | undefined;
6519
6941
  color?: string | undefined;
6942
+ strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
6943
+ fromColor?: string | undefined;
6944
+ toColor?: string | undefined;
6520
6945
  arrowSize?: number | undefined;
6521
6946
  fromAnchor?: "top" | "center" | "left" | "right" | "bottom" | {
6522
6947
  x: number;
@@ -6577,7 +7002,7 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
6577
7002
  } | {
6578
7003
  type: "shape";
6579
7004
  id: string;
6580
- shape: "line" | "circle" | "arrow" | "rectangle" | "rounded-rectangle" | "ellipse";
7005
+ shape: "line" | "circle" | "arrow" | "ellipse" | "rectangle" | "rounded-rectangle";
6581
7006
  strokeWidth: number;
6582
7007
  fill?: string | undefined;
6583
7008
  stroke?: string | undefined;
@@ -6667,6 +7092,8 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
6667
7092
  x: number;
6668
7093
  y: number;
6669
7094
  } | undefined;
7095
+ ellipseRx?: number | undefined;
7096
+ ellipseRy?: number | undefined;
6670
7097
  } | {
6671
7098
  mode: "auto";
6672
7099
  direction: "TB" | "BT" | "LR" | "RL";
@@ -6678,6 +7105,8 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
6678
7105
  x: number;
6679
7106
  y: number;
6680
7107
  } | undefined;
7108
+ ellipseRx?: number | undefined;
7109
+ ellipseRy?: number | undefined;
6681
7110
  aspectRatio?: number | undefined;
6682
7111
  radialRoot?: string | undefined;
6683
7112
  radialRadius?: number | undefined;
@@ -6692,6 +7121,8 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
6692
7121
  x: number;
6693
7122
  y: number;
6694
7123
  } | undefined;
7124
+ ellipseRx?: number | undefined;
7125
+ ellipseRy?: number | undefined;
6695
7126
  cardMinHeight?: number | undefined;
6696
7127
  cardMaxHeight?: number | undefined;
6697
7128
  } | {
@@ -6706,6 +7137,8 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
6706
7137
  x: number;
6707
7138
  y: number;
6708
7139
  } | undefined;
7140
+ ellipseRx?: number | undefined;
7141
+ ellipseRy?: number | undefined;
6709
7142
  } | undefined;
6710
7143
  }, {
6711
7144
  background?: string | {
@@ -6808,6 +7241,25 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
6808
7241
  arrow?: "end" | "start" | "both" | "none" | undefined;
6809
7242
  arrowSize?: number | undefined;
6810
7243
  dash?: number[] | undefined;
7244
+ } | {
7245
+ type: "arc";
7246
+ center: {
7247
+ x: number;
7248
+ y: number;
7249
+ };
7250
+ radius: number;
7251
+ startAngle: number;
7252
+ endAngle: number;
7253
+ width?: number | undefined;
7254
+ color?: string | undefined;
7255
+ opacity?: number | undefined;
7256
+ shadow?: {
7257
+ color?: string | undefined;
7258
+ blur?: number | undefined;
7259
+ offsetX?: number | undefined;
7260
+ offsetY?: number | undefined;
7261
+ } | undefined;
7262
+ dash?: number[] | undefined;
6811
7263
  } | {
6812
7264
  type: "bezier";
6813
7265
  points: {
@@ -7015,10 +7467,13 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
7015
7467
  strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
7016
7468
  arrow?: "end" | "start" | "both" | "none" | undefined;
7017
7469
  labelPosition?: "end" | "start" | "middle" | undefined;
7470
+ fromColor?: string | undefined;
7471
+ toColor?: string | undefined;
7018
7472
  strokeWidth?: number | undefined;
7019
7473
  arrowSize?: number | undefined;
7020
7474
  arrowPlacement?: "endpoint" | "boundary" | undefined;
7021
- routing?: "auto" | "orthogonal" | "curve" | "arc" | undefined;
7475
+ routing?: "auto" | "orthogonal" | "curve" | "arc" | "straight" | undefined;
7476
+ curveMode?: "normal" | "ellipse" | undefined;
7022
7477
  tension?: number | undefined;
7023
7478
  fromAnchor?: "top" | "center" | "left" | "right" | "bottom" | {
7024
7479
  x: number;
@@ -7079,7 +7534,7 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
7079
7534
  } | {
7080
7535
  type: "shape";
7081
7536
  id: string;
7082
- shape: "line" | "circle" | "arrow" | "rectangle" | "rounded-rectangle" | "ellipse";
7537
+ shape: "line" | "circle" | "arrow" | "ellipse" | "rectangle" | "rounded-rectangle";
7083
7538
  fill?: string | undefined;
7084
7539
  strokeWidth?: number | undefined;
7085
7540
  stroke?: string | undefined;
@@ -7133,6 +7588,8 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
7133
7588
  x: number;
7134
7589
  y: number;
7135
7590
  } | undefined;
7591
+ ellipseRx?: number | undefined;
7592
+ ellipseRy?: number | undefined;
7136
7593
  } | {
7137
7594
  mode: "auto";
7138
7595
  direction?: "TB" | "BT" | "LR" | "RL" | undefined;
@@ -7140,6 +7597,8 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
7140
7597
  x: number;
7141
7598
  y: number;
7142
7599
  } | undefined;
7600
+ ellipseRx?: number | undefined;
7601
+ ellipseRy?: number | undefined;
7143
7602
  algorithm?: "box" | "layered" | "stress" | "force" | "radial" | undefined;
7144
7603
  nodeSpacing?: number | undefined;
7145
7604
  rankSpacing?: number | undefined;
@@ -7156,6 +7615,8 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
7156
7615
  x: number;
7157
7616
  y: number;
7158
7617
  } | undefined;
7618
+ ellipseRx?: number | undefined;
7619
+ ellipseRy?: number | undefined;
7159
7620
  columns?: number | undefined;
7160
7621
  cardMinHeight?: number | undefined;
7161
7622
  cardMaxHeight?: number | undefined;
@@ -7166,6 +7627,8 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
7166
7627
  x: number;
7167
7628
  y: number;
7168
7629
  } | undefined;
7630
+ ellipseRx?: number | undefined;
7631
+ ellipseRy?: number | undefined;
7169
7632
  positions?: Record<string, {
7170
7633
  x: number;
7171
7634
  y: number;
@@ -7189,6 +7652,8 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
7189
7652
  x: number;
7190
7653
  y: number;
7191
7654
  } | undefined;
7655
+ ellipseRx?: number | undefined;
7656
+ ellipseRy?: number | undefined;
7192
7657
  } | {
7193
7658
  mode: "auto";
7194
7659
  direction: "TB" | "BT" | "LR" | "RL";
@@ -7200,6 +7665,8 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
7200
7665
  x: number;
7201
7666
  y: number;
7202
7667
  } | undefined;
7668
+ ellipseRx?: number | undefined;
7669
+ ellipseRy?: number | undefined;
7203
7670
  aspectRatio?: number | undefined;
7204
7671
  radialRoot?: string | undefined;
7205
7672
  radialRadius?: number | undefined;
@@ -7214,6 +7681,8 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
7214
7681
  x: number;
7215
7682
  y: number;
7216
7683
  } | undefined;
7684
+ ellipseRx?: number | undefined;
7685
+ ellipseRy?: number | undefined;
7217
7686
  cardMinHeight?: number | undefined;
7218
7687
  cardMaxHeight?: number | undefined;
7219
7688
  } | {
@@ -7228,6 +7697,8 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
7228
7697
  x: number;
7229
7698
  y: number;
7230
7699
  } | undefined;
7700
+ ellipseRx?: number | undefined;
7701
+ ellipseRy?: number | undefined;
7231
7702
  };
7232
7703
  draw: ({
7233
7704
  width: number;
@@ -7299,6 +7770,25 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
7299
7770
  offsetY: number;
7300
7771
  } | undefined;
7301
7772
  dash?: number[] | undefined;
7773
+ } | {
7774
+ width: number;
7775
+ type: "arc";
7776
+ color: string;
7777
+ opacity: number;
7778
+ center: {
7779
+ x: number;
7780
+ y: number;
7781
+ };
7782
+ radius: number;
7783
+ startAngle: number;
7784
+ endAngle: number;
7785
+ shadow?: {
7786
+ color: string;
7787
+ blur: number;
7788
+ offsetX: number;
7789
+ offsetY: number;
7790
+ } | undefined;
7791
+ dash?: number[] | undefined;
7302
7792
  } | {
7303
7793
  width: number;
7304
7794
  type: "bezier";
@@ -7500,16 +7990,19 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
7500
7990
  from: string;
7501
7991
  to: string;
7502
7992
  style: "solid" | "dashed" | "dotted";
7503
- strokeStyle: "solid" | "dashed" | "dotted";
7504
7993
  arrow: "end" | "start" | "both" | "none";
7505
7994
  labelPosition: "end" | "start" | "middle";
7506
7995
  strokeWidth: number;
7507
7996
  arrowPlacement: "endpoint" | "boundary";
7508
- routing: "auto" | "orthogonal" | "curve" | "arc";
7997
+ routing: "auto" | "orthogonal" | "curve" | "arc" | "straight";
7998
+ curveMode: "normal" | "ellipse";
7509
7999
  tension: number;
7510
8000
  width?: number | undefined;
7511
8001
  label?: string | undefined;
7512
8002
  color?: string | undefined;
8003
+ strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
8004
+ fromColor?: string | undefined;
8005
+ toColor?: string | undefined;
7513
8006
  arrowSize?: number | undefined;
7514
8007
  fromAnchor?: "top" | "center" | "left" | "right" | "bottom" | {
7515
8008
  x: number;
@@ -7570,7 +8063,7 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
7570
8063
  } | {
7571
8064
  type: "shape";
7572
8065
  id: string;
7573
- shape: "line" | "circle" | "arrow" | "rectangle" | "rounded-rectangle" | "ellipse";
8066
+ shape: "line" | "circle" | "arrow" | "ellipse" | "rectangle" | "rounded-rectangle";
7574
8067
  strokeWidth: number;
7575
8068
  fill?: string | undefined;
7576
8069
  stroke?: string | undefined;
@@ -7752,6 +8245,25 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
7752
8245
  arrow?: "end" | "start" | "both" | "none" | undefined;
7753
8246
  arrowSize?: number | undefined;
7754
8247
  dash?: number[] | undefined;
8248
+ } | {
8249
+ type: "arc";
8250
+ center: {
8251
+ x: number;
8252
+ y: number;
8253
+ };
8254
+ radius: number;
8255
+ startAngle: number;
8256
+ endAngle: number;
8257
+ width?: number | undefined;
8258
+ color?: string | undefined;
8259
+ opacity?: number | undefined;
8260
+ shadow?: {
8261
+ color?: string | undefined;
8262
+ blur?: number | undefined;
8263
+ offsetX?: number | undefined;
8264
+ offsetY?: number | undefined;
8265
+ } | undefined;
8266
+ dash?: number[] | undefined;
7755
8267
  } | {
7756
8268
  type: "bezier";
7757
8269
  points: {
@@ -7959,10 +8471,13 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
7959
8471
  strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
7960
8472
  arrow?: "end" | "start" | "both" | "none" | undefined;
7961
8473
  labelPosition?: "end" | "start" | "middle" | undefined;
8474
+ fromColor?: string | undefined;
8475
+ toColor?: string | undefined;
7962
8476
  strokeWidth?: number | undefined;
7963
8477
  arrowSize?: number | undefined;
7964
8478
  arrowPlacement?: "endpoint" | "boundary" | undefined;
7965
- routing?: "auto" | "orthogonal" | "curve" | "arc" | undefined;
8479
+ routing?: "auto" | "orthogonal" | "curve" | "arc" | "straight" | undefined;
8480
+ curveMode?: "normal" | "ellipse" | undefined;
7966
8481
  tension?: number | undefined;
7967
8482
  fromAnchor?: "top" | "center" | "left" | "right" | "bottom" | {
7968
8483
  x: number;
@@ -8023,7 +8538,7 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
8023
8538
  } | {
8024
8539
  type: "shape";
8025
8540
  id: string;
8026
- shape: "line" | "circle" | "arrow" | "rectangle" | "rounded-rectangle" | "ellipse";
8541
+ shape: "line" | "circle" | "arrow" | "ellipse" | "rectangle" | "rounded-rectangle";
8027
8542
  fill?: string | undefined;
8028
8543
  strokeWidth?: number | undefined;
8029
8544
  stroke?: string | undefined;
@@ -8077,6 +8592,8 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
8077
8592
  x: number;
8078
8593
  y: number;
8079
8594
  } | undefined;
8595
+ ellipseRx?: number | undefined;
8596
+ ellipseRy?: number | undefined;
8080
8597
  } | {
8081
8598
  mode: "auto";
8082
8599
  direction?: "TB" | "BT" | "LR" | "RL" | undefined;
@@ -8084,6 +8601,8 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
8084
8601
  x: number;
8085
8602
  y: number;
8086
8603
  } | undefined;
8604
+ ellipseRx?: number | undefined;
8605
+ ellipseRy?: number | undefined;
8087
8606
  algorithm?: "box" | "layered" | "stress" | "force" | "radial" | undefined;
8088
8607
  nodeSpacing?: number | undefined;
8089
8608
  rankSpacing?: number | undefined;
@@ -8100,6 +8619,8 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
8100
8619
  x: number;
8101
8620
  y: number;
8102
8621
  } | undefined;
8622
+ ellipseRx?: number | undefined;
8623
+ ellipseRy?: number | undefined;
8103
8624
  columns?: number | undefined;
8104
8625
  cardMinHeight?: number | undefined;
8105
8626
  cardMaxHeight?: number | undefined;
@@ -8110,6 +8631,8 @@ declare const designSpecSchema: z.ZodEffects<z.ZodObject<{
8110
8631
  x: number;
8111
8632
  y: number;
8112
8633
  } | undefined;
8634
+ ellipseRx?: number | undefined;
8635
+ ellipseRy?: number | undefined;
8113
8636
  positions?: Record<string, {
8114
8637
  x: number;
8115
8638
  y: number;
@@ -8147,6 +8670,7 @@ type DrawRect = z.infer<typeof drawRectSchema>;
8147
8670
  type DrawCircle = z.infer<typeof drawCircleSchema>;
8148
8671
  type DrawText = z.infer<typeof drawTextSchema>;
8149
8672
  type DrawLine = z.infer<typeof drawLineSchema>;
8673
+ type DrawArc = z.infer<typeof drawArcSchema>;
8150
8674
  type DrawBezier = z.infer<typeof drawBezierSchema>;
8151
8675
  type DrawPath = z.infer<typeof drawPathSchema>;
8152
8676
  type DrawBadge = z.infer<typeof drawBadgeSchema>;
@@ -8211,4 +8735,4 @@ declare function deriveSafeFrame(spec: DesignSpec): DesignSafeFrame;
8211
8735
  declare function parseDiagramSpec(input: unknown): DiagramSpec;
8212
8736
  declare function parseDesignSpec(input: unknown): DesignSpec;
8213
8737
 
8214
- export { type ThemeInput as $, type AnchorHint as A, type BuiltInTheme as B, type ConnectionElement as C, type DesignSpec as D, type DrawShadow as E, type DrawText as F, type DrawTextRow as G, type DrawTextRowSegment as H, type Element as I, type FlowNodeElement as J, type Gradient as K, type GradientOverlayDecorator as L, type GradientSpec as M, type GradientStop$1 as N, type GridLayoutConfig as O, type ImageElement as P, type LayoutConfig as Q, type RenderMetadata as R, type LayoutSnapshot as S, type ThemeInput$1 as T, type ManualLayoutConfig as U, type RainbowRuleDecorator as V, type RenderResult as W, type ShapeElement as X, type StackLayoutConfig as Y, type TerminalElement as Z, type TextElement as _, type Rect as a, type VignetteDecorator as a0, type WrittenArtifacts as a1, builtInThemeBackgrounds as a2, builtInThemes as a3, computeSpecHash as a4, connectionElementSchema as a5, defaultAutoLayout as a6, defaultCanvas as a7, defaultConstraints as a8, defaultGridLayout as a9, defaultLayout as aa, defaultStackLayout as ab, defaultTheme as ac, deriveSafeFrame as ad, designSpecSchema as ae, diagramElementSchema as af, diagramLayoutSchema as ag, diagramSpecSchema as ah, drawGradientRect as ai, drawRainbowRule as aj, drawVignette as ak, flowNodeElementSchema as al, inferLayout as am, inferSidecarPath as an, parseDesignSpec as ao, parseDiagramSpec as ap, renderDesign as aq, resolveTheme as ar, writeRenderArtifacts as as, type CodeBlockStyle as at, type DrawGrid as au, type FlowNodeShadow as av, type GradientStop as aw, type LinearGradient as ax, type RadialGradient as ay, type DrawCommand as b, type Theme as c, type RenderedElement as d, type AutoLayoutConfig as e, type CardElement as f, type CodeBlockElement as g, type ConstraintSpec as h, DEFAULT_GENERATOR_VERSION as i, DEFAULT_RAINBOW_COLORS as j, type Decorator as k, type DesignCardSpec as l, type DesignSafeFrame as m, type DesignTheme as n, type DiagramElement as o, type DiagramLayout as p, type DiagramSpec as q, type DrawBadge as r, type DrawBezier as s, type DrawCircle as t, type DrawFontFamily as u, type DrawGradientRect as v, type DrawLine as w, type DrawPath as x, type DrawPoint as y, type DrawRect as z };
8738
+ export { type StackLayoutConfig as $, type AnchorHint as A, type BuiltInTheme as B, type ConnectionElement as C, type DesignSpec as D, type DrawRect as E, type DrawShadow as F, type DrawText as G, type DrawTextRow as H, type DrawTextRowSegment as I, type Element as J, type FlowNodeElement as K, type Gradient as L, type GradientOverlayDecorator as M, type GradientSpec as N, type GradientStop$1 as O, type GridLayoutConfig as P, type ImageElement as Q, type RenderMetadata as R, type IterationMeta as S, type ThemeInput$1 as T, type LayoutConfig as U, type LayoutSnapshot as V, type ManualLayoutConfig as W, type RainbowRuleDecorator as X, type RenderDesignOptions as Y, type RenderResult as Z, type ShapeElement as _, type Rect as a, type TerminalElement as a0, type TextElement as a1, type ThemeInput as a2, type VignetteDecorator as a3, type WrittenArtifacts as a4, builtInThemeBackgrounds as a5, builtInThemes as a6, computeSpecHash as a7, connectionElementSchema as a8, defaultAutoLayout as a9, type LinearGradient as aA, type RadialGradient as aB, defaultCanvas as aa, defaultConstraints as ab, defaultGridLayout as ac, defaultLayout as ad, defaultStackLayout as ae, defaultTheme as af, deriveSafeFrame as ag, designSpecSchema as ah, diagramElementSchema as ai, diagramLayoutSchema as aj, diagramSpecSchema as ak, drawGradientRect as al, drawRainbowRule as am, drawVignette as an, flowNodeElementSchema as ao, inferLayout as ap, inferSidecarPath as aq, parseDesignSpec as ar, parseDiagramSpec as as, renderDesign as at, resolveTheme as au, writeRenderArtifacts as av, type CodeBlockStyle as aw, type DrawGrid as ax, type FlowNodeShadow as ay, type GradientStop as az, type DrawCommand as b, type Theme as c, type RenderedElement as d, type AutoLayoutConfig as e, type CardElement as f, type CodeBlockElement as g, type ConstraintSpec as h, DEFAULT_GENERATOR_VERSION as i, DEFAULT_RAINBOW_COLORS as j, type Decorator as k, type DesignCardSpec as l, type DesignSafeFrame as m, type DesignTheme as n, type DiagramElement as o, type DiagramLayout as p, type DiagramSpec as q, type DrawArc as r, type DrawBadge as s, type DrawBezier as t, type DrawCircle as u, type DrawFontFamily as v, type DrawGradientRect as w, type DrawLine as x, type DrawPath as y, type DrawPoint as z };