@cwygoda/bpmn-txt 0.13.3 → 0.15.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.
- package/dist/cli.js +0 -0
- package/dist/generators/bpmn-xml.d.ts +14 -0
- package/dist/generators/bpmn-xml.d.ts.map +1 -1
- package/dist/generators/bpmn-xml.js +193 -27
- package/dist/generators/bpmn-xml.js.map +1 -1
- package/dist/generators/constants.d.ts +43 -0
- package/dist/generators/constants.d.ts.map +1 -1
- package/dist/generators/constants.js +57 -0
- package/dist/generators/constants.js.map +1 -1
- package/dist/generators/index.d.ts +1 -1
- package/dist/generators/index.d.ts.map +1 -1
- package/dist/generators/index.js +1 -1
- package/dist/generators/index.js.map +1 -1
- package/dist/generators/layout.d.ts.map +1 -1
- package/dist/generators/layout.js +211 -49
- package/dist/generators/layout.js.map +1 -1
- package/dist/generators/obstacle-router.d.ts +27 -0
- package/dist/generators/obstacle-router.d.ts.map +1 -0
- package/dist/generators/obstacle-router.js +312 -0
- package/dist/generators/obstacle-router.js.map +1 -0
- package/dist/generators/routing.d.ts +11 -2
- package/dist/generators/routing.d.ts.map +1 -1
- package/dist/generators/routing.js +924 -56
- package/dist/generators/routing.js.map +1 -1
- package/dist/generators/utils.d.ts +5 -0
- package/dist/generators/utils.d.ts.map +1 -1
- package/dist/generators/utils.js +52 -2
- package/dist/generators/utils.js.map +1 -1
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
File without changes
|
|
@@ -14,4 +14,18 @@ export declare function toBpmnXml(doc: Document, options?: BpmnExportOptions): s
|
|
|
14
14
|
* Export document to BPMN 2.0 XML string with auto-layout (async)
|
|
15
15
|
*/
|
|
16
16
|
export declare function toBpmnXmlAsync(doc: Document, options?: BpmnExportOptions): Promise<string>;
|
|
17
|
+
/**
|
|
18
|
+
* Compute label bounds at the midpoint of a polyline.
|
|
19
|
+
* Estimates text width at ~7px/char, height at 14px.
|
|
20
|
+
* Offsets perpendicular to the segment for readability.
|
|
21
|
+
*/
|
|
22
|
+
export declare function computeEdgeLabelBounds(waypoints: {
|
|
23
|
+
x: number;
|
|
24
|
+
y: number;
|
|
25
|
+
}[], text: string): {
|
|
26
|
+
x: number;
|
|
27
|
+
y: number;
|
|
28
|
+
width: number;
|
|
29
|
+
height: number;
|
|
30
|
+
};
|
|
17
31
|
//# sourceMappingURL=bpmn-xml.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bpmn-xml.d.ts","sourceRoot":"","sources":["../../src/generators/bpmn-xml.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,QAAQ,EAiBT,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAkD,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAUjG,MAAM,WAAW,iBAAiB;IAChC,kCAAkC;IAClC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,qCAAqC;IACrC,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,GAAE,iBAAsB,GAAG,MAAM,CAqBhF;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,MAAM,CAAC,CAyBpG"}
|
|
1
|
+
{"version":3,"file":"bpmn-xml.d.ts","sourceRoot":"","sources":["../../src/generators/bpmn-xml.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,QAAQ,EAiBT,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAkD,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAUjG,MAAM,WAAW,iBAAiB;IAChC,kCAAkC;IAClC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,qCAAqC;IACrC,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,GAAE,iBAAsB,GAAG,MAAM,CAqBhF;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,MAAM,CAAC,CAyBpG;AAu6BD;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,SAAS,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,EACrC,IAAI,EAAE,MAAM,GACX;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAmDzD"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { XMLBuilder } from 'fast-xml-parser';
|
|
2
2
|
import { generateIds } from './id-generator.js';
|
|
3
3
|
import { generateLayout, applyLayout } from './layout.js';
|
|
4
|
-
import { ELEMENT_SIZES } from './constants.js';
|
|
5
|
-
import { collectFromProcess, collectFromPool, collectPoolsAndLanes } from './utils.js';
|
|
4
|
+
import { ELEMENT_SIZES, LABEL_OFFSET } from './constants.js';
|
|
5
|
+
import { collectFromProcess, collectAllElements, collectFromPool, collectPoolsAndLanes } from './utils.js';
|
|
6
6
|
const BPMN_NS = 'http://www.omg.org/spec/BPMN/20100524/MODEL';
|
|
7
7
|
const BPMNDI_NS = 'http://www.omg.org/spec/BPMN/20100524/DI';
|
|
8
8
|
const DC_NS = 'http://www.omg.org/spec/DD/20100524/DC';
|
|
@@ -59,7 +59,7 @@ function collectExistingLayout(doc) {
|
|
|
59
59
|
const elements = new Map();
|
|
60
60
|
const edges = new Map();
|
|
61
61
|
for (const proc of doc.processes) {
|
|
62
|
-
const { elements: procElements, flows } =
|
|
62
|
+
const { elements: procElements, flows } = collectAllElements(proc);
|
|
63
63
|
// Extract element layouts
|
|
64
64
|
for (const elem of procElements) {
|
|
65
65
|
if (elem.id && elem.layout?.x !== undefined && elem.layout?.y !== undefined) {
|
|
@@ -167,8 +167,9 @@ function buildCollaboration(doc) {
|
|
|
167
167
|
}
|
|
168
168
|
}
|
|
169
169
|
if (proc.messageFlows) {
|
|
170
|
+
const poolIdSet = new Set((proc.pools ?? []).map(p => p.id).filter(Boolean));
|
|
170
171
|
for (const flow of proc.messageFlows) {
|
|
171
|
-
messageFlows.push(buildMessageFlow(flow));
|
|
172
|
+
messageFlows.push(buildMessageFlow(flow, poolIdSet));
|
|
172
173
|
}
|
|
173
174
|
}
|
|
174
175
|
}
|
|
@@ -223,12 +224,23 @@ function buildProcess(proc) {
|
|
|
223
224
|
if (proc.sequenceFlows) {
|
|
224
225
|
allFlows.push(...proc.sequenceFlows);
|
|
225
226
|
}
|
|
227
|
+
// Pre-compute subprocess internal flows
|
|
228
|
+
const subFlowMap = computeSubprocessFlowMap(allElements, allFlows);
|
|
229
|
+
const consumedFlowIds = new Set();
|
|
230
|
+
for (const flows of subFlowMap.values()) {
|
|
231
|
+
for (const f of flows) {
|
|
232
|
+
if (f.id)
|
|
233
|
+
consumedFlowIds.add(f.id);
|
|
234
|
+
}
|
|
235
|
+
}
|
|
226
236
|
// Add flow elements to process
|
|
227
237
|
for (const elem of allElements) {
|
|
228
|
-
addFlowElement(process, elem);
|
|
238
|
+
addFlowElement(process, elem, subFlowMap);
|
|
229
239
|
}
|
|
230
|
-
// Add sequence flows
|
|
240
|
+
// Add sequence flows (excluding subprocess-internal ones)
|
|
231
241
|
for (const flow of allFlows) {
|
|
242
|
+
if (flow.id && consumedFlowIds.has(flow.id))
|
|
243
|
+
continue;
|
|
232
244
|
if (!process['bpmn:sequenceFlow']) {
|
|
233
245
|
process['bpmn:sequenceFlow'] = [];
|
|
234
246
|
}
|
|
@@ -284,10 +296,21 @@ function buildPoolProcess(proc, pool) {
|
|
|
284
296
|
process['bpmn:laneSet'] = buildLaneSet(pool);
|
|
285
297
|
}
|
|
286
298
|
const { elements, flows } = collectFromPool(pool);
|
|
299
|
+
// Pre-compute subprocess internal flows
|
|
300
|
+
const subFlowMap = computeSubprocessFlowMap(elements, flows);
|
|
301
|
+
const consumedFlowIds = new Set();
|
|
302
|
+
for (const subFlows of subFlowMap.values()) {
|
|
303
|
+
for (const f of subFlows) {
|
|
304
|
+
if (f.id)
|
|
305
|
+
consumedFlowIds.add(f.id);
|
|
306
|
+
}
|
|
307
|
+
}
|
|
287
308
|
for (const elem of elements) {
|
|
288
|
-
addFlowElement(process, elem);
|
|
309
|
+
addFlowElement(process, elem, subFlowMap);
|
|
289
310
|
}
|
|
290
311
|
for (const flow of flows) {
|
|
312
|
+
if (flow.id && consumedFlowIds.has(flow.id))
|
|
313
|
+
continue;
|
|
291
314
|
if (!process['bpmn:sequenceFlow']) {
|
|
292
315
|
process['bpmn:sequenceFlow'] = [];
|
|
293
316
|
}
|
|
@@ -317,8 +340,17 @@ function buildLaneSet(pool) {
|
|
|
317
340
|
laneSet['bpmn:lane'] = lanes;
|
|
318
341
|
return laneSet;
|
|
319
342
|
}
|
|
320
|
-
function addFlowElement(process, elem) {
|
|
321
|
-
|
|
343
|
+
function addFlowElement(process, elem, subFlowMap) {
|
|
344
|
+
let tag;
|
|
345
|
+
let element;
|
|
346
|
+
// For expanded subprocesses, pass internal flows
|
|
347
|
+
if (elem.type === 'subprocess' && elem.elements?.length && subFlowMap) {
|
|
348
|
+
tag = 'bpmn:subProcess';
|
|
349
|
+
element = buildSubprocess(elem, subFlowMap.get(elem.id) ?? []);
|
|
350
|
+
}
|
|
351
|
+
else {
|
|
352
|
+
({ tag, element } = buildFlowElement(elem));
|
|
353
|
+
}
|
|
322
354
|
if (!process[tag]) {
|
|
323
355
|
process[tag] = [];
|
|
324
356
|
}
|
|
@@ -544,7 +576,7 @@ function buildTask(task) {
|
|
|
544
576
|
}
|
|
545
577
|
return { tag, element: result };
|
|
546
578
|
}
|
|
547
|
-
function buildSubprocess(subprocess) {
|
|
579
|
+
function buildSubprocess(subprocess, internalFlows) {
|
|
548
580
|
const result = {
|
|
549
581
|
'@_id': subprocess.id,
|
|
550
582
|
'@_triggeredByEvent': String(subprocess.triggered ?? false),
|
|
@@ -553,16 +585,74 @@ function buildSubprocess(subprocess) {
|
|
|
553
585
|
result['@_name'] = subprocess.name;
|
|
554
586
|
// Add nested elements
|
|
555
587
|
if (subprocess.elements) {
|
|
588
|
+
// Pre-compute internal flows for nested subprocesses
|
|
589
|
+
const nestedFlowMap = computeSubprocessFlowMap(subprocess.elements, internalFlows ?? []);
|
|
556
590
|
for (const elem of subprocess.elements) {
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
591
|
+
if (elem.type === 'subprocess' && elem.elements?.length) {
|
|
592
|
+
const { tag, element } = {
|
|
593
|
+
tag: 'bpmn:subProcess',
|
|
594
|
+
element: buildSubprocess(elem, nestedFlowMap.get(elem.id) ?? []),
|
|
595
|
+
};
|
|
596
|
+
if (!result[tag])
|
|
597
|
+
result[tag] = [];
|
|
598
|
+
result[tag].push(element);
|
|
599
|
+
}
|
|
600
|
+
else {
|
|
601
|
+
const { tag, element } = buildFlowElement(elem);
|
|
602
|
+
if (!result[tag])
|
|
603
|
+
result[tag] = [];
|
|
604
|
+
result[tag].push(element);
|
|
605
|
+
}
|
|
606
|
+
// Boundary events
|
|
607
|
+
if ((elem.type === 'task' || elem.type === 'subprocess') && elem.boundaryEvents) {
|
|
608
|
+
for (const boundary of elem.boundaryEvents) {
|
|
609
|
+
const boundaryResult = buildBoundaryEvent(boundary, elem.id);
|
|
610
|
+
if (!result['bpmn:boundaryEvent'])
|
|
611
|
+
result['bpmn:boundaryEvent'] = [];
|
|
612
|
+
result['bpmn:boundaryEvent'].push(boundaryResult);
|
|
613
|
+
}
|
|
560
614
|
}
|
|
561
|
-
result[tag].push(element);
|
|
562
615
|
}
|
|
563
616
|
}
|
|
617
|
+
// Add internal sequence flows
|
|
618
|
+
if (internalFlows && internalFlows.length > 0) {
|
|
619
|
+
// Exclude flows consumed by deeper subprocesses
|
|
620
|
+
const deepConsumed = new Set();
|
|
621
|
+
if (subprocess.elements) {
|
|
622
|
+
for (const elem of subprocess.elements) {
|
|
623
|
+
if (elem.type === 'subprocess' && elem.elements?.length) {
|
|
624
|
+
const childIds = new Set(elem.elements.map(e => e.id).filter(Boolean));
|
|
625
|
+
for (const flow of internalFlows) {
|
|
626
|
+
if (childIds.has(flow.from) && childIds.has(flow.to) && flow.id) {
|
|
627
|
+
deepConsumed.add(flow.id);
|
|
628
|
+
}
|
|
629
|
+
}
|
|
630
|
+
}
|
|
631
|
+
}
|
|
632
|
+
}
|
|
633
|
+
const ownFlows = internalFlows.filter(f => !f.id || !deepConsumed.has(f.id));
|
|
634
|
+
if (ownFlows.length > 0) {
|
|
635
|
+
result['bpmn:sequenceFlow'] = ownFlows.map(flow => buildSequenceFlow(flow));
|
|
636
|
+
}
|
|
637
|
+
}
|
|
638
|
+
addFlowReferences(result);
|
|
564
639
|
return result;
|
|
565
640
|
}
|
|
641
|
+
/**
|
|
642
|
+
* Pre-compute which flows are internal to each expanded subprocess.
|
|
643
|
+
*/
|
|
644
|
+
function computeSubprocessFlowMap(elements, flows) {
|
|
645
|
+
const map = new Map();
|
|
646
|
+
for (const elem of elements) {
|
|
647
|
+
if (elem.type !== 'subprocess' || !elem.elements?.length)
|
|
648
|
+
continue;
|
|
649
|
+
const childIds = new Set(elem.elements.map(e => e.id).filter(Boolean));
|
|
650
|
+
const internal = flows.filter(f => childIds.has(f.from) && childIds.has(f.to));
|
|
651
|
+
if (internal.length > 0)
|
|
652
|
+
map.set(elem.id, internal);
|
|
653
|
+
}
|
|
654
|
+
return map;
|
|
655
|
+
}
|
|
566
656
|
function buildCallActivity(call) {
|
|
567
657
|
const result = {
|
|
568
658
|
'@_id': call.id,
|
|
@@ -667,11 +757,11 @@ function buildSequenceFlow(flow) {
|
|
|
667
757
|
}
|
|
668
758
|
return result;
|
|
669
759
|
}
|
|
670
|
-
function buildMessageFlow(flow) {
|
|
760
|
+
function buildMessageFlow(flow, poolIds) {
|
|
671
761
|
const result = {
|
|
672
762
|
'@_id': flow.id,
|
|
673
|
-
'@_sourceRef': flow.from,
|
|
674
|
-
'@_targetRef': flow.to,
|
|
763
|
+
'@_sourceRef': poolIds.has(flow.from) ? `Participant_${flow.from}` : flow.from,
|
|
764
|
+
'@_targetRef': poolIds.has(flow.to) ? `Participant_${flow.to}` : flow.to,
|
|
675
765
|
};
|
|
676
766
|
if (flow.name)
|
|
677
767
|
result['@_name'] = flow.name;
|
|
@@ -704,7 +794,9 @@ function buildDiagram(doc, layout) {
|
|
|
704
794
|
for (const pool of pools) {
|
|
705
795
|
const participantId = `Participant_${pool.id}`;
|
|
706
796
|
const poolLayout = layout.elements.get(participantId);
|
|
707
|
-
|
|
797
|
+
const { elements: poolElems } = collectFromPool(pool);
|
|
798
|
+
const shapeType = poolElems.length === 0 ? 'collapsedPool' : 'pool';
|
|
799
|
+
shapes.push(buildShape(participantId, poolLayout ?? pool.layout, shapeType));
|
|
708
800
|
}
|
|
709
801
|
for (const lane of lanes) {
|
|
710
802
|
if (!lane.id)
|
|
@@ -712,18 +804,21 @@ function buildDiagram(doc, layout) {
|
|
|
712
804
|
const laneLayout = layout.elements.get(lane.id);
|
|
713
805
|
shapes.push(buildShape(lane.id, laneLayout ?? lane.layout, 'lane'));
|
|
714
806
|
}
|
|
715
|
-
// Add shapes for all flow elements
|
|
716
|
-
const { elements: allElements, flows: allFlows } =
|
|
807
|
+
// Add shapes for all flow elements (including subprocess children)
|
|
808
|
+
const { elements: allElements, flows: allFlows } = collectAllElements(proc);
|
|
717
809
|
for (const elem of allElements) {
|
|
718
810
|
if (!elem.id)
|
|
719
811
|
continue;
|
|
720
812
|
const elemLayout = layout.elements.get(elem.id);
|
|
813
|
+
const expanded = elem.type === 'subprocess'
|
|
814
|
+
&& elem.elements
|
|
815
|
+
&& elem.elements.length > 0;
|
|
721
816
|
if (elemLayout) {
|
|
722
|
-
shapes.push(buildShape(elem.id, elemLayout, elem.type));
|
|
817
|
+
shapes.push(buildShape(elem.id, elemLayout, elem.type, expanded));
|
|
723
818
|
}
|
|
724
819
|
else {
|
|
725
820
|
// Use default sizes if no layout
|
|
726
|
-
shapes.push(buildShape(elem.id, elem.layout, elem.type));
|
|
821
|
+
shapes.push(buildShape(elem.id, elem.layout, elem.type, expanded));
|
|
727
822
|
}
|
|
728
823
|
// Handle boundary events
|
|
729
824
|
if ((elem.type === 'task' || elem.type === 'subprocess') && elem.boundaryEvents) {
|
|
@@ -739,12 +834,13 @@ function buildDiagram(doc, layout) {
|
|
|
739
834
|
for (const flow of allFlows) {
|
|
740
835
|
if (!flow.id)
|
|
741
836
|
continue;
|
|
837
|
+
const labelText = flow.name || flow.condition;
|
|
742
838
|
const flowLayout = layout.edges.get(flow.id);
|
|
743
839
|
if (flowLayout) {
|
|
744
|
-
edges.push(buildEdge(flow.id, flowLayout.waypoints));
|
|
840
|
+
edges.push(buildEdge(flow.id, flowLayout.waypoints, labelText));
|
|
745
841
|
}
|
|
746
842
|
else if (flow.layout?.waypoints) {
|
|
747
|
-
edges.push(buildEdge(flow.id, flow.layout.waypoints));
|
|
843
|
+
edges.push(buildEdge(flow.id, flow.layout.waypoints, labelText));
|
|
748
844
|
}
|
|
749
845
|
else {
|
|
750
846
|
// Edge without waypoints - minimal placeholder
|
|
@@ -759,9 +855,10 @@ function buildDiagram(doc, layout) {
|
|
|
759
855
|
for (const flow of proc.messageFlows) {
|
|
760
856
|
if (!flow.id)
|
|
761
857
|
continue;
|
|
858
|
+
const labelText = flow.name;
|
|
762
859
|
const flowLayout = layout.edges.get(flow.id);
|
|
763
860
|
if (flowLayout) {
|
|
764
|
-
edges.push(buildEdge(flow.id, flowLayout.waypoints));
|
|
861
|
+
edges.push(buildEdge(flow.id, flowLayout.waypoints, labelText));
|
|
765
862
|
}
|
|
766
863
|
else {
|
|
767
864
|
edges.push({
|
|
@@ -783,7 +880,7 @@ function buildDiagram(doc, layout) {
|
|
|
783
880
|
'bpmndi:BPMNPlane': plane,
|
|
784
881
|
};
|
|
785
882
|
}
|
|
786
|
-
function buildShape(elementId, layout, elementType) {
|
|
883
|
+
function buildShape(elementId, layout, elementType, isExpanded) {
|
|
787
884
|
const defaultSize = ELEMENT_SIZES[elementType] || { width: 100, height: 80 };
|
|
788
885
|
const shape = {
|
|
789
886
|
'@_id': `${elementId}_di`,
|
|
@@ -796,9 +893,67 @@ function buildShape(elementId, layout, elementType) {
|
|
|
796
893
|
'@_width': layout?.width ?? defaultSize.width,
|
|
797
894
|
'@_height': layout?.height ?? defaultSize.height,
|
|
798
895
|
};
|
|
896
|
+
if (elementType === 'pool' || elementType === 'collapsedPool') {
|
|
897
|
+
shape['@_isHorizontal'] = 'true';
|
|
898
|
+
shape['@_isExpanded'] = elementType === 'pool' ? 'true' : 'false';
|
|
899
|
+
}
|
|
900
|
+
if (elementType === 'subprocess' && isExpanded) {
|
|
901
|
+
shape['@_isExpanded'] = 'true';
|
|
902
|
+
}
|
|
799
903
|
return shape;
|
|
800
904
|
}
|
|
801
|
-
|
|
905
|
+
/**
|
|
906
|
+
* Compute label bounds at the midpoint of a polyline.
|
|
907
|
+
* Estimates text width at ~7px/char, height at 14px.
|
|
908
|
+
* Offsets perpendicular to the segment for readability.
|
|
909
|
+
*/
|
|
910
|
+
export function computeEdgeLabelBounds(waypoints, text) {
|
|
911
|
+
const labelW = Math.max(30, text.length * 7);
|
|
912
|
+
const labelH = 14;
|
|
913
|
+
const OFFSET = LABEL_OFFSET;
|
|
914
|
+
if (waypoints.length < 2) {
|
|
915
|
+
return { x: 0, y: 0, width: labelW, height: labelH };
|
|
916
|
+
}
|
|
917
|
+
// Compute total polyline length and find midpoint
|
|
918
|
+
let totalLen = 0;
|
|
919
|
+
const segLens = [];
|
|
920
|
+
for (let i = 1; i < waypoints.length; i++) {
|
|
921
|
+
const dx = waypoints[i].x - waypoints[i - 1].x;
|
|
922
|
+
const dy = waypoints[i].y - waypoints[i - 1].y;
|
|
923
|
+
const len = Math.sqrt(dx * dx + dy * dy);
|
|
924
|
+
segLens.push(len);
|
|
925
|
+
totalLen += len;
|
|
926
|
+
}
|
|
927
|
+
const halfLen = totalLen / 2;
|
|
928
|
+
let accumulated = 0;
|
|
929
|
+
for (let i = 0; i < segLens.length; i++) {
|
|
930
|
+
if (accumulated + segLens[i] >= halfLen) {
|
|
931
|
+
const t = segLens[i] > 0 ? (halfLen - accumulated) / segLens[i] : 0;
|
|
932
|
+
const p0 = waypoints[i];
|
|
933
|
+
const p1 = waypoints[i + 1];
|
|
934
|
+
const midX = p0.x + t * (p1.x - p0.x);
|
|
935
|
+
const midY = p0.y + t * (p1.y - p0.y);
|
|
936
|
+
// Perpendicular offset (rotate segment direction 90°)
|
|
937
|
+
const dx = p1.x - p0.x;
|
|
938
|
+
const dy = p1.y - p0.y;
|
|
939
|
+
const segLen = segLens[i] || 1;
|
|
940
|
+
const nx = -dy / segLen;
|
|
941
|
+
const ny = dx / segLen;
|
|
942
|
+
return {
|
|
943
|
+
x: Math.round(midX + nx * OFFSET - labelW / 2),
|
|
944
|
+
y: Math.round(midY + ny * OFFSET - labelH / 2),
|
|
945
|
+
width: labelW,
|
|
946
|
+
height: labelH,
|
|
947
|
+
};
|
|
948
|
+
}
|
|
949
|
+
accumulated += segLens[i];
|
|
950
|
+
}
|
|
951
|
+
// Fallback: use first segment midpoint
|
|
952
|
+
const mx = (waypoints[0].x + waypoints[1].x) / 2;
|
|
953
|
+
const my = (waypoints[0].y + waypoints[1].y) / 2;
|
|
954
|
+
return { x: Math.round(mx - labelW / 2), y: Math.round(my - OFFSET - labelH / 2), width: labelW, height: labelH };
|
|
955
|
+
}
|
|
956
|
+
function buildEdge(flowId, waypoints, labelText) {
|
|
802
957
|
const edge = {
|
|
803
958
|
'@_id': `${flowId}_di`,
|
|
804
959
|
'@_bpmnElement': flowId,
|
|
@@ -809,6 +964,17 @@ function buildEdge(flowId, waypoints) {
|
|
|
809
964
|
'@_y': wp.y,
|
|
810
965
|
}));
|
|
811
966
|
}
|
|
967
|
+
if (labelText && waypoints.length >= 2) {
|
|
968
|
+
const bounds = computeEdgeLabelBounds(waypoints, labelText);
|
|
969
|
+
edge['bpmndi:BPMNLabel'] = {
|
|
970
|
+
'dc:Bounds': {
|
|
971
|
+
'@_x': bounds.x,
|
|
972
|
+
'@_y': bounds.y,
|
|
973
|
+
'@_width': bounds.width,
|
|
974
|
+
'@_height': bounds.height,
|
|
975
|
+
},
|
|
976
|
+
};
|
|
977
|
+
}
|
|
812
978
|
return edge;
|
|
813
979
|
}
|
|
814
980
|
//# sourceMappingURL=bpmn-xml.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bpmn-xml.js","sourceRoot":"","sources":["../../src/generators/bpmn-xml.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bpmn-xml.js","sourceRoot":"","sources":["../../src/generators/bpmn-xml.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,4 +2,47 @@ export declare const ELEMENT_SIZES: Record<string, {
|
|
|
2
2
|
width: number;
|
|
3
3
|
height: number;
|
|
4
4
|
}>;
|
|
5
|
+
export declare const DEFAULT_ELEMENT_WIDTH = 100;
|
|
6
|
+
export declare const DEFAULT_ELEMENT_HEIGHT = 80;
|
|
7
|
+
/** Pool label zone (vertical band on left edge of horizontal pools) */
|
|
8
|
+
export declare const POOL_LABEL_WIDTH = 30;
|
|
9
|
+
/** Vertical gap between consecutive pools */
|
|
10
|
+
export declare const POOL_GAP = 80;
|
|
11
|
+
/** Padding around pool/lane contents */
|
|
12
|
+
export declare const CONTAINER_PADDING = 50;
|
|
13
|
+
/** Minimum spacing for message flows between pools */
|
|
14
|
+
export declare const MIN_FLOW_SPACING = 20;
|
|
15
|
+
export declare function computePoolLabelWidth(name: string): number;
|
|
16
|
+
/** Edge-to-node spacing in ELK layout */
|
|
17
|
+
export declare const ELK_EDGE_NODE_SPACING = 20;
|
|
18
|
+
/** Subprocess internal padding [top, left, bottom, right] */
|
|
19
|
+
export declare const ELK_SUBPROCESS_PADDING = "[top=40,left=15,bottom=15,right=15]";
|
|
20
|
+
/** Obstacle-aware routing: buffer around obstacles */
|
|
21
|
+
export declare const OBSTACLE_MARGIN = 15;
|
|
22
|
+
/** A* cost penalty for each direction change */
|
|
23
|
+
export declare const BEND_PENALTY = 50;
|
|
24
|
+
/** Tolerance for detecting overlapping parallel segments */
|
|
25
|
+
export declare const PARALLEL_TOLERANCE = 2;
|
|
26
|
+
/** Distance of perpendicular stub from element edge before A* routing */
|
|
27
|
+
export declare const EXIT_STUB = 20;
|
|
28
|
+
/** Extra margin beyond OBSTACLE_MARGIN for Z-shape obstacle-edge candidates */
|
|
29
|
+
export declare const ZSHAPE_EXTRA_MARGIN = 5;
|
|
30
|
+
/** Fraction of element width used for port spreading (centered) */
|
|
31
|
+
export declare const PORT_SPREAD_RATIO = 0.5;
|
|
32
|
+
/** Margin from pool edge for U-shape fallback routing */
|
|
33
|
+
export declare const POOL_EDGE_MARGIN = 30;
|
|
34
|
+
/** Base horizontal offset for U-shape routing (beyond rightmost pool edge) */
|
|
35
|
+
export declare const USHAPE_BASE_OFFSET = 40;
|
|
36
|
+
/** Per-flow horizontal increment for U-shape routing */
|
|
37
|
+
export declare const USHAPE_FLOW_INCREMENT = 20;
|
|
38
|
+
/** Floating-point tolerance for collinearity / edge detection */
|
|
39
|
+
export declare const SNAP_TOLERANCE = 0.5;
|
|
40
|
+
/** Floating-point tolerance for deduplicating nearby waypoints */
|
|
41
|
+
export declare const DEDUP_TOLERANCE = 1;
|
|
42
|
+
/** Perpendicular offset for edge labels from midpoint */
|
|
43
|
+
export declare const LABEL_OFFSET = 10;
|
|
44
|
+
/** Minimum gap stub (px) when adjacent pool gap is very small */
|
|
45
|
+
export declare const MIN_GAP_STUB = 5;
|
|
46
|
+
/** Divisor for capping stub length relative to gap height */
|
|
47
|
+
export declare const GAP_STUB_DIVISOR = 3;
|
|
5
48
|
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/generators/constants.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/generators/constants.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAc3E,CAAC;AAGF,eAAO,MAAM,qBAAqB,MAAM,CAAC;AACzC,eAAO,MAAM,sBAAsB,KAAK,CAAC;AAIzC,uEAAuE;AACvE,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAEnC,6CAA6C;AAC7C,eAAO,MAAM,QAAQ,KAAK,CAAC;AAE3B,wCAAwC;AACxC,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAEpC,sDAAsD;AACtD,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAUnC,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAK1D;AAID,yCAAyC;AACzC,eAAO,MAAM,qBAAqB,KAAK,CAAC;AAExC,6DAA6D;AAC7D,eAAO,MAAM,sBAAsB,wCAAwC,CAAC;AAI5E,sDAAsD;AACtD,eAAO,MAAM,eAAe,KAAK,CAAC;AAElC,gDAAgD;AAChD,eAAO,MAAM,YAAY,KAAK,CAAC;AAE/B,4DAA4D;AAC5D,eAAO,MAAM,kBAAkB,IAAI,CAAC;AAEpC,yEAAyE;AACzE,eAAO,MAAM,SAAS,KAAK,CAAC;AAE5B,+EAA+E;AAC/E,eAAO,MAAM,mBAAmB,IAAI,CAAC;AAErC,mEAAmE;AACnE,eAAO,MAAM,iBAAiB,MAAM,CAAC;AAErC,yDAAyD;AACzD,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAEnC,8EAA8E;AAC9E,eAAO,MAAM,kBAAkB,KAAK,CAAC;AAErC,wDAAwD;AACxD,eAAO,MAAM,qBAAqB,KAAK,CAAC;AAExC,iEAAiE;AACjE,eAAO,MAAM,cAAc,MAAM,CAAC;AAElC,kEAAkE;AAClE,eAAO,MAAM,eAAe,IAAI,CAAC;AAEjC,yDAAyD;AACzD,eAAO,MAAM,YAAY,KAAK,CAAC;AAE/B,iEAAiE;AACjE,eAAO,MAAM,YAAY,IAAI,CAAC;AAE9B,6DAA6D;AAC7D,eAAO,MAAM,gBAAgB,IAAI,CAAC"}
|
|
@@ -11,6 +11,63 @@ export const ELEMENT_SIZES = {
|
|
|
11
11
|
dataObject: { width: 36, height: 50 },
|
|
12
12
|
dataStore: { width: 50, height: 50 },
|
|
13
13
|
pool: { width: 600, height: 200 },
|
|
14
|
+
collapsedPool: { width: 600, height: 60 },
|
|
14
15
|
lane: { width: 600, height: 150 },
|
|
15
16
|
};
|
|
17
|
+
// Fallback element dimensions (task-sized) when type lookup misses
|
|
18
|
+
export const DEFAULT_ELEMENT_WIDTH = 100;
|
|
19
|
+
export const DEFAULT_ELEMENT_HEIGHT = 80;
|
|
20
|
+
// ─── Pool & Container ────────────────────────────────────────────────────
|
|
21
|
+
/** Pool label zone (vertical band on left edge of horizontal pools) */
|
|
22
|
+
export const POOL_LABEL_WIDTH = 30;
|
|
23
|
+
/** Vertical gap between consecutive pools */
|
|
24
|
+
export const POOL_GAP = 80;
|
|
25
|
+
/** Padding around pool/lane contents */
|
|
26
|
+
export const CONTAINER_PADDING = 50;
|
|
27
|
+
/** Minimum spacing for message flows between pools */
|
|
28
|
+
export const MIN_FLOW_SPACING = 20;
|
|
29
|
+
/**
|
|
30
|
+
* Compute pool label width proportional to name length.
|
|
31
|
+
* Returns at least POOL_LABEL_WIDTH, capped at 50px.
|
|
32
|
+
*/
|
|
33
|
+
const POOL_LABEL_MIN_WIDTH = 20;
|
|
34
|
+
const POOL_LABEL_CHAR_WIDTH = 0.8;
|
|
35
|
+
const POOL_LABEL_MAX_WIDTH = 50;
|
|
36
|
+
export function computePoolLabelWidth(name) {
|
|
37
|
+
return Math.max(POOL_LABEL_WIDTH, Math.min(POOL_LABEL_MAX_WIDTH, POOL_LABEL_MIN_WIDTH + name.length * POOL_LABEL_CHAR_WIDTH));
|
|
38
|
+
}
|
|
39
|
+
// ─── ELK Layout ──────────────────────────────────────────────────────────
|
|
40
|
+
/** Edge-to-node spacing in ELK layout */
|
|
41
|
+
export const ELK_EDGE_NODE_SPACING = 20;
|
|
42
|
+
/** Subprocess internal padding [top, left, bottom, right] */
|
|
43
|
+
export const ELK_SUBPROCESS_PADDING = '[top=40,left=15,bottom=15,right=15]';
|
|
44
|
+
// ─── Routing ─────────────────────────────────────────────────────────────
|
|
45
|
+
/** Obstacle-aware routing: buffer around obstacles */
|
|
46
|
+
export const OBSTACLE_MARGIN = 15;
|
|
47
|
+
/** A* cost penalty for each direction change */
|
|
48
|
+
export const BEND_PENALTY = 50;
|
|
49
|
+
/** Tolerance for detecting overlapping parallel segments */
|
|
50
|
+
export const PARALLEL_TOLERANCE = 2;
|
|
51
|
+
/** Distance of perpendicular stub from element edge before A* routing */
|
|
52
|
+
export const EXIT_STUB = 20;
|
|
53
|
+
/** Extra margin beyond OBSTACLE_MARGIN for Z-shape obstacle-edge candidates */
|
|
54
|
+
export const ZSHAPE_EXTRA_MARGIN = 5;
|
|
55
|
+
/** Fraction of element width used for port spreading (centered) */
|
|
56
|
+
export const PORT_SPREAD_RATIO = 0.5;
|
|
57
|
+
/** Margin from pool edge for U-shape fallback routing */
|
|
58
|
+
export const POOL_EDGE_MARGIN = 30;
|
|
59
|
+
/** Base horizontal offset for U-shape routing (beyond rightmost pool edge) */
|
|
60
|
+
export const USHAPE_BASE_OFFSET = 40;
|
|
61
|
+
/** Per-flow horizontal increment for U-shape routing */
|
|
62
|
+
export const USHAPE_FLOW_INCREMENT = 20;
|
|
63
|
+
/** Floating-point tolerance for collinearity / edge detection */
|
|
64
|
+
export const SNAP_TOLERANCE = 0.5;
|
|
65
|
+
/** Floating-point tolerance for deduplicating nearby waypoints */
|
|
66
|
+
export const DEDUP_TOLERANCE = 1;
|
|
67
|
+
/** Perpendicular offset for edge labels from midpoint */
|
|
68
|
+
export const LABEL_OFFSET = 10;
|
|
69
|
+
/** Minimum gap stub (px) when adjacent pool gap is very small */
|
|
70
|
+
export const MIN_GAP_STUB = 5;
|
|
71
|
+
/** Divisor for capping stub length relative to gap height */
|
|
72
|
+
export const GAP_STUB_DIVISOR = 3;
|
|
16
73
|
//# sourceMappingURL=constants.js.map
|