@cristianormazabal/triton-core 0.1.8 → 0.1.9

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.
Files changed (40) hide show
  1. package/dist/contracts/anchors.d.ts +9 -0
  2. package/dist/contracts/anchors.d.ts.map +1 -1
  3. package/dist/contracts/connector-tokens.d.ts +40 -0
  4. package/dist/contracts/connector-tokens.d.ts.map +1 -0
  5. package/dist/contracts/connector-tokens.js +60 -0
  6. package/dist/contracts/connector-tokens.js.map +1 -0
  7. package/dist/contracts/crosslink.d.ts +24 -7
  8. package/dist/contracts/crosslink.d.ts.map +1 -1
  9. package/dist/contracts/index.d.ts +1 -1
  10. package/dist/contracts/index.d.ts.map +1 -1
  11. package/dist/crosslink/engine2.d.ts.map +1 -1
  12. package/dist/crosslink/engine2.js +20 -5
  13. package/dist/crosslink/engine2.js.map +1 -1
  14. package/dist/crosslink/engine3.d.ts.map +1 -1
  15. package/dist/crosslink/engine3.js +19 -5
  16. package/dist/crosslink/engine3.js.map +1 -1
  17. package/dist/crosslink/index.d.ts +1 -1
  18. package/dist/crosslink/index.d.ts.map +1 -1
  19. package/dist/crosslink/index.js +1 -1
  20. package/dist/crosslink/index.js.map +1 -1
  21. package/dist/crosslink/render.d.ts +16 -1
  22. package/dist/crosslink/render.d.ts.map +1 -1
  23. package/dist/crosslink/render.js +141 -6
  24. package/dist/crosslink/render.js.map +1 -1
  25. package/dist/diagrams/mermaid/flowchart/index.d.ts +1 -1
  26. package/dist/diagrams/mermaid/flowchart/index.d.ts.map +1 -1
  27. package/dist/diagrams/mermaid/flowchart/ir.d.ts +4 -3
  28. package/dist/diagrams/mermaid/flowchart/ir.d.ts.map +1 -1
  29. package/dist/diagrams/mermaid/flowchart/layout.d.ts.map +1 -1
  30. package/dist/diagrams/mermaid/flowchart/layout.js +5 -3
  31. package/dist/diagrams/mermaid/flowchart/layout.js.map +1 -1
  32. package/dist/diagrams/triton/ds/struct/page.d.ts.map +1 -1
  33. package/dist/diagrams/triton/ds/struct/page.js +4 -1
  34. package/dist/diagrams/triton/ds/struct/page.js.map +1 -1
  35. package/dist/diagrams/triton/poster/layout.d.ts.map +1 -1
  36. package/dist/diagrams/triton/poster/layout.js +10 -0
  37. package/dist/diagrams/triton/poster/layout.js.map +1 -1
  38. package/dist/index.js +1338 -650
  39. package/dist/index.js.map +4 -4
  40. package/package.json +1 -1
@@ -112,6 +112,15 @@ export interface LayoutResult {
112
112
  * Empty or absent for non-linkable diagram types.
113
113
  */
114
114
  readonly occupiedPorts?: readonly OccupiedPort[];
115
+ /**
116
+ * Bounding boxes of internal diagram chrome (e.g. header bars, region
117
+ * headers) that cross-link labels must avoid. Reported in local diagram
118
+ * coordinates; the composition layer scales + offsets them to poster space
119
+ * before feeding them into the label de-collision pass.
120
+ * Optional — diagrams that have no chrome that could occlude labels may
121
+ * omit this field.
122
+ */
123
+ readonly chromeRects?: readonly Rect[];
115
124
  }
116
125
  /**
117
126
  * A soft layout constraint injected by the composition layer to bias
@@ -1 +1 @@
1
- {"version":3,"file":"anchors.d.ts","sourceRoot":"","sources":["../../../../src/contracts/anchors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAIxC,iEAAiE;AACjE,MAAM,MAAM,YAAY,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AAEjD;;;;;;;GAOG;AACH,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC;AAIjE;;;;;;GAMG;AACH,MAAM,WAAW,UAAU;IACzB,iDAAiD;IACjD,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC;IACtB;;;;OAIG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC;CAChC;AAID;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,kBAAkB,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;AAMtE;;;;;;;;GAQG;AACH,MAAM,WAAW,YAAY;IAC3B,kEAAkE;IAClE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,iCAAiC;IACjC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC;CACpC;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,YAAY;IAC3B,4CAA4C;IAC5C,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB;;;OAGG;IACH,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;IACrC;;;;;OAKG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;CAClD;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,QAAQ;IACvB,2BAA2B;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,qCAAqC;IACrC,QAAQ,CAAC,aAAa,EAAE,YAAY,CAAC;IACrC,qFAAqF;IACrF,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,aAAa;IAC5B,uDAAuD;IACvD,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,QAAQ,EAAE,CAAC;CAC1C"}
1
+ {"version":3,"file":"anchors.d.ts","sourceRoot":"","sources":["../../../../src/contracts/anchors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAIxC,iEAAiE;AACjE,MAAM,MAAM,YAAY,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AAEjD;;;;;;;GAOG;AACH,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC;AAIjE;;;;;;GAMG;AACH,MAAM,WAAW,UAAU;IACzB,iDAAiD;IACjD,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC;IACtB;;;;OAIG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC;CAChC;AAID;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,kBAAkB,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;AAMtE;;;;;;;;GAQG;AACH,MAAM,WAAW,YAAY;IAC3B,kEAAkE;IAClE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,iCAAiC;IACjC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC;CACpC;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,YAAY;IAC3B,4CAA4C;IAC5C,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB;;;OAGG;IACH,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;IACrC;;;;;OAKG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;IACjD;;;;;;;OAOG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,IAAI,EAAE,CAAC;CACxC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,QAAQ;IACvB,2BAA2B;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,qCAAqC;IACrC,QAAQ,CAAC,aAAa,EAAE,YAAY,CAAC;IACrC,qFAAqF;IACrF,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,aAAa;IAC5B,uDAAuD;IACvD,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,QAAQ,EAAE,CAAC;CAC1C"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Connector Token → Style Map
3
+ *
4
+ * SINGLE SOURCE OF TRUTH for the arrow-token vocabulary shared by both the
5
+ * poster grammar and the flowchart grammar. Any token that appears here has
6
+ * exactly the meaning given; neither grammar may contradict these mappings.
7
+ *
8
+ * Origin column:
9
+ * Mermaid — token exists in Mermaid with identical semantics (superset rule).
10
+ * Triton — new token added by Triton; Mermaid has no such token.
11
+ *
12
+ * Full 5×3 matrix (style × direction):
13
+ *
14
+ * Directed Undirected Bidirectional Origin
15
+ * Solid --> --- <--> Mermaid
16
+ * Dotted -.-> -.- <-.-> Mermaid
17
+ * Thick ==> === <==> Mermaid
18
+ * Dashed -_-> -_- <-_-> Triton
19
+ * Wavy -~-> -~- <-~-> Triton
20
+ *
21
+ * Additional Mermaid marker tokens (flowchart only, endpoint shapes):
22
+ * --o directed, solid, endMarker=circle
23
+ * --x directed, solid, endMarker=cross
24
+ *
25
+ * PEG ordering rule: longer / extension tokens MUST be listed BEFORE shorter
26
+ * ones so that ordered-choice matches correctly (e.g. -_-> before -_-).
27
+ */
28
+ import type { CrossLinkEdgeStyle, CrossLinkEndpointMarker } from './crosslink.js';
29
+ export type ConnectorDirection = 'directed' | 'undirected' | 'bidirectional';
30
+ export interface ConnectorTokenDescriptor {
31
+ readonly direction: ConnectorDirection;
32
+ readonly style: CrossLinkEdgeStyle;
33
+ readonly startMarker: CrossLinkEndpointMarker;
34
+ readonly endMarker: CrossLinkEndpointMarker;
35
+ }
36
+ /** Canonical token → descriptor mapping. */
37
+ export declare const CONNECTOR_TOKEN_MAP: Readonly<Record<string, ConnectorTokenDescriptor>>;
38
+ /** Infix → style lookup (for grammar rule sharing). */
39
+ export declare const CONNECTOR_INFIX_STYLE: Readonly<Record<string, CrossLinkEdgeStyle>>;
40
+ //# sourceMappingURL=connector-tokens.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connector-tokens.d.ts","sourceRoot":"","sources":["../../../../src/contracts/connector-tokens.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAElF,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,YAAY,GAAG,eAAe,CAAC;AAE7E,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE,kBAAkB,CAAC;IACnC,QAAQ,CAAC,WAAW,EAAE,uBAAuB,CAAC;IAC9C,QAAQ,CAAC,SAAS,EAAE,uBAAuB,CAAC;CAC7C;AAED,4CAA4C;AAC5C,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAyBzE,CAAC;AAEX,uDAAuD;AACvD,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAMrE,CAAC"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * Connector Token → Style Map
3
+ *
4
+ * SINGLE SOURCE OF TRUTH for the arrow-token vocabulary shared by both the
5
+ * poster grammar and the flowchart grammar. Any token that appears here has
6
+ * exactly the meaning given; neither grammar may contradict these mappings.
7
+ *
8
+ * Origin column:
9
+ * Mermaid — token exists in Mermaid with identical semantics (superset rule).
10
+ * Triton — new token added by Triton; Mermaid has no such token.
11
+ *
12
+ * Full 5×3 matrix (style × direction):
13
+ *
14
+ * Directed Undirected Bidirectional Origin
15
+ * Solid --> --- <--> Mermaid
16
+ * Dotted -.-> -.- <-.-> Mermaid
17
+ * Thick ==> === <==> Mermaid
18
+ * Dashed -_-> -_- <-_-> Triton
19
+ * Wavy -~-> -~- <-~-> Triton
20
+ *
21
+ * Additional Mermaid marker tokens (flowchart only, endpoint shapes):
22
+ * --o directed, solid, endMarker=circle
23
+ * --x directed, solid, endMarker=cross
24
+ *
25
+ * PEG ordering rule: longer / extension tokens MUST be listed BEFORE shorter
26
+ * ones so that ordered-choice matches correctly (e.g. -_-> before -_-).
27
+ */
28
+ /** Canonical token → descriptor mapping. */
29
+ export const CONNECTOR_TOKEN_MAP = {
30
+ // ── Bidirectional (list before directed so PEG ordered-choice matches `<-->` before `-->`) ──
31
+ '<-->': { direction: 'bidirectional', style: 'solid', startMarker: 'arrow', endMarker: 'arrow' },
32
+ '<-.->': { direction: 'bidirectional', style: 'dotted', startMarker: 'arrow', endMarker: 'arrow' },
33
+ '<==>': { direction: 'bidirectional', style: 'thick', startMarker: 'arrow', endMarker: 'arrow' },
34
+ '<-_->': { direction: 'bidirectional', style: 'dashed', startMarker: 'arrow', endMarker: 'arrow' },
35
+ '<-~->': { direction: 'bidirectional', style: 'wavy', startMarker: 'arrow', endMarker: 'arrow' },
36
+ // ── Directed ──────────────────────────────────────────────────────────────
37
+ '-->': { direction: 'directed', style: 'solid', startMarker: 'none', endMarker: 'arrow' },
38
+ '-.->': { direction: 'directed', style: 'dotted', startMarker: 'none', endMarker: 'arrow' },
39
+ '==>': { direction: 'directed', style: 'thick', startMarker: 'none', endMarker: 'arrow' },
40
+ '-_->': { direction: 'directed', style: 'dashed', startMarker: 'none', endMarker: 'arrow' },
41
+ '-~->': { direction: 'directed', style: 'wavy', startMarker: 'none', endMarker: 'arrow' },
42
+ // ── Undirected ────────────────────────────────────────────────────────────
43
+ '---': { direction: 'undirected', style: 'solid', startMarker: 'none', endMarker: 'none' },
44
+ '-.-': { direction: 'undirected', style: 'dotted', startMarker: 'none', endMarker: 'none' },
45
+ '===': { direction: 'undirected', style: 'thick', startMarker: 'none', endMarker: 'none' },
46
+ '-_-': { direction: 'undirected', style: 'dashed', startMarker: 'none', endMarker: 'none' },
47
+ '-~-': { direction: 'undirected', style: 'wavy', startMarker: 'none', endMarker: 'none' },
48
+ // ── Mermaid endpoint-marker tokens (flowchart only) ──────────────────────
49
+ '--o': { direction: 'directed', style: 'solid', startMarker: 'none', endMarker: 'circle' },
50
+ '--x': { direction: 'directed', style: 'solid', startMarker: 'none', endMarker: 'cross' },
51
+ };
52
+ /** Infix → style lookup (for grammar rule sharing). */
53
+ export const CONNECTOR_INFIX_STYLE = {
54
+ '--': 'solid',
55
+ '-.-': 'dotted',
56
+ '==': 'thick',
57
+ '-_-': 'dashed',
58
+ '-~-': 'wavy',
59
+ };
60
+ //# sourceMappingURL=connector-tokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connector-tokens.js","sourceRoot":"","sources":["../../../../src/contracts/connector-tokens.ts"],"names":[],"mappings":"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"}
@@ -40,10 +40,18 @@ export interface NodeAddress {
40
40
  /** Poster sugar for addressing array elements, resolved during poster layout. */
41
41
  readonly elementIndex?: number;
42
42
  }
43
- /** Visual style of a cross-diagram edge. */
44
- export type CrossLinkEdgeStyle = 'solid' | 'dashed' | 'dotted';
43
+ /** Visual style of a cross-diagram edge. Styles are mutually exclusive. */
44
+ export type CrossLinkEdgeStyle = 'solid' | 'dotted' | 'dashed' | 'thick' | 'wavy';
45
45
  /** Direction of a cross-diagram edge. */
46
46
  export type CrossLinkDirection = 'directed' | 'undirected' | 'bidirectional';
47
+ /**
48
+ * Shape of an endpoint marker.
49
+ * 'arrow' — standard arrowhead (default for directed/bidirectional)
50
+ * 'circle' — open circle (Mermaid --o)
51
+ * 'cross' — cross mark (Mermaid --x)
52
+ * 'none' — no marker (default for undirected)
53
+ */
54
+ export type CrossLinkEndpointMarker = 'arrow' | 'circle' | 'cross' | 'none';
47
55
  /**
48
56
  * A single cross-diagram edge between two nodes in different cells.
49
57
  * This is the primitive — traces desugar into ordered sequences of these.
@@ -55,6 +63,16 @@ export interface CrossLink {
55
63
  readonly to: NodeAddress;
56
64
  readonly direction: CrossLinkDirection;
57
65
  readonly style: CrossLinkEdgeStyle;
66
+ /**
67
+ * Shape of the start-endpoint marker.
68
+ * Defaults: 'arrow' for bidirectional; 'none' for directed/undirected.
69
+ */
70
+ readonly startMarker?: CrossLinkEndpointMarker;
71
+ /**
72
+ * Shape of the end-endpoint marker.
73
+ * Defaults: 'arrow' for directed/bidirectional; 'none' for undirected.
74
+ */
75
+ readonly endMarker?: CrossLinkEndpointMarker;
58
76
  /** Optional label rendered at the route midpoint. */
59
77
  readonly label?: string;
60
78
  /**
@@ -79,8 +97,7 @@ export interface CrossLink {
79
97
  /**
80
98
  * Animation applied to the rendered connector.
81
99
  *
82
- * 'march' — marching ants (stroke-dashoffset cycle). Only visible when
83
- * the edge style is dashed or dotted; silently ignored on solid.
100
+ * 'march' — marching ants (stroke-dashoffset cycle). Works best on dashed/dotted.
84
101
  * 'particle' — a dot travels along the path. Works on any edge style.
85
102
  * 'draw' — dashoffset reveal/erase loop over the approximate path length.
86
103
  * 'pulse' — breathing stroke-width animation.
@@ -89,10 +106,10 @@ export interface CrossLink {
89
106
  * 'stream' — multiple staggered particles.
90
107
  * 'flow' — animated gradient band along the connector direction.
91
108
  * 'colorcycle' — stroke hue cycle.
92
- * 'none' — explicitly suppresses the default animation for this edge.
109
+ * 'none' — explicitly suppresses animation for this edge.
93
110
  *
94
- * When omitted the renderer applies defaults:
95
- * dashed 'march', dotted 'march', solid no animation.
111
+ * When omitted the connector renders STATIC (no animation by default).
112
+ * Motion must be explicitly requested via `@anim:<name>` or `{ anim: <name> }`.
96
113
  */
97
114
  readonly animation?: CrossLinkAnimation;
98
115
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"crosslink.d.ts","sourceRoot":"","sources":["../../../../src/contracts/crosslink.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"crosslink.d.ts","sourceRoot":"","sources":["../../../../src/contracts/crosslink.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAE1D,OAAO,EACL,oBAAoB,EACpB,4BAA4B,GAC7B,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,kBAAkB,EAClB,0BAA0B,GAC3B,MAAM,iBAAiB,CAAC;AAIzB;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,WAAW;IAC1B,sEAAsE;IACtE,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,gDAAgD;IAChD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,iFAAiF;IACjF,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC;AAID,2EAA2E;AAC3E,MAAM,MAAM,kBAAkB,GAC1B,OAAO,GACP,QAAQ,GACR,QAAQ,GACR,OAAO,GACP,MAAM,CAAC;AAEX,yCAAyC;AACzC,MAAM,MAAM,kBAAkB,GAC1B,UAAU,GACV,YAAY,GACZ,eAAe,CAAC;AAEpB;;;;;;GAMG;AACH,MAAM,MAAM,uBAAuB,GAC/B,OAAO,GACP,QAAQ,GACR,OAAO,GACP,MAAM,CAAC;AAIX;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB,+BAA+B;IAC/B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,EAAE,WAAW,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE,kBAAkB,CAAC;IACnC;;;OAGG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,uBAAuB,CAAC;IAC/C;;;OAGG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,uBAAuB,CAAC;IAC7C,qDAAqD;IACrD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC;IAC9B;;OAEG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC;IACjC;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAC;IACjC;;;OAGG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,YAAY,CAAC;IAClC;;;;;;;;;;;;;;;;OAgBG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,kBAAkB,CAAC;IACxC;;;OAGG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC;CAC5D;AAID;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,2CAA2C;IAC3C,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,2CAA2C;IAC3C,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC;IAC9B,+CAA+C;IAC/C,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;CAC/B;AAID;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,wCAAwC;IACxC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,gCAAgC;IAChC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,+DAA+D;IAC/D,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B;;;OAGG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,+BAA+B;IAC/B,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;CAC9B;AAID;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GACxB,eAAe,GACf,YAAY,GACZ,iBAAiB,GACjB,WAAW,CAAC;AAEhB,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,gDAAgD;IAChD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,qCAAqC;IACrC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACrD"}
@@ -28,5 +28,5 @@ export type { DiagramErrorCode, DiagramError, Result, } from './result.js';
28
28
  export { ok, err } from './result.js';
29
29
  export type { Renderer } from './renderer.js';
30
30
  export type { CardinalSide, CardinalPorts, NodeAnchor, NodeAnchorRegistry, OccupiedPort, LayoutResult, PortHint, LayoutOptions, } from './anchors.js';
31
- export type { NodeAddress, CrossLinkEdgeStyle, CrossLinkDirection, RenderedConnectorAnimation as CrossLinkRenderedAnimation, CrossLinkAnimation as CrossLinkAnimationName, CrossLink, ResolvedCrossLink, RouteQuality, PerturbationKind, Perturbation, } from './crosslink.js';
31
+ export type { NodeAddress, CrossLinkEdgeStyle, CrossLinkDirection, CrossLinkEndpointMarker, RenderedConnectorAnimation as CrossLinkRenderedAnimation, CrossLinkAnimation as CrossLinkAnimationName, CrossLink, ResolvedCrossLink, RouteQuality, PerturbationKind, Perturbation, } from './crosslink.js';
32
32
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/contracts/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,YAAY,EACV,KAAK,EACL,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,UAAU,EACV,UAAU,EACV,UAAU,GACX,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EACV,0BAA0B,EAC1B,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,oBAAoB,EACpB,4BAA4B,GAC7B,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EACV,SAAS,EACT,WAAW,EACX,SAAS,EACT,SAAS,EACT,UAAU,EACV,YAAY,EACZ,KAAK,GACN,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,UAAU,EACV,UAAU,EACV,aAAa,EACb,UAAU,GACX,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,OAAO,EACP,SAAS,EACT,UAAU,EACV,YAAY,EACZ,WAAW,EACX,MAAM,EACN,UAAU,EACV,gBAAgB,GACjB,MAAM,cAAc,CAAC;AAEtB,YAAY,EACV,UAAU,EACV,UAAU,EACV,aAAa,EACb,YAAY,EACZ,KAAK,EACL,MAAM,GACP,MAAM,cAAc,CAAC;AAEtB,YAAY,EACV,aAAa,EACb,mBAAmB,EACnB,aAAa,EACb,WAAW,EACX,WAAW,EACX,MAAM,GACP,MAAM,cAAc,CAAC;AAEtB,YAAY,EACV,gBAAgB,EAChB,YAAY,EACZ,MAAM,GACP,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAEtC,YAAY,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,YAAY,EACV,YAAY,EACZ,aAAa,EACb,UAAU,EACV,kBAAkB,EAClB,YAAY,EACZ,YAAY,EACZ,QAAQ,EACR,aAAa,GACd,MAAM,cAAc,CAAC;AAEtB,YAAY,EACV,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,0BAA0B,IAAI,0BAA0B,EACxD,kBAAkB,IAAI,sBAAsB,EAC5C,SAAS,EACT,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,EAChB,YAAY,GACb,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/contracts/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,YAAY,EACV,KAAK,EACL,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,UAAU,EACV,UAAU,EACV,UAAU,GACX,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EACV,0BAA0B,EAC1B,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,oBAAoB,EACpB,4BAA4B,GAC7B,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EACV,SAAS,EACT,WAAW,EACX,SAAS,EACT,SAAS,EACT,UAAU,EACV,YAAY,EACZ,KAAK,GACN,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,UAAU,EACV,UAAU,EACV,aAAa,EACb,UAAU,GACX,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,OAAO,EACP,SAAS,EACT,UAAU,EACV,YAAY,EACZ,WAAW,EACX,MAAM,EACN,UAAU,EACV,gBAAgB,GACjB,MAAM,cAAc,CAAC;AAEtB,YAAY,EACV,UAAU,EACV,UAAU,EACV,aAAa,EACb,YAAY,EACZ,KAAK,EACL,MAAM,GACP,MAAM,cAAc,CAAC;AAEtB,YAAY,EACV,aAAa,EACb,mBAAmB,EACnB,aAAa,EACb,WAAW,EACX,WAAW,EACX,MAAM,GACP,MAAM,cAAc,CAAC;AAEtB,YAAY,EACV,gBAAgB,EAChB,YAAY,EACZ,MAAM,GACP,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAEtC,YAAY,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,YAAY,EACV,YAAY,EACZ,aAAa,EACb,UAAU,EACV,kBAAkB,EAClB,YAAY,EACZ,YAAY,EACZ,QAAQ,EACR,aAAa,GACd,MAAM,cAAc,CAAC;AAEtB,YAAY,EACV,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,uBAAuB,EACvB,0BAA0B,IAAI,0BAA0B,EACxD,kBAAkB,IAAI,sBAAsB,EAC5C,SAAS,EACT,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,EAChB,YAAY,GACb,MAAM,gBAAgB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"engine2.d.ts","sourceRoot":"","sources":["../../../../src/crosslink/engine2.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAgC,KAAK,SAAS,EAA4D,MAAM,2BAA2B,CAAC;AACnJ,OAAO,KAAK,EAAgB,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAEhF,OAAO,KAAK,EAAS,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAG3D,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,YAAY,EAAE,CAAC;CACnC;AA6DD;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,SAAS,SAAS,EAAE,EAC3B,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,kBAAkB,EAC3B,aAAa,CAAC,EAAE,SAAS,IAAI,EAAE,EAC/B,gBAAgB,CAAC,EAAE,SAAS,IAAI,EAAE,EAClC,SAAS,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,GACpC,qBAAqB,CA8UvB"}
1
+ {"version":3,"file":"engine2.d.ts","sourceRoot":"","sources":["../../../../src/crosslink/engine2.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAgC,KAAK,SAAS,EAA4D,MAAM,2BAA2B,CAAC;AACnJ,OAAO,KAAK,EAAgB,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAEhF,OAAO,KAAK,EAAS,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAI3D,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,YAAY,EAAE,CAAC;CACnC;AAiED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,SAAS,SAAS,EAAE,EAC3B,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,kBAAkB,EAC3B,aAAa,CAAC,EAAE,SAAS,IAAI,EAAE,EAC/B,gBAAgB,CAAC,EAAE,SAAS,IAAI,EAAE,EAClC,SAAS,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,GACpC,qBAAqB,CA4VvB"}
@@ -23,6 +23,7 @@
23
23
  */
24
24
  import { isRenderedConnectorAnimation } from '../contracts/crosslink.js';
25
25
  import { createRouter } from '../routing/router.js';
26
+ import { wavifyPath } from './render.js';
26
27
  // ─── Cost weights ─────────────────────────────────────────────────────────────
27
28
  /** Per crossing with an already-committed route. */
28
29
  const W_CROSS = 10_000;
@@ -197,9 +198,10 @@ export function routeAndRenderCrossLinks2(links, theme, anchors, occupiedRects,
197
198
  explicitColorIdx++;
198
199
  }
199
200
  const dash = edgeStyleToDash(link.style);
201
+ // Animation: explicit DSL value only. All styles are STATIC by default.
200
202
  const animation = link.animation === 'none' ? undefined :
201
203
  isRenderedConnectorAnimation(link.animation) ? link.animation :
202
- dash ? 'march' : undefined;
204
+ undefined;
203
205
  let markerEnd;
204
206
  let markerStart;
205
207
  if (link.direction === 'directed') {
@@ -209,6 +211,12 @@ export function routeAndRenderCrossLinks2(links, theme, anchors, occupiedRects,
209
211
  markerEnd = ARROW_ID;
210
212
  markerStart = BI_ARROW_ID;
211
213
  }
214
+ const strokeWidth = link.style === 'thick'
215
+ ? (edgeTheme.strokeWidth + 0.5) * 2
216
+ : undefined; // undefined → use default at emission
217
+ const isWavy = link.style === 'wavy';
218
+ const wavyAmp = link.props?.amplitude ?? 3;
219
+ const wavyLambda = link.props?.wavelength ?? 12;
212
220
  // Record with original link index so colours match original declaration order
213
221
  const origIdx = links.indexOf(link);
214
222
  workingByOriginalIdx.set(origIdx >= 0 ? origIdx : workingByOriginalIdx.size, {
@@ -216,6 +224,8 @@ export function routeAndRenderCrossLinks2(links, theme, anchors, occupiedRects,
216
224
  ...(bestIsBezier ? { isBezier: true } : {}),
217
225
  color,
218
226
  ...(dash ? { dash } : {}),
227
+ ...(strokeWidth ? { strokeWidth } : {}),
228
+ ...(isWavy ? { isWavy: true, wavyAmplitude: wavyAmp, wavyWavelength: wavyLambda } : {}),
219
229
  ...(animation ? { animation } : {}),
220
230
  ...(markerEnd ? { markerEnd } : {}),
221
231
  ...(markerStart ? { markerStart } : {}),
@@ -273,9 +283,12 @@ export function routeAndRenderCrossLinks2(links, theme, anchors, occupiedRects,
273
283
  const pendingLabels = [];
274
284
  for (let i = 0; i < workingRoutes.length; i++) {
275
285
  const wr = workingRoutes[i];
276
- const path = wr.isBezier
286
+ let path = wr.isBezier
277
287
  ? `M ${wr.points[0].x} ${wr.points[0].y} C ${wr.points[1].x} ${wr.points[1].y} ${wr.points[2].x} ${wr.points[2].y} ${wr.points[3].x} ${wr.points[3].y}`
278
288
  : wr.points.map((p, pi) => `${pi === 0 ? 'M' : 'L'} ${p.x} ${p.y}`).join(' ');
289
+ if (wr.isWavy) {
290
+ path = wavifyPath([...wr.points], wr.wavyAmplitude ?? 3, wr.wavyWavelength ?? 12);
291
+ }
279
292
  if (wr.markerEnd === ARROW_ID)
280
293
  needsArrow = true;
281
294
  if (wr.markerStart === BI_ARROW_ID)
@@ -284,7 +297,7 @@ export function routeAndRenderCrossLinks2(links, theme, anchors, occupiedRects,
284
297
  type: 'path',
285
298
  d: path,
286
299
  stroke: wr.color,
287
- strokeWidth: edgeTheme.strokeWidth + 0.5,
300
+ strokeWidth: wr.strokeWidth ?? (edgeTheme.strokeWidth + 0.5),
288
301
  ...(wr.dash ? { strokeDasharray: wr.dash } : {}),
289
302
  ...(wr.animation ? { animated: wr.animation } : {}),
290
303
  ...(wr.markerEnd ? { markerEnd: wr.markerEnd } : {}),
@@ -775,9 +788,11 @@ function deCollideLabels(labelRects, fixedRects) {
775
788
  // ─── Edge style ───────────────────────────────────────────────────────────────
776
789
  function edgeStyleToDash(style) {
777
790
  switch (style) {
778
- case 'dashed': return '8 4';
779
791
  case 'dotted': return '4 3';
780
- default: return undefined;
792
+ case 'dashed': return '8 4';
793
+ case 'solid': return undefined;
794
+ case 'thick': return undefined;
795
+ case 'wavy': return undefined;
781
796
  }
782
797
  }
783
798
  //# sourceMappingURL=engine2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"engine2.js","sourceRoot":"","sources":["../../../../src/crosslink/engine2.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine2.js","sourceRoot":"","sources":["../../../../src/crosslink/engine2.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"engine3.d.ts","sourceRoot":"","sources":["../../../../src/crosslink/engine3.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAgC,KAAK,SAAS,EAAmC,MAAM,2BAA2B,CAAC;AAC1H,OAAO,KAAK,EAAgB,kBAAkB,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAE9F,OAAO,KAAK,EAAS,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAG3D,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,IAAI,EAAM,MAAM,EAAE,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,YAAY,EAAE,CAAC;CACnC;AA8ED,wBAAgB,yBAAyB,CACvC,KAAK,EAAc,SAAS,SAAS,EAAE,EACvC,KAAK,EAAc,aAAa,EAChC,OAAO,EAAY,kBAAkB,EACrC,UAAU,CAAC,EAAQ,SAAS,YAAY,EAAE,EAC1C,aAAa,CAAC,EAAK,SAAS,IAAI,EAAE,EAClC,gBAAgB,CAAC,EAAE,SAAS,IAAI,EAAE,EAClC,SAAS,CAAC,EAAS,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,GAC3C,qBAAqB,CA2OvB"}
1
+ {"version":3,"file":"engine3.d.ts","sourceRoot":"","sources":["../../../../src/crosslink/engine3.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAgC,KAAK,SAAS,EAAmC,MAAM,2BAA2B,CAAC;AAC1H,OAAO,KAAK,EAAgB,kBAAkB,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAE9F,OAAO,KAAK,EAAS,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAI3D,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,IAAI,EAAM,MAAM,EAAE,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,YAAY,EAAE,CAAC;CACnC;AAkFD,wBAAgB,yBAAyB,CACvC,KAAK,EAAc,SAAS,SAAS,EAAE,EACvC,KAAK,EAAc,aAAa,EAChC,OAAO,EAAY,kBAAkB,EACrC,UAAU,CAAC,EAAQ,SAAS,YAAY,EAAE,EAC1C,aAAa,CAAC,EAAK,SAAS,IAAI,EAAE,EAClC,gBAAgB,CAAC,EAAE,SAAS,IAAI,EAAE,EAClC,SAAS,CAAC,EAAS,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,GAC3C,qBAAqB,CAyPvB"}
@@ -25,6 +25,7 @@
25
25
  */
26
26
  import { isRenderedConnectorAnimation } from '../contracts/crosslink.js';
27
27
  import { createRouter } from '../routing/router.js';
28
+ import { wavifyPath } from './render.js';
28
29
  // ─── Cost weights ─────────────────────────────────────────────────────────────
29
30
  const W_CROSS = 10_000; // per crossing with a committed route
30
31
  const W_INTER = 3_000; // port conflict with another cross-link (same wall+pos)
@@ -98,9 +99,10 @@ export function routeAndRenderCrossLinks3(links, theme, anchors, intraPorts, occ
98
99
  explicitColorIdx++;
99
100
  }
100
101
  const dash = edgeStyleToDash(link.style);
102
+ // Animation: explicit DSL value only. All styles are STATIC by default.
101
103
  const animation = link.animation === 'none' ? undefined :
102
104
  isRenderedConnectorAnimation(link.animation) ? link.animation :
103
- dash ? 'march' : undefined;
105
+ undefined;
104
106
  let markerEnd;
105
107
  let markerStart;
106
108
  if (link.direction === 'directed') {
@@ -110,12 +112,20 @@ export function routeAndRenderCrossLinks3(links, theme, anchors, intraPorts, occ
110
112
  markerEnd = ARROW_ID;
111
113
  markerStart = BI_ARROW_ID;
112
114
  }
115
+ const strokeWidth = link.style === 'thick'
116
+ ? (edgeTheme.strokeWidth + 0.5) * 2
117
+ : undefined;
118
+ const isWavy = link.style === 'wavy';
119
+ const wavyAmp = link.props?.amplitude ?? 3;
120
+ const wavyLambda = link.props?.wavelength ?? 12;
113
121
  const origIdx = links.indexOf(link);
114
122
  workingByOriginalIdx.set(origIdx >= 0 ? origIdx : workingByOriginalIdx.size, {
115
123
  points: [...best.rawPts],
116
124
  ...(best.committed.isBezier ? { isBezier: true } : {}),
117
125
  color,
118
126
  ...(dash ? { dash } : {}),
127
+ ...(strokeWidth ? { strokeWidth } : {}),
128
+ ...(isWavy ? { isWavy: true, wavyAmplitude: wavyAmp, wavyWavelength: wavyLambda } : {}),
119
129
  ...(animation ? { animation } : {}),
120
130
  ...(markerEnd ? { markerEnd } : {}),
121
131
  ...(markerStart ? { markerStart } : {}),
@@ -172,9 +182,12 @@ export function routeAndRenderCrossLinks3(links, theme, anchors, intraPorts, occ
172
182
  const pendingLabels = [];
173
183
  for (let i = 0; i < workingRoutes.length; i++) {
174
184
  const wr = workingRoutes[i];
175
- const path = wr.isBezier
185
+ let path = wr.isBezier
176
186
  ? `M ${wr.points[0].x} ${wr.points[0].y} C ${wr.points[1].x} ${wr.points[1].y} ${wr.points[2].x} ${wr.points[2].y} ${wr.points[3].x} ${wr.points[3].y}`
177
187
  : wr.points.map((p, pi) => `${pi === 0 ? 'M' : 'L'} ${p.x} ${p.y}`).join(' ');
188
+ if (wr.isWavy) {
189
+ path = wavifyPath([...wr.points], wr.wavyAmplitude ?? 3, wr.wavyWavelength ?? 12);
190
+ }
178
191
  if (wr.markerEnd === ARROW_ID)
179
192
  needsArrow = true;
180
193
  if (wr.markerStart === BI_ARROW_ID)
@@ -183,7 +196,7 @@ export function routeAndRenderCrossLinks3(links, theme, anchors, intraPorts, occ
183
196
  type: 'path',
184
197
  d: path,
185
198
  stroke: wr.color,
186
- strokeWidth: edgeTheme.strokeWidth + 0.5,
199
+ strokeWidth: wr.strokeWidth ?? (edgeTheme.strokeWidth + 0.5),
187
200
  ...(wr.dash ? { strokeDasharray: wr.dash } : {}),
188
201
  ...(wr.animation ? { animated: wr.animation } : {}),
189
202
  ...(wr.markerEnd ? { markerEnd: wr.markerEnd } : {}),
@@ -821,10 +834,11 @@ function labelAnchor(pts) {
821
834
  return hMid ?? anyMid;
822
835
  }
823
836
  function edgeStyleToDash(style) {
837
+ if (style === 'dotted')
838
+ return '4 3';
824
839
  if (style === 'dashed')
825
840
  return '8 4';
826
- if (style === 'dotted')
827
- return '3 4';
841
+ // 'solid', 'thick', 'wavy', undefined → no dasharray
828
842
  return undefined;
829
843
  }
830
844
  // ─── Post-route: border nudging ───────────────────────────────────────────────