they did it in style
-they did it in style
+a line of text and an
{
indented: "block",
@@ -805,8 +805,8 @@ width="516" height="686" viewBox="-102 -102 516 686">markdown Lorem ipsum dolor sit amet, consectetur adipiscing elit,
+markdown Lorem ipsum dolor sit amet, consectetur adipiscing elit,
sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
-
-
+
+
markdown Lorem ipsum dolor sit amet, consectetur adipiscing elit,
+markdown Lorem ipsum dolor sit amet, consectetur adipiscing elit,
sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
-
-
+
+
a b c d
+
+
+
\ No newline at end of file
diff --git a/e2etests/testdata/todo/child_parent_edges/elk/board.exp.json b/e2etests/testdata/todo/child_parent_edges/elk/board.exp.json
new file mode 100644
index 000000000..987db0ad6
--- /dev/null
+++ b/e2etests/testdata/todo/child_parent_edges/elk/board.exp.json
@@ -0,0 +1,297 @@
+{
+ "name": "",
+ "fontFamily": "SourceSansPro",
+ "shapes": [
+ {
+ "id": "a",
+ "type": "rectangle",
+ "pos": {
+ "x": 12,
+ "y": 12
+ },
+ "width": 514,
+ "height": 621,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#E3E9FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "double-border": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "blend": false,
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "a",
+ "fontSize": 28,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 12,
+ "labelHeight": 36,
+ "labelPosition": "INSIDE_TOP_CENTER",
+ "zIndex": 0,
+ "level": 1
+ },
+ {
+ "id": "a.b",
+ "type": "rectangle",
+ "pos": {
+ "x": 87,
+ "y": 87
+ },
+ "width": 364,
+ "height": 471,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#EDF0FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "double-border": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "blend": false,
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "b",
+ "fontSize": 24,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 12,
+ "labelHeight": 31,
+ "labelPosition": "INSIDE_TOP_CENTER",
+ "zIndex": 0,
+ "level": 2
+ },
+ {
+ "id": "a.b.c",
+ "type": "rectangle",
+ "pos": {
+ "x": 172,
+ "y": 162
+ },
+ "width": 204,
+ "height": 216,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#F7F8FE",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "double-border": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "blend": false,
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "c",
+ "fontSize": 20,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 9,
+ "labelHeight": 26,
+ "labelPosition": "INSIDE_TOP_CENTER",
+ "zIndex": 0,
+ "level": 3
+ },
+ {
+ "id": "a.b.c.d",
+ "type": "rectangle",
+ "pos": {
+ "x": 247,
+ "y": 237
+ },
+ "width": 54,
+ "height": 66,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#FFFFFF",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "double-border": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "blend": false,
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "d",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 9,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 4
+ }
+ ],
+ "connections": [
+ {
+ "id": "(a.b -> a)[0]",
+ "src": "a.b",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "a",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 162,
+ "y": 558
+ },
+ {
+ "x": 162,
+ "y": 633
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "a.(b -> b.c)[0]",
+ "src": "a.b",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "a.b.c",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 247,
+ "y": 87
+ },
+ {
+ "x": 247,
+ "y": 162
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "a.(b.c.d -> b)[0]",
+ "src": "a.b.c.d",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "a.b",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 274,
+ "y": 303
+ },
+ {
+ "x": 274,
+ "y": 433
+ },
+ {
+ "x": 162,
+ "y": 433
+ },
+ {
+ "x": 162,
+ "y": 87
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ }
+ ]
+}
diff --git a/e2etests/testdata/todo/child_parent_edges/elk/sketch.exp.svg b/e2etests/testdata/todo/child_parent_edges/elk/sketch.exp.svg
new file mode 100644
index 000000000..0a488aa47
--- /dev/null
+++ b/e2etests/testdata/todo/child_parent_edges/elk/sketch.exp.svg
@@ -0,0 +1,59 @@
+
+
\ No newline at end of file
diff --git a/e2etests/testdata/todo/container_child_edge/dagre/board.exp.json b/e2etests/testdata/todo/container_child_edge/dagre/board.exp.json
index 783d0cfdf..dba65a4d4 100644
--- a/e2etests/testdata/todo/container_child_edge/dagre/board.exp.json
+++ b/e2etests/testdata/todo/container_child_edge/dagre/board.exp.json
@@ -7,10 +7,10 @@
"type": "rectangle",
"pos": {
"x": 0,
- "y": 0
+ "y": 41
},
"width": 220,
- "height": 353,
+ "height": 312,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@@ -39,7 +39,7 @@
"underline": false,
"labelWidth": 112,
"labelHeight": 36,
- "labelPosition": "INSIDE_TOP_CENTER",
+ "labelPosition": "OUTSIDE_TOP_CENTER",
"zIndex": 0,
"level": 1
},
@@ -48,7 +48,7 @@
"type": "rectangle",
"pos": {
"x": 73,
- "y": 50
+ "y": 70
},
"width": 75,
"height": 66,
@@ -89,7 +89,7 @@
"type": "rectangle",
"pos": {
"x": 63,
- "y": 237
+ "y": 257
},
"width": 95,
"height": 66,
@@ -154,19 +154,19 @@
"route": [
{
"x": 98.16176470588235,
- "y": 116
+ "y": 136.5
},
{
"x": 80.43235294117648,
- "y": 164.4
+ "y": 184.9
},
{
"x": 80.4,
- "y": 188.7
+ "y": 209.2
},
{
"x": 98,
- "y": 237.5
+ "y": 258
}
],
"isCurve": true,
@@ -202,19 +202,19 @@
"route": [
{
"x": 122.33823529411765,
- "y": 116
+ "y": 136.5
},
{
"x": 140.06764705882352,
- "y": 164.4
+ "y": 184.9
},
{
"x": 140.1,
- "y": 188.7
+ "y": 209.2
},
{
"x": 122.5,
- "y": 237.5
+ "y": 258
}
],
"isCurve": true,
diff --git a/e2etests/testdata/todo/container_child_edge/dagre/sketch.exp.svg b/e2etests/testdata/todo/container_child_edge/dagre/sketch.exp.svg
index dea408f3c..d9dc7645b 100644
--- a/e2etests/testdata/todo/container_child_edge/dagre/sketch.exp.svg
+++ b/e2etests/testdata/todo/container_child_edge/dagre/sketch.exp.svg
@@ -3,7 +3,7 @@
id="d2-svg"
style="background: white;"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
-width="424" height="557" viewBox="-102 -102 424 557">Big font a b c a
+
+
+
\ No newline at end of file
diff --git a/e2etests/testdata/todo/container_icon_label/elk/board.exp.json b/e2etests/testdata/todo/container_icon_label/elk/board.exp.json
new file mode 100644
index 000000000..d1347e8a9
--- /dev/null
+++ b/e2etests/testdata/todo/container_icon_label/elk/board.exp.json
@@ -0,0 +1,302 @@
+{
+ "name": "",
+ "fontFamily": "SourceSansPro",
+ "shapes": [
+ {
+ "id": "a",
+ "type": "rectangle",
+ "pos": {
+ "x": 12,
+ "y": 12
+ },
+ "width": 353,
+ "height": 698,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#E3E9FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "double-border": false,
+ "tooltip": "",
+ "link": "",
+ "icon": {
+ "Scheme": "https",
+ "Opaque": "",
+ "User": null,
+ "Host": "icons.terrastruct.com",
+ "Path": "/essentials/004-picture.svg",
+ "RawPath": "",
+ "ForceQuery": false,
+ "RawQuery": "",
+ "Fragment": "",
+ "RawFragment": ""
+ },
+ "iconPosition": "INSIDE_MIDDLE_CENTER",
+ "blend": false,
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "Big font",
+ "fontSize": 30,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 96,
+ "labelHeight": 38,
+ "labelPosition": "INSIDE_TOP_CENTER",
+ "zIndex": 0,
+ "level": 1
+ },
+ {
+ "id": "a.a",
+ "type": "rectangle",
+ "pos": {
+ "x": 87,
+ "y": 87
+ },
+ "width": 203,
+ "height": 216,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#EDF0FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "double-border": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "blend": false,
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "a",
+ "fontSize": 24,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 10,
+ "labelHeight": 31,
+ "labelPosition": "INSIDE_TOP_CENTER",
+ "zIndex": 0,
+ "level": 2
+ },
+ {
+ "id": "a.b",
+ "type": "rectangle",
+ "pos": {
+ "x": 162,
+ "y": 403
+ },
+ "width": 53,
+ "height": 66,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#EDF0FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "double-border": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "blend": false,
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "b",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 8,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 2
+ },
+ {
+ "id": "a.c",
+ "type": "rectangle",
+ "pos": {
+ "x": 162,
+ "y": 569
+ },
+ "width": 53,
+ "height": 66,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#EDF0FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "double-border": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "blend": false,
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "c",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 8,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 2
+ },
+ {
+ "id": "a.a.a",
+ "type": "rectangle",
+ "pos": {
+ "x": 162,
+ "y": 162
+ },
+ "width": 53,
+ "height": 66,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#F7F8FE",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "double-border": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "blend": false,
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "a",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 8,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 3
+ }
+ ],
+ "connections": [
+ {
+ "id": "a.(a -> b)[0]",
+ "src": "a.a",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "a.b",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 188.5,
+ "y": 303
+ },
+ {
+ "x": 188.5,
+ "y": 403
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "a.(b -> c)[0]",
+ "src": "a.b",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "a.c",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 188.5,
+ "y": 469
+ },
+ {
+ "x": 188.5,
+ "y": 569
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ }
+ ]
+}
diff --git a/e2etests/testdata/todo/container_icon_label/elk/sketch.exp.svg b/e2etests/testdata/todo/container_icon_label/elk/sketch.exp.svg
new file mode 100644
index 000000000..c37c34e2e
--- /dev/null
+++ b/e2etests/testdata/todo/container_icon_label/elk/sketch.exp.svg
@@ -0,0 +1,59 @@
+
+
\ No newline at end of file
diff --git a/e2etests/testdata/todo/container_label_loop/dagre/board.exp.json b/e2etests/testdata/todo/container_label_loop/dagre/board.exp.json
new file mode 100644
index 000000000..8877ccf79
--- /dev/null
+++ b/e2etests/testdata/todo/container_label_loop/dagre/board.exp.json
@@ -0,0 +1,263 @@
+{
+ "name": "",
+ "fontFamily": "SourceSansPro",
+ "shapes": [
+ {
+ "id": "a",
+ "type": "rectangle",
+ "pos": {
+ "x": 0,
+ "y": 41
+ },
+ "width": 193,
+ "height": 291,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#E3E9FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "double-border": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "blend": false,
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "If we were meant to fly, we wouldn't keep losing our luggage",
+ "fontSize": 28,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 702,
+ "labelHeight": 36,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "zIndex": 0,
+ "level": 1
+ },
+ {
+ "id": "a.b",
+ "type": "rectangle",
+ "pos": {
+ "x": 50,
+ "y": 70
+ },
+ "width": 53,
+ "height": 66,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#EDF0FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "double-border": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "blend": false,
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "b",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 8,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 2
+ },
+ {
+ "id": "a.c",
+ "type": "rectangle",
+ "pos": {
+ "x": 50,
+ "y": 236
+ },
+ "width": 53,
+ "height": 66,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#EDF0FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "double-border": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "blend": false,
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "c",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 8,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 2
+ }
+ ],
+ "connections": [
+ {
+ "id": "a.(b -> c)[0]",
+ "src": "a.b",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "a.c",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 76.5,
+ "y": 136.5
+ },
+ {
+ "x": 76.5,
+ "y": 176.5
+ },
+ {
+ "x": 76.5,
+ "y": 196.5
+ },
+ {
+ "x": 76.5,
+ "y": 236.5
+ }
+ ],
+ "isCurve": true,
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "(a -> a)[0]",
+ "src": "a",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "a",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 103,
+ "y": 109.38440111420613
+ },
+ {
+ "x": 129.66666666666669,
+ "y": 94.67688022284122
+ },
+ {
+ "x": 138,
+ "y": 91
+ },
+ {
+ "x": 140.5,
+ "y": 91
+ },
+ {
+ "x": 143,
+ "y": 91
+ },
+ {
+ "x": 146.33333333333331,
+ "y": 97.6
+ },
+ {
+ "x": 148.83333333333331,
+ "y": 107.5
+ },
+ {
+ "x": 151.33333333333334,
+ "y": 117.4
+ },
+ {
+ "x": 151.33333333333334,
+ "y": 130.6
+ },
+ {
+ "x": 148.83333333333331,
+ "y": 140.5
+ },
+ {
+ "x": 146.33333333333331,
+ "y": 150.4
+ },
+ {
+ "x": 129.66666666666669,
+ "y": 153.32311977715878
+ },
+ {
+ "x": 103,
+ "y": 138.61559888579387
+ }
+ ],
+ "isCurve": true,
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ }
+ ]
+}
diff --git a/e2etests/testdata/todo/container_label_loop/dagre/sketch.exp.svg b/e2etests/testdata/todo/container_label_loop/dagre/sketch.exp.svg
new file mode 100644
index 000000000..1ea5a9824
--- /dev/null
+++ b/e2etests/testdata/todo/container_label_loop/dagre/sketch.exp.svg
@@ -0,0 +1,59 @@
+
+
\ No newline at end of file
diff --git a/e2etests/testdata/todo/container_label_loop/elk/board.exp.json b/e2etests/testdata/todo/container_label_loop/elk/board.exp.json
new file mode 100644
index 000000000..9e87e945d
--- /dev/null
+++ b/e2etests/testdata/todo/container_label_loop/elk/board.exp.json
@@ -0,0 +1,217 @@
+{
+ "name": "",
+ "fontFamily": "SourceSansPro",
+ "shapes": [
+ {
+ "id": "a",
+ "type": "rectangle",
+ "pos": {
+ "x": 62,
+ "y": 12
+ },
+ "width": 203,
+ "height": 382,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#E3E9FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "double-border": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "blend": false,
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "If we were meant to fly, we wouldn't keep losing our luggage",
+ "fontSize": 28,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 702,
+ "labelHeight": 36,
+ "labelPosition": "INSIDE_TOP_CENTER",
+ "zIndex": 0,
+ "level": 1
+ },
+ {
+ "id": "a.b",
+ "type": "rectangle",
+ "pos": {
+ "x": 137,
+ "y": 87
+ },
+ "width": 53,
+ "height": 66,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#EDF0FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "double-border": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "blend": false,
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "b",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 8,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 2
+ },
+ {
+ "id": "a.c",
+ "type": "rectangle",
+ "pos": {
+ "x": 137,
+ "y": 253
+ },
+ "width": 53,
+ "height": 66,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#EDF0FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "double-border": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "blend": false,
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "c",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 8,
+ "labelHeight": 21,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 2
+ }
+ ],
+ "connections": [
+ {
+ "id": "a.(b -> c)[0]",
+ "src": "a.b",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "a.c",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 163.5,
+ "y": 153
+ },
+ {
+ "x": 163.5,
+ "y": 253
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "(a -> a)[0]",
+ "src": "a",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "a",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 62,
+ "y": 139.33333333333331
+ },
+ {
+ "x": 12,
+ "y": 139.33333333333331
+ },
+ {
+ "x": 12,
+ "y": 266.66666666666663
+ },
+ {
+ "x": 62,
+ "y": 266.66666666666663
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ }
+ ]
+}
diff --git a/e2etests/testdata/todo/container_label_loop/elk/sketch.exp.svg b/e2etests/testdata/todo/container_label_loop/elk/sketch.exp.svg
new file mode 100644
index 000000000..95bc08d82
--- /dev/null
+++ b/e2etests/testdata/todo/container_label_loop/elk/sketch.exp.svg
@@ -0,0 +1,59 @@
+
+
\ No newline at end of file
diff --git a/e2etests/testdata/todo/shape_set_width_height/dagre/board.exp.json b/e2etests/testdata/todo/shape_set_width_height/dagre/board.exp.json
index 3582b4b80..391bd4924 100644
--- a/e2etests/testdata/todo/shape_set_width_height/dagre/board.exp.json
+++ b/e2etests/testdata/todo/shape_set_width_height/dagre/board.exp.json
@@ -7,10 +7,10 @@
"type": "rectangle",
"pos": {
"x": 0,
- "y": 0
+ "y": 41
},
"width": 1112,
- "height": 456,
+ "height": 415,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@@ -39,7 +39,7 @@
"underline": false,
"labelWidth": 123,
"labelHeight": 36,
- "labelPosition": "INSIDE_TOP_CENTER",
+ "labelPosition": "OUTSIDE_TOP_CENTER",
"zIndex": 0,
"level": 1
},
@@ -48,10 +48,10 @@
"type": "oval",
"pos": {
"x": 40,
- "y": 50
+ "y": 106
},
"width": 228,
- "height": 356,
+ "height": 320,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@@ -80,7 +80,7 @@
"underline": false,
"labelWidth": 156,
"labelHeight": 31,
- "labelPosition": "INSIDE_TOP_CENTER",
+ "labelPosition": "OUTSIDE_TOP_CENTER",
"zIndex": 0,
"level": 2
},
@@ -89,7 +89,7 @@
"type": "diamond",
"pos": {
"x": 90,
- "y": 196
+ "y": 234
},
"width": 128,
"height": 64,
@@ -130,10 +130,10 @@
"type": "diamond",
"pos": {
"x": 308,
- "y": 50
+ "y": 106
},
"width": 228,
- "height": 356,
+ "height": 320,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@@ -162,7 +162,7 @@
"underline": false,
"labelWidth": 192,
"labelHeight": 31,
- "labelPosition": "INSIDE_TOP_CENTER",
+ "labelPosition": "OUTSIDE_TOP_CENTER",
"zIndex": 0,
"level": 2
},
@@ -171,7 +171,7 @@
"type": "oval",
"pos": {
"x": 358,
- "y": 164
+ "y": 202
},
"width": 128,
"height": 128,
@@ -212,10 +212,10 @@
"type": "oval",
"pos": {
"x": 576,
- "y": 50
+ "y": 106
},
"width": 228,
- "height": 356,
+ "height": 320,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@@ -244,7 +244,7 @@
"underline": false,
"labelWidth": 144,
"labelHeight": 31,
- "labelPosition": "INSIDE_TOP_CENTER",
+ "labelPosition": "OUTSIDE_TOP_CENTER",
"zIndex": 0,
"level": 2
},
@@ -253,7 +253,7 @@
"type": "hexagon",
"pos": {
"x": 626,
- "y": 196
+ "y": 234
},
"width": 128,
"height": 64,
@@ -294,10 +294,10 @@
"type": "hexagon",
"pos": {
"x": 844,
- "y": 50
+ "y": 106
},
"width": 228,
- "height": 356,
+ "height": 320,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@@ -326,7 +326,7 @@
"underline": false,
"labelWidth": 188,
"labelHeight": 31,
- "labelPosition": "INSIDE_TOP_CENTER",
+ "labelPosition": "OUTSIDE_TOP_CENTER",
"zIndex": 0,
"level": 2
},
@@ -335,7 +335,7 @@
"type": "oval",
"pos": {
"x": 894,
- "y": 196
+ "y": 234
},
"width": 128,
"height": 64,
diff --git a/e2etests/testdata/todo/shape_set_width_height/dagre/sketch.exp.svg b/e2etests/testdata/todo/shape_set_width_height/dagre/sketch.exp.svg
index 99f781516..c807e2b94 100644
--- a/e2etests/testdata/todo/shape_set_width_height/dagre/sketch.exp.svg
+++ b/e2etests/testdata/todo/shape_set_width_height/dagre/sketch.exp.svg
@@ -3,7 +3,7 @@
id="d2-svg"
style="background: white;"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
-width="2482" height="2672" viewBox="-102 -102 2482 2672">containers cloud tall cylinder class -
+containers cloud tall cylinder class -
num
int -
timeout
@@ -823,8 +823,8 @@ width="2482" height="2672" viewBox="-102 -102 2482 2672">