OR-1 dataflow CPU sketch
1import cytoscape from "cytoscape";
2
3export function logicalLayout(): cytoscape.LayoutOptions {
4 return {
5 name: "elk",
6 elk: {
7 algorithm: "layered",
8 "elk.direction": "DOWN",
9 "elk.spacing.nodeNode": 40,
10 "elk.layered.spacing.nodeNodeBetweenLayers": 45,
11 "elk.spacing.edgeNode": 25,
12 "elk.spacing.edgeNodeBetweenLayers": 20,
13 "elk.spacing.edgeEdge": 12,
14 "elk.spacing.edgeEdgeBetweenLayers": 12,
15 "elk.edgeRouting": "ORTHOGONAL",
16 "elk.layered.crossingMinimization.strategy": "LAYER_SWEEP",
17 "elk.layered.nodePlacement.strategy": "NETWORK_SIMPLEX",
18 },
19 animate: false,
20 } as cytoscape.LayoutOptions;
21}
22
23export function physicalLayout(): cytoscape.LayoutOptions {
24 return {
25 name: "elk",
26 elk: {
27 algorithm: "layered",
28 "elk.direction": "DOWN",
29 "elk.hierarchyHandling": "INCLUDE_CHILDREN",
30 "elk.spacing.nodeNode": 40,
31 "elk.layered.spacing.nodeNodeBetweenLayers": 50,
32 "elk.spacing.edgeNode": 25,
33 "elk.spacing.edgeNodeBetweenLayers": 20,
34 "elk.spacing.edgeEdge": 12,
35 "elk.spacing.edgeEdgeBetweenLayers": 12,
36 "elk.edgeRouting": "POLYLINE",
37 "elk.padding": "[top=30,left=30,bottom=30,right=30]",
38 "elk.layered.crossingMinimization.strategy": "LAYER_SWEEP",
39 "elk.layered.nodePlacement.strategy": "NETWORK_SIMPLEX",
40 },
41 animate: false,
42 } as cytoscape.LayoutOptions;
43}