From 6ad1ae0f24f674908ad5229e24cf985618095e2b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=BAlio=20C=C3=A9sar=20Batista?=
Date: Mon, 5 Dec 2022 12:48:03 -0800
Subject: [PATCH] Remove inner label padding for masks
---
d2graph/d2graph.go | 4 +-
d2renderers/d2svg/d2svg.go | 5 +-
.../sanity/1_to_2/dagre/sketch.exp.svg | 6 +-
.../testdata/sanity/1_to_2/elk/sketch.exp.svg | 6 +-
.../sanity/basic/dagre/sketch.exp.svg | 4 +-
.../testdata/sanity/basic/elk/sketch.exp.svg | 4 +-
.../child_to_child/dagre/sketch.exp.svg | 8 +-
.../sanity/child_to_child/elk/sketch.exp.svg | 8 +-
.../connection_label/dagre/sketch.exp.svg | 4 +-
.../connection_label/elk/sketch.exp.svg | 4 +-
.../stable/all_shapes/dagre/sketch.exp.svg | 34 +++---
.../stable/all_shapes/elk/sketch.exp.svg | 34 +++---
.../all_shapes_multiple/dagre/sketch.exp.svg | 34 +++---
.../all_shapes_multiple/elk/sketch.exp.svg | 34 +++---
.../all_shapes_shadow/dagre/sketch.exp.svg | 34 +++---
.../all_shapes_shadow/elk/sketch.exp.svg | 34 +++---
.../arrowhead_adjustment/dagre/sketch.exp.svg | 6 +-
.../arrowhead_adjustment/elk/sketch.exp.svg | 6 +-
.../arrowhead_labels/dagre/sketch.exp.svg | 4 +-
.../arrowhead_labels/elk/sketch.exp.svg | 4 +-
.../stable/binary_tree/dagre/sketch.exp.svg | 30 +++---
.../stable/binary_tree/elk/sketch.exp.svg | 30 +++---
.../stable/chaos1/dagre/sketch.exp.svg | 10 +-
.../testdata/stable/chaos1/elk/sketch.exp.svg | 10 +-
.../stable/chaos2/dagre/sketch.exp.svg | 24 ++---
.../testdata/stable/chaos2/elk/sketch.exp.svg | 24 ++---
.../child_parent_edges/dagre/sketch.exp.svg | 8 +-
.../child_parent_edges/elk/sketch.exp.svg | 8 +-
.../circular_dependency/dagre/sketch.exp.svg | 6 +-
.../circular_dependency/elk/sketch.exp.svg | 6 +-
.../stable/code_snippet/dagre/sketch.exp.svg | 4 +-
.../stable/code_snippet/elk/sketch.exp.svg | 4 +-
.../connected_container/dagre/sketch.exp.svg | 14 +--
.../connected_container/elk/sketch.exp.svg | 14 +--
.../container_edges/dagre/sketch.exp.svg | 16 +--
.../stable/container_edges/elk/sketch.exp.svg | 16 +--
.../stable/dense/dagre/sketch.exp.svg | 34 +++---
.../testdata/stable/dense/elk/sketch.exp.svg | 34 +++---
.../different_subgraphs/dagre/sketch.exp.svg | 44 ++++----
.../different_subgraphs/elk/sketch.exp.svg | 44 ++++----
.../stable/direction/dagre/sketch.exp.svg | 30 +++---
.../stable/direction/elk/sketch.exp.svg | 30 +++---
.../stable/font_colors/dagre/sketch.exp.svg | 4 +-
.../stable/font_colors/elk/sketch.exp.svg | 4 +-
.../stable/font_sizes/dagre/sketch.exp.svg | 24 ++---
.../stable/font_sizes/elk/sketch.exp.svg | 24 ++---
.../giant_markdown_test/dagre/sketch.exp.svg | 4 +-
.../giant_markdown_test/elk/sketch.exp.svg | 4 +-
.../testdata/stable/hr/dagre/sketch.exp.svg | 4 +-
.../testdata/stable/hr/elk/sketch.exp.svg | 4 +-
.../stable/icon-label/dagre/sketch.exp.svg | 2 +-
.../stable/icon-label/elk/sketch.exp.svg | 2 +-
.../stable/images/dagre/sketch.exp.svg | 4 +-
.../testdata/stable/images/elk/sketch.exp.svg | 4 +-
.../stable/investigate/dagre/sketch.exp.svg | 62 +++++------
.../stable/investigate/elk/sketch.exp.svg | 62 +++++------
.../stable/large_arch/dagre/sketch.exp.svg | 66 ++++++------
.../stable/large_arch/elk/sketch.exp.svg | 66 ++++++------
.../stable/latex/dagre/sketch.exp.svg | 6 +-
.../testdata/stable/latex/elk/sketch.exp.svg | 6 +-
.../testdata/stable/li1/dagre/sketch.exp.svg | 4 +-
.../testdata/stable/li1/elk/sketch.exp.svg | 4 +-
.../testdata/stable/li2/dagre/sketch.exp.svg | 4 +-
.../testdata/stable/li2/elk/sketch.exp.svg | 4 +-
.../testdata/stable/li3/dagre/sketch.exp.svg | 4 +-
.../testdata/stable/li3/elk/sketch.exp.svg | 4 +-
.../testdata/stable/li4/dagre/sketch.exp.svg | 4 +-
.../testdata/stable/li4/elk/sketch.exp.svg | 4 +-
.../stable/lone_h1/dagre/sketch.exp.svg | 4 +-
.../stable/lone_h1/elk/sketch.exp.svg | 4 +-
.../stable/markdown/dagre/sketch.exp.svg | 4 +-
.../stable/markdown/elk/sketch.exp.svg | 4 +-
.../md_2space_newline/dagre/sketch.exp.svg | 2 +-
.../md_2space_newline/elk/sketch.exp.svg | 2 +-
.../md_backslash_newline/dagre/sketch.exp.svg | 2 +-
.../md_backslash_newline/elk/sketch.exp.svg | 2 +-
.../md_code_block_fenced/dagre/sketch.exp.svg | 4 +-
.../md_code_block_fenced/elk/sketch.exp.svg | 4 +-
.../dagre/sketch.exp.svg | 4 +-
.../md_code_block_indented/elk/sketch.exp.svg | 4 +-
.../md_code_inline/dagre/sketch.exp.svg | 4 +-
.../stable/md_code_inline/elk/sketch.exp.svg | 4 +-
.../multiline_text/dagre/sketch.exp.svg | 2 +-
.../stable/multiline_text/elk/sketch.exp.svg | 2 +-
.../multiple_trees/dagre/sketch.exp.svg | 46 ++++----
.../stable/multiple_trees/elk/sketch.exp.svg | 46 ++++----
.../stable/n22_e32/dagre/sketch.exp.svg | 42 ++++----
.../stable/n22_e32/elk/sketch.exp.svg | 42 ++++----
.../number_connections/dagre/sketch.exp.svg | 8 +-
.../number_connections/elk/sketch.exp.svg | 8 +-
.../one_container_loop/dagre/sketch.exp.svg | 16 +--
.../one_container_loop/elk/sketch.exp.svg | 16 +--
.../dagre/sketch.exp.svg | 14 +--
.../elk/sketch.exp.svg | 14 +--
.../testdata/stable/p/dagre/sketch.exp.svg | 4 +-
e2etests/testdata/stable/p/elk/sketch.exp.svg | 4 +-
.../testdata/stable/pre/dagre/sketch.exp.svg | 4 +-
.../testdata/stable/pre/elk/sketch.exp.svg | 4 +-
.../self-referencing/dagre/sketch.exp.svg | 6 +-
.../self-referencing/elk/sketch.exp.svg | 6 +-
.../dagre/sketch.exp.svg | 34 +++---
.../elk/sketch.exp.svg | 34 +++---
.../dagre/sketch.exp.svg | 22 ++--
.../elk/sketch.exp.svg | 22 ++--
.../dagre/sketch.exp.svg | 12 +--
.../elk/sketch.exp.svg | 12 +--
.../dagre/sketch.exp.svg | 16 +--
.../sequence_diagram_note/elk/sketch.exp.svg | 16 +--
.../dagre/sketch.exp.svg | 24 ++---
.../sequence_diagram_real/elk/sketch.exp.svg | 24 ++---
.../dagre/sketch.exp.svg | 4 +-
.../elk/sketch.exp.svg | 4 +-
.../dagre/sketch.exp.svg | 10 +-
.../elk/sketch.exp.svg | 10 +-
.../dagre/sketch.exp.svg | 12 +--
.../sequence_diagram_span/elk/sketch.exp.svg | 12 +--
.../sequence_diagrams/dagre/sketch.exp.svg | 50 ++++-----
.../sequence_diagrams/elk/sketch.exp.svg | 50 ++++-----
.../stable/square_3d/dagre/sketch.exp.svg | 4 +-
.../stable/square_3d/elk/sketch.exp.svg | 4 +-
.../dagre/sketch.exp.svg | 50 ++++-----
.../elk/sketch.exp.svg | 50 ++++-----
.../stable/stylish/dagre/sketch.exp.svg | 4 +-
.../stable/stylish/elk/sketch.exp.svg | 4 +-
.../transparent_3d/dagre/sketch.exp.svg | 2 +-
.../stable/transparent_3d/elk/sketch.exp.svg | 2 +-
.../stable/us_map/dagre/sketch.exp.svg | 100 +++++++++---------
.../testdata/stable/us_map/elk/sketch.exp.svg | 100 +++++++++---------
.../container_child_edge/dagre/sketch.exp.svg | 6 +-
.../container_child_edge/elk/sketch.exp.svg | 6 +-
.../dagre/sketch.exp.svg | 10 +-
.../elk/sketch.exp.svg | 10 +-
.../font_sizes_large/dagre/sketch.exp.svg | 10 +-
.../todo/font_sizes_large/elk/sketch.exp.svg | 10 +-
.../todo/tall_edge_label/dagre/sketch.exp.svg | 4 +-
.../todo/tall_edge_label/elk/sketch.exp.svg | 4 +-
136 files changed, 1092 insertions(+), 1089 deletions(-)
diff --git a/d2graph/d2graph.go b/d2graph/d2graph.go
index e560946f9..c3bf3191f 100644
--- a/d2graph/d2graph.go
+++ b/d2graph/d2graph.go
@@ -20,6 +20,8 @@ import (
"oss.terrastruct.com/d2/lib/textmeasure"
)
+const INNER_LABEL_PADDING int = 5
+
// TODO: Refactor with a light abstract layer on top of AST implementing scenarios,
// variables, imports, substitutions and then a final set of structures representing
// a final graph.
@@ -865,7 +867,7 @@ func (g *Graph) SetDimensions(mtexts []*d2target.MText, ruler *textmeasure.Ruler
}
var dims *d2target.TextDimensions
- var innerLabelPadding = 5
+ var innerLabelPadding = INNER_LABEL_PADDING
if obj.Attributes.Shape.Value == d2target.ShapeText {
if obj.Attributes.Language == "latex" {
width, height, err := d2latex.Measure(obj.Text().Text)
diff --git a/d2renderers/d2svg/d2svg.go b/d2renderers/d2svg/d2svg.go
index 7e429e9f5..50ab5e919 100644
--- a/d2renderers/d2svg/d2svg.go
+++ b/d2renderers/d2svg/d2svg.go
@@ -22,6 +22,7 @@ import (
"oss.terrastruct.com/util-go/go2"
+ "oss.terrastruct.com/d2/d2graph"
"oss.terrastruct.com/d2/d2renderers/d2fonts"
"oss.terrastruct.com/d2/d2renderers/d2latex"
"oss.terrastruct.com/d2/d2target"
@@ -767,7 +768,7 @@ func drawShape(writer io.Writer, targetShape d2target.Shape) (labelMask string,
fontColor = targetShape.Color
}
textStyle := fmt.Sprintf("text-anchor:%s;font-size:%vpx;fill:%s", "middle", targetShape.FontSize, fontColor)
- x := labelTL.X + float64(targetShape.LabelWidth)/2
+ x := labelTL.X + float64(targetShape.LabelWidth)/2.
// text is vertically positioned at its baseline which is at labelTL+FontSize
y := labelTL.Y + float64(targetShape.FontSize)
fmt.Fprintf(writer, `%s`,
@@ -776,7 +777,7 @@ func drawShape(writer io.Writer, targetShape d2target.Shape) (labelMask string,
textStyle,
renderText(targetShape.Label, x, float64(targetShape.LabelHeight)),
)
- labelMask = makeLabelMask(labelTL, targetShape.LabelWidth, targetShape.LabelHeight)
+ labelMask = makeLabelMask(labelTL, targetShape.LabelWidth, targetShape.LabelHeight-d2graph.INNER_LABEL_PADDING)
}
}
fmt.Fprintf(writer, ``)
diff --git a/e2etests/testdata/sanity/1_to_2/dagre/sketch.exp.svg b/e2etests/testdata/sanity/1_to_2/dagre/sketch.exp.svg
index 0dd00fb61..a27061d62 100644
--- a/e2etests/testdata/sanity/1_to_2/dagre/sketch.exp.svg
+++ b/e2etests/testdata/sanity/1_to_2/dagre/sketch.exp.svg
@@ -16,9 +16,9 @@ width="486" height="552" viewBox="-100 -100 486 552">abc
-
-
-
+
+
+
abc
-
-
-
+
+
+
ab
-
-
+
+
ab
-
-
+
+
acbd
-
-
-
-
+
+
+
+
acbd
-
-
-
-
+
+
+
+
ab hello
-
-
+
+
ab hello
-
-
+
+
rectanglesquarepageparallelogramdocumentcylinderqueuepackagestepcalloutstored_datapersondiamondovalcirclehexagoncloud
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
rectanglesquarepageparallelogramdocumentcylinderqueuepackagestepcalloutstored_datapersondiamondovalcirclehexagoncloud
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
rectanglesquarepageparallelogramdocumentcylinderqueuepackagestepcalloutstored_datapersondiamondovalcirclehexagoncloud
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
rectanglesquarepageparallelogramdocumentcylinderqueuepackagestepcalloutstored_datapersondiamondovalcirclehexagoncloud
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
cba *
-
-
-
+
+
+
cba *
-
-
-
+
+
+
ab To err is human, to moo bovine1*
-
-
+
+
ab To err is human, to moo bovine1*
-
-
+
+
abcdefghijklmno
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
abcdefghijklmno
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
aaadddeeebbbccc111 222
-
-
-
-
-
+
+
+
+
+
aaadddeeebbbccc111 222
-
-
-
-
-
+
+
+
+
+
abcd
-
-
-
-
+
+
+
+
abcd
-
-
-
-
+
+
+
+
abc
-
-
-
+
+
+
abc
-
-
-
+
+
+
acfbdhg
-
-
-
-
-
-
-
+
+
+
+
+
+
+
acfbdhg
-
-
-
-
-
-
-
+
+
+
+
+
+
+
agdfbhec
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
agdfbhec
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
abcdefghijklmnopq
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
abcdefghijklmnopq
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
finallyatreeandnodessomemoremanythenhereyouhavehierarchyanotherofnestingtreesatreeinsidehierarchyroot
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
finallyatreeandnodessomemoremanythenhereyouhavehierarchyanotherofnestingtreesatreeinsidehierarchyroot
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
bacde21345abcde
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
bacde21345abcde
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
alphabeta gamma
-
-
+
+
alphabeta gamma
-
-
+
+
size XSsize Ssize Msize Lsize XLsize XXLsize XXXLcustom 8custom 12custom 18custom 21custom 64 custom 10custom 15custom 48
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/e2etests/testdata/stable/font_sizes/elk/sketch.exp.svg b/e2etests/testdata/stable/font_sizes/elk/sketch.exp.svg
index 1c3944a12..438c51546 100644
--- a/e2etests/testdata/stable/font_sizes/elk/sketch.exp.svg
+++ b/e2etests/testdata/stable/font_sizes/elk/sketch.exp.svg
@@ -16,18 +16,18 @@ width="1965" height="793" viewBox="-88 -88 1965 793">size XSsize Ssize Msize Lsize XLsize XXLsize XXXLcustom 8custom 12custom 18custom 21custom 64 custom 10custom 15custom 48
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/e2etests/testdata/stable/giant_markdown_test/dagre/sketch.exp.svg b/e2etests/testdata/stable/giant_markdown_test/dagre/sketch.exp.svg
index 6eabdf50e..70857d5dc 100644
--- a/e2etests/testdata/stable/giant_markdown_test/dagre/sketch.exp.svg
+++ b/e2etests/testdata/stable/giant_markdown_test/dagre/sketch.exp.svg
@@ -1029,8 +1029,8 @@ title for the link, surrounded in quotes. For example:
normal paragraph. For example:
ab
-
-
+
+
hello
-
+
hello
-
+
ab
-
-
+
+
ab
-
-
+
+
aabbccddllffwwyyadnniijjkkssuurmeemmmmgghhzzooppqqrrttvvxxabac 123456
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/e2etests/testdata/stable/investigate/elk/sketch.exp.svg b/e2etests/testdata/stable/investigate/elk/sketch.exp.svg
index 2368bb846..da9e66679 100644
--- a/e2etests/testdata/stable/investigate/elk/sketch.exp.svg
+++ b/e2etests/testdata/stable/investigate/elk/sketch.exp.svg
@@ -16,37 +16,37 @@ width="860" height="4868" viewBox="-82 -88 860 4868">aabbccddllffwwyyadnniijjkkssuurmeemmmmgghhzzooppqqrrttvvxxabac 123456
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/e2etests/testdata/stable/large_arch/dagre/sketch.exp.svg b/e2etests/testdata/stable/large_arch/dagre/sketch.exp.svg
index f832324d7..95f9a3c5d 100644
--- a/e2etests/testdata/stable/large_arch/dagre/sketch.exp.svg
+++ b/e2etests/testdata/stable/large_arch/dagre/sketch.exp.svg
@@ -16,39 +16,39 @@ width="3244" height="1780" viewBox="-100 -100 3244 1780">abcdefghiqrjmnoszaabbeeffggklptuwxyccddv
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
abcdefghiqrjmnoszaabbeeffggklptuwxyccddv
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
mixed togethersugarsolution we get
-
-
-
+
+
+
mixed togethersugarsolution we get
-
-
-
+
+
+
Markdown: Syntax
ab
-
-
+
+
Markdown: Syntax
ab
-
-
+
+
ab
-
-
+
+
ab
-
-
+
+
thisgoesmultiple lines
-
+
thisgoesmultiple lines
-
+
abcdefghijklmnopqrstuvw
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
abcdefghijklmnopqrstuvw
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
abcdefghijklmnopqrstu
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
abcdefghijklmnopqrstu
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Foo Baz12hello
-
-
-
-
+
+
+
+
Foo Baz12hello
-
-
-
-
+
+
+
+
acdefgbh
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
acdefgbh
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
topabcbottomstartend
-
-
-
-
-
-
-
+
+
+
+
+
+
+
topabcbottomstartend
-
-
-
-
-
-
-
+
+
+
+
+
+
+
xyz hello
-
-
-
+
+
+
xyz hello
-
-
-
+
+
+
abcdggggroup 1group bchoonested guy lalaeyokayokaywhat would arnold saythis note
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
+
+
abcdggggroup 1group bchoonested guy lalaeyokayokaywhat would arnold saythis note
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
+
+
scoreritemResponseitemessayRubricconceptitemOutcome
-
-
-
-
-
-
+
+
+
+
+
+
scoreritemResponseitemessayRubricconceptitemOutcome
-
-
-
-
-
-
+
+
+
+
+
+
abcd okayexplanationanother 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
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
+
abcd okayexplanationanother 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
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
+
How this is renderedCLId2astd2compilerd2layoutd2exporterd2themesd2rendererd2sequencelayoutd2dagrelayoutonly if root is not sequence '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 SVGmeasurements also take place
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
@@ -40,7 +40,7 @@ width="2374" height="2488" viewBox="-100 -100 2374 2488">How this is renderedCLId2astd2compilerd2layoutd2exporterd2themesd2rendererd2sequencelayoutd2dagrelayoutonly if root is not sequence '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 SVGmeasurements also take place
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
@@ -40,7 +40,7 @@ width="2374" height="2488" viewBox="-88 -88 2374 2488">ab a self edge herebetween actorsto descendantto deeper descendantto parentactor
-
-
+
+
diff --git a/e2etests/testdata/stable/sequence_diagram_self_edges/elk/sketch.exp.svg b/e2etests/testdata/stable/sequence_diagram_self_edges/elk/sketch.exp.svg
index ef3021650..5a25df531 100644
--- a/e2etests/testdata/stable/sequence_diagram_self_edges/elk/sketch.exp.svg
+++ b/e2etests/testdata/stable/sequence_diagram_self_edges/elk/sketch.exp.svg
@@ -16,8 +16,8 @@ width="666" height="1366" viewBox="-100 -50 666 1366">ab a self edge herebetween actorsto descendantto deeper descendantto parentactor
-
-
+
+
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 a97665af9..bae455c2f 100644
--- a/e2etests/testdata/stable/sequence_diagram_simple/dagre/sketch.exp.svg
+++ b/e2etests/testdata/stable/sequence_diagram_simple/dagre/sketch.exp.svg
@@ -16,11 +16,11 @@ width="1285" height="1868" viewBox="-100 -50 1285 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
-
-
-
-
-
+
+
+
+
+
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 a97665af9..bae455c2f 100644
--- a/e2etests/testdata/stable/sequence_diagram_simple/elk/sketch.exp.svg
+++ b/e2etests/testdata/stable/sequence_diagram_simple/elk/sketch.exp.svg
@@ -16,11 +16,11 @@ width="1285" height="1868" viewBox="-100 -50 1285 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
-
-
-
-
-
+
+
+
+
+
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 e563e1df0..a350672a8 100644
--- a/e2etests/testdata/stable/sequence_diagram_span/dagre/sketch.exp.svg
+++ b/e2etests/testdata/stable/sequence_diagram_span/dagre/sketch.exp.svg
@@ -16,12 +16,12 @@ width="1593" height="2146" viewBox="-100 -50 1593 2146">scoreritemResponseitemessayRubricconceptitemOutcome getItem() itemgetRubric()rubricapplyTo(essayResp)match(essayResponse)scorenewgetNormalMinimum()getNormalMaximum()setScore(score)setFeedback(missingConcepts)
-
-
-
-
-
-
+
+
+
+
+
+
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 e563e1df0..a350672a8 100644
--- a/e2etests/testdata/stable/sequence_diagram_span/elk/sketch.exp.svg
+++ b/e2etests/testdata/stable/sequence_diagram_span/elk/sketch.exp.svg
@@ -16,12 +16,12 @@ width="1593" height="2146" viewBox="-100 -50 1593 2146">scoreritemResponseitemessayRubricconceptitemOutcome getItem() itemgetRubric()rubricapplyTo(essayResp)match(essayResponse)scorenewgetNormalMinimum()getNormalMaximum()setScore(score)setFeedback(missingConcepts)
-
-
-
-
-
-
+
+
+
+
+
+
diff --git a/e2etests/testdata/stable/sequence_diagrams/dagre/sketch.exp.svg b/e2etests/testdata/stable/sequence_diagrams/dagre/sketch.exp.svg
index 3ac4ca8e0..0c9c21fea 100644
--- a/e2etests/testdata/stable/sequence_diagrams/dagre/sketch.exp.svg
+++ b/e2etests/testdata/stable/sequence_diagrams/dagre/sketch.exp.svg
@@ -16,31 +16,31 @@ width="3244" height="4173" viewBox="-100 -100 3244 4173">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/sketch.exp.svg b/e2etests/testdata/stable/sequence_diagrams/elk/sketch.exp.svg
index 7a94dcd5f..1155c8d50 100644
--- a/e2etests/testdata/stable/sequence_diagrams/elk/sketch.exp.svg
+++ b/e2etests/testdata/stable/sequence_diagrams/elk/sketch.exp.svg
@@ -16,31 +16,31 @@ width="3166" height="4293" viewBox="-88 -88 3166 4293">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/square_3d/dagre/sketch.exp.svg b/e2etests/testdata/stable/square_3d/dagre/sketch.exp.svg
index f66617f27..9d6be448d 100644
--- a/e2etests/testdata/stable/square_3d/dagre/sketch.exp.svg
+++ b/e2etests/testdata/stable/square_3d/dagre/sketch.exp.svg
@@ -20,8 +20,8 @@ width="371" height="580" viewBox="-100 -100 371 580">acbl1l2c1l2c3l2c2l3c1l3c2l4bacacbabcc1c2c3abc
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
acbl1l2c1l2c3l2c2l3c1l3c2l4bacacbabcc1c2c3abc
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
AKHIALFLGAMSTNAZCANVNMUTARLAMOOKTXORCOKSNEWYCTMANYRIDEMDNJPANCSCIDMTWAILINIAMIKYWIOHMNSDVAWVMENHVTND
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
AKHIALFLGAMSTNAZCANVNMUTARLAMOOKTXORCOKSNEWYCTMANYRIDEMDNJPANCSCIDMTWAILINIAMIKYWIOHMNSDVAWVMENHVTND
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
containerfirstsecond 1->2c->2
-
-
-
+
+
+
containerfirstsecond 1->2c->2
-
-
-
+
+
+
ninety ninesixty fourthirty twosixteeneight
-
-
-
-
-
+
+
+
+
+
ninety ninesixty fourthirty twosixteeneight
-
-
-
-
-
+
+
+
+
+
eightsixteenthirty twosixty fourninety nine twelvetwenty fourforty eighteighty one
-
-
-
-
-
+
+
+
+
+
diff --git a/e2etests/testdata/todo/font_sizes_large/elk/sketch.exp.svg b/e2etests/testdata/todo/font_sizes_large/elk/sketch.exp.svg
index 8e20cfbee..43821218a 100644
--- a/e2etests/testdata/todo/font_sizes_large/elk/sketch.exp.svg
+++ b/e2etests/testdata/todo/font_sizes_large/elk/sketch.exp.svg
@@ -16,11 +16,11 @@ width="789" height="2014" viewBox="-39 -88 789 2014">eightsixteenthirty twosixty fourninety nine twelvetwenty fourforty eighteighty one
-
-
-
-
-
+
+
+
+
+
diff --git a/e2etests/testdata/todo/tall_edge_label/dagre/sketch.exp.svg b/e2etests/testdata/todo/tall_edge_label/dagre/sketch.exp.svg
index ba3e7b43e..2a59cfc02 100644
--- a/e2etests/testdata/todo/tall_edge_label/dagre/sketch.exp.svg
+++ b/e2etests/testdata/todo/tall_edge_label/dagre/sketch.exp.svg
@@ -16,8 +16,8 @@ width="313" height="552" viewBox="-100 -100 313 552">ab Thereoncewasaverytalledgelabel
-
-
+
+
ab Thereoncewasaverytalledgelabel
-
-
+
+