From 5b1b5edc867e0f5f83b393ad22c2ac501af54e18 Mon Sep 17 00:00:00 2001 From: Alexander Wang Date: Sun, 4 Dec 2022 16:02:25 -0800 Subject: [PATCH] sequence diagram fixes --- d2layouts/d2sequence/constants.go | 2 +- d2layouts/d2sequence/layout.go | 4 + e2etests/e2e_test.go | 2 - e2etests/stable_test.go | 24 + .../dagre/board.exp.json | 40 +- .../dagre/sketch.exp.svg | 2 +- .../elk/board.exp.json | 40 +- .../elk/sketch.exp.svg | 2 +- .../dagre/board.exp.json | 8 +- .../dagre/sketch.exp.svg | 2 +- .../elk/board.exp.json | 8 +- .../elk/sketch.exp.svg | 2 +- .../dagre/board.exp.json | 12 +- .../dagre/sketch.exp.svg | 2 +- .../elk/board.exp.json | 12 +- .../elk/sketch.exp.svg | 2 +- .../dagre/board.exp.json | 8 +- .../dagre/sketch.exp.svg | 2 +- .../sequence_diagram_note/elk/board.exp.json | 8 +- .../sequence_diagram_note/elk/sketch.exp.svg | 2 +- .../dagre/board.exp.json | 1370 +++++++++++++++++ .../dagre/sketch.exp.svg | 46 + .../sequence_diagram_real/elk/board.exp.json | 1370 +++++++++++++++++ .../sequence_diagram_real/elk/sketch.exp.svg | 46 + .../dagre/board.exp.json | 10 +- .../dagre/sketch.exp.svg | 2 +- .../elk/board.exp.json | 10 +- .../elk/sketch.exp.svg | 2 +- .../dagre/board.exp.json | 12 +- .../dagre/sketch.exp.svg | 2 +- .../sequence_diagram_span/elk/board.exp.json | 12 +- .../sequence_diagram_span/elk/sketch.exp.svg | 2 +- .../sequence_diagrams/dagre/board.exp.json | 36 +- .../sequence_diagrams/dagre/sketch.exp.svg | 2 +- .../sequence_diagrams/elk/board.exp.json | 36 +- .../sequence_diagrams/elk/sketch.exp.svg | 2 +- 36 files changed, 3001 insertions(+), 143 deletions(-) create mode 100644 e2etests/testdata/stable/sequence_diagram_real/dagre/board.exp.json create mode 100644 e2etests/testdata/stable/sequence_diagram_real/dagre/sketch.exp.svg create mode 100644 e2etests/testdata/stable/sequence_diagram_real/elk/board.exp.json create mode 100644 e2etests/testdata/stable/sequence_diagram_real/elk/sketch.exp.svg diff --git a/d2layouts/d2sequence/constants.go b/d2layouts/d2sequence/constants.go index e39f8e2dd..676eb3d73 100644 --- a/d2layouts/d2sequence/constants.go +++ b/d2layouts/d2sequence/constants.go @@ -26,7 +26,7 @@ const SPAN_MESSAGE_PAD = 16. const LIFELINE_STROKE_WIDTH int = 2 -const LIFELINE_STROKE_DASH int = 8 +const LIFELINE_STROKE_DASH int = 6 // pad when the actor has the label placed OutsideMiddleBottom so that the lifeline is not so close to the text const LIFELINE_LABEL_PAD = 5. diff --git a/d2layouts/d2sequence/layout.go b/d2layouts/d2sequence/layout.go index 5078c1634..b11df4eaf 100644 --- a/d2layouts/d2sequence/layout.go +++ b/d2layouts/d2sequence/layout.go @@ -50,6 +50,9 @@ func Layout(ctx context.Context, g *d2graph.Graph, layout func(ctx context.Conte for _, obj := range sd.actors { objectsToRemove[obj] = struct{}{} } + for _, obj := range sd.notes { + objectsToRemove[obj] = struct{}{} + } for _, obj := range sd.spans { objectsToRemove[obj] = struct{}{} } @@ -144,6 +147,7 @@ func cleanup(g *d2graph.Graph, sequenceDiagrams map[string]*sequenceDiagram, obj g.Edges = append(g.Edges, sequenceDiagrams[obj.AbsID()].messages...) g.Edges = append(g.Edges, sequenceDiagrams[obj.AbsID()].lifelines...) g.Objects = append(g.Objects, sequenceDiagrams[obj.AbsID()].actors...) + g.Objects = append(g.Objects, sequenceDiagrams[obj.AbsID()].notes...) g.Objects = append(g.Objects, sequenceDiagrams[obj.AbsID()].spans...) } diff --git a/e2etests/e2e_test.go b/e2etests/e2e_test.go index 2dd5e4326..fa3e07ba8 100644 --- a/e2etests/e2e_test.go +++ b/e2etests/e2e_test.go @@ -97,7 +97,6 @@ func run(t *testing.T, tc testCase) { layoutsTested := []string{"dagre", "elk"} for _, layoutName := range layoutsTested { - var layout func(context.Context, *d2graph.Graph) error if layoutName == "dagre" { layout = d2dagrelayout.Layout @@ -105,7 +104,6 @@ func run(t *testing.T, tc testCase) { layout = d2elklayout.Layout } diagram, _, err := d2lib.Compile(ctx, tc.script, &d2lib.CompileOptions{ - UTF16: true, Ruler: ruler, ThemeID: 0, Layout: layout, diff --git a/e2etests/stable_test.go b/e2etests/stable_test.go index ee0dea72f..61cbdff7e 100644 --- a/e2etests/stable_test.go +++ b/e2etests/stable_test.go @@ -1373,6 +1373,30 @@ group b: { choo: { _.d."this note" } +`, + }, + { + name: "sequence_diagram_real", + script: `How this is rendered: { + shape: sequence_diagram + + CLI; d2ast; d2compiler; d2layout; d2exporter; d2themes; d2renderer + + CLI -> d2ast: "'How this is rendered: {...}'" + d2ast -> CLI: tokenized AST + CLI -> d2compiler: compile AST + d2compiler."measurements also take place" + d2compiler -> CLI: objects and edges + CLI -> d2layout.layout: run layout engines + d2layout.layout -> d2sequencelayout: run engine on shape: sequence_diagram, temporarily remove + d2layout.layout -> d2dagrelayout: run core engine on rest + d2layout.layout <- d2sequencelayout: add back in sequence diagrams + d2layout -> CLI: diagram with correct positions and dimensions + CLI -> d2exporter: export diagram with chosen theme and renderer + d2exporter.export -> d2themes: get theme styles + d2exporter.export -> d2renderer: render to SVG + d2exporter.export -> CLI: resulting SVG +} `, }, } diff --git a/e2etests/testdata/stable/sequence_diagram_all_shapes/dagre/board.exp.json b/e2etests/testdata/stable/sequence_diagram_all_shapes/dagre/board.exp.json index a0265e460..49097965c 100644 --- a/e2etests/testdata/stable/sequence_diagram_all_shapes/dagre/board.exp.json +++ b/e2etests/testdata/stable/sequence_diagram_all_shapes/dagre/board.exp.json @@ -1568,7 +1568,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", @@ -1607,7 +1607,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", @@ -1646,7 +1646,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", @@ -1685,7 +1685,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", @@ -1724,7 +1724,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", @@ -1763,7 +1763,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", @@ -1802,7 +1802,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", @@ -1841,7 +1841,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", @@ -1880,7 +1880,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", @@ -1919,7 +1919,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", @@ -1958,7 +1958,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", @@ -1997,7 +1997,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", @@ -2036,7 +2036,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", @@ -2075,7 +2075,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", @@ -2114,7 +2114,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", @@ -2153,7 +2153,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", @@ -2192,7 +2192,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", @@ -2231,7 +2231,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", @@ -2270,7 +2270,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", @@ -2309,7 +2309,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", diff --git a/e2etests/testdata/stable/sequence_diagram_all_shapes/dagre/sketch.exp.svg b/e2etests/testdata/stable/sequence_diagram_all_shapes/dagre/sketch.exp.svg index 644f8aeb7..0428bcef4 100644 --- a/e2etests/testdata/stable/sequence_diagram_all_shapes/dagre/sketch.exp.svg +++ b/e2etests/testdata/stable/sequence_diagram_all_shapes/dagre/sketch.exp.svg @@ -24,7 +24,7 @@ width="8495" height="2984" viewBox="-100 -50 8495 2984">abcdggggroup 1group bchoonested guywhat would arnold saythis note lalaeyokayokay +abcdggggroup 1group bchoonested guywhat would arnold saythis note lalaeyokayokay diff --git a/e2etests/testdata/stable/sequence_diagram_groups/elk/board.exp.json b/e2etests/testdata/stable/sequence_diagram_groups/elk/board.exp.json index 555cc0dae..4c97039b0 100644 --- a/e2etests/testdata/stable/sequence_diagram_groups/elk/board.exp.json +++ b/e2etests/testdata/stable/sequence_diagram_groups/elk/board.exp.json @@ -940,7 +940,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", @@ -979,7 +979,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", @@ -1018,7 +1018,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", @@ -1057,7 +1057,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", diff --git a/e2etests/testdata/stable/sequence_diagram_groups/elk/sketch.exp.svg b/e2etests/testdata/stable/sequence_diagram_groups/elk/sketch.exp.svg index ea9a436ff..71742568e 100644 --- a/e2etests/testdata/stable/sequence_diagram_groups/elk/sketch.exp.svg +++ b/e2etests/testdata/stable/sequence_diagram_groups/elk/sketch.exp.svg @@ -14,7 +14,7 @@ width="1609" height="2311" viewBox="-100 -50 1609 2311">abcdggggroup 1group bchoonested guywhat would arnold saythis note lalaeyokayokay +abcdggggroup 1group bchoonested guywhat would arnold saythis note lalaeyokayokay diff --git a/e2etests/testdata/stable/sequence_diagram_nested_span/dagre/board.exp.json b/e2etests/testdata/stable/sequence_diagram_nested_span/dagre/board.exp.json index d199c4ca2..a99b8fa61 100644 --- a/e2etests/testdata/stable/sequence_diagram_nested_span/dagre/board.exp.json +++ b/e2etests/testdata/stable/sequence_diagram_nested_span/dagre/board.exp.json @@ -1243,7 +1243,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", @@ -1282,7 +1282,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", @@ -1321,7 +1321,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", @@ -1360,7 +1360,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", @@ -1399,7 +1399,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", @@ -1438,7 +1438,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", diff --git a/e2etests/testdata/stable/sequence_diagram_nested_span/dagre/sketch.exp.svg b/e2etests/testdata/stable/sequence_diagram_nested_span/dagre/sketch.exp.svg index 46752e5ea..26d4f47aa 100644 --- a/e2etests/testdata/stable/sequence_diagram_nested_span/dagre/sketch.exp.svg +++ b/e2etests/testdata/stable/sequence_diagram_nested_span/dagre/sketch.exp.svg @@ -14,7 +14,7 @@ width="2493" height="1640" viewBox="-100 -50 2493 1640">scoreritemResponseitemessayRubricconceptitemOutcome scoreritemResponseitemessayRubricconceptitemOutcome scoreritemResponseitemessayRubricconceptitemOutcome scoreritemResponseitemessayRubricconceptitemOutcome abcdexplanationanother explanationSome one who believes imaginary things appear right before your i's.The earth is like a tiny grain of sand, only much, much heavier okay +abcdexplanationanother explanationSome one who believes imaginary things appear right before your i's.The earth is like a tiny grain of sand, only much, much heavier okay abcdexplanationanother explanationSome one who believes imaginary things appear right before your i's.The earth is like a tiny grain of sand, only much, much heavier okay +abcdexplanationanother explanationSome one who believes imaginary things appear right before your i's.The earth is like a tiny grain of sand, only much, much heavier okay How this is renderedCLId2astd2compilerd2layoutd2exporterd2themesd2rendererd2sequencelayoutd2dagrelayoutmeasurements also take place 'How this is rendered: {...}'tokenized ASTcompile ASTobjects and edgesrun layout enginesrun engine on shape: sequence_diagram, temporarily removerun core engine on rest add back in sequence diagramsdiagram with correct positions and dimensionsexport diagram with chosen theme and rendererget theme stylesrender to SVGresulting SVG + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/e2etests/testdata/stable/sequence_diagram_real/elk/board.exp.json b/e2etests/testdata/stable/sequence_diagram_real/elk/board.exp.json new file mode 100644 index 000000000..5c2f76e22 --- /dev/null +++ b/e2etests/testdata/stable/sequence_diagram_real/elk/board.exp.json @@ -0,0 +1,1370 @@ +{ + "name": "", + "shapes": [ + { + "id": "How this is rendered", + "type": "sequence_diagram", + "pos": { + "x": 12, + "y": 12 + }, + "width": 3633, + "height": 2055, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "#FFFFFF", + "stroke": "#0D32B2", + "shadow": false, + "3d": false, + "multiple": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "fields": null, + "methods": null, + "columns": null, + "label": "How this is rendered", + "fontSize": 28, + "fontFamily": "DEFAULT", + "language": "", + "color": "#0A0F25", + "italic": false, + "bold": true, + "underline": false, + "labelWidth": 242, + "labelHeight": 41, + "labelPosition": "INSIDE_TOP_CENTER", + "zIndex": 0, + "level": 1 + }, + { + "id": "How this is rendered.CLI", + "type": "", + "pos": { + "x": 12, + "y": 98 + }, + "width": 150, + "height": 149, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "#EDF0FD", + "stroke": "#0D32B2", + "shadow": false, + "3d": false, + "multiple": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "fields": null, + "methods": null, + "columns": null, + "label": "CLI", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "#0A0F25", + "italic": false, + "bold": true, + "underline": false, + "labelWidth": 27, + "labelHeight": 26, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "zIndex": 0, + "level": 2 + }, + { + "id": "How this is rendered.d2ast", + "type": "", + "pos": { + "x": 412, + "y": 117 + }, + "width": 150, + "height": 130, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "#EDF0FD", + "stroke": "#0D32B2", + "shadow": false, + "3d": false, + "multiple": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "fields": null, + "methods": null, + "columns": null, + "label": "d2ast", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "#0A0F25", + "italic": false, + "bold": true, + "underline": false, + "labelWidth": 45, + "labelHeight": 26, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "zIndex": 0, + "level": 2 + }, + { + "id": "How this is rendered.d2compiler", + "type": "", + "pos": { + "x": 812, + "y": 121 + }, + "width": 182, + "height": 126, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "#EDF0FD", + "stroke": "#0D32B2", + "shadow": false, + "3d": false, + "multiple": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "fields": null, + "methods": null, + "columns": null, + "label": "d2compiler", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "#0A0F25", + "italic": false, + "bold": true, + "underline": false, + "labelWidth": 82, + "labelHeight": 26, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "zIndex": 0, + "level": 2 + }, + { + "id": "How this is rendered.d2layout", + "type": "", + "pos": { + "x": 1244, + "y": 121 + }, + "width": 165, + "height": 126, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "#EDF0FD", + "stroke": "#0D32B2", + "shadow": false, + "3d": false, + "multiple": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "fields": null, + "methods": null, + "columns": null, + "label": "d2layout", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "#0A0F25", + "italic": false, + "bold": true, + "underline": false, + "labelWidth": 65, + "labelHeight": 26, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "zIndex": 0, + "level": 2 + }, + { + "id": "How this is rendered.d2exporter", + "type": "", + "pos": { + "x": 1659, + "y": 121 + }, + "width": 180, + "height": 126, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "#EDF0FD", + "stroke": "#0D32B2", + "shadow": false, + "3d": false, + "multiple": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "fields": null, + "methods": null, + "columns": null, + "label": "d2exporter", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "#0A0F25", + "italic": false, + "bold": true, + "underline": false, + "labelWidth": 80, + "labelHeight": 26, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "zIndex": 0, + "level": 2 + }, + { + "id": "How this is rendered.d2themes", + "type": "", + "pos": { + "x": 2089, + "y": 121 + }, + "width": 176, + "height": 126, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "#EDF0FD", + "stroke": "#0D32B2", + "shadow": false, + "3d": false, + "multiple": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "fields": null, + "methods": null, + "columns": null, + "label": "d2themes", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "#0A0F25", + "italic": false, + "bold": true, + "underline": false, + "labelWidth": 76, + "labelHeight": 26, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "zIndex": 0, + "level": 2 + }, + { + "id": "How this is rendered.d2renderer", + "type": "", + "pos": { + "x": 2515, + "y": 121 + }, + "width": 186, + "height": 126, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "#EDF0FD", + "stroke": "#0D32B2", + "shadow": false, + "3d": false, + "multiple": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "fields": null, + "methods": null, + "columns": null, + "label": "d2renderer", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "#0A0F25", + "italic": false, + "bold": true, + "underline": false, + "labelWidth": 86, + "labelHeight": 26, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "zIndex": 0, + "level": 2 + }, + { + "id": "How this is rendered.d2compiler.measurements also take place", + "type": "rectangle", + "pos": { + "x": 732, + "y": 755 + }, + "width": 318, + "height": 126, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "#F7F8FE", + "stroke": "#0D32B2", + "shadow": false, + "3d": false, + "multiple": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "fields": null, + "methods": null, + "columns": null, + "label": "measurements also take place", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "#0A0F25", + "italic": false, + "bold": true, + "underline": false, + "labelWidth": 218, + "labelHeight": 26, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "zIndex": 1, + "level": 3 + }, + { + "id": "How this is rendered.d2layout.layout", + "type": "rectangle", + "pos": { + "x": 1316, + "y": 881 + }, + "width": 20, + "height": 422, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "#F7F8FE", + "stroke": "#0D32B2", + "shadow": false, + "3d": false, + "multiple": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "fields": null, + "methods": null, + "columns": null, + "label": "", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "#0A0F25", + "italic": false, + "bold": true, + "underline": false, + "labelWidth": 50, + "labelHeight": 26, + "zIndex": 1, + "level": 3 + }, + { + "id": "How this is rendered.d2sequencelayout", + "type": "", + "pos": { + "x": 2951, + "y": 121 + }, + "width": 235, + "height": 126, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "#EDF0FD", + "stroke": "#0D32B2", + "shadow": false, + "3d": false, + "multiple": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "fields": null, + "methods": null, + "columns": null, + "label": "d2sequencelayout", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "#0A0F25", + "italic": false, + "bold": true, + "underline": false, + "labelWidth": 135, + "labelHeight": 26, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "zIndex": 0, + "level": 2 + }, + { + "id": "How this is rendered.d2dagrelayout", + "type": "", + "pos": { + "x": 3436, + "y": 121 + }, + "width": 209, + "height": 126, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "#EDF0FD", + "stroke": "#0D32B2", + "shadow": false, + "3d": false, + "multiple": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "fields": null, + "methods": null, + "columns": null, + "label": "d2dagrelayout", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "#0A0F25", + "italic": false, + "bold": true, + "underline": false, + "labelWidth": 109, + "labelHeight": 26, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "zIndex": 0, + "level": 2 + }, + { + "id": "How this is rendered.d2exporter.export", + "type": "rectangle", + "pos": { + "x": 1739, + "y": 1661 + }, + "width": 20, + "height": 292, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "#F7F8FE", + "stroke": "#0D32B2", + "shadow": false, + "3d": false, + "multiple": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "fields": null, + "methods": null, + "columns": null, + "label": "", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "#0A0F25", + "italic": false, + "bold": true, + "underline": false, + "labelWidth": 52, + "labelHeight": 26, + "zIndex": 1, + "level": 3 + } + ], + "connections": [ + { + "id": "How this is rendered.(CLI -> d2ast)[0]", + "src": "How this is rendered.CLI", + "srcArrow": "none", + "srcLabel": "", + "dst": "How this is rendered.d2ast", + "dstArrow": "triangle", + "dstLabel": "", + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "stroke": "#0D32B2", + "label": "'How this is rendered: {...}'", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "#676C7E", + "italic": true, + "bold": false, + "underline": false, + "labelWidth": 167, + "labelHeight": 21, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "labelPercentage": 0, + "route": [ + { + "x": 87, + "y": 377 + }, + { + "x": 487, + "y": 377 + } + ], + "animated": false, + "tooltip": "", + "icon": null, + "zIndex": 2 + }, + { + "id": "How this is rendered.(d2ast -> CLI)[0]", + "src": "How this is rendered.d2ast", + "srcArrow": "none", + "srcLabel": "", + "dst": "How this is rendered.CLI", + "dstArrow": "triangle", + "dstLabel": "", + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "stroke": "#0D32B2", + "label": "tokenized AST", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "#676C7E", + "italic": true, + "bold": false, + "underline": false, + "labelWidth": 94, + "labelHeight": 21, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "labelPercentage": 0, + "route": [ + { + "x": 487, + "y": 507 + }, + { + "x": 87, + "y": 507 + } + ], + "animated": false, + "tooltip": "", + "icon": null, + "zIndex": 2 + }, + { + "id": "How this is rendered.(CLI -> d2compiler)[0]", + "src": "How this is rendered.CLI", + "srcArrow": "none", + "srcLabel": "", + "dst": "How this is rendered.d2compiler", + "dstArrow": "triangle", + "dstLabel": "", + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "stroke": "#0D32B2", + "label": "compile AST", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "#676C7E", + "italic": true, + "bold": false, + "underline": false, + "labelWidth": 82, + "labelHeight": 21, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "labelPercentage": 0, + "route": [ + { + "x": 87, + "y": 637 + }, + { + "x": 903, + "y": 637 + } + ], + "animated": false, + "tooltip": "", + "icon": null, + "zIndex": 2 + }, + { + "id": "How this is rendered.(d2compiler -> CLI)[0]", + "src": "How this is rendered.d2compiler", + "srcArrow": "none", + "srcLabel": "", + "dst": "How this is rendered.CLI", + "dstArrow": "triangle", + "dstLabel": "", + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "stroke": "#0D32B2", + "label": "objects and edges", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "#676C7E", + "italic": true, + "bold": false, + "underline": false, + "labelWidth": 119, + "labelHeight": 21, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "labelPercentage": 0, + "route": [ + { + "x": 903, + "y": 1023 + }, + { + "x": 87, + "y": 1023 + } + ], + "animated": false, + "tooltip": "", + "icon": null, + "zIndex": 2 + }, + { + "id": "How this is rendered.(CLI -> d2layout.layout)[0]", + "src": "How this is rendered.CLI", + "srcArrow": "none", + "srcLabel": "", + "dst": "How this is rendered.d2layout.layout", + "dstArrow": "triangle", + "dstLabel": "", + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "stroke": "#0D32B2", + "label": "run layout engines", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "#676C7E", + "italic": true, + "bold": false, + "underline": false, + "labelWidth": 122, + "labelHeight": 21, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "labelPercentage": 0, + "route": [ + { + "x": 87, + "y": 1153 + }, + { + "x": 1316.5, + "y": 1153 + } + ], + "animated": false, + "tooltip": "", + "icon": null, + "zIndex": 2 + }, + { + "id": "How this is rendered.(d2layout.layout -> d2sequencelayout)[0]", + "src": "How this is rendered.d2layout.layout", + "srcArrow": "none", + "srcLabel": "", + "dst": "How this is rendered.d2sequencelayout", + "dstArrow": "triangle", + "dstLabel": "", + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "stroke": "#0D32B2", + "label": "run engine on shape: sequence_diagram, temporarily remove", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "#676C7E", + "italic": true, + "bold": false, + "underline": false, + "labelWidth": 403, + "labelHeight": 21, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "labelPercentage": 0, + "route": [ + { + "x": 1336.5, + "y": 1283 + }, + { + "x": 3068.5, + "y": 1283 + } + ], + "animated": false, + "tooltip": "", + "icon": null, + "zIndex": 2 + }, + { + "id": "How this is rendered.(d2layout.layout -> d2dagrelayout)[0]", + "src": "How this is rendered.d2layout.layout", + "srcArrow": "none", + "srcLabel": "", + "dst": "How this is rendered.d2dagrelayout", + "dstArrow": "triangle", + "dstLabel": "", + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "stroke": "#0D32B2", + "label": "run core engine on rest", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "#676C7E", + "italic": true, + "bold": false, + "underline": false, + "labelWidth": 151, + "labelHeight": 21, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "labelPercentage": 0, + "route": [ + { + "x": 1336.5, + "y": 1413 + }, + { + "x": 3540.5, + "y": 1413 + } + ], + "animated": false, + "tooltip": "", + "icon": null, + "zIndex": 2 + }, + { + "id": "How this is rendered.(d2layout.layout <- d2sequencelayout)[0]", + "src": "How this is rendered.d2layout.layout", + "srcArrow": "triangle", + "srcLabel": "", + "dst": "How this is rendered.d2sequencelayout", + "dstArrow": "none", + "dstLabel": "", + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "stroke": "#0D32B2", + "label": "add back in sequence diagrams", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "#676C7E", + "italic": true, + "bold": false, + "underline": false, + "labelWidth": 208, + "labelHeight": 21, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "labelPercentage": 0, + "route": [ + { + "x": 1336.5, + "y": 1543 + }, + { + "x": 3068.5, + "y": 1543 + } + ], + "animated": false, + "tooltip": "", + "icon": null, + "zIndex": 2 + }, + { + "id": "How this is rendered.(d2layout -> CLI)[0]", + "src": "How this is rendered.d2layout", + "srcArrow": "none", + "srcLabel": "", + "dst": "How this is rendered.CLI", + "dstArrow": "triangle", + "dstLabel": "", + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "stroke": "#0D32B2", + "label": "diagram with correct positions and dimensions", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "#676C7E", + "italic": true, + "bold": false, + "underline": false, + "labelWidth": 307, + "labelHeight": 21, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "labelPercentage": 0, + "route": [ + { + "x": 1326.5, + "y": 1673 + }, + { + "x": 87, + "y": 1673 + } + ], + "animated": false, + "tooltip": "", + "icon": null, + "zIndex": 2 + }, + { + "id": "How this is rendered.(CLI -> d2exporter)[0]", + "src": "How this is rendered.CLI", + "srcArrow": "none", + "srcLabel": "", + "dst": "How this is rendered.d2exporter", + "dstArrow": "triangle", + "dstLabel": "", + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "stroke": "#0D32B2", + "label": "export diagram with chosen theme and renderer", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "#676C7E", + "italic": true, + "bold": false, + "underline": false, + "labelWidth": 318, + "labelHeight": 21, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "labelPercentage": 0, + "route": [ + { + "x": 87, + "y": 1803 + }, + { + "x": 1749, + "y": 1803 + } + ], + "animated": false, + "tooltip": "", + "icon": null, + "zIndex": 2 + }, + { + "id": "How this is rendered.(d2exporter.export -> d2themes)[0]", + "src": "How this is rendered.d2exporter.export", + "srcArrow": "none", + "srcLabel": "", + "dst": "How this is rendered.d2themes", + "dstArrow": "triangle", + "dstLabel": "", + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "stroke": "#0D32B2", + "label": "get theme styles", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "#676C7E", + "italic": true, + "bold": false, + "underline": false, + "labelWidth": 108, + "labelHeight": 21, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "labelPercentage": 0, + "route": [ + { + "x": 1759, + "y": 1933 + }, + { + "x": 2177, + "y": 1933 + } + ], + "animated": false, + "tooltip": "", + "icon": null, + "zIndex": 2 + }, + { + "id": "How this is rendered.(d2exporter.export -> d2renderer)[0]", + "src": "How this is rendered.d2exporter.export", + "srcArrow": "none", + "srcLabel": "", + "dst": "How this is rendered.d2renderer", + "dstArrow": "triangle", + "dstLabel": "", + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "stroke": "#0D32B2", + "label": "render to SVG", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "#676C7E", + "italic": true, + "bold": false, + "underline": false, + "labelWidth": 90, + "labelHeight": 21, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "labelPercentage": 0, + "route": [ + { + "x": 1759, + "y": 2063 + }, + { + "x": 2608, + "y": 2063 + } + ], + "animated": false, + "tooltip": "", + "icon": null, + "zIndex": 2 + }, + { + "id": "How this is rendered.(d2exporter.export -> CLI)[0]", + "src": "How this is rendered.d2exporter.export", + "srcArrow": "none", + "srcLabel": "", + "dst": "How this is rendered.CLI", + "dstArrow": "triangle", + "dstLabel": "", + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "stroke": "#0D32B2", + "label": "resulting SVG", + "fontSize": 16, + "fontFamily": "DEFAULT", + "language": "", + "color": "#676C7E", + "italic": true, + "bold": false, + "underline": false, + "labelWidth": 88, + "labelHeight": 21, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "labelPercentage": 0, + "route": [ + { + "x": 1739, + "y": 2193 + }, + { + "x": 87, + "y": 2193 + } + ], + "animated": false, + "tooltip": "", + "icon": null, + "zIndex": 2 + }, + { + "id": "(How this is rendered.CLI -- )[0]", + "src": "How this is rendered.CLI", + "srcArrow": "none", + "srcLabel": "", + "dst": "CLI-lifeline-end-1708808208", + "dstArrow": "none", + "dstLabel": "", + "opacity": 1, + "strokeDash": 6, + "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": 87, + "y": 247 + }, + { + "x": 87, + "y": 2323 + } + ], + "animated": false, + "tooltip": "", + "icon": null, + "zIndex": 0 + }, + { + "id": "(How this is rendered.d2ast -- )[0]", + "src": "How this is rendered.d2ast", + "srcArrow": "none", + "srcLabel": "", + "dst": "d2ast-lifeline-end-2301832456", + "dstArrow": "none", + "dstLabel": "", + "opacity": 1, + "strokeDash": 6, + "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": 487, + "y": 247 + }, + { + "x": 487, + "y": 2323 + } + ], + "animated": false, + "tooltip": "", + "icon": null, + "zIndex": 0 + }, + { + "id": "(How this is rendered.d2compiler -- )[0]", + "src": "How this is rendered.d2compiler", + "srcArrow": "none", + "srcLabel": "", + "dst": "d2compiler-lifeline-end-4225513585", + "dstArrow": "none", + "dstLabel": "", + "opacity": 1, + "strokeDash": 6, + "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": 903, + "y": 247 + }, + { + "x": 903, + "y": 2323 + } + ], + "animated": false, + "tooltip": "", + "icon": null, + "zIndex": 0 + }, + { + "id": "(How this is rendered.d2layout -- )[0]", + "src": "How this is rendered.d2layout", + "srcArrow": "none", + "srcLabel": "", + "dst": "d2layout-lifeline-end-1285981920", + "dstArrow": "none", + "dstLabel": "", + "opacity": 1, + "strokeDash": 6, + "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": 1326.5, + "y": 247 + }, + { + "x": 1326.5, + "y": 2323 + } + ], + "animated": false, + "tooltip": "", + "icon": null, + "zIndex": 0 + }, + { + "id": "(How this is rendered.d2exporter -- )[0]", + "src": "How this is rendered.d2exporter", + "srcArrow": "none", + "srcLabel": "", + "dst": "d2exporter-lifeline-end-882815229", + "dstArrow": "none", + "dstLabel": "", + "opacity": 1, + "strokeDash": 6, + "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": 1749, + "y": 247 + }, + { + "x": 1749, + "y": 2323 + } + ], + "animated": false, + "tooltip": "", + "icon": null, + "zIndex": 0 + }, + { + "id": "(How this is rendered.d2themes -- )[0]", + "src": "How this is rendered.d2themes", + "srcArrow": "none", + "srcLabel": "", + "dst": "d2themes-lifeline-end-1104056036", + "dstArrow": "none", + "dstLabel": "", + "opacity": 1, + "strokeDash": 6, + "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": 2177, + "y": 247 + }, + { + "x": 2177, + "y": 2323 + } + ], + "animated": false, + "tooltip": "", + "icon": null, + "zIndex": 0 + }, + { + "id": "(How this is rendered.d2renderer -- )[0]", + "src": "How this is rendered.d2renderer", + "srcArrow": "none", + "srcLabel": "", + "dst": "d2renderer-lifeline-end-3212976943", + "dstArrow": "none", + "dstLabel": "", + "opacity": 1, + "strokeDash": 6, + "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": 2608, + "y": 247 + }, + { + "x": 2608, + "y": 2323 + } + ], + "animated": false, + "tooltip": "", + "icon": null, + "zIndex": 0 + }, + { + "id": "(How this is rendered.d2sequencelayout -- )[0]", + "src": "How this is rendered.d2sequencelayout", + "srcArrow": "none", + "srcLabel": "", + "dst": "d2sequencelayout-lifeline-end-3085844671", + "dstArrow": "none", + "dstLabel": "", + "opacity": 1, + "strokeDash": 6, + "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": 3068.5, + "y": 247 + }, + { + "x": 3068.5, + "y": 2323 + } + ], + "animated": false, + "tooltip": "", + "icon": null, + "zIndex": 0 + }, + { + "id": "(How this is rendered.d2dagrelayout -- )[0]", + "src": "How this is rendered.d2dagrelayout", + "srcArrow": "none", + "srcLabel": "", + "dst": "d2dagrelayout-lifeline-end-3371915605", + "dstArrow": "none", + "dstLabel": "", + "opacity": 1, + "strokeDash": 6, + "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": 3540.5, + "y": 247 + }, + { + "x": 3540.5, + "y": 2323 + } + ], + "animated": false, + "tooltip": "", + "icon": null, + "zIndex": 0 + } + ] +} diff --git a/e2etests/testdata/stable/sequence_diagram_real/elk/sketch.exp.svg b/e2etests/testdata/stable/sequence_diagram_real/elk/sketch.exp.svg new file mode 100644 index 000000000..96aba78e2 --- /dev/null +++ b/e2etests/testdata/stable/sequence_diagram_real/elk/sketch.exp.svg @@ -0,0 +1,46 @@ + +How this is renderedCLId2astd2compilerd2layoutd2exporterd2themesd2rendererd2sequencelayoutd2dagrelayoutmeasurements also take place 'How this is rendered: {...}'tokenized ASTcompile ASTobjects and edgesrun layout enginesrun engine on shape: sequence_diagram, temporarily removerun core engine on rest add back in sequence diagramsdiagram with correct positions and dimensionsexport diagram with chosen theme and rendererget theme stylesrender to SVGresulting SVG + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/e2etests/testdata/stable/sequence_diagram_simple/dagre/board.exp.json b/e2etests/testdata/stable/sequence_diagram_simple/dagre/board.exp.json index 013156a55..1fd6bd83f 100644 --- a/e2etests/testdata/stable/sequence_diagram_simple/dagre/board.exp.json +++ b/e2etests/testdata/stable/sequence_diagram_simple/dagre/board.exp.json @@ -597,7 +597,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", @@ -636,7 +636,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", @@ -675,7 +675,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", @@ -714,7 +714,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", @@ -753,7 +753,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", diff --git a/e2etests/testdata/stable/sequence_diagram_simple/dagre/sketch.exp.svg b/e2etests/testdata/stable/sequence_diagram_simple/dagre/sketch.exp.svg index 133911013..867f37b16 100644 --- a/e2etests/testdata/stable/sequence_diagram_simple/dagre/sketch.exp.svg +++ b/e2etests/testdata/stable/sequence_diagram_simple/dagre/sketch.exp.svg @@ -14,7 +14,7 @@ width="2283" height="1868" viewBox="-100 -50 2283 1868">AlicelinebreakerBobdbqueueanoddservicewithanameinmultiple lines Authentication Requestmake request for something that is quite far away and requires a really long label to take all the space between the objectsvalidate credentialsAuthentication ResponseAnother authentication Requestdo it later storedAnother authentication Response +AlicelinebreakerBobdbqueueanoddservicewithanameinmultiple lines Authentication Requestmake request for something that is quite far away and requires a really long label to take all the space between the objectsvalidate credentialsAuthentication ResponseAnother authentication Requestdo it later storedAnother authentication Response diff --git a/e2etests/testdata/stable/sequence_diagram_simple/elk/board.exp.json b/e2etests/testdata/stable/sequence_diagram_simple/elk/board.exp.json index 013156a55..1fd6bd83f 100644 --- a/e2etests/testdata/stable/sequence_diagram_simple/elk/board.exp.json +++ b/e2etests/testdata/stable/sequence_diagram_simple/elk/board.exp.json @@ -597,7 +597,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", @@ -636,7 +636,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", @@ -675,7 +675,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", @@ -714,7 +714,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", @@ -753,7 +753,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", diff --git a/e2etests/testdata/stable/sequence_diagram_simple/elk/sketch.exp.svg b/e2etests/testdata/stable/sequence_diagram_simple/elk/sketch.exp.svg index 133911013..867f37b16 100644 --- a/e2etests/testdata/stable/sequence_diagram_simple/elk/sketch.exp.svg +++ b/e2etests/testdata/stable/sequence_diagram_simple/elk/sketch.exp.svg @@ -14,7 +14,7 @@ width="2283" height="1868" viewBox="-100 -50 2283 1868">AlicelinebreakerBobdbqueueanoddservicewithanameinmultiple lines Authentication Requestmake request for something that is quite far away and requires a really long label to take all the space between the objectsvalidate credentialsAuthentication ResponseAnother authentication Requestdo it later storedAnother authentication Response +AlicelinebreakerBobdbqueueanoddservicewithanameinmultiple lines Authentication Requestmake request for something that is quite far away and requires a really long label to take all the space between the objectsvalidate credentialsAuthentication ResponseAnother authentication Requestdo it later storedAnother authentication Response diff --git a/e2etests/testdata/stable/sequence_diagram_span/dagre/board.exp.json b/e2etests/testdata/stable/sequence_diagram_span/dagre/board.exp.json index 1885b177a..6d2c55f61 100644 --- a/e2etests/testdata/stable/sequence_diagram_span/dagre/board.exp.json +++ b/e2etests/testdata/stable/sequence_diagram_span/dagre/board.exp.json @@ -1171,7 +1171,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", @@ -1210,7 +1210,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", @@ -1249,7 +1249,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", @@ -1288,7 +1288,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", @@ -1327,7 +1327,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", @@ -1366,7 +1366,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", diff --git a/e2etests/testdata/stable/sequence_diagram_span/dagre/sketch.exp.svg b/e2etests/testdata/stable/sequence_diagram_span/dagre/sketch.exp.svg index 5f572527d..edb12da43 100644 --- a/e2etests/testdata/stable/sequence_diagram_span/dagre/sketch.exp.svg +++ b/e2etests/testdata/stable/sequence_diagram_span/dagre/sketch.exp.svg @@ -14,7 +14,7 @@ width="2493" height="2160" viewBox="-100 -50 2493 2160">scoreritemResponseitemessayRubricconceptitemOutcome getItem() itemgetRubric()rubricapplyTo(essayResp)match(essayResponse)scorenewgetNormalMinimum()getNormalMaximum()setScore(score)setFeedback(missingConcepts) +scoreritemResponseitemessayRubricconceptitemOutcome getItem() itemgetRubric()rubricapplyTo(essayResp)match(essayResponse)scorenewgetNormalMinimum()getNormalMaximum()setScore(score)setFeedback(missingConcepts) diff --git a/e2etests/testdata/stable/sequence_diagram_span/elk/board.exp.json b/e2etests/testdata/stable/sequence_diagram_span/elk/board.exp.json index 1885b177a..6d2c55f61 100644 --- a/e2etests/testdata/stable/sequence_diagram_span/elk/board.exp.json +++ b/e2etests/testdata/stable/sequence_diagram_span/elk/board.exp.json @@ -1171,7 +1171,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", @@ -1210,7 +1210,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", @@ -1249,7 +1249,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", @@ -1288,7 +1288,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", @@ -1327,7 +1327,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", @@ -1366,7 +1366,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", diff --git a/e2etests/testdata/stable/sequence_diagram_span/elk/sketch.exp.svg b/e2etests/testdata/stable/sequence_diagram_span/elk/sketch.exp.svg index 5f572527d..edb12da43 100644 --- a/e2etests/testdata/stable/sequence_diagram_span/elk/sketch.exp.svg +++ b/e2etests/testdata/stable/sequence_diagram_span/elk/sketch.exp.svg @@ -14,7 +14,7 @@ width="2493" height="2160" viewBox="-100 -50 2493 2160">scoreritemResponseitemessayRubricconceptitemOutcome getItem() itemgetRubric()rubricapplyTo(essayResp)match(essayResponse)scorenewgetNormalMinimum()getNormalMaximum()setScore(score)setFeedback(missingConcepts) +scoreritemResponseitemessayRubricconceptitemOutcome getItem() itemgetRubric()rubricapplyTo(essayResp)match(essayResponse)scorenewgetNormalMinimum()getNormalMaximum()setScore(score)setFeedback(missingConcepts) diff --git a/e2etests/testdata/stable/sequence_diagrams/dagre/board.exp.json b/e2etests/testdata/stable/sequence_diagrams/dagre/board.exp.json index 35edde351..5d18bf4a4 100644 --- a/e2etests/testdata/stable/sequence_diagrams/dagre/board.exp.json +++ b/e2etests/testdata/stable/sequence_diagrams/dagre/board.exp.json @@ -4095,7 +4095,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", @@ -4134,7 +4134,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", @@ -4173,7 +4173,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", @@ -4212,7 +4212,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", @@ -4251,7 +4251,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", @@ -4290,7 +4290,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", @@ -4329,7 +4329,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", @@ -4368,7 +4368,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", @@ -4407,7 +4407,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", @@ -4446,7 +4446,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", @@ -4485,7 +4485,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", @@ -4524,7 +4524,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", @@ -4563,7 +4563,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", @@ -4602,7 +4602,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", @@ -4641,7 +4641,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", @@ -4680,7 +4680,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", @@ -4719,7 +4719,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", @@ -4758,7 +4758,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", diff --git a/e2etests/testdata/stable/sequence_diagrams/dagre/sketch.exp.svg b/e2etests/testdata/stable/sequence_diagrams/dagre/sketch.exp.svg index 68bafe041..86332068e 100644 --- a/e2etests/testdata/stable/sequence_diagrams/dagre/sketch.exp.svg +++ b/e2etests/testdata/stable/sequence_diagrams/dagre/sketch.exp.svg @@ -14,7 +14,7 @@ width="5044" height="4201" viewBox="-100 -100 5044 4201">a_shapea_sequenceanotherfinallysequencesequencesequencescoreritemResponseitemessayRubricconceptitemOutcomescorerconceptessayRubricitemitemOutcomeitemResponsescoreritemResponseitemessayRubricconceptitemOutcome getItem()itemgetRubric()rubricapplyTo(essayResp)match(essayResponse)scorenewgetNormalMinimum()getNormalMaximum()setScore(score)setFeedback(missingConcepts)getItem()itemgetRubric()rubricapplyTo(essayResp)match(essayResponse)scorenewgetNormalMinimum()getNormalMaximum()setScore(score)setFeedback(missingConcepts) +a_shapea_sequenceanotherfinallysequencesequencesequencescoreritemResponseitemessayRubricconceptitemOutcomescorerconceptessayRubricitemitemOutcomeitemResponsescoreritemResponseitemessayRubricconceptitemOutcome getItem()itemgetRubric()rubricapplyTo(essayResp)match(essayResponse)scorenewgetNormalMinimum()getNormalMaximum()setScore(score)setFeedback(missingConcepts)getItem()itemgetRubric()rubricapplyTo(essayResp)match(essayResponse)scorenewgetNormalMinimum()getNormalMaximum()setScore(score)setFeedback(missingConcepts) diff --git a/e2etests/testdata/stable/sequence_diagrams/elk/board.exp.json b/e2etests/testdata/stable/sequence_diagrams/elk/board.exp.json index bea1d1127..2d17a53d3 100644 --- a/e2etests/testdata/stable/sequence_diagrams/elk/board.exp.json +++ b/e2etests/testdata/stable/sequence_diagrams/elk/board.exp.json @@ -4014,7 +4014,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", @@ -4053,7 +4053,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", @@ -4092,7 +4092,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", @@ -4131,7 +4131,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", @@ -4170,7 +4170,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", @@ -4209,7 +4209,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", @@ -4248,7 +4248,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", @@ -4287,7 +4287,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", @@ -4326,7 +4326,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", @@ -4365,7 +4365,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", @@ -4404,7 +4404,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", @@ -4443,7 +4443,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", @@ -4482,7 +4482,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", @@ -4521,7 +4521,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", @@ -4560,7 +4560,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", @@ -4599,7 +4599,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", @@ -4638,7 +4638,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", @@ -4677,7 +4677,7 @@ "dstArrow": "none", "dstLabel": "", "opacity": 1, - "strokeDash": 8, + "strokeDash": 6, "strokeWidth": 2, "stroke": "#0D32B2", "label": "", diff --git a/e2etests/testdata/stable/sequence_diagrams/elk/sketch.exp.svg b/e2etests/testdata/stable/sequence_diagrams/elk/sketch.exp.svg index 9ea4bdb92..6a63ebb90 100644 --- a/e2etests/testdata/stable/sequence_diagrams/elk/sketch.exp.svg +++ b/e2etests/testdata/stable/sequence_diagrams/elk/sketch.exp.svg @@ -14,7 +14,7 @@ width="4966" height="4321" viewBox="-88 -88 4966 4321">a_shapea_sequenceanotherfinallysequencesequencesequencescoreritemResponseitemessayRubricconceptitemOutcomescorerconceptessayRubricitemitemOutcomeitemResponsescoreritemResponseitemessayRubricconceptitemOutcome getItem()itemgetRubric()rubricapplyTo(essayResp)match(essayResponse)scorenewgetNormalMinimum()getNormalMaximum()setScore(score)setFeedback(missingConcepts)getItem()itemgetRubric()rubricapplyTo(essayResp)match(essayResponse)scorenewgetNormalMinimum()getNormalMaximum()setScore(score)setFeedback(missingConcepts) +a_shapea_sequenceanotherfinallysequencesequencesequencescoreritemResponseitemessayRubricconceptitemOutcomescorerconceptessayRubricitemitemOutcomeitemResponsescoreritemResponseitemessayRubricconceptitemOutcome getItem()itemgetRubric()rubricapplyTo(essayResp)match(essayResponse)scorenewgetNormalMinimum()getNormalMaximum()setScore(score)setFeedback(missingConcepts)getItem()itemgetRubric()rubricapplyTo(essayResp)match(essayResponse)scorenewgetNormalMinimum()getNormalMaximum()setScore(score)setFeedback(missingConcepts)