diff --git a/ci/release/changelogs/next.md b/ci/release/changelogs/next.md index 10db03527..490e338df 100644 --- a/ci/release/changelogs/next.md +++ b/ci/release/changelogs/next.md @@ -8,3 +8,4 @@ - `d2 fmt` only rewrites if it has changes, instead of always rewriting. [#470](https://github.com/terrastruct/d2/pull/470) - Fixed an issue where text could overflow in sql_table shapes. [#458](https://github.com/terrastruct/d2/pull/458) +- Fixed an issue with elk layouts accounting for edge labels as if they were placed on the side of the edge. [#483](https://github.com/terrastruct/d2/pull/483) diff --git a/d2layouts/d2elklayout/layout.go b/d2layouts/d2elklayout/layout.go index fb364ceba..be40c6bff 100644 --- a/d2layouts/d2elklayout/layout.go +++ b/d2layouts/d2elklayout/layout.go @@ -43,11 +43,12 @@ type ELKNode struct { } type ELKLabel struct { - Text string `json:"text"` - X float64 `json:"x"` - Y float64 `json:"y"` - Width float64 `json:"width"` - Height float64 `json:"height"` + Text string `json:"text"` + X float64 `json:"x"` + Y float64 `json:"y"` + Width float64 `json:"width"` + Height float64 `json:"height"` + LayoutOptions *ELKLayoutOptions `json:"layoutOptions,omitempty"` } type ELKPoint struct { @@ -85,6 +86,7 @@ type ELKLayoutOptions struct { EdgeNodeSpacing float64 `json:"spacing.edgeNodeBetweenLayers,omitempty"` Direction string `json:"elk.direction"` SelfLoopSpacing float64 `json:"elk.spacing.nodeSelfLoop"` + InlineEdgeLabels bool `json:"elk.edgeLabels.inline,omitempty"` } func Layout(ctx context.Context, g *d2graph.Graph) (err error) { @@ -186,6 +188,9 @@ func Layout(ctx context.Context, g *d2graph.Graph) (err error) { Text: edge.Attributes.Label.Value, Width: float64(edge.LabelDimensions.Width), Height: float64(edge.LabelDimensions.Height), + LayoutOptions: &ELKLayoutOptions{ + InlineEdgeLabels: true, + }, }) } elkGraph.Edges = append(elkGraph.Edges, e) diff --git a/e2etests/regression_test.go b/e2etests/regression_test.go index 7df5efff3..d115f1ba0 100644 --- a/e2etests/regression_test.go +++ b/e2etests/regression_test.go @@ -69,6 +69,85 @@ table_constrained: sql_table_constrained_overflow { constraint: foreign_key } } +`, + }, + { + name: "elk_alignment", + script: ` +direction: down + +build_workflow: lambda-build.yaml { + + push: Push to main branch { + style.font-size: 25 + } + + GHA: GitHub Actions { + style.font-size: 25 + } + + S3.style.font-size: 25 + Terraform.style.font-size: 25 + AWS.style.font-size: 25 + + push -> GHA: Triggers { + style.font-size: 20 + } + + GHA -> S3: Builds zip and pushes it { + style.font-size: 20 + } + + S3 <-> Terraform: Pulls zip to deploy { + style.font-size: 20 + } + + Terraform -> AWS: Changes live lambdas { + style.font-size: 20 + } +} + +deploy_workflow: lambda-deploy.yaml { + + manual: Manual Trigger { + style.font-size: 25 + } + + GHA: GitHub Actions { + style.font-size: 25 + } + + AWS.style.font-size: 25 + + Manual -> GHA: Launches { + style.font-size: 20 + } + + GHA -> AWS: Builds zip\npushes them to S3.\n\nDeploys lambdas\nusing Terraform { + style.font-size: 20 + } +} + +apollo_workflow: apollo-deploy.yaml { + + apollo: Apollo Repo { + style.font-size: 25 + } + + GHA: GitHub Actions { + style.font-size: 25 + } + + AWS.style.font-size: 25 + + apollo -> GHA: Triggered manually/push to master test test test test test test test { + style.font-size: 20 + } + + GHA -> AWS: test { + style.font-size: 20 + } +} `, }, } diff --git a/e2etests/testdata/regression/elk_alignment/dagre/board.exp.json b/e2etests/testdata/regression/elk_alignment/dagre/board.exp.json new file mode 100644 index 000000000..8a8cda91a --- /dev/null +++ b/e2etests/testdata/regression/elk_alignment/dagre/board.exp.json @@ -0,0 +1,951 @@ +{ + "name": "", + "shapes": [ + { + "id": "build_workflow", + "type": "", + "pos": { + "x": 0, + "y": 0 + }, + "width": 430, + "height": 1235, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "#E3E9FD", + "stroke": "#0D32B2", + "shadow": false, + "3d": false, + "multiple": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "lambda-build.yaml", + "fontSize": 28, + "fontFamily": "DEFAULT", + "language": "", + "color": "#0A0F25", + "italic": false, + "bold": false, + "underline": false, + "labelWidth": 226, + "labelHeight": 41, + "labelPosition": "INSIDE_TOP_CENTER", + "zIndex": 0, + "level": 1 + }, + { + "id": "build_workflow.push", + "type": "", + "pos": { + "x": 50, + "y": 50 + }, + "width": 330, + "height": 137, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "#EDF0FD", + "stroke": "#0D32B2", + "shadow": false, + "3d": false, + "multiple": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "Push to main branch", + "fontSize": 25, + "fontFamily": "DEFAULT", + "language": "", + "color": "#0A0F25", + "italic": false, + "bold": true, + "underline": false, + "labelWidth": 230, + "labelHeight": 37, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "zIndex": 0, + "level": 2 + }, + { + "id": "build_workflow.GHA", + "type": "", + "pos": { + "x": 81, + "y": 287 + }, + "width": 269, + "height": 137, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "#EDF0FD", + "stroke": "#0D32B2", + "shadow": false, + "3d": false, + "multiple": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "GitHub Actions", + "fontSize": 25, + "fontFamily": "DEFAULT", + "language": "", + "color": "#0A0F25", + "italic": false, + "bold": true, + "underline": false, + "labelWidth": 169, + "labelHeight": 37, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "zIndex": 0, + "level": 2 + }, + { + "id": "build_workflow.S3", + "type": "", + "pos": { + "x": 150, + "y": 524 + }, + "width": 131, + "height": 137, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "#EDF0FD", + "stroke": "#0D32B2", + "shadow": false, + "3d": false, + "multiple": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "S3", + "fontSize": 25, + "fontFamily": "DEFAULT", + "language": "", + "color": "#0A0F25", + "italic": false, + "bold": true, + "underline": false, + "labelWidth": 31, + "labelHeight": 37, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "zIndex": 0, + "level": 2 + }, + { + "id": "build_workflow.Terraform", + "type": "", + "pos": { + "x": 106, + "y": 811 + }, + "width": 218, + "height": 137, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "#EDF0FD", + "stroke": "#0D32B2", + "shadow": false, + "3d": false, + "multiple": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "Terraform", + "fontSize": 25, + "fontFamily": "DEFAULT", + "language": "", + "color": "#0A0F25", + "italic": false, + "bold": true, + "underline": false, + "labelWidth": 118, + "labelHeight": 37, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "zIndex": 0, + "level": 2 + }, + { + "id": "build_workflow.AWS", + "type": "", + "pos": { + "x": 138, + "y": 1048 + }, + "width": 155, + "height": 137, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "#EDF0FD", + "stroke": "#0D32B2", + "shadow": false, + "3d": false, + "multiple": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "AWS", + "fontSize": 25, + "fontFamily": "DEFAULT", + "language": "", + "color": "#0A0F25", + "italic": false, + "bold": true, + "underline": false, + "labelWidth": 55, + "labelHeight": 37, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "zIndex": 0, + "level": 2 + }, + { + "id": "deploy_workflow", + "type": "", + "pos": { + "x": 470, + "y": 0 + }, + "width": 371, + "height": 711, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "#E3E9FD", + "stroke": "#0D32B2", + "shadow": false, + "3d": false, + "multiple": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "lambda-deploy.yaml", + "fontSize": 28, + "fontFamily": "DEFAULT", + "language": "", + "color": "#0A0F25", + "italic": false, + "bold": false, + "underline": false, + "labelWidth": 247, + "labelHeight": 41, + "labelPosition": "INSIDE_TOP_CENTER", + "zIndex": 0, + "level": 1 + }, + { + "id": "deploy_workflow.manual", + "type": "", + "pos": { + "x": 520, + "y": 50 + }, + "width": 271, + "height": 137, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "#EDF0FD", + "stroke": "#0D32B2", + "shadow": false, + "3d": false, + "multiple": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "Manual Trigger", + "fontSize": 25, + "fontFamily": "DEFAULT", + "language": "", + "color": "#0A0F25", + "italic": false, + "bold": true, + "underline": false, + "labelWidth": 171, + "labelHeight": 37, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "zIndex": 0, + "level": 2 + }, + { + "id": "deploy_workflow.GHA", + "type": "", + "pos": { + "x": 521, + "y": 287 + }, + "width": 269, + "height": 137, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "#EDF0FD", + "stroke": "#0D32B2", + "shadow": false, + "3d": false, + "multiple": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "GitHub Actions", + "fontSize": 25, + "fontFamily": "DEFAULT", + "language": "", + "color": "#0A0F25", + "italic": false, + "bold": true, + "underline": false, + "labelWidth": 169, + "labelHeight": 37, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "zIndex": 0, + "level": 2 + }, + { + "id": "deploy_workflow.AWS", + "type": "", + "pos": { + "x": 578, + "y": 524 + }, + "width": 155, + "height": 137, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "#EDF0FD", + "stroke": "#0D32B2", + "shadow": false, + "3d": false, + "multiple": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "AWS", + "fontSize": 25, + "fontFamily": "DEFAULT", + "language": "", + "color": "#0A0F25", + "italic": false, + "bold": true, + "underline": false, + "labelWidth": 55, + "labelHeight": 37, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "zIndex": 0, + "level": 2 + }, + { + "id": "apollo_workflow", + "type": "", + "pos": { + "x": 881, + "y": 0 + }, + "width": 369, + "height": 711, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "#E3E9FD", + "stroke": "#0D32B2", + "shadow": false, + "3d": false, + "multiple": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "apollo-deploy.yaml", + "fontSize": 28, + "fontFamily": "DEFAULT", + "language": "", + "color": "#0A0F25", + "italic": false, + "bold": false, + "underline": false, + "labelWidth": 232, + "labelHeight": 41, + "labelPosition": "INSIDE_TOP_CENTER", + "zIndex": 0, + "level": 1 + }, + { + "id": "apollo_workflow.apollo", + "type": "", + "pos": { + "x": 947, + "y": 50 + }, + "width": 238, + "height": 137, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "#EDF0FD", + "stroke": "#0D32B2", + "shadow": false, + "3d": false, + "multiple": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "Apollo Repo", + "fontSize": 25, + "fontFamily": "DEFAULT", + "language": "", + "color": "#0A0F25", + "italic": false, + "bold": true, + "underline": false, + "labelWidth": 138, + "labelHeight": 37, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "zIndex": 0, + "level": 2 + }, + { + "id": "apollo_workflow.GHA", + "type": "", + "pos": { + "x": 931, + "y": 287 + }, + "width": 269, + "height": 137, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "#EDF0FD", + "stroke": "#0D32B2", + "shadow": false, + "3d": false, + "multiple": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "GitHub Actions", + "fontSize": 25, + "fontFamily": "DEFAULT", + "language": "", + "color": "#0A0F25", + "italic": false, + "bold": true, + "underline": false, + "labelWidth": 169, + "labelHeight": 37, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "zIndex": 0, + "level": 2 + }, + { + "id": "apollo_workflow.AWS", + "type": "", + "pos": { + "x": 988, + "y": 524 + }, + "width": 155, + "height": 137, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "#EDF0FD", + "stroke": "#0D32B2", + "shadow": false, + "3d": false, + "multiple": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "AWS", + "fontSize": 25, + "fontFamily": "DEFAULT", + "language": "", + "color": "#0A0F25", + "italic": false, + "bold": true, + "underline": false, + "labelWidth": 55, + "labelHeight": 37, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "zIndex": 0, + "level": 2 + } + ], + "connections": [ + { + "id": "build_workflow.(push -> GHA)[0]", + "src": "build_workflow.push", + "srcArrow": "none", + "srcLabel": "", + "dst": "build_workflow.GHA", + "dstArrow": "triangle", + "dstLabel": "", + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "stroke": "#0D32B2", + "label": "Triggers", + "fontSize": 20, + "fontFamily": "DEFAULT", + "language": "", + "color": "#676C7E", + "italic": true, + "bold": false, + "underline": false, + "labelWidth": 67, + "labelHeight": 26, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "labelPercentage": 0, + "route": [ + { + "x": 215, + "y": 187 + }, + { + "x": 215, + "y": 227 + }, + { + "x": 215, + "y": 247 + }, + { + "x": 215, + "y": 287 + } + ], + "isCurve": true, + "animated": false, + "tooltip": "", + "icon": null, + "zIndex": 0 + }, + { + "id": "build_workflow.(GHA -> S3)[0]", + "src": "build_workflow.GHA", + "srcArrow": "none", + "srcLabel": "", + "dst": "build_workflow.S3", + "dstArrow": "triangle", + "dstLabel": "", + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "stroke": "#0D32B2", + "label": "Builds zip and pushes it", + "fontSize": 20, + "fontFamily": "DEFAULT", + "language": "", + "color": "#676C7E", + "italic": true, + "bold": false, + "underline": false, + "labelWidth": 192, + "labelHeight": 26, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "labelPercentage": 0, + "route": [ + { + "x": 215, + "y": 424 + }, + { + "x": 215, + "y": 464 + }, + { + "x": 215, + "y": 484 + }, + { + "x": 215, + "y": 524 + } + ], + "isCurve": true, + "animated": false, + "tooltip": "", + "icon": null, + "zIndex": 0 + }, + { + "id": "build_workflow.(S3 <-> Terraform)[0]", + "src": "build_workflow.S3", + "srcArrow": "triangle", + "srcLabel": "", + "dst": "build_workflow.Terraform", + "dstArrow": "triangle", + "dstLabel": "", + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "stroke": "#0D32B2", + "label": "Pulls zip to deploy", + "fontSize": 20, + "fontFamily": "DEFAULT", + "language": "", + "color": "#676C7E", + "italic": true, + "bold": false, + "underline": false, + "labelWidth": 149, + "labelHeight": 26, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "labelPercentage": 0, + "route": [ + { + "x": 215, + "y": 661 + }, + { + "x": 215, + "y": 701 + }, + { + "x": 215, + "y": 771 + }, + { + "x": 215, + "y": 811 + } + ], + "isCurve": true, + "animated": false, + "tooltip": "", + "icon": null, + "zIndex": 0 + }, + { + "id": "build_workflow.(Terraform -> AWS)[0]", + "src": "build_workflow.Terraform", + "srcArrow": "none", + "srcLabel": "", + "dst": "build_workflow.AWS", + "dstArrow": "triangle", + "dstLabel": "", + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "stroke": "#0D32B2", + "label": "Changes live lambdas", + "fontSize": 20, + "fontFamily": "DEFAULT", + "language": "", + "color": "#676C7E", + "italic": true, + "bold": false, + "underline": false, + "labelWidth": 179, + "labelHeight": 26, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "labelPercentage": 0, + "route": [ + { + "x": 215, + "y": 948 + }, + { + "x": 215, + "y": 988 + }, + { + "x": 215, + "y": 1008 + }, + { + "x": 215, + "y": 1048 + } + ], + "isCurve": true, + "animated": false, + "tooltip": "", + "icon": null, + "zIndex": 0 + }, + { + "id": "deploy_workflow.(manual -> GHA)[0]", + "src": "deploy_workflow.manual", + "srcArrow": "none", + "srcLabel": "", + "dst": "deploy_workflow.GHA", + "dstArrow": "triangle", + "dstLabel": "", + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "stroke": "#0D32B2", + "label": "Launches", + "fontSize": 20, + "fontFamily": "DEFAULT", + "language": "", + "color": "#676C7E", + "italic": true, + "bold": false, + "underline": false, + "labelWidth": 78, + "labelHeight": 26, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "labelPercentage": 0, + "route": [ + { + "x": 655.5, + "y": 187 + }, + { + "x": 655.5, + "y": 227 + }, + { + "x": 655.5, + "y": 247 + }, + { + "x": 655.5, + "y": 287 + } + ], + "isCurve": true, + "animated": false, + "tooltip": "", + "icon": null, + "zIndex": 0 + }, + { + "id": "deploy_workflow.(GHA -> AWS)[0]", + "src": "deploy_workflow.GHA", + "srcArrow": "none", + "srcLabel": "", + "dst": "deploy_workflow.AWS", + "dstArrow": "triangle", + "dstLabel": "", + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "stroke": "#0D32B2", + "label": "Builds zip\npushes them to S3.\n\nDeploys lambdas\nusing Terraform", + "fontSize": 20, + "fontFamily": "DEFAULT", + "language": "", + "color": "#676C7E", + "italic": true, + "bold": false, + "underline": false, + "labelWidth": 153, + "labelHeight": 106, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "labelPercentage": 0, + "route": [ + { + "x": 655.5, + "y": 424 + }, + { + "x": 655.5, + "y": 464 + }, + { + "x": 655.5, + "y": 484 + }, + { + "x": 655.5, + "y": 524 + } + ], + "isCurve": true, + "animated": false, + "tooltip": "", + "icon": null, + "zIndex": 0 + }, + { + "id": "apollo_workflow.(apollo -> GHA)[0]", + "src": "apollo_workflow.apollo", + "srcArrow": "none", + "srcLabel": "", + "dst": "apollo_workflow.GHA", + "dstArrow": "triangle", + "dstLabel": "", + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "stroke": "#0D32B2", + "label": "Triggered manually/push to master test test test test test test test", + "fontSize": 20, + "fontFamily": "DEFAULT", + "language": "", + "color": "#676C7E", + "italic": true, + "bold": false, + "underline": false, + "labelWidth": 533, + "labelHeight": 26, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "labelPercentage": 0, + "route": [ + { + "x": 1065.5, + "y": 187 + }, + { + "x": 1065.5, + "y": 227 + }, + { + "x": 1065.5, + "y": 247 + }, + { + "x": 1065.5, + "y": 287 + } + ], + "isCurve": true, + "animated": false, + "tooltip": "", + "icon": null, + "zIndex": 0 + }, + { + "id": "apollo_workflow.(GHA -> AWS)[0]", + "src": "apollo_workflow.GHA", + "srcArrow": "none", + "srcLabel": "", + "dst": "apollo_workflow.AWS", + "dstArrow": "triangle", + "dstLabel": "", + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "stroke": "#0D32B2", + "label": "test", + "fontSize": 20, + "fontFamily": "DEFAULT", + "language": "", + "color": "#676C7E", + "italic": true, + "bold": false, + "underline": false, + "labelWidth": 31, + "labelHeight": 26, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "labelPercentage": 0, + "route": [ + { + "x": 1065.5, + "y": 424 + }, + { + "x": 1065.5, + "y": 464 + }, + { + "x": 1065.5, + "y": 484 + }, + { + "x": 1065.5, + "y": 524 + } + ], + "isCurve": true, + "animated": false, + "tooltip": "", + "icon": null, + "zIndex": 0 + } + ] +} diff --git a/e2etests/testdata/regression/elk_alignment/dagre/sketch.exp.svg b/e2etests/testdata/regression/elk_alignment/dagre/sketch.exp.svg new file mode 100644 index 000000000..c2f959670 --- /dev/null +++ b/e2etests/testdata/regression/elk_alignment/dagre/sketch.exp.svg @@ -0,0 +1,52 @@ + +lambda-build.yamllambda-deploy.yamlapollo-deploy.yamlPush to main branchGitHub ActionsS3TerraformAWSManual TriggerGitHub ActionsAWSApollo RepoGitHub ActionsAWS TriggersBuilds zip and pushes it Pulls zip to deployChanges live lambdasLaunchesBuilds zippushes them to S3. Deploys lambdasusing TerraformTriggered manually/push to master test test test test test test testtest + + + + + + + + + + \ No newline at end of file diff --git a/e2etests/testdata/regression/elk_alignment/elk/board.exp.json b/e2etests/testdata/regression/elk_alignment/elk/board.exp.json new file mode 100644 index 000000000..57c9b3ee5 --- /dev/null +++ b/e2etests/testdata/regression/elk_alignment/elk/board.exp.json @@ -0,0 +1,879 @@ +{ + "name": "", + "shapes": [ + { + "id": "build_workflow", + "type": "", + "pos": { + "x": 716, + "y": 12 + }, + "width": 480, + "height": 1099, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "#E3E9FD", + "stroke": "#0D32B2", + "shadow": false, + "3d": false, + "multiple": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "lambda-build.yaml", + "fontSize": 28, + "fontFamily": "DEFAULT", + "language": "", + "color": "#0A0F25", + "italic": false, + "bold": false, + "underline": false, + "labelWidth": 226, + "labelHeight": 41, + "labelPosition": "INSIDE_TOP_CENTER", + "zIndex": 0, + "level": 1 + }, + { + "id": "build_workflow.push", + "type": "", + "pos": { + "x": 791, + "y": 87 + }, + "width": 330, + "height": 137, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "#EDF0FD", + "stroke": "#0D32B2", + "shadow": false, + "3d": false, + "multiple": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "Push to main branch", + "fontSize": 25, + "fontFamily": "DEFAULT", + "language": "", + "color": "#0A0F25", + "italic": false, + "bold": true, + "underline": false, + "labelWidth": 230, + "labelHeight": 37, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "zIndex": 0, + "level": 2 + }, + { + "id": "build_workflow.GHA", + "type": "", + "pos": { + "x": 822, + "y": 290 + }, + "width": 269, + "height": 137, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "#EDF0FD", + "stroke": "#0D32B2", + "shadow": false, + "3d": false, + "multiple": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "GitHub Actions", + "fontSize": 25, + "fontFamily": "DEFAULT", + "language": "", + "color": "#0A0F25", + "italic": false, + "bold": true, + "underline": false, + "labelWidth": 169, + "labelHeight": 37, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "zIndex": 0, + "level": 2 + }, + { + "id": "build_workflow.S3", + "type": "", + "pos": { + "x": 891, + "y": 493 + }, + "width": 131, + "height": 137, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "#EDF0FD", + "stroke": "#0D32B2", + "shadow": false, + "3d": false, + "multiple": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "S3", + "fontSize": 25, + "fontFamily": "DEFAULT", + "language": "", + "color": "#0A0F25", + "italic": false, + "bold": true, + "underline": false, + "labelWidth": 31, + "labelHeight": 37, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "zIndex": 0, + "level": 2 + }, + { + "id": "build_workflow.Terraform", + "type": "", + "pos": { + "x": 847, + "y": 696 + }, + "width": 218, + "height": 137, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "#EDF0FD", + "stroke": "#0D32B2", + "shadow": false, + "3d": false, + "multiple": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "Terraform", + "fontSize": 25, + "fontFamily": "DEFAULT", + "language": "", + "color": "#0A0F25", + "italic": false, + "bold": true, + "underline": false, + "labelWidth": 118, + "labelHeight": 37, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "zIndex": 0, + "level": 2 + }, + { + "id": "build_workflow.AWS", + "type": "", + "pos": { + "x": 879, + "y": 899 + }, + "width": 155, + "height": 137, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "#EDF0FD", + "stroke": "#0D32B2", + "shadow": false, + "3d": false, + "multiple": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "AWS", + "fontSize": 25, + "fontFamily": "DEFAULT", + "language": "", + "color": "#0A0F25", + "italic": false, + "bold": true, + "underline": false, + "labelWidth": 55, + "labelHeight": 37, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "zIndex": 0, + "level": 2 + }, + { + "id": "deploy_workflow", + "type": "", + "pos": { + "x": 1216, + "y": 175 + }, + "width": 421, + "height": 773, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "#E3E9FD", + "stroke": "#0D32B2", + "shadow": false, + "3d": false, + "multiple": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "lambda-deploy.yaml", + "fontSize": 28, + "fontFamily": "DEFAULT", + "language": "", + "color": "#0A0F25", + "italic": false, + "bold": false, + "underline": false, + "labelWidth": 247, + "labelHeight": 41, + "labelPosition": "INSIDE_TOP_CENTER", + "zIndex": 0, + "level": 1 + }, + { + "id": "deploy_workflow.manual", + "type": "", + "pos": { + "x": 1291, + "y": 250 + }, + "width": 271, + "height": 137, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "#EDF0FD", + "stroke": "#0D32B2", + "shadow": false, + "3d": false, + "multiple": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "Manual Trigger", + "fontSize": 25, + "fontFamily": "DEFAULT", + "language": "", + "color": "#0A0F25", + "italic": false, + "bold": true, + "underline": false, + "labelWidth": 171, + "labelHeight": 37, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "zIndex": 0, + "level": 2 + }, + { + "id": "deploy_workflow.GHA", + "type": "", + "pos": { + "x": 1292, + "y": 453 + }, + "width": 269, + "height": 137, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "#EDF0FD", + "stroke": "#0D32B2", + "shadow": false, + "3d": false, + "multiple": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "GitHub Actions", + "fontSize": 25, + "fontFamily": "DEFAULT", + "language": "", + "color": "#0A0F25", + "italic": false, + "bold": true, + "underline": false, + "labelWidth": 169, + "labelHeight": 37, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "zIndex": 0, + "level": 2 + }, + { + "id": "deploy_workflow.AWS", + "type": "", + "pos": { + "x": 1349, + "y": 736 + }, + "width": 155, + "height": 137, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "#EDF0FD", + "stroke": "#0D32B2", + "shadow": false, + "3d": false, + "multiple": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "AWS", + "fontSize": 25, + "fontFamily": "DEFAULT", + "language": "", + "color": "#0A0F25", + "italic": false, + "bold": true, + "underline": false, + "labelWidth": 55, + "labelHeight": 37, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "zIndex": 0, + "level": 2 + }, + { + "id": "apollo_workflow", + "type": "", + "pos": { + "x": 12, + "y": 215 + }, + "width": 684, + "height": 693, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "#E3E9FD", + "stroke": "#0D32B2", + "shadow": false, + "3d": false, + "multiple": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "apollo-deploy.yaml", + "fontSize": 28, + "fontFamily": "DEFAULT", + "language": "", + "color": "#0A0F25", + "italic": false, + "bold": false, + "underline": false, + "labelWidth": 232, + "labelHeight": 41, + "labelPosition": "INSIDE_TOP_CENTER", + "zIndex": 0, + "level": 1 + }, + { + "id": "apollo_workflow.apollo", + "type": "", + "pos": { + "x": 235, + "y": 290 + }, + "width": 238, + "height": 137, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "#EDF0FD", + "stroke": "#0D32B2", + "shadow": false, + "3d": false, + "multiple": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "Apollo Repo", + "fontSize": 25, + "fontFamily": "DEFAULT", + "language": "", + "color": "#0A0F25", + "italic": false, + "bold": true, + "underline": false, + "labelWidth": 138, + "labelHeight": 37, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "zIndex": 0, + "level": 2 + }, + { + "id": "apollo_workflow.GHA", + "type": "", + "pos": { + "x": 219, + "y": 493 + }, + "width": 269, + "height": 137, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "#EDF0FD", + "stroke": "#0D32B2", + "shadow": false, + "3d": false, + "multiple": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "GitHub Actions", + "fontSize": 25, + "fontFamily": "DEFAULT", + "language": "", + "color": "#0A0F25", + "italic": false, + "bold": true, + "underline": false, + "labelWidth": 169, + "labelHeight": 37, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "zIndex": 0, + "level": 2 + }, + { + "id": "apollo_workflow.AWS", + "type": "", + "pos": { + "x": 276, + "y": 696 + }, + "width": 155, + "height": 137, + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "borderRadius": 0, + "fill": "#EDF0FD", + "stroke": "#0D32B2", + "shadow": false, + "3d": false, + "multiple": false, + "tooltip": "", + "link": "", + "icon": null, + "iconPosition": "", + "blend": false, + "fields": null, + "methods": null, + "columns": null, + "label": "AWS", + "fontSize": 25, + "fontFamily": "DEFAULT", + "language": "", + "color": "#0A0F25", + "italic": false, + "bold": true, + "underline": false, + "labelWidth": 55, + "labelHeight": 37, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "zIndex": 0, + "level": 2 + } + ], + "connections": [ + { + "id": "build_workflow.(push -> GHA)[0]", + "src": "build_workflow.push", + "srcArrow": "none", + "srcLabel": "", + "dst": "build_workflow.GHA", + "dstArrow": "triangle", + "dstLabel": "", + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "stroke": "#0D32B2", + "label": "Triggers", + "fontSize": 20, + "fontFamily": "DEFAULT", + "language": "", + "color": "#676C7E", + "italic": true, + "bold": false, + "underline": false, + "labelWidth": 67, + "labelHeight": 26, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "labelPercentage": 0, + "route": [ + { + "x": 956, + "y": 224 + }, + { + "x": 956, + "y": 290 + } + ], + "animated": false, + "tooltip": "", + "icon": null, + "zIndex": 0 + }, + { + "id": "build_workflow.(GHA -> S3)[0]", + "src": "build_workflow.GHA", + "srcArrow": "none", + "srcLabel": "", + "dst": "build_workflow.S3", + "dstArrow": "triangle", + "dstLabel": "", + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "stroke": "#0D32B2", + "label": "Builds zip and pushes it", + "fontSize": 20, + "fontFamily": "DEFAULT", + "language": "", + "color": "#676C7E", + "italic": true, + "bold": false, + "underline": false, + "labelWidth": 192, + "labelHeight": 26, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "labelPercentage": 0, + "route": [ + { + "x": 956, + "y": 427 + }, + { + "x": 956, + "y": 493 + } + ], + "animated": false, + "tooltip": "", + "icon": null, + "zIndex": 0 + }, + { + "id": "build_workflow.(S3 <-> Terraform)[0]", + "src": "build_workflow.S3", + "srcArrow": "triangle", + "srcLabel": "", + "dst": "build_workflow.Terraform", + "dstArrow": "triangle", + "dstLabel": "", + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "stroke": "#0D32B2", + "label": "Pulls zip to deploy", + "fontSize": 20, + "fontFamily": "DEFAULT", + "language": "", + "color": "#676C7E", + "italic": true, + "bold": false, + "underline": false, + "labelWidth": 149, + "labelHeight": 26, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "labelPercentage": 0, + "route": [ + { + "x": 956, + "y": 630 + }, + { + "x": 956, + "y": 696 + } + ], + "animated": false, + "tooltip": "", + "icon": null, + "zIndex": 0 + }, + { + "id": "build_workflow.(Terraform -> AWS)[0]", + "src": "build_workflow.Terraform", + "srcArrow": "none", + "srcLabel": "", + "dst": "build_workflow.AWS", + "dstArrow": "triangle", + "dstLabel": "", + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "stroke": "#0D32B2", + "label": "Changes live lambdas", + "fontSize": 20, + "fontFamily": "DEFAULT", + "language": "", + "color": "#676C7E", + "italic": true, + "bold": false, + "underline": false, + "labelWidth": 179, + "labelHeight": 26, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "labelPercentage": 0, + "route": [ + { + "x": 956, + "y": 833 + }, + { + "x": 956, + "y": 899 + } + ], + "animated": false, + "tooltip": "", + "icon": null, + "zIndex": 0 + }, + { + "id": "deploy_workflow.(manual -> GHA)[0]", + "src": "deploy_workflow.manual", + "srcArrow": "none", + "srcLabel": "", + "dst": "deploy_workflow.GHA", + "dstArrow": "triangle", + "dstLabel": "", + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "stroke": "#0D32B2", + "label": "Launches", + "fontSize": 20, + "fontFamily": "DEFAULT", + "language": "", + "color": "#676C7E", + "italic": true, + "bold": false, + "underline": false, + "labelWidth": 78, + "labelHeight": 26, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "labelPercentage": 0, + "route": [ + { + "x": 1426.5, + "y": 387 + }, + { + "x": 1426.5, + "y": 453 + } + ], + "animated": false, + "tooltip": "", + "icon": null, + "zIndex": 0 + }, + { + "id": "deploy_workflow.(GHA -> AWS)[0]", + "src": "deploy_workflow.GHA", + "srcArrow": "none", + "srcLabel": "", + "dst": "deploy_workflow.AWS", + "dstArrow": "triangle", + "dstLabel": "", + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "stroke": "#0D32B2", + "label": "Builds zip\npushes them to S3.\n\nDeploys lambdas\nusing Terraform", + "fontSize": 20, + "fontFamily": "DEFAULT", + "language": "", + "color": "#676C7E", + "italic": true, + "bold": false, + "underline": false, + "labelWidth": 153, + "labelHeight": 106, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "labelPercentage": 0, + "route": [ + { + "x": 1426.5, + "y": 590 + }, + { + "x": 1426.5, + "y": 736 + } + ], + "animated": false, + "tooltip": "", + "icon": null, + "zIndex": 0 + }, + { + "id": "apollo_workflow.(apollo -> GHA)[0]", + "src": "apollo_workflow.apollo", + "srcArrow": "none", + "srcLabel": "", + "dst": "apollo_workflow.GHA", + "dstArrow": "triangle", + "dstLabel": "", + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "stroke": "#0D32B2", + "label": "Triggered manually/push to master test test test test test test test", + "fontSize": 20, + "fontFamily": "DEFAULT", + "language": "", + "color": "#676C7E", + "italic": true, + "bold": false, + "underline": false, + "labelWidth": 533, + "labelHeight": 26, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "labelPercentage": 0, + "route": [ + { + "x": 353.5, + "y": 427 + }, + { + "x": 353.5, + "y": 493 + } + ], + "animated": false, + "tooltip": "", + "icon": null, + "zIndex": 0 + }, + { + "id": "apollo_workflow.(GHA -> AWS)[0]", + "src": "apollo_workflow.GHA", + "srcArrow": "none", + "srcLabel": "", + "dst": "apollo_workflow.AWS", + "dstArrow": "triangle", + "dstLabel": "", + "opacity": 1, + "strokeDash": 0, + "strokeWidth": 2, + "stroke": "#0D32B2", + "label": "test", + "fontSize": 20, + "fontFamily": "DEFAULT", + "language": "", + "color": "#676C7E", + "italic": true, + "bold": false, + "underline": false, + "labelWidth": 31, + "labelHeight": 26, + "labelPosition": "INSIDE_MIDDLE_CENTER", + "labelPercentage": 0, + "route": [ + { + "x": 353.5, + "y": 630 + }, + { + "x": 353.5, + "y": 696 + } + ], + "animated": false, + "tooltip": "", + "icon": null, + "zIndex": 0 + } + ] +} diff --git a/e2etests/testdata/regression/elk_alignment/elk/sketch.exp.svg b/e2etests/testdata/regression/elk_alignment/elk/sketch.exp.svg new file mode 100644 index 000000000..3d9ef5c63 --- /dev/null +++ b/e2etests/testdata/regression/elk_alignment/elk/sketch.exp.svg @@ -0,0 +1,52 @@ + +lambda-build.yamllambda-deploy.yamlapollo-deploy.yamlPush to main branchGitHub ActionsS3TerraformAWSManual TriggerGitHub ActionsAWSApollo RepoGitHub ActionsAWS TriggersBuilds zip and pushes it Pulls zip to deployChanges live lambdasLaunchesBuilds zippushes them to S3. Deploys lambdasusing TerraformTriggered manually/push to master test test test test test test testtest + + + + + + + + + + \ No newline at end of file diff --git a/e2etests/testdata/stable/arrowhead_labels/elk/board.exp.json b/e2etests/testdata/stable/arrowhead_labels/elk/board.exp.json index 97667ccc4..546f26310 100644 --- a/e2etests/testdata/stable/arrowhead_labels/elk/board.exp.json +++ b/e2etests/testdata/stable/arrowhead_labels/elk/board.exp.json @@ -5,7 +5,7 @@ "id": "a", "type": "", "pos": { - "x": 159, + "x": 56, "y": 12 }, "width": 113, @@ -45,7 +45,7 @@ "id": "b", "type": "", "pos": { - "x": 159, + "x": 56, "y": 359 }, "width": 113, @@ -109,11 +109,11 @@ "labelPercentage": 0, "route": [ { - "x": 215, + "x": 112.5, "y": 138 }, { - "x": 215, + "x": 112.5, "y": 359 } ], diff --git a/e2etests/testdata/stable/arrowhead_labels/elk/sketch.exp.svg b/e2etests/testdata/stable/arrowhead_labels/elk/sketch.exp.svg index 275ac6f3f..703cb5c47 100644 --- a/e2etests/testdata/stable/arrowhead_labels/elk/sketch.exp.svg +++ b/e2etests/testdata/stable/arrowhead_labels/elk/sketch.exp.svg @@ -2,7 +2,7 @@ ab To err is human, to moo bovine1* - + aabbccddllffwwyynniijjkkssuurmeemmmmgghhzzooppqqrrttvvxxabac 123456 - - - - - - - +aabbccddllffwwyynniijjkkssuurmeemmmmgghhzzooppqqrrttvvxxabac 123456 + + + + + + + rootcontainerrootleftrightrootinnerrootinnerleftrightleftright to inner leftto inner rightto inner leftto inner rightto left container rootto right container root +rootcontainerrootleftrightrootinnerrootinnerleftrightleftright to inner leftto inner rightto inner leftto inner rightto left container rootto right container root diff --git a/e2etests/testdata/todo/container_child_edge/elk/board.exp.json b/e2etests/testdata/todo/container_child_edge/elk/board.exp.json index 35b0e5dd0..afa4ef483 100644 --- a/e2etests/testdata/todo/container_child_edge/elk/board.exp.json +++ b/e2etests/testdata/todo/container_child_edge/elk/board.exp.json @@ -8,7 +8,7 @@ "x": 12, "y": 12 }, - "width": 336, + "width": 334, "height": 463, "opacity": 1, "strokeDash": 0, @@ -45,7 +45,7 @@ "id": "container.first", "type": "", "pos": { - "x": 138, + "x": 136, "y": 87 }, "width": 135, @@ -85,7 +85,7 @@ "id": "container.second", "type": "", "pos": { - "x": 102, + "x": 100, "y": 274 }, "width": 155, @@ -149,11 +149,11 @@ "labelPercentage": 0, "route": [ { - "x": 205.5, + "x": 203.5, "y": 213 }, { - "x": 205.5, + "x": 203.5, "y": 274 } ], @@ -188,19 +188,19 @@ "labelPercentage": 0, "route": [ { - "x": 117, + "x": 101, "y": 12 }, { - "x": 117, + "x": 101, "y": 264 }, { - "x": 153.83333333333334, + "x": 151.83333333333334, "y": 264 }, { - "x": 153.83333333333334, + "x": 151.83333333333334, "y": 274 } ], diff --git a/e2etests/testdata/todo/container_child_edge/elk/sketch.exp.svg b/e2etests/testdata/todo/container_child_edge/elk/sketch.exp.svg index 297509884..eee45cee9 100644 --- a/e2etests/testdata/todo/container_child_edge/elk/sketch.exp.svg +++ b/e2etests/testdata/todo/container_child_edge/elk/sketch.exp.svg @@ -2,7 +2,7 @@ containerfirstsecond 1->2c->2 + + + eightsixteenthirty twosixty fourninety nine twelvetwenty fourforty eighteighty one +eightsixteenthirty twosixty fourninety nine twelvetwenty fourforty eighteighty one - - - - + + + +