@dr2rai/raid-canvas 0.2.0 → 0.3.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.
@@ -1 +1 @@
1
- {"version":3,"file":"RaiBridge.d.ts","sourceRoot":"","sources":["../src/RaiBridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAML,KAAK,aAAa,EAClB,KAAK,YAAY,EAEjB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EAC1B,MAAM,YAAY,CAAC;AAGpB,qBAAa,SAAS;IACpB;;;;;;;OAOG;IACI,cAAc,CACnB,SAAS,EAAE,MAAM,GAAG,OAAO,EAC3B,KAAK,EAAE,KAAK,EACZ,OAAO,GAAE,gBAAqB,GAC7B,aAAa,CAuBf;IAED;;;;;;;OAOG;IACI,cAAc,CACnB,KAAK,EAAE,KAAK,EACZ,OAAO,CAAC,EAAE,MAAM,EAChB,OAAO,GAAE,oBAAyB,GACjC,MAAM,CAQR;IAED;;OAEG;IACI,kBAAkB,CAAC,KAAK,EAAE,KAAK,GAAG,aAAa,CAyErD;IAED;;OAEG;IACI,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,EAAE,CAevD;IAED;;OAEG;IACI,gBAAgB,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,GAAG,MAAM,CAE/D;IAMD,OAAO,CAAC,iBAAiB;IAkBzB,OAAO,CAAC,gBAAgB;IA2IxB,OAAO,CAAC,aAAa;IA8CrB,OAAO,CAAC,iBAAiB;IAoDzB,OAAO,CAAC,gBAAgB;IA8ExB,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,aAAa;CAQtB"}
1
+ {"version":3,"file":"RaiBridge.d.ts","sourceRoot":"","sources":["../src/RaiBridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAOL,KAAK,aAAa,EAClB,KAAK,YAAY,EAEjB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EAC1B,MAAM,YAAY,CAAC;AAGpB,qBAAa,SAAS;IACpB;;;;;;;OAOG;IACI,cAAc,CACnB,SAAS,EAAE,MAAM,GAAG,OAAO,EAC3B,KAAK,EAAE,KAAK,EACZ,OAAO,GAAE,gBAAqB,GAC7B,aAAa,CAuBf;IAED;;;;;;;OAOG;IACI,cAAc,CACnB,KAAK,EAAE,KAAK,EACZ,OAAO,CAAC,EAAE,MAAM,EAChB,OAAO,GAAE,oBAAyB,GACjC,MAAM,CAQR;IAED;;OAEG;IACI,kBAAkB,CAAC,KAAK,EAAE,KAAK,GAAG,aAAa,CAyFrD;IAED;;OAEG;IACI,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,EAAE,CAevD;IAED;;OAEG;IACI,gBAAgB,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,GAAG,MAAM,CAE/D;IAMD,OAAO,CAAC,iBAAiB;IAkBzB,OAAO,CAAC,gBAAgB;IAoJxB,OAAO,CAAC,aAAa;IA8CrB,OAAO,CAAC,iBAAiB;IAkEzB,OAAO,CAAC,gBAAgB;IAkFxB,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,aAAa;CAQtB"}
package/dist/RaiBridge.js CHANGED
@@ -100,6 +100,22 @@ export class RaiBridge {
100
100
  const sourcePort = edge.getSourcePortId();
101
101
  const targetPort = edge.getTargetPortId();
102
102
  const label = edge.getLabels()?.[0]?.attrs?.['text']?.['text'] ?? customData.label;
103
+ let routing = customData.routing;
104
+ if (!routing) {
105
+ const router = edge.getRouter();
106
+ const routerName = typeof router === 'string' ? router : router?.name;
107
+ const connector = edge.getConnector();
108
+ const connectorName = typeof connector === 'string' ? connector : connector?.name;
109
+ if (connectorName === 'smooth') {
110
+ routing = 'smooth';
111
+ }
112
+ else if (routerName === 'normal') {
113
+ routing = 'normal';
114
+ }
115
+ else if (routerName === 'manhattan') {
116
+ routing = 'manhattan';
117
+ }
118
+ }
103
119
  const edgeData = {
104
120
  id: edge.id,
105
121
  kind: customData.kind ?? 'association',
@@ -107,6 +123,7 @@ export class RaiBridge {
107
123
  targetId: target.id,
108
124
  ...(sourcePort !== undefined ? { sourcePort } : {}),
109
125
  ...(targetPort !== undefined ? { targetPort } : {}),
126
+ ...(routing !== undefined ? { routing } : {}),
110
127
  ...(label !== undefined ? { label } : {}),
111
128
  ...(customData.stereotype !== undefined ? { stereotype: customData.stereotype } : {}),
112
129
  ...(customData.sourceCardinality !== undefined ? { sourceCardinality: customData.sourceCardinality } : {}),
@@ -251,6 +268,12 @@ export class RaiBridge {
251
268
  const effectiveBendPoints = isTerminalOnly ? [] : bendPoints;
252
269
  const sourceCardinality = el.getAttribute('aim-source-cardinality') ?? undefined;
253
270
  const targetCardinality = el.getAttribute('aim-target-cardinality') ?? undefined;
271
+ const rawRouting = el.getAttribute(AimSvgContract.ATTR_ROUTING) ??
272
+ el.getAttribute('aim-routing') ??
273
+ undefined;
274
+ const routing = rawRouting === 'normal' || rawRouting === 'smooth' || rawRouting === 'manhattan'
275
+ ? rawRouting
276
+ : undefined;
254
277
  edges.push({
255
278
  id,
256
279
  kind,
@@ -258,6 +281,7 @@ export class RaiBridge {
258
281
  targetId,
259
282
  ...(sourcePort !== undefined ? { sourcePort } : {}),
260
283
  ...(targetPort !== undefined ? { targetPort } : {}),
284
+ ...(routing !== undefined ? { routing } : {}),
261
285
  ...(label !== undefined ? { label } : {}),
262
286
  ...(sourceCardinality !== undefined ? { sourceCardinality } : {}),
263
287
  ...(targetCardinality !== undefined ? { targetCardinality } : {}),
@@ -340,6 +364,21 @@ export class RaiBridge {
340
364
  el.setAttribute(AimSvgContract.ATTR_BENDS, bendsString);
341
365
  el.setAttribute(AimSvgContract.ATTR_EDGE, 'true');
342
366
  el.setAttribute(AimSvgContract.ATTR_EDGE_KIND, edge.kind);
367
+ if (edge.sourceId !== undefined) {
368
+ el.setAttribute(AimSvgContract.ATTR_SOURCE, edge.sourceId);
369
+ }
370
+ if (edge.targetId !== undefined) {
371
+ el.setAttribute(AimSvgContract.ATTR_TARGET, edge.targetId);
372
+ }
373
+ if (edge.sourcePort !== undefined) {
374
+ el.setAttribute(AimSvgContract.ATTR_SOURCE_PORT, edge.sourcePort);
375
+ }
376
+ if (edge.targetPort !== undefined) {
377
+ el.setAttribute(AimSvgContract.ATTR_TARGET_PORT, edge.targetPort);
378
+ }
379
+ if (edge.routing !== undefined) {
380
+ el.setAttribute(AimSvgContract.ATTR_ROUTING, edge.routing);
381
+ }
343
382
  if (edge.stereotype !== undefined) {
344
383
  el.setAttribute(AimSvgContract.ATTR_STEREOTYPE, edge.stereotype);
345
384
  }
@@ -387,7 +426,10 @@ export class RaiBridge {
387
426
  const first = edge.bendPoints[0];
388
427
  pathD = `M ${first.x} ${first.y} ` + edge.bendPoints.slice(1).map((p) => `L ${p.x} ${p.y}`).join(' ');
389
428
  }
390
- svg += ` <g ${AimSvgContract.ATTR_EDGE}="true" ${AimSvgContract.ATTR_ID}="${edge.id}" ${AimSvgContract.ATTR_EDGE_KIND}="${edge.kind}" ${AimSvgContract.ATTR_SOURCE}="${edge.sourceId}" ${AimSvgContract.ATTR_TARGET}="${edge.targetId}" ${AimSvgContract.ATTR_BENDS}="${bendsFormatted}">\n`;
429
+ const sourcePortAttr = edge.sourcePort ? ` ${AimSvgContract.ATTR_SOURCE_PORT}="${edge.sourcePort}"` : '';
430
+ const targetPortAttr = edge.targetPort ? ` ${AimSvgContract.ATTR_TARGET_PORT}="${edge.targetPort}"` : '';
431
+ const routingAttr = edge.routing ? ` ${AimSvgContract.ATTR_ROUTING}="${edge.routing}"` : '';
432
+ svg += ` <g ${AimSvgContract.ATTR_EDGE}="true" ${AimSvgContract.ATTR_ID}="${edge.id}" ${AimSvgContract.ATTR_EDGE_KIND}="${edge.kind}" ${AimSvgContract.ATTR_SOURCE}="${edge.sourceId}" ${AimSvgContract.ATTR_TARGET}="${edge.targetId}"${sourcePortAttr}${targetPortAttr}${routingAttr} ${AimSvgContract.ATTR_BENDS}="${bendsFormatted}">\n`;
391
433
  if (pathD) {
392
434
  svg += ` <path d="${pathD}" class="aim-edge"${strokeDash}${markerEnd} />\n`;
393
435
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RaiBridge.js","sourceRoot":"","sources":["../src/RaiBridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RaiBridge.js","sourceRoot":"","sources":["../src/RaiBridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EACL,cAAc,GAWf,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEhG,MAAM,OAAO,SAAS;IACpB;;;;;;;OAOG;IACI,cAAc,CACnB,SAA2B,EAC3B,KAAY,EACZ,OAAO,GAAqB,EAAE;QAE9B,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAEzB,IAAI,OAAO,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;YACjC,KAAK,CAAC,UAAU,EAAE,CAAC;QACrB,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAEtD,4BAA4B;QAC5B,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;YACvC,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;YACzC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC1B,CAAC;QAED,4BAA4B;QAC5B,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;YACvC,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;YACzC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;;;;OAOG;IACI,cAAc,CACnB,KAAY,EACZ,OAAgB,EAChB,OAAO,GAAyB,EAAE;QAElC,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAEjD,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAC7D,CAAC;QAED,OAAO,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;IAED;;OAEG;IACI,kBAAkB,CAAC,KAAY;QACpC,MAAM,KAAK,GAAmB,EAAE,CAAC;QACjC,MAAM,KAAK,GAAmB,EAAE,CAAC;QAEjC,gBAAgB;QAChB,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;QACjC,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;YAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YAC5B,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,CAA0B,CAAC;YAEnE,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;YACnB,MAAM,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAoB,CAAC;YACpF,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,IAAK,IAAI,CAAC,aAAa,CAAC,YAAY,CAAY,IAAI,EAAE,CAAC;YAEjG,MAAM,QAAQ,GAAiB;gBAC7B,EAAE;gBACF,IAAI;gBACJ,WAAW;gBACX,GAAG,CAAC,UAAU,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrF,GAAG,CAAC,UAAU,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClF,GAAG,CAAC,UAAU,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrF,GAAG,CAAC,UAAU,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5E,MAAM,EAAE;oBACN,CAAC,EAAE,GAAG,CAAC,CAAC;oBACR,CAAC,EAAE,GAAG,CAAC,CAAC;oBACR,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,MAAM,EAAE,IAAI,CAAC,MAAM;iBACpB;gBACD,GAAG,CAAC,UAAU,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACtF,CAAC;YAEF,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvB,CAAC;QAED,gBAAgB;QAChB,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;QACjC,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YACpC,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YACpC,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM;gBAAE,SAAS;YAEjC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YACpC,MAAM,UAAU,GAAmB,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC7E,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,CAA0B,CAAC;YAEnE,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1C,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1C,MAAM,KAAK,GAAI,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAwB,IAAI,UAAU,CAAC,KAAK,CAAC;YAE3G,IAAI,OAAO,GAA+B,UAAU,CAAC,OAAO,CAAC;YAC7D,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;gBAChC,MAAM,UAAU,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC;gBACtE,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;gBACtC,MAAM,aAAa,GAAG,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC;gBAClF,IAAI,aAAa,KAAK,QAAQ,EAAE,CAAC;oBAC/B,OAAO,GAAG,QAAQ,CAAC;gBACrB,CAAC;qBAAM,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;oBACnC,OAAO,GAAG,QAAQ,CAAC;gBACrB,CAAC;qBAAM,IAAI,UAAU,KAAK,WAAW,EAAE,CAAC;oBACtC,OAAO,GAAG,WAAW,CAAC;gBACxB,CAAC;YACH,CAAC;YAED,MAAM,QAAQ,GAAiB;gBAC7B,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,IAAI,EAAE,UAAU,CAAC,IAAI,IAAI,aAAa;gBACtC,QAAQ,EAAE,MAAM,CAAC,EAAE;gBACnB,QAAQ,EAAE,MAAM,CAAC,EAAE;gBACnB,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnD,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnD,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7C,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzC,GAAG,CAAC,UAAU,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrF,GAAG,CAAC,UAAU,CAAC,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1G,GAAG,CAAC,UAAU,CAAC,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1G,UAAU;aACX,CAAC;YAEF,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvB,CAAC;QAED,OAAO;YACL,SAAS,EAAE,aAAa;YACxB,SAAS,EAAE,mBAAmB;YAC9B,KAAK;YACL,KAAK;SACN,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,eAAe,CAAC,QAAgB;QACrC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9C,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,OAAO,QAAQ;aACZ,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;aAC1B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;aACjC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACZ,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACrC,MAAM,CAAC,GAAG,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,CAAC;YAC1C,MAAM,CAAC,GAAG,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,CAAC;YAC1C,OAAO,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACpE,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;OAEG;IACI,gBAAgB,CAAC,MAA+B;QACrD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/E,CAAC;IAED,6EAA6E;IAC7E,gCAAgC;IAChC,6EAA6E;IAErE,iBAAiB,CAAC,MAAwB;QAChD,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,IAAI,OAAO,SAAS,KAAK,WAAW,EAAE,CAAC;YACrC,MAAM,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;YAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;YAC/D,MAAM,IAAI,GAAG,MAAM,CAAC,eAAe,CAAC;YACpC,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,aAAa,EAAE,CAAC;gBACjD,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;YAC3D,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC5E,CAAC;IAEO,gBAAgB,CAAC,OAAgB,EAAE,OAAyB;QAClE,MAAM,KAAK,GAAmB,EAAE,CAAC;QACjC,MAAM,KAAK,GAAmB,EAAE,CAAC;QAEjC,8BAA8B;QAC9B,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAC7B,OAAO,CAAC,gBAAgB,CAAC,cAAc,CAAC,aAAa,CAAC,CACvD,CAAC;QAEF,KAAK,MAAM,EAAE,IAAI,YAAY,EAAE,CAAC;YAC9B,MAAM,EAAE,GACN,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC,OAAO,CAAC;gBACvC,EAAE,CAAC,YAAY,CAAC,WAAW,CAAC;gBAC5B,EAAE,CAAC,YAAY,CAAC,iBAAiB,CAAC;gBAClC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YAExB,IAAI,CAAC,EAAE;gBAAE,SAAS;YAElB,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC;YACnE,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAEzC,MAAM,WAAW,GACf,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC,iBAAiB,CAAC;gBACjD,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE;gBAC7C,EAAE,CAAC;YAEL,MAAM,UAAU,GAAG,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC,eAAe,CAAC,IAAI,SAAS,CAAC;YAChF,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;YAE/D,KAAK,CAAC,IAAI,CAAC;gBACT,EAAE;gBACF,IAAI;gBACJ,WAAW;gBACX,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnD,MAAM;aACP,CAAC,CAAC;QACL,CAAC;QAED,8BAA8B;QAC9B,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAC7B,OAAO,CAAC,gBAAgB,CAAC,cAAc,CAAC,aAAa,CAAC,CACvD,CAAC;QAEF,KAAK,MAAM,EAAE,IAAI,YAAY,EAAE,CAAC;YAC9B,MAAM,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,QAAQ,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1G,MAAM,QAAQ,GAAG,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;YAC7D,MAAM,QAAQ,GAAG,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;YAE7D,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ;gBAAE,SAAS;YAErC,MAAM,WAAW,GAAG,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,aAAa,CAAC;YACpF,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;YAEjD,MAAM,SAAS,GAAG,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YACnE,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;YAEnD,MAAM,KAAK,GACT,EAAE,CAAC,YAAY,CAAC,WAAW,CAAC;gBAC5B,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE;gBAC7C,SAAS,CAAC;YAEZ,IAAI,UAAU,GAAG,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC,gBAAgB,CAAC,IAAI,SAAS,CAAC;YAC/E,IAAI,UAAU,GAAG,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC,gBAAgB,CAAC,IAAI,SAAS,CAAC;YAE/E,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC;YACxD,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC;YAExD,oEAAoE;YACpE,IAAI,UAAU,IAAI,UAAU,EAAE,CAAC;gBAC7B,MAAM,EAAE,GACN,UAAU,CAAC,MAAM,CAAC,CAAC;oBACnB,UAAU,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC;oBAC3B,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;gBACtD,MAAM,EAAE,GACN,UAAU,CAAC,MAAM,CAAC,CAAC;oBACnB,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;oBAC5B,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAEvD,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,UAAU;wBACR,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;4BAC1B,CAAC,CAAC,EAAE,IAAI,CAAC;gCACP,CAAC,CAAC,YAAY;gCACd,CAAC,CAAC,WAAW;4BACf,CAAC,CAAC,EAAE,IAAI,CAAC;gCACP,CAAC,CAAC,aAAa;gCACf,CAAC,CAAC,UAAU,CAAC;gBACrB,CAAC;gBACD,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,UAAU;wBACR,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;4BAC1B,CAAC,CAAC,EAAE,IAAI,CAAC;gCACP,CAAC,CAAC,WAAW;gCACb,CAAC,CAAC,YAAY;4BAChB,CAAC,CAAC,EAAE,IAAI,CAAC;gCACP,CAAC,CAAC,UAAU;gCACZ,CAAC,CAAC,aAAa,CAAC;gBACxB,CAAC;YACH,CAAC;YAED,gFAAgF;YAChF,wFAAwF;YACxF,MAAM,cAAc,GAClB,UAAU,CAAC,MAAM,KAAK,CAAC;gBACvB,UAAU;gBACV,UAAU;gBACV,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAE,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,GAAG,CAAC;oBACjD,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;oBACvF,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAE,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,GAAG,CAAC;wBAChD,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YAC9F,MAAM,mBAAmB,GAAG,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;YAE7D,MAAM,iBAAiB,GACrB,EAAE,CAAC,YAAY,CAAC,wBAAwB,CAAC,IAAI,SAAS,CAAC;YACzD,MAAM,iBAAiB,GACrB,EAAE,CAAC,YAAY,CAAC,wBAAwB,CAAC,IAAI,SAAS,CAAC;YACzD,MAAM,UAAU,GACd,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC,YAAY,CAAC;gBAC5C,EAAE,CAAC,YAAY,CAAC,aAAa,CAAC;gBAC9B,SAAS,CAAC;YACZ,MAAM,OAAO,GACX,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,WAAW;gBAC9E,CAAC,CAAE,UAA6B;gBAChC,CAAC,CAAC,SAAS,CAAC;YAEhB,KAAK,CAAC,IAAI,CAAC;gBACT,EAAE;gBACF,IAAI;gBACJ,QAAQ;gBACR,QAAQ;gBACR,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnD,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnD,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7C,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzC,GAAG,CAAC,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjE,GAAG,CAAC,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjE,UAAU,EAAE,mBAAmB;aAChC,CAAC,CAAC;QACL,CAAC;QAED,OAAO;YACL,SAAS,EAAE,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,iBAAiB;YAC1D,SAAS,EAAE,OAAO,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,cAAc;YAClE,KAAK;YACL,KAAK;SACN,CAAC;IACJ,CAAC;IAEO,aAAa,CACnB,EAAW,EACX,WAAW,GAAsC,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE;QAE3E,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,IAAI,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC;QAC9B,IAAI,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;QAEhC,sCAAsC;QACtC,MAAM,SAAS,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QAC/C,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,KAAK,GAAG,6CAA6C,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC5E,IAAI,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClC,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACzB,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;QAED,2DAA2D;QAC3D,MAAM,IAAI,GAAG,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC3F,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC;gBAAE,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAE,CAAC,CAAC;YAClF,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC;gBAAE,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAE,CAAC,CAAC;YAClF,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;gBAAE,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAE,CAAC,CAAC;YAChF,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC;gBAAE,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAE,CAAC,CAAC;QACrF,CAAC;QAED,MAAM,OAAO,GACX,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACtF,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;YACpE,MAAM,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC;YACrE,KAAK,GAAG,EAAE,GAAG,CAAC,CAAC;YACf,MAAM,GAAG,EAAE,GAAG,CAAC,CAAC;YAChB,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;gBACzD,MAAM,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;gBACzD,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;gBACZ,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;YACd,CAAC;QACH,CAAC;QAED,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IACjC,CAAC;IAEO,iBAAiB,CACvB,OAAe,EACf,KAAoB,EACpB,QAA8B;QAE9B,IAAI,OAAO,SAAS,KAAK,WAAW,IAAI,OAAO,aAAa,KAAK,WAAW,EAAE,CAAC;YAC7E,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAChD,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAC/B,MAAM,GAAG,GAAG,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QAE7D,uCAAuC;QACvC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAC/B,MAAM,EAAE,GAAG,GAAG,CAAC,aAAa,CAAC,IAAI,cAAc,CAAC,OAAO,KAAK,IAAI,CAAC,EAAE,YAAY,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;YAC5F,IAAI,EAAE,EAAE,CAAC;gBACP,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,aAAa,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC9E,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;gBAClD,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBAErD,MAAM,IAAI,GAAG,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;gBACtC,IAAI,IAAI,EAAE,CAAC;oBACT,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;oBACnD,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;gBACvD,CAAC;YACH,CAAC;QACH,CAAC;QAED,mDAAmD;QACnD,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAC/B,MAAM,EAAE,GAAG,GAAG,CAAC,aAAa,CAAC,IAAI,cAAc,CAAC,OAAO,KAAK,IAAI,CAAC,EAAE,YAAY,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;YAC5F,IAAI,EAAE,EAAE,CAAC;gBACP,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC3D,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;gBACxD,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;gBAClD,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC1D,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;oBAChC,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC7D,CAAC;gBACD,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;oBAChC,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC7D,CAAC;gBACD,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;oBAClC,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC,gBAAgB,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;gBACpE,CAAC;gBACD,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;oBAClC,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC,gBAAgB,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;gBACpE,CAAC;gBACD,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;oBAC/B,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC7D,CAAC;gBACD,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;oBAClC,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC,eAAe,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;gBACnE,CAAC;gBACD,IAAI,IAAI,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;oBACzC,EAAE,CAAC,YAAY,CAAC,wBAAwB,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBACpE,CAAC;gBACD,IAAI,IAAI,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;oBACzC,EAAE,CAAC,YAAY,CAAC,wBAAwB,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBACpE,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,IAAI,aAAa,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;IACpD,CAAC;IAEO,gBAAgB,CAAC,KAAoB,EAAE,OAA6B;QAC1E,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC;QAC1F,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC;QAE5F,IAAI,GAAG,GAAG,wDAAwD,KAAK,IAAI,MAAM,SAAS,KAAK,CAAC,SAAS,oBAAoB,KAAK,CAAC,SAAS,MAAM,CAAC;QAEnJ,wBAAwB;QACxB,GAAG,IAAI,YAAY,CAAC;QACpB,GAAG,IAAI,uIAAuI,CAAC;QAC/I,GAAG,IAAI,+CAA+C,cAAc,CAAC,YAAY,QAAQ,CAAC;QAC1F,GAAG,IAAI,iBAAiB,CAAC;QACzB,GAAG,IAAI,sIAAsI,CAAC;QAC9I,GAAG,IAAI,iDAAiD,cAAc,CAAC,UAAU,aAAa,cAAc,CAAC,YAAY,2BAA2B,CAAC;QACrJ,GAAG,IAAI,iBAAiB,CAAC;QACzB,IAAI,OAAO,CAAC,WAAW,KAAK,KAAK,EAAE,CAAC;YAClC,GAAG,IAAI,eAAe,CAAC;YACvB,GAAG,IAAI,uEAAuE,CAAC;YAC/E,GAAG,IAAI,6EAA6E,CAAC;YACrF,GAAG,IAAI,yCAAyC,cAAc,CAAC,YAAY,0BAA0B,CAAC;YACtG,GAAG,IAAI,6DAA6D,CAAC;YACrE,GAAG,IAAI,gBAAgB,CAAC;QAC1B,CAAC;QACD,GAAG,IAAI,eAAe,CAAC;QAEvB,eAAe;QACf,GAAG,IAAI,oBAAoB,CAAC;QAC5B,GAAG,IAAI,iCAAiC,CAAC;QACzC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAC/B,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC9D,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/E,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAC,CAAC,mCAAmC,CAAC;YAE5H,yBAAyB;YACzB,IAAI,KAAK,GAAG,EAAE,CAAC;YACf,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAE,CAAC;gBAClC,KAAK,GAAG,KAAK,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACxG,CAAC;YAED,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,gBAAgB,KAAK,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACzG,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,gBAAgB,KAAK,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACzG,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,YAAY,KAAK,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAE5F,GAAG,IAAI,UAAU,cAAc,CAAC,SAAS,WAAW,cAAc,CAAC,OAAO,KAAK,IAAI,CAAC,EAAE,KAAK,cAAc,CAAC,cAAc,KAAK,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,WAAW,KAAK,IAAI,CAAC,QAAQ,KAAK,cAAc,CAAC,WAAW,KAAK,IAAI,CAAC,QAAQ,IAAI,cAAc,GAAG,cAAc,GAAG,WAAW,IAAI,cAAc,CAAC,UAAU,KAAK,cAAc,MAAM,CAAC;YAChV,IAAI,KAAK,EAAE,CAAC;gBACV,GAAG,IAAI,kBAAkB,KAAK,qBAAqB,UAAU,GAAG,SAAS,OAAO,CAAC;YACnF,CAAC;YACD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACf,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;gBAC7F,GAAG,IAAI,kBAAkB,QAAQ,CAAC,CAAC,QAAQ,QAAQ,CAAC,CAAC,GAAG,CAAC,0BAA0B,cAAc,CAAC,aAAa,0BAA0B,IAAI,CAAC,KAAK,WAAW,CAAC;YACjK,CAAC;YACD,GAAG,IAAI,YAAY,CAAC;QACtB,CAAC;QACD,GAAG,IAAI,YAAY,CAAC;QAEpB,eAAe;QACf,GAAG,IAAI,oBAAoB,CAAC;QAC5B,GAAG,IAAI,iCAAiC,CAAC;QACzC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAC/B,GAAG,IAAI,UAAU,cAAc,CAAC,SAAS,WAAW,cAAc,CAAC,OAAO,KAAK,IAAI,CAAC,EAAE,KAAK,cAAc,CAAC,SAAS,KAAK,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,iBAAiB,KAAK,IAAI,CAAC,WAAW,0BAA0B,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YAE5P,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;gBACvB,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;gBACjC,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;gBAClC,GAAG,IAAI,sBAAsB,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,cAAc,CAAC,UAAU,aAAa,cAAc,CAAC,OAAO,yBAAyB,CAAC;gBACjK,GAAG,IAAI,kBAAkB,EAAE,QAAQ,EAAE,6CAA6C,cAAc,CAAC,WAAW,sDAAsD,IAAI,CAAC,WAAW,WAAW,CAAC;YAChM,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gBAC/B,GAAG,IAAI,sBAAsB,IAAI,CAAC,MAAM,CAAC,KAAK,aAAa,IAAI,CAAC,MAAM,CAAC,MAAM,2BAA2B,cAAc,CAAC,WAAW,aAAa,cAAc,CAAC,aAAa,yBAAyB,CAAC;gBACrM,GAAG,IAAI,kBAAkB,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,4CAA4C,cAAc,CAAC,WAAW,sDAAsD,IAAI,CAAC,WAAW,WAAW,CAAC;YACtO,CAAC;iBAAM,CAAC;gBACN,GAAG,IAAI,sBAAsB,IAAI,CAAC,MAAM,CAAC,KAAK,aAAa,IAAI,CAAC,MAAM,CAAC,MAAM,WAAW,cAAc,CAAC,UAAU,aAAa,cAAc,CAAC,YAAY,2BAA2B,CAAC;gBACrL,GAAG,IAAI,kBAAkB,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,0BAA0B,cAAc,CAAC,WAAW,sDAAsD,IAAI,CAAC,WAAW,WAAW,CAAC;YACpN,CAAC;YAED,GAAG,IAAI,YAAY,CAAC;QACtB,CAAC;QACD,GAAG,IAAI,UAAU,CAAC;QAClB,GAAG,IAAI,UAAU,CAAC;QAElB,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,aAAa,CAAC,IAAY;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACjC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QACvD,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,UAAU;YAAE,OAAO,KAAK,CAAC;QAC1D,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,OAAO;YAAE,OAAO,KAAK,CAAC;QACvD,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QACxD,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,OAAO;YAAE,OAAO,KAAK,CAAC;QAC7E,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,iBAAiB,CAAC,IAAY;QACpC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACjC,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,OAAO,YAAY,CAAC;QAClD,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,OAAO,gBAAgB,CAAC;QAClF,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,OAAO,aAAa,CAAC;QACnD,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,OAAO,aAAa,CAAC;QACnD,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,OAAO,aAAa,CAAC;QACnD,OAAO,aAAa,CAAC;IACvB,CAAC;IAEO,aAAa,CAAC,KAAa;QACjC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QACtC,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QACxC,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QACxC,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QACxC,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QACxC,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
@@ -10,7 +10,7 @@
10
10
  */
11
11
  import React from 'react';
12
12
  import { Graph } from '@antv/x6';
13
- import type { AimOntologyKind, RaidNodeData, RaidEdgeData } from './types.js';
13
+ import type { AimOntologyKind, AimRoutingMode, RaidNodeData, RaidEdgeData } from './types.js';
14
14
  export interface RaidCanvasProps {
15
15
  /** The raw SVG string carrying aim-* ontological attributes (preferred) */
16
16
  svg?: string;
@@ -18,6 +18,8 @@ export interface RaidCanvasProps {
18
18
  svgContent?: string;
19
19
  /** Whether the canvas allows dragging and editing, or behaves as a pan/zoom viewer */
20
20
  readOnly?: boolean;
21
+ /** Default routing mode for edges ('manhattan', 'normal', 'smooth'). Default: 'manhattan' */
22
+ defaultRouting?: AimRoutingMode;
21
23
  /** Optional CSS class name for the outer wrapper */
22
24
  className?: string;
23
25
  /** Optional inline styles for outer wrapper */
@@ -51,8 +53,12 @@ export interface RaidCanvasHandle {
51
53
  addNode: (kind: AimOntologyKind, x?: number, y?: number, customData?: Partial<RaidNodeData>) => string;
52
54
  /** Update properties of an existing node (label, stereotype, dimensions, etc.) */
53
55
  updateNode: (id: string, updates: Partial<RaidNodeData>) => void;
54
- /** Update properties of an existing edge (kind, label, stereotype) */
56
+ /** Update properties of an existing edge (kind, label, stereotype, routing, ports) */
55
57
  updateEdge: (id: string, updates: Partial<RaidEdgeData>) => void;
58
+ /** Set routing mode across the canvas or for new edges */
59
+ setRoutingMode: (mode: AimRoutingMode, applyToAllEdges?: boolean) => void;
60
+ /** Get the current active canvas routing mode */
61
+ getRoutingMode: () => AimRoutingMode;
56
62
  /** Delete currently selected cell(s) */
57
63
  deleteSelection: () => void;
58
64
  /** Clear all cells on the canvas */
@@ -1 +1 @@
1
- {"version":3,"file":"RaidCanvas.d.ts","sourceRoot":"","sources":["../src/RaidCanvas.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAMN,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,KAAK,EAAS,MAAM,UAAU,CAAC;AAexC,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE9E,MAAM,WAAW,eAAe;IAC9B,2EAA2E;IAC3E,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,+DAA+D;IAC/D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,sFAAsF;IACtF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+CAA+C;IAC/C,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,+EAA+E;IAC/E,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,oFAAoF;IACpF,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,eAAe,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,KAAK,IAAI,CAAC;IAC5F,0DAA0D;IAC1D,iBAAiB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACpD,+DAA+D;IAC/D,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACjF,sGAAsG;IACtG,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,+CAA+C;IAC/C,QAAQ,EAAE,MAAM,KAAK,GAAG,IAAI,CAAC;IAC7B,iCAAiC;IACjC,MAAM,EAAE,MAAM,MAAM,CAAC;IACrB,mDAAmD;IACnD,OAAO,EAAE,CACP,IAAI,EAAE,eAAe,EACrB,CAAC,CAAC,EAAE,MAAM,EACV,CAAC,CAAC,EAAE,MAAM,EACV,UAAU,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,KAC/B,MAAM,CAAC;IACZ,kFAAkF;IAClF,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC;IACjE,sEAAsE;IACtE,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC;IACjE,wCAAwC;IACxC,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,oCAAoC;IACpC,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,4BAA4B;IAC5B,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,0BAA0B;IAC1B,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,yCAAyC;IACzC,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,cAAc;IACd,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,eAAe;IACf,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED;;;GAGG;AACH,eAAO,MAAM,UAAU,0FA0vBtB,CAAC"}
1
+ {"version":3,"file":"RaidCanvas.d.ts","sourceRoot":"","sources":["../src/RaidCanvas.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAMN,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,KAAK,EAAe,MAAM,UAAU,CAAC;AAgB9C,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE9F,MAAM,WAAW,eAAe;IAC9B,2EAA2E;IAC3E,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,+DAA+D;IAC/D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,sFAAsF;IACtF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,6FAA6F;IAC7F,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+CAA+C;IAC/C,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,+EAA+E;IAC/E,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,oFAAoF;IACpF,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,eAAe,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,KAAK,IAAI,CAAC;IAC5F,0DAA0D;IAC1D,iBAAiB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACpD,+DAA+D;IAC/D,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACjF,sGAAsG;IACtG,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,+CAA+C;IAC/C,QAAQ,EAAE,MAAM,KAAK,GAAG,IAAI,CAAC;IAC7B,iCAAiC;IACjC,MAAM,EAAE,MAAM,MAAM,CAAC;IACrB,mDAAmD;IACnD,OAAO,EAAE,CACP,IAAI,EAAE,eAAe,EACrB,CAAC,CAAC,EAAE,MAAM,EACV,CAAC,CAAC,EAAE,MAAM,EACV,UAAU,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,KAC/B,MAAM,CAAC;IACZ,kFAAkF;IAClF,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC;IACjE,sFAAsF;IACtF,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC;IACjE,0DAA0D;IAC1D,cAAc,EAAE,CAAC,IAAI,EAAE,cAAc,EAAE,eAAe,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1E,iDAAiD;IACjD,cAAc,EAAE,MAAM,cAAc,CAAC;IACrC,wCAAwC;IACxC,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,oCAAoC;IACpC,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,4BAA4B;IAC5B,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,0BAA0B;IAC1B,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,yCAAyC;IACzC,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,cAAc;IACd,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,eAAe;IACf,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED;;;GAGG;AACH,eAAO,MAAM,UAAU,0FA+2BtB,CAAC"}
@@ -12,13 +12,13 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
12
12
  import React, { useEffect, useRef, useState, useCallback, useImperativeHandle, } from 'react';
13
13
  import { Graph, Shape } from '@antv/x6';
14
14
  import { RaiBridge } from './RaiBridge.js';
15
- import { registerAimShapes, configureAimGraph, createAimNode, CascaisPalette, getDefaultNodeBounds, getDefaultNodeName, } from './X6Shapes.js';
15
+ import { registerAimShapes, configureAimGraph, createAimNode, applyEdgeRouting, CascaisPalette, getDefaultNodeBounds, getDefaultNodeName, } from './X6Shapes.js';
16
16
  import { validateSemanticConnection, getSemanticEdgeKind, getSemanticEdgeStereotype, } from './semanticRules.js';
17
17
  /**
18
18
  * Declarative drop-in React component for rendering and interacting with
19
19
  * AOAIM diagrams conforming to the ontological aim-* SVG contract.
20
20
  */
21
- export const RaidCanvas = React.forwardRef(function RaidCanvas({ svg, svgContent, readOnly = false, className, style, onChange, onSave, onSelect, onSelectionChange, onDropStencil, showToolbar = true, }, ref) {
21
+ export const RaidCanvas = React.forwardRef(function RaidCanvas({ svg, svgContent, readOnly = false, defaultRouting = 'manhattan', className, style, onChange, onSave, onSelect, onSelectionChange, onDropStencil, showToolbar = true, }, ref) {
22
22
  const containerRef = useRef(null);
23
23
  const graphRef = useRef(null);
24
24
  const bridgeRef = useRef(new RaiBridge());
@@ -26,6 +26,9 @@ export const RaidCanvas = React.forwardRef(function RaidCanvas({ svg, svgContent
26
26
  const isHydratingRef = useRef(false);
27
27
  const debounceTimerRef = useRef(null);
28
28
  const selectedCellIdRef = useRef(null);
29
+ const clearEdgeToolsRef = useRef(null);
30
+ const routingModeRef = useRef(defaultRouting);
31
+ routingModeRef.current = defaultRouting;
29
32
  const [zoomLevel, setZoomLevel] = useState(100);
30
33
  const [isDragOver, setIsDragOver] = useState(false);
31
34
  // Unify svg vs svgContent props
@@ -186,6 +189,21 @@ export const RaidCanvas = React.forwardRef(function RaidCanvas({ svg, svgContent
186
189
  const currentData = (edge.getData() ?? {});
187
190
  const nextData = { ...currentData, ...updates };
188
191
  edge.setData(nextData);
192
+ if (updates.routing !== undefined) {
193
+ applyEdgeRouting(edge, updates.routing);
194
+ }
195
+ if (updates.sourcePort !== undefined) {
196
+ const currentSource = edge.getSource();
197
+ if (currentSource.cell) {
198
+ edge.setSource({ cell: currentSource.cell, port: updates.sourcePort });
199
+ }
200
+ }
201
+ if (updates.targetPort !== undefined) {
202
+ const currentTarget = edge.getTarget();
203
+ if (currentTarget.cell) {
204
+ edge.setTarget({ cell: currentTarget.cell, port: updates.targetPort });
205
+ }
206
+ }
189
207
  if (updates.label !== undefined || updates.stereotype !== undefined) {
190
208
  const text = updates.label ?? updates.stereotype ?? '';
191
209
  edge.setLabels(text
@@ -205,6 +223,18 @@ export const RaidCanvas = React.forwardRef(function RaidCanvas({ svg, svgContent
205
223
  }
206
224
  triggerDebouncedChange();
207
225
  },
226
+ setRoutingMode: (mode, applyToAll = true) => {
227
+ routingModeRef.current = mode;
228
+ if (applyToAll && graphRef.current) {
229
+ for (const edge of graphRef.current.getEdges()) {
230
+ applyEdgeRouting(edge, mode);
231
+ const currentData = (edge.getData() ?? {});
232
+ edge.setData({ ...currentData, routing: mode });
233
+ }
234
+ triggerDebouncedChange();
235
+ }
236
+ },
237
+ getRoutingMode: () => routingModeRef.current,
208
238
  deleteSelection: () => {
209
239
  const graph = graphRef.current;
210
240
  if (!graph || readOnly)
@@ -212,6 +242,7 @@ export const RaidCanvas = React.forwardRef(function RaidCanvas({ svg, svgContent
212
242
  if (selectedCellIdRef.current) {
213
243
  const cell = graph.getCellById(selectedCellIdRef.current);
214
244
  if (cell) {
245
+ clearEdgeToolsRef.current?.();
215
246
  graph.removeCell(cell);
216
247
  selectedCellIdRef.current = null;
217
248
  onSelectRef.current?.(null);
@@ -330,49 +361,119 @@ export const RaidCanvas = React.forwardRef(function RaidCanvas({ svg, svgContent
330
361
  return validateSemanticConnection(sourceKind, targetKind);
331
362
  },
332
363
  createEdge() {
333
- return new Shape.Edge({
364
+ const edge = new Shape.Edge({
334
365
  shape: 'aim-edge',
335
366
  });
367
+ applyEdgeRouting(edge, routingModeRef.current);
368
+ return edge;
336
369
  },
337
370
  },
338
371
  });
339
372
  configureAimGraph(graph);
340
373
  graphRef.current = graph;
341
- // Handle new edge connections with automatic semantic wiring
342
- graph.on('edge:connected', ({ edge, isNew }) => {
343
- if (!isNew)
374
+ let activeToolEdge = null;
375
+ const clearEdgeTools = () => {
376
+ if (activeToolEdge) {
377
+ try {
378
+ activeToolEdge.removeTools();
379
+ }
380
+ catch {
381
+ // Ignore if cell was already removed
382
+ }
383
+ activeToolEdge = null;
384
+ }
385
+ };
386
+ clearEdgeToolsRef.current = clearEdgeTools;
387
+ const setEdgeTools = (edge) => {
388
+ clearEdgeTools();
389
+ if (readOnly)
344
390
  return;
391
+ activeToolEdge = edge;
392
+ try {
393
+ edge.addTools([
394
+ {
395
+ name: 'source-arrowhead',
396
+ args: {
397
+ attrs: {
398
+ fill: CascaisPalette.NetGold,
399
+ stroke: '#FFFFFF',
400
+ strokeWidth: 2,
401
+ cursor: 'grab',
402
+ },
403
+ },
404
+ },
405
+ {
406
+ name: 'target-arrowhead',
407
+ args: {
408
+ attrs: {
409
+ fill: CascaisPalette.NetGold,
410
+ stroke: '#FFFFFF',
411
+ strokeWidth: 2,
412
+ cursor: 'grab',
413
+ },
414
+ },
415
+ },
416
+ {
417
+ name: 'vertices',
418
+ args: {
419
+ attrs: {
420
+ fill: CascaisPalette.WarmGraphite,
421
+ stroke: '#FFFFFF',
422
+ strokeWidth: 1.5,
423
+ },
424
+ },
425
+ },
426
+ ]);
427
+ }
428
+ catch {
429
+ // Fallback if tools fail to attach
430
+ }
431
+ };
432
+ // Handle edge connections and re-connections with automatic semantic wiring
433
+ graph.on('edge:connected', ({ edge, isNew }) => {
345
434
  const sourceCell = edge.getSourceCell();
346
435
  const targetCell = edge.getTargetCell();
347
436
  if (sourceCell?.isNode() && targetCell?.isNode()) {
348
437
  const sourceKind = (sourceCell.getData()?.kind ?? 'act');
349
438
  const targetKind = (targetCell.getData()?.kind ?? 'act');
350
439
  const edgeKind = getSemanticEdgeKind(sourceKind, targetKind);
351
- const stereotype = getSemanticEdgeStereotype(sourceKind, targetKind);
440
+ const currentData = (edge.getData() ?? {});
441
+ const stereotype = currentData.stereotype ?? getSemanticEdgeStereotype(sourceKind, targetKind);
352
442
  edge.setData({
443
+ ...currentData,
353
444
  id: edge.id,
354
445
  kind: edgeKind,
355
446
  sourceId: sourceCell.id,
356
447
  targetId: targetCell.id,
357
448
  sourcePort: edge.getSourcePortId(),
358
449
  targetPort: edge.getTargetPortId(),
359
- label: stereotype,
450
+ label: currentData.label ?? stereotype,
360
451
  stereotype,
361
- bendPoints: [],
452
+ routing: currentData.routing ?? routingModeRef.current,
453
+ bendPoints: currentData.bendPoints ?? [],
362
454
  });
363
- if (stereotype) {
364
- edge.setLabels([
365
- {
366
- attrs: {
367
- text: {
368
- text: stereotype,
369
- fill: CascaisPalette.TextSecondary,
370
- fontSize: 11,
455
+ if (isNew) {
456
+ applyEdgeRouting(edge, routingModeRef.current);
457
+ if (stereotype) {
458
+ edge.setLabels([
459
+ {
460
+ attrs: {
461
+ text: {
462
+ text: stereotype,
463
+ fill: CascaisPalette.TextSecondary,
464
+ fontSize: 11,
465
+ },
371
466
  },
467
+ position: 0.5,
372
468
  },
373
- position: 0.5,
374
- },
375
- ]);
469
+ ]);
470
+ }
471
+ }
472
+ else {
473
+ // Re-anchored: if edge was selected, re-attach tools
474
+ if (selectedCellIdRef.current === edge.id) {
475
+ setEdgeTools(edge);
476
+ }
376
477
  }
377
478
  }
378
479
  triggerDebouncedChange();
@@ -381,8 +482,15 @@ export const RaidCanvas = React.forwardRef(function RaidCanvas({ svg, svgContent
381
482
  graph.on('node:change:position', triggerDebouncedChange);
382
483
  graph.on('node:change:size', triggerDebouncedChange);
383
484
  graph.on('edge:change:vertices', triggerDebouncedChange);
485
+ graph.on('edge:change:source', triggerDebouncedChange);
486
+ graph.on('edge:change:target', triggerDebouncedChange);
384
487
  graph.on('cell:added', triggerDebouncedChange);
385
- graph.on('cell:removed', triggerDebouncedChange);
488
+ graph.on('cell:removed', ({ cell }) => {
489
+ if (cell === activeToolEdge) {
490
+ activeToolEdge = null;
491
+ }
492
+ triggerDebouncedChange();
493
+ });
386
494
  // Zoom listener to keep toolbar indicator accurate
387
495
  graph.on('scale', () => {
388
496
  setZoomLevel(Math.round(graph.zoom() * 100));
@@ -392,6 +500,7 @@ export const RaidCanvas = React.forwardRef(function RaidCanvas({ svg, svgContent
392
500
  const id = String(cell.id);
393
501
  selectedCellIdRef.current = id;
394
502
  if (cell.isNode()) {
503
+ clearEdgeTools();
395
504
  const data = (cell.getData() ?? {});
396
505
  const kind = (data.kind ?? 'act');
397
506
  const label = data.displayName ??
@@ -401,6 +510,7 @@ export const RaidCanvas = React.forwardRef(function RaidCanvas({ svg, svgContent
401
510
  onSelectRef.current?.({ id, kind, label });
402
511
  }
403
512
  else if (cell.isEdge()) {
513
+ setEdgeTools(cell);
404
514
  const data = (cell.getData() ?? {});
405
515
  const label = data.label ??
406
516
  cell.getLabels()?.[0]?.attrs?.['text']?.['text'] ??
@@ -410,6 +520,7 @@ export const RaidCanvas = React.forwardRef(function RaidCanvas({ svg, svgContent
410
520
  onSelectionChangeRef.current?.([id]);
411
521
  });
412
522
  graph.on('blank:click', () => {
523
+ clearEdgeTools();
413
524
  selectedCellIdRef.current = null;
414
525
  onSelectRef.current?.(null);
415
526
  onSelectionChangeRef.current?.([]);
@@ -429,6 +540,7 @@ export const RaidCanvas = React.forwardRef(function RaidCanvas({ svg, svgContent
429
540
  const cell = graphRef.current.getCellById(selectedCellIdRef.current);
430
541
  if (cell) {
431
542
  e.preventDefault();
543
+ clearEdgeTools();
432
544
  graphRef.current.removeCell(cell);
433
545
  selectedCellIdRef.current = null;
434
546
  onSelectRef.current?.(null);
@@ -471,6 +583,7 @@ export const RaidCanvas = React.forwardRef(function RaidCanvas({ svg, svgContent
471
583
  }
472
584
  window.removeEventListener('keydown', handleKeyDown);
473
585
  resizeObserver.disconnect();
586
+ clearEdgeToolsRef.current = null;
474
587
  graph.dispose();
475
588
  graphRef.current = null;
476
589
  };
@@ -1 +1 @@
1
- {"version":3,"file":"RaidCanvas.js","sourceRoot":"","sources":["../src/RaidCanvas.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RaidCanvas.js","sourceRoot":"","sources":["../src/RaidCanvas.tsx"],"names":[],"mappings":"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"}